Storage layout plus snapshot and transaction resource ceilings for one store.
- Package
@sheetwrite/core
- Source
packages/core/src/store.ts#L67
Members 9
snapshotResourceLimits Overrides canonical snapshot/workbook allocation ceilings before construction.
snapshotResourceLimits?: Partial<SnapshotResourceLimitsinterface SnapshotResourceLimits {
maxSheets: number;
maxRowsPerSheet: number;
maxColumnsPerSheet: number;
maxMetadataEntries: number;
maxSerializedBytes: number;
maxLogicalCellsPerSheet: number;
maxDenseCells: number;
}interface SnapshotResourceLimits {
maxSheets: number;
maxRowsPerSheet: number;
maxColumnsPerSheet: number;
maxMetadataEntries: number;
maxSerializedBytes: number;
maxLogicalCellsPerSheet: number;
maxDenseCells: number;
}interface SnapshotResourceLimits {
maxSheets: number;
maxRowsPerSheet: number;
maxColumnsPerSheet: number;
maxMetadataEntries: number;
maxSerializedBytes: number;
maxLogicalCellsPerSheet: number;
maxDenseCells: number;
}Resource ceilings applied before snapshot normalization or store allocation.API reference →>;
transactionResourceLimits Overrides inclusive operation-count and encoded-byte ceilings for every transaction.
transactionResourceLimits?: Partial<TransactionResourceLimitsinterface TransactionResourceLimits {
maxOperations: number;
maxEncodedBytes: number;
}interface TransactionResourceLimits {
maxOperations: number;
maxEncodedBytes: number;
}interface TransactionResourceLimits {
maxOperations: number;
maxEncodedBytes: number;
}Public ceilings shared by transaction producers, persistence, transport, and replay. Limits measure the submitted operation array itself, not the logical cell area covered by compact operations.API reference →>;
storage Storage engine; defaults to eager dense allocation.
storage?: "dense" | "paged";
chunkRows Paged row chunk size; defaults to 4,096 and is normalized to a power of two.
cacheBytes Per-sheet clean-chunk budget; defaults to 32 MiB.
Per-sheet clean-chunk budget; defaults to 32 MiB. Dirty and pinned chunks may exceed it.
dirtyCellLimit Maximum sparse local edits retained outside the clean page cache.
Maximum sparse local edits retained outside the clean page cache. Defaults to 1,000,000 cells; further edits reject atomically.
referenceSimulationLimit Maximum clean references retained for exact multi-operation remove-sheet simulation.
referenceSimulationLimit?: number;
protectionResolver
protectionResolver?: ProtectionResolvertype ProtectionResolver = (
request: ProtectionRequest,
) => "allow" | "deny";type ProtectionResolver = (
request: ProtectionRequest,
) => "allow" | "deny";type ProtectionResolver = (
request: ProtectionRequest,
) => "allow" | "deny";Host-owned client UX permission callback for protected mutations.API reference →;
mutationPolicy
mutationPolicy?: MutationPolicyModetype MutationPolicyMode = "atomic" | "partial";type MutationPolicyMode = "atomic" | "partial";type MutationPolicyMode =
"atomic" | "partial";Atomic or partial handling for locally denied operations.API reference →;
Declaration
View full TypeScript declaration
export interface SheetwriteStoreOptions {
snapshotResourceLimits?: Partial<SnapshotResourceLimitsinterface SnapshotResourceLimits {
maxSheets: number;
maxRowsPerSheet: number;
maxColumnsPerSheet: number;
maxMetadataEntries: number;
maxSerializedBytes: number;
maxLogicalCellsPerSheet: number;
maxDenseCells: number;
}interface SnapshotResourceLimits {
maxSheets: number;
maxRowsPerSheet: number;
maxColumnsPerSheet: number;
maxMetadataEntries: number;
maxSerializedBytes: number;
maxLogicalCellsPerSheet: number;
maxDenseCells: number;
}interface SnapshotResourceLimits {
maxSheets: number;
maxRowsPerSheet: number;
maxColumnsPerSheet: number;
maxMetadataEntries: number;
maxSerializedBytes: number;
maxLogicalCellsPerSheet: number;
maxDenseCells: number;
}Resource ceilings applied before snapshot normalization or store allocation.API reference →>; transactionResourceLimits?: Partial<TransactionResourceLimitsinterface TransactionResourceLimits {
maxOperations: number;
maxEncodedBytes: number;
}interface TransactionResourceLimits {
maxOperations: number;
maxEncodedBytes: number;
}interface TransactionResourceLimits {
maxOperations: number;
maxEncodedBytes: number;
}Public ceilings shared by transaction producers, persistence, transport, and replay. Limits measure the submitted operation array itself, not the logical cell area covered by compact operations.API reference →>; storage?: "dense" | "paged";
referenceSimulationLimit?: number;
protectionResolver?: ProtectionResolvertype ProtectionResolver = (
request: ProtectionRequest,
) => "allow" | "deny";type ProtectionResolver = (
request: ProtectionRequest,
) => "allow" | "deny";type ProtectionResolver = (
request: ProtectionRequest,
) => "allow" | "deny";Host-owned client UX permission callback for protected mutations.API reference →; mutationPolicy?: MutationPolicyModetype MutationPolicyMode = "atomic" | "partial";type MutationPolicyMode = "atomic" | "partial";type MutationPolicyMode =
"atomic" | "partial";Atomic or partial handling for locally denied operations.API reference →;