diff options
Diffstat (limited to 'cli/dts')
-rw-r--r-- | cli/dts/lib.deno.unstable.d.ts | 80 |
1 files changed, 77 insertions, 3 deletions
diff --git a/cli/dts/lib.deno.unstable.d.ts b/cli/dts/lib.deno.unstable.d.ts index affa4b3fd..6b7755ee5 100644 --- a/cli/dts/lib.deno.unstable.d.ts +++ b/cli/dts/lib.deno.unstable.d.ts @@ -117,16 +117,90 @@ declare namespace Deno { | "usize" | "isize" | "f32" - | "f64"; + | "f64" + | "pointer"; /** A foreign function as defined by its parameter and result types */ export interface ForeignFunction { - parameters: (NativeType | "buffer")[]; + parameters: NativeType[]; result: NativeType; /** When true, function calls will run on a dedicated blocking thread and will return a Promise resolving to the `result`. */ nonblocking?: boolean; } + type TypedArray = + | Int8Array + | Uint8Array + | Int16Array + | Uint16Array + | Int32Array + | Uint32Array + | Uint8ClampedArray + | Float32Array + | Float64Array + | BigInt64Array + | BigUint64Array; + + /** **UNSTABLE**: Unsafe and new API, beware! + * + * An unsafe pointer to a memory location for passing and returning pointers to and from the ffi + */ + export class UnsafePointer { + constructor(value: bigint); + + value: bigint; + + /** + * Return the direct memory pointer to the typed array in memory + */ + static of(typedArray: TypedArray): UnsafePointer; + + /** + * Returns the value of the pointer which is useful in certain scenarios. + */ + valueOf(): bigint; + } + + /** **UNSTABLE**: Unsafe and new API, beware! + * + * An unsafe pointer view to a memory location as specified by the `pointer` + * value. The `UnsafePointerView` API mimics the standard built in interface + * `DataView` for accessing the underlying types at an memory location + * (numbers, strings and raw bytes). + */ + export class UnsafePointerView { + constructor(pointer: UnsafePointer); + + pointer: UnsafePointer; + + /** Gets an unsigned 8-bit integer at the specified byte offset from the pointer. */ + getUint8(offset?: number): number; + /** Gets a signed 8-bit integer at the specified byte offset from the pointer. */ + getInt8(offset?: number): number; + /** Gets an unsigned 16-bit integer at the specified byte offset from the pointer. */ + getUint16(offset?: number): number; + /** Gets a signed 16-bit integer at the specified byte offset from the pointer. */ + getInt16(offset?: number): number; + /** Gets an unsigned 32-bit integer at the specified byte offset from the pointer. */ + getUint32(offset?: number): number; + /** Gets a signed 32-bit integer at the specified byte offset from the pointer. */ + getInt32(offset?: number): number; + /** Gets an unsigned 64-bit integer at the specified byte offset from the pointer. */ + getBigUint64(offset?: number): bigint; + /** Gets a signed 64-bit integer at the specified byte offset from the pointer. */ + getBigInt64(offset?: number): bigint; + /** Gets a signed 32-bit float at the specified byte offset from the pointer. */ + getFloat32(offset?: number): number; + /** Gets a signed 64-bit float at the specified byte offset from the pointer. */ + getFloat64(offset?: number): number; + /** Gets a C string (null terminated string) at the specified byte offset from the pointer. */ + getCString(offset?: number): string; + /** Gets an ArrayBuffer of length `byteLength` at the specified byte offset from the pointer. */ + getArrayBuffer(byteLength: number, offset?: number): ArrayBuffer; + /** Copies the memory of the pointer into a typed array. Length is determined from the typed array's `byteLength`. Also takes optional offset from the pointer. */ + copyInto(destination: TypedArray, offset?: number): void; + } + /** A dynamic library resource */ export interface DynamicLibrary<S extends Record<string, ForeignFunction>> { /** All of the registered symbols along with functions for calling them */ @@ -135,7 +209,7 @@ declare namespace Deno { close(): void; } - /** **UNSTABLE**: new API + /** **UNSTABLE**: Unsafe and new API, beware! * * Opens a dynamic library and registers symbols */ |