From 6f74c18261df8cd4efd15125d53a93ad53c4e032 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marin=20Petruni=C4=87?= Date: Thu, 13 Feb 2020 22:50:28 +0100 Subject: [PATCH] add it-length-prefixed types --- src/@types/it-length-prefixed/index.d.ts | 39 ++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/@types/it-length-prefixed/index.d.ts diff --git a/src/@types/it-length-prefixed/index.d.ts b/src/@types/it-length-prefixed/index.d.ts new file mode 100644 index 0000000..9dc8269 --- /dev/null +++ b/src/@types/it-length-prefixed/index.d.ts @@ -0,0 +1,39 @@ +declare module "it-length-prefixed" { + /* eslint-disable @typescript-eslint/interface-name-prefix */ + import BufferList from "bl"; + import {Buffer} from "buffer" + + interface LengthDecoderFunction { + (data: Buffer | BufferList): number; + bytes: number; + } + + interface LengthEncoderFunction { + (value: Buffer, target: number, offset: number): number|Buffer; + bytes: number; + } + + interface Encoder { + (options?: Partial<{lengthEncoder: LengthEncoderFunction}>): AsyncGenerator; + single: (chunk: Buffer, options?: Partial<{lengthEncoder: LengthEncoderFunction}>) => BufferList; + MIN_POOL_SIZE: number; + DEFAULT_POOL_SIZE: number; + } + + interface DecoderOptions { + lengthDecoder: LengthDecoderFunction; + maxLengthLength: number; + maxDataLength: number; + } + + interface Decoder { + (options?: Partial): AsyncGenerator; + fromReader: (reader: any, options?: Partial) => BufferList; + MAX_LENGTH_LENGTH: number; + MAX_DATA_LENGTH: number; + } + + export const encode: Encoder; + export const decode: Decoder; + +}