@fluidframework/tree 2.21.0 → 2.23.0-323641
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/CHANGELOG.md +10 -0
- package/README.md +1 -0
- package/api-report/tree.alpha.api.md +29 -4
- package/api-report/tree.beta.api.md +29 -4
- package/api-report/tree.legacy.alpha.api.md +29 -4
- package/api-report/tree.legacy.public.api.md +29 -4
- package/api-report/tree.public.api.md +29 -4
- package/dist/alpha.d.ts +1 -0
- package/dist/beta.d.ts +1 -0
- package/dist/core/forest/editableForest.js +1 -1
- package/dist/core/forest/editableForest.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/tree/anchorSet.d.ts +2 -5
- package/dist/core/tree/anchorSet.d.ts.map +1 -1
- package/dist/core/tree/anchorSet.js +16 -162
- package/dist/core/tree/anchorSet.js.map +1 -1
- package/dist/core/tree/index.d.ts +1 -2
- package/dist/core/tree/index.d.ts.map +1 -1
- package/dist/core/tree/index.js.map +1 -1
- package/dist/core/tree/pathTree.d.ts +0 -11
- package/dist/core/tree/pathTree.d.ts.map +1 -1
- package/dist/core/tree/pathTree.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js +1 -1
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.js +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
- package/dist/feature-libraries/detachedFieldIndexSummarizer.d.ts +1 -2
- package/dist/feature-libraries/detachedFieldIndexSummarizer.d.ts.map +1 -1
- package/dist/feature-libraries/detachedFieldIndexSummarizer.js +0 -9
- package/dist/feature-libraries/detachedFieldIndexSummarizer.js.map +1 -1
- package/dist/feature-libraries/flex-tree/treeEvents.d.ts +2 -4
- package/dist/feature-libraries/flex-tree/treeEvents.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/treeEvents.js.map +1 -1
- package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts +1 -2
- package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/forestSummarizer.js +0 -9
- package/dist/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts +6 -2
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKind.d.ts +2 -4
- package/dist/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKind.js +4 -19
- package/dist/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js +16 -18
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/dist/feature-libraries/node-key/mockNodeKeyManager.js +1 -1
- package/dist/feature-libraries/node-key/mockNodeKeyManager.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalField.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalField.js +7 -3
- package/dist/feature-libraries/optional-field/optionalField.js.map +1 -1
- package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts +3 -5
- package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/schemaSummarizer.js +1 -11
- package/dist/feature-libraries/schema-index/schemaSummarizer.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.d.ts +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.js +13 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/legacy.d.ts +1 -0
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.d.ts.map +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/public.d.ts +1 -0
- package/dist/shared-tree/index.d.ts +1 -3
- package/dist/shared-tree/index.d.ts.map +1 -1
- package/dist/shared-tree/index.js +1 -7
- package/dist/shared-tree/index.js.map +1 -1
- package/dist/shared-tree/schematizingTreeView.d.ts +4 -5
- package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/dist/shared-tree/schematizingTreeView.js +9 -10
- package/dist/shared-tree/schematizingTreeView.js.map +1 -1
- package/dist/shared-tree/sharedTree.d.ts +40 -39
- package/dist/shared-tree/sharedTree.d.ts.map +1 -1
- package/dist/shared-tree/sharedTree.js +84 -52
- package/dist/shared-tree/sharedTree.js.map +1 -1
- package/dist/shared-tree/treeApi.d.ts +2 -2
- package/dist/shared-tree/treeApi.d.ts.map +1 -1
- package/dist/shared-tree/treeApi.js +9 -3
- package/dist/shared-tree/treeApi.js.map +1 -1
- package/dist/shared-tree/treeCheckout.d.ts +3 -3
- package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
- package/dist/shared-tree/treeCheckout.js +3 -2
- package/dist/shared-tree/treeCheckout.js.map +1 -1
- package/dist/shared-tree-core/editManager.d.ts +11 -2
- package/dist/shared-tree-core/editManager.d.ts.map +1 -1
- package/dist/shared-tree-core/editManager.js +64 -29
- package/dist/shared-tree-core/editManager.js.map +1 -1
- package/dist/shared-tree-core/editManagerSummarizer.d.ts +1 -2
- package/dist/shared-tree-core/editManagerSummarizer.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerSummarizer.js +0 -9
- package/dist/shared-tree-core/editManagerSummarizer.js.map +1 -1
- package/dist/shared-tree-core/resubmitMachine.d.ts +2 -0
- package/dist/shared-tree-core/resubmitMachine.d.ts.map +1 -1
- package/dist/shared-tree-core/resubmitMachine.js.map +1 -1
- package/dist/shared-tree-core/sequenceIdUtils.d.ts +12 -1
- package/dist/shared-tree-core/sequenceIdUtils.d.ts.map +1 -1
- package/dist/shared-tree-core/sequenceIdUtils.js +25 -7
- package/dist/shared-tree-core/sequenceIdUtils.js.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.d.ts +33 -30
- package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.js +62 -56
- package/dist/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/dist/simple-tree/api/index.d.ts +3 -2
- package/dist/simple-tree/api/index.d.ts.map +1 -1
- package/dist/simple-tree/api/index.js +3 -1
- package/dist/simple-tree/api/index.js.map +1 -1
- package/dist/simple-tree/api/schemaFactory.d.ts +156 -63
- package/dist/simple-tree/api/schemaFactory.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactory.js +179 -86
- package/dist/simple-tree/api/schemaFactory.js.map +1 -1
- package/dist/{shared-tree → simple-tree/api}/transactionTypes.d.ts +1 -1
- package/dist/simple-tree/api/transactionTypes.d.ts.map +1 -0
- package/dist/{shared-tree → simple-tree/api}/transactionTypes.js.map +1 -1
- package/dist/simple-tree/api/tree.d.ts +23 -2
- package/dist/simple-tree/api/tree.d.ts.map +1 -1
- package/dist/simple-tree/api/tree.js.map +1 -1
- package/dist/simple-tree/index.d.ts +1 -1
- package/dist/simple-tree/index.d.ts.map +1 -1
- package/dist/simple-tree/index.js +3 -2
- package/dist/simple-tree/index.js.map +1 -1
- package/dist/simple-tree/schemaTypes.d.ts +2 -2
- package/dist/simple-tree/schemaTypes.js +1 -1
- package/dist/simple-tree/schemaTypes.js.map +1 -1
- package/dist/simple-tree/treeNodeValid.js +1 -2
- package/dist/simple-tree/treeNodeValid.js.map +1 -1
- package/dist/treeFactory.d.ts +16 -5
- package/dist/treeFactory.d.ts.map +1 -1
- package/dist/treeFactory.js +21 -12
- package/dist/treeFactory.js.map +1 -1
- package/dist/util/breakable.d.ts +1 -1
- package/dist/util/breakable.d.ts.map +1 -1
- package/dist/util/breakable.js.map +1 -1
- package/dist/util/index.d.ts +1 -1
- package/dist/util/index.d.ts.map +1 -1
- package/dist/util/index.js +3 -2
- package/dist/util/index.js.map +1 -1
- package/dist/util/rangeMap.d.ts +1 -1
- package/dist/util/rangeMap.js +1 -1
- package/dist/util/rangeMap.js.map +1 -1
- package/dist/util/utils.d.ts +16 -0
- package/dist/util/utils.d.ts.map +1 -1
- package/dist/util/utils.js +29 -1
- package/dist/util/utils.js.map +1 -1
- package/lib/alpha.d.ts +1 -0
- package/lib/beta.d.ts +1 -0
- package/lib/core/forest/editableForest.js +1 -1
- package/lib/core/forest/editableForest.js.map +1 -1
- package/lib/core/index.d.ts +1 -1
- package/lib/core/index.d.ts.map +1 -1
- package/lib/core/index.js.map +1 -1
- package/lib/core/tree/anchorSet.d.ts +2 -5
- package/lib/core/tree/anchorSet.d.ts.map +1 -1
- package/lib/core/tree/anchorSet.js +17 -163
- package/lib/core/tree/anchorSet.js.map +1 -1
- package/lib/core/tree/index.d.ts +1 -2
- package/lib/core/tree/index.d.ts.map +1 -1
- package/lib/core/tree/index.js.map +1 -1
- package/lib/core/tree/pathTree.d.ts +0 -11
- package/lib/core/tree/pathTree.d.ts.map +1 -1
- package/lib/core/tree/pathTree.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js +1 -1
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.js +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
- package/lib/feature-libraries/detachedFieldIndexSummarizer.d.ts +1 -2
- package/lib/feature-libraries/detachedFieldIndexSummarizer.d.ts.map +1 -1
- package/lib/feature-libraries/detachedFieldIndexSummarizer.js +0 -9
- package/lib/feature-libraries/detachedFieldIndexSummarizer.js.map +1 -1
- package/lib/feature-libraries/flex-tree/treeEvents.d.ts +2 -4
- package/lib/feature-libraries/flex-tree/treeEvents.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/treeEvents.js.map +1 -1
- package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts +1 -2
- package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/forestSummarizer.js +0 -9
- package/lib/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts +6 -2
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKind.d.ts +2 -4
- package/lib/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKind.js +4 -19
- package/lib/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js +17 -19
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/lib/feature-libraries/node-key/mockNodeKeyManager.js +1 -1
- package/lib/feature-libraries/node-key/mockNodeKeyManager.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalField.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalField.js +7 -3
- package/lib/feature-libraries/optional-field/optionalField.js.map +1 -1
- package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts +3 -5
- package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/schemaSummarizer.js +1 -11
- package/lib/feature-libraries/schema-index/schemaSummarizer.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.d.ts +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.js +13 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.js.map +1 -1
- package/lib/index.d.ts +3 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -3
- package/lib/index.js.map +1 -1
- package/lib/legacy.d.ts +1 -0
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.d.ts.map +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/public.d.ts +1 -0
- package/lib/shared-tree/index.d.ts +1 -3
- package/lib/shared-tree/index.d.ts.map +1 -1
- package/lib/shared-tree/index.js +1 -3
- package/lib/shared-tree/index.js.map +1 -1
- package/lib/shared-tree/schematizingTreeView.d.ts +4 -5
- package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/lib/shared-tree/schematizingTreeView.js +4 -5
- package/lib/shared-tree/schematizingTreeView.js.map +1 -1
- package/lib/shared-tree/sharedTree.d.ts +40 -39
- package/lib/shared-tree/sharedTree.d.ts.map +1 -1
- package/lib/shared-tree/sharedTree.js +82 -50
- package/lib/shared-tree/sharedTree.js.map +1 -1
- package/lib/shared-tree/treeApi.d.ts +2 -2
- package/lib/shared-tree/treeApi.d.ts.map +1 -1
- package/lib/shared-tree/treeApi.js +8 -2
- package/lib/shared-tree/treeApi.js.map +1 -1
- package/lib/shared-tree/treeCheckout.d.ts +3 -3
- package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
- package/lib/shared-tree/treeCheckout.js +4 -3
- package/lib/shared-tree/treeCheckout.js.map +1 -1
- package/lib/shared-tree-core/editManager.d.ts +11 -2
- package/lib/shared-tree-core/editManager.d.ts.map +1 -1
- package/lib/shared-tree-core/editManager.js +65 -30
- package/lib/shared-tree-core/editManager.js.map +1 -1
- package/lib/shared-tree-core/editManagerSummarizer.d.ts +1 -2
- package/lib/shared-tree-core/editManagerSummarizer.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerSummarizer.js +0 -9
- package/lib/shared-tree-core/editManagerSummarizer.js.map +1 -1
- package/lib/shared-tree-core/resubmitMachine.d.ts +2 -0
- package/lib/shared-tree-core/resubmitMachine.d.ts.map +1 -1
- package/lib/shared-tree-core/resubmitMachine.js.map +1 -1
- package/lib/shared-tree-core/sequenceIdUtils.d.ts +12 -1
- package/lib/shared-tree-core/sequenceIdUtils.d.ts.map +1 -1
- package/lib/shared-tree-core/sequenceIdUtils.js +23 -5
- package/lib/shared-tree-core/sequenceIdUtils.js.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.d.ts +33 -30
- package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.js +61 -55
- package/lib/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/lib/simple-tree/api/index.d.ts +3 -2
- package/lib/simple-tree/api/index.d.ts.map +1 -1
- package/lib/simple-tree/api/index.js +1 -0
- package/lib/simple-tree/api/index.js.map +1 -1
- package/lib/simple-tree/api/schemaFactory.d.ts +156 -63
- package/lib/simple-tree/api/schemaFactory.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactory.js +178 -85
- package/lib/simple-tree/api/schemaFactory.js.map +1 -1
- package/lib/{shared-tree → simple-tree/api}/transactionTypes.d.ts +1 -1
- package/lib/simple-tree/api/transactionTypes.d.ts.map +1 -0
- package/lib/{shared-tree → simple-tree/api}/transactionTypes.js.map +1 -1
- package/lib/simple-tree/api/tree.d.ts +23 -2
- package/lib/simple-tree/api/tree.d.ts.map +1 -1
- package/lib/simple-tree/api/tree.js.map +1 -1
- package/lib/simple-tree/index.d.ts +1 -1
- package/lib/simple-tree/index.d.ts.map +1 -1
- package/lib/simple-tree/index.js +1 -1
- package/lib/simple-tree/index.js.map +1 -1
- package/lib/simple-tree/schemaTypes.d.ts +2 -2
- package/lib/simple-tree/schemaTypes.js +1 -1
- package/lib/simple-tree/schemaTypes.js.map +1 -1
- package/lib/simple-tree/treeNodeValid.js +1 -2
- package/lib/simple-tree/treeNodeValid.js.map +1 -1
- package/lib/treeFactory.d.ts +16 -5
- package/lib/treeFactory.d.ts.map +1 -1
- package/lib/treeFactory.js +20 -11
- package/lib/treeFactory.js.map +1 -1
- package/lib/util/breakable.d.ts +1 -1
- package/lib/util/breakable.d.ts.map +1 -1
- package/lib/util/breakable.js.map +1 -1
- package/lib/util/index.d.ts +1 -1
- package/lib/util/index.d.ts.map +1 -1
- package/lib/util/index.js +1 -1
- package/lib/util/index.js.map +1 -1
- package/lib/util/rangeMap.d.ts +1 -1
- package/lib/util/rangeMap.js +1 -1
- package/lib/util/rangeMap.js.map +1 -1
- package/lib/util/utils.d.ts +16 -0
- package/lib/util/utils.d.ts.map +1 -1
- package/lib/util/utils.js +27 -0
- package/lib/util/utils.js.map +1 -1
- package/package.json +23 -23
- package/src/core/forest/editableForest.ts +1 -1
- package/src/core/index.ts +0 -3
- package/src/core/tree/anchorSet.ts +38 -221
- package/src/core/tree/index.ts +0 -3
- package/src/core/tree/pathTree.ts +0 -13
- package/src/feature-libraries/default-schema/defaultFieldKinds.ts +1 -1
- package/src/feature-libraries/detachedFieldIndexSummarizer.ts +0 -11
- package/src/feature-libraries/flex-tree/treeEvents.ts +2 -4
- package/src/feature-libraries/forest-summary/forestSummarizer.ts +0 -11
- package/src/feature-libraries/modular-schema/fieldChangeHandler.ts +6 -2
- package/src/feature-libraries/modular-schema/genericFieldKind.ts +3 -35
- package/src/feature-libraries/modular-schema/modularChangeFamily.ts +18 -48
- package/src/feature-libraries/optional-field/optionalField.ts +10 -3
- package/src/feature-libraries/schema-index/schemaSummarizer.ts +1 -16
- package/src/feature-libraries/sequence-field/sequenceFieldEditor.ts +13 -2
- package/src/index.ts +15 -12
- package/src/packageVersion.ts +1 -1
- package/src/shared-tree/index.ts +3 -19
- package/src/shared-tree/schematizingTreeView.ts +18 -16
- package/src/shared-tree/sharedTree.ts +208 -100
- package/src/shared-tree/treeApi.ts +10 -1
- package/src/shared-tree/treeCheckout.ts +11 -8
- package/src/shared-tree-core/editManager.ts +80 -43
- package/src/shared-tree-core/editManagerSummarizer.ts +0 -11
- package/src/shared-tree-core/resubmitMachine.ts +2 -0
- package/src/shared-tree-core/sequenceIdUtils.ts +26 -5
- package/src/shared-tree-core/sharedTreeCore.ts +88 -99
- package/src/simple-tree/api/index.ts +15 -0
- package/src/simple-tree/api/schemaFactory.ts +203 -89
- package/src/{shared-tree → simple-tree/api}/transactionTypes.ts +1 -1
- package/src/simple-tree/api/tree.ts +31 -6
- package/src/simple-tree/index.ts +12 -0
- package/src/simple-tree/schemaTypes.ts +2 -2
- package/src/treeFactory.ts +29 -11
- package/src/util/breakable.ts +1 -1
- package/src/util/index.ts +1 -0
- package/src/util/rangeMap.ts +1 -1
- package/src/util/utils.ts +32 -0
- package/dist/core/tree/visitPath.d.ts +0 -101
- package/dist/core/tree/visitPath.d.ts.map +0 -1
- package/dist/core/tree/visitPath.js +0 -7
- package/dist/core/tree/visitPath.js.map +0 -1
- package/dist/shared-tree/publicContracts.d.ts +0 -18
- package/dist/shared-tree/publicContracts.d.ts.map +0 -1
- package/dist/shared-tree/publicContracts.js +0 -24
- package/dist/shared-tree/publicContracts.js.map +0 -1
- package/dist/shared-tree/transactionTypes.d.ts.map +0 -1
- package/lib/core/tree/visitPath.d.ts +0 -101
- package/lib/core/tree/visitPath.d.ts.map +0 -1
- package/lib/core/tree/visitPath.js +0 -6
- package/lib/core/tree/visitPath.js.map +0 -1
- package/lib/shared-tree/publicContracts.d.ts +0 -18
- package/lib/shared-tree/publicContracts.d.ts.map +0 -1
- package/lib/shared-tree/publicContracts.js +0 -21
- package/lib/shared-tree/publicContracts.js.map +0 -1
- package/lib/shared-tree/transactionTypes.d.ts.map +0 -1
- package/src/core/tree/visitPath.ts +0 -124
- package/src/shared-tree/publicContracts.ts +0 -24
- /package/dist/{shared-tree → simple-tree/api}/transactionTypes.js +0 -0
- /package/lib/{shared-tree → simple-tree/api}/transactionTypes.js +0 -0
|
@@ -57,6 +57,7 @@ import {
|
|
|
57
57
|
mergeTupleBTrees,
|
|
58
58
|
type TupleBTree,
|
|
59
59
|
RangeMap,
|
|
60
|
+
balancedReduce,
|
|
60
61
|
} from "../../util/index.js";
|
|
61
62
|
import {
|
|
62
63
|
type TreeChunk,
|
|
@@ -131,8 +132,6 @@ export class ModularChangeFamily
|
|
|
131
132
|
private normalizeFieldChanges(
|
|
132
133
|
change1: FieldChange,
|
|
133
134
|
change2: FieldChange,
|
|
134
|
-
genId: IdAllocator,
|
|
135
|
-
revisionMetadata: RevisionMetadataSource,
|
|
136
135
|
): {
|
|
137
136
|
fieldKind: FieldKindIdentifier;
|
|
138
137
|
changeHandler: FieldChangeHandler<unknown>;
|
|
@@ -156,18 +155,8 @@ export class ModularChangeFamily
|
|
|
156
155
|
}
|
|
157
156
|
const fieldKind = getFieldKind(this.fieldKinds, kind);
|
|
158
157
|
const changeHandler = fieldKind.changeHandler;
|
|
159
|
-
const normalizedChange1 = this.normalizeFieldChange(
|
|
160
|
-
|
|
161
|
-
changeHandler,
|
|
162
|
-
genId,
|
|
163
|
-
revisionMetadata,
|
|
164
|
-
);
|
|
165
|
-
const normalizedChange2 = this.normalizeFieldChange(
|
|
166
|
-
change2,
|
|
167
|
-
changeHandler,
|
|
168
|
-
genId,
|
|
169
|
-
revisionMetadata,
|
|
170
|
-
);
|
|
158
|
+
const normalizedChange1 = this.normalizeFieldChange(change1, changeHandler);
|
|
159
|
+
const normalizedChange2 = this.normalizeFieldChange(change2, changeHandler);
|
|
171
160
|
return {
|
|
172
161
|
fieldKind: kind,
|
|
173
162
|
changeHandler,
|
|
@@ -179,8 +168,6 @@ export class ModularChangeFamily
|
|
|
179
168
|
private normalizeFieldChange<T>(
|
|
180
169
|
fieldChange: FieldChange,
|
|
181
170
|
handler: FieldChangeHandler<T>,
|
|
182
|
-
genId: IdAllocator,
|
|
183
|
-
revisionMetadata: RevisionMetadataSource,
|
|
184
171
|
): FieldChangeset {
|
|
185
172
|
if (fieldChange.fieldKind !== genericFieldKind.identifier) {
|
|
186
173
|
return fieldChange.change;
|
|
@@ -188,20 +175,7 @@ export class ModularChangeFamily
|
|
|
188
175
|
|
|
189
176
|
// The cast is based on the `fieldKind` check above
|
|
190
177
|
const genericChange = fieldChange.change as unknown as GenericChangeset;
|
|
191
|
-
const convertedChange = convertGenericChange(
|
|
192
|
-
genericChange,
|
|
193
|
-
handler,
|
|
194
|
-
(child1, child2) => {
|
|
195
|
-
assert(
|
|
196
|
-
child1 === undefined || child2 === undefined,
|
|
197
|
-
0x92f /* Should not have two changesets to compose */,
|
|
198
|
-
);
|
|
199
|
-
|
|
200
|
-
return child1 ?? child2 ?? fail("Should not compose two undefined node IDs");
|
|
201
|
-
},
|
|
202
|
-
genId,
|
|
203
|
-
revisionMetadata,
|
|
204
|
-
) as FieldChangeset;
|
|
178
|
+
const convertedChange = convertGenericChange(genericChange, handler) as FieldChangeset;
|
|
205
179
|
|
|
206
180
|
return convertedChange;
|
|
207
181
|
}
|
|
@@ -210,13 +184,15 @@ export class ModularChangeFamily
|
|
|
210
184
|
const { revInfos, maxId } = getRevInfoFromTaggedChanges(changes);
|
|
211
185
|
const idState: IdAllocationState = { maxId };
|
|
212
186
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
187
|
+
const pairwiseDelegate = (
|
|
188
|
+
left: ModularChangeset,
|
|
189
|
+
right: ModularChangeset,
|
|
190
|
+
): ModularChangeset => {
|
|
191
|
+
return this.composePair(left, right, revInfos, idState);
|
|
192
|
+
};
|
|
216
193
|
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
.reduce((change1, change2) => this.composePair(change1, change2, revInfos, idState));
|
|
194
|
+
const innerChanges = changes.map((change) => change.change);
|
|
195
|
+
return balancedReduce(innerChanges, pairwiseDelegate, makeModularChangeset);
|
|
220
196
|
}
|
|
221
197
|
|
|
222
198
|
private composePair(
|
|
@@ -578,7 +554,7 @@ export class ModularChangeFamily
|
|
|
578
554
|
changeHandler,
|
|
579
555
|
change1: change1Normalized,
|
|
580
556
|
change2: change2Normalized,
|
|
581
|
-
} = this.normalizeFieldChanges(change1, change2
|
|
557
|
+
} = this.normalizeFieldChanges(change1, change2);
|
|
582
558
|
|
|
583
559
|
const manager = new ComposeManager(crossFieldTable, change1, fieldId);
|
|
584
560
|
|
|
@@ -1155,12 +1131,7 @@ export class ModularChangeFamily
|
|
|
1155
1131
|
changeHandler,
|
|
1156
1132
|
change1: fieldChangeset,
|
|
1157
1133
|
change2: baseChangeset,
|
|
1158
|
-
} = this.normalizeFieldChanges(
|
|
1159
|
-
context.newChange,
|
|
1160
|
-
context.baseChange,
|
|
1161
|
-
genId,
|
|
1162
|
-
rebaseMetadata,
|
|
1163
|
-
);
|
|
1134
|
+
} = this.normalizeFieldChanges(context.newChange, context.baseChange);
|
|
1164
1135
|
|
|
1165
1136
|
const rebaseChild = (
|
|
1166
1137
|
curr: NodeId | undefined,
|
|
@@ -1338,7 +1309,7 @@ export class ModularChangeFamily
|
|
|
1338
1309
|
changeHandler,
|
|
1339
1310
|
change1: fieldChangeset,
|
|
1340
1311
|
change2: baseChangeset,
|
|
1341
|
-
} = this.normalizeFieldChanges(fieldChange, baseChange
|
|
1312
|
+
} = this.normalizeFieldChanges(fieldChange, baseChange);
|
|
1342
1313
|
|
|
1343
1314
|
const manager = new RebaseManager(crossFieldTable, baseChange, fieldId);
|
|
1344
1315
|
|
|
@@ -2938,10 +2909,9 @@ function buildModularChangesetFromNode(props: {
|
|
|
2938
2909
|
nodeId = { localId: brand(props.idAllocator.allocate()), revision: props.revision },
|
|
2939
2910
|
} = props;
|
|
2940
2911
|
setInChangeAtomIdMap(props.nodeChanges, nodeId, props.nodeChange);
|
|
2941
|
-
const fieldChangeset = genericFieldKind.changeHandler.editor.
|
|
2942
|
-
path.parentIndex,
|
|
2943
|
-
|
|
2944
|
-
);
|
|
2912
|
+
const fieldChangeset = genericFieldKind.changeHandler.editor.buildChildChanges([
|
|
2913
|
+
[path.parentIndex, nodeId],
|
|
2914
|
+
]);
|
|
2945
2915
|
|
|
2946
2916
|
const fieldChange: FieldChange = {
|
|
2947
2917
|
fieldKind: genericFieldKind.identifier,
|
|
@@ -645,11 +645,18 @@ export const optionalFieldEditor: OptionalFieldEditor = {
|
|
|
645
645
|
},
|
|
646
646
|
}),
|
|
647
647
|
|
|
648
|
-
|
|
649
|
-
|
|
648
|
+
buildChildChanges: (changes: Iterable<[number, NodeId]>): OptionalChangeset => {
|
|
649
|
+
const childChanges: ChildChange[] = Array.from(changes, ([index, childChange]) => {
|
|
650
|
+
assert(index === 0, 0x404 /* Optional fields only support a single child node */);
|
|
651
|
+
return ["self", childChange];
|
|
652
|
+
});
|
|
653
|
+
assert(
|
|
654
|
+
childChanges.length <= 1,
|
|
655
|
+
0xabd /* Optional fields only support a single child node */,
|
|
656
|
+
);
|
|
650
657
|
return {
|
|
651
658
|
moves: [],
|
|
652
|
-
childChanges
|
|
659
|
+
childChanges,
|
|
653
660
|
};
|
|
654
661
|
},
|
|
655
662
|
};
|
|
@@ -5,14 +5,10 @@
|
|
|
5
5
|
|
|
6
6
|
import { bufferToString } from "@fluid-internal/client-utils";
|
|
7
7
|
import { assert } from "@fluidframework/core-utils/internal";
|
|
8
|
-
import type {
|
|
9
|
-
IFluidDataStoreRuntime,
|
|
10
|
-
IChannelStorageService,
|
|
11
|
-
} from "@fluidframework/datastore-definitions/internal";
|
|
8
|
+
import type { IChannelStorageService } from "@fluidframework/datastore-definitions/internal";
|
|
12
9
|
import { SummaryType } from "@fluidframework/driver-definitions";
|
|
13
10
|
import type {
|
|
14
11
|
IExperimentalIncrementalSummaryContext,
|
|
15
|
-
IGarbageCollectionData,
|
|
16
12
|
ISummaryTreeWithStats,
|
|
17
13
|
ITelemetryContext,
|
|
18
14
|
} from "@fluidframework/runtime-definitions/internal";
|
|
@@ -46,7 +42,6 @@ export class SchemaSummarizer implements Summarizable {
|
|
|
46
42
|
private schemaIndexLastChangedSeq: number | undefined;
|
|
47
43
|
|
|
48
44
|
public constructor(
|
|
49
|
-
private readonly runtime: IFluidDataStoreRuntime,
|
|
50
45
|
private readonly schema: MutableTreeStoredSchema,
|
|
51
46
|
options: ICodecOptions,
|
|
52
47
|
collabWindow: CollabWindow,
|
|
@@ -94,16 +89,6 @@ export class SchemaSummarizer implements Summarizable {
|
|
|
94
89
|
throw new Error("Method not implemented.");
|
|
95
90
|
}
|
|
96
91
|
|
|
97
|
-
public getGCData(fullGC?: boolean): IGarbageCollectionData {
|
|
98
|
-
// TODO: Properly implement garbage collection. Right now, garbage collection is performed automatically
|
|
99
|
-
// by the code in SharedObject (from which SharedTreeCore extends). The `runtime.uploadBlob` API delegates
|
|
100
|
-
// to the `BlobManager`, which automatically populates the summary with ISummaryAttachment entries for each
|
|
101
|
-
// blob.
|
|
102
|
-
return {
|
|
103
|
-
gcNodes: {},
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
|
|
107
92
|
public async load(
|
|
108
93
|
services: IChannelStorageService,
|
|
109
94
|
parse: SummaryElementParser,
|
|
@@ -75,8 +75,19 @@ export interface SequenceFieldEditor extends FieldEditor<Changeset> {
|
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
export const sequenceFieldEditor = {
|
|
78
|
-
|
|
79
|
-
|
|
78
|
+
buildChildChanges: (changes: Iterable<[number, NodeId]>): Changeset => {
|
|
79
|
+
const changeset: Changeset = [];
|
|
80
|
+
let currentIndex = 0;
|
|
81
|
+
for (const [index, change] of changes) {
|
|
82
|
+
assert(index >= currentIndex, 0xabe /* Child changes must be in order. */);
|
|
83
|
+
if (index > currentIndex) {
|
|
84
|
+
changeset.push({ count: index - currentIndex });
|
|
85
|
+
}
|
|
86
|
+
changeset.push({ count: 1, changes: change });
|
|
87
|
+
currentIndex = index + 1;
|
|
88
|
+
}
|
|
89
|
+
return changeset;
|
|
90
|
+
},
|
|
80
91
|
insert: (
|
|
81
92
|
index: number,
|
|
82
93
|
count: number,
|
package/src/index.ts
CHANGED
|
@@ -61,10 +61,7 @@ export {
|
|
|
61
61
|
type SharedTreeFormatOptions,
|
|
62
62
|
SharedTreeFormatVersion,
|
|
63
63
|
Tree,
|
|
64
|
-
type TransactionConstraint,
|
|
65
|
-
type NodeInDocumentConstraint,
|
|
66
64
|
type RunTransaction,
|
|
67
|
-
rollback,
|
|
68
65
|
type ForestOptions,
|
|
69
66
|
getBranch,
|
|
70
67
|
type BranchableTree,
|
|
@@ -73,18 +70,10 @@ export {
|
|
|
73
70
|
type ViewContent,
|
|
74
71
|
TreeAlpha,
|
|
75
72
|
independentView,
|
|
76
|
-
type RunTransactionParams,
|
|
77
|
-
type VoidTransactionCallbackStatus,
|
|
78
|
-
type TransactionCallbackStatus,
|
|
79
|
-
type TransactionResult,
|
|
80
|
-
type TransactionResultExt,
|
|
81
|
-
type TransactionResultSuccess,
|
|
82
|
-
type TransactionResultFailed,
|
|
83
73
|
ForestTypeOptimized,
|
|
84
74
|
ForestTypeExpensiveDebug,
|
|
85
75
|
ForestTypeReference,
|
|
86
|
-
|
|
87
|
-
SharedTreeFactoryType,
|
|
76
|
+
type IChannelView,
|
|
88
77
|
} from "./shared-tree/index.js";
|
|
89
78
|
|
|
90
79
|
export {
|
|
@@ -216,10 +205,24 @@ export {
|
|
|
216
205
|
asTreeViewAlpha,
|
|
217
206
|
type NodeSchemaOptions,
|
|
218
207
|
type NodeSchemaMetadata,
|
|
208
|
+
type schemaStatics,
|
|
209
|
+
type ITreeAlpha,
|
|
210
|
+
type TransactionConstraint,
|
|
211
|
+
type NodeInDocumentConstraint,
|
|
212
|
+
type RunTransactionParams,
|
|
213
|
+
type VoidTransactionCallbackStatus,
|
|
214
|
+
type TransactionCallbackStatus,
|
|
215
|
+
type TransactionResult,
|
|
216
|
+
type TransactionResultExt,
|
|
217
|
+
type TransactionResultSuccess,
|
|
218
|
+
type TransactionResultFailed,
|
|
219
|
+
rollback,
|
|
219
220
|
} from "./simple-tree/index.js";
|
|
220
221
|
export {
|
|
221
222
|
SharedTree,
|
|
222
223
|
configuredSharedTree,
|
|
224
|
+
SharedTreeAttributes,
|
|
225
|
+
SharedTreeFactoryType,
|
|
223
226
|
} from "./treeFactory.js";
|
|
224
227
|
|
|
225
228
|
export {
|
package/src/packageVersion.ts
CHANGED
package/src/shared-tree/index.ts
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
export {
|
|
7
7
|
type ISharedTree,
|
|
8
|
-
|
|
8
|
+
type ITreePrivate,
|
|
9
|
+
type SharedTreeOptionsInternal,
|
|
9
10
|
type SharedTreeOptions,
|
|
10
11
|
SharedTree,
|
|
11
12
|
getBranch,
|
|
@@ -20,13 +21,9 @@ export {
|
|
|
20
21
|
ForestTypeOptimized,
|
|
21
22
|
ForestTypeExpensiveDebug,
|
|
22
23
|
ForestTypeReference,
|
|
24
|
+
type IChannelView,
|
|
23
25
|
} from "./sharedTree.js";
|
|
24
26
|
|
|
25
|
-
export {
|
|
26
|
-
SharedTreeAttributes,
|
|
27
|
-
SharedTreeFactoryType,
|
|
28
|
-
} from "./publicContracts.js";
|
|
29
|
-
|
|
30
27
|
export {
|
|
31
28
|
createTreeCheckout,
|
|
32
29
|
TreeCheckout,
|
|
@@ -51,19 +48,6 @@ export {
|
|
|
51
48
|
type RunTransaction,
|
|
52
49
|
} from "./treeApi.js";
|
|
53
50
|
|
|
54
|
-
export {
|
|
55
|
-
type TransactionConstraint,
|
|
56
|
-
type NodeInDocumentConstraint,
|
|
57
|
-
type RunTransactionParams,
|
|
58
|
-
type VoidTransactionCallbackStatus,
|
|
59
|
-
type TransactionCallbackStatus,
|
|
60
|
-
type TransactionResult,
|
|
61
|
-
type TransactionResultExt,
|
|
62
|
-
type TransactionResultSuccess,
|
|
63
|
-
type TransactionResultFailed,
|
|
64
|
-
rollback,
|
|
65
|
-
} from "./transactionTypes.js";
|
|
66
|
-
|
|
67
51
|
export { TreeAlpha } from "./treeApiAlpha.js";
|
|
68
52
|
|
|
69
53
|
export {
|
|
@@ -46,26 +46,27 @@ import {
|
|
|
46
46
|
type TreeBranchEvents,
|
|
47
47
|
getOrCreateInnerNode,
|
|
48
48
|
getKernel,
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
import {
|
|
49
|
+
type VoidTransactionCallbackStatus,
|
|
50
|
+
type TransactionCallbackStatus,
|
|
51
|
+
type TransactionResult,
|
|
52
|
+
type TransactionResultExt,
|
|
53
|
+
type RunTransactionParams,
|
|
54
|
+
type TransactionConstraint,
|
|
56
55
|
HydratedContext,
|
|
57
56
|
SimpleContextSlot,
|
|
58
57
|
areImplicitFieldSchemaEqual,
|
|
59
58
|
createUnknownOptionalFieldPolicy,
|
|
60
59
|
} from "../simple-tree/index.js";
|
|
61
|
-
import
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
} from "./
|
|
60
|
+
import {
|
|
61
|
+
type Breakable,
|
|
62
|
+
breakingClass,
|
|
63
|
+
disposeSymbol,
|
|
64
|
+
type WithBreakable,
|
|
65
|
+
} from "../util/index.js";
|
|
66
|
+
|
|
67
|
+
import { canInitialize, ensureSchema, initialize } from "./schematizeTree.js";
|
|
68
|
+
import type { ITreeCheckout, TreeCheckout } from "./treeCheckout.js";
|
|
69
|
+
import { CheckoutFlexTreeView } from "./checkoutFlexTreeView.js";
|
|
69
70
|
|
|
70
71
|
/**
|
|
71
72
|
* Creating multiple tree views from the same checkout is not supported. This slot is used to detect if one already
|
|
@@ -111,14 +112,15 @@ export class SchematizingSimpleTreeView<
|
|
|
111
112
|
private midUpgrade = false;
|
|
112
113
|
|
|
113
114
|
private readonly rootFieldSchema: FieldSchema;
|
|
115
|
+
public readonly breaker: Breakable;
|
|
114
116
|
|
|
115
117
|
public constructor(
|
|
116
118
|
public readonly checkout: TreeCheckout,
|
|
117
119
|
public readonly config: TreeViewConfiguration<ReadSchema<TRootSchema>>,
|
|
118
120
|
public readonly nodeKeyManager: NodeKeyManager,
|
|
119
|
-
public readonly breaker: Breakable = new Breakable("SchematizingSimpleTreeView"),
|
|
120
121
|
private readonly onDispose?: () => void,
|
|
121
122
|
) {
|
|
123
|
+
this.breaker = checkout.breaker;
|
|
122
124
|
if (checkout.forest.anchors.slots.has(ViewSlot)) {
|
|
123
125
|
throw new UsageError("Cannot create a second tree view from the same checkout");
|
|
124
126
|
}
|