@fluid-experimental/tree 0.58.2001 → 0.59.2000-61729
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.
- package/README.md +159 -46
- package/dist/ChangeCompression.d.ts +39 -0
- package/dist/ChangeCompression.d.ts.map +1 -0
- package/dist/ChangeCompression.js +117 -0
- package/dist/ChangeCompression.js.map +1 -0
- package/{lib/default-edits/PersistedTypes.d.ts → dist/ChangeTypes.d.ts} +58 -105
- package/dist/ChangeTypes.d.ts.map +1 -0
- package/dist/{default-edits/PersistedTypes.js → ChangeTypes.js} +21 -76
- package/dist/ChangeTypes.js.map +1 -0
- package/dist/Checkout.d.ts +39 -27
- package/dist/Checkout.d.ts.map +1 -1
- package/dist/Checkout.js +61 -32
- package/dist/Checkout.js.map +1 -1
- package/dist/Common.d.ts +175 -38
- package/dist/Common.d.ts.map +1 -1
- package/dist/Common.js +240 -103
- package/dist/Common.js.map +1 -1
- package/dist/EagerCheckout.d.ts +24 -0
- package/dist/EagerCheckout.d.ts.map +1 -0
- package/dist/{BasicCheckout.js → EagerCheckout.js} +9 -6
- package/dist/EagerCheckout.js.map +1 -0
- package/dist/EditLog.d.ts +77 -63
- package/dist/EditLog.d.ts.map +1 -1
- package/dist/EditLog.js +85 -48
- package/dist/EditLog.js.map +1 -1
- package/dist/EditUtilities.d.ts +168 -0
- package/dist/EditUtilities.d.ts.map +1 -0
- package/dist/EditUtilities.js +373 -0
- package/dist/EditUtilities.js.map +1 -0
- package/dist/EventTypes.d.ts +73 -0
- package/dist/EventTypes.d.ts.map +1 -0
- package/dist/EventTypes.js +78 -0
- package/dist/EventTypes.js.map +1 -0
- package/dist/Forest.d.ts +29 -7
- package/dist/Forest.d.ts.map +1 -1
- package/dist/Forest.js +60 -36
- package/dist/Forest.js.map +1 -1
- package/dist/HistoryEditFactory.d.ts +20 -0
- package/dist/HistoryEditFactory.d.ts.map +1 -0
- package/dist/HistoryEditFactory.js +226 -0
- package/dist/HistoryEditFactory.js.map +1 -0
- package/dist/IdConversion.d.ts +12 -0
- package/dist/IdConversion.d.ts.map +1 -0
- package/dist/IdConversion.js +98 -0
- package/dist/IdConversion.js.map +1 -0
- package/dist/Identifiers.d.ts +89 -2
- package/dist/Identifiers.d.ts.map +1 -1
- package/dist/Identifiers.js +10 -0
- package/dist/Identifiers.js.map +1 -1
- package/dist/InitialTree.d.ts +2 -2
- package/dist/InitialTree.d.ts.map +1 -1
- package/dist/InitialTree.js +2 -1
- package/dist/InitialTree.js.map +1 -1
- package/dist/LazyCheckout.d.ts +28 -0
- package/dist/LazyCheckout.d.ts.map +1 -0
- package/dist/LazyCheckout.js +44 -0
- package/dist/LazyCheckout.js.map +1 -0
- package/dist/LogViewer.d.ts +129 -85
- package/dist/LogViewer.d.ts.map +1 -1
- package/dist/LogViewer.js +111 -85
- package/dist/LogViewer.js.map +1 -1
- package/dist/MergeHealth.d.ts +221 -0
- package/dist/MergeHealth.d.ts.map +1 -0
- package/dist/MergeHealth.js +263 -0
- package/dist/MergeHealth.js.map +1 -0
- package/dist/NodeIdUtilities.d.ts +105 -0
- package/dist/NodeIdUtilities.d.ts.map +1 -0
- package/dist/NodeIdUtilities.js +60 -0
- package/dist/NodeIdUtilities.js.map +1 -0
- package/dist/PayloadUtilities.d.ts +42 -0
- package/dist/PayloadUtilities.d.ts.map +1 -0
- package/dist/PayloadUtilities.js +114 -0
- package/dist/PayloadUtilities.js.map +1 -0
- package/dist/ReconciliationPath.d.ts +18 -13
- package/dist/ReconciliationPath.d.ts.map +1 -1
- package/dist/ReconciliationPath.js.map +1 -1
- package/dist/RevisionValueCache.d.ts +11 -2
- package/dist/RevisionValueCache.d.ts.map +1 -1
- package/dist/RevisionValueCache.js +2 -3
- package/dist/RevisionValueCache.js.map +1 -1
- package/dist/RevisionView.d.ts +83 -0
- package/dist/RevisionView.d.ts.map +1 -0
- package/dist/RevisionView.js +182 -0
- package/dist/RevisionView.js.map +1 -0
- package/dist/SerializationUtilities.d.ts +36 -0
- package/dist/SerializationUtilities.d.ts.map +1 -0
- package/dist/SerializationUtilities.js +102 -0
- package/dist/SerializationUtilities.js.map +1 -0
- package/dist/SharedTree.d.ts +439 -0
- package/dist/SharedTree.d.ts.map +1 -0
- package/dist/SharedTree.js +1109 -0
- package/dist/SharedTree.js.map +1 -0
- package/dist/SharedTreeEncoder.d.ts +102 -0
- package/dist/SharedTreeEncoder.d.ts.map +1 -0
- package/dist/SharedTreeEncoder.js +313 -0
- package/dist/SharedTreeEncoder.js.map +1 -0
- package/dist/StringInterner.d.ts +46 -0
- package/dist/StringInterner.d.ts.map +1 -0
- package/dist/StringInterner.js +61 -0
- package/dist/StringInterner.js.map +1 -0
- package/dist/Summary.d.ts +40 -0
- package/dist/Summary.d.ts.map +1 -0
- package/dist/Summary.js +23 -0
- package/dist/Summary.js.map +1 -0
- package/dist/SummaryBackCompatibility.d.ts +22 -22
- package/dist/SummaryBackCompatibility.d.ts.map +1 -1
- package/dist/SummaryBackCompatibility.js +30 -33
- package/dist/SummaryBackCompatibility.js.map +1 -1
- package/dist/SummaryTestUtilities.d.ts +31 -0
- package/dist/SummaryTestUtilities.d.ts.map +1 -0
- package/dist/SummaryTestUtilities.js +37 -0
- package/dist/SummaryTestUtilities.js.map +1 -0
- package/dist/Transaction.d.ts +71 -0
- package/dist/Transaction.d.ts.map +1 -0
- package/dist/Transaction.js +92 -0
- package/dist/Transaction.js.map +1 -0
- package/dist/TransactionInternal.d.ts +540 -0
- package/dist/TransactionInternal.d.ts.map +1 -0
- package/dist/TransactionInternal.js +626 -0
- package/dist/TransactionInternal.js.map +1 -0
- package/dist/TreeCompressor.d.ts +36 -0
- package/dist/TreeCompressor.d.ts.map +1 -0
- package/dist/TreeCompressor.js +137 -0
- package/dist/TreeCompressor.js.map +1 -0
- package/dist/TreeNodeHandle.d.ts +12 -18
- package/dist/TreeNodeHandle.d.ts.map +1 -1
- package/dist/TreeNodeHandle.js +13 -23
- package/dist/TreeNodeHandle.js.map +1 -1
- package/dist/TreeView.d.ts +166 -0
- package/dist/TreeView.d.ts.map +1 -0
- package/dist/TreeView.js +218 -0
- package/dist/TreeView.js.map +1 -0
- package/dist/TreeViewUtilities.d.ts +21 -0
- package/dist/TreeViewUtilities.d.ts.map +1 -0
- package/dist/TreeViewUtilities.js +77 -0
- package/dist/TreeViewUtilities.js.map +1 -0
- package/dist/{default-edits/UndoRedoHandler.d.ts → UndoRedoHandler.d.ts} +2 -2
- package/dist/UndoRedoHandler.d.ts.map +1 -0
- package/dist/{default-edits/UndoRedoHandler.js → UndoRedoHandler.js} +5 -9
- package/dist/UndoRedoHandler.js.map +1 -0
- package/dist/id-compressor/AppendOnlySortedMap.d.ts +127 -0
- package/dist/id-compressor/AppendOnlySortedMap.d.ts.map +1 -0
- package/dist/id-compressor/AppendOnlySortedMap.js +283 -0
- package/dist/id-compressor/AppendOnlySortedMap.js.map +1 -0
- package/dist/id-compressor/IdCompressor.d.ts +389 -0
- package/dist/id-compressor/IdCompressor.d.ts.map +1 -0
- package/dist/id-compressor/IdCompressor.js +1353 -0
- package/dist/id-compressor/IdCompressor.js.map +1 -0
- package/dist/id-compressor/IdRange.d.ts +11 -0
- package/dist/id-compressor/IdRange.d.ts.map +1 -0
- package/dist/id-compressor/IdRange.js +29 -0
- package/dist/id-compressor/IdRange.js.map +1 -0
- package/dist/id-compressor/NumericUuid.d.ts +63 -0
- package/dist/id-compressor/NumericUuid.d.ts.map +1 -0
- package/dist/id-compressor/NumericUuid.js +377 -0
- package/dist/id-compressor/NumericUuid.js.map +1 -0
- package/dist/id-compressor/index.d.ts +12 -0
- package/dist/id-compressor/index.d.ts.map +1 -0
- package/dist/id-compressor/index.js +26 -0
- package/dist/id-compressor/index.js.map +1 -0
- package/dist/id-compressor/persisted-types/0.0.1.d.ts +156 -0
- package/dist/id-compressor/persisted-types/0.0.1.d.ts.map +1 -0
- package/dist/id-compressor/persisted-types/0.0.1.js +7 -0
- package/dist/id-compressor/persisted-types/0.0.1.js.map +1 -0
- package/dist/id-compressor/persisted-types/index.d.ts +6 -0
- package/dist/id-compressor/persisted-types/index.d.ts.map +1 -0
- package/dist/id-compressor/persisted-types/index.js +18 -0
- package/dist/id-compressor/persisted-types/index.js.map +1 -0
- package/dist/index.d.ts +29 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +50 -35
- package/dist/index.js.map +1 -1
- package/dist/persisted-types/0.0.2.d.ts +385 -0
- package/dist/persisted-types/0.0.2.d.ts.map +1 -0
- package/dist/persisted-types/0.0.2.js +113 -0
- package/dist/persisted-types/0.0.2.js.map +1 -0
- package/dist/persisted-types/0.1.1.d.ts +314 -0
- package/dist/persisted-types/0.1.1.d.ts.map +1 -0
- package/dist/persisted-types/0.1.1.js +153 -0
- package/dist/persisted-types/0.1.1.js.map +1 -0
- package/dist/persisted-types/index.d.ts +7 -0
- package/dist/persisted-types/index.d.ts.map +1 -0
- package/dist/persisted-types/index.js +20 -0
- package/dist/persisted-types/index.js.map +1 -0
- package/docs/0-1-1-Compression.md +228 -0
- package/docs/Breaking-Change-Migration.md +52 -0
- package/docs/Compression.md +2 -2
- package/docs/Telemetry.md +43 -0
- package/docs/Write-Format.md +19 -0
- package/lib/ChangeCompression.d.ts +39 -0
- package/lib/ChangeCompression.d.ts.map +1 -0
- package/lib/ChangeCompression.js +111 -0
- package/lib/ChangeCompression.js.map +1 -0
- package/{dist/default-edits/PersistedTypes.d.ts → lib/ChangeTypes.d.ts} +58 -105
- package/lib/ChangeTypes.d.ts.map +1 -0
- package/lib/{default-edits/PersistedTypes.js → ChangeTypes.js} +15 -68
- package/lib/ChangeTypes.js.map +1 -0
- package/lib/Checkout.d.ts +39 -27
- package/lib/Checkout.d.ts.map +1 -1
- package/lib/Checkout.js +53 -24
- package/lib/Checkout.js.map +1 -1
- package/lib/Common.d.ts +175 -38
- package/lib/Common.d.ts.map +1 -1
- package/lib/Common.js +226 -101
- package/lib/Common.js.map +1 -1
- package/lib/EagerCheckout.d.ts +24 -0
- package/lib/EagerCheckout.d.ts.map +1 -0
- package/lib/{BasicCheckout.js → EagerCheckout.js} +7 -4
- package/lib/EagerCheckout.js.map +1 -0
- package/lib/EditLog.d.ts +77 -63
- package/lib/EditLog.d.ts.map +1 -1
- package/lib/EditLog.js +83 -47
- package/lib/EditLog.js.map +1 -1
- package/lib/EditUtilities.d.ts +168 -0
- package/lib/EditUtilities.d.ts.map +1 -0
- package/lib/EditUtilities.js +353 -0
- package/lib/EditUtilities.js.map +1 -0
- package/lib/EventTypes.d.ts +73 -0
- package/lib/EventTypes.d.ts.map +1 -0
- package/lib/EventTypes.js +75 -0
- package/lib/EventTypes.js.map +1 -0
- package/lib/Forest.d.ts +29 -7
- package/lib/Forest.d.ts.map +1 -1
- package/lib/Forest.js +58 -35
- package/lib/Forest.js.map +1 -1
- package/lib/HistoryEditFactory.d.ts +20 -0
- package/lib/HistoryEditFactory.d.ts.map +1 -0
- package/lib/{default-edits/HistoryEditFactory.js → HistoryEditFactory.js} +78 -39
- package/lib/HistoryEditFactory.js.map +1 -0
- package/lib/IdConversion.d.ts +12 -0
- package/lib/IdConversion.d.ts.map +1 -0
- package/lib/IdConversion.js +91 -0
- package/lib/IdConversion.js.map +1 -0
- package/lib/Identifiers.d.ts +89 -2
- package/lib/Identifiers.d.ts.map +1 -1
- package/lib/Identifiers.js +8 -1
- package/lib/Identifiers.js.map +1 -1
- package/lib/InitialTree.d.ts +2 -2
- package/lib/InitialTree.d.ts.map +1 -1
- package/lib/InitialTree.js +2 -1
- package/lib/InitialTree.js.map +1 -1
- package/lib/LazyCheckout.d.ts +28 -0
- package/lib/LazyCheckout.d.ts.map +1 -0
- package/lib/LazyCheckout.js +40 -0
- package/lib/LazyCheckout.js.map +1 -0
- package/lib/LogViewer.d.ts +129 -85
- package/lib/LogViewer.d.ts.map +1 -1
- package/lib/LogViewer.js +103 -77
- package/lib/LogViewer.js.map +1 -1
- package/lib/MergeHealth.d.ts +221 -0
- package/lib/MergeHealth.d.ts.map +1 -0
- package/lib/MergeHealth.js +258 -0
- package/lib/MergeHealth.js.map +1 -0
- package/lib/NodeIdUtilities.d.ts +105 -0
- package/lib/NodeIdUtilities.d.ts.map +1 -0
- package/lib/NodeIdUtilities.js +53 -0
- package/lib/NodeIdUtilities.js.map +1 -0
- package/lib/PayloadUtilities.d.ts +42 -0
- package/lib/PayloadUtilities.d.ts.map +1 -0
- package/lib/PayloadUtilities.js +110 -0
- package/lib/PayloadUtilities.js.map +1 -0
- package/lib/ReconciliationPath.d.ts +18 -13
- package/lib/ReconciliationPath.d.ts.map +1 -1
- package/lib/ReconciliationPath.js.map +1 -1
- package/lib/RevisionValueCache.d.ts +11 -2
- package/lib/RevisionValueCache.d.ts.map +1 -1
- package/lib/RevisionValueCache.js +2 -3
- package/lib/RevisionValueCache.js.map +1 -1
- package/lib/RevisionView.d.ts +83 -0
- package/lib/RevisionView.d.ts.map +1 -0
- package/lib/RevisionView.js +175 -0
- package/lib/RevisionView.js.map +1 -0
- package/lib/SerializationUtilities.d.ts +36 -0
- package/lib/SerializationUtilities.d.ts.map +1 -0
- package/lib/SerializationUtilities.js +95 -0
- package/lib/SerializationUtilities.js.map +1 -0
- package/lib/SharedTree.d.ts +439 -0
- package/lib/SharedTree.d.ts.map +1 -0
- package/lib/SharedTree.js +1104 -0
- package/lib/SharedTree.js.map +1 -0
- package/lib/SharedTreeEncoder.d.ts +102 -0
- package/lib/SharedTreeEncoder.d.ts.map +1 -0
- package/lib/SharedTreeEncoder.js +308 -0
- package/lib/SharedTreeEncoder.js.map +1 -0
- package/lib/StringInterner.d.ts +46 -0
- package/lib/StringInterner.d.ts.map +1 -0
- package/lib/StringInterner.js +57 -0
- package/lib/StringInterner.js.map +1 -0
- package/lib/Summary.d.ts +40 -0
- package/lib/Summary.d.ts.map +1 -0
- package/lib/Summary.js +19 -0
- package/lib/Summary.js.map +1 -0
- package/lib/SummaryBackCompatibility.d.ts +22 -22
- package/lib/SummaryBackCompatibility.d.ts.map +1 -1
- package/lib/SummaryBackCompatibility.js +29 -32
- package/lib/SummaryBackCompatibility.js.map +1 -1
- package/lib/SummaryTestUtilities.d.ts +31 -0
- package/lib/SummaryTestUtilities.d.ts.map +1 -0
- package/lib/SummaryTestUtilities.js +32 -0
- package/lib/SummaryTestUtilities.js.map +1 -0
- package/lib/Transaction.d.ts +71 -0
- package/lib/Transaction.d.ts.map +1 -0
- package/lib/Transaction.js +88 -0
- package/lib/Transaction.js.map +1 -0
- package/lib/TransactionInternal.d.ts +540 -0
- package/lib/TransactionInternal.d.ts.map +1 -0
- package/lib/TransactionInternal.js +622 -0
- package/lib/TransactionInternal.js.map +1 -0
- package/lib/TreeCompressor.d.ts +36 -0
- package/lib/TreeCompressor.d.ts.map +1 -0
- package/lib/TreeCompressor.js +133 -0
- package/lib/TreeCompressor.js.map +1 -0
- package/lib/TreeNodeHandle.d.ts +12 -18
- package/lib/TreeNodeHandle.d.ts.map +1 -1
- package/lib/TreeNodeHandle.js +14 -24
- package/lib/TreeNodeHandle.js.map +1 -1
- package/lib/TreeView.d.ts +166 -0
- package/lib/TreeView.d.ts.map +1 -0
- package/lib/TreeView.js +214 -0
- package/lib/TreeView.js.map +1 -0
- package/lib/TreeViewUtilities.d.ts +21 -0
- package/lib/TreeViewUtilities.d.ts.map +1 -0
- package/lib/TreeViewUtilities.js +71 -0
- package/lib/TreeViewUtilities.js.map +1 -0
- package/lib/{default-edits/UndoRedoHandler.d.ts → UndoRedoHandler.d.ts} +2 -2
- package/lib/UndoRedoHandler.d.ts.map +1 -0
- package/lib/{default-edits/UndoRedoHandler.js → UndoRedoHandler.js} +3 -7
- package/lib/UndoRedoHandler.js.map +1 -0
- package/lib/id-compressor/AppendOnlySortedMap.d.ts +127 -0
- package/lib/id-compressor/AppendOnlySortedMap.d.ts.map +1 -0
- package/lib/id-compressor/AppendOnlySortedMap.js +278 -0
- package/lib/id-compressor/AppendOnlySortedMap.js.map +1 -0
- package/lib/id-compressor/IdCompressor.d.ts +389 -0
- package/lib/id-compressor/IdCompressor.d.ts.map +1 -0
- package/lib/id-compressor/IdCompressor.js +1343 -0
- package/lib/id-compressor/IdCompressor.js.map +1 -0
- package/lib/id-compressor/IdRange.d.ts +11 -0
- package/lib/id-compressor/IdRange.d.ts.map +1 -0
- package/lib/id-compressor/IdRange.js +25 -0
- package/lib/id-compressor/IdRange.js.map +1 -0
- package/lib/id-compressor/NumericUuid.d.ts +63 -0
- package/lib/id-compressor/NumericUuid.d.ts.map +1 -0
- package/lib/id-compressor/NumericUuid.js +365 -0
- package/lib/id-compressor/NumericUuid.js.map +1 -0
- package/lib/id-compressor/index.d.ts +12 -0
- package/lib/id-compressor/index.d.ts.map +1 -0
- package/lib/id-compressor/index.js +12 -0
- package/lib/id-compressor/index.js.map +1 -0
- package/lib/id-compressor/persisted-types/0.0.1.d.ts +156 -0
- package/lib/id-compressor/persisted-types/0.0.1.d.ts.map +1 -0
- package/lib/{test/Snapshot.tests.d.ts → id-compressor/persisted-types/0.0.1.js} +1 -1
- package/lib/id-compressor/persisted-types/0.0.1.js.map +1 -0
- package/lib/id-compressor/persisted-types/index.d.ts +6 -0
- package/lib/id-compressor/persisted-types/index.d.ts.map +1 -0
- package/lib/id-compressor/persisted-types/index.js +6 -0
- package/lib/id-compressor/persisted-types/index.js.map +1 -0
- package/lib/index.d.ts +29 -9
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +23 -6
- package/lib/index.js.map +1 -1
- package/lib/persisted-types/0.0.2.d.ts +385 -0
- package/lib/persisted-types/0.0.2.d.ts.map +1 -0
- package/lib/persisted-types/0.0.2.js +110 -0
- package/lib/persisted-types/0.0.2.js.map +1 -0
- package/lib/persisted-types/0.1.1.d.ts +314 -0
- package/lib/persisted-types/0.1.1.d.ts.map +1 -0
- package/lib/persisted-types/0.1.1.js +150 -0
- package/lib/persisted-types/0.1.1.js.map +1 -0
- package/lib/persisted-types/index.d.ts +7 -0
- package/lib/persisted-types/index.d.ts.map +1 -0
- package/lib/persisted-types/index.js +8 -0
- package/lib/persisted-types/index.js.map +1 -0
- package/lib/test/AppendOnlySortedMap.tests.d.ts +6 -0
- package/lib/test/AppendOnlySortedMap.tests.d.ts.map +1 -0
- package/lib/test/AppendOnlySortedMap.tests.js +169 -0
- package/lib/test/AppendOnlySortedMap.tests.js.map +1 -0
- package/lib/test/{SnapshotUtilities.tests.d.ts → ChangeCompression.tests.d.ts} +1 -1
- package/lib/test/ChangeCompression.tests.d.ts.map +1 -0
- package/lib/test/ChangeCompression.tests.js +145 -0
- package/lib/test/ChangeCompression.tests.js.map +1 -0
- package/lib/test/Checkout.tests.d.ts +2 -3
- package/lib/test/Checkout.tests.d.ts.map +1 -1
- package/lib/test/Checkout.tests.js +126 -69
- package/lib/test/Checkout.tests.js.map +1 -1
- package/lib/test/Common.tests.js +60 -2
- package/lib/test/Common.tests.js.map +1 -1
- package/lib/test/{BasicCheckout.tests.d.ts → EagerCheckout.tests.d.ts} +1 -1
- package/lib/test/EagerCheckout.tests.d.ts.map +1 -0
- package/lib/test/EagerCheckout.tests.js +20 -0
- package/lib/test/EagerCheckout.tests.js.map +1 -0
- package/lib/test/Edit.tests.js +22 -14
- package/lib/test/Edit.tests.js.map +1 -1
- package/lib/test/{Anchors.glassBox.tests.d.ts → EditLog.perf.tests.d.ts} +1 -1
- package/lib/test/EditLog.perf.tests.d.ts.map +1 -0
- package/lib/test/EditLog.perf.tests.js +30 -0
- package/lib/test/EditLog.perf.tests.js.map +1 -0
- package/lib/test/EditLog.tests.js +10 -6
- package/lib/test/EditLog.tests.js.map +1 -1
- package/lib/test/EditUtilities.tests.d.ts +6 -0
- package/lib/test/EditUtilities.tests.d.ts.map +1 -0
- package/lib/test/EditUtilities.tests.js +503 -0
- package/lib/test/EditUtilities.tests.js.map +1 -0
- package/lib/test/Forest.perf.tests.d.ts +6 -0
- package/lib/test/Forest.perf.tests.d.ts.map +1 -0
- package/lib/test/Forest.perf.tests.js +133 -0
- package/lib/test/Forest.perf.tests.js.map +1 -0
- package/lib/test/Forest.tests.js +54 -27
- package/lib/test/Forest.tests.js.map +1 -1
- package/lib/test/GenericTransaction.tests.js +12 -3
- package/lib/test/GenericTransaction.tests.js.map +1 -1
- package/lib/test/HistoryEditFactory.tests.d.ts +6 -0
- package/lib/test/HistoryEditFactory.tests.d.ts.map +1 -0
- package/lib/test/HistoryEditFactory.tests.js +90 -0
- package/lib/test/HistoryEditFactory.tests.js.map +1 -0
- package/lib/test/IdCompressor.perf.tests.d.ts +6 -0
- package/lib/test/IdCompressor.perf.tests.d.ts.map +1 -0
- package/lib/test/IdCompressor.perf.tests.js +304 -0
- package/lib/test/IdCompressor.perf.tests.js.map +1 -0
- package/lib/test/IdCompressor.tests.d.ts +6 -0
- package/lib/test/IdCompressor.tests.d.ts.map +1 -0
- package/lib/test/IdCompressor.tests.js +1075 -0
- package/lib/test/IdCompressor.tests.js.map +1 -0
- package/lib/test/IdConversion.tests.d.ts +6 -0
- package/lib/test/IdConversion.tests.d.ts.map +1 -0
- package/lib/test/IdConversion.tests.js +36 -0
- package/lib/test/IdConversion.tests.js.map +1 -0
- package/lib/test/LazyCheckout.tests.d.ts +6 -0
- package/lib/test/LazyCheckout.tests.d.ts.map +1 -0
- package/lib/test/LazyCheckout.tests.js +22 -0
- package/lib/test/LazyCheckout.tests.js.map +1 -0
- package/lib/test/LogViewer.tests.js +276 -191
- package/lib/test/LogViewer.tests.js.map +1 -1
- package/lib/test/{SharedTreeWithAnchors.tests.d.ts → MergeHealthTelemetryHeartbeat.tests.d.ts} +1 -1
- package/lib/test/MergeHealthTelemetryHeartbeat.tests.d.ts.map +1 -0
- package/lib/test/MergeHealthTelemetryHeartbeat.tests.js +342 -0
- package/lib/test/MergeHealthTelemetryHeartbeat.tests.js.map +1 -0
- package/lib/test/NumericUuid.perf.tests.d.ts +6 -0
- package/lib/test/NumericUuid.perf.tests.d.ts.map +1 -0
- package/lib/test/NumericUuid.perf.tests.js +68 -0
- package/lib/test/NumericUuid.perf.tests.js.map +1 -0
- package/lib/test/NumericUuid.tests.d.ts +6 -0
- package/lib/test/NumericUuid.tests.d.ts.map +1 -0
- package/lib/test/NumericUuid.tests.js +191 -0
- package/lib/test/NumericUuid.tests.js.map +1 -0
- package/lib/test/RevisionView.tests.d.ts +6 -0
- package/lib/test/RevisionView.tests.d.ts.map +1 -0
- package/lib/test/RevisionView.tests.js +133 -0
- package/lib/test/RevisionView.tests.js.map +1 -0
- package/lib/test/SharedTree.perf.tests.d.ts +6 -0
- package/lib/test/SharedTree.perf.tests.d.ts.map +1 -0
- package/lib/test/SharedTree.perf.tests.js +39 -0
- package/lib/test/SharedTree.perf.tests.js.map +1 -0
- package/lib/test/SharedTree.tests.js +15 -3
- package/lib/test/SharedTree.tests.js.map +1 -1
- package/lib/test/StringInterner.tests.d.ts +6 -0
- package/lib/test/StringInterner.tests.d.ts.map +1 -0
- package/lib/test/StringInterner.tests.js +71 -0
- package/lib/test/StringInterner.tests.js.map +1 -0
- package/lib/test/Summary.tests.d.ts +8 -0
- package/lib/test/Summary.tests.d.ts.map +1 -0
- package/lib/test/Summary.tests.js +407 -0
- package/lib/test/Summary.tests.js.map +1 -0
- package/lib/test/Transaction.tests.js +109 -329
- package/lib/test/Transaction.tests.js.map +1 -1
- package/lib/test/TransactionInternal.tests.d.ts +6 -0
- package/lib/test/TransactionInternal.tests.d.ts.map +1 -0
- package/lib/test/TransactionInternal.tests.js +568 -0
- package/lib/test/TransactionInternal.tests.js.map +1 -0
- package/lib/test/TreeCompression.tests.d.ts +6 -0
- package/lib/test/TreeCompression.tests.d.ts.map +1 -0
- package/lib/test/TreeCompression.tests.js +292 -0
- package/lib/test/TreeCompression.tests.js.map +1 -0
- package/lib/test/TreeView.tests.d.ts +6 -0
- package/lib/test/TreeView.tests.d.ts.map +1 -0
- package/lib/test/TreeView.tests.js +176 -0
- package/lib/test/TreeView.tests.js.map +1 -0
- package/lib/test/UndoRedoHandler.tests.js +2 -2
- package/lib/test/UndoRedoHandler.tests.js.map +1 -1
- package/lib/test/Virtualization.tests.js +146 -62
- package/lib/test/Virtualization.tests.js.map +1 -1
- package/lib/test/fuzz/Generators.d.ts +19 -0
- package/lib/test/fuzz/Generators.d.ts.map +1 -0
- package/lib/test/fuzz/Generators.js +420 -0
- package/lib/test/fuzz/Generators.js.map +1 -0
- package/lib/test/fuzz/SharedTreeFuzzTests.d.ts +20 -0
- package/lib/test/fuzz/SharedTreeFuzzTests.d.ts.map +1 -0
- package/lib/test/fuzz/SharedTreeFuzzTests.js +217 -0
- package/lib/test/fuzz/SharedTreeFuzzTests.js.map +1 -0
- package/lib/test/fuzz/Types.d.ts +133 -0
- package/lib/test/fuzz/Types.d.ts.map +1 -0
- package/lib/test/{GenericTransactionWithAnchors.tests.d.ts → fuzz/Types.js} +2 -2
- package/lib/test/fuzz/Types.js.map +1 -0
- package/lib/test/utilities/IdCompressorTestUtilities.d.ts +180 -0
- package/lib/test/utilities/IdCompressorTestUtilities.d.ts.map +1 -0
- package/lib/test/utilities/IdCompressorTestUtilities.js +528 -0
- package/lib/test/utilities/IdCompressorTestUtilities.js.map +1 -0
- package/lib/test/utilities/MockTransaction.d.ts +26 -7
- package/lib/test/utilities/MockTransaction.d.ts.map +1 -1
- package/lib/test/utilities/MockTransaction.js +40 -11
- package/lib/test/utilities/MockTransaction.js.map +1 -1
- package/lib/test/utilities/PendingLocalStateTests.d.ts +12 -0
- package/lib/test/utilities/PendingLocalStateTests.d.ts.map +1 -0
- package/lib/test/utilities/PendingLocalStateTests.js +105 -0
- package/lib/test/utilities/PendingLocalStateTests.js.map +1 -0
- package/lib/test/utilities/SharedTreeTests.d.ts +3 -4
- package/lib/test/utilities/SharedTreeTests.d.ts.map +1 -1
- package/lib/test/utilities/SharedTreeTests.js +696 -439
- package/lib/test/utilities/SharedTreeTests.js.map +1 -1
- package/lib/test/utilities/SharedTreeVersioningTests.d.ts +11 -0
- package/lib/test/utilities/SharedTreeVersioningTests.d.ts.map +1 -0
- package/lib/test/utilities/SharedTreeVersioningTests.js +370 -0
- package/lib/test/utilities/SharedTreeVersioningTests.js.map +1 -0
- package/lib/test/utilities/SummaryLoadPerfTests.d.ts +10 -0
- package/lib/test/utilities/SummaryLoadPerfTests.d.ts.map +1 -0
- package/lib/test/utilities/SummaryLoadPerfTests.js +102 -0
- package/lib/test/utilities/SummaryLoadPerfTests.js.map +1 -0
- package/lib/test/utilities/SummarySizeTests.d.ts +11 -0
- package/lib/test/utilities/SummarySizeTests.d.ts.map +1 -0
- package/lib/test/utilities/SummarySizeTests.js +158 -0
- package/lib/test/utilities/SummarySizeTests.js.map +1 -0
- package/lib/test/utilities/TestCommon.d.ts +9 -0
- package/lib/test/utilities/TestCommon.d.ts.map +1 -0
- package/lib/test/utilities/TestCommon.js +13 -0
- package/lib/test/utilities/TestCommon.js.map +1 -0
- package/lib/test/utilities/TestNode.d.ts +140 -0
- package/lib/test/utilities/TestNode.d.ts.map +1 -0
- package/lib/test/utilities/TestNode.js +292 -0
- package/lib/test/utilities/TestNode.js.map +1 -0
- package/lib/test/utilities/TestUtilities.d.ts +84 -70
- package/lib/test/utilities/TestUtilities.d.ts.map +1 -1
- package/lib/test/utilities/TestUtilities.js +218 -143
- package/lib/test/utilities/TestUtilities.js.map +1 -1
- package/lib/test/utilities/UndoRedoTests.d.ts +4 -5
- package/lib/test/utilities/UndoRedoTests.d.ts.map +1 -1
- package/lib/test/utilities/UndoRedoTests.js +138 -149
- package/lib/test/utilities/UndoRedoTests.js.map +1 -1
- package/package.json +22 -17
- package/src/ChangeCompression.ts +159 -0
- package/src/{default-edits/PersistedTypes.ts → ChangeTypes.ts} +62 -125
- package/src/Checkout.ts +82 -53
- package/src/Common.ts +317 -117
- package/src/EagerCheckout.ts +38 -0
- package/src/EditLog.ts +153 -100
- package/src/EditUtilities.ts +559 -0
- package/src/EventTypes.ts +74 -0
- package/src/Forest.ts +81 -73
- package/src/{default-edits/HistoryEditFactory.ts → HistoryEditFactory.ts} +103 -53
- package/src/IdConversion.ts +125 -0
- package/src/Identifiers.ts +101 -1
- package/src/InitialTree.ts +5 -4
- package/src/LazyCheckout.ts +51 -0
- package/src/LogViewer.ts +242 -166
- package/src/MergeHealth.ts +447 -0
- package/src/NodeIdUtilities.ts +156 -0
- package/src/PayloadUtilities.ts +124 -0
- package/src/ReconciliationPath.ts +18 -13
- package/src/RevisionValueCache.ts +14 -5
- package/src/RevisionView.ts +252 -0
- package/src/SerializationUtilities.ts +130 -0
- package/src/SharedTree.ts +1501 -0
- package/src/SharedTreeEncoder.ts +493 -0
- package/src/StringInterner.ts +72 -0
- package/src/Summary.ts +48 -0
- package/src/SummaryBackCompatibility.ts +47 -57
- package/src/SummaryTestUtilities.ts +54 -0
- package/src/Transaction.ts +120 -0
- package/src/TransactionInternal.ts +1087 -0
- package/src/TreeCompressor.ts +213 -0
- package/src/TreeNodeHandle.ts +19 -32
- package/src/TreeView.ts +322 -0
- package/src/TreeViewUtilities.ts +77 -0
- package/src/{default-edits/UndoRedoHandler.ts → UndoRedoHandler.ts} +8 -13
- package/src/id-compressor/AppendOnlySortedMap.ts +325 -0
- package/src/id-compressor/IdCompressor.md +3 -0
- package/src/id-compressor/IdCompressor.ts +1848 -0
- package/src/id-compressor/IdRange.ts +33 -0
- package/src/id-compressor/NumericUuid.ts +414 -0
- package/src/id-compressor/index.ts +13 -0
- package/src/id-compressor/persisted-types/0.0.1.ts +179 -0
- package/src/id-compressor/persisted-types/README.md +3 -0
- package/src/id-compressor/persisted-types/index.ts +6 -0
- package/src/index.ts +118 -59
- package/src/persisted-types/0.0.2.ts +442 -0
- package/src/persisted-types/0.1.1.ts +476 -0
- package/src/persisted-types/README.md +22 -0
- package/src/persisted-types/index.ts +9 -0
- package/.mocharc.js +0 -41
- package/api/tree.api.md +0 -729
- package/dist/BasicCheckout.d.ts +0 -23
- package/dist/BasicCheckout.d.ts.map +0 -1
- package/dist/BasicCheckout.js.map +0 -1
- package/dist/Snapshot.d.ts +0 -198
- package/dist/Snapshot.d.ts.map +0 -1
- package/dist/Snapshot.js +0 -267
- package/dist/Snapshot.js.map +0 -1
- package/dist/SnapshotUtilities.d.ts +0 -29
- package/dist/SnapshotUtilities.d.ts.map +0 -1
- package/dist/SnapshotUtilities.js +0 -73
- package/dist/SnapshotUtilities.js.map +0 -1
- package/dist/anchored-edits/AnchorResolution.d.ts +0 -144
- package/dist/anchored-edits/AnchorResolution.d.ts.map +0 -1
- package/dist/anchored-edits/AnchorResolution.js +0 -162
- package/dist/anchored-edits/AnchorResolution.js.map +0 -1
- package/dist/anchored-edits/Factory.d.ts +0 -56
- package/dist/anchored-edits/Factory.d.ts.map +0 -1
- package/dist/anchored-edits/Factory.js +0 -79
- package/dist/anchored-edits/Factory.js.map +0 -1
- package/dist/anchored-edits/PersistedTypes.d.ts +0 -245
- package/dist/anchored-edits/PersistedTypes.d.ts.map +0 -1
- package/dist/anchored-edits/PersistedTypes.js +0 -131
- package/dist/anchored-edits/PersistedTypes.js.map +0 -1
- package/dist/anchored-edits/SharedTreeWithAnchors.d.ts +0 -120
- package/dist/anchored-edits/SharedTreeWithAnchors.d.ts.map +0 -1
- package/dist/anchored-edits/SharedTreeWithAnchors.js +0 -115
- package/dist/anchored-edits/SharedTreeWithAnchors.js.map +0 -1
- package/dist/anchored-edits/TransactionWithAnchors.d.ts +0 -28
- package/dist/anchored-edits/TransactionWithAnchors.d.ts.map +0 -1
- package/dist/anchored-edits/TransactionWithAnchors.js +0 -36
- package/dist/anchored-edits/TransactionWithAnchors.js.map +0 -1
- package/dist/anchored-edits/index.d.ts +0 -10
- package/dist/anchored-edits/index.d.ts.map +0 -1
- package/dist/anchored-edits/index.js +0 -34
- package/dist/anchored-edits/index.js.map +0 -1
- package/dist/default-edits/EditUtilities.d.ts +0 -57
- package/dist/default-edits/EditUtilities.d.ts.map +0 -1
- package/dist/default-edits/EditUtilities.js +0 -192
- package/dist/default-edits/EditUtilities.js.map +0 -1
- package/dist/default-edits/Factory.d.ts +0 -56
- package/dist/default-edits/Factory.d.ts.map +0 -1
- package/dist/default-edits/Factory.js +0 -79
- package/dist/default-edits/Factory.js.map +0 -1
- package/dist/default-edits/HistoryEditFactory.d.ts +0 -19
- package/dist/default-edits/HistoryEditFactory.d.ts.map +0 -1
- package/dist/default-edits/HistoryEditFactory.js +0 -187
- package/dist/default-edits/HistoryEditFactory.js.map +0 -1
- package/dist/default-edits/PersistedTypes.d.ts.map +0 -1
- package/dist/default-edits/PersistedTypes.js.map +0 -1
- package/dist/default-edits/SharedTree.d.ts +0 -111
- package/dist/default-edits/SharedTree.d.ts.map +0 -1
- package/dist/default-edits/SharedTree.js +0 -124
- package/dist/default-edits/SharedTree.js.map +0 -1
- package/dist/default-edits/Summary.d.ts +0 -15
- package/dist/default-edits/Summary.d.ts.map +0 -1
- package/dist/default-edits/Summary.js +0 -35
- package/dist/default-edits/Summary.js.map +0 -1
- package/dist/default-edits/Transaction.d.ts +0 -41
- package/dist/default-edits/Transaction.d.ts.map +0 -1
- package/dist/default-edits/Transaction.js +0 -225
- package/dist/default-edits/Transaction.js.map +0 -1
- package/dist/default-edits/UndoRedoHandler.d.ts.map +0 -1
- package/dist/default-edits/UndoRedoHandler.js.map +0 -1
- package/dist/default-edits/index.d.ts +0 -13
- package/dist/default-edits/index.d.ts.map +0 -1
- package/dist/default-edits/index.js +0 -41
- package/dist/default-edits/index.js.map +0 -1
- package/dist/generic/GenericEditUtilities.d.ts +0 -26
- package/dist/generic/GenericEditUtilities.d.ts.map +0 -1
- package/dist/generic/GenericEditUtilities.js +0 -45
- package/dist/generic/GenericEditUtilities.js.map +0 -1
- package/dist/generic/GenericSharedTree.d.ts +0 -221
- package/dist/generic/GenericSharedTree.d.ts.map +0 -1
- package/dist/generic/GenericSharedTree.js +0 -447
- package/dist/generic/GenericSharedTree.js.map +0 -1
- package/dist/generic/GenericTransaction.d.ts +0 -87
- package/dist/generic/GenericTransaction.d.ts.map +0 -1
- package/dist/generic/GenericTransaction.js +0 -144
- package/dist/generic/GenericTransaction.js.map +0 -1
- package/dist/generic/PersistedTypes.d.ts +0 -194
- package/dist/generic/PersistedTypes.d.ts.map +0 -1
- package/dist/generic/PersistedTypes.js +0 -42
- package/dist/generic/PersistedTypes.js.map +0 -1
- package/dist/generic/Summary.d.ts +0 -63
- package/dist/generic/Summary.d.ts.map +0 -1
- package/dist/generic/Summary.js +0 -64
- package/dist/generic/Summary.js.map +0 -1
- package/dist/generic/index.d.ts +0 -10
- package/dist/generic/index.d.ts.map +0 -1
- package/dist/generic/index.js +0 -26
- package/dist/generic/index.js.map +0 -1
- package/docs/Future.md +0 -155
- package/lib/BasicCheckout.d.ts +0 -23
- package/lib/BasicCheckout.d.ts.map +0 -1
- package/lib/BasicCheckout.js.map +0 -1
- package/lib/Snapshot.d.ts +0 -198
- package/lib/Snapshot.d.ts.map +0 -1
- package/lib/Snapshot.js +0 -263
- package/lib/Snapshot.js.map +0 -1
- package/lib/SnapshotUtilities.d.ts +0 -29
- package/lib/SnapshotUtilities.d.ts.map +0 -1
- package/lib/SnapshotUtilities.js +0 -67
- package/lib/SnapshotUtilities.js.map +0 -1
- package/lib/anchored-edits/AnchorResolution.d.ts +0 -144
- package/lib/anchored-edits/AnchorResolution.d.ts.map +0 -1
- package/lib/anchored-edits/AnchorResolution.js +0 -152
- package/lib/anchored-edits/AnchorResolution.js.map +0 -1
- package/lib/anchored-edits/Factory.d.ts +0 -56
- package/lib/anchored-edits/Factory.d.ts.map +0 -1
- package/lib/anchored-edits/Factory.js +0 -74
- package/lib/anchored-edits/Factory.js.map +0 -1
- package/lib/anchored-edits/PersistedTypes.d.ts +0 -245
- package/lib/anchored-edits/PersistedTypes.d.ts.map +0 -1
- package/lib/anchored-edits/PersistedTypes.js +0 -128
- package/lib/anchored-edits/PersistedTypes.js.map +0 -1
- package/lib/anchored-edits/SharedTreeWithAnchors.d.ts +0 -120
- package/lib/anchored-edits/SharedTreeWithAnchors.d.ts.map +0 -1
- package/lib/anchored-edits/SharedTreeWithAnchors.js +0 -110
- package/lib/anchored-edits/SharedTreeWithAnchors.js.map +0 -1
- package/lib/anchored-edits/TransactionWithAnchors.d.ts +0 -28
- package/lib/anchored-edits/TransactionWithAnchors.d.ts.map +0 -1
- package/lib/anchored-edits/TransactionWithAnchors.js +0 -32
- package/lib/anchored-edits/TransactionWithAnchors.js.map +0 -1
- package/lib/anchored-edits/index.d.ts +0 -10
- package/lib/anchored-edits/index.d.ts.map +0 -1
- package/lib/anchored-edits/index.js +0 -11
- package/lib/anchored-edits/index.js.map +0 -1
- package/lib/default-edits/EditUtilities.d.ts +0 -57
- package/lib/default-edits/EditUtilities.d.ts.map +0 -1
- package/lib/default-edits/EditUtilities.js +0 -181
- package/lib/default-edits/EditUtilities.js.map +0 -1
- package/lib/default-edits/Factory.d.ts +0 -56
- package/lib/default-edits/Factory.d.ts.map +0 -1
- package/lib/default-edits/Factory.js +0 -74
- package/lib/default-edits/Factory.js.map +0 -1
- package/lib/default-edits/HistoryEditFactory.d.ts +0 -19
- package/lib/default-edits/HistoryEditFactory.d.ts.map +0 -1
- package/lib/default-edits/HistoryEditFactory.js.map +0 -1
- package/lib/default-edits/PersistedTypes.d.ts.map +0 -1
- package/lib/default-edits/PersistedTypes.js.map +0 -1
- package/lib/default-edits/SharedTree.d.ts +0 -111
- package/lib/default-edits/SharedTree.d.ts.map +0 -1
- package/lib/default-edits/SharedTree.js +0 -100
- package/lib/default-edits/SharedTree.js.map +0 -1
- package/lib/default-edits/Summary.d.ts +0 -15
- package/lib/default-edits/Summary.d.ts.map +0 -1
- package/lib/default-edits/Summary.js +0 -31
- package/lib/default-edits/Summary.js.map +0 -1
- package/lib/default-edits/Transaction.d.ts +0 -41
- package/lib/default-edits/Transaction.d.ts.map +0 -1
- package/lib/default-edits/Transaction.js +0 -221
- package/lib/default-edits/Transaction.js.map +0 -1
- package/lib/default-edits/UndoRedoHandler.d.ts.map +0 -1
- package/lib/default-edits/UndoRedoHandler.js.map +0 -1
- package/lib/default-edits/index.d.ts +0 -13
- package/lib/default-edits/index.d.ts.map +0 -1
- package/lib/default-edits/index.js +0 -14
- package/lib/default-edits/index.js.map +0 -1
- package/lib/generic/GenericEditUtilities.d.ts +0 -26
- package/lib/generic/GenericEditUtilities.d.ts.map +0 -1
- package/lib/generic/GenericEditUtilities.js +0 -38
- package/lib/generic/GenericEditUtilities.js.map +0 -1
- package/lib/generic/GenericSharedTree.d.ts +0 -221
- package/lib/generic/GenericSharedTree.d.ts.map +0 -1
- package/lib/generic/GenericSharedTree.js +0 -443
- package/lib/generic/GenericSharedTree.js.map +0 -1
- package/lib/generic/GenericTransaction.d.ts +0 -87
- package/lib/generic/GenericTransaction.d.ts.map +0 -1
- package/lib/generic/GenericTransaction.js +0 -140
- package/lib/generic/GenericTransaction.js.map +0 -1
- package/lib/generic/PersistedTypes.d.ts +0 -194
- package/lib/generic/PersistedTypes.d.ts.map +0 -1
- package/lib/generic/PersistedTypes.js +0 -39
- package/lib/generic/PersistedTypes.js.map +0 -1
- package/lib/generic/Summary.d.ts +0 -63
- package/lib/generic/Summary.d.ts.map +0 -1
- package/lib/generic/Summary.js +0 -58
- package/lib/generic/Summary.js.map +0 -1
- package/lib/generic/index.d.ts +0 -10
- package/lib/generic/index.d.ts.map +0 -1
- package/lib/generic/index.js +0 -11
- package/lib/generic/index.js.map +0 -1
- package/lib/test/Anchors.glassBox.tests.d.ts.map +0 -1
- package/lib/test/Anchors.glassBox.tests.js +0 -410
- package/lib/test/Anchors.glassBox.tests.js.map +0 -1
- package/lib/test/BasicCheckout.tests.d.ts.map +0 -1
- package/lib/test/BasicCheckout.tests.js +0 -8
- package/lib/test/BasicCheckout.tests.js.map +0 -1
- package/lib/test/GenericTransactionWithAnchors.tests.d.ts.map +0 -1
- package/lib/test/GenericTransactionWithAnchors.tests.js +0 -25
- package/lib/test/GenericTransactionWithAnchors.tests.js.map +0 -1
- package/lib/test/SharedTreeWithAnchors.tests.d.ts.map +0 -1
- package/lib/test/SharedTreeWithAnchors.tests.js +0 -420
- package/lib/test/SharedTreeWithAnchors.tests.js.map +0 -1
- package/lib/test/Snapshot.tests.d.ts.map +0 -1
- package/lib/test/Snapshot.tests.js +0 -96
- package/lib/test/Snapshot.tests.js.map +0 -1
- package/lib/test/SnapshotUtilities.tests.d.ts.map +0 -1
- package/lib/test/SnapshotUtilities.tests.js +0 -168
- package/lib/test/SnapshotUtilities.tests.js.map +0 -1
- package/lib/test/undoRedoStackManager.d.ts +0 -26
- package/lib/test/undoRedoStackManager.d.ts.map +0 -1
- package/lib/test/undoRedoStackManager.js +0 -176
- package/lib/test/undoRedoStackManager.js.map +0 -1
- package/lib/test/utilities/SummaryFormatCompatibilityTests.d.ts +0 -13
- package/lib/test/utilities/SummaryFormatCompatibilityTests.d.ts.map +0 -1
- package/lib/test/utilities/SummaryFormatCompatibilityTests.js +0 -154
- package/lib/test/utilities/SummaryFormatCompatibilityTests.js.map +0 -1
- package/src/BasicCheckout.ts +0 -34
- package/src/Snapshot.ts +0 -363
- package/src/SnapshotUtilities.ts +0 -88
- package/src/anchored-edits/AnchorResolution.ts +0 -442
- package/src/anchored-edits/Factory.ts +0 -94
- package/src/anchored-edits/PersistedTypes.ts +0 -310
- package/src/anchored-edits/SharedTreeWithAnchors.ts +0 -200
- package/src/anchored-edits/TransactionWithAnchors.ts +0 -39
- package/src/anchored-edits/index.ts +0 -21
- package/src/default-edits/EditUtilities.ts +0 -220
- package/src/default-edits/Factory.ts +0 -94
- package/src/default-edits/SharedTree.ts +0 -174
- package/src/default-edits/Summary.ts +0 -44
- package/src/default-edits/Transaction.ts +0 -262
- package/src/default-edits/index.ts +0 -29
- package/src/generic/GenericEditUtilities.ts +0 -46
- package/src/generic/GenericSharedTree.ts +0 -593
- package/src/generic/GenericTransaction.ts +0 -194
- package/src/generic/PersistedTypes.ts +0 -221
- package/src/generic/Summary.ts +0 -113
- package/src/generic/index.ts +0 -41
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
-
* Licensed under the MIT License.
|
|
4
|
-
*/
|
|
5
|
-
import { Side } from '../Snapshot';
|
|
6
|
-
import { ChangeType, placeFromStablePlace, validateStablePlace, validateStableRange, } from '../default-edits';
|
|
7
|
-
import { assert, assertNotUndefined, fail } from '../Common';
|
|
8
|
-
import { EditValidationResult } from '../Checkout';
|
|
9
|
-
import { PlaceAnchorSemanticsChoice, } from './PersistedTypes';
|
|
10
|
-
export function resolveChangeAnchors(change, before, path, { nodeResolver, placeResolver, rangeResolver } = {
|
|
11
|
-
nodeResolver: resolveNodeAnchor,
|
|
12
|
-
placeResolver: resolvePlaceAnchor,
|
|
13
|
-
rangeResolver: resolveRangeAnchor,
|
|
14
|
-
}) {
|
|
15
|
-
switch (change.type) {
|
|
16
|
-
case ChangeType.Build:
|
|
17
|
-
return change;
|
|
18
|
-
case ChangeType.Insert: {
|
|
19
|
-
const destination = placeResolver(change.destination, before, path);
|
|
20
|
-
return destination !== undefined ? Object.assign(Object.assign({}, change), { destination }) : undefined;
|
|
21
|
-
}
|
|
22
|
-
case ChangeType.Detach: {
|
|
23
|
-
const source = rangeResolver(change.source, before, path);
|
|
24
|
-
return source !== undefined ? Object.assign(Object.assign({}, change), { source }) : undefined;
|
|
25
|
-
}
|
|
26
|
-
case ChangeType.Constraint: {
|
|
27
|
-
const toConstrain = rangeResolver(change.toConstrain, before, path);
|
|
28
|
-
return toConstrain !== undefined ? Object.assign(Object.assign({}, change), { toConstrain }) : undefined;
|
|
29
|
-
}
|
|
30
|
-
case ChangeType.SetValue: {
|
|
31
|
-
const nodeToModify = nodeResolver(change.nodeToModify, before, path);
|
|
32
|
-
return nodeToModify !== undefined ? Object.assign(Object.assign({}, change), { nodeToModify }) : undefined;
|
|
33
|
-
}
|
|
34
|
-
default:
|
|
35
|
-
return fail('Attempted to reconciliate unsupported change');
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Resolves a given `node` anchor in the face of a `ReconciliationPath`.
|
|
40
|
-
* @param node - The anchor to resolve.
|
|
41
|
-
* @param before - The state to which the change that the `node` anchor should be applied to.
|
|
42
|
-
* @param path - The reconciliation path for the change that the `node` is part of.
|
|
43
|
-
* @returns A matching `NodeId` that is valid in the snapshot at the end of the `path`. Undefined if no such node exists.
|
|
44
|
-
* @internal
|
|
45
|
-
*/
|
|
46
|
-
export function resolveNodeAnchor(node, before, path) {
|
|
47
|
-
return before.hasNode(node) ? node : undefined;
|
|
48
|
-
}
|
|
49
|
-
export function resolveRangeAnchor(range, before, path, { placeResolver, rangeValidator, } = {
|
|
50
|
-
placeResolver: resolvePlaceAnchor,
|
|
51
|
-
rangeValidator: validateStableRange,
|
|
52
|
-
}) {
|
|
53
|
-
const start = placeResolver(range.start, before, path);
|
|
54
|
-
if (start !== undefined) {
|
|
55
|
-
const end = placeResolver(range.end, before, path);
|
|
56
|
-
if (end !== undefined) {
|
|
57
|
-
const resolvedRange = {
|
|
58
|
-
start,
|
|
59
|
-
end,
|
|
60
|
-
};
|
|
61
|
-
return rangeValidator(before, resolvedRange) === EditValidationResult.Valid ? resolvedRange : undefined;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return undefined;
|
|
65
|
-
}
|
|
66
|
-
export function resolvePlaceAnchor(place, before, path, { placeValidator, placeUpdatorForPath, } = {
|
|
67
|
-
placeValidator: validateStablePlace,
|
|
68
|
-
placeUpdatorForPath: updateRelativePlaceAnchorForPath,
|
|
69
|
-
}) {
|
|
70
|
-
let newPlace = place;
|
|
71
|
-
while (newPlace !== undefined && placeValidator(before, newPlace) !== EditValidationResult.Valid) {
|
|
72
|
-
switch (newPlace.semantics) {
|
|
73
|
-
case PlaceAnchorSemanticsChoice.RelativeToNode: {
|
|
74
|
-
newPlace = placeUpdatorForPath(newPlace, path);
|
|
75
|
-
break;
|
|
76
|
-
}
|
|
77
|
-
case PlaceAnchorSemanticsChoice.BoundToNode:
|
|
78
|
-
case undefined:
|
|
79
|
-
// There's nothing we can do to fix this place
|
|
80
|
-
newPlace = undefined;
|
|
81
|
-
break;
|
|
82
|
-
default:
|
|
83
|
-
fail('Unsupported choice of PlaceAnchorSemanticsChoice');
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
return newPlace;
|
|
87
|
-
}
|
|
88
|
-
export function updateRelativePlaceAnchorForPath(place, path, { lastOffendingChangeFinder, placeUpdatorForChange, } = {
|
|
89
|
-
lastOffendingChangeFinder: findLastOffendingChange,
|
|
90
|
-
placeUpdatorForChange: updateRelativePlaceAnchorForChange,
|
|
91
|
-
}) {
|
|
92
|
-
if (place.referenceSibling === undefined) {
|
|
93
|
-
// Start and end places cannot be updated.
|
|
94
|
-
return undefined;
|
|
95
|
-
}
|
|
96
|
-
const lastOffendingChange = lastOffendingChangeFinder(place, path);
|
|
97
|
-
return lastOffendingChange === undefined ? undefined : placeUpdatorForChange(place, lastOffendingChange);
|
|
98
|
-
}
|
|
99
|
-
export function findLastOffendingChange(place, path, { placeValidator } = {
|
|
100
|
-
placeValidator: validateStablePlace,
|
|
101
|
-
}) {
|
|
102
|
-
let followingChange;
|
|
103
|
-
for (let editIndex = path.length - 1; editIndex >= 0; --editIndex) {
|
|
104
|
-
const edit = path[editIndex];
|
|
105
|
-
for (let changeIndex = edit.length - 1; changeIndex >= 0; --changeIndex) {
|
|
106
|
-
const change = edit[changeIndex];
|
|
107
|
-
const placeStatusAfterChange = placeValidator(change.after, place);
|
|
108
|
-
if (placeStatusAfterChange === EditValidationResult.Valid) {
|
|
109
|
-
return Object.assign({ before: change.after }, assertNotUndefined(followingChange, 'The last change should not make the place valid'));
|
|
110
|
-
}
|
|
111
|
-
followingChange = {
|
|
112
|
-
change: change.resolvedChange,
|
|
113
|
-
after: change.after,
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
return path.length > 0 && placeValidator(path[0].before, place) === EditValidationResult.Valid
|
|
118
|
-
? Object.assign({ before: path[0].before }, assertNotUndefined(followingChange, 'The last change should not make the place valid')) : // The place was never valid
|
|
119
|
-
undefined;
|
|
120
|
-
}
|
|
121
|
-
export function updateRelativePlaceAnchorForChange(place, { change, before }) {
|
|
122
|
-
if (place.referenceSibling === undefined) {
|
|
123
|
-
// A start or end place cannot be further updated
|
|
124
|
-
return undefined;
|
|
125
|
-
}
|
|
126
|
-
assert(change.type === ChangeType.Detach, 'A PlaceAnchor can only be made invalid by a detach change');
|
|
127
|
-
const targetPlace = placeFromStablePlace(before, place);
|
|
128
|
-
const startPlace = placeFromStablePlace(before, change.source.start);
|
|
129
|
-
const endPlace = placeFromStablePlace(before, change.source.end);
|
|
130
|
-
if (targetPlace.trait.parent !== startPlace.trait.parent) {
|
|
131
|
-
// The target place was detached indirectly by detaching its parent.
|
|
132
|
-
// The anchor cannot recover.
|
|
133
|
-
return undefined;
|
|
134
|
-
}
|
|
135
|
-
let newIndex;
|
|
136
|
-
if (targetPlace.side === Side.After) {
|
|
137
|
-
newIndex = before.findIndexWithinTrait(startPlace) - 1;
|
|
138
|
-
}
|
|
139
|
-
if (targetPlace.side === Side.Before) {
|
|
140
|
-
newIndex = before.findIndexWithinTrait(endPlace);
|
|
141
|
-
}
|
|
142
|
-
const referenceTrait = targetPlace.trait;
|
|
143
|
-
const parentNode = before.getSnapshotNode(referenceTrait.parent);
|
|
144
|
-
const traits = new Map(parentNode.traits);
|
|
145
|
-
const trait = assertNotUndefined(traits.get(referenceTrait.label), 'The trait must have been populated before the deletion');
|
|
146
|
-
const referenceSibling = trait[newIndex];
|
|
147
|
-
if (referenceSibling === undefined) {
|
|
148
|
-
return { referenceTrait, side: place.side, semantics: place.semantics };
|
|
149
|
-
}
|
|
150
|
-
return { referenceSibling, side: place.side, semantics: place.semantics };
|
|
151
|
-
}
|
|
152
|
-
//# sourceMappingURL=AnchorResolution.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AnchorResolution.js","sourceRoot":"","sources":["../../src/anchored-edits/AnchorResolution.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Side, Snapshot } from '../Snapshot';\nimport {\n\tChange,\n\tChangeType,\n\tplaceFromStablePlace,\n\tStablePlace,\n\tStableRange,\n\tvalidateStablePlace,\n\tvalidateStableRange,\n} from '../default-edits';\nimport { assert, assertNotUndefined, fail } from '../Common';\nimport { EditValidationResult } from '../Checkout';\nimport { NodeId } from '../Identifiers';\nimport { ReconciliationPath } from '../ReconciliationPath';\nimport {\n\tAnchoredChange,\n\tNodeAnchor,\n\tPlaceAnchor,\n\tPlaceAnchorSemanticsChoice,\n\tRangeAnchor,\n\tRelativePlaceAnchor,\n} from './PersistedTypes';\n\n/**\n * A change and the snapshots that precede and succeed it.\n */\nexport interface EvaluatedChange<TChange> {\n\treadonly change: TChange;\n\t/**\n\t * The snapshot before the change was applied.\n\t */\n\treadonly before: Snapshot;\n\t/**\n\t * The snapshot after the change was applied.\n\t */\n\treadonly after: Snapshot;\n}\n\n/**\n * Object that includes a function for resolving node anchors.\n */\nexport interface HasNodeResolver {\n\tnodeResolver: (node: NodeAnchor, before: Snapshot, path: ReconciliationPath<AnchoredChange>) => NodeId | undefined;\n}\n\n/**\n * Object that includes a function for resolving place anchors.\n */\nexport interface HasPlaceResolver {\n\tplaceResolver: (\n\t\trange: PlaceAnchor,\n\t\tbefore: Snapshot,\n\t\tpath: ReconciliationPath<AnchoredChange>\n\t) => StablePlace | undefined;\n}\n\n/**\n * Object that includes a function for resolving range anchors.\n */\nexport interface HasRangeResolver {\n\trangeResolver: (\n\t\trange: RangeAnchor,\n\t\tbefore: Snapshot,\n\t\tpath: ReconciliationPath<AnchoredChange>\n\t) => StableRange | undefined;\n}\n\n/**\n * Object that includes a function for validating places.\n */\nexport interface HasPlaceValidator {\n\tplaceValidator: (snapshot: Snapshot, place: StablePlace) => EditValidationResult;\n}\n\n/**\n * Reconciliates a given `change` in the face of concurrent edits described in a `ReconciliationPath`.\n * @param change - The anchor to reconciliate.\n * @param before - The state to which the `change` would be applied to.\n * @param path - The reconciliation path for the `change`.\n * @returns A `Change` that satisfies the same semantics of the given `change` but whose tree locations are valid in the `before` snapshot.\n * Undefined if no such change can be produced.\n * @internal\n */\nexport function resolveChangeAnchors(\n\tchange: AnchoredChange,\n\tbefore: Snapshot,\n\tpath: ReconciliationPath<AnchoredChange>\n): Change | undefined;\n\n/**\n * For testing purposes only.\n * @internal\n */\nexport function resolveChangeAnchors(\n\tchange: AnchoredChange,\n\tbefore: Snapshot,\n\tpath: ReconciliationPath<AnchoredChange>,\n\tdependencies?: HasNodeResolver & HasPlaceResolver & HasRangeResolver\n): Change | undefined;\n\nexport function resolveChangeAnchors(\n\tchange: AnchoredChange,\n\tbefore: Snapshot,\n\tpath: ReconciliationPath<AnchoredChange>,\n\t{ nodeResolver, placeResolver, rangeResolver }: HasNodeResolver & HasPlaceResolver & HasRangeResolver = {\n\t\tnodeResolver: resolveNodeAnchor,\n\t\tplaceResolver: resolvePlaceAnchor,\n\t\trangeResolver: resolveRangeAnchor,\n\t}\n): Change | undefined {\n\tswitch (change.type) {\n\t\tcase ChangeType.Build:\n\t\t\treturn change;\n\t\tcase ChangeType.Insert: {\n\t\t\tconst destination = placeResolver(change.destination, before, path);\n\t\t\treturn destination !== undefined ? { ...change, destination } : undefined;\n\t\t}\n\t\tcase ChangeType.Detach: {\n\t\t\tconst source = rangeResolver(change.source, before, path);\n\t\t\treturn source !== undefined ? { ...change, source } : undefined;\n\t\t}\n\t\tcase ChangeType.Constraint: {\n\t\t\tconst toConstrain = rangeResolver(change.toConstrain, before, path);\n\t\t\treturn toConstrain !== undefined ? { ...change, toConstrain } : undefined;\n\t\t}\n\t\tcase ChangeType.SetValue: {\n\t\t\tconst nodeToModify = nodeResolver(change.nodeToModify, before, path);\n\t\t\treturn nodeToModify !== undefined ? { ...change, nodeToModify } : undefined;\n\t\t}\n\t\tdefault:\n\t\t\treturn fail('Attempted to reconciliate unsupported change');\n\t}\n}\n\n/**\n * Resolves a given `node` anchor in the face of a `ReconciliationPath`.\n * @param node - The anchor to resolve.\n * @param before - The state to which the change that the `node` anchor should be applied to.\n * @param path - The reconciliation path for the change that the `node` is part of.\n * @returns A matching `NodeId` that is valid in the snapshot at the end of the `path`. Undefined if no such node exists.\n * @internal\n */\nexport function resolveNodeAnchor(\n\tnode: NodeAnchor,\n\tbefore: Snapshot,\n\tpath: ReconciliationPath<AnchoredChange>\n): NodeId | undefined {\n\treturn before.hasNode(node) ? node : undefined;\n}\n\n/**\n * Resolves a given `range` anchor in the face of a `ReconciliationPath`.\n * @param range - The anchor to resolve.\n * @param before - The state to which the change that the `range` anchor should be applied to.\n * @param path - The reconciliation path for the change that the `range` is part of.\n * @returns A matching `StableRange` that is valid in the snapshot at the end of the `path`. Undefined if no such valid range exists.\n * @internal\n */\nexport function resolveRangeAnchor(\n\trange: RangeAnchor,\n\tbefore: Snapshot,\n\tpath: ReconciliationPath<AnchoredChange>\n): StableRange | undefined;\n\n/**\n * For testing purposes only.\n * @internal\n */\nexport function resolveRangeAnchor(\n\trange: RangeAnchor,\n\tbefore: Snapshot,\n\tpath: ReconciliationPath<AnchoredChange>,\n\tdependencies?: HasPlaceResolver & {\n\t\trangeValidator: (snapshot: Snapshot, range: StableRange) => EditValidationResult;\n\t}\n): StableRange | undefined;\n\nexport function resolveRangeAnchor(\n\trange: RangeAnchor,\n\tbefore: Snapshot,\n\tpath: ReconciliationPath<AnchoredChange>,\n\t{\n\t\tplaceResolver,\n\t\trangeValidator,\n\t}: HasPlaceResolver & {\n\t\trangeValidator: (snapshot: Snapshot, range: StableRange) => EditValidationResult;\n\t} = {\n\t\tplaceResolver: resolvePlaceAnchor,\n\t\trangeValidator: validateStableRange,\n\t}\n): StableRange | undefined {\n\tconst start = placeResolver(range.start, before, path);\n\tif (start !== undefined) {\n\t\tconst end = placeResolver(range.end, before, path);\n\t\tif (end !== undefined) {\n\t\t\tconst resolvedRange = {\n\t\t\t\tstart,\n\t\t\t\tend,\n\t\t\t};\n\t\t\treturn rangeValidator(before, resolvedRange) === EditValidationResult.Valid ? resolvedRange : undefined;\n\t\t}\n\t}\n\treturn undefined;\n}\n\n/**\n * Resolves a given `place` anchor in the face of a `ReconciliationPath`.\n * @param place - The anchor to resolve.\n * @param before - The state to which the change that the `place` anchor should be applied to.\n * @param path - The reconciliation path for the change that the `place` is part of.\n * @returns A matching `StablePlace` that is valid in the snapshot at the end of the `path`. Undefined if no such valid place exists.\n * @internal\n */\nexport function resolvePlaceAnchor(\n\tplace: PlaceAnchor,\n\tbefore: Snapshot,\n\tpath: ReconciliationPath<AnchoredChange>\n): StablePlace | undefined;\n\n/**\n * For testing purposes only.\n * @internal\n */\nexport function resolvePlaceAnchor(\n\tplace: PlaceAnchor,\n\tbefore: Snapshot,\n\tpath: ReconciliationPath<AnchoredChange>,\n\tdependencies?: HasPlaceValidator & {\n\t\tplaceUpdatorForPath: (\n\t\t\tplace: RelativePlaceAnchor,\n\t\t\tpath: ReconciliationPath<AnchoredChange>\n\t\t) => PlaceAnchor | undefined;\n\t}\n): StablePlace | undefined;\n\nexport function resolvePlaceAnchor(\n\tplace: PlaceAnchor,\n\tbefore: Snapshot,\n\tpath: ReconciliationPath<AnchoredChange>,\n\t{\n\t\tplaceValidator,\n\t\tplaceUpdatorForPath,\n\t}: HasPlaceValidator & {\n\t\tplaceUpdatorForPath: (\n\t\t\tplace: RelativePlaceAnchor,\n\t\t\tpath: ReconciliationPath<AnchoredChange>\n\t\t) => PlaceAnchor | undefined;\n\t} = {\n\t\tplaceValidator: validateStablePlace,\n\t\tplaceUpdatorForPath: updateRelativePlaceAnchorForPath,\n\t}\n): StablePlace | undefined {\n\tlet newPlace: PlaceAnchor | undefined = place;\n\twhile (newPlace !== undefined && placeValidator(before, newPlace) !== EditValidationResult.Valid) {\n\t\tswitch (newPlace.semantics) {\n\t\t\tcase PlaceAnchorSemanticsChoice.RelativeToNode: {\n\t\t\t\tnewPlace = placeUpdatorForPath(newPlace as RelativePlaceAnchor, path);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase PlaceAnchorSemanticsChoice.BoundToNode:\n\t\t\tcase undefined:\n\t\t\t\t// There's nothing we can do to fix this place\n\t\t\t\tnewPlace = undefined;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tfail('Unsupported choice of PlaceAnchorSemanticsChoice');\n\t\t}\n\t}\n\treturn newPlace;\n}\n\n/**\n * Updates a given `place` anchor in the face of a `ReconciliationPath` that violates its semantics.\n * @param place - The anchor to update. Assumed to be invalid after the latest change.\n * @param path - The sequence of edits that violates the anchor's semantics.\n * @returns A place anchor whose semantics are inline with the given `place`, and valid after the most recent change that made it invalid.\n * Undefined if those semantics cannot be preserved.\n * @internal\n */\nexport function updateRelativePlaceAnchorForPath(\n\tplace: RelativePlaceAnchor,\n\tpath: ReconciliationPath<AnchoredChange>\n): PlaceAnchor | undefined;\n\n/**\n * For testing purposes only.\n * @internal\n */\nexport function updateRelativePlaceAnchorForPath(\n\tplace: RelativePlaceAnchor,\n\tpath: ReconciliationPath<AnchoredChange>,\n\tdependencies?: {\n\t\tlastOffendingChangeFinder: (\n\t\t\tplace: RelativePlaceAnchor,\n\t\t\tpath: ReconciliationPath<AnchoredChange>\n\t\t) => EvaluatedChange<AnchoredChange> | undefined;\n\t\tplaceUpdatorForChange: (\n\t\t\tplace: RelativePlaceAnchor,\n\t\t\tchange: EvaluatedChange<AnchoredChange>\n\t\t) => PlaceAnchor | undefined;\n\t}\n): PlaceAnchor | undefined;\n\nexport function updateRelativePlaceAnchorForPath(\n\tplace: RelativePlaceAnchor,\n\tpath: ReconciliationPath<AnchoredChange>,\n\t{\n\t\tlastOffendingChangeFinder,\n\t\tplaceUpdatorForChange,\n\t}: {\n\t\tlastOffendingChangeFinder: (\n\t\t\tplace: RelativePlaceAnchor,\n\t\t\tpath: ReconciliationPath<AnchoredChange>\n\t\t) => EvaluatedChange<AnchoredChange> | undefined;\n\t\tplaceUpdatorForChange: (\n\t\t\tplace: RelativePlaceAnchor,\n\t\t\tchange: EvaluatedChange<AnchoredChange>\n\t\t) => PlaceAnchor | undefined;\n\t} = {\n\t\tlastOffendingChangeFinder: findLastOffendingChange,\n\t\tplaceUpdatorForChange: updateRelativePlaceAnchorForChange,\n\t}\n): PlaceAnchor | undefined {\n\tif (place.referenceSibling === undefined) {\n\t\t// Start and end places cannot be updated.\n\t\treturn undefined;\n\t}\n\tconst lastOffendingChange = lastOffendingChangeFinder(place, path);\n\treturn lastOffendingChange === undefined ? undefined : placeUpdatorForChange(place, lastOffendingChange);\n}\n\n/**\n * Finds the latest change in the given `path` that last made the given `place` invalid.\n * @param place - A anchor that is invalid in the last snapshot on the path.\n * @param path - The sequence of edits that violates the anchor's semantics.\n * @returns The change that last made the given `place` invalid and the snapshots before and after it. Undefined if `place` was never valid.\n * @internal\n */\nexport function findLastOffendingChange(\n\tplace: RelativePlaceAnchor,\n\tpath: ReconciliationPath<AnchoredChange>\n): EvaluatedChange<AnchoredChange> | undefined;\n\n/**\n * For testing purposes only.\n * @internal\n */\nexport function findLastOffendingChange(\n\tplace: RelativePlaceAnchor,\n\tpath: ReconciliationPath<AnchoredChange>,\n\tdependencies?: HasPlaceValidator\n): EvaluatedChange<AnchoredChange> | undefined;\n\nexport function findLastOffendingChange(\n\tplace: RelativePlaceAnchor,\n\tpath: ReconciliationPath<AnchoredChange>,\n\t{ placeValidator }: HasPlaceValidator = {\n\t\tplaceValidator: validateStablePlace,\n\t}\n): EvaluatedChange<AnchoredChange> | undefined {\n\tlet followingChange: { change: AnchoredChange; after: Snapshot } | undefined;\n\tfor (let editIndex = path.length - 1; editIndex >= 0; --editIndex) {\n\t\tconst edit = path[editIndex];\n\t\tfor (let changeIndex = edit.length - 1; changeIndex >= 0; --changeIndex) {\n\t\t\tconst change = edit[changeIndex];\n\t\t\tconst placeStatusAfterChange = placeValidator(change.after, place);\n\t\t\tif (placeStatusAfterChange === EditValidationResult.Valid) {\n\t\t\t\treturn {\n\t\t\t\t\tbefore: change.after,\n\t\t\t\t\t...assertNotUndefined(followingChange, 'The last change should not make the place valid'),\n\t\t\t\t};\n\t\t\t}\n\t\t\tfollowingChange = {\n\t\t\t\tchange: change.resolvedChange,\n\t\t\t\tafter: change.after,\n\t\t\t};\n\t\t}\n\t}\n\treturn path.length > 0 && placeValidator(path[0].before, place) === EditValidationResult.Valid\n\t\t? {\n\t\t\t\tbefore: path[0].before,\n\t\t\t\t...assertNotUndefined(followingChange, 'The last change should not make the place valid'),\n\t\t }\n\t\t: // The place was never valid\n\t\t undefined;\n}\n\n/**\n * Updates a given `place` anchor in the face of a change that violates its semantics.\n * @param place - The anchor to update.\n * @param change - The change that violates the anchor's semantics.\n * @returns A place anchor that is valid after the given `change` and in line with the original `place`'s semantics.\n * Undefined if those semantics cannot be preserved.\n * @internal\n */\nexport function updateRelativePlaceAnchorForChange(\n\tplace: RelativePlaceAnchor,\n\tchange: EvaluatedChange<AnchoredChange>\n): PlaceAnchor | undefined;\n\nexport function updateRelativePlaceAnchorForChange(\n\tplace: RelativePlaceAnchor,\n\t{ change, before }: EvaluatedChange<AnchoredChange>\n): PlaceAnchor | undefined {\n\tif (place.referenceSibling === undefined) {\n\t\t// A start or end place cannot be further updated\n\t\treturn undefined;\n\t}\n\tassert(change.type === ChangeType.Detach, 'A PlaceAnchor can only be made invalid by a detach change');\n\tconst targetPlace = placeFromStablePlace(before, place);\n\tconst startPlace = placeFromStablePlace(before, change.source.start);\n\tconst endPlace = placeFromStablePlace(before, change.source.end);\n\tif (targetPlace.trait.parent !== startPlace.trait.parent) {\n\t\t// The target place was detached indirectly by detaching its parent.\n\t\t// The anchor cannot recover.\n\t\treturn undefined;\n\t}\n\tlet newIndex;\n\tif (targetPlace.side === Side.After) {\n\t\tnewIndex = before.findIndexWithinTrait(startPlace) - 1;\n\t}\n\tif (targetPlace.side === Side.Before) {\n\t\tnewIndex = before.findIndexWithinTrait(endPlace);\n\t}\n\tconst referenceTrait = targetPlace.trait;\n\tconst parentNode = before.getSnapshotNode(referenceTrait.parent);\n\tconst traits = new Map(parentNode.traits);\n\tconst trait = assertNotUndefined(\n\t\ttraits.get(referenceTrait.label),\n\t\t'The trait must have been populated before the deletion'\n\t);\n\tconst referenceSibling = trait[newIndex];\n\tif (referenceSibling === undefined) {\n\t\treturn { referenceTrait, side: place.side, semantics: place.semantics };\n\t}\n\treturn { referenceSibling, side: place.side, semantics: place.semantics };\n}\n"]}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
-
* Licensed under the MIT License.
|
|
4
|
-
*/
|
|
5
|
-
import { IChannelAttributes, IFluidDataStoreRuntime, IChannelServices, IChannelFactory } from '@fluidframework/datastore-definitions';
|
|
6
|
-
import { ISharedObject } from '@fluidframework/shared-object-base';
|
|
7
|
-
import { SharedTreeWithAnchors } from './SharedTreeWithAnchors';
|
|
8
|
-
/**
|
|
9
|
-
* Factory for SharedTreeWithAnchors.
|
|
10
|
-
* Includes history in the summary.
|
|
11
|
-
* @public
|
|
12
|
-
*/
|
|
13
|
-
export declare class SharedTreeWithAnchorsFactory implements IChannelFactory {
|
|
14
|
-
/**
|
|
15
|
-
* {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory."type"}
|
|
16
|
-
*/
|
|
17
|
-
static Type: string;
|
|
18
|
-
/**
|
|
19
|
-
* {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory.attributes}
|
|
20
|
-
*/
|
|
21
|
-
static Attributes: IChannelAttributes;
|
|
22
|
-
/**
|
|
23
|
-
* {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory."type"}
|
|
24
|
-
*/
|
|
25
|
-
get type(): string;
|
|
26
|
-
/**
|
|
27
|
-
* {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory.attributes}
|
|
28
|
-
*/
|
|
29
|
-
get attributes(): IChannelAttributes;
|
|
30
|
-
/**
|
|
31
|
-
* {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory.load}
|
|
32
|
-
*/
|
|
33
|
-
load(runtime: IFluidDataStoreRuntime, id: string, services: IChannelServices, _channelAttributes: Readonly<IChannelAttributes>): Promise<ISharedObject>;
|
|
34
|
-
/**
|
|
35
|
-
* Create a new SharedTree.
|
|
36
|
-
* @param runtime - data store runtime that owns the new SharedTree
|
|
37
|
-
* @param id - optional name for the SharedTree
|
|
38
|
-
*/
|
|
39
|
-
create(runtime: IFluidDataStoreRuntime, id: string, expensiveValidation?: boolean): SharedTreeWithAnchors;
|
|
40
|
-
/**
|
|
41
|
-
* Determines how the SharedTree will summarize the history.
|
|
42
|
-
* This is a workaround for lacking the ability to construct DDSs with custom parameters.
|
|
43
|
-
*/
|
|
44
|
-
protected includeHistoryInSummary(): boolean;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Factory for SharedTreeWithAnchors.
|
|
48
|
-
* Does not include the history in the summary.
|
|
49
|
-
* This is a workaround for lacking the ability to construct DDSs with custom parameters.
|
|
50
|
-
* TODO:#54918: Clean up when DDS parameterization is supported.
|
|
51
|
-
* @public
|
|
52
|
-
*/
|
|
53
|
-
export declare class SharedTreeWithAnchorsFactoryNoHistory extends SharedTreeWithAnchorsFactory {
|
|
54
|
-
protected includeHistoryInSummary(): boolean;
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=Factory.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Factory.d.ts","sourceRoot":"","sources":["../../src/anchored-edits/Factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;;GAIG;AACH,qBAAa,4BAA6B,YAAW,eAAe;IACnE;;OAEG;IACH,OAAc,IAAI,SAA2B;IAE7C;;OAEG;IACH,OAAc,UAAU,EAAE,kBAAkB,CAI1C;IAEF;;OAEG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAED;;OAEG;IACH,IAAW,UAAU,IAAI,kBAAkB,CAE1C;IAED;;OAEG;IACU,IAAI,CAChB,OAAO,EAAE,sBAAsB,EAC/B,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,gBAAgB,EAC1B,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAC9C,OAAO,CAAC,aAAa,CAAC;IAMzB;;;;OAIG;IACI,MAAM,CAAC,OAAO,EAAE,sBAAsB,EAAE,EAAE,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,OAAO,GAAG,qBAAqB;IAMhH;;;OAGG;IACH,SAAS,CAAC,uBAAuB,IAAI,OAAO;CAG5C;AAED;;;;;;GAMG;AACH,qBAAa,qCAAsC,SAAQ,4BAA4B;IACtF,SAAS,CAAC,uBAAuB,IAAI,OAAO;CAG5C"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
-
* Licensed under the MIT License.
|
|
4
|
-
*/
|
|
5
|
-
import { SharedTreeWithAnchors } from './SharedTreeWithAnchors';
|
|
6
|
-
/**
|
|
7
|
-
* Factory for SharedTreeWithAnchors.
|
|
8
|
-
* Includes history in the summary.
|
|
9
|
-
* @public
|
|
10
|
-
*/
|
|
11
|
-
export class SharedTreeWithAnchorsFactory {
|
|
12
|
-
/**
|
|
13
|
-
* {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory."type"}
|
|
14
|
-
*/
|
|
15
|
-
get type() {
|
|
16
|
-
return SharedTreeWithAnchorsFactory.Type;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory.attributes}
|
|
20
|
-
*/
|
|
21
|
-
get attributes() {
|
|
22
|
-
return SharedTreeWithAnchorsFactory.Attributes;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory.load}
|
|
26
|
-
*/
|
|
27
|
-
async load(runtime, id, services, _channelAttributes) {
|
|
28
|
-
const sharedTree = new SharedTreeWithAnchors(runtime, id);
|
|
29
|
-
await sharedTree.load(services);
|
|
30
|
-
return sharedTree;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Create a new SharedTree.
|
|
34
|
-
* @param runtime - data store runtime that owns the new SharedTree
|
|
35
|
-
* @param id - optional name for the SharedTree
|
|
36
|
-
*/
|
|
37
|
-
create(runtime, id, expensiveValidation) {
|
|
38
|
-
const sharedTree = new SharedTreeWithAnchors(runtime, id, expensiveValidation, this.includeHistoryInSummary());
|
|
39
|
-
sharedTree.initializeLocal();
|
|
40
|
-
return sharedTree;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Determines how the SharedTree will summarize the history.
|
|
44
|
-
* This is a workaround for lacking the ability to construct DDSs with custom parameters.
|
|
45
|
-
*/
|
|
46
|
-
includeHistoryInSummary() {
|
|
47
|
-
return true;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory."type"}
|
|
52
|
-
*/
|
|
53
|
-
SharedTreeWithAnchorsFactory.Type = 'SharedTreeWithAnchors';
|
|
54
|
-
/**
|
|
55
|
-
* {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory.attributes}
|
|
56
|
-
*/
|
|
57
|
-
SharedTreeWithAnchorsFactory.Attributes = {
|
|
58
|
-
type: SharedTreeWithAnchorsFactory.Type,
|
|
59
|
-
snapshotFormatVersion: '0.1',
|
|
60
|
-
packageVersion: '0.1',
|
|
61
|
-
};
|
|
62
|
-
/**
|
|
63
|
-
* Factory for SharedTreeWithAnchors.
|
|
64
|
-
* Does not include the history in the summary.
|
|
65
|
-
* This is a workaround for lacking the ability to construct DDSs with custom parameters.
|
|
66
|
-
* TODO:#54918: Clean up when DDS parameterization is supported.
|
|
67
|
-
* @public
|
|
68
|
-
*/
|
|
69
|
-
export class SharedTreeWithAnchorsFactoryNoHistory extends SharedTreeWithAnchorsFactory {
|
|
70
|
-
includeHistoryInSummary() {
|
|
71
|
-
return false;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
//# sourceMappingURL=Factory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Factory.js","sourceRoot":"","sources":["../../src/anchored-edits/Factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;;GAIG;AACH,MAAM,OAAO,4BAA4B;IAexC;;OAEG;IACH,IAAW,IAAI;QACd,OAAO,4BAA4B,CAAC,IAAI,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,IAAW,UAAU;QACpB,OAAO,4BAA4B,CAAC,UAAU,CAAC;IAChD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,IAAI,CAChB,OAA+B,EAC/B,EAAU,EACV,QAA0B,EAC1B,kBAAgD;QAEhD,MAAM,UAAU,GAAG,IAAI,qBAAqB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC1D,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,OAAO,UAAU,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,OAA+B,EAAE,EAAU,EAAE,mBAA6B;QACvF,MAAM,UAAU,GAAG,IAAI,qBAAqB,CAAC,OAAO,EAAE,EAAE,EAAE,mBAAmB,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;QAC/G,UAAU,CAAC,eAAe,EAAE,CAAC;QAC7B,OAAO,UAAU,CAAC;IACnB,CAAC;IAED;;;OAGG;IACO,uBAAuB;QAChC,OAAO,IAAI,CAAC;IACb,CAAC;;AA3DD;;GAEG;AACW,iCAAI,GAAG,uBAAuB,CAAC;AAE7C;;GAEG;AACW,uCAAU,GAAuB;IAC9C,IAAI,EAAE,4BAA4B,CAAC,IAAI;IACvC,qBAAqB,EAAE,KAAK;IAC5B,cAAc,EAAE,KAAK;CACrB,CAAC;AAkDH;;;;;;GAMG;AACH,MAAM,OAAO,qCAAsC,SAAQ,4BAA4B;IAC5E,uBAAuB;QAChC,OAAO,KAAK,CAAC;IACd,CAAC;CACD","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n\tIChannelAttributes,\n\tIFluidDataStoreRuntime,\n\tIChannelServices,\n\tIChannelFactory,\n} from '@fluidframework/datastore-definitions';\nimport { ISharedObject } from '@fluidframework/shared-object-base';\nimport { SharedTreeWithAnchors } from './SharedTreeWithAnchors';\n\n/**\n * Factory for SharedTreeWithAnchors.\n * Includes history in the summary.\n * @public\n */\nexport class SharedTreeWithAnchorsFactory implements IChannelFactory {\n\t/**\n\t * {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory.\"type\"}\n\t */\n\tpublic static Type = 'SharedTreeWithAnchors';\n\n\t/**\n\t * {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory.attributes}\n\t */\n\tpublic static Attributes: IChannelAttributes = {\n\t\ttype: SharedTreeWithAnchorsFactory.Type,\n\t\tsnapshotFormatVersion: '0.1',\n\t\tpackageVersion: '0.1',\n\t};\n\n\t/**\n\t * {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory.\"type\"}\n\t */\n\tpublic get type(): string {\n\t\treturn SharedTreeWithAnchorsFactory.Type;\n\t}\n\n\t/**\n\t * {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory.attributes}\n\t */\n\tpublic get attributes(): IChannelAttributes {\n\t\treturn SharedTreeWithAnchorsFactory.Attributes;\n\t}\n\n\t/**\n\t * {@inheritDoc @fluidframework/shared-object-base#ISharedObjectFactory.load}\n\t */\n\tpublic async load(\n\t\truntime: IFluidDataStoreRuntime,\n\t\tid: string,\n\t\tservices: IChannelServices,\n\t\t_channelAttributes: Readonly<IChannelAttributes>\n\t): Promise<ISharedObject> {\n\t\tconst sharedTree = new SharedTreeWithAnchors(runtime, id);\n\t\tawait sharedTree.load(services);\n\t\treturn sharedTree;\n\t}\n\n\t/**\n\t * Create a new SharedTree.\n\t * @param runtime - data store runtime that owns the new SharedTree\n\t * @param id - optional name for the SharedTree\n\t */\n\tpublic create(runtime: IFluidDataStoreRuntime, id: string, expensiveValidation?: boolean): SharedTreeWithAnchors {\n\t\tconst sharedTree = new SharedTreeWithAnchors(runtime, id, expensiveValidation, this.includeHistoryInSummary());\n\t\tsharedTree.initializeLocal();\n\t\treturn sharedTree;\n\t}\n\n\t/**\n\t * Determines how the SharedTree will summarize the history.\n\t * This is a workaround for lacking the ability to construct DDSs with custom parameters.\n\t */\n\tprotected includeHistoryInSummary(): boolean {\n\t\treturn true;\n\t}\n}\n\n/**\n * Factory for SharedTreeWithAnchors.\n * Does not include the history in the summary.\n * This is a workaround for lacking the ability to construct DDSs with custom parameters.\n * TODO:#54918: Clean up when DDS parameterization is supported.\n * @public\n */\nexport class SharedTreeWithAnchorsFactoryNoHistory extends SharedTreeWithAnchorsFactory {\n\tprotected includeHistoryInSummary(): boolean {\n\t\treturn false;\n\t}\n}\n"]}
|
|
@@ -1,245 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
-
* Licensed under the MIT License.
|
|
4
|
-
*/
|
|
5
|
-
import { DetachedSequenceId, NodeId, TraitLabel, UuidString } from '../Identifiers';
|
|
6
|
-
import { EditBase, BuildNode, NodeData, Payload, TraitLocation, TreeNodeSequence } from '../generic';
|
|
7
|
-
import { Build, ConstraintEffect, Detach, Insert, SetValue, StablePlace, StableRange, Constraint } from '../default-edits';
|
|
8
|
-
/**
|
|
9
|
-
* Types for Edits in Fluid Ops and Fluid summaries.
|
|
10
|
-
*
|
|
11
|
-
* Types describing locations in the tree are stable in the presence of other concurrent edits.
|
|
12
|
-
*
|
|
13
|
-
* All types are compatible with Fluid Serializable.
|
|
14
|
-
*
|
|
15
|
-
* These types can only be modified in ways that are both backwards and forwards compatible since they
|
|
16
|
-
* are used in edits, and thus are persisted (using Fluid serialization).
|
|
17
|
-
*
|
|
18
|
-
* This means these types cannot be changed in any way that impacts their Fluid serialization
|
|
19
|
-
* except through a very careful process:
|
|
20
|
-
*
|
|
21
|
-
* 1. The planned change must support all old data, and maintain the exact semantics of it.
|
|
22
|
-
* This means that the change is pretty much limited to adding optional fields,
|
|
23
|
-
* or making required fields optional.
|
|
24
|
-
* 2. Support for the new format must be deployed to all users (This means all applications using SharedTree must do this),
|
|
25
|
-
* and this deployment must be confirmed to be stable and will not be rolled back.
|
|
26
|
-
* 3. Usage of the new format may start.
|
|
27
|
-
*
|
|
28
|
-
* Support for the old format can NEVER be removed: it must be maintained indefinably or old documents will break.
|
|
29
|
-
* Because this process puts requirements on applications using shared tree,
|
|
30
|
-
* step 3 should only ever be done in a Major version update,
|
|
31
|
-
* and must be explicitly called out in the release notes
|
|
32
|
-
* stating which versions of SharedTree are supported for documents modified by the new version.
|
|
33
|
-
*/
|
|
34
|
-
/**
|
|
35
|
-
* The information included in an anchored edit.
|
|
36
|
-
* @public
|
|
37
|
-
*/
|
|
38
|
-
export declare type AnchoredEditBase = EditBase<AnchoredChange>;
|
|
39
|
-
/**
|
|
40
|
-
* A change that composes an Edit.
|
|
41
|
-
*
|
|
42
|
-
* `Change` objects can be conveniently constructed with the helper methods exported on a constant of the same name.
|
|
43
|
-
* @example
|
|
44
|
-
* Change.insert(sourceId, destination)
|
|
45
|
-
* @public
|
|
46
|
-
*/
|
|
47
|
-
export declare type AnchoredChange = AnchoredInsert | AnchoredDetach | Build | AnchoredSetValue | AnchoredConstraint;
|
|
48
|
-
/**
|
|
49
|
-
* Inserts a sequence of nodes at the specified destination.
|
|
50
|
-
* The source can be constructed either by a Build (used to insert new nodes) or a Detach (amounts to a "move" operation).
|
|
51
|
-
* @public
|
|
52
|
-
*/
|
|
53
|
-
export interface AnchoredInsert extends Insert {
|
|
54
|
-
readonly destination: PlaceAnchor;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Removes a sequence of nodes from the tree.
|
|
58
|
-
* If a destination is specified, the detached sequence is associated with that ID and held for possible reuse
|
|
59
|
-
* by later changes in this same Edit (such as by an Insert).
|
|
60
|
-
* A Detach without a destination is a deletion of the specified sequence, as is a Detach with a destination that is not used later.
|
|
61
|
-
* @public
|
|
62
|
-
*/
|
|
63
|
-
export interface AnchoredDetach extends Detach {
|
|
64
|
-
readonly source: RangeAnchor;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Modifies the payload of a node.
|
|
68
|
-
* @public
|
|
69
|
-
*/
|
|
70
|
-
export interface AnchoredSetValue extends SetValue {
|
|
71
|
-
readonly nodeToModify: NodeAnchor;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* A set of constraints on the validity of an Edit.
|
|
75
|
-
* A Constraint is used to detect when an Edit, due to other concurrent edits, may have unintended effects or merge in
|
|
76
|
-
* non-semantic ways. It is processed in order like any other Change in an Edit. It can cause an edit to fail if the
|
|
77
|
-
* various constraints are not met at the time of evaluation (ex: the parentNode has changed due to concurrent editing).
|
|
78
|
-
* Does not modify the document.
|
|
79
|
-
* @public
|
|
80
|
-
*/
|
|
81
|
-
export interface AnchoredConstraint extends Constraint {
|
|
82
|
-
/**
|
|
83
|
-
* Selects a sequence of nodes which will be checked against the constraints specified by the optional fields.
|
|
84
|
-
* If `toConstrain` is invalid, it will be treated like a constraint being unmet.
|
|
85
|
-
* Depending on `effect` this may or may not make the Edit invalid.
|
|
86
|
-
*
|
|
87
|
-
* When a constraint is not met, the effects is specified by `effect`.
|
|
88
|
-
*/
|
|
89
|
-
readonly toConstrain: RangeAnchor;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* @public
|
|
93
|
-
*/
|
|
94
|
-
export declare const AnchoredChange: {
|
|
95
|
-
build: (source: TreeNodeSequence<BuildNode>, destination: DetachedSequenceId) => Build;
|
|
96
|
-
insert: (source: DetachedSequenceId, destination: PlaceAnchor) => AnchoredInsert;
|
|
97
|
-
detach: (source: RangeAnchor, destination?: DetachedSequenceId | undefined) => AnchoredDetach;
|
|
98
|
-
setPayload: (nodeToModify: NodeAnchor, payload: Payload) => AnchoredSetValue;
|
|
99
|
-
clearPayload: (nodeToModify: NodeAnchor) => AnchoredSetValue;
|
|
100
|
-
constraint: (toConstrain: RangeAnchor, effect: ConstraintEffect, identityHash?: UuidString | undefined, length?: number | undefined, contentHash?: UuidString | undefined, parentNode?: NodeId | undefined, label?: TraitLabel | undefined) => AnchoredConstraint;
|
|
101
|
-
};
|
|
102
|
-
/**
|
|
103
|
-
* Helper for creating a `Delete` edit.
|
|
104
|
-
* @public
|
|
105
|
-
*/
|
|
106
|
-
export declare const AnchoredDelete: {
|
|
107
|
-
/**
|
|
108
|
-
* @returns an AnchoredChange that deletes the supplied part of the tree.
|
|
109
|
-
*/
|
|
110
|
-
create: (rangeAnchor: RangeAnchor) => AnchoredChange;
|
|
111
|
-
};
|
|
112
|
-
/**
|
|
113
|
-
* Helper for creating an `Insert` edit.
|
|
114
|
-
* @public
|
|
115
|
-
*/
|
|
116
|
-
export declare const AnchoredInsert: {
|
|
117
|
-
/**
|
|
118
|
-
* @returns an AnchoredChange that inserts 'nodes' into the specified location in the tree.
|
|
119
|
-
*/
|
|
120
|
-
create: (nodes: TreeNodeSequence<BuildNode>, destination: PlaceAnchor) => AnchoredChange[];
|
|
121
|
-
};
|
|
122
|
-
/**
|
|
123
|
-
* Helper for creating a `Move` edit.
|
|
124
|
-
* @public
|
|
125
|
-
*/
|
|
126
|
-
export declare const AnchoredMove: {
|
|
127
|
-
/**
|
|
128
|
-
* @returns an AnchoredChange that moves the specified content to a new location in the tree.
|
|
129
|
-
*/
|
|
130
|
-
create: (source: RangeAnchor, destination: PlaceAnchor) => AnchoredChange[];
|
|
131
|
-
};
|
|
132
|
-
/**
|
|
133
|
-
* Indicates one of the predefined alternatives for the semantics of a place in a tree.
|
|
134
|
-
*/
|
|
135
|
-
export declare enum PlaceAnchorSemanticsChoice {
|
|
136
|
-
/**
|
|
137
|
-
* The resulting `PlaceAnchor` is valid iff the referenced sibling or parent node with the given ID exists in the snapshot on which the
|
|
138
|
-
* change is applied.
|
|
139
|
-
*/
|
|
140
|
-
BoundToNode = 0,
|
|
141
|
-
/**
|
|
142
|
-
* The resulting `PlaceAnchor` is interpreted as relative to the siblings in the trait (or the parent in the case of start and end).
|
|
143
|
-
* If the sibling referenced in the `PlaceAnchor` is moved, the anchor moves with it.
|
|
144
|
-
* If the sibling referenced in the `PlaceAnchor` is deleted, the anchor is interpreted as relative to the next remaining sibling.
|
|
145
|
-
* If no siblings remain on the side of interest (before the referenced sibling for "After" places and after the referenced sibling
|
|
146
|
-
* for "Before" places) then the anchor is interpreted relative to the containing parent/trait (the start of the trait for "After"
|
|
147
|
-
* places and the end of the trait for "Before" places).
|
|
148
|
-
* If no siblings and no parent remains, the anchor is invalid.
|
|
149
|
-
*/
|
|
150
|
-
RelativeToNode = 1
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* A location in a trait with associated merge semantics.
|
|
154
|
-
* See also `StablePlace`.
|
|
155
|
-
* `PlaceAnchor`. objects can be conveniently constructed with the helper methods exported on a constant of the same name.
|
|
156
|
-
* @example
|
|
157
|
-
* PlaceAnchor.before(node)
|
|
158
|
-
* PlaceAnchor.atStartOf(trait)
|
|
159
|
-
* @public
|
|
160
|
-
*/
|
|
161
|
-
export interface PlaceAnchor extends StablePlace {
|
|
162
|
-
/**
|
|
163
|
-
* The choice of semantics for the place.
|
|
164
|
-
* No value is equivalent to PlaceAnchorSemanticsChoice.BoundToNode.
|
|
165
|
-
*/
|
|
166
|
-
readonly semantics?: PlaceAnchorSemanticsChoice;
|
|
167
|
-
}
|
|
168
|
-
export declare type RelativePlaceAnchor = PlaceAnchor & {
|
|
169
|
-
semantic: PlaceAnchorSemanticsChoice.RelativeToNode;
|
|
170
|
-
};
|
|
171
|
-
/**
|
|
172
|
-
* Specifies the range of nodes from `start` to `end` within a trait.
|
|
173
|
-
* See also `StableRange`.
|
|
174
|
-
* Valid iff start and end are valid and are within the same trait and the start does not occur after the end in the trait.
|
|
175
|
-
*
|
|
176
|
-
* `RangeAnchor`s are currently resolved by resolving their constituent places and checking the validity of the resulting range.
|
|
177
|
-
* This may lead to the range becoming invalid (i.e., cannot be resolved) despite there being reasonable ways to salvage it.
|
|
178
|
-
* For example the range [After(B), Before(D)] in the trait [A, B, C, D] would be made invalid by a change that moves B after D.
|
|
179
|
-
* A reasonable resolution would be to resolve the range to [After(A), Before(D)]. The current implementation will instead treat
|
|
180
|
-
* the range as invalid.
|
|
181
|
-
* Future improvements may offer more a resilient resolution strategy for ranges.
|
|
182
|
-
*
|
|
183
|
-
* `RangeAnchor` objects can be conveniently constructed with the helper methods exported on a constant of the same name.
|
|
184
|
-
* @example
|
|
185
|
-
* RangeAnchor.from(PlaceAnchor.before(startNode)).to(PlaceAnchor.after(endNode))
|
|
186
|
-
* @public
|
|
187
|
-
*/
|
|
188
|
-
export interface RangeAnchor extends StableRange {
|
|
189
|
-
readonly start: PlaceAnchor;
|
|
190
|
-
readonly end: PlaceAnchor;
|
|
191
|
-
}
|
|
192
|
-
export declare type NodeAnchor = NodeId;
|
|
193
|
-
/**
|
|
194
|
-
* The remainder of this file consists of ergonomic factory methods for persisted types, or common combinations thereof (e.g. "Move" as a
|
|
195
|
-
* combination of a "Detach" change and an "Insert" change).
|
|
196
|
-
*
|
|
197
|
-
* None of these helpers are persisted in documents, and therefore changes to their semantics need only follow standard semantic versioning
|
|
198
|
-
* practices.
|
|
199
|
-
*/
|
|
200
|
-
/**
|
|
201
|
-
* @public
|
|
202
|
-
*/
|
|
203
|
-
export declare const PlaceAnchor: {
|
|
204
|
-
/**
|
|
205
|
-
* @returns The location directly before `node`.
|
|
206
|
-
*/
|
|
207
|
-
before: (node: NodeData | NodeId, semantics?: PlaceAnchorSemanticsChoice) => PlaceAnchor;
|
|
208
|
-
/**
|
|
209
|
-
* @returns The location directly after `node`.
|
|
210
|
-
*/
|
|
211
|
-
after: (node: NodeData | NodeId, semantics?: PlaceAnchorSemanticsChoice) => PlaceAnchor;
|
|
212
|
-
/**
|
|
213
|
-
* @returns The location at the start of `trait`.
|
|
214
|
-
*/
|
|
215
|
-
atStartOf: (trait: TraitLocation, semantics?: PlaceAnchorSemanticsChoice) => PlaceAnchor;
|
|
216
|
-
/**
|
|
217
|
-
* @returns The location at the end of `trait`.
|
|
218
|
-
*/
|
|
219
|
-
atEndOf: (trait: TraitLocation, semantics?: PlaceAnchorSemanticsChoice) => PlaceAnchor;
|
|
220
|
-
};
|
|
221
|
-
/**
|
|
222
|
-
* @public
|
|
223
|
-
*/
|
|
224
|
-
export declare const RangeAnchor: {
|
|
225
|
-
/**
|
|
226
|
-
* Factory for producing a `RangeAnchor` from a start `StablePlace` to an end `StablePlace`.
|
|
227
|
-
* @example
|
|
228
|
-
* RangeAnchor.from(StablePlace.before(startNode)).to(StablePlace.after(endNode))
|
|
229
|
-
*/
|
|
230
|
-
from: (start: PlaceAnchor) => {
|
|
231
|
-
to: (end: PlaceAnchor) => RangeAnchor;
|
|
232
|
-
};
|
|
233
|
-
/**
|
|
234
|
-
* @returns a `RangeAnchor` which contains only the provided `node`.
|
|
235
|
-
* Both the start and end `PlaceAnchor` objects used to anchor this `RangeAnchor` are in terms of the passed in node.
|
|
236
|
-
*/
|
|
237
|
-
only: (node: NodeData | NodeAnchor, semantics?: PlaceAnchorSemanticsChoice) => RangeAnchor;
|
|
238
|
-
/**
|
|
239
|
-
* @returns a `RangeAnchor` which contains everything in the trait.
|
|
240
|
-
* This is anchored using the provided `trait`, and is independent of the actual contents of the trait:
|
|
241
|
-
* it does not use sibling anchoring.
|
|
242
|
-
*/
|
|
243
|
-
all: (trait: TraitLocation) => RangeAnchor;
|
|
244
|
-
};
|
|
245
|
-
//# sourceMappingURL=PersistedTypes.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PersistedTypes.d.ts","sourceRoot":"","sources":["../../src/anchored-edits/PersistedTypes.ts"],"names":[],"mappings":"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"}
|