@tai-kun/surrealdb
Version:
The SurrealDB SDK for JavaScript
26 lines • 1.15 kB
TypeScript
import type { Uint8ArrayLike } from "@tai-kun/surrealdb/types";
import type { StatefulPromise } from "@tai-kun/surrealdb/utils";
import type EncodedCBOR from "./encoded-cbor";
import type EncodedJSON from "./encoded-json";
export type Data = typeof globalThis extends {
Buffer: new (...args: any) => infer Buff;
} ? string | ArrayBuffer | Uint8Array | Buff | Buff[] : string | ArrayBuffer | Uint8Array;
export type EncodedData = string | Uint8ArrayLike;
export type DecodingContext = {
name: "fetch";
length: number;
} | never;
export type DecodingStrategy = "sync" | "stream";
export interface Formatter {
readonly contentType: string;
readonly wsProtocols: string[];
readonly toEncoded?: <TData>(data: TData) => EncodedCBOR<TData> | EncodedJSON<TData>;
readonly encodeSync: (data: unknown) => EncodedData;
readonly decodeSync: (data: Data) => unknown;
readonly decodeStream?: (data: ReadableStream<Uint8Array>, signal: AbortSignal) => StatefulPromise<unknown>;
/**
* @experimental
*/
readonly decodingStrategy?: (ctx: DecodingContext) => DecodingStrategy;
}
//# sourceMappingURL=types.d.ts.map