@fluidframework/tree 2.102.0 → 2.110.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +65 -0
- package/api-report/tree.alpha.api.md +12 -3
- package/api-report/tree.beta.api.md +11 -3
- package/api-report/tree.legacy.beta.api.md +11 -3
- package/dist/codec/versioned/format.d.ts +5 -4
- package/dist/codec/versioned/format.d.ts.map +1 -1
- package/dist/codec/versioned/format.js +4 -3
- package/dist/codec/versioned/format.js.map +1 -1
- package/dist/core/rebase/types.d.ts +4 -3
- package/dist/core/rebase/types.d.ts.map +1 -1
- package/dist/core/rebase/types.js +5 -4
- package/dist/core/rebase/types.js.map +1 -1
- package/dist/core/schema-stored/formatV1.d.ts +16 -15
- package/dist/core/schema-stored/formatV1.d.ts.map +1 -1
- package/dist/core/schema-stored/formatV1.js +9 -8
- package/dist/core/schema-stored/formatV1.js.map +1 -1
- package/dist/core/schema-stored/formatV2.d.ts +29 -28
- package/dist/core/schema-stored/formatV2.d.ts.map +1 -1
- package/dist/core/schema-stored/formatV2.js +11 -10
- package/dist/core/schema-stored/formatV2.js.map +1 -1
- package/dist/core/schema-stored/index.js +3 -25
- package/dist/core/schema-stored/index.js.map +1 -1
- package/dist/core/tree/anchorSet.js +4 -8
- package/dist/core/tree/anchorSet.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexFormatCommon.d.ts +11 -10
- package/dist/core/tree/detachedFieldIndexFormatCommon.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexFormatCommon.js +11 -10
- package/dist/core/tree/detachedFieldIndexFormatCommon.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexFormatV2.d.ts +7 -6
- package/dist/core/tree/detachedFieldIndexFormatV2.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexFormatV2.js +3 -2
- package/dist/core/tree/detachedFieldIndexFormatV2.js.map +1 -1
- package/dist/core/tree/persistedTreeTextFormat.d.ts +19 -18
- package/dist/core/tree/persistedTreeTextFormat.d.ts.map +1 -1
- package/dist/core/tree/persistedTreeTextFormat.js +11 -10
- package/dist/core/tree/persistedTreeTextFormat.js.map +1 -1
- package/dist/entrypoints/internal.js +2 -15
- package/dist/entrypoints/internal.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkTree.js +1 -1
- package/dist/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkedForest.js +7 -11
- package/dist/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/format/formatGeneric.d.ts +13 -12
- package/dist/feature-libraries/chunked-forest/codec/format/formatGeneric.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/format/formatGeneric.js +14 -13
- package/dist/feature-libraries/chunked-forest/codec/format/formatGeneric.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/format/formatV1.d.ts +36 -35
- package/dist/feature-libraries/chunked-forest/codec/format/formatV1.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/format/formatV1.js +19 -18
- package/dist/feature-libraries/chunked-forest/codec/format/formatV1.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/format/formatV2.d.ts +26 -25
- package/dist/feature-libraries/chunked-forest/codec/format/formatV2.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/format/formatV2.js +5 -4
- package/dist/feature-libraries/chunked-forest/codec/format/formatV2.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/format/formatVText.d.ts +24 -23
- package/dist/feature-libraries/chunked-forest/codec/format/formatVText.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/format/formatVText.js +8 -7
- package/dist/feature-libraries/chunked-forest/codec/format/formatVText.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/uniformChunk.d.ts +66 -14
- package/dist/feature-libraries/chunked-forest/uniformChunk.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/uniformChunk.js +101 -36
- package/dist/feature-libraries/chunked-forest/uniformChunk.js.map +1 -1
- package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/defaultEditBuilder.js +36 -14
- package/dist/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyEntity.js +9 -19
- package/dist/feature-libraries/flex-tree/lazyEntity.js.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyNode.js +3 -13
- package/dist/feature-libraries/flex-tree/lazyNode.js.map +1 -1
- package/dist/feature-libraries/forest-summary/formatCommon.d.ts +6 -5
- package/dist/feature-libraries/forest-summary/formatCommon.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/formatCommon.js +4 -3
- package/dist/feature-libraries/forest-summary/formatCommon.js.map +1 -1
- package/dist/feature-libraries/index.js +2 -24
- package/dist/feature-libraries/index.js.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKindFormat.d.ts +4 -3
- package/dist/feature-libraries/modular-schema/genericFieldKindFormat.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKindFormat.js +4 -3
- package/dist/feature-libraries/modular-schema/genericFieldKindFormat.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js +10 -30
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFormatV1.d.ts +45 -44
- package/dist/feature-libraries/modular-schema/modularChangeFormatV1.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFormatV1.js +26 -25
- package/dist/feature-libraries/modular-schema/modularChangeFormatV1.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFormatV2.d.ts +23 -22
- package/dist/feature-libraries/modular-schema/modularChangeFormatV2.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFormatV2.js +7 -6
- package/dist/feature-libraries/modular-schema/modularChangeFormatV2.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts +0 -5
- 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/object-forest/objectForest.js +11 -55
- package/dist/feature-libraries/object-forest/objectForest.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.d.ts +9 -8
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.js +9 -8
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV2.d.ts +14 -13
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV2.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV2.js +12 -11
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV2.js.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeFormat.d.ts +5 -4
- package/dist/feature-libraries/schema-edits/schemaChangeFormat.d.ts.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeFormat.js +3 -2
- package/dist/feature-libraries/schema-edits/schemaChangeFormat.js.map +1 -1
- package/dist/feature-libraries/schema-index/formatV1.d.ts +15 -14
- package/dist/feature-libraries/schema-index/formatV1.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/formatV1.js +5 -4
- package/dist/feature-libraries/schema-index/formatV1.js.map +1 -1
- package/dist/feature-libraries/schema-index/formatV2.d.ts +20 -19
- package/dist/feature-libraries/schema-index/formatV2.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/formatV2.js +5 -4
- package/dist/feature-libraries/schema-index/formatV2.js.map +1 -1
- package/dist/feature-libraries/sequence-field/compose.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/compose.js +1 -3
- package/dist/feature-libraries/sequence-field/compose.js.map +1 -1
- package/dist/feature-libraries/sequence-field/formatV1.d.ts +283 -282
- package/dist/feature-libraries/sequence-field/formatV1.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/formatV1.js +41 -40
- package/dist/feature-libraries/sequence-field/formatV1.js.map +1 -1
- package/dist/feature-libraries/sequence-field/formatV2.d.ts +180 -179
- package/dist/feature-libraries/sequence-field/formatV2.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/formatV2.js +33 -32
- package/dist/feature-libraries/sequence-field/formatV2.js.map +1 -1
- package/dist/feature-libraries/sequence-field/formatV3.d.ts +126 -125
- package/dist/feature-libraries/sequence-field/formatV3.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/formatV3.js +5 -4
- package/dist/feature-libraries/sequence-field/formatV3.js.map +1 -1
- package/dist/index.js +2 -24
- package/dist/index.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/shared-tree/schematizingTreeView.d.ts +1 -0
- package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/dist/shared-tree/schematizingTreeView.js +7 -41
- package/dist/shared-tree/schematizingTreeView.js.map +1 -1
- package/dist/shared-tree/sharedTree.d.ts +2 -3
- package/dist/shared-tree/sharedTree.d.ts.map +1 -1
- package/dist/shared-tree/sharedTree.js +6 -45
- package/dist/shared-tree/sharedTree.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFormat.d.ts +8 -7
- package/dist/shared-tree/sharedTreeChangeFormat.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFormat.js +6 -5
- package/dist/shared-tree/sharedTreeChangeFormat.js.map +1 -1
- package/dist/shared-tree/treeCheckout.d.ts +14 -5
- package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
- package/dist/shared-tree/treeCheckout.js +106 -136
- package/dist/shared-tree/treeCheckout.js.map +1 -1
- package/dist/shared-tree-core/branch.js +13 -17
- package/dist/shared-tree-core/branch.js.map +1 -1
- package/dist/shared-tree-core/editManager.d.ts +2 -2
- package/dist/shared-tree-core/editManager.d.ts.map +1 -1
- package/dist/shared-tree-core/editManager.js.map +1 -1
- package/dist/shared-tree-core/editManagerFormatCommons.d.ts +35 -34
- package/dist/shared-tree-core/editManagerFormatCommons.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerFormatCommons.js +17 -16
- package/dist/shared-tree-core/editManagerFormatCommons.js.map +1 -1
- package/dist/shared-tree-core/editManagerFormatV1toV4.d.ts +15 -15
- package/dist/shared-tree-core/editManagerFormatV1toV4.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerFormatV1toV4.js +11 -10
- package/dist/shared-tree-core/editManagerFormatV1toV4.js.map +1 -1
- package/dist/shared-tree-core/editManagerFormatVSharedBranches.d.ts +40 -40
- package/dist/shared-tree-core/editManagerFormatVSharedBranches.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerFormatVSharedBranches.js +5 -4
- package/dist/shared-tree-core/editManagerFormatVSharedBranches.js.map +1 -1
- package/dist/shared-tree-core/messageCodecVSharedBranches.d.ts.map +1 -1
- package/dist/shared-tree-core/messageCodecVSharedBranches.js +3 -2
- package/dist/shared-tree-core/messageCodecVSharedBranches.js.map +1 -1
- package/dist/shared-tree-core/messageFormatV1ToV4.d.ts +5 -5
- package/dist/shared-tree-core/messageFormatV1ToV4.d.ts.map +1 -1
- package/dist/shared-tree-core/messageFormatV1ToV4.js +9 -8
- package/dist/shared-tree-core/messageFormatV1ToV4.js.map +1 -1
- package/dist/shared-tree-core/messageFormatVSharedBranches.d.ts +7 -7
- package/dist/shared-tree-core/messageFormatVSharedBranches.d.ts.map +1 -1
- package/dist/shared-tree-core/messageFormatVSharedBranches.js +7 -6
- package/dist/shared-tree-core/messageFormatVSharedBranches.js.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.js +6 -43
- package/dist/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/dist/shared-tree-core/transaction.js +20 -30
- package/dist/shared-tree-core/transaction.js.map +1 -1
- package/dist/simple-tree/api/simpleSchemaCodec.js +2 -24
- package/dist/simple-tree/api/simpleSchemaCodec.js.map +1 -1
- package/dist/simple-tree/api/snapshotCompatibilityChecker.js +2 -24
- package/dist/simple-tree/api/snapshotCompatibilityChecker.js.map +1 -1
- package/dist/simple-tree/api/tree.d.ts +10 -0
- package/dist/simple-tree/api/tree.d.ts.map +1 -1
- package/dist/simple-tree/api/tree.js.map +1 -1
- package/dist/simple-tree/core/treeNodeKernel.d.ts +5 -0
- package/dist/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
- package/dist/simple-tree/core/treeNodeKernel.js +119 -105
- package/dist/simple-tree/core/treeNodeKernel.js.map +1 -1
- package/dist/simple-tree/core/unhydratedFlexTree.js +6 -10
- package/dist/simple-tree/core/unhydratedFlexTree.js.map +1 -1
- package/dist/simple-tree/leafNodeSchema.js +2 -12
- package/dist/simple-tree/leafNodeSchema.js.map +1 -1
- package/dist/simple-tree/node-kinds/array/arrayNode.js +2 -6
- package/dist/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
- package/dist/simple-tree/simpleSchemaFormatV1.d.ts +121 -120
- package/dist/simple-tree/simpleSchemaFormatV1.d.ts.map +1 -1
- package/dist/simple-tree/simpleSchemaFormatV1.js +32 -31
- package/dist/simple-tree/simpleSchemaFormatV1.js.map +1 -1
- package/dist/tableSchema.d.ts +50 -4
- package/dist/tableSchema.d.ts.map +1 -1
- package/dist/tableSchema.js +202 -106
- package/dist/tableSchema.js.map +1 -1
- package/dist/util/arrayUtilities.d.ts +20 -0
- package/dist/util/arrayUtilities.d.ts.map +1 -1
- package/dist/util/arrayUtilities.js +24 -1
- package/dist/util/arrayUtilities.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 +3 -2
- package/dist/util/index.js.map +1 -1
- package/dist/util/rangeMap.d.ts +13 -0
- package/dist/util/rangeMap.d.ts.map +1 -1
- package/dist/util/rangeMap.js +69 -8
- package/dist/util/rangeMap.js.map +1 -1
- package/dist/util/typeboxBrand.d.ts +1 -1
- package/dist/util/typeboxBrand.d.ts.map +1 -1
- package/dist/util/typeboxBrand.js +4 -3
- package/dist/util/typeboxBrand.js.map +1 -1
- package/dist/util/utils.d.ts +2 -2
- package/dist/util/utils.d.ts.map +1 -1
- package/dist/util/utils.js +3 -2
- package/dist/util/utils.js.map +1 -1
- package/eslint.config.mts +14 -0
- package/lib/codec/versioned/format.d.ts +5 -4
- package/lib/codec/versioned/format.d.ts.map +1 -1
- package/lib/codec/versioned/format.js +1 -1
- package/lib/codec/versioned/format.js.map +1 -1
- package/lib/core/rebase/types.d.ts +4 -3
- package/lib/core/rebase/types.d.ts.map +1 -1
- package/lib/core/rebase/types.js +1 -1
- package/lib/core/rebase/types.js.map +1 -1
- package/lib/core/schema-stored/formatV1.d.ts +16 -15
- package/lib/core/schema-stored/formatV1.d.ts.map +1 -1
- package/lib/core/schema-stored/formatV1.js +1 -1
- package/lib/core/schema-stored/formatV1.js.map +1 -1
- package/lib/core/schema-stored/formatV2.d.ts +29 -28
- package/lib/core/schema-stored/formatV2.d.ts.map +1 -1
- package/lib/core/schema-stored/formatV2.js +1 -1
- package/lib/core/schema-stored/formatV2.js.map +1 -1
- package/lib/core/tree/anchorSet.js +1 -5
- package/lib/core/tree/anchorSet.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexFormatCommon.d.ts +11 -10
- package/lib/core/tree/detachedFieldIndexFormatCommon.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexFormatCommon.js +1 -1
- package/lib/core/tree/detachedFieldIndexFormatCommon.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexFormatV2.d.ts +7 -6
- package/lib/core/tree/detachedFieldIndexFormatV2.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexFormatV2.js +1 -1
- package/lib/core/tree/detachedFieldIndexFormatV2.js.map +1 -1
- package/lib/core/tree/persistedTreeTextFormat.d.ts +19 -18
- package/lib/core/tree/persistedTreeTextFormat.d.ts.map +1 -1
- package/lib/core/tree/persistedTreeTextFormat.js +1 -1
- package/lib/core/tree/persistedTreeTextFormat.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkTree.js +1 -1
- package/lib/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkedForest.js +1 -5
- package/lib/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/format/formatGeneric.d.ts +13 -12
- package/lib/feature-libraries/chunked-forest/codec/format/formatGeneric.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/format/formatGeneric.js +1 -1
- package/lib/feature-libraries/chunked-forest/codec/format/formatGeneric.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/format/formatV1.d.ts +36 -35
- package/lib/feature-libraries/chunked-forest/codec/format/formatV1.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/format/formatV1.js +1 -1
- package/lib/feature-libraries/chunked-forest/codec/format/formatV1.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/format/formatV2.d.ts +26 -25
- package/lib/feature-libraries/chunked-forest/codec/format/formatV2.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/format/formatV2.js +1 -1
- package/lib/feature-libraries/chunked-forest/codec/format/formatV2.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/format/formatVText.d.ts +24 -23
- package/lib/feature-libraries/chunked-forest/codec/format/formatVText.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/format/formatVText.js +1 -1
- package/lib/feature-libraries/chunked-forest/codec/format/formatVText.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/uniformChunk.d.ts +66 -14
- package/lib/feature-libraries/chunked-forest/uniformChunk.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/uniformChunk.js +101 -36
- package/lib/feature-libraries/chunked-forest/uniformChunk.js.map +1 -1
- package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/defaultEditBuilder.js +36 -14
- package/lib/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyEntity.js +1 -11
- package/lib/feature-libraries/flex-tree/lazyEntity.js.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyNode.js +1 -11
- package/lib/feature-libraries/flex-tree/lazyNode.js.map +1 -1
- package/lib/feature-libraries/forest-summary/formatCommon.d.ts +6 -5
- package/lib/feature-libraries/forest-summary/formatCommon.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/formatCommon.js +1 -1
- package/lib/feature-libraries/forest-summary/formatCommon.js.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKindFormat.d.ts +4 -3
- package/lib/feature-libraries/modular-schema/genericFieldKindFormat.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKindFormat.js +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKindFormat.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js +10 -30
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFormatV1.d.ts +45 -44
- package/lib/feature-libraries/modular-schema/modularChangeFormatV1.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFormatV1.js +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFormatV1.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFormatV2.d.ts +23 -22
- package/lib/feature-libraries/modular-schema/modularChangeFormatV2.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFormatV2.js +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFormatV2.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts +0 -5
- 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/object-forest/objectForest.js +1 -45
- package/lib/feature-libraries/object-forest/objectForest.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV1.d.ts +9 -8
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV1.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV1.js +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV1.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV2.d.ts +14 -13
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV2.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV2.js +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV2.js.map +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeFormat.d.ts +5 -4
- package/lib/feature-libraries/schema-edits/schemaChangeFormat.d.ts.map +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeFormat.js +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeFormat.js.map +1 -1
- package/lib/feature-libraries/schema-index/formatV1.d.ts +15 -14
- package/lib/feature-libraries/schema-index/formatV1.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/formatV1.js +1 -1
- package/lib/feature-libraries/schema-index/formatV1.js.map +1 -1
- package/lib/feature-libraries/schema-index/formatV2.d.ts +20 -19
- package/lib/feature-libraries/schema-index/formatV2.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/formatV2.js +1 -1
- package/lib/feature-libraries/schema-index/formatV2.js.map +1 -1
- package/lib/feature-libraries/sequence-field/compose.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/compose.js +1 -3
- package/lib/feature-libraries/sequence-field/compose.js.map +1 -1
- package/lib/feature-libraries/sequence-field/formatV1.d.ts +283 -282
- package/lib/feature-libraries/sequence-field/formatV1.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/formatV1.js +1 -1
- package/lib/feature-libraries/sequence-field/formatV1.js.map +1 -1
- package/lib/feature-libraries/sequence-field/formatV2.d.ts +180 -179
- package/lib/feature-libraries/sequence-field/formatV2.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/formatV2.js +1 -1
- package/lib/feature-libraries/sequence-field/formatV2.js.map +1 -1
- package/lib/feature-libraries/sequence-field/formatV3.d.ts +126 -125
- package/lib/feature-libraries/sequence-field/formatV3.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/formatV3.js +1 -1
- package/lib/feature-libraries/sequence-field/formatV3.js.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/shared-tree/schematizingTreeView.d.ts +1 -0
- package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/lib/shared-tree/schematizingTreeView.js +4 -38
- package/lib/shared-tree/schematizingTreeView.js.map +1 -1
- package/lib/shared-tree/sharedTree.d.ts +2 -3
- package/lib/shared-tree/sharedTree.d.ts.map +1 -1
- package/lib/shared-tree/sharedTree.js +2 -41
- package/lib/shared-tree/sharedTree.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFormat.d.ts +8 -7
- package/lib/shared-tree/sharedTreeChangeFormat.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFormat.js +1 -1
- package/lib/shared-tree/sharedTreeChangeFormat.js.map +1 -1
- package/lib/shared-tree/treeCheckout.d.ts +14 -5
- package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
- package/lib/shared-tree/treeCheckout.js +63 -93
- package/lib/shared-tree/treeCheckout.js.map +1 -1
- package/lib/shared-tree-core/branch.js +1 -5
- package/lib/shared-tree-core/branch.js.map +1 -1
- package/lib/shared-tree-core/editManager.d.ts +2 -2
- package/lib/shared-tree-core/editManager.d.ts.map +1 -1
- package/lib/shared-tree-core/editManager.js.map +1 -1
- package/lib/shared-tree-core/editManagerFormatCommons.d.ts +35 -34
- package/lib/shared-tree-core/editManagerFormatCommons.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerFormatCommons.js +1 -1
- package/lib/shared-tree-core/editManagerFormatCommons.js.map +1 -1
- package/lib/shared-tree-core/editManagerFormatV1toV4.d.ts +15 -15
- package/lib/shared-tree-core/editManagerFormatV1toV4.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerFormatV1toV4.js +1 -1
- package/lib/shared-tree-core/editManagerFormatV1toV4.js.map +1 -1
- package/lib/shared-tree-core/editManagerFormatVSharedBranches.d.ts +40 -40
- package/lib/shared-tree-core/editManagerFormatVSharedBranches.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerFormatVSharedBranches.js +1 -1
- package/lib/shared-tree-core/editManagerFormatVSharedBranches.js.map +1 -1
- package/lib/shared-tree-core/messageCodecVSharedBranches.d.ts.map +1 -1
- package/lib/shared-tree-core/messageCodecVSharedBranches.js +1 -1
- package/lib/shared-tree-core/messageCodecVSharedBranches.js.map +1 -1
- package/lib/shared-tree-core/messageFormatV1ToV4.d.ts +5 -5
- package/lib/shared-tree-core/messageFormatV1ToV4.d.ts.map +1 -1
- package/lib/shared-tree-core/messageFormatV1ToV4.js +1 -1
- package/lib/shared-tree-core/messageFormatV1ToV4.js.map +1 -1
- package/lib/shared-tree-core/messageFormatVSharedBranches.d.ts +7 -7
- package/lib/shared-tree-core/messageFormatVSharedBranches.d.ts.map +1 -1
- package/lib/shared-tree-core/messageFormatVSharedBranches.js +1 -1
- package/lib/shared-tree-core/messageFormatVSharedBranches.js.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.js +1 -38
- package/lib/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/lib/shared-tree-core/transaction.js +1 -11
- package/lib/shared-tree-core/transaction.js.map +1 -1
- package/lib/simple-tree/api/tree.d.ts +10 -0
- package/lib/simple-tree/api/tree.d.ts.map +1 -1
- package/lib/simple-tree/api/tree.js.map +1 -1
- package/lib/simple-tree/core/treeNodeKernel.d.ts +5 -0
- package/lib/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
- package/lib/simple-tree/core/treeNodeKernel.js +36 -23
- package/lib/simple-tree/core/treeNodeKernel.js.map +1 -1
- package/lib/simple-tree/core/unhydratedFlexTree.js +1 -5
- package/lib/simple-tree/core/unhydratedFlexTree.js.map +1 -1
- package/lib/simple-tree/leafNodeSchema.js +1 -11
- package/lib/simple-tree/leafNodeSchema.js.map +1 -1
- package/lib/simple-tree/node-kinds/array/arrayNode.js +1 -5
- package/lib/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
- package/lib/simple-tree/simpleSchemaFormatV1.d.ts +121 -120
- package/lib/simple-tree/simpleSchemaFormatV1.d.ts.map +1 -1
- package/lib/simple-tree/simpleSchemaFormatV1.js +1 -1
- package/lib/simple-tree/simpleSchemaFormatV1.js.map +1 -1
- package/lib/tableSchema.d.ts +50 -4
- package/lib/tableSchema.d.ts.map +1 -1
- package/lib/tableSchema.js +171 -75
- package/lib/tableSchema.js.map +1 -1
- package/lib/util/arrayUtilities.d.ts +20 -0
- package/lib/util/arrayUtilities.d.ts.map +1 -1
- package/lib/util/arrayUtilities.js +22 -0
- package/lib/util/arrayUtilities.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/rangeMap.d.ts +13 -0
- package/lib/util/rangeMap.d.ts.map +1 -1
- package/lib/util/rangeMap.js +69 -8
- package/lib/util/rangeMap.js.map +1 -1
- package/lib/util/typeboxBrand.d.ts +1 -1
- 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 +2 -2
- package/lib/util/utils.d.ts.map +1 -1
- package/lib/util/utils.js +1 -1
- package/lib/util/utils.js.map +1 -1
- package/package.json +24 -23
- package/src/codec/versioned/format.ts +2 -1
- package/src/core/rebase/types.ts +1 -1
- package/src/core/schema-stored/formatV1.ts +2 -1
- package/src/core/schema-stored/formatV2.ts +2 -1
- package/src/core/tree/detachedFieldIndexFormatCommon.ts +2 -1
- package/src/core/tree/detachedFieldIndexFormatV2.ts +2 -1
- package/src/core/tree/persistedTreeTextFormat.ts +2 -1
- package/src/feature-libraries/chunked-forest/chunkTree.ts +3 -2
- package/src/feature-libraries/chunked-forest/codec/format/formatGeneric.ts +2 -1
- package/src/feature-libraries/chunked-forest/codec/format/formatV1.ts +2 -1
- package/src/feature-libraries/chunked-forest/codec/format/formatV2.ts +2 -1
- package/src/feature-libraries/chunked-forest/codec/format/formatVText.ts +2 -1
- package/src/feature-libraries/chunked-forest/uniformChunk.ts +131 -44
- package/src/feature-libraries/default-schema/defaultEditBuilder.ts +36 -14
- package/src/feature-libraries/forest-summary/formatCommon.ts +2 -1
- package/src/feature-libraries/modular-schema/genericFieldKindFormat.ts +2 -1
- package/src/feature-libraries/modular-schema/modularChangeFamily.ts +14 -47
- package/src/feature-libraries/modular-schema/modularChangeFormatV1.ts +2 -1
- package/src/feature-libraries/modular-schema/modularChangeFormatV2.ts +2 -1
- package/src/feature-libraries/modular-schema/modularChangeTypes.ts +0 -5
- package/src/feature-libraries/optional-field/optionalFieldChangeFormatV1.ts +2 -1
- package/src/feature-libraries/optional-field/optionalFieldChangeFormatV2.ts +2 -1
- package/src/feature-libraries/schema-edits/schemaChangeFormat.ts +2 -1
- package/src/feature-libraries/schema-index/formatV1.ts +2 -1
- package/src/feature-libraries/schema-index/formatV2.ts +2 -1
- package/src/feature-libraries/sequence-field/compose.ts +1 -4
- package/src/feature-libraries/sequence-field/formatV1.ts +2 -1
- package/src/feature-libraries/sequence-field/formatV2.ts +2 -1
- package/src/feature-libraries/sequence-field/formatV3.ts +2 -1
- package/src/packageVersion.ts +1 -1
- package/src/shared-tree/schematizingTreeView.ts +4 -0
- package/src/shared-tree/sharedTree.ts +3 -10
- package/src/shared-tree/sharedTreeChangeFormat.ts +2 -1
- package/src/shared-tree/treeCheckout.ts +61 -56
- package/src/shared-tree-core/editManager.ts +2 -2
- package/src/shared-tree-core/editManagerFormatCommons.ts +2 -1
- package/src/shared-tree-core/editManagerFormatV1toV4.ts +2 -1
- package/src/shared-tree-core/editManagerFormatVSharedBranches.ts +2 -1
- package/src/shared-tree-core/messageCodecVSharedBranches.ts +2 -1
- package/src/shared-tree-core/messageFormatV1ToV4.ts +2 -1
- package/src/shared-tree-core/messageFormatVSharedBranches.ts +2 -1
- package/src/simple-tree/api/tree.ts +11 -0
- package/src/simple-tree/core/treeNodeKernel.ts +39 -15
- package/src/simple-tree/simpleSchemaFormatV1.ts +2 -1
- package/src/tableSchema.ts +306 -80
- package/src/util/arrayUtilities.ts +35 -0
- package/src/util/index.ts +2 -0
- package/src/util/rangeMap.ts +108 -9
- package/src/util/typeboxBrand.ts +2 -1
- package/src/util/utils.ts +2 -1
- package/tsconfig.json +5 -0
|
@@ -3,53 +3,9 @@
|
|
|
3
3
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
7
|
-
var useValue = arguments.length > 2;
|
|
8
|
-
for (var i = 0; i < initializers.length; i++) {
|
|
9
|
-
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
10
|
-
}
|
|
11
|
-
return useValue ? value : void 0;
|
|
12
|
-
};
|
|
13
|
-
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
14
|
-
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
15
|
-
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
16
|
-
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
17
|
-
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
18
|
-
var _, done = false;
|
|
19
|
-
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
20
|
-
var context = {};
|
|
21
|
-
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
22
|
-
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
23
|
-
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
24
|
-
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
25
|
-
if (kind === "accessor") {
|
|
26
|
-
if (result === void 0) continue;
|
|
27
|
-
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
28
|
-
if (_ = accept(result.get)) descriptor.get = _;
|
|
29
|
-
if (_ = accept(result.set)) descriptor.set = _;
|
|
30
|
-
if (_ = accept(result.init)) initializers.unshift(_);
|
|
31
|
-
}
|
|
32
|
-
else if (_ = accept(result)) {
|
|
33
|
-
if (kind === "field") initializers.unshift(_);
|
|
34
|
-
else descriptor[key] = _;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
38
|
-
done = true;
|
|
39
|
-
};
|
|
40
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
41
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
42
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
43
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
44
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
45
|
-
};
|
|
46
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
47
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
48
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
49
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
50
|
-
};
|
|
51
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
52
7
|
exports.TreeCheckout = exports.assertValidConstraint = exports.addConstraintsToTransaction = exports.createTreeCheckout = void 0;
|
|
8
|
+
const tslib_1 = require("tslib");
|
|
53
9
|
const client_utils_1 = require("@fluid-internal/client-utils");
|
|
54
10
|
const internal_1 = require("@fluidframework/core-utils/internal");
|
|
55
11
|
const internal_2 = require("@fluidframework/id-compressor/internal");
|
|
@@ -129,7 +85,7 @@ function createTreeCheckout(idCompressor, mintRevisionTag, revisionTagCodec, arg
|
|
|
129
85
|
change: changeFamily.rebaser.compose([]),
|
|
130
86
|
revision: "root",
|
|
131
87
|
}, changeFamily, () => idCompressor.generateCompressedId());
|
|
132
|
-
return new TreeCheckout(branch, true, changeFamily, schema, forest, mintRevisionTag, revisionTagCodec, idCompressor, args?.removedRoots, args?.logger, breaker
|
|
88
|
+
return new TreeCheckout(branch, true, changeFamily, schema, forest, mintRevisionTag, revisionTagCodec, idCompressor, args?.removedRoots, args?.logger, breaker);
|
|
133
89
|
}
|
|
134
90
|
exports.createTreeCheckout = createTreeCheckout;
|
|
135
91
|
/**
|
|
@@ -226,8 +182,8 @@ let TreeCheckout = (() => {
|
|
|
226
182
|
/** True if and only if this checkout is for a branch which is persisted and shared with other clients. */
|
|
227
183
|
isSharedBranch, changeFamily, storedSchema, forest, mintRevisionTag, revisionTagCodec, idCompressor, _removedRoots = (0, index_js_2.makeDetachedFieldIndex)("repair", revisionTagCodec, idCompressor),
|
|
228
184
|
/** Optional logger for telemetry. */
|
|
229
|
-
logger, breaker = new index_js_6.Breakable("TreeCheckout")
|
|
230
|
-
this.isSharedBranch = (__runInitializers(this, _instanceExtraInitializers), isSharedBranch);
|
|
185
|
+
logger, breaker = new index_js_6.Breakable("TreeCheckout")) {
|
|
186
|
+
this.isSharedBranch = (tslib_1.__runInitializers(this, _instanceExtraInitializers), isSharedBranch);
|
|
231
187
|
this.changeFamily = changeFamily;
|
|
232
188
|
this.storedSchema = storedSchema;
|
|
233
189
|
this.forest = forest;
|
|
@@ -237,7 +193,6 @@ let TreeCheckout = (() => {
|
|
|
237
193
|
this._removedRoots = _removedRoots;
|
|
238
194
|
this.logger = logger;
|
|
239
195
|
this.breaker = breaker;
|
|
240
|
-
this.disposeForksAfterTransaction = disposeForksAfterTransaction;
|
|
241
196
|
this.disposed = false;
|
|
242
197
|
this.views = new Set();
|
|
243
198
|
/**
|
|
@@ -251,7 +206,7 @@ let TreeCheckout = (() => {
|
|
|
251
206
|
*/
|
|
252
207
|
this.revertibleCommitBranches = new Map();
|
|
253
208
|
_TreeCheckout_events.set(this, (0, client_utils_1.createEmitter)());
|
|
254
|
-
this.events = __classPrivateFieldGet(this, _TreeCheckout_events, "f");
|
|
209
|
+
this.events = tslib_1.__classPrivateFieldGet(this, _TreeCheckout_events, "f");
|
|
255
210
|
this.onAfterBranchChange = (event) => {
|
|
256
211
|
// The following logic allows revertibles to be generated for the change.
|
|
257
212
|
// Currently only appends (including merges and transaction commits) are supported.
|
|
@@ -275,7 +230,7 @@ let TreeCheckout = (() => {
|
|
|
275
230
|
throw new internal_3.UsageError("Cannot generate the same revertible more than once. Note that this can happen when multiple changed event listeners are registered.");
|
|
276
231
|
}
|
|
277
232
|
const revertible = this.createRevertible(revision, kind, this, onRevertibleDisposed, commitLabelTree);
|
|
278
|
-
this.revertibleCommitBranches.set(revision, __classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch.fork(commit));
|
|
233
|
+
this.revertibleCommitBranches.set(revision, tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch.fork(commit));
|
|
279
234
|
this.revertibles.add(revertible);
|
|
280
235
|
return revertible;
|
|
281
236
|
};
|
|
@@ -303,29 +258,33 @@ let TreeCheckout = (() => {
|
|
|
303
258
|
label: this.labelTreeNode?.label,
|
|
304
259
|
labels: buildLabelsSet(this.labelTreeNode),
|
|
305
260
|
};
|
|
306
|
-
|
|
261
|
+
this.emitChangedLocked(() => {
|
|
262
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_events, "f").emit("changed", metadata, getRevertible);
|
|
263
|
+
});
|
|
307
264
|
withinEventContext = false;
|
|
308
265
|
}
|
|
309
266
|
}
|
|
310
267
|
else if (this.isRemoteChangeEvent(event)) {
|
|
311
268
|
// TODO: figure out how to plumb through commit kind info for remote changes
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
269
|
+
this.emitChangedLocked(() => {
|
|
270
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_events, "f").emit("changed", {
|
|
271
|
+
isLocal: false,
|
|
272
|
+
kind: index_js_2.CommitKind.Default,
|
|
273
|
+
labels: new Set(),
|
|
274
|
+
});
|
|
316
275
|
});
|
|
317
276
|
}
|
|
318
277
|
};
|
|
319
278
|
this.onAfterChange = (event) => {
|
|
320
279
|
this.editLock.lock();
|
|
321
|
-
__classPrivateFieldGet(this, _TreeCheckout_events, "f").emit("beforeBatch", event);
|
|
280
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_events, "f").emit("beforeBatch", event);
|
|
322
281
|
if (event.change !== undefined) {
|
|
323
282
|
const revision = event.type === "rebase"
|
|
324
|
-
? __classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch.getHead().revision
|
|
283
|
+
? tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch.getHead().revision
|
|
325
284
|
: event.change.revision;
|
|
326
285
|
this.applyInternalChange(event.change.change, revision);
|
|
327
286
|
}
|
|
328
|
-
__classPrivateFieldGet(this, _TreeCheckout_events, "f").emit("afterBatch");
|
|
287
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_events, "f").emit("afterBatch");
|
|
329
288
|
this.editLock.unlock();
|
|
330
289
|
if (event.type === "append") {
|
|
331
290
|
for (const commit of event.newCommits) {
|
|
@@ -370,8 +329,8 @@ let TreeCheckout = (() => {
|
|
|
370
329
|
* The performance cost of maintaining this information is negligible.
|
|
371
330
|
*/
|
|
372
331
|
this.enrichmentStats = { batches: 0, diffs: 0, commitsEnriched: 0, refreshers: 0, forks: 0, applied: 0 };
|
|
373
|
-
__classPrivateFieldSet(this, _TreeCheckout_transaction, this.createTransactionStack(branch), "f");
|
|
374
|
-
this.editLock = new EditLock(__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranchEditor);
|
|
332
|
+
tslib_1.__classPrivateFieldSet(this, _TreeCheckout_transaction, this.createTransactionStack(branch), "f");
|
|
333
|
+
this.editLock = new EditLock(tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranchEditor);
|
|
375
334
|
this.registerForBranchEvents();
|
|
376
335
|
}
|
|
377
336
|
/**
|
|
@@ -479,24 +438,21 @@ let TreeCheckout = (() => {
|
|
|
479
438
|
return this._removedRoots;
|
|
480
439
|
}
|
|
481
440
|
registerForBranchEvents() {
|
|
482
|
-
__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch.events.on("afterChange", this.onAfterBranchChange);
|
|
483
|
-
__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranchEvents.on("afterChange", this.onAfterChange);
|
|
484
|
-
__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranchEvents.on("ancestryTrimmed", this.onAncestryTrimmed);
|
|
441
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch.events.on("afterChange", this.onAfterBranchChange);
|
|
442
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranchEvents.on("afterChange", this.onAfterChange);
|
|
443
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranchEvents.on("ancestryTrimmed", this.onAncestryTrimmed);
|
|
485
444
|
}
|
|
486
445
|
unregisterFromBranchEvents() {
|
|
487
|
-
__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch.events.off("afterChange", this.onAfterBranchChange);
|
|
488
|
-
__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranchEvents.off("afterChange", this.onAfterChange);
|
|
489
|
-
__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranchEvents.off("ancestryTrimmed", this.onAncestryTrimmed);
|
|
446
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch.events.off("afterChange", this.onAfterBranchChange);
|
|
447
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranchEvents.off("afterChange", this.onAfterChange);
|
|
448
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranchEvents.off("ancestryTrimmed", this.onAncestryTrimmed);
|
|
490
449
|
}
|
|
491
450
|
createTransactionStack(branch) {
|
|
492
451
|
return new index_js_4.SquashingTransactionStack(branch, this.mintRevisionTag, () => {
|
|
493
|
-
const disposeForks = this.disposeForksAfterTransaction
|
|
494
|
-
? trackForksForDisposal(this)
|
|
495
|
-
: undefined;
|
|
496
452
|
// When each transaction is started, make a restorable checkpoint of the current state of removed roots
|
|
497
453
|
const restoreRemovedRoots = this._removedRoots.createCheckpoint();
|
|
498
454
|
return (result, viewUpdate) => {
|
|
499
|
-
const newHead = __classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch.getHead();
|
|
455
|
+
const newHead = tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch.getHead();
|
|
500
456
|
switch (result) {
|
|
501
457
|
case index_js_4.TransactionResult.Abort: {
|
|
502
458
|
restoreRemovedRoots();
|
|
@@ -519,7 +475,6 @@ let TreeCheckout = (() => {
|
|
|
519
475
|
(0, internal_1.unreachableCase)(result);
|
|
520
476
|
}
|
|
521
477
|
}
|
|
522
|
-
disposeForks?.();
|
|
523
478
|
};
|
|
524
479
|
});
|
|
525
480
|
}
|
|
@@ -543,6 +498,31 @@ let TreeCheckout = (() => {
|
|
|
543
498
|
cursor.free();
|
|
544
499
|
}
|
|
545
500
|
}
|
|
501
|
+
/**
|
|
502
|
+
* Hold the `editLock` for the duration of `emit`, so that re-entrant edits, transactions,
|
|
503
|
+
* branch operations, etc. attempted from inside a `changed` listener throw the canonical
|
|
504
|
+
* "forbidden during a change event" {@link UsageError} via {@link EditLock.checkUnlocked}.
|
|
505
|
+
*
|
|
506
|
+
* @remarks
|
|
507
|
+
* Shared by both the local and remote `changed` emission paths in {@link TreeCheckout.onAfterBranchChange}.
|
|
508
|
+
* The `try`/`finally` ensures the lock is released even if a listener throws.
|
|
509
|
+
*/
|
|
510
|
+
emitChangedLocked(emit) {
|
|
511
|
+
this.editLock.lock();
|
|
512
|
+
try {
|
|
513
|
+
emit();
|
|
514
|
+
}
|
|
515
|
+
finally {
|
|
516
|
+
// TODO: any event that throws potentially leaves the code which triggered that event,
|
|
517
|
+
// and thus this checkout (and likely more) in a broken state.
|
|
518
|
+
// Unlocking this editLock prevents future use of this broken state from giving a confusing error in this case,
|
|
519
|
+
// however, a better approach would probably be to put something (this checkout and/or the editLock)
|
|
520
|
+
// into a broken state (using a properly scoped `Breakable`),
|
|
521
|
+
// likely by moving emitChangedLocked into EditLock, and having EditLock get a Breakable,
|
|
522
|
+
// and having the new emitChangedLocked use `Breakable.use`.
|
|
523
|
+
this.editLock.unlock();
|
|
524
|
+
}
|
|
525
|
+
}
|
|
546
526
|
/**
|
|
547
527
|
* Applies the given serialized change (as was produced via a `"changed"` event of another checkout) to this checkout.
|
|
548
528
|
*/
|
|
@@ -562,7 +542,7 @@ let TreeCheckout = (() => {
|
|
|
562
542
|
};
|
|
563
543
|
const decodedChange = this.changeFamily.codecs.resolve(4).decode(change, context);
|
|
564
544
|
// Apply the change to the branch, but _not_ the `activeBranch` - we do not support squashing serialized commits in a transaction.
|
|
565
|
-
__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch.apply((0, index_js_2.tagChange)(decodedChange, revision));
|
|
545
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch.apply((0, index_js_2.tagChange)(decodedChange, revision));
|
|
566
546
|
}
|
|
567
547
|
// #region TreeBranchAlpha
|
|
568
548
|
applyChange(change) {
|
|
@@ -586,6 +566,15 @@ let TreeCheckout = (() => {
|
|
|
586
566
|
}
|
|
587
567
|
mountTransaction(params, isAsync) {
|
|
588
568
|
this.checkNotDisposed();
|
|
569
|
+
// Starting a transaction is an edit, so it is forbidden from within a change-event
|
|
570
|
+
// callback (where the edit lock is held), the same as direct edits. For the async
|
|
571
|
+
// entry point this throw is captured as a rejected promise by the `async` wrapper.
|
|
572
|
+
//
|
|
573
|
+
// Note: because runTransaction/runTransactionAsync are `@breakingMethod`, this throw also
|
|
574
|
+
// puts the checkout into a broken state (unlike a direct edit, which throws recoverably).
|
|
575
|
+
// That is the same pre-existing broken-state limitation tracked by the TODO in
|
|
576
|
+
// `emitChangedLocked`, not something specific to transactions.
|
|
577
|
+
this.editLock.checkUnlocked("Running a transaction");
|
|
589
578
|
if (isAsync && this.transaction.size > 0) {
|
|
590
579
|
throw new internal_3.UsageError("An asynchronous transaction cannot be started while another transaction is already in progress.");
|
|
591
580
|
}
|
|
@@ -704,7 +693,7 @@ let TreeCheckout = (() => {
|
|
|
704
693
|
throw new internal_3.UsageError("Unable to clone a revertible that has been disposed.");
|
|
705
694
|
}
|
|
706
695
|
const commitToRevert = revertibleBranch.getHead();
|
|
707
|
-
const activeBranchHead = __classPrivateFieldGet(targetCheckout, _TreeCheckout_transaction, "f").activeBranch.getHead();
|
|
696
|
+
const activeBranchHead = tslib_1.__classPrivateFieldGet(targetCheckout, _TreeCheckout_transaction, "f").activeBranch.getHead();
|
|
708
697
|
if ((0, index_js_2.isAncestor)(commitToRevert, activeBranchHead, true) === false) {
|
|
709
698
|
throw new internal_3.UsageError("Cannot clone revertible for a commit that is not present on the given branch.");
|
|
710
699
|
}
|
|
@@ -740,7 +729,7 @@ let TreeCheckout = (() => {
|
|
|
740
729
|
return this.forest.anchors.locate(anchor);
|
|
741
730
|
}
|
|
742
731
|
get transaction() {
|
|
743
|
-
return __classPrivateFieldGet(this, _TreeCheckout_transaction, "f");
|
|
732
|
+
return tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f");
|
|
744
733
|
}
|
|
745
734
|
fork() {
|
|
746
735
|
this.checkNotDisposed("The parent branch has already been disposed and can no longer create new branches.");
|
|
@@ -748,26 +737,25 @@ let TreeCheckout = (() => {
|
|
|
748
737
|
if (this.transaction.size > 0) {
|
|
749
738
|
throw new internal_3.UsageError("A view cannot be forked while it has a pending transaction.");
|
|
750
739
|
}
|
|
751
|
-
|
|
752
|
-
const branch = __classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch.fork();
|
|
740
|
+
const branch = tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch.fork();
|
|
753
741
|
const storedSchema = this.storedSchema.clone();
|
|
754
742
|
const forkBreaker = new index_js_6.Breakable("TreeCheckout");
|
|
755
743
|
const forest = this.forest.clone(storedSchema, forkBreaker);
|
|
756
|
-
const checkout = new _a(branch, false, this.changeFamily, storedSchema, forest, this.mintRevisionTag, this.revisionTagCodec, this.idCompressor, this._removedRoots.clone(), this.logger, forkBreaker
|
|
757
|
-
__classPrivateFieldGet(this, _TreeCheckout_events, "f").emit("fork", checkout);
|
|
744
|
+
const checkout = new _a(branch, false, this.changeFamily, storedSchema, forest, this.mintRevisionTag, this.revisionTagCodec, this.idCompressor, this._removedRoots.clone(), this.logger, forkBreaker);
|
|
745
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_events, "f").emit("fork", checkout);
|
|
758
746
|
return checkout;
|
|
759
747
|
}
|
|
760
748
|
switchBranch(branch) {
|
|
761
749
|
// TODO: Dispose old branch, if necessary
|
|
762
|
-
(0, internal_1.assert)(__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").size === 0, 0xc55 /* Cannot switch branches during a transaction */);
|
|
763
|
-
const diff = (0, index_js_2.diffHistories)(this.changeFamily.rebaser, __classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch.getHead(), branch.getHead(), this.mintRevisionTag);
|
|
750
|
+
(0, internal_1.assert)(tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").size === 0, 0xc55 /* Cannot switch branches during a transaction */);
|
|
751
|
+
const diff = (0, index_js_2.diffHistories)(this.changeFamily.rebaser, tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch.getHead(), branch.getHead(), this.mintRevisionTag);
|
|
764
752
|
this.unregisterFromBranchEvents();
|
|
765
|
-
__classPrivateFieldSet(this, _TreeCheckout_transaction, this.createTransactionStack(branch), "f");
|
|
766
|
-
this.editLock = new EditLock(__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranchEditor);
|
|
753
|
+
tslib_1.__classPrivateFieldSet(this, _TreeCheckout_transaction, this.createTransactionStack(branch), "f");
|
|
754
|
+
this.editLock = new EditLock(tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranchEditor);
|
|
767
755
|
this.registerForBranchEvents();
|
|
768
756
|
// TODO: Rework eventing
|
|
769
757
|
this.applyInternalChange(diff);
|
|
770
|
-
__classPrivateFieldGet(this, _TreeCheckout_events, "f").emit("afterBatch");
|
|
758
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_events, "f").emit("afterBatch");
|
|
771
759
|
}
|
|
772
760
|
rebase(branch) {
|
|
773
761
|
const checkout = getCheckout(branch);
|
|
@@ -781,11 +769,23 @@ let TreeCheckout = (() => {
|
|
|
781
769
|
throw new internal_3.UsageError("A view cannot be rebased while it has a pending transaction.");
|
|
782
770
|
}
|
|
783
771
|
(0, internal_1.assert)(!checkout.isSharedBranch, 0xa5d /* Shared branches cannot be rebased onto another branch. */);
|
|
784
|
-
__classPrivateFieldGet(checkout, _TreeCheckout_transaction, "f").activeBranch.rebaseOnto(__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch);
|
|
772
|
+
tslib_1.__classPrivateFieldGet(checkout, _TreeCheckout_transaction, "f").activeBranch.rebaseOnto(tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch);
|
|
785
773
|
}
|
|
786
774
|
rebaseOnto(branch) {
|
|
787
775
|
getCheckout(branch).rebase(this);
|
|
788
776
|
}
|
|
777
|
+
isMissingEditsFrom(branch) {
|
|
778
|
+
const branchCheckout = getCheckout(branch);
|
|
779
|
+
const targetPath = [];
|
|
780
|
+
const ancestor = (0, index_js_2.findCommonAncestor)(this.mainBranch.getHead(), [
|
|
781
|
+
branchCheckout.mainBranch.getHead(),
|
|
782
|
+
targetPath,
|
|
783
|
+
]);
|
|
784
|
+
if (ancestor === undefined) {
|
|
785
|
+
throw new internal_3.UsageError("Branches do not share a common ancestor.");
|
|
786
|
+
}
|
|
787
|
+
return targetPath.length > 0;
|
|
788
|
+
}
|
|
789
789
|
merge(branch, disposeMerged = true) {
|
|
790
790
|
const checkout = getCheckout(branch);
|
|
791
791
|
this.checkNotDisposed("The target branch of the merge has been disposed and cannot be merged.");
|
|
@@ -797,7 +797,7 @@ let TreeCheckout = (() => {
|
|
|
797
797
|
if (checkout.transaction.size > 0) {
|
|
798
798
|
throw new internal_3.UsageError("Views with an open transaction cannot be merged into another view.");
|
|
799
799
|
}
|
|
800
|
-
__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch.merge(__classPrivateFieldGet(checkout, _TreeCheckout_transaction, "f").activeBranch);
|
|
800
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch.merge(tslib_1.__classPrivateFieldGet(checkout, _TreeCheckout_transaction, "f").activeBranch);
|
|
801
801
|
if (disposeMerged && !checkout.isSharedBranch) {
|
|
802
802
|
// Dispose the merged checkout unless it is a shared branch.
|
|
803
803
|
checkout[index_js_6.disposeSymbol]();
|
|
@@ -817,13 +817,13 @@ let TreeCheckout = (() => {
|
|
|
817
817
|
[(_TreeCheckout_events = new WeakMap(), _TreeCheckout_transaction = new WeakMap(), _TreeCheckout_validatedCommits = new WeakMap(), _exportVerbose_decorators = [index_js_6.throwIfBroken], _applySerializedChange_decorators = [index_js_6.throwIfBroken], _applyChange_decorators = [index_js_6.throwIfBroken], _runTransaction_decorators = [index_js_6.breakingMethod], _runTransactionAsync_decorators = [index_js_6.breakingMethod], _viewWith_decorators = [index_js_6.throwIfBroken], _fork_decorators = [index_js_6.throwIfBroken], index_js_6.disposeSymbol)]() {
|
|
818
818
|
this.checkNotDisposed("The branch has already been disposed and cannot be disposed again.");
|
|
819
819
|
this.disposed = true;
|
|
820
|
-
__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch.dispose();
|
|
821
|
-
__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").dispose();
|
|
820
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch.dispose();
|
|
821
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").dispose();
|
|
822
822
|
this.purgeRevertibles();
|
|
823
823
|
for (const view of this.views) {
|
|
824
824
|
view.dispose();
|
|
825
825
|
}
|
|
826
|
-
__classPrivateFieldGet(this, _TreeCheckout_events, "f").emit("dispose");
|
|
826
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_events, "f").emit("dispose");
|
|
827
827
|
}
|
|
828
828
|
getRemovedRoots() {
|
|
829
829
|
this.assertNoUntrackedRoots();
|
|
@@ -849,9 +849,9 @@ let TreeCheckout = (() => {
|
|
|
849
849
|
load() {
|
|
850
850
|
// Set the tip revision as the latest relevant revision for any removed roots that are loaded from a summary - this allows them to be garbage collected later.
|
|
851
851
|
// When a load happens, the head of the trunk and the head of the local/main branch must be the same (this is enforced by SharedTree).
|
|
852
|
-
this._removedRoots.setRevisionsForLoadedData(__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch.getHead().revision);
|
|
852
|
+
this._removedRoots.setRevisionsForLoadedData(tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch.getHead().revision);
|
|
853
853
|
// The content of the checkout (e.g. the forest) has (maybe) changed, so fire an afterBatch event.
|
|
854
|
-
__classPrivateFieldGet(this, _TreeCheckout_events, "f").emit("afterBatch");
|
|
854
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_events, "f").emit("afterBatch");
|
|
855
855
|
}
|
|
856
856
|
purgeRevertibles() {
|
|
857
857
|
for (const revertible of this.revertibles) {
|
|
@@ -873,7 +873,7 @@ let TreeCheckout = (() => {
|
|
|
873
873
|
const commitToRevert = revertibleBranch.getHead();
|
|
874
874
|
const revisionForInvert = this.mintRevisionTag();
|
|
875
875
|
let change = (0, index_js_2.tagChange)(this.changeFamily.rebaser.invert(commitToRevert, false, revisionForInvert), revisionForInvert);
|
|
876
|
-
const headCommit = __classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch.getHead();
|
|
876
|
+
const headCommit = tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch.getHead();
|
|
877
877
|
// Rebase the inverted change onto any commits that occurred after the undoable commits.
|
|
878
878
|
if (commitToRevert !== headCommit) {
|
|
879
879
|
// The inverse may be rebased over newer commits which (despite being present in the history)
|
|
@@ -889,7 +889,7 @@ let TreeCheckout = (() => {
|
|
|
889
889
|
const previousLabelTreeNode = this.labelTreeNode;
|
|
890
890
|
this.labelTreeNode = labelTree;
|
|
891
891
|
try {
|
|
892
|
-
__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch.apply(change, kind === index_js_2.CommitKind.Default || kind === index_js_2.CommitKind.Redo
|
|
892
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch.apply(change, kind === index_js_2.CommitKind.Default || kind === index_js_2.CommitKind.Redo
|
|
893
893
|
? index_js_2.CommitKind.Undo
|
|
894
894
|
: index_js_2.CommitKind.Redo);
|
|
895
895
|
}
|
|
@@ -943,7 +943,7 @@ let TreeCheckout = (() => {
|
|
|
943
943
|
* Otherwise, the function is registered to be called later and this function returns `false`.
|
|
944
944
|
*/
|
|
945
945
|
onCommitValid(commit, fn) {
|
|
946
|
-
const validated = (0, index_js_6.getOrCreate)(__classPrivateFieldGet(this, _TreeCheckout_validatedCommits, "f"), commit, () => []);
|
|
946
|
+
const validated = (0, index_js_6.getOrCreate)(tslib_1.__classPrivateFieldGet(this, _TreeCheckout_validatedCommits, "f"), commit, () => []);
|
|
947
947
|
if (validated === true) {
|
|
948
948
|
fn(commit);
|
|
949
949
|
return true;
|
|
@@ -953,12 +953,12 @@ let TreeCheckout = (() => {
|
|
|
953
953
|
}
|
|
954
954
|
/** Mark the given commit as "validated" according to the contract of {@link onCommitValid}(). */
|
|
955
955
|
validateCommit(commit) {
|
|
956
|
-
const validated = (0, index_js_6.getOrCreate)(__classPrivateFieldGet(this, _TreeCheckout_validatedCommits, "f"), commit, () => []);
|
|
956
|
+
const validated = (0, index_js_6.getOrCreate)(tslib_1.__classPrivateFieldGet(this, _TreeCheckout_validatedCommits, "f"), commit, () => []);
|
|
957
957
|
if (validated !== true) {
|
|
958
958
|
for (const fn of validated) {
|
|
959
959
|
fn(commit);
|
|
960
960
|
}
|
|
961
|
-
__classPrivateFieldGet(this, _TreeCheckout_validatedCommits, "f").set(commit, true);
|
|
961
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_validatedCommits, "f").set(commit, true);
|
|
962
962
|
}
|
|
963
963
|
}
|
|
964
964
|
resetEnrichmentStats() {
|
|
@@ -980,7 +980,7 @@ let TreeCheckout = (() => {
|
|
|
980
980
|
const enricher = new sharedTreeChangeEnricher_js_1.SharedTreeChangeEnricher(this.forest, this._removedRoots, this.storedSchema, this.idCompressor, () => (this.enrichmentStats.commitsEnriched += 1), () => (this.enrichmentStats.refreshers += 1), () => (this.enrichmentStats.forks += 1), () => (this.enrichmentStats.applied += 1));
|
|
981
981
|
// This `lastCommitApplied` may be on the main branch or on a transaction branch.
|
|
982
982
|
// In either case, it is crucial that the state of the forest & detached field index reflects all changes up to and including this commit.
|
|
983
|
-
const lastCommitApplied = __classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch.getHead();
|
|
983
|
+
const lastCommitApplied = tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch.getHead();
|
|
984
984
|
if (context !== lastCommitApplied) {
|
|
985
985
|
enricher.enqueueChange(() => {
|
|
986
986
|
this.enrichmentStats.diffs += 1;
|
|
@@ -997,18 +997,18 @@ let TreeCheckout = (() => {
|
|
|
997
997
|
return enriched;
|
|
998
998
|
}
|
|
999
999
|
get mainBranch() {
|
|
1000
|
-
return __classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch;
|
|
1000
|
+
return tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch;
|
|
1001
1001
|
}
|
|
1002
1002
|
},
|
|
1003
1003
|
(() => {
|
|
1004
1004
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
1005
|
-
__esDecorate(_a, null, _exportVerbose_decorators, { kind: "method", name: "exportVerbose", static: false, private: false, access: { has: obj => "exportVerbose" in obj, get: obj => obj.exportVerbose }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
1006
|
-
__esDecorate(_a, null, _applySerializedChange_decorators, { kind: "method", name: "applySerializedChange", static: false, private: false, access: { has: obj => "applySerializedChange" in obj, get: obj => obj.applySerializedChange }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
1007
|
-
__esDecorate(_a, null, _applyChange_decorators, { kind: "method", name: "applyChange", static: false, private: false, access: { has: obj => "applyChange" in obj, get: obj => obj.applyChange }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
1008
|
-
__esDecorate(_a, null, _runTransaction_decorators, { kind: "method", name: "runTransaction", static: false, private: false, access: { has: obj => "runTransaction" in obj, get: obj => obj.runTransaction }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
1009
|
-
__esDecorate(_a, null, _runTransactionAsync_decorators, { kind: "method", name: "runTransactionAsync", static: false, private: false, access: { has: obj => "runTransactionAsync" in obj, get: obj => obj.runTransactionAsync }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
1010
|
-
__esDecorate(_a, null, _viewWith_decorators, { kind: "method", name: "viewWith", static: false, private: false, access: { has: obj => "viewWith" in obj, get: obj => obj.viewWith }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
1011
|
-
__esDecorate(_a, null, _fork_decorators, { kind: "method", name: "fork", static: false, private: false, access: { has: obj => "fork" in obj, get: obj => obj.fork }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
1005
|
+
tslib_1.__esDecorate(_a, null, _exportVerbose_decorators, { kind: "method", name: "exportVerbose", static: false, private: false, access: { has: obj => "exportVerbose" in obj, get: obj => obj.exportVerbose }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
1006
|
+
tslib_1.__esDecorate(_a, null, _applySerializedChange_decorators, { kind: "method", name: "applySerializedChange", static: false, private: false, access: { has: obj => "applySerializedChange" in obj, get: obj => obj.applySerializedChange }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
1007
|
+
tslib_1.__esDecorate(_a, null, _applyChange_decorators, { kind: "method", name: "applyChange", static: false, private: false, access: { has: obj => "applyChange" in obj, get: obj => obj.applyChange }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
1008
|
+
tslib_1.__esDecorate(_a, null, _runTransaction_decorators, { kind: "method", name: "runTransaction", static: false, private: false, access: { has: obj => "runTransaction" in obj, get: obj => obj.runTransaction }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
1009
|
+
tslib_1.__esDecorate(_a, null, _runTransactionAsync_decorators, { kind: "method", name: "runTransactionAsync", static: false, private: false, access: { has: obj => "runTransactionAsync" in obj, get: obj => obj.runTransactionAsync }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
1010
|
+
tslib_1.__esDecorate(_a, null, _viewWith_decorators, { kind: "method", name: "viewWith", static: false, private: false, access: { has: obj => "viewWith" in obj, get: obj => obj.viewWith }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
1011
|
+
tslib_1.__esDecorate(_a, null, _fork_decorators, { kind: "method", name: "fork", static: false, private: false, access: { has: obj => "fork" in obj, get: obj => obj.fork }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
1012
1012
|
if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
1013
1013
|
})(),
|
|
1014
1014
|
/**
|
|
@@ -1101,10 +1101,7 @@ class EditLock {
|
|
|
1101
1101
|
*/
|
|
1102
1102
|
checkUnlocked(action) {
|
|
1103
1103
|
if (this.locked) {
|
|
1104
|
-
|
|
1105
|
-
const nodeChanged = "nodeChanged";
|
|
1106
|
-
const treeChanged = "treeChanged";
|
|
1107
|
-
throw new internal_3.UsageError(`${action} is forbidden during a ${nodeChanged} or ${treeChanged} event`);
|
|
1104
|
+
throw new internal_3.UsageError(`${action} is forbidden during a change event callback`);
|
|
1108
1105
|
}
|
|
1109
1106
|
}
|
|
1110
1107
|
/**
|
|
@@ -1116,33 +1113,6 @@ class EditLock {
|
|
|
1116
1113
|
this.locked = false;
|
|
1117
1114
|
}
|
|
1118
1115
|
}
|
|
1119
|
-
/**
|
|
1120
|
-
* Keeps track of all new forks created until the returned function is invoked, which will dispose all of those for.
|
|
1121
|
-
* The returned function may only be called once.
|
|
1122
|
-
*
|
|
1123
|
-
* @param checkout - The tree checkout for which you want to monitor forks for disposal.
|
|
1124
|
-
* @returns a function which can be called to dispose all of the tracked forks.
|
|
1125
|
-
*/
|
|
1126
|
-
function trackForksForDisposal(checkout) {
|
|
1127
|
-
const forks = new Set();
|
|
1128
|
-
const onDisposeUnSubscribes = [];
|
|
1129
|
-
const onForkUnSubscribe = (0, index_js_4.onForkTransitive)(checkout, (fork) => {
|
|
1130
|
-
forks.add(fork);
|
|
1131
|
-
onDisposeUnSubscribes.push(fork.events.on("dispose", () => forks.delete(fork)));
|
|
1132
|
-
});
|
|
1133
|
-
let disposed = false;
|
|
1134
|
-
return () => {
|
|
1135
|
-
(0, internal_1.assert)(!disposed, 0xaa9 /* Forks may only be disposed once */);
|
|
1136
|
-
for (const fork of forks) {
|
|
1137
|
-
fork.dispose();
|
|
1138
|
-
}
|
|
1139
|
-
for (const unsubscribe of onDisposeUnSubscribes) {
|
|
1140
|
-
unsubscribe();
|
|
1141
|
-
}
|
|
1142
|
-
onForkUnSubscribe();
|
|
1143
|
-
disposed = true;
|
|
1144
|
-
};
|
|
1145
|
-
}
|
|
1146
1116
|
function verboseFromCursor(reader, schema) {
|
|
1147
1117
|
const fields = (0, index_js_5.customFromCursorStored)(reader, schema, verboseFromCursor);
|
|
1148
1118
|
const nodeSchema = schema.get(reader.type) ?? (0, internal_1.fail)(0xac9 /* missing schema for type in cursor */);
|