@sheetwrite/coreclass
Executable database-neutral reference adapter for tests, demos, and local workflows.
- Package
@sheetwrite/core- Source
packages/core/src/persistence.ts#L87
Members 3
constructor
constructor(...snapshots: readonly WorkbookSnapshotinterface WorkbookSnapshot {
schemaVersion: 1;
documentId?: string;
version?: number;
workbook: {
activeSheet: SheetId;
namedRanges?: NamedRangeSnapshot[];
};
sheets: SheetSnapshot[];
}interface WorkbookSnapshot {
schemaVersion: 1;
documentId?: string;
version?: number;
workbook: {
activeSheet: SheetId;
namedRanges?: NamedRangeSnapshot[];
};
sheets: SheetSnapshot[];
}interface WorkbookSnapshot {
schemaVersion: 1;
documentId?: string;
version?: number;
workbook: {
activeSheet: SheetId;
namedRanges?: NamedRangeSnapshot[];
};
sheets: SheetSnapshot[];
}Schema-versioned serializable workbook document.API reference →[]);commit
commit: (request: PersistenceCommitRequestinterface PersistenceCommitRequest {
signal?: AbortSignal;
documentId: string;
baseVersion: number;
clientMutationId: string;
readonly operations: readonly DocumentOp[];
}interface PersistenceCommitRequest {
signal?: AbortSignal;
documentId: string;
baseVersion: number;
clientMutationId: string;
readonly operations: readonly DocumentOp[];
}interface PersistenceCommitRequest {
signal?: AbortSignal;
documentId: string;
baseVersion: number;
clientMutationId: string;
readonly operations: readonly DocumentOp[];
}Cancellable pending commit submitted to a persistence adapter.API reference →) => Promise<PersistenceCommitResponsetype PersistenceCommitResponse =
| { status: "applied"; version: number; clientMutationId: string }
| {
status: "duplicate";
version: number;
clientMutationId: string;
}
| {
status: "conflict";
currentVersion: number;
operationsSinceBase?: readonly VersionedOperation[];
snapshot?: WorkbookSnapshot;
};type PersistenceCommitResponse =
| { status: "applied"; version: number; clientMutationId: string }
| {
status: "duplicate";
version: number;
clientMutationId: string;
}
| {
status: "conflict";
currentVersion: number;
operationsSinceBase?: readonly VersionedOperation[];
snapshot?: WorkbookSnapshot;
};type PersistenceCommitResponse =
| {
status: "applied";
version: number;
clientMutationId: string;
}
| {
status: "duplicate";
version: number;
clientMutationId: string;
}
| {
status: "conflict";
currentVersion: number;
operationsSinceBase?: readonly VersionedOperation[];
snapshot?: WorkbookSnapshot;
};Applied, duplicate, or conflict acknowledgement from persistence. applied confirms the submitted operations unchanged; normalization must conflict.API reference →>;load
load: (documentId: string, signal?: AbortSignal) => Promise<WorkbookSnapshotinterface WorkbookSnapshot {
schemaVersion: 1;
documentId?: string;
version?: number;
workbook: {
activeSheet: SheetId;
namedRanges?: NamedRangeSnapshot[];
};
sheets: SheetSnapshot[];
}interface WorkbookSnapshot {
schemaVersion: 1;
documentId?: string;
version?: number;
workbook: {
activeSheet: SheetId;
namedRanges?: NamedRangeSnapshot[];
};
sheets: SheetSnapshot[];
}interface WorkbookSnapshot {
schemaVersion: 1;
documentId?: string;
version?: number;
workbook: {
activeSheet: SheetId;
namedRanges?: NamedRangeSnapshot[];
};
sheets: SheetSnapshot[];
}Schema-versioned serializable workbook document.API reference →>Declaration
View full TypeScript declaration
class MemoryPersistenceAdapter implements PersistenceAdapterinterface PersistenceAdapter {
load(
documentId: string,
signal?: AbortSignal,
): Promise<WorkbookSnapshot>;
commit(
request: PersistenceCommitRequest,
): Promise<PersistenceCommitResponse>;
}interface PersistenceAdapter {
load(
documentId: string,
signal?: AbortSignal,
): Promise<WorkbookSnapshot>;
commit(
request: PersistenceCommitRequest,
): Promise<PersistenceCommitResponse>;
}interface PersistenceAdapter {
load(
documentId: string,
signal?: AbortSignal,
): Promise<WorkbookSnapshot>;
commit(
request: PersistenceCommitRequest,
): Promise<PersistenceCommitResponse>;
}Host load and commit contract for versioned workbook persistence.API reference → { constructor(...snapshots: readonly WorkbookSnapshotinterface WorkbookSnapshot {
schemaVersion: 1;
documentId?: string;
version?: number;
workbook: {
activeSheet: SheetId;
namedRanges?: NamedRangeSnapshot[];
};
sheets: SheetSnapshot[];
}interface WorkbookSnapshot {
schemaVersion: 1;
documentId?: string;
version?: number;
workbook: {
activeSheet: SheetId;
namedRanges?: NamedRangeSnapshot[];
};
sheets: SheetSnapshot[];
}interface WorkbookSnapshot {
schemaVersion: 1;
documentId?: string;
version?: number;
workbook: {
activeSheet: SheetId;
namedRanges?: NamedRangeSnapshot[];
};
sheets: SheetSnapshot[];
}Schema-versioned serializable workbook document.API reference →[]); commit: ( request: PersistenceCommitRequestinterface PersistenceCommitRequest {
signal?: AbortSignal;
documentId: string;
baseVersion: number;
clientMutationId: string;
readonly operations: readonly DocumentOp[];
}interface PersistenceCommitRequest {
signal?: AbortSignal;
documentId: string;
baseVersion: number;
clientMutationId: string;
readonly operations: readonly DocumentOp[];
}interface PersistenceCommitRequest {
signal?: AbortSignal;
documentId: string;
baseVersion: number;
clientMutationId: string;
readonly operations: readonly DocumentOp[];
}Cancellable pending commit submitted to a persistence adapter.API reference →, ) => Promise<PersistenceCommitResponsetype PersistenceCommitResponse =
| { status: "applied"; version: number; clientMutationId: string }
| {
status: "duplicate";
version: number;
clientMutationId: string;
}
| {
status: "conflict";
currentVersion: number;
operationsSinceBase?: readonly VersionedOperation[];
snapshot?: WorkbookSnapshot;
};type PersistenceCommitResponse =
| { status: "applied"; version: number; clientMutationId: string }
| {
status: "duplicate";
version: number;
clientMutationId: string;
}
| {
status: "conflict";
currentVersion: number;
operationsSinceBase?: readonly VersionedOperation[];
snapshot?: WorkbookSnapshot;
};type PersistenceCommitResponse =
| {
status: "applied";
version: number;
clientMutationId: string;
}
| {
status: "duplicate";
version: number;
clientMutationId: string;
}
| {
status: "conflict";
currentVersion: number;
operationsSinceBase?: readonly VersionedOperation[];
snapshot?: WorkbookSnapshot;
};Applied, duplicate, or conflict acknowledgement from persistence. applied confirms the submitted operations unchanged; normalization must conflict.API reference →>; load: ( documentId: string, signal?: AbortSignal, ) => Promise<WorkbookSnapshotinterface WorkbookSnapshot {
schemaVersion: 1;
documentId?: string;
version?: number;
workbook: {
activeSheet: SheetId;
namedRanges?: NamedRangeSnapshot[];
};
sheets: SheetSnapshot[];
}interface WorkbookSnapshot {
schemaVersion: 1;
documentId?: string;
version?: number;
workbook: {
activeSheet: SheetId;
namedRanges?: NamedRangeSnapshot[];
};
sheets: SheetSnapshot[];
}interface WorkbookSnapshot {
schemaVersion: 1;
documentId?: string;
version?: number;
workbook: {
activeSheet: SheetId;
namedRanges?: NamedRangeSnapshot[];
};
sheets: SheetSnapshot[];
}Schema-versioned serializable workbook document.API reference →>;}