@@ -830,45 +830,44 @@ const zstdDefaultOpts = {
830
830
finishFlush : ZSTD_e_end ,
831
831
fullFlush : ZSTD_e_flush ,
832
832
} ;
833
- function Zstd ( opts , mode , initParamsArray , maxParam ) {
834
- assert ( mode === ZSTD_COMPRESS || mode === ZSTD_DECOMPRESS ) ;
835
-
836
- initParamsArray . fill ( - 1 ) ;
837
- if ( opts ?. params ) {
838
- ObjectKeys ( opts . params ) . forEach ( ( origKey ) => {
839
- const key = + origKey ;
840
- if ( NumberIsNaN ( key ) || key < 0 || key > maxParam ||
841
- ( initParamsArray [ key ] | 0 ) !== - 1 ) {
842
- throw new ERR_ZSTD_INVALID_PARAM ( origKey ) ;
843
- }
844
-
845
- const value = opts . params [ origKey ] ;
846
- if ( typeof value !== 'number' && typeof value !== 'boolean' ) {
847
- throw new ERR_INVALID_ARG_TYPE ( 'options.params[key]' ,
848
- 'number' , opts . params [ origKey ] ) ;
849
- }
850
- initParamsArray [ key ] = value ;
851
- } ) ;
852
- }
853
-
854
- const handle = mode === ZSTD_COMPRESS ?
855
- new binding . ZstdCompress ( ) : new binding . ZstdDecompress ( ) ;
833
+ class Zstd extends ZlibBase {
834
+ constructor ( opts , mode , initParamsArray , maxParam ) {
835
+ assert ( mode === ZSTD_COMPRESS || mode === ZSTD_DECOMPRESS ) ;
836
+
837
+ initParamsArray . fill ( - 1 ) ;
838
+ if ( opts ?. params ) {
839
+ ObjectKeys ( opts . params ) . forEach ( ( origKey ) => {
840
+ const key = + origKey ;
841
+ if ( NumberIsNaN ( key ) || key < 0 || key > maxParam ||
842
+ ( initParamsArray [ key ] | 0 ) !== - 1 ) {
843
+ throw new ERR_ZSTD_INVALID_PARAM ( origKey ) ;
844
+ }
845
+
846
+ const value = opts . params [ origKey ] ;
847
+ if ( typeof value !== 'number' && typeof value !== 'boolean' ) {
848
+ throw new ERR_INVALID_ARG_TYPE ( 'options.params[key]' ,
849
+ 'number' , opts . params [ origKey ] ) ;
850
+ }
851
+ initParamsArray [ key ] = value ;
852
+ } ) ;
853
+ }
856
854
857
- const pledgedSrcSize = opts ?. pledgedSrcSize ?? undefined ;
855
+ const handle = mode === ZSTD_COMPRESS ?
856
+ new binding . ZstdCompress ( ) : new binding . ZstdDecompress ( ) ;
858
857
859
- this . _writeState = new Uint32Array ( 2 ) ;
860
- handle . init (
861
- initParamsArray ,
862
- pledgedSrcSize ,
863
- this . _writeState ,
864
- processCallback ,
865
- ) ;
858
+ const pledgedSrcSize = opts ?. pledgedSrcSize ?? undefined ;
866
859
867
- ReflectApply ( ZlibBase , this , [ opts , mode , handle , zstdDefaultOpts ] ) ;
860
+ const writeState = new Uint32Array ( 2 ) ;
861
+ handle . init (
862
+ initParamsArray ,
863
+ pledgedSrcSize ,
864
+ writeState ,
865
+ processCallback ,
866
+ ) ;
867
+ super ( opts , mode , handle , zstdDefaultOpts ) ;
868
+ this . _writeState = writeState ;
869
+ }
868
870
}
869
- ObjectSetPrototypeOf ( Zstd . prototype , ZlibBase . prototype ) ;
870
- ObjectSetPrototypeOf ( Zstd , ZlibBase ) ;
871
-
872
871
873
872
const kMaxZstdCParam = MathMax ( ...ObjectKeys ( constants ) . map (
874
873
( key ) => ( key . startsWith ( 'ZSTD_c_' ) ?
@@ -878,16 +877,11 @@ const kMaxZstdCParam = MathMax(...ObjectKeys(constants).map(
878
877
879
878
const zstdInitCParamsArray = new Uint32Array ( kMaxZstdCParam + 1 ) ;
880
879
881
- function ZstdCompress ( opts ) {
882
- if ( ! ( this instanceof ZstdCompress ) )
883
- return new ZstdCompress ( opts ) ;
884
-
885
- ReflectApply ( Zstd , this ,
886
- [ opts , ZSTD_COMPRESS , zstdInitCParamsArray , kMaxZstdCParam ] ) ;
880
+ class ZstdCompress extends Zstd {
881
+ constructor ( opts ) {
882
+ super ( opts , ZSTD_COMPRESS , zstdInitCParamsArray , kMaxZstdCParam ) ;
883
+ }
887
884
}
888
- ObjectSetPrototypeOf ( ZstdCompress . prototype , Zstd . prototype ) ;
889
- ObjectSetPrototypeOf ( ZstdCompress , Zstd ) ;
890
-
891
885
892
886
const kMaxZstdDParam = MathMax ( ...ObjectKeys ( constants ) . map (
893
887
( key ) => ( key . startsWith ( 'ZSTD_d_' ) ?
@@ -897,16 +891,11 @@ const kMaxZstdDParam = MathMax(...ObjectKeys(constants).map(
897
891
898
892
const zstdInitDParamsArray = new Uint32Array ( kMaxZstdDParam + 1 ) ;
899
893
900
- function ZstdDecompress ( opts ) {
901
- if ( ! ( this instanceof ZstdDecompress ) )
902
- return new ZstdDecompress ( opts ) ;
903
-
904
- ReflectApply ( Zstd , this ,
905
- [ opts , ZSTD_DECOMPRESS , zstdInitDParamsArray , kMaxZstdDParam ] ) ;
894
+ class ZstdDecompress extends Zstd {
895
+ constructor ( opts ) {
896
+ super ( opts , ZSTD_DECOMPRESS , zstdInitDParamsArray , kMaxZstdDParam ) ;
897
+ }
906
898
}
907
- ObjectSetPrototypeOf ( ZstdDecompress . prototype , Zstd . prototype ) ;
908
- ObjectSetPrototypeOf ( ZstdDecompress , Zstd ) ;
909
-
910
899
911
900
function createProperty ( ctor ) {
912
901
return {
0 commit comments