UNPKG

libmodulor

Version:

A TypeScript library to create platform-agnostic applications

35 lines (34 loc) 2.18 kB
import type { D1Database } from '@cloudflare/workers-types'; import type { Configurable, SettingsManager } from '../../std/index.js'; import type { UCData } from '../data.js'; import { type UCDataStore, type UCDataStoreReadOpts, type UCDataStoreReadProjectionOpts, type UCDataStoreReadResponse, type UCDataStoreRecord, type UCDataStoreTx, type UCDataStoreWriteOpts, type UCDataStoreWriteProjectionOpts, type UCDataStoreWriteProjectionSpecificBinding } from '../data-store.js'; import type { UCInput } from '../input.js'; import type { UCSettings } from '../settings.js'; type S = Pick<UCSettings, 'uc_data_store_mode' | 'uc_data_store_ucs_dataset_name'>; export declare const ROW_COLS: (keyof UCDataStoreRecord)[]; /** * @alpha This implementation is still a WIP and needs improvement */ export declare class CloudflareD1UCDataStore implements Configurable<S>, UCDataStore { protected settingsManager: SettingsManager<S>; protected client?: D1Database | undefined; constructor(settingsManager: SettingsManager<S>); s(): S; clear(): Promise<void>; destroy(): Promise<void>; exists(): Promise<boolean>; init(): Promise<void>; initSync(): void; read<I extends UCInput | undefined = undefined, D extends UCData | null = null>(opts?: UCDataStoreReadOpts<I, D>): Promise<UCDataStoreReadResponse<I, D>>; readProjection<T extends object>(_name: string, _opts?: UCDataStoreReadProjectionOpts<T>): Promise<T[]>; startTx(): Promise<UCDataStoreTx['ref']>; supportedSpecificBindings(): UCDataStoreWriteProjectionSpecificBinding[]; testKey(_encryptionKey: Uint8Array): Promise<void>; write<I extends UCInput | undefined = undefined, D extends UCData | null = null>(record: UCDataStoreRecord<I, D>, _opts?: UCDataStoreWriteOpts): Promise<void>; writeBulk<I extends UCInput | undefined = undefined, D extends UCData | null = null>(_records: UCDataStoreRecord<I, D>[], _opts?: UCDataStoreWriteOpts): Promise<void>; writeProjection<T extends object>(_name: string, _data: T, _opts?: UCDataStoreWriteProjectionOpts): Promise<void>; setClient(client: D1Database): void; private assertClient; private filter; } export {};