@pgxsinkit/pgwasm
Version:
30 lines • 1.61 kB
TypeScript
import type { MetadataFile } from "./state-machine";
export declare const OWNED_FILE_NAMES: readonly ["arena.bin", "metadata-a.bin", "metadata-b.bin", "activation.bin"];
export type OwnedFileName = (typeof OWNED_FILE_NAMES)[number];
export type MetadataFileName = Extract<OwnedFileName, "metadata-a.bin" | "metadata-b.bin">;
export declare function metadataFileName(file: MetadataFile): MetadataFileName;
export interface RepackedPortEntry {
name: string;
kind: "file" | "directory";
}
export interface RepackedFileHandle {
readonly name: OwnedFileName;
getSize(label: string): number;
read(target: Uint8Array, at: number, label: string): number;
write(source: Uint8Array, at: number, label: string): number;
truncate(size: number, label: string): void;
flush(label: string): void;
close(): void;
}
export interface RepackedPort {
enumerate(label: string): Promise<readonly RepackedPortEntry[]>;
acquire(name: OwnedFileName, label: string): Promise<RepackedFileHandle>;
}
export declare class PortWriteError extends Error {
constructor(label: string);
}
export declare function readExact(handle: RepackedFileHandle, offset: bigint, length: number, maximumLength: number, label: string): Uint8Array;
export declare function writeExact(handle: RepackedFileHandle, offset: bigint, bytes: Uint8Array, label: string): void;
export declare function truncateChecked(handle: RepackedFileHandle, size: bigint, label: string): void;
export declare function arenaByteOffset(extentId: bigint, extentSize: number, withinExtent?: number): bigint;
//# sourceMappingURL=port.d.ts.map