From bab752d4dbf5c845c717646e20d8c130d2c75838 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B0=A9=EC=A7=84=ED=98=81?= Date: Sat, 11 Oct 2025 07:37:01 +0900 Subject: [PATCH] typings: add buffer internalBinding typing PR-URL: https://github.com/nodejs/node/pull/60163 Reviewed-By: Daeyeon Jeong Reviewed-By: Antoine du Hamel --- typings/globals.d.ts | 2 ++ typings/internalBinding/buffer.d.ts | 46 +++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 typings/internalBinding/buffer.d.ts diff --git a/typings/globals.d.ts b/typings/globals.d.ts index 16625b08c8..9b5a38db71 100644 --- a/typings/globals.d.ts +++ b/typings/globals.d.ts @@ -1,6 +1,7 @@ import { AsyncContextFrameBinding } from './internalBinding/async_context_frame'; import { AsyncWrapBinding } from './internalBinding/async_wrap'; import { BlobBinding } from './internalBinding/blob'; +import { BufferBinding } from './internalBinding/buffer'; import { ConfigBinding } from './internalBinding/config'; import { ConstantsBinding } from './internalBinding/constants'; import { DebugBinding } from './internalBinding/debug'; @@ -33,6 +34,7 @@ interface InternalBindingMap { async_context_frame: AsyncContextFrameBinding; async_wrap: AsyncWrapBinding; blob: BlobBinding; + buffer: BufferBinding; config: ConfigBinding; constants: ConstantsBinding; debug: DebugBinding; diff --git a/typings/internalBinding/buffer.d.ts b/typings/internalBinding/buffer.d.ts new file mode 100644 index 0000000000..62d719eadf --- /dev/null +++ b/typings/internalBinding/buffer.d.ts @@ -0,0 +1,46 @@ +export interface BufferBinding { + atob(input: string): string | -1 | -2 | -3; + btoa(input: string): string | -1; + + setBufferPrototype(proto: object): void; + + byteLengthUtf8(str: string): number; + copy(source: ArrayBufferView, target: ArrayBufferView, targetStart: number, sourceStart: number, toCopy: number): number; + compare(a: ArrayBufferView, b: ArrayBufferView): number; + compareOffset(source: ArrayBufferView, target: ArrayBufferView, targetStart?: number, sourceStart?: number, targetEnd?: number, sourceEnd?: number): number; + fill(buf: ArrayBufferView, val: any, start?: number, end?: number, encoding?: number): -1 | -2 | void; + indexOfBuffer(haystack: ArrayBufferView, needle: ArrayBufferView, offset?: number, encoding?: number, isForward?: boolean): number; + indexOfNumber(buf: ArrayBufferView, needle: number, offset?: number, isForward?: boolean): number; + indexOfString(buf: ArrayBufferView, needle: string, offset?: number, encoding?: number, isForward?: boolean): number; + + copyArrayBuffer(destination: ArrayBuffer | SharedArrayBuffer, destinationOffset: number, source: ArrayBuffer | SharedArrayBuffer, sourceOffset: number, bytesToCopy: number): void; + + swap16(buf: ArrayBufferView): ArrayBufferView; + swap32(buf: ArrayBufferView): ArrayBufferView; + swap64(buf: ArrayBufferView): ArrayBufferView; + + isUtf8(input: ArrayBufferView | ArrayBuffer | SharedArrayBuffer): boolean; + isAscii(input: ArrayBufferView | ArrayBuffer | SharedArrayBuffer): boolean; + + kMaxLength: number; + kStringMaxLength: number; + + asciiSlice(start: number, end: number): string; + base64Slice(start: number, end: number): string; + base64urlSlice(start: number, end: number): string; + latin1Slice(start: number, end: number): string; + hexSlice(start: number, end: number): string; + ucs2Slice(start: number, end: number): string; + utf8Slice(start: number, end: number): string; + + base64Write(str: string, offset?: number, maxLength?: number): number; + base64urlWrite(str: string, offset?: number, maxLength?: number): number; + hexWrite(str: string, offset?: number, maxLength?: number): number; + ucs2Write(str: string, offset?: number, maxLength?: number): number; + + asciiWriteStatic(buf: ArrayBufferView, str: string, offset?: number, maxLength?: number): number; + latin1WriteStatic(buf: ArrayBufferView, str: string, offset?: number, maxLength?: number): number; + utf8WriteStatic(buf: ArrayBufferView, str: string, offset?: number, maxLength?: number): number; + + getZeroFillToggle(): Uint32Array | void; +}