@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
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import { assert } from "@fluidframework/core-utils/internal";
|
|
7
7
|
import { UsageError } from "@fluidframework/telemetry-utils/internal";
|
|
8
8
|
|
|
9
|
-
import { AllowedUpdateType, Compatibility } from "../core/index.js";
|
|
9
|
+
import { AllowedUpdateType, anchorSlot, Compatibility } from "../core/index.js";
|
|
10
10
|
import {
|
|
11
11
|
type HasListeners,
|
|
12
12
|
type IEmitter,
|
|
@@ -14,13 +14,13 @@ import {
|
|
|
14
14
|
createEmitter,
|
|
15
15
|
} from "../events/index.js";
|
|
16
16
|
import {
|
|
17
|
-
type FlexFieldSchema,
|
|
18
17
|
type NodeKeyManager,
|
|
19
18
|
ViewSchema,
|
|
20
19
|
defaultSchemaPolicy,
|
|
21
20
|
ContextSlot,
|
|
22
21
|
cursorForMapTreeNode,
|
|
23
22
|
type FlexTreeSchema,
|
|
23
|
+
intoStoredSchema,
|
|
24
24
|
} from "../feature-libraries/index.js";
|
|
25
25
|
import {
|
|
26
26
|
type FieldSchema,
|
|
@@ -43,7 +43,12 @@ import { Breakable, breakingClass, disposeSymbol, type WithBreakable } from "../
|
|
|
43
43
|
|
|
44
44
|
import { canInitialize, ensureSchema, initialize } from "./schematizeTree.js";
|
|
45
45
|
import type { ITreeCheckout } from "./treeCheckout.js";
|
|
46
|
-
import { CheckoutFlexTreeView } from "./
|
|
46
|
+
import { CheckoutFlexTreeView } from "./checkoutFlexTreeView.js";
|
|
47
|
+
/**
|
|
48
|
+
* Creating multiple tree views from the same checkout is not supported. This slot is used to detect if one already
|
|
49
|
+
* exists and error if creating a second.
|
|
50
|
+
*/
|
|
51
|
+
export const ViewSlot = anchorSlot<TreeView<ImplicitFieldSchema>>();
|
|
47
52
|
|
|
48
53
|
/**
|
|
49
54
|
* Implementation of TreeView wrapping a FlexTreeView.
|
|
@@ -57,7 +62,7 @@ export class SchematizingSimpleTreeView<in out TRootSchema extends ImplicitField
|
|
|
57
62
|
*
|
|
58
63
|
* The view schema may be incompatible with the stored schema. Use `compatibility` to check.
|
|
59
64
|
*/
|
|
60
|
-
private view: CheckoutFlexTreeView
|
|
65
|
+
private view: CheckoutFlexTreeView | undefined;
|
|
61
66
|
|
|
62
67
|
/**
|
|
63
68
|
* Undefined iff uninitialized or disposed.
|
|
@@ -89,6 +94,11 @@ export class SchematizingSimpleTreeView<in out TRootSchema extends ImplicitField
|
|
|
89
94
|
public readonly nodeKeyManager: NodeKeyManager,
|
|
90
95
|
public readonly breaker: Breakable = new Breakable("SchematizingSimpleTreeView"),
|
|
91
96
|
) {
|
|
97
|
+
if (checkout.forest.anchors.slots.has(ViewSlot)) {
|
|
98
|
+
throw new UsageError("Cannot create a second tree view from the same checkout");
|
|
99
|
+
}
|
|
100
|
+
checkout.forest.anchors.slots.set(ViewSlot, this);
|
|
101
|
+
|
|
92
102
|
const policy = {
|
|
93
103
|
...defaultSchemaPolicy,
|
|
94
104
|
validateSchema: config.enableSchemaValidation,
|
|
@@ -96,7 +106,7 @@ export class SchematizingSimpleTreeView<in out TRootSchema extends ImplicitField
|
|
|
96
106
|
this.rootFieldSchema = normalizeFieldSchema(config.schema);
|
|
97
107
|
this.flexSchema = toFlexSchema(config.schema);
|
|
98
108
|
|
|
99
|
-
this.viewSchema = new ViewSchema(policy, {}, this.flexSchema);
|
|
109
|
+
this.viewSchema = new ViewSchema(policy, {}, intoStoredSchema(this.flexSchema));
|
|
100
110
|
// This must be initialized before `update` can be called.
|
|
101
111
|
this.currentCompatibility = {
|
|
102
112
|
canView: false,
|
|
@@ -113,6 +123,10 @@ export class SchematizingSimpleTreeView<in out TRootSchema extends ImplicitField
|
|
|
113
123
|
);
|
|
114
124
|
}
|
|
115
125
|
|
|
126
|
+
public get schema(): TRootSchema {
|
|
127
|
+
return this.config.schema;
|
|
128
|
+
}
|
|
129
|
+
|
|
116
130
|
public initialize(content: InsertableTreeFieldFromImplicitField<TRootSchema>): void {
|
|
117
131
|
this.ensureUndisposed();
|
|
118
132
|
|
|
@@ -137,7 +151,7 @@ export class SchematizingSimpleTreeView<in out TRootSchema extends ImplicitField
|
|
|
137
151
|
|
|
138
152
|
prepareContentForHydration(mapTree, this.checkout.forest);
|
|
139
153
|
initialize(this.checkout, {
|
|
140
|
-
schema: this.
|
|
154
|
+
schema: this.viewSchema.storedSchema,
|
|
141
155
|
initialTree: mapTree === undefined ? undefined : cursorForMapTreeNode(mapTree),
|
|
142
156
|
});
|
|
143
157
|
});
|
|
@@ -164,7 +178,7 @@ export class SchematizingSimpleTreeView<in out TRootSchema extends ImplicitField
|
|
|
164
178
|
AllowedUpdateType.SchemaCompatible,
|
|
165
179
|
this.checkout,
|
|
166
180
|
{
|
|
167
|
-
schema: this.
|
|
181
|
+
schema: this.viewSchema.storedSchema,
|
|
168
182
|
initialTree: undefined,
|
|
169
183
|
},
|
|
170
184
|
);
|
|
@@ -175,7 +189,7 @@ export class SchematizingSimpleTreeView<in out TRootSchema extends ImplicitField
|
|
|
175
189
|
/**
|
|
176
190
|
* Gets the view. Throws when disposed.
|
|
177
191
|
*/
|
|
178
|
-
public getView(): CheckoutFlexTreeView
|
|
192
|
+
public getView(): CheckoutFlexTreeView {
|
|
179
193
|
this.ensureUndisposed();
|
|
180
194
|
assert(this.view !== undefined, 0x8c0 /* unexpected getViewOrError */);
|
|
181
195
|
return this.view;
|
|
@@ -252,12 +266,21 @@ export class SchematizingSimpleTreeView<in out TRootSchema extends ImplicitField
|
|
|
252
266
|
}
|
|
253
267
|
};
|
|
254
268
|
|
|
255
|
-
|
|
269
|
+
const view = requireSchema(
|
|
256
270
|
this.checkout,
|
|
257
271
|
this.viewSchema,
|
|
258
272
|
onViewDispose,
|
|
259
273
|
this.nodeKeyManager,
|
|
274
|
+
this.flexSchema,
|
|
260
275
|
);
|
|
276
|
+
this.view = view;
|
|
277
|
+
|
|
278
|
+
const unregister = this.checkout.storedSchema.on("afterSchemaChange", () => {
|
|
279
|
+
unregister();
|
|
280
|
+
this.unregisterCallbacks.delete(unregister);
|
|
281
|
+
view[disposeSymbol]();
|
|
282
|
+
});
|
|
283
|
+
this.unregisterCallbacks.add(unregister);
|
|
261
284
|
} else {
|
|
262
285
|
this.view = undefined;
|
|
263
286
|
|
|
@@ -304,6 +327,7 @@ export class SchematizingSimpleTreeView<in out TRootSchema extends ImplicitField
|
|
|
304
327
|
public dispose(): void {
|
|
305
328
|
this.disposed = true;
|
|
306
329
|
this.disposeView();
|
|
330
|
+
this.checkout.forest.anchors.slots.delete(ViewSlot);
|
|
307
331
|
this.currentCompatibility = undefined;
|
|
308
332
|
}
|
|
309
333
|
|
|
@@ -334,12 +358,13 @@ export class SchematizingSimpleTreeView<in out TRootSchema extends ImplicitField
|
|
|
334
358
|
* Creates a view that self-disposes whenenever the stored schema changes.
|
|
335
359
|
* This may only be called when the schema is already known to be compatible (typically via ensureSchema).
|
|
336
360
|
*/
|
|
337
|
-
export function requireSchema
|
|
361
|
+
export function requireSchema(
|
|
338
362
|
checkout: ITreeCheckout,
|
|
339
|
-
viewSchema: ViewSchema
|
|
363
|
+
viewSchema: ViewSchema,
|
|
340
364
|
onDispose: () => void,
|
|
341
365
|
nodeKeyManager: NodeKeyManager,
|
|
342
|
-
|
|
366
|
+
flexTreeSchema: FlexTreeSchema,
|
|
367
|
+
): CheckoutFlexTreeView {
|
|
343
368
|
const slots = checkout.forest.anchors.slots;
|
|
344
369
|
assert(!slots.has(ContextSlot), 0x8c2 /* Cannot create second view from checkout */);
|
|
345
370
|
|
|
@@ -352,18 +377,7 @@ export function requireSchema<TRoot extends FlexFieldSchema>(
|
|
|
352
377
|
);
|
|
353
378
|
}
|
|
354
379
|
|
|
355
|
-
const view = new CheckoutFlexTreeView(
|
|
356
|
-
checkout,
|
|
357
|
-
viewSchema.schema,
|
|
358
|
-
nodeKeyManager,
|
|
359
|
-
onDispose,
|
|
360
|
-
);
|
|
380
|
+
const view = new CheckoutFlexTreeView(checkout, flexTreeSchema, nodeKeyManager, onDispose);
|
|
361
381
|
assert(slots.has(ContextSlot), 0x90d /* Context should be tracked in slot */);
|
|
362
|
-
|
|
363
|
-
const unregister = checkout.storedSchema.on("afterSchemaChange", () => {
|
|
364
|
-
unregister();
|
|
365
|
-
view[disposeSymbol]();
|
|
366
|
-
});
|
|
367
|
-
|
|
368
382
|
return view;
|
|
369
383
|
}
|
|
@@ -178,7 +178,11 @@ export class SharedTree
|
|
|
178
178
|
const schema = new TreeStoredSchemaRepository();
|
|
179
179
|
const forest =
|
|
180
180
|
options.forest === ForestType.Optimized
|
|
181
|
-
? buildChunkedForest(
|
|
181
|
+
? buildChunkedForest(
|
|
182
|
+
makeTreeChunker(schema, defaultSchemaPolicy),
|
|
183
|
+
undefined,
|
|
184
|
+
runtime.idCompressor,
|
|
185
|
+
)
|
|
182
186
|
: options.forest === ForestType.Reference
|
|
183
187
|
? buildForest()
|
|
184
188
|
: buildForest(undefined, true);
|
|
@@ -217,6 +221,7 @@ export class SharedTree
|
|
|
217
221
|
fieldBatchCodec,
|
|
218
222
|
options,
|
|
219
223
|
options.treeEncodeType,
|
|
224
|
+
runtime.idCompressor,
|
|
220
225
|
);
|
|
221
226
|
const changeFamily = makeMitigatedChangeFamily(
|
|
222
227
|
innerChangeFamily,
|
|
@@ -29,6 +29,7 @@ import type {
|
|
|
29
29
|
ChangeEnricherMutableCheckout,
|
|
30
30
|
ChangeEnricherReadonlyCheckout,
|
|
31
31
|
} from "../shared-tree-core/index.js";
|
|
32
|
+
import type { IIdCompressor } from "@fluidframework/id-compressor";
|
|
32
33
|
|
|
33
34
|
export class SharedTreeReadonlyChangeEnricher
|
|
34
35
|
implements ChangeEnricherReadonlyCheckout<SharedTreeChange>
|
|
@@ -44,6 +45,7 @@ export class SharedTreeReadonlyChangeEnricher
|
|
|
44
45
|
protected readonly forest: IEditableForest,
|
|
45
46
|
private readonly schema: TreeStoredSchemaRepository,
|
|
46
47
|
protected readonly removedRoots: DetachedFieldIndex,
|
|
48
|
+
private readonly idCompressor?: IIdCompressor,
|
|
47
49
|
) {}
|
|
48
50
|
|
|
49
51
|
public fork(): ChangeEnricherMutableCheckout<SharedTreeChange> {
|
|
@@ -70,7 +72,10 @@ export class SharedTreeReadonlyChangeEnricher
|
|
|
70
72
|
const parentField = this.removedRoots.toFieldKey(root);
|
|
71
73
|
cursor.enterField(parentField);
|
|
72
74
|
cursor.enterNode(0);
|
|
73
|
-
return chunkTree(cursor,
|
|
75
|
+
return chunkTree(cursor, {
|
|
76
|
+
policy: defaultChunkPolicy,
|
|
77
|
+
idCompressor: this.idCompressor,
|
|
78
|
+
});
|
|
74
79
|
}
|
|
75
80
|
return undefined;
|
|
76
81
|
};
|
|
@@ -38,6 +38,7 @@ import {
|
|
|
38
38
|
import { makeSharedTreeChangeCodecFamily } from "./sharedTreeChangeCodecs.js";
|
|
39
39
|
import type { SharedTreeChange } from "./sharedTreeChangeTypes.js";
|
|
40
40
|
import { SharedTreeEditBuilder } from "./sharedTreeEditBuilder.js";
|
|
41
|
+
import type { IIdCompressor } from "@fluidframework/id-compressor";
|
|
41
42
|
|
|
42
43
|
/**
|
|
43
44
|
* Implementation of {@link ChangeFamily} that combines edits to fields and schema changes.
|
|
@@ -61,6 +62,7 @@ export class SharedTreeChangeFamily
|
|
|
61
62
|
fieldBatchCodec: FieldBatchCodec,
|
|
62
63
|
codecOptions: ICodecOptions,
|
|
63
64
|
chunkCompressionStrategy?: TreeCompressionStrategy,
|
|
65
|
+
private readonly idCompressor?: IIdCompressor,
|
|
64
66
|
) {
|
|
65
67
|
const modularChangeCodec = makeModularChangeCodecFamily(
|
|
66
68
|
fieldKindConfigurations,
|
|
@@ -79,7 +81,11 @@ export class SharedTreeChangeFamily
|
|
|
79
81
|
public buildEditor(
|
|
80
82
|
changeReceiver: (change: SharedTreeChange) => void,
|
|
81
83
|
): SharedTreeEditBuilder {
|
|
82
|
-
return new SharedTreeEditBuilder(
|
|
84
|
+
return new SharedTreeEditBuilder(
|
|
85
|
+
this.modularChangeFamily,
|
|
86
|
+
changeReceiver,
|
|
87
|
+
this.idCompressor,
|
|
88
|
+
);
|
|
83
89
|
}
|
|
84
90
|
|
|
85
91
|
public compose(changes: TaggedChange<SharedTreeChange>[]): SharedTreeChange {
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
import type { IIdCompressor } from "@fluidframework/id-compressor";
|
|
6
7
|
import type { ChangeFamilyEditor, TreeStoredSchema } from "../core/index.js";
|
|
7
8
|
import {
|
|
8
9
|
DefaultEditBuilder,
|
|
@@ -48,11 +49,15 @@ export class SharedTreeEditBuilder
|
|
|
48
49
|
public constructor(
|
|
49
50
|
modularChangeFamily: ModularChangeFamily,
|
|
50
51
|
private readonly changeReceiver: (change: SharedTreeChange) => void,
|
|
52
|
+
idCompressor?: IIdCompressor,
|
|
51
53
|
) {
|
|
52
|
-
super(
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
super(
|
|
55
|
+
modularChangeFamily,
|
|
56
|
+
(change) =>
|
|
57
|
+
changeReceiver({
|
|
58
|
+
changes: [{ type: "data", innerChange: change }],
|
|
59
|
+
}),
|
|
60
|
+
idCompressor,
|
|
56
61
|
);
|
|
57
62
|
|
|
58
63
|
this.schema = {
|
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { assert, unreachableCase } from "@fluidframework/core-utils/internal";
|
|
7
|
+
import { UsageError } from "@fluidframework/telemetry-utils/internal";
|
|
7
8
|
|
|
8
|
-
import {
|
|
9
|
+
import { TreeStatus } from "../feature-libraries/index.js";
|
|
9
10
|
import {
|
|
10
11
|
type ImplicitFieldSchema,
|
|
11
12
|
type TreeNode,
|
|
@@ -14,11 +15,10 @@ import {
|
|
|
14
15
|
getOrCreateInnerNode,
|
|
15
16
|
treeNodeApi,
|
|
16
17
|
} from "../simple-tree/index.js";
|
|
17
|
-
import { fail } from "../util/index.js";
|
|
18
18
|
|
|
19
19
|
import { SchematizingSimpleTreeView } from "./schematizingTreeView.js";
|
|
20
20
|
import type { ITreeCheckout } from "./treeCheckout.js";
|
|
21
|
-
import {
|
|
21
|
+
import { getCheckoutFlexTreeView } from "./checkoutFlexTreeView.js";
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* A special object that signifies when a SharedTree {@link RunTransaction | transaction} should "roll back".
|
|
@@ -324,9 +324,7 @@ export interface RunTransaction {
|
|
|
324
324
|
* Provides various functions for interacting with {@link TreeNode}s.
|
|
325
325
|
* @remarks
|
|
326
326
|
* This type should only be used via the public `Tree` export.
|
|
327
|
-
* @
|
|
328
|
-
* Due to limitations of API-Extractor link resolution, this type can't be moved into internalTypes but should be considered just an implementation detail of the `Tree` export.
|
|
329
|
-
* @sealed @public
|
|
327
|
+
* @system @sealed @public
|
|
330
328
|
*/
|
|
331
329
|
export interface TreeApi extends TreeNodeApi {
|
|
332
330
|
/**
|
|
@@ -436,10 +434,12 @@ export function runTransaction<
|
|
|
436
434
|
const node = treeOrNode as TNode;
|
|
437
435
|
const t = transaction as (node: TNode) => TResult | typeof rollback;
|
|
438
436
|
const context = getOrCreateInnerNode(node).context;
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
437
|
+
if (context.isHydrated() === false) {
|
|
438
|
+
throw new UsageError(
|
|
439
|
+
"Transactions cannot be run on Unhydrated nodes. Transactions apply to a TreeView and Unhydrated nodes are not part of a TreeView.",
|
|
440
|
+
);
|
|
441
|
+
}
|
|
442
|
+
const treeView = getCheckoutFlexTreeView(context);
|
|
443
443
|
return runTransactionInCheckout(treeView.checkout, () => t(node), preconditions);
|
|
444
444
|
}
|
|
445
445
|
}
|
|
@@ -35,8 +35,10 @@ import {
|
|
|
35
35
|
makeAnonChange,
|
|
36
36
|
makeDetachedFieldIndex,
|
|
37
37
|
rebaseChange,
|
|
38
|
+
rootFieldKey,
|
|
38
39
|
tagChange,
|
|
39
40
|
visitDelta,
|
|
41
|
+
type RevertibleFactory,
|
|
40
42
|
} from "../core/index.js";
|
|
41
43
|
import {
|
|
42
44
|
type HasListeners,
|
|
@@ -87,21 +89,6 @@ export interface CheckoutEvents {
|
|
|
87
89
|
commitApplied(data: CommitMetadata, getRevertible?: RevertibleFactory): void;
|
|
88
90
|
}
|
|
89
91
|
|
|
90
|
-
/**
|
|
91
|
-
* Factory for creating a {@link Revertible}.
|
|
92
|
-
* Will error if invoked outside the scope of the `commitApplied` event that provides it, or if invoked multiple times.
|
|
93
|
-
*
|
|
94
|
-
* @param onRevertibleDisposed - A callback that will be invoked when the `Revertible` generated by this factory is disposed.
|
|
95
|
-
* This happens when the `Revertible` is disposed manually, or when the `TreeView` that the `Revertible` belongs to is disposed,
|
|
96
|
-
* whichever happens first.
|
|
97
|
-
* This is typically used to clean up any resources associated with the `Revertible` in the host application.
|
|
98
|
-
*
|
|
99
|
-
* @sealed @public
|
|
100
|
-
*/
|
|
101
|
-
export type RevertibleFactory = (
|
|
102
|
-
onRevertibleDisposed?: (revertible: Revertible) => void,
|
|
103
|
-
) => Revertible;
|
|
104
|
-
|
|
105
92
|
/**
|
|
106
93
|
* Provides a means for interacting with a SharedTree.
|
|
107
94
|
* This includes reading data from the tree and running transactions to mutate the tree.
|
|
@@ -237,6 +224,7 @@ export function createTreeCheckout(
|
|
|
237
224
|
makeFieldBatchCodec(defaultCodecOptions, defaultFieldBatchVersion),
|
|
238
225
|
{ jsonValidator: noopValidator },
|
|
239
226
|
args?.chunkCompressionStrategy,
|
|
227
|
+
idCompressor,
|
|
240
228
|
);
|
|
241
229
|
const branch =
|
|
242
230
|
args?.branch ??
|
|
@@ -656,6 +644,7 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
656
644
|
}
|
|
657
645
|
|
|
658
646
|
public getRemovedRoots(): [string | number | undefined, number, JsonableTree][] {
|
|
647
|
+
this.assertNoUntrackedRoots();
|
|
659
648
|
const trees: [string | number | undefined, number, JsonableTree][] = [];
|
|
660
649
|
const cursor = this.forest.allocateCursor("getRemovedRoots");
|
|
661
650
|
for (const { id, root } of this.removedRoots.entries()) {
|
|
@@ -739,6 +728,28 @@ export class TreeCheckout implements ITreeCheckoutFork {
|
|
|
739
728
|
|
|
740
729
|
return { age: revertAge };
|
|
741
730
|
}
|
|
731
|
+
|
|
732
|
+
private assertNoUntrackedRoots(): void {
|
|
733
|
+
const cursor = this.forest.getCursorAboveDetachedFields();
|
|
734
|
+
const rootFields = new Set([rootFieldKey]);
|
|
735
|
+
for (const { root } of this.removedRoots.entries()) {
|
|
736
|
+
rootFields.add(this.removedRoots.toFieldKey(root));
|
|
737
|
+
}
|
|
738
|
+
|
|
739
|
+
if (!cursor.firstField()) {
|
|
740
|
+
return;
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
do {
|
|
744
|
+
const field = cursor.getFieldKey();
|
|
745
|
+
assert(
|
|
746
|
+
rootFields.has(field),
|
|
747
|
+
0xa22 /* Forest has a root field which is unknown to the detached field index */,
|
|
748
|
+
);
|
|
749
|
+
|
|
750
|
+
rootFields.delete(field);
|
|
751
|
+
} while (cursor.nextField());
|
|
752
|
+
}
|
|
742
753
|
}
|
|
743
754
|
|
|
744
755
|
/**
|
|
@@ -387,7 +387,7 @@ export class SharedTreeBranch<
|
|
|
387
387
|
const commit =
|
|
388
388
|
commits[i] ?? fail("This wont run because we are iterating through commits");
|
|
389
389
|
const inverse = this.changeFamily.rebaser.changeRevision(
|
|
390
|
-
this.changeFamily.rebaser.invert(commit,
|
|
390
|
+
this.changeFamily.rebaser.invert(commit, true),
|
|
391
391
|
revision,
|
|
392
392
|
commit.revision,
|
|
393
393
|
);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# simple-tree
|
|
1
|
+
# simple-tree node Binding
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Hydration is a three step process which provides the ability to use a simple-tree node both before and after it is inserted into the tree.
|
|
4
4
|
This allows developers to "read back" values that they insert into the tree much more succinctly.
|
|
5
5
|
Here is an example:
|
|
6
6
|
|
|
@@ -10,7 +10,7 @@ function addPoint(curve: Curve, x: number, y: number): Point {
|
|
|
10
10
|
curve.points.insertAtEnd(point);
|
|
11
11
|
// After insertion, `point` can be queried:
|
|
12
12
|
assert(point.x === 3);
|
|
13
|
-
// In fact, `point` is the same
|
|
13
|
+
// In fact, `point` is the same simple-tree node object that you would get from reading it off of its new parent in the tree:
|
|
14
14
|
assert(point === curve.points[curve.points.length - 1]);
|
|
15
15
|
// So, to read the content that was just inserted, the original object can be used and there is no need to read via the parent:
|
|
16
16
|
return point;
|
|
@@ -20,22 +20,22 @@ function addPoint(curve: Curve, x: number, y: number): Point {
|
|
|
20
20
|
|
|
21
21
|
## Implementation
|
|
22
22
|
|
|
23
|
-
This feature is supported by doing some bookkeeping to ensure that the
|
|
23
|
+
This feature is supported by doing some bookkeeping to ensure that the simple-tree objects,
|
|
24
24
|
flex tree nodes and anchor nodes in the tree get associated and disassociated at the right times.
|
|
25
|
-
There are three states that a node
|
|
25
|
+
There are three states that a node simple-tree node can be in: "raw", "marinated" and "cooked".
|
|
26
26
|
|
|
27
27
|
Note from the public API perspective, `Unhydrated` nodes are "raw", and hydrated nodes are either "marinated" or "cooked".
|
|
28
28
|
|
|
29
29
|
### Raw Proxies
|
|
30
30
|
|
|
31
|
-
A newly created
|
|
31
|
+
A newly created simple-tree node, a.k.a. a **raw** simple-tree node. A raw simple-tree node is produced by invoking the schema-provided constructor for a node:
|
|
32
32
|
|
|
33
33
|
```ts
|
|
34
34
|
const rawPoint = new Point({ x: 3, y: 3 });
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
-
Such a
|
|
38
|
-
As
|
|
37
|
+
Such a simple-tree node will be raw until it is inserted into the tree and becomes "marinated" (see below).
|
|
38
|
+
As raw nodes can be read or mutated.
|
|
39
39
|
|
|
40
40
|
### Marinated Proxies
|
|
41
41
|
|
|
@@ -60,15 +60,15 @@ app.graph = {
|
|
|
60
60
|
};
|
|
61
61
|
```
|
|
62
62
|
|
|
63
|
-
A marinated
|
|
64
|
-
When insertion occurs, an `AnchorNode` will be created for the location of the new content.
|
|
65
|
-
The
|
|
66
|
-
Note that the `AnchorNode`
|
|
63
|
+
A marinated simple-tree node, by definition, is bound bi-directionally to an `AnchorNode`.
|
|
64
|
+
When insertion occurs, an `AnchorNode` will be created (if not already present) for the location of the new content.
|
|
65
|
+
The simple-tree node for that content will then be mapped to the `AnchorNode` (via its kernel) and the `AnchorNode` will be mapped to the simple-tree node.
|
|
66
|
+
Note that the `AnchorNode` may not yet have a `FlexTreeNode` associated with it - that happens when the node becomes "cooked" (see below).
|
|
67
67
|
|
|
68
68
|
### Cooked Proxies
|
|
69
69
|
|
|
70
|
-
A
|
|
71
|
-
This happens lazily on demand, if/when a marinated
|
|
70
|
+
A simple-tree node is fully cooked when it finally associates itself with a `FlexTreeNode`.
|
|
71
|
+
This happens lazily on demand, if/when a marinated simple-tree node is read or mutated (by the local client).
|
|
72
72
|
|
|
73
73
|
```ts
|
|
74
74
|
const point = new Point({ x: 3, y: 3 }); // `point` is raw
|
|
@@ -76,29 +76,29 @@ curves.points.insertAtEnd(point); // `point` becomes marinated
|
|
|
76
76
|
const x = point.x; // `point` becomes cooked in order to support the read of `x`
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
-
This laziness prevents the
|
|
79
|
+
This laziness prevents the simple-tree node tree from generating unnecessary `FlexTreeNodes`.
|
|
80
80
|
|
|
81
|
-
Cooking a marinated
|
|
81
|
+
Cooking a marinated simple-tree node works as follows:
|
|
82
82
|
|
|
83
|
-
1. Get the `AnchorNode` associated with the marinated
|
|
83
|
+
1. Get the `AnchorNode` associated with the marinated simple-tree node.
|
|
84
84
|
2. Get or create a `FlexTreeNode` for the anchor.
|
|
85
|
-
3. This will cause the `FlexTreeNode` to be generated which corresponds to the
|
|
85
|
+
3. This will cause the `FlexTreeNode` to be generated which corresponds to the simple-tree node.
|
|
86
86
|
|
|
87
87
|
### Mappings
|
|
88
88
|
|
|
89
89
|
```mermaid
|
|
90
90
|
graph LR;
|
|
91
|
-
AnchorNode(AnchorNode)<-->|Cooked|FlexTreeNode(FlexTreeNode)
|
|
92
|
-
AnchorNode<--->|Marinated|
|
|
91
|
+
AnchorNode(AnchorNode)<-->|Cooked and sometimes when Marinated|FlexTreeNode(FlexTreeNode)
|
|
92
|
+
AnchorNode<--->|Marinated or Cooked|TreeNode(TreeNode)-.->|Raw|RawTreeNode(RawTreeNode)
|
|
93
93
|
linkStyle 0 stroke:#0f0
|
|
94
94
|
linkStyle 1 stroke:#00f
|
|
95
95
|
linkStyle 2 stroke:#f00
|
|
96
96
|
```
|
|
97
97
|
|
|
98
|
-
Note that it is possible for the `Cooked` mappings between an `AnchorNode` and a `FlexTreeNode` to exist regardless of whether there is also a
|
|
99
|
-
In that case, when that
|
|
98
|
+
Note that it is possible for the `Cooked` mappings between an `AnchorNode` and a `FlexTreeNode` to exist regardless of whether there is also a simple-tree node yet created for that node.
|
|
99
|
+
In that case, when that simple-tree node is created it will immediately be given its `Marinated` mappings and therefore already be cooked.
|
|
100
100
|
|
|
101
101
|
`RawTreeNode`s, which implement the `FlexTreeNode` interface (or at least, as of 2024-03-21, pretend to), are substitutes for the true `FlexTreeNode`s that don't yet exist for a raw node.
|
|
102
|
-
The `Raw` mapping is removed when a
|
|
102
|
+
The `Raw` mapping is removed when a simple-tree node is marinated, and the `RawTreeNode` is forgotten.
|
|
103
103
|
|
|
104
104
|
See [proxyBinding.ts](./proxyBinding.ts) for more details.
|
|
@@ -23,12 +23,13 @@ import {
|
|
|
23
23
|
FieldKinds,
|
|
24
24
|
intoStoredSchema,
|
|
25
25
|
mapTreeFromCursor,
|
|
26
|
+
UnhydratedContext,
|
|
26
27
|
type NodeKeyManager,
|
|
27
28
|
} from "../../feature-libraries/index.js";
|
|
28
|
-
import { getOrCreateNodeFromFlexTreeNode
|
|
29
|
+
import { getOrCreateNodeFromFlexTreeNode } from "../proxies.js";
|
|
29
30
|
import { getOrCreateMapTreeNode, isFieldInSchema } from "../../feature-libraries/index.js";
|
|
30
31
|
import { toFlexSchema } from "../toFlexSchema.js";
|
|
31
|
-
import { inSchemaOrThrow, mapTreeFromNodeData } from "../toMapTree.js";
|
|
32
|
+
import { inSchemaOrThrow, mapTreeFromNodeData, type InsertableContent } from "../toMapTree.js";
|
|
32
33
|
import {
|
|
33
34
|
applySchemaToParserOptions,
|
|
34
35
|
cursorFromVerbose,
|
|
@@ -171,7 +172,11 @@ export function createFromCursor<TSchema extends ImplicitFieldSchema>(
|
|
|
171
172
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
172
173
|
const mapTree = mapTrees[0]!;
|
|
173
174
|
const rootSchema = flexSchema.nodeSchema.get(mapTree.type) ?? fail("missing schema");
|
|
174
|
-
const mapTreeNode = getOrCreateMapTreeNode(
|
|
175
|
+
const mapTreeNode = getOrCreateMapTreeNode(
|
|
176
|
+
new UnhydratedContext(flexSchema),
|
|
177
|
+
rootSchema,
|
|
178
|
+
mapTree,
|
|
179
|
+
);
|
|
175
180
|
|
|
176
181
|
// TODO: ensure this works for InnerNodes to create unhydrated nodes
|
|
177
182
|
const result = getOrCreateNodeFromFlexTreeNode(mapTreeNode);
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import type { JsonTreeSchema } from "./jsonSchema.js";
|
|
7
|
-
import type { ImplicitAllowedTypes } from "
|
|
7
|
+
import type { ImplicitAllowedTypes } from "../schemaTypes.js";
|
|
8
8
|
import { toJsonSchema } from "./simpleSchemaToJsonSchema.js";
|
|
9
9
|
import { getSimpleSchema } from "./getSimpleSchema.js";
|
|
10
|
-
import { getOrCreate } from "
|
|
11
|
-
import type { TreeNodeSchema } from "
|
|
10
|
+
import { getOrCreate } from "../../util/index.js";
|
|
11
|
+
import type { TreeNodeSchema } from "../core/index.js";
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Cache in which the results of {@link getJsonSchema} are saved.
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { getOrCreate } from "
|
|
7
|
-
import type { TreeNodeSchema } from "
|
|
8
|
-
import type { ImplicitAllowedTypes } from "
|
|
6
|
+
import { getOrCreate } from "../../util/index.js";
|
|
7
|
+
import type { TreeNodeSchema } from "../core/index.js";
|
|
8
|
+
import type { ImplicitAllowedTypes } from "../schemaTypes.js";
|
|
9
9
|
import type { SimpleTreeSchema } from "./simpleSchema.js";
|
|
10
10
|
import { toSimpleTreeSchema } from "./viewSchemaToSimpleSchema.js";
|
|
11
11
|
|
|
@@ -26,6 +26,26 @@ export {
|
|
|
26
26
|
} from "./schemaCreationUtilities.js";
|
|
27
27
|
export { treeNodeApi, type TreeNodeApi } from "./treeNodeApi.js";
|
|
28
28
|
export { createFromInsertable, cursorFromInsertable } from "./create.js";
|
|
29
|
+
export type { SimpleTreeSchema } from "./simpleSchema.js";
|
|
30
|
+
export {
|
|
31
|
+
type JsonSchemaId,
|
|
32
|
+
type JsonSchemaType,
|
|
33
|
+
type JsonObjectNodeSchema,
|
|
34
|
+
type JsonArrayNodeSchema,
|
|
35
|
+
type JsonMapNodeSchema,
|
|
36
|
+
type JsonLeafNodeSchema,
|
|
37
|
+
type JsonSchemaRef,
|
|
38
|
+
type JsonRefPath,
|
|
39
|
+
type JsonNodeSchema,
|
|
40
|
+
type JsonNodeSchemaBase,
|
|
41
|
+
type JsonTreeSchema,
|
|
42
|
+
type JsonFieldSchema,
|
|
43
|
+
type JsonLeafSchemaType,
|
|
44
|
+
} from "./jsonSchema.js";
|
|
45
|
+
export { getJsonSchema } from "./getJsonSchema.js";
|
|
46
|
+
export { getSimpleSchema } from "./getSimpleSchema.js";
|
|
47
|
+
|
|
48
|
+
export { TreeBeta, type NodeChangedData, type TreeChangeEventsBeta } from "./treeApiBeta.js";
|
|
29
49
|
|
|
30
50
|
// Exporting the schema (RecursiveObject) to test that recursive types are working correctly.
|
|
31
51
|
// These are `@internal` so they can't be included in the `InternalClassTreeTypes` due to https://github.com/microsoft/rushstack/issues/3639
|