From 9c334cdc3a1a44fe367570ee2e9b1aa9e09d92c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=87=E1=85=A1=E1=86=BC=E1=84=8C=E1=85=B5=E1=86=AB?= =?UTF-8?q?=E1=84=92=E1=85=A7=E1=86=A8?= Date: Thu, 9 Oct 2025 12:57:52 +0900 Subject: [PATCH] typings: add buffer internalBinding typing --- 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 16625b08c8cfd0..9b5a38db71a061 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 00000000000000..62d719eadfbaf7 --- /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; +}