@fluidframework/tree 2.43.0 → 2.50.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 +100 -0
- package/api-report/tree.alpha.api.md +73 -16
- package/api-report/tree.beta.api.md +9 -3
- package/api-report/tree.legacy.alpha.api.md +8 -2
- package/api-report/tree.legacy.public.api.md +8 -2
- package/api-report/tree.public.api.md +8 -2
- package/dist/alpha.d.ts +9 -0
- package/dist/core/forest/editableForest.d.ts +0 -2
- package/dist/core/forest/editableForest.d.ts.map +1 -1
- package/dist/core/forest/editableForest.js.map +1 -1
- package/dist/core/forest/forest.d.ts +0 -4
- package/dist/core/forest/forest.d.ts.map +1 -1
- package/dist/core/forest/forest.js +0 -4
- package/dist/core/forest/forest.js.map +1 -1
- package/dist/core/rebase/changeRebaser.d.ts +0 -6
- package/dist/core/rebase/changeRebaser.d.ts.map +1 -1
- package/dist/core/rebase/changeRebaser.js.map +1 -1
- package/dist/core/rebase/types.d.ts +0 -2
- package/dist/core/rebase/types.d.ts.map +1 -1
- package/dist/core/rebase/types.js.map +1 -1
- package/dist/core/schema-stored/schema.d.ts +0 -8
- package/dist/core/schema-stored/schema.d.ts.map +1 -1
- package/dist/core/schema-stored/schema.js +0 -8
- package/dist/core/schema-stored/schema.js.map +1 -1
- package/dist/core/schema-view/view.d.ts +0 -2
- package/dist/core/schema-view/view.d.ts.map +1 -1
- package/dist/core/schema-view/view.js.map +1 -1
- package/dist/core/tree/cursor.d.ts +0 -2
- package/dist/core/tree/cursor.d.ts.map +1 -1
- package/dist/core/tree/cursor.js +0 -2
- package/dist/core/tree/cursor.js.map +1 -1
- package/dist/core/tree/delta.d.ts +0 -2
- package/dist/core/tree/delta.d.ts.map +1 -1
- package/dist/core/tree/delta.js.map +1 -1
- package/dist/core/tree/types.d.ts +0 -4
- package/dist/core/tree/types.d.ts.map +1 -1
- package/dist/core/tree/types.js +0 -2
- package/dist/core/tree/types.js.map +1 -1
- package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts +0 -4
- package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts +0 -10
- package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
- package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts +0 -2
- package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/flexTreeTypes.js +0 -2
- package/dist/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
- package/dist/feature-libraries/modular-schema/crossFieldQueries.d.ts +0 -2
- package/dist/feature-libraries/modular-schema/crossFieldQueries.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/crossFieldQueries.js +0 -2
- package/dist/feature-libraries/modular-schema/crossFieldQueries.js.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts +0 -10
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.js +0 -2
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts +0 -6
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts +0 -12
- package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -1
- package/dist/feature-libraries/sequence-field/types.d.ts +0 -2
- 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 +2 -6
- package/dist/jsonDomainSchema.d.ts.map +1 -1
- package/dist/jsonDomainSchema.js +2 -2
- 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/treeAlpha.d.ts.map +1 -1
- package/dist/shared-tree/treeAlpha.js +3 -1
- package/dist/shared-tree/treeAlpha.js.map +1 -1
- package/dist/shared-tree-core/defaultResubmitMachine.d.ts +8 -12
- package/dist/shared-tree-core/defaultResubmitMachine.d.ts.map +1 -1
- package/dist/shared-tree-core/defaultResubmitMachine.js +54 -46
- package/dist/shared-tree-core/defaultResubmitMachine.js.map +1 -1
- package/dist/shared-tree-core/resubmitMachine.d.ts +6 -0
- package/dist/shared-tree-core/resubmitMachine.d.ts.map +1 -1
- package/dist/shared-tree-core/resubmitMachine.js.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.d.ts +1 -0
- package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.js +16 -3
- package/dist/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/dist/simple-tree/api/configuration.d.ts.map +1 -1
- package/dist/simple-tree/api/configuration.js +49 -17
- package/dist/simple-tree/api/configuration.js.map +1 -1
- package/dist/simple-tree/api/customTree.d.ts +1 -1
- package/dist/simple-tree/api/customTree.d.ts.map +1 -1
- package/dist/simple-tree/api/customTree.js +3 -4
- package/dist/simple-tree/api/customTree.js.map +1 -1
- package/dist/simple-tree/api/index.d.ts +2 -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/jsonSchema.d.ts +32 -8
- package/dist/simple-tree/api/jsonSchema.d.ts.map +1 -1
- package/dist/simple-tree/api/jsonSchema.js.map +1 -1
- package/dist/simple-tree/api/schemaFactory.d.ts +2 -2
- package/dist/simple-tree/api/schemaFactory.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactory.js +1 -1
- package/dist/simple-tree/api/schemaFactory.js.map +1 -1
- package/dist/simple-tree/api/schemaFactoryAlpha.d.ts +97 -3
- package/dist/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactoryAlpha.js +75 -0
- package/dist/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
- package/dist/simple-tree/api/schemaFactoryRecursive.d.ts +5 -1
- package/dist/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
- package/dist/simple-tree/api/schemaFromSimple.js +2 -0
- package/dist/simple-tree/api/schemaFromSimple.js.map +1 -1
- package/dist/simple-tree/api/simpleSchemaToJsonSchema.d.ts.map +1 -1
- package/dist/simple-tree/api/simpleSchemaToJsonSchema.js +4 -4
- package/dist/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
- package/dist/simple-tree/api/treeBeta.d.ts +1 -1
- package/dist/simple-tree/api/treeBeta.d.ts.map +1 -1
- package/dist/simple-tree/api/treeBeta.js.map +1 -1
- package/dist/simple-tree/api/treeNodeApi.js +1 -1
- package/dist/simple-tree/api/treeNodeApi.js.map +1 -1
- package/dist/simple-tree/api/typesUnsafe.d.ts +12 -0
- 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/api/viewSchemaToSimpleSchema.d.ts.map +1 -1
- package/dist/simple-tree/api/viewSchemaToSimpleSchema.js +5 -3
- package/dist/simple-tree/api/viewSchemaToSimpleSchema.js.map +1 -1
- package/dist/simple-tree/core/index.d.ts +1 -1
- package/dist/simple-tree/core/index.d.ts.map +1 -1
- package/dist/simple-tree/core/index.js +2 -1
- package/dist/simple-tree/core/index.js.map +1 -1
- package/dist/simple-tree/core/treeNodeSchema.d.ts +5 -1
- package/dist/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
- package/dist/simple-tree/core/treeNodeSchema.js +4 -0
- package/dist/simple-tree/core/treeNodeSchema.js.map +1 -1
- package/dist/simple-tree/index.d.ts +3 -3
- package/dist/simple-tree/index.d.ts.map +1 -1
- package/dist/simple-tree/index.js +3 -1
- package/dist/simple-tree/index.js.map +1 -1
- package/dist/simple-tree/node-kinds/index.d.ts +2 -1
- package/dist/simple-tree/node-kinds/index.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/index.js +5 -1
- package/dist/simple-tree/node-kinds/index.js.map +1 -1
- package/dist/simple-tree/node-kinds/object/index.d.ts +1 -1
- 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.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 +5 -1
- 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/simple-tree/node-kinds/record/index.d.ts +7 -0
- package/dist/simple-tree/node-kinds/record/index.d.ts.map +1 -0
- package/dist/simple-tree/node-kinds/record/index.js +13 -0
- package/dist/simple-tree/node-kinds/record/index.js.map +1 -0
- package/dist/simple-tree/node-kinds/record/recordNode.d.ts +39 -0
- package/dist/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -0
- package/dist/simple-tree/node-kinds/record/recordNode.js +234 -0
- package/dist/simple-tree/node-kinds/record/recordNode.js.map +1 -0
- package/dist/simple-tree/node-kinds/record/recordNodeTypes.d.ts +70 -0
- package/dist/simple-tree/node-kinds/record/recordNodeTypes.d.ts.map +1 -0
- package/dist/simple-tree/node-kinds/record/recordNodeTypes.js +30 -0
- package/dist/simple-tree/node-kinds/record/recordNodeTypes.js.map +1 -0
- package/dist/simple-tree/simpleSchema.d.ts +16 -1
- 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.map +1 -1
- package/dist/simple-tree/toStoredSchema.js +4 -2
- package/dist/simple-tree/toStoredSchema.js.map +1 -1
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.d.ts +1 -1
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js +56 -32
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
- package/dist/tableSchema.d.ts +7 -2
- package/dist/tableSchema.d.ts.map +1 -1
- package/dist/tableSchema.js +21 -7
- package/dist/tableSchema.js.map +1 -1
- package/dist/util/brandedMap.d.ts +0 -2
- package/dist/util/brandedMap.d.ts.map +1 -1
- package/dist/util/brandedMap.js.map +1 -1
- package/docs/main/compatibility.md +15 -1
- package/lib/alpha.d.ts +9 -0
- package/lib/core/forest/editableForest.d.ts +0 -2
- package/lib/core/forest/editableForest.d.ts.map +1 -1
- package/lib/core/forest/editableForest.js.map +1 -1
- package/lib/core/forest/forest.d.ts +0 -4
- package/lib/core/forest/forest.d.ts.map +1 -1
- package/lib/core/forest/forest.js +0 -4
- package/lib/core/forest/forest.js.map +1 -1
- package/lib/core/rebase/changeRebaser.d.ts +0 -6
- package/lib/core/rebase/changeRebaser.d.ts.map +1 -1
- package/lib/core/rebase/changeRebaser.js.map +1 -1
- package/lib/core/rebase/types.d.ts +0 -2
- package/lib/core/rebase/types.d.ts.map +1 -1
- package/lib/core/rebase/types.js.map +1 -1
- package/lib/core/schema-stored/schema.d.ts +0 -8
- package/lib/core/schema-stored/schema.d.ts.map +1 -1
- package/lib/core/schema-stored/schema.js +0 -8
- package/lib/core/schema-stored/schema.js.map +1 -1
- package/lib/core/schema-view/view.d.ts +0 -2
- package/lib/core/schema-view/view.d.ts.map +1 -1
- package/lib/core/schema-view/view.js.map +1 -1
- package/lib/core/tree/cursor.d.ts +0 -2
- package/lib/core/tree/cursor.d.ts.map +1 -1
- package/lib/core/tree/cursor.js +0 -2
- package/lib/core/tree/cursor.js.map +1 -1
- package/lib/core/tree/delta.d.ts +0 -2
- package/lib/core/tree/delta.d.ts.map +1 -1
- package/lib/core/tree/delta.js.map +1 -1
- package/lib/core/tree/types.d.ts +0 -4
- package/lib/core/tree/types.d.ts.map +1 -1
- package/lib/core/tree/types.js +0 -2
- package/lib/core/tree/types.js.map +1 -1
- package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts +0 -4
- package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts +0 -10
- package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
- package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts +0 -2
- package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/flexTreeTypes.js +0 -2
- package/lib/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
- package/lib/feature-libraries/modular-schema/crossFieldQueries.d.ts +0 -2
- package/lib/feature-libraries/modular-schema/crossFieldQueries.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/crossFieldQueries.js +0 -2
- package/lib/feature-libraries/modular-schema/crossFieldQueries.js.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts +0 -10
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.js +0 -2
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts +0 -6
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts +0 -12
- package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -1
- package/lib/feature-libraries/sequence-field/types.d.ts +0 -2
- 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 +2 -6
- package/lib/jsonDomainSchema.d.ts.map +1 -1
- package/lib/jsonDomainSchema.js +3 -3
- 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/treeAlpha.d.ts.map +1 -1
- package/lib/shared-tree/treeAlpha.js +3 -1
- package/lib/shared-tree/treeAlpha.js.map +1 -1
- package/lib/shared-tree-core/defaultResubmitMachine.d.ts +8 -12
- package/lib/shared-tree-core/defaultResubmitMachine.d.ts.map +1 -1
- package/lib/shared-tree-core/defaultResubmitMachine.js +55 -47
- package/lib/shared-tree-core/defaultResubmitMachine.js.map +1 -1
- package/lib/shared-tree-core/resubmitMachine.d.ts +6 -0
- package/lib/shared-tree-core/resubmitMachine.d.ts.map +1 -1
- package/lib/shared-tree-core/resubmitMachine.js.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.d.ts +1 -0
- package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.js +16 -3
- package/lib/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/lib/simple-tree/api/configuration.d.ts.map +1 -1
- package/lib/simple-tree/api/configuration.js +51 -19
- package/lib/simple-tree/api/configuration.js.map +1 -1
- package/lib/simple-tree/api/customTree.d.ts +1 -1
- package/lib/simple-tree/api/customTree.d.ts.map +1 -1
- package/lib/simple-tree/api/customTree.js +2 -3
- package/lib/simple-tree/api/customTree.js.map +1 -1
- package/lib/simple-tree/api/index.d.ts +2 -2
- package/lib/simple-tree/api/index.d.ts.map +1 -1
- package/lib/simple-tree/api/index.js.map +1 -1
- package/lib/simple-tree/api/jsonSchema.d.ts +32 -8
- package/lib/simple-tree/api/jsonSchema.d.ts.map +1 -1
- package/lib/simple-tree/api/jsonSchema.js.map +1 -1
- package/lib/simple-tree/api/schemaFactory.d.ts +2 -2
- package/lib/simple-tree/api/schemaFactory.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactory.js +1 -1
- package/lib/simple-tree/api/schemaFactory.js.map +1 -1
- package/lib/simple-tree/api/schemaFactoryAlpha.d.ts +97 -3
- package/lib/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactoryAlpha.js +77 -2
- package/lib/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
- package/lib/simple-tree/api/schemaFactoryRecursive.d.ts +5 -1
- package/lib/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
- package/lib/simple-tree/api/schemaFromSimple.js +2 -0
- package/lib/simple-tree/api/schemaFromSimple.js.map +1 -1
- package/lib/simple-tree/api/simpleSchemaToJsonSchema.d.ts.map +1 -1
- package/lib/simple-tree/api/simpleSchemaToJsonSchema.js +5 -5
- package/lib/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
- package/lib/simple-tree/api/treeBeta.d.ts +1 -1
- package/lib/simple-tree/api/treeBeta.d.ts.map +1 -1
- package/lib/simple-tree/api/treeBeta.js.map +1 -1
- package/lib/simple-tree/api/treeNodeApi.js +2 -2
- package/lib/simple-tree/api/treeNodeApi.js.map +1 -1
- package/lib/simple-tree/api/typesUnsafe.d.ts +12 -0
- 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/api/viewSchemaToSimpleSchema.d.ts.map +1 -1
- package/lib/simple-tree/api/viewSchemaToSimpleSchema.js +6 -4
- package/lib/simple-tree/api/viewSchemaToSimpleSchema.js.map +1 -1
- package/lib/simple-tree/core/index.d.ts +1 -1
- package/lib/simple-tree/core/index.d.ts.map +1 -1
- package/lib/simple-tree/core/index.js +1 -1
- package/lib/simple-tree/core/index.js.map +1 -1
- package/lib/simple-tree/core/treeNodeSchema.d.ts +5 -1
- package/lib/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
- package/lib/simple-tree/core/treeNodeSchema.js +4 -0
- package/lib/simple-tree/core/treeNodeSchema.js.map +1 -1
- package/lib/simple-tree/index.d.ts +3 -3
- package/lib/simple-tree/index.d.ts.map +1 -1
- package/lib/simple-tree/index.js +1 -1
- package/lib/simple-tree/index.js.map +1 -1
- package/lib/simple-tree/node-kinds/index.d.ts +2 -1
- package/lib/simple-tree/node-kinds/index.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/index.js +1 -0
- package/lib/simple-tree/node-kinds/index.js.map +1 -1
- package/lib/simple-tree/node-kinds/object/index.d.ts +1 -1
- package/lib/simple-tree/node-kinds/object/index.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/object/index.js +1 -1
- package/lib/simple-tree/node-kinds/object/index.js.map +1 -1
- 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 +5 -1
- 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/simple-tree/node-kinds/record/index.d.ts +7 -0
- package/lib/simple-tree/node-kinds/record/index.d.ts.map +1 -0
- package/lib/simple-tree/node-kinds/record/index.js +7 -0
- package/lib/simple-tree/node-kinds/record/index.js.map +1 -0
- package/lib/simple-tree/node-kinds/record/recordNode.d.ts +39 -0
- package/lib/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -0
- package/lib/simple-tree/node-kinds/record/recordNode.js +232 -0
- package/lib/simple-tree/node-kinds/record/recordNode.js.map +1 -0
- package/lib/simple-tree/node-kinds/record/recordNodeTypes.d.ts +70 -0
- package/lib/simple-tree/node-kinds/record/recordNodeTypes.d.ts.map +1 -0
- package/lib/simple-tree/node-kinds/record/recordNodeTypes.js +26 -0
- package/lib/simple-tree/node-kinds/record/recordNodeTypes.js.map +1 -0
- package/lib/simple-tree/simpleSchema.d.ts +16 -1
- 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.map +1 -1
- package/lib/simple-tree/toStoredSchema.js +4 -2
- package/lib/simple-tree/toStoredSchema.js.map +1 -1
- package/lib/simple-tree/unhydratedFlexTreeFromInsertable.d.ts +1 -1
- package/lib/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
- package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js +58 -34
- package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
- package/lib/tableSchema.d.ts +7 -2
- package/lib/tableSchema.d.ts.map +1 -1
- package/lib/tableSchema.js +22 -8
- package/lib/tableSchema.js.map +1 -1
- package/lib/util/brandedMap.d.ts +0 -2
- package/lib/util/brandedMap.d.ts.map +1 -1
- package/lib/util/brandedMap.js.map +1 -1
- package/package.json +34 -22
- package/src/core/forest/editableForest.ts +0 -2
- package/src/core/forest/forest.ts +0 -4
- package/src/core/rebase/changeRebaser.ts +0 -6
- package/src/core/rebase/types.ts +0 -2
- package/src/core/schema-stored/schema.ts +0 -8
- package/src/core/schema-view/view.ts +0 -2
- package/src/core/tree/cursor.ts +0 -2
- package/src/core/tree/delta.ts +0 -2
- package/src/core/tree/types.ts +0 -4
- package/src/feature-libraries/default-schema/defaultEditBuilder.ts +0 -4
- package/src/feature-libraries/default-schema/defaultFieldKinds.ts +0 -10
- package/src/feature-libraries/flex-tree/flexTreeTypes.ts +0 -2
- package/src/feature-libraries/modular-schema/crossFieldQueries.ts +0 -2
- package/src/feature-libraries/modular-schema/fieldChangeHandler.ts +0 -10
- package/src/feature-libraries/modular-schema/modularChangeFamily.ts +0 -8
- package/src/feature-libraries/modular-schema/modularChangeTypes.ts +0 -12
- package/src/feature-libraries/sequence-field/types.ts +0 -2
- package/src/index.ts +9 -0
- package/src/jsonDomainSchema.ts +3 -3
- package/src/packageVersion.ts +1 -1
- package/src/shared-tree/treeAlpha.ts +3 -1
- package/src/shared-tree-core/defaultResubmitMachine.ts +99 -52
- package/src/shared-tree-core/resubmitMachine.ts +7 -0
- package/src/shared-tree-core/sharedTreeCore.ts +18 -6
- package/src/simple-tree/api/configuration.ts +73 -19
- package/src/simple-tree/api/customTree.ts +3 -3
- package/src/simple-tree/api/index.ts +3 -0
- package/src/simple-tree/api/jsonSchema.ts +35 -8
- package/src/simple-tree/api/schemaFactory.ts +5 -13
- package/src/simple-tree/api/schemaFactoryAlpha.ts +268 -1
- package/src/simple-tree/api/schemaFactoryRecursive.ts +5 -1
- package/src/simple-tree/api/schemaFromSimple.ts +6 -0
- package/src/simple-tree/api/simpleSchemaToJsonSchema.ts +16 -7
- package/src/simple-tree/api/treeBeta.ts +2 -2
- package/src/simple-tree/api/treeNodeApi.ts +2 -2
- package/src/simple-tree/api/typesUnsafe.ts +15 -0
- package/src/simple-tree/api/viewSchemaToSimpleSchema.ts +14 -6
- package/src/simple-tree/core/index.ts +1 -0
- package/src/simple-tree/core/treeNodeSchema.ts +8 -4
- package/src/simple-tree/index.ts +11 -0
- package/src/simple-tree/node-kinds/index.ts +11 -0
- package/src/simple-tree/node-kinds/object/index.ts +5 -1
- package/src/simple-tree/node-kinds/object/objectNode.ts +3 -2
- package/src/simple-tree/node-kinds/object/objectNodeTypes.ts +6 -3
- package/src/simple-tree/node-kinds/record/index.ts +14 -0
- package/src/simple-tree/node-kinds/record/recordNode.ts +410 -0
- package/src/simple-tree/node-kinds/record/recordNodeTypes.ts +136 -0
- package/src/simple-tree/simpleSchema.ts +19 -1
- package/src/simple-tree/toStoredSchema.ts +4 -2
- package/src/simple-tree/unhydratedFlexTreeFromInsertable.ts +83 -40
- package/src/tableSchema.ts +27 -8
- package/src/util/brandedMap.ts +0 -2
|
@@ -18,17 +18,24 @@ import type {
|
|
|
18
18
|
JsonObjectNodeSchema,
|
|
19
19
|
JsonTreeSchema,
|
|
20
20
|
JsonLeafSchemaType,
|
|
21
|
+
JsonRecordNodeSchema,
|
|
21
22
|
} from "./jsonSchema.js";
|
|
22
23
|
import { FieldKind } from "../schemaTypes.js";
|
|
23
24
|
import type {
|
|
24
25
|
SimpleArrayNodeSchema,
|
|
25
26
|
SimpleLeafNodeSchema,
|
|
26
27
|
SimpleMapNodeSchema,
|
|
28
|
+
SimpleRecordNodeSchema,
|
|
27
29
|
} from "../simpleSchema.js";
|
|
28
30
|
import { NodeKind, type TreeNodeSchema } from "../core/index.js";
|
|
29
31
|
import type { TreeSchema } from "./configuration.js";
|
|
30
32
|
import type { TreeSchemaEncodingOptions } from "./getJsonSchema.js";
|
|
31
|
-
import {
|
|
33
|
+
import {
|
|
34
|
+
ArrayNodeSchema,
|
|
35
|
+
isMapNodeSchema,
|
|
36
|
+
isRecordNodeSchema,
|
|
37
|
+
ObjectNodeSchema,
|
|
38
|
+
} from "../node-kinds/index.js";
|
|
32
39
|
import { LeafNodeSchema } from "../leafNodeSchema.js";
|
|
33
40
|
|
|
34
41
|
/**
|
|
@@ -88,8 +95,8 @@ function convertNodeSchema(
|
|
|
88
95
|
): JsonNodeSchema {
|
|
89
96
|
if (schema instanceof ArrayNodeSchema) {
|
|
90
97
|
return convertArrayNodeSchema(schema);
|
|
91
|
-
} else if (schema
|
|
92
|
-
return
|
|
98
|
+
} else if (isMapNodeSchema(schema) || isRecordNodeSchema(schema)) {
|
|
99
|
+
return convertRecordLikeNodeSchema(schema);
|
|
93
100
|
} else if (schema instanceof ObjectNodeSchema) {
|
|
94
101
|
return convertObjectNodeSchema(schema, options);
|
|
95
102
|
} else if (schema instanceof LeafNodeSchema) {
|
|
@@ -191,15 +198,17 @@ export function convertObjectNodeSchema(
|
|
|
191
198
|
return transformedNode;
|
|
192
199
|
}
|
|
193
200
|
|
|
194
|
-
function
|
|
201
|
+
function convertRecordLikeNodeSchema(
|
|
202
|
+
schema: SimpleRecordNodeSchema | SimpleMapNodeSchema,
|
|
203
|
+
): JsonMapNodeSchema | JsonRecordNodeSchema {
|
|
195
204
|
const allowedTypes: JsonSchemaRef[] = [];
|
|
196
205
|
schema.allowedTypesIdentifiers.forEach((type) => {
|
|
197
206
|
allowedTypes.push(createSchemaRef(type));
|
|
198
207
|
});
|
|
199
208
|
|
|
200
|
-
const output
|
|
209
|
+
const output = {
|
|
201
210
|
type: "object",
|
|
202
|
-
_treeNodeSchemaKind:
|
|
211
|
+
_treeNodeSchemaKind: schema.kind,
|
|
203
212
|
patternProperties: {
|
|
204
213
|
"^.*$": hasSingle(allowedTypes)
|
|
205
214
|
? allowedTypes[0]
|
|
@@ -207,7 +216,7 @@ function convertMapNodeSchema(schema: SimpleMapNodeSchema): JsonMapNodeSchema {
|
|
|
207
216
|
anyOf: allowedTypes,
|
|
208
217
|
},
|
|
209
218
|
},
|
|
210
|
-
};
|
|
219
|
+
} as const;
|
|
211
220
|
|
|
212
221
|
copyProperty(schema.metadata, "description", output);
|
|
213
222
|
|
|
@@ -85,8 +85,8 @@ export interface TreeChangeEventsBeta<TNode extends TreeNode = TreeNode>
|
|
|
85
85
|
*/
|
|
86
86
|
nodeChanged: (
|
|
87
87
|
data: NodeChangedData<TNode> &
|
|
88
|
-
//
|
|
89
|
-
(TNode extends WithType<string, NodeKind.Map | NodeKind.Object>
|
|
88
|
+
// Make the properties of object, map, and record nodes required:
|
|
89
|
+
(TNode extends WithType<string, NodeKind.Map | NodeKind.Object | NodeKind.Record>
|
|
90
90
|
? Required<Pick<NodeChangedData<TNode>, "changedProperties">>
|
|
91
91
|
: unknown),
|
|
92
92
|
) => void;
|
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
getOrCreateInnerNode,
|
|
39
39
|
} from "../core/index.js";
|
|
40
40
|
import type { TreeChangeEvents } from "./treeChangeEvents.js";
|
|
41
|
-
import { isObjectNodeSchema } from "../node-kinds/index.js";
|
|
41
|
+
import { isArrayNodeSchema, isObjectNodeSchema } from "../node-kinds/index.js";
|
|
42
42
|
import { tryGetTreeNodeForField } from "../getTreeNodeForField.js";
|
|
43
43
|
|
|
44
44
|
/**
|
|
@@ -193,7 +193,7 @@ export const treeNodeApi: TreeNodeApi = {
|
|
|
193
193
|
);
|
|
194
194
|
listener({ changedProperties });
|
|
195
195
|
});
|
|
196
|
-
} else if (nodeSchema
|
|
196
|
+
} else if (isArrayNodeSchema(nodeSchema)) {
|
|
197
197
|
return kernel.events.on("childrenChangedAfterBatch", () => {
|
|
198
198
|
listener({ changedProperties: undefined });
|
|
199
199
|
});
|
|
@@ -527,3 +527,18 @@ export interface MapNodeCustomizableSchemaUnsafe<
|
|
|
527
527
|
TCustomMetadata
|
|
528
528
|
>,
|
|
529
529
|
SimpleMapNodeSchema<TCustomMetadata> {}
|
|
530
|
+
|
|
531
|
+
/**
|
|
532
|
+
* {@link Unenforced} version of {@link TreeRecordNode}.
|
|
533
|
+
* @remarks
|
|
534
|
+
* Do not use this type directly: it's only needed in the implementation of generic logic which define recursive schema, not when using recursive schema.
|
|
535
|
+
* @system @sealed @alpha
|
|
536
|
+
*/
|
|
537
|
+
export interface TreeRecordNodeUnsafe<
|
|
538
|
+
TAllowedTypes extends System_Unsafe.ImplicitAllowedTypesUnsafe,
|
|
539
|
+
> extends Record<string, System_Unsafe.TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>>,
|
|
540
|
+
TreeNode {
|
|
541
|
+
[Symbol.iterator](): IterableIterator<
|
|
542
|
+
[string, System_Unsafe.TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>]
|
|
543
|
+
>;
|
|
544
|
+
}
|
|
@@ -13,10 +13,16 @@ import type {
|
|
|
13
13
|
SimpleNodeSchema,
|
|
14
14
|
SimpleObjectFieldSchema,
|
|
15
15
|
SimpleObjectNodeSchema,
|
|
16
|
+
SimpleRecordNodeSchema,
|
|
16
17
|
SimpleTreeSchema,
|
|
17
18
|
} from "../simpleSchema.js";
|
|
18
19
|
import { NodeKind } from "../core/index.js";
|
|
19
|
-
import {
|
|
20
|
+
import {
|
|
21
|
+
ArrayNodeSchema,
|
|
22
|
+
MapNodeSchema,
|
|
23
|
+
ObjectNodeSchema,
|
|
24
|
+
RecordNodeSchema,
|
|
25
|
+
} from "../node-kinds/index.js";
|
|
20
26
|
import { walkFieldSchema } from "../walkFieldSchema.js";
|
|
21
27
|
import { LeafNodeSchema } from "../leafNodeSchema.js";
|
|
22
28
|
|
|
@@ -49,7 +55,8 @@ export function toSimpleTreeSchema(
|
|
|
49
55
|
nodeSchema instanceof ArrayNodeSchema ||
|
|
50
56
|
nodeSchema instanceof MapNodeSchema ||
|
|
51
57
|
nodeSchema instanceof LeafNodeSchema ||
|
|
52
|
-
nodeSchema instanceof ObjectNodeSchema
|
|
58
|
+
nodeSchema instanceof ObjectNodeSchema ||
|
|
59
|
+
nodeSchema instanceof RecordNodeSchema,
|
|
53
60
|
0xb60 /* Invalid schema */,
|
|
54
61
|
);
|
|
55
62
|
const outSchema = copySchemaObjects ? copySimpleNodeSchema(nodeSchema) : nodeSchema;
|
|
@@ -82,7 +89,8 @@ function copySimpleNodeSchema(schema: SimpleNodeSchema): SimpleNodeSchema {
|
|
|
82
89
|
return copySimpleLeafSchema(schema);
|
|
83
90
|
case NodeKind.Array:
|
|
84
91
|
case NodeKind.Map:
|
|
85
|
-
|
|
92
|
+
case NodeKind.Record:
|
|
93
|
+
return copySimpleSchemaWithAllowedTypes(schema);
|
|
86
94
|
case NodeKind.Object:
|
|
87
95
|
return copySimpleObjectSchema(schema);
|
|
88
96
|
default:
|
|
@@ -99,9 +107,9 @@ function copySimpleLeafSchema(schema: SimpleLeafNodeSchema): SimpleLeafNodeSchem
|
|
|
99
107
|
};
|
|
100
108
|
}
|
|
101
109
|
|
|
102
|
-
function
|
|
103
|
-
schema: SimpleMapNodeSchema | SimpleArrayNodeSchema,
|
|
104
|
-
): SimpleMapNodeSchema | SimpleArrayNodeSchema {
|
|
110
|
+
function copySimpleSchemaWithAllowedTypes(
|
|
111
|
+
schema: SimpleMapNodeSchema | SimpleArrayNodeSchema | SimpleRecordNodeSchema,
|
|
112
|
+
): SimpleMapNodeSchema | SimpleArrayNodeSchema | SimpleRecordNodeSchema {
|
|
105
113
|
return {
|
|
106
114
|
kind: schema.kind,
|
|
107
115
|
allowedTypesIdentifiers: schema.allowedTypesIdentifiers,
|
|
@@ -438,19 +438,23 @@ export enum NodeKind {
|
|
|
438
438
|
/**
|
|
439
439
|
* A node which serves as a map, storing children under string keys.
|
|
440
440
|
*/
|
|
441
|
-
Map,
|
|
441
|
+
Map = 0,
|
|
442
442
|
/**
|
|
443
443
|
* A node which serves as an array, storing children in an ordered sequence.
|
|
444
444
|
*/
|
|
445
|
-
Array,
|
|
445
|
+
Array = 1,
|
|
446
446
|
/**
|
|
447
447
|
* A node which stores a heterogenous collection of children in named fields.
|
|
448
448
|
* @remarks
|
|
449
449
|
* Each field gets its own schema.
|
|
450
450
|
*/
|
|
451
|
-
Object,
|
|
451
|
+
Object = 2,
|
|
452
452
|
/**
|
|
453
453
|
* A node which stores a single leaf value.
|
|
454
454
|
*/
|
|
455
|
-
Leaf,
|
|
455
|
+
Leaf = 3,
|
|
456
|
+
/**
|
|
457
|
+
* A node which serves as a record, storing children under string keys.
|
|
458
|
+
*/
|
|
459
|
+
Record = 4,
|
|
456
460
|
}
|
package/src/simple-tree/index.ts
CHANGED
|
@@ -69,6 +69,8 @@ export {
|
|
|
69
69
|
type JsonTreeSchema,
|
|
70
70
|
type JsonFieldSchema,
|
|
71
71
|
type JsonLeafSchemaType,
|
|
72
|
+
type JsonRecordNodeSchema,
|
|
73
|
+
type JsonStringKeyPatternProperties,
|
|
72
74
|
type TreeSchemaEncodingOptions,
|
|
73
75
|
getJsonSchema,
|
|
74
76
|
getSimpleSchema,
|
|
@@ -83,6 +85,7 @@ export {
|
|
|
83
85
|
type System_Unsafe,
|
|
84
86
|
type ArrayNodeCustomizableSchemaUnsafe,
|
|
85
87
|
type MapNodeCustomizableSchemaUnsafe,
|
|
88
|
+
type TreeRecordNodeUnsafe,
|
|
86
89
|
type TreeViewAlpha,
|
|
87
90
|
type TreeBranch,
|
|
88
91
|
type TreeBranchEvents,
|
|
@@ -136,6 +139,7 @@ export type {
|
|
|
136
139
|
SimpleNodeSchemaBase,
|
|
137
140
|
SimpleNodeSchemaBaseAlpha,
|
|
138
141
|
SimpleObjectFieldSchema,
|
|
142
|
+
SimpleRecordNodeSchema,
|
|
139
143
|
} from "./simpleSchema.js";
|
|
140
144
|
export {
|
|
141
145
|
type NodeFromSchema,
|
|
@@ -207,11 +211,18 @@ export {
|
|
|
207
211
|
type InsertableObjectFromSchemaRecord,
|
|
208
212
|
type ObjectFromSchemaRecord,
|
|
209
213
|
ObjectNodeSchema,
|
|
214
|
+
type ObjectNodeSchemaPrivate,
|
|
210
215
|
isObjectNodeSchema,
|
|
211
216
|
type InsertableObjectFromAnnotatedSchemaRecord,
|
|
212
217
|
type TreeObjectNode,
|
|
213
218
|
setField,
|
|
214
219
|
createUnknownOptionalFieldPolicy,
|
|
220
|
+
isRecordNodeSchema,
|
|
221
|
+
type RecordNodeCustomizableSchema,
|
|
222
|
+
type RecordNodeInsertableData,
|
|
223
|
+
type RecordNodePojoEmulationSchema,
|
|
224
|
+
RecordNodeSchema,
|
|
225
|
+
type TreeRecordNode,
|
|
215
226
|
} from "./node-kinds/index.js";
|
|
216
227
|
export {
|
|
217
228
|
unhydratedFlexTreeFromInsertable,
|
|
@@ -33,7 +33,18 @@ export {
|
|
|
33
33
|
isObjectNodeSchema,
|
|
34
34
|
type ObjectFromSchemaRecord,
|
|
35
35
|
ObjectNodeSchema,
|
|
36
|
+
type ObjectNodeSchemaPrivate,
|
|
36
37
|
objectSchema,
|
|
37
38
|
setField,
|
|
38
39
|
type TreeObjectNode,
|
|
39
40
|
} from "./object/index.js";
|
|
41
|
+
|
|
42
|
+
export {
|
|
43
|
+
isRecordNodeSchema,
|
|
44
|
+
type RecordNodeCustomizableSchema,
|
|
45
|
+
type RecordNodeInsertableData,
|
|
46
|
+
type RecordNodePojoEmulationSchema,
|
|
47
|
+
RecordNodeSchema,
|
|
48
|
+
recordSchema,
|
|
49
|
+
type TreeRecordNode,
|
|
50
|
+
} from "./record/index.js";
|
|
@@ -13,4 +13,8 @@ export {
|
|
|
13
13
|
setField,
|
|
14
14
|
type TreeObjectNode,
|
|
15
15
|
} from "./objectNode.js";
|
|
16
|
-
export {
|
|
16
|
+
export {
|
|
17
|
+
isObjectNodeSchema,
|
|
18
|
+
ObjectNodeSchema,
|
|
19
|
+
type ObjectNodeSchemaPrivate,
|
|
20
|
+
} from "./objectNodeTypes.js";
|
|
@@ -40,6 +40,7 @@ import {
|
|
|
40
40
|
isObjectNodeSchema,
|
|
41
41
|
type ObjectNodeSchema,
|
|
42
42
|
type ObjectNodeSchemaInternalData,
|
|
43
|
+
type ObjectNodeSchemaPrivate,
|
|
43
44
|
} from "./objectNodeTypes.js";
|
|
44
45
|
import { prepareForInsertion } from "../../prepareForInsertion.js";
|
|
45
46
|
import {
|
|
@@ -216,7 +217,7 @@ function createFlexKeyMapping(
|
|
|
216
217
|
* If not provided `{}` is used for the target.
|
|
217
218
|
*/
|
|
218
219
|
function createProxyHandler(
|
|
219
|
-
schema:
|
|
220
|
+
schema: ObjectNodeSchemaPrivate,
|
|
220
221
|
allowAdditionalProperties: boolean,
|
|
221
222
|
): ProxyHandler<TreeNode> {
|
|
222
223
|
// To satisfy 'deepEquals' level scrutiny, the target of the proxy must be an object with the same
|
|
@@ -476,7 +477,7 @@ export function objectSchema<
|
|
|
476
477
|
protected static override oneTimeSetup<T2>(this: typeof TreeNodeValid<T2>): Context {
|
|
477
478
|
// One time initialization that required knowing the most derived type (from this.constructor) and thus has to be lazy.
|
|
478
479
|
customizable = (this as unknown) !== CustomObjectNode;
|
|
479
|
-
const schema = this as unknown as
|
|
480
|
+
const schema = this as unknown as ObjectNodeSchemaPrivate;
|
|
480
481
|
handler = createProxyHandler(schema, customizable);
|
|
481
482
|
unhydratedContext = getUnhydratedContext(schema);
|
|
482
483
|
|
|
@@ -83,8 +83,11 @@ export const ObjectNodeSchema = {
|
|
|
83
83
|
},
|
|
84
84
|
} as const;
|
|
85
85
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
86
|
+
/**
|
|
87
|
+
* {@link ObjectNodeSchema} with data that is not part of the package-exported API surface.
|
|
88
|
+
*/
|
|
89
|
+
export type ObjectNodeSchemaPrivate = ObjectNodeSchema & ObjectNodeSchemaInternalData;
|
|
90
|
+
|
|
91
|
+
export function isObjectNodeSchema(schema: TreeNodeSchema): schema is ObjectNodeSchemaPrivate {
|
|
89
92
|
return schema.kind === NodeKind.Object;
|
|
90
93
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export { recordSchema } from "./recordNode.js";
|
|
7
|
+
export {
|
|
8
|
+
isRecordNodeSchema,
|
|
9
|
+
type RecordNodeCustomizableSchema,
|
|
10
|
+
type RecordNodeInsertableData,
|
|
11
|
+
type RecordNodePojoEmulationSchema,
|
|
12
|
+
RecordNodeSchema,
|
|
13
|
+
type TreeRecordNode,
|
|
14
|
+
} from "./recordNodeTypes.js";
|