diff --git a/typings/globals.d.ts b/typings/globals.d.ts index 9b5a38db71a061..060494300c1caa 100644 --- a/typings/globals.d.ts +++ b/typings/globals.d.ts @@ -18,6 +18,7 @@ import { OSBinding } from './internalBinding/os'; import { ProcessBinding } from './internalBinding/process'; import { SeaBinding } from './internalBinding/sea'; import { SerdesBinding } from './internalBinding/serdes'; +import { StringDecoderBinding } from './internalBinding/string_decoder'; import { SymbolsBinding } from './internalBinding/symbols'; import { TimersBinding } from './internalBinding/timers'; import { TypesBinding } from './internalBinding/types'; @@ -52,6 +53,7 @@ interface InternalBindingMap { process: ProcessBinding; sea: SeaBinding; serdes: SerdesBinding; + string_decoder: StringDecoderBinding; symbols: SymbolsBinding; timers: TimersBinding; types: TypesBinding; diff --git a/typings/internalBinding/string_decoder.d.ts b/typings/internalBinding/string_decoder.d.ts new file mode 100644 index 00000000000000..b014f83eebd412 --- /dev/null +++ b/typings/internalBinding/string_decoder.d.ts @@ -0,0 +1,19 @@ +declare namespace InternalStringDecoderBinding { + type Buffer = Uint8Array; +} + +export interface StringDecoderBinding { + readonly kIncompleteCharactersStart: number; + readonly kIncompleteCharactersEnd: number; + readonly kMissingBytes: number; + readonly kBufferedBytes: number; + readonly kEncodingField: number; + readonly kNumFields: number; + readonly kSize: number; + + readonly encodings: string[]; + + decode(decoder: InternalStringDecoderBinding.Buffer, buffer: ArrayBufferView): string; + flush(decoder: InternalStringDecoderBinding.Buffer): string; +} +