Skip to main content

Interface: StorageAdapter

Defined in: contract.ts:185

@rasd/storage — the public entry point.

This package owns three things and nothing else: the frozen StorageAdapter contract, a reference implementation of it, and the suite that proves any other implementation matches. It deliberately has no dependency on @rasd/license — that is what makes export() available in every licence state a property of the module graph rather than a promise (docs/09 §10).

Extended by

Properties

attachments

attachments: BlobStore;

Defined in: contract.ts:193


datasets

datasets: DatasetRepo;

Defined in: contract.ts:194


forms

forms: FormRepo;

Defined in: contract.ts:191


kind

readonly kind: "dexie" | "sqlite" | "memory" | string & object;

Defined in: contract.ts:186


kv

kv: KeyValueStore;

Defined in: contract.ts:196


outbox

outbox: OutboxQueue;

Defined in: contract.ts:195


state

readonly state: "blocked" | "closed" | "opening" | "open";

Defined in: contract.ts:187


submissions

submissions: SubmissionRepo;

Defined in: contract.ts:192

Methods

close()

close(): Promise<void>;

Defined in: contract.ts:189

Returns

Promise<void>


estimate()

estimate(): Promise<RasdStorageEstimate>;

Defined in: contract.ts:199

Returns

Promise<RasdStorageEstimate>


export()

export(): AsyncIterable<ExportChunk>;

Defined in: contract.ts:204

JSONL + blobs. Must work in every licence state, including limited.

Returns

AsyncIterable<ExportChunk>


import()

import(chunks, opts?): Promise<ImportReport>;

Defined in: contract.ts:205

Parameters

ParameterType
chunksAsyncIterable<ExportChunk>
opts?{ overwrite?: boolean; }
opts.overwrite?boolean

Returns

Promise<ImportReport>


on()

on(event, handler): Unsubscribe;

Defined in: contract.ts:201

Parameters

ParameterType
event"change" | "blocked" | "quota" | "error" | "migration"
handler(e) => void

Returns

Unsubscribe


open()

open(opts): Promise<void>;

Defined in: contract.ts:188

Parameters

ParameterType
optsOpenOptions

Returns

Promise<void>


securityReport()

securityReport(): Promise<StorageSecurityReport>;

Defined in: contract.ts:200

Returns

Promise<StorageSecurityReport>


transaction()

transaction<T>(scopes, fn): Promise<T>;

Defined in: contract.ts:198

Type Parameters

Type Parameter
T

Parameters

ParameterType
scopesStorageScope[]
fn() => Promise<T>

Returns

Promise<T>


wipe()

wipe(): Promise<void>;

Defined in: contract.ts:206

Returns

Promise<void>