@fluidframework/tree 2.3.0-288113 → 2.4.0-294316
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/.dependency-cruiser-known-violations.json +28 -40
- package/.vscode/Tree.code-workspace +0 -2
- package/CHANGELOG.md +92 -0
- package/README.md +6 -0
- package/alpha.d.ts +11 -0
- package/api-extractor/api-extractor-lint-alpha.cjs.json +5 -0
- package/api-extractor/api-extractor-lint-alpha.esm.json +5 -0
- package/api-extractor/api-extractor-lint-legacy.cjs.json +5 -0
- package/api-extractor/api-extractor-lint-legacy.esm.json +5 -0
- package/api-extractor/api-extractor.current.json +8 -0
- package/api-extractor/api-extractor.legacy.json +4 -0
- package/api-extractor.json +1 -1
- package/api-report/tree.alpha.api.md +42 -54
- package/api-report/tree.beta.api.md +35 -16
- package/api-report/tree.legacy.alpha.api.md +571 -0
- package/api-report/tree.legacy.public.api.md +568 -0
- package/api-report/tree.public.api.md +22 -18
- package/dist/alpha.d.ts +103 -0
- package/dist/beta.d.ts +7 -2
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +4 -3
- package/dist/core/index.js.map +1 -1
- package/dist/core/rebase/index.d.ts +1 -1
- package/dist/core/rebase/index.d.ts.map +1 -1
- package/dist/core/rebase/index.js +2 -1
- package/dist/core/rebase/index.js.map +1 -1
- package/dist/core/rebase/types.d.ts +1 -0
- package/dist/core/rebase/types.d.ts.map +1 -1
- package/dist/core/rebase/types.js +8 -1
- package/dist/core/rebase/types.js.map +1 -1
- package/dist/core/{revertible/revertible.d.ts → revertible.d.ts} +12 -0
- package/dist/core/revertible.d.ts.map +1 -0
- package/dist/core/revertible.js.map +1 -0
- package/dist/core/schema-stored/format.d.ts +3 -3
- package/dist/core/schema-stored/format.js +1 -1
- package/dist/core/schema-stored/format.js.map +1 -1
- package/dist/core/schema-stored/schema.d.ts +2 -7
- package/dist/core/schema-stored/schema.d.ts.map +1 -1
- package/dist/core/schema-stored/schema.js +4 -6
- package/dist/core/schema-stored/schema.js.map +1 -1
- package/dist/core/schema-stored/storedSchemaRepository.d.ts +1 -1
- package/dist/core/schema-stored/storedSchemaRepository.d.ts.map +1 -1
- package/dist/core/tree/anchorSet.d.ts.map +1 -1
- package/dist/core/tree/anchorSet.js +6 -2
- package/dist/core/tree/anchorSet.js.map +1 -1
- package/dist/core/tree/detachedFieldIndex.d.ts +0 -1
- package/dist/core/tree/detachedFieldIndex.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndex.js +1 -0
- package/dist/core/tree/detachedFieldIndex.js.map +1 -1
- package/dist/core/tree/visitDelta.d.ts +7 -2
- package/dist/core/tree/visitDelta.d.ts.map +1 -1
- package/dist/core/tree/visitDelta.js.map +1 -1
- package/dist/events/emitter.d.ts +127 -0
- package/dist/events/emitter.d.ts.map +1 -0
- package/dist/events/{events.js → emitter.js} +48 -30
- package/dist/events/emitter.js.map +1 -0
- package/dist/events/index.d.ts +2 -1
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +4 -5
- package/dist/events/index.js.map +1 -1
- package/dist/events/interop.d.ts +36 -0
- package/dist/events/interop.d.ts.map +1 -0
- package/dist/{core/revertible/index.d.ts → events/interop.js} +3 -2
- package/dist/events/interop.js.map +1 -0
- package/dist/events/listeners.d.ts +65 -0
- package/dist/events/listeners.d.ts.map +1 -0
- package/{lib/core/revertible/index.d.ts → dist/events/listeners.js} +3 -2
- package/dist/events/listeners.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/chunkTree.d.ts +25 -7
- package/dist/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkTree.js +36 -15
- package/dist/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkedForest.d.ts +4 -2
- package/dist/feature-libraries/chunked-forest/chunkedForest.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkedForest.js +12 -5
- package/dist/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/uniformChunk.d.ts +15 -2
- package/dist/feature-libraries/chunked-forest/uniformChunk.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/uniformChunk.js +28 -2
- package/dist/feature-libraries/chunked-forest/uniformChunk.js.map +1 -1
- package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts +3 -1
- package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/defaultEditBuilder.js +5 -4
- package/dist/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
- package/dist/feature-libraries/flex-map-tree/index.d.ts +1 -1
- package/dist/feature-libraries/flex-map-tree/index.d.ts.map +1 -1
- package/dist/feature-libraries/flex-map-tree/index.js +2 -1
- package/dist/feature-libraries/flex-map-tree/index.js.map +1 -1
- package/dist/feature-libraries/flex-map-tree/mapTreeNode.d.ts +35 -33
- package/dist/feature-libraries/flex-map-tree/mapTreeNode.d.ts.map +1 -1
- package/dist/feature-libraries/flex-map-tree/mapTreeNode.js +82 -103
- package/dist/feature-libraries/flex-map-tree/mapTreeNode.js.map +1 -1
- package/dist/feature-libraries/flex-tree/context.d.ts +30 -14
- package/dist/feature-libraries/flex-tree/context.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/context.js +10 -7
- package/dist/feature-libraries/flex-tree/context.js.map +1 -1
- package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts +57 -190
- package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/flexTreeTypes.js +15 -3
- package/dist/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
- package/dist/feature-libraries/flex-tree/index.d.ts +2 -3
- package/dist/feature-libraries/flex-tree/index.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/index.js.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyEntity.d.ts +3 -3
- package/dist/feature-libraries/flex-tree/lazyEntity.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyEntity.js +2 -10
- package/dist/feature-libraries/flex-tree/lazyEntity.js.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyField.d.ts +26 -28
- package/dist/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyField.js +11 -14
- package/dist/feature-libraries/flex-tree/lazyField.js.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyNode.d.ts +5 -26
- package/dist/feature-libraries/flex-tree/lazyNode.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyNode.js +23 -74
- package/dist/feature-libraries/flex-tree/lazyNode.js.map +1 -1
- package/dist/feature-libraries/flex-tree/unboxed.d.ts +4 -16
- package/dist/feature-libraries/flex-tree/unboxed.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/unboxed.js +7 -41
- package/dist/feature-libraries/flex-tree/unboxed.js.map +1 -1
- package/dist/feature-libraries/flex-tree/utilities.d.ts +2 -2
- package/dist/feature-libraries/flex-tree/utilities.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/utilities.js +3 -6
- package/dist/feature-libraries/flex-tree/utilities.js.map +1 -1
- package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/forestSummarizer.js +4 -1
- package/dist/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
- package/dist/feature-libraries/index.d.ts +3 -5
- package/dist/feature-libraries/index.d.ts.map +1 -1
- package/dist/feature-libraries/index.js +5 -11
- package/dist/feature-libraries/index.js.map +1 -1
- package/dist/feature-libraries/modular-schema/comparison.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/comparison.js +3 -6
- package/dist/feature-libraries/modular-schema/comparison.js.map +1 -1
- package/dist/feature-libraries/modular-schema/discrepancies.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/discrepancies.js +3 -13
- package/dist/feature-libraries/modular-schema/discrepancies.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.js +4 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts +9 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js +73 -22
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeFormat.d.ts +6 -6
- package/dist/feature-libraries/schema-index/format.d.ts +3 -3
- package/dist/feature-libraries/sequence-field/compose.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/compose.js +3 -0
- package/dist/feature-libraries/sequence-field/compose.js.map +1 -1
- package/dist/feature-libraries/sequence-field/utils.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/utils.js +1 -4
- package/dist/feature-libraries/sequence-field/utils.js.map +1 -1
- package/dist/feature-libraries/storedToViewSchema.d.ts.map +1 -1
- package/dist/feature-libraries/storedToViewSchema.js +2 -4
- package/dist/feature-libraries/storedToViewSchema.js.map +1 -1
- package/dist/feature-libraries/typed-schema/flexList.d.ts +3 -3
- package/dist/feature-libraries/typed-schema/flexList.js.map +1 -1
- package/dist/feature-libraries/typed-schema/index.d.ts +2 -2
- package/dist/feature-libraries/typed-schema/index.d.ts.map +1 -1
- package/dist/feature-libraries/typed-schema/index.js +2 -2
- package/dist/feature-libraries/typed-schema/index.js.map +1 -1
- package/dist/feature-libraries/typed-schema/schemaCollection.d.ts.map +1 -1
- package/dist/feature-libraries/typed-schema/schemaCollection.js +8 -10
- package/dist/feature-libraries/typed-schema/schemaCollection.js.map +1 -1
- package/dist/feature-libraries/typed-schema/typedTreeSchema.d.ts +17 -48
- package/dist/feature-libraries/typed-schema/typedTreeSchema.d.ts.map +1 -1
- package/dist/feature-libraries/typed-schema/typedTreeSchema.js +5 -37
- package/dist/feature-libraries/typed-schema/typedTreeSchema.js.map +1 -1
- package/dist/feature-libraries/typed-schema/view.d.ts +4 -6
- package/dist/feature-libraries/typed-schema/view.d.ts.map +1 -1
- package/dist/feature-libraries/typed-schema/view.js +5 -4
- package/dist/feature-libraries/typed-schema/view.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +33 -36
- package/dist/index.js.map +1 -1
- package/dist/legacy.d.ts +84 -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 +1 -1
- package/dist/shared-tree/checkoutFlexTreeView.d.ts +53 -0
- package/dist/shared-tree/checkoutFlexTreeView.d.ts.map +1 -0
- package/dist/shared-tree/{treeView.js → checkoutFlexTreeView.js} +28 -6
- package/dist/shared-tree/checkoutFlexTreeView.js.map +1 -0
- 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 -2
- package/dist/shared-tree/index.js.map +1 -1
- package/dist/shared-tree/schematizeTree.d.ts +15 -4
- package/dist/shared-tree/schematizeTree.d.ts.map +1 -1
- package/dist/shared-tree/schematizeTree.js +7 -8
- package/dist/shared-tree/schematizeTree.js.map +1 -1
- package/dist/shared-tree/schematizingTreeView.d.ts +10 -4
- package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/dist/shared-tree/schematizingTreeView.js +28 -12
- package/dist/shared-tree/schematizingTreeView.js.map +1 -1
- package/dist/shared-tree/sharedTree.d.ts.map +1 -1
- package/dist/shared-tree/sharedTree.js +2 -2
- package/dist/shared-tree/sharedTree.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeEnricher.d.ts +3 -1
- package/dist/shared-tree/sharedTreeChangeEnricher.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeEnricher.js +6 -2
- package/dist/shared-tree/sharedTreeChangeEnricher.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts +3 -1
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.js +3 -2
- package/dist/shared-tree/sharedTreeChangeFamily.js.map +1 -1
- package/dist/shared-tree/sharedTreeEditBuilder.d.ts +2 -1
- package/dist/shared-tree/sharedTreeEditBuilder.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeEditBuilder.js +2 -2
- package/dist/shared-tree/sharedTreeEditBuilder.js.map +1 -1
- package/dist/shared-tree/treeApi.d.ts +1 -3
- package/dist/shared-tree/treeApi.d.ts.map +1 -1
- package/dist/shared-tree/treeApi.js +6 -4
- package/dist/shared-tree/treeApi.js.map +1 -1
- package/dist/shared-tree/treeCheckout.d.ts +2 -13
- package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
- package/dist/shared-tree/treeCheckout.js +17 -1
- package/dist/shared-tree/treeCheckout.js.map +1 -1
- package/dist/shared-tree-core/branch.js +1 -1
- package/dist/shared-tree-core/branch.js.map +1 -1
- package/dist/simple-tree/api/create.d.ts.map +1 -1
- package/dist/simple-tree/api/create.js +1 -1
- package/dist/simple-tree/api/create.js.map +1 -1
- package/{lib/simple-tree → dist/simple-tree/api}/getJsonSchema.d.ts +1 -1
- package/dist/simple-tree/api/getJsonSchema.d.ts.map +1 -0
- package/dist/simple-tree/{getJsonSchema.js → api/getJsonSchema.js} +1 -1
- package/dist/simple-tree/api/getJsonSchema.js.map +1 -0
- package/{lib/simple-tree → dist/simple-tree/api}/getSimpleSchema.d.ts +1 -1
- package/dist/simple-tree/api/getSimpleSchema.d.ts.map +1 -0
- package/dist/simple-tree/{getSimpleSchema.js → api/getSimpleSchema.js} +1 -1
- package/dist/simple-tree/api/getSimpleSchema.js.map +1 -0
- package/dist/simple-tree/api/index.d.ts +5 -0
- package/dist/simple-tree/api/index.d.ts.map +1 -1
- package/dist/simple-tree/api/index.js +7 -1
- package/dist/simple-tree/api/index.js.map +1 -1
- package/{lib/simple-tree → dist/simple-tree/api}/jsonSchema.d.ts +14 -15
- package/dist/simple-tree/api/jsonSchema.d.ts.map +1 -0
- package/dist/simple-tree/api/jsonSchema.js.map +1 -0
- package/dist/simple-tree/api/schemaFactory.d.ts +53 -16
- package/dist/simple-tree/api/schemaFactory.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactory.js +49 -12
- package/dist/simple-tree/api/schemaFactory.js.map +1 -1
- package/dist/simple-tree/{simpleSchema.d.ts → api/simpleSchema.d.ts} +8 -4
- package/dist/simple-tree/api/simpleSchema.d.ts.map +1 -0
- package/dist/simple-tree/api/simpleSchema.js.map +1 -0
- package/dist/simple-tree/api/simpleSchemaToJsonSchema.d.ts.map +1 -0
- package/dist/simple-tree/{simpleSchemaToJsonSchema.js → api/simpleSchemaToJsonSchema.js} +34 -21
- package/dist/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -0
- package/dist/simple-tree/api/tree.d.ts +5 -21
- package/dist/simple-tree/api/tree.d.ts.map +1 -1
- package/dist/simple-tree/api/tree.js +3 -38
- package/dist/simple-tree/api/tree.js.map +1 -1
- package/dist/simple-tree/api/treeApiBeta.d.ts +79 -0
- package/dist/simple-tree/api/treeApiBeta.d.ts.map +1 -0
- package/dist/simple-tree/api/treeApiBeta.js +26 -0
- package/dist/simple-tree/api/treeApiBeta.js.map +1 -0
- package/dist/simple-tree/api/treeNodeApi.d.ts +1 -1
- package/dist/simple-tree/api/treeNodeApi.d.ts.map +1 -1
- package/dist/simple-tree/api/treeNodeApi.js +21 -19
- package/dist/simple-tree/api/treeNodeApi.js.map +1 -1
- package/dist/simple-tree/api/verboseTree.js +2 -2
- package/dist/simple-tree/api/verboseTree.js.map +1 -1
- package/dist/simple-tree/{viewSchemaToSimpleSchema.d.ts → api/viewSchemaToSimpleSchema.d.ts} +1 -1
- package/dist/simple-tree/api/viewSchemaToSimpleSchema.d.ts.map +1 -0
- package/dist/simple-tree/{viewSchemaToSimpleSchema.js → api/viewSchemaToSimpleSchema.js} +8 -4
- package/dist/simple-tree/api/viewSchemaToSimpleSchema.js.map +1 -0
- package/dist/simple-tree/arrayNode.d.ts +2 -2
- package/dist/simple-tree/arrayNode.d.ts.map +1 -1
- package/dist/simple-tree/arrayNode.js +30 -21
- package/dist/simple-tree/arrayNode.js.map +1 -1
- package/dist/simple-tree/core/index.d.ts +3 -3
- package/dist/simple-tree/core/index.d.ts.map +1 -1
- package/dist/simple-tree/core/index.js +4 -1
- package/dist/simple-tree/core/index.js.map +1 -1
- package/dist/simple-tree/core/schemaCaching.d.ts +5 -0
- package/dist/simple-tree/core/schemaCaching.d.ts.map +1 -1
- package/dist/simple-tree/core/schemaCaching.js +10 -1
- package/dist/simple-tree/core/schemaCaching.js.map +1 -1
- package/dist/simple-tree/core/treeNodeKernel.d.ts +61 -3
- package/dist/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
- package/dist/simple-tree/core/treeNodeKernel.js +166 -13
- package/dist/simple-tree/core/treeNodeKernel.js.map +1 -1
- package/dist/simple-tree/core/treeNodeSchema.d.ts +1 -1
- package/dist/simple-tree/core/treeNodeSchema.js.map +1 -1
- package/dist/simple-tree/core/types.d.ts +17 -20
- 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/withType.d.ts +3 -2
- package/dist/simple-tree/core/withType.d.ts.map +1 -1
- package/dist/simple-tree/core/withType.js.map +1 -1
- package/dist/simple-tree/index.d.ts +8 -10
- package/dist/simple-tree/index.d.ts.map +1 -1
- package/dist/simple-tree/index.js +15 -6
- package/dist/simple-tree/index.js.map +1 -1
- package/dist/simple-tree/leafNodeSchema.d.ts +7 -9
- package/dist/simple-tree/leafNodeSchema.d.ts.map +1 -1
- package/dist/simple-tree/leafNodeSchema.js +13 -11
- package/dist/simple-tree/leafNodeSchema.js.map +1 -1
- package/dist/simple-tree/mapNode.d.ts +1 -1
- package/dist/simple-tree/mapNode.d.ts.map +1 -1
- package/dist/simple-tree/mapNode.js +38 -29
- package/dist/simple-tree/mapNode.js.map +1 -1
- package/dist/simple-tree/objectNode.d.ts +9 -7
- package/dist/simple-tree/objectNode.d.ts.map +1 -1
- package/dist/simple-tree/objectNode.js +37 -31
- package/dist/simple-tree/objectNode.js.map +1 -1
- package/dist/simple-tree/proxies.d.ts +1 -14
- package/dist/simple-tree/proxies.d.ts.map +1 -1
- package/dist/simple-tree/proxies.js +12 -15
- package/dist/simple-tree/proxies.js.map +1 -1
- package/dist/simple-tree/proxyBinding.d.ts +2 -62
- package/dist/simple-tree/proxyBinding.d.ts.map +1 -1
- package/dist/simple-tree/proxyBinding.js +8 -181
- package/dist/simple-tree/proxyBinding.js.map +1 -1
- package/dist/simple-tree/schemaTypes.d.ts +51 -11
- package/dist/simple-tree/schemaTypes.d.ts.map +1 -1
- package/dist/simple-tree/schemaTypes.js +14 -4
- package/dist/simple-tree/schemaTypes.js.map +1 -1
- package/dist/simple-tree/toFlexSchema.d.ts +11 -1
- package/dist/simple-tree/toFlexSchema.d.ts.map +1 -1
- package/dist/simple-tree/toFlexSchema.js +54 -31
- package/dist/simple-tree/toFlexSchema.js.map +1 -1
- package/dist/simple-tree/toMapTree.d.ts +25 -37
- package/dist/simple-tree/toMapTree.d.ts.map +1 -1
- package/dist/simple-tree/toMapTree.js +53 -16
- package/dist/simple-tree/toMapTree.js.map +1 -1
- package/dist/simple-tree/treeNodeValid.d.ts.map +1 -1
- package/dist/simple-tree/treeNodeValid.js +7 -10
- package/dist/simple-tree/treeNodeValid.js.map +1 -1
- package/dist/simple-tree/typesUnsafe.d.ts +13 -13
- package/dist/simple-tree/typesUnsafe.js.map +1 -1
- package/dist/simple-tree/walkSchema.d.ts +26 -0
- package/dist/simple-tree/walkSchema.d.ts.map +1 -0
- package/dist/simple-tree/walkSchema.js +49 -0
- package/dist/simple-tree/walkSchema.js.map +1 -0
- package/dist/treeFactory.d.ts +2 -1
- package/dist/treeFactory.d.ts.map +1 -1
- package/dist/treeFactory.js +2 -1
- package/dist/treeFactory.js.map +1 -1
- package/dist/util/typeUtils.d.ts +2 -2
- package/dist/util/typeUtils.js.map +1 -1
- package/legacy.d.ts +11 -0
- package/lib/alpha.d.ts +103 -0
- package/lib/beta.d.ts +7 -2
- package/lib/core/index.d.ts +2 -2
- package/lib/core/index.d.ts.map +1 -1
- package/lib/core/index.js +2 -2
- package/lib/core/index.js.map +1 -1
- package/lib/core/rebase/index.d.ts +1 -1
- package/lib/core/rebase/index.d.ts.map +1 -1
- package/lib/core/rebase/index.js +1 -1
- package/lib/core/rebase/index.js.map +1 -1
- package/lib/core/rebase/types.d.ts +1 -0
- package/lib/core/rebase/types.d.ts.map +1 -1
- package/lib/core/rebase/types.js +6 -0
- package/lib/core/rebase/types.js.map +1 -1
- package/lib/core/{revertible/revertible.d.ts → revertible.d.ts} +12 -0
- package/lib/core/revertible.d.ts.map +1 -0
- package/lib/core/revertible.js.map +1 -0
- package/lib/core/schema-stored/format.d.ts +3 -3
- package/lib/core/schema-stored/format.js +1 -1
- package/lib/core/schema-stored/format.js.map +1 -1
- package/lib/core/schema-stored/schema.d.ts +2 -7
- package/lib/core/schema-stored/schema.d.ts.map +1 -1
- package/lib/core/schema-stored/schema.js +4 -6
- package/lib/core/schema-stored/schema.js.map +1 -1
- package/lib/core/schema-stored/storedSchemaRepository.d.ts +1 -1
- package/lib/core/schema-stored/storedSchemaRepository.d.ts.map +1 -1
- package/lib/core/tree/anchorSet.d.ts.map +1 -1
- package/lib/core/tree/anchorSet.js +6 -2
- package/lib/core/tree/anchorSet.js.map +1 -1
- package/lib/core/tree/detachedFieldIndex.d.ts +0 -1
- package/lib/core/tree/detachedFieldIndex.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndex.js +1 -0
- package/lib/core/tree/detachedFieldIndex.js.map +1 -1
- package/lib/core/tree/visitDelta.d.ts +7 -2
- package/lib/core/tree/visitDelta.d.ts.map +1 -1
- package/lib/core/tree/visitDelta.js.map +1 -1
- package/lib/events/emitter.d.ts +127 -0
- package/lib/events/emitter.d.ts.map +1 -0
- package/lib/events/{events.js → emitter.js} +48 -29
- package/lib/events/emitter.js.map +1 -0
- package/lib/events/index.d.ts +2 -1
- package/lib/events/index.d.ts.map +1 -1
- package/lib/events/index.js +1 -1
- package/lib/events/index.js.map +1 -1
- package/lib/events/interop.d.ts +36 -0
- package/lib/events/interop.d.ts.map +1 -0
- package/{src/core/revertible/index.ts → lib/events/interop.js} +2 -2
- package/lib/events/interop.js.map +1 -0
- package/lib/events/listeners.d.ts +65 -0
- package/lib/events/listeners.d.ts.map +1 -0
- package/lib/{core/revertible/index.js → events/listeners.js} +2 -2
- package/lib/events/listeners.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/chunkTree.d.ts +25 -7
- package/lib/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkTree.js +37 -16
- package/lib/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkedForest.d.ts +4 -2
- package/lib/feature-libraries/chunked-forest/chunkedForest.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkedForest.js +12 -5
- package/lib/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/uniformChunk.d.ts +15 -2
- package/lib/feature-libraries/chunked-forest/uniformChunk.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/uniformChunk.js +28 -2
- package/lib/feature-libraries/chunked-forest/uniformChunk.js.map +1 -1
- package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts +3 -1
- package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/defaultEditBuilder.js +5 -4
- package/lib/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
- package/lib/feature-libraries/flex-map-tree/index.d.ts +1 -1
- package/lib/feature-libraries/flex-map-tree/index.d.ts.map +1 -1
- package/lib/feature-libraries/flex-map-tree/index.js +1 -1
- package/lib/feature-libraries/flex-map-tree/index.js.map +1 -1
- package/lib/feature-libraries/flex-map-tree/mapTreeNode.d.ts +35 -33
- package/lib/feature-libraries/flex-map-tree/mapTreeNode.d.ts.map +1 -1
- package/lib/feature-libraries/flex-map-tree/mapTreeNode.js +83 -104
- package/lib/feature-libraries/flex-map-tree/mapTreeNode.js.map +1 -1
- package/lib/feature-libraries/flex-tree/context.d.ts +30 -14
- package/lib/feature-libraries/flex-tree/context.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/context.js +10 -7
- package/lib/feature-libraries/flex-tree/context.js.map +1 -1
- package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts +57 -190
- package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/flexTreeTypes.js +15 -2
- package/lib/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
- package/lib/feature-libraries/flex-tree/index.d.ts +2 -3
- package/lib/feature-libraries/flex-tree/index.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/index.js +1 -1
- package/lib/feature-libraries/flex-tree/index.js.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyEntity.d.ts +3 -3
- package/lib/feature-libraries/flex-tree/lazyEntity.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyEntity.js +2 -10
- package/lib/feature-libraries/flex-tree/lazyEntity.js.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyField.d.ts +26 -28
- package/lib/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyField.js +11 -13
- package/lib/feature-libraries/flex-tree/lazyField.js.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyNode.d.ts +5 -26
- package/lib/feature-libraries/flex-tree/lazyNode.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyNode.js +23 -72
- package/lib/feature-libraries/flex-tree/lazyNode.js.map +1 -1
- package/lib/feature-libraries/flex-tree/unboxed.d.ts +4 -16
- package/lib/feature-libraries/flex-tree/unboxed.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/unboxed.js +5 -37
- package/lib/feature-libraries/flex-tree/unboxed.js.map +1 -1
- package/lib/feature-libraries/flex-tree/utilities.d.ts +2 -2
- package/lib/feature-libraries/flex-tree/utilities.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/utilities.js +3 -6
- package/lib/feature-libraries/flex-tree/utilities.js.map +1 -1
- package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/forestSummarizer.js +4 -1
- package/lib/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
- package/lib/feature-libraries/index.d.ts +3 -5
- package/lib/feature-libraries/index.d.ts.map +1 -1
- package/lib/feature-libraries/index.js +5 -5
- package/lib/feature-libraries/index.js.map +1 -1
- package/lib/feature-libraries/modular-schema/comparison.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/comparison.js +3 -6
- package/lib/feature-libraries/modular-schema/comparison.js.map +1 -1
- package/lib/feature-libraries/modular-schema/discrepancies.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/discrepancies.js +3 -13
- package/lib/feature-libraries/modular-schema/discrepancies.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.js +4 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts +9 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js +74 -23
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeFormat.d.ts +6 -6
- package/lib/feature-libraries/schema-index/format.d.ts +3 -3
- package/lib/feature-libraries/sequence-field/compose.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/compose.js +3 -0
- package/lib/feature-libraries/sequence-field/compose.js.map +1 -1
- package/lib/feature-libraries/sequence-field/utils.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/utils.js +2 -5
- package/lib/feature-libraries/sequence-field/utils.js.map +1 -1
- package/lib/feature-libraries/storedToViewSchema.d.ts.map +1 -1
- package/lib/feature-libraries/storedToViewSchema.js +3 -5
- package/lib/feature-libraries/storedToViewSchema.js.map +1 -1
- package/lib/feature-libraries/typed-schema/flexList.d.ts +3 -3
- package/lib/feature-libraries/typed-schema/flexList.js.map +1 -1
- package/lib/feature-libraries/typed-schema/index.d.ts +2 -2
- package/lib/feature-libraries/typed-schema/index.d.ts.map +1 -1
- package/lib/feature-libraries/typed-schema/index.js +2 -2
- package/lib/feature-libraries/typed-schema/index.js.map +1 -1
- package/lib/feature-libraries/typed-schema/schemaCollection.d.ts.map +1 -1
- package/lib/feature-libraries/typed-schema/schemaCollection.js +9 -11
- package/lib/feature-libraries/typed-schema/schemaCollection.js.map +1 -1
- package/lib/feature-libraries/typed-schema/typedTreeSchema.d.ts +17 -48
- package/lib/feature-libraries/typed-schema/typedTreeSchema.d.ts.map +1 -1
- package/lib/feature-libraries/typed-schema/typedTreeSchema.js +5 -36
- package/lib/feature-libraries/typed-schema/typedTreeSchema.js.map +1 -1
- package/lib/feature-libraries/typed-schema/view.d.ts +4 -6
- package/lib/feature-libraries/typed-schema/view.d.ts.map +1 -1
- package/lib/feature-libraries/typed-schema/view.js +5 -4
- package/lib/feature-libraries/typed-schema/view.js.map +1 -1
- package/lib/index.d.ts +4 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -5
- package/lib/index.js.map +1 -1
- package/lib/legacy.d.ts +84 -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 +1 -1
- package/lib/shared-tree/checkoutFlexTreeView.d.ts +53 -0
- package/lib/shared-tree/checkoutFlexTreeView.d.ts.map +1 -0
- package/lib/shared-tree/{treeView.js → checkoutFlexTreeView.js} +26 -5
- package/lib/shared-tree/checkoutFlexTreeView.js.map +1 -0
- 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 -1
- package/lib/shared-tree/index.js.map +1 -1
- package/lib/shared-tree/schematizeTree.d.ts +15 -4
- package/lib/shared-tree/schematizeTree.d.ts.map +1 -1
- package/lib/shared-tree/schematizeTree.js +8 -9
- package/lib/shared-tree/schematizeTree.js.map +1 -1
- package/lib/shared-tree/schematizingTreeView.d.ts +10 -4
- package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/lib/shared-tree/schematizingTreeView.js +29 -13
- package/lib/shared-tree/schematizingTreeView.js.map +1 -1
- package/lib/shared-tree/sharedTree.d.ts.map +1 -1
- package/lib/shared-tree/sharedTree.js +2 -2
- package/lib/shared-tree/sharedTree.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeEnricher.d.ts +3 -1
- package/lib/shared-tree/sharedTreeChangeEnricher.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeEnricher.js +6 -2
- package/lib/shared-tree/sharedTreeChangeEnricher.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts +3 -1
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.js +3 -2
- package/lib/shared-tree/sharedTreeChangeFamily.js.map +1 -1
- package/lib/shared-tree/sharedTreeEditBuilder.d.ts +2 -1
- package/lib/shared-tree/sharedTreeEditBuilder.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeEditBuilder.js +2 -2
- package/lib/shared-tree/sharedTreeEditBuilder.js.map +1 -1
- package/lib/shared-tree/treeApi.d.ts +1 -3
- package/lib/shared-tree/treeApi.d.ts.map +1 -1
- package/lib/shared-tree/treeApi.js +7 -5
- package/lib/shared-tree/treeApi.js.map +1 -1
- package/lib/shared-tree/treeCheckout.d.ts +2 -13
- package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
- package/lib/shared-tree/treeCheckout.js +18 -2
- package/lib/shared-tree/treeCheckout.js.map +1 -1
- package/lib/shared-tree-core/branch.js +1 -1
- package/lib/shared-tree-core/branch.js.map +1 -1
- package/lib/simple-tree/api/create.d.ts.map +1 -1
- package/lib/simple-tree/api/create.js +2 -2
- package/lib/simple-tree/api/create.js.map +1 -1
- package/{dist/simple-tree → lib/simple-tree/api}/getJsonSchema.d.ts +1 -1
- package/lib/simple-tree/api/getJsonSchema.d.ts.map +1 -0
- package/lib/simple-tree/{getJsonSchema.js → api/getJsonSchema.js} +1 -1
- package/lib/simple-tree/api/getJsonSchema.js.map +1 -0
- package/{dist/simple-tree → lib/simple-tree/api}/getSimpleSchema.d.ts +1 -1
- package/lib/simple-tree/api/getSimpleSchema.d.ts.map +1 -0
- package/lib/simple-tree/{getSimpleSchema.js → api/getSimpleSchema.js} +1 -1
- package/lib/simple-tree/api/getSimpleSchema.js.map +1 -0
- package/lib/simple-tree/api/index.d.ts +5 -0
- package/lib/simple-tree/api/index.d.ts.map +1 -1
- package/lib/simple-tree/api/index.js +3 -0
- package/lib/simple-tree/api/index.js.map +1 -1
- package/{dist/simple-tree → lib/simple-tree/api}/jsonSchema.d.ts +14 -15
- package/lib/simple-tree/api/jsonSchema.d.ts.map +1 -0
- package/lib/simple-tree/api/jsonSchema.js.map +1 -0
- package/lib/simple-tree/api/schemaFactory.d.ts +53 -16
- package/lib/simple-tree/api/schemaFactory.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactory.js +49 -12
- package/lib/simple-tree/api/schemaFactory.js.map +1 -1
- package/lib/simple-tree/{simpleSchema.d.ts → api/simpleSchema.d.ts} +8 -4
- package/lib/simple-tree/api/simpleSchema.d.ts.map +1 -0
- package/lib/simple-tree/api/simpleSchema.js.map +1 -0
- package/lib/simple-tree/api/simpleSchemaToJsonSchema.d.ts.map +1 -0
- package/lib/simple-tree/{simpleSchemaToJsonSchema.js → api/simpleSchemaToJsonSchema.js} +35 -22
- package/lib/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -0
- package/lib/simple-tree/api/tree.d.ts +5 -21
- package/lib/simple-tree/api/tree.d.ts.map +1 -1
- package/lib/simple-tree/api/tree.js +2 -34
- package/lib/simple-tree/api/tree.js.map +1 -1
- package/lib/simple-tree/api/treeApiBeta.d.ts +79 -0
- package/lib/simple-tree/api/treeApiBeta.d.ts.map +1 -0
- package/lib/simple-tree/api/treeApiBeta.js +23 -0
- package/lib/simple-tree/api/treeApiBeta.js.map +1 -0
- package/lib/simple-tree/api/treeNodeApi.d.ts +1 -1
- package/lib/simple-tree/api/treeNodeApi.d.ts.map +1 -1
- package/lib/simple-tree/api/treeNodeApi.js +23 -21
- package/lib/simple-tree/api/treeNodeApi.js.map +1 -1
- package/lib/simple-tree/api/verboseTree.js +1 -1
- package/lib/simple-tree/api/verboseTree.js.map +1 -1
- package/lib/simple-tree/{viewSchemaToSimpleSchema.d.ts → api/viewSchemaToSimpleSchema.d.ts} +1 -1
- package/lib/simple-tree/api/viewSchemaToSimpleSchema.d.ts.map +1 -0
- package/lib/simple-tree/{viewSchemaToSimpleSchema.js → api/viewSchemaToSimpleSchema.js} +8 -4
- package/lib/simple-tree/api/viewSchemaToSimpleSchema.js.map +1 -0
- package/lib/simple-tree/arrayNode.d.ts +2 -2
- package/lib/simple-tree/arrayNode.d.ts.map +1 -1
- package/lib/simple-tree/arrayNode.js +33 -24
- package/lib/simple-tree/arrayNode.js.map +1 -1
- package/lib/simple-tree/core/index.d.ts +3 -3
- package/lib/simple-tree/core/index.d.ts.map +1 -1
- package/lib/simple-tree/core/index.js +2 -2
- package/lib/simple-tree/core/index.js.map +1 -1
- package/lib/simple-tree/core/schemaCaching.d.ts +5 -0
- package/lib/simple-tree/core/schemaCaching.d.ts.map +1 -1
- package/lib/simple-tree/core/schemaCaching.js +8 -0
- package/lib/simple-tree/core/schemaCaching.js.map +1 -1
- package/lib/simple-tree/core/treeNodeKernel.d.ts +61 -3
- package/lib/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
- package/lib/simple-tree/core/treeNodeKernel.js +156 -5
- package/lib/simple-tree/core/treeNodeKernel.js.map +1 -1
- package/lib/simple-tree/core/treeNodeSchema.d.ts +1 -1
- package/lib/simple-tree/core/treeNodeSchema.js.map +1 -1
- package/lib/simple-tree/core/types.d.ts +17 -20
- 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/withType.d.ts +3 -2
- package/lib/simple-tree/core/withType.d.ts.map +1 -1
- package/lib/simple-tree/core/withType.js.map +1 -1
- package/lib/simple-tree/index.d.ts +8 -10
- package/lib/simple-tree/index.d.ts.map +1 -1
- package/lib/simple-tree/index.js +5 -5
- package/lib/simple-tree/index.js.map +1 -1
- package/lib/simple-tree/leafNodeSchema.d.ts +7 -9
- package/lib/simple-tree/leafNodeSchema.d.ts.map +1 -1
- package/lib/simple-tree/leafNodeSchema.js +14 -12
- package/lib/simple-tree/leafNodeSchema.js.map +1 -1
- package/lib/simple-tree/mapNode.d.ts +1 -1
- package/lib/simple-tree/mapNode.d.ts.map +1 -1
- package/lib/simple-tree/mapNode.js +38 -29
- package/lib/simple-tree/mapNode.js.map +1 -1
- package/lib/simple-tree/objectNode.d.ts +9 -7
- package/lib/simple-tree/objectNode.d.ts.map +1 -1
- package/lib/simple-tree/objectNode.js +40 -34
- package/lib/simple-tree/objectNode.js.map +1 -1
- package/lib/simple-tree/proxies.d.ts +1 -14
- package/lib/simple-tree/proxies.d.ts.map +1 -1
- package/lib/simple-tree/proxies.js +11 -14
- package/lib/simple-tree/proxies.js.map +1 -1
- package/lib/simple-tree/proxyBinding.d.ts +2 -62
- package/lib/simple-tree/proxyBinding.d.ts.map +1 -1
- package/lib/simple-tree/proxyBinding.js +6 -174
- package/lib/simple-tree/proxyBinding.js.map +1 -1
- package/lib/simple-tree/schemaTypes.d.ts +51 -11
- package/lib/simple-tree/schemaTypes.d.ts.map +1 -1
- package/lib/simple-tree/schemaTypes.js +14 -4
- package/lib/simple-tree/schemaTypes.js.map +1 -1
- package/lib/simple-tree/toFlexSchema.d.ts +11 -1
- package/lib/simple-tree/toFlexSchema.d.ts.map +1 -1
- package/lib/simple-tree/toFlexSchema.js +29 -8
- package/lib/simple-tree/toFlexSchema.js.map +1 -1
- package/lib/simple-tree/toMapTree.d.ts +25 -37
- package/lib/simple-tree/toMapTree.d.ts.map +1 -1
- package/lib/simple-tree/toMapTree.js +54 -17
- package/lib/simple-tree/toMapTree.js.map +1 -1
- package/lib/simple-tree/treeNodeValid.d.ts.map +1 -1
- package/lib/simple-tree/treeNodeValid.js +8 -11
- package/lib/simple-tree/treeNodeValid.js.map +1 -1
- package/lib/simple-tree/typesUnsafe.d.ts +13 -13
- package/lib/simple-tree/typesUnsafe.js.map +1 -1
- package/lib/simple-tree/walkSchema.d.ts +26 -0
- package/lib/simple-tree/walkSchema.d.ts.map +1 -0
- package/lib/simple-tree/walkSchema.js +43 -0
- package/lib/simple-tree/walkSchema.js.map +1 -0
- package/lib/treeFactory.d.ts +2 -1
- package/lib/treeFactory.d.ts.map +1 -1
- package/lib/treeFactory.js +2 -1
- package/lib/treeFactory.js.map +1 -1
- package/lib/tsdoc-metadata.json +1 -1
- package/lib/util/typeUtils.d.ts +2 -2
- package/lib/util/typeUtils.js.map +1 -1
- package/package.json +68 -26
- package/src/core/index.ts +2 -1
- package/src/core/rebase/index.ts +1 -0
- package/src/core/rebase/types.ts +11 -0
- package/src/core/{revertible/revertible.ts → revertible.ts} +15 -0
- package/src/core/schema-stored/format.ts +1 -1
- package/src/core/schema-stored/schema.ts +7 -13
- package/src/core/tree/anchorSet.ts +18 -3
- package/src/core/tree/detachedFieldIndex.ts +6 -5
- package/src/core/tree/visitDelta.ts +7 -2
- package/src/events/{events.ts → emitter.ts} +52 -139
- package/src/events/index.ts +7 -7
- package/src/events/interop.ts +49 -0
- package/src/events/listeners.ts +68 -0
- package/src/feature-libraries/chunked-forest/chunkTree.ts +63 -18
- package/src/feature-libraries/chunked-forest/chunkedForest.ts +18 -4
- package/src/feature-libraries/chunked-forest/uniformChunk.ts +33 -0
- package/src/feature-libraries/default-schema/defaultEditBuilder.ts +5 -3
- package/src/feature-libraries/flex-map-tree/index.ts +1 -0
- package/src/feature-libraries/flex-map-tree/mapTreeNode.ts +135 -210
- package/src/feature-libraries/flex-tree/README.md +4 -75
- package/src/feature-libraries/flex-tree/context.ts +37 -16
- package/src/feature-libraries/flex-tree/flexTreeTypes.ts +69 -291
- package/src/feature-libraries/flex-tree/index.ts +7 -13
- package/src/feature-libraries/flex-tree/lazyEntity.ts +2 -11
- package/src/feature-libraries/flex-tree/lazyField.ts +49 -73
- package/src/feature-libraries/flex-tree/lazyNode.ts +25 -154
- package/src/feature-libraries/flex-tree/unboxed.ts +9 -68
- package/src/feature-libraries/flex-tree/utilities.ts +4 -8
- package/src/feature-libraries/forest-summary/forestSummarizer.ts +4 -1
- package/src/feature-libraries/index.ts +2 -27
- package/src/feature-libraries/modular-schema/comparison.ts +4 -6
- package/src/feature-libraries/modular-schema/discrepancies.ts +7 -16
- package/src/feature-libraries/modular-schema/modularChangeCodecs.ts +4 -1
- package/src/feature-libraries/modular-schema/modularChangeFamily.ts +111 -14
- package/src/feature-libraries/sequence-field/compose.ts +3 -0
- package/src/feature-libraries/sequence-field/utils.ts +2 -4
- package/src/feature-libraries/storedToViewSchema.ts +5 -6
- package/src/feature-libraries/typed-schema/flexList.ts +3 -3
- package/src/feature-libraries/typed-schema/index.ts +1 -3
- package/src/feature-libraries/typed-schema/schemaCollection.ts +15 -17
- package/src/feature-libraries/typed-schema/typedTreeSchema.ts +35 -127
- package/src/feature-libraries/typed-schema/view.ts +4 -13
- package/src/index.ts +5 -8
- package/src/packageVersion.ts +1 -1
- package/src/shared-tree/checkoutFlexTreeView.ts +89 -0
- package/src/shared-tree/index.ts +2 -7
- package/src/shared-tree/schematizeTree.ts +23 -12
- package/src/shared-tree/schematizingTreeView.ts +38 -24
- package/src/shared-tree/sharedTree.ts +6 -1
- package/src/shared-tree/sharedTreeChangeEnricher.ts +6 -1
- package/src/shared-tree/sharedTreeChangeFamily.ts +7 -1
- package/src/shared-tree/sharedTreeEditBuilder.ts +9 -4
- package/src/shared-tree/treeApi.ts +10 -10
- package/src/shared-tree/treeCheckout.ts +26 -15
- package/src/shared-tree-core/branch.ts +1 -1
- package/src/simple-tree/ProxyBinding.md +23 -23
- package/src/simple-tree/api/create.ts +8 -3
- package/src/simple-tree/{getJsonSchema.ts → api/getJsonSchema.ts} +3 -3
- package/src/simple-tree/{getSimpleSchema.ts → api/getSimpleSchema.ts} +3 -3
- package/src/simple-tree/api/index.ts +20 -0
- package/src/simple-tree/{jsonSchema.ts → api/jsonSchema.ts} +20 -18
- package/src/simple-tree/api/schemaFactory.ts +56 -19
- package/src/simple-tree/{simpleSchema.ts → api/simpleSchema.ts} +9 -4
- package/src/simple-tree/{simpleSchemaToJsonSchema.ts → api/simpleSchemaToJsonSchema.ts} +43 -22
- package/src/simple-tree/api/tree.ts +7 -71
- package/src/simple-tree/api/treeApiBeta.ts +101 -0
- package/src/simple-tree/api/treeNodeApi.ts +32 -23
- package/src/simple-tree/api/verboseTree.ts +1 -1
- package/src/simple-tree/{viewSchemaToSimpleSchema.ts → api/viewSchemaToSimpleSchema.ts} +11 -6
- package/src/simple-tree/arrayNode.ts +37 -31
- package/src/simple-tree/core/index.ts +4 -1
- package/src/simple-tree/core/schemaCaching.ts +10 -0
- package/src/simple-tree/core/treeNodeKernel.ts +198 -5
- package/src/simple-tree/core/treeNodeSchema.ts +1 -1
- package/src/simple-tree/core/types.ts +16 -27
- package/src/simple-tree/core/withType.ts +3 -1
- package/src/simple-tree/index.ts +30 -21
- package/src/simple-tree/leafNodeSchema.ts +24 -28
- package/src/simple-tree/mapNode.ts +47 -29
- package/src/simple-tree/objectNode.ts +51 -46
- package/src/simple-tree/proxies.ts +22 -51
- package/src/simple-tree/proxyBinding.ts +3 -254
- package/src/simple-tree/schemaTypes.ts +63 -13
- package/src/simple-tree/toFlexSchema.ts +40 -7
- package/src/simple-tree/toMapTree.ts +113 -79
- package/src/simple-tree/treeNodeValid.ts +10 -13
- package/src/simple-tree/typesUnsafe.ts +13 -13
- package/src/simple-tree/walkSchema.ts +81 -0
- package/src/treeFactory.ts +2 -1
- package/src/util/typeUtils.ts +2 -2
- package/dist/core/revertible/index.d.ts.map +0 -1
- package/dist/core/revertible/index.js +0 -10
- package/dist/core/revertible/index.js.map +0 -1
- package/dist/core/revertible/revertible.d.ts.map +0 -1
- package/dist/core/revertible/revertible.js.map +0 -1
- package/dist/domains/index.d.ts +0 -8
- package/dist/domains/index.d.ts.map +0 -1
- package/dist/domains/index.js +0 -20
- package/dist/domains/index.js.map +0 -1
- package/dist/domains/json/index.d.ts +0 -7
- package/dist/domains/json/index.d.ts.map +0 -1
- package/dist/domains/json/index.js +0 -17
- package/dist/domains/json/index.js.map +0 -1
- package/dist/domains/json/jsonCursor.d.ts +0 -52
- package/dist/domains/json/jsonCursor.d.ts.map +0 -1
- package/dist/domains/json/jsonCursor.js +0 -197
- package/dist/domains/json/jsonCursor.js.map +0 -1
- package/dist/domains/json/jsonDomainSchema.d.ts +0 -24
- package/dist/domains/json/jsonDomainSchema.d.ts.map +0 -1
- package/dist/domains/json/jsonDomainSchema.js +0 -32
- package/dist/domains/json/jsonDomainSchema.js.map +0 -1
- package/dist/domains/leafDomain.d.ts +0 -72
- package/dist/domains/leafDomain.d.ts.map +0 -1
- package/dist/domains/leafDomain.js +0 -88
- package/dist/domains/leafDomain.js.map +0 -1
- package/dist/domains/schemaBuilder.d.ts +0 -103
- package/dist/domains/schemaBuilder.d.ts.map +0 -1
- package/dist/domains/schemaBuilder.js +0 -121
- package/dist/domains/schemaBuilder.js.map +0 -1
- package/dist/domains/testRecursiveDomain.d.ts +0 -17
- package/dist/domains/testRecursiveDomain.d.ts.map +0 -1
- package/dist/domains/testRecursiveDomain.js +0 -35
- package/dist/domains/testRecursiveDomain.js.map +0 -1
- package/dist/events/events.d.ts +0 -207
- package/dist/events/events.d.ts.map +0 -1
- package/dist/events/events.js.map +0 -1
- package/dist/feature-libraries/schemaBuilder.d.ts +0 -31
- package/dist/feature-libraries/schemaBuilder.d.ts.map +0 -1
- package/dist/feature-libraries/schemaBuilder.js +0 -40
- package/dist/feature-libraries/schemaBuilder.js.map +0 -1
- package/dist/feature-libraries/schemaBuilderBase.d.ts +0 -191
- package/dist/feature-libraries/schemaBuilderBase.d.ts.map +0 -1
- package/dist/feature-libraries/schemaBuilderBase.js +0 -201
- package/dist/feature-libraries/schemaBuilderBase.js.map +0 -1
- package/dist/shared-tree/treeView.d.ts +0 -73
- package/dist/shared-tree/treeView.d.ts.map +0 -1
- package/dist/shared-tree/treeView.js.map +0 -1
- package/dist/simple-tree/getJsonSchema.d.ts.map +0 -1
- package/dist/simple-tree/getJsonSchema.js.map +0 -1
- package/dist/simple-tree/getSimpleSchema.d.ts.map +0 -1
- package/dist/simple-tree/getSimpleSchema.js.map +0 -1
- package/dist/simple-tree/jsonSchema.d.ts.map +0 -1
- package/dist/simple-tree/jsonSchema.js.map +0 -1
- package/dist/simple-tree/simpleSchema.d.ts.map +0 -1
- package/dist/simple-tree/simpleSchema.js.map +0 -1
- package/dist/simple-tree/simpleSchemaToJsonSchema.d.ts.map +0 -1
- package/dist/simple-tree/simpleSchemaToJsonSchema.js.map +0 -1
- package/dist/simple-tree/viewSchemaToSimpleSchema.d.ts.map +0 -1
- package/dist/simple-tree/viewSchemaToSimpleSchema.js.map +0 -1
- package/lib/core/revertible/index.d.ts.map +0 -1
- package/lib/core/revertible/index.js.map +0 -1
- package/lib/core/revertible/revertible.d.ts.map +0 -1
- package/lib/core/revertible/revertible.js.map +0 -1
- package/lib/domains/index.d.ts +0 -8
- package/lib/domains/index.d.ts.map +0 -1
- package/lib/domains/index.js +0 -8
- package/lib/domains/index.js.map +0 -1
- package/lib/domains/json/index.d.ts +0 -7
- package/lib/domains/json/index.d.ts.map +0 -1
- package/lib/domains/json/index.js +0 -7
- package/lib/domains/json/index.js.map +0 -1
- package/lib/domains/json/jsonCursor.d.ts +0 -52
- package/lib/domains/json/jsonCursor.d.ts.map +0 -1
- package/lib/domains/json/jsonCursor.js +0 -192
- package/lib/domains/json/jsonCursor.js.map +0 -1
- package/lib/domains/json/jsonDomainSchema.d.ts +0 -24
- package/lib/domains/json/jsonDomainSchema.d.ts.map +0 -1
- package/lib/domains/json/jsonDomainSchema.js +0 -29
- package/lib/domains/json/jsonDomainSchema.js.map +0 -1
- package/lib/domains/leafDomain.d.ts +0 -72
- package/lib/domains/leafDomain.d.ts.map +0 -1
- package/lib/domains/leafDomain.js +0 -85
- package/lib/domains/leafDomain.js.map +0 -1
- package/lib/domains/schemaBuilder.d.ts +0 -103
- package/lib/domains/schemaBuilder.d.ts.map +0 -1
- package/lib/domains/schemaBuilder.js +0 -117
- package/lib/domains/schemaBuilder.js.map +0 -1
- package/lib/domains/testRecursiveDomain.d.ts +0 -17
- package/lib/domains/testRecursiveDomain.d.ts.map +0 -1
- package/lib/domains/testRecursiveDomain.js +0 -32
- package/lib/domains/testRecursiveDomain.js.map +0 -1
- package/lib/events/events.d.ts +0 -207
- package/lib/events/events.d.ts.map +0 -1
- package/lib/events/events.js.map +0 -1
- package/lib/feature-libraries/schemaBuilder.d.ts +0 -31
- package/lib/feature-libraries/schemaBuilder.d.ts.map +0 -1
- package/lib/feature-libraries/schemaBuilder.js +0 -36
- package/lib/feature-libraries/schemaBuilder.js.map +0 -1
- package/lib/feature-libraries/schemaBuilderBase.d.ts +0 -191
- package/lib/feature-libraries/schemaBuilderBase.d.ts.map +0 -1
- package/lib/feature-libraries/schemaBuilderBase.js +0 -195
- package/lib/feature-libraries/schemaBuilderBase.js.map +0 -1
- package/lib/shared-tree/treeView.d.ts +0 -73
- package/lib/shared-tree/treeView.d.ts.map +0 -1
- package/lib/shared-tree/treeView.js.map +0 -1
- package/lib/simple-tree/getJsonSchema.d.ts.map +0 -1
- package/lib/simple-tree/getJsonSchema.js.map +0 -1
- package/lib/simple-tree/getSimpleSchema.d.ts.map +0 -1
- package/lib/simple-tree/getSimpleSchema.js.map +0 -1
- package/lib/simple-tree/jsonSchema.d.ts.map +0 -1
- package/lib/simple-tree/jsonSchema.js.map +0 -1
- package/lib/simple-tree/simpleSchema.d.ts.map +0 -1
- package/lib/simple-tree/simpleSchema.js.map +0 -1
- package/lib/simple-tree/simpleSchemaToJsonSchema.d.ts.map +0 -1
- package/lib/simple-tree/simpleSchemaToJsonSchema.js.map +0 -1
- package/lib/simple-tree/viewSchemaToSimpleSchema.d.ts.map +0 -1
- package/lib/simple-tree/viewSchemaToSimpleSchema.js.map +0 -1
- package/src/domains/README.md +0 -6
- package/src/domains/fence.json +0 -5
- package/src/domains/index.ts +0 -19
- package/src/domains/json/fence.json +0 -5
- package/src/domains/json/index.ts +0 -13
- package/src/domains/json/jsonCursor.ts +0 -247
- package/src/domains/json/jsonDomainSchema.ts +0 -47
- package/src/domains/leafDomain.ts +0 -97
- package/src/domains/schemaBuilder.ts +0 -153
- package/src/domains/testRecursiveDomain.ts +0 -38
- package/src/events/fence.json +0 -5
- package/src/feature-libraries/schemaBuilder.ts +0 -45
- package/src/feature-libraries/schemaBuilderBase.ts +0 -393
- package/src/shared-tree/treeView.ts +0 -113
- /package/dist/core/{revertible/revertible.js → revertible.js} +0 -0
- /package/dist/simple-tree/{jsonSchema.js → api/jsonSchema.js} +0 -0
- /package/dist/simple-tree/{simpleSchema.js → api/simpleSchema.js} +0 -0
- /package/dist/simple-tree/{simpleSchemaToJsonSchema.d.ts → api/simpleSchemaToJsonSchema.d.ts} +0 -0
- /package/lib/core/{revertible/revertible.js → revertible.js} +0 -0
- /package/lib/simple-tree/{jsonSchema.js → api/jsonSchema.js} +0 -0
- /package/lib/simple-tree/{simpleSchema.js → api/simpleSchema.js} +0 -0
- /package/lib/simple-tree/{simpleSchemaToJsonSchema.d.ts → api/simpleSchemaToJsonSchema.d.ts} +0 -0
|
@@ -21,7 +21,6 @@ import {
|
|
|
21
21
|
identifierFieldKindIdentifier,
|
|
22
22
|
} from "../../core/index.js";
|
|
23
23
|
import {
|
|
24
|
-
type Assume,
|
|
25
24
|
type MakeNominal,
|
|
26
25
|
type Named,
|
|
27
26
|
compareSets,
|
|
@@ -29,6 +28,7 @@ import {
|
|
|
29
28
|
oneFromSet,
|
|
30
29
|
type requireAssignableTo,
|
|
31
30
|
filterIterable,
|
|
31
|
+
brand,
|
|
32
32
|
} from "../../util/index.js";
|
|
33
33
|
import { FieldKinds } from "../default-schema/index.js";
|
|
34
34
|
import type { FlexFieldKind, FullSchemaPolicy } from "../modular-schema/index.js";
|
|
@@ -42,12 +42,6 @@ export interface FlexObjectNodeFields {
|
|
|
42
42
|
readonly [key: string]: FlexFieldSchema;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
/**
|
|
46
|
-
*/
|
|
47
|
-
export type NormalizeObjectNodeFields<T extends FlexObjectNodeFields> = {
|
|
48
|
-
readonly [Property in keyof T]: NormalizeField<T[Property]>;
|
|
49
|
-
};
|
|
50
|
-
|
|
51
45
|
/**
|
|
52
46
|
* A placeholder to use in {@link https://www.typescriptlang.org/docs/handbook/2/generics.html#generic-constraints | extends constraints} when using the real type breaks compilation of some recursive types due to {@link https://github.com/microsoft/TypeScript/issues/55758 | a design limitation of TypeScript}.
|
|
53
47
|
*
|
|
@@ -67,14 +61,11 @@ export type Unenforced<_DesiredExtendsConstraint> = unknown;
|
|
|
67
61
|
* This can not be enforced using TypeScript since doing so breaks recursive type support.
|
|
68
62
|
* See note on SchemaBuilder.fieldRecursive.
|
|
69
63
|
*/
|
|
70
|
-
export abstract class TreeNodeSchemaBase<
|
|
71
|
-
const out Name extends string = string,
|
|
72
|
-
const out Specification = unknown,
|
|
73
|
-
> {
|
|
64
|
+
export abstract class TreeNodeSchemaBase<const out Specification = unknown> {
|
|
74
65
|
protected _typeCheck!: MakeNominal;
|
|
75
66
|
protected constructor(
|
|
76
67
|
public readonly builder: Named<string>,
|
|
77
|
-
public readonly name: TreeNodeSchemaIdentifier
|
|
68
|
+
public readonly name: TreeNodeSchemaIdentifier,
|
|
78
69
|
public readonly info: Specification,
|
|
79
70
|
public readonly stored: TreeNodeStoredSchema,
|
|
80
71
|
) {}
|
|
@@ -83,23 +74,17 @@ export abstract class TreeNodeSchemaBase<
|
|
|
83
74
|
|
|
84
75
|
/**
|
|
85
76
|
*/
|
|
86
|
-
export class FlexMapNodeSchema
|
|
87
|
-
const out Name extends string = string,
|
|
88
|
-
const out Specification extends Unenforced<FlexMapFieldSchema> = FlexMapFieldSchema,
|
|
89
|
-
> extends TreeNodeSchemaBase<Name, Specification> {
|
|
77
|
+
export class FlexMapNodeSchema extends TreeNodeSchemaBase {
|
|
90
78
|
public get mapFields(): FlexMapFieldSchema {
|
|
91
79
|
return this.info as FlexMapFieldSchema;
|
|
92
80
|
}
|
|
93
81
|
|
|
94
82
|
protected _typeCheck2?: MakeNominal;
|
|
95
|
-
public static create<
|
|
96
|
-
const Name extends string,
|
|
97
|
-
const Specification extends FlexMapFieldSchema,
|
|
98
|
-
>(
|
|
83
|
+
public static create<const Name extends string>(
|
|
99
84
|
builder: Named<string>,
|
|
100
85
|
name: TreeNodeSchemaIdentifier<Name>,
|
|
101
|
-
specification:
|
|
102
|
-
): FlexMapNodeSchema
|
|
86
|
+
specification: FlexMapFieldSchema,
|
|
87
|
+
): FlexMapNodeSchema {
|
|
103
88
|
return new FlexMapNodeSchema(
|
|
104
89
|
builder,
|
|
105
90
|
name,
|
|
@@ -115,26 +100,10 @@ export class FlexMapNodeSchema<
|
|
|
115
100
|
|
|
116
101
|
/**
|
|
117
102
|
*/
|
|
118
|
-
export class LeafNodeSchema<
|
|
119
|
-
const out Name extends string = string,
|
|
120
|
-
const out Specification extends Unenforced<ValueSchema> = ValueSchema,
|
|
121
|
-
> extends TreeNodeSchemaBase<Name, Specification> {
|
|
122
|
-
public get leafValue(): ValueSchema {
|
|
123
|
-
return this.info as ValueSchema;
|
|
124
|
-
}
|
|
125
|
-
|
|
103
|
+
export class LeafNodeSchema extends TreeNodeSchemaBase<ValueSchema> {
|
|
126
104
|
protected _typeCheck2?: MakeNominal;
|
|
127
|
-
public
|
|
128
|
-
builder
|
|
129
|
-
name: TreeNodeSchemaIdentifier<Name>,
|
|
130
|
-
specification: Specification,
|
|
131
|
-
): LeafNodeSchema<Name, Specification> {
|
|
132
|
-
return new LeafNodeSchema(
|
|
133
|
-
builder,
|
|
134
|
-
name,
|
|
135
|
-
specification,
|
|
136
|
-
new LeafNodeStoredSchema(specification),
|
|
137
|
-
);
|
|
105
|
+
public constructor(builder: Named<string>, name: string, specification: ValueSchema) {
|
|
106
|
+
super(builder, brand(name), specification, new LeafNodeStoredSchema(specification));
|
|
138
107
|
}
|
|
139
108
|
|
|
140
109
|
public override getFieldSchema(field: FieldKey): FlexFieldSchema {
|
|
@@ -144,28 +113,18 @@ export class LeafNodeSchema<
|
|
|
144
113
|
|
|
145
114
|
/**
|
|
146
115
|
*/
|
|
147
|
-
export class FlexObjectNodeSchema
|
|
148
|
-
const out Name extends string = string,
|
|
149
|
-
const out Specification extends Unenforced<FlexObjectNodeFields> = FlexObjectNodeFields,
|
|
150
|
-
> extends TreeNodeSchemaBase<Name, Specification> {
|
|
116
|
+
export class FlexObjectNodeSchema extends TreeNodeSchemaBase {
|
|
151
117
|
protected _typeCheck2?: MakeNominal;
|
|
152
118
|
public readonly identifierFieldKeys: readonly FieldKey[] = [];
|
|
153
119
|
|
|
154
|
-
public static create
|
|
155
|
-
const Name extends string,
|
|
156
|
-
const Specification extends FlexObjectNodeFields,
|
|
157
|
-
>(
|
|
120
|
+
public static create(
|
|
158
121
|
builder: Named<string>,
|
|
159
|
-
name: TreeNodeSchemaIdentifier
|
|
160
|
-
specification:
|
|
161
|
-
): FlexObjectNodeSchema
|
|
162
|
-
const objectNodeFieldsObject
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
NormalizeObjectNodeFields<Specification>,
|
|
166
|
-
FieldKey,
|
|
167
|
-
FlexFieldSchema
|
|
168
|
-
> = objectToMapTyped(objectNodeFieldsObject);
|
|
122
|
+
name: TreeNodeSchemaIdentifier,
|
|
123
|
+
specification: FlexObjectNodeFields,
|
|
124
|
+
): FlexObjectNodeSchema {
|
|
125
|
+
const objectNodeFieldsObject = normalizeStructFields(specification);
|
|
126
|
+
const objectNodeFields: ObjectToMap<FlexObjectNodeFields, FieldKey, FlexFieldSchema> =
|
|
127
|
+
objectToMapTyped(objectNodeFieldsObject);
|
|
169
128
|
return new FlexObjectNodeSchema(
|
|
170
129
|
builder,
|
|
171
130
|
name,
|
|
@@ -177,11 +136,9 @@ export class FlexObjectNodeSchema<
|
|
|
177
136
|
|
|
178
137
|
private constructor(
|
|
179
138
|
builder: Named<string>,
|
|
180
|
-
name: TreeNodeSchemaIdentifier
|
|
181
|
-
info:
|
|
182
|
-
public readonly objectNodeFieldsObject:
|
|
183
|
-
Assume<Specification, FlexObjectNodeFields>
|
|
184
|
-
>,
|
|
139
|
+
name: TreeNodeSchemaIdentifier,
|
|
140
|
+
info: FlexObjectNodeFields,
|
|
141
|
+
public readonly objectNodeFieldsObject: FlexObjectNodeFields,
|
|
185
142
|
// Allows reading fields through the normal map.
|
|
186
143
|
// Stricter typing caused Specification to no longer be covariant, so has been removed.
|
|
187
144
|
public readonly objectNodeFields: ReadonlyMap<FieldKey, FlexFieldSchema>,
|
|
@@ -211,16 +168,9 @@ export class FlexObjectNodeSchema<
|
|
|
211
168
|
*/
|
|
212
169
|
export type FlexTreeNodeSchema = TreeNodeSchemaBase;
|
|
213
170
|
|
|
214
|
-
/**
|
|
215
|
-
* Convert FieldSchemaSpecification | undefined into TreeFieldSchema.
|
|
216
|
-
*/
|
|
217
|
-
export type NormalizeField<T extends FlexFieldSchema | undefined> = T extends FlexFieldSchema
|
|
218
|
-
? T
|
|
219
|
-
: FlexFieldSchema<typeof FieldKinds.forbidden, []>;
|
|
220
|
-
|
|
221
171
|
function normalizeStructFields<T extends FlexObjectNodeFields>(
|
|
222
172
|
fields: T,
|
|
223
|
-
):
|
|
173
|
+
): FlexObjectNodeFields {
|
|
224
174
|
const out: Record<string, FlexFieldSchema> = {};
|
|
225
175
|
// eslint-disable-next-line no-restricted-syntax
|
|
226
176
|
for (const key in fields) {
|
|
@@ -229,27 +179,18 @@ function normalizeStructFields<T extends FlexObjectNodeFields>(
|
|
|
229
179
|
out[key] = normalizeField(element);
|
|
230
180
|
}
|
|
231
181
|
}
|
|
232
|
-
return out
|
|
182
|
+
return out;
|
|
233
183
|
}
|
|
234
184
|
|
|
235
|
-
function normalizeField
|
|
185
|
+
function normalizeField(t: FlexFieldSchema | undefined): FlexFieldSchema {
|
|
236
186
|
if (t === undefined) {
|
|
237
|
-
return FlexFieldSchema.empty
|
|
187
|
+
return FlexFieldSchema.empty;
|
|
238
188
|
}
|
|
239
189
|
|
|
240
190
|
assert(t instanceof FlexFieldSchema, 0x6ae /* invalid TreeFieldSchema */);
|
|
241
|
-
return t
|
|
191
|
+
return t;
|
|
242
192
|
}
|
|
243
193
|
|
|
244
|
-
/**
|
|
245
|
-
* Allow any node (as long as it meets the schema for its own type).
|
|
246
|
-
*/
|
|
247
|
-
export const Any = "Any" as const;
|
|
248
|
-
/**
|
|
249
|
-
* Allow any node (as long as it meets the schema for its own type).
|
|
250
|
-
*/
|
|
251
|
-
export type Any = typeof Any;
|
|
252
|
-
|
|
253
194
|
/**
|
|
254
195
|
* Tree type, but can be wrapped in a function to allow referring to types before they are declared.
|
|
255
196
|
* This makes recursive and co-recursive types possible.
|
|
@@ -258,17 +199,8 @@ export type LazyTreeNodeSchema = FlexTreeNodeSchema | (() => FlexTreeNodeSchema)
|
|
|
258
199
|
|
|
259
200
|
/**
|
|
260
201
|
* Types for use in fields.
|
|
261
|
-
*
|
|
262
|
-
* "Any" is boxed in an array to allow use as variadic parameter.
|
|
263
202
|
*/
|
|
264
|
-
export type FlexAllowedTypes = readonly
|
|
265
|
-
|
|
266
|
-
/**
|
|
267
|
-
* Checks if an {@link FlexAllowedTypes} is {@link (Any:type)}.
|
|
268
|
-
*/
|
|
269
|
-
export function allowedTypesIsAny(t: FlexAllowedTypes): t is readonly [Any] {
|
|
270
|
-
return t.length === 1 && t[0] === Any;
|
|
271
|
-
}
|
|
203
|
+
export type FlexAllowedTypes = readonly LazyItem<FlexTreeNodeSchema>[];
|
|
272
204
|
|
|
273
205
|
/**
|
|
274
206
|
* Subset of TreeFieldSchema thats legal in maps.
|
|
@@ -292,10 +224,7 @@ export type FlexMapFieldSchema = FlexFieldSchema<
|
|
|
292
224
|
*
|
|
293
225
|
* @sealed
|
|
294
226
|
*/
|
|
295
|
-
export class FlexFieldSchema<
|
|
296
|
-
out TKind extends FlexFieldKind = FlexFieldKind,
|
|
297
|
-
const out TTypes extends Unenforced<FlexAllowedTypes> = FlexAllowedTypes,
|
|
298
|
-
> {
|
|
227
|
+
export class FlexFieldSchema<out TKind extends FlexFieldKind = FlexFieldKind> {
|
|
299
228
|
/**
|
|
300
229
|
* Schema for a field which must always be empty.
|
|
301
230
|
*/
|
|
@@ -306,23 +235,10 @@ export class FlexFieldSchema<
|
|
|
306
235
|
* @privateRemarks
|
|
307
236
|
* Alias for the constructor, but with extends clause for the `Types` parameter that {@link FlexFieldSchema} can not have (due to recursive type issues).
|
|
308
237
|
*/
|
|
309
|
-
public static create<TKind extends FlexFieldKind
|
|
238
|
+
public static create<TKind extends FlexFieldKind>(
|
|
310
239
|
kind: TKind,
|
|
311
|
-
allowedTypes:
|
|
312
|
-
): FlexFieldSchema<TKind
|
|
313
|
-
return new FlexFieldSchema(kind, allowedTypes);
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
/**
|
|
317
|
-
* Constructs a TreeFieldSchema, but missing the extends clause which breaks most recursive types.
|
|
318
|
-
* @remarks
|
|
319
|
-
* `Types` here must extend `AllowedTypes`, but this cannot be enforced with an "extends" clause: see {@link Unenforced} for details.
|
|
320
|
-
* Prefer {@link FlexFieldSchema.create} when possible.
|
|
321
|
-
*/
|
|
322
|
-
public static createUnsafe<
|
|
323
|
-
TKind extends FlexFieldKind,
|
|
324
|
-
const Types extends Unenforced<FlexAllowedTypes>,
|
|
325
|
-
>(kind: TKind, allowedTypes: Types): FlexFieldSchema<TKind, Types> {
|
|
240
|
+
allowedTypes: FlexAllowedTypes,
|
|
241
|
+
): FlexFieldSchema<TKind> {
|
|
326
242
|
return new FlexFieldSchema(kind, allowedTypes);
|
|
327
243
|
}
|
|
328
244
|
|
|
@@ -344,14 +260,12 @@ export class FlexFieldSchema<
|
|
|
344
260
|
*/
|
|
345
261
|
private constructor(
|
|
346
262
|
public readonly kind: TKind,
|
|
347
|
-
public readonly allowedTypes:
|
|
263
|
+
public readonly allowedTypes: FlexAllowedTypes,
|
|
348
264
|
) {
|
|
349
265
|
// Since this class can't have the desired extends clause, do some extra runtime validation:
|
|
350
266
|
assert(Array.isArray(allowedTypes), 0x7bc /* Invalid allowedTypes */);
|
|
351
267
|
for (const allowedType of allowedTypes) {
|
|
352
|
-
if (allowedType
|
|
353
|
-
assert(allowedTypes.length === 1, 0x7bd /* Invalid Any in allowedTypes */);
|
|
354
|
-
} else if (typeof allowedType !== "function") {
|
|
268
|
+
if (typeof allowedType !== "function") {
|
|
355
269
|
assert(
|
|
356
270
|
allowedType instanceof TreeNodeSchemaBase,
|
|
357
271
|
0x7be /* Invalid entry in allowedTypes */,
|
|
@@ -365,7 +279,7 @@ export class FlexFieldSchema<
|
|
|
365
279
|
return {
|
|
366
280
|
names: allowedTypesToTypeSet(input),
|
|
367
281
|
schema,
|
|
368
|
-
monomorphicChildType:
|
|
282
|
+
monomorphicChildType: oneFromSet(schema),
|
|
369
283
|
};
|
|
370
284
|
});
|
|
371
285
|
|
|
@@ -444,15 +358,12 @@ export class FlexFieldSchema<
|
|
|
444
358
|
* See {@link TreeTypeSet} for a stored-schema compatible version using the {@link TreeNodeSchemaIdentifier}.
|
|
445
359
|
* See {@link FlexAllowedTypes} for a compile time optimized version.
|
|
446
360
|
*/
|
|
447
|
-
export type AllowedTypeSet =
|
|
361
|
+
export type AllowedTypeSet = ReadonlySet<FlexTreeNodeSchema>;
|
|
448
362
|
|
|
449
363
|
/**
|
|
450
364
|
* Convert {@link FlexAllowedTypes} to {@link TreeTypeSet}.
|
|
451
365
|
*/
|
|
452
366
|
export function allowedTypesSchemaSet(t: FlexAllowedTypes): AllowedTypeSet {
|
|
453
|
-
if (allowedTypesIsAny(t)) {
|
|
454
|
-
return Any;
|
|
455
|
-
}
|
|
456
367
|
const list: FlexTreeNodeSchema[] = t.map((value: LazyItem<FlexTreeNodeSchema>) => {
|
|
457
368
|
if (typeof value === "function") {
|
|
458
369
|
return value();
|
|
@@ -467,9 +378,6 @@ export function allowedTypesSchemaSet(t: FlexAllowedTypes): AllowedTypeSet {
|
|
|
467
378
|
*/
|
|
468
379
|
export function allowedTypesToTypeSet(t: FlexAllowedTypes): TreeTypeSet {
|
|
469
380
|
const list = allowedTypesSchemaSet(t);
|
|
470
|
-
if (list === Any) {
|
|
471
|
-
return undefined;
|
|
472
|
-
}
|
|
473
381
|
const names = Array.from(list, (type) => {
|
|
474
382
|
assert(type instanceof TreeNodeSchemaBase, 0x7bf /* invalid allowed type */);
|
|
475
383
|
return type.name;
|
|
@@ -19,27 +19,18 @@ import {
|
|
|
19
19
|
isNeverTree,
|
|
20
20
|
} from "../modular-schema/index.js";
|
|
21
21
|
|
|
22
|
-
import {
|
|
23
|
-
type FlexFieldSchema,
|
|
24
|
-
type FlexTreeSchema,
|
|
25
|
-
intoStoredSchema,
|
|
26
|
-
} from "./typedTreeSchema.js";
|
|
27
|
-
|
|
28
22
|
/**
|
|
29
23
|
* A collection of View information for schema, including policy.
|
|
30
24
|
*/
|
|
31
|
-
export class ViewSchema
|
|
25
|
+
export class ViewSchema {
|
|
32
26
|
/**
|
|
33
|
-
* Cached conversion of
|
|
27
|
+
* @param storedSchema - Cached conversion of view schema into a stored schema.
|
|
34
28
|
*/
|
|
35
|
-
public readonly storedSchema: TreeStoredSchema;
|
|
36
29
|
public constructor(
|
|
37
30
|
public readonly policy: FullSchemaPolicy,
|
|
38
31
|
public readonly adapters: Adapters,
|
|
39
|
-
public readonly
|
|
40
|
-
) {
|
|
41
|
-
this.storedSchema = intoStoredSchema(schema);
|
|
42
|
-
}
|
|
32
|
+
public readonly storedSchema: TreeStoredSchema,
|
|
33
|
+
) {}
|
|
43
34
|
|
|
44
35
|
/**
|
|
45
36
|
* Determines the compatibility of a stored document
|
package/src/index.ts
CHANGED
|
@@ -28,6 +28,7 @@ export {
|
|
|
28
28
|
ObjectNodeStoredSchema,
|
|
29
29
|
MapNodeStoredSchema,
|
|
30
30
|
LeafNodeStoredSchema,
|
|
31
|
+
type RevertibleFactory,
|
|
31
32
|
} from "./core/index.js";
|
|
32
33
|
export { type Brand } from "./util/index.js";
|
|
33
34
|
|
|
@@ -36,13 +37,6 @@ export {
|
|
|
36
37
|
type IsListener,
|
|
37
38
|
type Listenable,
|
|
38
39
|
type Off,
|
|
39
|
-
// Alpha APIs for using event library to implement events externally.
|
|
40
|
-
// If stabilizing these APIs, they should probably move out of the tree package first.
|
|
41
|
-
createEmitter,
|
|
42
|
-
EventEmitter,
|
|
43
|
-
type IEmitter,
|
|
44
|
-
type HasListeners,
|
|
45
|
-
type NoListenersCallback,
|
|
46
40
|
} from "./events/index.js";
|
|
47
41
|
|
|
48
42
|
export {
|
|
@@ -57,7 +51,6 @@ export {
|
|
|
57
51
|
type SharedTreeOptions,
|
|
58
52
|
ForestType,
|
|
59
53
|
type SharedTreeContentSnapshot,
|
|
60
|
-
type RevertibleFactory,
|
|
61
54
|
type SharedTreeFormatOptions,
|
|
62
55
|
SharedTreeFormatVersion,
|
|
63
56
|
Tree,
|
|
@@ -89,6 +82,7 @@ export {
|
|
|
89
82
|
type TreeLeafValue,
|
|
90
83
|
FieldKind,
|
|
91
84
|
FieldSchema,
|
|
85
|
+
type FieldSchemaMetadata,
|
|
92
86
|
type ImplicitAllowedTypes,
|
|
93
87
|
type InsertableTreeFieldFromImplicitField,
|
|
94
88
|
type InsertableTypedNode,
|
|
@@ -132,6 +126,9 @@ export {
|
|
|
132
126
|
test_RecursiveObject,
|
|
133
127
|
test_RecursiveObject_base,
|
|
134
128
|
test_RecursiveObjectPojoMode,
|
|
129
|
+
// Beta APIs
|
|
130
|
+
TreeBeta,
|
|
131
|
+
type TreeChangeEventsBeta,
|
|
135
132
|
// Back to normal types
|
|
136
133
|
type JsonTreeSchema,
|
|
137
134
|
type JsonSchemaId,
|
package/src/packageVersion.ts
CHANGED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { assert } from "@fluidframework/core-utils/internal";
|
|
7
|
+
import {
|
|
8
|
+
type Context,
|
|
9
|
+
type FlexTreeField,
|
|
10
|
+
type FlexTreeSchema,
|
|
11
|
+
type NodeKeyManager,
|
|
12
|
+
getTreeContext,
|
|
13
|
+
type FlexTreeHydratedContext,
|
|
14
|
+
} from "../feature-libraries/index.js";
|
|
15
|
+
import { tryDisposeTreeNode } from "../simple-tree/index.js";
|
|
16
|
+
import { disposeSymbol } from "../util/index.js";
|
|
17
|
+
|
|
18
|
+
import type { ITreeCheckout, ITreeCheckoutFork } from "./treeCheckout.js";
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* An editable view of a (version control style) branch of a shared tree.
|
|
22
|
+
*/
|
|
23
|
+
export class CheckoutFlexTreeView<out TCheckout extends ITreeCheckout = ITreeCheckout> {
|
|
24
|
+
/**
|
|
25
|
+
* Context for controlling the FlexTree nodes produced from {@link FlexTreeView.flexTree}.
|
|
26
|
+
*
|
|
27
|
+
* @remarks
|
|
28
|
+
* This is an owning reference: disposing of this view disposes its context.
|
|
29
|
+
*/
|
|
30
|
+
public readonly context: Context;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Get a typed view of the tree content using the flex-tree API.
|
|
34
|
+
*/
|
|
35
|
+
public readonly flexTree: FlexTreeField;
|
|
36
|
+
|
|
37
|
+
public constructor(
|
|
38
|
+
/**
|
|
39
|
+
* Access non-view schema specific aspects of this branch.
|
|
40
|
+
*
|
|
41
|
+
* @remarks
|
|
42
|
+
* This is a non-owning reference: disposing of this view does not impact the branch.
|
|
43
|
+
*/
|
|
44
|
+
public readonly checkout: TCheckout,
|
|
45
|
+
public readonly schema: FlexTreeSchema,
|
|
46
|
+
public readonly nodeKeyManager: NodeKeyManager,
|
|
47
|
+
private readonly onDispose?: () => void,
|
|
48
|
+
) {
|
|
49
|
+
this.context = getTreeContext(schema, this.checkout, nodeKeyManager);
|
|
50
|
+
contextToTreeViewMap.set(this.context, this);
|
|
51
|
+
this.flexTree = this.context.root;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
public [disposeSymbol](): void {
|
|
55
|
+
for (const anchorNode of this.checkout.forest.anchors) {
|
|
56
|
+
tryDisposeTreeNode(anchorNode);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
this.context[disposeSymbol]();
|
|
60
|
+
this.onDispose?.();
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Spawn a new view which is based off of the current state of this view.
|
|
65
|
+
* Any mutations of the new view will not apply to this view until the new view is merged back into this view via `merge()`.
|
|
66
|
+
*/
|
|
67
|
+
public fork(): CheckoutFlexTreeView<ITreeCheckout & ITreeCheckoutFork> {
|
|
68
|
+
const branch = this.checkout.fork();
|
|
69
|
+
return new CheckoutFlexTreeView(branch, this.schema, this.nodeKeyManager);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Maps the context of every {@link CheckoutFlexTreeView} to the view.
|
|
75
|
+
* In practice, this allows the view or checkout to be obtained from a flex node by first getting the context from the flex node and then using this map.
|
|
76
|
+
*/
|
|
77
|
+
const contextToTreeViewMap = new WeakMap<FlexTreeHydratedContext, CheckoutFlexTreeView>();
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Retrieve the {@link CheckoutFlexTreeView | view} for the given {@link FlexTreeHydratedContext | context}.
|
|
81
|
+
* @remarks Every {@link CheckoutFlexTreeView} is associated with its context upon creation.
|
|
82
|
+
*/
|
|
83
|
+
export function getCheckoutFlexTreeView(
|
|
84
|
+
context: FlexTreeHydratedContext,
|
|
85
|
+
): CheckoutFlexTreeView {
|
|
86
|
+
const view = contextToTreeViewMap.get(context);
|
|
87
|
+
assert(view !== undefined, 0xa41 /* Expected view to be registered for context */);
|
|
88
|
+
return view;
|
|
89
|
+
}
|
package/src/shared-tree/index.ts
CHANGED
|
@@ -22,23 +22,18 @@ export {
|
|
|
22
22
|
type CheckoutEvents,
|
|
23
23
|
type ITransaction,
|
|
24
24
|
type ITreeCheckoutFork,
|
|
25
|
-
type RevertibleFactory,
|
|
26
25
|
} from "./treeCheckout.js";
|
|
27
26
|
|
|
28
27
|
export {
|
|
29
28
|
type SchematizeConfiguration,
|
|
30
29
|
type TreeContent,
|
|
30
|
+
type TreeStoredContent,
|
|
31
31
|
type InitializeAndSchematizeConfiguration,
|
|
32
32
|
type SchemaConfiguration,
|
|
33
33
|
buildTreeConfiguration,
|
|
34
34
|
} from "./schematizeTree.js";
|
|
35
35
|
|
|
36
|
-
export {
|
|
37
|
-
type FlexTreeView,
|
|
38
|
-
CheckoutFlexTreeView,
|
|
39
|
-
type ITreeViewFork,
|
|
40
|
-
type FlexTreeViewGeneric,
|
|
41
|
-
} from "./treeView.js";
|
|
36
|
+
export { CheckoutFlexTreeView } from "./checkoutFlexTreeView.js";
|
|
42
37
|
|
|
43
38
|
export type { ISharedTreeEditor, ISchemaEditor } from "./sharedTreeEditBuilder.js";
|
|
44
39
|
|
|
@@ -22,7 +22,6 @@ import {
|
|
|
22
22
|
allowsRepoSuperset,
|
|
23
23
|
cursorForMapTreeField,
|
|
24
24
|
defaultSchemaPolicy,
|
|
25
|
-
intoStoredSchema,
|
|
26
25
|
mapTreeFromCursor,
|
|
27
26
|
} from "../feature-libraries/index.js";
|
|
28
27
|
import { fail, isReadonlyArray } from "../util/index.js";
|
|
@@ -46,7 +45,7 @@ export function initializeContent(
|
|
|
46
45
|
storedSchema: ITreeCheckout["storedSchema"];
|
|
47
46
|
updateSchema: ITreeCheckout["updateSchema"];
|
|
48
47
|
},
|
|
49
|
-
newSchema:
|
|
48
|
+
newSchema: TreeStoredSchema,
|
|
50
49
|
setInitialTree: () => void,
|
|
51
50
|
): void {
|
|
52
51
|
assert(
|
|
@@ -54,8 +53,7 @@ export function initializeContent(
|
|
|
54
53
|
0x743 /* cannot initialize after a schema is set */,
|
|
55
54
|
);
|
|
56
55
|
|
|
57
|
-
const
|
|
58
|
-
const rootSchema = schema.rootFieldSchema;
|
|
56
|
+
const rootSchema = newSchema.rootFieldSchema;
|
|
59
57
|
const rootKind = rootSchema.kind;
|
|
60
58
|
|
|
61
59
|
// To keep the data in schema during the update, first define a schema that tolerates the current (empty) tree as well as the final (initial) tree.
|
|
@@ -65,12 +63,12 @@ export function initializeContent(
|
|
|
65
63
|
rootKind === FieldKinds.optional.identifier
|
|
66
64
|
) {
|
|
67
65
|
// These kinds are known to tolerate empty, so use the schema as is:
|
|
68
|
-
incrementalSchemaUpdate =
|
|
66
|
+
incrementalSchemaUpdate = newSchema;
|
|
69
67
|
} else {
|
|
70
68
|
assert(rootKind === FieldKinds.required.identifier, 0x5c8 /* Unexpected kind */);
|
|
71
69
|
// Replace value kind with optional kind in root field schema:
|
|
72
70
|
incrementalSchemaUpdate = {
|
|
73
|
-
nodeSchema:
|
|
71
|
+
nodeSchema: newSchema.nodeSchema,
|
|
74
72
|
rootFieldSchema: {
|
|
75
73
|
kind: FieldKinds.optional.identifier,
|
|
76
74
|
types: rootSchema.types,
|
|
@@ -84,7 +82,7 @@ export function initializeContent(
|
|
|
84
82
|
// "Incremental Schema update should support the existing empty tree",
|
|
85
83
|
// );
|
|
86
84
|
assert(
|
|
87
|
-
allowsRepoSuperset(defaultSchemaPolicy,
|
|
85
|
+
allowsRepoSuperset(defaultSchemaPolicy, newSchema, incrementalSchemaUpdate),
|
|
88
86
|
0x5c9 /* Incremental Schema during update should be a allow a superset of the final schema */,
|
|
89
87
|
);
|
|
90
88
|
// Update to intermediate schema
|
|
@@ -93,8 +91,8 @@ export function initializeContent(
|
|
|
93
91
|
setInitialTree();
|
|
94
92
|
|
|
95
93
|
// If intermediate schema is not final desired schema, update to the final schema:
|
|
96
|
-
if (incrementalSchemaUpdate !==
|
|
97
|
-
schemaRepository.updateSchema(
|
|
94
|
+
if (incrementalSchemaUpdate !== newSchema) {
|
|
95
|
+
schemaRepository.updateSchema(newSchema);
|
|
98
96
|
}
|
|
99
97
|
}
|
|
100
98
|
|
|
@@ -182,7 +180,7 @@ function normalizeNewFieldContent(
|
|
|
182
180
|
* If the proposed schema (from `treeContent`) is not compatible with the emptry tree, this function handles using an intermediate schema
|
|
183
181
|
* which supports the empty tree as well as the final tree content.
|
|
184
182
|
*/
|
|
185
|
-
export function initialize(checkout: ITreeCheckout, treeContent:
|
|
183
|
+
export function initialize(checkout: ITreeCheckout, treeContent: TreeStoredContent): void {
|
|
186
184
|
checkout.transaction.start();
|
|
187
185
|
try {
|
|
188
186
|
initializeContent(checkout, treeContent.schema, () => {
|
|
@@ -231,7 +229,7 @@ export function ensureSchema(
|
|
|
231
229
|
viewSchema: ViewSchema,
|
|
232
230
|
allowedSchemaModifications: AllowedUpdateType,
|
|
233
231
|
checkout: ITreeCheckout,
|
|
234
|
-
treeContent:
|
|
232
|
+
treeContent: TreeStoredContent | undefined,
|
|
235
233
|
): boolean {
|
|
236
234
|
let possibleModifications = allowedSchemaModifications;
|
|
237
235
|
if (treeContent === undefined) {
|
|
@@ -248,7 +246,7 @@ export function ensureSchema(
|
|
|
248
246
|
return false;
|
|
249
247
|
}
|
|
250
248
|
case UpdateType.SchemaCompatible: {
|
|
251
|
-
checkout.updateSchema(
|
|
249
|
+
checkout.updateSchema(viewSchema.storedSchema);
|
|
252
250
|
return true;
|
|
253
251
|
}
|
|
254
252
|
case UpdateType.Initialize: {
|
|
@@ -289,6 +287,19 @@ export interface TreeContent<TRoot extends FlexFieldSchema = FlexFieldSchema>
|
|
|
289
287
|
readonly initialTree: readonly ITreeCursorSynchronous[] | ITreeCursorSynchronous | undefined;
|
|
290
288
|
}
|
|
291
289
|
|
|
290
|
+
/**
|
|
291
|
+
* Content that can populate a `SharedTree`.
|
|
292
|
+
*/
|
|
293
|
+
export interface TreeStoredContent {
|
|
294
|
+
readonly schema: TreeStoredSchema;
|
|
295
|
+
|
|
296
|
+
/**
|
|
297
|
+
* Default tree content to initialize the tree with iff the tree is uninitialized
|
|
298
|
+
* (meaning it does not even have any schema set at all).
|
|
299
|
+
*/
|
|
300
|
+
readonly initialTree: readonly ITreeCursorSynchronous[] | ITreeCursorSynchronous | undefined;
|
|
301
|
+
}
|
|
302
|
+
|
|
292
303
|
/**
|
|
293
304
|
* Options used to schematize a `SharedTree`.
|
|
294
305
|
*/
|