@fluidframework/tree 2.4.0-294316 → 2.4.0-297385
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/api-report/tree.alpha.api.md +58 -28
- package/api-report/tree.beta.api.md +38 -27
- package/api-report/tree.legacy.alpha.api.md +38 -27
- package/api-report/tree.legacy.public.api.md +38 -27
- package/api-report/tree.public.api.md +38 -27
- package/dist/alpha.d.ts +6 -0
- package/dist/beta.d.ts +3 -0
- package/dist/core/change-family/changeFamily.d.ts +2 -2
- package/dist/core/change-family/changeFamily.d.ts.map +1 -1
- package/dist/core/change-family/changeFamily.js.map +1 -1
- package/dist/core/change-family/editBuilder.d.ts +3 -2
- package/dist/core/change-family/editBuilder.d.ts.map +1 -1
- package/dist/core/change-family/editBuilder.js.map +1 -1
- package/dist/core/rebase/changeRebaser.d.ts +2 -1
- package/dist/core/rebase/changeRebaser.d.ts.map +1 -1
- package/dist/core/rebase/changeRebaser.js.map +1 -1
- package/dist/core/rebase/utils.js +1 -1
- package/dist/core/rebase/utils.js.map +1 -1
- package/dist/core/schema-stored/schema.d.ts +7 -0
- package/dist/core/schema-stored/schema.d.ts.map +1 -1
- package/dist/core/schema-stored/schema.js +9 -0
- package/dist/core/schema-stored/schema.js.map +1 -1
- package/dist/core/tree/anchorSet.d.ts +1 -2
- package/dist/core/tree/anchorSet.d.ts.map +1 -1
- package/dist/core/tree/anchorSet.js +2 -2
- package/dist/core/tree/anchorSet.js.map +1 -1
- package/dist/core/tree/detachedFieldIndex.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndex.js +13 -2
- package/dist/core/tree/detachedFieldIndex.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexTypes.d.ts +1 -1
- package/dist/core/tree/detachedFieldIndexTypes.js.map +1 -1
- package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts +4 -3
- package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/defaultEditBuilder.js +41 -30
- package/dist/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts +4 -6
- package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
- package/dist/feature-libraries/editableTreeBinder.d.ts +3 -230
- package/dist/feature-libraries/editableTreeBinder.d.ts.map +1 -1
- package/dist/feature-libraries/editableTreeBinder.js +1 -539
- package/dist/feature-libraries/editableTreeBinder.js.map +1 -1
- package/dist/feature-libraries/flex-tree/context.d.ts +7 -14
- package/dist/feature-libraries/flex-tree/context.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/context.js +3 -3
- package/dist/feature-libraries/flex-tree/context.js.map +1 -1
- package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts +2 -16
- package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyEntity.d.ts +2 -3
- package/dist/feature-libraries/flex-tree/lazyEntity.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyEntity.js +1 -2
- package/dist/feature-libraries/flex-tree/lazyEntity.js.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyField.d.ts +10 -15
- package/dist/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyField.js +18 -20
- package/dist/feature-libraries/flex-tree/lazyField.js.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyNode.d.ts +4 -5
- package/dist/feature-libraries/flex-tree/lazyNode.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyNode.js +13 -23
- package/dist/feature-libraries/flex-tree/lazyNode.js.map +1 -1
- package/dist/feature-libraries/flex-tree/utilities.js +1 -1
- package/dist/feature-libraries/flex-tree/utilities.js.map +1 -1
- package/dist/feature-libraries/index.d.ts +4 -7
- package/dist/feature-libraries/index.d.ts.map +1 -1
- package/dist/feature-libraries/index.js +5 -31
- package/dist/feature-libraries/index.js.map +1 -1
- package/dist/feature-libraries/mitigatedChangeFamily.d.ts.map +1 -1
- package/dist/feature-libraries/mitigatedChangeFamily.js +4 -4
- package/dist/feature-libraries/mitigatedChangeFamily.js.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts +1 -1
- 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/modularChangeFamily.d.ts +12 -8
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js +179 -60
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalField.d.ts +10 -9
- package/dist/feature-libraries/optional-field/optionalField.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalField.js +9 -7
- package/dist/feature-libraries/optional-field/optionalField.js.map +1 -1
- package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts +3 -10
- package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/schemaSummarizer.js +1 -8
- package/dist/feature-libraries/schema-index/schemaSummarizer.js.map +1 -1
- package/dist/feature-libraries/sequence-field/compose.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/compose.js +32 -20
- package/dist/feature-libraries/sequence-field/compose.js.map +1 -1
- package/dist/feature-libraries/sequence-field/formatV1.d.ts +18 -18
- package/dist/feature-libraries/sequence-field/formatV2.d.ts +18 -18
- package/dist/feature-libraries/sequence-field/formatV3.d.ts +27 -27
- package/dist/feature-libraries/sequence-field/invert.d.ts +6 -1
- package/dist/feature-libraries/sequence-field/invert.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/invert.js +25 -9
- package/dist/feature-libraries/sequence-field/invert.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.d.ts +17 -16
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.js +19 -11
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.js.map +1 -1
- package/dist/feature-libraries/typed-schema/flexList.d.ts +1 -46
- package/dist/feature-libraries/typed-schema/flexList.d.ts.map +1 -1
- package/dist/feature-libraries/typed-schema/flexList.js +1 -13
- package/dist/feature-libraries/typed-schema/flexList.js.map +1 -1
- package/dist/feature-libraries/typed-schema/index.d.ts +2 -4
- package/dist/feature-libraries/typed-schema/index.d.ts.map +1 -1
- package/dist/feature-libraries/typed-schema/index.js +1 -19
- package/dist/feature-libraries/typed-schema/index.js.map +1 -1
- package/dist/feature-libraries/typed-schema/typedTreeSchema.d.ts +0 -212
- package/dist/feature-libraries/typed-schema/typedTreeSchema.d.ts.map +1 -1
- package/dist/feature-libraries/typed-schema/typedTreeSchema.js +0 -266
- package/dist/feature-libraries/typed-schema/typedTreeSchema.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/internalTypes.d.ts +1 -1
- package/dist/internalTypes.d.ts.map +1 -1
- package/dist/internalTypes.js.map +1 -1
- package/dist/legacy.d.ts +3 -0
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/public.d.ts +3 -0
- package/dist/shared-tree/checkoutFlexTreeView.d.ts +3 -3
- package/dist/shared-tree/checkoutFlexTreeView.d.ts.map +1 -1
- package/dist/shared-tree/checkoutFlexTreeView.js +1 -1
- package/dist/shared-tree/checkoutFlexTreeView.js.map +1 -1
- package/dist/shared-tree/index.d.ts +3 -3
- package/dist/shared-tree/index.d.ts.map +1 -1
- package/dist/shared-tree/index.js +2 -3
- package/dist/shared-tree/index.js.map +1 -1
- package/dist/shared-tree/schematizeTree.d.ts +1 -40
- package/dist/shared-tree/schematizeTree.d.ts.map +1 -1
- package/dist/shared-tree/schematizeTree.js +2 -11
- package/dist/shared-tree/schematizeTree.js.map +1 -1
- package/dist/shared-tree/schematizingTreeView.d.ts +8 -7
- package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/dist/shared-tree/schematizingTreeView.js +16 -8
- package/dist/shared-tree/schematizingTreeView.js.map +1 -1
- package/dist/shared-tree/sharedTree.d.ts +19 -2
- package/dist/shared-tree/sharedTree.d.ts.map +1 -1
- package/dist/shared-tree/sharedTree.js +11 -3
- package/dist/shared-tree/sharedTree.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts +2 -2
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.js +4 -4
- package/dist/shared-tree/sharedTreeChangeFamily.js.map +1 -1
- package/dist/shared-tree/sharedTreeEditBuilder.d.ts +2 -2
- package/dist/shared-tree/sharedTreeEditBuilder.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeEditBuilder.js +15 -11
- package/dist/shared-tree/sharedTreeEditBuilder.js.map +1 -1
- package/dist/shared-tree/treeCheckout.d.ts +71 -41
- package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
- package/dist/shared-tree/treeCheckout.js +119 -86
- package/dist/shared-tree/treeCheckout.js.map +1 -1
- package/dist/shared-tree-core/branch.d.ts +9 -13
- package/dist/shared-tree-core/branch.d.ts.map +1 -1
- package/dist/shared-tree-core/branch.js +21 -25
- package/dist/shared-tree-core/branch.js.map +1 -1
- package/dist/shared-tree-core/defaultResubmitMachine.d.ts +5 -5
- package/dist/shared-tree-core/defaultResubmitMachine.d.ts.map +1 -1
- package/dist/shared-tree-core/defaultResubmitMachine.js +4 -4
- package/dist/shared-tree-core/defaultResubmitMachine.js.map +1 -1
- package/dist/shared-tree-core/editManager.d.ts.map +1 -1
- package/dist/shared-tree-core/editManager.js +1 -1
- package/dist/shared-tree-core/editManager.js.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.js +2 -2
- package/dist/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/dist/simple-tree/api/create.d.ts +1 -1
- package/dist/simple-tree/api/create.d.ts.map +1 -1
- package/dist/simple-tree/api/create.js +11 -13
- package/dist/simple-tree/api/create.js.map +1 -1
- package/dist/simple-tree/api/getJsonSchema.d.ts +3 -3
- package/dist/simple-tree/api/getJsonSchema.d.ts.map +1 -1
- package/dist/simple-tree/api/getJsonSchema.js +1 -1
- package/dist/simple-tree/api/getJsonSchema.js.map +1 -1
- package/dist/simple-tree/api/getSimpleSchema.d.ts +2 -2
- package/dist/simple-tree/api/getSimpleSchema.d.ts.map +1 -1
- package/dist/simple-tree/api/getSimpleSchema.js.map +1 -1
- package/dist/simple-tree/api/index.d.ts +2 -1
- 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 +6 -6
- package/dist/simple-tree/api/schemaFactory.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactory.js +15 -2
- package/dist/simple-tree/api/schemaFactory.js.map +1 -1
- package/dist/simple-tree/api/schemaFactoryRecursive.d.ts +3 -3
- package/dist/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
- package/dist/simple-tree/api/simpleSchema.d.ts +14 -10
- package/dist/simple-tree/api/simpleSchema.d.ts.map +1 -1
- package/dist/simple-tree/api/simpleSchema.js.map +1 -1
- package/dist/simple-tree/api/tree.d.ts +12 -6
- package/dist/simple-tree/api/tree.d.ts.map +1 -1
- package/dist/simple-tree/api/tree.js +4 -4
- package/dist/simple-tree/api/tree.js.map +1 -1
- package/dist/simple-tree/api/treeNodeApi.d.ts.map +1 -1
- package/dist/simple-tree/api/treeNodeApi.js +8 -6
- package/dist/simple-tree/api/treeNodeApi.js.map +1 -1
- package/dist/simple-tree/api/verboseTree.d.ts.map +1 -1
- package/dist/simple-tree/api/verboseTree.js +6 -10
- package/dist/simple-tree/api/verboseTree.js.map +1 -1
- package/{lib/feature-libraries/typed-schema → dist/simple-tree/api}/view.d.ts +4 -11
- package/dist/simple-tree/api/view.d.ts.map +1 -0
- package/dist/{feature-libraries/typed-schema → simple-tree/api}/view.js +9 -9
- package/dist/simple-tree/api/view.js.map +1 -0
- package/dist/simple-tree/api/viewSchemaToSimpleSchema.d.ts +2 -2
- package/dist/simple-tree/api/viewSchemaToSimpleSchema.d.ts.map +1 -1
- package/dist/simple-tree/api/viewSchemaToSimpleSchema.js +7 -1
- package/dist/simple-tree/api/viewSchemaToSimpleSchema.js.map +1 -1
- package/dist/simple-tree/arrayNode.d.ts +147 -14
- package/dist/simple-tree/arrayNode.d.ts.map +1 -1
- package/dist/simple-tree/arrayNode.js +32 -20
- package/dist/simple-tree/arrayNode.js.map +1 -1
- package/dist/simple-tree/core/context.d.ts +55 -0
- package/dist/simple-tree/core/context.d.ts.map +1 -0
- package/dist/simple-tree/core/context.js +60 -0
- package/dist/simple-tree/core/context.js.map +1 -0
- package/dist/simple-tree/core/getOrCreateNode.d.ts +15 -0
- package/dist/simple-tree/core/getOrCreateNode.d.ts.map +1 -0
- package/dist/simple-tree/core/getOrCreateNode.js +36 -0
- package/dist/simple-tree/core/getOrCreateNode.js.map +1 -0
- package/dist/simple-tree/core/index.d.ts +7 -3
- package/dist/simple-tree/core/index.d.ts.map +1 -1
- package/dist/simple-tree/core/index.js +16 -7
- package/dist/simple-tree/core/index.js.map +1 -1
- package/dist/simple-tree/core/schemaCaching.d.ts +5 -13
- package/dist/simple-tree/core/schemaCaching.d.ts.map +1 -1
- package/dist/simple-tree/core/schemaCaching.js +16 -45
- package/dist/simple-tree/core/schemaCaching.js.map +1 -1
- package/dist/simple-tree/core/treeNodeKernel.d.ts +29 -7
- package/dist/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
- package/dist/simple-tree/core/treeNodeKernel.js +94 -58
- package/dist/simple-tree/core/treeNodeKernel.js.map +1 -1
- package/dist/simple-tree/core/treeNodeSchema.d.ts +24 -0
- package/dist/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
- package/dist/simple-tree/core/treeNodeSchema.js.map +1 -1
- package/dist/simple-tree/core/types.d.ts +0 -5
- package/dist/simple-tree/core/types.d.ts.map +1 -1
- package/dist/simple-tree/core/types.js.map +1 -1
- package/dist/simple-tree/core/unhydratedFlexTree.d.ts +139 -0
- package/dist/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -0
- package/dist/{feature-libraries/flex-map-tree/mapTreeNode.js → simple-tree/core/unhydratedFlexTree.js} +112 -132
- package/dist/simple-tree/core/unhydratedFlexTree.js.map +1 -0
- package/dist/simple-tree/{walkSchema.d.ts → core/walkSchema.d.ts} +8 -4
- package/dist/simple-tree/core/walkSchema.d.ts.map +1 -0
- package/dist/simple-tree/core/walkSchema.js +34 -0
- package/dist/simple-tree/core/walkSchema.js.map +1 -0
- package/dist/simple-tree/createContext.d.ts +11 -0
- package/dist/simple-tree/createContext.d.ts.map +1 -0
- package/dist/simple-tree/createContext.js +25 -0
- package/dist/simple-tree/createContext.js.map +1 -0
- package/dist/simple-tree/index.d.ts +3 -4
- package/dist/simple-tree/index.d.ts.map +1 -1
- package/dist/simple-tree/index.js +7 -7
- package/dist/simple-tree/index.js.map +1 -1
- package/dist/simple-tree/leafNodeSchema.d.ts +1 -0
- package/dist/simple-tree/leafNodeSchema.d.ts.map +1 -1
- package/dist/simple-tree/leafNodeSchema.js +1 -2
- package/dist/simple-tree/leafNodeSchema.js.map +1 -1
- package/dist/simple-tree/mapNode.d.ts +4 -4
- package/dist/simple-tree/mapNode.d.ts.map +1 -1
- package/dist/simple-tree/mapNode.js +9 -5
- package/dist/simple-tree/mapNode.js.map +1 -1
- package/dist/simple-tree/objectNode.d.ts +8 -8
- package/dist/simple-tree/objectNode.d.ts.map +1 -1
- package/dist/simple-tree/objectNode.js +33 -14
- package/dist/simple-tree/objectNode.js.map +1 -1
- package/dist/simple-tree/objectNodeTypes.d.ts +7 -3
- package/dist/simple-tree/objectNodeTypes.d.ts.map +1 -1
- package/dist/simple-tree/objectNodeTypes.js.map +1 -1
- package/dist/simple-tree/proxies.d.ts +1 -2
- package/dist/simple-tree/proxies.d.ts.map +1 -1
- package/dist/simple-tree/proxies.js +6 -22
- package/dist/simple-tree/proxies.js.map +1 -1
- package/dist/simple-tree/schemaTypes.d.ts +2 -2
- package/dist/simple-tree/schemaTypes.d.ts.map +1 -1
- package/dist/simple-tree/schemaTypes.js.map +1 -1
- package/dist/simple-tree/toFlexSchema.d.ts +6 -36
- package/dist/simple-tree/toFlexSchema.d.ts.map +1 -1
- package/dist/simple-tree/toFlexSchema.js +58 -142
- package/dist/simple-tree/toFlexSchema.js.map +1 -1
- package/dist/simple-tree/toMapTree.d.ts.map +1 -1
- package/dist/simple-tree/toMapTree.js +2 -2
- package/dist/simple-tree/toMapTree.js.map +1 -1
- package/dist/simple-tree/treeNodeValid.d.ts +13 -5
- package/dist/simple-tree/treeNodeValid.d.ts.map +1 -1
- package/dist/simple-tree/treeNodeValid.js +19 -10
- package/dist/simple-tree/treeNodeValid.js.map +1 -1
- package/dist/simple-tree/typesUnsafe.d.ts +4 -4
- package/dist/simple-tree/typesUnsafe.d.ts.map +1 -1
- package/dist/simple-tree/typesUnsafe.js.map +1 -1
- package/dist/simple-tree/walkFieldSchema.d.ts +11 -0
- package/dist/simple-tree/walkFieldSchema.d.ts.map +1 -0
- package/dist/simple-tree/walkFieldSchema.js +17 -0
- package/dist/simple-tree/walkFieldSchema.js.map +1 -0
- package/dist/util/index.d.ts +1 -1
- package/dist/util/index.d.ts.map +1 -1
- package/dist/util/index.js.map +1 -1
- package/dist/util/typeUtils.d.ts +14 -45
- package/dist/util/typeUtils.d.ts.map +1 -1
- package/dist/util/typeUtils.js.map +1 -1
- package/lib/alpha.d.ts +6 -0
- package/lib/beta.d.ts +3 -0
- package/lib/core/change-family/changeFamily.d.ts +2 -2
- package/lib/core/change-family/changeFamily.d.ts.map +1 -1
- package/lib/core/change-family/changeFamily.js.map +1 -1
- package/lib/core/change-family/editBuilder.d.ts +3 -2
- package/lib/core/change-family/editBuilder.d.ts.map +1 -1
- package/lib/core/change-family/editBuilder.js.map +1 -1
- package/lib/core/rebase/changeRebaser.d.ts +2 -1
- package/lib/core/rebase/changeRebaser.d.ts.map +1 -1
- package/lib/core/rebase/changeRebaser.js.map +1 -1
- package/lib/core/rebase/utils.js +1 -1
- package/lib/core/rebase/utils.js.map +1 -1
- package/lib/core/schema-stored/schema.d.ts +7 -0
- package/lib/core/schema-stored/schema.d.ts.map +1 -1
- package/lib/core/schema-stored/schema.js +9 -0
- package/lib/core/schema-stored/schema.js.map +1 -1
- package/lib/core/tree/anchorSet.d.ts +1 -2
- package/lib/core/tree/anchorSet.d.ts.map +1 -1
- package/lib/core/tree/anchorSet.js +2 -2
- package/lib/core/tree/anchorSet.js.map +1 -1
- package/lib/core/tree/detachedFieldIndex.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndex.js +13 -2
- package/lib/core/tree/detachedFieldIndex.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexTypes.d.ts +1 -1
- package/lib/core/tree/detachedFieldIndexTypes.js.map +1 -1
- package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts +4 -3
- package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/defaultEditBuilder.js +41 -30
- package/lib/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts +4 -6
- package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
- package/lib/feature-libraries/editableTreeBinder.d.ts +3 -230
- package/lib/feature-libraries/editableTreeBinder.d.ts.map +1 -1
- package/lib/feature-libraries/editableTreeBinder.js +1 -532
- package/lib/feature-libraries/editableTreeBinder.js.map +1 -1
- package/lib/feature-libraries/flex-tree/context.d.ts +7 -14
- package/lib/feature-libraries/flex-tree/context.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/context.js +3 -3
- package/lib/feature-libraries/flex-tree/context.js.map +1 -1
- package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts +2 -16
- package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyEntity.d.ts +2 -3
- package/lib/feature-libraries/flex-tree/lazyEntity.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyEntity.js +1 -2
- package/lib/feature-libraries/flex-tree/lazyEntity.js.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyField.d.ts +10 -15
- package/lib/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyField.js +18 -20
- package/lib/feature-libraries/flex-tree/lazyField.js.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyNode.d.ts +4 -5
- package/lib/feature-libraries/flex-tree/lazyNode.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyNode.js +13 -23
- package/lib/feature-libraries/flex-tree/lazyNode.js.map +1 -1
- package/lib/feature-libraries/flex-tree/utilities.js +1 -1
- package/lib/feature-libraries/flex-tree/utilities.js.map +1 -1
- package/lib/feature-libraries/index.d.ts +4 -7
- package/lib/feature-libraries/index.d.ts.map +1 -1
- package/lib/feature-libraries/index.js +4 -6
- package/lib/feature-libraries/index.js.map +1 -1
- package/lib/feature-libraries/mitigatedChangeFamily.d.ts.map +1 -1
- package/lib/feature-libraries/mitigatedChangeFamily.js +4 -4
- package/lib/feature-libraries/mitigatedChangeFamily.js.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts +1 -1
- 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/modularChangeFamily.d.ts +12 -8
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js +180 -61
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalField.d.ts +10 -9
- package/lib/feature-libraries/optional-field/optionalField.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalField.js +9 -7
- package/lib/feature-libraries/optional-field/optionalField.js.map +1 -1
- package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts +3 -10
- package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/schemaSummarizer.js +1 -8
- package/lib/feature-libraries/schema-index/schemaSummarizer.js.map +1 -1
- package/lib/feature-libraries/sequence-field/compose.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/compose.js +32 -20
- package/lib/feature-libraries/sequence-field/compose.js.map +1 -1
- package/lib/feature-libraries/sequence-field/formatV1.d.ts +18 -18
- package/lib/feature-libraries/sequence-field/formatV2.d.ts +18 -18
- package/lib/feature-libraries/sequence-field/formatV3.d.ts +27 -27
- package/lib/feature-libraries/sequence-field/invert.d.ts +6 -1
- package/lib/feature-libraries/sequence-field/invert.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/invert.js +25 -9
- package/lib/feature-libraries/sequence-field/invert.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.d.ts +17 -16
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.js +19 -11
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.js.map +1 -1
- package/lib/feature-libraries/typed-schema/flexList.d.ts +1 -46
- package/lib/feature-libraries/typed-schema/flexList.d.ts.map +1 -1
- package/lib/feature-libraries/typed-schema/flexList.js +0 -11
- package/lib/feature-libraries/typed-schema/flexList.js.map +1 -1
- package/lib/feature-libraries/typed-schema/index.d.ts +2 -4
- package/lib/feature-libraries/typed-schema/index.d.ts.map +1 -1
- package/lib/feature-libraries/typed-schema/index.js +0 -3
- package/lib/feature-libraries/typed-schema/index.js.map +1 -1
- package/lib/feature-libraries/typed-schema/typedTreeSchema.d.ts +0 -212
- package/lib/feature-libraries/typed-schema/typedTreeSchema.d.ts.map +1 -1
- package/lib/feature-libraries/typed-schema/typedTreeSchema.js +1 -253
- package/lib/feature-libraries/typed-schema/typedTreeSchema.js.map +1 -1
- package/lib/index.d.ts +3 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/internalTypes.d.ts +1 -1
- package/lib/internalTypes.d.ts.map +1 -1
- package/lib/internalTypes.js.map +1 -1
- package/lib/legacy.d.ts +3 -0
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/public.d.ts +3 -0
- package/lib/shared-tree/checkoutFlexTreeView.d.ts +3 -3
- package/lib/shared-tree/checkoutFlexTreeView.d.ts.map +1 -1
- package/lib/shared-tree/checkoutFlexTreeView.js +1 -1
- package/lib/shared-tree/checkoutFlexTreeView.js.map +1 -1
- package/lib/shared-tree/index.d.ts +3 -3
- package/lib/shared-tree/index.d.ts.map +1 -1
- package/lib/shared-tree/index.js +1 -2
- package/lib/shared-tree/index.js.map +1 -1
- package/lib/shared-tree/schematizeTree.d.ts +1 -40
- package/lib/shared-tree/schematizeTree.d.ts.map +1 -1
- package/lib/shared-tree/schematizeTree.js +1 -9
- package/lib/shared-tree/schematizeTree.js.map +1 -1
- package/lib/shared-tree/schematizingTreeView.d.ts +8 -7
- package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/lib/shared-tree/schematizingTreeView.js +19 -11
- package/lib/shared-tree/schematizingTreeView.js.map +1 -1
- package/lib/shared-tree/sharedTree.d.ts +19 -2
- package/lib/shared-tree/sharedTree.d.ts.map +1 -1
- package/lib/shared-tree/sharedTree.js +11 -4
- package/lib/shared-tree/sharedTree.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts +2 -2
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.js +4 -4
- package/lib/shared-tree/sharedTreeChangeFamily.js.map +1 -1
- package/lib/shared-tree/sharedTreeEditBuilder.d.ts +2 -2
- package/lib/shared-tree/sharedTreeEditBuilder.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeEditBuilder.js +15 -11
- package/lib/shared-tree/sharedTreeEditBuilder.js.map +1 -1
- package/lib/shared-tree/treeCheckout.d.ts +71 -41
- package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
- package/lib/shared-tree/treeCheckout.js +122 -89
- package/lib/shared-tree/treeCheckout.js.map +1 -1
- package/lib/shared-tree-core/branch.d.ts +9 -13
- package/lib/shared-tree-core/branch.d.ts.map +1 -1
- package/lib/shared-tree-core/branch.js +22 -26
- package/lib/shared-tree-core/branch.js.map +1 -1
- package/lib/shared-tree-core/defaultResubmitMachine.d.ts +5 -5
- package/lib/shared-tree-core/defaultResubmitMachine.d.ts.map +1 -1
- package/lib/shared-tree-core/defaultResubmitMachine.js +4 -4
- package/lib/shared-tree-core/defaultResubmitMachine.js.map +1 -1
- package/lib/shared-tree-core/editManager.d.ts.map +1 -1
- package/lib/shared-tree-core/editManager.js +2 -2
- package/lib/shared-tree-core/editManager.js.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.js +2 -2
- package/lib/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/lib/simple-tree/api/create.d.ts +1 -1
- package/lib/simple-tree/api/create.d.ts.map +1 -1
- package/lib/simple-tree/api/create.js +14 -16
- package/lib/simple-tree/api/create.js.map +1 -1
- package/lib/simple-tree/api/getJsonSchema.d.ts +3 -3
- package/lib/simple-tree/api/getJsonSchema.d.ts.map +1 -1
- package/lib/simple-tree/api/getJsonSchema.js +1 -1
- package/lib/simple-tree/api/getJsonSchema.js.map +1 -1
- package/lib/simple-tree/api/getSimpleSchema.d.ts +2 -2
- package/lib/simple-tree/api/getSimpleSchema.d.ts.map +1 -1
- package/lib/simple-tree/api/getSimpleSchema.js.map +1 -1
- package/lib/simple-tree/api/index.d.ts +2 -1
- 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 +6 -6
- package/lib/simple-tree/api/schemaFactory.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactory.js +15 -2
- package/lib/simple-tree/api/schemaFactory.js.map +1 -1
- package/lib/simple-tree/api/schemaFactoryRecursive.d.ts +3 -3
- package/lib/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
- package/lib/simple-tree/api/simpleSchema.d.ts +14 -10
- package/lib/simple-tree/api/simpleSchema.d.ts.map +1 -1
- package/lib/simple-tree/api/simpleSchema.js.map +1 -1
- package/lib/simple-tree/api/tree.d.ts +12 -6
- package/lib/simple-tree/api/tree.d.ts.map +1 -1
- package/lib/simple-tree/api/tree.js +4 -4
- package/lib/simple-tree/api/tree.js.map +1 -1
- package/lib/simple-tree/api/treeNodeApi.d.ts.map +1 -1
- package/lib/simple-tree/api/treeNodeApi.js +10 -8
- package/lib/simple-tree/api/treeNodeApi.js.map +1 -1
- package/lib/simple-tree/api/verboseTree.d.ts.map +1 -1
- package/lib/simple-tree/api/verboseTree.js +6 -10
- package/lib/simple-tree/api/verboseTree.js.map +1 -1
- package/{dist/feature-libraries/typed-schema → lib/simple-tree/api}/view.d.ts +4 -11
- package/lib/simple-tree/api/view.d.ts.map +1 -0
- package/lib/{feature-libraries/typed-schema → simple-tree/api}/view.js +9 -9
- package/lib/simple-tree/api/view.js.map +1 -0
- package/lib/simple-tree/api/viewSchemaToSimpleSchema.d.ts +2 -2
- package/lib/simple-tree/api/viewSchemaToSimpleSchema.d.ts.map +1 -1
- package/lib/simple-tree/api/viewSchemaToSimpleSchema.js +7 -1
- package/lib/simple-tree/api/viewSchemaToSimpleSchema.js.map +1 -1
- package/lib/simple-tree/arrayNode.d.ts +147 -14
- package/lib/simple-tree/arrayNode.d.ts.map +1 -1
- package/lib/simple-tree/arrayNode.js +37 -25
- package/lib/simple-tree/arrayNode.js.map +1 -1
- package/lib/simple-tree/core/context.d.ts +55 -0
- package/lib/simple-tree/core/context.d.ts.map +1 -0
- package/lib/simple-tree/core/context.js +55 -0
- package/lib/simple-tree/core/context.js.map +1 -0
- package/lib/simple-tree/core/getOrCreateNode.d.ts +15 -0
- package/lib/simple-tree/core/getOrCreateNode.d.ts.map +1 -0
- package/lib/simple-tree/core/getOrCreateNode.js +32 -0
- package/lib/simple-tree/core/getOrCreateNode.js.map +1 -0
- package/lib/simple-tree/core/index.d.ts +7 -3
- package/lib/simple-tree/core/index.d.ts.map +1 -1
- package/lib/simple-tree/core/index.js +6 -2
- package/lib/simple-tree/core/index.js.map +1 -1
- package/lib/simple-tree/core/schemaCaching.d.ts +5 -13
- package/lib/simple-tree/core/schemaCaching.d.ts.map +1 -1
- package/lib/simple-tree/core/schemaCaching.js +13 -39
- package/lib/simple-tree/core/schemaCaching.js.map +1 -1
- package/lib/simple-tree/core/treeNodeKernel.d.ts +29 -7
- package/lib/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
- package/lib/simple-tree/core/treeNodeKernel.js +89 -54
- package/lib/simple-tree/core/treeNodeKernel.js.map +1 -1
- package/lib/simple-tree/core/treeNodeSchema.d.ts +24 -0
- package/lib/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
- package/lib/simple-tree/core/treeNodeSchema.js.map +1 -1
- package/lib/simple-tree/core/types.d.ts +0 -5
- package/lib/simple-tree/core/types.d.ts.map +1 -1
- package/lib/simple-tree/core/types.js.map +1 -1
- package/lib/simple-tree/core/unhydratedFlexTree.d.ts +139 -0
- package/lib/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -0
- package/lib/{feature-libraries/flex-map-tree/mapTreeNode.js → simple-tree/core/unhydratedFlexTree.js} +110 -128
- package/lib/simple-tree/core/unhydratedFlexTree.js.map +1 -0
- package/lib/simple-tree/{walkSchema.d.ts → core/walkSchema.d.ts} +8 -4
- package/lib/simple-tree/core/walkSchema.d.ts.map +1 -0
- package/lib/simple-tree/core/walkSchema.js +29 -0
- package/lib/simple-tree/core/walkSchema.js.map +1 -0
- package/lib/simple-tree/createContext.d.ts +11 -0
- package/lib/simple-tree/createContext.d.ts.map +1 -0
- package/lib/simple-tree/createContext.js +21 -0
- package/lib/simple-tree/createContext.js.map +1 -0
- package/lib/simple-tree/index.d.ts +3 -4
- package/lib/simple-tree/index.d.ts.map +1 -1
- package/lib/simple-tree/index.js +3 -4
- package/lib/simple-tree/index.js.map +1 -1
- package/lib/simple-tree/leafNodeSchema.d.ts +1 -0
- package/lib/simple-tree/leafNodeSchema.d.ts.map +1 -1
- package/lib/simple-tree/leafNodeSchema.js +3 -4
- package/lib/simple-tree/leafNodeSchema.js.map +1 -1
- package/lib/simple-tree/mapNode.d.ts +4 -4
- package/lib/simple-tree/mapNode.d.ts.map +1 -1
- package/lib/simple-tree/mapNode.js +12 -8
- package/lib/simple-tree/mapNode.js.map +1 -1
- package/lib/simple-tree/objectNode.d.ts +8 -8
- package/lib/simple-tree/objectNode.d.ts.map +1 -1
- package/lib/simple-tree/objectNode.js +36 -17
- package/lib/simple-tree/objectNode.js.map +1 -1
- package/lib/simple-tree/objectNodeTypes.d.ts +7 -3
- package/lib/simple-tree/objectNodeTypes.d.ts.map +1 -1
- package/lib/simple-tree/objectNodeTypes.js.map +1 -1
- package/lib/simple-tree/proxies.d.ts +1 -2
- package/lib/simple-tree/proxies.d.ts.map +1 -1
- package/lib/simple-tree/proxies.js +7 -22
- package/lib/simple-tree/proxies.js.map +1 -1
- package/lib/simple-tree/schemaTypes.d.ts +2 -2
- package/lib/simple-tree/schemaTypes.d.ts.map +1 -1
- package/lib/simple-tree/schemaTypes.js.map +1 -1
- package/lib/simple-tree/toFlexSchema.d.ts +6 -36
- package/lib/simple-tree/toFlexSchema.d.ts.map +1 -1
- package/lib/simple-tree/toFlexSchema.js +61 -142
- package/lib/simple-tree/toFlexSchema.js.map +1 -1
- package/lib/simple-tree/toMapTree.d.ts.map +1 -1
- package/lib/simple-tree/toMapTree.js +4 -4
- package/lib/simple-tree/toMapTree.js.map +1 -1
- package/lib/simple-tree/treeNodeValid.d.ts +13 -5
- package/lib/simple-tree/treeNodeValid.d.ts.map +1 -1
- package/lib/simple-tree/treeNodeValid.js +21 -12
- package/lib/simple-tree/treeNodeValid.js.map +1 -1
- package/lib/simple-tree/typesUnsafe.d.ts +4 -4
- package/lib/simple-tree/typesUnsafe.d.ts.map +1 -1
- package/lib/simple-tree/typesUnsafe.js.map +1 -1
- package/lib/simple-tree/walkFieldSchema.d.ts +11 -0
- package/lib/simple-tree/walkFieldSchema.d.ts.map +1 -0
- package/lib/simple-tree/walkFieldSchema.js +13 -0
- package/lib/simple-tree/walkFieldSchema.js.map +1 -0
- package/lib/util/index.d.ts +1 -1
- package/lib/util/index.d.ts.map +1 -1
- package/lib/util/index.js.map +1 -1
- package/lib/util/typeUtils.d.ts +14 -45
- package/lib/util/typeUtils.d.ts.map +1 -1
- package/lib/util/typeUtils.js.map +1 -1
- package/package.json +32 -23
- package/src/core/change-family/changeFamily.ts +5 -2
- package/src/core/change-family/editBuilder.ts +3 -2
- package/src/core/rebase/changeRebaser.ts +6 -1
- package/src/core/rebase/utils.ts +1 -1
- package/src/core/schema-stored/schema.ts +17 -0
- package/src/core/tree/anchorSet.ts +3 -4
- package/src/core/tree/detachedFieldIndex.ts +14 -3
- package/src/core/tree/detachedFieldIndexTypes.ts +1 -1
- package/src/feature-libraries/default-schema/defaultEditBuilder.ts +92 -47
- package/src/feature-libraries/default-schema/defaultFieldKinds.ts +7 -7
- package/src/feature-libraries/editableTreeBinder.ts +2 -915
- package/src/feature-libraries/flex-tree/context.ts +7 -20
- package/src/feature-libraries/flex-tree/flexTreeTypes.ts +2 -18
- package/src/feature-libraries/flex-tree/lazyEntity.ts +1 -4
- package/src/feature-libraries/flex-tree/lazyField.ts +22 -78
- package/src/feature-libraries/flex-tree/lazyNode.ts +24 -39
- package/src/feature-libraries/flex-tree/utilities.ts +1 -1
- package/src/feature-libraries/index.ts +3 -71
- package/src/feature-libraries/mitigatedChangeFamily.ts +11 -4
- package/src/feature-libraries/modular-schema/fieldChangeHandler.ts +1 -0
- package/src/feature-libraries/modular-schema/modularChangeFamily.ts +218 -175
- package/src/feature-libraries/optional-field/optionalField.ts +21 -17
- package/src/feature-libraries/schema-index/schemaSummarizer.ts +2 -10
- package/src/feature-libraries/sequence-field/compose.ts +67 -58
- package/src/feature-libraries/sequence-field/invert.ts +30 -6
- package/src/feature-libraries/sequence-field/sequenceFieldEditor.ts +65 -19
- package/src/feature-libraries/typed-schema/flexList.ts +3 -84
- package/src/feature-libraries/typed-schema/index.ts +1 -33
- package/src/feature-libraries/typed-schema/typedTreeSchema.ts +0 -458
- package/src/index.ts +6 -0
- package/src/internalTypes.ts +0 -1
- package/src/packageVersion.ts +1 -1
- package/src/shared-tree/checkoutFlexTreeView.ts +3 -3
- package/src/shared-tree/index.ts +4 -8
- package/src/shared-tree/schematizeTree.ts +2 -56
- package/src/shared-tree/schematizingTreeView.ts +34 -15
- package/src/shared-tree/sharedTree.ts +39 -9
- package/src/shared-tree/sharedTreeChangeFamily.ts +5 -1
- package/src/shared-tree/sharedTreeEditBuilder.ts +23 -12
- package/src/shared-tree/treeCheckout.ts +232 -134
- package/src/shared-tree-core/branch.ts +26 -40
- package/src/shared-tree-core/defaultResubmitMachine.ts +4 -4
- package/src/shared-tree-core/editManager.ts +2 -1
- package/src/shared-tree-core/sharedTreeCore.ts +4 -2
- package/src/simple-tree/api/create.ts +18 -20
- package/src/simple-tree/api/getJsonSchema.ts +3 -3
- package/src/simple-tree/api/getSimpleSchema.ts +2 -2
- package/src/simple-tree/api/index.ts +2 -0
- package/src/simple-tree/api/schemaFactory.ts +41 -12
- package/src/simple-tree/api/schemaFactoryRecursive.ts +3 -6
- package/src/simple-tree/api/simpleSchema.ts +15 -10
- package/src/simple-tree/api/tree.ts +15 -9
- package/src/simple-tree/api/treeNodeApi.ts +12 -10
- package/src/simple-tree/api/verboseTree.ts +6 -12
- package/src/{feature-libraries/typed-schema → simple-tree/api}/view.ts +9 -22
- package/src/simple-tree/api/viewSchemaToSimpleSchema.ts +11 -2
- package/src/simple-tree/arrayNode.ts +202 -53
- package/src/simple-tree/core/context.ts +78 -0
- package/src/simple-tree/core/getOrCreateNode.ts +38 -0
- package/src/simple-tree/core/index.ts +11 -7
- package/src/simple-tree/core/schemaCaching.ts +13 -50
- package/src/simple-tree/core/treeNodeKernel.ts +117 -78
- package/src/simple-tree/core/treeNodeSchema.ts +35 -1
- package/src/simple-tree/core/types.ts +0 -5
- package/src/{feature-libraries/flex-map-tree/mapTreeNode.ts → simple-tree/core/unhydratedFlexTree.ts} +167 -210
- package/src/simple-tree/{walkSchema.ts → core/walkSchema.ts} +12 -34
- package/src/simple-tree/createContext.ts +24 -0
- package/src/simple-tree/index.ts +5 -2
- package/src/simple-tree/leafNodeSchema.ts +3 -9
- package/src/simple-tree/mapNode.ts +20 -17
- package/src/simple-tree/objectNode.ts +63 -38
- package/src/simple-tree/objectNodeTypes.ts +8 -5
- package/src/simple-tree/proxies.ts +8 -26
- package/src/simple-tree/schemaTypes.ts +2 -2
- package/src/simple-tree/toFlexSchema.ts +71 -204
- package/src/simple-tree/toMapTree.ts +5 -5
- package/src/simple-tree/treeNodeValid.ts +28 -22
- package/src/simple-tree/typesUnsafe.ts +4 -4
- package/src/simple-tree/walkFieldSchema.ts +19 -0
- package/src/util/index.ts +1 -5
- package/src/util/typeUtils.ts +14 -56
- package/dist/feature-libraries/fieldGenerator.d.ts +0 -43
- package/dist/feature-libraries/fieldGenerator.d.ts.map +0 -1
- package/dist/feature-libraries/fieldGenerator.js +0 -13
- package/dist/feature-libraries/fieldGenerator.js.map +0 -1
- package/dist/feature-libraries/flex-map-tree/index.d.ts +0 -6
- package/dist/feature-libraries/flex-map-tree/index.d.ts.map +0 -1
- package/dist/feature-libraries/flex-map-tree/index.js +0 -14
- package/dist/feature-libraries/flex-map-tree/index.js.map +0 -1
- package/dist/feature-libraries/flex-map-tree/mapTreeNode.d.ts +0 -157
- package/dist/feature-libraries/flex-map-tree/mapTreeNode.d.ts.map +0 -1
- package/dist/feature-libraries/flex-map-tree/mapTreeNode.js.map +0 -1
- package/dist/feature-libraries/storedToViewSchema.d.ts +0 -17
- package/dist/feature-libraries/storedToViewSchema.d.ts.map +0 -1
- package/dist/feature-libraries/storedToViewSchema.js +0 -67
- package/dist/feature-libraries/storedToViewSchema.js.map +0 -1
- package/dist/feature-libraries/typed-schema/schemaCollection.d.ts +0 -58
- package/dist/feature-libraries/typed-schema/schemaCollection.d.ts.map +0 -1
- package/dist/feature-libraries/typed-schema/schemaCollection.js +0 -160
- package/dist/feature-libraries/typed-schema/schemaCollection.js.map +0 -1
- package/dist/feature-libraries/typed-schema/typeUtils.d.ts +0 -15
- package/dist/feature-libraries/typed-schema/typeUtils.d.ts.map +0 -1
- package/dist/feature-libraries/typed-schema/typeUtils.js +0 -14
- package/dist/feature-libraries/typed-schema/typeUtils.js.map +0 -1
- package/dist/feature-libraries/typed-schema/view.d.ts.map +0 -1
- package/dist/feature-libraries/typed-schema/view.js.map +0 -1
- package/dist/simple-tree/getSimpleFieldSchema.d.ts +0 -14
- package/dist/simple-tree/getSimpleFieldSchema.d.ts.map +0 -1
- package/dist/simple-tree/getSimpleFieldSchema.js +0 -29
- package/dist/simple-tree/getSimpleFieldSchema.js.map +0 -1
- package/dist/simple-tree/walkSchema.d.ts.map +0 -1
- package/dist/simple-tree/walkSchema.js +0 -49
- package/dist/simple-tree/walkSchema.js.map +0 -1
- package/lib/feature-libraries/fieldGenerator.d.ts +0 -43
- package/lib/feature-libraries/fieldGenerator.d.ts.map +0 -1
- package/lib/feature-libraries/fieldGenerator.js +0 -12
- package/lib/feature-libraries/fieldGenerator.js.map +0 -1
- package/lib/feature-libraries/flex-map-tree/index.d.ts +0 -6
- package/lib/feature-libraries/flex-map-tree/index.d.ts.map +0 -1
- package/lib/feature-libraries/flex-map-tree/index.js +0 -6
- package/lib/feature-libraries/flex-map-tree/index.js.map +0 -1
- package/lib/feature-libraries/flex-map-tree/mapTreeNode.d.ts +0 -157
- package/lib/feature-libraries/flex-map-tree/mapTreeNode.d.ts.map +0 -1
- package/lib/feature-libraries/flex-map-tree/mapTreeNode.js.map +0 -1
- package/lib/feature-libraries/storedToViewSchema.d.ts +0 -17
- package/lib/feature-libraries/storedToViewSchema.d.ts.map +0 -1
- package/lib/feature-libraries/storedToViewSchema.js +0 -62
- package/lib/feature-libraries/storedToViewSchema.js.map +0 -1
- package/lib/feature-libraries/typed-schema/schemaCollection.d.ts +0 -58
- package/lib/feature-libraries/typed-schema/schemaCollection.d.ts.map +0 -1
- package/lib/feature-libraries/typed-schema/schemaCollection.js +0 -153
- package/lib/feature-libraries/typed-schema/schemaCollection.js.map +0 -1
- package/lib/feature-libraries/typed-schema/typeUtils.d.ts +0 -15
- package/lib/feature-libraries/typed-schema/typeUtils.d.ts.map +0 -1
- package/lib/feature-libraries/typed-schema/typeUtils.js +0 -10
- package/lib/feature-libraries/typed-schema/typeUtils.js.map +0 -1
- package/lib/feature-libraries/typed-schema/view.d.ts.map +0 -1
- package/lib/feature-libraries/typed-schema/view.js.map +0 -1
- package/lib/simple-tree/getSimpleFieldSchema.d.ts +0 -14
- package/lib/simple-tree/getSimpleFieldSchema.d.ts.map +0 -1
- package/lib/simple-tree/getSimpleFieldSchema.js +0 -25
- package/lib/simple-tree/getSimpleFieldSchema.js.map +0 -1
- package/lib/simple-tree/walkSchema.d.ts.map +0 -1
- package/lib/simple-tree/walkSchema.js +0 -43
- package/lib/simple-tree/walkSchema.js.map +0 -1
- package/src/feature-libraries/fieldGenerator.ts +0 -47
- package/src/feature-libraries/flex-map-tree/index.ts +0 -14
- package/src/feature-libraries/storedToViewSchema.ts +0 -100
- package/src/feature-libraries/typed-schema/schemaCollection.ts +0 -254
- package/src/feature-libraries/typed-schema/typeUtils.ts +0 -29
- package/src/simple-tree/getSimpleFieldSchema.ts +0 -36
|
@@ -31,7 +31,6 @@ import {
|
|
|
31
31
|
type TaggedChange,
|
|
32
32
|
type UpPath,
|
|
33
33
|
isEmptyFieldChanges,
|
|
34
|
-
makeAnonChange,
|
|
35
34
|
makeDetachedNodeId,
|
|
36
35
|
mapCursorField,
|
|
37
36
|
replaceAtomRevisions,
|
|
@@ -39,6 +38,8 @@ import {
|
|
|
39
38
|
areEqualChangeAtomIds,
|
|
40
39
|
type ChangeAtomId,
|
|
41
40
|
areEqualChangeAtomIdOpts,
|
|
41
|
+
tagChange,
|
|
42
|
+
makeAnonChange,
|
|
42
43
|
} from "../../core/index.js";
|
|
43
44
|
import {
|
|
44
45
|
type IdAllocationState,
|
|
@@ -226,19 +227,18 @@ export class ModularChangeFamily
|
|
|
226
227
|
change2,
|
|
227
228
|
);
|
|
228
229
|
|
|
229
|
-
return makeModularChangeset(
|
|
230
|
+
return makeModularChangeset({
|
|
230
231
|
fieldChanges,
|
|
231
232
|
nodeChanges,
|
|
232
233
|
nodeToParent,
|
|
233
234
|
nodeAliases,
|
|
234
235
|
crossFieldKeys,
|
|
235
|
-
idState.maxId,
|
|
236
|
-
revInfos,
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
);
|
|
236
|
+
maxId: idState.maxId,
|
|
237
|
+
revisions: revInfos,
|
|
238
|
+
builds: allBuilds,
|
|
239
|
+
destroys: allDestroys,
|
|
240
|
+
refreshers: allRefreshers,
|
|
241
|
+
});
|
|
242
242
|
}
|
|
243
243
|
|
|
244
244
|
private composeAllFields(
|
|
@@ -676,11 +676,13 @@ export class ModularChangeFamily
|
|
|
676
676
|
/**
|
|
677
677
|
* @param change - The change to invert.
|
|
678
678
|
* @param isRollback - Whether the inverted change is meant to rollback a change on a branch as is the case when
|
|
679
|
+
* @param revisionForInvert - The revision for the invert changeset.
|
|
679
680
|
* performing a sandwich rebase.
|
|
680
681
|
*/
|
|
681
682
|
public invert(
|
|
682
683
|
change: TaggedChange<ModularChangeset>,
|
|
683
684
|
isRollback: boolean,
|
|
685
|
+
revisionForInvert: RevisionTag,
|
|
684
686
|
): ModularChangeset {
|
|
685
687
|
// Rollback changesets destroy the nodes created by the change being rolled back.
|
|
686
688
|
const destroys = isRollback ? invertBuilds(change.change.builds) : undefined;
|
|
@@ -691,19 +693,16 @@ export class ModularChangeFamily
|
|
|
691
693
|
0x89a /* Unexpected destroys in change to invert */,
|
|
692
694
|
);
|
|
693
695
|
|
|
696
|
+
const revInfos: RevisionInfo[] = isRollback
|
|
697
|
+
? [{ revision: revisionForInvert, rollbackOf: change.revision }]
|
|
698
|
+
: [{ revision: revisionForInvert }];
|
|
699
|
+
|
|
694
700
|
if (hasConflicts(change.change)) {
|
|
695
|
-
return makeModularChangeset(
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
undefined,
|
|
699
|
-
undefined,
|
|
700
|
-
undefined,
|
|
701
|
-
change.change.maxId,
|
|
702
|
-
[],
|
|
703
|
-
undefined,
|
|
704
|
-
undefined,
|
|
701
|
+
return makeModularChangeset({
|
|
702
|
+
maxId: change.change.maxId as number,
|
|
703
|
+
revisions: revInfos,
|
|
705
704
|
destroys,
|
|
706
|
-
);
|
|
705
|
+
});
|
|
707
706
|
}
|
|
708
707
|
|
|
709
708
|
const genId: IdAllocator = idAllocatorFromMaxId(change.change.maxId ?? -1);
|
|
@@ -713,9 +712,8 @@ export class ModularChangeFamily
|
|
|
713
712
|
originalFieldToContext: new Map(),
|
|
714
713
|
invertedNodeToParent: brand(change.change.nodeToParent.clone()),
|
|
715
714
|
};
|
|
716
|
-
|
|
717
|
-
const
|
|
718
|
-
const revisionMetadata = revisionMetadataSourceFromInfo(revInfos);
|
|
715
|
+
const { revInfos: oldRevInfos } = getRevInfoFromTaggedChanges([change]);
|
|
716
|
+
const revisionMetadata = revisionMetadataSourceFromInfo(oldRevInfos);
|
|
719
717
|
|
|
720
718
|
const invertedFields = this.invertFieldMap(
|
|
721
719
|
change.change.fieldChanges,
|
|
@@ -724,6 +722,7 @@ export class ModularChangeFamily
|
|
|
724
722
|
genId,
|
|
725
723
|
crossFieldTable,
|
|
726
724
|
revisionMetadata,
|
|
725
|
+
revisionForInvert,
|
|
727
726
|
);
|
|
728
727
|
|
|
729
728
|
const invertedNodes: ChangeAtomIdBTree<NodeChangeset> = newTupleBTree();
|
|
@@ -737,6 +736,7 @@ export class ModularChangeFamily
|
|
|
737
736
|
genId,
|
|
738
737
|
crossFieldTable,
|
|
739
738
|
revisionMetadata,
|
|
739
|
+
revisionForInvert,
|
|
740
740
|
),
|
|
741
741
|
);
|
|
742
742
|
});
|
|
@@ -760,6 +760,7 @@ export class ModularChangeFamily
|
|
|
760
760
|
originalFieldChange,
|
|
761
761
|
isRollback,
|
|
762
762
|
genId,
|
|
763
|
+
revisionForInvert,
|
|
763
764
|
new InvertManager(crossFieldTable, fieldChange, fieldId),
|
|
764
765
|
revisionMetadata,
|
|
765
766
|
);
|
|
@@ -769,18 +770,17 @@ export class ModularChangeFamily
|
|
|
769
770
|
|
|
770
771
|
const crossFieldKeys = this.makeCrossFieldKeyTable(invertedFields, invertedNodes);
|
|
771
772
|
|
|
772
|
-
return makeModularChangeset(
|
|
773
|
-
invertedFields,
|
|
774
|
-
invertedNodes,
|
|
775
|
-
crossFieldTable.invertedNodeToParent,
|
|
776
|
-
change.change.nodeAliases,
|
|
773
|
+
return makeModularChangeset({
|
|
774
|
+
fieldChanges: invertedFields,
|
|
775
|
+
nodeChanges: invertedNodes,
|
|
776
|
+
nodeToParent: crossFieldTable.invertedNodeToParent,
|
|
777
|
+
nodeAliases: change.change.nodeAliases,
|
|
777
778
|
crossFieldKeys,
|
|
778
|
-
genId.getMaxId(),
|
|
779
|
-
|
|
780
|
-
change.change.constraintViolationCount,
|
|
781
|
-
undefined,
|
|
779
|
+
maxId: genId.getMaxId(),
|
|
780
|
+
revisions: revInfos,
|
|
781
|
+
constraintViolationCount: change.change.constraintViolationCount,
|
|
782
782
|
destroys,
|
|
783
|
-
);
|
|
783
|
+
});
|
|
784
784
|
}
|
|
785
785
|
|
|
786
786
|
private invertFieldMap(
|
|
@@ -790,6 +790,7 @@ export class ModularChangeFamily
|
|
|
790
790
|
genId: IdAllocator,
|
|
791
791
|
crossFieldTable: InvertTable,
|
|
792
792
|
revisionMetadata: RevisionMetadataSource,
|
|
793
|
+
revisionForInvert: RevisionTag,
|
|
793
794
|
): FieldChangeMap {
|
|
794
795
|
const invertedFields: FieldChangeMap = new Map();
|
|
795
796
|
|
|
@@ -799,7 +800,14 @@ export class ModularChangeFamily
|
|
|
799
800
|
const invertedChange = getChangeHandler(
|
|
800
801
|
this.fieldKinds,
|
|
801
802
|
fieldChange.fieldKind,
|
|
802
|
-
).rebaser.invert(
|
|
803
|
+
).rebaser.invert(
|
|
804
|
+
fieldChange.change,
|
|
805
|
+
isRollback,
|
|
806
|
+
genId,
|
|
807
|
+
revisionForInvert,
|
|
808
|
+
manager,
|
|
809
|
+
revisionMetadata,
|
|
810
|
+
);
|
|
803
811
|
|
|
804
812
|
const invertedFieldChange: FieldChange = {
|
|
805
813
|
...fieldChange,
|
|
@@ -823,6 +831,7 @@ export class ModularChangeFamily
|
|
|
823
831
|
genId: IdAllocator,
|
|
824
832
|
crossFieldTable: InvertTable,
|
|
825
833
|
revisionMetadata: RevisionMetadataSource,
|
|
834
|
+
revisionForInvert: RevisionTag,
|
|
826
835
|
): NodeChangeset {
|
|
827
836
|
const inverse: NodeChangeset = {};
|
|
828
837
|
|
|
@@ -834,6 +843,7 @@ export class ModularChangeFamily
|
|
|
834
843
|
genId,
|
|
835
844
|
crossFieldTable,
|
|
836
845
|
revisionMetadata,
|
|
846
|
+
revisionForInvert,
|
|
837
847
|
);
|
|
838
848
|
}
|
|
839
849
|
|
|
@@ -904,19 +914,19 @@ export class ModularChangeFamily
|
|
|
904
914
|
rebasedNodes,
|
|
905
915
|
);
|
|
906
916
|
|
|
907
|
-
const rebased = makeModularChangeset(
|
|
908
|
-
this.pruneFieldMap(rebasedFields, rebasedNodes),
|
|
909
|
-
rebasedNodes,
|
|
910
|
-
crossFieldTable.rebasedNodeToParent,
|
|
911
|
-
change.nodeAliases,
|
|
912
|
-
crossFieldTable.rebasedCrossFieldKeys,
|
|
913
|
-
idState.maxId,
|
|
914
|
-
change.revisions,
|
|
915
|
-
constraintState.violationCount,
|
|
916
|
-
change.builds,
|
|
917
|
-
change.destroys,
|
|
918
|
-
change.refreshers,
|
|
919
|
-
);
|
|
917
|
+
const rebased = makeModularChangeset({
|
|
918
|
+
fieldChanges: this.pruneFieldMap(rebasedFields, rebasedNodes),
|
|
919
|
+
nodeChanges: rebasedNodes,
|
|
920
|
+
nodeToParent: crossFieldTable.rebasedNodeToParent,
|
|
921
|
+
nodeAliases: change.nodeAliases,
|
|
922
|
+
crossFieldKeys: crossFieldTable.rebasedCrossFieldKeys,
|
|
923
|
+
maxId: idState.maxId,
|
|
924
|
+
revisions: change.revisions,
|
|
925
|
+
constraintViolationCount: constraintState.violationCount,
|
|
926
|
+
builds: change.builds,
|
|
927
|
+
destroys: change.destroys,
|
|
928
|
+
refreshers: change.refreshers,
|
|
929
|
+
});
|
|
920
930
|
|
|
921
931
|
return rebased;
|
|
922
932
|
}
|
|
@@ -1455,7 +1465,7 @@ export class ModularChangeFamily
|
|
|
1455
1465
|
rollbackOf?: RevisionTag,
|
|
1456
1466
|
): ModularChangeset {
|
|
1457
1467
|
const oldRevisions = new Set(
|
|
1458
|
-
change.revisions === undefined
|
|
1468
|
+
change.revisions === undefined || change.revisions.length === 0
|
|
1459
1469
|
? [undefined]
|
|
1460
1470
|
: change.revisions.map((revInfo) => revInfo.revision),
|
|
1461
1471
|
);
|
|
@@ -1595,7 +1605,9 @@ export class ModularChangeFamily
|
|
|
1595
1605
|
}
|
|
1596
1606
|
}
|
|
1597
1607
|
|
|
1598
|
-
public buildEditor(
|
|
1608
|
+
public buildEditor(
|
|
1609
|
+
changeReceiver: (change: TaggedChange<ModularChangeset>) => void,
|
|
1610
|
+
): ModularEditBuilder {
|
|
1599
1611
|
return new ModularEditBuilder(this, this.fieldKinds, changeReceiver);
|
|
1600
1612
|
}
|
|
1601
1613
|
|
|
@@ -1893,19 +1905,19 @@ export function updateRefreshers(
|
|
|
1893
1905
|
destroys,
|
|
1894
1906
|
} = change;
|
|
1895
1907
|
|
|
1896
|
-
return makeModularChangeset(
|
|
1908
|
+
return makeModularChangeset({
|
|
1897
1909
|
fieldChanges,
|
|
1898
1910
|
nodeChanges,
|
|
1899
|
-
change.nodeToParent,
|
|
1900
|
-
change.nodeAliases,
|
|
1901
|
-
change.crossFieldKeys,
|
|
1902
|
-
maxId,
|
|
1911
|
+
nodeToParent: change.nodeToParent,
|
|
1912
|
+
nodeAliases: change.nodeAliases,
|
|
1913
|
+
crossFieldKeys: change.crossFieldKeys,
|
|
1914
|
+
maxId: maxId as number,
|
|
1903
1915
|
revisions,
|
|
1904
1916
|
constraintViolationCount,
|
|
1905
1917
|
builds,
|
|
1906
1918
|
destroys,
|
|
1907
1919
|
refreshers,
|
|
1908
|
-
);
|
|
1920
|
+
});
|
|
1909
1921
|
}
|
|
1910
1922
|
|
|
1911
1923
|
/**
|
|
@@ -2477,43 +2489,47 @@ class ComposeManager extends CrossFieldManagerI<FieldChange> {
|
|
|
2477
2489
|
}
|
|
2478
2490
|
|
|
2479
2491
|
function makeModularChangeset(
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
|
|
2488
|
-
|
|
2489
|
-
|
|
2490
|
-
|
|
2492
|
+
props: {
|
|
2493
|
+
fieldChanges?: FieldChangeMap;
|
|
2494
|
+
nodeChanges?: ChangeAtomIdBTree<NodeChangeset>;
|
|
2495
|
+
nodeToParent?: ChangeAtomIdBTree<FieldId>;
|
|
2496
|
+
nodeAliases?: ChangeAtomIdBTree<NodeId>;
|
|
2497
|
+
crossFieldKeys?: CrossFieldKeyTable;
|
|
2498
|
+
maxId: number;
|
|
2499
|
+
revisions?: readonly RevisionInfo[];
|
|
2500
|
+
constraintViolationCount?: number;
|
|
2501
|
+
builds?: ChangeAtomIdBTree<TreeChunk>;
|
|
2502
|
+
destroys?: ChangeAtomIdBTree<number>;
|
|
2503
|
+
refreshers?: ChangeAtomIdBTree<TreeChunk>;
|
|
2504
|
+
} = {
|
|
2505
|
+
maxId: -1,
|
|
2506
|
+
},
|
|
2491
2507
|
): ModularChangeset {
|
|
2492
2508
|
const changeset: Mutable<ModularChangeset> = {
|
|
2493
|
-
fieldChanges: fieldChanges ?? new Map(),
|
|
2494
|
-
nodeChanges: nodeChanges ?? newTupleBTree(),
|
|
2495
|
-
nodeToParent: nodeToParent ?? newTupleBTree(),
|
|
2496
|
-
nodeAliases: nodeAliases ?? newTupleBTree(),
|
|
2497
|
-
crossFieldKeys: crossFieldKeys ?? newCrossFieldKeyTable(),
|
|
2509
|
+
fieldChanges: props.fieldChanges ?? new Map(),
|
|
2510
|
+
nodeChanges: props.nodeChanges ?? newTupleBTree(),
|
|
2511
|
+
nodeToParent: props.nodeToParent ?? newTupleBTree(),
|
|
2512
|
+
nodeAliases: props.nodeAliases ?? newTupleBTree(),
|
|
2513
|
+
crossFieldKeys: props.crossFieldKeys ?? newCrossFieldKeyTable(),
|
|
2498
2514
|
};
|
|
2499
2515
|
|
|
2500
|
-
if (revisions !== undefined && revisions.length > 0) {
|
|
2501
|
-
changeset.revisions = revisions;
|
|
2516
|
+
if (props.revisions !== undefined && props.revisions.length > 0) {
|
|
2517
|
+
changeset.revisions = props.revisions;
|
|
2502
2518
|
}
|
|
2503
|
-
if (maxId >= 0) {
|
|
2504
|
-
changeset.maxId = brand(maxId);
|
|
2519
|
+
if (props.maxId >= 0) {
|
|
2520
|
+
changeset.maxId = brand(props.maxId);
|
|
2505
2521
|
}
|
|
2506
|
-
if (constraintViolationCount !== undefined && constraintViolationCount > 0) {
|
|
2507
|
-
changeset.constraintViolationCount = constraintViolationCount;
|
|
2522
|
+
if (props.constraintViolationCount !== undefined && props.constraintViolationCount > 0) {
|
|
2523
|
+
changeset.constraintViolationCount = props.constraintViolationCount;
|
|
2508
2524
|
}
|
|
2509
|
-
if (builds !== undefined && builds.size > 0) {
|
|
2510
|
-
changeset.builds = builds;
|
|
2525
|
+
if (props.builds !== undefined && props.builds.size > 0) {
|
|
2526
|
+
changeset.builds = props.builds;
|
|
2511
2527
|
}
|
|
2512
|
-
if (destroys !== undefined && destroys.size > 0) {
|
|
2513
|
-
changeset.destroys = destroys;
|
|
2528
|
+
if (props.destroys !== undefined && props.destroys.size > 0) {
|
|
2529
|
+
changeset.destroys = props.destroys;
|
|
2514
2530
|
}
|
|
2515
|
-
if (refreshers !== undefined && refreshers.size > 0) {
|
|
2516
|
-
changeset.refreshers = refreshers;
|
|
2531
|
+
if (props.refreshers !== undefined && props.refreshers.size > 0) {
|
|
2532
|
+
changeset.refreshers = props.refreshers;
|
|
2517
2533
|
}
|
|
2518
2534
|
return changeset;
|
|
2519
2535
|
}
|
|
@@ -2525,7 +2541,7 @@ export class ModularEditBuilder extends EditBuilder<ModularChangeset> {
|
|
|
2525
2541
|
public constructor(
|
|
2526
2542
|
family: ChangeFamily<ChangeFamilyEditor, ModularChangeset>,
|
|
2527
2543
|
private readonly fieldKinds: ReadonlyMap<FieldKindIdentifier, FieldKindWithEditor>,
|
|
2528
|
-
changeReceiver: (change: ModularChangeset) => void,
|
|
2544
|
+
changeReceiver: (change: TaggedChange<ModularChangeset>) => void,
|
|
2529
2545
|
) {
|
|
2530
2546
|
super(family, changeReceiver);
|
|
2531
2547
|
this.idAllocator = idAllocatorFromMaxId();
|
|
@@ -2549,15 +2565,17 @@ export class ModularEditBuilder extends EditBuilder<ModularChangeset> {
|
|
|
2549
2565
|
/**
|
|
2550
2566
|
* @param firstId - The ID to associate with the first node
|
|
2551
2567
|
* @param content - The node(s) to build. Can be in either Field or Node mode.
|
|
2568
|
+
* @param revision - The revision to use for the build.
|
|
2552
2569
|
* @returns A description of the edit that can be passed to `submitChanges`.
|
|
2553
2570
|
*/
|
|
2554
2571
|
public buildTrees(
|
|
2555
2572
|
firstId: ChangesetLocalId,
|
|
2556
2573
|
content: ITreeCursorSynchronous,
|
|
2574
|
+
revision: RevisionTag,
|
|
2557
2575
|
idCompressor?: IIdCompressor,
|
|
2558
2576
|
): GlobalEditDescription {
|
|
2559
2577
|
if (content.mode === CursorLocationType.Fields && content.getFieldLength() === 0) {
|
|
2560
|
-
return { type: "global" };
|
|
2578
|
+
return { type: "global", revision };
|
|
2561
2579
|
}
|
|
2562
2580
|
const builds: ChangeAtomIdBTree<TreeChunk> = newTupleBTree();
|
|
2563
2581
|
const chunkCompressor = {
|
|
@@ -2568,11 +2586,12 @@ export class ModularEditBuilder extends EditBuilder<ModularChangeset> {
|
|
|
2568
2586
|
content.mode === CursorLocationType.Fields
|
|
2569
2587
|
? chunkFieldSingle(content, chunkCompressor)
|
|
2570
2588
|
: chunkTree(content, chunkCompressor);
|
|
2571
|
-
builds.set([
|
|
2589
|
+
builds.set([revision, firstId], chunk);
|
|
2572
2590
|
|
|
2573
2591
|
return {
|
|
2574
2592
|
type: "global",
|
|
2575
2593
|
builds,
|
|
2594
|
+
revision,
|
|
2576
2595
|
};
|
|
2577
2596
|
}
|
|
2578
2597
|
|
|
@@ -2581,67 +2600,70 @@ export class ModularEditBuilder extends EditBuilder<ModularChangeset> {
|
|
|
2581
2600
|
* @param field - the field which is being edited
|
|
2582
2601
|
* @param fieldKind - the kind of the field
|
|
2583
2602
|
* @param change - the change to the field
|
|
2584
|
-
* @param
|
|
2603
|
+
* @param revision - the revision of the change
|
|
2585
2604
|
*/
|
|
2586
2605
|
public submitChange(
|
|
2587
2606
|
field: FieldUpPath,
|
|
2588
2607
|
fieldKind: FieldKindIdentifier,
|
|
2589
2608
|
change: FieldChangeset,
|
|
2609
|
+
revision: RevisionTag,
|
|
2590
2610
|
): void {
|
|
2591
|
-
const
|
|
2611
|
+
const localCrossFieldKeys = getChangeHandler(this.fieldKinds, fieldKind).getCrossFieldKeys(
|
|
2592
2612
|
change,
|
|
2593
2613
|
);
|
|
2594
2614
|
|
|
2595
|
-
const modularChange = buildModularChangesetFromField(
|
|
2596
|
-
field,
|
|
2597
|
-
{ fieldKind, change },
|
|
2598
|
-
newTupleBTree(),
|
|
2599
|
-
newTupleBTree(),
|
|
2600
|
-
newCrossFieldKeyTable(),
|
|
2601
|
-
this.idAllocator,
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2615
|
+
const modularChange = buildModularChangesetFromField({
|
|
2616
|
+
path: field,
|
|
2617
|
+
fieldChange: { fieldKind, change },
|
|
2618
|
+
nodeChanges: newTupleBTree(),
|
|
2619
|
+
nodeToParent: newTupleBTree(),
|
|
2620
|
+
crossFieldKeys: newCrossFieldKeyTable(),
|
|
2621
|
+
idAllocator: this.idAllocator,
|
|
2622
|
+
localCrossFieldKeys,
|
|
2623
|
+
revision,
|
|
2624
|
+
});
|
|
2625
|
+
this.applyChange(tagChange(modularChange, revision));
|
|
2605
2626
|
}
|
|
2606
2627
|
|
|
2607
|
-
public submitChanges(changes: EditDescription[]): void {
|
|
2628
|
+
public submitChanges(changes: EditDescription[], revision: RevisionTag): void {
|
|
2608
2629
|
const modularChange = this.buildChanges(changes);
|
|
2609
|
-
this.applyChange(modularChange);
|
|
2630
|
+
this.applyChange(tagChange(modularChange, revision));
|
|
2610
2631
|
}
|
|
2611
2632
|
|
|
2612
2633
|
public buildChanges(changes: EditDescription[]): ModularChangeset {
|
|
2613
|
-
const
|
|
2614
|
-
|
|
2634
|
+
const revisions: Set<RevisionTag> = new Set();
|
|
2635
|
+
const changeMaps = changes.map((change) => {
|
|
2636
|
+
revisions.add(change.revision);
|
|
2637
|
+
return makeAnonChange(
|
|
2615
2638
|
change.type === "global"
|
|
2616
|
-
? makeModularChangeset(
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
undefined,
|
|
2625
|
-
change.builds,
|
|
2626
|
-
)
|
|
2627
|
-
: buildModularChangesetFromField(
|
|
2628
|
-
change.field,
|
|
2629
|
-
{
|
|
2639
|
+
? makeModularChangeset({
|
|
2640
|
+
maxId: this.idAllocator.getMaxId(),
|
|
2641
|
+
builds: change.builds,
|
|
2642
|
+
revisions: [{ revision: change.revision }],
|
|
2643
|
+
})
|
|
2644
|
+
: buildModularChangesetFromField({
|
|
2645
|
+
path: change.field,
|
|
2646
|
+
fieldChange: {
|
|
2630
2647
|
fieldKind: change.fieldKind,
|
|
2631
2648
|
change: change.change,
|
|
2632
2649
|
},
|
|
2633
|
-
newTupleBTree(),
|
|
2634
|
-
newTupleBTree(),
|
|
2635
|
-
newCrossFieldKeyTable(),
|
|
2636
|
-
this.idAllocator,
|
|
2637
|
-
getChangeHandler(
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
|
|
2650
|
+
nodeChanges: newTupleBTree(),
|
|
2651
|
+
nodeToParent: newTupleBTree(),
|
|
2652
|
+
crossFieldKeys: newCrossFieldKeyTable(),
|
|
2653
|
+
idAllocator: this.idAllocator,
|
|
2654
|
+
localCrossFieldKeys: getChangeHandler(
|
|
2655
|
+
this.fieldKinds,
|
|
2656
|
+
change.fieldKind,
|
|
2657
|
+
).getCrossFieldKeys(change.change),
|
|
2658
|
+
revision: change.revision,
|
|
2659
|
+
}),
|
|
2660
|
+
);
|
|
2661
|
+
});
|
|
2662
|
+
const revInfo = Array.from(revisions).map((revision) => ({ revision }));
|
|
2663
|
+
const composedChange: Mutable<ModularChangeset> = {
|
|
2664
|
+
...this.changeFamily.rebaser.compose(changeMaps),
|
|
2665
|
+
revisions: revInfo,
|
|
2666
|
+
};
|
|
2645
2667
|
|
|
2646
2668
|
const maxId: ChangesetLocalId = brand(this.idAllocator.getMaxId());
|
|
2647
2669
|
if (maxId >= 0) {
|
|
@@ -2654,34 +2676,50 @@ export class ModularEditBuilder extends EditBuilder<ModularChangeset> {
|
|
|
2654
2676
|
return brand(this.idAllocator.allocate(count));
|
|
2655
2677
|
}
|
|
2656
2678
|
|
|
2657
|
-
public addNodeExistsConstraint(path: UpPath): void {
|
|
2679
|
+
public addNodeExistsConstraint(path: UpPath, revision: RevisionTag): void {
|
|
2658
2680
|
const nodeChange: NodeChangeset = {
|
|
2659
2681
|
nodeExistsConstraint: { violated: false },
|
|
2660
2682
|
};
|
|
2661
2683
|
|
|
2662
2684
|
this.applyChange(
|
|
2663
|
-
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
|
|
2669
|
-
|
|
2685
|
+
tagChange(
|
|
2686
|
+
buildModularChangesetFromNode({
|
|
2687
|
+
path,
|
|
2688
|
+
nodeChange,
|
|
2689
|
+
nodeChanges: newTupleBTree(),
|
|
2690
|
+
nodeToParent: newTupleBTree(),
|
|
2691
|
+
crossFieldKeys: newCrossFieldKeyTable(),
|
|
2692
|
+
idAllocator: this.idAllocator,
|
|
2693
|
+
revision,
|
|
2694
|
+
}),
|
|
2695
|
+
revision,
|
|
2670
2696
|
),
|
|
2671
2697
|
);
|
|
2672
2698
|
}
|
|
2673
2699
|
}
|
|
2674
2700
|
|
|
2675
|
-
function buildModularChangesetFromField(
|
|
2676
|
-
path: FieldUpPath
|
|
2677
|
-
fieldChange: FieldChange
|
|
2678
|
-
nodeChanges: ChangeAtomIdBTree<NodeChangeset
|
|
2679
|
-
nodeToParent: ChangeAtomIdBTree<FieldId
|
|
2680
|
-
crossFieldKeys: CrossFieldKeyTable
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
|
|
2701
|
+
function buildModularChangesetFromField(props: {
|
|
2702
|
+
path: FieldUpPath;
|
|
2703
|
+
fieldChange: FieldChange;
|
|
2704
|
+
nodeChanges: ChangeAtomIdBTree<NodeChangeset>;
|
|
2705
|
+
nodeToParent: ChangeAtomIdBTree<FieldId>;
|
|
2706
|
+
crossFieldKeys: CrossFieldKeyTable;
|
|
2707
|
+
localCrossFieldKeys?: CrossFieldKeyRange[];
|
|
2708
|
+
revision: RevisionTag;
|
|
2709
|
+
idAllocator?: IdAllocator;
|
|
2710
|
+
childId?: NodeId;
|
|
2711
|
+
}): ModularChangeset {
|
|
2712
|
+
const {
|
|
2713
|
+
path,
|
|
2714
|
+
fieldChange,
|
|
2715
|
+
nodeChanges,
|
|
2716
|
+
nodeToParent,
|
|
2717
|
+
crossFieldKeys,
|
|
2718
|
+
idAllocator = idAllocatorFromMaxId(),
|
|
2719
|
+
localCrossFieldKeys = [],
|
|
2720
|
+
childId,
|
|
2721
|
+
revision,
|
|
2722
|
+
} = props;
|
|
2685
2723
|
const fieldChanges: FieldChangeMap = new Map([[path.field, fieldChange]]);
|
|
2686
2724
|
|
|
2687
2725
|
if (path.parent === undefined) {
|
|
@@ -2696,21 +2734,21 @@ function buildModularChangesetFromField(
|
|
|
2696
2734
|
});
|
|
2697
2735
|
}
|
|
2698
2736
|
|
|
2699
|
-
return makeModularChangeset(
|
|
2737
|
+
return makeModularChangeset({
|
|
2700
2738
|
fieldChanges,
|
|
2701
2739
|
nodeChanges,
|
|
2702
2740
|
nodeToParent,
|
|
2703
|
-
undefined,
|
|
2704
2741
|
crossFieldKeys,
|
|
2705
|
-
idAllocator.getMaxId(),
|
|
2706
|
-
|
|
2742
|
+
maxId: idAllocator.getMaxId(),
|
|
2743
|
+
revisions: [{ revision }],
|
|
2744
|
+
});
|
|
2707
2745
|
}
|
|
2708
2746
|
|
|
2709
2747
|
const nodeChangeset: NodeChangeset = {
|
|
2710
2748
|
fieldChanges,
|
|
2711
2749
|
};
|
|
2712
2750
|
|
|
2713
|
-
const parentId: NodeId = { localId: brand(idAllocator.allocate()) };
|
|
2751
|
+
const parentId: NodeId = { localId: brand(idAllocator.allocate()), revision };
|
|
2714
2752
|
|
|
2715
2753
|
for (const key of localCrossFieldKeys) {
|
|
2716
2754
|
crossFieldKeys.set(key, { nodeId: parentId, field: path.field });
|
|
@@ -2723,27 +2761,33 @@ function buildModularChangesetFromField(
|
|
|
2723
2761
|
});
|
|
2724
2762
|
}
|
|
2725
2763
|
|
|
2726
|
-
return buildModularChangesetFromNode(
|
|
2727
|
-
path.parent,
|
|
2728
|
-
nodeChangeset,
|
|
2764
|
+
return buildModularChangesetFromNode({
|
|
2765
|
+
path: path.parent,
|
|
2766
|
+
nodeChange: nodeChangeset,
|
|
2729
2767
|
nodeChanges,
|
|
2730
2768
|
nodeToParent,
|
|
2731
2769
|
crossFieldKeys,
|
|
2732
2770
|
idAllocator,
|
|
2733
|
-
|
|
2734
|
-
|
|
2771
|
+
revision,
|
|
2772
|
+
nodeId: parentId,
|
|
2773
|
+
});
|
|
2735
2774
|
}
|
|
2736
2775
|
|
|
2737
|
-
function buildModularChangesetFromNode(
|
|
2738
|
-
path: UpPath
|
|
2739
|
-
nodeChange: NodeChangeset
|
|
2740
|
-
nodeChanges: ChangeAtomIdBTree<NodeChangeset
|
|
2741
|
-
nodeToParent: ChangeAtomIdBTree<FieldId
|
|
2742
|
-
crossFieldKeys: CrossFieldKeyTable
|
|
2743
|
-
idAllocator: IdAllocator
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
|
|
2776
|
+
function buildModularChangesetFromNode(props: {
|
|
2777
|
+
path: UpPath;
|
|
2778
|
+
nodeChange: NodeChangeset;
|
|
2779
|
+
nodeChanges: ChangeAtomIdBTree<NodeChangeset>;
|
|
2780
|
+
nodeToParent: ChangeAtomIdBTree<FieldId>;
|
|
2781
|
+
crossFieldKeys: CrossFieldKeyTable;
|
|
2782
|
+
idAllocator: IdAllocator;
|
|
2783
|
+
revision: RevisionTag;
|
|
2784
|
+
nodeId?: NodeId;
|
|
2785
|
+
}): ModularChangeset {
|
|
2786
|
+
const {
|
|
2787
|
+
path,
|
|
2788
|
+
nodeId = { localId: brand(props.idAllocator.allocate()), revision: props.revision },
|
|
2789
|
+
} = props;
|
|
2790
|
+
setInChangeAtomIdMap(props.nodeChanges, nodeId, props.nodeChange);
|
|
2747
2791
|
const fieldChangeset = genericFieldKind.changeHandler.editor.buildChildChange(
|
|
2748
2792
|
path.parentIndex,
|
|
2749
2793
|
nodeId,
|
|
@@ -2754,16 +2798,13 @@ function buildModularChangesetFromNode(
|
|
|
2754
2798
|
change: fieldChangeset,
|
|
2755
2799
|
};
|
|
2756
2800
|
|
|
2757
|
-
return buildModularChangesetFromField(
|
|
2758
|
-
|
|
2801
|
+
return buildModularChangesetFromField({
|
|
2802
|
+
...props,
|
|
2803
|
+
path: { parent: path.parent, field: path.parentField },
|
|
2759
2804
|
fieldChange,
|
|
2760
|
-
|
|
2761
|
-
|
|
2762
|
-
|
|
2763
|
-
idAllocator,
|
|
2764
|
-
[],
|
|
2765
|
-
nodeId,
|
|
2766
|
-
);
|
|
2805
|
+
localCrossFieldKeys: [],
|
|
2806
|
+
childId: nodeId,
|
|
2807
|
+
});
|
|
2767
2808
|
}
|
|
2768
2809
|
|
|
2769
2810
|
/**
|
|
@@ -2773,12 +2814,14 @@ export interface FieldEditDescription {
|
|
|
2773
2814
|
field: FieldUpPath;
|
|
2774
2815
|
fieldKind: FieldKindIdentifier;
|
|
2775
2816
|
change: FieldChangeset;
|
|
2817
|
+
revision: RevisionTag;
|
|
2776
2818
|
}
|
|
2777
2819
|
|
|
2778
2820
|
/**
|
|
2779
2821
|
*/
|
|
2780
2822
|
export interface GlobalEditDescription {
|
|
2781
2823
|
type: "global";
|
|
2824
|
+
revision: RevisionTag;
|
|
2782
2825
|
builds?: ChangeAtomIdBTree<TreeChunk>;
|
|
2783
2826
|
}
|
|
2784
2827
|
|