@fluidframework/tree 2.103.0 → 2.111.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/.vscode/settings.json +1 -0
- package/CHANGELOG.md +109 -0
- package/api-report/tree.alpha.api.md +60 -34
- package/api-report/tree.beta.api.md +49 -3
- package/api-report/tree.legacy.beta.api.md +49 -3
- package/dist/codec/versioned/format.js +2 -24
- package/dist/codec/versioned/format.js.map +1 -1
- package/dist/core/change-family/changeFamily.d.ts +3 -10
- package/dist/core/change-family/changeFamily.d.ts.map +1 -1
- package/dist/core/change-family/changeFamily.js.map +1 -1
- package/dist/core/rebase/types.d.ts +2 -2
- package/dist/core/rebase/types.js +2 -24
- package/dist/core/rebase/types.js.map +1 -1
- package/dist/core/schema-stored/formatV1.js +2 -24
- package/dist/core/schema-stored/formatV1.js.map +1 -1
- package/dist/core/schema-stored/formatV2.js +2 -24
- 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/schema-stored/storedSchemaRepository.d.ts +2 -2
- package/dist/core/schema-stored/storedSchemaRepository.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.js +2 -24
- package/dist/core/tree/detachedFieldIndexFormatCommon.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexFormatV2.js +2 -24
- package/dist/core/tree/detachedFieldIndexFormatV2.js.map +1 -1
- package/dist/core/tree/persistedTreeTextFormat.js +2 -24
- package/dist/core/tree/persistedTreeTextFormat.js.map +1 -1
- package/dist/entrypoints/alpha.d.ts +1 -1
- package/dist/entrypoints/alpha.d.ts.map +1 -1
- package/dist/entrypoints/alpha.js.map +1 -1
- package/dist/entrypoints/beta.d.ts +1 -1
- package/dist/entrypoints/beta.d.ts.map +1 -1
- package/dist/entrypoints/beta.js.map +1 -1
- package/dist/entrypoints/internal.js +2 -15
- package/dist/entrypoints/internal.js.map +1 -1
- package/dist/entrypoints/legacy.d.ts +1 -1
- package/dist/entrypoints/legacy.d.ts.map +1 -1
- package/dist/entrypoints/legacy.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/chunkDecoding.d.ts +19 -14
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js +13 -32
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts +85 -28
- package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/codecs.js +83 -9
- package/dist/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts +4 -2
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js +11 -0
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/format/formatGeneric.js +2 -24
- package/dist/feature-libraries/chunked-forest/codec/format/formatGeneric.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/format/formatV1.js +2 -24
- package/dist/feature-libraries/chunked-forest/codec/format/formatV1.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/format/formatV2.js +2 -24
- package/dist/feature-libraries/chunked-forest/codec/format/formatV2.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/format/formatVText.js +2 -24
- package/dist/feature-libraries/chunked-forest/codec/format/formatVText.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/index.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/index.js +2 -1
- package/dist/feature-libraries/chunked-forest/codec/index.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/nodeEncoder.js +3 -15
- package/dist/feature-libraries/chunked-forest/codec/nodeEncoder.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/index.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/index.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/index.js +2 -1
- package/dist/feature-libraries/chunked-forest/index.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/codec.d.ts +3 -3
- package/dist/feature-libraries/forest-summary/codec.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/codec.js.map +1 -1
- package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts +3 -2
- package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/forestSummarizer.js +4 -6
- package/dist/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
- package/dist/feature-libraries/forest-summary/formatCommon.js +2 -24
- package/dist/feature-libraries/forest-summary/formatCommon.js.map +1 -1
- package/dist/feature-libraries/index.d.ts +1 -1
- package/dist/feature-libraries/index.d.ts.map +1 -1
- package/dist/feature-libraries/index.js +4 -25
- package/dist/feature-libraries/index.js.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKindFormat.js +2 -24
- package/dist/feature-libraries/modular-schema/genericFieldKindFormat.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js +9 -9
- package/dist/feature-libraries/modular-schema/modularChangeCodecV1.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.js +2 -24
- package/dist/feature-libraries/modular-schema/modularChangeFormatV1.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFormatV2.js +2 -24
- 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.js +2 -24
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV2.js +2 -24
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV2.js.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeFormat.js +2 -24
- package/dist/feature-libraries/schema-edits/schemaChangeFormat.js.map +1 -1
- package/dist/feature-libraries/schema-index/formatV1.js +2 -24
- package/dist/feature-libraries/schema-index/formatV1.js.map +1 -1
- package/dist/feature-libraries/schema-index/formatV2.js +2 -24
- package/dist/feature-libraries/schema-index/formatV2.js.map +1 -1
- package/dist/feature-libraries/sequence-field/formatV1.js +2 -24
- package/dist/feature-libraries/sequence-field/formatV1.js.map +1 -1
- package/dist/feature-libraries/sequence-field/formatV2.js +2 -24
- package/dist/feature-libraries/sequence-field/formatV2.js.map +1 -1
- package/dist/feature-libraries/sequence-field/formatV3.js +2 -24
- package/dist/feature-libraries/sequence-field/formatV3.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -25
- package/dist/index.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/shared-tree/independentView.d.ts.map +1 -1
- package/dist/shared-tree/independentView.js +4 -7
- package/dist/shared-tree/independentView.js.map +1 -1
- package/dist/shared-tree/index.d.ts +1 -1
- package/dist/shared-tree/index.d.ts.map +1 -1
- package/dist/shared-tree/index.js.map +1 -1
- package/dist/shared-tree/schematizingTreeView.d.ts +6 -5
- 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 +5 -1
- package/dist/shared-tree/sharedTree.d.ts.map +1 -1
- package/dist/shared-tree/sharedTree.js +13 -49
- package/dist/shared-tree/sharedTree.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFormat.js +2 -24
- package/dist/shared-tree/sharedTreeChangeFormat.js.map +1 -1
- package/dist/shared-tree/transactionPostProcessor.d.ts +28 -0
- package/dist/shared-tree/transactionPostProcessor.d.ts.map +1 -0
- package/dist/shared-tree/transactionPostProcessor.js +28 -0
- package/dist/shared-tree/transactionPostProcessor.js.map +1 -0
- package/dist/shared-tree/treeAlpha.js +3 -3
- package/dist/shared-tree/treeAlpha.js.map +1 -1
- package/dist/shared-tree/treeCheckout.d.ts +28 -15
- package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
- package/dist/shared-tree/treeCheckout.js +124 -145
- package/dist/shared-tree/treeCheckout.js.map +1 -1
- package/dist/shared-tree/unhydratedTreeContext.d.ts +5 -5
- package/dist/shared-tree/unhydratedTreeContext.d.ts.map +1 -1
- package/dist/shared-tree/unhydratedTreeContext.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/editManagerCodecs.d.ts +3 -2
- package/dist/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerCodecs.js.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsCommons.d.ts +3 -9
- package/dist/shared-tree-core/editManagerCodecsCommons.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsCommons.js +2 -4
- package/dist/shared-tree-core/editManagerCodecsCommons.js.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsV1toV4.d.ts +3 -3
- package/dist/shared-tree-core/editManagerCodecsV1toV4.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsV1toV4.js.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsVSharedBranches.d.ts +3 -3
- package/dist/shared-tree-core/editManagerCodecsVSharedBranches.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerCodecsVSharedBranches.js.map +1 -1
- package/dist/shared-tree-core/editManagerFormatCommons.js +2 -24
- package/dist/shared-tree-core/editManagerFormatCommons.js.map +1 -1
- package/dist/shared-tree-core/editManagerFormatV1toV4.js +2 -24
- package/dist/shared-tree-core/editManagerFormatV1toV4.js.map +1 -1
- package/dist/shared-tree-core/editManagerFormatVSharedBranches.js +2 -24
- package/dist/shared-tree-core/editManagerFormatVSharedBranches.js.map +1 -1
- package/dist/shared-tree-core/editManagerSummarizer.d.ts +5 -9
- package/dist/shared-tree-core/editManagerSummarizer.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerSummarizer.js +5 -10
- package/dist/shared-tree-core/editManagerSummarizer.js.map +1 -1
- package/dist/shared-tree-core/index.d.ts +1 -1
- package/dist/shared-tree-core/index.d.ts.map +1 -1
- package/dist/shared-tree-core/index.js +3 -2
- package/dist/shared-tree-core/index.js.map +1 -1
- package/dist/shared-tree-core/messageCodecVSharedBranches.js +2 -24
- package/dist/shared-tree-core/messageCodecVSharedBranches.js.map +1 -1
- package/dist/shared-tree-core/messageFormatV1ToV4.js +2 -24
- package/dist/shared-tree-core/messageFormatV1ToV4.js.map +1 -1
- package/dist/shared-tree-core/messageFormatVSharedBranches.js +2 -24
- package/dist/shared-tree-core/messageFormatVSharedBranches.js.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.js +9 -44
- package/dist/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/dist/shared-tree-core/transaction.d.ts +84 -9
- package/dist/shared-tree-core/transaction.d.ts.map +1 -1
- package/dist/shared-tree-core/transaction.js +94 -37
- package/dist/shared-tree-core/transaction.js.map +1 -1
- package/dist/simple-tree/api/index.d.ts +1 -1
- package/dist/simple-tree/api/index.d.ts.map +1 -1
- package/dist/simple-tree/api/index.js.map +1 -1
- package/dist/simple-tree/api/schemaCreationUtilities.d.ts +3 -3
- package/dist/simple-tree/api/schemaCreationUtilities.js +3 -3
- package/dist/simple-tree/api/schemaCreationUtilities.js.map +1 -1
- package/dist/simple-tree/api/schemaFactory.d.ts +1 -1
- package/dist/simple-tree/api/schemaFactory.js +2 -2
- package/dist/simple-tree/api/schemaFactory.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.d.ts +2 -2
- package/dist/simple-tree/api/snapshotCompatibilityChecker.js +4 -26
- package/dist/simple-tree/api/snapshotCompatibilityChecker.js.map +1 -1
- package/dist/simple-tree/api/transactionTypes.d.ts +91 -28
- package/dist/simple-tree/api/transactionTypes.d.ts.map +1 -1
- package/dist/simple-tree/api/transactionTypes.js.map +1 -1
- package/dist/simple-tree/api/tree.d.ts +96 -22
- package/dist/simple-tree/api/tree.d.ts.map +1 -1
- package/dist/simple-tree/api/tree.js.map +1 -1
- package/dist/simple-tree/api/treeBeta.d.ts.map +1 -1
- package/dist/simple-tree/api/treeBeta.js.map +1 -1
- package/dist/simple-tree/core/treeNodeKernel.js +83 -93
- package/dist/simple-tree/core/treeNodeKernel.js.map +1 -1
- package/dist/simple-tree/core/treeNodeSchema.d.ts +7 -7
- package/dist/simple-tree/core/treeNodeSchema.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/index.d.ts +1 -1
- package/dist/simple-tree/index.d.ts.map +1 -1
- package/dist/simple-tree/index.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.js +2 -24
- 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/text/index.d.ts +1 -0
- package/dist/text/index.d.ts.map +1 -1
- package/dist/text/index.js +3 -1
- package/dist/text/index.js.map +1 -1
- package/dist/text/textDomainFormatted.d.ts +69 -758
- package/dist/text/textDomainFormatted.d.ts.map +1 -1
- package/dist/text/textDomainFormatted.js +275 -322
- package/dist/text/textDomainFormatted.js.map +1 -1
- package/dist/text/textDomainFormattedDefault.d.ts +273 -0
- package/dist/text/textDomainFormattedDefault.d.ts.map +1 -0
- package/dist/text/textDomainFormattedDefault.js +94 -0
- package/dist/text/textDomainFormattedDefault.js.map +1 -0
- 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/compressedIds.d.ts +118 -0
- package/dist/util/compressedIds.d.ts.map +1 -0
- package/dist/util/compressedIds.js +133 -0
- package/dist/util/compressedIds.js.map +1 -0
- package/dist/util/index.d.ts +2 -1
- package/dist/util/index.d.ts.map +1 -1
- package/dist/util/index.js +11 -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.js +2 -24
- package/dist/util/typeboxBrand.js.map +1 -1
- package/dist/util/utils.js +2 -24
- package/dist/util/utils.js.map +1 -1
- package/eslint.config.mts +0 -30
- package/lib/core/change-family/changeFamily.d.ts +3 -10
- package/lib/core/change-family/changeFamily.d.ts.map +1 -1
- package/lib/core/change-family/changeFamily.js.map +1 -1
- package/lib/core/rebase/types.d.ts +2 -2
- package/lib/core/rebase/types.js.map +1 -1
- package/lib/core/schema-stored/storedSchemaRepository.d.ts +2 -2
- package/lib/core/schema-stored/storedSchemaRepository.js.map +1 -1
- package/lib/core/tree/anchorSet.js +1 -5
- package/lib/core/tree/anchorSet.js.map +1 -1
- package/lib/entrypoints/alpha.d.ts +1 -1
- package/lib/entrypoints/alpha.d.ts.map +1 -1
- package/lib/entrypoints/alpha.js.map +1 -1
- package/lib/entrypoints/beta.d.ts +1 -1
- package/lib/entrypoints/beta.d.ts.map +1 -1
- package/lib/entrypoints/beta.js.map +1 -1
- package/lib/entrypoints/legacy.d.ts +1 -1
- package/lib/entrypoints/legacy.d.ts.map +1 -1
- package/lib/entrypoints/legacy.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/chunkDecoding.d.ts +19 -14
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js +14 -33
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts +85 -28
- package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/codecs.js +82 -9
- package/lib/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts +4 -2
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js +12 -1
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/index.d.ts +1 -1
- package/lib/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/index.js +1 -1
- package/lib/feature-libraries/chunked-forest/codec/index.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts +1 -1
- package/lib/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/nodeEncoder.js +3 -15
- package/lib/feature-libraries/chunked-forest/codec/nodeEncoder.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/index.d.ts +1 -1
- package/lib/feature-libraries/chunked-forest/index.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/index.js +1 -1
- package/lib/feature-libraries/chunked-forest/index.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/codec.d.ts +3 -3
- package/lib/feature-libraries/forest-summary/codec.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/codec.js.map +1 -1
- package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts +3 -2
- package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/forestSummarizer.js +4 -6
- package/lib/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
- package/lib/feature-libraries/index.d.ts +1 -1
- package/lib/feature-libraries/index.d.ts.map +1 -1
- package/lib/feature-libraries/index.js +1 -1
- package/lib/feature-libraries/index.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js +10 -10
- package/lib/feature-libraries/modular-schema/modularChangeCodecV1.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/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/index.d.ts +2 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/shared-tree/independentView.d.ts.map +1 -1
- package/lib/shared-tree/independentView.js +5 -8
- package/lib/shared-tree/independentView.js.map +1 -1
- package/lib/shared-tree/index.d.ts +1 -1
- package/lib/shared-tree/index.d.ts.map +1 -1
- package/lib/shared-tree/index.js.map +1 -1
- package/lib/shared-tree/schematizingTreeView.d.ts +6 -5
- 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 +5 -1
- package/lib/shared-tree/sharedTree.d.ts.map +1 -1
- package/lib/shared-tree/sharedTree.js +9 -45
- package/lib/shared-tree/sharedTree.js.map +1 -1
- package/lib/shared-tree/transactionPostProcessor.d.ts +28 -0
- package/lib/shared-tree/transactionPostProcessor.d.ts.map +1 -0
- package/lib/shared-tree/transactionPostProcessor.js +23 -0
- package/lib/shared-tree/transactionPostProcessor.js.map +1 -0
- package/lib/shared-tree/treeAlpha.js +3 -3
- package/lib/shared-tree/treeAlpha.js.map +1 -1
- package/lib/shared-tree/treeCheckout.d.ts +28 -15
- package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
- package/lib/shared-tree/treeCheckout.js +80 -101
- package/lib/shared-tree/treeCheckout.js.map +1 -1
- package/lib/shared-tree/unhydratedTreeContext.d.ts +5 -5
- package/lib/shared-tree/unhydratedTreeContext.d.ts.map +1 -1
- package/lib/shared-tree/unhydratedTreeContext.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/editManagerCodecs.d.ts +3 -2
- package/lib/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerCodecs.js.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsCommons.d.ts +3 -9
- package/lib/shared-tree-core/editManagerCodecsCommons.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsCommons.js +3 -5
- package/lib/shared-tree-core/editManagerCodecsCommons.js.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsV1toV4.d.ts +3 -3
- package/lib/shared-tree-core/editManagerCodecsV1toV4.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsV1toV4.js.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsVSharedBranches.d.ts +3 -3
- package/lib/shared-tree-core/editManagerCodecsVSharedBranches.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerCodecsVSharedBranches.js.map +1 -1
- package/lib/shared-tree-core/editManagerSummarizer.d.ts +5 -9
- package/lib/shared-tree-core/editManagerSummarizer.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerSummarizer.js +5 -10
- package/lib/shared-tree-core/editManagerSummarizer.js.map +1 -1
- package/lib/shared-tree-core/index.d.ts +1 -1
- package/lib/shared-tree-core/index.d.ts.map +1 -1
- package/lib/shared-tree-core/index.js +1 -1
- package/lib/shared-tree-core/index.js.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.js +4 -39
- package/lib/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/lib/shared-tree-core/transaction.d.ts +84 -9
- package/lib/shared-tree-core/transaction.d.ts.map +1 -1
- package/lib/shared-tree-core/transaction.js +74 -17
- package/lib/shared-tree-core/transaction.js.map +1 -1
- package/lib/simple-tree/api/index.d.ts +1 -1
- package/lib/simple-tree/api/index.d.ts.map +1 -1
- package/lib/simple-tree/api/index.js.map +1 -1
- package/lib/simple-tree/api/schemaCreationUtilities.d.ts +3 -3
- package/lib/simple-tree/api/schemaCreationUtilities.js +3 -3
- package/lib/simple-tree/api/schemaCreationUtilities.js.map +1 -1
- package/lib/simple-tree/api/schemaFactory.d.ts +1 -1
- package/lib/simple-tree/api/schemaFactory.js +2 -2
- package/lib/simple-tree/api/schemaFactory.js.map +1 -1
- package/lib/simple-tree/api/snapshotCompatibilityChecker.d.ts +2 -2
- package/lib/simple-tree/api/snapshotCompatibilityChecker.js +2 -2
- package/lib/simple-tree/api/snapshotCompatibilityChecker.js.map +1 -1
- package/lib/simple-tree/api/transactionTypes.d.ts +91 -28
- package/lib/simple-tree/api/transactionTypes.d.ts.map +1 -1
- package/lib/simple-tree/api/transactionTypes.js.map +1 -1
- package/lib/simple-tree/api/tree.d.ts +96 -22
- package/lib/simple-tree/api/tree.d.ts.map +1 -1
- package/lib/simple-tree/api/tree.js.map +1 -1
- package/lib/simple-tree/api/treeBeta.d.ts.map +1 -1
- package/lib/simple-tree/api/treeBeta.js.map +1 -1
- package/lib/simple-tree/core/treeNodeKernel.js +1 -11
- package/lib/simple-tree/core/treeNodeKernel.js.map +1 -1
- package/lib/simple-tree/core/treeNodeSchema.d.ts +7 -7
- package/lib/simple-tree/core/treeNodeSchema.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/index.d.ts +1 -1
- package/lib/simple-tree/index.d.ts.map +1 -1
- package/lib/simple-tree/index.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/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/text/index.d.ts +1 -0
- package/lib/text/index.d.ts.map +1 -1
- package/lib/text/index.js +1 -0
- package/lib/text/index.js.map +1 -1
- package/lib/text/textDomainFormatted.d.ts +69 -758
- package/lib/text/textDomainFormatted.d.ts.map +1 -1
- package/lib/text/textDomainFormatted.js +277 -324
- package/lib/text/textDomainFormatted.js.map +1 -1
- package/lib/text/textDomainFormattedDefault.d.ts +273 -0
- package/lib/text/textDomainFormattedDefault.d.ts.map +1 -0
- package/lib/text/textDomainFormattedDefault.js +91 -0
- package/lib/text/textDomainFormattedDefault.js.map +1 -0
- 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/compressedIds.d.ts +118 -0
- package/lib/util/compressedIds.d.ts.map +1 -0
- package/lib/util/compressedIds.js +124 -0
- package/lib/util/compressedIds.js.map +1 -0
- package/lib/util/index.d.ts +2 -1
- package/lib/util/index.d.ts.map +1 -1
- package/lib/util/index.js +2 -1
- package/lib/util/index.js.map +1 -1
- package/lib/util/rangeMap.d.ts +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/package.json +25 -24
- package/src/core/change-family/changeFamily.ts +3 -12
- package/src/core/rebase/types.ts +2 -2
- package/src/core/schema-stored/storedSchemaRepository.ts +2 -2
- package/src/entrypoints/alpha.ts +12 -8
- package/src/entrypoints/beta.ts +8 -0
- package/src/entrypoints/legacy.ts +8 -0
- package/src/feature-libraries/chunked-forest/codec/chunkDecoding.ts +35 -64
- package/src/feature-libraries/chunked-forest/codec/codecs.ts +138 -42
- package/src/feature-libraries/chunked-forest/codec/compressedEncode.ts +32 -4
- package/src/feature-libraries/chunked-forest/codec/index.ts +1 -0
- package/src/feature-libraries/chunked-forest/codec/nodeEncoder.ts +7 -19
- package/src/feature-libraries/chunked-forest/index.ts +3 -0
- package/src/feature-libraries/forest-summary/codec.ts +5 -3
- package/src/feature-libraries/forest-summary/forestSummarizer.ts +4 -5
- package/src/feature-libraries/index.ts +3 -0
- package/src/feature-libraries/modular-schema/modularChangeCodecV1.ts +13 -9
- package/src/feature-libraries/modular-schema/modularChangeFamily.ts +14 -47
- package/src/feature-libraries/modular-schema/modularChangeTypes.ts +0 -5
- package/src/index.ts +13 -8
- package/src/packageVersion.ts +1 -1
- package/src/shared-tree/independentView.ts +5 -10
- package/src/shared-tree/index.ts +1 -0
- package/src/shared-tree/schematizingTreeView.ts +29 -25
- package/src/shared-tree/sharedTree.ts +18 -10
- package/src/shared-tree/transactionPostProcessor.ts +40 -0
- package/src/shared-tree/treeAlpha.ts +3 -3
- package/src/shared-tree/treeCheckout.ts +120 -95
- package/src/shared-tree/unhydratedTreeContext.ts +18 -15
- package/src/shared-tree-core/editManagerCodecs.ts +3 -2
- package/src/shared-tree-core/editManagerCodecsCommons.ts +10 -14
- package/src/shared-tree-core/editManagerCodecsV1toV4.ts +3 -2
- package/src/shared-tree-core/editManagerCodecsVSharedBranches.ts +3 -2
- package/src/shared-tree-core/editManagerSummarizer.ts +5 -9
- package/src/shared-tree-core/index.ts +8 -5
- package/src/shared-tree-core/sharedTreeCore.ts +3 -2
- package/src/shared-tree-core/transaction.ts +148 -18
- package/src/simple-tree/api/index.ts +13 -9
- package/src/simple-tree/api/schemaCreationUtilities.ts +3 -3
- package/src/simple-tree/api/schemaFactory.ts +2 -2
- package/src/simple-tree/api/snapshotCompatibilityChecker.ts +2 -2
- package/src/simple-tree/api/transactionTypes.ts +111 -39
- package/src/simple-tree/api/tree.ts +152 -47
- package/src/simple-tree/api/treeBeta.ts +2 -0
- package/src/simple-tree/core/treeNodeSchema.ts +7 -7
- package/src/simple-tree/index.ts +12 -8
- package/src/tableSchema.ts +306 -80
- package/src/text/index.ts +1 -0
- package/src/text/textDomainFormatted.ts +520 -415
- package/src/text/textDomainFormattedDefault.ts +150 -0
- package/src/util/arrayUtilities.ts +35 -0
- package/src/util/compressedIds.ts +216 -0
- package/src/util/index.ts +17 -0
- package/src/util/rangeMap.ts +108 -9
- 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");
|
|
@@ -63,6 +19,7 @@ const index_js_6 = require("../util/index.js");
|
|
|
63
19
|
const schematizingTreeView_js_1 = require("./schematizingTreeView.js");
|
|
64
20
|
const sharedTreeChangeEnricher_js_1 = require("./sharedTreeChangeEnricher.js");
|
|
65
21
|
const sharedTreeChangeFamily_js_1 = require("./sharedTreeChangeFamily.js");
|
|
22
|
+
const transactionPostProcessor_js_1 = require("./transactionPostProcessor.js");
|
|
66
23
|
/**
|
|
67
24
|
* Yields all defined (non-`undefined`) labels from a {@link LabelTree}, depth-first.
|
|
68
25
|
*/
|
|
@@ -129,7 +86,7 @@ function createTreeCheckout(idCompressor, mintRevisionTag, revisionTagCodec, arg
|
|
|
129
86
|
change: changeFamily.rebaser.compose([]),
|
|
130
87
|
revision: "root",
|
|
131
88
|
}, changeFamily, () => idCompressor.generateCompressedId());
|
|
132
|
-
return new TreeCheckout(branch, true, changeFamily, schema, forest, mintRevisionTag, revisionTagCodec, idCompressor, args?.removedRoots, args?.logger, breaker
|
|
89
|
+
return new TreeCheckout(branch, true, changeFamily, schema, forest, mintRevisionTag, revisionTagCodec, idCompressor, args?.removedRoots, args?.logger, breaker);
|
|
133
90
|
}
|
|
134
91
|
exports.createTreeCheckout = createTreeCheckout;
|
|
135
92
|
/**
|
|
@@ -151,7 +108,7 @@ function getCheckout(context) {
|
|
|
151
108
|
* @param constraintsOnRevert - If true, use {@link ISharedTreeEditor.addNodeExistsConstraintOnRevert}.
|
|
152
109
|
* @param constraints - The constraints to add to the transaction.
|
|
153
110
|
*
|
|
154
|
-
* @see {@link
|
|
111
|
+
* @see {@link RunTransactionParamsAlpha.preconditions}.
|
|
155
112
|
*/
|
|
156
113
|
function addConstraintsToTransaction(checkout, constraintsOnRevert, constraints = []) {
|
|
157
114
|
for (const constraint of constraints) {
|
|
@@ -226,8 +183,8 @@ let TreeCheckout = (() => {
|
|
|
226
183
|
/** True if and only if this checkout is for a branch which is persisted and shared with other clients. */
|
|
227
184
|
isSharedBranch, changeFamily, storedSchema, forest, mintRevisionTag, revisionTagCodec, idCompressor, _removedRoots = (0, index_js_2.makeDetachedFieldIndex)("repair", revisionTagCodec, idCompressor),
|
|
228
185
|
/** Optional logger for telemetry. */
|
|
229
|
-
logger, breaker = new index_js_6.Breakable("TreeCheckout")
|
|
230
|
-
this.isSharedBranch = (__runInitializers(this, _instanceExtraInitializers), isSharedBranch);
|
|
186
|
+
logger, breaker = new index_js_6.Breakable("TreeCheckout")) {
|
|
187
|
+
this.isSharedBranch = (tslib_1.__runInitializers(this, _instanceExtraInitializers), isSharedBranch);
|
|
231
188
|
this.changeFamily = changeFamily;
|
|
232
189
|
this.storedSchema = storedSchema;
|
|
233
190
|
this.forest = forest;
|
|
@@ -237,13 +194,12 @@ let TreeCheckout = (() => {
|
|
|
237
194
|
this._removedRoots = _removedRoots;
|
|
238
195
|
this.logger = logger;
|
|
239
196
|
this.breaker = breaker;
|
|
240
|
-
this.disposeForksAfterTransaction = disposeForksAfterTransaction;
|
|
241
197
|
this.disposed = false;
|
|
242
198
|
this.views = new Set();
|
|
243
199
|
/**
|
|
244
|
-
*
|
|
200
|
+
* Revertibles maintained for automatic disposal
|
|
245
201
|
*/
|
|
246
|
-
this.revertibles = new
|
|
202
|
+
this.revertibles = new Map();
|
|
247
203
|
/**
|
|
248
204
|
* Each branch's head commit corresponds to a revertible commit.
|
|
249
205
|
* Maintaining a whole branch ensures the commit graph is not pruned in a way that would prevent the commit from
|
|
@@ -251,7 +207,7 @@ let TreeCheckout = (() => {
|
|
|
251
207
|
*/
|
|
252
208
|
this.revertibleCommitBranches = new Map();
|
|
253
209
|
_TreeCheckout_events.set(this, (0, client_utils_1.createEmitter)());
|
|
254
|
-
this.events = __classPrivateFieldGet(this, _TreeCheckout_events, "f");
|
|
210
|
+
this.events = tslib_1.__classPrivateFieldGet(this, _TreeCheckout_events, "f");
|
|
255
211
|
this.onAfterBranchChange = (event) => {
|
|
256
212
|
// The following logic allows revertibles to be generated for the change.
|
|
257
213
|
// Currently only appends (including merges and transaction commits) are supported.
|
|
@@ -275,8 +231,8 @@ let TreeCheckout = (() => {
|
|
|
275
231
|
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
232
|
}
|
|
277
233
|
const revertible = this.createRevertible(revision, kind, this, onRevertibleDisposed, commitLabelTree);
|
|
278
|
-
this.revertibleCommitBranches.set(revision, __classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch.fork(commit));
|
|
279
|
-
this.revertibles.
|
|
234
|
+
this.revertibleCommitBranches.set(revision, tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch.fork(commit));
|
|
235
|
+
this.revertibles.set(revision, revertible);
|
|
280
236
|
return revertible;
|
|
281
237
|
};
|
|
282
238
|
let withinEventContext = true;
|
|
@@ -303,29 +259,39 @@ let TreeCheckout = (() => {
|
|
|
303
259
|
label: this.labelTreeNode?.label,
|
|
304
260
|
labels: buildLabelsSet(this.labelTreeNode),
|
|
305
261
|
};
|
|
306
|
-
|
|
262
|
+
this.emitChangedLocked(() => {
|
|
263
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_events, "f").emit("changed", metadata, getRevertible);
|
|
264
|
+
});
|
|
307
265
|
withinEventContext = false;
|
|
308
266
|
}
|
|
309
267
|
}
|
|
268
|
+
else if (event.type === "remove") {
|
|
269
|
+
// Commits that are rolled back should no longer be revertible
|
|
270
|
+
for (const commit of event.removedCommits) {
|
|
271
|
+
this.revertibles.get(commit.revision)?.dispose();
|
|
272
|
+
}
|
|
273
|
+
}
|
|
310
274
|
else if (this.isRemoteChangeEvent(event)) {
|
|
311
275
|
// TODO: figure out how to plumb through commit kind info for remote changes
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
276
|
+
this.emitChangedLocked(() => {
|
|
277
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_events, "f").emit("changed", {
|
|
278
|
+
isLocal: false,
|
|
279
|
+
kind: index_js_2.CommitKind.Default,
|
|
280
|
+
labels: new Set(),
|
|
281
|
+
});
|
|
316
282
|
});
|
|
317
283
|
}
|
|
318
284
|
};
|
|
319
285
|
this.onAfterChange = (event) => {
|
|
320
286
|
this.editLock.lock();
|
|
321
|
-
__classPrivateFieldGet(this, _TreeCheckout_events, "f").emit("beforeBatch", event);
|
|
287
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_events, "f").emit("beforeBatch", event);
|
|
322
288
|
if (event.change !== undefined) {
|
|
323
289
|
const revision = event.type === "rebase"
|
|
324
|
-
? __classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch.getHead().revision
|
|
290
|
+
? tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch.getHead().revision
|
|
325
291
|
: event.change.revision;
|
|
326
292
|
this.applyInternalChange(event.change.change, revision);
|
|
327
293
|
}
|
|
328
|
-
__classPrivateFieldGet(this, _TreeCheckout_events, "f").emit("afterBatch");
|
|
294
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_events, "f").emit("afterBatch");
|
|
329
295
|
this.editLock.unlock();
|
|
330
296
|
if (event.type === "append") {
|
|
331
297
|
for (const commit of event.newCommits) {
|
|
@@ -370,8 +336,8 @@ let TreeCheckout = (() => {
|
|
|
370
336
|
* The performance cost of maintaining this information is negligible.
|
|
371
337
|
*/
|
|
372
338
|
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);
|
|
339
|
+
tslib_1.__classPrivateFieldSet(this, _TreeCheckout_transaction, this.createTransactionStack(branch), "f");
|
|
340
|
+
this.editLock = new EditLock(tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranchEditor);
|
|
375
341
|
this.registerForBranchEvents();
|
|
376
342
|
}
|
|
377
343
|
/**
|
|
@@ -479,24 +445,21 @@ let TreeCheckout = (() => {
|
|
|
479
445
|
return this._removedRoots;
|
|
480
446
|
}
|
|
481
447
|
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);
|
|
448
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch.events.on("afterChange", this.onAfterBranchChange);
|
|
449
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranchEvents.on("afterChange", this.onAfterChange);
|
|
450
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranchEvents.on("ancestryTrimmed", this.onAncestryTrimmed);
|
|
485
451
|
}
|
|
486
452
|
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);
|
|
453
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch.events.off("afterChange", this.onAfterBranchChange);
|
|
454
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranchEvents.off("afterChange", this.onAfterChange);
|
|
455
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranchEvents.off("ancestryTrimmed", this.onAncestryTrimmed);
|
|
490
456
|
}
|
|
491
457
|
createTransactionStack(branch) {
|
|
492
458
|
return new index_js_4.SquashingTransactionStack(branch, this.mintRevisionTag, () => {
|
|
493
|
-
const disposeForks = this.disposeForksAfterTransaction
|
|
494
|
-
? trackForksForDisposal(this)
|
|
495
|
-
: undefined;
|
|
496
459
|
// When each transaction is started, make a restorable checkpoint of the current state of removed roots
|
|
497
460
|
const restoreRemovedRoots = this._removedRoots.createCheckpoint();
|
|
498
461
|
return (result, viewUpdate) => {
|
|
499
|
-
const newHead = __classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch.getHead();
|
|
462
|
+
const newHead = tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch.getHead();
|
|
500
463
|
switch (result) {
|
|
501
464
|
case index_js_4.TransactionResult.Abort: {
|
|
502
465
|
restoreRemovedRoots();
|
|
@@ -519,7 +482,6 @@ let TreeCheckout = (() => {
|
|
|
519
482
|
(0, internal_1.unreachableCase)(result);
|
|
520
483
|
}
|
|
521
484
|
}
|
|
522
|
-
disposeForks?.();
|
|
523
485
|
};
|
|
524
486
|
});
|
|
525
487
|
}
|
|
@@ -543,6 +505,31 @@ let TreeCheckout = (() => {
|
|
|
543
505
|
cursor.free();
|
|
544
506
|
}
|
|
545
507
|
}
|
|
508
|
+
/**
|
|
509
|
+
* Hold the `editLock` for the duration of `emit`, so that re-entrant edits, transactions,
|
|
510
|
+
* branch operations, etc. attempted from inside a `changed` listener throw the canonical
|
|
511
|
+
* "forbidden during a change event" {@link UsageError} via {@link EditLock.checkUnlocked}.
|
|
512
|
+
*
|
|
513
|
+
* @remarks
|
|
514
|
+
* Shared by both the local and remote `changed` emission paths in {@link TreeCheckout.onAfterBranchChange}.
|
|
515
|
+
* The `try`/`finally` ensures the lock is released even if a listener throws.
|
|
516
|
+
*/
|
|
517
|
+
emitChangedLocked(emit) {
|
|
518
|
+
this.editLock.lock();
|
|
519
|
+
try {
|
|
520
|
+
emit();
|
|
521
|
+
}
|
|
522
|
+
finally {
|
|
523
|
+
// TODO: any event that throws potentially leaves the code which triggered that event,
|
|
524
|
+
// and thus this checkout (and likely more) in a broken state.
|
|
525
|
+
// Unlocking this editLock prevents future use of this broken state from giving a confusing error in this case,
|
|
526
|
+
// however, a better approach would probably be to put something (this checkout and/or the editLock)
|
|
527
|
+
// into a broken state (using a properly scoped `Breakable`),
|
|
528
|
+
// likely by moving emitChangedLocked into EditLock, and having EditLock get a Breakable,
|
|
529
|
+
// and having the new emitChangedLocked use `Breakable.use`.
|
|
530
|
+
this.editLock.unlock();
|
|
531
|
+
}
|
|
532
|
+
}
|
|
546
533
|
/**
|
|
547
534
|
* Applies the given serialized change (as was produced via a `"changed"` event of another checkout) to this checkout.
|
|
548
535
|
*/
|
|
@@ -562,7 +549,7 @@ let TreeCheckout = (() => {
|
|
|
562
549
|
};
|
|
563
550
|
const decodedChange = this.changeFamily.codecs.resolve(4).decode(change, context);
|
|
564
551
|
// 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));
|
|
552
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch.apply((0, index_js_2.tagChange)(decodedChange, revision));
|
|
566
553
|
}
|
|
567
554
|
// #region TreeBranchAlpha
|
|
568
555
|
applyChange(change) {
|
|
@@ -586,11 +573,22 @@ let TreeCheckout = (() => {
|
|
|
586
573
|
}
|
|
587
574
|
mountTransaction(params, isAsync) {
|
|
588
575
|
this.checkNotDisposed();
|
|
576
|
+
// Starting a transaction is an edit, so it is forbidden from within a change-event
|
|
577
|
+
// callback (where the edit lock is held), the same as direct edits. For the async
|
|
578
|
+
// entry point this throw is captured as a rejected promise by the `async` wrapper.
|
|
579
|
+
//
|
|
580
|
+
// Note: because runTransaction/runTransactionAsync are `@breakingMethod`, this throw also
|
|
581
|
+
// puts the checkout into a broken state (unlike a direct edit, which throws recoverably).
|
|
582
|
+
// That is the same pre-existing broken-state limitation tracked by the TODO in
|
|
583
|
+
// `emitChangedLocked`, not something specific to transactions.
|
|
584
|
+
this.editLock.checkUnlocked("Running a transaction");
|
|
589
585
|
if (isAsync && this.transaction.size > 0) {
|
|
590
586
|
throw new internal_3.UsageError("An asynchronous transaction cannot be started while another transaction is already in progress.");
|
|
591
587
|
}
|
|
592
588
|
this.pushLabelFrame(params?.label);
|
|
593
|
-
this.transaction.start(
|
|
589
|
+
this.transaction.start({
|
|
590
|
+
postProcessor: (0, transactionPostProcessor_js_1.extractTransactionChangeProcessor)(params?.postProcessor),
|
|
591
|
+
});
|
|
594
592
|
addConstraintsToTransaction(this, false, params?.preconditions);
|
|
595
593
|
}
|
|
596
594
|
unmountTransaction(transactionCallbackStatus, params) {
|
|
@@ -704,7 +702,7 @@ let TreeCheckout = (() => {
|
|
|
704
702
|
throw new internal_3.UsageError("Unable to clone a revertible that has been disposed.");
|
|
705
703
|
}
|
|
706
704
|
const commitToRevert = revertibleBranch.getHead();
|
|
707
|
-
const activeBranchHead = __classPrivateFieldGet(targetCheckout, _TreeCheckout_transaction, "f").activeBranch.getHead();
|
|
705
|
+
const activeBranchHead = tslib_1.__classPrivateFieldGet(targetCheckout, _TreeCheckout_transaction, "f").activeBranch.getHead();
|
|
708
706
|
if ((0, index_js_2.isAncestor)(commitToRevert, activeBranchHead, true) === false) {
|
|
709
707
|
throw new internal_3.UsageError("Cannot clone revertible for a commit that is not present on the given branch.");
|
|
710
708
|
}
|
|
@@ -715,7 +713,7 @@ let TreeCheckout = (() => {
|
|
|
715
713
|
if (revertible.status === index_js_2.RevertibleStatus.Disposed) {
|
|
716
714
|
throw new internal_3.UsageError("Unable to dispose a revertible that has already been disposed.");
|
|
717
715
|
}
|
|
718
|
-
checkout.disposeRevertible(
|
|
716
|
+
checkout.disposeRevertible(revision);
|
|
719
717
|
onRevertibleDisposed?.(revertible);
|
|
720
718
|
},
|
|
721
719
|
};
|
|
@@ -740,7 +738,7 @@ let TreeCheckout = (() => {
|
|
|
740
738
|
return this.forest.anchors.locate(anchor);
|
|
741
739
|
}
|
|
742
740
|
get transaction() {
|
|
743
|
-
return __classPrivateFieldGet(this, _TreeCheckout_transaction, "f");
|
|
741
|
+
return tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f");
|
|
744
742
|
}
|
|
745
743
|
fork() {
|
|
746
744
|
this.checkNotDisposed("The parent branch has already been disposed and can no longer create new branches.");
|
|
@@ -748,26 +746,25 @@ let TreeCheckout = (() => {
|
|
|
748
746
|
if (this.transaction.size > 0) {
|
|
749
747
|
throw new internal_3.UsageError("A view cannot be forked while it has a pending transaction.");
|
|
750
748
|
}
|
|
751
|
-
|
|
752
|
-
const branch = __classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch.fork();
|
|
749
|
+
const branch = tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch.fork();
|
|
753
750
|
const storedSchema = this.storedSchema.clone();
|
|
754
751
|
const forkBreaker = new index_js_6.Breakable("TreeCheckout");
|
|
755
752
|
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);
|
|
753
|
+
const checkout = new _a(branch, false, this.changeFamily, storedSchema, forest, this.mintRevisionTag, this.revisionTagCodec, this.idCompressor, this._removedRoots.clone(), this.logger, forkBreaker);
|
|
754
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_events, "f").emit("fork", checkout);
|
|
758
755
|
return checkout;
|
|
759
756
|
}
|
|
760
757
|
switchBranch(branch) {
|
|
761
758
|
// 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);
|
|
759
|
+
(0, internal_1.assert)(tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").size === 0, 0xc55 /* Cannot switch branches during a transaction */);
|
|
760
|
+
const diff = (0, index_js_2.diffHistories)(this.changeFamily.rebaser, tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch.getHead(), branch.getHead(), this.mintRevisionTag);
|
|
764
761
|
this.unregisterFromBranchEvents();
|
|
765
|
-
__classPrivateFieldSet(this, _TreeCheckout_transaction, this.createTransactionStack(branch), "f");
|
|
766
|
-
this.editLock = new EditLock(__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranchEditor);
|
|
762
|
+
tslib_1.__classPrivateFieldSet(this, _TreeCheckout_transaction, this.createTransactionStack(branch), "f");
|
|
763
|
+
this.editLock = new EditLock(tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranchEditor);
|
|
767
764
|
this.registerForBranchEvents();
|
|
768
765
|
// TODO: Rework eventing
|
|
769
766
|
this.applyInternalChange(diff);
|
|
770
|
-
__classPrivateFieldGet(this, _TreeCheckout_events, "f").emit("afterBatch");
|
|
767
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_events, "f").emit("afterBatch");
|
|
771
768
|
}
|
|
772
769
|
rebase(branch) {
|
|
773
770
|
const checkout = getCheckout(branch);
|
|
@@ -781,11 +778,23 @@ let TreeCheckout = (() => {
|
|
|
781
778
|
throw new internal_3.UsageError("A view cannot be rebased while it has a pending transaction.");
|
|
782
779
|
}
|
|
783
780
|
(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);
|
|
781
|
+
tslib_1.__classPrivateFieldGet(checkout, _TreeCheckout_transaction, "f").activeBranch.rebaseOnto(tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch);
|
|
785
782
|
}
|
|
786
783
|
rebaseOnto(branch) {
|
|
787
784
|
getCheckout(branch).rebase(this);
|
|
788
785
|
}
|
|
786
|
+
isMissingEditsFrom(branch) {
|
|
787
|
+
const branchCheckout = getCheckout(branch);
|
|
788
|
+
const targetPath = [];
|
|
789
|
+
const ancestor = (0, index_js_2.findCommonAncestor)(this.mainBranch.getHead(), [
|
|
790
|
+
branchCheckout.mainBranch.getHead(),
|
|
791
|
+
targetPath,
|
|
792
|
+
]);
|
|
793
|
+
if (ancestor === undefined) {
|
|
794
|
+
throw new internal_3.UsageError("Branches do not share a common ancestor.");
|
|
795
|
+
}
|
|
796
|
+
return targetPath.length > 0;
|
|
797
|
+
}
|
|
789
798
|
merge(branch, disposeMerged = true) {
|
|
790
799
|
const checkout = getCheckout(branch);
|
|
791
800
|
this.checkNotDisposed("The target branch of the merge has been disposed and cannot be merged.");
|
|
@@ -797,7 +806,7 @@ let TreeCheckout = (() => {
|
|
|
797
806
|
if (checkout.transaction.size > 0) {
|
|
798
807
|
throw new internal_3.UsageError("Views with an open transaction cannot be merged into another view.");
|
|
799
808
|
}
|
|
800
|
-
__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch.merge(__classPrivateFieldGet(checkout, _TreeCheckout_transaction, "f").activeBranch);
|
|
809
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch.merge(tslib_1.__classPrivateFieldGet(checkout, _TreeCheckout_transaction, "f").activeBranch);
|
|
801
810
|
if (disposeMerged && !checkout.isSharedBranch) {
|
|
802
811
|
// Dispose the merged checkout unless it is a shared branch.
|
|
803
812
|
checkout[index_js_6.disposeSymbol]();
|
|
@@ -817,13 +826,13 @@ let TreeCheckout = (() => {
|
|
|
817
826
|
[(_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
827
|
this.checkNotDisposed("The branch has already been disposed and cannot be disposed again.");
|
|
819
828
|
this.disposed = true;
|
|
820
|
-
__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch.dispose();
|
|
821
|
-
__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").dispose();
|
|
829
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch.dispose();
|
|
830
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").dispose();
|
|
822
831
|
this.purgeRevertibles();
|
|
823
832
|
for (const view of this.views) {
|
|
824
833
|
view.dispose();
|
|
825
834
|
}
|
|
826
|
-
__classPrivateFieldGet(this, _TreeCheckout_events, "f").emit("dispose");
|
|
835
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_events, "f").emit("dispose");
|
|
827
836
|
}
|
|
828
837
|
getRemovedRoots() {
|
|
829
838
|
this.assertNoUntrackedRoots();
|
|
@@ -849,19 +858,19 @@ let TreeCheckout = (() => {
|
|
|
849
858
|
load() {
|
|
850
859
|
// 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
860
|
// 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);
|
|
861
|
+
this._removedRoots.setRevisionsForLoadedData(tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch.getHead().revision);
|
|
853
862
|
// 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");
|
|
863
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_events, "f").emit("afterBatch");
|
|
855
864
|
}
|
|
856
865
|
purgeRevertibles() {
|
|
857
|
-
for (const revertible of this.revertibles) {
|
|
866
|
+
for (const revertible of this.revertibles.values()) {
|
|
858
867
|
revertible.dispose();
|
|
859
868
|
}
|
|
860
869
|
}
|
|
861
|
-
disposeRevertible(
|
|
870
|
+
disposeRevertible(revision) {
|
|
862
871
|
this.revertibleCommitBranches.get(revision)?.dispose();
|
|
863
872
|
this.revertibleCommitBranches.delete(revision);
|
|
864
|
-
this.revertibles.delete(
|
|
873
|
+
this.revertibles.delete(revision);
|
|
865
874
|
}
|
|
866
875
|
revertRevertible(revision, kind, labelTree) {
|
|
867
876
|
this.editLock.checkUnlocked("Reverting a commit");
|
|
@@ -873,7 +882,7 @@ let TreeCheckout = (() => {
|
|
|
873
882
|
const commitToRevert = revertibleBranch.getHead();
|
|
874
883
|
const revisionForInvert = this.mintRevisionTag();
|
|
875
884
|
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();
|
|
885
|
+
const headCommit = tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch.getHead();
|
|
877
886
|
// Rebase the inverted change onto any commits that occurred after the undoable commits.
|
|
878
887
|
if (commitToRevert !== headCommit) {
|
|
879
888
|
// The inverse may be rebased over newer commits which (despite being present in the history)
|
|
@@ -889,7 +898,7 @@ let TreeCheckout = (() => {
|
|
|
889
898
|
const previousLabelTreeNode = this.labelTreeNode;
|
|
890
899
|
this.labelTreeNode = labelTree;
|
|
891
900
|
try {
|
|
892
|
-
__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch.apply(change, kind === index_js_2.CommitKind.Default || kind === index_js_2.CommitKind.Redo
|
|
901
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch.apply(change, kind === index_js_2.CommitKind.Default || kind === index_js_2.CommitKind.Redo
|
|
893
902
|
? index_js_2.CommitKind.Undo
|
|
894
903
|
: index_js_2.CommitKind.Redo);
|
|
895
904
|
}
|
|
@@ -943,7 +952,7 @@ let TreeCheckout = (() => {
|
|
|
943
952
|
* Otherwise, the function is registered to be called later and this function returns `false`.
|
|
944
953
|
*/
|
|
945
954
|
onCommitValid(commit, fn) {
|
|
946
|
-
const validated = (0, index_js_6.getOrCreate)(__classPrivateFieldGet(this, _TreeCheckout_validatedCommits, "f"), commit, () => []);
|
|
955
|
+
const validated = (0, index_js_6.getOrCreate)(tslib_1.__classPrivateFieldGet(this, _TreeCheckout_validatedCommits, "f"), commit, () => []);
|
|
947
956
|
if (validated === true) {
|
|
948
957
|
fn(commit);
|
|
949
958
|
return true;
|
|
@@ -953,12 +962,12 @@ let TreeCheckout = (() => {
|
|
|
953
962
|
}
|
|
954
963
|
/** Mark the given commit as "validated" according to the contract of {@link onCommitValid}(). */
|
|
955
964
|
validateCommit(commit) {
|
|
956
|
-
const validated = (0, index_js_6.getOrCreate)(__classPrivateFieldGet(this, _TreeCheckout_validatedCommits, "f"), commit, () => []);
|
|
965
|
+
const validated = (0, index_js_6.getOrCreate)(tslib_1.__classPrivateFieldGet(this, _TreeCheckout_validatedCommits, "f"), commit, () => []);
|
|
957
966
|
if (validated !== true) {
|
|
958
967
|
for (const fn of validated) {
|
|
959
968
|
fn(commit);
|
|
960
969
|
}
|
|
961
|
-
__classPrivateFieldGet(this, _TreeCheckout_validatedCommits, "f").set(commit, true);
|
|
970
|
+
tslib_1.__classPrivateFieldGet(this, _TreeCheckout_validatedCommits, "f").set(commit, true);
|
|
962
971
|
}
|
|
963
972
|
}
|
|
964
973
|
resetEnrichmentStats() {
|
|
@@ -980,7 +989,7 @@ let TreeCheckout = (() => {
|
|
|
980
989
|
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
990
|
// This `lastCommitApplied` may be on the main branch or on a transaction branch.
|
|
982
991
|
// 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();
|
|
992
|
+
const lastCommitApplied = tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").activeBranch.getHead();
|
|
984
993
|
if (context !== lastCommitApplied) {
|
|
985
994
|
enricher.enqueueChange(() => {
|
|
986
995
|
this.enrichmentStats.diffs += 1;
|
|
@@ -997,18 +1006,18 @@ let TreeCheckout = (() => {
|
|
|
997
1006
|
return enriched;
|
|
998
1007
|
}
|
|
999
1008
|
get mainBranch() {
|
|
1000
|
-
return __classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch;
|
|
1009
|
+
return tslib_1.__classPrivateFieldGet(this, _TreeCheckout_transaction, "f").branch;
|
|
1001
1010
|
}
|
|
1002
1011
|
},
|
|
1003
1012
|
(() => {
|
|
1004
1013
|
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);
|
|
1014
|
+
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);
|
|
1015
|
+
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);
|
|
1016
|
+
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);
|
|
1017
|
+
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);
|
|
1018
|
+
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);
|
|
1019
|
+
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);
|
|
1020
|
+
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
1021
|
if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
1013
1022
|
})(),
|
|
1014
1023
|
/**
|
|
@@ -1101,10 +1110,7 @@ class EditLock {
|
|
|
1101
1110
|
*/
|
|
1102
1111
|
checkUnlocked(action) {
|
|
1103
1112
|
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`);
|
|
1113
|
+
throw new internal_3.UsageError(`${action} is forbidden during a change event callback`);
|
|
1108
1114
|
}
|
|
1109
1115
|
}
|
|
1110
1116
|
/**
|
|
@@ -1116,33 +1122,6 @@ class EditLock {
|
|
|
1116
1122
|
this.locked = false;
|
|
1117
1123
|
}
|
|
1118
1124
|
}
|
|
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
1125
|
function verboseFromCursor(reader, schema) {
|
|
1147
1126
|
const fields = (0, index_js_5.customFromCursorStored)(reader, schema, verboseFromCursor);
|
|
1148
1127
|
const nodeSchema = schema.get(reader.type) ?? (0, internal_1.fail)(0xac9 /* missing schema for type in cursor */);
|