@fluid-experimental/tree 0.58.2002 → 0.59.1000
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 +52 -0
- package/dist/Transaction.d.ts.map +1 -0
- package/dist/Transaction.js +72 -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 +52 -0
- package/lib/Transaction.d.ts.map +1 -0
- package/lib/Transaction.js +68 -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 +76 -330
- 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 +89 -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
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
import { EditStatus } from './persisted-types';
|
|
6
|
+
import { newEditId } from './EditUtilities';
|
|
7
|
+
import { GenericTransaction, TransactionInternal } from './TransactionInternal';
|
|
8
|
+
import { CachingLogViewer } from './LogViewer';
|
|
9
|
+
/**
|
|
10
|
+
* Buffers changes to be applied to an isolated view of a `SharedTree` over time before applying them directly to the tree itself as a
|
|
11
|
+
* single edit
|
|
12
|
+
*/
|
|
13
|
+
export class Transaction {
|
|
14
|
+
/**
|
|
15
|
+
* Create a new transaction over the given tree. The tree's `currentView` at this time will become the `startingView` for this
|
|
16
|
+
* transaction.
|
|
17
|
+
* @param tree - the `SharedTree` that this transaction applies changes to
|
|
18
|
+
*/
|
|
19
|
+
constructor(tree) {
|
|
20
|
+
this.tree = tree;
|
|
21
|
+
const { currentView } = tree;
|
|
22
|
+
this.transaction = new GenericTransaction(currentView, new TransactionInternal.Policy());
|
|
23
|
+
this.startingView = currentView;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* True if this transaction is open, false if it is closed. A transaction may be closed manually via `closeAndApplyEdit()`, or may
|
|
27
|
+
* be automatically closed by a change in this transaction failing to apply (see `applyChange()`).
|
|
28
|
+
*/
|
|
29
|
+
get isOpen() {
|
|
30
|
+
return this.transaction.isOpen && this.status === EditStatus.Applied;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The status of the most recently applied change in this transaction
|
|
34
|
+
*/
|
|
35
|
+
get status() {
|
|
36
|
+
return this.transaction.status;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* The state of the tree following the most change that was successfully applied. If no changes have been applied, this is the same as
|
|
40
|
+
* `startingView`.
|
|
41
|
+
*/
|
|
42
|
+
get currentView() {
|
|
43
|
+
return this.transaction.view;
|
|
44
|
+
}
|
|
45
|
+
apply(headOrChanges, ...tail) {
|
|
46
|
+
if (this.isOpen) {
|
|
47
|
+
const changes = Array.isArray(headOrChanges) ? headOrChanges : [headOrChanges, ...tail];
|
|
48
|
+
this.transaction.applyChanges(changes.map((c) => this.tree.internalizeChange(c)));
|
|
49
|
+
}
|
|
50
|
+
return this.status;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Close this transaction and apply its changes to the `SharedTree`. If this transaction is already closed, this method has no effect.
|
|
54
|
+
*/
|
|
55
|
+
closeAndCommit() {
|
|
56
|
+
if (this.isOpen) {
|
|
57
|
+
if (this.transaction.changes.length > 0) {
|
|
58
|
+
const edit = { id: newEditId(), changes: this.transaction.changes };
|
|
59
|
+
const result = this.transaction.close();
|
|
60
|
+
if (this.tree.editsInternal instanceof CachingLogViewer) {
|
|
61
|
+
this.tree.editsInternal.setKnownEditingResult(edit, result);
|
|
62
|
+
}
|
|
63
|
+
this.tree.applyEditInternal(edit);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=Transaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../src/Transaction.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAwB,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C;;;GAGG;AACH,MAAM,OAAO,WAAW;IAKvB;;;;OAIG;IACH,YAAmC,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAClD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,kBAAkB,CAAC,WAAW,EAAE,IAAI,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC;QACzF,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,IAAW,MAAM;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,OAAO,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,IAAW,WAAW;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAC9B,CAAC;IAWM,KAAK,CAAC,aAAgC,EAAE,GAAG,IAAc;QAC/D,IAAI,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,CAAC;YACxF,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAClF;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED;;OAEG;IACI,cAAc;QACpB,IAAI,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxC,MAAM,IAAI,GAAyB,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBAC1F,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBACxC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,YAAY,gBAAgB,EAAE;oBACxD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;iBAC5D;gBACD,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;aAClC;SACD;IACF,CAAC;CACD","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ChangeInternal, Edit, EditStatus } from './persisted-types';\nimport { newEditId } from './EditUtilities';\nimport { TreeView } from './TreeView';\nimport { Change } from './ChangeTypes';\nimport { SharedTree } from './SharedTree';\nimport { GenericTransaction, TransactionInternal } from './TransactionInternal';\nimport { CachingLogViewer } from './LogViewer';\n\n/**\n * Buffers changes to be applied to an isolated view of a `SharedTree` over time before applying them directly to the tree itself as a\n * single edit\n */\nexport class Transaction {\n\t/** The view of the tree when this transaction was created */\n\tpublic readonly startingView: TreeView;\n\tprivate readonly transaction: GenericTransaction;\n\n\t/**\n\t * Create a new transaction over the given tree. The tree's `currentView` at this time will become the `startingView` for this\n\t * transaction.\n\t * @param tree - the `SharedTree` that this transaction applies changes to\n\t */\n\tpublic constructor(public readonly tree: SharedTree) {\n\t\tconst { currentView } = tree;\n\t\tthis.transaction = new GenericTransaction(currentView, new TransactionInternal.Policy());\n\t\tthis.startingView = currentView;\n\t}\n\n\t/**\n\t * True if this transaction is open, false if it is closed. A transaction may be closed manually via `closeAndApplyEdit()`, or may\n\t * be automatically closed by a change in this transaction failing to apply (see `applyChange()`).\n\t */\n\tpublic get isOpen(): boolean {\n\t\treturn this.transaction.isOpen && this.status === EditStatus.Applied;\n\t}\n\n\t/**\n\t * The status of the most recently applied change in this transaction\n\t */\n\tpublic get status(): EditStatus {\n\t\treturn this.transaction.status;\n\t}\n\n\t/**\n\t * The state of the tree following the most change that was successfully applied. If no changes have been applied, this is the same as\n\t * `startingView`.\n\t */\n\tpublic get currentView(): TreeView {\n\t\treturn this.transaction.view;\n\t}\n\n\t/**\n\t * Attempt to apply a sequence of changes in this transaction. The `currentView` will be updated to reflect the new tree state after all\n\t * applied changes. If any change fails to apply, the remaining changes will be ignored and this transaction will be automatically\n\t * closed (see `isOpen`). If this transaction is already closed, this method has no effect.\n\t * @param changes - the changes to apply\n\t * @returns either the `EditStatus` of the given changes or the `EditStatus` of the last change before the transaction was closed\n\t */\n\tpublic apply(...changes: Change[]): EditStatus;\n\tpublic apply(changes: Change[]): EditStatus;\n\tpublic apply(headOrChanges: Change | Change[], ...tail: Change[]): EditStatus {\n\t\tif (this.isOpen) {\n\t\t\tconst changes = Array.isArray(headOrChanges) ? headOrChanges : [headOrChanges, ...tail];\n\t\t\tthis.transaction.applyChanges(changes.map((c) => this.tree.internalizeChange(c)));\n\t\t}\n\t\treturn this.status;\n\t}\n\n\t/**\n\t * Close this transaction and apply its changes to the `SharedTree`. If this transaction is already closed, this method has no effect.\n\t */\n\tpublic closeAndCommit(): void {\n\t\tif (this.isOpen) {\n\t\t\tif (this.transaction.changes.length > 0) {\n\t\t\t\tconst edit: Edit<ChangeInternal> = { id: newEditId(), changes: this.transaction.changes };\n\t\t\t\tconst result = this.transaction.close();\n\t\t\t\tif (this.tree.editsInternal instanceof CachingLogViewer) {\n\t\t\t\t\tthis.tree.editsInternal.setKnownEditingResult(edit, result);\n\t\t\t\t}\n\t\t\t\tthis.tree.applyEditInternal(edit);\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
|
|
@@ -0,0 +1,540 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
import { Result } from './Common';
|
|
6
|
+
import { NodeId, DetachedSequenceId, TraitLabel } from './Identifiers';
|
|
7
|
+
import { BuildNodeInternal, ChangeInternal, ConstraintInternal, EditStatus, StablePlaceInternal, StableRangeInternal } from './persisted-types';
|
|
8
|
+
import { BadPlaceValidationResult, BadRangeValidationResult } from './EditUtilities';
|
|
9
|
+
import { RevisionView, TransactionView } from './RevisionView';
|
|
10
|
+
import { ReconciliationChange, ReconciliationPath } from './ReconciliationPath';
|
|
11
|
+
import { TreeViewNode } from './TreeView';
|
|
12
|
+
/**
|
|
13
|
+
* Result of applying a transaction.
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
export declare type EditingResult = FailedEditingResult | ValidEditingResult;
|
|
17
|
+
/**
|
|
18
|
+
* Basic result of applying a transaction.
|
|
19
|
+
* @public
|
|
20
|
+
*/
|
|
21
|
+
export interface EditingResultBase {
|
|
22
|
+
/**
|
|
23
|
+
* The final status of the transaction.
|
|
24
|
+
*/
|
|
25
|
+
readonly status: EditStatus;
|
|
26
|
+
/**
|
|
27
|
+
* The valid changes applied as part of the transaction.
|
|
28
|
+
*/
|
|
29
|
+
readonly changes: readonly ChangeInternal[];
|
|
30
|
+
/**
|
|
31
|
+
* The editing steps applied as part of the transaction.
|
|
32
|
+
*/
|
|
33
|
+
readonly steps: readonly ReconciliationChange[];
|
|
34
|
+
/**
|
|
35
|
+
* The revision preceding the transaction.
|
|
36
|
+
*/
|
|
37
|
+
readonly before: RevisionView;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Result of applying an invalid or malformed transaction.
|
|
41
|
+
* @public
|
|
42
|
+
*/
|
|
43
|
+
export interface FailedEditingResult extends EditingResultBase {
|
|
44
|
+
/**
|
|
45
|
+
* {@inheritDoc EditingResultBase.status}
|
|
46
|
+
*/
|
|
47
|
+
readonly status: EditStatus.Invalid | EditStatus.Malformed;
|
|
48
|
+
/**
|
|
49
|
+
* Information about what caused the transaction to fail.
|
|
50
|
+
*/
|
|
51
|
+
readonly failure: TransactionInternal.Failure;
|
|
52
|
+
/**
|
|
53
|
+
* The valid changes applied as part of the transaction.
|
|
54
|
+
* Those were ultimately abandoned due to the transaction failure.
|
|
55
|
+
*/
|
|
56
|
+
readonly changes: readonly ChangeInternal[];
|
|
57
|
+
/**
|
|
58
|
+
* The editing steps applied as part of the transaction.
|
|
59
|
+
* Those were ultimately abandoned due to the transaction failure.
|
|
60
|
+
*/
|
|
61
|
+
readonly steps: readonly ReconciliationChange[];
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Result of applying a valid transaction.
|
|
65
|
+
* @public
|
|
66
|
+
*/
|
|
67
|
+
export interface ValidEditingResult extends EditingResultBase {
|
|
68
|
+
/**
|
|
69
|
+
* {@inheritDoc EditingResultBase.status}
|
|
70
|
+
*/
|
|
71
|
+
readonly status: EditStatus.Applied;
|
|
72
|
+
/**
|
|
73
|
+
* The new revision produced by the transaction.
|
|
74
|
+
*/
|
|
75
|
+
readonly after: RevisionView;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* The result of applying a change within a transaction.
|
|
79
|
+
* @public
|
|
80
|
+
*/
|
|
81
|
+
export declare type ChangeResult = Result<TransactionView, TransactionFailure>;
|
|
82
|
+
/**
|
|
83
|
+
* The ongoing state of a transaction.
|
|
84
|
+
* @public
|
|
85
|
+
*/
|
|
86
|
+
export declare type TransactionState = SucceedingTransactionState | FailingTransactionState;
|
|
87
|
+
/**
|
|
88
|
+
* The state of a transaction that has not encountered an error.
|
|
89
|
+
*/
|
|
90
|
+
export interface SucceedingTransactionState {
|
|
91
|
+
/**
|
|
92
|
+
* The current status of the transaction.
|
|
93
|
+
*/
|
|
94
|
+
readonly status: EditStatus.Applied;
|
|
95
|
+
/**
|
|
96
|
+
* The view reflecting the latest applied change.
|
|
97
|
+
*/
|
|
98
|
+
readonly view: TransactionView;
|
|
99
|
+
/**
|
|
100
|
+
* The applied changes so far.
|
|
101
|
+
*/
|
|
102
|
+
readonly changes: readonly ChangeInternal[];
|
|
103
|
+
/**
|
|
104
|
+
* The editing steps applied so far.
|
|
105
|
+
*/
|
|
106
|
+
readonly steps: readonly ReconciliationChange[];
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* The state of a transaction that has encountered an error.
|
|
110
|
+
*/
|
|
111
|
+
export interface FailingTransactionState extends TransactionFailure {
|
|
112
|
+
/**
|
|
113
|
+
* The view reflecting the latest applied change.
|
|
114
|
+
*/
|
|
115
|
+
readonly view: TransactionView;
|
|
116
|
+
/**
|
|
117
|
+
* The applied changes so far.
|
|
118
|
+
*/
|
|
119
|
+
readonly changes: readonly ChangeInternal[];
|
|
120
|
+
/**
|
|
121
|
+
* The editing steps applied so far.
|
|
122
|
+
*/
|
|
123
|
+
readonly steps: readonly ReconciliationChange[];
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* The failure state of a transaction.
|
|
127
|
+
*/
|
|
128
|
+
export interface TransactionFailure {
|
|
129
|
+
/**
|
|
130
|
+
* The status indicating the kind of failure encountered.
|
|
131
|
+
*/
|
|
132
|
+
readonly status: EditStatus.Invalid | EditStatus.Malformed;
|
|
133
|
+
/**
|
|
134
|
+
* Information about what caused the transaction to fail.
|
|
135
|
+
*/
|
|
136
|
+
readonly failure: TransactionInternal.Failure;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* A mutable transaction for applying sequences of changes to a TreeView.
|
|
140
|
+
* Allows viewing the intermediate states.
|
|
141
|
+
*
|
|
142
|
+
* Contains necessary state to apply changes within an edit to a TreeView.
|
|
143
|
+
*
|
|
144
|
+
* May have any number of changes applied to make up the edit.
|
|
145
|
+
* Use `close` to complete the transaction, returning the array of changes and an EditingResult showing the
|
|
146
|
+
* results of applying the changes as an Edit to the initial TreeView (passed to the constructor).
|
|
147
|
+
*
|
|
148
|
+
* No data outside the Transaction is modified by Transaction:
|
|
149
|
+
* the results from `close` must be used to actually submit an `Edit`.
|
|
150
|
+
*/
|
|
151
|
+
export declare class GenericTransaction {
|
|
152
|
+
private readonly policy;
|
|
153
|
+
protected readonly before: RevisionView;
|
|
154
|
+
private state;
|
|
155
|
+
private open;
|
|
156
|
+
/**
|
|
157
|
+
* Create and open an edit of the provided `TreeView`. After applying 0 or more changes, this editor should be closed via `close()`.
|
|
158
|
+
* @param view - the `TreeView` at which this edit begins. The first change will be applied against this view.
|
|
159
|
+
*/
|
|
160
|
+
constructor(view: RevisionView, policy: GenericTransactionPolicy);
|
|
161
|
+
/** Whether or not this transaction has been closed via `close()` */
|
|
162
|
+
get isOpen(): boolean;
|
|
163
|
+
/**
|
|
164
|
+
* The most up-to-date `TreeView` for this edit. This is the state of the tree after all changes applied so far.
|
|
165
|
+
*/
|
|
166
|
+
get view(): TransactionView;
|
|
167
|
+
/**
|
|
168
|
+
* The status code of the most recent attempted change.
|
|
169
|
+
*/
|
|
170
|
+
get status(): EditStatus;
|
|
171
|
+
/**
|
|
172
|
+
* The status code of the most recent attempted change.
|
|
173
|
+
*/
|
|
174
|
+
get changes(): readonly ChangeInternal[];
|
|
175
|
+
/**
|
|
176
|
+
* The status code of the most recent attempted change.
|
|
177
|
+
*/
|
|
178
|
+
get steps(): readonly ReconciliationChange[];
|
|
179
|
+
/** @returns the final `EditStatus` and `TreeView` after all changes are applied. */
|
|
180
|
+
close(): EditingResult;
|
|
181
|
+
/**
|
|
182
|
+
* A helper to apply a sequence of changes. Changes will be applied one after the other. If a change fails to apply,
|
|
183
|
+
* the remaining changes in `changes` will be ignored.
|
|
184
|
+
* @param changes - the sequence of changes to apply.
|
|
185
|
+
* @param path - the reconciliation path for the first change.
|
|
186
|
+
* @returns this
|
|
187
|
+
*/
|
|
188
|
+
applyChanges(changes: Iterable<ChangeInternal>, path?: ReconciliationPath): this;
|
|
189
|
+
/**
|
|
190
|
+
* Attempt to apply the given change as part of this edit. This method should not be called if a previous change in this edit failed to
|
|
191
|
+
* apply.
|
|
192
|
+
* @param change - the change to apply
|
|
193
|
+
* @param path - the reconciliation path for the change.
|
|
194
|
+
* @returns this
|
|
195
|
+
*/
|
|
196
|
+
applyChange(change: ChangeInternal, path?: ReconciliationPath): this;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* An object that encapsulates the rules and state pertaining to a specific subclass of {@link GenericTransaction}.
|
|
200
|
+
* The characteristics that define such a subclass (and an implementation of this interface) are:
|
|
201
|
+
* - The type of change that can be applied
|
|
202
|
+
* - How those changes impact the state of the tree
|
|
203
|
+
* - How those changes are resolved in the face of concurrent changes
|
|
204
|
+
* - What makes a transaction valid
|
|
205
|
+
* - The kind of situations that might lead to a transaction failure
|
|
206
|
+
*
|
|
207
|
+
* Instances of this type are passed to the {@link GenericTransaction} constructor.
|
|
208
|
+
*/
|
|
209
|
+
export interface GenericTransactionPolicy {
|
|
210
|
+
/**
|
|
211
|
+
* Given a change, attempts to derive an equivalent change which can be applied to the current state even if the given change was issued
|
|
212
|
+
* over a different state. This can be used to apply a sequence of changes that were issued concurrently, i.e., without knowledge of
|
|
213
|
+
* each other.
|
|
214
|
+
* @param state - The current state on which the returned change will be applied.
|
|
215
|
+
* @param change - The original change issued.
|
|
216
|
+
* @param path - The reconciliation path for the change.
|
|
217
|
+
* @returns The change to be applied to the current state, or a failure if the change cannot be resolved.
|
|
218
|
+
*/
|
|
219
|
+
tryResolveChange(state: SucceedingTransactionState, change: ChangeInternal, path: ReconciliationPath): Result<ChangeInternal, TransactionFailure>;
|
|
220
|
+
/**
|
|
221
|
+
* Provides a new state given the current state and a change to apply.
|
|
222
|
+
* @param state - The current state on which the change is applied.
|
|
223
|
+
* @param change - The change to apply to the current state.
|
|
224
|
+
* @returns The new state reflecting the applied change, or a failure.
|
|
225
|
+
*/
|
|
226
|
+
dispatchChange(state: SucceedingTransactionState, change: ChangeInternal): ChangeResult;
|
|
227
|
+
/**
|
|
228
|
+
* Additional transaction validation when the transaction is closed.
|
|
229
|
+
* @param state - The current state of the transaction.
|
|
230
|
+
* @returns The new state reflecting the closed transaction, or a failure if the transaction cannot be closed.
|
|
231
|
+
*/
|
|
232
|
+
validateOnClose(state: SucceedingTransactionState): ChangeResult;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* A mutable transaction for applying sequences of changes to a TreeView.
|
|
236
|
+
* Allows viewing the intermediate states.
|
|
237
|
+
*
|
|
238
|
+
* Contains necessary state to apply changes within an edit to a TreeView.
|
|
239
|
+
*
|
|
240
|
+
* May have any number of changes applied to make up the edit.
|
|
241
|
+
* Use `close` to complete the transaction, returning the array of changes and an EditingResult showing the
|
|
242
|
+
* results of applying the changes as an Edit to the initial TreeView (passed to the constructor).
|
|
243
|
+
*
|
|
244
|
+
* No data outside the Transaction is modified by Transaction:
|
|
245
|
+
* the results from `close` must be used to actually submit an `Edit`.
|
|
246
|
+
* @public
|
|
247
|
+
*/
|
|
248
|
+
export declare namespace TransactionInternal {
|
|
249
|
+
/**
|
|
250
|
+
* Makes a new {@link GenericTransaction} that follows the {@link TransactionInternal.Policy} policy.
|
|
251
|
+
*/
|
|
252
|
+
export function factory(view: RevisionView): GenericTransaction;
|
|
253
|
+
type ValidState = SucceedingTransactionState;
|
|
254
|
+
/**
|
|
255
|
+
* The policy followed by a {@link TransactionInternal}.
|
|
256
|
+
*/
|
|
257
|
+
export class Policy implements GenericTransactionPolicy {
|
|
258
|
+
/**
|
|
259
|
+
* Maps detached sequences of nodes to their NodeIds
|
|
260
|
+
*/
|
|
261
|
+
protected readonly detached: Map<DetachedSequenceId, readonly NodeId[]>;
|
|
262
|
+
/**
|
|
263
|
+
* Resolves change with Result.Ok
|
|
264
|
+
*
|
|
265
|
+
* @param state - Unused
|
|
266
|
+
* @param change - Change to resolve
|
|
267
|
+
* @returns Result.Ok which contains change
|
|
268
|
+
*/
|
|
269
|
+
tryResolveChange(state: ValidState, change: ChangeInternal): Result.Ok<ChangeInternal>;
|
|
270
|
+
/**
|
|
271
|
+
* Validates the transaction when it is closed
|
|
272
|
+
*
|
|
273
|
+
* @param state - Current state
|
|
274
|
+
* @returns a {@link ChangeResult} containing either the change result or a Failure
|
|
275
|
+
*/
|
|
276
|
+
validateOnClose(state: ValidState): ChangeResult;
|
|
277
|
+
/**
|
|
278
|
+
* Applies a given change
|
|
279
|
+
*
|
|
280
|
+
* @param state - Current state
|
|
281
|
+
* @param change - Change to apply
|
|
282
|
+
* @returns a {@link ChangeResult} containing either the change result or a Failure
|
|
283
|
+
*/
|
|
284
|
+
dispatchChange(state: ValidState, change: ChangeInternal): ChangeResult;
|
|
285
|
+
private applyBuild;
|
|
286
|
+
private applyInsert;
|
|
287
|
+
private applyDetach;
|
|
288
|
+
private applyConstraint;
|
|
289
|
+
private applySetValue;
|
|
290
|
+
/**
|
|
291
|
+
* Generates tree view nodes from the supplied edit nodes.
|
|
292
|
+
* Invokes onCreateNode for each new node, and halts creation early if it returns true.
|
|
293
|
+
* Invokes onInvalidDetachedId and halts early for any invalid detached IDs referenced in the edit node sequence.
|
|
294
|
+
* @returns all the top-level node IDs in `sequence` (both from nodes and from detached sequences).
|
|
295
|
+
*/
|
|
296
|
+
protected createViewNodesForTree(sequence: Iterable<BuildNodeInternal>, onCreateNode: (stableId: NodeId, node: TreeViewNode) => boolean, onInvalidDetachedId: (sequenceId: DetachedSequenceId) => void): NodeId[] | undefined;
|
|
297
|
+
private getDetachedNodeIds;
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* The kinds of failures that a transaction might encounter.
|
|
301
|
+
*/
|
|
302
|
+
export enum FailureKind {
|
|
303
|
+
/**
|
|
304
|
+
* Transaction has an unused DetachedSequenceId
|
|
305
|
+
*/
|
|
306
|
+
UnusedDetachedSequence = "UnusedDetachedSequence",
|
|
307
|
+
/**
|
|
308
|
+
* Transaction has a build operation using an already in use DetachedSequenceID.
|
|
309
|
+
*/
|
|
310
|
+
DetachedSequenceIdAlreadyInUse = "DetachedSequenceIdAlreadyInUse",
|
|
311
|
+
/**
|
|
312
|
+
* Transaction tries to operate on an unknown DetachedSequenceID
|
|
313
|
+
*/
|
|
314
|
+
DetachedSequenceNotFound = "DetachedSequenceNotFound",
|
|
315
|
+
/**
|
|
316
|
+
* Transaction has a build which uses a duplicated NodeId
|
|
317
|
+
*/
|
|
318
|
+
DuplicateIdInBuild = "DuplicateIdInBuild",
|
|
319
|
+
/**
|
|
320
|
+
* Transaction tries to build a node using an ID which is already used in the current state
|
|
321
|
+
*/
|
|
322
|
+
IdAlreadyInUse = "IdAlreadyInUse",
|
|
323
|
+
/**
|
|
324
|
+
* Transaction tries to set value of an unknown node
|
|
325
|
+
*/
|
|
326
|
+
UnknownId = "UnknownId",
|
|
327
|
+
/**
|
|
328
|
+
* Transaction tries to insert in an invalid Place
|
|
329
|
+
*/
|
|
330
|
+
BadPlace = "BadPlace",
|
|
331
|
+
/**
|
|
332
|
+
* Transaction tries to detach an invalid Range
|
|
333
|
+
*/
|
|
334
|
+
BadRange = "BadRange",
|
|
335
|
+
/**
|
|
336
|
+
* Transaction has an invalid constraint
|
|
337
|
+
*/
|
|
338
|
+
ConstraintViolation = "ConstraintViolation"
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* A failure encountered by a transaction.
|
|
342
|
+
*/
|
|
343
|
+
export type Failure = UnusedDetachedSequenceFailure | DetachedSequenceIdAlreadyInUseFailure | DetachedSequenceNotFoundFailure | DuplicateIdInBuildFailure | IdAlreadyInUseFailure | UnknownIdFailure | BadPlaceFailure | BadRangeFailure | ConstraintViolationFailure;
|
|
344
|
+
/**
|
|
345
|
+
* Error returned when a transaction is closed while there is an unused detached sequence.
|
|
346
|
+
*/
|
|
347
|
+
export interface UnusedDetachedSequenceFailure {
|
|
348
|
+
/**
|
|
349
|
+
* Failure kind (will always be FailureKind.UnusedDetachedSequence)
|
|
350
|
+
*/
|
|
351
|
+
readonly kind: FailureKind.UnusedDetachedSequence;
|
|
352
|
+
/**
|
|
353
|
+
* The unused DetachedSequenceId
|
|
354
|
+
*/
|
|
355
|
+
readonly sequenceId: DetachedSequenceId;
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
358
|
+
* Error thrown when a transaction encounters a build operation using an already in use DetachedSequenceID.
|
|
359
|
+
*/
|
|
360
|
+
export interface DetachedSequenceIdAlreadyInUseFailure {
|
|
361
|
+
/**
|
|
362
|
+
* Failure kind (will always be FailureKind.DetachedSequenceIdAlreadyInUse)
|
|
363
|
+
*/
|
|
364
|
+
readonly kind: FailureKind.DetachedSequenceIdAlreadyInUse;
|
|
365
|
+
/**
|
|
366
|
+
* Faulting Change
|
|
367
|
+
*/
|
|
368
|
+
readonly change: ChangeInternal;
|
|
369
|
+
/**
|
|
370
|
+
* The DetachedSequenceId that is already in use
|
|
371
|
+
*/
|
|
372
|
+
readonly sequenceId: DetachedSequenceId;
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
375
|
+
* Error thrown when a transaction tries to operate on an unknown DetachedSequenceID
|
|
376
|
+
*/
|
|
377
|
+
export interface DetachedSequenceNotFoundFailure {
|
|
378
|
+
/**
|
|
379
|
+
* Failure kind (will always be FailureKind.DetachedSequenceNotFound)
|
|
380
|
+
*/
|
|
381
|
+
readonly kind: FailureKind.DetachedSequenceNotFound;
|
|
382
|
+
/**
|
|
383
|
+
* Faulting Change
|
|
384
|
+
*/
|
|
385
|
+
readonly change: ChangeInternal;
|
|
386
|
+
/**
|
|
387
|
+
* The DetachedSequenceId that wasn't found
|
|
388
|
+
*/
|
|
389
|
+
readonly sequenceId: DetachedSequenceId;
|
|
390
|
+
}
|
|
391
|
+
/**
|
|
392
|
+
* Error thrown when a build uses a duplicated NodeId
|
|
393
|
+
*/
|
|
394
|
+
export interface DuplicateIdInBuildFailure {
|
|
395
|
+
/**
|
|
396
|
+
* Failure kind (will always be FailureKind.DuplicateIdInBuild)
|
|
397
|
+
*/
|
|
398
|
+
readonly kind: FailureKind.DuplicateIdInBuild;
|
|
399
|
+
/**
|
|
400
|
+
* Faulting Change
|
|
401
|
+
*/
|
|
402
|
+
readonly change: ChangeInternal;
|
|
403
|
+
/**
|
|
404
|
+
* ID of duplicated node
|
|
405
|
+
*/
|
|
406
|
+
readonly id: NodeId;
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* Error thrown when a build node ID is already used in the current state
|
|
410
|
+
*/
|
|
411
|
+
export interface IdAlreadyInUseFailure {
|
|
412
|
+
/**
|
|
413
|
+
* Failure kind (will always be FailureKind.IdAlreadyInUse)
|
|
414
|
+
*/
|
|
415
|
+
readonly kind: FailureKind.IdAlreadyInUse;
|
|
416
|
+
/**
|
|
417
|
+
* Faulting Change
|
|
418
|
+
*/
|
|
419
|
+
readonly change: ChangeInternal;
|
|
420
|
+
/**
|
|
421
|
+
* ID of already in use node
|
|
422
|
+
*/
|
|
423
|
+
readonly id: NodeId;
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* Error thrown when a change is attempted on an unknown NodeId
|
|
427
|
+
*/
|
|
428
|
+
export interface UnknownIdFailure {
|
|
429
|
+
/**
|
|
430
|
+
* Failure kind (will always be FailureKind.UnknownId)
|
|
431
|
+
*/
|
|
432
|
+
readonly kind: FailureKind.UnknownId;
|
|
433
|
+
/**
|
|
434
|
+
* Faulting Change
|
|
435
|
+
*/
|
|
436
|
+
readonly change: ChangeInternal;
|
|
437
|
+
/**
|
|
438
|
+
* The unknown ID
|
|
439
|
+
*/
|
|
440
|
+
readonly id: NodeId;
|
|
441
|
+
}
|
|
442
|
+
/**
|
|
443
|
+
* Error thrown when an insert change uses an invalid Place
|
|
444
|
+
*/
|
|
445
|
+
export interface BadPlaceFailure {
|
|
446
|
+
/**
|
|
447
|
+
* Failure kind (will always be FailureKind.BadPlace)
|
|
448
|
+
*/
|
|
449
|
+
readonly kind: FailureKind.BadPlace;
|
|
450
|
+
/**
|
|
451
|
+
* Faulting Change
|
|
452
|
+
*/
|
|
453
|
+
readonly change: ChangeInternal;
|
|
454
|
+
/**
|
|
455
|
+
* The faulting place
|
|
456
|
+
*/
|
|
457
|
+
readonly place: StablePlaceInternal;
|
|
458
|
+
/**
|
|
459
|
+
* The reason for the failure
|
|
460
|
+
*/
|
|
461
|
+
readonly placeFailure: BadPlaceValidationResult;
|
|
462
|
+
}
|
|
463
|
+
/**
|
|
464
|
+
* Error thrown when a detach operation is given an invalid or malformed Range
|
|
465
|
+
*/
|
|
466
|
+
export interface BadRangeFailure {
|
|
467
|
+
/**
|
|
468
|
+
* Failure kind (will always be FailureKind.BadRange)
|
|
469
|
+
*/
|
|
470
|
+
readonly kind: FailureKind.BadRange;
|
|
471
|
+
/**
|
|
472
|
+
* Faulting Change
|
|
473
|
+
*/
|
|
474
|
+
readonly change: ChangeInternal;
|
|
475
|
+
/**
|
|
476
|
+
* Faulting range
|
|
477
|
+
*/
|
|
478
|
+
readonly range: StableRangeInternal;
|
|
479
|
+
/**
|
|
480
|
+
* The reason for the failure
|
|
481
|
+
*/
|
|
482
|
+
readonly rangeFailure: BadRangeValidationResult;
|
|
483
|
+
}
|
|
484
|
+
/**
|
|
485
|
+
* Error thrown when a constraint fails to apply
|
|
486
|
+
*/
|
|
487
|
+
export interface ConstraintViolationFailure {
|
|
488
|
+
/**
|
|
489
|
+
* Failure kind (will always be FailureKind.ConstraintViolation)
|
|
490
|
+
*/
|
|
491
|
+
readonly kind: FailureKind.ConstraintViolation;
|
|
492
|
+
/**
|
|
493
|
+
* Faulting Change
|
|
494
|
+
*/
|
|
495
|
+
readonly constraint: ConstraintInternal;
|
|
496
|
+
/**
|
|
497
|
+
* The first violation the constraint encounters (there may be others).
|
|
498
|
+
*/
|
|
499
|
+
readonly violation: ConstraintViolationResult;
|
|
500
|
+
}
|
|
501
|
+
/**
|
|
502
|
+
* The details of what kind of constraint was violated and caused a ConstraintViolationFailure error to occur
|
|
503
|
+
*/
|
|
504
|
+
export type ConstraintViolationResult = {
|
|
505
|
+
readonly kind: ConstraintViolationKind.BadRange;
|
|
506
|
+
readonly rangeFailure: BadRangeValidationResult;
|
|
507
|
+
} | {
|
|
508
|
+
readonly kind: ConstraintViolationKind.BadLength;
|
|
509
|
+
readonly actual: number;
|
|
510
|
+
} | {
|
|
511
|
+
readonly kind: ConstraintViolationKind.BadParent;
|
|
512
|
+
readonly actual: NodeId;
|
|
513
|
+
} | {
|
|
514
|
+
readonly kind: ConstraintViolationKind.BadLabel;
|
|
515
|
+
readonly actual: TraitLabel;
|
|
516
|
+
};
|
|
517
|
+
/**
|
|
518
|
+
* Enum of possible kinds of constraint violations that can be encountered
|
|
519
|
+
*/
|
|
520
|
+
export enum ConstraintViolationKind {
|
|
521
|
+
/**
|
|
522
|
+
* The constraint failed because it applies to an invalid range
|
|
523
|
+
*/
|
|
524
|
+
BadRange = "BadRange",
|
|
525
|
+
/**
|
|
526
|
+
* The constraint failed because the length prescribed by the constraint does not match the length of range being constrained
|
|
527
|
+
*/
|
|
528
|
+
BadLength = "BadLength",
|
|
529
|
+
/**
|
|
530
|
+
* The constraint failed because the parent prescribed by the constraint does not match the actual parent of the range being constrained
|
|
531
|
+
*/
|
|
532
|
+
BadParent = "BadParent",
|
|
533
|
+
/**
|
|
534
|
+
* The constraint failed because the trait label prescribed by the constraint does not match the actual trait label of the range being constrained
|
|
535
|
+
*/
|
|
536
|
+
BadLabel = "BadLabel"
|
|
537
|
+
}
|
|
538
|
+
export {};
|
|
539
|
+
}
|
|
540
|
+
//# sourceMappingURL=TransactionInternal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransactionInternal.d.ts","sourceRoot":"","sources":["../src/TransactionInternal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAuC,MAAM,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,UAAU,EAAwB,MAAM,eAAe,CAAC;AAE7F,OAAO,EAEN,iBAAiB,EACjB,cAAc,EAGd,kBAAkB,EAElB,UAAU,EAGV,mBAAmB,EACnB,mBAAmB,EACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAKN,wBAAwB,EACxB,wBAAwB,EAGxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;;GAGG;AACH,oBAAY,aAAa,GAAG,mBAAmB,GAAG,kBAAkB,CAAC;AAErE;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IACjC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IAC5C;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAChD;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC7D;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC;IAC3D;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC;IAC9C;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IAC5C;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAChD;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC5D;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC;IACpC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC7B;AAED;;;GAGG;AACH,oBAAY,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;AAEvE;;;GAGG;AACH,oBAAY,gBAAgB,GAAG,0BAA0B,GAAG,uBAAuB,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,0BAA0B;IAC1C;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC;IACpC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IAC5C;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;IAClE;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IAC5C;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC;IAC3D;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC;CAC9C;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAClD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IACxC,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,IAAI,CAAQ;IAEpB;;;OAGG;gBACgB,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,wBAAwB;IAWvE,oEAAoE;IACpE,IAAW,MAAM,IAAI,OAAO,CAE3B;IAED;;OAEG;IACH,IAAW,IAAI,IAAI,eAAe,CAEjC;IAED;;OAEG;IACH,IAAW,MAAM,IAAI,UAAU,CAE9B;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,SAAS,cAAc,EAAE,CAE9C;IAED;;OAEG;IACH,IAAW,KAAK,IAAI,SAAS,oBAAoB,EAAE,CAElD;IAED,oFAAoF;IAC7E,KAAK,IAAI,aAAa;IAkC7B;;;;;;OAMG;IACI,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,IAAI,GAAE,kBAAuB,GAAG,IAAI;IAkD3F;;;;;;OAMG;IACI,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,GAAE,kBAAuB,GAAG,IAAI;CA2B/E;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,wBAAwB;IACxC;;;;;;;;OAQG;IACH,gBAAgB,CACf,KAAK,EAAE,0BAA0B,EACjC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACtB,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;IAE9C;;;;;OAKG;IACH,cAAc,CAAC,KAAK,EAAE,0BAA0B,EAAE,MAAM,EAAE,cAAc,GAAG,YAAY,CAAC;IAExF;;;;OAIG;IACH,eAAe,CAAC,KAAK,EAAE,0BAA0B,GAAG,YAAY,CAAC;CACjE;AAED;;;;;;;;;;;;;GAaG;AACH,yBAAiB,mBAAmB,CAAC;IACpC;;OAEG;IACH,MAAM,UAAU,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,kBAAkB,CAE9D;IAED,KAAK,UAAU,GAAG,0BAA0B,CAAC;IAE7C;;OAEG;IACH,MAAM,OAAO,MAAO,YAAW,wBAAwB;QACtD;;WAEG;QACH,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC,CAAa;QAEpF;;;;;;WAMG;QACI,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC;QAI7F;;;;;WAKG;QACI,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY;QAavD;;;;;;WAMG;QACI,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,GAAG,YAAY;QAiB9E,OAAO,CAAC,UAAU;QAyElB,OAAO,CAAC,WAAW;QAkCnB,OAAO,CAAC,WAAW;QA0CnB,OAAO,CAAC,eAAe;QAqFvB,OAAO,CAAC,aAAa;QAYrB;;;;;WAKG;QACH,SAAS,CAAC,sBAAsB,CAC/B,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EACrC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,KAAK,OAAO,EAC/D,mBAAmB,EAAE,CAAC,UAAU,EAAE,kBAAkB,KAAK,IAAI,GAC3D,MAAM,EAAE,GAAG,SAAS;QAsDvB,OAAO,CAAC,kBAAkB;KAc1B;IAED;;OAEG;IACH,MAAM,MAAM,WAAW;QACtB;;WAEG;QACH,sBAAsB,2BAA2B;QACjD;;WAEG;QACH,8BAA8B,mCAAmC;QACjE;;WAEG;QACH,wBAAwB,6BAA6B;QACrD;;WAEG;QACH,kBAAkB,uBAAuB;QACzC;;WAEG;QACH,cAAc,mBAAmB;QACjC;;WAEG;QACH,SAAS,cAAc;QACvB;;WAEG;QACH,QAAQ,aAAa;QACrB;;WAEG;QACH,QAAQ,aAAa;QACrB;;WAEG;QACH,mBAAmB,wBAAwB;KAC3C;IAED;;OAEG;IACH,MAAM,MAAM,OAAO,GAChB,6BAA6B,GAC7B,qCAAqC,GACrC,+BAA+B,GAC/B,yBAAyB,GACzB,qBAAqB,GACrB,gBAAgB,GAChB,eAAe,GACf,eAAe,GACf,0BAA0B,CAAC;IAE9B;;OAEG;IACH,MAAM,WAAW,6BAA6B;QAC7C;;WAEG;QACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,sBAAsB,CAAC;QAClD;;WAEG;QACH,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;KACxC;IAED;;OAEG;IACH,MAAM,WAAW,qCAAqC;QACrD;;WAEG;QACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,8BAA8B,CAAC;QAC1D;;WAEG;QACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;QAChC;;WAEG;QACH,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;KACxC;IAED;;OAEG;IACH,MAAM,WAAW,+BAA+B;QAC/C;;WAEG;QACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,wBAAwB,CAAC;QACpD;;WAEG;QACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;QAChC;;WAEG;QACH,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;KACxC;IAED;;OAEG;IACH,MAAM,WAAW,yBAAyB;QACzC;;WAEG;QACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,kBAAkB,CAAC;QAC9C;;WAEG;QACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;QAChC;;WAEG;QACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;KACpB;IAED;;OAEG;IACH,MAAM,WAAW,qBAAqB;QACrC;;WAEG;QACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,cAAc,CAAC;QAC1C;;WAEG;QACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;QAChC;;WAEG;QACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;KACpB;IAED;;OAEG;IACH,MAAM,WAAW,gBAAgB;QAChC;;WAEG;QACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC;QACrC;;WAEG;QACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;QAChC;;WAEG;QACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;KACpB;IAED;;OAEG;IACH,MAAM,WAAW,eAAe;QAC/B;;WAEG;QACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC;QACpC;;WAEG;QACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;QAChC;;WAEG;QACH,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;QACpC;;WAEG;QACH,QAAQ,CAAC,YAAY,EAAE,wBAAwB,CAAC;KAChD;IAED;;OAEG;IACH,MAAM,WAAW,eAAe;QAC/B;;WAEG;QACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC;QACpC;;WAEG;QACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;QAChC;;WAEG;QACH,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;QACpC;;WAEG;QACH,QAAQ,CAAC,YAAY,EAAE,wBAAwB,CAAC;KAChD;IAED;;OAEG;IACH,MAAM,WAAW,0BAA0B;QAC1C;;WAEG;QACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,mBAAmB,CAAC;QAC/C;;WAEG;QACH,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;QACxC;;WAEG;QACH,QAAQ,CAAC,SAAS,EAAE,yBAAyB,CAAC;KAC9C;IAED;;OAEG;IACH,MAAM,MAAM,yBAAyB,GAClC;QACA,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC,QAAQ,CAAC;QAChD,QAAQ,CAAC,YAAY,EAAE,wBAAwB,CAAC;KAC/C,GACD;QACA,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC,SAAS,CAAC;QACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACvB,GACD;QACA,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC,SAAS,CAAC;QACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACvB,GACD;QACA,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC,QAAQ,CAAC;QAChD,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;KAC3B,CAAC;IAEL;;OAEG;IACH,MAAM,MAAM,uBAAuB;QAClC;;WAEG;QACH,QAAQ,aAAa;QACrB;;WAEG;QACH,SAAS,cAAc;QACvB;;WAEG;QACH,SAAS,cAAc;QACvB;;WAEG;QACH,QAAQ,aAAa;KACrB;;CACD"}
|