src/types.ts
28 lines and 0 functions in DrDustinEdwards/d1-dump, at commit e15f966 on 2026-10-23. This file on GitHub.
Functions
None: it only declares types or values.
Imports
It imports no other module of this repo. Imported by src/backup.ts, src/cloudflare.ts, src/drill.ts, src/dump.ts, src/index.ts, src/node.ts, src/r2.ts, src/restore.ts, src/runs.ts, src/schema.ts.
Source
// The parts of the D1 and R2 bindings this package calls, declared here so a site
// needs no Cloudflare type package to install it. A Worker's real bindings satisfy
// these, and so do Miniflare's in the tests.
export interface D1Statement {
bind(...values: unknown[]): D1Statement;
all<T = Record<string, unknown>>(): Promise<{ results: T[] }>;
run(): Promise<unknown>;
}
export interface D1Like {
prepare(sql: string): D1Statement;
batch<T = Record<string, unknown>>(statements: D1Statement[]): Promise<Array<{ results: T[] }>>;
}
export interface R2UploadedPartLike {
partNumber: number;
etag: string;
}
export interface R2MultipartLike {
uploadPart(partNumber: number, value: Uint8Array): Promise<R2UploadedPartLike>;
complete(parts: R2UploadedPartLike[]): Promise<unknown>;
abort(): Promise<void>;
}
export interface R2Like {
put(key: string, value: string, options?: { httpMetadata?: { contentType?: string } }): Promise<unknown>;
get(key: string): Promise<{ text(): Promise<string> } | null>;
list(options: { prefix?: string; cursor?: string }): Promise<{ objects: Array<{ key: string }>; truncated: boolean; cursor?: string }>;
delete(keys: string | string[]): Promise<void>;
createMultipartUpload(key: string, options?: { httpMetadata?: { contentType?: string } }): Promise<R2MultipartLike>;
}