@bilig/headless 0.8.0 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/README.md +15 -0
  2. package/dist/persistence.d.ts +1 -1
  3. package/dist/persistence.js +13 -11
  4. package/dist/persistence.js.map +1 -1
  5. package/dist/tracked-cell-index-changes.d.ts +1 -7
  6. package/dist/tracked-cell-index-changes.js +20 -434
  7. package/dist/tracked-cell-index-changes.js.map +1 -1
  8. package/dist/tracked-cell-lazy-physical-changes.d.ts +21 -0
  9. package/dist/tracked-cell-lazy-physical-changes.js +333 -0
  10. package/dist/tracked-cell-lazy-physical-changes.js.map +1 -0
  11. package/dist/tracked-cell-value-read.d.ts +18 -0
  12. package/dist/tracked-cell-value-read.js +46 -0
  13. package/dist/tracked-cell-value-read.js.map +1 -0
  14. package/dist/tracked-engine-event-refs.d.ts +1 -1
  15. package/dist/tracked-engine-event-refs.js +14 -4
  16. package/dist/tracked-engine-event-refs.js.map +1 -1
  17. package/dist/tracked-index-source-order.d.ts +5 -0
  18. package/dist/tracked-index-source-order.js +15 -0
  19. package/dist/tracked-index-source-order.js.map +1 -0
  20. package/dist/work-paper-address-format.d.ts +33 -0
  21. package/dist/work-paper-address-format.js +116 -0
  22. package/dist/work-paper-address-format.js.map +1 -0
  23. package/dist/work-paper-axis-helpers.d.ts +26 -0
  24. package/dist/work-paper-axis-helpers.js +104 -0
  25. package/dist/work-paper-axis-helpers.js.map +1 -0
  26. package/dist/work-paper-capability-checks.d.ts +17 -0
  27. package/dist/work-paper-capability-checks.js +101 -0
  28. package/dist/work-paper-capability-checks.js.map +1 -0
  29. package/dist/work-paper-capability-operations.d.ts +34 -0
  30. package/dist/work-paper-capability-operations.js +70 -0
  31. package/dist/work-paper-capability-operations.js.map +1 -0
  32. package/dist/work-paper-capability-surface.d.ts +97 -0
  33. package/dist/work-paper-capability-surface.js +236 -0
  34. package/dist/work-paper-capability-surface.js.map +1 -0
  35. package/dist/work-paper-cell-content-setter.d.ts +37 -0
  36. package/dist/work-paper-cell-content-setter.js +87 -0
  37. package/dist/work-paper-cell-content-setter.js.map +1 -0
  38. package/dist/work-paper-cell-mutation-refs.d.ts +23 -0
  39. package/dist/work-paper-cell-mutation-refs.js +50 -0
  40. package/dist/work-paper-cell-mutation-refs.js.map +1 -0
  41. package/dist/work-paper-cell-read.d.ts +41 -0
  42. package/dist/work-paper-cell-read.js +54 -0
  43. package/dist/work-paper-cell-read.js.map +1 -0
  44. package/dist/work-paper-clipboard-operations.d.ts +24 -0
  45. package/dist/work-paper-clipboard-operations.js +56 -0
  46. package/dist/work-paper-clipboard-operations.js.map +1 -0
  47. package/dist/work-paper-clipboard.d.ts +13 -0
  48. package/dist/work-paper-clipboard.js +19 -0
  49. package/dist/work-paper-clipboard.js.map +1 -0
  50. package/dist/work-paper-config.d.ts +11 -0
  51. package/dist/work-paper-config.js +247 -0
  52. package/dist/work-paper-config.js.map +1 -0
  53. package/dist/work-paper-date-time.d.ts +4 -0
  54. package/dist/work-paper-date-time.js +38 -0
  55. package/dist/work-paper-date-time.js.map +1 -0
  56. package/dist/work-paper-dependency-refs.d.ts +11 -0
  57. package/dist/work-paper-dependency-refs.js +74 -0
  58. package/dist/work-paper-dependency-refs.js.map +1 -0
  59. package/dist/work-paper-emitter.d.ts +22 -0
  60. package/dist/work-paper-emitter.js +130 -0
  61. package/dist/work-paper-emitter.js.map +1 -0
  62. package/dist/work-paper-engine-event-tracker.d.ts +24 -0
  63. package/dist/work-paper-engine-event-tracker.js +92 -0
  64. package/dist/work-paper-engine-event-tracker.js.map +1 -0
  65. package/dist/work-paper-errors.d.ts +4 -0
  66. package/dist/work-paper-errors.js +7 -0
  67. package/dist/work-paper-errors.js.map +1 -1
  68. package/dist/work-paper-existing-numeric-fast-path.d.ts +31 -0
  69. package/dist/work-paper-existing-numeric-fast-path.js +120 -0
  70. package/dist/work-paper-existing-numeric-fast-path.js.map +1 -0
  71. package/dist/work-paper-fill-helpers.d.ts +8 -0
  72. package/dist/work-paper-fill-helpers.js +34 -0
  73. package/dist/work-paper-fill-helpers.js.map +1 -0
  74. package/dist/work-paper-formula-analysis.d.ts +18 -0
  75. package/dist/work-paper-formula-analysis.js +54 -0
  76. package/dist/work-paper-formula-analysis.js.map +1 -0
  77. package/dist/work-paper-formula-rewrite.d.ts +22 -0
  78. package/dist/work-paper-formula-rewrite.js +71 -0
  79. package/dist/work-paper-formula-rewrite.js.map +1 -0
  80. package/dist/work-paper-function-registry.d.ts +39 -0
  81. package/dist/work-paper-function-registry.js +66 -0
  82. package/dist/work-paper-function-registry.js.map +1 -0
  83. package/dist/work-paper-history-operations.d.ts +15 -0
  84. package/dist/work-paper-history-operations.js +14 -0
  85. package/dist/work-paper-history-operations.js.map +1 -0
  86. package/dist/work-paper-history.d.ts +50 -0
  87. package/dist/work-paper-history.js +136 -0
  88. package/dist/work-paper-history.js.map +1 -0
  89. package/dist/work-paper-internals.d.ts +24 -0
  90. package/dist/work-paper-internals.js +59 -0
  91. package/dist/work-paper-internals.js.map +1 -0
  92. package/dist/work-paper-literal-mutation-queue.d.ts +18 -0
  93. package/dist/work-paper-literal-mutation-queue.js +40 -0
  94. package/dist/work-paper-literal-mutation-queue.js.map +1 -0
  95. package/dist/work-paper-matrix-application.d.ts +31 -0
  96. package/dist/work-paper-matrix-application.js +85 -0
  97. package/dist/work-paper-matrix-application.js.map +1 -0
  98. package/dist/work-paper-mutation-queues.d.ts +29 -0
  99. package/dist/work-paper-mutation-queues.js +72 -0
  100. package/dist/work-paper-mutation-queues.js.map +1 -0
  101. package/dist/work-paper-named-expression-fast-path.d.ts +37 -0
  102. package/dist/work-paper-named-expression-fast-path.js +100 -0
  103. package/dist/work-paper-named-expression-fast-path.js.map +1 -0
  104. package/dist/work-paper-named-expression-helpers.d.ts +54 -0
  105. package/dist/work-paper-named-expression-helpers.js +179 -0
  106. package/dist/work-paper-named-expression-helpers.js.map +1 -0
  107. package/dist/work-paper-named-expression-operations.d.ts +39 -0
  108. package/dist/work-paper-named-expression-operations.js +82 -0
  109. package/dist/work-paper-named-expression-operations.js.map +1 -0
  110. package/dist/work-paper-public-surface.d.ts +73 -0
  111. package/dist/work-paper-public-surface.js +165 -0
  112. package/dist/work-paper-public-surface.js.map +1 -0
  113. package/dist/work-paper-read-operations.d.ts +52 -0
  114. package/dist/work-paper-read-operations.js +185 -0
  115. package/dist/work-paper-read-operations.js.map +1 -0
  116. package/dist/work-paper-runtime-adapters.d.ts +144 -0
  117. package/dist/work-paper-runtime-adapters.js +256 -0
  118. package/dist/work-paper-runtime-adapters.js.map +1 -0
  119. package/dist/work-paper-runtime-helpers.d.ts +27 -0
  120. package/dist/work-paper-runtime-helpers.js +305 -0
  121. package/dist/work-paper-runtime-helpers.js.map +1 -0
  122. package/dist/work-paper-runtime-surface.d.ts +137 -0
  123. package/dist/work-paper-runtime-surface.js +702 -0
  124. package/dist/work-paper-runtime-surface.js.map +1 -0
  125. package/dist/work-paper-runtime.d.ts +56 -285
  126. package/dist/work-paper-runtime.js +403 -4809
  127. package/dist/work-paper-runtime.js.map +1 -1
  128. package/dist/work-paper-scratch-evaluator.js +29 -26
  129. package/dist/work-paper-scratch-evaluator.js.map +1 -1
  130. package/dist/work-paper-sheet-dimension-cache.d.ts +36 -0
  131. package/dist/work-paper-sheet-dimension-cache.js +158 -0
  132. package/dist/work-paper-sheet-dimension-cache.js.map +1 -0
  133. package/dist/work-paper-sheet-initialization.d.ts +19 -0
  134. package/dist/work-paper-sheet-initialization.js +93 -0
  135. package/dist/work-paper-sheet-initialization.js.map +1 -0
  136. package/dist/work-paper-sheet-inspection.d.ts +66 -0
  137. package/dist/work-paper-sheet-inspection.js +204 -0
  138. package/dist/work-paper-sheet-inspection.js.map +1 -0
  139. package/dist/work-paper-sheet-operations.d.ts +59 -0
  140. package/dist/work-paper-sheet-operations.js +104 -0
  141. package/dist/work-paper-sheet-operations.js.map +1 -0
  142. package/dist/work-paper-sheet-read.d.ts +21 -0
  143. package/dist/work-paper-sheet-read.js +32 -0
  144. package/dist/work-paper-sheet-read.js.map +1 -0
  145. package/dist/work-paper-sheet-rename-fast-path.d.ts +18 -0
  146. package/dist/work-paper-sheet-rename-fast-path.js +43 -0
  147. package/dist/work-paper-sheet-rename-fast-path.js.map +1 -0
  148. package/dist/work-paper-static-api.d.ts +18 -0
  149. package/dist/work-paper-static-api.js +44 -0
  150. package/dist/work-paper-static-api.js.map +1 -0
  151. package/dist/work-paper-static-registry.d.ts +21 -0
  152. package/dist/work-paper-static-registry.js +150 -0
  153. package/dist/work-paper-static-registry.js.map +1 -0
  154. package/dist/work-paper-tracked-change-reducer.d.ts +41 -0
  155. package/dist/work-paper-tracked-change-reducer.js +281 -0
  156. package/dist/work-paper-tracked-change-reducer.js.map +1 -0
  157. package/dist/work-paper-tracked-event-helpers.d.ts +89 -0
  158. package/dist/work-paper-tracked-event-helpers.js +366 -0
  159. package/dist/work-paper-tracked-event-helpers.js.map +1 -0
  160. package/dist/work-paper-types.d.ts +6 -5
  161. package/dist/work-paper-visibility-snapshot.d.ts +36 -0
  162. package/dist/work-paper-visibility-snapshot.js +62 -0
  163. package/dist/work-paper-visibility-snapshot.js.map +1 -0
  164. package/package.json +13 -5
