@fluidframework/tree 2.74.0-365691 → 2.74.0-370705
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/.vscode/settings.json +2 -2
- package/api-report/tree.alpha.api.md +119 -85
- package/api-report/tree.beta.api.md +0 -1
- package/api-report/tree.legacy.beta.api.md +0 -1
- package/api-report/tree.legacy.public.api.md +0 -1
- package/api-report/tree.public.api.md +0 -1
- package/dist/alpha.d.ts +3 -2
- package/dist/codec/codec.d.ts +14 -1
- package/dist/codec/codec.d.ts.map +1 -1
- package/dist/codec/codec.js +11 -0
- package/dist/codec/codec.js.map +1 -1
- package/dist/codec/versioned/codec.d.ts +1 -1
- package/dist/codec/versioned/codec.d.ts.map +1 -1
- package/dist/codec/versioned/codec.js.map +1 -1
- package/dist/codec/versioned/format.d.ts +4 -1
- package/dist/codec/versioned/format.d.ts.map +1 -1
- package/dist/codec/versioned/format.js +4 -1
- package/dist/codec/versioned/format.js.map +1 -1
- package/dist/core/change-family/changeFamily.d.ts +4 -1
- package/dist/core/change-family/changeFamily.d.ts.map +1 -1
- package/dist/core/change-family/changeFamily.js.map +1 -1
- package/dist/core/change-family/index.d.ts +1 -1
- package/dist/core/change-family/index.d.ts.map +1 -1
- package/dist/core/change-family/index.js.map +1 -1
- package/dist/core/index.d.ts +3 -3
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +7 -4
- package/dist/core/index.js.map +1 -1
- package/dist/core/rebase/changeRebaser.d.ts +6 -1
- package/dist/core/rebase/changeRebaser.d.ts.map +1 -1
- package/dist/core/rebase/changeRebaser.js.map +1 -1
- package/dist/core/rebase/index.d.ts +1 -1
- package/dist/core/rebase/index.d.ts.map +1 -1
- package/dist/core/rebase/index.js +2 -1
- package/dist/core/rebase/index.js.map +1 -1
- package/dist/core/rebase/types.d.ts +2 -1
- package/dist/core/rebase/types.d.ts.map +1 -1
- package/dist/core/rebase/types.js +5 -1
- package/dist/core/rebase/types.js.map +1 -1
- package/dist/core/rebase/utils.d.ts.map +1 -1
- package/dist/core/rebase/utils.js +25 -7
- package/dist/core/rebase/utils.js.map +1 -1
- package/dist/core/tree/detachedFieldIndex.d.ts +40 -13
- package/dist/core/tree/detachedFieldIndex.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndex.js +21 -12
- package/dist/core/tree/detachedFieldIndex.js.map +1 -1
- package/dist/core/tree/index.d.ts +4 -3
- package/dist/core/tree/index.d.ts.map +1 -1
- package/dist/core/tree/index.js +6 -2
- package/dist/core/tree/index.js.map +1 -1
- package/dist/core/tree/pathTree.d.ts +11 -3
- package/dist/core/tree/pathTree.d.ts.map +1 -1
- package/dist/core/tree/pathTree.js +14 -2
- package/dist/core/tree/pathTree.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/basicChunk.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/basicChunk.js +7 -0
- package/dist/feature-libraries/chunked-forest/basicChunk.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkTree.js +4 -1
- package/dist/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.d.ts +14 -6
- package/dist/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.js +7 -2
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncode.js.map +1 -1
- package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts +91 -42
- package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/defaultEditBuilder.js +238 -69
- package/dist/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts +4 -4
- package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.js +33 -28
- package/dist/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
- package/dist/feature-libraries/default-schema/index.d.ts +2 -1
- package/dist/feature-libraries/default-schema/index.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/index.js +5 -2
- package/dist/feature-libraries/default-schema/index.js.map +1 -1
- package/dist/feature-libraries/default-schema/locationBasedEditBuilder.d.ts +36 -0
- package/dist/feature-libraries/default-schema/locationBasedEditBuilder.d.ts.map +1 -0
- package/dist/feature-libraries/default-schema/locationBasedEditBuilder.js +126 -0
- package/dist/feature-libraries/default-schema/locationBasedEditBuilder.js.map +1 -0
- package/dist/feature-libraries/default-schema/mappedEditBuilder.d.ts +7 -6
- package/dist/feature-libraries/default-schema/mappedEditBuilder.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/mappedEditBuilder.js +15 -0
- package/dist/feature-libraries/default-schema/mappedEditBuilder.js.map +1 -1
- package/dist/feature-libraries/deltaUtils.d.ts +1 -0
- package/dist/feature-libraries/deltaUtils.d.ts.map +1 -1
- package/dist/feature-libraries/deltaUtils.js +6 -1
- package/dist/feature-libraries/deltaUtils.js.map +1 -1
- package/dist/feature-libraries/detachedFieldIndexSummarizer.d.ts +30 -8
- package/dist/feature-libraries/detachedFieldIndexSummarizer.d.ts.map +1 -1
- package/dist/feature-libraries/detachedFieldIndexSummarizer.js +41 -11
- package/dist/feature-libraries/detachedFieldIndexSummarizer.js.map +1 -1
- package/dist/feature-libraries/flex-tree/context.d.ts +9 -0
- package/dist/feature-libraries/flex-tree/context.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/context.js +6 -0
- package/dist/feature-libraries/flex-tree/context.js.map +1 -1
- package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts +6 -6
- package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyField.d.ts +8 -7
- package/dist/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyField.js +37 -8
- package/dist/feature-libraries/flex-tree/lazyField.js.map +1 -1
- package/dist/feature-libraries/forest-summary/codec.d.ts +2 -2
- package/dist/feature-libraries/forest-summary/codec.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/codec.js +4 -4
- package/dist/feature-libraries/forest-summary/codec.js.map +1 -1
- package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts +9 -13
- package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/forestSummarizer.js +21 -26
- package/dist/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
- package/dist/feature-libraries/forest-summary/format.d.ts +41 -5
- package/dist/feature-libraries/forest-summary/format.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/format.js +7 -7
- package/dist/feature-libraries/forest-summary/format.js.map +1 -1
- package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts +11 -9
- package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.js +16 -29
- package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.js.map +1 -1
- package/dist/feature-libraries/forest-summary/index.d.ts +2 -1
- package/dist/feature-libraries/forest-summary/index.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/index.js +3 -2
- package/dist/feature-libraries/forest-summary/index.js.map +1 -1
- package/dist/feature-libraries/forest-summary/summaryTypes.d.ts +47 -0
- package/dist/feature-libraries/forest-summary/summaryTypes.d.ts.map +1 -0
- package/dist/feature-libraries/forest-summary/summaryTypes.js +57 -0
- package/dist/feature-libraries/forest-summary/summaryTypes.js.map +1 -0
- package/dist/feature-libraries/index.d.ts +4 -4
- package/dist/feature-libraries/index.d.ts.map +1 -1
- package/dist/feature-libraries/index.js +8 -3
- package/dist/feature-libraries/index.js.map +1 -1
- package/dist/feature-libraries/mapTreeCursor.d.ts.map +1 -1
- package/dist/feature-libraries/mapTreeCursor.js +1 -0
- package/dist/feature-libraries/mapTreeCursor.js.map +1 -1
- package/dist/feature-libraries/mitigatedChangeFamily.d.ts.map +1 -1
- package/dist/feature-libraries/mitigatedChangeFamily.js +2 -2
- package/dist/feature-libraries/mitigatedChangeFamily.js.map +1 -1
- package/dist/feature-libraries/modular-schema/comparison.d.ts +18 -2
- package/dist/feature-libraries/modular-schema/comparison.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/comparison.js +54 -3
- package/dist/feature-libraries/modular-schema/comparison.js.map +1 -1
- package/dist/feature-libraries/modular-schema/crossFieldQueries.d.ts +97 -21
- package/dist/feature-libraries/modular-schema/crossFieldQueries.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/crossFieldQueries.js +4 -7
- package/dist/feature-libraries/modular-schema/crossFieldQueries.js.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts +20 -52
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldKind.d.ts +25 -13
- package/dist/feature-libraries/modular-schema/fieldKind.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldKind.js +0 -21
- package/dist/feature-libraries/modular-schema/fieldKind.js.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKind.js +7 -10
- package/dist/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.js +2 -2
- package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.js.map +1 -1
- package/dist/feature-libraries/modular-schema/index.d.ts +6 -6
- package/dist/feature-libraries/modular-schema/index.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/index.js +13 -8
- package/dist/feature-libraries/modular-schema/index.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.d.ts +17 -0
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -0
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js +388 -0
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js.map +1 -0
- package/dist/feature-libraries/modular-schema/modularChangeCodecV2.d.ts +17 -0
- package/dist/feature-libraries/modular-schema/modularChangeCodecV2.d.ts.map +1 -0
- package/dist/feature-libraries/modular-schema/modularChangeCodecV2.js +413 -0
- package/dist/feature-libraries/modular-schema/modularChangeCodecV2.js.map +1 -0
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts +2 -2
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.js +8 -284
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts +49 -15
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js +1306 -465
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/dist/feature-libraries/modular-schema/{modularChangeFormat.d.ts → modularChangeFormatV1.d.ts} +2 -2
- package/dist/feature-libraries/modular-schema/modularChangeFormatV1.d.ts.map +1 -0
- package/dist/feature-libraries/modular-schema/{modularChangeFormat.js → modularChangeFormatV1.js} +5 -5
- package/dist/feature-libraries/modular-schema/modularChangeFormatV1.js.map +1 -0
- package/dist/feature-libraries/modular-schema/modularChangeFormatV2.d.ts +146 -0
- package/dist/feature-libraries/modular-schema/modularChangeFormatV2.d.ts.map +1 -0
- package/dist/feature-libraries/modular-schema/modularChangeFormatV2.js +32 -0
- package/dist/feature-libraries/modular-schema/modularChangeFormatV2.js.map +1 -0
- package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts +50 -10
- package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeTypes.js +24 -3
- package/dist/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -1
- package/dist/feature-libraries/optional-field/index.d.ts +2 -2
- package/dist/feature-libraries/optional-field/index.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/index.js +1 -2
- package/dist/feature-libraries/optional-field/index.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalField.d.ts +5 -26
- package/dist/feature-libraries/optional-field/optionalField.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalField.js +217 -451
- package/dist/feature-libraries/optional-field/optionalField.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV3.d.ts +23 -0
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV3.d.ts.map +1 -0
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV3.js +31 -0
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV3.js.map +1 -0
- package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts +24 -33
- package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.d.ts +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.js +57 -28
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecV3.d.ts +12 -0
- package/dist/feature-libraries/optional-field/optionalFieldCodecV3.d.ts.map +1 -0
- package/dist/feature-libraries/optional-field/optionalFieldCodecV3.js +57 -0
- package/dist/feature-libraries/optional-field/optionalFieldCodecV3.js.map +1 -0
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.js +5 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -1
- package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts +27 -8
- package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/schemaSummarizer.js +42 -16
- package/dist/feature-libraries/schema-index/schemaSummarizer.js.map +1 -1
- package/dist/feature-libraries/sequence-field/compose.d.ts +6 -7
- package/dist/feature-libraries/sequence-field/compose.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/compose.js +80 -256
- package/dist/feature-libraries/sequence-field/compose.js.map +1 -1
- package/dist/feature-libraries/sequence-field/helperTypes.d.ts +14 -10
- package/dist/feature-libraries/sequence-field/helperTypes.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/helperTypes.js.map +1 -1
- package/dist/feature-libraries/sequence-field/index.d.ts +2 -3
- package/dist/feature-libraries/sequence-field/index.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/index.js +1 -3
- package/dist/feature-libraries/sequence-field/index.js.map +1 -1
- package/dist/feature-libraries/sequence-field/invert.d.ts +3 -3
- package/dist/feature-libraries/sequence-field/invert.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/invert.js +65 -167
- package/dist/feature-libraries/sequence-field/invert.js.map +1 -1
- package/dist/feature-libraries/sequence-field/markQueue.d.ts +2 -2
- package/dist/feature-libraries/sequence-field/markQueue.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/markQueue.js.map +1 -1
- package/dist/feature-libraries/sequence-field/moveEffectTable.d.ts +4 -56
- package/dist/feature-libraries/sequence-field/moveEffectTable.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/moveEffectTable.js +7 -86
- package/dist/feature-libraries/sequence-field/moveEffectTable.js.map +1 -1
- package/dist/feature-libraries/sequence-field/rebase.d.ts +3 -3
- package/dist/feature-libraries/sequence-field/rebase.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/rebase.js +106 -112
- package/dist/feature-libraries/sequence-field/rebase.js.map +1 -1
- package/dist/feature-libraries/sequence-field/replaceRevisions.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/replaceRevisions.js +16 -33
- package/dist/feature-libraries/sequence-field/replaceRevisions.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.js +0 -2
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts +22 -4
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.js +358 -179
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV2.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.js +20 -60
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecV3.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.d.ts +2 -2
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.js +10 -10
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts +3 -2
- package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.js +14 -109
- package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.js.map +1 -1
- package/dist/feature-libraries/sequence-field/types.d.ts +30 -59
- 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/feature-libraries/sequence-field/utils.d.ts +15 -24
- package/dist/feature-libraries/sequence-field/utils.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/utils.js +111 -299
- package/dist/feature-libraries/sequence-field/utils.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/shared-tree/independentView.d.ts +1 -1
- package/dist/shared-tree/independentView.d.ts.map +1 -1
- package/dist/shared-tree/independentView.js.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.map +1 -1
- package/dist/shared-tree/schematizeTree.d.ts +4 -4
- package/dist/shared-tree/schematizeTree.d.ts.map +1 -1
- package/dist/shared-tree/schematizeTree.js +2 -1
- package/dist/shared-tree/schematizeTree.js.map +1 -1
- package/dist/shared-tree/schematizingTreeView.d.ts +1 -5
- package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/dist/shared-tree/schematizingTreeView.js +32 -33
- package/dist/shared-tree/schematizingTreeView.js.map +1 -1
- package/dist/shared-tree/sharedTree.d.ts +11 -5
- package/dist/shared-tree/sharedTree.d.ts.map +1 -1
- package/dist/shared-tree/sharedTree.js +14 -4
- package/dist/shared-tree/sharedTree.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.d.ts +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.js +1 -0
- package/dist/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeEnricher.d.ts +20 -8
- package/dist/shared-tree/sharedTreeChangeEnricher.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeEnricher.js +26 -12
- package/dist/shared-tree/sharedTreeChangeEnricher.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts +5 -5
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.js +10 -4
- package/dist/shared-tree/sharedTreeChangeFamily.js.map +1 -1
- package/dist/shared-tree/sharedTreeEditBuilder.d.ts +16 -6
- package/dist/shared-tree/sharedTreeEditBuilder.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeEditBuilder.js +14 -7
- package/dist/shared-tree/sharedTreeEditBuilder.js.map +1 -1
- package/dist/shared-tree/treeAlpha.d.ts.map +1 -1
- package/dist/shared-tree/treeAlpha.js +1 -1
- package/dist/shared-tree/treeAlpha.js.map +1 -1
- package/dist/shared-tree/treeCheckout.d.ts +12 -10
- package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
- package/dist/shared-tree/treeCheckout.js +66 -17
- package/dist/shared-tree/treeCheckout.js.map +1 -1
- package/dist/shared-tree-core/branch.d.ts +3 -2
- package/dist/shared-tree-core/branch.d.ts.map +1 -1
- package/dist/shared-tree-core/branch.js +4 -3
- package/dist/shared-tree-core/branch.js.map +1 -1
- package/dist/shared-tree-core/editManager.d.ts +2 -2
- package/dist/shared-tree-core/editManager.d.ts.map +1 -1
- package/dist/shared-tree-core/editManager.js +9 -9
- package/dist/shared-tree-core/editManager.js.map +1 -1
- package/dist/shared-tree-core/editManagerCodecs.d.ts +4 -0
- package/dist/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerCodecs.js +16 -6
- package/dist/shared-tree-core/editManagerCodecs.js.map +1 -1
- package/{lib/shared-tree-core/editManagerCodecsV5.d.ts → dist/shared-tree-core/editManagerCodecsVSharedBranches.d.ts} +3 -3
- package/dist/shared-tree-core/editManagerCodecsVSharedBranches.d.ts.map +1 -0
- package/dist/shared-tree-core/{editManagerCodecsV5.js → editManagerCodecsVSharedBranches.js} +7 -7
- package/dist/shared-tree-core/editManagerCodecsVSharedBranches.js.map +1 -0
- package/dist/shared-tree-core/editManagerFormatCommons.d.ts +20 -6
- package/dist/shared-tree-core/editManagerFormatCommons.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerFormatCommons.js +22 -7
- package/dist/shared-tree-core/editManagerFormatCommons.js.map +1 -1
- package/dist/shared-tree-core/editManagerFormatV1toV4.d.ts +2 -2
- package/dist/shared-tree-core/editManagerFormatV1toV4.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerFormatV1toV4.js +1 -0
- package/dist/shared-tree-core/editManagerFormatV1toV4.js.map +1 -1
- package/dist/shared-tree-core/{editManagerFormatV5.d.ts → editManagerFormatVSharedBranches.d.ts} +3 -3
- package/dist/shared-tree-core/editManagerFormatVSharedBranches.d.ts.map +1 -0
- package/dist/shared-tree-core/{editManagerFormatV5.js → editManagerFormatVSharedBranches.js} +2 -2
- package/dist/shared-tree-core/editManagerFormatVSharedBranches.js.map +1 -0
- package/dist/shared-tree-core/editManagerSummarizer.d.ts +29 -9
- package/dist/shared-tree-core/editManagerSummarizer.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerSummarizer.js +41 -13
- package/dist/shared-tree-core/editManagerSummarizer.js.map +1 -1
- package/dist/shared-tree-core/index.d.ts +5 -3
- package/dist/shared-tree-core/index.d.ts.map +1 -1
- package/dist/shared-tree-core/index.js +8 -1
- package/dist/shared-tree-core/index.js.map +1 -1
- package/dist/shared-tree-core/messageCodecV1ToV4.d.ts +1 -1
- package/dist/shared-tree-core/messageCodecV1ToV4.d.ts.map +1 -1
- package/dist/shared-tree-core/messageCodecV1ToV4.js.map +1 -1
- package/{lib/shared-tree-core/messageCodecV5.d.ts → dist/shared-tree-core/messageCodecVSharedBranches.d.ts} +2 -2
- package/dist/shared-tree-core/messageCodecVSharedBranches.d.ts.map +1 -0
- package/dist/shared-tree-core/{messageCodecV5.js → messageCodecVSharedBranches.js} +6 -6
- package/dist/shared-tree-core/messageCodecVSharedBranches.js.map +1 -0
- package/dist/shared-tree-core/messageCodecs.d.ts +4 -0
- package/dist/shared-tree-core/messageCodecs.d.ts.map +1 -1
- package/dist/shared-tree-core/messageCodecs.js +16 -6
- package/dist/shared-tree-core/messageCodecs.js.map +1 -1
- package/dist/shared-tree-core/messageFormat.d.ts +20 -6
- package/dist/shared-tree-core/messageFormat.d.ts.map +1 -1
- package/dist/shared-tree-core/messageFormat.js +22 -7
- package/dist/shared-tree-core/messageFormat.js.map +1 -1
- package/dist/shared-tree-core/messageFormatV1ToV4.d.ts +3 -2
- package/dist/shared-tree-core/messageFormatV1ToV4.d.ts.map +1 -1
- package/dist/shared-tree-core/messageFormatV1ToV4.js +8 -1
- package/dist/shared-tree-core/messageFormatV1ToV4.js.map +1 -1
- package/dist/shared-tree-core/{messageFormatV5.d.ts → messageFormatVSharedBranches.d.ts} +5 -7
- package/dist/shared-tree-core/messageFormatVSharedBranches.d.ts.map +1 -0
- package/dist/shared-tree-core/{messageFormatV5.js → messageFormatVSharedBranches.js} +3 -2
- package/dist/shared-tree-core/messageFormatVSharedBranches.js.map +1 -0
- package/dist/shared-tree-core/sharedTreeCore.d.ts +14 -47
- package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.js +30 -18
- package/dist/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/dist/shared-tree-core/summaryTypes.d.ts +94 -0
- package/dist/shared-tree-core/summaryTypes.d.ts.map +1 -0
- package/dist/shared-tree-core/summaryTypes.js +47 -0
- package/dist/shared-tree-core/summaryTypes.js.map +1 -0
- package/dist/shared-tree-core/versionedSummarizer.d.ts +67 -0
- package/dist/shared-tree-core/versionedSummarizer.d.ts.map +1 -0
- package/dist/shared-tree-core/versionedSummarizer.js +63 -0
- package/dist/shared-tree-core/versionedSummarizer.js.map +1 -0
- package/dist/simple-tree/api/configuration.d.ts +3 -26
- package/dist/simple-tree/api/configuration.d.ts.map +1 -1
- package/dist/simple-tree/api/configuration.js +10 -21
- package/dist/simple-tree/api/configuration.js.map +1 -1
- package/dist/simple-tree/api/dirtyIndex.d.ts +11 -0
- package/dist/simple-tree/api/dirtyIndex.d.ts.map +1 -1
- package/dist/simple-tree/api/dirtyIndex.js +7 -0
- package/dist/simple-tree/api/dirtyIndex.js.map +1 -1
- package/dist/simple-tree/api/discrepancies.d.ts +1 -1
- package/dist/simple-tree/api/discrepancies.d.ts.map +1 -1
- package/dist/simple-tree/api/discrepancies.js.map +1 -1
- package/dist/simple-tree/api/getSimpleSchema.d.ts +3 -3
- package/dist/simple-tree/api/getSimpleSchema.d.ts.map +1 -1
- package/dist/simple-tree/api/getSimpleSchema.js +9 -3
- package/dist/simple-tree/api/getSimpleSchema.js.map +1 -1
- package/dist/simple-tree/api/incrementalAllowedTypes.d.ts +1 -1
- package/dist/simple-tree/api/incrementalAllowedTypes.d.ts.map +1 -1
- package/dist/simple-tree/api/incrementalAllowedTypes.js +7 -0
- package/dist/simple-tree/api/incrementalAllowedTypes.js.map +1 -1
- package/dist/simple-tree/api/index.d.ts +3 -4
- package/dist/simple-tree/api/index.d.ts.map +1 -1
- package/dist/simple-tree/api/index.js +4 -5
- package/dist/simple-tree/api/index.js.map +1 -1
- package/dist/simple-tree/api/schemaCompatibilityTester.d.ts +1 -1
- package/dist/simple-tree/api/schemaCompatibilityTester.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaCompatibilityTester.js.map +1 -1
- package/dist/simple-tree/api/schemaFactoryAlpha.d.ts +5 -5
- package/dist/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
- package/dist/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactoryRecursive.js +0 -1
- package/dist/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
- package/dist/simple-tree/api/schemaFromSimple.d.ts +6 -1
- package/dist/simple-tree/api/schemaFromSimple.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFromSimple.js +5 -0
- package/dist/simple-tree/api/schemaFromSimple.js.map +1 -1
- package/dist/simple-tree/api/schemaStatics.d.ts +12 -12
- package/dist/simple-tree/api/simpleSchemaCodec.d.ts +15 -3
- package/dist/simple-tree/api/simpleSchemaCodec.d.ts.map +1 -1
- package/dist/simple-tree/api/simpleSchemaCodec.js +18 -6
- package/dist/simple-tree/api/simpleSchemaCodec.js.map +1 -1
- package/dist/simple-tree/api/simpleSchemaToJsonSchema.d.ts +1 -1
- package/dist/simple-tree/api/simpleSchemaToJsonSchema.d.ts.map +1 -1
- package/dist/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
- package/dist/simple-tree/api/snapshotCompatibilityChecker.d.ts +8 -1
- package/dist/simple-tree/api/snapshotCompatibilityChecker.d.ts.map +1 -1
- package/dist/simple-tree/api/snapshotCompatibilityChecker.js +13 -8
- package/dist/simple-tree/api/snapshotCompatibilityChecker.js.map +1 -1
- package/dist/simple-tree/api/typesUnsafe.d.ts +3 -3
- package/dist/simple-tree/api/typesUnsafe.d.ts.map +1 -1
- package/dist/simple-tree/api/typesUnsafe.js.map +1 -1
- package/dist/simple-tree/core/allowedTypes.d.ts +2 -2
- package/dist/simple-tree/core/allowedTypes.d.ts.map +1 -1
- package/dist/simple-tree/core/allowedTypes.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 -3
- package/dist/simple-tree/core/index.js.map +1 -1
- package/dist/simple-tree/core/toStored.d.ts +17 -15
- package/dist/simple-tree/core/toStored.d.ts.map +1 -1
- package/dist/simple-tree/core/toStored.js +5 -40
- package/dist/simple-tree/core/toStored.js.map +1 -1
- package/dist/simple-tree/core/unhydratedFlexTree.d.ts +15 -15
- package/dist/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
- package/dist/simple-tree/core/unhydratedFlexTree.js +59 -8
- package/dist/simple-tree/core/unhydratedFlexTree.js.map +1 -1
- package/dist/simple-tree/core/walkSchema.d.ts.map +1 -1
- package/dist/simple-tree/core/walkSchema.js +4 -0
- 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 +20 -5
- package/dist/simple-tree/createContext.js.map +1 -1
- package/dist/simple-tree/fieldSchema.d.ts +7 -7
- package/dist/simple-tree/fieldSchema.d.ts.map +1 -1
- package/dist/simple-tree/fieldSchema.js.map +1 -1
- package/dist/simple-tree/index.d.ts +8 -7
- package/dist/simple-tree/index.d.ts.map +1 -1
- package/dist/simple-tree/index.js +15 -12
- package/dist/simple-tree/index.js.map +1 -1
- package/dist/simple-tree/leafNodeSchema.d.ts +5 -5
- package/dist/simple-tree/leafNodeSchema.d.ts.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 +5 -3
- package/dist/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
- package/dist/simple-tree/node-kinds/array/arrayNodeTypes.d.ts +3 -3
- package/dist/simple-tree/node-kinds/array/arrayNodeTypes.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/array/arrayNodeTypes.js.map +1 -1
- package/dist/simple-tree/node-kinds/common.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/common.js +1 -1
- package/dist/simple-tree/node-kinds/common.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 +2 -2
- package/dist/simple-tree/node-kinds/map/mapNode.js.map +1 -1
- package/dist/simple-tree/node-kinds/map/mapNodeTypes.d.ts +3 -3
- package/dist/simple-tree/node-kinds/map/mapNodeTypes.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/map/mapNodeTypes.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 +18 -18
- package/dist/simple-tree/node-kinds/object/objectNode.js.map +1 -1
- package/dist/simple-tree/node-kinds/object/objectNodeTypes.d.ts +2 -2
- package/dist/simple-tree/node-kinds/object/objectNodeTypes.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/object/objectNodeTypes.js.map +1 -1
- package/dist/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/record/recordNode.js +4 -2
- package/dist/simple-tree/node-kinds/record/recordNode.js.map +1 -1
- package/dist/simple-tree/node-kinds/record/recordNodeTypes.d.ts +3 -3
- package/dist/simple-tree/node-kinds/record/recordNodeTypes.d.ts.map +1 -1
- package/dist/simple-tree/node-kinds/record/recordNodeTypes.js.map +1 -1
- package/dist/simple-tree/prepareForInsertion.d.ts +54 -47
- package/dist/simple-tree/prepareForInsertion.d.ts.map +1 -1
- package/dist/simple-tree/prepareForInsertion.js +183 -125
- package/dist/simple-tree/prepareForInsertion.js.map +1 -1
- package/dist/simple-tree/simpleSchema.d.ts +55 -23
- package/dist/simple-tree/simpleSchema.d.ts.map +1 -1
- package/dist/simple-tree/simpleSchema.js +17 -0
- package/dist/simple-tree/simpleSchema.js.map +1 -1
- package/dist/simple-tree/simpleSchemaFormatV1.d.ts +1 -1
- package/dist/simple-tree/simpleSchemaFormatV1.d.ts.map +1 -1
- package/dist/simple-tree/simpleSchemaFormatV1.js +8 -1
- package/dist/simple-tree/simpleSchemaFormatV1.js.map +1 -1
- package/dist/simple-tree/toStoredSchema.d.ts +58 -11
- package/dist/simple-tree/toStoredSchema.d.ts.map +1 -1
- package/dist/simple-tree/toStoredSchema.js +205 -30
- package/dist/simple-tree/toStoredSchema.js.map +1 -1
- package/dist/simple-tree/treeSchema.d.ts +23 -0
- package/dist/simple-tree/treeSchema.d.ts.map +1 -0
- package/dist/simple-tree/treeSchema.js +25 -0
- package/dist/simple-tree/treeSchema.js.map +1 -0
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.d.ts +13 -4
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js +29 -11
- package/dist/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
- package/dist/tableSchema.d.ts +117 -63
- package/dist/tableSchema.d.ts.map +1 -1
- package/dist/tableSchema.js +159 -58
- package/dist/tableSchema.js.map +1 -1
- package/dist/treeFactory.d.ts.map +1 -1
- package/dist/treeFactory.js +17 -3
- package/dist/treeFactory.js.map +1 -1
- package/dist/util/index.d.ts +2 -1
- package/dist/util/index.d.ts.map +1 -1
- package/dist/util/index.js +4 -1
- package/dist/util/index.js.map +1 -1
- package/dist/util/rangeMap.d.ts +24 -12
- package/dist/util/rangeMap.d.ts.map +1 -1
- package/dist/util/rangeMap.js +46 -6
- package/dist/util/rangeMap.js.map +1 -1
- package/dist/util/readSnapshotBlob.d.ts +13 -0
- package/dist/util/readSnapshotBlob.d.ts.map +1 -0
- package/dist/util/readSnapshotBlob.js +18 -0
- package/dist/util/readSnapshotBlob.js.map +1 -0
- package/lib/alpha.d.ts +3 -2
- package/lib/codec/codec.d.ts +14 -1
- package/lib/codec/codec.d.ts.map +1 -1
- package/lib/codec/codec.js +11 -0
- package/lib/codec/codec.js.map +1 -1
- package/lib/codec/versioned/codec.d.ts +1 -1
- package/lib/codec/versioned/codec.d.ts.map +1 -1
- package/lib/codec/versioned/codec.js.map +1 -1
- package/lib/codec/versioned/format.d.ts +4 -1
- package/lib/codec/versioned/format.d.ts.map +1 -1
- package/lib/codec/versioned/format.js +4 -1
- package/lib/codec/versioned/format.js.map +1 -1
- package/lib/core/change-family/changeFamily.d.ts +4 -1
- package/lib/core/change-family/changeFamily.d.ts.map +1 -1
- package/lib/core/change-family/changeFamily.js.map +1 -1
- package/lib/core/change-family/index.d.ts +1 -1
- package/lib/core/change-family/index.d.ts.map +1 -1
- package/lib/core/change-family/index.js.map +1 -1
- package/lib/core/index.d.ts +3 -3
- package/lib/core/index.d.ts.map +1 -1
- package/lib/core/index.js +2 -2
- package/lib/core/index.js.map +1 -1
- package/lib/core/rebase/changeRebaser.d.ts +6 -1
- package/lib/core/rebase/changeRebaser.d.ts.map +1 -1
- package/lib/core/rebase/changeRebaser.js.map +1 -1
- package/lib/core/rebase/index.d.ts +1 -1
- package/lib/core/rebase/index.d.ts.map +1 -1
- package/lib/core/rebase/index.js +1 -1
- package/lib/core/rebase/index.js.map +1 -1
- package/lib/core/rebase/types.d.ts +2 -1
- package/lib/core/rebase/types.d.ts.map +1 -1
- package/lib/core/rebase/types.js +3 -0
- package/lib/core/rebase/types.js.map +1 -1
- package/lib/core/rebase/utils.d.ts.map +1 -1
- package/lib/core/rebase/utils.js +25 -7
- package/lib/core/rebase/utils.js.map +1 -1
- package/lib/core/tree/detachedFieldIndex.d.ts +40 -13
- package/lib/core/tree/detachedFieldIndex.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndex.js +22 -13
- package/lib/core/tree/detachedFieldIndex.js.map +1 -1
- package/lib/core/tree/index.d.ts +4 -3
- package/lib/core/tree/index.d.ts.map +1 -1
- package/lib/core/tree/index.js +3 -2
- package/lib/core/tree/index.js.map +1 -1
- package/lib/core/tree/pathTree.d.ts +11 -3
- package/lib/core/tree/pathTree.d.ts.map +1 -1
- package/lib/core/tree/pathTree.js +12 -1
- package/lib/core/tree/pathTree.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/basicChunk.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/basicChunk.js +8 -1
- package/lib/feature-libraries/chunked-forest/basicChunk.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkTree.js +4 -1
- package/lib/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.d.ts +14 -6
- package/lib/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.js +7 -2
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncode.js.map +1 -1
- package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts +91 -42
- package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/defaultEditBuilder.js +236 -70
- package/lib/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts +4 -4
- package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.js +34 -29
- package/lib/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
- package/lib/feature-libraries/default-schema/index.d.ts +2 -1
- package/lib/feature-libraries/default-schema/index.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/index.js +2 -1
- package/lib/feature-libraries/default-schema/index.js.map +1 -1
- package/lib/feature-libraries/default-schema/locationBasedEditBuilder.d.ts +36 -0
- package/lib/feature-libraries/default-schema/locationBasedEditBuilder.d.ts.map +1 -0
- package/lib/feature-libraries/default-schema/locationBasedEditBuilder.js +122 -0
- package/lib/feature-libraries/default-schema/locationBasedEditBuilder.js.map +1 -0
- package/lib/feature-libraries/default-schema/mappedEditBuilder.d.ts +7 -6
- package/lib/feature-libraries/default-schema/mappedEditBuilder.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/mappedEditBuilder.js +15 -0
- package/lib/feature-libraries/default-schema/mappedEditBuilder.js.map +1 -1
- package/lib/feature-libraries/deltaUtils.d.ts +1 -0
- package/lib/feature-libraries/deltaUtils.d.ts.map +1 -1
- package/lib/feature-libraries/deltaUtils.js +5 -1
- package/lib/feature-libraries/deltaUtils.js.map +1 -1
- package/lib/feature-libraries/detachedFieldIndexSummarizer.d.ts +30 -8
- package/lib/feature-libraries/detachedFieldIndexSummarizer.d.ts.map +1 -1
- package/lib/feature-libraries/detachedFieldIndexSummarizer.js +38 -8
- package/lib/feature-libraries/detachedFieldIndexSummarizer.js.map +1 -1
- package/lib/feature-libraries/flex-tree/context.d.ts +9 -0
- package/lib/feature-libraries/flex-tree/context.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/context.js +6 -0
- package/lib/feature-libraries/flex-tree/context.js.map +1 -1
- package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts +6 -6
- package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyField.d.ts +8 -7
- package/lib/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyField.js +38 -9
- package/lib/feature-libraries/flex-tree/lazyField.js.map +1 -1
- package/lib/feature-libraries/forest-summary/codec.d.ts +2 -2
- package/lib/feature-libraries/forest-summary/codec.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/codec.js +5 -5
- package/lib/feature-libraries/forest-summary/codec.js.map +1 -1
- package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts +9 -13
- package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/forestSummarizer.js +17 -22
- package/lib/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
- package/lib/feature-libraries/forest-summary/format.d.ts +41 -5
- package/lib/feature-libraries/forest-summary/format.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/format.js +3 -3
- package/lib/feature-libraries/forest-summary/format.js.map +1 -1
- package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts +11 -9
- package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.js +13 -26
- package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.js.map +1 -1
- package/lib/feature-libraries/forest-summary/index.d.ts +2 -1
- package/lib/feature-libraries/forest-summary/index.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/index.js +2 -1
- package/lib/feature-libraries/forest-summary/index.js.map +1 -1
- package/lib/feature-libraries/forest-summary/summaryTypes.d.ts +47 -0
- package/lib/feature-libraries/forest-summary/summaryTypes.d.ts.map +1 -0
- package/lib/feature-libraries/forest-summary/summaryTypes.js +53 -0
- package/lib/feature-libraries/forest-summary/summaryTypes.js.map +1 -0
- package/lib/feature-libraries/index.d.ts +4 -4
- package/lib/feature-libraries/index.d.ts.map +1 -1
- package/lib/feature-libraries/index.js +3 -3
- package/lib/feature-libraries/index.js.map +1 -1
- package/lib/feature-libraries/mapTreeCursor.d.ts.map +1 -1
- package/lib/feature-libraries/mapTreeCursor.js +2 -1
- package/lib/feature-libraries/mapTreeCursor.js.map +1 -1
- package/lib/feature-libraries/mitigatedChangeFamily.d.ts.map +1 -1
- package/lib/feature-libraries/mitigatedChangeFamily.js +2 -2
- package/lib/feature-libraries/mitigatedChangeFamily.js.map +1 -1
- package/lib/feature-libraries/modular-schema/comparison.d.ts +18 -2
- package/lib/feature-libraries/modular-schema/comparison.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/comparison.js +55 -5
- package/lib/feature-libraries/modular-schema/comparison.js.map +1 -1
- package/lib/feature-libraries/modular-schema/crossFieldQueries.d.ts +97 -21
- package/lib/feature-libraries/modular-schema/crossFieldQueries.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/crossFieldQueries.js +3 -5
- package/lib/feature-libraries/modular-schema/crossFieldQueries.js.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts +20 -52
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldKind.d.ts +25 -13
- package/lib/feature-libraries/modular-schema/fieldKind.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldKind.js +0 -21
- package/lib/feature-libraries/modular-schema/fieldKind.js.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKind.js +7 -10
- package/lib/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.js +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.js.map +1 -1
- package/lib/feature-libraries/modular-schema/index.d.ts +6 -6
- package/lib/feature-libraries/modular-schema/index.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/index.js +5 -4
- package/lib/feature-libraries/modular-schema/index.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.d.ts +17 -0
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -0
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js +384 -0
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js.map +1 -0
- package/lib/feature-libraries/modular-schema/modularChangeCodecV2.d.ts +17 -0
- package/lib/feature-libraries/modular-schema/modularChangeCodecV2.d.ts.map +1 -0
- package/lib/feature-libraries/modular-schema/modularChangeCodecV2.js +409 -0
- package/lib/feature-libraries/modular-schema/modularChangeCodecV2.js.map +1 -0
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts +2 -2
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.js +9 -285
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts +49 -15
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js +1291 -458
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/lib/feature-libraries/modular-schema/{modularChangeFormat.d.ts → modularChangeFormatV1.d.ts} +2 -2
- package/lib/feature-libraries/modular-schema/modularChangeFormatV1.d.ts.map +1 -0
- package/lib/feature-libraries/modular-schema/{modularChangeFormat.js → modularChangeFormatV1.js} +2 -2
- package/lib/feature-libraries/modular-schema/modularChangeFormatV1.js.map +1 -0
- package/lib/feature-libraries/modular-schema/modularChangeFormatV2.d.ts +146 -0
- package/lib/feature-libraries/modular-schema/modularChangeFormatV2.d.ts.map +1 -0
- package/lib/feature-libraries/modular-schema/modularChangeFormatV2.js +29 -0
- package/lib/feature-libraries/modular-schema/modularChangeFormatV2.js.map +1 -0
- package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts +50 -10
- package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeTypes.js +20 -2
- package/lib/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -1
- package/lib/feature-libraries/optional-field/index.d.ts +2 -2
- package/lib/feature-libraries/optional-field/index.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/index.js +1 -1
- package/lib/feature-libraries/optional-field/index.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalField.d.ts +5 -26
- package/lib/feature-libraries/optional-field/optionalField.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalField.js +217 -449
- package/lib/feature-libraries/optional-field/optionalField.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV3.d.ts +23 -0
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV3.d.ts.map +1 -0
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV3.js +27 -0
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV3.js.map +1 -0
- package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts +24 -33
- package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.d.ts +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.js +55 -26
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV3.d.ts +12 -0
- package/lib/feature-libraries/optional-field/optionalFieldCodecV3.d.ts.map +1 -0
- package/lib/feature-libraries/optional-field/optionalFieldCodecV3.js +53 -0
- package/lib/feature-libraries/optional-field/optionalFieldCodecV3.js.map +1 -0
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.js +5 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -1
- package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts +27 -8
- package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/schemaSummarizer.js +38 -12
- package/lib/feature-libraries/schema-index/schemaSummarizer.js.map +1 -1
- package/lib/feature-libraries/sequence-field/compose.d.ts +6 -7
- package/lib/feature-libraries/sequence-field/compose.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/compose.js +82 -258
- package/lib/feature-libraries/sequence-field/compose.js.map +1 -1
- package/lib/feature-libraries/sequence-field/helperTypes.d.ts +14 -10
- package/lib/feature-libraries/sequence-field/helperTypes.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/helperTypes.js.map +1 -1
- package/lib/feature-libraries/sequence-field/index.d.ts +2 -3
- package/lib/feature-libraries/sequence-field/index.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/index.js +0 -1
- package/lib/feature-libraries/sequence-field/index.js.map +1 -1
- package/lib/feature-libraries/sequence-field/invert.d.ts +3 -3
- package/lib/feature-libraries/sequence-field/invert.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/invert.js +67 -169
- package/lib/feature-libraries/sequence-field/invert.js.map +1 -1
- package/lib/feature-libraries/sequence-field/markQueue.d.ts +2 -2
- package/lib/feature-libraries/sequence-field/markQueue.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/markQueue.js.map +1 -1
- package/lib/feature-libraries/sequence-field/moveEffectTable.d.ts +4 -56
- package/lib/feature-libraries/sequence-field/moveEffectTable.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/moveEffectTable.js +6 -80
- package/lib/feature-libraries/sequence-field/moveEffectTable.js.map +1 -1
- package/lib/feature-libraries/sequence-field/rebase.d.ts +3 -3
- package/lib/feature-libraries/sequence-field/rebase.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/rebase.js +108 -114
- package/lib/feature-libraries/sequence-field/rebase.js.map +1 -1
- package/lib/feature-libraries/sequence-field/replaceRevisions.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/replaceRevisions.js +16 -33
- package/lib/feature-libraries/sequence-field/replaceRevisions.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.js +0 -2
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts +22 -4
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.js +350 -175
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV2.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.js +21 -61
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecV3.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.d.ts +2 -2
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.js +10 -10
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts +3 -2
- package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.js +14 -109
- package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.js.map +1 -1
- package/lib/feature-libraries/sequence-field/types.d.ts +30 -59
- 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/feature-libraries/sequence-field/utils.d.ts +15 -24
- package/lib/feature-libraries/sequence-field/utils.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/utils.js +107 -292
- package/lib/feature-libraries/sequence-field/utils.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/packageVersion.d.ts +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/shared-tree/independentView.d.ts +1 -1
- package/lib/shared-tree/independentView.d.ts.map +1 -1
- package/lib/shared-tree/independentView.js.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.map +1 -1
- package/lib/shared-tree/schematizeTree.d.ts +4 -4
- package/lib/shared-tree/schematizeTree.d.ts.map +1 -1
- package/lib/shared-tree/schematizeTree.js +3 -2
- package/lib/shared-tree/schematizeTree.js.map +1 -1
- package/lib/shared-tree/schematizingTreeView.d.ts +1 -5
- package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/lib/shared-tree/schematizingTreeView.js +35 -36
- package/lib/shared-tree/schematizingTreeView.js.map +1 -1
- package/lib/shared-tree/sharedTree.d.ts +11 -5
- package/lib/shared-tree/sharedTree.d.ts.map +1 -1
- package/lib/shared-tree/sharedTree.js +14 -4
- package/lib/shared-tree/sharedTree.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.d.ts +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.js +1 -0
- package/lib/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeEnricher.d.ts +20 -8
- package/lib/shared-tree/sharedTreeChangeEnricher.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeEnricher.js +27 -13
- package/lib/shared-tree/sharedTreeChangeEnricher.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts +5 -5
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.js +11 -5
- package/lib/shared-tree/sharedTreeChangeFamily.js.map +1 -1
- package/lib/shared-tree/sharedTreeEditBuilder.d.ts +16 -6
- package/lib/shared-tree/sharedTreeEditBuilder.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeEditBuilder.js +12 -6
- package/lib/shared-tree/sharedTreeEditBuilder.js.map +1 -1
- package/lib/shared-tree/treeAlpha.d.ts.map +1 -1
- package/lib/shared-tree/treeAlpha.js +2 -2
- package/lib/shared-tree/treeAlpha.js.map +1 -1
- package/lib/shared-tree/treeCheckout.d.ts +12 -10
- package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
- package/lib/shared-tree/treeCheckout.js +69 -20
- package/lib/shared-tree/treeCheckout.js.map +1 -1
- package/lib/shared-tree-core/branch.d.ts +3 -2
- package/lib/shared-tree-core/branch.d.ts.map +1 -1
- package/lib/shared-tree-core/branch.js +4 -3
- package/lib/shared-tree-core/branch.js.map +1 -1
- package/lib/shared-tree-core/editManager.d.ts +2 -2
- package/lib/shared-tree-core/editManager.d.ts.map +1 -1
- package/lib/shared-tree-core/editManager.js +9 -9
- package/lib/shared-tree-core/editManager.js.map +1 -1
- package/lib/shared-tree-core/editManagerCodecs.d.ts +4 -0
- package/lib/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerCodecs.js +14 -5
- package/lib/shared-tree-core/editManagerCodecs.js.map +1 -1
- package/{dist/shared-tree-core/editManagerCodecsV5.d.ts → lib/shared-tree-core/editManagerCodecsVSharedBranches.d.ts} +3 -3
- package/lib/shared-tree-core/editManagerCodecsVSharedBranches.d.ts.map +1 -0
- package/lib/shared-tree-core/{editManagerCodecsV5.js → editManagerCodecsVSharedBranches.js} +4 -4
- package/lib/shared-tree-core/editManagerCodecsVSharedBranches.js.map +1 -0
- package/lib/shared-tree-core/editManagerFormatCommons.d.ts +20 -6
- package/lib/shared-tree-core/editManagerFormatCommons.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerFormatCommons.js +22 -7
- package/lib/shared-tree-core/editManagerFormatCommons.js.map +1 -1
- package/lib/shared-tree-core/editManagerFormatV1toV4.d.ts +2 -2
- package/lib/shared-tree-core/editManagerFormatV1toV4.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerFormatV1toV4.js +1 -0
- package/lib/shared-tree-core/editManagerFormatV1toV4.js.map +1 -1
- package/lib/shared-tree-core/{editManagerFormatV5.d.ts → editManagerFormatVSharedBranches.d.ts} +3 -3
- package/lib/shared-tree-core/editManagerFormatVSharedBranches.d.ts.map +1 -0
- package/lib/shared-tree-core/{editManagerFormatV5.js → editManagerFormatVSharedBranches.js} +2 -2
- package/lib/shared-tree-core/editManagerFormatVSharedBranches.js.map +1 -0
- package/lib/shared-tree-core/editManagerSummarizer.d.ts +29 -9
- package/lib/shared-tree-core/editManagerSummarizer.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerSummarizer.js +39 -11
- package/lib/shared-tree-core/editManagerSummarizer.js.map +1 -1
- package/lib/shared-tree-core/index.d.ts +5 -3
- package/lib/shared-tree-core/index.d.ts.map +1 -1
- package/lib/shared-tree-core/index.js +4 -2
- package/lib/shared-tree-core/index.js.map +1 -1
- package/lib/shared-tree-core/messageCodecV1ToV4.d.ts +1 -1
- package/lib/shared-tree-core/messageCodecV1ToV4.d.ts.map +1 -1
- package/lib/shared-tree-core/messageCodecV1ToV4.js.map +1 -1
- package/{dist/shared-tree-core/messageCodecV5.d.ts → lib/shared-tree-core/messageCodecVSharedBranches.d.ts} +2 -2
- package/lib/shared-tree-core/messageCodecVSharedBranches.d.ts.map +1 -0
- package/lib/shared-tree-core/{messageCodecV5.js → messageCodecVSharedBranches.js} +3 -3
- package/lib/shared-tree-core/messageCodecVSharedBranches.js.map +1 -0
- package/lib/shared-tree-core/messageCodecs.d.ts +4 -0
- package/lib/shared-tree-core/messageCodecs.d.ts.map +1 -1
- package/lib/shared-tree-core/messageCodecs.js +14 -5
- package/lib/shared-tree-core/messageCodecs.js.map +1 -1
- package/lib/shared-tree-core/messageFormat.d.ts +20 -6
- package/lib/shared-tree-core/messageFormat.d.ts.map +1 -1
- package/lib/shared-tree-core/messageFormat.js +22 -7
- package/lib/shared-tree-core/messageFormat.js.map +1 -1
- package/lib/shared-tree-core/messageFormatV1ToV4.d.ts +3 -2
- package/lib/shared-tree-core/messageFormatV1ToV4.d.ts.map +1 -1
- package/lib/shared-tree-core/messageFormatV1ToV4.js +8 -1
- package/lib/shared-tree-core/messageFormatV1ToV4.js.map +1 -1
- package/lib/shared-tree-core/{messageFormatV5.d.ts → messageFormatVSharedBranches.d.ts} +5 -7
- package/lib/shared-tree-core/messageFormatVSharedBranches.d.ts.map +1 -0
- package/lib/shared-tree-core/{messageFormatV5.js → messageFormatVSharedBranches.js} +3 -2
- package/lib/shared-tree-core/messageFormatVSharedBranches.js.map +1 -0
- package/lib/shared-tree-core/sharedTreeCore.d.ts +14 -47
- package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.js +28 -16
- package/lib/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/lib/shared-tree-core/summaryTypes.d.ts +94 -0
- package/lib/shared-tree-core/summaryTypes.d.ts.map +1 -0
- package/lib/shared-tree-core/summaryTypes.js +43 -0
- package/lib/shared-tree-core/summaryTypes.js.map +1 -0
- package/lib/shared-tree-core/versionedSummarizer.d.ts +67 -0
- package/lib/shared-tree-core/versionedSummarizer.d.ts.map +1 -0
- package/lib/shared-tree-core/versionedSummarizer.js +59 -0
- package/lib/shared-tree-core/versionedSummarizer.js.map +1 -0
- package/lib/simple-tree/api/configuration.d.ts +3 -26
- package/lib/simple-tree/api/configuration.d.ts.map +1 -1
- package/lib/simple-tree/api/configuration.js +14 -25
- package/lib/simple-tree/api/configuration.js.map +1 -1
- package/lib/simple-tree/api/dirtyIndex.d.ts +11 -0
- package/lib/simple-tree/api/dirtyIndex.d.ts.map +1 -1
- package/lib/simple-tree/api/dirtyIndex.js +7 -0
- package/lib/simple-tree/api/dirtyIndex.js.map +1 -1
- package/lib/simple-tree/api/discrepancies.d.ts +1 -1
- package/lib/simple-tree/api/discrepancies.d.ts.map +1 -1
- package/lib/simple-tree/api/discrepancies.js.map +1 -1
- package/lib/simple-tree/api/getSimpleSchema.d.ts +3 -3
- package/lib/simple-tree/api/getSimpleSchema.d.ts.map +1 -1
- package/lib/simple-tree/api/getSimpleSchema.js +9 -3
- package/lib/simple-tree/api/getSimpleSchema.js.map +1 -1
- package/lib/simple-tree/api/incrementalAllowedTypes.d.ts +1 -1
- package/lib/simple-tree/api/incrementalAllowedTypes.d.ts.map +1 -1
- package/lib/simple-tree/api/incrementalAllowedTypes.js +8 -1
- package/lib/simple-tree/api/incrementalAllowedTypes.js.map +1 -1
- package/lib/simple-tree/api/index.d.ts +3 -4
- package/lib/simple-tree/api/index.d.ts.map +1 -1
- package/lib/simple-tree/api/index.js +2 -3
- package/lib/simple-tree/api/index.js.map +1 -1
- package/lib/simple-tree/api/schemaCompatibilityTester.d.ts +1 -1
- package/lib/simple-tree/api/schemaCompatibilityTester.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaCompatibilityTester.js.map +1 -1
- package/lib/simple-tree/api/schemaFactoryAlpha.d.ts +5 -5
- package/lib/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
- package/lib/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactoryRecursive.js +0 -1
- package/lib/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
- package/lib/simple-tree/api/schemaFromSimple.d.ts +6 -1
- package/lib/simple-tree/api/schemaFromSimple.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFromSimple.js +5 -0
- package/lib/simple-tree/api/schemaFromSimple.js.map +1 -1
- package/lib/simple-tree/api/schemaStatics.d.ts +12 -12
- package/lib/simple-tree/api/simpleSchemaCodec.d.ts +15 -3
- package/lib/simple-tree/api/simpleSchemaCodec.d.ts.map +1 -1
- package/lib/simple-tree/api/simpleSchemaCodec.js +15 -3
- package/lib/simple-tree/api/simpleSchemaCodec.js.map +1 -1
- package/lib/simple-tree/api/simpleSchemaToJsonSchema.d.ts +1 -1
- package/lib/simple-tree/api/simpleSchemaToJsonSchema.d.ts.map +1 -1
- package/lib/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
- package/lib/simple-tree/api/snapshotCompatibilityChecker.d.ts +8 -1
- package/lib/simple-tree/api/snapshotCompatibilityChecker.d.ts.map +1 -1
- package/lib/simple-tree/api/snapshotCompatibilityChecker.js +15 -10
- package/lib/simple-tree/api/snapshotCompatibilityChecker.js.map +1 -1
- package/lib/simple-tree/api/typesUnsafe.d.ts +3 -3
- package/lib/simple-tree/api/typesUnsafe.d.ts.map +1 -1
- package/lib/simple-tree/api/typesUnsafe.js.map +1 -1
- package/lib/simple-tree/core/allowedTypes.d.ts +2 -2
- package/lib/simple-tree/core/allowedTypes.d.ts.map +1 -1
- package/lib/simple-tree/core/allowedTypes.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/toStored.d.ts +17 -15
- package/lib/simple-tree/core/toStored.d.ts.map +1 -1
- package/lib/simple-tree/core/toStored.js +4 -37
- package/lib/simple-tree/core/toStored.js.map +1 -1
- package/lib/simple-tree/core/unhydratedFlexTree.d.ts +15 -15
- package/lib/simple-tree/core/unhydratedFlexTree.d.ts.map +1 -1
- package/lib/simple-tree/core/unhydratedFlexTree.js +58 -8
- package/lib/simple-tree/core/unhydratedFlexTree.js.map +1 -1
- package/lib/simple-tree/core/walkSchema.d.ts.map +1 -1
- package/lib/simple-tree/core/walkSchema.js +5 -1
- 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 +20 -5
- package/lib/simple-tree/createContext.js.map +1 -1
- package/lib/simple-tree/fieldSchema.d.ts +7 -7
- package/lib/simple-tree/fieldSchema.d.ts.map +1 -1
- package/lib/simple-tree/fieldSchema.js.map +1 -1
- package/lib/simple-tree/index.d.ts +8 -7
- package/lib/simple-tree/index.d.ts.map +1 -1
- package/lib/simple-tree/index.js +6 -5
- package/lib/simple-tree/index.js.map +1 -1
- package/lib/simple-tree/leafNodeSchema.d.ts +5 -5
- package/lib/simple-tree/leafNodeSchema.d.ts.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 +6 -4
- package/lib/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
- package/lib/simple-tree/node-kinds/array/arrayNodeTypes.d.ts +3 -3
- package/lib/simple-tree/node-kinds/array/arrayNodeTypes.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/array/arrayNodeTypes.js.map +1 -1
- package/lib/simple-tree/node-kinds/common.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/common.js +2 -2
- package/lib/simple-tree/node-kinds/common.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 +2 -2
- package/lib/simple-tree/node-kinds/map/mapNode.js.map +1 -1
- package/lib/simple-tree/node-kinds/map/mapNodeTypes.d.ts +3 -3
- package/lib/simple-tree/node-kinds/map/mapNodeTypes.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/map/mapNodeTypes.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 +19 -19
- package/lib/simple-tree/node-kinds/object/objectNode.js.map +1 -1
- package/lib/simple-tree/node-kinds/object/objectNodeTypes.d.ts +2 -2
- package/lib/simple-tree/node-kinds/object/objectNodeTypes.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/object/objectNodeTypes.js.map +1 -1
- package/lib/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/record/recordNode.js +4 -2
- package/lib/simple-tree/node-kinds/record/recordNode.js.map +1 -1
- package/lib/simple-tree/node-kinds/record/recordNodeTypes.d.ts +3 -3
- package/lib/simple-tree/node-kinds/record/recordNodeTypes.d.ts.map +1 -1
- package/lib/simple-tree/node-kinds/record/recordNodeTypes.js.map +1 -1
- package/lib/simple-tree/prepareForInsertion.d.ts +54 -47
- package/lib/simple-tree/prepareForInsertion.d.ts.map +1 -1
- package/lib/simple-tree/prepareForInsertion.js +183 -124
- package/lib/simple-tree/prepareForInsertion.js.map +1 -1
- package/lib/simple-tree/simpleSchema.d.ts +55 -23
- package/lib/simple-tree/simpleSchema.d.ts.map +1 -1
- package/lib/simple-tree/simpleSchema.js +16 -1
- package/lib/simple-tree/simpleSchema.js.map +1 -1
- package/lib/simple-tree/simpleSchemaFormatV1.d.ts +1 -1
- package/lib/simple-tree/simpleSchemaFormatV1.d.ts.map +1 -1
- package/lib/simple-tree/simpleSchemaFormatV1.js +8 -1
- package/lib/simple-tree/simpleSchemaFormatV1.js.map +1 -1
- package/lib/simple-tree/toStoredSchema.d.ts +58 -11
- package/lib/simple-tree/toStoredSchema.d.ts.map +1 -1
- package/lib/simple-tree/toStoredSchema.js +204 -31
- package/lib/simple-tree/toStoredSchema.js.map +1 -1
- package/lib/simple-tree/treeSchema.d.ts +23 -0
- package/lib/simple-tree/treeSchema.d.ts.map +1 -0
- package/lib/simple-tree/treeSchema.js +21 -0
- package/lib/simple-tree/treeSchema.js.map +1 -0
- package/lib/simple-tree/unhydratedFlexTreeFromInsertable.d.ts +13 -4
- package/lib/simple-tree/unhydratedFlexTreeFromInsertable.d.ts.map +1 -1
- package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js +26 -9
- package/lib/simple-tree/unhydratedFlexTreeFromInsertable.js.map +1 -1
- package/lib/tableSchema.d.ts +117 -63
- package/lib/tableSchema.d.ts.map +1 -1
- package/lib/tableSchema.js +160 -59
- package/lib/tableSchema.js.map +1 -1
- package/lib/treeFactory.d.ts.map +1 -1
- package/lib/treeFactory.js +18 -4
- package/lib/treeFactory.js.map +1 -1
- package/lib/util/index.d.ts +2 -1
- package/lib/util/index.d.ts.map +1 -1
- package/lib/util/index.js +2 -1
- package/lib/util/index.js.map +1 -1
- package/lib/util/rangeMap.d.ts +24 -12
- package/lib/util/rangeMap.d.ts.map +1 -1
- package/lib/util/rangeMap.js +44 -5
- package/lib/util/rangeMap.js.map +1 -1
- package/lib/util/readSnapshotBlob.d.ts +13 -0
- package/lib/util/readSnapshotBlob.d.ts.map +1 -0
- package/lib/util/readSnapshotBlob.js +14 -0
- package/lib/util/readSnapshotBlob.js.map +1 -0
- package/package.json +21 -21
- package/src/codec/codec.ts +15 -1
- package/src/codec/versioned/codec.ts +1 -1
- package/src/codec/versioned/format.ts +4 -1
- package/src/core/change-family/changeFamily.ts +5 -0
- package/src/core/change-family/index.ts +1 -0
- package/src/core/index.ts +7 -2
- package/src/core/rebase/changeRebaser.ts +6 -1
- package/src/core/rebase/index.ts +1 -0
- package/src/core/rebase/types.ts +8 -1
- package/src/core/rebase/utils.ts +31 -7
- package/src/core/tree/detachedFieldIndex.ts +71 -14
- package/src/core/tree/index.ts +9 -3
- package/src/core/tree/pathTree.ts +16 -4
- package/src/feature-libraries/chunked-forest/basicChunk.ts +7 -1
- package/src/feature-libraries/chunked-forest/chunkTree.ts +6 -1
- package/src/feature-libraries/chunked-forest/codec/incrementalEncodingPolicy.ts +15 -7
- package/src/feature-libraries/chunked-forest/codec/schemaBasedEncode.ts +9 -9
- package/src/feature-libraries/default-schema/defaultEditBuilder.ts +398 -127
- package/src/feature-libraries/default-schema/defaultFieldKinds.ts +35 -38
- package/src/feature-libraries/default-schema/index.ts +17 -5
- package/src/feature-libraries/default-schema/locationBasedEditBuilder.ts +180 -0
- package/src/feature-libraries/default-schema/mappedEditBuilder.ts +35 -9
- package/src/feature-libraries/deltaUtils.ts +6 -1
- package/src/feature-libraries/detachedFieldIndexSummarizer.ts +62 -15
- package/src/feature-libraries/flex-tree/context.ts +17 -0
- package/src/feature-libraries/flex-tree/flexTreeTypes.ts +7 -8
- package/src/feature-libraries/flex-tree/lazyField.ts +66 -24
- package/src/feature-libraries/forest-summary/codec.ts +8 -8
- package/src/feature-libraries/forest-summary/forestSummarizer.ts +45 -37
- package/src/feature-libraries/forest-summary/format.ts +4 -4
- package/src/feature-libraries/forest-summary/incrementalSummaryBuilder.ts +23 -39
- package/src/feature-libraries/forest-summary/index.ts +2 -1
- package/src/feature-libraries/forest-summary/summaryTypes.ts +61 -0
- package/src/feature-libraries/index.ts +23 -9
- package/src/feature-libraries/mapTreeCursor.ts +2 -1
- package/src/feature-libraries/mitigatedChangeFamily.ts +3 -1
- package/src/feature-libraries/modular-schema/comparison.ts +63 -5
- package/src/feature-libraries/modular-schema/crossFieldQueries.ts +142 -44
- package/src/feature-libraries/modular-schema/fieldChangeHandler.ts +36 -57
- package/src/feature-libraries/modular-schema/fieldKind.ts +24 -40
- package/src/feature-libraries/modular-schema/genericFieldKind.ts +10 -19
- package/src/feature-libraries/modular-schema/genericFieldKindCodecs.ts +1 -1
- package/src/feature-libraries/modular-schema/index.ts +22 -15
- package/src/feature-libraries/modular-schema/modularChangeCodecV1.ts +732 -0
- package/src/feature-libraries/modular-schema/modularChangeCodecV2.ts +790 -0
- package/src/feature-libraries/modular-schema/modularChangeCodecs.ts +29 -499
- package/src/feature-libraries/modular-schema/modularChangeFamily.ts +2547 -739
- package/src/feature-libraries/modular-schema/{modularChangeFormat.ts → modularChangeFormatV1.ts} +2 -1
- package/src/feature-libraries/modular-schema/modularChangeFormatV2.ts +62 -0
- package/src/feature-libraries/modular-schema/modularChangeTypes.ts +98 -10
- package/src/feature-libraries/optional-field/index.ts +1 -3
- package/src/feature-libraries/optional-field/optionalField.ts +317 -574
- package/src/feature-libraries/optional-field/optionalFieldChangeFormatV3.ts +45 -0
- package/src/feature-libraries/optional-field/optionalFieldChangeTypes.ts +24 -38
- package/src/feature-libraries/optional-field/optionalFieldCodecV2.ts +89 -35
- package/src/feature-libraries/optional-field/optionalFieldCodecV3.ts +94 -0
- package/src/feature-libraries/optional-field/optionalFieldCodecs.ts +5 -1
- package/src/feature-libraries/schema-index/schemaSummarizer.ts +59 -18
- package/src/feature-libraries/sequence-field/compose.ts +134 -519
- package/src/feature-libraries/sequence-field/helperTypes.ts +34 -19
- package/src/feature-libraries/sequence-field/index.ts +0 -9
- package/src/feature-libraries/sequence-field/invert.ts +103 -228
- package/src/feature-libraries/sequence-field/markQueue.ts +2 -2
- package/src/feature-libraries/sequence-field/moveEffectTable.ts +8 -191
- package/src/feature-libraries/sequence-field/rebase.ts +168 -203
- package/src/feature-libraries/sequence-field/replaceRevisions.ts +31 -52
- package/src/feature-libraries/sequence-field/sequenceFieldChangeHandler.ts +0 -2
- package/src/feature-libraries/sequence-field/sequenceFieldCodecV2.ts +643 -220
- package/src/feature-libraries/sequence-field/sequenceFieldCodecV3.ts +56 -68
- package/src/feature-libraries/sequence-field/sequenceFieldEditor.ts +25 -27
- package/src/feature-libraries/sequence-field/sequenceFieldToDelta.ts +19 -129
- package/src/feature-libraries/sequence-field/types.ts +34 -64
- package/src/feature-libraries/sequence-field/utils.ts +133 -346
- package/src/index.ts +3 -2
- package/src/packageVersion.ts +1 -1
- package/src/shared-tree/independentView.ts +1 -1
- package/src/shared-tree/index.ts +3 -2
- package/src/shared-tree/schematizeTree.ts +21 -8
- package/src/shared-tree/schematizingTreeView.ts +50 -68
- package/src/shared-tree/sharedTree.ts +39 -12
- package/src/shared-tree/sharedTreeChangeCodecs.ts +5 -1
- package/src/shared-tree/sharedTreeChangeEnricher.ts +33 -11
- package/src/shared-tree/sharedTreeChangeFamily.ts +15 -5
- package/src/shared-tree/sharedTreeEditBuilder.ts +47 -13
- package/src/shared-tree/treeAlpha.ts +2 -3
- package/src/shared-tree/treeCheckout.ts +104 -31
- package/src/shared-tree-core/branch.ts +8 -2
- package/src/shared-tree-core/editManager.ts +16 -2
- package/src/shared-tree-core/editManagerCodecs.ts +17 -5
- package/src/shared-tree-core/{editManagerCodecsV5.ts → editManagerCodecsVSharedBranches.ts} +3 -3
- package/src/shared-tree-core/editManagerFormatCommons.ts +22 -7
- package/src/shared-tree-core/editManagerFormatV1toV4.ts +3 -1
- package/src/shared-tree-core/{editManagerFormatV5.ts → editManagerFormatVSharedBranches.ts} +2 -2
- package/src/shared-tree-core/editManagerSummarizer.ts +58 -16
- package/src/shared-tree-core/index.ts +11 -3
- package/src/shared-tree-core/messageCodecV1ToV4.ts +2 -1
- package/src/shared-tree-core/{messageCodecV5.ts → messageCodecVSharedBranches.ts} +3 -3
- package/src/shared-tree-core/messageCodecs.ts +17 -5
- package/src/shared-tree-core/messageFormat.ts +22 -7
- package/src/shared-tree-core/messageFormatV1ToV4.ts +16 -2
- package/src/shared-tree-core/{messageFormatV5.ts → messageFormatVSharedBranches.ts} +4 -6
- package/src/shared-tree-core/sharedTreeCore.ts +67 -76
- package/src/shared-tree-core/summaryTypes.ts +122 -0
- package/src/shared-tree-core/versionedSummarizer.ts +107 -0
- package/src/simple-tree/api/configuration.ts +21 -68
- package/src/simple-tree/api/dirtyIndex.ts +11 -0
- package/src/simple-tree/api/discrepancies.ts +1 -1
- package/src/simple-tree/api/getSimpleSchema.ts +13 -6
- package/src/simple-tree/api/incrementalAllowedTypes.ts +15 -3
- package/src/simple-tree/api/index.ts +3 -4
- package/src/simple-tree/api/schemaCompatibilityTester.ts +1 -1
- package/src/simple-tree/api/schemaFactoryAlpha.ts +2 -2
- package/src/simple-tree/api/schemaFactoryRecursive.ts +0 -2
- package/src/simple-tree/api/schemaFromSimple.ts +11 -5
- package/src/simple-tree/api/simpleSchemaCodec.ts +17 -3
- package/src/simple-tree/api/simpleSchemaToJsonSchema.ts +1 -1
- package/src/simple-tree/api/snapshotCompatibilityChecker.ts +18 -10
- package/src/simple-tree/api/typesUnsafe.ts +7 -3
- package/src/simple-tree/core/allowedTypes.ts +3 -3
- package/src/simple-tree/core/index.ts +2 -2
- package/src/simple-tree/core/toStored.ts +22 -55
- package/src/simple-tree/core/unhydratedFlexTree.ts +87 -36
- package/src/simple-tree/core/walkSchema.ts +6 -0
- package/src/simple-tree/createContext.ts +26 -11
- package/src/simple-tree/fieldSchema.ts +16 -7
- package/src/simple-tree/index.ts +12 -11
- package/src/simple-tree/node-kinds/array/arrayNode.ts +12 -7
- package/src/simple-tree/node-kinds/array/arrayNodeTypes.ts +3 -3
- package/src/simple-tree/node-kinds/common.ts +2 -5
- package/src/simple-tree/node-kinds/map/mapNode.ts +9 -6
- package/src/simple-tree/node-kinds/map/mapNodeTypes.ts +3 -3
- package/src/simple-tree/node-kinds/object/objectNode.ts +26 -26
- package/src/simple-tree/node-kinds/object/objectNodeTypes.ts +6 -2
- package/src/simple-tree/node-kinds/record/recordNode.ts +15 -11
- package/src/simple-tree/node-kinds/record/recordNodeTypes.ts +3 -3
- package/src/simple-tree/prepareForInsertion.ts +343 -200
- package/src/simple-tree/simpleSchema.ts +79 -32
- package/src/simple-tree/simpleSchemaFormatV1.ts +9 -1
- package/src/simple-tree/toStoredSchema.ts +319 -61
- package/src/simple-tree/treeSchema.ts +54 -0
- package/src/simple-tree/unhydratedFlexTreeFromInsertable.ts +42 -14
- package/src/tableSchema.ts +485 -166
- package/src/treeFactory.ts +19 -5
- package/src/util/index.ts +5 -0
- package/src/util/rangeMap.ts +72 -18
- package/src/util/readSnapshotBlob.ts +23 -0
- package/dist/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +0 -1
- package/dist/feature-libraries/modular-schema/modularChangeFormat.js.map +0 -1
- package/dist/feature-libraries/sequence-field/relevantRemovedRoots.d.ts +0 -9
- package/dist/feature-libraries/sequence-field/relevantRemovedRoots.d.ts.map +0 -1
- package/dist/feature-libraries/sequence-field/relevantRemovedRoots.js +0 -50
- package/dist/feature-libraries/sequence-field/relevantRemovedRoots.js.map +0 -1
- package/dist/shared-tree-core/editManagerCodecsV5.d.ts.map +0 -1
- package/dist/shared-tree-core/editManagerCodecsV5.js.map +0 -1
- package/dist/shared-tree-core/editManagerFormatV5.d.ts.map +0 -1
- package/dist/shared-tree-core/editManagerFormatV5.js.map +0 -1
- package/dist/shared-tree-core/messageCodecV5.d.ts.map +0 -1
- package/dist/shared-tree-core/messageCodecV5.js.map +0 -1
- package/dist/shared-tree-core/messageFormatV5.d.ts.map +0 -1
- package/dist/shared-tree-core/messageFormatV5.js.map +0 -1
- package/dist/simple-tree/api/viewSchemaToSimpleSchema.d.ts +0 -40
- package/dist/simple-tree/api/viewSchemaToSimpleSchema.d.ts.map +0 -1
- package/dist/simple-tree/api/viewSchemaToSimpleSchema.js +0 -177
- package/dist/simple-tree/api/viewSchemaToSimpleSchema.js.map +0 -1
- package/docs/main/sequence-field/move-composition.md +0 -46
- package/lib/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +0 -1
- package/lib/feature-libraries/modular-schema/modularChangeFormat.js.map +0 -1
- package/lib/feature-libraries/sequence-field/relevantRemovedRoots.d.ts +0 -9
- package/lib/feature-libraries/sequence-field/relevantRemovedRoots.d.ts.map +0 -1
- package/lib/feature-libraries/sequence-field/relevantRemovedRoots.js +0 -46
- package/lib/feature-libraries/sequence-field/relevantRemovedRoots.js.map +0 -1
- package/lib/shared-tree-core/editManagerCodecsV5.d.ts.map +0 -1
- package/lib/shared-tree-core/editManagerCodecsV5.js.map +0 -1
- package/lib/shared-tree-core/editManagerFormatV5.d.ts.map +0 -1
- package/lib/shared-tree-core/editManagerFormatV5.js.map +0 -1
- package/lib/shared-tree-core/messageCodecV5.d.ts.map +0 -1
- package/lib/shared-tree-core/messageCodecV5.js.map +0 -1
- package/lib/shared-tree-core/messageFormatV5.d.ts.map +0 -1
- package/lib/shared-tree-core/messageFormatV5.js.map +0 -1
- package/lib/simple-tree/api/viewSchemaToSimpleSchema.d.ts +0 -40
- package/lib/simple-tree/api/viewSchemaToSimpleSchema.d.ts.map +0 -1
- package/lib/simple-tree/api/viewSchemaToSimpleSchema.js +0 -171
- package/lib/simple-tree/api/viewSchemaToSimpleSchema.js.map +0 -1
- package/src/feature-libraries/sequence-field/relevantRemovedRoots.ts +0 -57
- package/src/simple-tree/api/viewSchemaToSimpleSchema.ts +0 -209
package/src/tableSchema.ts
CHANGED
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
type InsertableObjectFromSchemaRecord,
|
|
14
14
|
type InsertableTreeNodeFromImplicitAllowedTypes,
|
|
15
15
|
type NodeKind,
|
|
16
|
-
|
|
16
|
+
SchemaFactoryBeta,
|
|
17
17
|
type ScopedSchemaName,
|
|
18
18
|
TreeArrayNode,
|
|
19
19
|
type TreeNode,
|
|
@@ -25,11 +25,14 @@ import {
|
|
|
25
25
|
type InsertableTreeFieldFromImplicitField,
|
|
26
26
|
type InternalTreeNode,
|
|
27
27
|
SchemaFactory,
|
|
28
|
+
scoped,
|
|
28
29
|
type ImplicitFieldSchema,
|
|
29
30
|
withBufferedTreeEvents,
|
|
30
31
|
type TreeRecordNode,
|
|
32
|
+
objectSchema,
|
|
31
33
|
} from "./simple-tree/index.js";
|
|
32
34
|
import { validateIndex, validateIndexRange } from "./util/index.js";
|
|
35
|
+
import { EmptyKey } from "./core/index.js";
|
|
33
36
|
|
|
34
37
|
// Future improvement TODOs:
|
|
35
38
|
// - Omit `cells` property from Row insertion type.
|
|
@@ -40,9 +43,10 @@ import { validateIndex, validateIndexRange } from "./util/index.js";
|
|
|
40
43
|
// - Add constraint APIs to make it possible to avoid situations that could yield "orphaned" cells.
|
|
41
44
|
|
|
42
45
|
/**
|
|
43
|
-
*
|
|
46
|
+
* Scope for table schema built-in types.
|
|
47
|
+
* @remarks User-provided factory scoping will be applied as `com.fluidframework.table<user-scope>`.
|
|
44
48
|
*/
|
|
45
|
-
const
|
|
49
|
+
const baseSchemaScope = "com.fluidframework.table";
|
|
46
50
|
|
|
47
51
|
/**
|
|
48
52
|
* A private symbol put on table schema to help identify them.
|
|
@@ -51,16 +55,16 @@ const tableSchemaSymbol: unique symbol = Symbol("tableNode");
|
|
|
51
55
|
|
|
52
56
|
/**
|
|
53
57
|
* A row in a table.
|
|
54
|
-
* @typeParam
|
|
55
|
-
* @typeParam
|
|
58
|
+
* @typeParam TCellSchema - The type of the cells in the {@link TableSchema.Table}.
|
|
59
|
+
* @typeParam TPropsSchema - Additional properties to associate with the row.
|
|
56
60
|
* @privateRemarks Private counterpart to the {@link TableSchema.Row}.
|
|
57
61
|
* Exposes internal properties needed for table operations (publicly exposed via {@link TableSchema.Table}).
|
|
58
62
|
* @sealed
|
|
59
63
|
*/
|
|
60
64
|
export interface RowPrivate<
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
> extends TableSchema.Row<
|
|
65
|
+
TCellSchema extends ImplicitAllowedTypes,
|
|
66
|
+
TPropsSchema extends ImplicitFieldSchema = ImplicitFieldSchema,
|
|
67
|
+
> extends TableSchema.Row<TCellSchema, TPropsSchema> {
|
|
64
68
|
/**
|
|
65
69
|
* The row's cells.
|
|
66
70
|
* @remarks This is a user-defined schema that can be used to store additional information about the row.
|
|
@@ -68,7 +72,7 @@ export interface RowPrivate<
|
|
|
68
72
|
* Note: these docs are duplicated on the inline type definitions in {@link System_TableSchema.createRowSchema}.
|
|
69
73
|
* If you update the docs here, please also update the inline type definitions.
|
|
70
74
|
*/
|
|
71
|
-
readonly cells: TreeRecordNode<
|
|
75
|
+
readonly cells: TreeRecordNode<TCellSchema>;
|
|
72
76
|
}
|
|
73
77
|
|
|
74
78
|
/**
|
|
@@ -82,6 +86,36 @@ export interface RowPrivate<
|
|
|
82
86
|
* @system @alpha
|
|
83
87
|
*/
|
|
84
88
|
export namespace System_TableSchema {
|
|
89
|
+
/**
|
|
90
|
+
* A list of items in a table whose elements may be rearranged, but not inserted or removed.
|
|
91
|
+
*
|
|
92
|
+
* @privateRemarks Used by {@link TableSchema.Table} for its `rows` and `columns` properties to allow basic rearrangement operations on the underlying sequences without permitting mutation operations that might violate table invariants.
|
|
93
|
+
*
|
|
94
|
+
* Note: this can't reasonably be implemented via `Pick<ArrayNode<...>>` because we only want to include the
|
|
95
|
+
* subset of its method overloads which do not support moving items between lists.
|
|
96
|
+
*
|
|
97
|
+
* @alpha @system
|
|
98
|
+
*/
|
|
99
|
+
export type RearrangeableList<TItemSchema extends ImplicitAllowedTypes> = TreeNode &
|
|
100
|
+
readonly TreeNodeFromImplicitAllowedTypes<TItemSchema>[] & {
|
|
101
|
+
// #region Capture the subset of item rearrangement methods from `TreeArrayNode` that do not allow moving between lists.
|
|
102
|
+
|
|
103
|
+
/** {@inheritDoc (TreeArrayNode:interface).(moveToEnd:1)} */
|
|
104
|
+
moveToEnd(sourceIndex: number): void;
|
|
105
|
+
/** {@inheritDoc (TreeArrayNode:interface).(moveToStart:1)} */
|
|
106
|
+
moveToStart(sourceIndex: number): void;
|
|
107
|
+
/** {@inheritDoc (TreeArrayNode:interface).(moveToIndex:1)} */
|
|
108
|
+
moveToIndex(sourceIndex: number, destinationIndex: number): void;
|
|
109
|
+
/** {@inheritDoc (TreeArrayNode:interface).(moveRangeToEnd:1)} */
|
|
110
|
+
moveRangeToEnd(startIndex: number, endIndex: number): void;
|
|
111
|
+
/** {@inheritDoc (TreeArrayNode:interface).(moveRangeToStart:1)} */
|
|
112
|
+
moveRangeToStart(startIndex: number, endIndex: number): void;
|
|
113
|
+
/** {@inheritDoc (TreeArrayNode:interface).(moveRangeToIndex:1)} */
|
|
114
|
+
moveRangeToIndex(startIndex: number, endIndex: number, destinationIndex: number): void;
|
|
115
|
+
|
|
116
|
+
// #endregion
|
|
117
|
+
};
|
|
118
|
+
|
|
85
119
|
/**
|
|
86
120
|
* Default type used for column and row "props" fields.
|
|
87
121
|
* @privateRemarks
|
|
@@ -102,6 +136,7 @@ export namespace System_TableSchema {
|
|
|
102
136
|
/**
|
|
103
137
|
* Schema factory with which the Column schema will be associated.
|
|
104
138
|
* @remarks Can be used to associate the resulting schema with an existing {@link SchemaFactory.scope|scope}.
|
|
139
|
+
* The resulting schema will have an identifier of the form: `com.fluidframework.table<${TUserScope}>.<Column|Row|Table>`.
|
|
105
140
|
*/
|
|
106
141
|
readonly schemaFactory: TSchemaFactory;
|
|
107
142
|
}
|
|
@@ -122,14 +157,15 @@ export namespace System_TableSchema {
|
|
|
122
157
|
// #region Column
|
|
123
158
|
|
|
124
159
|
/**
|
|
125
|
-
* Base options for creating table
|
|
160
|
+
* Base options for creating table column schema.
|
|
126
161
|
* @remarks Includes parameters common to all column factory overloads.
|
|
127
162
|
* @system @alpha
|
|
128
163
|
*/
|
|
129
164
|
export type CreateColumnOptionsBase<
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
165
|
+
TUserScope extends string = string,
|
|
166
|
+
TSchemaFactory extends SchemaFactoryBeta<TUserScope> = SchemaFactoryBeta<TUserScope>,
|
|
167
|
+
TCellSchema extends ImplicitAllowedTypes = ImplicitAllowedTypes,
|
|
168
|
+
> = OptionsWithSchemaFactory<TSchemaFactory> & OptionsWithCellSchema<TCellSchema>;
|
|
133
169
|
|
|
134
170
|
/**
|
|
135
171
|
* Factory for creating column schema.
|
|
@@ -137,12 +173,12 @@ export namespace System_TableSchema {
|
|
|
137
173
|
*/
|
|
138
174
|
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type -- Return type is too complex to be reasonable to specify
|
|
139
175
|
export function createColumnSchema<
|
|
140
|
-
const
|
|
176
|
+
const TUserScope extends string,
|
|
141
177
|
const TCellSchema extends ImplicitAllowedTypes,
|
|
142
178
|
const TPropsSchema extends ImplicitFieldSchema,
|
|
143
|
-
>(inputSchemaFactory: SchemaFactoryBeta<
|
|
144
|
-
const schemaFactory = inputSchemaFactory
|
|
145
|
-
type Scope =
|
|
179
|
+
>(inputSchemaFactory: SchemaFactoryBeta<TUserScope>, propsSchema: TPropsSchema) {
|
|
180
|
+
const schemaFactory = createTableScopedFactory(inputSchemaFactory);
|
|
181
|
+
type Scope = typeof schemaFactory.scope;
|
|
146
182
|
|
|
147
183
|
// Note: `columnFields` is broken into two parts to work around a TypeScript bug
|
|
148
184
|
// that results in broken `.d.ts` output.
|
|
@@ -252,10 +288,10 @@ export namespace System_TableSchema {
|
|
|
252
288
|
* @sealed @system @alpha
|
|
253
289
|
*/
|
|
254
290
|
export type ColumnSchemaBase<
|
|
255
|
-
|
|
291
|
+
TUserScope extends string = string,
|
|
256
292
|
TCellSchema extends ImplicitAllowedTypes = ImplicitAllowedTypes,
|
|
257
293
|
TPropsSchema extends ImplicitFieldSchema = ImplicitFieldSchema,
|
|
258
|
-
> = ReturnType<typeof createColumnSchema<
|
|
294
|
+
> = ReturnType<typeof createColumnSchema<TUserScope, TCellSchema, TPropsSchema>>;
|
|
259
295
|
|
|
260
296
|
// #endregion
|
|
261
297
|
|
|
@@ -267,9 +303,10 @@ export namespace System_TableSchema {
|
|
|
267
303
|
* @system @alpha
|
|
268
304
|
*/
|
|
269
305
|
export type CreateRowOptionsBase<
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
306
|
+
TUserScope extends string = string,
|
|
307
|
+
TSchemaFactory extends SchemaFactoryBeta<TUserScope> = SchemaFactoryBeta<TUserScope>,
|
|
308
|
+
TCellSchema extends ImplicitAllowedTypes = ImplicitAllowedTypes,
|
|
309
|
+
> = OptionsWithSchemaFactory<TSchemaFactory> & OptionsWithCellSchema<TCellSchema>;
|
|
273
310
|
|
|
274
311
|
/**
|
|
275
312
|
* Factory for creating row schema.
|
|
@@ -277,16 +314,16 @@ export namespace System_TableSchema {
|
|
|
277
314
|
*/
|
|
278
315
|
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type -- Return type is too complex to be reasonable to specify
|
|
279
316
|
export function createRowSchema<
|
|
280
|
-
const
|
|
317
|
+
const TUserScope extends string,
|
|
281
318
|
const TCellSchema extends ImplicitAllowedTypes,
|
|
282
319
|
const TPropsSchema extends ImplicitFieldSchema,
|
|
283
320
|
>(
|
|
284
|
-
inputSchemaFactory: SchemaFactoryBeta<
|
|
321
|
+
inputSchemaFactory: SchemaFactoryBeta<TUserScope>,
|
|
285
322
|
cellSchema: TCellSchema,
|
|
286
323
|
propsSchema: TPropsSchema,
|
|
287
324
|
) {
|
|
288
|
-
const schemaFactory = inputSchemaFactory
|
|
289
|
-
type Scope =
|
|
325
|
+
const schemaFactory = createTableScopedFactory(inputSchemaFactory);
|
|
326
|
+
type Scope = typeof schemaFactory.scope;
|
|
290
327
|
|
|
291
328
|
// Note: `rowFields` is broken into two parts to work around a TypeScript bug
|
|
292
329
|
// that results in broken `.d.ts` output.
|
|
@@ -404,10 +441,10 @@ export namespace System_TableSchema {
|
|
|
404
441
|
* @sealed @system @alpha
|
|
405
442
|
*/
|
|
406
443
|
export type RowSchemaBase<
|
|
407
|
-
|
|
444
|
+
TUserScope extends string = string,
|
|
408
445
|
TCellSchema extends ImplicitAllowedTypes = ImplicitAllowedTypes,
|
|
409
446
|
TPropsSchema extends ImplicitFieldSchema = ImplicitFieldSchema,
|
|
410
|
-
> = ReturnType<typeof createRowSchema<
|
|
447
|
+
> = ReturnType<typeof createRowSchema<TUserScope, TCellSchema, TPropsSchema>>;
|
|
411
448
|
|
|
412
449
|
// #endregion
|
|
413
450
|
|
|
@@ -419,9 +456,10 @@ export namespace System_TableSchema {
|
|
|
419
456
|
* @system @alpha
|
|
420
457
|
*/
|
|
421
458
|
export type TableFactoryOptionsBase<
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
459
|
+
TUserScope extends string = string,
|
|
460
|
+
TSchemaFactory extends SchemaFactoryBeta<TUserScope> = SchemaFactoryBeta<TUserScope>,
|
|
461
|
+
TCellSchema extends ImplicitAllowedTypes = ImplicitAllowedTypes,
|
|
462
|
+
> = OptionsWithSchemaFactory<TSchemaFactory> & OptionsWithCellSchema<TCellSchema>;
|
|
425
463
|
|
|
426
464
|
/**
|
|
427
465
|
* Factory for creating table schema.
|
|
@@ -429,50 +467,137 @@ export namespace System_TableSchema {
|
|
|
429
467
|
*/
|
|
430
468
|
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type -- Return type is too complex to be reasonable to specify
|
|
431
469
|
export function createTableSchema<
|
|
432
|
-
const
|
|
470
|
+
const TUserScope extends string,
|
|
433
471
|
const TCellSchema extends ImplicitAllowedTypes,
|
|
434
|
-
const TColumnSchema extends ColumnSchemaBase<
|
|
435
|
-
const TRowSchema extends RowSchemaBase<
|
|
472
|
+
const TColumnSchema extends ColumnSchemaBase<TUserScope, TCellSchema>,
|
|
473
|
+
const TRowSchema extends RowSchemaBase<TUserScope, TCellSchema>,
|
|
436
474
|
>(
|
|
437
|
-
inputSchemaFactory: SchemaFactoryBeta<
|
|
475
|
+
inputSchemaFactory: SchemaFactoryBeta<TUserScope>,
|
|
438
476
|
_cellSchema: TCellSchema,
|
|
439
477
|
columnSchema: TColumnSchema,
|
|
440
478
|
rowSchema: TRowSchema,
|
|
441
479
|
) {
|
|
442
|
-
const schemaFactory = inputSchemaFactory
|
|
443
|
-
type Scope =
|
|
480
|
+
const schemaFactory = createTableScopedFactory(inputSchemaFactory);
|
|
481
|
+
type Scope = typeof schemaFactory.scope;
|
|
444
482
|
|
|
445
483
|
type CellValueType = TreeNodeFromImplicitAllowedTypes<TCellSchema>;
|
|
446
484
|
type ColumnValueType = TreeNodeFromImplicitAllowedTypes<TColumnSchema>;
|
|
485
|
+
type ColumnInsertableType = InsertableTreeNodeFromImplicitAllowedTypes<TColumnSchema>;
|
|
447
486
|
type RowValueType = TreeNodeFromImplicitAllowedTypes<TRowSchema>;
|
|
487
|
+
type RowInsertableType = InsertableTreeNodeFromImplicitAllowedTypes<TRowSchema>;
|
|
448
488
|
|
|
449
489
|
// Internal version of RowValueType that exposes the `cells` property for use within Table methods.
|
|
450
490
|
type RowValueInternalType = RowValueType & RowPrivate<TCellSchema>;
|
|
451
491
|
|
|
492
|
+
/**
|
|
493
|
+
* {@link Table} inner fields.
|
|
494
|
+
* @remarks Extracted for re-use as construction parameters.
|
|
495
|
+
* @see {@link Table.create}.
|
|
496
|
+
*/
|
|
497
|
+
const tableInnerFields = {
|
|
498
|
+
rows: schemaFactory.array("Table.rows", rowSchema),
|
|
499
|
+
columns: schemaFactory.array("Table.columns", columnSchema),
|
|
500
|
+
} as const satisfies Record<string, ImplicitFieldSchema>;
|
|
501
|
+
|
|
452
502
|
/**
|
|
453
503
|
* {@link Table} fields.
|
|
454
504
|
* @remarks Extracted for re-use in returned type signature defined later in this function.
|
|
455
505
|
* The implicit typing is intentional.
|
|
456
506
|
*/
|
|
457
507
|
const tableFields = {
|
|
458
|
-
|
|
459
|
-
|
|
508
|
+
table: schemaFactory.required(schemaFactory.object("Table", tableInnerFields), {
|
|
509
|
+
// Use an empty key in the stored schema format to help prevent schema-unaware edits from being
|
|
510
|
+
// made to the table, which may violate intended invariants.
|
|
511
|
+
key: EmptyKey,
|
|
512
|
+
}),
|
|
460
513
|
} as const satisfies Record<string, ImplicitFieldSchema>;
|
|
461
514
|
|
|
515
|
+
type TableValueType = TreeNode &
|
|
516
|
+
TableSchema.Table<TUserScope, TCellSchema, TColumnSchema, TRowSchema> &
|
|
517
|
+
WithType<ScopedSchemaName<Scope, "TableRoot">>;
|
|
518
|
+
// Prevent users from calling the table node constructor directly.
|
|
519
|
+
// They should use the static `create` factory method instead.
|
|
520
|
+
type TableInsertableType = never;
|
|
521
|
+
type TableConstructorType = new (data?: InternalTreeNode | undefined) => TableValueType;
|
|
522
|
+
|
|
462
523
|
/**
|
|
463
524
|
* The Table schema
|
|
464
525
|
*/
|
|
465
526
|
class Table
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
527
|
+
// Calling the objectSchema factory directly rather than using the schemaFactory so we can specify
|
|
528
|
+
// `implicitlyConstructable: false`, which the SchemaFactory APIs do not yet support.
|
|
529
|
+
// TODO: when support for configuring `implicitlyConstructable` is added to SchemaFactory, switch to
|
|
530
|
+
// using that instead.
|
|
531
|
+
extends objectSchema(
|
|
532
|
+
/* identifier: */ scoped(schemaFactory as SchemaFactory<Scope>, "TableRoot"),
|
|
533
|
+
/* info: */ tableFields,
|
|
534
|
+
/* implicitlyConstructable: */ false,
|
|
535
|
+
/* nodeOptions: */ {
|
|
536
|
+
// Will make it easier to evolve this schema in the future.
|
|
537
|
+
allowUnknownOptionalFields: true,
|
|
538
|
+
},
|
|
539
|
+
)
|
|
540
|
+
implements TableSchema.Table<TUserScope, TCellSchema, TColumnSchema, TRowSchema>
|
|
471
541
|
{
|
|
472
|
-
public
|
|
542
|
+
public constructor(node?: InternalTreeNode | undefined) {
|
|
543
|
+
super(node ?? { table: { columns: [], rows: [] } });
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
public static create<TThis extends TableConstructorType>(
|
|
473
547
|
this: TThis,
|
|
548
|
+
initialContents?:
|
|
549
|
+
| TableSchema.TableFactoryMethodParameters<
|
|
550
|
+
TUserScope,
|
|
551
|
+
TCellSchema,
|
|
552
|
+
TColumnSchema,
|
|
553
|
+
TRowSchema
|
|
554
|
+
>
|
|
555
|
+
| undefined,
|
|
474
556
|
): InstanceType<TThis> {
|
|
475
|
-
|
|
557
|
+
// #region Input validation
|
|
558
|
+
|
|
559
|
+
const columns =
|
|
560
|
+
(initialContents?.columns as Iterable<ColumnInsertableType> | undefined) ?? [];
|
|
561
|
+
|
|
562
|
+
const columnIds = new Set<string>();
|
|
563
|
+
for (const column of columns) {
|
|
564
|
+
columnIds.add((column as ColumnValueType).id);
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
const rows = (initialContents?.rows as Iterable<RowInsertableType> | undefined) ?? [];
|
|
568
|
+
|
|
569
|
+
Table._validateNewColumns(
|
|
570
|
+
columns,
|
|
571
|
+
// New table, so no existing columns to validate against
|
|
572
|
+
new Set(),
|
|
573
|
+
);
|
|
574
|
+
|
|
575
|
+
Table._validateNewRows(
|
|
576
|
+
rows,
|
|
577
|
+
// New table, so no existing rows to validate against
|
|
578
|
+
new Set(),
|
|
579
|
+
// No existing columns to validate cells against, but we do need to validate the new rows against the new columns
|
|
580
|
+
columnIds,
|
|
581
|
+
);
|
|
582
|
+
|
|
583
|
+
// #endregion
|
|
584
|
+
return new this(
|
|
585
|
+
initialContents === undefined
|
|
586
|
+
? undefined
|
|
587
|
+
: ({
|
|
588
|
+
table: initialContents,
|
|
589
|
+
// We have typed our constructor to prevent users from calling it directly with insertable contents.
|
|
590
|
+
// But the base constructor still allows it. Cast to work around this.
|
|
591
|
+
} as unknown as InternalTreeNode),
|
|
592
|
+
) as InstanceType<TThis>;
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
public get columns(): RearrangeableList<TColumnSchema> {
|
|
596
|
+
return this.table.columns as RearrangeableList<TColumnSchema>;
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
public get rows(): RearrangeableList<TRowSchema> {
|
|
600
|
+
return this.table.rows as RearrangeableList<TRowSchema>;
|
|
476
601
|
}
|
|
477
602
|
|
|
478
603
|
public getColumn(indexOrId: number | string): ColumnValueType | undefined {
|
|
@@ -504,17 +629,26 @@ export namespace System_TableSchema {
|
|
|
504
629
|
columns,
|
|
505
630
|
index,
|
|
506
631
|
}: TableSchema.InsertColumnsParameters<TColumnSchema>): ColumnValueType[] {
|
|
632
|
+
// #region Input validation
|
|
633
|
+
|
|
634
|
+
// Ensure specified index is valid
|
|
635
|
+
if (index !== undefined) {
|
|
636
|
+
validateIndex(index, this.table.columns, "Table.insertColumns", true);
|
|
637
|
+
}
|
|
638
|
+
|
|
639
|
+
// Ensure the new columns being inserted are valid
|
|
640
|
+
this.#validateNewColumns(columns);
|
|
641
|
+
|
|
642
|
+
// #endregion
|
|
643
|
+
|
|
507
644
|
// TypeScript is unable to narrow the column type correctly here, hence the casts below.
|
|
508
645
|
// See: https://github.com/microsoft/TypeScript/issues/52144
|
|
509
646
|
if (index === undefined) {
|
|
510
647
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
511
|
-
this.columns.insertAtEnd(TreeArrayNode.spread(columns) as any);
|
|
648
|
+
this.table.columns.insertAtEnd(TreeArrayNode.spread(columns) as any);
|
|
512
649
|
} else {
|
|
513
|
-
// Ensure specified index is valid
|
|
514
|
-
validateIndex(index, this.columns, "Table.insertColumns", true);
|
|
515
|
-
|
|
516
650
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
517
|
-
this.columns.insertAt(index, TreeArrayNode.spread(columns) as any);
|
|
651
|
+
this.table.columns.insertAt(index, TreeArrayNode.spread(columns) as any);
|
|
518
652
|
}
|
|
519
653
|
|
|
520
654
|
// Inserting the input nodes into the tree hydrates them, making them usable as nodes.
|
|
@@ -529,27 +663,11 @@ export namespace System_TableSchema {
|
|
|
529
663
|
|
|
530
664
|
// Ensure specified index is valid
|
|
531
665
|
if (index !== undefined) {
|
|
532
|
-
validateIndex(index, this.rows, "Table.insertRows", true);
|
|
666
|
+
validateIndex(index, this.table.rows, "Table.insertRows", true);
|
|
533
667
|
}
|
|
534
668
|
|
|
535
|
-
//
|
|
536
|
-
|
|
537
|
-
for (const newRow of rows) {
|
|
538
|
-
// If the row contains cells, verify that the table contains the columns for those cells.
|
|
539
|
-
// Note: we intentionally hide `cells` on `IRow` to avoid leaking the internal data representation as much as possible, so we have to cast here.
|
|
540
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
541
|
-
if ((newRow as any).cells !== undefined) {
|
|
542
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
543
|
-
const keys: string[] = Object.keys((newRow as any).cells);
|
|
544
|
-
for (const key of keys) {
|
|
545
|
-
if (!this.#containsColumnWithId(key)) {
|
|
546
|
-
throw new UsageError(
|
|
547
|
-
`Attempted to insert row a cell under column ID "${key}", but the table does not contain a column with that ID.`,
|
|
548
|
-
);
|
|
549
|
-
}
|
|
550
|
-
}
|
|
551
|
-
}
|
|
552
|
-
}
|
|
669
|
+
// Ensure the new rows being inserted are valid
|
|
670
|
+
this.#validateNewRows(rows);
|
|
553
671
|
|
|
554
672
|
// #endregion
|
|
555
673
|
|
|
@@ -557,10 +675,10 @@ export namespace System_TableSchema {
|
|
|
557
675
|
// See: https://github.com/microsoft/TypeScript/issues/52144
|
|
558
676
|
if (index === undefined) {
|
|
559
677
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
560
|
-
this.rows.insertAtEnd(TreeArrayNode.spread(rows) as any);
|
|
678
|
+
this.table.rows.insertAtEnd(TreeArrayNode.spread(rows) as any);
|
|
561
679
|
} else {
|
|
562
680
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
563
|
-
this.rows.insertAt(index, TreeArrayNode.spread(rows) as any);
|
|
681
|
+
this.table.rows.insertAt(index, TreeArrayNode.spread(rows) as any);
|
|
564
682
|
}
|
|
565
683
|
|
|
566
684
|
// Inserting the input nodes into the tree hydrates them, making them usable as nodes.
|
|
@@ -586,17 +704,18 @@ export namespace System_TableSchema {
|
|
|
586
704
|
if (typeof indexOrColumns === "number" || indexOrColumns === undefined) {
|
|
587
705
|
let removedColumns: ColumnValueType[] | undefined;
|
|
588
706
|
const startIndex = indexOrColumns ?? 0;
|
|
589
|
-
const endIndex =
|
|
707
|
+
const endIndex =
|
|
708
|
+
count === undefined ? this.table.columns.length : startIndex + count;
|
|
590
709
|
|
|
591
710
|
// If there are no columns to remove, do nothing
|
|
592
711
|
if (startIndex === endIndex) {
|
|
593
712
|
return [];
|
|
594
713
|
}
|
|
595
714
|
|
|
596
|
-
validateIndexRange(startIndex, endIndex, this.columns, "Table.removeColumns");
|
|
715
|
+
validateIndexRange(startIndex, endIndex, this.table.columns, "Table.removeColumns");
|
|
597
716
|
|
|
598
717
|
this.#applyEditsInBatch(() => {
|
|
599
|
-
const columnsToRemove = this.columns.slice(
|
|
718
|
+
const columnsToRemove = this.table.columns.slice(
|
|
600
719
|
startIndex,
|
|
601
720
|
endIndex,
|
|
602
721
|
) as ColumnValueType[];
|
|
@@ -607,7 +726,12 @@ export namespace System_TableSchema {
|
|
|
607
726
|
}
|
|
608
727
|
|
|
609
728
|
// Second, remove the column nodes:
|
|
610
|
-
removeRangeFromArray(
|
|
729
|
+
removeRangeFromArray(
|
|
730
|
+
startIndex,
|
|
731
|
+
endIndex,
|
|
732
|
+
this.table.columns,
|
|
733
|
+
"Table.removeColumns",
|
|
734
|
+
);
|
|
611
735
|
removedColumns = columnsToRemove;
|
|
612
736
|
});
|
|
613
737
|
return removedColumns ?? fail(0xc1f /* Transaction did not complete. */);
|
|
@@ -630,7 +754,7 @@ export namespace System_TableSchema {
|
|
|
630
754
|
// So if we throw an error here for any column, no columns will be removed.
|
|
631
755
|
for (const columnToRemove of columnsToRemove) {
|
|
632
756
|
// Remove the corresponding cell from all rows.
|
|
633
|
-
for (const row of this.rows) {
|
|
757
|
+
for (const row of this.table.rows) {
|
|
634
758
|
// TypeScript is unable to narrow the row type correctly here, hence the cast.
|
|
635
759
|
// See: https://github.com/microsoft/TypeScript/issues/52144
|
|
636
760
|
this.removeCell({
|
|
@@ -640,7 +764,7 @@ export namespace System_TableSchema {
|
|
|
640
764
|
}
|
|
641
765
|
|
|
642
766
|
// We have already validated that all of the columns exist above, so this is safe.
|
|
643
|
-
this.columns.removeAt(this.columns.indexOf(columnToRemove));
|
|
767
|
+
this.table.columns.removeAt(this.table.columns.indexOf(columnToRemove));
|
|
644
768
|
}
|
|
645
769
|
});
|
|
646
770
|
return columnsToRemove;
|
|
@@ -653,14 +777,19 @@ export namespace System_TableSchema {
|
|
|
653
777
|
): RowValueType[] {
|
|
654
778
|
if (typeof indexOrRows === "number" || indexOrRows === undefined) {
|
|
655
779
|
const startIndex = indexOrRows ?? 0;
|
|
656
|
-
const endIndex = count === undefined ? this.
|
|
780
|
+
const endIndex = count === undefined ? this.table.rows.length : startIndex + count;
|
|
657
781
|
|
|
658
782
|
// If there are no rows to remove, do nothing
|
|
659
783
|
if (startIndex === endIndex) {
|
|
660
784
|
return [];
|
|
661
785
|
}
|
|
662
786
|
|
|
663
|
-
return removeRangeFromArray(
|
|
787
|
+
return removeRangeFromArray(
|
|
788
|
+
startIndex,
|
|
789
|
+
endIndex,
|
|
790
|
+
this.table.rows,
|
|
791
|
+
"Table.removeRows",
|
|
792
|
+
);
|
|
664
793
|
}
|
|
665
794
|
|
|
666
795
|
// If there are no rows to remove, do nothing
|
|
@@ -681,8 +810,8 @@ export namespace System_TableSchema {
|
|
|
681
810
|
// So if we throw an error here for any row, no rows will be removed.
|
|
682
811
|
for (const rowToRemove of rowsToRemove) {
|
|
683
812
|
// We have already validated that all of the rows exist above, so this is safe.
|
|
684
|
-
const index = this.rows.indexOf(rowToRemove);
|
|
685
|
-
this.rows.removeAt(index);
|
|
813
|
+
const index = this.table.rows.indexOf(rowToRemove);
|
|
814
|
+
this.table.rows.removeAt(index);
|
|
686
815
|
}
|
|
687
816
|
});
|
|
688
817
|
return rowsToRemove;
|
|
@@ -709,7 +838,7 @@ export namespace System_TableSchema {
|
|
|
709
838
|
* Removes the cell corresponding with the specified column from each row in the table.
|
|
710
839
|
*/
|
|
711
840
|
#removeCells(column: ColumnValueType): void {
|
|
712
|
-
for (const row of this.rows) {
|
|
841
|
+
for (const row of this.table.rows) {
|
|
713
842
|
// TypeScript is unable to narrow the row type correctly here, hence the cast.
|
|
714
843
|
// See: https://github.com/microsoft/TypeScript/issues/52144
|
|
715
844
|
this.removeCell({
|
|
@@ -757,25 +886,25 @@ export namespace System_TableSchema {
|
|
|
757
886
|
columnOrIdOrIndex: ColumnValueType | string | number,
|
|
758
887
|
): ColumnValueType | undefined {
|
|
759
888
|
if (typeof columnOrIdOrIndex === "number") {
|
|
760
|
-
if (columnOrIdOrIndex < 0 || columnOrIdOrIndex >= this.columns.length) {
|
|
889
|
+
if (columnOrIdOrIndex < 0 || columnOrIdOrIndex >= this.table.columns.length) {
|
|
761
890
|
return undefined;
|
|
762
891
|
}
|
|
763
892
|
// TypeScript is unable to narrow the types correctly here, hence the cast.
|
|
764
893
|
// See: https://github.com/microsoft/TypeScript/issues/52144
|
|
765
|
-
return this.columns[columnOrIdOrIndex] as ColumnValueType;
|
|
894
|
+
return this.table.columns[columnOrIdOrIndex] as ColumnValueType;
|
|
766
895
|
}
|
|
767
896
|
|
|
768
897
|
if (typeof columnOrIdOrIndex === "string") {
|
|
769
898
|
const columnId = columnOrIdOrIndex;
|
|
770
899
|
// TypeScript is unable to narrow the types correctly here, hence the casts.
|
|
771
900
|
// See: https://github.com/microsoft/TypeScript/issues/52144
|
|
772
|
-
return this.columns.find((col) => (col as ColumnValueType).id === columnId) as
|
|
901
|
+
return this.table.columns.find((col) => (col as ColumnValueType).id === columnId) as
|
|
773
902
|
| ColumnValueType
|
|
774
903
|
| undefined;
|
|
775
904
|
}
|
|
776
905
|
|
|
777
906
|
// If the user provided a node, ensure it actually exists in this table.
|
|
778
|
-
if (!this.columns.includes(columnOrIdOrIndex)) {
|
|
907
|
+
if (!this.table.columns.includes(columnOrIdOrIndex)) {
|
|
779
908
|
return undefined;
|
|
780
909
|
}
|
|
781
910
|
|
|
@@ -795,13 +924,6 @@ export namespace System_TableSchema {
|
|
|
795
924
|
return column;
|
|
796
925
|
}
|
|
797
926
|
|
|
798
|
-
/**
|
|
799
|
-
* Checks if a Column with the specified ID exists in the table.
|
|
800
|
-
*/
|
|
801
|
-
#containsColumnWithId(columnId: string): boolean {
|
|
802
|
-
return this.#tryGetColumn(columnId) !== undefined;
|
|
803
|
-
}
|
|
804
|
-
|
|
805
927
|
/**
|
|
806
928
|
* Throw a `UsageError` for a missing Column by its ID or index.
|
|
807
929
|
*/
|
|
@@ -830,25 +952,25 @@ export namespace System_TableSchema {
|
|
|
830
952
|
*/
|
|
831
953
|
#tryGetRow(rowOrIdOrIndex: RowValueType | string | number): RowValueType | undefined {
|
|
832
954
|
if (typeof rowOrIdOrIndex === "number") {
|
|
833
|
-
if (rowOrIdOrIndex < 0 || rowOrIdOrIndex >= this.rows.length) {
|
|
955
|
+
if (rowOrIdOrIndex < 0 || rowOrIdOrIndex >= this.table.rows.length) {
|
|
834
956
|
return undefined;
|
|
835
957
|
}
|
|
836
958
|
// TypeScript is unable to narrow the types correctly here, hence the cast.
|
|
837
959
|
// See: https://github.com/microsoft/TypeScript/issues/52144
|
|
838
|
-
return this.rows[rowOrIdOrIndex] as RowValueType;
|
|
960
|
+
return this.table.rows[rowOrIdOrIndex] as RowValueType;
|
|
839
961
|
}
|
|
840
962
|
|
|
841
963
|
if (typeof rowOrIdOrIndex === "string") {
|
|
842
964
|
const rowId = rowOrIdOrIndex;
|
|
843
965
|
// TypeScript is unable to narrow the types correctly here, hence the casts.
|
|
844
966
|
// See: https://github.com/microsoft/TypeScript/issues/52144
|
|
845
|
-
return this.rows.find((row) => (row as RowValueType).id === rowId) as
|
|
967
|
+
return this.table.rows.find((row) => (row as RowValueType).id === rowId) as
|
|
846
968
|
| RowValueType
|
|
847
969
|
| undefined;
|
|
848
970
|
}
|
|
849
971
|
|
|
850
972
|
// If the user provided a node, ensure it actually exists in this table.
|
|
851
|
-
if (!this.rows.includes(rowOrIdOrIndex)) {
|
|
973
|
+
if (!this.table.rows.includes(rowOrIdOrIndex)) {
|
|
852
974
|
return undefined;
|
|
853
975
|
}
|
|
854
976
|
|
|
@@ -868,6 +990,109 @@ export namespace System_TableSchema {
|
|
|
868
990
|
return row;
|
|
869
991
|
}
|
|
870
992
|
|
|
993
|
+
/**
|
|
994
|
+
* Validates the provided list of new columns being inserted into the table.
|
|
995
|
+
* @throws Throws a `UsageError` if any of the following conditions are met:
|
|
996
|
+
* - A column with a duplicate ID is being inserted.
|
|
997
|
+
*/
|
|
998
|
+
#validateNewColumns(newColumns: readonly ColumnInsertableType[]): void {
|
|
999
|
+
return Table._validateNewColumns(
|
|
1000
|
+
newColumns,
|
|
1001
|
+
new Set(this.table.columns.map((column) => (column as ColumnValueType).id)),
|
|
1002
|
+
);
|
|
1003
|
+
}
|
|
1004
|
+
|
|
1005
|
+
/**
|
|
1006
|
+
* Validates the provided list of new rows being inserted into the table.
|
|
1007
|
+
* @throws Throws a `UsageError` if any of the following conditions are met:
|
|
1008
|
+
* - A row with a duplicate ID is being inserted.
|
|
1009
|
+
* - A row is being inserted that contains cells for columns that do not exist in the table.
|
|
1010
|
+
*/
|
|
1011
|
+
#validateNewRows(newRows: readonly RowInsertableType[]): void {
|
|
1012
|
+
return Table._validateNewRows(
|
|
1013
|
+
newRows,
|
|
1014
|
+
new Set(this.table.rows.map((row) => (row as RowValueType).id)),
|
|
1015
|
+
new Set(this.table.columns.map((column) => (column as ColumnValueType).id)),
|
|
1016
|
+
);
|
|
1017
|
+
}
|
|
1018
|
+
|
|
1019
|
+
/**
|
|
1020
|
+
* Validates the provided list of new columns being inserted into the table.
|
|
1021
|
+
* @throws Throws a `UsageError` if any of the following conditions are met:
|
|
1022
|
+
* - A column with a duplicate ID is being inserted.
|
|
1023
|
+
*/
|
|
1024
|
+
private static _validateNewColumns(
|
|
1025
|
+
newColumns: Iterable<ColumnInsertableType>,
|
|
1026
|
+
existingColumnIds: Set<string>,
|
|
1027
|
+
): void {
|
|
1028
|
+
const newColumnIds = new Set<string>();
|
|
1029
|
+
for (const newColumn of newColumns) {
|
|
1030
|
+
// #region Ensure each column ID is unique
|
|
1031
|
+
const newColumnId = (newColumn as ColumnValueType).id;
|
|
1032
|
+
if (existingColumnIds.has(newColumnId)) {
|
|
1033
|
+
throw new UsageError(
|
|
1034
|
+
`Attempted to insert a column with ID "${newColumnId}", but a column with that ID already exists in the table.`,
|
|
1035
|
+
);
|
|
1036
|
+
}
|
|
1037
|
+
if (newColumnIds.has(newColumnId)) {
|
|
1038
|
+
throw new UsageError(
|
|
1039
|
+
`Attempted to insert multiple columns with ID "${newColumnId}". Column IDs must be unique.`,
|
|
1040
|
+
);
|
|
1041
|
+
}
|
|
1042
|
+
newColumnIds.add(newColumnId);
|
|
1043
|
+
}
|
|
1044
|
+
}
|
|
1045
|
+
|
|
1046
|
+
/**
|
|
1047
|
+
* Validates the provided list of new rows being inserted into the table.
|
|
1048
|
+
* @throws Throws a `UsageError` if any of the following conditions are met:
|
|
1049
|
+
* - A row with a duplicate ID is being inserted.
|
|
1050
|
+
* - A row is being inserted that contains cells for columns that do not exist in the table.
|
|
1051
|
+
*/
|
|
1052
|
+
private static _validateNewRows(
|
|
1053
|
+
newRows: Iterable<RowInsertableType>,
|
|
1054
|
+
existingRowIds: Set<string>,
|
|
1055
|
+
columnIds: Set<string>,
|
|
1056
|
+
): void {
|
|
1057
|
+
const newRowIds = new Set<string>();
|
|
1058
|
+
for (const newRow of newRows) {
|
|
1059
|
+
// #region Ensure each row ID is unique
|
|
1060
|
+
|
|
1061
|
+
const newRowId = (newRow as RowValueType).id;
|
|
1062
|
+
if (existingRowIds.has(newRowId)) {
|
|
1063
|
+
throw new UsageError(
|
|
1064
|
+
`Attempted to insert a row with ID "${newRowId}", but a row with that ID already exists in the table.`,
|
|
1065
|
+
);
|
|
1066
|
+
}
|
|
1067
|
+
if (newRowIds.has(newRowId)) {
|
|
1068
|
+
throw new UsageError(
|
|
1069
|
+
`Attempted to insert multiple rows with ID "${newRowId}". Row IDs must be unique.`,
|
|
1070
|
+
);
|
|
1071
|
+
}
|
|
1072
|
+
newRowIds.add(newRowId);
|
|
1073
|
+
|
|
1074
|
+
// #endregion
|
|
1075
|
+
|
|
1076
|
+
// #region If the row contains cells, verify that the table contains the columns for those cells
|
|
1077
|
+
|
|
1078
|
+
// Note: we intentionally hide `cells` on `IRow` to avoid leaking the internal data representation as much as possible, so we have to cast here.
|
|
1079
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1080
|
+
if ((newRow as any).cells !== undefined) {
|
|
1081
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1082
|
+
const keys: string[] = Object.keys((newRow as any).cells);
|
|
1083
|
+
for (const key of keys) {
|
|
1084
|
+
if (!columnIds.has(key)) {
|
|
1085
|
+
throw new UsageError(
|
|
1086
|
+
`Attempted to insert a row containing a cell under column ID "${key}", but the table does not contain a column with that ID.`,
|
|
1087
|
+
);
|
|
1088
|
+
}
|
|
1089
|
+
}
|
|
1090
|
+
}
|
|
1091
|
+
|
|
1092
|
+
// #endregion
|
|
1093
|
+
}
|
|
1094
|
+
}
|
|
1095
|
+
|
|
871
1096
|
/**
|
|
872
1097
|
* Throw a `UsageError` for a missing Row by its ID or index.
|
|
873
1098
|
*/
|
|
@@ -895,29 +1120,39 @@ export namespace System_TableSchema {
|
|
|
895
1120
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
896
1121
|
(Table as any)[tableSchemaSymbol] = true;
|
|
897
1122
|
|
|
898
|
-
type TableValueType = TreeNode &
|
|
899
|
-
TableSchema.Table<TInputScope, TCellSchema, TColumnSchema, TRowSchema> &
|
|
900
|
-
WithType<ScopedSchemaName<Scope, "Table">>;
|
|
901
|
-
type TableInsertableType = InsertableObjectFromSchemaRecord<typeof tableFields>;
|
|
902
|
-
type TableConstructorType = new (data: TableInsertableType) => TableValueType;
|
|
903
|
-
|
|
904
1123
|
// Returning SingletonSchema without a type conversion results in TypeScript generating something like `readonly "__#124291@#brand": unknown;`
|
|
905
1124
|
// for the private brand field of TreeNode.
|
|
906
1125
|
// This numeric id doesn't seem to be stable over incremental builds, and thus causes diffs in the API extractor reports.
|
|
907
1126
|
// This is avoided by doing this type conversion.
|
|
908
1127
|
// The conversion is done via assignment instead of `as` to get stronger type safety.
|
|
909
1128
|
const TableSchemaType: TreeNodeSchemaClass<
|
|
910
|
-
/* Name */ ScopedSchemaName<Scope, "
|
|
1129
|
+
/* Name */ ScopedSchemaName<Scope, "TableRoot">,
|
|
911
1130
|
/* Kind */ NodeKind.Object,
|
|
912
1131
|
/* TNode */ TableValueType,
|
|
913
|
-
/* TInsertable */
|
|
914
|
-
/* ImplicitlyConstructable */
|
|
915
|
-
/* Info */ typeof tableFields
|
|
1132
|
+
/* TInsertable */ TableInsertableType,
|
|
1133
|
+
/* ImplicitlyConstructable */ false,
|
|
1134
|
+
/* Info */ typeof tableFields,
|
|
1135
|
+
/* TConstructorExtra */ undefined
|
|
916
1136
|
> & {
|
|
917
1137
|
/**
|
|
918
|
-
* Create
|
|
1138
|
+
* Create a table with initial contents.
|
|
1139
|
+
* @param initialContents - The initial contents of the table.
|
|
1140
|
+
* If not provided, an empty table will be constructed.
|
|
1141
|
+
* @remarks Performs the following input validation:
|
|
1142
|
+
* - Ensures that any cells specified in the initial rows correspond to existing columns in the initial columns.
|
|
1143
|
+
* - Ensures that all column and row IDs are unique.
|
|
919
1144
|
*/
|
|
920
|
-
|
|
1145
|
+
create<TThis extends TableConstructorType>(
|
|
1146
|
+
this: TThis,
|
|
1147
|
+
initialContents?:
|
|
1148
|
+
| TableSchema.TableFactoryMethodParameters<
|
|
1149
|
+
TUserScope,
|
|
1150
|
+
TCellSchema,
|
|
1151
|
+
TColumnSchema,
|
|
1152
|
+
TRowSchema
|
|
1153
|
+
>
|
|
1154
|
+
| undefined,
|
|
1155
|
+
): InstanceType<TThis>;
|
|
921
1156
|
} = Table;
|
|
922
1157
|
|
|
923
1158
|
// Return the table schema
|
|
@@ -929,15 +1164,21 @@ export namespace System_TableSchema {
|
|
|
929
1164
|
* @sealed @system @alpha
|
|
930
1165
|
*/
|
|
931
1166
|
export type TableSchemaBase<
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
> = ReturnType<typeof createTableSchema<
|
|
1167
|
+
TUserScope extends string,
|
|
1168
|
+
TCellSchema extends ImplicitAllowedTypes,
|
|
1169
|
+
TColumnSchema extends ColumnSchemaBase<TUserScope, TCellSchema>,
|
|
1170
|
+
TRowSchema extends RowSchemaBase<TUserScope, TCellSchema>,
|
|
1171
|
+
> = ReturnType<typeof createTableSchema<TUserScope, TCellSchema, TColumnSchema, TRowSchema>>;
|
|
937
1172
|
|
|
938
1173
|
// #endregion
|
|
939
1174
|
}
|
|
940
1175
|
|
|
1176
|
+
function createTableScopedFactory<TUserScope extends string>(
|
|
1177
|
+
inputSchemaFactory: SchemaFactoryBeta<TUserScope>,
|
|
1178
|
+
): SchemaFactoryBeta<`${typeof baseSchemaScope}<${TUserScope}>`> {
|
|
1179
|
+
return new SchemaFactoryBeta(`${baseSchemaScope}<${inputSchemaFactory.scope}>`);
|
|
1180
|
+
}
|
|
1181
|
+
|
|
941
1182
|
/**
|
|
942
1183
|
* Removes the specified range of elements from the array.
|
|
943
1184
|
* @returns The removed elements.
|
|
@@ -1006,7 +1247,7 @@ function removeRangeFromArray<TNodeSchema extends ImplicitAllowedTypes>(
|
|
|
1006
1247
|
* cell: schemaFactory.string,
|
|
1007
1248
|
* }) {}
|
|
1008
1249
|
*
|
|
1009
|
-
* const table =
|
|
1250
|
+
* const table = MyTable.create({
|
|
1010
1251
|
* columns: [{ id: "column-0" }],
|
|
1011
1252
|
* rows: [{ id: "row-0", cells: { "column-0": "Hello world!" } }],
|
|
1012
1253
|
* });
|
|
@@ -1109,35 +1350,47 @@ export namespace TableSchema {
|
|
|
1109
1350
|
|
|
1110
1351
|
/**
|
|
1111
1352
|
* Factory for creating new table column schema.
|
|
1112
|
-
* @typeParam
|
|
1353
|
+
* @typeParam TUserScope - The {@link SchemaFactory.scope | schema factory scope}.
|
|
1113
1354
|
* @typeParam TCell - The type of the cells in the {@link TableSchema.Table}.
|
|
1114
1355
|
* @alpha
|
|
1115
1356
|
*/
|
|
1116
1357
|
export function column<
|
|
1117
|
-
const
|
|
1358
|
+
const TUserScope extends string,
|
|
1118
1359
|
const TCell extends ImplicitAllowedTypes,
|
|
1119
1360
|
>(
|
|
1120
|
-
params: System_TableSchema.CreateColumnOptionsBase<
|
|
1121
|
-
|
|
1361
|
+
params: System_TableSchema.CreateColumnOptionsBase<
|
|
1362
|
+
TUserScope,
|
|
1363
|
+
SchemaFactoryBeta<TUserScope>,
|
|
1364
|
+
TCell
|
|
1365
|
+
>,
|
|
1366
|
+
): System_TableSchema.ColumnSchemaBase<
|
|
1367
|
+
TUserScope,
|
|
1368
|
+
TCell,
|
|
1369
|
+
System_TableSchema.DefaultPropsType
|
|
1370
|
+
>;
|
|
1122
1371
|
/**
|
|
1123
1372
|
* Factory for creating new table column schema.
|
|
1124
|
-
* @typeParam
|
|
1373
|
+
* @typeParam TUserScope - The {@link SchemaFactory.scope | schema factory scope}.
|
|
1125
1374
|
* @typeParam TCell - The type of the cells in the {@link TableSchema.Table}.
|
|
1126
1375
|
* @typeParam TProps - Additional properties to associate with the column.
|
|
1127
1376
|
* @alpha
|
|
1128
1377
|
*/
|
|
1129
1378
|
export function column<
|
|
1130
|
-
const
|
|
1379
|
+
const TUserScope extends string,
|
|
1131
1380
|
const TCell extends ImplicitAllowedTypes,
|
|
1132
1381
|
const TProps extends ImplicitFieldSchema,
|
|
1133
1382
|
>(
|
|
1134
|
-
params: System_TableSchema.CreateColumnOptionsBase<
|
|
1383
|
+
params: System_TableSchema.CreateColumnOptionsBase<
|
|
1384
|
+
TUserScope,
|
|
1385
|
+
SchemaFactoryBeta<TUserScope>,
|
|
1386
|
+
TCell
|
|
1387
|
+
> & {
|
|
1135
1388
|
/**
|
|
1136
1389
|
* Optional column properties.
|
|
1137
1390
|
*/
|
|
1138
1391
|
readonly props: TProps;
|
|
1139
1392
|
},
|
|
1140
|
-
): System_TableSchema.ColumnSchemaBase<
|
|
1393
|
+
): System_TableSchema.ColumnSchemaBase<TUserScope, TCell, TProps>;
|
|
1141
1394
|
/**
|
|
1142
1395
|
* Overload implementation
|
|
1143
1396
|
*/
|
|
@@ -1186,35 +1439,43 @@ export namespace TableSchema {
|
|
|
1186
1439
|
|
|
1187
1440
|
/**
|
|
1188
1441
|
* Factory for creating new table column schema.
|
|
1189
|
-
* @typeParam
|
|
1442
|
+
* @typeParam TUserScope - The {@link SchemaFactory.scope | schema factory scope}.
|
|
1190
1443
|
* @typeParam TCell - The type of the cells in the {@link TableSchema.Table}.
|
|
1191
1444
|
* @alpha
|
|
1192
1445
|
*/
|
|
1193
1446
|
export function row<
|
|
1194
|
-
const
|
|
1447
|
+
const TUserScope extends string,
|
|
1195
1448
|
const TCell extends ImplicitAllowedTypes,
|
|
1196
1449
|
>(
|
|
1197
|
-
params: System_TableSchema.CreateRowOptionsBase<
|
|
1198
|
-
|
|
1450
|
+
params: System_TableSchema.CreateRowOptionsBase<
|
|
1451
|
+
TUserScope,
|
|
1452
|
+
SchemaFactoryBeta<TUserScope>,
|
|
1453
|
+
TCell
|
|
1454
|
+
>,
|
|
1455
|
+
): System_TableSchema.RowSchemaBase<TUserScope, TCell, System_TableSchema.DefaultPropsType>;
|
|
1199
1456
|
/**
|
|
1200
1457
|
* Factory for creating new table row schema.
|
|
1201
|
-
* @typeParam
|
|
1458
|
+
* @typeParam TUserScope - The {@link SchemaFactory.scope | schema factory scope}.
|
|
1202
1459
|
* @typeParam TCell - The type of the cells in the {@link TableSchema.Table}.
|
|
1203
1460
|
* @typeParam TProps - Additional properties to associate with the row.
|
|
1204
1461
|
* @alpha
|
|
1205
1462
|
*/
|
|
1206
1463
|
export function row<
|
|
1207
|
-
const
|
|
1464
|
+
const TUserScope extends string,
|
|
1208
1465
|
const TCell extends ImplicitAllowedTypes,
|
|
1209
1466
|
const TProps extends ImplicitFieldSchema,
|
|
1210
1467
|
>(
|
|
1211
|
-
params: System_TableSchema.CreateRowOptionsBase<
|
|
1468
|
+
params: System_TableSchema.CreateRowOptionsBase<
|
|
1469
|
+
TUserScope,
|
|
1470
|
+
SchemaFactoryBeta<TUserScope>,
|
|
1471
|
+
TCell
|
|
1472
|
+
> & {
|
|
1212
1473
|
/**
|
|
1213
1474
|
* Optional row properties.
|
|
1214
1475
|
*/
|
|
1215
1476
|
readonly props: TProps;
|
|
1216
1477
|
},
|
|
1217
|
-
): System_TableSchema.RowSchemaBase<
|
|
1478
|
+
): System_TableSchema.RowSchemaBase<TUserScope, TCell, TProps>;
|
|
1218
1479
|
/**
|
|
1219
1480
|
* Overload implementation
|
|
1220
1481
|
*/
|
|
@@ -1234,7 +1495,7 @@ export namespace TableSchema {
|
|
|
1234
1495
|
|
|
1235
1496
|
/**
|
|
1236
1497
|
* A key to uniquely identify a cell within a table.
|
|
1237
|
-
* @alpha
|
|
1498
|
+
* @input @alpha
|
|
1238
1499
|
*/
|
|
1239
1500
|
export interface CellKey<
|
|
1240
1501
|
TColumn extends ImplicitAllowedTypes,
|
|
@@ -1253,7 +1514,7 @@ export namespace TableSchema {
|
|
|
1253
1514
|
|
|
1254
1515
|
/**
|
|
1255
1516
|
* {@link TableSchema.Table.insertColumns} parameters.
|
|
1256
|
-
* @alpha
|
|
1517
|
+
* @input @alpha
|
|
1257
1518
|
*/
|
|
1258
1519
|
export interface InsertColumnsParameters<TColumn extends ImplicitAllowedTypes> {
|
|
1259
1520
|
/**
|
|
@@ -1270,7 +1531,7 @@ export namespace TableSchema {
|
|
|
1270
1531
|
|
|
1271
1532
|
/**
|
|
1272
1533
|
* {@link TableSchema.Table.insertRows} parameters.
|
|
1273
|
-
* @alpha
|
|
1534
|
+
* @input @alpha
|
|
1274
1535
|
*/
|
|
1275
1536
|
export interface InsertRowsParameters<TRow extends ImplicitAllowedTypes> {
|
|
1276
1537
|
/**
|
|
@@ -1287,7 +1548,7 @@ export namespace TableSchema {
|
|
|
1287
1548
|
|
|
1288
1549
|
/**
|
|
1289
1550
|
* {@link TableSchema.Table.setCell} parameters.
|
|
1290
|
-
* @alpha
|
|
1551
|
+
* @input @alpha
|
|
1291
1552
|
*/
|
|
1292
1553
|
export interface SetCellParameters<
|
|
1293
1554
|
TCell extends ImplicitAllowedTypes,
|
|
@@ -1307,27 +1568,33 @@ export namespace TableSchema {
|
|
|
1307
1568
|
|
|
1308
1569
|
/**
|
|
1309
1570
|
* A table.
|
|
1310
|
-
*
|
|
1571
|
+
*
|
|
1572
|
+
* @remarks Table schema is created via the {@link TableSchema.(table:1)} factory.
|
|
1573
|
+
* Node instances of the schema type should be constructed via the static `create` method on the schema class.
|
|
1574
|
+
* E.g. `const table = MyTableSchema.create({ columns, rows});`
|
|
1575
|
+
*
|
|
1576
|
+
* @typeParam TUserScope - The {@link SchemaFactory.scope | schema factory scope}.
|
|
1311
1577
|
* @typeParam TCell - The type of the cells in the table.
|
|
1312
1578
|
* @typeParam TColumn - The type of the columns in the table.
|
|
1313
1579
|
* @typeParam TRow - The type of the rows in the table.
|
|
1580
|
+
*
|
|
1314
1581
|
* @sealed @alpha
|
|
1315
1582
|
*/
|
|
1316
1583
|
export interface Table<
|
|
1317
|
-
|
|
1584
|
+
TUserScope extends string,
|
|
1318
1585
|
TCell extends ImplicitAllowedTypes,
|
|
1319
|
-
TColumn extends System_TableSchema.ColumnSchemaBase<
|
|
1320
|
-
TRow extends System_TableSchema.RowSchemaBase<
|
|
1586
|
+
TColumn extends System_TableSchema.ColumnSchemaBase<TUserScope, TCell>,
|
|
1587
|
+
TRow extends System_TableSchema.RowSchemaBase<TUserScope, TCell>,
|
|
1321
1588
|
> {
|
|
1322
1589
|
/**
|
|
1323
1590
|
* The table's columns.
|
|
1324
1591
|
*/
|
|
1325
|
-
readonly columns:
|
|
1592
|
+
readonly columns: System_TableSchema.RearrangeableList<TColumn>;
|
|
1326
1593
|
|
|
1327
1594
|
/**
|
|
1328
1595
|
* The table's rows.
|
|
1329
1596
|
*/
|
|
1330
|
-
readonly rows:
|
|
1597
|
+
readonly rows: System_TableSchema.RearrangeableList<TRow>;
|
|
1331
1598
|
|
|
1332
1599
|
/**
|
|
1333
1600
|
* Gets a table column by its {@link TableSchema.Column.id}.
|
|
@@ -1475,84 +1742,136 @@ export namespace TableSchema {
|
|
|
1475
1742
|
): TreeNodeFromImplicitAllowedTypes<TCell> | undefined;
|
|
1476
1743
|
}
|
|
1477
1744
|
|
|
1745
|
+
/**
|
|
1746
|
+
* Input parameters for {@link TableSchema.Table}'s `create` factory method.
|
|
1747
|
+
* @input @alpha
|
|
1748
|
+
*/
|
|
1749
|
+
export interface TableFactoryMethodParameters<
|
|
1750
|
+
TUserScope extends string,
|
|
1751
|
+
TCell extends ImplicitAllowedTypes,
|
|
1752
|
+
TColumn extends System_TableSchema.ColumnSchemaBase<TUserScope, TCell>,
|
|
1753
|
+
TRow extends System_TableSchema.RowSchemaBase<TUserScope, TCell>,
|
|
1754
|
+
> {
|
|
1755
|
+
/**
|
|
1756
|
+
* Initial columns for the table.
|
|
1757
|
+
*/
|
|
1758
|
+
readonly columns?:
|
|
1759
|
+
| Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TColumn>>
|
|
1760
|
+
| undefined;
|
|
1761
|
+
|
|
1762
|
+
/**
|
|
1763
|
+
* Initial rows for the table.
|
|
1764
|
+
* @remarks If any cells are specified, they will be validated against the IDs of the provided columns.
|
|
1765
|
+
*/
|
|
1766
|
+
readonly rows?: Iterable<InsertableTreeNodeFromImplicitAllowedTypes<TRow>> | undefined;
|
|
1767
|
+
}
|
|
1768
|
+
|
|
1478
1769
|
/**
|
|
1479
1770
|
* Factory for creating new table schema.
|
|
1480
|
-
* @typeParam
|
|
1771
|
+
* @typeParam TUserScope - The {@link SchemaFactory.scope | schema factory scope}.
|
|
1772
|
+
* The resulting schema will have an identifier of the form: `com.fluidframework.table<${TUserScope}>.Table`.
|
|
1481
1773
|
* @typeParam TCell - The type of the cells in the table.
|
|
1482
1774
|
* @alpha
|
|
1483
1775
|
*/
|
|
1484
1776
|
export function table<
|
|
1485
|
-
const
|
|
1777
|
+
const TUserScope extends string,
|
|
1486
1778
|
const TCell extends ImplicitAllowedTypes,
|
|
1487
1779
|
>(
|
|
1488
|
-
params: System_TableSchema.TableFactoryOptionsBase<
|
|
1780
|
+
params: System_TableSchema.TableFactoryOptionsBase<
|
|
1781
|
+
TUserScope,
|
|
1782
|
+
SchemaFactoryBeta<TUserScope>,
|
|
1783
|
+
TCell
|
|
1784
|
+
>,
|
|
1489
1785
|
): System_TableSchema.TableSchemaBase<
|
|
1490
|
-
|
|
1786
|
+
TUserScope,
|
|
1491
1787
|
TCell,
|
|
1492
|
-
System_TableSchema.ColumnSchemaBase<
|
|
1493
|
-
|
|
1788
|
+
System_TableSchema.ColumnSchemaBase<
|
|
1789
|
+
TUserScope,
|
|
1790
|
+
TCell,
|
|
1791
|
+
System_TableSchema.DefaultPropsType
|
|
1792
|
+
>,
|
|
1793
|
+
System_TableSchema.RowSchemaBase<TUserScope, TCell, System_TableSchema.DefaultPropsType>
|
|
1494
1794
|
>;
|
|
1495
1795
|
/**
|
|
1496
1796
|
* Factory for creating new table schema with custom column schema.
|
|
1497
|
-
* @typeParam
|
|
1797
|
+
* @typeParam TUserScope - The {@link SchemaFactory.scope | schema factory scope}.
|
|
1798
|
+
* The resulting schema will have an identifier of the form: `com.fluidframework.table<${TUserScope}>.Table`.
|
|
1498
1799
|
* @typeParam TCell - The type of the cells in the table.
|
|
1499
1800
|
* @typeParam TColumn - The type of the columns in the table.
|
|
1500
1801
|
* @alpha
|
|
1501
1802
|
*/
|
|
1502
1803
|
export function table<
|
|
1503
|
-
const
|
|
1804
|
+
const TUserScope extends string,
|
|
1504
1805
|
const TCell extends ImplicitAllowedTypes,
|
|
1505
|
-
const TColumn extends System_TableSchema.ColumnSchemaBase<
|
|
1806
|
+
const TColumn extends System_TableSchema.ColumnSchemaBase<TUserScope, TCell>,
|
|
1506
1807
|
>(
|
|
1507
|
-
params: System_TableSchema.TableFactoryOptionsBase<
|
|
1808
|
+
params: System_TableSchema.TableFactoryOptionsBase<
|
|
1809
|
+
TUserScope,
|
|
1810
|
+
SchemaFactoryBeta<TUserScope>,
|
|
1811
|
+
TCell
|
|
1812
|
+
> & {
|
|
1508
1813
|
readonly column: TColumn;
|
|
1509
1814
|
},
|
|
1510
1815
|
): System_TableSchema.TableSchemaBase<
|
|
1511
|
-
|
|
1816
|
+
TUserScope,
|
|
1512
1817
|
TCell,
|
|
1513
1818
|
TColumn,
|
|
1514
|
-
System_TableSchema.RowSchemaBase<
|
|
1819
|
+
System_TableSchema.RowSchemaBase<TUserScope, TCell, System_TableSchema.DefaultPropsType>
|
|
1515
1820
|
>;
|
|
1516
1821
|
/**
|
|
1517
1822
|
* Factory for creating new table schema with custom row schema.
|
|
1518
|
-
* @typeParam
|
|
1823
|
+
* @typeParam TUserScope - The {@link SchemaFactory.scope | schema factory scope}.
|
|
1824
|
+
* The resulting schema will have an identifier of the form: `com.fluidframework.table<${TUserScope}>.Table`.
|
|
1519
1825
|
* @typeParam TCell - The type of the cells in the table.
|
|
1520
1826
|
* @typeParam TRow - The type of the rows in the table.
|
|
1521
1827
|
* @alpha
|
|
1522
1828
|
*/
|
|
1523
1829
|
export function table<
|
|
1524
|
-
const
|
|
1830
|
+
const TUserScope extends string,
|
|
1525
1831
|
const TCell extends ImplicitAllowedTypes,
|
|
1526
|
-
const TRow extends System_TableSchema.RowSchemaBase<
|
|
1832
|
+
const TRow extends System_TableSchema.RowSchemaBase<TUserScope, TCell>,
|
|
1527
1833
|
>(
|
|
1528
|
-
params: System_TableSchema.TableFactoryOptionsBase<
|
|
1834
|
+
params: System_TableSchema.TableFactoryOptionsBase<
|
|
1835
|
+
TUserScope,
|
|
1836
|
+
SchemaFactoryBeta<TUserScope>,
|
|
1837
|
+
TCell
|
|
1838
|
+
> & {
|
|
1529
1839
|
readonly row: TRow;
|
|
1530
1840
|
},
|
|
1531
1841
|
): System_TableSchema.TableSchemaBase<
|
|
1532
|
-
|
|
1842
|
+
TUserScope,
|
|
1533
1843
|
TCell,
|
|
1534
|
-
System_TableSchema.ColumnSchemaBase<
|
|
1844
|
+
System_TableSchema.ColumnSchemaBase<
|
|
1845
|
+
TUserScope,
|
|
1846
|
+
TCell,
|
|
1847
|
+
System_TableSchema.DefaultPropsType
|
|
1848
|
+
>,
|
|
1535
1849
|
TRow
|
|
1536
1850
|
>;
|
|
1537
1851
|
/**
|
|
1538
1852
|
* Factory for creating new table schema with custom column and row schema.
|
|
1539
|
-
* @typeParam
|
|
1853
|
+
* @typeParam TUserScope - The {@link SchemaFactory.scope | schema factory scope}.
|
|
1854
|
+
* The resulting schema will have an identifier of the form: `com.fluidframework.table<${TUserScope}>.Table`.
|
|
1540
1855
|
* @typeParam TCell - The type of the cells in the table.
|
|
1541
1856
|
* @typeParam TColumn - The type of the columns in the table.
|
|
1542
1857
|
* @typeParam TRow - The type of the rows in the table.
|
|
1543
1858
|
* @alpha
|
|
1544
1859
|
*/
|
|
1545
1860
|
export function table<
|
|
1546
|
-
const
|
|
1861
|
+
const TUserScope extends string,
|
|
1547
1862
|
const TCell extends ImplicitAllowedTypes,
|
|
1548
|
-
const TColumn extends System_TableSchema.ColumnSchemaBase<
|
|
1549
|
-
const TRow extends System_TableSchema.RowSchemaBase<
|
|
1863
|
+
const TColumn extends System_TableSchema.ColumnSchemaBase<TUserScope, TCell>,
|
|
1864
|
+
const TRow extends System_TableSchema.RowSchemaBase<TUserScope, TCell>,
|
|
1550
1865
|
>(
|
|
1551
|
-
params: System_TableSchema.TableFactoryOptionsBase<
|
|
1866
|
+
params: System_TableSchema.TableFactoryOptionsBase<
|
|
1867
|
+
TUserScope,
|
|
1868
|
+
SchemaFactoryBeta<TUserScope>,
|
|
1869
|
+
TCell
|
|
1870
|
+
> & {
|
|
1552
1871
|
readonly column: TColumn;
|
|
1553
1872
|
readonly row: TRow;
|
|
1554
1873
|
},
|
|
1555
|
-
): System_TableSchema.TableSchemaBase<
|
|
1874
|
+
): System_TableSchema.TableSchemaBase<TUserScope, TCell, TColumn, TRow>;
|
|
1556
1875
|
/**
|
|
1557
1876
|
* Overload implementation
|
|
1558
1877
|
*/
|