@fluidframework/tree 2.40.0-336023 → 2.40.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 +64 -0
- package/api-report/tree.alpha.api.md +4 -1
- package/dist/alpha.d.ts +1 -0
- package/dist/codec/codec.d.ts +5 -1
- package/dist/codec/codec.d.ts.map +1 -1
- package/dist/codec/codec.js +6 -2
- package/dist/codec/codec.js.map +1 -1
- package/dist/codec/index.d.ts +1 -1
- package/dist/codec/index.d.ts.map +1 -1
- package/dist/codec/index.js +2 -1
- package/dist/codec/index.js.map +1 -1
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +2 -3
- package/dist/core/index.js.map +1 -1
- package/dist/core/schema-stored/{format.d.ts → formatV1.d.ts} +1 -1
- package/dist/core/schema-stored/formatV1.d.ts.map +1 -0
- package/dist/core/schema-stored/{format.js → formatV1.js} +1 -1
- package/dist/core/schema-stored/formatV1.js.map +1 -0
- package/dist/core/schema-stored/index.d.ts +3 -3
- package/dist/core/schema-stored/index.d.ts.map +1 -1
- package/dist/core/schema-stored/index.js +3 -3
- package/dist/core/schema-stored/index.js.map +1 -1
- package/dist/core/schema-stored/schema.d.ts +3 -1
- package/dist/core/schema-stored/schema.d.ts.map +1 -1
- package/dist/core/schema-stored/schema.js +8 -6
- package/dist/core/schema-stored/schema.js.map +1 -1
- package/dist/core/schema-stored/storedSchemaRepository.d.ts +1 -1
- package/dist/core/schema-stored/storedSchemaRepository.d.ts.map +1 -1
- package/dist/core/schema-stored/storedSchemaRepository.js.map +1 -1
- package/dist/core/schema-view/index.d.ts +1 -1
- package/dist/core/schema-view/index.d.ts.map +1 -1
- package/dist/core/schema-view/index.js +1 -2
- package/dist/core/schema-view/index.js.map +1 -1
- package/dist/core/schema-view/view.d.ts +0 -27
- package/dist/core/schema-view/view.d.ts.map +1 -1
- package/dist/core/schema-view/view.js +1 -35
- package/dist/core/schema-view/view.js.map +1 -1
- package/dist/core/tree/persistedTreeTextFormat.d.ts +4 -4
- package/dist/core/tree/persistedTreeTextFormat.d.ts.map +1 -1
- package/dist/core/tree/persistedTreeTextFormat.js +1 -1
- package/dist/core/tree/persistedTreeTextFormat.js.map +1 -1
- package/dist/feature-libraries/forest-summary/format.d.ts +2 -2
- package/dist/feature-libraries/forest-summary/format.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/format.js +1 -1
- package/dist/feature-libraries/forest-summary/format.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/mapTreeCursor.d.ts +3 -3
- package/dist/feature-libraries/mapTreeCursor.d.ts.map +1 -1
- package/dist/feature-libraries/mapTreeCursor.js +2 -2
- package/dist/feature-libraries/mapTreeCursor.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFormat.d.ts +9 -9
- package/dist/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFormat.js +2 -2
- package/dist/feature-libraries/modular-schema/modularChangeFormat.js.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +14 -1
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js +26 -5
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeFormat.d.ts +2 -2
- package/dist/feature-libraries/schema-edits/schemaChangeFormat.d.ts.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeFormat.js.map +1 -1
- package/dist/feature-libraries/schema-index/codec.d.ts +34 -5
- package/dist/feature-libraries/schema-index/codec.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/codec.js +63 -9
- package/dist/feature-libraries/schema-index/codec.js.map +1 -1
- package/{lib/feature-libraries/schema-index/format.d.ts → dist/feature-libraries/schema-index/formatV1.d.ts} +9 -9
- package/dist/feature-libraries/schema-index/formatV1.d.ts.map +1 -0
- package/dist/feature-libraries/schema-index/{format.js → formatV1.js} +4 -4
- package/dist/feature-libraries/schema-index/formatV1.js.map +1 -0
- package/dist/feature-libraries/schema-index/index.d.ts +2 -2
- package/dist/feature-libraries/schema-index/index.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/index.js +6 -3
- package/dist/feature-libraries/schema-index/index.js.map +1 -1
- package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts +5 -5
- package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/schemaSummarizer.js +4 -4
- package/dist/feature-libraries/schema-index/schemaSummarizer.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -8
- package/dist/index.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.d.ts.map +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 +1 -1
- package/dist/shared-tree/index.d.ts.map +1 -1
- package/dist/shared-tree/index.js +2 -1
- package/dist/shared-tree/index.js.map +1 -1
- package/dist/shared-tree/schematizeTree.d.ts +8 -9
- package/dist/shared-tree/schematizeTree.d.ts.map +1 -1
- package/dist/shared-tree/schematizeTree.js +9 -33
- 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 +1 -4
- package/dist/shared-tree/schematizingTreeView.js.map +1 -1
- package/dist/shared-tree/sharedTree.d.ts +28 -3
- package/dist/shared-tree/sharedTree.d.ts.map +1 -1
- package/dist/shared-tree/sharedTree.js +29 -3
- package/dist/shared-tree/sharedTree.js.map +1 -1
- package/dist/shared-tree/tree.d.ts +24 -0
- package/dist/shared-tree/tree.d.ts.map +1 -1
- package/dist/shared-tree/tree.js.map +1 -1
- package/dist/shared-tree/treeAlpha.d.ts +2 -0
- package/dist/shared-tree/treeAlpha.d.ts.map +1 -1
- package/dist/shared-tree/treeAlpha.js +3 -2
- package/dist/shared-tree/treeAlpha.js.map +1 -1
- package/dist/shared-tree-core/branchCommitEnricher.d.ts +0 -1
- package/dist/shared-tree-core/branchCommitEnricher.d.ts.map +1 -1
- package/dist/shared-tree-core/branchCommitEnricher.js +0 -1
- package/dist/shared-tree-core/branchCommitEnricher.js.map +1 -1
- package/dist/shared-tree-core/transactionEnricher.d.ts +1 -1
- package/dist/shared-tree-core/transactionEnricher.d.ts.map +1 -1
- package/dist/shared-tree-core/transactionEnricher.js +4 -1
- package/dist/shared-tree-core/transactionEnricher.js.map +1 -1
- package/dist/simple-tree/api/index.d.ts +2 -1
- package/dist/simple-tree/api/index.d.ts.map +1 -1
- package/dist/simple-tree/api/index.js +2 -1
- package/dist/simple-tree/api/index.js.map +1 -1
- package/dist/simple-tree/api/schemaFactory.d.ts +9 -0
- package/dist/simple-tree/api/schemaFactory.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactory.js +7 -0
- package/dist/simple-tree/api/schemaFactory.js.map +1 -1
- package/dist/simple-tree/api/storedSchema.d.ts +8 -7
- package/dist/simple-tree/api/storedSchema.d.ts.map +1 -1
- package/dist/simple-tree/api/storedSchema.js +13 -9
- package/dist/simple-tree/api/storedSchema.js.map +1 -1
- package/dist/simple-tree/api/tree.d.ts +25 -0
- 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/treeBeta.d.ts +4 -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/treeChangeEvents.d.ts +83 -0
- package/dist/simple-tree/api/treeChangeEvents.d.ts.map +1 -0
- package/dist/simple-tree/api/treeChangeEvents.js +7 -0
- package/dist/simple-tree/api/treeChangeEvents.js.map +1 -0
- package/dist/simple-tree/api/treeNodeApi.d.ts +2 -1
- package/dist/simple-tree/api/treeNodeApi.d.ts.map +1 -1
- package/dist/simple-tree/api/treeNodeApi.js.map +1 -1
- package/dist/simple-tree/arrayNode.d.ts +28 -0
- package/dist/simple-tree/arrayNode.d.ts.map +1 -1
- package/dist/simple-tree/arrayNode.js.map +1 -1
- package/dist/simple-tree/core/getOrCreateNode.d.ts +1 -1
- package/dist/simple-tree/core/getOrCreateNode.d.ts.map +1 -1
- package/dist/simple-tree/core/getOrCreateNode.js.map +1 -1
- package/dist/simple-tree/core/index.d.ts +2 -1
- package/dist/simple-tree/core/index.d.ts.map +1 -1
- package/dist/simple-tree/core/index.js +5 -5
- package/dist/simple-tree/core/index.js.map +1 -1
- package/dist/simple-tree/core/treeNode.d.ts +94 -0
- package/dist/simple-tree/core/treeNode.d.ts.map +1 -0
- package/dist/simple-tree/core/treeNode.js +123 -0
- package/dist/simple-tree/core/treeNode.js.map +1 -0
- package/dist/simple-tree/core/treeNodeKernel.d.ts +2 -1
- package/dist/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
- package/dist/simple-tree/core/treeNodeKernel.js.map +1 -1
- package/dist/simple-tree/core/treeNodeSchema.d.ts +3 -1
- 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/types.d.ts +0 -165
- package/dist/simple-tree/core/types.d.ts.map +1 -1
- package/dist/simple-tree/core/types.js +1 -113
- package/dist/simple-tree/core/types.js.map +1 -1
- package/dist/simple-tree/core/withType.d.ts +1 -1
- package/dist/simple-tree/core/withType.d.ts.map +1 -1
- package/dist/simple-tree/core/withType.js.map +1 -1
- package/dist/simple-tree/index.d.ts +2 -2
- package/dist/simple-tree/index.d.ts.map +1 -1
- package/dist/simple-tree/index.js +3 -2
- package/dist/simple-tree/index.js.map +1 -1
- package/dist/simple-tree/schemaTypes.d.ts +1 -0
- package/dist/simple-tree/schemaTypes.d.ts.map +1 -1
- package/dist/simple-tree/schemaTypes.js.map +1 -1
- package/dist/simple-tree/toStoredSchema.d.ts +8 -8
- package/dist/simple-tree/toStoredSchema.d.ts.map +1 -1
- package/dist/simple-tree/toStoredSchema.js +27 -32
- package/dist/simple-tree/toStoredSchema.js.map +1 -1
- package/dist/tableSchema.d.ts +302 -83
- package/dist/tableSchema.d.ts.map +1 -1
- package/dist/tableSchema.js +299 -57
- package/dist/tableSchema.js.map +1 -1
- package/dist/treeFactory.d.ts +1 -1
- package/dist/treeFactory.d.ts.map +1 -1
- package/dist/treeFactory.js +30 -75
- package/dist/treeFactory.js.map +1 -1
- package/lib/alpha.d.ts +1 -0
- package/lib/codec/codec.d.ts +5 -1
- package/lib/codec/codec.d.ts.map +1 -1
- package/lib/codec/codec.js +5 -1
- package/lib/codec/codec.js.map +1 -1
- package/lib/codec/index.d.ts +1 -1
- 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/core/index.d.ts +2 -2
- package/lib/core/index.d.ts.map +1 -1
- package/lib/core/index.js +2 -2
- package/lib/core/index.js.map +1 -1
- package/lib/core/schema-stored/{format.d.ts → formatV1.d.ts} +1 -1
- package/lib/core/schema-stored/formatV1.d.ts.map +1 -0
- package/lib/core/schema-stored/{format.js → formatV1.js} +1 -1
- package/lib/core/schema-stored/formatV1.js.map +1 -0
- package/lib/core/schema-stored/index.d.ts +3 -3
- package/lib/core/schema-stored/index.d.ts.map +1 -1
- package/lib/core/schema-stored/index.js +2 -2
- package/lib/core/schema-stored/index.js.map +1 -1
- package/lib/core/schema-stored/schema.d.ts +3 -1
- package/lib/core/schema-stored/schema.d.ts.map +1 -1
- package/lib/core/schema-stored/schema.js +3 -1
- package/lib/core/schema-stored/schema.js.map +1 -1
- package/lib/core/schema-stored/storedSchemaRepository.d.ts +1 -1
- package/lib/core/schema-stored/storedSchemaRepository.d.ts.map +1 -1
- package/lib/core/schema-stored/storedSchemaRepository.js.map +1 -1
- package/lib/core/schema-view/index.d.ts +1 -1
- package/lib/core/schema-view/index.d.ts.map +1 -1
- package/lib/core/schema-view/index.js +1 -1
- package/lib/core/schema-view/index.js.map +1 -1
- package/lib/core/schema-view/view.d.ts +0 -27
- package/lib/core/schema-view/view.d.ts.map +1 -1
- package/lib/core/schema-view/view.js +0 -34
- package/lib/core/schema-view/view.js.map +1 -1
- package/lib/core/tree/persistedTreeTextFormat.d.ts +4 -4
- package/lib/core/tree/persistedTreeTextFormat.d.ts.map +1 -1
- package/lib/core/tree/persistedTreeTextFormat.js +2 -2
- package/lib/core/tree/persistedTreeTextFormat.js.map +1 -1
- package/lib/feature-libraries/forest-summary/format.d.ts +2 -2
- package/lib/feature-libraries/forest-summary/format.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/format.js +2 -2
- package/lib/feature-libraries/forest-summary/format.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/mapTreeCursor.d.ts +3 -3
- package/lib/feature-libraries/mapTreeCursor.d.ts.map +1 -1
- package/lib/feature-libraries/mapTreeCursor.js +2 -2
- package/lib/feature-libraries/mapTreeCursor.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFormat.d.ts +9 -9
- package/lib/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFormat.js +3 -3
- package/lib/feature-libraries/modular-schema/modularChangeFormat.js.map +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +14 -1
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js +26 -6
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeFormat.d.ts +2 -2
- package/lib/feature-libraries/schema-edits/schemaChangeFormat.d.ts.map +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeFormat.js +3 -3
- package/lib/feature-libraries/schema-edits/schemaChangeFormat.js.map +1 -1
- package/lib/feature-libraries/schema-index/codec.d.ts +34 -5
- package/lib/feature-libraries/schema-index/codec.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/codec.js +61 -9
- package/lib/feature-libraries/schema-index/codec.js.map +1 -1
- package/{dist/feature-libraries/schema-index/format.d.ts → lib/feature-libraries/schema-index/formatV1.d.ts} +9 -9
- package/lib/feature-libraries/schema-index/formatV1.d.ts.map +1 -0
- package/lib/feature-libraries/schema-index/{format.js → formatV1.js} +5 -5
- package/lib/feature-libraries/schema-index/formatV1.js.map +1 -0
- package/lib/feature-libraries/schema-index/index.d.ts +2 -2
- package/lib/feature-libraries/schema-index/index.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/index.js +2 -2
- package/lib/feature-libraries/schema-index/index.js.map +1 -1
- package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts +5 -5
- package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/schemaSummarizer.js +5 -5
- package/lib/feature-libraries/schema-index/schemaSummarizer.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.d.ts.map +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 +1 -1
- package/lib/shared-tree/index.d.ts.map +1 -1
- package/lib/shared-tree/index.js +1 -1
- package/lib/shared-tree/index.js.map +1 -1
- package/lib/shared-tree/schematizeTree.d.ts +8 -9
- package/lib/shared-tree/schematizeTree.d.ts.map +1 -1
- package/lib/shared-tree/schematizeTree.js +10 -34
- 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 +2 -5
- package/lib/shared-tree/schematizingTreeView.js.map +1 -1
- package/lib/shared-tree/sharedTree.d.ts +28 -3
- package/lib/shared-tree/sharedTree.d.ts.map +1 -1
- package/lib/shared-tree/sharedTree.js +29 -4
- package/lib/shared-tree/sharedTree.js.map +1 -1
- package/lib/shared-tree/tree.d.ts +24 -0
- package/lib/shared-tree/tree.d.ts.map +1 -1
- package/lib/shared-tree/tree.js.map +1 -1
- package/lib/shared-tree/treeAlpha.d.ts +2 -0
- package/lib/shared-tree/treeAlpha.d.ts.map +1 -1
- package/lib/shared-tree/treeAlpha.js +4 -3
- package/lib/shared-tree/treeAlpha.js.map +1 -1
- package/lib/shared-tree-core/branchCommitEnricher.d.ts +0 -1
- package/lib/shared-tree-core/branchCommitEnricher.d.ts.map +1 -1
- package/lib/shared-tree-core/branchCommitEnricher.js +0 -1
- package/lib/shared-tree-core/branchCommitEnricher.js.map +1 -1
- package/lib/shared-tree-core/transactionEnricher.d.ts +1 -1
- package/lib/shared-tree-core/transactionEnricher.d.ts.map +1 -1
- package/lib/shared-tree-core/transactionEnricher.js +4 -1
- package/lib/shared-tree-core/transactionEnricher.js.map +1 -1
- package/lib/simple-tree/api/index.d.ts +2 -1
- 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 +9 -0
- package/lib/simple-tree/api/schemaFactory.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactory.js +7 -0
- package/lib/simple-tree/api/schemaFactory.js.map +1 -1
- package/lib/simple-tree/api/storedSchema.d.ts +8 -7
- package/lib/simple-tree/api/storedSchema.d.ts.map +1 -1
- package/lib/simple-tree/api/storedSchema.js +17 -11
- package/lib/simple-tree/api/storedSchema.js.map +1 -1
- package/lib/simple-tree/api/tree.d.ts +25 -0
- 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/treeBeta.d.ts +4 -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/treeChangeEvents.d.ts +83 -0
- package/lib/simple-tree/api/treeChangeEvents.d.ts.map +1 -0
- package/lib/simple-tree/api/treeChangeEvents.js +6 -0
- package/lib/simple-tree/api/treeChangeEvents.js.map +1 -0
- package/lib/simple-tree/api/treeNodeApi.d.ts +2 -1
- package/lib/simple-tree/api/treeNodeApi.d.ts.map +1 -1
- package/lib/simple-tree/api/treeNodeApi.js.map +1 -1
- package/lib/simple-tree/arrayNode.d.ts +28 -0
- package/lib/simple-tree/arrayNode.d.ts.map +1 -1
- package/lib/simple-tree/arrayNode.js.map +1 -1
- package/lib/simple-tree/core/getOrCreateNode.d.ts +1 -1
- package/lib/simple-tree/core/getOrCreateNode.d.ts.map +1 -1
- package/lib/simple-tree/core/getOrCreateNode.js.map +1 -1
- package/lib/simple-tree/core/index.d.ts +2 -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/treeNode.d.ts +94 -0
- package/lib/simple-tree/core/treeNode.d.ts.map +1 -0
- package/lib/simple-tree/core/treeNode.js +118 -0
- package/lib/simple-tree/core/treeNode.js.map +1 -0
- package/lib/simple-tree/core/treeNodeKernel.d.ts +2 -1
- package/lib/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
- package/lib/simple-tree/core/treeNodeKernel.js.map +1 -1
- package/lib/simple-tree/core/treeNodeSchema.d.ts +3 -1
- 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/types.d.ts +0 -165
- package/lib/simple-tree/core/types.d.ts.map +1 -1
- package/lib/simple-tree/core/types.js +0 -110
- package/lib/simple-tree/core/types.js.map +1 -1
- package/lib/simple-tree/core/withType.d.ts +1 -1
- package/lib/simple-tree/core/withType.d.ts.map +1 -1
- package/lib/simple-tree/core/withType.js.map +1 -1
- package/lib/simple-tree/index.d.ts +2 -2
- 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/schemaTypes.d.ts +1 -0
- package/lib/simple-tree/schemaTypes.d.ts.map +1 -1
- package/lib/simple-tree/schemaTypes.js.map +1 -1
- package/lib/simple-tree/toStoredSchema.d.ts +8 -8
- package/lib/simple-tree/toStoredSchema.d.ts.map +1 -1
- package/lib/simple-tree/toStoredSchema.js +26 -31
- package/lib/simple-tree/toStoredSchema.js.map +1 -1
- package/lib/tableSchema.d.ts +302 -83
- package/lib/tableSchema.d.ts.map +1 -1
- package/lib/tableSchema.js +299 -57
- package/lib/tableSchema.js.map +1 -1
- package/lib/treeFactory.d.ts +1 -1
- package/lib/treeFactory.d.ts.map +1 -1
- package/lib/treeFactory.js +30 -75
- package/lib/treeFactory.js.map +1 -1
- package/package.json +21 -21
- package/src/codec/codec.ts +6 -1
- package/src/codec/index.ts +1 -0
- package/src/core/index.ts +1 -2
- package/src/core/schema-stored/index.ts +3 -3
- package/src/core/schema-stored/schema.ts +3 -1
- package/src/core/schema-stored/storedSchemaRepository.ts +1 -1
- package/src/core/schema-view/index.ts +0 -1
- package/src/core/schema-view/view.ts +0 -31
- package/src/core/tree/persistedTreeTextFormat.ts +2 -2
- package/src/feature-libraries/forest-summary/format.ts +2 -2
- package/src/feature-libraries/index.ts +7 -1
- package/src/feature-libraries/mapTreeCursor.ts +3 -3
- package/src/feature-libraries/modular-schema/modularChangeFormat.ts +3 -3
- package/src/feature-libraries/schema-edits/schemaChangeCodecs.ts +38 -9
- package/src/feature-libraries/schema-edits/schemaChangeFormat.ts +3 -4
- package/src/feature-libraries/schema-index/codec.ts +80 -12
- package/src/feature-libraries/schema-index/{format.ts → formatV1.ts} +4 -4
- package/src/feature-libraries/schema-index/index.ts +7 -2
- package/src/feature-libraries/schema-index/schemaSummarizer.ts +9 -9
- package/src/index.ts +1 -0
- package/src/packageVersion.ts +1 -1
- package/src/shared-tree/independentView.ts +3 -2
- package/src/shared-tree/index.ts +2 -0
- package/src/shared-tree/schematizeTree.ts +5 -35
- package/src/shared-tree/schematizingTreeView.ts +2 -10
- package/src/shared-tree/sharedTree.ts +67 -6
- package/src/shared-tree/tree.ts +24 -0
- package/src/shared-tree/treeAlpha.ts +6 -3
- package/src/shared-tree-core/branchCommitEnricher.ts +0 -1
- package/src/shared-tree-core/transactionEnricher.ts +4 -1
- package/src/simple-tree/api/index.ts +2 -0
- package/src/simple-tree/api/schemaFactory.ts +9 -0
- package/src/simple-tree/api/storedSchema.ts +24 -13
- package/src/simple-tree/api/tree.ts +25 -0
- package/src/simple-tree/api/treeBeta.ts +3 -1
- package/src/simple-tree/api/treeChangeEvents.ts +84 -0
- package/src/simple-tree/api/treeNodeApi.ts +1 -1
- package/src/simple-tree/arrayNode.ts +28 -0
- package/src/simple-tree/core/getOrCreateNode.ts +1 -1
- package/src/simple-tree/core/index.ts +5 -4
- package/src/simple-tree/core/treeNode.ts +163 -0
- package/src/simple-tree/core/treeNodeKernel.ts +2 -1
- package/src/simple-tree/core/treeNodeSchema.ts +3 -1
- package/src/simple-tree/core/types.ts +0 -234
- package/src/simple-tree/core/withType.ts +1 -1
- package/src/simple-tree/index.ts +2 -1
- package/src/simple-tree/schemaTypes.ts +1 -0
- package/src/simple-tree/toStoredSchema.ts +42 -41
- package/src/tableSchema.ts +665 -197
- package/src/treeFactory.ts +56 -173
- package/dist/core/schema-stored/format.d.ts.map +0 -1
- package/dist/core/schema-stored/format.js.map +0 -1
- package/dist/feature-libraries/schema-index/format.d.ts.map +0 -1
- package/dist/feature-libraries/schema-index/format.js.map +0 -1
- package/lib/core/schema-stored/format.d.ts.map +0 -1
- package/lib/core/schema-stored/format.js.map +0 -1
- package/lib/feature-libraries/schema-index/format.d.ts.map +0 -1
- package/lib/feature-libraries/schema-index/format.js.map +0 -1
- /package/src/core/schema-stored/{format.ts → formatV1.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableSchema.d.ts","sourceRoot":"","sources":["../src/tableSchema.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"tableSchema.d.ts","sourceRoot":"","sources":["../src/tableSchema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EACN,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAEzB,KAAK,0CAA0C,EAC/C,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,aAAa,EACb,KAAK,QAAQ,EACb,KAAK,gCAAgC,EAErC,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EACb,KAAK,0BAA0B,EAC/B,KAAK,oCAAoC,EACzC,KAAK,gBAAgB,EACrB,aAAa,EACb,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EAClC,MAAM,wBAAwB,CAAC;AAehC;;;;;;;;;GASG;AACH,yBAAiB,kBAAkB,CAAC;IACnC;;;;;;;OAOG;IACH,KAAY,gBAAgB,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAE7E;;;;;OAKG;IACH,UAAiB,wBAAwB,CAAC,cAAc,SAAS,kBAAkB;QAClF;;;WAGG;QACH,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC;KACvC;IAED;;;;;OAKG;IACH,UAAiB,qBAAqB,CAAC,WAAW,SAAS,oBAAoB;QAC9E;;WAEG;QACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;KAC3B;IAID;;;;OAIG;IACH,KAAY,uBAAuB,CAClC,cAAc,SAAS,kBAAkB,GAAG,kBAAkB,IAC3D,wBAAwB,CAAC,cAAc,CAAC,CAAC;IAE7C;;;OAGG;IAEH,SAAgB,oBAAoB,CACnC,KAAK,CAAC,WAAW,SAAS,MAAM,GAAG,SAAS,EAC5C,KAAK,CAAC,YAAY,SAAS,4BAA4B,EACtD,kBAAkB,EAAE,kBAAkB,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,YAAY;;;QA2D3E;;;WAGG;;;QAMH;;;WAGG;eACI,qCACN,8BAA8B,YAAY,CAAC,CAC3C;;;;OAmCL;IAED;;;OAGG;IACH,KAAY,gBAAgB,CAC3B,MAAM,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,EACtD,YAAY,SAAS,4BAA4B,GAAG,4BAA4B,IAC7E,UAAU,CAAC,OAAO,oBAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAMlE;;;;OAIG;IACH,KAAY,oBAAoB,CAC/B,cAAc,SAAS,kBAAkB,GAAG,kBAAkB,EAC9D,KAAK,SAAS,oBAAoB,GAAG,oBAAoB,IACtD,wBAAwB,CAAC,cAAc,CAAC,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAE5E;;;;OAIG;IAEH,SAAgB,iBAAiB,CAChC,KAAK,CAAC,WAAW,SAAS,MAAM,GAAG,SAAS,EAC5C,KAAK,CAAC,WAAW,SAAS,oBAAoB,EAC9C,KAAK,CAAC,YAAY,SAAS,4BAA4B,EAEvD,kBAAkB,EAAE,kBAAkB,CAAC,WAAW,CAAC,EACnD,UAAU,EAAE,WAAW,EACvB,WAAW,EAAE,YAAY;;;;QA8FrB;;;;WAIG;;;QAMH;;;;WAIG;eACI,qCACN,8BAA8B,YAAY,CAAC,CAC3C;;;;;OAmCL;IAED;;;OAGG;IACH,KAAY,aAAa,CACxB,MAAM,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,EACtD,WAAW,SAAS,oBAAoB,GAAG,oBAAoB,EAC/D,YAAY,SAAS,4BAA4B,GAAG,4BAA4B,IAC7E,UAAU,CAAC,OAAO,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;IAM5E;;;;OAIG;IACH,KAAY,uBAAuB,CAClC,cAAc,SAAS,kBAAkB,GAAG,kBAAkB,EAC9D,KAAK,SAAS,oBAAoB,GAAG,oBAAoB,IACtD,wBAAwB,CAAC,cAAc,CAAC,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAE5E;;;OAGG;IAEH,SAAgB,mBAAmB,CAClC,KAAK,CAAC,WAAW,SAAS,MAAM,GAAG,SAAS,EAC5C,KAAK,CAAC,WAAW,SAAS,oBAAoB,EAC9C,KAAK,CAAC,aAAa,SAAS,gBAAgB,CAAC,WAAW,CAAC,EACzD,KAAK,CAAC,UAAU,SAAS,aAAa,CAAC,WAAW,EAAE,WAAW,CAAC,EAEhE,kBAAkB,EAAE,kBAAkB,CAAC,WAAW,CAAC,EACnD,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,aAAa,EAC3B,SAAS,EAAE,UAAU;;;;;;OA0YrB;IAED;;;OAGG;IACH,KAAY,eAAe,CAC1B,MAAM,SAAS,MAAM,GAAG,SAAS,EACjC,KAAK,SAAS,oBAAoB,EAClC,OAAO,SAAS,gBAAgB,CAAC,MAAM,CAAC,EACxC,IAAI,SAAS,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,IACtC,UAAU,CAAC,OAAO,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;CAGzE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwFG;AACH,yBAAiB,WAAW,CAAC;IAG5B;;;;OAIG;IACH,UAAiB,MAAM,CACtB,MAAM,SAAS,4BAA4B,GAAG,4BAA4B;QAE1E;;;WAGG;QACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAEpB;;;;;;WAMG;QACH,IAAI,KAAK,IAAI,0BAA0B,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/E,IAAI,KAAK,CAAC,KAAK,EAAE,oCAAoC,CACpD,6BAA6B,CAAC,MAAM,CAAC,CACrC,EAAE;KACH;IAED;;;OAGG;IACH,SAAgB,YAAY,CAAC,KAAK,CAAC,MAAM,SAAS,MAAM,GAAG,SAAS,EAAE,EACrE,aAAa,GACb,EAAE,kBAAkB,CAAC,uBAAuB,CAC5C,kBAAkB,CAAC,MAAM,CAAC,CAC1B,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IACrF;;;OAGG;IACH,SAAgB,YAAY,CAC3B,KAAK,CAAC,MAAM,SAAS,MAAM,GAAG,SAAS,EACvC,KAAK,CAAC,MAAM,SAAS,4BAA4B,EAChD,EACD,aAAa,EACb,KAAK,GACL,EAAE,kBAAkB,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG;QAC3E;;WAEG;QACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACvB,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAiBxD;;;;OAIG;IACH,UAAiB,GAAG,CACnB,KAAK,SAAS,oBAAoB,GAAG,oBAAoB,EACzD,MAAM,SAAS,4BAA4B,GAAG,4BAA4B;QAE1E;;;WAGG;QACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAEpB;;;;WAIG;QACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,gCAAgC,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;QAC7E;;;WAGG;QACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,gCAAgC,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;QAE/E;;;;WAIG;QACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,0CAA0C,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QACxF;;;WAGG;QACH,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,0CAA0C,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QAE1F;;;;WAIG;QACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,gCAAgC,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;QAChF;;;WAGG;QACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,gCAAgC,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;QAElF;;;;;;WAMG;QACH,IAAI,KAAK,IAAI,0BAA0B,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/E,IAAI,KAAK,CAAC,KAAK,EAAE,oCAAoC,CACpD,6BAA6B,CAAC,MAAM,CAAC,CACrC,EAAE;KACH;IAED;;;OAGG;IACH,SAAgB,SAAS,CACxB,KAAK,CAAC,MAAM,SAAS,MAAM,GAAG,SAAS,EACvC,KAAK,CAAC,KAAK,SAAS,oBAAoB,EACvC,EACD,aAAa,EACb,IAAI,GACJ,EAAE,kBAAkB,CAAC,oBAAoB,CACzC,kBAAkB,CAAC,MAAM,CAAC,EAC1B,KAAK,CACL,GAAG,kBAAkB,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IACzF;;;OAGG;IACH,SAAgB,SAAS,CACxB,KAAK,CAAC,MAAM,SAAS,MAAM,GAAG,SAAS,EACvC,KAAK,CAAC,KAAK,SAAS,oBAAoB,EACxC,KAAK,CAAC,MAAM,SAAS,4BAA4B,EAChD,EACD,aAAa,EACb,IAAI,EACJ,KAAK,GACL,EAAE,kBAAkB,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG;QAC/E;;WAEG;QACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACvB,GAAG,kBAAkB,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAkB5D;;;OAGG;IACH,UAAiB,OAAO,CACvB,OAAO,SAAS,oBAAoB,EACpC,IAAI,SAAS,oBAAoB;QAEjC;;WAEG;QACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,gCAAgC,CAAC,OAAO,CAAC,CAAC;QAEpE;;WAEG;QACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;KAC9D;IAED;;;OAGG;IACH,UAAiB,sBAAsB,CAAC,OAAO,SAAS,oBAAoB;QAC3E;;;WAGG;QACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAEpC;;WAEG;QACH,QAAQ,CAAC,MAAM,EAAE,0CAA0C,CAAC,OAAO,CAAC,CAAC;KACrE;IAED;;;OAGG;IACH,UAAiB,uBAAuB,CAAC,OAAO,SAAS,oBAAoB;QAC5E;;;WAGG;QACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAEpC;;WAEG;QACH,QAAQ,CAAC,OAAO,EAAE,0CAA0C,CAAC,OAAO,CAAC,EAAE,CAAC;KACxE;IAED;;;OAGG;IACH,UAAiB,mBAAmB,CAAC,IAAI,SAAS,oBAAoB;QACrE;;;WAGG;QACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAEpC;;WAEG;QACH,QAAQ,CAAC,GAAG,EAAE,0CAA0C,CAAC,IAAI,CAAC,CAAC;KAC/D;IAED;;;OAGG;IACH,UAAiB,oBAAoB,CAAC,IAAI,SAAS,oBAAoB;QACtE;;;WAGG;QACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAEpC;;WAEG;QACH,QAAQ,CAAC,IAAI,EAAE,0CAA0C,CAAC,IAAI,CAAC,EAAE,CAAC;KAClE;IAED;;;OAGG;IACH,UAAiB,iBAAiB,CACjC,KAAK,SAAS,oBAAoB,EAClC,OAAO,SAAS,oBAAoB,EACpC,IAAI,SAAS,oBAAoB;QAEjC;;WAEG;QACH,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAErC;;WAEG;QACH,QAAQ,CAAC,IAAI,EAAE,0CAA0C,CAAC,KAAK,CAAC,CAAC;KACjE;IAED;;;OAGG;IACH,UAAiB,KAAK,CACrB,KAAK,SAAS,oBAAoB,EAClC,OAAO,SAAS,oBAAoB,EACpC,IAAI,SAAS,oBAAoB;QAEjC;;WAEG;QACH,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;QAEzC;;WAEG;QACH,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QAEnC;;WAEG;QACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,gCAAgC,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;QAE7E;;WAEG;QACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,gCAAgC,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;QAEvE;;;WAGG;QACH,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,gCAAgC,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;QAE1F;;;;;;;;;;;WAWG;QACH,YAAY,CACX,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,GACrC,gCAAgC,CAAC,OAAO,CAAC,CAAC;QAE7C;;;;;;;;;;;WAWG;QACH,aAAa,CACZ,MAAM,EAAE,uBAAuB,CAAC,OAAO,CAAC,GACtC,gCAAgC,CAAC,OAAO,CAAC,EAAE,CAAC;QAE/C;;;;;;;;;;;;;WAaG;QACH,SAAS,CAAC,MAAM,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;QAErF;;;;;;;;;;;;;WAaG;QACH,UAAU,CAAC,MAAM,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,gCAAgC,CAAC,IAAI,CAAC,EAAE,CAAC;QAEzF;;;WAGG;QACH,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;QAE/D;;;;;;;;;;WAUG;QACH,YAAY,CACX,MAAM,EAAE,MAAM,GAAG,gCAAgC,CAAC,OAAO,CAAC,GACxD,gCAAgC,CAAC,OAAO,CAAC,CAAC;QAE7C;;;;;;;;;;WAUG;QACH,aAAa,CACZ,OAAO,EAAE,SAAS,gCAAgC,CAAC,OAAO,CAAC,EAAE,GAC3D,gCAAgC,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/C;;;;;;;;;;WAUG;QACH,aAAa,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,gCAAgC,CAAC,OAAO,CAAC,EAAE,CAAC;QAEvF;;;WAGG;QACH,gBAAgB,IAAI,gCAAgC,CAAC,OAAO,CAAC,EAAE,CAAC;QAEhE;;;;WAIG;QACH,SAAS,CACR,GAAG,EAAE,MAAM,GAAG,gCAAgC,CAAC,IAAI,CAAC,GAClD,gCAAgC,CAAC,IAAI,CAAC,CAAC;QAE1C;;;;;WAKG;QACH,UAAU,CACT,IAAI,EAAE,SAAS,gCAAgC,CAAC,IAAI,CAAC,EAAE,GACrD,gCAAgC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C;;;;;WAKG;QACH,UAAU,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,gCAAgC,CAAC,IAAI,CAAC,EAAE,CAAC;QAE9E;;;WAGG;QACH,aAAa,IAAI,gCAAgC,CAAC,IAAI,CAAC,EAAE,CAAC;QAE1D;;;;WAIG;QACH,UAAU,CACT,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,GACzB,gCAAgC,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;KACvD;IAED;;;OAGG;IACH,SAAgB,WAAW,CAC1B,KAAK,CAAC,MAAM,SAAS,MAAM,GAAG,SAAS,EACvC,KAAK,CAAC,KAAK,SAAS,oBAAoB,EACvC,EACD,aAAa,EACb,IAAI,GACJ,EAAE,kBAAkB,CAAC,uBAAuB,CAC5C,kBAAkB,CAAC,MAAM,CAAC,EAC1B,KAAK,CACL,GAAG,kBAAkB,CAAC,eAAe,CACrC,MAAM,EACN,KAAK,EACL,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,EAChF,kBAAkB,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,CACpF,CAAC;IACF;;;OAGG;IACH,SAAgB,WAAW,CAC1B,KAAK,CAAC,MAAM,SAAS,MAAM,GAAG,SAAS,EACvC,KAAK,CAAC,KAAK,SAAS,oBAAoB,EACxC,KAAK,CAAC,OAAO,SAAS,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAChE,EACD,aAAa,EACb,IAAI,EACJ,MAAM,GACN,EAAE,kBAAkB,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG;QAClF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;KACzB,GAAG,kBAAkB,CAAC,eAAe,CACrC,MAAM,EACN,KAAK,EACL,OAAO,EACP,kBAAkB,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,CACpF,CAAC;IACF;;;OAGG;IACH,SAAgB,WAAW,CAC1B,KAAK,CAAC,MAAM,SAAS,MAAM,GAAG,SAAS,EACvC,KAAK,CAAC,KAAK,SAAS,oBAAoB,EACxC,KAAK,CAAC,OAAO,SAAS,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,CAAC,EACjE,KAAK,CAAC,IAAI,SAAS,kBAAkB,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,EACjE,EACD,aAAa,EACb,IAAI,EACJ,MAAM,EACN,GAAG,GACH,EAAE,kBAAkB,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG;QAClF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QACzB,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;KACnB,GAAG,kBAAkB,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;CAsBrE"}
|
package/dist/tableSchema.js
CHANGED
|
@@ -6,11 +6,18 @@
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.TableSchema = exports.System_TableSchema = void 0;
|
|
8
8
|
const internal_1 = require("@fluidframework/core-utils/internal");
|
|
9
|
+
const internal_2 = require("@fluidframework/telemetry-utils/internal");
|
|
9
10
|
const index_js_1 = require("./shared-tree/index.js");
|
|
10
11
|
const index_js_2 = require("./simple-tree/index.js");
|
|
11
|
-
// Future improvement TODOs
|
|
12
|
+
// Future improvement TODOs:
|
|
13
|
+
// - Omit `cells` property from Row insertion type.
|
|
12
14
|
// - Record-like type parameters / input parameters?
|
|
13
15
|
// - Omit `props` properties from Row and Column schemas when not provided?
|
|
16
|
+
// Longer-term work:
|
|
17
|
+
// - Add constraint APIs to make it possible to avoid situations that could yield "orphaned" cells.
|
|
18
|
+
/**
|
|
19
|
+
* The sub-scope applied to user-provided {@link SchemaFactory}s by table schema factories.
|
|
20
|
+
*/
|
|
14
21
|
const tableSchemaFactorySubScope = "table";
|
|
15
22
|
/**
|
|
16
23
|
* Not intended for use outside of this package.
|
|
@@ -118,15 +125,19 @@ var System_TableSchema;
|
|
|
118
125
|
return this.cells.get(columnId);
|
|
119
126
|
}
|
|
120
127
|
setCell(columnOrId, value) {
|
|
128
|
+
// TODO: throw if column does not exist in the owning table.
|
|
121
129
|
const columnId = typeof columnOrId === "string" ? columnOrId : columnOrId.id;
|
|
122
130
|
this.cells.set(columnId, value);
|
|
123
131
|
}
|
|
124
132
|
removeCell(columnOrId) {
|
|
133
|
+
// TODO: throw if column does not exist in the owning table.
|
|
125
134
|
const columnId = typeof columnOrId === "string" ? columnOrId : columnOrId.id;
|
|
126
|
-
|
|
127
|
-
|
|
135
|
+
const cell = this.cells.get(columnId);
|
|
136
|
+
if (cell === undefined) {
|
|
137
|
+
return undefined;
|
|
128
138
|
}
|
|
129
139
|
this.cells.delete(columnId);
|
|
140
|
+
return cell;
|
|
130
141
|
}
|
|
131
142
|
}
|
|
132
143
|
// Returning SingletonSchema without a type conversion results in TypeScript generating something like `readonly "__#124291@#brand": unknown;`
|
|
@@ -172,98 +183,245 @@ var System_TableSchema;
|
|
|
172
183
|
return this.rows.find((_row) => _row.id === id);
|
|
173
184
|
}
|
|
174
185
|
getCell(key) {
|
|
175
|
-
const {
|
|
176
|
-
const row = this.
|
|
177
|
-
if (row
|
|
178
|
-
|
|
179
|
-
if (column !== undefined) {
|
|
180
|
-
return row.getCell(column.id);
|
|
181
|
-
}
|
|
186
|
+
const { column: columnOrId, row: rowOrId } = key;
|
|
187
|
+
const row = this._getRow(rowOrId);
|
|
188
|
+
if (row === undefined) {
|
|
189
|
+
return undefined;
|
|
182
190
|
}
|
|
183
|
-
|
|
184
|
-
|
|
191
|
+
const column = this._getColumn(columnOrId);
|
|
192
|
+
if (column === undefined) {
|
|
193
|
+
return undefined;
|
|
194
|
+
}
|
|
195
|
+
return row.getCell(column);
|
|
185
196
|
}
|
|
186
197
|
insertColumn({ column, index, }) {
|
|
187
|
-
|
|
188
|
-
|
|
198
|
+
const inserted = this.insertColumns({
|
|
199
|
+
columns: [column],
|
|
200
|
+
index,
|
|
201
|
+
});
|
|
202
|
+
return inserted[0] ?? (0, internal_1.oob)();
|
|
203
|
+
}
|
|
204
|
+
insertColumns({ columns, index, }) {
|
|
205
|
+
// #region Input validation
|
|
206
|
+
// Ensure index is valid
|
|
207
|
+
if (index !== undefined) {
|
|
208
|
+
Table.validateInsertionIndex(index, this.columns);
|
|
209
|
+
}
|
|
210
|
+
// Check all of the columns being inserted an ensure the table does not already contain any with the same ID.
|
|
211
|
+
for (const column of columns) {
|
|
212
|
+
// TypeScript is unable to narrow the type of the column type correctly here, hence the casts below.
|
|
189
213
|
// See: https://github.com/microsoft/TypeScript/issues/52144
|
|
214
|
+
const maybeId = column.id;
|
|
215
|
+
if (maybeId !== undefined && this.containsColumnWithId(maybeId)) {
|
|
216
|
+
throw new internal_2.UsageError(`A column with ID "${column.id}" already exists in the table.`);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
// #endregion
|
|
220
|
+
// TypeScript is unable to narrow the column type correctly here, hence the casts below.
|
|
221
|
+
// See: https://github.com/microsoft/TypeScript/issues/52144
|
|
222
|
+
if (index === undefined) {
|
|
190
223
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
191
|
-
this.columns.insertAtEnd(
|
|
224
|
+
this.columns.insertAtEnd(index_js_2.TreeArrayNode.spread(columns));
|
|
192
225
|
}
|
|
193
226
|
else {
|
|
194
|
-
// TypeScript is unable to narrow the types correctly here, hence the cast.
|
|
195
|
-
// See: https://github.com/microsoft/TypeScript/issues/52144
|
|
196
227
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
197
|
-
this.columns.insertAt(index,
|
|
228
|
+
this.columns.insertAt(index, index_js_2.TreeArrayNode.spread(columns));
|
|
198
229
|
}
|
|
199
|
-
// Inserting the input
|
|
200
|
-
return
|
|
230
|
+
// Inserting the input nodes into the tree hydrates them, making them usable as nodes.
|
|
231
|
+
return columns;
|
|
232
|
+
}
|
|
233
|
+
insertRow({ row, index, }) {
|
|
234
|
+
const inserted = this.insertRows({
|
|
235
|
+
rows: [row],
|
|
236
|
+
index,
|
|
237
|
+
});
|
|
238
|
+
return inserted[0] ?? (0, internal_1.oob)();
|
|
201
239
|
}
|
|
202
240
|
insertRows({ index, rows, }) {
|
|
241
|
+
// #region Input validation
|
|
242
|
+
// Ensure index is valid
|
|
243
|
+
if (index !== undefined) {
|
|
244
|
+
Table.validateInsertionIndex(index, this.rows);
|
|
245
|
+
}
|
|
246
|
+
// Note: TypeScript is unable to narrow the type of the row type correctly here, hence the casts below.
|
|
247
|
+
// See: https://github.com/microsoft/TypeScript/issues/52144
|
|
248
|
+
for (const newRow of rows) {
|
|
249
|
+
// Check all of the rows being inserted an ensure the table does not already contain any with the same ID.
|
|
250
|
+
const maybeId = newRow.id;
|
|
251
|
+
if (maybeId !== undefined && this.containsRowWithId(maybeId)) {
|
|
252
|
+
throw new internal_2.UsageError(`A row with ID "${newRow.id}" already exists in the table.`);
|
|
253
|
+
}
|
|
254
|
+
// If the row contains cells, verify that the table contains the columns for those cells.
|
|
255
|
+
// Note: we intentionally hide `cells` on `IRow` to avoid leaking the internal data representation as much as possible, so we have to cast here.
|
|
256
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
257
|
+
if (newRow.cells !== undefined) {
|
|
258
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
259
|
+
const keys = Object.keys(newRow.cells);
|
|
260
|
+
for (const key of keys) {
|
|
261
|
+
if (!this.containsColumnWithId(key)) {
|
|
262
|
+
throw new internal_2.UsageError(`Attempted to insert row a cell under column ID "${key}", but the table does not contain a column with that ID.`);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
// #endregion
|
|
268
|
+
// TypeScript is unable to narrow the row type correctly here, hence the casts below.
|
|
269
|
+
// See: https://github.com/microsoft/TypeScript/issues/52144
|
|
203
270
|
if (index === undefined) {
|
|
204
|
-
// TypeScript is unable to narrow the types correctly here, hence the cast.
|
|
205
|
-
// See: https://github.com/microsoft/TypeScript/issues/52144
|
|
206
271
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
207
272
|
this.rows.insertAtEnd(index_js_2.TreeArrayNode.spread(rows));
|
|
208
273
|
}
|
|
209
274
|
else {
|
|
210
|
-
// TypeScript is unable to narrow the types correctly here, hence the cast.
|
|
211
|
-
// See: https://github.com/microsoft/TypeScript/issues/52144
|
|
212
275
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
213
276
|
this.rows.insertAt(index, index_js_2.TreeArrayNode.spread(rows));
|
|
214
277
|
}
|
|
215
278
|
// Inserting the input nodes into the tree hydrates them, making them usable as nodes.
|
|
216
279
|
return rows;
|
|
217
280
|
}
|
|
218
|
-
setCell({ key, cell }) {
|
|
219
|
-
const {
|
|
220
|
-
const row = this.
|
|
221
|
-
if (row
|
|
222
|
-
const
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
281
|
+
setCell({ key, cell, }) {
|
|
282
|
+
const { column: columnOrId, row: rowOrId } = key;
|
|
283
|
+
const row = this._getRow(rowOrId);
|
|
284
|
+
if (row === undefined) {
|
|
285
|
+
const rowId = this._getRowId(rowOrId);
|
|
286
|
+
throw new internal_2.UsageError(`No row with ID "${rowId}" exists in the table.`);
|
|
287
|
+
}
|
|
288
|
+
const column = this._getColumn(columnOrId);
|
|
289
|
+
if (column === undefined) {
|
|
290
|
+
const columnId = this._getColumnId(columnOrId);
|
|
291
|
+
throw new internal_2.UsageError(`No column with ID "${columnId}" exists in the table.`);
|
|
226
292
|
}
|
|
293
|
+
row.setCell(column, cell);
|
|
227
294
|
}
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
295
|
+
removeColumns(columns) {
|
|
296
|
+
// If there are no columns to remove, do nothing
|
|
297
|
+
if (columns.length === 0) {
|
|
298
|
+
return [];
|
|
299
|
+
}
|
|
300
|
+
// If there is only one column to remove, remove it (and don't incur cost of transaction)
|
|
301
|
+
if (columns.length === 1) {
|
|
302
|
+
const removedColumn = this.removeColumn(columns[0] ?? (0, internal_1.oob)());
|
|
303
|
+
return [removedColumn];
|
|
304
|
+
}
|
|
305
|
+
// If there are multiple columns to remove, remove them in a transaction.
|
|
306
|
+
const removedColumns = [];
|
|
307
|
+
index_js_1.Tree.runTransaction(this, () => {
|
|
308
|
+
// Note, throwing an error within a transaction will abort the entire transaction.
|
|
309
|
+
// So if we throw an error here for any row, no columns will be removed.
|
|
310
|
+
for (const columnToRemove of columns) {
|
|
311
|
+
const removedRow = this.removeColumn(columnToRemove);
|
|
312
|
+
removedColumns.push(removedRow);
|
|
313
|
+
}
|
|
314
|
+
});
|
|
315
|
+
return removedColumns;
|
|
316
|
+
}
|
|
317
|
+
removeColumn(columnOrId) {
|
|
318
|
+
const column = this._getColumn(columnOrId);
|
|
319
|
+
const index = column === undefined ? -1 : this.columns.indexOf(column);
|
|
320
|
+
if (index === -1) {
|
|
321
|
+
const columnId = this._getColumnId(columnOrId);
|
|
322
|
+
throw new internal_2.UsageError(`Specified column with ID "${columnId}" does not exist in the table.`);
|
|
323
|
+
}
|
|
233
324
|
this.columns.removeAt(index);
|
|
325
|
+
return column;
|
|
326
|
+
}
|
|
327
|
+
removeAllColumns() {
|
|
328
|
+
// TypeScript is unable to narrow the row type correctly here, hence the cast.
|
|
329
|
+
// See: https://github.com/microsoft/TypeScript/issues/52144
|
|
330
|
+
return this.removeColumns(this.columns);
|
|
234
331
|
}
|
|
235
332
|
removeRows(rows) {
|
|
236
333
|
// If there are no rows to remove, do nothing
|
|
237
334
|
if (rows.length === 0) {
|
|
238
|
-
return;
|
|
335
|
+
return [];
|
|
239
336
|
}
|
|
240
|
-
// If there is only one row to remove, remove it
|
|
337
|
+
// If there is only one row to remove, remove it (and don't incur cost of transaction)
|
|
241
338
|
if (rows.length === 1) {
|
|
242
|
-
const
|
|
243
|
-
|
|
244
|
-
return;
|
|
339
|
+
const removedRow = this.removeRow(rows[0] ?? (0, internal_1.oob)());
|
|
340
|
+
return [removedRow];
|
|
245
341
|
}
|
|
246
|
-
// If there are multiple rows to remove, remove them in a transaction
|
|
247
|
-
|
|
342
|
+
// If there are multiple rows to remove, remove them in a transaction.
|
|
343
|
+
const removedRows = [];
|
|
248
344
|
index_js_1.Tree.runTransaction(this, () => {
|
|
249
|
-
//
|
|
250
|
-
for
|
|
251
|
-
|
|
252
|
-
this.
|
|
345
|
+
// Note, throwing an error within a transaction will abort the entire transaction.
|
|
346
|
+
// So if we throw an error here for any row, no rows will be removed.
|
|
347
|
+
for (const rowToRemove of rows) {
|
|
348
|
+
const removedRow = this.removeRow(rowToRemove);
|
|
349
|
+
removedRows.push(removedRow);
|
|
253
350
|
}
|
|
254
351
|
});
|
|
352
|
+
return removedRows;
|
|
353
|
+
}
|
|
354
|
+
removeRow(rowOrId) {
|
|
355
|
+
const rowToRemove = this._getRow(rowOrId);
|
|
356
|
+
const index = rowToRemove === undefined ? -1 : this.rows.indexOf(rowToRemove);
|
|
357
|
+
// If the row does not exist in the table, throw an error.
|
|
358
|
+
if (index === -1) {
|
|
359
|
+
const rowId = this._getRowId(rowOrId);
|
|
360
|
+
throw new internal_2.UsageError(`Specified row with ID "${rowId}" does not exist in the table.`);
|
|
361
|
+
}
|
|
362
|
+
this.rows.removeAt(index);
|
|
363
|
+
return rowToRemove;
|
|
255
364
|
}
|
|
256
365
|
removeAllRows() {
|
|
257
|
-
|
|
366
|
+
// TypeScript is unable to narrow the row type correctly here, hence the cast.
|
|
367
|
+
// See: https://github.com/microsoft/TypeScript/issues/52144
|
|
368
|
+
return this.removeRows(this.rows);
|
|
258
369
|
}
|
|
259
370
|
removeCell(key) {
|
|
260
|
-
const {
|
|
261
|
-
const row = this.
|
|
262
|
-
if (row
|
|
263
|
-
const
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
371
|
+
const { column: columnOrId, row: rowOrId } = key;
|
|
372
|
+
const row = this._getRow(rowOrId);
|
|
373
|
+
if (row === undefined) {
|
|
374
|
+
const rowId = this._getRowId(rowOrId);
|
|
375
|
+
throw new internal_2.UsageError(`Specified row with ID "${rowId}" does not exist in the table.`);
|
|
376
|
+
}
|
|
377
|
+
const column = this._getColumn(columnOrId);
|
|
378
|
+
if (column === undefined) {
|
|
379
|
+
const columnId = this._getColumnId(columnOrId);
|
|
380
|
+
throw new internal_2.UsageError(`Specified column with ID "${columnId}" does not exist in the table.`);
|
|
381
|
+
}
|
|
382
|
+
const cell = row.getCell(column.id);
|
|
383
|
+
if (cell === undefined) {
|
|
384
|
+
return undefined;
|
|
385
|
+
}
|
|
386
|
+
row.removeCell(column.id);
|
|
387
|
+
return cell;
|
|
388
|
+
}
|
|
389
|
+
_getColumn(columnOrId) {
|
|
390
|
+
return typeof columnOrId === "string" ? this.getColumn(columnOrId) : columnOrId;
|
|
391
|
+
}
|
|
392
|
+
_getColumnId(columnOrId) {
|
|
393
|
+
return typeof columnOrId === "string" ? columnOrId : columnOrId.id;
|
|
394
|
+
}
|
|
395
|
+
_getRow(rowOrId) {
|
|
396
|
+
return typeof rowOrId === "string" ? this.getRow(rowOrId) : rowOrId;
|
|
397
|
+
}
|
|
398
|
+
_getRowId(rowOrId) {
|
|
399
|
+
return typeof rowOrId === "string" ? rowOrId : rowOrId.id;
|
|
400
|
+
}
|
|
401
|
+
containsColumnWithId(columnId) {
|
|
402
|
+
// TypeScript is unable to narrow the types correctly here, hence the cast.
|
|
403
|
+
// See: https://github.com/microsoft/TypeScript/issues/52144
|
|
404
|
+
return (this.columns.find((column) => column.id === columnId) !==
|
|
405
|
+
undefined);
|
|
406
|
+
}
|
|
407
|
+
containsRowWithId(rowId) {
|
|
408
|
+
// TypeScript is unable to narrow the types correctly here, hence the cast.
|
|
409
|
+
// See: https://github.com/microsoft/TypeScript/issues/52144
|
|
410
|
+
return this.rows.find((row) => row.id === rowId) !== undefined;
|
|
411
|
+
}
|
|
412
|
+
/**
|
|
413
|
+
* Ensure that the specified index is a valid location for item insertion in the destination list.
|
|
414
|
+
* @throws Throws a usage error if the destination is invalid.
|
|
415
|
+
*/
|
|
416
|
+
static validateInsertionIndex(index, destinationList) {
|
|
417
|
+
if (index < 0) {
|
|
418
|
+
throw new internal_2.UsageError("The index must be greater than or equal to 0.");
|
|
419
|
+
}
|
|
420
|
+
if (index > destinationList.length) {
|
|
421
|
+
throw new internal_2.UsageError("The index specified for insertion is out of bounds.");
|
|
422
|
+
}
|
|
423
|
+
if (!Number.isInteger(index)) {
|
|
424
|
+
throw new internal_2.UsageError("The index must be an integer.");
|
|
267
425
|
}
|
|
268
426
|
}
|
|
269
427
|
}
|
|
@@ -281,7 +439,91 @@ var System_TableSchema;
|
|
|
281
439
|
})(System_TableSchema || (exports.System_TableSchema = System_TableSchema = {}));
|
|
282
440
|
/**
|
|
283
441
|
* Contains types and factories for creating schema to represent dynamic tabular data.
|
|
284
|
-
*
|
|
442
|
+
*
|
|
443
|
+
* @remarks
|
|
444
|
+
*
|
|
445
|
+
* Tables created using these APIs are...
|
|
446
|
+
*
|
|
447
|
+
* - sparse, meaning that cells may be omitted, and new rows are empty by default.
|
|
448
|
+
*
|
|
449
|
+
* - dynamic, meaning that their structure can be modified at runtime.
|
|
450
|
+
* Columns and rows can be inserted, removed, modified, and reordered.
|
|
451
|
+
* Cells can be inserted, removed, and modified.
|
|
452
|
+
*
|
|
453
|
+
* - row-major, meaning that operating on rows (including inserts, removal, moves, and traversal) is more efficient than operating on columns.
|
|
454
|
+
*
|
|
455
|
+
* Column and Row schema created using these APIs are extensible via the `props` field.
|
|
456
|
+
* This allows association of additional properties with column and row nodes.
|
|
457
|
+
*
|
|
458
|
+
* Note: for now it is possible for table cells to become "orphaned".
|
|
459
|
+
* That is, it is possible to enter a state where one or more rows contain cells with no corresponding column.
|
|
460
|
+
* To help avoid this situation, you can manually remove corresponding cells when removing columns.
|
|
461
|
+
* Either way, it is possible to enter such a state via the merging of edits.
|
|
462
|
+
* For example: one client might add a row while another concurrently removes a column, orphaning the cell where the column and row intersected.
|
|
463
|
+
*
|
|
464
|
+
* @example Using default Column and Row schema
|
|
465
|
+
*
|
|
466
|
+
* ```typescript
|
|
467
|
+
* class Cell extends schemaFactory.object("TableCell", {
|
|
468
|
+
* value: schemaFactory.string,
|
|
469
|
+
* }) {}
|
|
470
|
+
*
|
|
471
|
+
* class Table extends TableSchema.createTable({
|
|
472
|
+
* schemaFactory,
|
|
473
|
+
* cell: Cell,
|
|
474
|
+
* }) {}
|
|
475
|
+
*
|
|
476
|
+
* const table = new Table({
|
|
477
|
+
* columns: [{ id: "column-0" }],
|
|
478
|
+
* rows: [{ id: "row-0", cells: {} }],
|
|
479
|
+
* });
|
|
480
|
+
* ```
|
|
481
|
+
*
|
|
482
|
+
* @example Customizing Column and Row schema
|
|
483
|
+
*
|
|
484
|
+
* ```typescript
|
|
485
|
+
* class Cell extends schemaFactory.object("TableCell", {
|
|
486
|
+
* value: schemaFactory.string,
|
|
487
|
+
* }) {}
|
|
488
|
+
*
|
|
489
|
+
* class ColumnProps extends schemaFactory.object("TableColumnProps", {
|
|
490
|
+
* // Column label to display.
|
|
491
|
+
* label: schemaFactory.string,
|
|
492
|
+
* // The type of data represented by the cells. Default: string.
|
|
493
|
+
* dataType: schemaFactory.optional(schemaFactory.string),
|
|
494
|
+
* }) {}
|
|
495
|
+
*
|
|
496
|
+
* class Column extends TableSchema.createColumn({
|
|
497
|
+
* schemaFactory,
|
|
498
|
+
* props: ColumnProps,
|
|
499
|
+
* }) {}
|
|
500
|
+
*
|
|
501
|
+
* class Row extends TableSchema.createRow({
|
|
502
|
+
* schemaFactory,
|
|
503
|
+
* cell: Cell,
|
|
504
|
+
* }) {}
|
|
505
|
+
*
|
|
506
|
+
* class Table extends TableSchema.createTable({
|
|
507
|
+
* schemaFactory,
|
|
508
|
+
* cell: Cell,
|
|
509
|
+
* column: Column,
|
|
510
|
+
* row: Row,
|
|
511
|
+
* }) {}
|
|
512
|
+
*
|
|
513
|
+
* const table = new Table({
|
|
514
|
+
* columns: [
|
|
515
|
+
* new Column({ props: { label: "Entry", dataType: "string" } }),
|
|
516
|
+
* new Column({ props: { label: "Date", dataType: "date" } }),
|
|
517
|
+
* new Column({ props: { label: "Amount", dataType: "number" } }),
|
|
518
|
+
* ],
|
|
519
|
+
* rows: [],
|
|
520
|
+
* });
|
|
521
|
+
* ```
|
|
522
|
+
*
|
|
523
|
+
* @privateRemarks
|
|
524
|
+
* The above examples are backed by tests in `tableSchema.spec.ts`.
|
|
525
|
+
* Those tests and these examples should be kept in-sync to ensure that the examples are correct.
|
|
526
|
+
*
|
|
285
527
|
* @internal
|
|
286
528
|
*/
|
|
287
529
|
var TableSchema;
|