Skip to content

Commit 04f6b75

Browse files
robhoganfacebook-github-bot
authored andcommitted
Add Flow lib defs for Node's zlib zstd support
Summary: Since 22.15, Node.js now natively supports zstd (de)compression in `zlib`. This adds the Flow typings. - Node docs: https://nodejs.org/api/zlib.html#zlibcreatezstdcompressoptions - Reference for new constants: https://github.com/nodejs/node/blob/main/deps/zstd/lib/zstd.h Changelog: [General][Internal] Monorepo Flow typings Differential Revision: D87449911
1 parent fcd6303 commit 04f6b75

File tree

1 file changed

+93
-0
lines changed

1 file changed

+93
-0
lines changed

flow-typed/environment/node.js

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3402,6 +3402,20 @@ type zlib$brotliOptions = {
34023402
...
34033403
};
34043404

3405+
type zlib$zstdOptions = {
3406+
flush?: number,
3407+
finishFlush?: number,
3408+
chunkSize?: number,
3409+
params?: {
3410+
[number]: boolean | number,
3411+
...
3412+
},
3413+
maxOutputLength?: number,
3414+
info?: boolean,
3415+
dictionary?: Buffer,
3416+
...
3417+
};
3418+
34053419
type zlib$syncFn = (
34063420
buffer: Buffer | $TypedArray | DataView | ArrayBuffer | string,
34073421
options?: zlib$options,
@@ -3579,6 +3593,79 @@ declare module 'zlib' {
35793593
BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2: number,
35803594
BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES: number,
35813595
BROTLI_DECODER_ERROR_UNREACHABL: number,
3596+
3597+
ZSTD_COMPRESS: number,
3598+
ZSTD_DECOMPRESS: number,
3599+
3600+
// Default compression level for zstd streams
3601+
ZSTD_CLEVEL_DEFAULT: number,
3602+
3603+
// Keys for zlib$zstdOptions['params']
3604+
ZSTD_c_compressionLevel: number,
3605+
ZSTD_c_windowLog: number,
3606+
ZSTD_c_hashLog: number,
3607+
ZSTD_c_chainLog: number,
3608+
ZSTD_c_searchLog: number,
3609+
ZSTD_c_minMatch: number,
3610+
ZSTD_c_targetLength: number,
3611+
ZSTD_c_strategy: number,
3612+
ZSTD_c_enableLongDistanceMatching: number,
3613+
ZSTD_c_ldmHashLog: number,
3614+
ZSTD_c_ldmMinMatch: number,
3615+
ZSTD_c_ldmBucketSizeLog: number,
3616+
ZSTD_c_ldmHashRateLog: number,
3617+
ZSTD_c_contentSizeFlag: number,
3618+
ZSTD_c_checksumFlag: number,
3619+
ZSTD_c_dictIDFlag: number,
3620+
ZSTD_c_nbWorkers: number,
3621+
ZSTD_c_jobSize: number,
3622+
ZSTD_c_overlapLog: number,
3623+
3624+
// Flush opereations
3625+
ZSTD_e_continue: number,
3626+
ZSTD_e_flush: number,
3627+
ZSTD_e_end: number,
3628+
3629+
// Values for the ZSTD_c_strategy paramater
3630+
ZSTD_fast: number,
3631+
ZSTD_dfast: number,
3632+
ZSTD_greedy: number,
3633+
ZSTD_lazy: number,
3634+
ZSTD_lazy2: number,
3635+
ZSTD_btlazy2: number,
3636+
ZSTD_btopt: number,
3637+
ZSTD_btultra: number,
3638+
ZSTD_btultra2: number,
3639+
3640+
// Error codes
3641+
ZSTD_error_no_error: number,
3642+
ZSTD_error_GENERIC: number,
3643+
ZSTD_error_prefix_unknown: number,
3644+
ZSTD_error_version_unsupported: number,
3645+
ZSTD_error_frameParameter_unsupported: number,
3646+
ZSTD_error_frameParameter_windowTooLarge: number,
3647+
ZSTD_error_corruption_detected: number,
3648+
ZSTD_error_checksum_wrong: number,
3649+
ZSTD_error_literals_headerWrong: number,
3650+
ZSTD_error_dictionary_corrupted: number,
3651+
ZSTD_error_dictionary_wrong: number,
3652+
ZSTD_error_dictionaryCreation_failed: number,
3653+
ZSTD_error_parameter_unsupported: number,
3654+
ZSTD_error_parameter_combination_unsupported: number,
3655+
ZSTD_error_parameter_outOfBound: number,
3656+
ZSTD_error_tableLog_tooLarge: number,
3657+
ZSTD_error_maxSymbolValue_tooLarge: number,
3658+
ZSTD_error_maxSymbolValue_tooSmall: number,
3659+
ZSTD_error_stabilityCondition_notRespected: number,
3660+
ZSTD_error_stage_wrong: number,
3661+
ZSTD_error_init_missing: number,
3662+
ZSTD_error_memory_allocation: number,
3663+
ZSTD_error_workSpace_tooSmall: number,
3664+
ZSTD_error_dstSize_tooSmall: number,
3665+
ZSTD_error_srcSize_wrong: number,
3666+
ZSTD_error_dstBuffer_null: number,
3667+
ZSTD_error_noForwardProgress_destFull: number,
3668+
ZSTD_error_noForwardProgress_inputEmpty: number,
35823669
...
35833670
};
35843671
declare var codes: {
@@ -3598,6 +3685,8 @@ declare module 'zlib' {
35983685
}
35993686
declare class BrotliCompress extends Zlib {}
36003687
declare class BrotliDecompress extends Zlib {}
3688+
declare class ZstdCompress extends Zlib {}
3689+
declare class ZstdDecompress extends Zlib {}
36013690
declare class Deflate extends Zlib {}
36023691
declare class Inflate extends Zlib {}
36033692
declare class Gzip extends Zlib {}
@@ -3618,6 +3707,10 @@ declare module 'zlib' {
36183707
declare function createGzip(options?: zlib$options): Gzip;
36193708
declare function createGunzip(options?: zlib$options): Gunzip;
36203709
declare function createUnzip(options?: zlib$options): Unzip;
3710+
declare function createZstdCompress(options?: zlib$zstdOptions): ZstdCompress;
3711+
declare function createZstdDecompress(
3712+
options?: zlib$zstdOptions,
3713+
): ZstdDecompress;
36213714
declare var brotliCompress: zlib$brotliAsyncFn;
36223715
declare var brotliCompressSync: zlib$brotliSyncFn;
36233716
declare var brotliDeompress: zlib$brotliAsyncFn;

0 commit comments

Comments
 (0)