@fluidframework/tree 2.0.0-dev-rc.3.0.0.254866 → 2.0.0-dev-rc.5.0.0.263932
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.cjs +35 -2
- package/.vscode/settings.json +3 -0
- package/CHANGELOG.md +91 -0
- package/README.md +17 -5
- package/api-report/tree.api.md +85 -78
- package/beta.d.ts +11 -0
- package/dist/beta.d.ts +8 -1
- package/dist/codec/codec.d.ts.map +1 -1
- package/dist/codec/codec.js.map +1 -1
- package/dist/core/change-family/changeFamily.d.ts +2 -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/index.d.ts +2 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +3 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/rebase/changeRebaser.d.ts +2 -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/revisionTagCodec.d.ts.map +1 -1
- package/dist/core/rebase/revisionTagCodec.js.map +1 -1
- package/dist/core/rebase/types.d.ts +1 -0
- package/dist/core/rebase/types.d.ts.map +1 -1
- package/dist/core/rebase/types.js +12 -1
- package/dist/core/rebase/types.js.map +1 -1
- package/dist/core/rebase/utils.d.ts +2 -2
- package/dist/core/rebase/utils.d.ts.map +1 -1
- package/dist/core/rebase/utils.js +16 -9
- package/dist/core/rebase/utils.js.map +1 -1
- package/dist/core/rebase/verifyChangeRebaser.js +1 -1
- package/dist/core/rebase/verifyChangeRebaser.js.map +1 -1
- package/dist/core/schema-stored/index.d.ts +1 -1
- package/dist/core/schema-stored/index.d.ts.map +1 -1
- package/dist/core/schema-stored/index.js +2 -1
- package/dist/core/schema-stored/index.js.map +1 -1
- package/dist/core/schema-stored/schema.d.ts +7 -7
- package/dist/core/schema-stored/schema.d.ts.map +1 -1
- package/dist/core/schema-stored/schema.js +14 -7
- package/dist/core/schema-stored/schema.js.map +1 -1
- package/dist/core/tree/anchorSet.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodec.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodec.js +1 -0
- package/dist/core/tree/detachedFieldIndexCodec.js.map +1 -1
- package/dist/core/tree/persistedTreeTextFormat.d.ts +4 -4
- package/dist/core/tree/treeTextFormat.d.ts +2 -0
- package/dist/core/tree/treeTextFormat.d.ts.map +1 -1
- package/dist/core/tree/treeTextFormat.js.map +1 -1
- package/dist/core/tree/visitDelta.js +3 -3
- package/dist/core/tree/visitDelta.js.map +1 -1
- package/dist/domains/index.d.ts +0 -1
- package/dist/domains/index.d.ts.map +1 -1
- package/dist/domains/index.js +1 -5
- package/dist/domains/index.js.map +1 -1
- package/dist/domains/json/jsonCursor.d.ts.map +1 -1
- package/dist/domains/json/jsonCursor.js +2 -1
- package/dist/domains/json/jsonCursor.js.map +1 -1
- package/dist/feature-libraries/changeAtomIdCodec.js +2 -2
- package/dist/feature-libraries/changeAtomIdCodec.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkCodecUtilities.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkCodecUtilities.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/codecs.js +1 -1
- package/dist/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/nodeShape.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/codec/nodeShape.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/nodeShape.js.map +1 -1
- package/dist/feature-libraries/contextuallyTyped.d.ts.map +1 -1
- package/dist/feature-libraries/contextuallyTyped.js +1 -1
- package/dist/feature-libraries/contextuallyTyped.js.map +1 -1
- package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts +1 -1
- package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/defaultEditBuilder.js +2 -2
- package/dist/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts +0 -6
- package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.js +19 -8
- package/dist/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
- package/dist/feature-libraries/default-schema/index.d.ts +1 -1
- package/dist/feature-libraries/default-schema/index.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/index.js.map +1 -1
- package/dist/feature-libraries/default-schema/noChangeCodecs.js +1 -1
- package/dist/feature-libraries/default-schema/noChangeCodecs.js.map +1 -1
- package/dist/feature-libraries/default-schema/schemaChecker.d.ts +27 -0
- package/dist/feature-libraries/default-schema/schemaChecker.d.ts.map +1 -0
- package/dist/feature-libraries/default-schema/schemaChecker.js +120 -0
- package/dist/feature-libraries/default-schema/schemaChecker.js.map +1 -0
- package/dist/feature-libraries/deltaUtils.d.ts +2 -2
- package/dist/feature-libraries/deltaUtils.d.ts.map +1 -1
- package/dist/feature-libraries/deltaUtils.js +2 -2
- package/dist/feature-libraries/deltaUtils.js.map +1 -1
- package/dist/feature-libraries/editableTreeBinder.d.ts.map +1 -1
- package/dist/feature-libraries/editableTreeBinder.js +1 -1
- package/dist/feature-libraries/editableTreeBinder.js.map +1 -1
- package/dist/feature-libraries/flex-tree/context.d.ts +12 -19
- package/dist/feature-libraries/flex-tree/context.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/context.js +15 -29
- package/dist/feature-libraries/flex-tree/context.js.map +1 -1
- package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts +8 -13
- package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/flexTreeTypes.js +0 -1
- package/dist/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
- package/dist/feature-libraries/flex-tree/index.d.ts +0 -1
- package/dist/feature-libraries/flex-tree/index.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/index.js.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyField.d.ts +3 -10
- package/dist/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyField.js +10 -40
- package/dist/feature-libraries/flex-tree/lazyField.js.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyNode.d.ts +2 -6
- package/dist/feature-libraries/flex-tree/lazyNode.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyNode.js +9 -32
- package/dist/feature-libraries/flex-tree/lazyNode.js.map +1 -1
- package/dist/feature-libraries/flex-tree/utilities.d.ts +2 -2
- package/dist/feature-libraries/flex-tree/utilities.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/utilities.js +5 -5
- package/dist/feature-libraries/flex-tree/utilities.js.map +1 -1
- package/dist/feature-libraries/index.d.ts +5 -5
- package/dist/feature-libraries/index.d.ts.map +1 -1
- package/dist/feature-libraries/index.js +4 -5
- package/dist/feature-libraries/index.js.map +1 -1
- package/dist/feature-libraries/mitigatedChangeFamily.d.ts.map +1 -1
- package/dist/feature-libraries/mitigatedChangeFamily.js +1 -0
- package/dist/feature-libraries/mitigatedChangeFamily.js.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts +9 -10
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.js +4 -3
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKind.js +16 -9
- 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 +1 -1
- package/dist/feature-libraries/modular-schema/index.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/index.js +2 -1
- package/dist/feature-libraries/modular-schema/index.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.js +25 -10
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts +14 -8
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js +149 -121
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFormat.d.ts +0 -8
- package/dist/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFormat.js +0 -10
- package/dist/feature-libraries/modular-schema/modularChangeFormat.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts +1 -9
- package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -1
- package/dist/feature-libraries/node-key/index.d.ts +1 -1
- package/dist/feature-libraries/node-key/index.d.ts.map +1 -1
- package/dist/feature-libraries/node-key/index.js +1 -2
- package/dist/feature-libraries/node-key/index.js.map +1 -1
- package/dist/feature-libraries/node-key/nodeKey.d.ts +0 -8
- package/dist/feature-libraries/node-key/nodeKey.d.ts.map +1 -1
- package/dist/feature-libraries/node-key/nodeKey.js +1 -9
- package/dist/feature-libraries/node-key/nodeKey.js.map +1 -1
- package/dist/feature-libraries/node-key/nodeKeyManager.d.ts +20 -2
- package/dist/feature-libraries/node-key/nodeKeyManager.d.ts.map +1 -1
- package/dist/feature-libraries/node-key/nodeKeyManager.js +27 -5
- package/dist/feature-libraries/node-key/nodeKeyManager.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalField.d.ts +2 -2
- package/dist/feature-libraries/optional-field/optionalField.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalField.js +85 -63
- package/dist/feature-libraries/optional-field/optionalField.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.d.ts +5 -13
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.js +12 -19
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.js.map +1 -1
- package/dist/feature-libraries/optional-field/{optionalFieldChangeFormatV0.d.ts → optionalFieldChangeFormatV2.d.ts} +14 -6
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV2.d.ts.map +1 -0
- package/dist/feature-libraries/optional-field/{optionalFieldChangeFormatV0.js → optionalFieldChangeFormatV2.js} +20 -13
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV2.js.map +1 -0
- package/dist/feature-libraries/optional-field/optionalFieldCodecV1.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecV1.js +97 -26
- package/dist/feature-libraries/optional-field/optionalFieldCodecV1.js.map +1 -1
- package/{lib/feature-libraries/optional-field/optionalFieldCodecV0.d.ts → dist/feature-libraries/optional-field/optionalFieldCodecV2.d.ts} +2 -2
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.d.ts.map +1 -0
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.js +87 -0
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.js.map +1 -0
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.js +2 -2
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -1
- package/dist/feature-libraries/schema-aware/schemaAware.d.ts +1 -1
- package/dist/feature-libraries/schema-aware/schemaAware.d.ts.map +1 -1
- package/dist/feature-libraries/schema-aware/schemaAware.js.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js +2 -2
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
- package/dist/feature-libraries/schema-index/codec.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/codec.js +1 -1
- package/dist/feature-libraries/schema-index/codec.js.map +1 -1
- package/dist/feature-libraries/sequence-field/compose.d.ts +3 -4
- package/dist/feature-libraries/sequence-field/compose.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/compose.js +99 -68
- package/dist/feature-libraries/sequence-field/compose.js.map +1 -1
- package/dist/feature-libraries/sequence-field/format.d.ts +40 -40
- package/dist/feature-libraries/sequence-field/invert.d.ts +2 -2
- package/dist/feature-libraries/sequence-field/invert.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/invert.js +20 -20
- package/dist/feature-libraries/sequence-field/invert.js.map +1 -1
- package/dist/feature-libraries/sequence-field/markQueue.d.ts +1 -3
- package/dist/feature-libraries/sequence-field/markQueue.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/markQueue.js +2 -3
- package/dist/feature-libraries/sequence-field/markQueue.js.map +1 -1
- package/dist/feature-libraries/sequence-field/moveEffectTable.d.ts +13 -2
- package/dist/feature-libraries/sequence-field/moveEffectTable.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/moveEffectTable.js +18 -9
- package/dist/feature-libraries/sequence-field/moveEffectTable.js.map +1 -1
- package/dist/feature-libraries/sequence-field/rebase.d.ts +1 -2
- package/dist/feature-libraries/sequence-field/rebase.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/rebase.js +55 -62
- package/dist/feature-libraries/sequence-field/rebase.js.map +1 -1
- package/dist/feature-libraries/sequence-field/relevantRemovedRoots.d.ts +2 -2
- package/dist/feature-libraries/sequence-field/relevantRemovedRoots.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/relevantRemovedRoots.js +2 -2
- package/dist/feature-libraries/sequence-field/relevantRemovedRoots.js.map +1 -1
- package/dist/feature-libraries/sequence-field/replaceRevisions.d.ts +8 -0
- package/dist/feature-libraries/sequence-field/replaceRevisions.d.ts.map +1 -0
- package/dist/feature-libraries/sequence-field/replaceRevisions.js +63 -0
- package/dist/feature-libraries/sequence-field/replaceRevisions.js.map +1 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeRebaser.d.ts +2 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeRebaser.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeRebaser.js +2 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeRebaser.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.js +24 -29
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts +2 -2
- package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.js +7 -7
- package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.js.map +1 -1
- package/dist/feature-libraries/sequence-field/utils.d.ts +16 -9
- package/dist/feature-libraries/sequence-field/utils.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/utils.js +50 -32
- package/dist/feature-libraries/sequence-field/utils.js.map +1 -1
- package/dist/feature-libraries/valueUtilities.d.ts +1 -2
- package/dist/feature-libraries/valueUtilities.d.ts.map +1 -1
- package/dist/feature-libraries/valueUtilities.js +7 -25
- package/dist/feature-libraries/valueUtilities.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -5
- 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/public.d.ts +8 -1
- package/dist/shared-tree/defaultCommitEnricher.d.ts +91 -0
- package/dist/shared-tree/defaultCommitEnricher.d.ts.map +1 -0
- package/dist/shared-tree/defaultCommitEnricher.js +121 -0
- package/dist/shared-tree/defaultCommitEnricher.js.map +1 -0
- package/dist/shared-tree/index.d.ts +1 -1
- package/dist/shared-tree/index.d.ts.map +1 -1
- package/dist/shared-tree/index.js +2 -1
- package/dist/shared-tree/index.js.map +1 -1
- package/dist/shared-tree/schematizingTreeView.d.ts +2 -4
- package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/dist/shared-tree/schematizingTreeView.js +7 -8
- 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 +21 -11
- package/dist/shared-tree/sharedTree.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.js +7 -2
- package/dist/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeEnricher.d.ts +24 -0
- package/dist/shared-tree/sharedTreeChangeEnricher.d.ts.map +1 -0
- package/dist/shared-tree/sharedTreeChangeEnricher.js +65 -0
- package/dist/shared-tree/sharedTreeChangeEnricher.js.map +1 -0
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts +12 -3
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.js +83 -7
- package/dist/shared-tree/sharedTreeChangeFamily.js.map +1 -1
- package/dist/shared-tree/treeApi.d.ts +261 -8
- package/dist/shared-tree/treeApi.d.ts.map +1 -1
- package/dist/shared-tree/treeApi.js +52 -18
- package/dist/shared-tree/treeApi.js.map +1 -1
- package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
- package/dist/shared-tree/treeCheckout.js +9 -11
- package/dist/shared-tree/treeCheckout.js.map +1 -1
- package/dist/shared-tree/treeView.d.ts +2 -4
- package/dist/shared-tree/treeView.d.ts.map +1 -1
- package/dist/shared-tree/treeView.js +3 -4
- package/dist/shared-tree/treeView.js.map +1 -1
- package/dist/shared-tree-core/branch.d.ts +22 -2
- package/dist/shared-tree-core/branch.d.ts.map +1 -1
- package/dist/shared-tree-core/branch.js +18 -12
- package/dist/shared-tree-core/branch.js.map +1 -1
- package/dist/shared-tree-core/commitEnricher.d.ts +35 -0
- package/dist/shared-tree-core/commitEnricher.d.ts.map +1 -0
- package/{lib/domains/nodeKey/index.d.ts → dist/shared-tree-core/commitEnricher.js} +3 -2
- package/dist/shared-tree-core/commitEnricher.js.map +1 -0
- package/dist/shared-tree-core/editManager.d.ts +8 -5
- package/dist/shared-tree-core/editManager.d.ts.map +1 -1
- package/dist/shared-tree-core/editManager.js +11 -3
- package/dist/shared-tree-core/editManager.js.map +1 -1
- package/dist/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerCodecs.js +28 -10
- package/dist/shared-tree-core/editManagerCodecs.js.map +1 -1
- package/dist/shared-tree-core/editManagerFormat.d.ts +8 -10
- package/dist/shared-tree-core/editManagerFormat.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerFormat.js +2 -3
- package/dist/shared-tree-core/editManagerFormat.js.map +1 -1
- package/dist/shared-tree-core/index.d.ts +1 -0
- package/dist/shared-tree-core/index.d.ts.map +1 -1
- package/dist/shared-tree-core/index.js.map +1 -1
- package/dist/shared-tree-core/messageCodecs.d.ts.map +1 -1
- package/dist/shared-tree-core/messageCodecs.js +16 -7
- package/dist/shared-tree-core/messageCodecs.js.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.d.ts +12 -5
- package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.js +50 -15
- package/dist/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/dist/simple-tree/arrayNode.d.ts +20 -6
- package/dist/simple-tree/arrayNode.d.ts.map +1 -1
- package/dist/simple-tree/arrayNode.js +252 -234
- package/dist/simple-tree/arrayNode.js.map +1 -1
- package/dist/simple-tree/index.d.ts +3 -3
- package/dist/simple-tree/index.d.ts.map +1 -1
- package/dist/simple-tree/index.js +2 -2
- package/dist/simple-tree/index.js.map +1 -1
- package/dist/simple-tree/leafNodeSchema.d.ts +1 -1
- package/dist/simple-tree/leafNodeSchema.d.ts.map +1 -1
- package/dist/simple-tree/leafNodeSchema.js +1 -1
- package/dist/simple-tree/leafNodeSchema.js.map +1 -1
- package/dist/simple-tree/mapNode.d.ts +3 -11
- package/dist/simple-tree/mapNode.d.ts.map +1 -1
- package/dist/simple-tree/mapNode.js +84 -133
- package/dist/simple-tree/mapNode.js.map +1 -1
- package/{lib/feature-libraries/flex-tree → dist/simple-tree}/nodeKeys.d.ts +10 -11
- package/dist/simple-tree/nodeKeys.d.ts.map +1 -0
- package/{lib/domains/nodeKey/index.js → dist/simple-tree/nodeKeys.js} +3 -2
- package/dist/simple-tree/nodeKeys.js.map +1 -0
- package/dist/simple-tree/objectNode.d.ts +18 -8
- package/dist/simple-tree/objectNode.d.ts.map +1 -1
- package/dist/simple-tree/objectNode.js +108 -82
- package/dist/simple-tree/objectNode.js.map +1 -1
- package/dist/simple-tree/proxies.d.ts +1 -1
- package/dist/simple-tree/proxies.d.ts.map +1 -1
- package/dist/simple-tree/proxies.js +7 -6
- package/dist/simple-tree/proxies.js.map +1 -1
- package/dist/simple-tree/proxyBinding.d.ts +2 -2
- package/dist/simple-tree/proxyBinding.d.ts.map +1 -1
- package/dist/simple-tree/proxyBinding.js +5 -5
- package/dist/simple-tree/proxyBinding.js.map +1 -1
- package/dist/simple-tree/schemaCaching.js +2 -2
- package/dist/simple-tree/schemaCaching.js.map +1 -1
- package/dist/simple-tree/schemaFactory.d.ts +21 -18
- package/dist/simple-tree/schemaFactory.d.ts.map +1 -1
- package/dist/simple-tree/schemaFactory.js +41 -55
- package/dist/simple-tree/schemaFactory.js.map +1 -1
- package/dist/simple-tree/schemaFactoryRecursive.d.ts +2 -2
- package/dist/simple-tree/schemaFactoryRecursive.d.ts.map +1 -1
- package/dist/simple-tree/schemaFactoryRecursive.js +2 -2
- package/dist/simple-tree/schemaFactoryRecursive.js.map +1 -1
- package/dist/simple-tree/schemaTypes.d.ts +41 -23
- package/dist/simple-tree/schemaTypes.d.ts.map +1 -1
- package/dist/simple-tree/schemaTypes.js +18 -3
- package/dist/simple-tree/schemaTypes.js.map +1 -1
- package/dist/simple-tree/toFlexSchema.d.ts +2 -2
- package/dist/simple-tree/toFlexSchema.d.ts.map +1 -1
- package/dist/simple-tree/toFlexSchema.js +4 -4
- package/dist/simple-tree/toFlexSchema.js.map +1 -1
- package/dist/simple-tree/toMapTree.d.ts +12 -4
- package/dist/simple-tree/toMapTree.d.ts.map +1 -1
- package/dist/simple-tree/toMapTree.js +46 -35
- package/dist/simple-tree/toMapTree.js.map +1 -1
- package/dist/simple-tree/tree.d.ts +2 -2
- package/dist/simple-tree/tree.d.ts.map +1 -1
- package/dist/simple-tree/tree.js.map +1 -1
- package/{lib/simple-tree/treeApi.d.ts → dist/simple-tree/treeNodeApi.d.ts} +16 -8
- package/dist/simple-tree/treeNodeApi.d.ts.map +1 -0
- package/dist/simple-tree/{treeApi.js → treeNodeApi.js} +55 -15
- package/dist/simple-tree/treeNodeApi.js.map +1 -0
- package/dist/simple-tree/types.d.ts +63 -0
- package/dist/simple-tree/types.d.ts.map +1 -1
- package/dist/simple-tree/types.js +109 -1
- package/dist/simple-tree/types.js.map +1 -1
- package/dist/simple-tree/typesUnsafe.d.ts +2 -2
- package/dist/simple-tree/typesUnsafe.d.ts.map +1 -1
- package/dist/simple-tree/typesUnsafe.js.map +1 -1
- package/dist/treeFactory.d.ts +4 -4
- package/dist/treeFactory.d.ts.map +1 -1
- package/dist/treeFactory.js +12 -14
- package/dist/treeFactory.js.map +1 -1
- package/dist/util/brand.d.ts +7 -86
- package/dist/util/brand.d.ts.map +1 -1
- package/dist/util/brand.js +2 -53
- package/dist/util/brand.js.map +1 -1
- package/dist/util/idAllocator.js.map +1 -1
- package/dist/util/index.d.ts +1 -1
- package/dist/util/index.d.ts.map +1 -1
- package/dist/util/index.js +2 -5
- package/dist/util/index.js.map +1 -1
- package/dist/util/nestedMap.d.ts.map +1 -1
- package/dist/util/nestedMap.js.map +1 -1
- package/dist/util/opaque.d.ts +5 -5
- package/dist/util/opaque.d.ts.map +1 -1
- package/dist/util/opaque.js.map +1 -1
- package/dist/util/typeboxBrand.d.ts +3 -3
- package/dist/util/typeboxBrand.d.ts.map +1 -1
- package/dist/util/typeboxBrand.js +1 -1
- package/dist/util/typeboxBrand.js.map +1 -1
- package/dist/util/utils.d.ts.map +1 -1
- package/dist/util/utils.js.map +1 -1
- package/docs/.attachments/merge-semantics.drawio +835 -0
- package/docs/.attachments/ms-set-color-red-and-blue.png +0 -0
- package/docs/.attachments/ms-set-color-red-then-blue.png +0 -0
- package/docs/.attachments/ms-set-color-red.png +0 -0
- package/docs/SharedTree Philosophy.md +319 -0
- package/docs/main/merge-semantics.md +529 -0
- package/docs/main/sequence-field/move-composition.md +46 -0
- package/internal.d.ts +11 -0
- package/lib/beta.d.ts +8 -1
- package/lib/codec/codec.d.ts.map +1 -1
- package/lib/codec/codec.js.map +1 -1
- package/lib/core/change-family/changeFamily.d.ts +2 -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/index.d.ts +2 -2
- package/lib/core/index.d.ts.map +1 -1
- package/lib/core/index.js +2 -2
- package/lib/core/index.js.map +1 -1
- package/lib/core/rebase/changeRebaser.d.ts +2 -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/revisionTagCodec.d.ts.map +1 -1
- package/lib/core/rebase/revisionTagCodec.js.map +1 -1
- package/lib/core/rebase/types.d.ts +1 -0
- package/lib/core/rebase/types.d.ts.map +1 -1
- package/lib/core/rebase/types.js +10 -0
- package/lib/core/rebase/types.js.map +1 -1
- package/lib/core/rebase/utils.d.ts +2 -2
- package/lib/core/rebase/utils.d.ts.map +1 -1
- package/lib/core/rebase/utils.js +17 -10
- package/lib/core/rebase/utils.js.map +1 -1
- package/lib/core/rebase/verifyChangeRebaser.js +1 -1
- package/lib/core/rebase/verifyChangeRebaser.js.map +1 -1
- package/lib/core/schema-stored/index.d.ts +1 -1
- package/lib/core/schema-stored/index.d.ts.map +1 -1
- package/lib/core/schema-stored/index.js +1 -1
- package/lib/core/schema-stored/index.js.map +1 -1
- package/lib/core/schema-stored/schema.d.ts +7 -7
- package/lib/core/schema-stored/schema.d.ts.map +1 -1
- package/lib/core/schema-stored/schema.js +13 -7
- package/lib/core/schema-stored/schema.js.map +1 -1
- package/lib/core/tree/anchorSet.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodec.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodec.js +1 -0
- package/lib/core/tree/detachedFieldIndexCodec.js.map +1 -1
- package/lib/core/tree/persistedTreeTextFormat.d.ts +4 -4
- package/lib/core/tree/treeTextFormat.d.ts +2 -0
- package/lib/core/tree/treeTextFormat.d.ts.map +1 -1
- package/lib/core/tree/treeTextFormat.js.map +1 -1
- package/lib/core/tree/visitDelta.js +3 -3
- package/lib/core/tree/visitDelta.js.map +1 -1
- package/lib/domains/index.d.ts +0 -1
- package/lib/domains/index.d.ts.map +1 -1
- package/lib/domains/index.js +0 -1
- package/lib/domains/index.js.map +1 -1
- package/lib/domains/json/jsonCursor.d.ts.map +1 -1
- package/lib/domains/json/jsonCursor.js +2 -1
- package/lib/domains/json/jsonCursor.js.map +1 -1
- package/lib/feature-libraries/changeAtomIdCodec.js +2 -2
- package/lib/feature-libraries/changeAtomIdCodec.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkCodecUtilities.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkCodecUtilities.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/codecs.js +1 -1
- package/lib/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/nodeShape.d.ts +1 -1
- package/lib/feature-libraries/chunked-forest/codec/nodeShape.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/nodeShape.js.map +1 -1
- package/lib/feature-libraries/contextuallyTyped.d.ts.map +1 -1
- package/lib/feature-libraries/contextuallyTyped.js +1 -1
- package/lib/feature-libraries/contextuallyTyped.js.map +1 -1
- package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts +1 -1
- package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/defaultEditBuilder.js +2 -2
- package/lib/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts +0 -6
- package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.js +19 -8
- package/lib/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
- package/lib/feature-libraries/default-schema/index.d.ts +1 -1
- package/lib/feature-libraries/default-schema/index.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/index.js.map +1 -1
- package/lib/feature-libraries/default-schema/noChangeCodecs.js +1 -1
- package/lib/feature-libraries/default-schema/noChangeCodecs.js.map +1 -1
- package/lib/feature-libraries/default-schema/schemaChecker.d.ts +27 -0
- package/lib/feature-libraries/default-schema/schemaChecker.d.ts.map +1 -0
- package/lib/feature-libraries/default-schema/schemaChecker.js +114 -0
- package/lib/feature-libraries/default-schema/schemaChecker.js.map +1 -0
- package/lib/feature-libraries/deltaUtils.d.ts +2 -2
- package/lib/feature-libraries/deltaUtils.d.ts.map +1 -1
- package/lib/feature-libraries/deltaUtils.js +3 -3
- package/lib/feature-libraries/deltaUtils.js.map +1 -1
- package/lib/feature-libraries/editableTreeBinder.d.ts.map +1 -1
- package/lib/feature-libraries/editableTreeBinder.js +1 -1
- package/lib/feature-libraries/editableTreeBinder.js.map +1 -1
- package/lib/feature-libraries/flex-tree/context.d.ts +12 -19
- package/lib/feature-libraries/flex-tree/context.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/context.js +15 -29
- package/lib/feature-libraries/flex-tree/context.js.map +1 -1
- package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts +8 -13
- package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/flexTreeTypes.js +0 -1
- package/lib/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
- package/lib/feature-libraries/flex-tree/index.d.ts +0 -1
- package/lib/feature-libraries/flex-tree/index.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/index.js.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyField.d.ts +3 -10
- package/lib/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyField.js +10 -39
- package/lib/feature-libraries/flex-tree/lazyField.js.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyNode.d.ts +2 -6
- package/lib/feature-libraries/flex-tree/lazyNode.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyNode.js +9 -31
- package/lib/feature-libraries/flex-tree/lazyNode.js.map +1 -1
- package/lib/feature-libraries/flex-tree/utilities.d.ts +2 -2
- package/lib/feature-libraries/flex-tree/utilities.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/utilities.js +5 -5
- package/lib/feature-libraries/flex-tree/utilities.js.map +1 -1
- package/lib/feature-libraries/index.d.ts +5 -5
- 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/mitigatedChangeFamily.d.ts.map +1 -1
- package/lib/feature-libraries/mitigatedChangeFamily.js +1 -0
- package/lib/feature-libraries/mitigatedChangeFamily.js.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts +9 -10
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.js +4 -3
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKind.js +17 -10
- package/lib/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.js +2 -2
- package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.js.map +1 -1
- package/lib/feature-libraries/modular-schema/index.d.ts +1 -1
- package/lib/feature-libraries/modular-schema/index.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/index.js +1 -1
- package/lib/feature-libraries/modular-schema/index.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.js +25 -10
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts +14 -8
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js +151 -123
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFormat.d.ts +0 -8
- package/lib/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFormat.js +0 -10
- package/lib/feature-libraries/modular-schema/modularChangeFormat.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts +1 -9
- package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -1
- package/lib/feature-libraries/node-key/index.d.ts +1 -1
- package/lib/feature-libraries/node-key/index.d.ts.map +1 -1
- package/lib/feature-libraries/node-key/index.js +1 -1
- package/lib/feature-libraries/node-key/index.js.map +1 -1
- package/lib/feature-libraries/node-key/nodeKey.d.ts +0 -8
- package/lib/feature-libraries/node-key/nodeKey.d.ts.map +1 -1
- package/lib/feature-libraries/node-key/nodeKey.js +0 -8
- package/lib/feature-libraries/node-key/nodeKey.js.map +1 -1
- package/lib/feature-libraries/node-key/nodeKeyManager.d.ts +20 -2
- package/lib/feature-libraries/node-key/nodeKeyManager.d.ts.map +1 -1
- package/lib/feature-libraries/node-key/nodeKeyManager.js +27 -6
- package/lib/feature-libraries/node-key/nodeKeyManager.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalField.d.ts +2 -2
- package/lib/feature-libraries/optional-field/optionalField.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalField.js +86 -64
- package/lib/feature-libraries/optional-field/optionalField.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV1.d.ts +5 -13
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV1.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV1.js +11 -18
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV1.js.map +1 -1
- package/lib/feature-libraries/optional-field/{optionalFieldChangeFormatV0.d.ts → optionalFieldChangeFormatV2.d.ts} +14 -6
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV2.d.ts.map +1 -0
- package/lib/feature-libraries/optional-field/{optionalFieldChangeFormatV0.js → optionalFieldChangeFormatV2.js} +19 -12
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV2.js.map +1 -0
- package/lib/feature-libraries/optional-field/optionalFieldCodecV1.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV1.js +98 -27
- package/lib/feature-libraries/optional-field/optionalFieldCodecV1.js.map +1 -1
- package/{dist/feature-libraries/optional-field/optionalFieldCodecV0.d.ts → lib/feature-libraries/optional-field/optionalFieldCodecV2.d.ts} +2 -2
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.d.ts.map +1 -0
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.js +83 -0
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.js.map +1 -0
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.js +2 -2
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -1
- package/lib/feature-libraries/schema-aware/schemaAware.d.ts +1 -1
- package/lib/feature-libraries/schema-aware/schemaAware.d.ts.map +1 -1
- package/lib/feature-libraries/schema-aware/schemaAware.js.map +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js +2 -2
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
- package/lib/feature-libraries/schema-index/codec.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/codec.js +3 -3
- package/lib/feature-libraries/schema-index/codec.js.map +1 -1
- package/lib/feature-libraries/sequence-field/compose.d.ts +3 -4
- package/lib/feature-libraries/sequence-field/compose.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/compose.js +99 -68
- package/lib/feature-libraries/sequence-field/compose.js.map +1 -1
- package/lib/feature-libraries/sequence-field/format.d.ts +40 -40
- package/lib/feature-libraries/sequence-field/invert.d.ts +2 -2
- package/lib/feature-libraries/sequence-field/invert.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/invert.js +21 -21
- package/lib/feature-libraries/sequence-field/invert.js.map +1 -1
- package/lib/feature-libraries/sequence-field/markQueue.d.ts +1 -3
- package/lib/feature-libraries/sequence-field/markQueue.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/markQueue.js +2 -3
- package/lib/feature-libraries/sequence-field/markQueue.js.map +1 -1
- package/lib/feature-libraries/sequence-field/moveEffectTable.d.ts +13 -2
- package/lib/feature-libraries/sequence-field/moveEffectTable.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/moveEffectTable.js +18 -9
- package/lib/feature-libraries/sequence-field/moveEffectTable.js.map +1 -1
- package/lib/feature-libraries/sequence-field/rebase.d.ts +1 -2
- package/lib/feature-libraries/sequence-field/rebase.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/rebase.js +56 -63
- package/lib/feature-libraries/sequence-field/rebase.js.map +1 -1
- package/lib/feature-libraries/sequence-field/relevantRemovedRoots.d.ts +2 -2
- package/lib/feature-libraries/sequence-field/relevantRemovedRoots.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/relevantRemovedRoots.js +2 -2
- package/lib/feature-libraries/sequence-field/relevantRemovedRoots.js.map +1 -1
- package/lib/feature-libraries/sequence-field/replaceRevisions.d.ts +8 -0
- package/lib/feature-libraries/sequence-field/replaceRevisions.d.ts.map +1 -0
- package/lib/feature-libraries/sequence-field/replaceRevisions.js +59 -0
- package/lib/feature-libraries/sequence-field/replaceRevisions.js.map +1 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeRebaser.d.ts +2 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeRebaser.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeRebaser.js +2 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeRebaser.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.js +25 -30
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts +2 -2
- package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.js +9 -9
- package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.js.map +1 -1
- package/lib/feature-libraries/sequence-field/utils.d.ts +16 -9
- package/lib/feature-libraries/sequence-field/utils.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/utils.js +47 -30
- package/lib/feature-libraries/sequence-field/utils.js.map +1 -1
- package/lib/feature-libraries/valueUtilities.d.ts +1 -2
- package/lib/feature-libraries/valueUtilities.d.ts.map +1 -1
- package/lib/feature-libraries/valueUtilities.js +1 -18
- package/lib/feature-libraries/valueUtilities.js.map +1 -1
- package/lib/index.d.ts +5 -5
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -3
- 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/public.d.ts +8 -1
- package/lib/shared-tree/defaultCommitEnricher.d.ts +91 -0
- package/lib/shared-tree/defaultCommitEnricher.d.ts.map +1 -0
- package/lib/shared-tree/defaultCommitEnricher.js +117 -0
- package/lib/shared-tree/defaultCommitEnricher.js.map +1 -0
- package/lib/shared-tree/index.d.ts +1 -1
- package/lib/shared-tree/index.d.ts.map +1 -1
- package/lib/shared-tree/index.js +1 -1
- package/lib/shared-tree/index.js.map +1 -1
- package/lib/shared-tree/schematizingTreeView.d.ts +2 -4
- package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/lib/shared-tree/schematizingTreeView.js +7 -8
- 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 +23 -13
- package/lib/shared-tree/sharedTree.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.js +7 -2
- package/lib/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeEnricher.d.ts +24 -0
- package/lib/shared-tree/sharedTreeChangeEnricher.d.ts.map +1 -0
- package/lib/shared-tree/sharedTreeChangeEnricher.js +61 -0
- package/lib/shared-tree/sharedTreeChangeEnricher.js.map +1 -0
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts +12 -3
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.js +82 -7
- package/lib/shared-tree/sharedTreeChangeFamily.js.map +1 -1
- package/lib/shared-tree/treeApi.d.ts +261 -8
- package/lib/shared-tree/treeApi.d.ts.map +1 -1
- package/lib/shared-tree/treeApi.js +52 -19
- package/lib/shared-tree/treeApi.js.map +1 -1
- package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
- package/lib/shared-tree/treeCheckout.js +10 -12
- package/lib/shared-tree/treeCheckout.js.map +1 -1
- package/lib/shared-tree/treeView.d.ts +2 -4
- package/lib/shared-tree/treeView.d.ts.map +1 -1
- package/lib/shared-tree/treeView.js +3 -4
- package/lib/shared-tree/treeView.js.map +1 -1
- package/lib/shared-tree-core/branch.d.ts +22 -2
- package/lib/shared-tree-core/branch.d.ts.map +1 -1
- package/lib/shared-tree-core/branch.js +18 -12
- package/lib/shared-tree-core/branch.js.map +1 -1
- package/lib/shared-tree-core/commitEnricher.d.ts +35 -0
- package/lib/shared-tree-core/commitEnricher.d.ts.map +1 -0
- package/{src/domains/nodeKey/index.ts → lib/shared-tree-core/commitEnricher.js} +2 -2
- package/lib/shared-tree-core/commitEnricher.js.map +1 -0
- package/lib/shared-tree-core/editManager.d.ts +8 -5
- package/lib/shared-tree-core/editManager.d.ts.map +1 -1
- package/lib/shared-tree-core/editManager.js +13 -5
- package/lib/shared-tree-core/editManager.js.map +1 -1
- package/lib/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerCodecs.js +28 -10
- package/lib/shared-tree-core/editManagerCodecs.js.map +1 -1
- package/lib/shared-tree-core/editManagerFormat.d.ts +8 -10
- package/lib/shared-tree-core/editManagerFormat.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerFormat.js +1 -2
- package/lib/shared-tree-core/editManagerFormat.js.map +1 -1
- package/lib/shared-tree-core/index.d.ts +1 -0
- package/lib/shared-tree-core/index.d.ts.map +1 -1
- package/lib/shared-tree-core/index.js.map +1 -1
- package/lib/shared-tree-core/messageCodecs.d.ts.map +1 -1
- package/lib/shared-tree-core/messageCodecs.js +16 -7
- package/lib/shared-tree-core/messageCodecs.js.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.d.ts +12 -5
- package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.js +50 -15
- package/lib/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/lib/simple-tree/arrayNode.d.ts +20 -6
- package/lib/simple-tree/arrayNode.d.ts.map +1 -1
- package/lib/simple-tree/arrayNode.js +252 -235
- package/lib/simple-tree/arrayNode.js.map +1 -1
- package/lib/simple-tree/index.d.ts +3 -3
- package/lib/simple-tree/index.d.ts.map +1 -1
- package/lib/simple-tree/index.js +1 -1
- package/lib/simple-tree/index.js.map +1 -1
- package/lib/simple-tree/leafNodeSchema.d.ts +1 -1
- package/lib/simple-tree/leafNodeSchema.d.ts.map +1 -1
- package/lib/simple-tree/leafNodeSchema.js +1 -1
- package/lib/simple-tree/leafNodeSchema.js.map +1 -1
- package/lib/simple-tree/mapNode.d.ts +3 -11
- package/lib/simple-tree/mapNode.d.ts.map +1 -1
- package/lib/simple-tree/mapNode.js +84 -132
- package/lib/simple-tree/mapNode.js.map +1 -1
- package/{dist/feature-libraries/flex-tree → lib/simple-tree}/nodeKeys.d.ts +10 -11
- package/lib/simple-tree/nodeKeys.d.ts.map +1 -0
- package/{dist/domains/nodeKey/index.d.ts → lib/simple-tree/nodeKeys.js} +2 -2
- package/lib/simple-tree/nodeKeys.js.map +1 -0
- package/lib/simple-tree/objectNode.d.ts +18 -8
- package/lib/simple-tree/objectNode.d.ts.map +1 -1
- package/lib/simple-tree/objectNode.js +108 -83
- package/lib/simple-tree/objectNode.js.map +1 -1
- package/lib/simple-tree/proxies.d.ts +1 -1
- package/lib/simple-tree/proxies.d.ts.map +1 -1
- package/lib/simple-tree/proxies.js +4 -3
- package/lib/simple-tree/proxies.js.map +1 -1
- package/lib/simple-tree/proxyBinding.d.ts +2 -2
- package/lib/simple-tree/proxyBinding.d.ts.map +1 -1
- package/lib/simple-tree/proxyBinding.js +5 -5
- package/lib/simple-tree/proxyBinding.js.map +1 -1
- package/lib/simple-tree/schemaCaching.js +2 -2
- package/lib/simple-tree/schemaCaching.js.map +1 -1
- package/lib/simple-tree/schemaFactory.d.ts +21 -18
- package/lib/simple-tree/schemaFactory.d.ts.map +1 -1
- package/lib/simple-tree/schemaFactory.js +42 -56
- package/lib/simple-tree/schemaFactory.js.map +1 -1
- package/lib/simple-tree/schemaFactoryRecursive.d.ts +2 -2
- package/lib/simple-tree/schemaFactoryRecursive.d.ts.map +1 -1
- package/lib/simple-tree/schemaFactoryRecursive.js +3 -3
- package/lib/simple-tree/schemaFactoryRecursive.js.map +1 -1
- package/lib/simple-tree/schemaTypes.d.ts +41 -23
- package/lib/simple-tree/schemaTypes.d.ts.map +1 -1
- package/lib/simple-tree/schemaTypes.js +20 -3
- package/lib/simple-tree/schemaTypes.js.map +1 -1
- package/lib/simple-tree/toFlexSchema.d.ts +2 -2
- package/lib/simple-tree/toFlexSchema.d.ts.map +1 -1
- package/lib/simple-tree/toFlexSchema.js +4 -4
- package/lib/simple-tree/toFlexSchema.js.map +1 -1
- package/lib/simple-tree/toMapTree.d.ts +12 -4
- package/lib/simple-tree/toMapTree.d.ts.map +1 -1
- package/lib/simple-tree/toMapTree.js +45 -35
- package/lib/simple-tree/toMapTree.js.map +1 -1
- package/lib/simple-tree/tree.d.ts +2 -2
- package/lib/simple-tree/tree.d.ts.map +1 -1
- package/lib/simple-tree/tree.js.map +1 -1
- package/{dist/simple-tree/treeApi.d.ts → lib/simple-tree/treeNodeApi.d.ts} +16 -8
- package/lib/simple-tree/treeNodeApi.d.ts.map +1 -0
- package/lib/simple-tree/{treeApi.js → treeNodeApi.js} +57 -18
- package/lib/simple-tree/treeNodeApi.js.map +1 -0
- package/lib/simple-tree/types.d.ts +63 -0
- package/lib/simple-tree/types.d.ts.map +1 -1
- package/lib/simple-tree/types.js +106 -0
- package/lib/simple-tree/types.js.map +1 -1
- package/lib/simple-tree/typesUnsafe.d.ts +2 -2
- package/lib/simple-tree/typesUnsafe.d.ts.map +1 -1
- package/lib/simple-tree/typesUnsafe.js.map +1 -1
- package/lib/treeFactory.d.ts +4 -4
- package/lib/treeFactory.d.ts.map +1 -1
- package/lib/treeFactory.js +12 -14
- package/lib/treeFactory.js.map +1 -1
- package/lib/tsdoc-metadata.json +1 -1
- package/lib/util/brand.d.ts +7 -86
- package/lib/util/brand.d.ts.map +1 -1
- package/lib/util/brand.js +1 -49
- package/lib/util/brand.js.map +1 -1
- package/lib/util/idAllocator.js.map +1 -1
- package/lib/util/index.d.ts +1 -1
- package/lib/util/index.d.ts.map +1 -1
- package/lib/util/index.js +1 -1
- package/lib/util/index.js.map +1 -1
- package/lib/util/nestedMap.d.ts.map +1 -1
- package/lib/util/nestedMap.js.map +1 -1
- package/lib/util/opaque.d.ts +5 -5
- package/lib/util/opaque.d.ts.map +1 -1
- package/lib/util/opaque.js.map +1 -1
- package/lib/util/typeboxBrand.d.ts +3 -3
- package/lib/util/typeboxBrand.d.ts.map +1 -1
- package/lib/util/typeboxBrand.js +1 -1
- package/lib/util/typeboxBrand.js.map +1 -1
- package/lib/util/utils.d.ts.map +1 -1
- package/lib/util/utils.js.map +1 -1
- package/package.json +31 -31
- package/src/codec/codec.ts +6 -4
- package/src/core/change-family/changeFamily.ts +2 -1
- package/src/core/forest/README.md +1 -1
- package/src/core/index.ts +2 -1
- package/src/core/rebase/changeRebaser.ts +7 -1
- package/src/core/rebase/index.ts +1 -0
- package/src/core/rebase/revisionTagCodec.ts +1 -0
- package/src/core/rebase/types.ts +17 -0
- package/src/core/rebase/utils.ts +23 -15
- package/src/core/rebase/verifyChangeRebaser.ts +4 -4
- package/src/core/schema-stored/index.ts +1 -1
- package/src/core/schema-stored/schema.ts +22 -19
- package/src/core/tree/anchorSet.ts +1 -1
- package/src/core/tree/detachedFieldIndexCodec.ts +1 -0
- package/src/core/tree/treeTextFormat.ts +2 -0
- package/src/core/tree/visitDelta.ts +3 -3
- package/src/domains/index.ts +0 -2
- package/src/domains/json/jsonCursor.ts +2 -5
- package/src/feature-libraries/changeAtomIdCodec.ts +2 -2
- package/src/feature-libraries/chunked-forest/chunkedForest.ts +1 -1
- package/src/feature-libraries/chunked-forest/codec/chunkCodecUtilities.ts +2 -2
- package/src/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.ts +1 -1
- package/src/feature-libraries/chunked-forest/codec/codecs.ts +1 -1
- package/src/feature-libraries/chunked-forest/codec/nodeShape.ts +8 -5
- package/src/feature-libraries/contextuallyTyped.ts +1 -1
- package/src/feature-libraries/default-schema/defaultEditBuilder.ts +2 -4
- package/src/feature-libraries/default-schema/defaultFieldKinds.ts +19 -13
- package/src/feature-libraries/default-schema/index.ts +0 -1
- package/src/feature-libraries/default-schema/noChangeCodecs.ts +1 -1
- package/src/feature-libraries/default-schema/schemaChecker.ts +140 -0
- package/src/feature-libraries/deltaUtils.ts +3 -12
- package/src/feature-libraries/editableTreeBinder.ts +1 -1
- package/src/feature-libraries/flex-tree/context.ts +20 -36
- package/src/feature-libraries/flex-tree/flexTreeTypes.ts +19 -17
- package/src/feature-libraries/flex-tree/index.ts +0 -2
- package/src/feature-libraries/flex-tree/lazyField.ts +10 -54
- package/src/feature-libraries/flex-tree/lazyNode.ts +13 -46
- package/src/feature-libraries/flex-tree/utilities.ts +5 -6
- package/src/feature-libraries/index.ts +2 -4
- package/src/feature-libraries/mitigatedChangeFamily.ts +8 -1
- package/src/feature-libraries/modular-schema/fieldChangeHandler.ts +18 -15
- package/src/feature-libraries/modular-schema/genericFieldKind.ts +33 -26
- package/src/feature-libraries/modular-schema/genericFieldKindCodecs.ts +2 -2
- package/src/feature-libraries/modular-schema/index.ts +1 -0
- package/src/feature-libraries/modular-schema/modularChangeCodecs.ts +35 -13
- package/src/feature-libraries/modular-schema/modularChangeFamily.ts +213 -213
- package/src/feature-libraries/modular-schema/modularChangeFormat.ts +0 -20
- package/src/feature-libraries/modular-schema/modularChangeTypes.ts +0 -10
- package/src/feature-libraries/node-key/index.ts +0 -1
- package/src/feature-libraries/node-key/nodeKey.ts +0 -9
- package/src/feature-libraries/node-key/nodeKeyManager.ts +41 -6
- package/src/feature-libraries/optional-field/optionalField.ts +112 -94
- package/src/feature-libraries/optional-field/optionalFieldChangeFormatV1.ts +14 -22
- package/src/feature-libraries/optional-field/{optionalFieldChangeFormatV0.ts → optionalFieldChangeFormatV2.ts} +22 -14
- package/src/feature-libraries/optional-field/optionalFieldCodecV1.ts +113 -44
- package/src/feature-libraries/optional-field/optionalFieldCodecV2.ts +135 -0
- package/src/feature-libraries/optional-field/optionalFieldCodecs.ts +2 -2
- package/src/feature-libraries/schema-aware/schemaAware.ts +3 -1
- package/src/feature-libraries/schema-edits/schemaChangeCodecs.ts +5 -2
- package/src/feature-libraries/schema-index/codec.ts +3 -3
- package/src/feature-libraries/sequence-field/compose.ts +198 -146
- package/src/feature-libraries/sequence-field/invert.ts +21 -48
- package/src/feature-libraries/sequence-field/markQueue.ts +1 -5
- package/src/feature-libraries/sequence-field/moveEffectTable.ts +38 -15
- package/src/feature-libraries/sequence-field/rebase.ts +46 -150
- package/src/feature-libraries/sequence-field/relevantRemovedRoots.ts +3 -3
- package/src/feature-libraries/sequence-field/replaceRevisions.ts +87 -0
- package/src/feature-libraries/sequence-field/sequenceFieldChangeRebaser.ts +2 -0
- package/src/feature-libraries/sequence-field/sequenceFieldCodecs.ts +42 -34
- package/src/feature-libraries/sequence-field/sequenceFieldToDelta.ts +8 -14
- package/src/feature-libraries/sequence-field/utils.ts +47 -44
- package/src/feature-libraries/valueUtilities.ts +2 -22
- package/src/index.ts +7 -6
- package/src/packageVersion.ts +1 -1
- package/src/shared-tree/defaultCommitEnricher.ts +176 -0
- package/src/shared-tree/index.ts +8 -1
- package/src/shared-tree/schematizingTreeView.ts +10 -14
- package/src/shared-tree/sharedTree.ts +32 -15
- package/src/shared-tree/sharedTreeChangeCodecs.ts +12 -3
- package/src/shared-tree/sharedTreeChangeEnricher.ts +87 -0
- package/src/shared-tree/sharedTreeChangeFamily.ts +124 -8
- package/src/shared-tree/treeApi.ts +365 -34
- package/src/shared-tree/treeCheckout.ts +19 -19
- package/src/shared-tree/treeView.ts +3 -16
- package/src/shared-tree-core/branch.ts +49 -12
- package/src/shared-tree-core/commitEnricher.ts +39 -0
- package/src/shared-tree-core/editManager.ts +32 -15
- package/src/shared-tree-core/editManagerCodecs.ts +30 -16
- package/src/shared-tree-core/editManagerFormat.ts +2 -4
- package/src/shared-tree-core/index.ts +2 -0
- package/src/shared-tree-core/messageCodecs.ts +28 -7
- package/src/shared-tree-core/sharedTreeCore.ts +82 -18
- package/src/simple-tree/arrayNode.ts +411 -334
- package/src/simple-tree/index.ts +3 -2
- package/src/simple-tree/leafNodeSchema.ts +1 -1
- package/src/simple-tree/mapNode.ts +120 -169
- package/src/{feature-libraries/flex-tree → simple-tree}/nodeKeys.ts +10 -20
- package/src/simple-tree/objectNode.ts +186 -136
- package/src/simple-tree/proxies.ts +4 -4
- package/src/simple-tree/proxyBinding.ts +11 -6
- package/src/simple-tree/schemaCaching.ts +2 -2
- package/src/simple-tree/schemaFactory.ts +60 -91
- package/src/simple-tree/schemaFactoryRecursive.ts +8 -6
- package/src/simple-tree/schemaTypes.ts +69 -16
- package/src/simple-tree/toFlexSchema.ts +8 -3
- package/src/simple-tree/toMapTree.ts +76 -34
- package/src/simple-tree/tree.ts +2 -2
- package/src/simple-tree/{treeApi.ts → treeNodeApi.ts} +82 -40
- package/src/simple-tree/types.ts +160 -1
- package/src/simple-tree/typesUnsafe.ts +2 -2
- package/src/treeFactory.ts +14 -17
- package/src/util/brand.ts +8 -107
- package/src/util/idAllocator.ts +1 -1
- package/src/util/index.ts +1 -11
- package/src/util/nestedMap.ts +1 -1
- package/src/util/opaque.ts +5 -5
- package/src/util/typeboxBrand.ts +3 -3
- package/src/util/utils.ts +4 -4
- package/dist/alpha.d.ts +0 -87
- package/dist/domains/nodeKey/index.d.ts.map +0 -1
- package/dist/domains/nodeKey/index.js +0 -12
- package/dist/domains/nodeKey/index.js.map +0 -1
- package/dist/domains/nodeKey/nodeKeySchema.d.ts +0 -30
- package/dist/domains/nodeKey/nodeKeySchema.d.ts.map +0 -1
- package/dist/domains/nodeKey/nodeKeySchema.js +0 -36
- package/dist/domains/nodeKey/nodeKeySchema.js.map +0 -1
- package/dist/feature-libraries/flex-tree/nodeKeys.d.ts.map +0 -1
- package/dist/feature-libraries/flex-tree/nodeKeys.js +0 -24
- package/dist/feature-libraries/flex-tree/nodeKeys.js.map +0 -1
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV0.d.ts.map +0 -1
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV0.js.map +0 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecV0.d.ts.map +0 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecV0.js +0 -158
- package/dist/feature-libraries/optional-field/optionalFieldCodecV0.js.map +0 -1
- package/dist/simple-tree/treeApi.d.ts.map +0 -1
- package/dist/simple-tree/treeApi.js.map +0 -1
- package/lib/alpha.d.ts +0 -87
- package/lib/domains/nodeKey/index.d.ts.map +0 -1
- package/lib/domains/nodeKey/index.js.map +0 -1
- package/lib/domains/nodeKey/nodeKeySchema.d.ts +0 -30
- package/lib/domains/nodeKey/nodeKeySchema.d.ts.map +0 -1
- package/lib/domains/nodeKey/nodeKeySchema.js +0 -33
- package/lib/domains/nodeKey/nodeKeySchema.js.map +0 -1
- package/lib/feature-libraries/flex-tree/nodeKeys.d.ts.map +0 -1
- package/lib/feature-libraries/flex-tree/nodeKeys.js +0 -20
- package/lib/feature-libraries/flex-tree/nodeKeys.js.map +0 -1
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV0.d.ts.map +0 -1
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV0.js.map +0 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV0.d.ts.map +0 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV0.js +0 -154
- package/lib/feature-libraries/optional-field/optionalFieldCodecV0.js.map +0 -1
- package/lib/simple-tree/treeApi.d.ts.map +0 -1
- package/lib/simple-tree/treeApi.js.map +0 -1
- package/src/domains/nodeKey/fence.json +0 -5
- package/src/domains/nodeKey/nodeKeySchema.ts +0 -44
- package/src/feature-libraries/optional-field/optionalFieldCodecV0.ts +0 -204
package/.eslintrc.cjs
CHANGED
|
@@ -14,7 +14,7 @@ module.exports = {
|
|
|
14
14
|
rules: {
|
|
15
15
|
"@typescript-eslint/no-namespace": "off",
|
|
16
16
|
"@typescript-eslint/no-empty-interface": "off",
|
|
17
|
-
|
|
17
|
+
|
|
18
18
|
// This package is build with noUnusedLocals disabled for a specific use case (see note in tsconfig.json),
|
|
19
19
|
// but should reject other cases using this rule:
|
|
20
20
|
"@typescript-eslint/no-unused-vars": [
|
|
@@ -25,8 +25,12 @@ module.exports = {
|
|
|
25
25
|
caughtErrorsIgnorePattern: "^_",
|
|
26
26
|
},
|
|
27
27
|
],
|
|
28
|
-
|
|
28
|
+
|
|
29
|
+
// TODO: Remove this override once dependency on eslint-config-fluid has been updated to 5.2.0+
|
|
29
30
|
"import/order": "off",
|
|
31
|
+
|
|
32
|
+
// TODO: Remove these overrides once this config has been updated to extend the "strict" base config.
|
|
33
|
+
"@typescript-eslint/explicit-member-accessibility": "error",
|
|
30
34
|
},
|
|
31
35
|
overrides: [
|
|
32
36
|
{
|
|
@@ -39,4 +43,33 @@ module.exports = {
|
|
|
39
43
|
},
|
|
40
44
|
},
|
|
41
45
|
],
|
|
46
|
+
settings: {
|
|
47
|
+
"import/extensions": [".ts", ".tsx", ".d.ts", ".js", ".jsx"],
|
|
48
|
+
"import/parsers": {
|
|
49
|
+
"@typescript-eslint/parser": [".ts", ".tsx", ".d.ts"],
|
|
50
|
+
},
|
|
51
|
+
"import/resolver": {
|
|
52
|
+
typescript: {
|
|
53
|
+
extensions: [".ts", ".tsx", ".d.ts", ".js", ".jsx"],
|
|
54
|
+
conditionNames: [
|
|
55
|
+
"allow-ff-test-exports",
|
|
56
|
+
|
|
57
|
+
// Default condition names below, see https://www.npmjs.com/package/eslint-import-resolver-typescript#conditionnames
|
|
58
|
+
"types",
|
|
59
|
+
"import",
|
|
60
|
+
|
|
61
|
+
// APF: https://angular.io/guide/angular-package-format
|
|
62
|
+
"esm2020",
|
|
63
|
+
"es2020",
|
|
64
|
+
"es2015",
|
|
65
|
+
|
|
66
|
+
"require",
|
|
67
|
+
"node",
|
|
68
|
+
"node-addons",
|
|
69
|
+
"browser",
|
|
70
|
+
"default",
|
|
71
|
+
],
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
},
|
|
42
75
|
};
|
package/.vscode/settings.json
CHANGED
|
@@ -12,5 +12,8 @@
|
|
|
12
12
|
],
|
|
13
13
|
"mochaExplorer.configFile": ".mocharc.cjs",
|
|
14
14
|
"mochaExplorer.timeout": 999999,
|
|
15
|
+
// This extension appears to invoke mocha programmatically, meaning that the enablement of this option in the common
|
|
16
|
+
// mocha test config isn't sufficient; it also needs to be enabled here.
|
|
17
|
+
"mochaExplorer.nodeArgv": ["--conditions", "allow-ff-test-exports"],
|
|
15
18
|
"cSpell.words": ["deprioritized", "endregion", "insertable", "reentrantly", "unhydrated"],
|
|
16
19
|
}
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,96 @@
|
|
|
1
1
|
# @fluidframework/tree
|
|
2
2
|
|
|
3
|
+
## 2.0.0-rc.4.0.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Deprecated members of IFluidHandle are split off into new IFluidHandleInternal interface [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
|
|
8
|
+
|
|
9
|
+
Split IFluidHandle into two interfaces, `IFluidHandle` and `IFluidHandleInternal`.
|
|
10
|
+
Code depending on the previously deprecated members of IFluidHandle can access them by using `toFluidHandleInternal` from `@fluidframework/runtime-utils/legacy`.
|
|
11
|
+
|
|
12
|
+
External implementation of the `IFluidHandle` interface are not supported: this change makes the typing better convey this using the `ErasedType` pattern.
|
|
13
|
+
Any existing and previously working, and now broken, external implementations of `IFluidHandle` should still work at runtime, but will need some unsafe type casts to compile.
|
|
14
|
+
Such handle implementation may break in the future and thus should be replaced with use of handles produced by the Fluid Framework client packages.
|
|
15
|
+
|
|
16
|
+
- Minor API fixes for "@fluidframework/tree" package. [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
|
|
17
|
+
|
|
18
|
+
Changes constructor for `FieldSchema` from public to private. Users should call `makeFieldSchema` to create instance of `FieldSchema`.
|
|
19
|
+
|
|
20
|
+
## 2.0.0-rc.3.0.0
|
|
21
|
+
|
|
22
|
+
### Major Changes
|
|
23
|
+
|
|
24
|
+
- Packages now use package.json "exports" and require modern module resolution [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
25
|
+
|
|
26
|
+
Fluid Framework packages have been updated to use the [package.json "exports"
|
|
27
|
+
field](https://nodejs.org/docs/latest-v18.x/api/packages.html#exports) to define explicit entry points for both
|
|
28
|
+
TypeScript types and implementation code.
|
|
29
|
+
|
|
30
|
+
This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
|
|
31
|
+
|
|
32
|
+
- `"moduleResolution": "Node16"` with `"module": "Node16"`
|
|
33
|
+
- `"moduleResolution": "Bundler"` with `"module": "ESNext"`
|
|
34
|
+
|
|
35
|
+
We recommend using Node16/Node16 unless absolutely necessary. That will produce transpiled JavaScript that is suitable
|
|
36
|
+
for use with modern versions of Node.js _and_ Bundlers.
|
|
37
|
+
[See the TypeScript documentation](https://www.typescriptlang.org/tsconfig#moduleResolution) for more information
|
|
38
|
+
regarding the module and moduleResolution options.
|
|
39
|
+
|
|
40
|
+
**Node10 moduleResolution is not supported; it does not support Fluid Framework's API structuring pattern that is used
|
|
41
|
+
to distinguish stable APIs from those that are in development.**
|
|
42
|
+
|
|
43
|
+
### Minor Changes
|
|
44
|
+
|
|
45
|
+
- Better events [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
46
|
+
|
|
47
|
+
We have updated the Events to make it easier to create granular event listeners for single nodes and better support the
|
|
48
|
+
undo/redo feature. SharedTree nodes now expose `nodeChanged` and `treeChanged` events that fire in response to changes
|
|
49
|
+
in the node, and to changes in the subtree rooted at the node, respectively.
|
|
50
|
+
|
|
51
|
+
This change was originally made in [#20286](https://github.com/microsoft/FluidFramework/pull/20286) ([ac1e773960](https://github.com/microsoft/FluidFramework/commit/ac1e7739607551abb0dae7fa74dda56aec94b609)).
|
|
52
|
+
|
|
53
|
+
[Read more about SharedTree Events at fluidframework.com](https://fluidframework.com/docs/data-structures/tree/#event-handling)
|
|
54
|
+
|
|
55
|
+
- Recursive schemas [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
56
|
+
|
|
57
|
+
Schemas are even more powerful now with the added support for recursive types, which allows you to define types that
|
|
58
|
+
reference nodes of the same type in their subtree.
|
|
59
|
+
|
|
60
|
+
Users of the beta APIs via `SchemaFactoryRecursive` can now find them on `SchemaFactory`.
|
|
61
|
+
|
|
62
|
+
[Read more about Recursive Schema at fluidframework.com](https://fluidframework.com/docs/data-structures/tree/#recursive-schema)
|
|
63
|
+
|
|
64
|
+
- Transactions [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
65
|
+
|
|
66
|
+
You can group multiple changes such that they are applied atomically, and if they fail, they fail atomically. As a
|
|
67
|
+
result of grouping changes in a transaction, you also get a single revertible object making it easier to undo and redo.
|
|
68
|
+
|
|
69
|
+
[Read more about Transactions at fluidframework.com](https://fluidframework.com/docs/data-structures/tree/#transactions)
|
|
70
|
+
|
|
71
|
+
- tree: Empty optional fields on object nodes now are undefined non-enumerable own properties instead of not a property at all. [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
72
|
+
|
|
73
|
+
Empty optional fields on object nodes now are now undefined non-enumerable own properties.
|
|
74
|
+
This improves behavior in cases where they shadow inherited members which no longer have types which differ from the runtime behavior.
|
|
75
|
+
|
|
76
|
+
- tree: Allow root editing and make TreeView parameterized over schema. [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
77
|
+
|
|
78
|
+
TreeView now is parameterized over the field schema instead of the root field type. This was needed to infer the correct input type when reassigning the root.
|
|
79
|
+
Code providing an explicit type to TreeView, like `TreeView<Foo>` can usually be updated by replacing that with `TreeView<typeof Foo>`.
|
|
80
|
+
|
|
81
|
+
- fluid-framework: Replace SharedObjectClass with new ISharedObjectKind type. [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
82
|
+
|
|
83
|
+
The static objects used as SharedObjectClass now explicitly implement the new ISharedObjectKind type.
|
|
84
|
+
SharedObjectClass has been removed as ISharedObjectKind now fills that role.
|
|
85
|
+
LoadableObjectCtor has been inlined as it only had one use: an external user of it can replace it with `(new (...args: any[]) => T)`.
|
|
86
|
+
|
|
87
|
+
- Undo/Redo [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
88
|
+
|
|
89
|
+
Added the ability to listen for changes and track revertible objects on your undo/redo stacks. Revertibles allow you to
|
|
90
|
+
undo and redo changes even if other changes have been made in remote clients.
|
|
91
|
+
|
|
92
|
+
[Read more about Undo/redo at fluidframework.com](https://fluidframework.com/docs/data-structures/tree/#undoredo-support)
|
|
93
|
+
|
|
3
94
|
## 2.0.0-rc.2.0.0
|
|
4
95
|
|
|
5
96
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
# @fluidframework/tree
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A [tree](<https://en.wikipedia.org/wiki/Tree_(data_structure)>) data structure for the [Fluid Framework](https://fluidframework.com/).
|
|
4
|
+
|
|
5
|
+
The contents of this package are also reported as part of the [`fluid-framework` package](https://www.npmjs.com/package/fluid-framework) which provides an alternative way to consume the functionality from this package.
|
|
6
|
+
|
|
7
|
+
[SharedTree Philosophy](./docs/SharedTree%20Philosophy.md) covers the goals of the SharedTree project,
|
|
8
|
+
and some of the implications of those goals for developers working on this package.
|
|
4
9
|
|
|
5
10
|
## Status
|
|
6
11
|
|
|
@@ -12,7 +17,13 @@ Notable consideration that early adopters should be wary of:
|
|
|
12
17
|
- SharedTree currently has unbounded memory growth:
|
|
13
18
|
- Removed content is retained forever.
|
|
14
19
|
- Accessing an `EditableField` object (from its parent, e.g., with `getField`) in a loop will leak unbounded memory.
|
|
15
|
-
- All changes are atomized by the `visitDelta` function.
|
|
20
|
+
- All changes are atomized by the `visitDelta` function.
|
|
21
|
+
This means that, when inserting/removing/moving 2 contiguous nodes, the `visitDelta` function will call the `DeltaVisitor` twice (once for each node) instead of once for both nodes.
|
|
22
|
+
Change notification consumers that are downstream from the `DeltaVisitor` will therefore also see those changes as atomized.
|
|
23
|
+
- Some documentation (such as this readme and [the roadmap](docs/roadmap.md)) are out of date.
|
|
24
|
+
The [API documentation](https://fluidframework.com/docs/api/v2/tree) which is derived from the documentation comments in the source code should be more up to date.
|
|
25
|
+
|
|
26
|
+
More details on the development status of various features can be found in the [roadmap](docs/roadmap.md).
|
|
16
27
|
|
|
17
28
|
<!-- AUTO-GENERATED-CONTENT:START (README_DEPENDENCY_GUIDELINES_SECTION:includeHeading=TRUE) -->
|
|
18
29
|
|
|
@@ -89,11 +100,12 @@ This tree serves to get these feature into the hands of users much faster than c
|
|
|
89
100
|
|
|
90
101
|
This package can be developed using any of the [regular workflows for working on Fluid Framework](../../../README.md) and/or its Client release group of packages, but for work only touching the tree package, there is an optional workflow that might be more ergonomic:
|
|
91
102
|
|
|
103
|
+
- Follow the [Setup and Building](../../../README.md#setup-and-building) instructions.
|
|
92
104
|
- Open the [.vscode/Tree.code-workspace](.vscode/Tree.code-workspace) in VS Code.
|
|
93
105
|
This will recommend a test runner extension, which should be installed.
|
|
94
|
-
- Build the
|
|
95
|
-
- After editing the tree project, run `npm run build` in
|
|
96
|
-
- Run tests using the "Testing" side panel in VS Code, or using the inline `Run | Debug` buttons which should show up above tests in the source:
|
|
106
|
+
- Build the the tree package as normal (for run example: `pnpm i && pnpm run build` in the `tree` directory).
|
|
107
|
+
- After editing the tree project, run `npm run build` (still in the `tree`) directory.
|
|
108
|
+
- Run and debug tests using the "Testing" side panel in VS Code, or using the inline `Run | Debug` buttons which should show up above tests in the source:
|
|
97
109
|
both of these are provided by the mocha testing extension thats recommended by the workspace.
|
|
98
110
|
Note that this does not build the tests, so always be sure to build first.
|
|
99
111
|
|
package/api-report/tree.api.md
CHANGED
|
@@ -4,12 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
```ts
|
|
6
6
|
|
|
7
|
-
import {
|
|
8
|
-
import { IChannel } from '@fluidframework/datastore-definitions';
|
|
9
|
-
import { IChannelAttributes } from '@fluidframework/datastore-definitions';
|
|
10
|
-
import { IChannelFactory } from '@fluidframework/datastore-definitions';
|
|
11
|
-
import { IChannelServices } from '@fluidframework/datastore-definitions';
|
|
12
|
-
import { IFluidDataStoreRuntime } from '@fluidframework/datastore-definitions';
|
|
7
|
+
import { ErasedType } from '@fluidframework/core-interfaces';
|
|
13
8
|
import { IFluidHandle } from '@fluidframework/core-interfaces';
|
|
14
9
|
import { IFluidLoadable } from '@fluidframework/core-interfaces';
|
|
15
10
|
import { ISharedObject } from '@fluidframework/shared-object-base';
|
|
@@ -139,7 +134,11 @@ export const Any: "Any";
|
|
|
139
134
|
export type Any = typeof Any;
|
|
140
135
|
|
|
141
136
|
// @public
|
|
142
|
-
export type ApplyKind<T, Kind extends FieldKind
|
|
137
|
+
export type ApplyKind<T, Kind extends FieldKind, DefaultsAreOptional extends boolean> = {
|
|
138
|
+
[FieldKind.Required]: T;
|
|
139
|
+
[FieldKind.Optional]: T | undefined;
|
|
140
|
+
[FieldKind.Identifier]: DefaultsAreOptional extends true ? T | undefined : T;
|
|
141
|
+
}[Kind];
|
|
143
142
|
|
|
144
143
|
// @internal
|
|
145
144
|
export type ApplyMultiplicity<TMultiplicity extends Multiplicity, TypedChild> = {
|
|
@@ -162,10 +161,10 @@ export type AssignableFieldKinds = typeof FieldKinds.optional | typeof FieldKind
|
|
|
162
161
|
export type Assume<TInput, TAssumeToBe> = [TInput] extends [TAssumeToBe] ? TInput : TAssumeToBe;
|
|
163
162
|
|
|
164
163
|
// @internal
|
|
165
|
-
export type Brand<ValueType, Name
|
|
164
|
+
export type Brand<ValueType, Name> = ValueType & BrandedType<ValueType, Name>;
|
|
166
165
|
|
|
167
166
|
// @internal
|
|
168
|
-
export function brand<T>(value: T extends BrandedType<infer ValueType,
|
|
167
|
+
export function brand<T>(value: T extends BrandedType<infer ValueType, unknown> ? ValueType : never): T;
|
|
169
168
|
|
|
170
169
|
// @internal
|
|
171
170
|
export type BrandedKey<TKey, TContent> = TKey & Invariant<TContent>;
|
|
@@ -186,7 +185,7 @@ export interface BrandedMapSubset<K extends BrandedKey<unknown, any>> {
|
|
|
186
185
|
}
|
|
187
186
|
|
|
188
187
|
// @internal @sealed
|
|
189
|
-
export abstract class BrandedType<out ValueType, Name
|
|
188
|
+
export abstract class BrandedType<out ValueType, Name> {
|
|
190
189
|
static [Symbol.hasInstance](value: never): value is never;
|
|
191
190
|
protected abstract brand(dummy: never): Name;
|
|
192
191
|
// (undocumented)
|
|
@@ -307,6 +306,10 @@ export interface CursorWithNode<TNode> extends ITreeCursorSynchronous {
|
|
|
307
306
|
getNode(): TNode;
|
|
308
307
|
}
|
|
309
308
|
|
|
309
|
+
// @public
|
|
310
|
+
export interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldProvider"> {
|
|
311
|
+
}
|
|
312
|
+
|
|
310
313
|
// @internal
|
|
311
314
|
export const defaultSchemaPolicy: FullSchemaPolicy;
|
|
312
315
|
|
|
@@ -427,16 +430,7 @@ export function enumFromStrings<TScope extends string, const Members extends str
|
|
|
427
430
|
})>;
|
|
428
431
|
|
|
429
432
|
// @internal
|
|
430
|
-
export
|
|
431
|
-
|
|
432
|
-
// @internal
|
|
433
|
-
export interface ErasedTreeNodeSchemaDataFormat extends Erased<"TreeNodeSchemaDataFormat"> {
|
|
434
|
-
}
|
|
435
|
-
|
|
436
|
-
// @internal @sealed
|
|
437
|
-
export abstract class ErasedType<out Name extends string> {
|
|
438
|
-
static [Symbol.hasInstance](value: never): value is never;
|
|
439
|
-
protected abstract brand(dummy: never): Name;
|
|
433
|
+
export interface ErasedTreeNodeSchemaDataFormat extends ErasedType<"TreeNodeSchemaDataFormat"> {
|
|
440
434
|
}
|
|
441
435
|
|
|
442
436
|
// @public
|
|
@@ -445,10 +439,10 @@ export type Events<E> = {
|
|
|
445
439
|
};
|
|
446
440
|
|
|
447
441
|
// @internal
|
|
448
|
-
export type ExtractFromOpaque<TOpaque extends BrandedType<any,
|
|
442
|
+
export type ExtractFromOpaque<TOpaque extends BrandedType<any, unknown>> = TOpaque extends BrandedType<infer ValueType, infer Name> ? isAny<ValueType> extends true ? unknown : Brand<ValueType, Name> : never;
|
|
449
443
|
|
|
450
444
|
// @internal
|
|
451
|
-
export function extractFromOpaque<TOpaque extends BrandedType<any,
|
|
445
|
+
export function extractFromOpaque<TOpaque extends BrandedType<any, unknown>>(value: TOpaque): ExtractFromOpaque<TOpaque>;
|
|
452
446
|
|
|
453
447
|
// @public
|
|
454
448
|
export type ExtractItemType<Item extends LazyItem> = Item extends () => infer Result ? Result : Item;
|
|
@@ -492,7 +486,6 @@ export const FieldKinds: {
|
|
|
492
486
|
readonly required: Required_2;
|
|
493
487
|
readonly optional: Optional;
|
|
494
488
|
readonly sequence: Sequence;
|
|
495
|
-
readonly nodeKey: NodeKeyFieldKind;
|
|
496
489
|
readonly identifier: Identifier;
|
|
497
490
|
readonly forbidden: Forbidden;
|
|
498
491
|
};
|
|
@@ -513,15 +506,12 @@ export interface FieldMapObject<TChild> {
|
|
|
513
506
|
|
|
514
507
|
// @public
|
|
515
508
|
export interface FieldProps {
|
|
509
|
+
readonly defaultProvider?: DefaultProvider;
|
|
516
510
|
readonly key?: string;
|
|
517
511
|
}
|
|
518
512
|
|
|
519
513
|
// @public @sealed
|
|
520
514
|
export class FieldSchema<out Kind extends FieldKind = FieldKind, out Types extends ImplicitAllowedTypes = ImplicitAllowedTypes> {
|
|
521
|
-
constructor(
|
|
522
|
-
kind: Kind,
|
|
523
|
-
allowedTypes: Types,
|
|
524
|
-
props?: FieldProps | undefined);
|
|
525
515
|
readonly allowedTypes: Types;
|
|
526
516
|
get allowedTypeSet(): ReadonlySet<TreeNodeSchema>;
|
|
527
517
|
readonly kind: Kind;
|
|
@@ -646,9 +636,9 @@ export class FlexObjectNodeSchema<const out Name extends string = string, const
|
|
|
646
636
|
|
|
647
637
|
// @internal
|
|
648
638
|
export interface FlexTreeContext extends ISubscribable<ForestEvents> {
|
|
649
|
-
readonly
|
|
639
|
+
readonly checkout: ITreeCheckout;
|
|
650
640
|
// (undocumented)
|
|
651
|
-
readonly
|
|
641
|
+
readonly nodeKeyManager: NodeKeyManager;
|
|
652
642
|
get root(): FlexTreeField;
|
|
653
643
|
readonly schema: FlexTreeSchema;
|
|
654
644
|
}
|
|
@@ -839,14 +829,14 @@ export interface FlexTreeSequenceField<in out TTypes extends FlexAllowedTypes> e
|
|
|
839
829
|
moveToStart(sourceIndex: number): void;
|
|
840
830
|
moveToStart(sourceIndex: number, source: FlexTreeSequenceField<FlexAllowedTypes>): void;
|
|
841
831
|
removeAt(index: number): void;
|
|
842
|
-
|
|
832
|
+
sequenceEditor(): SequenceFieldEditBuilder;
|
|
843
833
|
}
|
|
844
834
|
|
|
845
835
|
// @internal
|
|
846
836
|
export type FlexTreeTypedField<TSchema extends FlexFieldSchema> = FlexTreeTypedFieldInner<TSchema["kind"], TSchema["allowedTypes"]>;
|
|
847
837
|
|
|
848
838
|
// @internal
|
|
849
|
-
export type FlexTreeTypedFieldInner<Kind extends FlexFieldKind, Types extends FlexAllowedTypes> = Kind extends typeof FieldKinds.sequence ? FlexTreeSequenceField<Types> : Kind extends typeof FieldKinds.required ? FlexTreeRequiredField<Types> : Kind extends typeof FieldKinds.optional ? FlexTreeOptionalField<Types> :
|
|
839
|
+
export type FlexTreeTypedFieldInner<Kind extends FlexFieldKind, Types extends FlexAllowedTypes> = Kind extends typeof FieldKinds.sequence ? FlexTreeSequenceField<Types> : Kind extends typeof FieldKinds.required ? FlexTreeRequiredField<Types> : Kind extends typeof FieldKinds.optional ? FlexTreeOptionalField<Types> : FlexTreeField;
|
|
850
840
|
|
|
851
841
|
// @internal
|
|
852
842
|
export type FlexTreeTypedNode<TSchema extends FlexTreeNodeSchema> = TSchema extends LeafNodeSchema ? FlexTreeLeafNode<TSchema> : TSchema extends FlexMapNodeSchema ? FlexTreeMapNode<TSchema> : TSchema extends FlexFieldNodeSchema ? FlexTreeFieldNode<TSchema> : TSchema extends FlexObjectNodeSchema ? FlexTreeObjectNodeTyped<TSchema> : FlexTreeNode;
|
|
@@ -858,7 +848,7 @@ export type FlexTreeTypedNodeUnion<T extends FlexAllowedTypes> = T extends FlexL
|
|
|
858
848
|
export type FlexTreeUnboxField<TSchema extends FlexFieldSchema, Emptiness extends "maybeEmpty" | "notEmpty" = "maybeEmpty"> = FlexTreeUnboxFieldInner<TSchema["kind"], TSchema["allowedTypes"], Emptiness>;
|
|
859
849
|
|
|
860
850
|
// @internal
|
|
861
|
-
export type FlexTreeUnboxFieldInner<Kind extends FlexFieldKind, TTypes extends FlexAllowedTypes, Emptiness extends "maybeEmpty" | "notEmpty"> = Kind extends typeof FieldKinds.sequence ? FlexTreeSequenceField<TTypes> : Kind extends typeof FieldKinds.required ? FlexTreeUnboxNodeUnion<TTypes> : Kind extends typeof FieldKinds.optional ? FlexTreeUnboxNodeUnion<TTypes> | (Emptiness extends "notEmpty" ? never : undefined) :
|
|
851
|
+
export type FlexTreeUnboxFieldInner<Kind extends FlexFieldKind, TTypes extends FlexAllowedTypes, Emptiness extends "maybeEmpty" | "notEmpty"> = Kind extends typeof FieldKinds.sequence ? FlexTreeSequenceField<TTypes> : Kind extends typeof FieldKinds.required ? FlexTreeUnboxNodeUnion<TTypes> : Kind extends typeof FieldKinds.optional ? FlexTreeUnboxNodeUnion<TTypes> | (Emptiness extends "notEmpty" ? never : undefined) : unknown;
|
|
862
852
|
|
|
863
853
|
// @internal
|
|
864
854
|
export type FlexTreeUnboxNode<TSchema extends FlexTreeNodeSchema> = TSchema extends LeafNodeSchema ? TreeValue<TSchema["info"]> : TSchema extends FlexMapNodeSchema ? FlexTreeMapNode<TSchema> : TSchema extends FlexFieldNodeSchema ? FlexTreeFieldNode<TSchema> : TSchema extends FlexObjectNodeSchema ? FlexTreeObjectNodeTyped<TSchema> : FlexTreeUnknownUnboxed;
|
|
@@ -1001,7 +991,7 @@ ApplyMultiplicity<TField["kind"]["multiplicity"], AllowedTypesToFlexInsertableTr
|
|
|
1001
991
|
// @internal
|
|
1002
992
|
export type InsertableFlexNode<TSchema extends FlexTreeNodeSchema> = FlattenKeys<CollectOptions<TSchema extends FlexObjectNodeSchema<string, infer TFields extends FlexObjectNodeFields> ? TypedFields<TFields> : TSchema extends FlexFieldNodeSchema<string, infer TField extends FlexFieldSchema> ? InsertableFlexField<TField> : TSchema extends FlexMapNodeSchema<string, infer TField extends FlexFieldSchema> ? {
|
|
1003
993
|
readonly [P in string]: InsertableFlexField<TField>;
|
|
1004
|
-
} : EmptyObject, TSchema extends LeafNodeSchema<string, infer TValueSchema> ? TValueSchema : undefined, TSchema["name"]>>;
|
|
994
|
+
} : EmptyObject, TSchema extends LeafNodeSchema<string, infer TValueSchema extends ValueSchema> ? TValueSchema : undefined, TSchema["name"]>>;
|
|
1005
995
|
|
|
1006
996
|
// @public
|
|
1007
997
|
export type InsertableObjectFromSchemaRecord<T extends RestrictiveReadonlyRecord<string, ImplicitFieldSchema>> = {
|
|
@@ -1014,10 +1004,10 @@ export type InsertableObjectFromSchemaRecordUnsafe<T extends Unenforced<Restrict
|
|
|
1014
1004
|
};
|
|
1015
1005
|
|
|
1016
1006
|
// @public
|
|
1017
|
-
export type InsertableTreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind> : TSchema extends ImplicitAllowedTypes ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : unknown;
|
|
1007
|
+
export type InsertableTreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true> : TSchema extends ImplicitAllowedTypes ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : unknown;
|
|
1018
1008
|
|
|
1019
1009
|
// @public
|
|
1020
|
-
export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind> : InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema>;
|
|
1010
|
+
export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, true> : InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema>;
|
|
1021
1011
|
|
|
1022
1012
|
// @public
|
|
1023
1013
|
export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? InsertableTypedNode<TSchema> : TSchema extends AllowedTypes ? InsertableTypedNode<FlexListToUnion<TSchema>> : never;
|
|
@@ -1035,6 +1025,10 @@ export type InsertableTypedNodeUnsafe<T extends Unenforced<TreeNodeSchema>> = Un
|
|
|
1035
1025
|
implicitlyConstructable: true;
|
|
1036
1026
|
} ? NodeBuilderDataUnsafe<T> : never);
|
|
1037
1027
|
|
|
1028
|
+
// @public
|
|
1029
|
+
export interface InternalTreeNode extends ErasedType<"@fluidframework/tree.InternalTreeNode"> {
|
|
1030
|
+
}
|
|
1031
|
+
|
|
1038
1032
|
// @internal
|
|
1039
1033
|
export interface Invariant<in out T> extends Contravariant<T>, Covariant<T> {
|
|
1040
1034
|
}
|
|
@@ -1089,7 +1083,7 @@ export interface ITransaction {
|
|
|
1089
1083
|
}
|
|
1090
1084
|
|
|
1091
1085
|
// @public
|
|
1092
|
-
export interface ITree extends
|
|
1086
|
+
export interface ITree extends IFluidLoadable {
|
|
1093
1087
|
schematize<TRoot extends ImplicitFieldSchema>(config: TreeConfiguration<TRoot>): TreeView<TRoot>;
|
|
1094
1088
|
}
|
|
1095
1089
|
|
|
@@ -1282,7 +1276,7 @@ export interface Named<TName> {
|
|
|
1282
1276
|
}
|
|
1283
1277
|
|
|
1284
1278
|
// @internal
|
|
1285
|
-
export type NameFromBranded<T extends BrandedType<unknown,
|
|
1279
|
+
export type NameFromBranded<T extends BrandedType<unknown, unknown>> = T extends BrandedType<unknown, infer Name> ? Name : never;
|
|
1286
1280
|
|
|
1287
1281
|
// @internal
|
|
1288
1282
|
export type NestedMap<Key1, Key2, Value> = Map<Key1, Map<Key2, Value>>;
|
|
@@ -1317,19 +1311,20 @@ export type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T exten
|
|
|
1317
1311
|
// @internal
|
|
1318
1312
|
export type NodeIndex = number;
|
|
1319
1313
|
|
|
1320
|
-
// @
|
|
1321
|
-
export
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1314
|
+
// @public
|
|
1315
|
+
export interface NodeInDocumentConstraint {
|
|
1316
|
+
// (undocumented)
|
|
1317
|
+
node: TreeNode;
|
|
1318
|
+
// (undocumented)
|
|
1319
|
+
type: "nodeInDocument";
|
|
1325
1320
|
}
|
|
1326
1321
|
|
|
1327
1322
|
// @internal
|
|
1328
|
-
export interface
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1323
|
+
export interface NodeKeyManager {
|
|
1324
|
+
generateLocalNodeKey(): LocalNodeKey;
|
|
1325
|
+
localizeNodeKey(key: StableNodeKey): LocalNodeKey;
|
|
1326
|
+
stabilizeNodeKey(key: LocalNodeKey): StableNodeKey;
|
|
1327
|
+
tryLocalizeNodeKey(key: string): LocalNodeKey | undefined;
|
|
1333
1328
|
}
|
|
1334
1329
|
|
|
1335
1330
|
// @public
|
|
@@ -1383,7 +1378,7 @@ export class ObjectNodeStoredSchema extends TreeNodeStoredSchema {
|
|
|
1383
1378
|
export function oneFromSet<T>(set: ReadonlySet<T> | undefined): T | undefined;
|
|
1384
1379
|
|
|
1385
1380
|
// @internal
|
|
1386
|
-
export type Opaque<T extends Brand<any,
|
|
1381
|
+
export type Opaque<T extends Brand<any, unknown>> = T extends BrandedType<infer ValueType, infer Name> ? BrandedType<ValueType, Name> : never;
|
|
1387
1382
|
|
|
1388
1383
|
// @internal (undocumented)
|
|
1389
1384
|
export interface Optional extends FlexFieldKind<"Optional", Multiplicity.Optional> {
|
|
@@ -1486,7 +1481,7 @@ export const reservedObjectNodeFieldPropertyNamePrefixes: readonly ["set", "boxe
|
|
|
1486
1481
|
export type ReservedObjectNodeFieldPropertyNames = (typeof reservedObjectNodeFieldPropertyNames)[number];
|
|
1487
1482
|
|
|
1488
1483
|
// @internal
|
|
1489
|
-
export const reservedObjectNodeFieldPropertyNames: readonly ["anchorNode", "constructor", "context", "is", "on", "parentField", "schema", "treeStatus", "tryGetField", "type", "value", "
|
|
1484
|
+
export const reservedObjectNodeFieldPropertyNames: readonly ["anchorNode", "constructor", "context", "is", "on", "parentField", "schema", "treeStatus", "tryGetField", "type", "value", "boxedIterator", "iterator", "getBoxed"];
|
|
1490
1485
|
|
|
1491
1486
|
// @public
|
|
1492
1487
|
export type RestrictiveReadonlyRecord<K extends symbol | string, T> = {
|
|
@@ -1513,6 +1508,9 @@ export enum RevertibleStatus {
|
|
|
1513
1508
|
// @internal
|
|
1514
1509
|
export type RevisionTag = SessionSpaceCompressedId | "root";
|
|
1515
1510
|
|
|
1511
|
+
// @public
|
|
1512
|
+
export const rollback: unique symbol;
|
|
1513
|
+
|
|
1516
1514
|
// @internal
|
|
1517
1515
|
export interface RootField {
|
|
1518
1516
|
// (undocumented)
|
|
@@ -1528,6 +1526,23 @@ export const rootFieldKey: FieldKey;
|
|
|
1528
1526
|
// @internal
|
|
1529
1527
|
export function runSynchronous(view: ITreeCheckout, transaction: (view: ITreeCheckout) => TransactionResult | void): TransactionResult;
|
|
1530
1528
|
|
|
1529
|
+
// @public
|
|
1530
|
+
export interface RunTransaction {
|
|
1531
|
+
<TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult): TResult;
|
|
1532
|
+
<TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult): TResult;
|
|
1533
|
+
<TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult | typeof rollback): TResult | typeof rollback;
|
|
1534
|
+
<TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback): TResult | typeof rollback;
|
|
1535
|
+
<TNode extends TreeNode>(node: TNode, transaction: (node: TNode) => void): void;
|
|
1536
|
+
<TView extends TreeView<ImplicitFieldSchema>>(tree: TView, transaction: (root: TView["root"]) => void): void;
|
|
1537
|
+
<TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult, preconditions?: TransactionConstraint[]): TResult;
|
|
1538
|
+
<TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult, preconditions?: TransactionConstraint[]): TResult;
|
|
1539
|
+
<TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult | typeof rollback, preconditions?: TransactionConstraint[]): TResult | typeof rollback;
|
|
1540
|
+
<TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback, preconditions?: TransactionConstraint[]): TResult | typeof rollback;
|
|
1541
|
+
<TNode extends TreeNode>(node: TNode, transaction: (node: TNode) => void, preconditions?: TransactionConstraint[]): void;
|
|
1542
|
+
<TView extends TreeView<ImplicitFieldSchema>>(tree: TView, transaction: (root: TView["root"]) => void, preconditions?: TransactionConstraint[]): void;
|
|
1543
|
+
readonly rollback: typeof rollback;
|
|
1544
|
+
}
|
|
1545
|
+
|
|
1531
1546
|
// @internal
|
|
1532
1547
|
export class SchemaBuilderBase<TScope extends string, TDefaultKind extends FlexFieldKind, TName extends number | string = string> {
|
|
1533
1548
|
constructor(defaultKind: TDefaultKind, options: SchemaBuilderOptions<TScope>);
|
|
@@ -1585,8 +1600,8 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
|
|
|
1585
1600
|
[Symbol.iterator](): Iterator<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
|
|
1586
1601
|
}, false, T>;
|
|
1587
1602
|
readonly boolean: TreeNodeSchema<"com.fluidframework.leaf.boolean", NodeKind.Leaf, boolean, boolean>;
|
|
1588
|
-
readonly handle: TreeNodeSchema<"com.fluidframework.leaf.handle", NodeKind.Leaf, IFluidHandle<
|
|
1589
|
-
get identifier(): FieldSchema<FieldKind.Identifier>;
|
|
1603
|
+
readonly handle: TreeNodeSchema<"com.fluidframework.leaf.handle", NodeKind.Leaf, IFluidHandle<unknown>, IFluidHandle<unknown>>;
|
|
1604
|
+
get identifier(): FieldSchema<FieldKind.Identifier, typeof SchemaFactory.string>;
|
|
1590
1605
|
map<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchema<ScopedSchemaName<TScope, `Map<${string}>`>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, `Map<${string}>`>>, Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T>]>, true, T>;
|
|
1591
1606
|
map<Name extends TName, const T extends ImplicitAllowedTypes>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, Name>>, Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T>]>, true, T>;
|
|
1592
1607
|
mapRecursive<Name extends TName, const T extends Unenforced<ImplicitAllowedTypes>>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, TreeMapNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>>, {
|
|
@@ -1599,9 +1614,10 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
|
|
|
1599
1614
|
readonly number: TreeNodeSchema<"com.fluidframework.leaf.number", NodeKind.Leaf, number, number>;
|
|
1600
1615
|
object<const Name extends TName, const T extends RestrictiveReadonlyRecord<string, ImplicitFieldSchema>>(name: Name, fields: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNode<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecord<T>, true, T>;
|
|
1601
1616
|
objectRecursive<const Name extends TName, const T extends Unenforced<RestrictiveReadonlyRecord<string, ImplicitFieldSchema>>>(name: Name, t: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecordUnsafe<T>, false, T>;
|
|
1602
|
-
optional<const T extends ImplicitAllowedTypes>(t: T, props?: FieldProps): FieldSchema<FieldKind.Optional, T>;
|
|
1603
|
-
optionalRecursive<const T extends Unenforced<
|
|
1604
|
-
required<const T extends ImplicitAllowedTypes>(t: T, props?: FieldProps): FieldSchema<FieldKind.Required, T>;
|
|
1617
|
+
optional<const T extends ImplicitAllowedTypes>(t: T, props?: Omit<FieldProps, "defaultProvider">): FieldSchema<FieldKind.Optional, T>;
|
|
1618
|
+
optionalRecursive<const T extends Unenforced<ImplicitAllowedTypes>>(t: T, props?: Omit<FieldProps, "defaultProvider">): FieldSchemaUnsafe<FieldKind.Optional, T>;
|
|
1619
|
+
required<const T extends ImplicitAllowedTypes>(t: T, props?: Omit<FieldProps, "defaultProvider">): FieldSchema<FieldKind.Required, T>;
|
|
1620
|
+
requiredRecursive<const T extends Unenforced<ImplicitAllowedTypes>>(t: T, props?: Omit<FieldProps, "defaultProvider">): FieldSchemaUnsafe<FieldKind.Required, T>;
|
|
1605
1621
|
// (undocumented)
|
|
1606
1622
|
readonly scope: TScope;
|
|
1607
1623
|
readonly string: TreeNodeSchema<"com.fluidframework.leaf.string", NodeKind.Leaf, string, string>;
|
|
@@ -1685,19 +1701,6 @@ export interface SharedTreeContentSnapshot {
|
|
|
1685
1701
|
readonly tree: JsonableTree[];
|
|
1686
1702
|
}
|
|
1687
1703
|
|
|
1688
|
-
// @internal
|
|
1689
|
-
export class SharedTreeFactory implements IChannelFactory<ISharedTree> {
|
|
1690
|
-
constructor(options?: SharedTreeOptions);
|
|
1691
|
-
// (undocumented)
|
|
1692
|
-
readonly attributes: IChannelAttributes;
|
|
1693
|
-
// (undocumented)
|
|
1694
|
-
create(runtime: IFluidDataStoreRuntime, id: string): ISharedTree;
|
|
1695
|
-
// (undocumented)
|
|
1696
|
-
load(runtime: IFluidDataStoreRuntime, id: string, services: IChannelServices, channelAttributes: Readonly<IChannelAttributes>): Promise<ISharedTree>;
|
|
1697
|
-
// (undocumented)
|
|
1698
|
-
readonly type: string;
|
|
1699
|
-
}
|
|
1700
|
-
|
|
1701
1704
|
// @internal
|
|
1702
1705
|
export interface SharedTreeFormatOptions {
|
|
1703
1706
|
formatVersion: SharedTreeFormatVersion[keyof SharedTreeFormatVersion];
|
|
@@ -1707,6 +1710,7 @@ export interface SharedTreeFormatOptions {
|
|
|
1707
1710
|
// @internal
|
|
1708
1711
|
export const SharedTreeFormatVersion: {
|
|
1709
1712
|
readonly v1: 1;
|
|
1713
|
+
readonly v2: 2;
|
|
1710
1714
|
};
|
|
1711
1715
|
|
|
1712
1716
|
// @internal
|
|
@@ -1766,6 +1770,9 @@ readonly recursive: FieldSchemaUnsafe<FieldKind.Optional, readonly [() => TreeNo
|
|
|
1766
1770
|
readonly number: TreeNodeSchema<"com.fluidframework.leaf.number", NodeKind.Leaf, number, number>;
|
|
1767
1771
|
}>;
|
|
1768
1772
|
|
|
1773
|
+
// @public
|
|
1774
|
+
export type TransactionConstraint = NodeInDocumentConstraint;
|
|
1775
|
+
|
|
1769
1776
|
// @internal
|
|
1770
1777
|
export enum TransactionResult {
|
|
1771
1778
|
Abort = 0,
|
|
@@ -1786,8 +1793,7 @@ export interface TreeAdapter {
|
|
|
1786
1793
|
// @public
|
|
1787
1794
|
export interface TreeApi extends TreeNodeApi {
|
|
1788
1795
|
contains(node: TreeNode, other: TreeNode): boolean;
|
|
1789
|
-
runTransaction
|
|
1790
|
-
runTransaction<TView extends TreeView<ImplicitFieldSchema>>(tree: TView, transaction: (root: TView["root"]) => void | "rollback"): void;
|
|
1796
|
+
readonly runTransaction: RunTransaction;
|
|
1791
1797
|
}
|
|
1792
1798
|
|
|
1793
1799
|
// @public
|
|
@@ -1801,9 +1807,9 @@ export const TreeArrayNode: {
|
|
|
1801
1807
|
|
|
1802
1808
|
// @public
|
|
1803
1809
|
export interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom> extends ReadonlyArray<T>, TreeNode {
|
|
1804
|
-
insertAt(index: number, ...value: (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
1805
|
-
insertAtEnd(...value: (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
1806
|
-
insertAtStart(...value: (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
1810
|
+
insertAt(index: number, ...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
1811
|
+
insertAtEnd(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
1812
|
+
insertAtStart(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
1807
1813
|
moveRangeToEnd(sourceStart: number, sourceEnd: number): void;
|
|
1808
1814
|
moveRangeToEnd(sourceStart: number, sourceEnd: number, source: TMoveFrom): void;
|
|
1809
1815
|
moveRangeToIndex(index: number, sourceStart: number, sourceEnd: number): void;
|
|
@@ -1857,10 +1863,10 @@ export interface TreeDataContext {
|
|
|
1857
1863
|
}
|
|
1858
1864
|
|
|
1859
1865
|
// @public
|
|
1860
|
-
export type TreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypes<Types>, Kind> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : unknown;
|
|
1866
|
+
export type TreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypes<Types>, Kind, false> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : unknown;
|
|
1861
1867
|
|
|
1862
1868
|
// @public
|
|
1863
|
-
export type TreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : unknown;
|
|
1869
|
+
export type TreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, false> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : unknown;
|
|
1864
1870
|
|
|
1865
1871
|
// @internal
|
|
1866
1872
|
export interface TreeFieldStoredSchema {
|
|
@@ -1902,16 +1908,17 @@ export const enum TreeNavigationResult {
|
|
|
1902
1908
|
// @public
|
|
1903
1909
|
export abstract class TreeNode implements WithType {
|
|
1904
1910
|
abstract get [type](): string;
|
|
1911
|
+
protected constructor();
|
|
1905
1912
|
}
|
|
1906
1913
|
|
|
1907
1914
|
// @public
|
|
1908
1915
|
export interface TreeNodeApi {
|
|
1909
|
-
is<TSchema extends
|
|
1916
|
+
is<TSchema extends ImplicitAllowedTypes>(value: unknown, schema: TSchema): value is TreeNodeFromImplicitAllowedTypes<TSchema>;
|
|
1910
1917
|
key(node: TreeNode): string | number;
|
|
1911
1918
|
on<K extends keyof TreeChangeEvents>(node: TreeNode, eventName: K, listener: TreeChangeEvents[K]): () => void;
|
|
1912
1919
|
parent(node: TreeNode): TreeNode | undefined;
|
|
1913
1920
|
schema<T extends TreeNode | TreeLeafValue>(node: T): TreeNodeSchema<string, NodeKind, unknown, T>;
|
|
1914
|
-
shortId(node: TreeNode): number | undefined;
|
|
1921
|
+
shortId(node: TreeNode): number | string | undefined;
|
|
1915
1922
|
readonly status: (node: TreeNode) => TreeStatus;
|
|
1916
1923
|
}
|
|
1917
1924
|
|
|
@@ -1944,7 +1951,7 @@ export abstract class TreeNodeSchemaBase<const out Name extends string = string,
|
|
|
1944
1951
|
// @public
|
|
1945
1952
|
export interface TreeNodeSchemaClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode = unknown, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
|
|
1946
1953
|
// @sealed
|
|
1947
|
-
new (data: TInsertable): Unhydrated<TNode>;
|
|
1954
|
+
new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
|
|
1948
1955
|
}
|
|
1949
1956
|
|
|
1950
1957
|
// @public
|
|
@@ -2096,7 +2103,7 @@ export interface ValueFieldEditBuilder {
|
|
|
2096
2103
|
}
|
|
2097
2104
|
|
|
2098
2105
|
// @internal
|
|
2099
|
-
export type ValueFromBranded<T extends BrandedType<unknown,
|
|
2106
|
+
export type ValueFromBranded<T extends BrandedType<unknown, unknown>> = T extends BrandedType<infer ValueType, unknown> ? ValueType : never;
|
|
2100
2107
|
|
|
2101
2108
|
// @internal
|
|
2102
2109
|
export enum ValueSchema {
|
package/beta.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/*
|
|
7
|
+
* THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
|
8
|
+
* Generated by "flub generate entrypoints" in @fluidframework/build-tools.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
export * from "./lib/beta.js";
|