@fluidframework/tree 2.4.0-294316 → 2.4.0-297027
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/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/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/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/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 +10 -2
- package/dist/shared-tree/sharedTree.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 +116 -84
- package/dist/shared-tree/treeCheckout.js.map +1 -1
- package/dist/shared-tree-core/branch.d.ts +8 -11
- package/dist/shared-tree-core/branch.d.ts.map +1 -1
- package/dist/shared-tree-core/branch.js +12 -15
- package/dist/shared-tree-core/branch.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/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/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/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/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 +10 -3
- package/lib/shared-tree/sharedTree.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 +118 -86
- package/lib/shared-tree/treeCheckout.js.map +1 -1
- package/lib/shared-tree-core/branch.d.ts +8 -11
- package/lib/shared-tree-core/branch.d.ts.map +1 -1
- package/lib/shared-tree-core/branch.js +12 -15
- package/lib/shared-tree-core/branch.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 +29 -20
- 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/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/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 +36 -8
- package/src/shared-tree/treeCheckout.ts +225 -128
- package/src/shared-tree-core/branch.ts +15 -26
- 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
package/src/shared-tree/index.ts
CHANGED
|
@@ -8,6 +8,7 @@ export {
|
|
|
8
8
|
SharedTreeFactory,
|
|
9
9
|
type SharedTreeOptions,
|
|
10
10
|
SharedTree,
|
|
11
|
+
getBranch,
|
|
11
12
|
ForestType,
|
|
12
13
|
type SharedTreeContentSnapshot,
|
|
13
14
|
type SharedTreeFormatOptions,
|
|
@@ -22,16 +23,11 @@ export {
|
|
|
22
23
|
type CheckoutEvents,
|
|
23
24
|
type ITransaction,
|
|
24
25
|
type ITreeCheckoutFork,
|
|
26
|
+
type TreeBranch,
|
|
27
|
+
type TreeBranchFork,
|
|
25
28
|
} from "./treeCheckout.js";
|
|
26
29
|
|
|
27
|
-
export {
|
|
28
|
-
type SchematizeConfiguration,
|
|
29
|
-
type TreeContent,
|
|
30
|
-
type TreeStoredContent,
|
|
31
|
-
type InitializeAndSchematizeConfiguration,
|
|
32
|
-
type SchemaConfiguration,
|
|
33
|
-
buildTreeConfiguration,
|
|
34
|
-
} from "./schematizeTree.js";
|
|
30
|
+
export { type TreeStoredContent } from "./schematizeTree.js";
|
|
35
31
|
|
|
36
32
|
export { CheckoutFlexTreeView } from "./checkoutFlexTreeView.js";
|
|
37
33
|
|
|
@@ -16,9 +16,6 @@ import {
|
|
|
16
16
|
} from "../core/index.js";
|
|
17
17
|
import {
|
|
18
18
|
FieldKinds,
|
|
19
|
-
type FlexFieldSchema,
|
|
20
|
-
type FlexTreeSchema,
|
|
21
|
-
type ViewSchema,
|
|
22
19
|
allowsRepoSuperset,
|
|
23
20
|
cursorForMapTreeField,
|
|
24
21
|
defaultSchemaPolicy,
|
|
@@ -27,6 +24,7 @@ import {
|
|
|
27
24
|
import { fail, isReadonlyArray } from "../util/index.js";
|
|
28
25
|
|
|
29
26
|
import type { ITreeCheckout } from "./treeCheckout.js";
|
|
27
|
+
import type { ViewSchema } from "../simple-tree/index.js";
|
|
30
28
|
|
|
31
29
|
/**
|
|
32
30
|
* Modify `storedSchema` and invoke `setInitialTree` when it's time to set the tree content.
|
|
@@ -246,7 +244,7 @@ export function ensureSchema(
|
|
|
246
244
|
return false;
|
|
247
245
|
}
|
|
248
246
|
case UpdateType.SchemaCompatible: {
|
|
249
|
-
checkout.updateSchema(viewSchema.
|
|
247
|
+
checkout.updateSchema(viewSchema.schema);
|
|
250
248
|
return true;
|
|
251
249
|
}
|
|
252
250
|
case UpdateType.Initialize: {
|
|
@@ -265,28 +263,6 @@ export function ensureSchema(
|
|
|
265
263
|
}
|
|
266
264
|
}
|
|
267
265
|
|
|
268
|
-
/**
|
|
269
|
-
* View Schema for a `SharedTree`.
|
|
270
|
-
*/
|
|
271
|
-
export interface SchemaConfiguration<TRoot extends FlexFieldSchema = FlexFieldSchema> {
|
|
272
|
-
/**
|
|
273
|
-
* The schema which the application wants to view the tree with.
|
|
274
|
-
*/
|
|
275
|
-
readonly schema: FlexTreeSchema<TRoot>;
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
/**
|
|
279
|
-
* Content that can populate a `SharedTree`.
|
|
280
|
-
*/
|
|
281
|
-
export interface TreeContent<TRoot extends FlexFieldSchema = FlexFieldSchema>
|
|
282
|
-
extends SchemaConfiguration<TRoot> {
|
|
283
|
-
/**
|
|
284
|
-
* Default tree content to initialize the tree with iff the tree is uninitialized
|
|
285
|
-
* (meaning it does not even have any schema set at all).
|
|
286
|
-
*/
|
|
287
|
-
readonly initialTree: readonly ITreeCursorSynchronous[] | ITreeCursorSynchronous | undefined;
|
|
288
|
-
}
|
|
289
|
-
|
|
290
266
|
/**
|
|
291
267
|
* Content that can populate a `SharedTree`.
|
|
292
268
|
*/
|
|
@@ -299,33 +275,3 @@ export interface TreeStoredContent {
|
|
|
299
275
|
*/
|
|
300
276
|
readonly initialTree: readonly ITreeCursorSynchronous[] | ITreeCursorSynchronous | undefined;
|
|
301
277
|
}
|
|
302
|
-
|
|
303
|
-
/**
|
|
304
|
-
* Options used to schematize a `SharedTree`.
|
|
305
|
-
*/
|
|
306
|
-
export interface SchematizeConfiguration<TRoot extends FlexFieldSchema = FlexFieldSchema>
|
|
307
|
-
extends SchemaConfiguration<TRoot> {
|
|
308
|
-
/**
|
|
309
|
-
* Controls if and how schema from existing documents can be updated to accommodate the view schema.
|
|
310
|
-
*/
|
|
311
|
-
readonly allowedSchemaModifications: AllowedUpdateType;
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
/**
|
|
315
|
-
* Options used to initialize (if needed) and schematize a `SharedTree`.
|
|
316
|
-
*/
|
|
317
|
-
export interface InitializeAndSchematizeConfiguration<
|
|
318
|
-
TRoot extends FlexFieldSchema = FlexFieldSchema,
|
|
319
|
-
> extends TreeContent<TRoot>,
|
|
320
|
-
SchematizeConfiguration<TRoot> {}
|
|
321
|
-
|
|
322
|
-
/**
|
|
323
|
-
* Options used to initialize (if needed) and schematize a `SharedTree`.
|
|
324
|
-
* @remarks
|
|
325
|
-
* Using this builder improves type safety and error quality over just constructing the configuration as a object.
|
|
326
|
-
*/
|
|
327
|
-
export function buildTreeConfiguration<T extends FlexFieldSchema>(
|
|
328
|
-
config: InitializeAndSchematizeConfiguration<T>,
|
|
329
|
-
): InitializeAndSchematizeConfiguration<T> {
|
|
330
|
-
return config;
|
|
331
|
-
}
|
|
@@ -6,7 +6,12 @@
|
|
|
6
6
|
import { assert } from "@fluidframework/core-utils/internal";
|
|
7
7
|
import { UsageError } from "@fluidframework/telemetry-utils/internal";
|
|
8
8
|
|
|
9
|
-
import {
|
|
9
|
+
import {
|
|
10
|
+
AllowedUpdateType,
|
|
11
|
+
anchorSlot,
|
|
12
|
+
Compatibility,
|
|
13
|
+
type SchemaPolicy,
|
|
14
|
+
} from "../core/index.js";
|
|
10
15
|
import {
|
|
11
16
|
type HasListeners,
|
|
12
17
|
type IEmitter,
|
|
@@ -15,12 +20,10 @@ import {
|
|
|
15
20
|
} from "../events/index.js";
|
|
16
21
|
import {
|
|
17
22
|
type NodeKeyManager,
|
|
18
|
-
ViewSchema,
|
|
19
23
|
defaultSchemaPolicy,
|
|
20
24
|
ContextSlot,
|
|
21
25
|
cursorForMapTreeNode,
|
|
22
|
-
type
|
|
23
|
-
intoStoredSchema,
|
|
26
|
+
type FullSchemaPolicy,
|
|
24
27
|
} from "../feature-libraries/index.js";
|
|
25
28
|
import {
|
|
26
29
|
type FieldSchema,
|
|
@@ -31,19 +34,21 @@ import {
|
|
|
31
34
|
type TreeView,
|
|
32
35
|
type TreeViewEvents,
|
|
33
36
|
getTreeNodeForField,
|
|
34
|
-
toFlexSchema,
|
|
35
37
|
setField,
|
|
36
38
|
normalizeFieldSchema,
|
|
39
|
+
ViewSchema,
|
|
37
40
|
type InsertableContent,
|
|
38
41
|
type TreeViewConfiguration,
|
|
39
42
|
mapTreeFromNodeData,
|
|
40
43
|
prepareContentForHydration,
|
|
44
|
+
toStoredSchema,
|
|
41
45
|
} from "../simple-tree/index.js";
|
|
42
46
|
import { Breakable, breakingClass, disposeSymbol, type WithBreakable } from "../util/index.js";
|
|
43
47
|
|
|
44
48
|
import { canInitialize, ensureSchema, initialize } from "./schematizeTree.js";
|
|
45
|
-
import type { ITreeCheckout } from "./treeCheckout.js";
|
|
49
|
+
import type { ITreeCheckout, TreeCheckout } from "./treeCheckout.js";
|
|
46
50
|
import { CheckoutFlexTreeView } from "./checkoutFlexTreeView.js";
|
|
51
|
+
import { HydratedContext, SimpleContextSlot } from "../simple-tree/index.js";
|
|
47
52
|
/**
|
|
48
53
|
* Creating multiple tree views from the same checkout is not supported. This slot is used to detect if one already
|
|
49
54
|
* exists and error if creating a second.
|
|
@@ -68,7 +73,7 @@ export class SchematizingSimpleTreeView<in out TRootSchema extends ImplicitField
|
|
|
68
73
|
* Undefined iff uninitialized or disposed.
|
|
69
74
|
*/
|
|
70
75
|
private currentCompatibility: SchemaCompatibilityStatus | undefined;
|
|
71
|
-
private readonly
|
|
76
|
+
private readonly schemaPolicy: SchemaPolicy;
|
|
72
77
|
public readonly events: Listenable<TreeViewEvents> &
|
|
73
78
|
IEmitter<TreeViewEvents> &
|
|
74
79
|
HasListeners<TreeViewEvents> = createEmitter();
|
|
@@ -89,10 +94,11 @@ export class SchematizingSimpleTreeView<in out TRootSchema extends ImplicitField
|
|
|
89
94
|
private readonly rootFieldSchema: FieldSchema;
|
|
90
95
|
|
|
91
96
|
public constructor(
|
|
92
|
-
public readonly checkout:
|
|
97
|
+
public readonly checkout: TreeCheckout,
|
|
93
98
|
public readonly config: TreeViewConfiguration<TRootSchema>,
|
|
94
99
|
public readonly nodeKeyManager: NodeKeyManager,
|
|
95
100
|
public readonly breaker: Breakable = new Breakable("SchematizingSimpleTreeView"),
|
|
101
|
+
private readonly onDispose?: () => void,
|
|
96
102
|
) {
|
|
97
103
|
if (checkout.forest.anchors.slots.has(ViewSlot)) {
|
|
98
104
|
throw new UsageError("Cannot create a second tree view from the same checkout");
|
|
@@ -104,9 +110,9 @@ export class SchematizingSimpleTreeView<in out TRootSchema extends ImplicitField
|
|
|
104
110
|
validateSchema: config.enableSchemaValidation,
|
|
105
111
|
};
|
|
106
112
|
this.rootFieldSchema = normalizeFieldSchema(config.schema);
|
|
107
|
-
this.
|
|
113
|
+
this.schemaPolicy = defaultSchemaPolicy;
|
|
108
114
|
|
|
109
|
-
this.viewSchema = new ViewSchema(policy, {},
|
|
115
|
+
this.viewSchema = new ViewSchema(policy, {}, toStoredSchema(this.rootFieldSchema));
|
|
110
116
|
// This must be initialized before `update` can be called.
|
|
111
117
|
this.currentCompatibility = {
|
|
112
118
|
canView: false,
|
|
@@ -151,7 +157,7 @@ export class SchematizingSimpleTreeView<in out TRootSchema extends ImplicitField
|
|
|
151
157
|
|
|
152
158
|
prepareContentForHydration(mapTree, this.checkout.forest);
|
|
153
159
|
initialize(this.checkout, {
|
|
154
|
-
schema: this.viewSchema.
|
|
160
|
+
schema: this.viewSchema.schema,
|
|
155
161
|
initialTree: mapTree === undefined ? undefined : cursorForMapTreeNode(mapTree),
|
|
156
162
|
});
|
|
157
163
|
});
|
|
@@ -178,7 +184,7 @@ export class SchematizingSimpleTreeView<in out TRootSchema extends ImplicitField
|
|
|
178
184
|
AllowedUpdateType.SchemaCompatible,
|
|
179
185
|
this.checkout,
|
|
180
186
|
{
|
|
181
|
-
schema: this.viewSchema.
|
|
187
|
+
schema: this.viewSchema.schema,
|
|
182
188
|
initialTree: undefined,
|
|
183
189
|
},
|
|
184
190
|
);
|
|
@@ -271,9 +277,17 @@ export class SchematizingSimpleTreeView<in out TRootSchema extends ImplicitField
|
|
|
271
277
|
this.viewSchema,
|
|
272
278
|
onViewDispose,
|
|
273
279
|
this.nodeKeyManager,
|
|
274
|
-
this.
|
|
280
|
+
this.schemaPolicy,
|
|
275
281
|
);
|
|
276
282
|
this.view = view;
|
|
283
|
+
assert(
|
|
284
|
+
!this.checkout.forest.anchors.slots.has(SimpleContextSlot),
|
|
285
|
+
"extra simple tree context",
|
|
286
|
+
);
|
|
287
|
+
this.checkout.forest.anchors.slots.set(
|
|
288
|
+
SimpleContextSlot,
|
|
289
|
+
new HydratedContext(this.rootFieldSchema.allowedTypeSet, view.context),
|
|
290
|
+
);
|
|
277
291
|
|
|
278
292
|
const unregister = this.checkout.storedSchema.on("afterSchemaChange", () => {
|
|
279
293
|
unregister();
|
|
@@ -283,6 +297,7 @@ export class SchematizingSimpleTreeView<in out TRootSchema extends ImplicitField
|
|
|
283
297
|
this.unregisterCallbacks.add(unregister);
|
|
284
298
|
} else {
|
|
285
299
|
this.view = undefined;
|
|
300
|
+
this.checkout.forest.anchors.slots.delete(SimpleContextSlot);
|
|
286
301
|
|
|
287
302
|
const unregister = this.checkout.storedSchema.on("afterSchemaChange", () => {
|
|
288
303
|
unregister();
|
|
@@ -313,8 +328,10 @@ export class SchematizingSimpleTreeView<in out TRootSchema extends ImplicitField
|
|
|
313
328
|
if (this.view !== undefined) {
|
|
314
329
|
this.view[disposeSymbol]();
|
|
315
330
|
this.view = undefined;
|
|
331
|
+
this.checkout.forest.anchors.slots.delete(SimpleContextSlot);
|
|
316
332
|
this.unregisterCallbacks.forEach((unregister) => unregister());
|
|
317
333
|
}
|
|
334
|
+
this.checkout.forest.anchors.slots.delete(SimpleContextSlot);
|
|
318
335
|
}
|
|
319
336
|
|
|
320
337
|
public get compatibility(): SchemaCompatibilityStatus {
|
|
@@ -329,6 +346,7 @@ export class SchematizingSimpleTreeView<in out TRootSchema extends ImplicitField
|
|
|
329
346
|
this.disposeView();
|
|
330
347
|
this.checkout.forest.anchors.slots.delete(ViewSlot);
|
|
331
348
|
this.currentCompatibility = undefined;
|
|
349
|
+
this.onDispose?.();
|
|
332
350
|
}
|
|
333
351
|
|
|
334
352
|
public get root(): TreeFieldFromImplicitField<TRootSchema> {
|
|
@@ -363,7 +381,7 @@ export function requireSchema(
|
|
|
363
381
|
viewSchema: ViewSchema,
|
|
364
382
|
onDispose: () => void,
|
|
365
383
|
nodeKeyManager: NodeKeyManager,
|
|
366
|
-
|
|
384
|
+
schemaPolicy: FullSchemaPolicy,
|
|
367
385
|
): CheckoutFlexTreeView {
|
|
368
386
|
const slots = checkout.forest.anchors.slots;
|
|
369
387
|
assert(!slots.has(ContextSlot), 0x8c2 /* Cannot create second view from checkout */);
|
|
@@ -377,7 +395,8 @@ export function requireSchema(
|
|
|
377
395
|
);
|
|
378
396
|
}
|
|
379
397
|
|
|
380
|
-
const view = new CheckoutFlexTreeView(checkout,
|
|
398
|
+
const view = new CheckoutFlexTreeView(checkout, schemaPolicy, nodeKeyManager, onDispose);
|
|
381
399
|
assert(slots.has(ContextSlot), 0x90d /* Context should be tracked in slot */);
|
|
400
|
+
|
|
382
401
|
return view;
|
|
383
402
|
}
|
|
@@ -36,7 +36,6 @@ import {
|
|
|
36
36
|
TreeCompressionStrategy,
|
|
37
37
|
buildChunkedForest,
|
|
38
38
|
buildForest,
|
|
39
|
-
createNodeKeyManager,
|
|
40
39
|
defaultSchemaPolicy,
|
|
41
40
|
jsonableTreeFromFieldCursor,
|
|
42
41
|
makeFieldBatchCodec,
|
|
@@ -51,6 +50,7 @@ import {
|
|
|
51
50
|
import type {
|
|
52
51
|
ITree,
|
|
53
52
|
ImplicitFieldSchema,
|
|
53
|
+
TreeView,
|
|
54
54
|
TreeViewConfiguration,
|
|
55
55
|
} from "../simple-tree/index.js";
|
|
56
56
|
|
|
@@ -59,7 +59,12 @@ import { SharedTreeReadonlyChangeEnricher } from "./sharedTreeChangeEnricher.js"
|
|
|
59
59
|
import { SharedTreeChangeFamily } from "./sharedTreeChangeFamily.js";
|
|
60
60
|
import type { SharedTreeChange } from "./sharedTreeChangeTypes.js";
|
|
61
61
|
import type { SharedTreeEditBuilder } from "./sharedTreeEditBuilder.js";
|
|
62
|
-
import {
|
|
62
|
+
import {
|
|
63
|
+
type CheckoutEvents,
|
|
64
|
+
type TreeCheckout,
|
|
65
|
+
type TreeBranch,
|
|
66
|
+
createTreeCheckout,
|
|
67
|
+
} from "./treeCheckout.js";
|
|
63
68
|
import { breakingClass, throwIfBroken } from "../util/index.js";
|
|
64
69
|
|
|
65
70
|
/**
|
|
@@ -279,6 +284,7 @@ export class SharedTree
|
|
|
279
284
|
removedRoots,
|
|
280
285
|
chunkCompressionStrategy: options.treeEncodeType,
|
|
281
286
|
logger: this.logger,
|
|
287
|
+
breaker: this.breaker,
|
|
282
288
|
},
|
|
283
289
|
);
|
|
284
290
|
}
|
|
@@ -301,12 +307,7 @@ export class SharedTree
|
|
|
301
307
|
public viewWith<TRoot extends ImplicitFieldSchema>(
|
|
302
308
|
config: TreeViewConfiguration<TRoot>,
|
|
303
309
|
): SchematizingSimpleTreeView<TRoot> {
|
|
304
|
-
return
|
|
305
|
-
this.checkout,
|
|
306
|
-
config,
|
|
307
|
-
createNodeKeyManager(this.runtime.idCompressor),
|
|
308
|
-
this.breaker,
|
|
309
|
-
);
|
|
310
|
+
return this.checkout.viewWith(config);
|
|
310
311
|
}
|
|
311
312
|
|
|
312
313
|
protected override async loadCore(services: IChannelStorageService): Promise<void> {
|
|
@@ -316,6 +317,33 @@ export class SharedTree
|
|
|
316
317
|
}
|
|
317
318
|
}
|
|
318
319
|
|
|
320
|
+
/**
|
|
321
|
+
* Get a {@link TreeBranch} from a {@link ITree}.
|
|
322
|
+
* @remarks The branch can be used for "version control"-style coordination of edits on the tree.
|
|
323
|
+
* @privateRemarks This function will be removed if/when the branching API becomes public,
|
|
324
|
+
* but it (or something like it) is necessary in the meantime to prevent the alpha types from being exposed as public.
|
|
325
|
+
* @alpha
|
|
326
|
+
*/
|
|
327
|
+
export function getBranch(tree: ITree): TreeBranch;
|
|
328
|
+
/**
|
|
329
|
+
* Get a {@link TreeBranch} from a {@link TreeView}.
|
|
330
|
+
* @remarks The branch can be used for "version control"-style coordination of edits on the tree.
|
|
331
|
+
* Branches are currently an unstable "alpha" API and are subject to change in the future.
|
|
332
|
+
* @privateRemarks This function will be removed if/when the branching API becomes public,
|
|
333
|
+
* but it (or something like it) is necessary in the meantime to prevent the alpha types from being exposed as public.
|
|
334
|
+
* @alpha
|
|
335
|
+
*/
|
|
336
|
+
export function getBranch(view: TreeView<ImplicitFieldSchema>): TreeBranch;
|
|
337
|
+
export function getBranch(treeOrView: ITree | TreeView<ImplicitFieldSchema>): TreeBranch {
|
|
338
|
+
assert(
|
|
339
|
+
treeOrView instanceof SharedTree || treeOrView instanceof SchematizingSimpleTreeView,
|
|
340
|
+
"Unsupported implementation",
|
|
341
|
+
);
|
|
342
|
+
const checkout: TreeCheckout = treeOrView.checkout;
|
|
343
|
+
// This cast is safe so long as TreeCheckout supports all the operations on the branch interface.
|
|
344
|
+
return checkout as unknown as TreeBranch;
|
|
345
|
+
}
|
|
346
|
+
|
|
319
347
|
/**
|
|
320
348
|
* Format versions supported by SharedTree.
|
|
321
349
|
*
|