@@ -0,0 +1,144 @@
1
+ import type { EngineCellMutationRef, SheetRecord, SpreadsheetEngine } from '@bilig/core';
2
+ import type { CellRangeRef, CellSnapshot } from '@bilig/protocol';
3
+ import { editWorkPaperAxisIntervals, setWorkPaperAxisOrder, swapWorkPaperAxisIndexes, type WorkPaperAxisEditRuntime } from './work-paper-axis-helpers.js';
4
+ import { setWorkPaperCellContents, type WorkPaperSetCellContentsRuntime } from './work-paper-cell-content-setter.js';
5
+ import type { applyWorkPaperCellMutationRefs, WorkPaperCellMutationApplyRuntime } from './work-paper-cell-mutation-refs.js';
6
+ import { type WorkPaperExistingNumericFastPathRuntime } from './work-paper-existing-numeric-fast-path.js';
7
+ import { type WorkPaperNamedExpressionFastPathRuntime } from './work-paper-named-expression-fast-path.js';
8
+ import type { WorkPaperSheetRenameFastPathRuntime } from './work-paper-sheet-rename-fast-path.js';
9
+ import { type WorkPaperReadOperations } from './work-paper-read-operations.js';
10
+ import { type WorkPaperSheetOperations } from './work-paper-sheet-operations.js';
11
+ import { type WorkPaperClipboardOperations } from './work-paper-clipboard-operations.js';
12
+ import { type WorkPaperNamedExpressionOperations } from './work-paper-named-expression-operations.js';
13
+ import { type WorkPaperCapabilityOperations } from './work-paper-capability-operations.js';
14
+ import type { WorkPaperMutationQueues } from './work-paper-mutation-queues.js';
15
+ import type { WorkPaperEngineEventTracker } from './work-paper-engine-event-tracker.js';
16
+ import type { WorkPaperSheetDimensionCache } from './work-paper-sheet-dimension-cache.js';
17
+ import type { WorkPaperEmitter } from './work-paper-emitter.js';
18
+ import type { WorkPaperClipboardPayload } from './work-paper-clipboard.js';
19
+ import type { InternalNamedExpression, WorkPaperNamedExpressionValueSnapshot } from './work-paper-named-expression-helpers.js';
20
+ import type { VisibilitySnapshot } from './work-paper-visibility-snapshot.js';
21
+ import type { TrackedEngineEvent } from './tracked-engine-event-refs.js';
22
+ import type { QueuedEvent } from './work-paper-tracked-event-helpers.js';
23
+ import type { RawCellContent, SerializedWorkPaperNamedExpression, WorkPaperAxisInterval, WorkPaperCellAddress, WorkPaperCellChange, WorkPaperCellRange, WorkPaperChange, WorkPaperConfig, WorkPaperDetailedEventMap, WorkPaperSheet, WorkPaperSheetDimensions } from './work-paper-types.js';
24
+ export interface WorkPaperRuntimeAdapters {
25
+ readonly cellMutationApplyRuntime: WorkPaperCellMutationApplyRuntime;
26
+ readonly sheetRenameFastPathRuntime: WorkPaperSheetRenameFastPathRuntime;
27
+ readonly namedExpressionFastPathRuntime: WorkPaperNamedExpressionFastPathRuntime;
28
+ readonly existingNumericFastPathRuntime: WorkPaperExistingNumericFastPathRuntime;
29
+ readonly setCellContentsRuntime: WorkPaperSetCellContentsRuntime;
30
+ readonly readOperations: WorkPaperReadOperations;
31
+ readonly sheetOperations: WorkPaperSheetOperations;
32
+ readonly clipboardOperations: WorkPaperClipboardOperations;
33
+ readonly capabilityOperations: WorkPaperCapabilityOperations;
34
+ readonly namedExpressionOperations: WorkPaperNamedExpressionOperations;
35
+ readonly axisEditRuntime: WorkPaperAxisEditRuntime;
36
+ }
37
+ export interface CreateWorkPaperRuntimeAdaptersArgs {
38
+ readonly getEngine: () => SpreadsheetEngine;
39
+ readonly getConfig: () => WorkPaperConfig;
40
+ readonly getBatchDepth: () => number;
41
+ readonly isEvaluationSuspended: () => boolean;
42
+ readonly isTrackedBatchFastPathActive: () => boolean;
43
+ readonly getNamedExpressionValueCache: () => WorkPaperNamedExpressionValueSnapshot | null;
44
+ readonly getClipboard: () => WorkPaperClipboardPayload | null;
45
+ readonly setClipboard: (clipboard: WorkPaperClipboardPayload | null) => void;
46
+ readonly getNamedExpression: (name: string, scope: number | undefined) => InternalNamedExpression | undefined;
47
+ readonly getNamedExpressionValues: () => IterableIterator<InternalNamedExpression>;
48
+ readonly setNamedExpressionRecord: (key: string, record: InternalNamedExpression) => void;
49
+ readonly deleteNamedExpressionRecord: (name: string, scope: number | undefined) => void;
50
+ readonly mutationQueues: WorkPaperMutationQueues;
51
+ readonly engineEvents: WorkPaperEngineEventTracker;
52
+ readonly getSheetDimensionCache: () => WorkPaperSheetDimensionCache;
53
+ readonly emitter: WorkPaperEmitter;
54
+ readonly assertNotDisposed: () => void;
55
+ readonly assertReadable: () => void;
56
+ readonly prepareReadableState: () => void;
57
+ readonly flushPendingBatchOps: () => void;
58
+ readonly downgradeTrackedBatchFastPath: () => void;
59
+ readonly sheetRecord: (sheetId: number) => SheetRecord;
60
+ readonly sheetName: (sheetId: number) => string;
61
+ readonly a1: (address: Pick<WorkPaperCellAddress, 'row' | 'col'>) => string;
62
+ readonly trackedA1: (row: number, col: number) => string;
63
+ readonly rangeRef: (range: WorkPaperCellRange) => CellRangeRef;
64
+ readonly listSheetRecords: () => readonly SheetRecord[];
65
+ readonly requireSheetId: (name: string) => number;
66
+ readonly restorePublicFormula: (formula: string, ownerSheetId: number) => string;
67
+ readonly cellSnapshotToRawContent: (cell: CellSnapshot, ownerSheetId: number) => RawCellContent;
68
+ readonly canUseMetadataOnlySheetRenameFastPath: () => boolean;
69
+ readonly canUseNamedExpressionChangeFastPath: () => boolean;
70
+ readonly canUseTrackedMutationFastPath: () => boolean;
71
+ readonly canUseTrackedStructuralFastPath: () => boolean;
72
+ readonly getCapabilityContext: () => {
73
+ readonly config: WorkPaperConfig;
74
+ readonly requireSheet: (sheetId: number) => void;
75
+ readonly doesSheetExist: (sheetName: string) => boolean;
76
+ readonly getSheetIdByName: (sheetName: string) => number | undefined;
77
+ };
78
+ readonly getVisibleCellIndexInSheet: (sheet: SheetRecord, row: number, col: number) => number | undefined;
79
+ readonly enqueueSuspendedLiteralMutation: (sheetId: number, row: number, col: number, content: RawCellContent, cellIndex: number | undefined) => boolean;
80
+ readonly enqueueDeferredBatchLiteral: (sheetId: number, row: number, col: number, content: RawCellContent, cellIndex: number | undefined) => boolean;
81
+ readonly rewriteFormulaForStorage: (formula: string, ownerSheetId: number) => string;
82
+ readonly applyCellMutationRefs: (refs: readonly EngineCellMutationRef[], options: Parameters<typeof applyWorkPaperCellMutationRefs>[2]) => void;
83
+ readonly captureTrackedChangesWithoutVisibilityCache: (mutate: () => void, options?: Parameters<WorkPaperExistingNumericFastPathRuntime['computeTrackedChangesWithoutVisibilityCache']>[1] & {
84
+ readonly preservePendingTrackedPositions?: boolean;
85
+ readonly singleLiteralChange?: {
86
+ readonly address: WorkPaperCellAddress;
87
+ readonly cellIndex?: number;
88
+ readonly isPhysicalSheet: boolean;
89
+ readonly sheetName: string;
90
+ readonly value: RawCellContent;
91
+ };
92
+ }) => WorkPaperChange[];
93
+ readonly captureChanges: (event: QueuedEvent | undefined, mutate: () => void) => WorkPaperChange[];
94
+ readonly computeChangesAfterMutation: (beforeVisibility: VisibilitySnapshot, beforeNames: WorkPaperNamedExpressionValueSnapshot) => WorkPaperChange[];
95
+ readonly computeTrackedChangesWithoutVisibilityCache: (events: readonly TrackedEngineEvent[], options?: Parameters<WorkPaperExistingNumericFastPathRuntime['computeTrackedChangesWithoutVisibilityCache']>[1]) => WorkPaperChange[];
96
+ readonly readSingleTrackedCellChange: (cellIndex: number) => WorkPaperCellChange | undefined;
97
+ readonly nextSheetName: () => string;
98
+ readonly isItPossibleToAddSheet: (name: string) => boolean;
99
+ readonly ensureVisibilityCache: () => VisibilitySnapshot;
100
+ readonly ensureNamedExpressionValueCache: () => WorkPaperNamedExpressionValueSnapshot;
101
+ readonly clearSheetRecordsCache: () => void;
102
+ readonly cacheSheetDimensions: (sheetId: number, dimensions: WorkPaperSheetDimensions) => void;
103
+ readonly shouldSuppressEvents: () => boolean;
104
+ readonly queueSheetAddedEvent: (payload: WorkPaperDetailedEventMap['sheetAdded']) => void;
105
+ readonly isItPossibleToRemoveSheet: (sheetId: number) => boolean;
106
+ readonly isItPossibleToClearSheet: (sheetId: number) => boolean;
107
+ readonly getSheetDimensions: (sheetId: number) => WorkPaperSheetDimensions;
108
+ readonly isItPossibleToReplaceSheetContent: (sheetId: number, content: WorkPaperSheet) => boolean;
109
+ readonly replaceSheetContentInternal: (sheetId: number, content: WorkPaperSheet, options: {
110
+ readonly duringInitialization: boolean;
111
+ }) => void;
112
+ readonly tryRenameSheetWithoutVisibilitySnapshots: (oldName: string, newName: string) => WorkPaperChange[] | null;
113
+ readonly evaluateNamedExpression: (expression: InternalNamedExpression) => ReturnType<WorkPaperNamedExpressionFastPathRuntime['evaluateNamedExpression']>;
114
+ readonly toDefinedNameSnapshot: WorkPaperNamedExpressionFastPathRuntime['toDefinedNameSnapshot'];
115
+ readonly upsertNamedExpressionInternal: (expression: SerializedWorkPaperNamedExpression, options: {
116
+ duringInitialization: boolean;
117
+ skipValidation?: boolean;
118
+ }) => void;
119
+ readonly namedExpressionRecord: (name: string, scope: number | undefined) => InternalNamedExpression;
120
+ readonly validateNamedExpression: (expressionName: string, expression: RawCellContent, scope?: number) => void;
121
+ readonly deleteDefinedName: (internalName: string) => void;
122
+ readonly isItPossibleToSetCellContents: (address: WorkPaperCellAddress, content?: RawCellContent | WorkPaperSheet) => boolean;
123
+ readonly applyMatrixContents: (address: WorkPaperCellAddress, content: WorkPaperSheet) => void;
124
+ readonly getRangeSerialized: (range: WorkPaperCellRange) => RawCellContent[][];
125
+ readonly getRangeValues: (range: WorkPaperCellRange) => ReturnType<WorkPaperReadOperations['getRangeValues']>;
126
+ readonly batch: (operations: () => void) => WorkPaperChange[];
127
+ readonly setCellContents: (address: WorkPaperCellAddress, content: RawCellContent | WorkPaperSheet) => WorkPaperChange[];
128
+ readonly applySerializedMatrix: (targetLeftCorner: WorkPaperCellAddress, content: RawCellContent[][], sourceAnchor: WorkPaperCellAddress) => void;
129
+ readonly doesSheetIdExist: (sheetId: number) => boolean;
130
+ readonly hasNamedExpression: (expressionName: string, scope?: number) => boolean;
131
+ readonly canEditAxisIntervals: (axis: 'row' | 'column', mode: 'add' | 'remove', sheetId: number, intervals: readonly WorkPaperAxisInterval[]) => boolean;
132
+ readonly batchStructuralChanges: (operations: () => void) => WorkPaperChange[];
133
+ readonly captureAxisChange: (operations: () => void) => WorkPaperChange[];
134
+ readonly applyAxisIntervalEdit: (axis: 'row' | 'column', mode: 'add' | 'remove', sheetId: number, start: number, amount: number) => void;
135
+ readonly applyAxisMove: (axis: 'row' | 'column', sheetId: number, start: number, count: number, target: number) => void;
136
+ readonly messageOf: (error: unknown, fallback: string) => string;
137
+ }
138
+ export declare function createWorkPaperRuntimeAdapters(args: CreateWorkPaperRuntimeAdaptersArgs): WorkPaperRuntimeAdapters;
139
+ export declare const workPaperRuntimeAdapterCommands: {
140
+ editWorkPaperAxisIntervals: typeof editWorkPaperAxisIntervals;
141
+ setWorkPaperAxisOrder: typeof setWorkPaperAxisOrder;
142
+ setWorkPaperCellContents: typeof setWorkPaperCellContents;
143
+ swapWorkPaperAxisIndexes: typeof swapWorkPaperAxisIndexes;
144
+ };
@@ -0,0 +1,256 @@
1
+ import { orderWorkPaperCellChanges } from './change-order.js';
2
+ import { isWorkPaperAxisOrderPossible, isWorkPaperAxisSwapPossible, isWorkPaperMoveAxisPossible } from './work-paper-capability-checks.js';
3
+ import { editWorkPaperAxisIntervals, moveWorkPaperAxis, setWorkPaperAxisOrder, swapWorkPaperAxisIndexes, } from './work-paper-axis-helpers.js';
4
+ import { setWorkPaperCellContents } from './work-paper-cell-content-setter.js';
5
+ import { trySetExistingNumericWorkPaperCellContentsWithTrackedFastPath, } from './work-paper-existing-numeric-fast-path.js';
6
+ import { tryCaptureWorkPaperNamedExpressionChangeWithoutSnapshots, } from './work-paper-named-expression-fast-path.js';
7
+ import { createWorkPaperReadOperations } from './work-paper-read-operations.js';
8
+ import { createWorkPaperSheetOperations } from './work-paper-sheet-operations.js';
9
+ import { createWorkPaperClipboardOperations } from './work-paper-clipboard-operations.js';
10
+ import { createWorkPaperNamedExpressionOperations, } from './work-paper-named-expression-operations.js';
11
+ import { createWorkPaperCapabilityOperations } from './work-paper-capability-operations.js';
12
+ export function createWorkPaperRuntimeAdapters(args) {
13
+ const cellMutationApplyRuntime = {
14
+ isEvaluationSuspended: args.isEvaluationSuspended,
15
+ appendSuspendedCellMutationRefs: (refs) => {
16
+ args.mutationQueues.appendSuspendedCellMutationRefs(refs);
17
+ },
18
+ addSuspendedCellMutationPotentialNewCells: (amount) => {
19
+ args.mutationQueues.addSuspendedCellMutationPotentialNewCells(amount);
20
+ },
21
+ applyCellMutationsAtWithOptions: (refs, options) => {
22
+ args.getEngine().applyCellMutationsAtWithOptions(refs, options);
23
+ },
24
+ updateSheetDimensionsAfterCellMutationRefs: (refs) => args.getSheetDimensionCache().updateAfterCellMutationRefs(refs),
25
+ };
26
+ const sheetRenameFastPathRuntime = {
27
+ canUseMetadataOnlySheetRenameFastPath: args.canUseMetadataOnlySheetRenameFastPath,
28
+ assertNotDisposed: args.assertNotDisposed,
29
+ hasPendingLazyTrackedChanges: () => args.engineEvents.hasPendingLazyChanges,
30
+ materializePendingLazyTrackedChanges: () => args.engineEvents.materializePendingLazyChanges(),
31
+ isTrackedBatchFastPathActive: args.isTrackedBatchFastPathActive,
32
+ downgradeTrackedBatchFastPath: args.downgradeTrackedBatchFastPath,
33
+ hasTrackedEngineEvents: () => args.engineEvents.hasTrackedEvents,
34
+ drainTrackedEngineEvents: () => {
35
+ void args.engineEvents.drain();
36
+ },
37
+ clearTrackedEngineEvents: () => {
38
+ args.engineEvents.clearEvents();
39
+ },
40
+ clearSheetRecordsCache: args.clearSheetRecordsCache,
41
+ renameSheetMetadataOnly: (oldName, newName) => args.getEngine().renameSheetMetadataOnly(oldName, newName),
42
+ renameSheet: (oldName, newName) => args.getEngine().renameSheet(oldName, newName),
43
+ withEngineEventCaptureDisabled: (callback) => {
44
+ args.engineEvents.withCaptureDisabled(callback);
45
+ },
46
+ messageOf: args.messageOf,
47
+ };
48
+ const namedExpressionFastPathRuntime = {
49
+ canUseNamedExpressionChangeFastPath: args.canUseNamedExpressionChangeFastPath,
50
+ assertNotDisposed: args.assertNotDisposed,
51
+ materializePendingLazyTrackedChanges: () => args.engineEvents.materializePendingLazyChanges(),
52
+ downgradeTrackedBatchFastPath: args.downgradeTrackedBatchFastPath,
53
+ getCachedNamedExpressionValue: (key) => args.getNamedExpressionValueCache()?.get(key),
54
+ setCachedNamedExpressionValue: (key, value) => {
55
+ args.getNamedExpressionValueCache()?.set(key, value);
56
+ },
57
+ evaluateNamedExpression: args.evaluateNamedExpression,
58
+ hasAnyListeners: () => args.emitter.hasAnyListeners(),
59
+ toDefinedNameSnapshot: args.toDefinedNameSnapshot,
60
+ upsertNumericDefinedNameFast: (name, value, numericValue) => args.getEngine().upsertNumericDefinedNameFast(name, value, numericValue),
61
+ setNamedExpressionRecord: args.setNamedExpressionRecord,
62
+ readSingleTrackedCellChange: args.readSingleTrackedCellChange,
63
+ orderCellChanges: (changes, explicitChangedCount) => orderWorkPaperCellChanges(changes, args.listSheetRecords(), explicitChangedCount),
64
+ drainTrackedEngineEvents: () => args.engineEvents.drain(),
65
+ withRetainedTrackedEngineEventIndices: (callback) => {
66
+ args.engineEvents.withRetainedIndices(callback);
67
+ },
68
+ upsertNamedExpressionInternal: (expression) => {
69
+ args.upsertNamedExpressionInternal(expression, { duringInitialization: false });
70
+ },
71
+ namedExpressionRecord: args.namedExpressionRecord,
72
+ computeTrackedChangesWithoutVisibilityCache: args.computeTrackedChangesWithoutVisibilityCache,
73
+ messageOf: args.messageOf,
74
+ };
75
+ const existingNumericFastPathRuntime = {
76
+ canUseTrackedMutationFastPath: args.canUseTrackedMutationFastPath,
77
+ getEngine: args.getEngine,
78
+ hasPendingLazyTrackedChanges: () => args.engineEvents.hasPendingLazyChanges,
79
+ materializePendingLazyTrackedChanges: () => args.engineEvents.materializePendingLazyChanges(),
80
+ hasTrackedEngineEvents: () => args.engineEvents.hasTrackedEvents,
81
+ drainTrackedEngineEvents: () => args.engineEvents.drain(),
82
+ clearTrackedEngineEvents: () => {
83
+ args.engineEvents.clearEvents();
84
+ },
85
+ getEngineEventCaptureEnabled: () => args.engineEvents.isCaptureEnabled,
86
+ setEngineEventCaptureEnabled: (enabled) => {
87
+ args.engineEvents.setCaptureEnabled(enabled);
88
+ },
89
+ hasPendingBatchOps: () => args.mutationQueues.hasPendingBatchOps(),
90
+ flushPendingBatchOps: args.flushPendingBatchOps,
91
+ messageOf: args.messageOf,
92
+ trackedA1: args.trackedA1,
93
+ orderChanges: (changes, explicitChangedCount) => orderWorkPaperCellChanges(changes, args.listSheetRecords(), explicitChangedCount),
94
+ computeTrackedChangesWithoutVisibilityCache: args.computeTrackedChangesWithoutVisibilityCache,
95
+ hasValuesUpdatedListeners: () => args.emitter.hasListeners('valuesUpdated'),
96
+ emitValuesUpdated: (changes) => {
97
+ args.emitter.emitDetailed({ eventName: 'valuesUpdated', payload: { changes } });
98
+ },
99
+ };
100
+ const setCellContentsRuntime = {
101
+ assertNotDisposed: args.assertNotDisposed,
102
+ getConfig: args.getConfig,
103
+ getEngine: args.getEngine,
104
+ sheetRecord: args.sheetRecord,
105
+ getVisibleCellIndexInSheet: args.getVisibleCellIndexInSheet,
106
+ isEvaluationSuspended: args.isEvaluationSuspended,
107
+ getBatchDepth: args.getBatchDepth,
108
+ enqueueSuspendedLiteralMutation: args.enqueueSuspendedLiteralMutation,
109
+ enqueueDeferredBatchLiteral: args.enqueueDeferredBatchLiteral,
110
+ trySetExistingNumericCellContentsWithTrackedFastPath: (request) => trySetExistingNumericWorkPaperCellContentsWithTrackedFastPath(existingNumericFastPathRuntime, request),
111
+ flushPendingBatchOps: args.flushPendingBatchOps,
112
+ rewriteFormulaForStorage: args.rewriteFormulaForStorage,
113
+ applyCellMutationRefs: args.applyCellMutationRefs,
114
+ canUseTrackedMutationFastPath: args.canUseTrackedMutationFastPath,
115
+ captureTrackedChangesWithoutVisibilityCache: args.captureTrackedChangesWithoutVisibilityCache,
116
+ captureChanges: (mutate) => args.captureChanges(undefined, mutate),
117
+ isItPossibleToSetCellContents: args.isItPossibleToSetCellContents,
118
+ applyMatrixContents: args.applyMatrixContents,
119
+ };
120
+ const readOperations = createWorkPaperReadOperations({
121
+ getEngine: args.getEngine,
122
+ getSheetDimensionCache: args.getSheetDimensionCache,
123
+ assertReadable: args.assertReadable,
124
+ assertNotDisposed: args.assertNotDisposed,
125
+ prepareReadableState: args.prepareReadableState,
126
+ flushPendingBatchOps: args.flushPendingBatchOps,
127
+ sheetRecord: args.sheetRecord,
128
+ sheetName: args.sheetName,
129
+ a1: args.a1,
130
+ rangeRef: args.rangeRef,
131
+ listSheetRecords: args.listSheetRecords,
132
+ requireSheetId: args.requireSheetId,
133
+ restorePublicFormula: args.restorePublicFormula,
134
+ cellSnapshotToRawContent: args.cellSnapshotToRawContent,
135
+ });
136
+ const sheetOperations = createWorkPaperSheetOperations({
137
+ assertNotDisposed: args.assertNotDisposed,
138
+ materializePendingLazyChanges: () => args.engineEvents.materializePendingLazyChanges(),
139
+ nextSheetName: args.nextSheetName,
140
+ isItPossibleToAddSheet: args.isItPossibleToAddSheet,
141
+ ensureVisibilityCache: args.ensureVisibilityCache,
142
+ ensureNamedExpressionValueCache: args.ensureNamedExpressionValueCache,
143
+ drainEngineEvents: () => {
144
+ void args.engineEvents.drain();
145
+ },
146
+ createSheet: (name) => {
147
+ args.getEngine().createSheet(name);
148
+ },
149
+ clearSheetRecordsCache: args.clearSheetRecordsCache,
150
+ requireSheetId: args.requireSheetId,
151
+ cacheSheetDimensions: args.cacheSheetDimensions,
152
+ shouldSuppressEvents: args.shouldSuppressEvents,
153
+ queueSheetAddedEvent: args.queueSheetAddedEvent,
154
+ emitSheetAdded: (payload) => {
155
+ args.emitter.emitDetailed({ eventName: 'sheetAdded', payload });
156
+ },
157
+ computeChangesAfterMutation: args.computeChangesAfterMutation,
158
+ hasValuesUpdatedListeners: () => args.emitter.hasListeners('valuesUpdated'),
159
+ emitValuesUpdated: (changes) => {
160
+ args.emitter.emitDetailed({ eventName: 'valuesUpdated', payload: { changes } });
161
+ },
162
+ isItPossibleToRemoveSheet: args.isItPossibleToRemoveSheet,
163
+ sheetName: args.sheetName,
164
+ captureChanges: args.captureChanges,
165
+ deleteSheet: (name) => {
166
+ args.getEngine().deleteSheet(name);
167
+ },
168
+ invalidateSheetDimensions: (sheetId) => args.getSheetDimensionCache().invalidate(sheetId),
169
+ isItPossibleToClearSheet: args.isItPossibleToClearSheet,
170
+ getSheetDimensions: args.getSheetDimensions,
171
+ clearRange: (range) => {
172
+ args.getEngine().clearRange(range);
173
+ },
174
+ isItPossibleToReplaceSheetContent: args.isItPossibleToReplaceSheetContent,
175
+ replaceSheetContentInternal: args.replaceSheetContentInternal,
176
+ sheetRecord: args.sheetRecord,
177
+ getSheetByName: (name) => args.getEngine().workbook.getSheet(name),
178
+ tryRenameSheetWithoutVisibilitySnapshots: args.tryRenameSheetWithoutVisibilitySnapshots,
179
+ renameSheet: (oldName, newName) => {
180
+ args.getEngine().renameSheet(oldName, newName);
181
+ },
182
+ });
183
+ const clipboardOperations = createWorkPaperClipboardOperations({
184
+ assertReadable: args.assertReadable,
185
+ assertNotDisposed: args.assertNotDisposed,
186
+ getClipboard: args.getClipboard,
187
+ setClipboard: args.setClipboard,
188
+ getRangeSerialized: args.getRangeSerialized,
189
+ getRangeValues: args.getRangeValues,
190
+ batch: args.batch,
191
+ setCellContents: args.setCellContents,
192
+ captureChanges: (mutate) => args.captureChanges(undefined, mutate),
193
+ applySerializedMatrix: args.applySerializedMatrix,
194
+ });
195
+ const capabilityOperations = createWorkPaperCapabilityOperations({
196
+ assertNotDisposed: args.assertNotDisposed,
197
+ getCapabilityContext: args.getCapabilityContext,
198
+ doesSheetIdExist: args.doesSheetIdExist,
199
+ validateNamedExpression: args.validateNamedExpression,
200
+ hasNamedExpression: args.hasNamedExpression,
201
+ });
202
+ const namedExpressionOperations = createWorkPaperNamedExpressionOperations({
203
+ assertReadable: args.assertReadable,
204
+ getNamedExpression: args.getNamedExpression,
205
+ getNamedExpressionValues: args.getNamedExpressionValues,
206
+ evaluateNamedExpression: args.evaluateNamedExpression,
207
+ isItPossibleToAddNamedExpression: (expressionName, expression, scope) => capabilityOperations.isItPossibleToAddNamedExpression(expressionName, expression, scope),
208
+ isItPossibleToRemoveNamedExpression: (expressionName, scope) => capabilityOperations.isItPossibleToRemoveNamedExpression(expressionName, scope),
209
+ validateNamedExpression: args.validateNamedExpression,
210
+ tryCaptureNamedExpressionChangeWithoutSnapshots: (existing, expressionName, expression, scope, options) => tryCaptureWorkPaperNamedExpressionChangeWithoutSnapshots(namedExpressionFastPathRuntime, {
211
+ existing,
212
+ expressionName,
213
+ expression,
214
+ ...(scope !== undefined ? { scope } : {}),
215
+ ...(options !== undefined ? { options } : {}),
216
+ }),
217
+ captureChanges: args.captureChanges,
218
+ upsertNamedExpressionInternal: args.upsertNamedExpressionInternal,
219
+ deleteNamedExpressionRecord: args.deleteNamedExpressionRecord,
220
+ deleteDefinedName: args.deleteDefinedName,
221
+ });
222
+ const axisEditRuntime = {
223
+ canSwapAxisIndexes: (axis, sheetId, mappings) => isWorkPaperAxisSwapPossible(args.getCapabilityContext(), axis, sheetId, mappings),
224
+ canSetAxisOrder: (axis, sheetId, order) => isWorkPaperAxisOrderPossible(args.getCapabilityContext(), axis, sheetId, order),
225
+ canEditAxisIntervals: args.canEditAxisIntervals,
226
+ canMoveAxis: (axis, sheetId, start, count, target) => isWorkPaperMoveAxisPossible(args.getCapabilityContext(), axis, sheetId, start, count, target),
227
+ canUseTrackedStructuralFastPath: args.canUseTrackedStructuralFastPath,
228
+ batch: args.batch,
229
+ batchStructuralChanges: args.batchStructuralChanges,
230
+ captureAxisChange: args.captureAxisChange,
231
+ captureTrackedStructuralChanges: args.captureTrackedChangesWithoutVisibilityCache,
232
+ moveAxis: (axis, sheetId, start, count, target) => moveWorkPaperAxis(axisEditRuntime, axis, sheetId, start, count, target),
233
+ applyAxisIntervalEdit: args.applyAxisIntervalEdit,
234
+ applyAxisMove: args.applyAxisMove,
235
+ };
236
+ return {
237
+ cellMutationApplyRuntime,
238
+ sheetRenameFastPathRuntime,
239
+ namedExpressionFastPathRuntime,
240
+ existingNumericFastPathRuntime,
241
+ setCellContentsRuntime,
242
+ readOperations,
243
+ sheetOperations,
244
+ clipboardOperations,
245
+ capabilityOperations,
246
+ namedExpressionOperations,
247
+ axisEditRuntime,
248
+ };
249
+ }
250
+ export const workPaperRuntimeAdapterCommands = {
251
+ editWorkPaperAxisIntervals,
252
+ setWorkPaperAxisOrder,
253
+ setWorkPaperCellContents,
254
+ swapWorkPaperAxisIndexes,
255
+ };
256
+ //# sourceMappingURL=work-paper-runtime-adapters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"work-paper-runtime-adapters.js","sourceRoot":"","sources":["../src/work-paper-runtime-adapters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { type CellValue, type ErrorCode, type LiteralInput } from '@bilig/protocol';
2
+ import { type EvaluationResult, type FormulaNode } from '@bilig/formula';
3
+ import type { RawCellContent, WorkPaperAddressLike, WorkPaperCellRange, WorkPaperSheet } from './work-paper-types.js';
4
+ export declare function emptyValue(): CellValue;
5
+ export declare function errorValue(code: ErrorCode): CellValue;
6
+ export declare function scalarValueFromLiteral(value: LiteralInput): CellValue;
7
+ export declare function scalarFromResult(result: EvaluationResult | CellValue): CellValue;
8
+ export declare function tryReadSimpleScalarFormulaBody(raw: RawCellContent): string | undefined;
9
+ export declare function tryEvaluateSimpleScalarFormulaBody(body: string): CellValue | undefined;
10
+ export declare function tryEvaluateSimpleNamedExpression(raw: RawCellContent): CellValue | undefined;
11
+ export declare function valuesEqual(left: CellValue, right: CellValue): boolean;
12
+ export declare function matrixValuesEqual(left: CellValue | CellValue[][] | undefined, right: CellValue | CellValue[][] | undefined): boolean;
13
+ export declare function normalizeName(name: string): string;
14
+ export declare function makeNamedExpressionKey(name: string, scope?: number): string;
15
+ export declare function makeInternalScopedName(scope: number, name: string): string;
16
+ export declare function isFormulaContent(content: RawCellContent): content is string;
17
+ export declare function isWorkPaperSheetMatrix(value: RawCellContent | WorkPaperSheet): value is WorkPaperSheet;
18
+ export declare function matrixContainsFormulaContent(content: WorkPaperSheet): boolean;
19
+ export declare function isDeferredBatchLiteralContent(content: RawCellContent): boolean;
20
+ export declare function stripLeadingEquals(formula: string): string;
21
+ export declare function assertRowAndColumn(value: number, label: string): void;
22
+ export declare function assertRange(range: WorkPaperCellRange): void;
23
+ export declare function isCellRange(value: WorkPaperAddressLike): value is WorkPaperCellRange;
24
+ export declare function cloneCellValue(value: CellValue): CellValue;
25
+ export declare function transformFormulaNode(node: FormulaNode, transform: (current: FormulaNode) => FormulaNode): FormulaNode;
26
+ export declare function collectFormulaNameRefs(node: FormulaNode, output: Set<string>): void;
27
+ export declare function formulaHasRelativeReferences(node: FormulaNode): boolean;