@fluidframework/tree 2.52.0 → 2.53.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/.eslintrc.cjs +14 -2
- package/CHANGELOG.md +125 -0
- package/api-report/tree.alpha.api.md +48 -41
- package/dist/alpha.d.ts +2 -1
- package/dist/core/tree/visitDelta.d.ts +1 -1
- package/dist/core/tree/visitDelta.d.ts.map +1 -1
- package/dist/core/tree/visitDelta.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/index.d.ts +1 -0
- package/dist/feature-libraries/chunked-forest/index.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/index.js +3 -1
- package/dist/feature-libraries/chunked-forest/index.js.map +1 -1
- package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts +2 -4
- package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/defaultEditBuilder.js +3 -0
- package/dist/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.js +1 -0
- package/dist/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
- package/dist/feature-libraries/default-schema/noChangeCodecs.d.ts +1 -1
- package/dist/feature-libraries/default-schema/noChangeCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/noChangeCodecs.js.map +1 -1
- package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts +4 -0
- package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/forestSummarizer.js +5 -5
- package/dist/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
- package/dist/feature-libraries/index.d.ts +1 -1
- package/dist/feature-libraries/index.d.ts.map +1 -1
- package/dist/feature-libraries/index.js +4 -2
- package/dist/feature-libraries/index.js.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts +7 -0
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.js +1 -0
- 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 +1 -0
- package/dist/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.js +1 -0
- 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 +49 -20
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalField.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalField.js +3 -0
- package/dist/feature-libraries/optional-field/optionalField.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeRebaser.d.ts +1 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeRebaser.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeRebaser.js +4 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeRebaser.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV1.d.ts +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV1.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV1.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts +1 -1
- 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 +1 -1
- 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 +1 -1
- 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/feature-libraries/sequence-field/types.d.ts +1 -1
- package/dist/feature-libraries/sequence-field/types.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/types.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/jsonDomainSchema.d.ts +5 -3
- package/dist/jsonDomainSchema.d.ts.map +1 -1
- package/dist/jsonDomainSchema.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.map +1 -1
- package/dist/shared-tree/independentView.js +1 -1
- package/dist/shared-tree/independentView.js.map +1 -1
- package/dist/shared-tree/index.d.ts +0 -1
- package/dist/shared-tree/index.d.ts.map +1 -1
- package/dist/shared-tree/index.js.map +1 -1
- package/dist/shared-tree/schematizeTree.d.ts +23 -60
- package/dist/shared-tree/schematizeTree.d.ts.map +1 -1
- package/dist/shared-tree/schematizeTree.js +59 -151
- package/dist/shared-tree/schematizeTree.js.map +1 -1
- package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/dist/shared-tree/schematizingTreeView.js +11 -11
- package/dist/shared-tree/schematizingTreeView.js.map +1 -1
- package/dist/shared-tree/treeAlpha.d.ts.map +1 -1
- package/dist/shared-tree/treeAlpha.js +9 -3
- package/dist/shared-tree/treeAlpha.js.map +1 -1
- package/dist/shared-tree-core/defaultResubmitMachine.d.ts +2 -1
- package/dist/shared-tree-core/defaultResubmitMachine.d.ts.map +1 -1
- package/dist/shared-tree-core/defaultResubmitMachine.js.map +1 -1
- package/dist/simple-tree/api/configuration.d.ts +3 -0
- package/dist/simple-tree/api/configuration.d.ts.map +1 -1
- package/dist/simple-tree/api/configuration.js +5 -1
- package/dist/simple-tree/api/configuration.js.map +1 -1
- package/dist/simple-tree/api/create.d.ts +4 -4
- package/dist/simple-tree/api/create.d.ts.map +1 -1
- package/dist/simple-tree/api/create.js +3 -6
- package/dist/simple-tree/api/create.js.map +1 -1
- package/dist/simple-tree/api/discrepancies.d.ts +5 -9
- package/dist/simple-tree/api/discrepancies.d.ts.map +1 -1
- package/dist/simple-tree/api/discrepancies.js +11 -10
- package/dist/simple-tree/api/discrepancies.js.map +1 -1
- package/dist/simple-tree/api/index.d.ts +3 -2
- package/dist/simple-tree/api/index.d.ts.map +1 -1
- package/dist/simple-tree/api/index.js +3 -2
- package/dist/simple-tree/api/index.js.map +1 -1
- package/dist/simple-tree/api/schemaCompatibilityTester.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaCompatibilityTester.js +3 -4
- package/dist/simple-tree/api/schemaCompatibilityTester.js.map +1 -1
- package/dist/simple-tree/api/schemaFactory.d.ts +9 -155
- package/dist/simple-tree/api/schemaFactory.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactory.js +4 -47
- package/dist/simple-tree/api/schemaFactory.js.map +1 -1
- package/dist/simple-tree/api/schemaFactoryAlpha.d.ts +157 -16
- package/dist/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactoryAlpha.js +33 -11
- package/dist/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
- package/dist/simple-tree/api/schemaFactoryRecursive.d.ts +1 -3
- package/dist/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactoryRecursive.js +1 -7
- package/dist/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
- package/dist/simple-tree/api/schemaStatics.d.ts +158 -0
- package/dist/simple-tree/api/schemaStatics.d.ts.map +1 -0
- package/dist/simple-tree/api/schemaStatics.js +59 -0
- package/dist/simple-tree/api/schemaStatics.js.map +1 -0
- package/dist/simple-tree/api/storedSchema.d.ts +5 -3
- package/dist/simple-tree/api/storedSchema.d.ts.map +1 -1
- package/dist/simple-tree/api/storedSchema.js +4 -2
- package/dist/simple-tree/api/storedSchema.js.map +1 -1
- package/dist/simple-tree/api/treeBeta.d.ts.map +1 -1
- package/dist/simple-tree/api/treeBeta.js +12 -6
- package/dist/simple-tree/api/treeBeta.js.map +1 -1
- package/dist/simple-tree/core/allowedTypes.d.ts +46 -30
- package/dist/simple-tree/core/allowedTypes.d.ts.map +1 -1
- package/dist/simple-tree/core/allowedTypes.js +20 -12
- package/dist/simple-tree/core/allowedTypes.js.map +1 -1
- package/dist/simple-tree/core/index.d.ts +5 -3
- package/dist/simple-tree/core/index.d.ts.map +1 -1
- package/dist/simple-tree/core/index.js +6 -1
- package/dist/simple-tree/core/index.js.map +1 -1
- package/dist/simple-tree/core/simpleNodeSchemaBase.d.ts +25 -0
- package/dist/simple-tree/core/simpleNodeSchemaBase.d.ts.map +1 -0
- package/dist/simple-tree/core/simpleNodeSchemaBase.js +7 -0
- package/dist/simple-tree/core/simpleNodeSchemaBase.js.map +1 -0
- package/dist/simple-tree/core/toStored.d.ts +32 -0
- package/dist/simple-tree/core/toStored.d.ts.map +1 -0
- package/dist/simple-tree/core/toStored.js +37 -0
- package/dist/simple-tree/core/toStored.js.map +1 -0
- package/dist/simple-tree/core/treeNode.d.ts +0 -3
- package/dist/simple-tree/core/treeNode.d.ts.map +1 -1
- package/dist/simple-tree/core/treeNode.js +3 -3
- package/dist/simple-tree/core/treeNode.js.map +1 -1
- package/dist/simple-tree/core/treeNodeSchema.d.ts +7 -2
- package/dist/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
- package/dist/simple-tree/core/treeNodeSchema.js.map +1 -1
- package/dist/simple-tree/core/treeNodeValid.d.ts +6 -1
- package/dist/simple-tree/core/treeNodeValid.d.ts.map +1 -1
- package/dist/simple-tree/core/treeNodeValid.js +11 -6
- package/dist/simple-tree/core/treeNodeValid.js.map +1 -1
- package/dist/simple-tree/core/walkSchema.d.ts +19 -5
- package/dist/simple-tree/core/walkSchema.d.ts.map +1 -1
- package/dist/simple-tree/core/walkSchema.js +4 -2
- package/dist/simple-tree/core/walkSchema.js.map +1 -1
- package/dist/simple-tree/createContext.d.ts.map +1 -1
- package/dist/simple-tree/createContext.js +1 -1
- package/dist/simple-tree/createContext.js.map +1 -1
- package/dist/simple-tree/fieldSchema.d.ts +2 -1
- package/dist/simple-tree/fieldSchema.d.ts.map +1 -1
- package/dist/simple-tree/fieldSchema.js +1 -1
- package/dist/simple-tree/fieldSchema.js.map +1 -1
- package/dist/simple-tree/index.d.ts +4 -4
- package/dist/simple-tree/index.d.ts.map +1 -1
- package/dist/simple-tree/index.js +9 -2
- package/dist/simple-tree/index.js.map +1 -1
- package/dist/simple-tree/leafNodeSchema.d.ts.map +1 -1
- package/dist/simple-tree/leafNodeSchema.js +1 -0
- package/dist/simple-tree/leafNodeSchema.js.map +1 -1
- package/dist/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/array/arrayNode.js +18 -4
- package/dist/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
- package/dist/simple-tree/node-kinds/map/mapNode.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/map/mapNode.js +9 -2
- package/dist/simple-tree/node-kinds/map/mapNode.js.map +1 -1
- package/dist/simple-tree/node-kinds/object/objectNode.d.ts +2 -2
- package/dist/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/object/objectNode.js +37 -26
- package/dist/simple-tree/node-kinds/object/objectNode.js.map +1 -1
- package/dist/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/record/recordNode.js +9 -2
- package/dist/simple-tree/node-kinds/record/recordNode.js.map +1 -1
- package/dist/simple-tree/prepareForInsertion.d.ts +5 -5
- package/dist/simple-tree/prepareForInsertion.d.ts.map +1 -1
- package/dist/simple-tree/prepareForInsertion.js +10 -10
- package/dist/simple-tree/prepareForInsertion.js.map +1 -1
- package/dist/simple-tree/simpleSchema.d.ts +6 -21
- package/dist/simple-tree/simpleSchema.d.ts.map +1 -1
- package/dist/simple-tree/simpleSchema.js.map +1 -1
- package/dist/simple-tree/toStoredSchema.d.ts +35 -11
- package/dist/simple-tree/toStoredSchema.d.ts.map +1 -1
- package/dist/simple-tree/toStoredSchema.js +68 -33
- package/dist/simple-tree/toStoredSchema.js.map +1 -1
- package/dist/tableSchema.d.ts +25 -32
- package/dist/tableSchema.d.ts.map +1 -1
- package/dist/tableSchema.js +10 -24
- package/dist/tableSchema.js.map +1 -1
- package/docs/.attachments/cell-ordering/C-knows-of-ABC.png +0 -0
- package/docs/.attachments/cell-ordering/C-knows-of-C.png +0 -0
- package/docs/.attachments/cell-ordering/XvsA.png +0 -0
- package/docs/.attachments/cell-ordering/compose-a-b.png +0 -0
- package/docs/.attachments/cell-ordering/compose-a-ref-p1-b-ref-p2.png +0 -0
- package/docs/.attachments/cell-ordering/compose-b-no-ref-to-ca.png +0 -0
- package/docs/.attachments/cell-ordering/rebase-ab-over-x.png +0 -0
- package/docs/.attachments/cell-ordering/rebase-b-over-x.png +0 -0
- package/docs/.attachments/cell-ordering/rebase-b2-over-x.png +0 -0
- package/docs/.attachments/cell-ordering/rebase-b2.png +0 -0
- package/docs/.attachments/cell-ordering/rebase-to-abprime.png +0 -0
- package/docs/.attachments/cell-ordering/rebase-to-bprime.png +0 -0
- package/docs/main/cell-ordering.md +638 -0
- package/lib/alpha.d.ts +2 -1
- package/lib/core/tree/visitDelta.d.ts +1 -1
- package/lib/core/tree/visitDelta.d.ts.map +1 -1
- package/lib/core/tree/visitDelta.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/index.d.ts +1 -0
- package/lib/feature-libraries/chunked-forest/index.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/index.js +1 -0
- package/lib/feature-libraries/chunked-forest/index.js.map +1 -1
- package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts +2 -4
- package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/defaultEditBuilder.js +4 -1
- package/lib/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.js +1 -0
- package/lib/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
- package/lib/feature-libraries/default-schema/noChangeCodecs.d.ts +1 -1
- package/lib/feature-libraries/default-schema/noChangeCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/noChangeCodecs.js.map +1 -1
- package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts +4 -0
- package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/forestSummarizer.js +1 -1
- package/lib/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
- package/lib/feature-libraries/index.d.ts +1 -1
- package/lib/feature-libraries/index.d.ts.map +1 -1
- package/lib/feature-libraries/index.js +1 -1
- package/lib/feature-libraries/index.js.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts +7 -0
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.js +1 -0
- 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 +1 -0
- package/lib/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.js +1 -0
- 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 +50 -21
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalField.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalField.js +3 -0
- package/lib/feature-libraries/optional-field/optionalField.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeRebaser.d.ts +1 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeRebaser.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeRebaser.js +4 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeRebaser.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV1.d.ts +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV1.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV1.js +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV1.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.js +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts +1 -1
- 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 +1 -1
- 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/feature-libraries/sequence-field/types.d.ts +1 -1
- package/lib/feature-libraries/sequence-field/types.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/types.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/jsonDomainSchema.d.ts +5 -3
- package/lib/jsonDomainSchema.d.ts.map +1 -1
- package/lib/jsonDomainSchema.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.map +1 -1
- package/lib/shared-tree/independentView.js +2 -2
- package/lib/shared-tree/independentView.js.map +1 -1
- package/lib/shared-tree/index.d.ts +0 -1
- package/lib/shared-tree/index.d.ts.map +1 -1
- package/lib/shared-tree/index.js.map +1 -1
- package/lib/shared-tree/schematizeTree.d.ts +23 -60
- package/lib/shared-tree/schematizeTree.d.ts.map +1 -1
- package/lib/shared-tree/schematizeTree.js +60 -150
- package/lib/shared-tree/schematizeTree.js.map +1 -1
- package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/lib/shared-tree/schematizingTreeView.js +14 -14
- package/lib/shared-tree/schematizingTreeView.js.map +1 -1
- package/lib/shared-tree/treeAlpha.d.ts.map +1 -1
- package/lib/shared-tree/treeAlpha.js +10 -4
- package/lib/shared-tree/treeAlpha.js.map +1 -1
- package/lib/shared-tree-core/defaultResubmitMachine.d.ts +2 -1
- package/lib/shared-tree-core/defaultResubmitMachine.d.ts.map +1 -1
- package/lib/shared-tree-core/defaultResubmitMachine.js.map +1 -1
- package/lib/simple-tree/api/configuration.d.ts +3 -0
- package/lib/simple-tree/api/configuration.d.ts.map +1 -1
- package/lib/simple-tree/api/configuration.js +6 -2
- package/lib/simple-tree/api/configuration.js.map +1 -1
- package/lib/simple-tree/api/create.d.ts +4 -4
- package/lib/simple-tree/api/create.d.ts.map +1 -1
- package/lib/simple-tree/api/create.js +3 -6
- package/lib/simple-tree/api/create.js.map +1 -1
- package/lib/simple-tree/api/discrepancies.d.ts +5 -9
- package/lib/simple-tree/api/discrepancies.d.ts.map +1 -1
- package/lib/simple-tree/api/discrepancies.js +11 -10
- package/lib/simple-tree/api/discrepancies.js.map +1 -1
- package/lib/simple-tree/api/index.d.ts +3 -2
- package/lib/simple-tree/api/index.d.ts.map +1 -1
- package/lib/simple-tree/api/index.js +2 -1
- package/lib/simple-tree/api/index.js.map +1 -1
- package/lib/simple-tree/api/schemaCompatibilityTester.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaCompatibilityTester.js +4 -5
- package/lib/simple-tree/api/schemaCompatibilityTester.js.map +1 -1
- package/lib/simple-tree/api/schemaFactory.d.ts +9 -155
- package/lib/simple-tree/api/schemaFactory.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactory.js +2 -45
- package/lib/simple-tree/api/schemaFactory.js.map +1 -1
- package/lib/simple-tree/api/schemaFactoryAlpha.d.ts +157 -16
- package/lib/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactoryAlpha.js +23 -1
- package/lib/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
- package/lib/simple-tree/api/schemaFactoryRecursive.d.ts +1 -3
- package/lib/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactoryRecursive.js +0 -5
- package/lib/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
- package/lib/simple-tree/api/schemaStatics.d.ts +158 -0
- package/lib/simple-tree/api/schemaStatics.d.ts.map +1 -0
- package/lib/simple-tree/api/schemaStatics.js +56 -0
- package/lib/simple-tree/api/schemaStatics.js.map +1 -0
- package/lib/simple-tree/api/storedSchema.d.ts +5 -3
- package/lib/simple-tree/api/storedSchema.d.ts.map +1 -1
- package/lib/simple-tree/api/storedSchema.js +6 -4
- package/lib/simple-tree/api/storedSchema.js.map +1 -1
- package/lib/simple-tree/api/treeBeta.d.ts.map +1 -1
- package/lib/simple-tree/api/treeBeta.js +8 -2
- package/lib/simple-tree/api/treeBeta.js.map +1 -1
- package/lib/simple-tree/core/allowedTypes.d.ts +46 -30
- package/lib/simple-tree/core/allowedTypes.d.ts.map +1 -1
- package/lib/simple-tree/core/allowedTypes.js +23 -12
- package/lib/simple-tree/core/allowedTypes.js.map +1 -1
- package/lib/simple-tree/core/index.d.ts +5 -3
- package/lib/simple-tree/core/index.d.ts.map +1 -1
- package/lib/simple-tree/core/index.js +3 -2
- package/lib/simple-tree/core/index.js.map +1 -1
- package/lib/simple-tree/core/simpleNodeSchemaBase.d.ts +25 -0
- package/lib/simple-tree/core/simpleNodeSchemaBase.d.ts.map +1 -0
- package/lib/simple-tree/core/simpleNodeSchemaBase.js +6 -0
- package/lib/simple-tree/core/simpleNodeSchemaBase.js.map +1 -0
- package/lib/simple-tree/core/toStored.d.ts +32 -0
- package/lib/simple-tree/core/toStored.d.ts.map +1 -0
- package/lib/simple-tree/core/toStored.js +32 -0
- package/lib/simple-tree/core/toStored.js.map +1 -0
- package/lib/simple-tree/core/treeNode.d.ts +0 -3
- package/lib/simple-tree/core/treeNode.d.ts.map +1 -1
- package/lib/simple-tree/core/treeNode.js +3 -3
- package/lib/simple-tree/core/treeNode.js.map +1 -1
- package/lib/simple-tree/core/treeNodeSchema.d.ts +7 -2
- package/lib/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
- package/lib/simple-tree/core/treeNodeSchema.js.map +1 -1
- package/lib/simple-tree/core/treeNodeValid.d.ts +6 -1
- package/lib/simple-tree/core/treeNodeValid.d.ts.map +1 -1
- package/lib/simple-tree/core/treeNodeValid.js +9 -5
- package/lib/simple-tree/core/treeNodeValid.js.map +1 -1
- package/lib/simple-tree/core/walkSchema.d.ts +19 -5
- package/lib/simple-tree/core/walkSchema.d.ts.map +1 -1
- package/lib/simple-tree/core/walkSchema.js +4 -2
- package/lib/simple-tree/core/walkSchema.js.map +1 -1
- package/lib/simple-tree/createContext.d.ts.map +1 -1
- package/lib/simple-tree/createContext.js +2 -2
- package/lib/simple-tree/createContext.js.map +1 -1
- package/lib/simple-tree/fieldSchema.d.ts +2 -1
- package/lib/simple-tree/fieldSchema.d.ts.map +1 -1
- package/lib/simple-tree/fieldSchema.js +1 -1
- package/lib/simple-tree/fieldSchema.js.map +1 -1
- package/lib/simple-tree/index.d.ts +4 -4
- package/lib/simple-tree/index.d.ts.map +1 -1
- package/lib/simple-tree/index.js +2 -2
- package/lib/simple-tree/index.js.map +1 -1
- package/lib/simple-tree/leafNodeSchema.d.ts.map +1 -1
- package/lib/simple-tree/leafNodeSchema.js +2 -1
- package/lib/simple-tree/leafNodeSchema.js.map +1 -1
- package/lib/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/array/arrayNode.js +21 -7
- package/lib/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
- package/lib/simple-tree/node-kinds/map/mapNode.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/map/mapNode.js +12 -5
- package/lib/simple-tree/node-kinds/map/mapNode.js.map +1 -1
- package/lib/simple-tree/node-kinds/object/objectNode.d.ts +2 -2
- package/lib/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/object/objectNode.js +16 -5
- package/lib/simple-tree/node-kinds/object/objectNode.js.map +1 -1
- package/lib/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/record/recordNode.js +12 -5
- package/lib/simple-tree/node-kinds/record/recordNode.js.map +1 -1
- package/lib/simple-tree/prepareForInsertion.d.ts +5 -5
- package/lib/simple-tree/prepareForInsertion.d.ts.map +1 -1
- package/lib/simple-tree/prepareForInsertion.js +10 -10
- package/lib/simple-tree/prepareForInsertion.js.map +1 -1
- package/lib/simple-tree/simpleSchema.d.ts +6 -21
- package/lib/simple-tree/simpleSchema.d.ts.map +1 -1
- package/lib/simple-tree/simpleSchema.js.map +1 -1
- package/lib/simple-tree/toStoredSchema.d.ts +35 -11
- package/lib/simple-tree/toStoredSchema.d.ts.map +1 -1
- package/lib/simple-tree/toStoredSchema.js +67 -34
- package/lib/simple-tree/toStoredSchema.js.map +1 -1
- package/lib/tableSchema.d.ts +25 -32
- package/lib/tableSchema.d.ts.map +1 -1
- package/lib/tableSchema.js +11 -25
- package/lib/tableSchema.js.map +1 -1
- package/package.json +21 -21
- package/src/core/tree/visitDelta.ts +3 -1
- package/src/feature-libraries/chunked-forest/index.ts +1 -0
- package/src/feature-libraries/default-schema/defaultEditBuilder.ts +12 -5
- package/src/feature-libraries/default-schema/defaultFieldKinds.ts +1 -0
- package/src/feature-libraries/default-schema/noChangeCodecs.ts +1 -1
- package/src/feature-libraries/forest-summary/forestSummarizer.ts +1 -1
- package/src/feature-libraries/index.ts +2 -0
- package/src/feature-libraries/modular-schema/fieldChangeHandler.ts +9 -0
- package/src/feature-libraries/modular-schema/genericFieldKind.ts +1 -0
- package/src/feature-libraries/modular-schema/modularChangeCodecs.ts +1 -0
- package/src/feature-libraries/modular-schema/modularChangeFamily.ts +61 -19
- package/src/feature-libraries/optional-field/optionalField.ts +4 -0
- package/src/feature-libraries/sequence-field/sequenceFieldChangeRebaser.ts +4 -0
- package/src/feature-libraries/sequence-field/sequenceFieldCodecV1.ts +4 -2
- package/src/feature-libraries/sequence-field/sequenceFieldCodecV2.ts +4 -2
- package/src/feature-libraries/sequence-field/sequenceFieldCodecV3.ts +4 -2
- package/src/feature-libraries/sequence-field/sequenceFieldCodecs.ts +1 -1
- package/src/feature-libraries/sequence-field/types.ts +1 -1
- package/src/index.ts +2 -1
- package/src/jsonDomainSchema.ts +4 -0
- package/src/packageVersion.ts +1 -1
- package/src/shared-tree/independentView.ts +6 -2
- package/src/shared-tree/index.ts +0 -2
- package/src/shared-tree/schematizeTree.ts +83 -199
- package/src/shared-tree/schematizingTreeView.ts +26 -12
- package/src/shared-tree/treeAlpha.ts +18 -4
- package/src/shared-tree-core/defaultResubmitMachine.ts +2 -1
- package/src/simple-tree/api/configuration.ts +10 -2
- package/src/simple-tree/api/create.ts +5 -10
- package/src/simple-tree/api/discrepancies.ts +18 -17
- package/src/simple-tree/api/index.ts +2 -3
- package/src/simple-tree/api/schemaCompatibilityTester.ts +5 -9
- package/src/simple-tree/api/schemaFactory.ts +6 -250
- package/src/simple-tree/api/schemaFactoryAlpha.ts +174 -1
- package/src/simple-tree/api/schemaFactoryRecursive.ts +1 -25
- package/src/simple-tree/api/schemaStatics.ts +291 -0
- package/src/simple-tree/api/storedSchema.ts +12 -5
- package/src/simple-tree/api/treeBeta.ts +9 -2
- package/src/simple-tree/core/allowedTypes.ts +71 -42
- package/src/simple-tree/core/index.ts +9 -1
- package/src/simple-tree/core/simpleNodeSchemaBase.ts +30 -0
- package/src/simple-tree/core/toStored.ts +58 -0
- package/src/simple-tree/core/treeNode.ts +3 -3
- package/src/simple-tree/core/treeNodeSchema.ts +8 -2
- package/src/simple-tree/core/treeNodeValid.ts +14 -5
- package/src/simple-tree/core/walkSchema.ts +23 -6
- package/src/simple-tree/createContext.ts +5 -2
- package/src/simple-tree/fieldSchema.ts +4 -2
- package/src/simple-tree/index.ts +15 -6
- package/src/simple-tree/leafNodeSchema.ts +2 -1
- package/src/simple-tree/node-kinds/array/arrayNode.ts +58 -37
- package/src/simple-tree/node-kinds/map/mapNode.ts +26 -2
- package/src/simple-tree/node-kinds/object/objectNode.ts +37 -4
- package/src/simple-tree/node-kinds/record/recordNode.ts +23 -2
- package/src/simple-tree/prepareForInsertion.ts +12 -7
- package/src/simple-tree/simpleSchema.ts +6 -26
- package/src/simple-tree/toStoredSchema.ts +107 -44
- package/src/tableSchema.ts +40 -35
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { type ICodecFamily, makeCodecFamily, unitCodec } from "../../codec/index.js";
|
|
7
|
-
import type { FieldChangeEncodingContext } from "../index.js";
|
|
7
|
+
import type { FieldChangeEncodingContext } from "../modular-schema/index.js";
|
|
8
8
|
|
|
9
9
|
export const noChangeCodecFamily: ICodecFamily<0, FieldChangeEncodingContext> =
|
|
10
10
|
makeCodecFamily<0, FieldChangeEncodingContext>([[1, unitCodec]]);
|
|
@@ -42,7 +42,7 @@ import type { Format } from "./format.js";
|
|
|
42
42
|
/**
|
|
43
43
|
* The storage key for the blob in the summary containing tree data
|
|
44
44
|
*/
|
|
45
|
-
const treeBlobKey = "ForestTree";
|
|
45
|
+
export const treeBlobKey = "ForestTree";
|
|
46
46
|
|
|
47
47
|
/**
|
|
48
48
|
* Provides methods for summarizing and loading a forest.
|
|
@@ -92,6 +92,7 @@ export { mapRootChanges } from "./deltaUtils.js";
|
|
|
92
92
|
export {
|
|
93
93
|
type TreeChunk,
|
|
94
94
|
chunkTree,
|
|
95
|
+
chunkField,
|
|
95
96
|
chunkFieldSingle,
|
|
96
97
|
buildChunkedForest,
|
|
97
98
|
defaultChunkPolicy,
|
|
@@ -101,6 +102,7 @@ export {
|
|
|
101
102
|
makeFieldBatchCodec,
|
|
102
103
|
fluidVersionToFieldBatchCodecWriteVersion,
|
|
103
104
|
type FieldBatchEncodingContext,
|
|
105
|
+
emptyChunk,
|
|
104
106
|
} from "./chunked-forest/index.js";
|
|
105
107
|
|
|
106
108
|
export {
|
|
@@ -169,6 +169,12 @@ export interface FieldChangeRebaser<TChangeset> {
|
|
|
169
169
|
oldRevisions: Set<RevisionTag | undefined>,
|
|
170
170
|
newRevisions: RevisionTag | undefined,
|
|
171
171
|
): TChangeset;
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Returns a copy of the given changeset with the same declarations (e.g., new cells) but no actual changes.
|
|
175
|
+
* This is a kludge. TODO: remove once AB#46104 is completed.
|
|
176
|
+
*/
|
|
177
|
+
mute(change: TChangeset): TChangeset;
|
|
172
178
|
}
|
|
173
179
|
|
|
174
180
|
/**
|
|
@@ -179,11 +185,13 @@ export function referenceFreeFieldChangeRebaser<TChangeset>(data: {
|
|
|
179
185
|
compose: (change1: TChangeset, change2: TChangeset) => TChangeset;
|
|
180
186
|
invert: (change: TChangeset) => TChangeset;
|
|
181
187
|
rebase: (change: TChangeset, over: TChangeset) => TChangeset;
|
|
188
|
+
mute: (change: TChangeset) => TChangeset;
|
|
182
189
|
}): FieldChangeRebaser<TChangeset> {
|
|
183
190
|
return isolatedFieldChangeRebaser({
|
|
184
191
|
compose: (change1, change2, _composeChild, _genId) => data.compose(change1, change2),
|
|
185
192
|
invert: (change, _invertChild, _genId) => data.invert(change),
|
|
186
193
|
rebase: (change, over, _rebaseChild, _genId) => data.rebase(change, over),
|
|
194
|
+
mute: (change) => data.mute(change),
|
|
187
195
|
});
|
|
188
196
|
}
|
|
189
197
|
|
|
@@ -191,6 +199,7 @@ export function isolatedFieldChangeRebaser<TChangeset>(data: {
|
|
|
191
199
|
compose: FieldChangeRebaser<TChangeset>["compose"];
|
|
192
200
|
invert: FieldChangeRebaser<TChangeset>["invert"];
|
|
193
201
|
rebase: FieldChangeRebaser<TChangeset>["rebase"];
|
|
202
|
+
mute: FieldChangeRebaser<TChangeset>["mute"];
|
|
194
203
|
}): FieldChangeRebaser<TChangeset> {
|
|
195
204
|
return {
|
|
196
205
|
...data,
|
|
@@ -39,6 +39,7 @@ export const genericChangeHandler: FieldChangeHandler<GenericChangeset> = {
|
|
|
39
39
|
rebase: rebaseGenericChange,
|
|
40
40
|
prune: pruneGenericChange,
|
|
41
41
|
replaceRevisions,
|
|
42
|
+
mute: (change: GenericChangeset): GenericChangeset => change,
|
|
42
43
|
},
|
|
43
44
|
codecsFactory: makeGenericChangeCodec,
|
|
44
45
|
editor: {
|
|
@@ -213,6 +213,7 @@ function makeModularChangeCodec(
|
|
|
213
213
|
context: FieldChangeEncodingContext,
|
|
214
214
|
): EncodedNodeChangeset {
|
|
215
215
|
const encodedChange: EncodedNodeChangeset = {};
|
|
216
|
+
// Note: revert constraints are ignored for now because they would only be needed if we supported reverting changes made by peers.
|
|
216
217
|
const { fieldChanges, nodeExistsConstraint } = change;
|
|
217
218
|
|
|
218
219
|
if (fieldChanges !== undefined) {
|
|
@@ -39,6 +39,7 @@ import {
|
|
|
39
39
|
newChangeAtomIdRangeMap,
|
|
40
40
|
type DeltaDetachedNodeChanges,
|
|
41
41
|
type DeltaDetachedNodeRename,
|
|
42
|
+
mapTaggedChange,
|
|
42
43
|
} from "../../core/index.js";
|
|
43
44
|
import {
|
|
44
45
|
type IdAllocationState,
|
|
@@ -213,24 +214,16 @@ export class ModularChangeFamily
|
|
|
213
214
|
}
|
|
214
215
|
|
|
215
216
|
private composeAllFields(
|
|
216
|
-
|
|
217
|
-
|
|
217
|
+
potentiallyConflictedChange1: ModularChangeset,
|
|
218
|
+
potentiallyConflictedChange2: ModularChangeset,
|
|
218
219
|
revInfos: RevisionInfo[],
|
|
219
220
|
idState: IdAllocationState,
|
|
220
221
|
): ModularChangesetContent {
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
nodeAliases: newTupleBTree(),
|
|
227
|
-
crossFieldKeys: newCrossFieldKeyTable(),
|
|
228
|
-
};
|
|
229
|
-
} else if (hasConflicts(change1)) {
|
|
230
|
-
return change2;
|
|
231
|
-
} else if (hasConflicts(change2)) {
|
|
232
|
-
return change1;
|
|
233
|
-
}
|
|
222
|
+
// Our current cell ordering scheme in sequences depends on being able to rebase over a change with conflicts.
|
|
223
|
+
// This means that compose must preserve declarations (e.g., new cells) made by conflicted changes (so that we can rebase over the composition).
|
|
224
|
+
// TODO: remove once AB#46104 is completed
|
|
225
|
+
const change1 = this.getEffectiveChange(potentiallyConflictedChange1);
|
|
226
|
+
const change2 = this.getEffectiveChange(potentiallyConflictedChange2);
|
|
234
227
|
|
|
235
228
|
const genId: IdAllocator = idAllocatorFromState(idState);
|
|
236
229
|
const revisionMetadata: RevisionMetadataSource = revisionMetadataSourceFromInfo(revInfos);
|
|
@@ -857,12 +850,17 @@ export class ModularChangeFamily
|
|
|
857
850
|
|
|
858
851
|
public rebase(
|
|
859
852
|
taggedChange: TaggedChange<ModularChangeset>,
|
|
860
|
-
|
|
853
|
+
potentiallyConflictedOver: TaggedChange<ModularChangeset>,
|
|
861
854
|
revisionMetadata: RevisionMetadataSource,
|
|
862
855
|
): ModularChangeset {
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
856
|
+
// Our current cell ordering scheme in sequences depends on being able to rebase over a change with conflicts.
|
|
857
|
+
// This means that we must rebase over a muted version of the conflicted changeset.
|
|
858
|
+
// That is, a version that includes its declarations (e.g., new cells) but not its changes.
|
|
859
|
+
// TODO: remove once AB#46104 is completed
|
|
860
|
+
const over = mapTaggedChange(
|
|
861
|
+
potentiallyConflictedOver,
|
|
862
|
+
this.getEffectiveChange(potentiallyConflictedOver.change),
|
|
863
|
+
);
|
|
866
864
|
|
|
867
865
|
const change = taggedChange.change;
|
|
868
866
|
const maxId = Math.max(change.maxId ?? -1, over.change.maxId ?? -1);
|
|
@@ -1711,6 +1709,50 @@ export class ModularChangeFamily
|
|
|
1711
1709
|
|
|
1712
1710
|
return numChildren;
|
|
1713
1711
|
}
|
|
1712
|
+
|
|
1713
|
+
private getEffectiveChange(change: ModularChangeset): ModularChangeset {
|
|
1714
|
+
if (hasConflicts(change)) {
|
|
1715
|
+
return this.muteChange(change);
|
|
1716
|
+
}
|
|
1717
|
+
return change;
|
|
1718
|
+
}
|
|
1719
|
+
|
|
1720
|
+
/**
|
|
1721
|
+
* Returns a copy of the given changeset with the same declarations (e.g., new cells) but no actual changes.
|
|
1722
|
+
*/
|
|
1723
|
+
private muteChange(change: ModularChangeset): ModularChangeset {
|
|
1724
|
+
const muted: Mutable<ModularChangeset> = {
|
|
1725
|
+
...change,
|
|
1726
|
+
crossFieldKeys: newCrossFieldKeyTable(),
|
|
1727
|
+
fieldChanges: this.muteFieldChanges(change.fieldChanges),
|
|
1728
|
+
nodeChanges: brand(change.nodeChanges.mapValues((v) => this.muteNodeChange(v))),
|
|
1729
|
+
};
|
|
1730
|
+
return muted;
|
|
1731
|
+
}
|
|
1732
|
+
|
|
1733
|
+
private muteNodeChange(change: NodeChangeset): NodeChangeset {
|
|
1734
|
+
if (change.fieldChanges === undefined) {
|
|
1735
|
+
return change;
|
|
1736
|
+
}
|
|
1737
|
+
return {
|
|
1738
|
+
...change,
|
|
1739
|
+
fieldChanges: this.muteFieldChanges(change.fieldChanges),
|
|
1740
|
+
};
|
|
1741
|
+
}
|
|
1742
|
+
|
|
1743
|
+
private muteFieldChanges(change: FieldChangeMap): FieldChangeMap {
|
|
1744
|
+
return new Map(
|
|
1745
|
+
Array.from(change.entries(), ([key, value]) => [key, this.muteFieldChange(value)]),
|
|
1746
|
+
);
|
|
1747
|
+
}
|
|
1748
|
+
|
|
1749
|
+
private muteFieldChange(change: FieldChange): FieldChange {
|
|
1750
|
+
const handler = getChangeHandler(this.fieldKinds, change.fieldKind);
|
|
1751
|
+
return {
|
|
1752
|
+
fieldKind: change.fieldKind,
|
|
1753
|
+
change: brand(handler.rebaser.mute(change.change)),
|
|
1754
|
+
};
|
|
1755
|
+
}
|
|
1714
1756
|
}
|
|
1715
1757
|
|
|
1716
1758
|
function replaceCrossFieldKeyTableRevisions(
|
|
@@ -465,6 +465,10 @@ export const optionalChangeRebaser: FieldChangeRebaser<OptionalChangeset> = {
|
|
|
465
465
|
|
|
466
466
|
return updated;
|
|
467
467
|
},
|
|
468
|
+
|
|
469
|
+
mute: (change: OptionalChangeset): OptionalChangeset => {
|
|
470
|
+
return { childChanges: change.childChanges, moves: [] };
|
|
471
|
+
},
|
|
468
472
|
};
|
|
469
473
|
|
|
470
474
|
function replaceReplaceRevisions(
|
|
@@ -11,6 +11,7 @@ import { prune } from "./prune.js";
|
|
|
11
11
|
import { rebase } from "./rebase.js";
|
|
12
12
|
import { replaceRevisions } from "./replaceRevisions.js";
|
|
13
13
|
import type { Changeset } from "./types.js";
|
|
14
|
+
import { omitMarkEffect } from "./utils.js";
|
|
14
15
|
|
|
15
16
|
export type SequenceChangeRebaser = FieldChangeRebaser<Changeset>;
|
|
16
17
|
|
|
@@ -20,4 +21,7 @@ export const sequenceFieldChangeRebaser = {
|
|
|
20
21
|
rebase,
|
|
21
22
|
prune,
|
|
22
23
|
replaceRevisions,
|
|
24
|
+
mute: (change: Changeset): Changeset => {
|
|
25
|
+
return change.map((mark) => omitMarkEffect(mark));
|
|
26
|
+
},
|
|
23
27
|
};
|
|
@@ -15,8 +15,10 @@ import type {
|
|
|
15
15
|
} from "../../core/index.js";
|
|
16
16
|
import { type JsonCompatibleReadOnly, type Mutable, brand } from "../../util/index.js";
|
|
17
17
|
import { makeChangeAtomIdCodec } from "../changeAtomIdCodec.js";
|
|
18
|
-
import
|
|
19
|
-
|
|
18
|
+
import {
|
|
19
|
+
EncodedNodeChangeset,
|
|
20
|
+
type FieldChangeEncodingContext,
|
|
21
|
+
} from "../modular-schema/index.js";
|
|
20
22
|
|
|
21
23
|
import {
|
|
22
24
|
Changeset as ChangesetSchema,
|
|
@@ -19,8 +19,10 @@ import type {
|
|
|
19
19
|
} from "../../core/index.js";
|
|
20
20
|
import { type JsonCompatibleReadOnly, type Mutable, brand } from "../../util/index.js";
|
|
21
21
|
import { makeChangeAtomIdCodec } from "../changeAtomIdCodec.js";
|
|
22
|
-
import
|
|
23
|
-
|
|
22
|
+
import {
|
|
23
|
+
EncodedNodeChangeset,
|
|
24
|
+
type FieldChangeEncodingContext,
|
|
25
|
+
} from "../modular-schema/index.js";
|
|
24
26
|
|
|
25
27
|
import { Changeset as ChangesetSchema, type Encoded } from "./formatV2.js";
|
|
26
28
|
import type { SequenceCodecHelpers } from "./helperTypes.js";
|
|
@@ -12,8 +12,10 @@ import type {
|
|
|
12
12
|
RevisionTag,
|
|
13
13
|
} from "../../core/index.js";
|
|
14
14
|
import type { JsonCompatibleReadOnly } from "../../util/index.js";
|
|
15
|
-
import
|
|
16
|
-
|
|
15
|
+
import {
|
|
16
|
+
EncodedNodeChangeset,
|
|
17
|
+
type FieldChangeEncodingContext,
|
|
18
|
+
} from "../modular-schema/index.js";
|
|
17
19
|
|
|
18
20
|
import { Changeset as ChangesetSchema, type Encoded } from "./formatV3.js";
|
|
19
21
|
import { makeV2CodecHelpers } from "./sequenceFieldCodecV2.js";
|
|
@@ -9,7 +9,7 @@ import type {
|
|
|
9
9
|
EncodedRevisionTag,
|
|
10
10
|
RevisionTag,
|
|
11
11
|
} from "../../core/index.js";
|
|
12
|
-
import type { FieldChangeEncodingContext } from "../index.js";
|
|
12
|
+
import type { FieldChangeEncodingContext } from "../modular-schema/index.js";
|
|
13
13
|
|
|
14
14
|
import { makeV1Codec } from "./sequenceFieldCodecV1.js";
|
|
15
15
|
import { makeV2Codec } from "./sequenceFieldCodecV2.js";
|
package/src/index.ts
CHANGED
|
@@ -118,6 +118,7 @@ export {
|
|
|
118
118
|
type InternalTreeNode,
|
|
119
119
|
type WithType,
|
|
120
120
|
type NodeChangedData,
|
|
121
|
+
type SchemaUpgrade,
|
|
121
122
|
// Types not really intended for public use, but used in links.
|
|
122
123
|
// Can not be moved to internalTypes since doing so causes app code to throw errors like:
|
|
123
124
|
// Error: src/simple-tree/objectNode.ts:72:1 - (ae-unresolved-link) The @link reference could not be resolved: The package "@fluidframework/tree" does not have an export "TreeNodeApi"
|
|
@@ -168,9 +169,9 @@ export {
|
|
|
168
169
|
type UnannotateAllowedTypes,
|
|
169
170
|
type UnannotateAllowedType,
|
|
170
171
|
type UnannotateAllowedTypesList,
|
|
171
|
-
type UnannotateAllowedTypeOrLazyItem,
|
|
172
172
|
type UnannotateImplicitFieldSchema,
|
|
173
173
|
type UnannotateSchemaRecord,
|
|
174
|
+
type SchemaStaticsAlpha,
|
|
174
175
|
// Beta APIs
|
|
175
176
|
TreeBeta,
|
|
176
177
|
type TreeChangeEventsBeta,
|
package/src/jsonDomainSchema.ts
CHANGED
|
@@ -11,9 +11,11 @@ import type {
|
|
|
11
11
|
ValidateRecursiveSchema,
|
|
12
12
|
// #region Unused imports to make d.ts cleaner
|
|
13
13
|
/* eslint-disable unused-imports/no-unused-imports, @typescript-eslint/no-unused-vars */
|
|
14
|
+
ArrayNodeCustomizableSchemaUnsafe,
|
|
14
15
|
System_Unsafe,
|
|
15
16
|
TreeNodeSchemaNonClass,
|
|
16
17
|
TreeNodeSchemaClass,
|
|
18
|
+
TreeRecordNodeUnsafe,
|
|
17
19
|
NodeKind,
|
|
18
20
|
TreeNodeSchemaCore,
|
|
19
21
|
WithType,
|
|
@@ -52,6 +54,7 @@ export namespace JsonAsTree {
|
|
|
52
54
|
] as const satisfies AllowedTypes;
|
|
53
55
|
|
|
54
56
|
/**
|
|
57
|
+
* {@inheritDoc JsonAsTree.(Primitive:variable)}
|
|
55
58
|
* @alpha
|
|
56
59
|
*/
|
|
57
60
|
export type Primitive = TreeNodeFromImplicitAllowedTypes<typeof Primitive>;
|
|
@@ -72,6 +75,7 @@ export namespace JsonAsTree {
|
|
|
72
75
|
export const Tree = [...Primitive, () => JsonObject, () => Array] as const;
|
|
73
76
|
|
|
74
77
|
/**
|
|
78
|
+
* {@inheritDoc JsonAsTree.(Tree:variable)}
|
|
75
79
|
* @alpha
|
|
76
80
|
*/
|
|
77
81
|
export type Tree = TreeNodeFromImplicitAllowedTypes<typeof Tree>;
|
package/src/packageVersion.ts
CHANGED
|
@@ -42,7 +42,7 @@ import {
|
|
|
42
42
|
} from "./sharedTree.js";
|
|
43
43
|
import { createTreeCheckout } from "./treeCheckout.js";
|
|
44
44
|
import { SchematizingSimpleTreeView } from "./schematizingTreeView.js";
|
|
45
|
-
import { initialize } from "./schematizeTree.js";
|
|
45
|
+
import { initialize, initializerFromChunk } from "./schematizeTree.js";
|
|
46
46
|
|
|
47
47
|
/**
|
|
48
48
|
* Create an uninitialized {@link TreeView} that is not tied to any {@link ITree} instance.
|
|
@@ -152,7 +152,11 @@ export function independentInitializedViewInternal<const TSchema extends Implici
|
|
|
152
152
|
breaker,
|
|
153
153
|
});
|
|
154
154
|
|
|
155
|
-
initialize(
|
|
155
|
+
initialize(
|
|
156
|
+
checkout,
|
|
157
|
+
schema,
|
|
158
|
+
initializerFromChunk(checkout, () => checkout.forest.chunkField(rootFieldCursor)),
|
|
159
|
+
);
|
|
156
160
|
return new SchematizingSimpleTreeView<TSchema>(
|
|
157
161
|
checkout,
|
|
158
162
|
config,
|
package/src/shared-tree/index.ts
CHANGED