@fluidframework/tree 2.90.0 → 2.92.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +365 -0
- package/alpha.d.ts +2 -2
- package/api-extractor/api-extractor-lint-alpha.cjs.json +1 -1
- package/api-extractor/api-extractor-lint-alpha.esm.json +1 -1
- package/api-extractor/api-extractor-lint-beta.cjs.json +1 -1
- package/api-extractor/api-extractor-lint-beta.esm.json +1 -1
- package/api-extractor/api-extractor-lint-bundle.json +1 -1
- package/api-extractor/api-extractor-lint-legacy.cjs.json +1 -1
- package/api-extractor/api-extractor-lint-legacy.esm.json +1 -1
- package/api-extractor/api-extractor-lint-public.cjs.json +1 -1
- package/api-extractor/api-extractor-lint-public.esm.json +1 -1
- package/api-extractor/api-extractor.current.json +1 -1
- package/api-extractor/api-extractor.legacy.json +2 -1
- package/api-extractor.json +1 -0
- package/api-report/tree.alpha.api.md +141 -37
- package/beta.d.ts +2 -2
- package/dist/api.d.ts +6 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js.map +1 -1
- package/dist/codec/codec.d.ts +28 -2
- package/dist/codec/codec.d.ts.map +1 -1
- package/dist/codec/codec.js +1 -0
- package/dist/codec/codec.js.map +1 -1
- package/dist/codec/index.d.ts +2 -2
- package/dist/codec/index.d.ts.map +1 -1
- package/dist/codec/index.js +2 -4
- package/dist/codec/index.js.map +1 -1
- package/dist/codec/versioned/codec.d.ts +18 -36
- package/dist/codec/versioned/codec.d.ts.map +1 -1
- package/dist/codec/versioned/codec.js +46 -59
- package/dist/codec/versioned/codec.js.map +1 -1
- package/dist/codec/versioned/index.d.ts +1 -1
- package/dist/codec/versioned/index.d.ts.map +1 -1
- package/dist/codec/versioned/index.js +2 -4
- package/dist/codec/versioned/index.js.map +1 -1
- package/dist/core/forest/forest.d.ts +5 -2
- package/dist/core/forest/forest.d.ts.map +1 -1
- package/dist/core/forest/forest.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +6 -2
- package/dist/core/index.js.map +1 -1
- package/dist/core/rebase/changeRebaser.d.ts +8 -1
- package/dist/core/rebase/changeRebaser.d.ts.map +1 -1
- package/dist/core/rebase/changeRebaser.js.map +1 -1
- package/dist/core/rebase/revisionTagCodec.d.ts +4 -3
- package/dist/core/rebase/revisionTagCodec.d.ts.map +1 -1
- package/dist/core/rebase/revisionTagCodec.js +2 -0
- package/dist/core/rebase/revisionTagCodec.js.map +1 -1
- package/dist/core/rebase/utils.d.ts +2 -2
- package/dist/core/rebase/utils.d.ts.map +1 -1
- package/dist/core/rebase/utils.js +4 -4
- package/dist/core/rebase/utils.js.map +1 -1
- package/dist/core/schema-stored/formatV2.d.ts +1 -1
- package/dist/core/schema-stored/formatV2.js +1 -1
- package/dist/core/schema-stored/formatV2.js.map +1 -1
- package/dist/core/tree/anchorSet.d.ts +8 -0
- package/dist/core/tree/anchorSet.d.ts.map +1 -1
- package/dist/core/tree/anchorSet.js +42 -7
- package/dist/core/tree/anchorSet.js.map +1 -1
- package/dist/core/tree/cursor.d.ts +25 -1
- package/dist/core/tree/cursor.d.ts.map +1 -1
- package/dist/core/tree/cursor.js +45 -1
- package/dist/core/tree/cursor.js.map +1 -1
- package/dist/core/tree/deltaUtil.d.ts +13 -1
- package/dist/core/tree/deltaUtil.d.ts.map +1 -1
- package/dist/core/tree/deltaUtil.js +34 -1
- package/dist/core/tree/deltaUtil.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodecs.d.ts +5 -5
- package/dist/core/tree/detachedFieldIndexCodecs.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodecs.js.map +1 -1
- package/dist/core/tree/index.d.ts +2 -2
- package/dist/core/tree/index.d.ts.map +1 -1
- package/dist/core/tree/index.js +6 -2
- package/dist/core/tree/index.js.map +1 -1
- package/dist/core/tree/visitDelta.d.ts +11 -0
- package/dist/core/tree/visitDelta.d.ts.map +1 -1
- package/dist/core/tree/visitDelta.js +1 -1
- package/dist/core/tree/visitDelta.js.map +1 -1
- package/dist/core/tree/visitorUtils.d.ts.map +1 -1
- package/dist/core/tree/visitorUtils.js +5 -0
- package/dist/core/tree/visitorUtils.js.map +1 -1
- package/dist/entrypoints/alpha.d.ts +6 -0
- package/dist/entrypoints/alpha.d.ts.map +1 -0
- package/dist/entrypoints/alpha.js +91 -0
- package/dist/entrypoints/alpha.js.map +1 -0
- package/dist/entrypoints/beta.d.ts +6 -0
- package/dist/entrypoints/beta.d.ts.map +1 -0
- package/dist/entrypoints/beta.js +43 -0
- package/dist/entrypoints/beta.js.map +1 -0
- package/dist/entrypoints/internal.d.ts +6 -0
- package/dist/entrypoints/internal.d.ts.map +1 -0
- package/dist/entrypoints/internal.js +28 -0
- package/dist/entrypoints/internal.js.map +1 -0
- package/dist/entrypoints/legacy.d.ts +6 -0
- package/dist/entrypoints/legacy.d.ts.map +1 -0
- package/dist/entrypoints/legacy.js +49 -0
- package/dist/entrypoints/legacy.js.map +1 -0
- package/dist/entrypoints/public.d.ts +6 -0
- package/dist/entrypoints/public.d.ts.map +1 -0
- package/dist/entrypoints/public.js +27 -0
- package/dist/entrypoints/public.js.map +1 -0
- package/dist/feature-libraries/changeAtomIdCodec.d.ts +4 -3
- package/dist/feature-libraries/changeAtomIdCodec.d.ts.map +1 -1
- package/dist/feature-libraries/changeAtomIdCodec.js +2 -0
- package/dist/feature-libraries/changeAtomIdCodec.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkedForest.d.ts +2 -1
- package/dist/feature-libraries/chunked-forest/chunkedForest.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkedForest.js +2 -2
- package/dist/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts +4 -4
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js +6 -6
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts +1 -2
- package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts +4 -4
- package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/codecs.js +6 -6
- package/dist/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts +12 -12
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js +3 -3
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/{formatGeneric.d.ts → format/formatGeneric.d.ts} +1 -1
- package/dist/feature-libraries/chunked-forest/codec/format/formatGeneric.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatGeneric.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatV1.d.ts +187 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatV1.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatV1.js +115 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatV1.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatV2.d.ts +33 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatV2.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatV2.js +16 -0
- package/dist/feature-libraries/chunked-forest/codec/format/formatV2.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/index.d.ts +10 -0
- package/dist/feature-libraries/chunked-forest/codec/format/index.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/index.js +18 -0
- package/dist/feature-libraries/chunked-forest/codec/format/index.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/versions.d.ts +93 -0
- package/dist/feature-libraries/chunked-forest/codec/format/versions.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format/versions.js +29 -0
- package/dist/feature-libraries/chunked-forest/codec/format/versions.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/index.d.ts +2 -2
- package/dist/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/index.js +2 -2
- package/dist/feature-libraries/chunked-forest/codec/index.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts +7 -7
- package/dist/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/nodeEncoder.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.js +6 -4
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.js +3 -3
- package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/index.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/index.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/index.js.map +1 -1
- package/dist/feature-libraries/cursorComparator.d.ts +23 -0
- package/dist/feature-libraries/cursorComparator.d.ts.map +1 -0
- package/dist/feature-libraries/cursorComparator.js +65 -0
- package/dist/feature-libraries/cursorComparator.js.map +1 -0
- package/dist/feature-libraries/forest-summary/codec.d.ts +1 -1
- package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts +3 -3
- package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.js.map +1 -1
- package/dist/feature-libraries/index.d.ts +3 -2
- package/dist/feature-libraries/index.d.ts.map +1 -1
- package/dist/feature-libraries/index.js +5 -5
- package/dist/feature-libraries/index.js.map +1 -1
- package/dist/feature-libraries/indexing/anchorTreeIndex.d.ts +2 -0
- package/dist/feature-libraries/indexing/anchorTreeIndex.d.ts.map +1 -1
- package/dist/feature-libraries/indexing/anchorTreeIndex.js +12 -7
- package/dist/feature-libraries/indexing/anchorTreeIndex.js.map +1 -1
- package/dist/feature-libraries/mitigatedChangeFamily.d.ts.map +1 -1
- package/dist/feature-libraries/mitigatedChangeFamily.js +2 -2
- package/dist/feature-libraries/mitigatedChangeFamily.js.map +1 -1
- package/dist/feature-libraries/modular-schema/crossFieldQueries.d.ts +3 -3
- package/dist/feature-libraries/modular-schema/crossFieldQueries.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/crossFieldQueries.js.map +1 -1
- package/dist/feature-libraries/modular-schema/defaultRevisionReplacer.d.ts +1 -0
- package/dist/feature-libraries/modular-schema/defaultRevisionReplacer.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/defaultRevisionReplacer.js +14 -6
- package/dist/feature-libraries/modular-schema/defaultRevisionReplacer.js.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts +3 -3
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKind.js +0 -1
- package/dist/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.d.ts +10 -10
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js +2 -4
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV2.d.ts +3 -3
- package/dist/feature-libraries/modular-schema/modularChangeCodecV2.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV2.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts +3 -3
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js +11 -6
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/dist/feature-libraries/object-forest/objectForest.d.ts +1 -1
- package/dist/feature-libraries/object-forest/objectForest.d.ts.map +1 -1
- package/dist/feature-libraries/object-forest/objectForest.js +2 -2
- package/dist/feature-libraries/object-forest/objectForest.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.d.ts +4 -4
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.d.ts +3 -3
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -1
- package/dist/feature-libraries/schema-edits/index.d.ts +1 -1
- package/dist/feature-libraries/schema-edits/index.d.ts.map +1 -1
- package/dist/feature-libraries/schema-edits/index.js +2 -3
- package/dist/feature-libraries/schema-edits/index.js.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +6 -15
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js +8 -54
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
- package/dist/feature-libraries/schema-index/codec.d.ts +3 -16
- package/dist/feature-libraries/schema-index/codec.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/codec.js +1 -21
- package/dist/feature-libraries/schema-index/codec.js.map +1 -1
- package/dist/feature-libraries/schema-index/formatV2.d.ts +1 -1
- package/dist/feature-libraries/schema-index/formatV2.js +1 -1
- package/dist/feature-libraries/schema-index/formatV2.js.map +1 -1
- package/dist/feature-libraries/schema-index/index.d.ts +1 -1
- package/dist/feature-libraries/schema-index/index.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/index.js +1 -2
- package/dist/feature-libraries/schema-index/index.js.map +1 -1
- package/dist/feature-libraries/sequence-field/moveEffectTable.d.ts +1 -1
- package/dist/feature-libraries/sequence-field/moveEffectTable.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/moveEffectTable.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts +4 -4
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts +3 -3
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts +3 -3
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.js.map +1 -1
- package/dist/index.d.ts +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/shared-tree/independentView.d.ts +1 -1
- package/dist/shared-tree/independentView.d.ts.map +1 -1
- package/dist/shared-tree/independentView.js +14 -21
- package/dist/shared-tree/independentView.js.map +1 -1
- package/dist/shared-tree/index.d.ts +2 -2
- package/dist/shared-tree/index.d.ts.map +1 -1
- package/dist/shared-tree/index.js +1 -2
- package/dist/shared-tree/index.js.map +1 -1
- package/dist/shared-tree/schematizingTreeView.d.ts +2 -36
- package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/dist/shared-tree/schematizingTreeView.js +15 -117
- package/dist/shared-tree/schematizingTreeView.js.map +1 -1
- package/dist/shared-tree/sharedTree.d.ts +3 -22
- package/dist/shared-tree/sharedTree.d.ts.map +1 -1
- package/dist/shared-tree/sharedTree.js +10 -27
- package/dist/shared-tree/sharedTree.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.d.ts +3 -2
- package/dist/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.js +23 -16
- package/dist/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeEnricher.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeEnricher.js +1 -1
- package/dist/shared-tree/sharedTreeChangeEnricher.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.js +2 -2
- package/dist/shared-tree/sharedTreeChangeFamily.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFormat.d.ts +8 -7
- package/dist/shared-tree/sharedTreeChangeFormat.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFormat.js +13 -5
- package/dist/shared-tree/sharedTreeChangeFormat.js.map +1 -1
- package/dist/shared-tree/tree.d.ts.map +1 -1
- package/dist/shared-tree/tree.js +2 -1
- package/dist/shared-tree/tree.js.map +1 -1
- package/dist/shared-tree/treeAlpha.d.ts +13 -1
- package/dist/shared-tree/treeAlpha.d.ts.map +1 -1
- package/dist/shared-tree/treeAlpha.js +3 -0
- package/dist/shared-tree/treeAlpha.js.map +1 -1
- package/dist/shared-tree/treeCheckout.d.ts +34 -69
- package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
- package/dist/shared-tree/treeCheckout.js +885 -677
- package/dist/shared-tree/treeCheckout.js.map +1 -1
- package/dist/shared-tree/unhydratedTreeContext.js +3 -3
- package/dist/shared-tree/unhydratedTreeContext.js.map +1 -1
- package/dist/shared-tree-core/editManagerCodecs.d.ts +23 -12
- package/dist/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerCodecs.js +40 -67
- package/dist/shared-tree-core/editManagerCodecs.js.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsCommons.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsCommons.js +0 -1
- package/dist/shared-tree-core/editManagerCodecsCommons.js.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsV1toV4.d.ts +10 -2
- package/dist/shared-tree-core/editManagerCodecsV1toV4.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsV1toV4.js +18 -13
- package/dist/shared-tree-core/editManagerCodecsV1toV4.js.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsVSharedBranches.d.ts +2 -2
- package/dist/shared-tree-core/editManagerCodecsVSharedBranches.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsVSharedBranches.js +6 -9
- package/dist/shared-tree-core/editManagerCodecsVSharedBranches.js.map +1 -1
- package/dist/shared-tree-core/index.d.ts +3 -3
- package/dist/shared-tree-core/index.d.ts.map +1 -1
- package/dist/shared-tree-core/index.js +5 -8
- package/dist/shared-tree-core/index.js.map +1 -1
- package/dist/shared-tree-core/messageCodecV1ToV4.d.ts +2 -3
- package/dist/shared-tree-core/messageCodecV1ToV4.d.ts.map +1 -1
- package/dist/shared-tree-core/messageCodecV1ToV4.js +8 -8
- package/dist/shared-tree-core/messageCodecV1ToV4.js.map +1 -1
- package/dist/shared-tree-core/messageCodecVSharedBranches.d.ts +2 -3
- package/dist/shared-tree-core/messageCodecVSharedBranches.d.ts.map +1 -1
- package/dist/shared-tree-core/messageCodecVSharedBranches.js +5 -4
- package/dist/shared-tree-core/messageCodecVSharedBranches.js.map +1 -1
- package/dist/shared-tree-core/messageCodecs.d.ts +15 -14
- package/dist/shared-tree-core/messageCodecs.d.ts.map +1 -1
- package/dist/shared-tree-core/messageCodecs.js +38 -74
- package/dist/shared-tree-core/messageCodecs.js.map +1 -1
- package/dist/shared-tree-core/messageFormat.d.ts +0 -1
- package/dist/shared-tree-core/messageFormat.d.ts.map +1 -1
- package/dist/shared-tree-core/messageFormat.js +1 -2
- package/dist/shared-tree-core/messageFormat.js.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.d.ts +1 -3
- package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.js +12 -2
- package/dist/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/dist/sharedTreeAttributes.d.ts.map +1 -1
- package/dist/sharedTreeAttributes.js +3 -0
- package/dist/sharedTreeAttributes.js.map +1 -1
- package/dist/simple-tree/api/eraseSchemaDetails.d.ts +43 -0
- package/dist/simple-tree/api/eraseSchemaDetails.d.ts.map +1 -1
- package/dist/simple-tree/api/eraseSchemaDetails.js.map +1 -1
- package/dist/simple-tree/api/index.d.ts +4 -2
- package/dist/simple-tree/api/index.d.ts.map +1 -1
- package/dist/simple-tree/api/index.js.map +1 -1
- package/dist/simple-tree/api/schemaFactory.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactory.js.map +1 -1
- package/dist/simple-tree/api/schemaFactoryAlpha.d.ts +126 -29
- package/dist/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactoryAlpha.js +72 -7
- package/dist/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
- package/dist/simple-tree/api/schemaFactoryBeta.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactoryBeta.js.map +1 -1
- package/dist/simple-tree/api/schemaStatics.d.ts +10 -11
- package/dist/simple-tree/api/schemaStatics.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaStatics.js +13 -7
- package/dist/simple-tree/api/schemaStatics.js.map +1 -1
- package/dist/simple-tree/api/storedSchema.d.ts.map +1 -1
- package/dist/simple-tree/api/storedSchema.js +6 -6
- package/dist/simple-tree/api/storedSchema.js.map +1 -1
- package/dist/simple-tree/api/tree.d.ts +7 -19
- package/dist/simple-tree/api/tree.d.ts.map +1 -1
- package/dist/simple-tree/api/tree.js.map +1 -1
- package/dist/simple-tree/api/treeAlpha.d.ts +69 -0
- package/dist/simple-tree/api/treeAlpha.d.ts.map +1 -0
- package/dist/simple-tree/api/treeAlpha.js +7 -0
- package/dist/simple-tree/api/treeAlpha.js.map +1 -0
- package/dist/simple-tree/api/treeBeta.d.ts +1 -1
- package/dist/simple-tree/api/treeBeta.js.map +1 -1
- package/dist/simple-tree/api/treeChangeEvents.d.ts +3 -0
- package/dist/simple-tree/api/treeChangeEvents.d.ts.map +1 -1
- package/dist/simple-tree/api/treeChangeEvents.js.map +1 -1
- package/dist/simple-tree/api/treeNodeApi.d.ts +49 -0
- package/dist/simple-tree/api/treeNodeApi.d.ts.map +1 -1
- package/dist/simple-tree/api/treeNodeApi.js +41 -2
- package/dist/simple-tree/api/treeNodeApi.js.map +1 -1
- package/dist/simple-tree/api/typesUnsafe.d.ts +23 -2
- package/dist/simple-tree/api/typesUnsafe.d.ts.map +1 -1
- package/dist/simple-tree/api/typesUnsafe.js.map +1 -1
- package/dist/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
- package/dist/simple-tree/core/treeNodeKernel.js +45 -8
- package/dist/simple-tree/core/treeNodeKernel.js.map +1 -1
- package/dist/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
- package/dist/simple-tree/core/unhydratedFlexTree.js +5 -1
- package/dist/simple-tree/core/unhydratedFlexTree.js.map +1 -1
- package/dist/simple-tree/fieldSchema.d.ts +3 -2
- package/dist/simple-tree/fieldSchema.d.ts.map +1 -1
- package/dist/simple-tree/fieldSchema.js +3 -4
- package/dist/simple-tree/fieldSchema.js.map +1 -1
- package/dist/simple-tree/index.d.ts +2 -2
- package/dist/simple-tree/index.d.ts.map +1 -1
- package/dist/simple-tree/index.js.map +1 -1
- package/dist/simple-tree/node-kinds/array/arrayNode.d.ts +16 -0
- package/dist/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/array/arrayNode.js +23 -0
- package/dist/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
- package/dist/simple-tree/node-kinds/array/arrayNodeTypes.d.ts +10 -1
- package/dist/simple-tree/node-kinds/array/arrayNodeTypes.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/array/arrayNodeTypes.js.map +1 -1
- package/dist/simple-tree/node-kinds/array/index.d.ts +2 -2
- package/dist/simple-tree/node-kinds/array/index.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/array/index.js.map +1 -1
- package/dist/simple-tree/node-kinds/index.d.ts +2 -2
- package/dist/simple-tree/node-kinds/index.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/index.js.map +1 -1
- package/dist/simple-tree/node-kinds/object/index.d.ts +2 -2
- package/dist/simple-tree/node-kinds/object/index.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/object/index.js.map +1 -1
- package/dist/simple-tree/node-kinds/object/objectNode.d.ts +43 -7
- package/dist/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/object/objectNode.js.map +1 -1
- package/dist/simple-tree/node-kinds/object/objectNodeTypes.d.ts +26 -2
- package/dist/simple-tree/node-kinds/object/objectNodeTypes.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/object/objectNodeTypes.js.map +1 -1
- package/dist/text/textDomainFormatted.d.ts +321 -13
- package/dist/text/textDomainFormatted.d.ts.map +1 -1
- package/dist/text/textDomainFormatted.js +100 -25
- package/dist/text/textDomainFormatted.js.map +1 -1
- package/dist/treeFactory.d.ts.map +1 -1
- package/dist/treeFactory.js +5 -2
- package/dist/treeFactory.js.map +1 -1
- package/dist/util/rangeMap.d.ts +25 -18
- package/dist/util/rangeMap.d.ts.map +1 -1
- package/dist/util/rangeMap.js +24 -30
- package/dist/util/rangeMap.js.map +1 -1
- package/dist/util/referenceCounting.d.ts.map +1 -1
- package/dist/util/referenceCounting.js +0 -1
- package/dist/util/referenceCounting.js.map +1 -1
- package/dist/util/typeCheck.d.ts.map +1 -1
- package/dist/util/typeCheck.js.map +1 -1
- package/dist/util/typeUtils.d.ts.map +1 -1
- package/dist/util/typeUtils.js.map +1 -1
- package/eslint.config.mts +10 -2
- package/internal.d.ts +2 -2
- package/legacy.d.ts +2 -2
- package/lib/api.d.ts +6 -1
- package/lib/api.d.ts.map +1 -1
- package/lib/api.js.map +1 -1
- package/lib/codec/codec.d.ts +28 -2
- package/lib/codec/codec.d.ts.map +1 -1
- package/lib/codec/codec.js +1 -0
- package/lib/codec/codec.js.map +1 -1
- package/lib/codec/index.d.ts +2 -2
- package/lib/codec/index.d.ts.map +1 -1
- package/lib/codec/index.js +1 -1
- package/lib/codec/index.js.map +1 -1
- package/lib/codec/versioned/codec.d.ts +18 -36
- package/lib/codec/versioned/codec.d.ts.map +1 -1
- package/lib/codec/versioned/codec.js +45 -56
- package/lib/codec/versioned/codec.js.map +1 -1
- package/lib/codec/versioned/index.d.ts +1 -1
- package/lib/codec/versioned/index.d.ts.map +1 -1
- package/lib/codec/versioned/index.js +1 -1
- package/lib/codec/versioned/index.js.map +1 -1
- package/lib/core/forest/forest.d.ts +5 -2
- package/lib/core/forest/forest.d.ts.map +1 -1
- package/lib/core/forest/forest.js.map +1 -1
- package/lib/core/index.d.ts +1 -1
- package/lib/core/index.d.ts.map +1 -1
- package/lib/core/index.js +1 -1
- package/lib/core/index.js.map +1 -1
- package/lib/core/rebase/changeRebaser.d.ts +8 -1
- package/lib/core/rebase/changeRebaser.d.ts.map +1 -1
- package/lib/core/rebase/changeRebaser.js.map +1 -1
- package/lib/core/rebase/revisionTagCodec.d.ts +4 -3
- package/lib/core/rebase/revisionTagCodec.d.ts.map +1 -1
- package/lib/core/rebase/revisionTagCodec.js +2 -0
- package/lib/core/rebase/revisionTagCodec.js.map +1 -1
- package/lib/core/rebase/utils.d.ts +2 -2
- package/lib/core/rebase/utils.d.ts.map +1 -1
- package/lib/core/rebase/utils.js +4 -4
- package/lib/core/rebase/utils.js.map +1 -1
- package/lib/core/schema-stored/formatV2.d.ts +1 -1
- package/lib/core/schema-stored/formatV2.js +1 -1
- package/lib/core/schema-stored/formatV2.js.map +1 -1
- package/lib/core/tree/anchorSet.d.ts +8 -0
- package/lib/core/tree/anchorSet.d.ts.map +1 -1
- package/lib/core/tree/anchorSet.js +42 -7
- package/lib/core/tree/anchorSet.js.map +1 -1
- package/lib/core/tree/cursor.d.ts +25 -1
- package/lib/core/tree/cursor.d.ts.map +1 -1
- package/lib/core/tree/cursor.js +43 -0
- package/lib/core/tree/cursor.js.map +1 -1
- package/lib/core/tree/deltaUtil.d.ts +13 -1
- package/lib/core/tree/deltaUtil.d.ts.map +1 -1
- package/lib/core/tree/deltaUtil.js +31 -0
- package/lib/core/tree/deltaUtil.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodecs.d.ts +5 -5
- package/lib/core/tree/detachedFieldIndexCodecs.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodecs.js.map +1 -1
- package/lib/core/tree/index.d.ts +2 -2
- package/lib/core/tree/index.d.ts.map +1 -1
- package/lib/core/tree/index.js +2 -2
- package/lib/core/tree/index.js.map +1 -1
- package/lib/core/tree/visitDelta.d.ts +11 -0
- package/lib/core/tree/visitDelta.d.ts.map +1 -1
- package/lib/core/tree/visitDelta.js +1 -1
- package/lib/core/tree/visitDelta.js.map +1 -1
- package/lib/core/tree/visitorUtils.d.ts.map +1 -1
- package/lib/core/tree/visitorUtils.js +5 -0
- package/lib/core/tree/visitorUtils.js.map +1 -1
- package/lib/entrypoints/alpha.d.ts +6 -0
- package/lib/entrypoints/alpha.d.ts.map +1 -0
- package/lib/entrypoints/alpha.js +12 -0
- package/lib/entrypoints/alpha.js.map +1 -0
- package/lib/entrypoints/beta.d.ts +6 -0
- package/lib/entrypoints/beta.d.ts.map +1 -0
- package/lib/entrypoints/beta.js +12 -0
- package/lib/entrypoints/beta.js.map +1 -0
- package/lib/entrypoints/internal.d.ts +6 -0
- package/lib/entrypoints/internal.d.ts.map +1 -0
- package/lib/entrypoints/internal.js +12 -0
- package/lib/entrypoints/internal.js.map +1 -0
- package/lib/entrypoints/legacy.d.ts +6 -0
- package/lib/entrypoints/legacy.d.ts.map +1 -0
- package/lib/entrypoints/legacy.js +15 -0
- package/lib/entrypoints/legacy.js.map +1 -0
- package/lib/entrypoints/public.d.ts +6 -0
- package/lib/entrypoints/public.d.ts.map +1 -0
- package/lib/entrypoints/public.js +10 -0
- package/lib/entrypoints/public.js.map +1 -0
- package/lib/feature-libraries/changeAtomIdCodec.d.ts +4 -3
- package/lib/feature-libraries/changeAtomIdCodec.d.ts.map +1 -1
- package/lib/feature-libraries/changeAtomIdCodec.js +2 -0
- package/lib/feature-libraries/changeAtomIdCodec.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkedForest.d.ts +2 -1
- package/lib/feature-libraries/chunked-forest/chunkedForest.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkedForest.js +2 -2
- package/lib/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts +4 -4
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js +4 -4
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts +1 -2
- package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts +4 -4
- package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/codecs.js +1 -1
- package/lib/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts +12 -12
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js +1 -1
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/{formatGeneric.d.ts → format/formatGeneric.d.ts} +1 -1
- package/lib/feature-libraries/chunked-forest/codec/format/formatGeneric.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatGeneric.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatV1.d.ts +187 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatV1.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatV1.js +112 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatV1.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatV2.d.ts +33 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatV2.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatV2.js +13 -0
- package/lib/feature-libraries/chunked-forest/codec/format/formatV2.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/index.d.ts +10 -0
- package/lib/feature-libraries/chunked-forest/codec/format/index.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/index.js +8 -0
- package/lib/feature-libraries/chunked-forest/codec/format/index.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/versions.d.ts +93 -0
- package/lib/feature-libraries/chunked-forest/codec/format/versions.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format/versions.js +26 -0
- package/lib/feature-libraries/chunked-forest/codec/format/versions.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/index.d.ts +2 -2
- package/lib/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/index.js +1 -1
- package/lib/feature-libraries/chunked-forest/codec/index.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts +7 -7
- package/lib/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/nodeEncoder.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.d.ts +1 -1
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.js +4 -2
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts +1 -1
- package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.js +1 -1
- package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/index.d.ts +1 -1
- package/lib/feature-libraries/chunked-forest/index.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/index.js.map +1 -1
- package/lib/feature-libraries/cursorComparator.d.ts +23 -0
- package/lib/feature-libraries/cursorComparator.d.ts.map +1 -0
- package/lib/feature-libraries/cursorComparator.js +61 -0
- package/lib/feature-libraries/cursorComparator.js.map +1 -0
- package/lib/feature-libraries/forest-summary/codec.d.ts +1 -1
- package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts +3 -3
- package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.js.map +1 -1
- package/lib/feature-libraries/index.d.ts +3 -2
- package/lib/feature-libraries/index.d.ts.map +1 -1
- package/lib/feature-libraries/index.js +3 -2
- package/lib/feature-libraries/index.js.map +1 -1
- package/lib/feature-libraries/indexing/anchorTreeIndex.d.ts +2 -0
- package/lib/feature-libraries/indexing/anchorTreeIndex.d.ts.map +1 -1
- package/lib/feature-libraries/indexing/anchorTreeIndex.js +12 -7
- package/lib/feature-libraries/indexing/anchorTreeIndex.js.map +1 -1
- package/lib/feature-libraries/mitigatedChangeFamily.d.ts.map +1 -1
- package/lib/feature-libraries/mitigatedChangeFamily.js +2 -2
- package/lib/feature-libraries/mitigatedChangeFamily.js.map +1 -1
- package/lib/feature-libraries/modular-schema/crossFieldQueries.d.ts +3 -3
- package/lib/feature-libraries/modular-schema/crossFieldQueries.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/crossFieldQueries.js.map +1 -1
- package/lib/feature-libraries/modular-schema/defaultRevisionReplacer.d.ts +1 -0
- package/lib/feature-libraries/modular-schema/defaultRevisionReplacer.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/defaultRevisionReplacer.js +14 -6
- package/lib/feature-libraries/modular-schema/defaultRevisionReplacer.js.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts +3 -3
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKind.js +0 -1
- package/lib/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.d.ts +10 -10
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js +2 -4
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV2.d.ts +3 -3
- package/lib/feature-libraries/modular-schema/modularChangeCodecV2.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV2.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts +3 -3
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js +11 -6
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/lib/feature-libraries/object-forest/objectForest.d.ts +1 -1
- package/lib/feature-libraries/object-forest/objectForest.d.ts.map +1 -1
- package/lib/feature-libraries/object-forest/objectForest.js +2 -2
- package/lib/feature-libraries/object-forest/objectForest.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.d.ts +4 -4
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.js +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.d.ts +3 -3
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -1
- package/lib/feature-libraries/schema-edits/index.d.ts +1 -1
- package/lib/feature-libraries/schema-edits/index.d.ts.map +1 -1
- package/lib/feature-libraries/schema-edits/index.js +1 -1
- package/lib/feature-libraries/schema-edits/index.js.map +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +6 -15
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js +6 -50
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
- package/lib/feature-libraries/schema-index/codec.d.ts +3 -16
- package/lib/feature-libraries/schema-index/codec.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/codec.js +0 -19
- package/lib/feature-libraries/schema-index/codec.js.map +1 -1
- package/lib/feature-libraries/schema-index/formatV2.d.ts +1 -1
- package/lib/feature-libraries/schema-index/formatV2.js +1 -1
- package/lib/feature-libraries/schema-index/formatV2.js.map +1 -1
- package/lib/feature-libraries/schema-index/index.d.ts +1 -1
- package/lib/feature-libraries/schema-index/index.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/index.js +1 -1
- package/lib/feature-libraries/schema-index/index.js.map +1 -1
- package/lib/feature-libraries/sequence-field/moveEffectTable.d.ts +1 -1
- package/lib/feature-libraries/sequence-field/moveEffectTable.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/moveEffectTable.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts +4 -4
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts +3 -3
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.js +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts +3 -3
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.js.map +1 -1
- package/lib/index.d.ts +8 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +9 -1
- package/lib/index.js.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/shared-tree/independentView.d.ts +1 -1
- package/lib/shared-tree/independentView.d.ts.map +1 -1
- package/lib/shared-tree/independentView.js +4 -11
- package/lib/shared-tree/independentView.js.map +1 -1
- package/lib/shared-tree/index.d.ts +2 -2
- 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/schematizingTreeView.d.ts +2 -36
- package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/lib/shared-tree/schematizingTreeView.js +17 -116
- package/lib/shared-tree/schematizingTreeView.js.map +1 -1
- package/lib/shared-tree/sharedTree.d.ts +3 -22
- package/lib/shared-tree/sharedTree.d.ts.map +1 -1
- package/lib/shared-tree/sharedTree.js +11 -27
- package/lib/shared-tree/sharedTree.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.d.ts +3 -2
- package/lib/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.js +19 -12
- package/lib/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeEnricher.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeEnricher.js +2 -2
- package/lib/shared-tree/sharedTreeChangeEnricher.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.js +2 -2
- package/lib/shared-tree/sharedTreeChangeFamily.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFormat.d.ts +8 -7
- package/lib/shared-tree/sharedTreeChangeFormat.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFormat.js +11 -5
- package/lib/shared-tree/sharedTreeChangeFormat.js.map +1 -1
- package/lib/shared-tree/tree.d.ts.map +1 -1
- package/lib/shared-tree/tree.js +2 -1
- package/lib/shared-tree/tree.js.map +1 -1
- package/lib/shared-tree/treeAlpha.d.ts +13 -1
- package/lib/shared-tree/treeAlpha.d.ts.map +1 -1
- package/lib/shared-tree/treeAlpha.js +3 -0
- package/lib/shared-tree/treeAlpha.js.map +1 -1
- package/lib/shared-tree/treeCheckout.d.ts +34 -69
- package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
- package/lib/shared-tree/treeCheckout.js +889 -682
- package/lib/shared-tree/treeCheckout.js.map +1 -1
- package/lib/shared-tree/unhydratedTreeContext.js +1 -1
- package/lib/shared-tree/unhydratedTreeContext.js.map +1 -1
- package/lib/shared-tree-core/editManagerCodecs.d.ts +23 -12
- package/lib/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerCodecs.js +41 -65
- package/lib/shared-tree-core/editManagerCodecs.js.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsCommons.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsCommons.js +0 -1
- package/lib/shared-tree-core/editManagerCodecsCommons.js.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsV1toV4.d.ts +10 -2
- package/lib/shared-tree-core/editManagerCodecsV1toV4.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsV1toV4.js +16 -11
- package/lib/shared-tree-core/editManagerCodecsV1toV4.js.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsVSharedBranches.d.ts +2 -2
- package/lib/shared-tree-core/editManagerCodecsVSharedBranches.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsVSharedBranches.js +5 -8
- package/lib/shared-tree-core/editManagerCodecsVSharedBranches.js.map +1 -1
- package/lib/shared-tree-core/index.d.ts +3 -3
- package/lib/shared-tree-core/index.d.ts.map +1 -1
- package/lib/shared-tree-core/index.js +3 -3
- package/lib/shared-tree-core/index.js.map +1 -1
- package/lib/shared-tree-core/messageCodecV1ToV4.d.ts +2 -3
- package/lib/shared-tree-core/messageCodecV1ToV4.d.ts.map +1 -1
- package/lib/shared-tree-core/messageCodecV1ToV4.js +8 -8
- package/lib/shared-tree-core/messageCodecV1ToV4.js.map +1 -1
- package/lib/shared-tree-core/messageCodecVSharedBranches.d.ts +2 -3
- package/lib/shared-tree-core/messageCodecVSharedBranches.d.ts.map +1 -1
- package/lib/shared-tree-core/messageCodecVSharedBranches.js +5 -4
- package/lib/shared-tree-core/messageCodecVSharedBranches.js.map +1 -1
- package/lib/shared-tree-core/messageCodecs.d.ts +15 -14
- package/lib/shared-tree-core/messageCodecs.d.ts.map +1 -1
- package/lib/shared-tree-core/messageCodecs.js +38 -71
- package/lib/shared-tree-core/messageCodecs.js.map +1 -1
- package/lib/shared-tree-core/messageFormat.d.ts +0 -1
- package/lib/shared-tree-core/messageFormat.d.ts.map +1 -1
- package/lib/shared-tree-core/messageFormat.js +0 -1
- package/lib/shared-tree-core/messageFormat.js.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.d.ts +1 -3
- package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.js +14 -4
- package/lib/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/lib/sharedTreeAttributes.d.ts.map +1 -1
- package/lib/sharedTreeAttributes.js +3 -0
- package/lib/sharedTreeAttributes.js.map +1 -1
- package/lib/simple-tree/api/eraseSchemaDetails.d.ts +43 -0
- package/lib/simple-tree/api/eraseSchemaDetails.d.ts.map +1 -1
- package/lib/simple-tree/api/eraseSchemaDetails.js.map +1 -1
- package/lib/simple-tree/api/index.d.ts +4 -2
- package/lib/simple-tree/api/index.d.ts.map +1 -1
- package/lib/simple-tree/api/index.js +1 -1
- package/lib/simple-tree/api/index.js.map +1 -1
- package/lib/simple-tree/api/schemaFactory.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactory.js.map +1 -1
- package/lib/simple-tree/api/schemaFactoryAlpha.d.ts +126 -29
- package/lib/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactoryAlpha.js +66 -1
- package/lib/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
- package/lib/simple-tree/api/schemaFactoryBeta.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactoryBeta.js.map +1 -1
- package/lib/simple-tree/api/schemaStatics.d.ts +10 -11
- package/lib/simple-tree/api/schemaStatics.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaStatics.js +14 -8
- package/lib/simple-tree/api/schemaStatics.js.map +1 -1
- package/lib/simple-tree/api/storedSchema.d.ts.map +1 -1
- package/lib/simple-tree/api/storedSchema.js +7 -7
- package/lib/simple-tree/api/storedSchema.js.map +1 -1
- package/lib/simple-tree/api/tree.d.ts +7 -19
- package/lib/simple-tree/api/tree.d.ts.map +1 -1
- package/lib/simple-tree/api/tree.js.map +1 -1
- package/lib/simple-tree/api/treeAlpha.d.ts +69 -0
- package/lib/simple-tree/api/treeAlpha.d.ts.map +1 -0
- package/lib/simple-tree/api/treeAlpha.js +6 -0
- package/lib/simple-tree/api/treeAlpha.js.map +1 -0
- package/lib/simple-tree/api/treeBeta.d.ts +1 -1
- package/lib/simple-tree/api/treeBeta.js.map +1 -1
- package/lib/simple-tree/api/treeChangeEvents.d.ts +3 -0
- package/lib/simple-tree/api/treeChangeEvents.d.ts.map +1 -1
- package/lib/simple-tree/api/treeChangeEvents.js.map +1 -1
- package/lib/simple-tree/api/treeNodeApi.d.ts +49 -0
- package/lib/simple-tree/api/treeNodeApi.d.ts.map +1 -1
- package/lib/simple-tree/api/treeNodeApi.js +41 -2
- package/lib/simple-tree/api/treeNodeApi.js.map +1 -1
- package/lib/simple-tree/api/typesUnsafe.d.ts +23 -2
- package/lib/simple-tree/api/typesUnsafe.d.ts.map +1 -1
- package/lib/simple-tree/api/typesUnsafe.js.map +1 -1
- package/lib/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
- package/lib/simple-tree/core/treeNodeKernel.js +45 -8
- package/lib/simple-tree/core/treeNodeKernel.js.map +1 -1
- package/lib/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
- package/lib/simple-tree/core/unhydratedFlexTree.js +5 -1
- package/lib/simple-tree/core/unhydratedFlexTree.js.map +1 -1
- package/lib/simple-tree/fieldSchema.d.ts +3 -2
- package/lib/simple-tree/fieldSchema.d.ts.map +1 -1
- package/lib/simple-tree/fieldSchema.js +3 -4
- package/lib/simple-tree/fieldSchema.js.map +1 -1
- package/lib/simple-tree/index.d.ts +2 -2
- package/lib/simple-tree/index.d.ts.map +1 -1
- package/lib/simple-tree/index.js.map +1 -1
- package/lib/simple-tree/node-kinds/array/arrayNode.d.ts +16 -0
- package/lib/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/array/arrayNode.js +23 -0
- package/lib/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
- package/lib/simple-tree/node-kinds/array/arrayNodeTypes.d.ts +10 -1
- package/lib/simple-tree/node-kinds/array/arrayNodeTypes.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/array/arrayNodeTypes.js.map +1 -1
- package/lib/simple-tree/node-kinds/array/index.d.ts +2 -2
- package/lib/simple-tree/node-kinds/array/index.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/array/index.js.map +1 -1
- package/lib/simple-tree/node-kinds/index.d.ts +2 -2
- package/lib/simple-tree/node-kinds/index.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/index.js.map +1 -1
- package/lib/simple-tree/node-kinds/object/index.d.ts +2 -2
- package/lib/simple-tree/node-kinds/object/index.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/object/index.js.map +1 -1
- package/lib/simple-tree/node-kinds/object/objectNode.d.ts +43 -7
- package/lib/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/object/objectNode.js.map +1 -1
- package/lib/simple-tree/node-kinds/object/objectNodeTypes.d.ts +26 -2
- package/lib/simple-tree/node-kinds/object/objectNodeTypes.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/object/objectNodeTypes.js.map +1 -1
- package/lib/text/textDomainFormatted.d.ts +321 -13
- package/lib/text/textDomainFormatted.d.ts.map +1 -1
- package/lib/text/textDomainFormatted.js +103 -28
- package/lib/text/textDomainFormatted.js.map +1 -1
- package/lib/treeFactory.d.ts.map +1 -1
- package/lib/treeFactory.js +6 -3
- package/lib/treeFactory.js.map +1 -1
- package/lib/util/rangeMap.d.ts +25 -18
- package/lib/util/rangeMap.d.ts.map +1 -1
- package/lib/util/rangeMap.js +25 -31
- package/lib/util/rangeMap.js.map +1 -1
- package/lib/util/referenceCounting.d.ts.map +1 -1
- package/lib/util/referenceCounting.js +0 -1
- package/lib/util/referenceCounting.js.map +1 -1
- package/lib/util/typeCheck.d.ts.map +1 -1
- package/lib/util/typeCheck.js.map +1 -1
- package/lib/util/typeUtils.d.ts.map +1 -1
- package/lib/util/typeUtils.js.map +1 -1
- package/package.json +50 -50
- package/scripts/generate-entrypoint-sources.sh +31 -0
- package/src/api.ts +11 -0
- package/src/codec/codec.ts +32 -2
- package/src/codec/index.ts +2 -3
- package/src/codec/versioned/codec.ts +99 -109
- package/src/codec/versioned/index.ts +1 -3
- package/src/core/forest/forest.ts +5 -2
- package/src/core/index.ts +4 -0
- package/src/core/rebase/changeRebaser.ts +8 -0
- package/src/core/rebase/revisionTagCodec.ts +4 -4
- package/src/core/rebase/utils.ts +9 -2
- package/src/core/schema-stored/formatV2.ts +1 -1
- package/src/core/tree/anchorSet.ts +67 -10
- package/src/core/tree/cursor.ts +52 -1
- package/src/core/tree/deltaUtil.ts +37 -1
- package/src/core/tree/detachedFieldIndexCodecs.ts +4 -4
- package/src/core/tree/index.ts +4 -0
- package/src/core/tree/visitDelta.ts +13 -1
- package/src/core/tree/visitorUtils.ts +5 -0
- package/{dist/alpha.d.ts → src/entrypoints/alpha.ts} +25 -11
- package/{lib/beta.d.ts → src/entrypoints/beta.ts} +4 -7
- package/src/entrypoints/internal.ts +13 -0
- package/{lib/legacy.d.ts → src/entrypoints/legacy.ts} +13 -8
- package/{dist/public.d.ts → src/entrypoints/public.ts} +3 -6
- package/src/feature-libraries/changeAtomIdCodec.ts +8 -7
- package/src/feature-libraries/chunked-forest/chunkedForest.ts +3 -2
- package/src/feature-libraries/chunked-forest/codec/chunkDecoding.ts +18 -13
- package/src/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.ts +1 -1
- package/src/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.ts +1 -2
- package/src/feature-libraries/chunked-forest/codec/codecs.ts +16 -10
- package/src/feature-libraries/chunked-forest/codec/compressedEncode.ts +16 -14
- package/src/feature-libraries/chunked-forest/codec/{formatGeneric.ts → format/formatGeneric.ts} +1 -1
- package/src/feature-libraries/chunked-forest/codec/{format.ts → format/formatV1.ts} +41 -111
- package/src/feature-libraries/chunked-forest/codec/format/formatV2.ts +31 -0
- package/src/feature-libraries/chunked-forest/codec/format/index.ts +31 -0
- package/src/feature-libraries/chunked-forest/codec/format/versions.ts +81 -0
- package/src/feature-libraries/chunked-forest/codec/index.ts +6 -2
- package/src/feature-libraries/chunked-forest/codec/nodeEncoder.ts +19 -12
- package/src/feature-libraries/chunked-forest/codec/schemaBasedEncode.ts +6 -4
- package/src/feature-libraries/chunked-forest/codec/uncompressedEncode.ts +10 -10
- package/src/feature-libraries/chunked-forest/index.ts +2 -1
- package/src/feature-libraries/cursorComparator.ts +77 -0
- package/src/feature-libraries/forest-summary/incrementalSummaryBuilder.ts +5 -5
- package/src/feature-libraries/index.ts +5 -3
- package/src/feature-libraries/indexing/anchorTreeIndex.ts +20 -10
- package/src/feature-libraries/mitigatedChangeFamily.ts +4 -1
- package/src/feature-libraries/modular-schema/crossFieldQueries.ts +3 -8
- package/src/feature-libraries/modular-schema/defaultRevisionReplacer.ts +16 -8
- package/src/feature-libraries/modular-schema/fieldChangeHandler.ts +4 -5
- package/src/feature-libraries/modular-schema/genericFieldKind.ts +0 -1
- package/src/feature-libraries/modular-schema/modularChangeCodecV1.ts +19 -26
- package/src/feature-libraries/modular-schema/modularChangeCodecV2.ts +4 -4
- package/src/feature-libraries/modular-schema/modularChangeCodecs.ts +4 -5
- package/src/feature-libraries/modular-schema/modularChangeFamily.ts +15 -6
- package/src/feature-libraries/object-forest/objectForest.ts +8 -2
- package/src/feature-libraries/optional-field/optionalFieldCodecV2.ts +11 -13
- package/src/feature-libraries/optional-field/optionalFieldCodecs.ts +4 -5
- package/src/feature-libraries/schema-edits/index.ts +1 -4
- package/src/feature-libraries/schema-edits/schemaChangeCodecs.ts +10 -78
- package/src/feature-libraries/schema-index/codec.ts +0 -25
- package/src/feature-libraries/schema-index/formatV2.ts +1 -1
- package/src/feature-libraries/schema-index/index.ts +1 -4
- package/src/feature-libraries/sequence-field/moveEffectTable.ts +1 -1
- package/src/feature-libraries/sequence-field/sequenceFieldCodecV2.ts +6 -6
- package/src/feature-libraries/sequence-field/sequenceFieldCodecV3.ts +8 -5
- package/src/feature-libraries/sequence-field/sequenceFieldCodecs.ts +4 -5
- package/src/index.ts +29 -3
- package/src/packageVersion.ts +1 -1
- package/src/shared-tree/independentView.ts +5 -18
- package/src/shared-tree/index.ts +0 -4
- package/src/shared-tree/schematizingTreeView.ts +19 -165
- package/src/shared-tree/sharedTree.ts +16 -59
- package/src/shared-tree/sharedTreeChangeCodecs.ts +23 -29
- package/src/shared-tree/sharedTreeChangeEnricher.ts +1 -2
- package/src/shared-tree/sharedTreeChangeFamily.ts +2 -0
- package/src/shared-tree/sharedTreeChangeFormat.ts +23 -8
- package/src/shared-tree/tree.ts +2 -5
- package/src/shared-tree/treeAlpha.ts +26 -0
- package/src/shared-tree/treeCheckout.ts +277 -100
- package/src/shared-tree/unhydratedTreeContext.ts +1 -1
- package/src/shared-tree-core/editManagerCodecs.ts +99 -124
- package/src/shared-tree-core/editManagerCodecsCommons.ts +0 -1
- package/src/shared-tree-core/editManagerCodecsV1toV4.ts +54 -59
- package/src/shared-tree-core/editManagerCodecsVSharedBranches.ts +72 -95
- package/src/shared-tree-core/index.ts +4 -8
- package/src/shared-tree-core/messageCodecV1ToV4.ts +56 -71
- package/src/shared-tree-core/messageCodecVSharedBranches.ts +76 -92
- package/src/shared-tree-core/messageCodecs.ts +88 -126
- package/src/shared-tree-core/messageFormat.ts +0 -3
- package/src/shared-tree-core/sharedTreeCore.ts +14 -21
- package/src/sharedTreeAttributes.ts +3 -0
- package/src/simple-tree/api/eraseSchemaDetails.ts +60 -0
- package/src/simple-tree/api/index.ts +22 -1
- package/src/simple-tree/api/schemaFactory.ts +8 -3
- package/src/simple-tree/api/schemaFactoryAlpha.ts +275 -27
- package/src/simple-tree/api/schemaFactoryBeta.ts +10 -1
- package/src/simple-tree/api/schemaStatics.ts +79 -21
- package/src/simple-tree/api/storedSchema.ts +8 -19
- package/src/simple-tree/api/tree.ts +7 -20
- package/src/simple-tree/api/treeAlpha.ts +90 -0
- package/src/simple-tree/api/treeBeta.ts +1 -1
- package/src/simple-tree/api/treeChangeEvents.ts +3 -0
- package/src/simple-tree/api/treeNodeApi.ts +95 -3
- package/src/simple-tree/api/typesUnsafe.ts +49 -1
- package/src/simple-tree/core/treeNodeKernel.ts +53 -7
- package/src/simple-tree/core/unhydratedFlexTree.ts +5 -1
- package/src/simple-tree/fieldSchema.ts +29 -5
- package/src/simple-tree/index.ts +20 -0
- package/src/simple-tree/node-kinds/array/arrayNode.ts +64 -0
- package/src/simple-tree/node-kinds/array/arrayNodeTypes.ts +25 -1
- package/src/simple-tree/node-kinds/array/index.ts +2 -0
- package/src/simple-tree/node-kinds/index.ts +5 -0
- package/src/simple-tree/node-kinds/object/index.ts +3 -0
- package/src/simple-tree/node-kinds/object/objectNode.ts +69 -11
- package/src/simple-tree/node-kinds/object/objectNodeTypes.ts +33 -2
- package/src/text/textDomainFormatted.ts +113 -11
- package/src/treeFactory.ts +10 -5
- package/src/util/rangeMap.ts +54 -50
- package/src/util/referenceCounting.ts +0 -1
- package/src/util/typeCheck.ts +1 -0
- package/src/util/typeUtils.ts +4 -7
- package/dist/beta.d.ts +0 -152
- package/dist/feature-libraries/chunked-forest/codec/format.d.ts +0 -383
- package/dist/feature-libraries/chunked-forest/codec/format.d.ts.map +0 -1
- package/dist/feature-libraries/chunked-forest/codec/format.js +0 -191
- package/dist/feature-libraries/chunked-forest/codec/format.js.map +0 -1
- package/dist/feature-libraries/chunked-forest/codec/formatGeneric.d.ts.map +0 -1
- package/dist/feature-libraries/chunked-forest/codec/formatGeneric.js.map +0 -1
- package/dist/legacy.d.ts +0 -159
- package/lib/alpha.d.ts +0 -304
- package/lib/feature-libraries/chunked-forest/codec/format.d.ts +0 -383
- package/lib/feature-libraries/chunked-forest/codec/format.d.ts.map +0 -1
- package/lib/feature-libraries/chunked-forest/codec/format.js +0 -188
- package/lib/feature-libraries/chunked-forest/codec/format.js.map +0 -1
- package/lib/feature-libraries/chunked-forest/codec/formatGeneric.d.ts.map +0 -1
- package/lib/feature-libraries/chunked-forest/codec/formatGeneric.js.map +0 -1
- package/lib/public.d.ts +0 -94
- /package/dist/feature-libraries/chunked-forest/codec/{formatGeneric.js → format/formatGeneric.js} +0 -0
- /package/lib/feature-libraries/chunked-forest/codec/{formatGeneric.js → format/formatGeneric.js} +0 -0
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
anchorSlot,
|
|
18
18
|
type AnchorEvents,
|
|
19
19
|
type AnchorNode,
|
|
20
|
+
type DeltaMark,
|
|
20
21
|
type FieldKey,
|
|
21
22
|
type TreeValue,
|
|
22
23
|
} from "../../core/index.js";
|
|
@@ -362,6 +363,20 @@ class KernelEventBuffer implements Listenable<KernelEvents> {
|
|
|
362
363
|
*/
|
|
363
364
|
readonly #childrenChangedBuffer: Set<FieldKey> = new Set();
|
|
364
365
|
|
|
366
|
+
/**
|
|
367
|
+
* Buffer of field marks accumulated since events were paused.
|
|
368
|
+
* Emitted alongside the buffered changed-fields set when flushed.
|
|
369
|
+
*/
|
|
370
|
+
readonly #fieldMarksBuffer: Map<FieldKey, readonly DeltaMark[]> = new Map();
|
|
371
|
+
|
|
372
|
+
/**
|
|
373
|
+
* Fields whose marks have been permanently invalidated within the current buffer window due to
|
|
374
|
+
* two or more separate delta batches touching the same field.
|
|
375
|
+
* Once a key is in this set it must never be re-added to the marks buffer, even if
|
|
376
|
+
* a third (or later) batch arrives for that field.
|
|
377
|
+
*/
|
|
378
|
+
readonly #invalidatedFieldMarkKeys: Set<FieldKey> = new Set();
|
|
379
|
+
|
|
365
380
|
/**
|
|
366
381
|
* Whether or not the subtree has changed since events were paused.
|
|
367
382
|
* When events are flushed, a single {@link AnchorEvents.subTreeChanged} event will be emitted if and only
|
|
@@ -399,8 +414,10 @@ class KernelEventBuffer implements Listenable<KernelEvents> {
|
|
|
399
414
|
this.#eventSource = newSource;
|
|
400
415
|
|
|
401
416
|
if (this.#events.hasListeners("childrenChangedAfterBatch")) {
|
|
402
|
-
const off = this.#eventSource.on(
|
|
403
|
-
|
|
417
|
+
const off = this.#eventSource.on(
|
|
418
|
+
"childrenChangedAfterBatch",
|
|
419
|
+
({ changedFields, fieldMarks }) =>
|
|
420
|
+
this.#emit("childrenChangedAfterBatch", { changedFields, fieldMarks }),
|
|
404
421
|
);
|
|
405
422
|
this.#disposeSourceListeners.set("childrenChangedAfterBatch", off);
|
|
406
423
|
}
|
|
@@ -421,7 +438,10 @@ class KernelEventBuffer implements Listenable<KernelEvents> {
|
|
|
421
438
|
0xc4f /* Should not have a dispose function without listeners */,
|
|
422
439
|
);
|
|
423
440
|
|
|
424
|
-
const off =
|
|
441
|
+
const off: Off =
|
|
442
|
+
eventName === "childrenChangedAfterBatch"
|
|
443
|
+
? this.#eventSource.on(eventName, (args) => this.#emit(eventName, args))
|
|
444
|
+
: this.#eventSource.on(eventName, () => this.#emit(eventName));
|
|
425
445
|
this.#disposeSourceListeners.set(eventName, off);
|
|
426
446
|
}
|
|
427
447
|
|
|
@@ -444,13 +464,14 @@ class KernelEventBuffer implements Listenable<KernelEvents> {
|
|
|
444
464
|
eventName: keyof KernelEvents,
|
|
445
465
|
arg?: {
|
|
446
466
|
changedFields: ReadonlySet<FieldKey>;
|
|
467
|
+
fieldMarks: ReadonlyMap<FieldKey, readonly DeltaMark[]>;
|
|
447
468
|
},
|
|
448
469
|
): void {
|
|
449
470
|
this.#assertNotDisposed();
|
|
450
471
|
switch (eventName) {
|
|
451
472
|
case "childrenChangedAfterBatch": {
|
|
452
|
-
assert(arg !== undefined,
|
|
453
|
-
return this.#handleChildrenChangedAfterBatch(arg.changedFields);
|
|
473
|
+
assert(arg !== undefined, 0xcea /* childrenChangedAfterBatch requires arg */);
|
|
474
|
+
return this.#handleChildrenChangedAfterBatch(arg.changedFields, arg.fieldMarks);
|
|
454
475
|
}
|
|
455
476
|
case "subtreeChangedAfterBatch": {
|
|
456
477
|
return this.#handleSubtreeChangedAfterBatch();
|
|
@@ -461,13 +482,33 @@ class KernelEventBuffer implements Listenable<KernelEvents> {
|
|
|
461
482
|
}
|
|
462
483
|
}
|
|
463
484
|
|
|
464
|
-
#handleChildrenChangedAfterBatch(
|
|
485
|
+
#handleChildrenChangedAfterBatch(
|
|
486
|
+
changedFields: ReadonlySet<FieldKey>,
|
|
487
|
+
fieldMarks: ReadonlyMap<FieldKey, readonly DeltaMark[]>,
|
|
488
|
+
): void {
|
|
465
489
|
if (bufferTreeEvents) {
|
|
466
490
|
for (const fieldKey of changedFields) {
|
|
467
491
|
this.#childrenChangedBuffer.add(fieldKey);
|
|
468
492
|
}
|
|
493
|
+
for (const [key, marks] of fieldMarks) {
|
|
494
|
+
if (this.#invalidatedFieldMarkKeys.has(key)) {
|
|
495
|
+
// Already permanently invalidated by an earlier collision; ignore this batch too.
|
|
496
|
+
// TODO: Once the eventing stack is rewritten to walk the composed delta at flush
|
|
497
|
+
// time, this collision path will be unreachable and can be removed entirely.
|
|
498
|
+
continue;
|
|
499
|
+
}
|
|
500
|
+
if (this.#fieldMarksBuffer.has(key)) {
|
|
501
|
+
// A second batch of marks arrived for the same field before the buffer was flushed.
|
|
502
|
+
// We have no delta composition logic, so permanently invalidate this field so that
|
|
503
|
+
// any further batches are also discarded rather than incorrectly surfaced.
|
|
504
|
+
this.#fieldMarksBuffer.delete(key);
|
|
505
|
+
this.#invalidatedFieldMarkKeys.add(key);
|
|
506
|
+
} else {
|
|
507
|
+
this.#fieldMarksBuffer.set(key, marks);
|
|
508
|
+
}
|
|
509
|
+
}
|
|
469
510
|
} else {
|
|
470
|
-
this.#events.emit("childrenChangedAfterBatch", { changedFields });
|
|
511
|
+
this.#events.emit("childrenChangedAfterBatch", { changedFields, fieldMarks });
|
|
471
512
|
}
|
|
472
513
|
}
|
|
473
514
|
|
|
@@ -488,8 +529,11 @@ class KernelEventBuffer implements Listenable<KernelEvents> {
|
|
|
488
529
|
if (this.#childrenChangedBuffer.size > 0) {
|
|
489
530
|
this.#events.emit("childrenChangedAfterBatch", {
|
|
490
531
|
changedFields: this.#childrenChangedBuffer,
|
|
532
|
+
fieldMarks: this.#fieldMarksBuffer,
|
|
491
533
|
});
|
|
492
534
|
this.#childrenChangedBuffer.clear();
|
|
535
|
+
this.#fieldMarksBuffer.clear();
|
|
536
|
+
this.#invalidatedFieldMarkKeys.clear();
|
|
493
537
|
}
|
|
494
538
|
|
|
495
539
|
if (this.#subTreeChangedBuffer) {
|
|
@@ -519,6 +563,8 @@ class KernelEventBuffer implements Listenable<KernelEvents> {
|
|
|
519
563
|
this.#disposeSourceListeners.clear();
|
|
520
564
|
|
|
521
565
|
this.#childrenChangedBuffer.clear();
|
|
566
|
+
this.#fieldMarksBuffer.clear();
|
|
567
|
+
this.#invalidatedFieldMarkKeys.clear();
|
|
522
568
|
this.#subTreeChangedBuffer = false;
|
|
523
569
|
|
|
524
570
|
this.#disposed = true;
|
|
@@ -271,7 +271,11 @@ export class UnhydratedFlexTreeNode
|
|
|
271
271
|
}
|
|
272
272
|
|
|
273
273
|
public emitChangedEvent(key: FieldKey): void {
|
|
274
|
-
this._events.emit("childrenChangedAfterBatch", {
|
|
274
|
+
this._events.emit("childrenChangedAfterBatch", {
|
|
275
|
+
changedFields: new Set([key]),
|
|
276
|
+
// Unhydrated nodes are not visited by the delta pipeline, so no field marks are available.
|
|
277
|
+
fieldMarks: new Map(),
|
|
278
|
+
});
|
|
275
279
|
|
|
276
280
|
// Also emit subtree changed event for this node and all ancestors.
|
|
277
281
|
this.#emitSubtreeChangedEvents();
|
|
@@ -268,6 +268,21 @@ export interface FieldSchemaMetadataAlpha<TCustomMetadata = unknown>
|
|
|
268
268
|
/**
|
|
269
269
|
* Package internal construction API.
|
|
270
270
|
*/
|
|
271
|
+
export function createFieldSchema<
|
|
272
|
+
Kind extends FieldKind,
|
|
273
|
+
Types extends ImplicitAllowedTypes,
|
|
274
|
+
TCustomMetadata = unknown,
|
|
275
|
+
>(kind: Kind, annotatedTypes: Types): FieldSchemaAlpha<Kind, Types, TCustomMetadata>;
|
|
276
|
+
export function createFieldSchema<
|
|
277
|
+
Kind extends FieldKind,
|
|
278
|
+
Types extends ImplicitAllowedTypes,
|
|
279
|
+
TCustomMetadata = unknown,
|
|
280
|
+
TProps extends FieldProps<TCustomMetadata> = FieldProps<TCustomMetadata>,
|
|
281
|
+
>(
|
|
282
|
+
kind: Kind,
|
|
283
|
+
annotatedTypes: Types,
|
|
284
|
+
props: TProps,
|
|
285
|
+
): FieldSchemaAlpha<Kind, Types, TCustomMetadata, TProps>;
|
|
271
286
|
export function createFieldSchema<
|
|
272
287
|
Kind extends FieldKind,
|
|
273
288
|
Types extends ImplicitAllowedTypes,
|
|
@@ -276,7 +291,7 @@ export function createFieldSchema<
|
|
|
276
291
|
kind: Kind,
|
|
277
292
|
annotatedTypes: Types,
|
|
278
293
|
props?: FieldProps<TCustomMetadata>,
|
|
279
|
-
): FieldSchemaAlpha<Kind, Types, TCustomMetadata> {
|
|
294
|
+
): FieldSchemaAlpha<Kind, Types, TCustomMetadata, FieldProps<TCustomMetadata> | undefined> {
|
|
280
295
|
return createFieldSchemaPrivate(kind, annotatedTypes, props);
|
|
281
296
|
}
|
|
282
297
|
|
|
@@ -291,7 +306,7 @@ let createFieldSchemaPrivate: <
|
|
|
291
306
|
kind: Kind,
|
|
292
307
|
annotatedTypes: Types,
|
|
293
308
|
props?: FieldProps<TCustomMetadata>,
|
|
294
|
-
) => FieldSchemaAlpha<Kind, Types, TCustomMetadata>;
|
|
309
|
+
) => FieldSchemaAlpha<Kind, Types, TCustomMetadata, FieldProps<TCustomMetadata> | undefined>;
|
|
295
310
|
|
|
296
311
|
/**
|
|
297
312
|
* All policy for a specific field,
|
|
@@ -384,11 +399,14 @@ export class FieldSchemaAlpha<
|
|
|
384
399
|
Kind extends FieldKind = FieldKind,
|
|
385
400
|
Types extends ImplicitAllowedTypes = ImplicitAllowedTypes,
|
|
386
401
|
TCustomMetadata = unknown,
|
|
402
|
+
TProps extends FieldPropsAlpha<TCustomMetadata> | undefined =
|
|
403
|
+
| FieldPropsAlpha<TCustomMetadata>
|
|
404
|
+
| undefined,
|
|
387
405
|
>
|
|
388
406
|
extends FieldSchema<Kind, Types, TCustomMetadata>
|
|
389
407
|
implements SimpleFieldSchema<SchemaType.View>
|
|
390
408
|
{
|
|
391
|
-
private readonly propsAlpha:
|
|
409
|
+
private readonly propsAlpha: TProps;
|
|
392
410
|
|
|
393
411
|
public get persistedMetadata(): JsonCompatibleReadOnlyObject | undefined {
|
|
394
412
|
return this.propsAlpha?.persistedMetadata;
|
|
@@ -403,7 +421,13 @@ export class FieldSchemaAlpha<
|
|
|
403
421
|
kind: Kind2,
|
|
404
422
|
annotatedAllowedTypes: Types2,
|
|
405
423
|
props?: FieldPropsAlpha<TCustomMetadata2>,
|
|
406
|
-
) =>
|
|
424
|
+
) =>
|
|
425
|
+
// TCustomMetadata2 requires type assertion due to limitations with dependent type parameters
|
|
426
|
+
new FieldSchemaAlpha(kind, annotatedAllowedTypes, props) as unknown as FieldSchemaAlpha<
|
|
427
|
+
Kind2,
|
|
428
|
+
Types2,
|
|
429
|
+
TCustomMetadata2
|
|
430
|
+
>;
|
|
407
431
|
}
|
|
408
432
|
|
|
409
433
|
/**
|
|
@@ -432,7 +456,7 @@ export class FieldSchemaAlpha<
|
|
|
432
456
|
|
|
433
457
|
const normalizedTypes = normalizeAllowedTypes(types);
|
|
434
458
|
this.allowedTypesFull = normalizedTypes;
|
|
435
|
-
this.propsAlpha = props;
|
|
459
|
+
this.propsAlpha = props as TProps;
|
|
436
460
|
}
|
|
437
461
|
}
|
|
438
462
|
|
package/src/simple-tree/index.ts
CHANGED
|
@@ -79,6 +79,8 @@ export {
|
|
|
79
79
|
SchemaFactoryBeta,
|
|
80
80
|
type SchemaStaticsBeta,
|
|
81
81
|
SchemaFactoryAlpha,
|
|
82
|
+
type SchemaStaticsAlpha,
|
|
83
|
+
type NodeProvider,
|
|
82
84
|
type ObjectSchemaOptionsAlpha,
|
|
83
85
|
type ObjectSchemaOptions,
|
|
84
86
|
type ScopedSchemaName,
|
|
@@ -89,12 +91,20 @@ export {
|
|
|
89
91
|
singletonSchema,
|
|
90
92
|
treeNodeApi,
|
|
91
93
|
type TreeNodeApi,
|
|
94
|
+
type ArrayNodeDeltaOp,
|
|
95
|
+
type ArrayNodeInsertOp,
|
|
96
|
+
type ArrayNodeRemoveOp,
|
|
97
|
+
type ArrayNodeRetainOp,
|
|
92
98
|
type NodeChangedData,
|
|
99
|
+
type NodeChangedDataAlpha,
|
|
100
|
+
type NodeChangedDataDelta,
|
|
101
|
+
type NodeChangedDataProperties,
|
|
93
102
|
borrowCursorFromTreeNodeOrValue,
|
|
94
103
|
exportConcise,
|
|
95
104
|
importConcise,
|
|
96
105
|
TreeBeta,
|
|
97
106
|
type TreeChangeEventsBeta,
|
|
107
|
+
type TreeChangeEventsAlpha,
|
|
98
108
|
type IdentifierIndex,
|
|
99
109
|
createTreeIndex,
|
|
100
110
|
createIdentifierIndex,
|
|
@@ -139,6 +149,8 @@ export {
|
|
|
139
149
|
type AllowedTypesFullFromMixedUnsafe,
|
|
140
150
|
type UnannotateAllowedTypesListUnsafe,
|
|
141
151
|
type AnnotateAllowedTypesListUnsafe,
|
|
152
|
+
type FieldHasDefaultAlphaUnsafe,
|
|
153
|
+
type InsertableObjectFromSchemaRecordAlphaUnsafe,
|
|
142
154
|
type TreeViewAlpha,
|
|
143
155
|
type TreeViewBeta,
|
|
144
156
|
type TreeBranch,
|
|
@@ -197,6 +209,9 @@ export {
|
|
|
197
209
|
checkCompatibility,
|
|
198
210
|
eraseSchemaDetails,
|
|
199
211
|
eraseSchemaDetailsSubclassable,
|
|
212
|
+
type ErasedSchema,
|
|
213
|
+
type ErasedNode,
|
|
214
|
+
type ErasedSchemaSubclassable,
|
|
200
215
|
snapshotSchemaCompatibility,
|
|
201
216
|
type SnapshotFileSystem,
|
|
202
217
|
type SnapshotSchemaCompatibilityOptions,
|
|
@@ -241,6 +256,7 @@ export {
|
|
|
241
256
|
export { tryGetTreeNodeForField } from "./getTreeNodeForField.js";
|
|
242
257
|
export {
|
|
243
258
|
type ArrayNodeCustomizableSchema,
|
|
259
|
+
type ArrayNodeCustomizableSchemaAlpha,
|
|
244
260
|
type ArrayNodePojoEmulationSchema,
|
|
245
261
|
ArrayNodeSchema,
|
|
246
262
|
asIndex,
|
|
@@ -248,6 +264,7 @@ export {
|
|
|
248
264
|
IterableTreeArrayContent,
|
|
249
265
|
type ReadonlyArrayNode,
|
|
250
266
|
TreeArrayNode,
|
|
267
|
+
type TreeArrayNodeAlpha,
|
|
251
268
|
type MapNodeCustomizableSchema,
|
|
252
269
|
type MapNodePojoEmulationSchema,
|
|
253
270
|
MapNodeSchema,
|
|
@@ -255,9 +272,12 @@ export {
|
|
|
255
272
|
type TreeMapNode,
|
|
256
273
|
type MapNodeInsertableData,
|
|
257
274
|
type FieldHasDefault,
|
|
275
|
+
type FieldHasDefaultAlpha,
|
|
258
276
|
type InsertableObjectFromSchemaRecord,
|
|
277
|
+
type InsertableObjectFromSchemaRecordAlpha,
|
|
259
278
|
type ObjectFromSchemaRecord,
|
|
260
279
|
ObjectNodeSchema,
|
|
280
|
+
type ObjectNodeSchemaWorkaround,
|
|
261
281
|
type ObjectNodeSchemaPrivate,
|
|
262
282
|
objectSchema,
|
|
263
283
|
isObjectNodeSchema,
|
|
@@ -447,6 +447,35 @@ export interface TreeArrayNode<
|
|
|
447
447
|
values(): IterableIterator<T>;
|
|
448
448
|
}
|
|
449
449
|
|
|
450
|
+
/**
|
|
451
|
+
* {@link (TreeArrayNode:interface)} with additional alpha APIs.
|
|
452
|
+
* @alpha @sealed
|
|
453
|
+
*/
|
|
454
|
+
export interface TreeArrayNodeAlpha<
|
|
455
|
+
TAllowedTypes extends System_Unsafe.ImplicitAllowedTypesUnsafe = ImplicitAllowedTypes,
|
|
456
|
+
out T = [TAllowedTypes] extends [ImplicitAllowedTypes]
|
|
457
|
+
? TreeNodeFromImplicitAllowedTypes<TAllowedTypes>
|
|
458
|
+
: TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>,
|
|
459
|
+
in TNew = [TAllowedTypes] extends [ImplicitAllowedTypes]
|
|
460
|
+
? InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes>
|
|
461
|
+
: InsertableTreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>,
|
|
462
|
+
> extends TreeArrayNode<TAllowedTypes, T, TNew> {
|
|
463
|
+
/**
|
|
464
|
+
* Removes existing item(s) and/or adds new item(s).
|
|
465
|
+
* @param start - The index at which to start changing the array. If negative, it is treated as `array.length + start`.
|
|
466
|
+
* Must be a positive in bounds index or a negative index such that `array.length + start` is a positive in bounds index.
|
|
467
|
+
* @param deleteCount - The number of item(s) to remove. If not provided, it defaults to the end of the array.
|
|
468
|
+
* Must be a non-negative integer no greater than the number of items from `start` to the end of the array.
|
|
469
|
+
* @param items - The item(s) to insert at `start`.
|
|
470
|
+
* @returns An array containing the item(s) that were removed.
|
|
471
|
+
*/
|
|
472
|
+
splice(
|
|
473
|
+
start: number,
|
|
474
|
+
deleteCount?: number,
|
|
475
|
+
...items: readonly (TNew | IterableTreeArrayContent<TNew>)[]
|
|
476
|
+
): T[];
|
|
477
|
+
}
|
|
478
|
+
|
|
450
479
|
/**
|
|
451
480
|
* A {@link TreeNode} which implements 'readonly T[]' and the array mutation APIs.
|
|
452
481
|
* @public
|
|
@@ -997,6 +1026,41 @@ abstract class CustomArrayNodeBase<const T extends ImplicitAllowedTypes>
|
|
|
997
1026
|
|
|
998
1027
|
editor.remove(removeStart, removeEnd - removeStart);
|
|
999
1028
|
}
|
|
1029
|
+
public splice(
|
|
1030
|
+
start: number,
|
|
1031
|
+
deleteCount?: number,
|
|
1032
|
+
...items: Insertable<T>
|
|
1033
|
+
): TreeNodeFromImplicitAllowedTypes<T>[] {
|
|
1034
|
+
const length = this.length;
|
|
1035
|
+
const actualStart = start < 0 ? Math.max(length + start, 0) : Math.min(start, length);
|
|
1036
|
+
const actualDeleteCount =
|
|
1037
|
+
deleteCount === undefined
|
|
1038
|
+
? length - actualStart
|
|
1039
|
+
: Math.min(Math.max(deleteCount, 0), length - actualStart);
|
|
1040
|
+
validateIndexRange(
|
|
1041
|
+
actualStart,
|
|
1042
|
+
actualStart + actualDeleteCount,
|
|
1043
|
+
getSequenceField(this),
|
|
1044
|
+
"TreeArrayNode.splice",
|
|
1045
|
+
);
|
|
1046
|
+
const removed: TreeNodeFromImplicitAllowedTypes<T>[] = [];
|
|
1047
|
+
for (let index = actualStart; index < actualStart + actualDeleteCount; index++) {
|
|
1048
|
+
removed.push(this.at(index) ?? oob());
|
|
1049
|
+
}
|
|
1050
|
+
|
|
1051
|
+
const innerNode = getInnerNode(this);
|
|
1052
|
+
const transaction = innerNode.isHydrated()
|
|
1053
|
+
? innerNode.context.checkout.transaction
|
|
1054
|
+
: undefined;
|
|
1055
|
+
transaction?.start();
|
|
1056
|
+
this.removeRange(actualStart, actualStart + actualDeleteCount);
|
|
1057
|
+
if (items.length > 0) {
|
|
1058
|
+
this.insertAt(actualStart, ...items);
|
|
1059
|
+
}
|
|
1060
|
+
transaction?.commit();
|
|
1061
|
+
return removed;
|
|
1062
|
+
}
|
|
1063
|
+
|
|
1000
1064
|
public moveToStart(sourceIndex: number, source?: ReadonlyArrayNode): void {
|
|
1001
1065
|
const sourceArray = source ?? this;
|
|
1002
1066
|
const sourceField = getSequenceField(sourceArray);
|
|
@@ -14,7 +14,7 @@ import type {
|
|
|
14
14
|
} from "../../core/index.js";
|
|
15
15
|
import type { SchemaType, SimpleArrayNodeSchema } from "../../simpleSchema.js";
|
|
16
16
|
|
|
17
|
-
import type { TreeArrayNode } from "./arrayNode.js";
|
|
17
|
+
import type { TreeArrayNode, TreeArrayNodeAlpha } from "./arrayNode.js";
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* A schema for customizable {@link (TreeArrayNode:interface)}s.
|
|
@@ -37,6 +37,30 @@ export interface ArrayNodeCustomizableSchema<
|
|
|
37
37
|
>,
|
|
38
38
|
SimpleArrayNodeSchema<SchemaType.View, TCustomMetadata> {}
|
|
39
39
|
|
|
40
|
+
/**
|
|
41
|
+
* A Schema for customizable {@link (TreeArrayNode:interface)}s with additional alpha APIs.
|
|
42
|
+
* @remarks
|
|
43
|
+
* Duplicates {@link ArrayNodeCustomizableSchema} with {@link TreeArrayNodeAlpha} as the node type,
|
|
44
|
+
* adding support for the alpha APIs on those nodes.
|
|
45
|
+
* @system @sealed @alpha
|
|
46
|
+
*/
|
|
47
|
+
export interface ArrayNodeCustomizableSchemaAlpha<
|
|
48
|
+
out TName extends string = string,
|
|
49
|
+
in out T extends ImplicitAllowedTypes = ImplicitAllowedTypes,
|
|
50
|
+
out ImplicitlyConstructable extends boolean = true,
|
|
51
|
+
out TCustomMetadata = unknown,
|
|
52
|
+
> extends TreeNodeSchemaClass<
|
|
53
|
+
TName,
|
|
54
|
+
NodeKind.Array,
|
|
55
|
+
TreeArrayNodeAlpha<T> & WithType<TName, NodeKind.Array, T>,
|
|
56
|
+
Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>,
|
|
57
|
+
ImplicitlyConstructable,
|
|
58
|
+
T,
|
|
59
|
+
undefined,
|
|
60
|
+
TCustomMetadata
|
|
61
|
+
>,
|
|
62
|
+
SimpleArrayNodeSchema<SchemaType.View, TCustomMetadata> {}
|
|
63
|
+
|
|
40
64
|
/**
|
|
41
65
|
* A schema for POJO emulation mode {@link (TreeArrayNode:interface)}s.
|
|
42
66
|
* @system @sealed @alpha
|
|
@@ -10,10 +10,12 @@ export {
|
|
|
10
10
|
TreeArrayNode,
|
|
11
11
|
type ReadonlyArrayNode,
|
|
12
12
|
type ArrayPlaceAnchor,
|
|
13
|
+
type TreeArrayNodeAlpha,
|
|
13
14
|
createArrayInsertionAnchor,
|
|
14
15
|
} from "./arrayNode.js";
|
|
15
16
|
export {
|
|
16
17
|
type ArrayNodeCustomizableSchema,
|
|
18
|
+
type ArrayNodeCustomizableSchemaAlpha,
|
|
17
19
|
type ArrayNodePojoEmulationSchema,
|
|
18
20
|
ArrayNodeSchema,
|
|
19
21
|
isArrayNodeSchema,
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
export {
|
|
7
7
|
type ArrayNodeCustomizableSchema,
|
|
8
|
+
type ArrayNodeCustomizableSchemaAlpha,
|
|
8
9
|
type ArrayNodePojoEmulationSchema,
|
|
9
10
|
ArrayNodeSchema,
|
|
10
11
|
arraySchema,
|
|
@@ -12,6 +13,7 @@ export {
|
|
|
12
13
|
isArrayNodeSchema,
|
|
13
14
|
IterableTreeArrayContent,
|
|
14
15
|
TreeArrayNode,
|
|
16
|
+
type TreeArrayNodeAlpha,
|
|
15
17
|
type ReadonlyArrayNode,
|
|
16
18
|
type ArrayPlaceAnchor,
|
|
17
19
|
createArrayInsertionAnchor,
|
|
@@ -29,10 +31,13 @@ export {
|
|
|
29
31
|
|
|
30
32
|
export {
|
|
31
33
|
type FieldHasDefault,
|
|
34
|
+
type FieldHasDefaultAlpha,
|
|
32
35
|
type InsertableObjectFromSchemaRecord,
|
|
36
|
+
type InsertableObjectFromSchemaRecordAlpha,
|
|
33
37
|
isObjectNodeSchema,
|
|
34
38
|
type ObjectFromSchemaRecord,
|
|
35
39
|
ObjectNodeSchema,
|
|
40
|
+
type ObjectNodeSchemaWorkaround,
|
|
36
41
|
type ObjectNodeSchemaPrivate,
|
|
37
42
|
objectSchema,
|
|
38
43
|
setField,
|
|
@@ -5,7 +5,9 @@
|
|
|
5
5
|
|
|
6
6
|
export {
|
|
7
7
|
type FieldHasDefault,
|
|
8
|
+
type FieldHasDefaultAlpha,
|
|
8
9
|
type InsertableObjectFromSchemaRecord,
|
|
10
|
+
type InsertableObjectFromSchemaRecordAlpha,
|
|
9
11
|
type ObjectFromSchemaRecord,
|
|
10
12
|
objectSchema,
|
|
11
13
|
setField,
|
|
@@ -15,5 +17,6 @@ export {
|
|
|
15
17
|
export {
|
|
16
18
|
isObjectNodeSchema,
|
|
17
19
|
ObjectNodeSchema,
|
|
20
|
+
type ObjectNodeSchemaWorkaround,
|
|
18
21
|
type ObjectNodeSchemaPrivate,
|
|
19
22
|
} from "./objectNodeTypes.js";
|
|
@@ -70,6 +70,7 @@ import {
|
|
|
70
70
|
type ContextualFieldProvider,
|
|
71
71
|
extractFieldProvider,
|
|
72
72
|
isConstant,
|
|
73
|
+
type DefaultProvider,
|
|
73
74
|
} from "../../fieldSchema.js";
|
|
74
75
|
import { tryGetTreeNodeForField } from "../../getTreeNodeForField.js";
|
|
75
76
|
import { prepareForInsertion } from "../../prepareForInsertion.js";
|
|
@@ -99,8 +100,7 @@ import type {
|
|
|
99
100
|
*/
|
|
100
101
|
export type ObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> =
|
|
101
102
|
RestrictiveStringRecord<ImplicitFieldSchema> extends T
|
|
102
|
-
?
|
|
103
|
-
{}
|
|
103
|
+
? {}
|
|
104
104
|
: {
|
|
105
105
|
-readonly [Property in keyof T]: Property extends string
|
|
106
106
|
? TreeFieldFromImplicitField<T[Property]>
|
|
@@ -149,8 +149,11 @@ export type TreeObjectNode<
|
|
|
149
149
|
* @remarks Yields `false` when unknown.
|
|
150
150
|
*
|
|
151
151
|
* @privateRemarks
|
|
152
|
-
*
|
|
153
|
-
*
|
|
152
|
+
* This checks for:
|
|
153
|
+
* 1. Optional fields (which have an implicit undefined default)
|
|
154
|
+
* 2. Identifier fields (which have auto-generated defaults)
|
|
155
|
+
*
|
|
156
|
+
* Note that this cannot tell if required fields have defaults. Use `FieldHasDefaultAlpha` for alpha schemas if you need to check for required field defaults.
|
|
154
157
|
*
|
|
155
158
|
* @system @public
|
|
156
159
|
*/
|
|
@@ -160,6 +163,33 @@ export type FieldHasDefault<T extends ImplicitFieldSchema> = [T] extends [
|
|
|
160
163
|
? true
|
|
161
164
|
: false;
|
|
162
165
|
|
|
166
|
+
/**
|
|
167
|
+
* Type utility for determining if an implicit field schema is known to have a default value.
|
|
168
|
+
* Supports alpha field schemas with explicit default providers.
|
|
169
|
+
*
|
|
170
|
+
* @remarks Yields `false` when unknown.
|
|
171
|
+
*
|
|
172
|
+
* @privateRemarks
|
|
173
|
+
* This checks for:
|
|
174
|
+
* 1. Fields with explicit default providers (computed from the props type)
|
|
175
|
+
* 2. Optional fields (which have an implicit undefined default)
|
|
176
|
+
* 3. Identifier fields (which have auto-generated defaults)
|
|
177
|
+
*
|
|
178
|
+
* @system @alpha
|
|
179
|
+
*/
|
|
180
|
+
export type FieldHasDefaultAlpha<T extends ImplicitFieldSchema> =
|
|
181
|
+
// Extract Kind and TProps from FieldSchemaAlpha and compute whether it has a default
|
|
182
|
+
[T] extends [FieldSchemaAlpha<infer Kind, infer _Types, infer _Meta, infer TProps>]
|
|
183
|
+
? // Optional and Identifier kinds always have defaults
|
|
184
|
+
Kind extends FieldKind.Optional | FieldKind.Identifier
|
|
185
|
+
? true
|
|
186
|
+
: // Check if props has defaultProvider
|
|
187
|
+
TProps extends { defaultProvider: DefaultProvider }
|
|
188
|
+
? true
|
|
189
|
+
: false
|
|
190
|
+
: // Fallback to base FieldHasDefault for non-Alpha schemas
|
|
191
|
+
FieldHasDefault<T>;
|
|
192
|
+
|
|
163
193
|
/**
|
|
164
194
|
* Helper used to produce types for:
|
|
165
195
|
*
|
|
@@ -209,6 +239,35 @@ export type InsertableObjectFromSchemaRecord<
|
|
|
209
239
|
}
|
|
210
240
|
>;
|
|
211
241
|
|
|
242
|
+
/**
|
|
243
|
+
* Alpha version of InsertableObjectFromSchemaRecord that supports field defaults.
|
|
244
|
+
*
|
|
245
|
+
* @system @alpha
|
|
246
|
+
*/
|
|
247
|
+
export type InsertableObjectFromSchemaRecordAlpha<
|
|
248
|
+
T extends RestrictiveStringRecord<ImplicitFieldSchema>,
|
|
249
|
+
> =
|
|
250
|
+
RestrictiveStringRecord<ImplicitFieldSchema> extends T
|
|
251
|
+
? { arbitraryKey: "arbitraryValue" } extends T
|
|
252
|
+
? // {} case
|
|
253
|
+
Record<string, never>
|
|
254
|
+
: // RestrictiveStringRecord<ImplicitFieldSchema> case
|
|
255
|
+
never
|
|
256
|
+
: FlattenKeys<
|
|
257
|
+
{
|
|
258
|
+
readonly [Property in keyof T]?: InsertableTreeFieldFromImplicitField<
|
|
259
|
+
T[Property & string]
|
|
260
|
+
>;
|
|
261
|
+
} & {
|
|
262
|
+
// Field does not have a known default, make it required:
|
|
263
|
+
readonly [Property in keyof T as FieldHasDefaultAlpha<
|
|
264
|
+
T[Property & string]
|
|
265
|
+
> extends false
|
|
266
|
+
? Property
|
|
267
|
+
: never]: InsertableTreeFieldFromImplicitField<T[Property & string]>;
|
|
268
|
+
}
|
|
269
|
+
>;
|
|
270
|
+
|
|
212
271
|
/**
|
|
213
272
|
* Maps from simple field keys ("property" keys) to information about the field.
|
|
214
273
|
*
|
|
@@ -387,17 +446,16 @@ export class ObjectFieldSchema<
|
|
|
387
446
|
Kind extends FieldKind,
|
|
388
447
|
Types extends ImplicitAllowedTypes,
|
|
389
448
|
TCustomMetadata = unknown,
|
|
449
|
+
TProps extends FieldProps<TCustomMetadata> & {
|
|
450
|
+
readonly key: string;
|
|
451
|
+
} = FieldProps<TCustomMetadata> & { readonly key: string },
|
|
390
452
|
>
|
|
391
|
-
extends FieldSchemaAlpha<Kind, Types, TCustomMetadata>
|
|
453
|
+
extends FieldSchemaAlpha<Kind, Types, TCustomMetadata, TProps>
|
|
392
454
|
implements SimpleObjectFieldSchema
|
|
393
455
|
{
|
|
394
456
|
public readonly storedKey: string;
|
|
395
457
|
|
|
396
|
-
public constructor(
|
|
397
|
-
kind: Kind,
|
|
398
|
-
allowedTypes: Types,
|
|
399
|
-
props: FieldProps<TCustomMetadata> & { readonly key: string },
|
|
400
|
-
) {
|
|
458
|
+
public constructor(kind: Kind, allowedTypes: Types, props: TProps) {
|
|
401
459
|
super(kind, allowedTypes, props);
|
|
402
460
|
this.storedKey = props.key;
|
|
403
461
|
}
|
|
@@ -592,7 +650,7 @@ export function objectSchema<
|
|
|
592
650
|
}
|
|
593
651
|
type Output = typeof CustomObjectNode &
|
|
594
652
|
(new (
|
|
595
|
-
input:
|
|
653
|
+
input: InsertableObjectFromSchemaRecordAlpha<T> | InternalTreeNode,
|
|
596
654
|
) => TreeObjectNode<T, TName>);
|
|
597
655
|
return CustomObjectNode as Output;
|
|
598
656
|
}
|
|
@@ -21,9 +21,40 @@ import type {
|
|
|
21
21
|
import type {
|
|
22
22
|
TreeObjectNode,
|
|
23
23
|
SimpleKeyMap,
|
|
24
|
-
|
|
24
|
+
InsertableObjectFromSchemaRecordAlpha,
|
|
25
25
|
} from "./objectNode.js";
|
|
26
26
|
|
|
27
|
+
/**
|
|
28
|
+
* {@link (ObjectNodeSchema:interface)} with a workaround to avoid a specific known TypeScript issue which causes it to not be assignable to itself in some cases.
|
|
29
|
+
* @remarks
|
|
30
|
+
* If dealing with a schema whose inferred type includes this workaround (because it was produced by a schema factory API which uses it),
|
|
31
|
+
* if you need to explicitly state that type (for example when using {@link https://www.typescriptlang.org/tsconfig/#isolatedDeclarations | isolatedDeclarations}), it is best to keep this workaround.
|
|
32
|
+
* No other case should need to refer to this workaround type directly.
|
|
33
|
+
* See {@link ObjectNodeSchemaWorkaround.createFromInsertable} for details.
|
|
34
|
+
* @sealed
|
|
35
|
+
* @alpha
|
|
36
|
+
*/
|
|
37
|
+
export type ObjectNodeSchemaWorkaround<
|
|
38
|
+
TName extends string = string,
|
|
39
|
+
T extends
|
|
40
|
+
RestrictiveStringRecord<ImplicitFieldSchema> = RestrictiveStringRecord<ImplicitFieldSchema>,
|
|
41
|
+
ImplicitlyConstructable extends boolean = boolean,
|
|
42
|
+
TCustomMetadata = unknown,
|
|
43
|
+
> = ObjectNodeSchema<TName, T, ImplicitlyConstructable, TCustomMetadata> & {
|
|
44
|
+
/**
|
|
45
|
+
* Typing checking workaround: not for for actual use.
|
|
46
|
+
* @remarks
|
|
47
|
+
* This API collides with {@link TreeNodeSchemaCore.createFromInsertable} to disable a type checking optimization which produces different and undesired results.
|
|
48
|
+
* See {@link https://github.com/microsoft/TypeScript/issues/59049#issuecomment-2773459693} for more details.
|
|
49
|
+
*
|
|
50
|
+
* The specific issue here is non-empty POJO mode object schema not being assignable to `ObjectNodeSchema`,
|
|
51
|
+
* @privateRemarks
|
|
52
|
+
* See the above link and the tests in objectNode.spec.ts which reference it.
|
|
53
|
+
* @system
|
|
54
|
+
*/
|
|
55
|
+
readonly createFromInsertable: unknown;
|
|
56
|
+
};
|
|
57
|
+
|
|
27
58
|
/**
|
|
28
59
|
* A schema for {@link TreeObjectNode}s.
|
|
29
60
|
* @sealed
|
|
@@ -39,7 +70,7 @@ export interface ObjectNodeSchema<
|
|
|
39
70
|
TName,
|
|
40
71
|
NodeKind.Object,
|
|
41
72
|
TreeObjectNode<T, TName>,
|
|
42
|
-
|
|
73
|
+
object & InsertableObjectFromSchemaRecordAlpha<T>,
|
|
43
74
|
ImplicitlyConstructable,
|
|
44
75
|
T,
|
|
45
76
|
never,
|