@fluidframework/tree 2.0.0-dev-rc.1.0.0.224419
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/.dependency-cruiser-known-violations.json +111 -0
- package/.dependency-cruiser.js +442 -0
- package/.eslintrc.js +34 -0
- package/.mocharc.js +13 -0
- package/.vscode/Tree.code-workspace +15 -0
- package/.vscode/extensions.json +7 -0
- package/.vscode/launch.json +16 -0
- package/.vscode/settings.json +16 -0
- package/CHANGELOG.md +302 -0
- package/DEV.md +3 -0
- package/LICENSE +21 -0
- package/README.md +388 -0
- package/api-extractor-lint.json +13 -0
- package/api-extractor.json +4 -0
- package/api-report/tree.api.md +2022 -0
- package/dist/class-tree/index.d.ts +15 -0
- package/dist/class-tree/index.d.ts.map +1 -0
- package/dist/class-tree/index.js +57 -0
- package/dist/class-tree/index.js.map +1 -0
- package/dist/class-tree/integerIndexable.d.ts +31 -0
- package/dist/class-tree/integerIndexable.d.ts.map +1 -0
- package/dist/class-tree/integerIndexable.js +97 -0
- package/dist/class-tree/integerIndexable.js.map +1 -0
- package/dist/class-tree/internal.d.ts +6 -0
- package/dist/class-tree/internal.d.ts.map +1 -0
- package/dist/class-tree/internal.js +12 -0
- package/dist/class-tree/internal.js.map +1 -0
- package/dist/class-tree/schemaCreationUtilities.d.ts +96 -0
- package/dist/class-tree/schemaCreationUtilities.d.ts.map +1 -0
- package/dist/class-tree/schemaCreationUtilities.js +137 -0
- package/dist/class-tree/schemaCreationUtilities.js.map +1 -0
- package/dist/class-tree/schemaFactory.d.ts +225 -0
- package/dist/class-tree/schemaFactory.d.ts.map +1 -0
- package/dist/class-tree/schemaFactory.js +330 -0
- package/dist/class-tree/schemaFactory.js.map +1 -0
- package/dist/class-tree/schemaFactoryRecursive.d.ts +41 -0
- package/dist/class-tree/schemaFactoryRecursive.d.ts.map +1 -0
- package/dist/class-tree/schemaFactoryRecursive.js +66 -0
- package/dist/class-tree/schemaFactoryRecursive.js.map +1 -0
- package/dist/class-tree/schemaTypes.d.ts +237 -0
- package/dist/class-tree/schemaTypes.d.ts.map +1 -0
- package/dist/class-tree/schemaTypes.js +71 -0
- package/dist/class-tree/schemaTypes.js.map +1 -0
- package/dist/class-tree/testRecursiveDomain.d.ts +28 -0
- package/dist/class-tree/testRecursiveDomain.d.ts.map +1 -0
- package/dist/class-tree/testRecursiveDomain.js +40 -0
- package/dist/class-tree/testRecursiveDomain.js.map +1 -0
- package/dist/class-tree/toFlexSchema.d.ts +58 -0
- package/dist/class-tree/toFlexSchema.d.ts.map +1 -0
- package/dist/class-tree/toFlexSchema.js +207 -0
- package/dist/class-tree/toFlexSchema.js.map +1 -0
- package/dist/class-tree/tree.d.ts +98 -0
- package/dist/class-tree/tree.d.ts.map +1 -0
- package/dist/class-tree/tree.js +46 -0
- package/dist/class-tree/tree.js.map +1 -0
- package/dist/class-tree/treeApi.d.ts +69 -0
- package/dist/class-tree/treeApi.d.ts.map +1 -0
- package/dist/class-tree/treeApi.js +56 -0
- package/dist/class-tree/treeApi.js.map +1 -0
- package/dist/codec/codec.d.ts +214 -0
- package/dist/codec/codec.d.ts.map +1 -0
- package/dist/codec/codec.js +168 -0
- package/dist/codec/codec.js.map +1 -0
- package/dist/codec/discriminatedUnions.d.ts +82 -0
- package/dist/codec/discriminatedUnions.d.ts.map +1 -0
- package/dist/codec/discriminatedUnions.js +91 -0
- package/dist/codec/discriminatedUnions.js.map +1 -0
- package/dist/codec/index.d.ts +8 -0
- package/dist/codec/index.d.ts.map +1 -0
- package/dist/codec/index.js +19 -0
- package/dist/codec/index.js.map +1 -0
- package/dist/codec/noopValidator.d.ts +13 -0
- package/dist/codec/noopValidator.d.ts.map +1 -0
- package/dist/codec/noopValidator.js +17 -0
- package/dist/codec/noopValidator.js.map +1 -0
- package/dist/core/change-family/changeFamily.d.ts +32 -0
- package/dist/core/change-family/changeFamily.d.ts.map +1 -0
- package/dist/core/change-family/changeFamily.js +7 -0
- package/dist/core/change-family/changeFamily.js.map +1 -0
- package/dist/core/change-family/editBuilder.d.ts +19 -0
- package/dist/core/change-family/editBuilder.d.ts.map +1 -0
- package/dist/core/change-family/editBuilder.js +25 -0
- package/dist/core/change-family/editBuilder.js.map +1 -0
- package/dist/core/change-family/index.d.ts +7 -0
- package/dist/core/change-family/index.d.ts.map +1 -0
- package/dist/core/change-family/index.js +10 -0
- package/dist/core/change-family/index.js.map +1 -0
- package/dist/core/forest/editableForest.d.ts +54 -0
- package/dist/core/forest/editableForest.d.ts.map +1 -0
- package/dist/core/forest/editableForest.js +27 -0
- package/dist/core/forest/editableForest.js.map +1 -0
- package/dist/core/forest/forest.d.ts +200 -0
- package/dist/core/forest/forest.d.ts.map +1 -0
- package/dist/core/forest/forest.js +66 -0
- package/dist/core/forest/forest.js.map +1 -0
- package/dist/core/forest/index.d.ts +7 -0
- package/dist/core/forest/index.d.ts.map +1 -0
- package/dist/core/forest/index.js +15 -0
- package/dist/core/forest/index.js.map +1 -0
- package/dist/core/index.d.ts +12 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +106 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/rebase/changeRebaser.d.ts +132 -0
- package/dist/core/rebase/changeRebaser.d.ts.map +1 -0
- package/dist/core/rebase/changeRebaser.js +34 -0
- package/dist/core/rebase/changeRebaser.js.map +1 -0
- package/dist/core/rebase/index.d.ts +9 -0
- package/dist/core/rebase/index.d.ts.map +1 -0
- package/dist/core/rebase/index.js +32 -0
- package/dist/core/rebase/index.js.map +1 -0
- package/dist/core/rebase/types.d.ts +93 -0
- package/dist/core/rebase/types.d.ts.map +1 -0
- package/dist/core/rebase/types.js +59 -0
- package/dist/core/rebase/types.js.map +1 -0
- package/dist/core/rebase/utils.d.ts +215 -0
- package/dist/core/rebase/utils.d.ts.map +1 -0
- package/dist/core/rebase/utils.js +297 -0
- package/dist/core/rebase/utils.js.map +1 -0
- package/dist/core/rebase/verifyChangeRebaser.d.ts +76 -0
- package/dist/core/rebase/verifyChangeRebaser.d.ts.map +1 -0
- package/dist/core/rebase/verifyChangeRebaser.js +291 -0
- package/dist/core/rebase/verifyChangeRebaser.js.map +1 -0
- package/dist/core/revertible/index.d.ts +6 -0
- package/dist/core/revertible/index.d.ts.map +1 -0
- package/dist/core/revertible/index.js +12 -0
- package/dist/core/revertible/index.js.map +1 -0
- package/dist/core/revertible/revertible.d.ts +72 -0
- package/dist/core/revertible/revertible.d.ts.map +1 -0
- package/dist/core/revertible/revertible.js +51 -0
- package/dist/core/revertible/revertible.js.map +1 -0
- package/dist/core/schema-stored/format.d.ts +97 -0
- package/dist/core/schema-stored/format.d.ts.map +1 -0
- package/dist/core/schema-stored/format.js +65 -0
- package/dist/core/schema-stored/format.js.map +1 -0
- package/dist/core/schema-stored/index.d.ts +10 -0
- package/dist/core/schema-stored/index.d.ts.map +1 -0
- package/dist/core/schema-stored/index.js +47 -0
- package/dist/core/schema-stored/index.js.map +1 -0
- package/dist/core/schema-stored/schema.d.ts +195 -0
- package/dist/core/schema-stored/schema.d.ts.map +1 -0
- package/dist/core/schema-stored/schema.js +174 -0
- package/dist/core/schema-stored/schema.js.map +1 -0
- package/dist/core/schema-stored/storedSchemaRepository.d.ts +71 -0
- package/dist/core/schema-stored/storedSchemaRepository.d.ts.map +1 -0
- package/dist/core/schema-stored/storedSchemaRepository.js +81 -0
- package/dist/core/schema-stored/storedSchemaRepository.js.map +1 -0
- package/dist/core/schema-view/index.d.ts +6 -0
- package/dist/core/schema-view/index.d.ts.map +1 -0
- package/dist/core/schema-view/index.js +12 -0
- package/dist/core/schema-view/index.js.map +1 -0
- package/dist/core/schema-view/view.d.ts +64 -0
- package/dist/core/schema-view/view.d.ts.map +1 -0
- package/dist/core/schema-view/view.js +55 -0
- package/dist/core/schema-view/view.js.map +1 -0
- package/dist/core/tree/anchorSet.d.ts +318 -0
- package/dist/core/tree/anchorSet.d.ts.map +1 -0
- package/dist/core/tree/anchorSet.js +895 -0
- package/dist/core/tree/anchorSet.js.map +1 -0
- package/dist/core/tree/cursor.d.ts +358 -0
- package/dist/core/tree/cursor.d.ts.map +1 -0
- package/dist/core/tree/cursor.js +169 -0
- package/dist/core/tree/cursor.js.map +1 -0
- package/dist/core/tree/delta.d.ts +241 -0
- package/dist/core/tree/delta.d.ts.map +1 -0
- package/dist/core/tree/delta.js +7 -0
- package/dist/core/tree/delta.js.map +1 -0
- package/dist/core/tree/deltaUtil.d.ts +19 -0
- package/dist/core/tree/deltaUtil.d.ts.map +1 -0
- package/dist/core/tree/deltaUtil.js +82 -0
- package/dist/core/tree/deltaUtil.js.map +1 -0
- package/dist/core/tree/detachedFieldIndex.d.ts +64 -0
- package/dist/core/tree/detachedFieldIndex.d.ts.map +1 -0
- package/dist/core/tree/detachedFieldIndex.js +119 -0
- package/dist/core/tree/detachedFieldIndex.js.map +1 -0
- package/dist/core/tree/detachedFieldIndexCodec.d.ts +8 -0
- package/dist/core/tree/detachedFieldIndexCodec.d.ts.map +1 -0
- package/dist/core/tree/detachedFieldIndexCodec.js +53 -0
- package/dist/core/tree/detachedFieldIndexCodec.js.map +1 -0
- package/dist/core/tree/detachedFieldIndexFormat.d.ts +18 -0
- package/dist/core/tree/detachedFieldIndexFormat.d.ts.map +1 -0
- package/dist/core/tree/detachedFieldIndexFormat.js +25 -0
- package/dist/core/tree/detachedFieldIndexFormat.js.map +1 -0
- package/dist/core/tree/detachedFieldIndexTypes.d.ts +13 -0
- package/dist/core/tree/detachedFieldIndexTypes.d.ts.map +1 -0
- package/dist/core/tree/detachedFieldIndexTypes.js +7 -0
- package/dist/core/tree/detachedFieldIndexTypes.js.map +1 -0
- package/dist/core/tree/index.d.ts +19 -0
- package/dist/core/tree/index.d.ts.map +1 -0
- package/dist/core/tree/index.js +67 -0
- package/dist/core/tree/index.js.map +1 -0
- package/dist/core/tree/mapTree.d.ts +22 -0
- package/dist/core/tree/mapTree.d.ts.map +1 -0
- package/dist/core/tree/mapTree.js +25 -0
- package/dist/core/tree/mapTree.js.map +1 -0
- package/dist/core/tree/pathTree.d.ts +156 -0
- package/dist/core/tree/pathTree.d.ts.map +1 -0
- package/dist/core/tree/pathTree.js +99 -0
- package/dist/core/tree/pathTree.js.map +1 -0
- package/dist/core/tree/persistedTreeTextFormat.d.ts +93 -0
- package/dist/core/tree/persistedTreeTextFormat.d.ts.map +1 -0
- package/dist/core/tree/persistedTreeTextFormat.js +23 -0
- package/dist/core/tree/persistedTreeTextFormat.js.map +1 -0
- package/dist/core/tree/sparseTree.d.ts +91 -0
- package/dist/core/tree/sparseTree.d.ts.map +1 -0
- package/dist/core/tree/sparseTree.js +149 -0
- package/dist/core/tree/sparseTree.js.map +1 -0
- package/dist/core/tree/treeTextFormat.d.ts +94 -0
- package/dist/core/tree/treeTextFormat.d.ts.map +1 -0
- package/dist/core/tree/treeTextFormat.js +88 -0
- package/dist/core/tree/treeTextFormat.js.map +1 -0
- package/dist/core/tree/types.d.ts +145 -0
- package/dist/core/tree/types.d.ts.map +1 -0
- package/dist/core/tree/types.js +60 -0
- package/dist/core/tree/types.js.map +1 -0
- package/dist/core/tree/visitDelta.d.ts +135 -0
- package/dist/core/tree/visitDelta.d.ts.map +1 -0
- package/dist/core/tree/visitDelta.js +304 -0
- package/dist/core/tree/visitDelta.js.map +1 -0
- package/dist/core/tree/visitPath.d.ts +103 -0
- package/dist/core/tree/visitPath.d.ts.map +1 -0
- package/dist/core/tree/visitPath.js +3 -0
- package/dist/core/tree/visitPath.js.map +1 -0
- package/dist/core/tree/visitorUtils.d.ts +37 -0
- package/dist/core/tree/visitorUtils.d.ts.map +1 -0
- package/dist/core/tree/visitorUtils.js +60 -0
- package/dist/core/tree/visitorUtils.js.map +1 -0
- package/dist/domains/index.d.ts +9 -0
- package/dist/domains/index.d.ts.map +1 -0
- package/dist/domains/index.js +23 -0
- package/dist/domains/index.js.map +1 -0
- package/dist/domains/json/index.d.ts +7 -0
- package/dist/domains/json/index.d.ts.map +1 -0
- package/dist/domains/json/index.js +16 -0
- package/dist/domains/json/index.js.map +1 -0
- package/dist/domains/json/jsonCursor.d.ts +18 -0
- package/dist/domains/json/jsonCursor.d.ts.map +1 -0
- package/dist/domains/json/jsonCursor.js +125 -0
- package/dist/domains/json/jsonCursor.js.map +1 -0
- package/dist/domains/json/jsonDomainSchema.d.ts +14 -0
- package/dist/domains/json/jsonDomainSchema.d.ts.map +1 -0
- package/dist/domains/json/jsonDomainSchema.js +24 -0
- package/dist/domains/json/jsonDomainSchema.js.map +1 -0
- package/dist/domains/leafDomain.d.ts +73 -0
- package/dist/domains/leafDomain.d.ts.map +1 -0
- package/dist/domains/leafDomain.js +89 -0
- package/dist/domains/leafDomain.js.map +1 -0
- package/dist/domains/nodeKey/index.d.ts +6 -0
- package/dist/domains/nodeKey/index.d.ts.map +1 -0
- package/dist/domains/nodeKey/index.js +12 -0
- package/dist/domains/nodeKey/index.js.map +1 -0
- package/dist/domains/nodeKey/nodeKeySchema.d.ts +30 -0
- package/dist/domains/nodeKey/nodeKeySchema.d.ts.map +1 -0
- package/dist/domains/nodeKey/nodeKeySchema.js +36 -0
- package/dist/domains/nodeKey/nodeKeySchema.js.map +1 -0
- package/dist/domains/schemaBuilder.d.ts +190 -0
- package/dist/domains/schemaBuilder.d.ts.map +1 -0
- package/dist/domains/schemaBuilder.js +204 -0
- package/dist/domains/schemaBuilder.js.map +1 -0
- package/dist/domains/testRecursiveDomain.d.ts +21 -0
- package/dist/domains/testRecursiveDomain.d.ts.map +1 -0
- package/dist/domains/testRecursiveDomain.js +42 -0
- package/dist/domains/testRecursiveDomain.js.map +1 -0
- package/dist/events/events.d.ts +187 -0
- package/dist/events/events.d.ts.map +1 -0
- package/dist/events/events.js +124 -0
- package/dist/events/events.js.map +1 -0
- package/dist/events/index.d.ts +6 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +11 -0
- package/dist/events/index.js.map +1 -0
- package/dist/external-utilities/index.d.ts +6 -0
- package/dist/external-utilities/index.d.ts.map +1 -0
- package/dist/external-utilities/index.js +10 -0
- package/dist/external-utilities/index.js.map +1 -0
- package/dist/external-utilities/typeboxValidator.d.ts +18 -0
- package/dist/external-utilities/typeboxValidator.d.ts.map +1 -0
- package/dist/external-utilities/typeboxValidator.js +30 -0
- package/dist/external-utilities/typeboxValidator.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/basicChunk.d.ts +111 -0
- package/dist/feature-libraries/chunked-forest/basicChunk.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/basicChunk.js +460 -0
- package/dist/feature-libraries/chunked-forest/basicChunk.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/chunk.d.ts +89 -0
- package/dist/feature-libraries/chunked-forest/chunk.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/chunk.js +28 -0
- package/dist/feature-libraries/chunked-forest/chunk.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/chunkTree.d.ts +156 -0
- package/dist/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/chunkTree.js +357 -0
- package/dist/feature-libraries/chunked-forest/chunkTree.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/chunkedForest.d.ts +57 -0
- package/dist/feature-libraries/chunked-forest/chunkedForest.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/chunkedForest.js +300 -0
- package/dist/feature-libraries/chunked-forest/chunkedForest.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/chunkCodecUtilities.d.ts +114 -0
- package/dist/feature-libraries/chunked-forest/codec/chunkCodecUtilities.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/chunkCodecUtilities.js +135 -0
- package/dist/feature-libraries/chunked-forest/codec/chunkCodecUtilities.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts +61 -0
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js +219 -0
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts +30 -0
- package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.js +53 -0
- package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts +81 -0
- package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js +126 -0
- package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts +32 -0
- package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/codecs.js +68 -0
- package/dist/feature-libraries/chunked-forest/codec/codecs.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts +149 -0
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js +280 -0
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/fieldBatch.d.ts +11 -0
- package/dist/feature-libraries/chunked-forest/codec/fieldBatch.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/fieldBatch.js +7 -0
- package/dist/feature-libraries/chunked-forest/codec/fieldBatch.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format.d.ts +208 -0
- package/dist/feature-libraries/chunked-forest/codec/format.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/format.js +138 -0
- package/dist/feature-libraries/chunked-forest/codec/format.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/formatGeneric.d.ts +43 -0
- package/dist/feature-libraries/chunked-forest/codec/formatGeneric.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/formatGeneric.js +45 -0
- package/dist/feature-libraries/chunked-forest/codec/formatGeneric.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/index.d.ts +8 -0
- package/dist/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/index.js +13 -0
- package/dist/feature-libraries/chunked-forest/codec/index.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/nodeShape.d.ts +23 -0
- package/dist/feature-libraries/chunked-forest/codec/nodeShape.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/nodeShape.js +94 -0
- package/dist/feature-libraries/chunked-forest/codec/nodeShape.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncoding.d.ts +28 -0
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncoding.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncoding.js +99 -0
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncoding.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts +16 -0
- package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.js +61 -0
- package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/emptyChunk.d.ts +19 -0
- package/dist/feature-libraries/chunked-forest/emptyChunk.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/emptyChunk.js +107 -0
- package/dist/feature-libraries/chunked-forest/emptyChunk.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/index.d.ts +10 -0
- package/dist/feature-libraries/chunked-forest/index.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/index.js +25 -0
- package/dist/feature-libraries/chunked-forest/index.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/sequenceChunk.d.ts +26 -0
- package/dist/feature-libraries/chunked-forest/sequenceChunk.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/sequenceChunk.js +51 -0
- package/dist/feature-libraries/chunked-forest/sequenceChunk.js.map +1 -0
- package/dist/feature-libraries/chunked-forest/uniformChunk.d.ts +186 -0
- package/dist/feature-libraries/chunked-forest/uniformChunk.d.ts.map +1 -0
- package/dist/feature-libraries/chunked-forest/uniformChunk.js +397 -0
- package/dist/feature-libraries/chunked-forest/uniformChunk.js.map +1 -0
- package/dist/feature-libraries/contextuallyTyped.d.ts +212 -0
- package/dist/feature-libraries/contextuallyTyped.d.ts.map +1 -0
- package/dist/feature-libraries/contextuallyTyped.js +342 -0
- package/dist/feature-libraries/contextuallyTyped.js.map +1 -0
- package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts +136 -0
- package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -0
- package/dist/feature-libraries/default-schema/defaultEditBuilder.js +245 -0
- package/dist/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -0
- package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts +112 -0
- package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -0
- package/dist/feature-libraries/default-schema/defaultFieldKinds.js +110 -0
- package/dist/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -0
- package/dist/feature-libraries/default-schema/defaultSchema.d.ts +11 -0
- package/dist/feature-libraries/default-schema/defaultSchema.d.ts.map +1 -0
- package/dist/feature-libraries/default-schema/defaultSchema.js +16 -0
- package/dist/feature-libraries/default-schema/defaultSchema.js.map +1 -0
- package/dist/feature-libraries/default-schema/index.d.ts +8 -0
- package/dist/feature-libraries/default-schema/index.d.ts.map +1 -0
- package/dist/feature-libraries/default-schema/index.js +18 -0
- package/dist/feature-libraries/default-schema/index.js.map +1 -0
- package/dist/feature-libraries/deltaUtils.d.ts +62 -0
- package/dist/feature-libraries/deltaUtils.d.ts.map +1 -0
- package/dist/feature-libraries/deltaUtils.js +126 -0
- package/dist/feature-libraries/deltaUtils.js.map +1 -0
- package/dist/feature-libraries/detachedFieldIndexSummarizer.d.ts +21 -0
- package/dist/feature-libraries/detachedFieldIndexSummarizer.d.ts.map +1 -0
- package/dist/feature-libraries/detachedFieldIndexSummarizer.js +46 -0
- package/dist/feature-libraries/detachedFieldIndexSummarizer.js.map +1 -0
- package/dist/feature-libraries/editableTreeBinder.d.ts +325 -0
- package/dist/feature-libraries/editableTreeBinder.d.ts.map +1 -0
- package/dist/feature-libraries/editableTreeBinder.js +578 -0
- package/dist/feature-libraries/editableTreeBinder.js.map +1 -0
- package/dist/feature-libraries/fieldGenerator.d.ts +46 -0
- package/dist/feature-libraries/fieldGenerator.d.ts.map +1 -0
- package/dist/feature-libraries/fieldGenerator.js +14 -0
- package/dist/feature-libraries/fieldGenerator.js.map +1 -0
- package/dist/feature-libraries/flex-tree/context.d.ts +87 -0
- package/dist/feature-libraries/flex-tree/context.d.ts.map +1 -0
- package/dist/feature-libraries/flex-tree/context.js +110 -0
- package/dist/feature-libraries/flex-tree/context.js.map +1 -0
- package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts +793 -0
- package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -0
- package/dist/feature-libraries/flex-tree/flexTreeTypes.js +57 -0
- package/dist/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -0
- package/dist/feature-libraries/flex-tree/index.d.ts +11 -0
- package/dist/feature-libraries/flex-tree/index.d.ts.map +1 -0
- package/dist/feature-libraries/flex-tree/index.js +24 -0
- package/dist/feature-libraries/flex-tree/index.js.map +1 -0
- package/dist/feature-libraries/flex-tree/lazyEntity.d.ts +49 -0
- package/dist/feature-libraries/flex-tree/lazyEntity.d.ts.map +1 -0
- package/dist/feature-libraries/flex-tree/lazyEntity.js +104 -0
- package/dist/feature-libraries/flex-tree/lazyEntity.js.map +1 -0
- package/dist/feature-libraries/flex-tree/lazyField.d.ts +87 -0
- package/dist/feature-libraries/flex-tree/lazyField.d.ts.map +1 -0
- package/dist/feature-libraries/flex-tree/lazyField.js +341 -0
- package/dist/feature-libraries/flex-tree/lazyField.js.map +1 -0
- package/dist/feature-libraries/flex-tree/lazyNode.d.ts +75 -0
- package/dist/feature-libraries/flex-tree/lazyNode.d.ts.map +1 -0
- package/dist/feature-libraries/flex-tree/lazyNode.js +426 -0
- package/dist/feature-libraries/flex-tree/lazyNode.js.map +1 -0
- package/dist/feature-libraries/flex-tree/navigation.d.ts +46 -0
- package/dist/feature-libraries/flex-tree/navigation.d.ts.map +1 -0
- package/dist/feature-libraries/flex-tree/navigation.js +104 -0
- package/dist/feature-libraries/flex-tree/navigation.js.map +1 -0
- package/dist/feature-libraries/flex-tree/nodeKeys.d.ts +42 -0
- package/dist/feature-libraries/flex-tree/nodeKeys.d.ts.map +1 -0
- package/dist/feature-libraries/flex-tree/nodeKeys.js +24 -0
- package/dist/feature-libraries/flex-tree/nodeKeys.js.map +1 -0
- package/dist/feature-libraries/flex-tree/treeEvents.d.ts +111 -0
- package/dist/feature-libraries/flex-tree/treeEvents.d.ts.map +1 -0
- package/dist/feature-libraries/flex-tree/treeEvents.js +7 -0
- package/dist/feature-libraries/flex-tree/treeEvents.js.map +1 -0
- package/dist/feature-libraries/flex-tree/unboxed.d.ts +24 -0
- package/dist/feature-libraries/flex-tree/unboxed.d.ts.map +1 -0
- package/dist/feature-libraries/flex-tree/unboxed.js +54 -0
- package/dist/feature-libraries/flex-tree/unboxed.js.map +1 -0
- package/dist/feature-libraries/flex-tree/utilities.d.ts +29 -0
- package/dist/feature-libraries/flex-tree/utilities.d.ts.map +1 -0
- package/dist/feature-libraries/flex-tree/utilities.js +58 -0
- package/dist/feature-libraries/flex-tree/utilities.js.map +1 -0
- package/dist/feature-libraries/forest-summary/codec.d.ts +16 -0
- package/dist/feature-libraries/forest-summary/codec.d.ts.map +1 -0
- package/dist/feature-libraries/forest-summary/codec.js +39 -0
- package/dist/feature-libraries/forest-summary/codec.js.map +1 -0
- package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts +40 -0
- package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -0
- package/dist/feature-libraries/forest-summary/forestSummarizer.js +112 -0
- package/dist/feature-libraries/forest-summary/forestSummarizer.js.map +1 -0
- package/dist/feature-libraries/forest-summary/format.d.ts +16 -0
- package/dist/feature-libraries/forest-summary/format.d.ts.map +1 -0
- package/dist/feature-libraries/forest-summary/format.js +17 -0
- package/dist/feature-libraries/forest-summary/format.js.map +1 -0
- package/dist/feature-libraries/forest-summary/index.d.ts +6 -0
- package/dist/feature-libraries/forest-summary/index.d.ts.map +1 -0
- package/dist/feature-libraries/forest-summary/index.js +10 -0
- package/dist/feature-libraries/forest-summary/index.js.map +1 -0
- package/dist/feature-libraries/incrementalSummarizationUtils.d.ts +20 -0
- package/dist/feature-libraries/incrementalSummarizationUtils.d.ts.map +1 -0
- package/dist/feature-libraries/incrementalSummarizationUtils.js +7 -0
- package/dist/feature-libraries/incrementalSummarizationUtils.js.map +1 -0
- package/dist/feature-libraries/index.d.ts +35 -0
- package/dist/feature-libraries/index.d.ts.map +1 -0
- package/dist/feature-libraries/index.js +181 -0
- package/dist/feature-libraries/index.js.map +1 -0
- package/dist/feature-libraries/mapTreeCursor.d.ts +19 -0
- package/dist/feature-libraries/mapTreeCursor.d.ts.map +1 -0
- package/dist/feature-libraries/mapTreeCursor.js +53 -0
- package/dist/feature-libraries/mapTreeCursor.js.map +1 -0
- package/dist/feature-libraries/memoizedIdRangeAllocator.d.ts +42 -0
- package/dist/feature-libraries/memoizedIdRangeAllocator.d.ts.map +1 -0
- package/dist/feature-libraries/memoizedIdRangeAllocator.js +75 -0
- package/dist/feature-libraries/memoizedIdRangeAllocator.js.map +1 -0
- package/dist/feature-libraries/mitigatedChangeFamily.d.ts +22 -0
- package/dist/feature-libraries/mitigatedChangeFamily.d.ts.map +1 -0
- package/dist/feature-libraries/mitigatedChangeFamily.js +55 -0
- package/dist/feature-libraries/mitigatedChangeFamily.js.map +1 -0
- package/dist/feature-libraries/modular-schema/comparison.d.ts +63 -0
- package/dist/feature-libraries/modular-schema/comparison.d.ts.map +1 -0
- package/dist/feature-libraries/modular-schema/comparison.js +203 -0
- package/dist/feature-libraries/modular-schema/comparison.js.map +1 -0
- package/dist/feature-libraries/modular-schema/crossFieldQueries.d.ts +37 -0
- package/dist/feature-libraries/modular-schema/crossFieldQueries.d.ts.map +1 -0
- package/dist/feature-libraries/modular-schema/crossFieldQueries.js +29 -0
- package/dist/feature-libraries/modular-schema/crossFieldQueries.js.map +1 -0
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts +140 -0
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -0
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.js +44 -0
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -0
- package/dist/feature-libraries/modular-schema/fieldKind.d.ts +94 -0
- package/dist/feature-libraries/modular-schema/fieldKind.d.ts.map +1 -0
- package/dist/feature-libraries/modular-schema/fieldKind.js +101 -0
- package/dist/feature-libraries/modular-schema/fieldKind.js.map +1 -0
- package/dist/feature-libraries/modular-schema/genericFieldKind.d.ts +27 -0
- package/dist/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -0
- package/dist/feature-libraries/modular-schema/genericFieldKind.js +168 -0
- package/dist/feature-libraries/modular-schema/genericFieldKind.js.map +1 -0
- package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.d.ts +9 -0
- package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.d.ts.map +1 -0
- package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.js +33 -0
- package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.js.map +1 -0
- package/dist/feature-libraries/modular-schema/genericFieldKindFormat.d.ts +34 -0
- package/dist/feature-libraries/modular-schema/genericFieldKindFormat.d.ts.map +1 -0
- package/dist/feature-libraries/modular-schema/genericFieldKindFormat.js +31 -0
- package/dist/feature-libraries/modular-schema/genericFieldKindFormat.js.map +1 -0
- package/dist/feature-libraries/modular-schema/genericFieldKindTypes.d.ts +23 -0
- package/dist/feature-libraries/modular-schema/genericFieldKindTypes.d.ts.map +1 -0
- package/dist/feature-libraries/modular-schema/genericFieldKindTypes.js +7 -0
- package/dist/feature-libraries/modular-schema/genericFieldKindTypes.js.map +1 -0
- package/dist/feature-libraries/modular-schema/index.d.ts +15 -0
- package/dist/feature-libraries/modular-schema/index.d.ts.map +1 -0
- package/dist/feature-libraries/modular-schema/index.js +43 -0
- package/dist/feature-libraries/modular-schema/index.js.map +1 -0
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts +12 -0
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -0
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.js +188 -0
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -0
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts +125 -0
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -0
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js +733 -0
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -0
- package/dist/feature-libraries/modular-schema/modularChangeFormat.d.ts +149 -0
- package/dist/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +1 -0
- package/dist/feature-libraries/modular-schema/modularChangeFormat.js +77 -0
- package/dist/feature-libraries/modular-schema/modularChangeFormat.js.map +1 -0
- package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts +69 -0
- package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -0
- package/dist/feature-libraries/modular-schema/modularChangeTypes.js +7 -0
- package/dist/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -0
- package/dist/feature-libraries/multiplicity.d.ts +55 -0
- package/dist/feature-libraries/multiplicity.d.ts.map +1 -0
- package/dist/feature-libraries/multiplicity.js +59 -0
- package/dist/feature-libraries/multiplicity.js.map +1 -0
- package/dist/feature-libraries/node-key/index.d.ts +8 -0
- package/dist/feature-libraries/node-key/index.d.ts.map +1 -0
- package/dist/feature-libraries/node-key/index.js +17 -0
- package/dist/feature-libraries/node-key/index.js.map +1 -0
- package/dist/feature-libraries/node-key/nodeKey.d.ts +50 -0
- package/dist/feature-libraries/node-key/nodeKey.d.ts.map +1 -0
- package/dist/feature-libraries/node-key/nodeKey.js +36 -0
- package/dist/feature-libraries/node-key/nodeKey.js.map +1 -0
- package/dist/feature-libraries/node-key/nodeKeyIndex.d.ts +41 -0
- package/dist/feature-libraries/node-key/nodeKeyIndex.d.ts.map +1 -0
- package/dist/feature-libraries/node-key/nodeKeyIndex.js +102 -0
- package/dist/feature-libraries/node-key/nodeKeyIndex.js.map +1 -0
- package/dist/feature-libraries/node-key/nodeKeyManager.d.ts +36 -0
- package/dist/feature-libraries/node-key/nodeKeyManager.d.ts.map +1 -0
- package/dist/feature-libraries/node-key/nodeKeyManager.js +66 -0
- package/dist/feature-libraries/node-key/nodeKeyManager.js.map +1 -0
- package/dist/feature-libraries/object-forest/index.d.ts +6 -0
- package/dist/feature-libraries/object-forest/index.d.ts.map +1 -0
- package/dist/feature-libraries/object-forest/index.js +10 -0
- package/dist/feature-libraries/object-forest/index.js.map +1 -0
- package/dist/feature-libraries/object-forest/objectForest.d.ts +86 -0
- package/dist/feature-libraries/object-forest/objectForest.d.ts.map +1 -0
- package/dist/feature-libraries/object-forest/objectForest.js +382 -0
- package/dist/feature-libraries/object-forest/objectForest.js.map +1 -0
- package/dist/feature-libraries/optional-field/index.d.ts +8 -0
- package/dist/feature-libraries/optional-field/index.d.ts.map +1 -0
- package/dist/feature-libraries/optional-field/index.js +16 -0
- package/dist/feature-libraries/optional-field/index.js.map +1 -0
- package/dist/feature-libraries/optional-field/optionalField.d.ts +31 -0
- package/dist/feature-libraries/optional-field/optionalField.d.ts.map +1 -0
- package/dist/feature-libraries/optional-field/optionalField.js +448 -0
- package/dist/feature-libraries/optional-field/optionalField.js.map +1 -0
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormat.d.ts +38 -0
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormat.d.ts.map +1 -0
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormat.js +26 -0
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormat.js.map +1 -0
- package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts +55 -0
- package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts.map +1 -0
- package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.js +7 -0
- package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.js.map +1 -0
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.d.ts +11 -0
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -0
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.js +86 -0
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -0
- package/dist/feature-libraries/schema-aware/index.d.ts +6 -0
- package/dist/feature-libraries/schema-aware/index.d.ts.map +1 -0
- package/dist/feature-libraries/schema-aware/index.js +7 -0
- package/dist/feature-libraries/schema-aware/index.js.map +1 -0
- package/dist/feature-libraries/schema-aware/schemaAware.d.ts +77 -0
- package/dist/feature-libraries/schema-aware/schemaAware.d.ts.map +1 -0
- package/dist/feature-libraries/schema-aware/schemaAware.js +9 -0
- package/dist/feature-libraries/schema-aware/schemaAware.js.map +1 -0
- package/dist/feature-libraries/schema-edits/index.d.ts +8 -0
- package/dist/feature-libraries/schema-edits/index.d.ts.map +1 -0
- package/dist/feature-libraries/schema-edits/index.js +12 -0
- package/dist/feature-libraries/schema-edits/index.js.map +1 -0
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +9 -0
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -0
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js +31 -0
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -0
- package/dist/feature-libraries/schema-edits/schemaChangeFormat.d.ts +53 -0
- package/dist/feature-libraries/schema-edits/schemaChangeFormat.d.ts.map +1 -0
- package/dist/feature-libraries/schema-edits/schemaChangeFormat.js +14 -0
- package/dist/feature-libraries/schema-edits/schemaChangeFormat.js.map +1 -0
- package/dist/feature-libraries/schema-edits/schemaChangeTypes.d.ts +18 -0
- package/dist/feature-libraries/schema-edits/schemaChangeTypes.d.ts.map +1 -0
- package/dist/feature-libraries/schema-edits/schemaChangeTypes.js +7 -0
- package/dist/feature-libraries/schema-edits/schemaChangeTypes.js.map +1 -0
- package/dist/feature-libraries/schema-index/codec.d.ts +13 -0
- package/dist/feature-libraries/schema-index/codec.d.ts.map +1 -0
- package/dist/feature-libraries/schema-index/codec.js +56 -0
- package/dist/feature-libraries/schema-index/codec.js.map +1 -0
- package/dist/feature-libraries/schema-index/format.d.ts +60 -0
- package/dist/feature-libraries/schema-index/format.d.ts.map +1 -0
- package/dist/feature-libraries/schema-index/format.js +33 -0
- package/dist/feature-libraries/schema-index/format.js.map +1 -0
- package/dist/feature-libraries/schema-index/index.d.ts +8 -0
- package/dist/feature-libraries/schema-index/index.d.ts.map +1 -0
- package/dist/feature-libraries/schema-index/index.js +15 -0
- package/dist/feature-libraries/schema-index/index.js.map +1 -0
- package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts +41 -0
- package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -0
- package/dist/feature-libraries/schema-index/schemaSummarizer.js +86 -0
- package/dist/feature-libraries/schema-index/schemaSummarizer.js.map +1 -0
- package/dist/feature-libraries/schemaBuilder.d.ts +31 -0
- package/dist/feature-libraries/schemaBuilder.d.ts.map +1 -0
- package/dist/feature-libraries/schemaBuilder.js +40 -0
- package/dist/feature-libraries/schemaBuilder.js.map +1 -0
- package/dist/feature-libraries/schemaBuilderBase.d.ts +217 -0
- package/dist/feature-libraries/schemaBuilderBase.d.ts.map +1 -0
- package/dist/feature-libraries/schemaBuilderBase.js +227 -0
- package/dist/feature-libraries/schemaBuilderBase.js.map +1 -0
- package/dist/feature-libraries/sequence-field/compose.d.ts +45 -0
- package/dist/feature-libraries/sequence-field/compose.d.ts.map +1 -0
- package/dist/feature-libraries/sequence-field/compose.js +438 -0
- package/dist/feature-libraries/sequence-field/compose.js.map +1 -0
- package/dist/feature-libraries/sequence-field/format.d.ts +427 -0
- package/dist/feature-libraries/sequence-field/format.d.ts.map +1 -0
- package/dist/feature-libraries/sequence-field/format.js +78 -0
- package/dist/feature-libraries/sequence-field/format.js.map +1 -0
- package/dist/feature-libraries/sequence-field/helperTypes.d.ts +34 -0
- package/dist/feature-libraries/sequence-field/helperTypes.d.ts.map +1 -0
- package/dist/feature-libraries/sequence-field/helperTypes.js +18 -0
- package/dist/feature-libraries/sequence-field/helperTypes.js.map +1 -0
- package/dist/feature-libraries/sequence-field/index.d.ts +18 -0
- package/dist/feature-libraries/sequence-field/index.d.ts.map +1 -0
- package/dist/feature-libraries/sequence-field/index.js +41 -0
- package/dist/feature-libraries/sequence-field/index.js.map +1 -0
- package/dist/feature-libraries/sequence-field/invert.d.ts +19 -0
- package/dist/feature-libraries/sequence-field/invert.d.ts.map +1 -0
- package/dist/feature-libraries/sequence-field/invert.js +221 -0
- package/dist/feature-libraries/sequence-field/invert.js.map +1 -0
- package/dist/feature-libraries/sequence-field/markListFactory.d.ts +21 -0
- package/dist/feature-libraries/sequence-field/markListFactory.d.ts.map +1 -0
- package/dist/feature-libraries/sequence-field/markListFactory.js +55 -0
- package/dist/feature-libraries/sequence-field/markListFactory.js.map +1 -0
- package/dist/feature-libraries/sequence-field/markQueue.d.ts +30 -0
- package/dist/feature-libraries/sequence-field/markQueue.d.ts.map +1 -0
- package/dist/feature-libraries/sequence-field/markQueue.js +74 -0
- package/dist/feature-libraries/sequence-field/markQueue.js.map +1 -0
- package/dist/feature-libraries/sequence-field/moveEffectTable.d.ts +48 -0
- package/dist/feature-libraries/sequence-field/moveEffectTable.d.ts.map +1 -0
- package/dist/feature-libraries/sequence-field/moveEffectTable.js +253 -0
- package/dist/feature-libraries/sequence-field/moveEffectTable.js.map +1 -0
- package/dist/feature-libraries/sequence-field/prune.d.ts +8 -0
- package/dist/feature-libraries/sequence-field/prune.d.ts.map +1 -0
- package/dist/feature-libraries/sequence-field/prune.js +25 -0
- package/dist/feature-libraries/sequence-field/prune.js.map +1 -0
- package/dist/feature-libraries/sequence-field/rebase.d.ts +26 -0
- package/dist/feature-libraries/sequence-field/rebase.d.ts.map +1 -0
- package/dist/feature-libraries/sequence-field/rebase.js +619 -0
- package/dist/feature-libraries/sequence-field/rebase.js.map +1 -0
- package/dist/feature-libraries/sequence-field/relevantRemovedRoots.d.ts +9 -0
- package/dist/feature-libraries/sequence-field/relevantRemovedRoots.d.ts.map +1 -0
- package/dist/feature-libraries/sequence-field/relevantRemovedRoots.js +50 -0
- package/dist/feature-libraries/sequence-field/relevantRemovedRoots.js.map +1 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.d.ts +10 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.d.ts.map +1 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.js +22 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.js.map +1 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeRebaser.d.ts +19 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeRebaser.d.ts.map +1 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeRebaser.js +19 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeRebaser.js.map +1 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts +10 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts.map +1 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.js +239 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.js.map +1 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.d.ts +33 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.d.ts.map +1 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.js +113 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.js.map +1 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts +9 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts.map +1 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.js +165 -0
- package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.js.map +1 -0
- package/dist/feature-libraries/sequence-field/types.d.ts +182 -0
- package/dist/feature-libraries/sequence-field/types.d.ts.map +1 -0
- package/dist/feature-libraries/sequence-field/types.js +9 -0
- package/dist/feature-libraries/sequence-field/types.js.map +1 -0
- package/dist/feature-libraries/sequence-field/utils.d.ts +198 -0
- package/dist/feature-libraries/sequence-field/utils.d.ts.map +1 -0
- package/dist/feature-libraries/sequence-field/utils.js +977 -0
- package/dist/feature-libraries/sequence-field/utils.js.map +1 -0
- package/dist/feature-libraries/storedToViewSchema.d.ts +18 -0
- package/dist/feature-libraries/storedToViewSchema.d.ts.map +1 -0
- package/dist/feature-libraries/storedToViewSchema.js +70 -0
- package/dist/feature-libraries/storedToViewSchema.js.map +1 -0
- package/dist/feature-libraries/treeCompressionUtils.d.ts +23 -0
- package/dist/feature-libraries/treeCompressionUtils.d.ts.map +1 -0
- package/dist/feature-libraries/treeCompressionUtils.js +27 -0
- package/dist/feature-libraries/treeCompressionUtils.js.map +1 -0
- package/dist/feature-libraries/treeCursorUtils.d.ts +101 -0
- package/dist/feature-libraries/treeCursorUtils.d.ts.map +1 -0
- package/dist/feature-libraries/treeCursorUtils.js +374 -0
- package/dist/feature-libraries/treeCursorUtils.js.map +1 -0
- package/dist/feature-libraries/treeTextCursor.d.ts +62 -0
- package/dist/feature-libraries/treeTextCursor.d.ts.map +1 -0
- package/dist/feature-libraries/treeTextCursor.js +104 -0
- package/dist/feature-libraries/treeTextCursor.js.map +1 -0
- package/dist/feature-libraries/typed-schema/flexList.d.ts +97 -0
- package/dist/feature-libraries/typed-schema/flexList.d.ts.map +1 -0
- package/dist/feature-libraries/typed-schema/flexList.js +58 -0
- package/dist/feature-libraries/typed-schema/flexList.js.map +1 -0
- package/dist/feature-libraries/typed-schema/index.d.ts +11 -0
- package/dist/feature-libraries/typed-schema/index.d.ts.map +1 -0
- package/dist/feature-libraries/typed-schema/index.js +61 -0
- package/dist/feature-libraries/typed-schema/index.js.map +1 -0
- package/dist/feature-libraries/typed-schema/internal.d.ts +7 -0
- package/dist/feature-libraries/typed-schema/internal.d.ts.map +1 -0
- package/dist/feature-libraries/typed-schema/internal.js +7 -0
- package/dist/feature-libraries/typed-schema/internal.js.map +1 -0
- package/dist/feature-libraries/typed-schema/schemaCollection.d.ts +67 -0
- package/dist/feature-libraries/typed-schema/schemaCollection.d.ts.map +1 -0
- package/dist/feature-libraries/typed-schema/schemaCollection.js +207 -0
- package/dist/feature-libraries/typed-schema/schemaCollection.js.map +1 -0
- package/dist/feature-libraries/typed-schema/typeUtils.d.ts +22 -0
- package/dist/feature-libraries/typed-schema/typeUtils.d.ts.map +1 -0
- package/dist/feature-libraries/typed-schema/typeUtils.js +14 -0
- package/dist/feature-libraries/typed-schema/typeUtils.js.map +1 -0
- package/dist/feature-libraries/typed-schema/typedTreeSchema.d.ts +294 -0
- package/dist/feature-libraries/typed-schema/typedTreeSchema.d.ts.map +1 -0
- package/dist/feature-libraries/typed-schema/typedTreeSchema.js +334 -0
- package/dist/feature-libraries/typed-schema/typedTreeSchema.js.map +1 -0
- package/dist/feature-libraries/typed-schema/view.d.ts +55 -0
- package/dist/feature-libraries/typed-schema/view.d.ts.map +1 -0
- package/dist/feature-libraries/typed-schema/view.js +117 -0
- package/dist/feature-libraries/typed-schema/view.js.map +1 -0
- package/dist/feature-libraries/utils.d.ts +9 -0
- package/dist/feature-libraries/utils.d.ts.map +1 -0
- package/dist/feature-libraries/utils.js +28 -0
- package/dist/feature-libraries/utils.js.map +1 -0
- package/dist/feature-libraries/valueUtilities.d.ts +21 -0
- package/dist/feature-libraries/valueUtilities.d.ts.map +1 -0
- package/dist/feature-libraries/valueUtilities.js +70 -0
- package/dist/feature-libraries/valueUtilities.js.map +1 -0
- package/dist/feature-libraries/versioned/codec.d.ts +11 -0
- package/dist/feature-libraries/versioned/codec.d.ts.map +1 -0
- package/dist/feature-libraries/versioned/codec.js +31 -0
- package/dist/feature-libraries/versioned/codec.js.map +1 -0
- package/dist/feature-libraries/versioned/format.d.ts +10 -0
- package/dist/feature-libraries/versioned/format.d.ts.map +1 -0
- package/dist/feature-libraries/versioned/format.js +12 -0
- package/dist/feature-libraries/versioned/format.js.map +1 -0
- package/dist/feature-libraries/versioned/index.d.ts +7 -0
- package/dist/feature-libraries/versioned/index.d.ts.map +1 -0
- package/dist/feature-libraries/versioned/index.js +13 -0
- package/dist/feature-libraries/versioned/index.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +133 -0
- package/dist/index.js.map +1 -0
- package/dist/internal.d.ts +8 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +11 -0
- package/dist/internal.js.map +1 -0
- package/dist/shared-tree/index.d.ts +10 -0
- package/dist/shared-tree/index.d.ts.map +1 -0
- package/dist/shared-tree/index.js +19 -0
- package/dist/shared-tree/index.js.map +1 -0
- package/dist/shared-tree/schematizedTree.d.ts +94 -0
- package/dist/shared-tree/schematizedTree.d.ts.map +1 -0
- package/dist/shared-tree/schematizedTree.js +158 -0
- package/dist/shared-tree/schematizedTree.js.map +1 -0
- package/dist/shared-tree/sharedTree.d.ts +143 -0
- package/dist/shared-tree/sharedTree.d.ts.map +1 -0
- package/dist/shared-tree/sharedTree.js +220 -0
- package/dist/shared-tree/sharedTree.js.map +1 -0
- package/dist/shared-tree/sharedTreeChangeCodecs.d.ts +11 -0
- package/dist/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -0
- package/dist/shared-tree/sharedTreeChangeCodecs.js +59 -0
- package/dist/shared-tree/sharedTreeChangeCodecs.js.map +1 -0
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts +25 -0
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -0
- package/dist/shared-tree/sharedTreeChangeFamily.js +120 -0
- package/dist/shared-tree/sharedTreeChangeFamily.js.map +1 -0
- package/dist/shared-tree/sharedTreeChangeFormat.d.ts +178 -0
- package/dist/shared-tree/sharedTreeChangeFormat.d.ts.map +1 -0
- package/dist/shared-tree/sharedTreeChangeFormat.js +15 -0
- package/dist/shared-tree/sharedTreeChangeFormat.js.map +1 -0
- package/dist/shared-tree/sharedTreeChangeTypes.d.ts +26 -0
- package/dist/shared-tree/sharedTreeChangeTypes.d.ts.map +1 -0
- package/dist/shared-tree/sharedTreeChangeTypes.js +7 -0
- package/dist/shared-tree/sharedTreeChangeTypes.js.map +1 -0
- package/dist/shared-tree/sharedTreeEditBuilder.d.ts +42 -0
- package/dist/shared-tree/sharedTreeEditBuilder.d.ts.map +1 -0
- package/dist/shared-tree/sharedTreeEditBuilder.js +34 -0
- package/dist/shared-tree/sharedTreeEditBuilder.js.map +1 -0
- package/dist/shared-tree/treeCheckout.d.ts +228 -0
- package/dist/shared-tree/treeCheckout.d.ts.map +1 -0
- package/dist/shared-tree/treeCheckout.js +190 -0
- package/dist/shared-tree/treeCheckout.js.map +1 -0
- package/dist/shared-tree/treeView.d.ts +66 -0
- package/dist/shared-tree/treeView.d.ts.map +1 -0
- package/dist/shared-tree/treeView.js +33 -0
- package/dist/shared-tree/treeView.js.map +1 -0
- package/dist/shared-tree-core/branch.d.ts +199 -0
- package/dist/shared-tree-core/branch.d.ts.map +1 -0
- package/dist/shared-tree-core/branch.js +413 -0
- package/dist/shared-tree-core/branch.js.map +1 -0
- package/dist/shared-tree-core/editManager.d.ts +126 -0
- package/dist/shared-tree-core/editManager.d.ts.map +1 -0
- package/dist/shared-tree-core/editManager.js +435 -0
- package/dist/shared-tree-core/editManager.js.map +1 -0
- package/dist/shared-tree-core/editManagerCodecs.d.ts +9 -0
- package/dist/shared-tree-core/editManagerCodecs.d.ts.map +1 -0
- package/dist/shared-tree-core/editManagerCodecs.js +52 -0
- package/dist/shared-tree-core/editManagerCodecs.js.map +1 -0
- package/dist/shared-tree-core/editManagerFormat.d.ts +68 -0
- package/dist/shared-tree-core/editManagerFormat.d.ts.map +1 -0
- package/dist/shared-tree-core/editManagerFormat.js +58 -0
- package/dist/shared-tree-core/editManagerFormat.js.map +1 -0
- package/dist/shared-tree-core/editManagerSummarizer.d.ts +25 -0
- package/dist/shared-tree-core/editManagerSummarizer.d.ts.map +1 -0
- package/dist/shared-tree-core/editManagerSummarizer.js +56 -0
- package/dist/shared-tree-core/editManagerSummarizer.js.map +1 -0
- package/dist/shared-tree-core/index.d.ts +13 -0
- package/dist/shared-tree-core/index.d.ts.map +1 -0
- package/dist/shared-tree-core/index.js +25 -0
- package/dist/shared-tree-core/index.js.map +1 -0
- package/dist/shared-tree-core/messageCodecs.d.ts +9 -0
- package/dist/shared-tree-core/messageCodecs.d.ts.map +1 -0
- package/dist/shared-tree-core/messageCodecs.js +35 -0
- package/dist/shared-tree-core/messageCodecs.js.map +1 -0
- package/dist/shared-tree-core/messageFormat.d.ts +30 -0
- package/dist/shared-tree-core/messageFormat.d.ts.map +1 -0
- package/dist/shared-tree-core/messageFormat.js +16 -0
- package/dist/shared-tree-core/messageFormat.js.map +1 -0
- package/dist/shared-tree-core/messageTypes.d.ts +10 -0
- package/dist/shared-tree-core/messageTypes.d.ts.map +1 -0
- package/dist/shared-tree-core/messageTypes.js +7 -0
- package/dist/shared-tree-core/messageTypes.js.map +1 -0
- package/dist/shared-tree-core/revisionTagCodecs.d.ts +11 -0
- package/dist/shared-tree-core/revisionTagCodecs.d.ts.map +1 -0
- package/dist/shared-tree-core/revisionTagCodecs.js +17 -0
- package/dist/shared-tree-core/revisionTagCodecs.js.map +1 -0
- package/dist/shared-tree-core/sharedTreeCore.d.ts +112 -0
- package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -0
- package/dist/shared-tree-core/sharedTreeCore.js +197 -0
- package/dist/shared-tree-core/sharedTreeCore.js.map +1 -0
- package/dist/shared-tree-core/transactionStack.d.ts +30 -0
- package/dist/shared-tree-core/transactionStack.d.ts.map +1 -0
- package/dist/shared-tree-core/transactionStack.js +42 -0
- package/dist/shared-tree-core/transactionStack.js.map +1 -0
- package/dist/simple-tree/flexNode.d.ts +34 -0
- package/dist/simple-tree/flexNode.d.ts.map +1 -0
- package/dist/simple-tree/flexNode.js +57 -0
- package/dist/simple-tree/flexNode.js.map +1 -0
- package/dist/simple-tree/index.d.ts +10 -0
- package/dist/simple-tree/index.d.ts.map +1 -0
- package/dist/simple-tree/index.js +17 -0
- package/dist/simple-tree/index.js.map +1 -0
- package/dist/simple-tree/insertable.d.ts +44 -0
- package/dist/simple-tree/insertable.d.ts.map +1 -0
- package/dist/simple-tree/insertable.js +7 -0
- package/dist/simple-tree/insertable.js.map +1 -0
- package/dist/simple-tree/objectFactory.d.ts +30 -0
- package/dist/simple-tree/objectFactory.d.ts.map +1 -0
- package/dist/simple-tree/objectFactory.js +20 -0
- package/dist/simple-tree/objectFactory.js.map +1 -0
- package/dist/simple-tree/proxies.d.ts +112 -0
- package/dist/simple-tree/proxies.d.ts.map +1 -0
- package/dist/simple-tree/proxies.js +811 -0
- package/dist/simple-tree/proxies.js.map +1 -0
- package/dist/simple-tree/rawNode.d.ts +96 -0
- package/dist/simple-tree/rawNode.d.ts.map +1 -0
- package/dist/simple-tree/rawNode.js +141 -0
- package/dist/simple-tree/rawNode.js.map +1 -0
- package/dist/simple-tree/toMapTree.d.ts +101 -0
- package/dist/simple-tree/toMapTree.d.ts.map +1 -0
- package/dist/simple-tree/toMapTree.js +299 -0
- package/dist/simple-tree/toMapTree.js.map +1 -0
- package/dist/simple-tree/treeListNode.d.ts +60 -0
- package/dist/simple-tree/treeListNode.d.ts.map +1 -0
- package/dist/simple-tree/treeListNode.js +53 -0
- package/dist/simple-tree/treeListNode.js.map +1 -0
- package/dist/simple-tree/types.d.ts +243 -0
- package/dist/simple-tree/types.d.ts.map +1 -0
- package/dist/simple-tree/types.js +21 -0
- package/dist/simple-tree/types.js.map +1 -0
- package/dist/tree-alpha.d.ts +1789 -0
- package/dist/tree-beta.d.ts +1789 -0
- package/dist/tree-public.d.ts +728 -0
- package/dist/tree-untrimmed.d.ts +6411 -0
- package/dist/treeFactory.d.ts +55 -0
- package/dist/treeFactory.d.ts.map +1 -0
- package/dist/treeFactory.js +85 -0
- package/dist/treeFactory.js.map +1 -0
- package/dist/tsdoc-metadata.json +11 -0
- package/dist/util/brand.d.ts +179 -0
- package/dist/util/brand.d.ts.map +1 -0
- package/dist/util/brand.js +130 -0
- package/dist/util/brand.js.map +1 -0
- package/dist/util/brandedMap.d.ts +46 -0
- package/dist/util/brandedMap.d.ts.map +1 -0
- package/dist/util/brandedMap.js +32 -0
- package/dist/util/brandedMap.js.map +1 -0
- package/dist/util/idAllocator.d.ts +29 -0
- package/dist/util/idAllocator.d.ts.map +1 -0
- package/dist/util/idAllocator.js +34 -0
- package/dist/util/idAllocator.js.map +1 -0
- package/dist/util/index.d.ts +18 -0
- package/dist/util/index.d.ts.map +1 -0
- package/dist/util/index.js +82 -0
- package/dist/util/index.js.map +1 -0
- package/dist/util/nestedMap.d.ts +129 -0
- package/dist/util/nestedMap.d.ts.map +1 -0
- package/dist/util/nestedMap.js +239 -0
- package/dist/util/nestedMap.js.map +1 -0
- package/dist/util/nestedSet.d.ts +9 -0
- package/dist/util/nestedSet.d.ts.map +1 -0
- package/dist/util/nestedSet.js +17 -0
- package/dist/util/nestedSet.js.map +1 -0
- package/dist/util/offsetList.d.ts +22 -0
- package/dist/util/offsetList.d.ts.map +1 -0
- package/dist/util/offsetList.js +44 -0
- package/dist/util/offsetList.js.map +1 -0
- package/dist/util/rangeMap.d.ts +40 -0
- package/dist/util/rangeMap.d.ts.map +1 -0
- package/dist/util/rangeMap.js +103 -0
- package/dist/util/rangeMap.js.map +1 -0
- package/dist/util/referenceCounting.d.ts +30 -0
- package/dist/util/referenceCounting.d.ts.map +1 -0
- package/dist/util/referenceCounting.js +34 -0
- package/dist/util/referenceCounting.js.map +1 -0
- package/dist/util/stackyIterator.d.ts +20 -0
- package/dist/util/stackyIterator.d.ts.map +1 -0
- package/dist/util/stackyIterator.js +49 -0
- package/dist/util/stackyIterator.js.map +1 -0
- package/dist/util/transactionResult.d.ts +20 -0
- package/dist/util/transactionResult.d.ts.map +1 -0
- package/dist/util/transactionResult.js +24 -0
- package/dist/util/transactionResult.js.map +1 -0
- package/dist/util/typeCheck.d.ts +183 -0
- package/dist/util/typeCheck.d.ts.map +1 -0
- package/dist/util/typeCheck.js +7 -0
- package/dist/util/typeCheck.js.map +1 -0
- package/dist/util/typeCheckTests.d.ts +60 -0
- package/dist/util/typeCheckTests.d.ts.map +1 -0
- package/dist/util/typeCheckTests.js +7 -0
- package/dist/util/typeCheckTests.js.map +1 -0
- package/dist/util/typeUtils.d.ts +129 -0
- package/dist/util/typeUtils.d.ts.map +1 -0
- package/dist/util/typeUtils.js +11 -0
- package/dist/util/typeUtils.js.map +1 -0
- package/dist/util/utils.d.ts +287 -0
- package/dist/util/utils.d.ts.map +1 -0
- package/dist/util/utils.js +376 -0
- package/dist/util/utils.js.map +1 -0
- package/docs/.attachments/UndoAfterCollab.png +0 -0
- package/docs/.attachments/UndoAfterCollabFast.png +0 -0
- package/docs/.attachments/UndoDangerZone.drawio +1 -0
- package/docs/.attachments/UndoDuringCollab.png +0 -0
- package/docs/.attachments/children.drawio.svg +297 -0
- package/docs/.attachments/data-model.drawio.svg +654 -0
- package/docs/.attachments/explicit-sequence.drawio.svg +180 -0
- package/docs/.attachments/implicit-sequence.drawio.svg +106 -0
- package/docs/.attachments/root.drawio.svg +32 -0
- package/docs/.attachments/scalar-nodes.drawio.svg +87 -0
- package/docs/.markdownlint.json +4 -0
- package/docs/README.md +22 -0
- package/docs/main/cell-model-of-collaborative-editing.md +225 -0
- package/docs/main/compatibility.md +149 -0
- package/docs/main/data-model.md +191 -0
- package/docs/main/indexes-and-branches.md +143 -0
- package/docs/main/modular-change-family.md +125 -0
- package/docs/main/repair-data.md +275 -0
- package/docs/main/schema2.md +141 -0
- package/docs/main/semantic-format.md +315 -0
- package/docs/main/stored-and-view-schema-options.md +120 -0
- package/docs/main/stored-and-view-schema.md +331 -0
- package/docs/main/tree-content-apis.md +104 -0
- package/docs/main/tree-storage.md +816 -0
- package/docs/main/undo.md +191 -0
- package/docs/main/v1-undo-example-flow.md +273 -0
- package/docs/main/v1-undo.md +591 -0
- package/docs/roadmap.md +419 -0
- package/docs/wip/anchorInterfaces.ts +81 -0
- package/docs/wip/changeset.ts +1239 -0
- package/docs/wip/inverse-changes.md +876 -0
- package/lib/class-tree/index.d.ts +15 -0
- package/lib/class-tree/index.d.ts.map +1 -0
- package/lib/class-tree/index.js +18 -0
- package/lib/class-tree/index.js.map +1 -0
- package/lib/class-tree/integerIndexable.d.ts +31 -0
- package/lib/class-tree/integerIndexable.d.ts.map +1 -0
- package/lib/class-tree/integerIndexable.js +92 -0
- package/lib/class-tree/integerIndexable.js.map +1 -0
- package/lib/class-tree/internal.d.ts +6 -0
- package/lib/class-tree/internal.d.ts.map +1 -0
- package/lib/class-tree/internal.js +7 -0
- package/lib/class-tree/internal.js.map +1 -0
- package/lib/class-tree/schemaCreationUtilities.d.ts +96 -0
- package/lib/class-tree/schemaCreationUtilities.d.ts.map +1 -0
- package/lib/class-tree/schemaCreationUtilities.js +130 -0
- package/lib/class-tree/schemaCreationUtilities.js.map +1 -0
- package/lib/class-tree/schemaFactory.d.ts +225 -0
- package/lib/class-tree/schemaFactory.d.ts.map +1 -0
- package/lib/class-tree/schemaFactory.js +325 -0
- package/lib/class-tree/schemaFactory.js.map +1 -0
- package/lib/class-tree/schemaFactoryRecursive.d.ts +41 -0
- package/lib/class-tree/schemaFactoryRecursive.d.ts.map +1 -0
- package/lib/class-tree/schemaFactoryRecursive.js +62 -0
- package/lib/class-tree/schemaFactoryRecursive.js.map +1 -0
- package/lib/class-tree/schemaTypes.d.ts +237 -0
- package/lib/class-tree/schemaTypes.d.ts.map +1 -0
- package/lib/class-tree/schemaTypes.js +67 -0
- package/lib/class-tree/schemaTypes.js.map +1 -0
- package/lib/class-tree/testRecursiveDomain.d.ts +28 -0
- package/lib/class-tree/testRecursiveDomain.d.ts.map +1 -0
- package/lib/class-tree/testRecursiveDomain.js +36 -0
- package/lib/class-tree/testRecursiveDomain.js.map +1 -0
- package/lib/class-tree/toFlexSchema.d.ts +58 -0
- package/lib/class-tree/toFlexSchema.d.ts.map +1 -0
- package/lib/class-tree/toFlexSchema.js +195 -0
- package/lib/class-tree/toFlexSchema.js.map +1 -0
- package/lib/class-tree/tree.d.ts +98 -0
- package/lib/class-tree/tree.d.ts.map +1 -0
- package/lib/class-tree/tree.js +41 -0
- package/lib/class-tree/tree.js.map +1 -0
- package/lib/class-tree/treeApi.d.ts +69 -0
- package/lib/class-tree/treeApi.d.ts.map +1 -0
- package/lib/class-tree/treeApi.js +53 -0
- package/lib/class-tree/treeApi.js.map +1 -0
- package/lib/codec/codec.d.ts +214 -0
- package/lib/codec/codec.d.ts.map +1 -0
- package/lib/codec/codec.js +160 -0
- package/lib/codec/codec.js.map +1 -0
- package/lib/codec/discriminatedUnions.d.ts +82 -0
- package/lib/codec/discriminatedUnions.d.ts.map +1 -0
- package/lib/codec/discriminatedUnions.js +87 -0
- package/lib/codec/discriminatedUnions.js.map +1 -0
- package/lib/codec/index.d.ts +8 -0
- package/lib/codec/index.d.ts.map +1 -0
- package/lib/codec/index.js +8 -0
- package/lib/codec/index.js.map +1 -0
- package/lib/codec/noopValidator.d.ts +13 -0
- package/lib/codec/noopValidator.d.ts.map +1 -0
- package/lib/codec/noopValidator.js +14 -0
- package/lib/codec/noopValidator.js.map +1 -0
- package/lib/core/change-family/changeFamily.d.ts +32 -0
- package/lib/core/change-family/changeFamily.d.ts.map +1 -0
- package/lib/core/change-family/changeFamily.js +6 -0
- package/lib/core/change-family/changeFamily.js.map +1 -0
- package/lib/core/change-family/editBuilder.d.ts +19 -0
- package/lib/core/change-family/editBuilder.d.ts.map +1 -0
- package/lib/core/change-family/editBuilder.js +21 -0
- package/lib/core/change-family/editBuilder.js.map +1 -0
- package/lib/core/change-family/index.d.ts +7 -0
- package/lib/core/change-family/index.d.ts.map +1 -0
- package/lib/core/change-family/index.js +6 -0
- package/lib/core/change-family/index.js.map +1 -0
- package/lib/core/forest/editableForest.d.ts +54 -0
- package/lib/core/forest/editableForest.d.ts.map +1 -0
- package/lib/core/forest/editableForest.js +22 -0
- package/lib/core/forest/editableForest.js.map +1 -0
- package/lib/core/forest/forest.d.ts +200 -0
- package/lib/core/forest/forest.d.ts.map +1 -0
- package/lib/core/forest/forest.js +61 -0
- package/lib/core/forest/forest.js.map +1 -0
- package/lib/core/forest/index.d.ts +7 -0
- package/lib/core/forest/index.d.ts.map +1 -0
- package/lib/core/forest/index.js +7 -0
- package/lib/core/forest/index.js.map +1 -0
- package/lib/core/index.d.ts +12 -0
- package/lib/core/index.d.ts.map +1 -0
- package/lib/core/index.js +12 -0
- package/lib/core/index.js.map +1 -0
- package/lib/core/rebase/changeRebaser.d.ts +132 -0
- package/lib/core/rebase/changeRebaser.d.ts.map +1 -0
- package/lib/core/rebase/changeRebaser.js +27 -0
- package/lib/core/rebase/changeRebaser.js.map +1 -0
- package/lib/core/rebase/index.d.ts +9 -0
- package/lib/core/rebase/index.d.ts.map +1 -0
- package/lib/core/rebase/index.js +9 -0
- package/lib/core/rebase/index.js.map +1 -0
- package/lib/core/rebase/types.d.ts +93 -0
- package/lib/core/rebase/types.d.ts.map +1 -0
- package/lib/core/rebase/types.js +51 -0
- package/lib/core/rebase/types.js.map +1 -0
- package/lib/core/rebase/utils.d.ts +215 -0
- package/lib/core/rebase/utils.d.ts.map +1 -0
- package/lib/core/rebase/utils.js +288 -0
- package/lib/core/rebase/utils.js.map +1 -0
- package/lib/core/rebase/verifyChangeRebaser.d.ts +76 -0
- package/lib/core/rebase/verifyChangeRebaser.d.ts.map +1 -0
- package/lib/core/rebase/verifyChangeRebaser.js +287 -0
- package/lib/core/rebase/verifyChangeRebaser.js.map +1 -0
- package/lib/core/revertible/index.d.ts +6 -0
- package/lib/core/revertible/index.d.ts.map +1 -0
- package/lib/core/revertible/index.js +6 -0
- package/lib/core/revertible/index.js.map +1 -0
- package/lib/core/revertible/revertible.d.ts +72 -0
- package/lib/core/revertible/revertible.d.ts.map +1 -0
- package/lib/core/revertible/revertible.js +48 -0
- package/lib/core/revertible/revertible.js.map +1 -0
- package/lib/core/schema-stored/format.d.ts +97 -0
- package/lib/core/schema-stored/format.d.ts.map +1 -0
- package/lib/core/schema-stored/format.js +62 -0
- package/lib/core/schema-stored/format.js.map +1 -0
- package/lib/core/schema-stored/index.d.ts +10 -0
- package/lib/core/schema-stored/index.d.ts.map +1 -0
- package/lib/core/schema-stored/index.js +9 -0
- package/lib/core/schema-stored/index.js.map +1 -0
- package/lib/core/schema-stored/schema.d.ts +195 -0
- package/lib/core/schema-stored/schema.d.ts.map +1 -0
- package/lib/core/schema-stored/schema.js +165 -0
- package/lib/core/schema-stored/schema.js.map +1 -0
- package/lib/core/schema-stored/storedSchemaRepository.d.ts +71 -0
- package/lib/core/schema-stored/storedSchemaRepository.d.ts.map +1 -0
- package/lib/core/schema-stored/storedSchemaRepository.js +73 -0
- package/lib/core/schema-stored/storedSchemaRepository.js.map +1 -0
- package/lib/core/schema-view/index.d.ts +6 -0
- package/lib/core/schema-view/index.d.ts.map +1 -0
- package/lib/core/schema-view/index.js +6 -0
- package/lib/core/schema-view/index.js.map +1 -0
- package/lib/core/schema-view/view.d.ts +64 -0
- package/lib/core/schema-view/view.d.ts.map +1 -0
- package/lib/core/schema-view/view.js +51 -0
- package/lib/core/schema-view/view.js.map +1 -0
- package/lib/core/tree/anchorSet.d.ts +318 -0
- package/lib/core/tree/anchorSet.d.ts.map +1 -0
- package/lib/core/tree/anchorSet.js +890 -0
- package/lib/core/tree/anchorSet.js.map +1 -0
- package/lib/core/tree/cursor.d.ts +358 -0
- package/lib/core/tree/cursor.d.ts.map +1 -0
- package/lib/core/tree/cursor.js +156 -0
- package/lib/core/tree/cursor.js.map +1 -0
- package/lib/core/tree/delta.d.ts +241 -0
- package/lib/core/tree/delta.d.ts.map +1 -0
- package/lib/core/tree/delta.js +6 -0
- package/lib/core/tree/delta.js.map +1 -0
- package/lib/core/tree/deltaUtil.d.ts +19 -0
- package/lib/core/tree/deltaUtil.d.ts.map +1 -0
- package/lib/core/tree/deltaUtil.js +70 -0
- package/lib/core/tree/deltaUtil.js.map +1 -0
- package/lib/core/tree/detachedFieldIndex.d.ts +64 -0
- package/lib/core/tree/detachedFieldIndex.d.ts.map +1 -0
- package/lib/core/tree/detachedFieldIndex.js +115 -0
- package/lib/core/tree/detachedFieldIndex.js.map +1 -0
- package/lib/core/tree/detachedFieldIndexCodec.d.ts +8 -0
- package/lib/core/tree/detachedFieldIndexCodec.d.ts.map +1 -0
- package/lib/core/tree/detachedFieldIndexCodec.js +49 -0
- package/lib/core/tree/detachedFieldIndexCodec.js.map +1 -0
- package/lib/core/tree/detachedFieldIndexFormat.d.ts +18 -0
- package/lib/core/tree/detachedFieldIndexFormat.d.ts.map +1 -0
- package/lib/core/tree/detachedFieldIndexFormat.js +22 -0
- package/lib/core/tree/detachedFieldIndexFormat.js.map +1 -0
- package/lib/core/tree/detachedFieldIndexTypes.d.ts +13 -0
- package/lib/core/tree/detachedFieldIndexTypes.d.ts.map +1 -0
- package/lib/core/tree/detachedFieldIndexTypes.js +6 -0
- package/lib/core/tree/detachedFieldIndexTypes.js.map +1 -0
- package/lib/core/tree/index.d.ts +19 -0
- package/lib/core/tree/index.d.ts.map +1 -0
- package/lib/core/tree/index.js +17 -0
- package/lib/core/tree/index.js.map +1 -0
- package/lib/core/tree/mapTree.d.ts +22 -0
- package/lib/core/tree/mapTree.d.ts.map +1 -0
- package/lib/core/tree/mapTree.js +21 -0
- package/lib/core/tree/mapTree.js.map +1 -0
- package/lib/core/tree/pathTree.d.ts +156 -0
- package/lib/core/tree/pathTree.d.ts.map +1 -0
- package/lib/core/tree/pathTree.js +90 -0
- package/lib/core/tree/pathTree.js.map +1 -0
- package/lib/core/tree/persistedTreeTextFormat.d.ts +93 -0
- package/lib/core/tree/persistedTreeTextFormat.d.ts.map +1 -0
- package/lib/core/tree/persistedTreeTextFormat.js +20 -0
- package/lib/core/tree/persistedTreeTextFormat.js.map +1 -0
- package/lib/core/tree/sparseTree.d.ts +91 -0
- package/lib/core/tree/sparseTree.d.ts.map +1 -0
- package/lib/core/tree/sparseTree.js +144 -0
- package/lib/core/tree/sparseTree.js.map +1 -0
- package/lib/core/tree/treeTextFormat.d.ts +94 -0
- package/lib/core/tree/treeTextFormat.d.ts.map +1 -0
- package/lib/core/tree/treeTextFormat.js +81 -0
- package/lib/core/tree/treeTextFormat.js.map +1 -0
- package/lib/core/tree/types.d.ts +145 -0
- package/lib/core/tree/types.d.ts.map +1 -0
- package/lib/core/tree/types.js +55 -0
- package/lib/core/tree/types.js.map +1 -0
- package/lib/core/tree/visitDelta.d.ts +135 -0
- package/lib/core/tree/visitDelta.d.ts.map +1 -0
- package/lib/core/tree/visitDelta.js +300 -0
- package/lib/core/tree/visitDelta.js.map +1 -0
- package/lib/core/tree/visitPath.d.ts +103 -0
- package/lib/core/tree/visitPath.d.ts.map +1 -0
- package/lib/core/tree/visitPath.js +2 -0
- package/lib/core/tree/visitPath.js.map +1 -0
- package/lib/core/tree/visitorUtils.d.ts +37 -0
- package/lib/core/tree/visitorUtils.d.ts.map +1 -0
- package/lib/core/tree/visitorUtils.js +53 -0
- package/lib/core/tree/visitorUtils.js.map +1 -0
- package/lib/domains/index.d.ts +9 -0
- package/lib/domains/index.d.ts.map +1 -0
- package/lib/domains/index.js +9 -0
- package/lib/domains/index.js.map +1 -0
- package/lib/domains/json/index.d.ts +7 -0
- package/lib/domains/json/index.d.ts.map +1 -0
- package/lib/domains/json/index.js +7 -0
- package/lib/domains/json/index.js.map +1 -0
- package/lib/domains/json/jsonCursor.d.ts +18 -0
- package/lib/domains/json/jsonCursor.d.ts.map +1 -0
- package/lib/domains/json/jsonCursor.js +120 -0
- package/lib/domains/json/jsonCursor.js.map +1 -0
- package/lib/domains/json/jsonDomainSchema.d.ts +14 -0
- package/lib/domains/json/jsonDomainSchema.d.ts.map +1 -0
- package/lib/domains/json/jsonDomainSchema.js +21 -0
- package/lib/domains/json/jsonDomainSchema.js.map +1 -0
- package/lib/domains/leafDomain.d.ts +73 -0
- package/lib/domains/leafDomain.d.ts.map +1 -0
- package/lib/domains/leafDomain.js +86 -0
- package/lib/domains/leafDomain.js.map +1 -0
- package/lib/domains/nodeKey/index.d.ts +6 -0
- package/lib/domains/nodeKey/index.d.ts.map +1 -0
- package/lib/domains/nodeKey/index.js +6 -0
- package/lib/domains/nodeKey/index.js.map +1 -0
- package/lib/domains/nodeKey/nodeKeySchema.d.ts +30 -0
- package/lib/domains/nodeKey/nodeKeySchema.d.ts.map +1 -0
- package/lib/domains/nodeKey/nodeKeySchema.js +33 -0
- package/lib/domains/nodeKey/nodeKeySchema.js.map +1 -0
- package/lib/domains/schemaBuilder.d.ts +190 -0
- package/lib/domains/schemaBuilder.d.ts.map +1 -0
- package/lib/domains/schemaBuilder.js +199 -0
- package/lib/domains/schemaBuilder.js.map +1 -0
- package/lib/domains/testRecursiveDomain.d.ts +21 -0
- package/lib/domains/testRecursiveDomain.d.ts.map +1 -0
- package/lib/domains/testRecursiveDomain.js +39 -0
- package/lib/domains/testRecursiveDomain.js.map +1 -0
- package/lib/events/events.d.ts +187 -0
- package/lib/events/events.d.ts.map +1 -0
- package/lib/events/events.js +119 -0
- package/lib/events/events.js.map +1 -0
- package/lib/events/index.d.ts +6 -0
- package/lib/events/index.d.ts.map +1 -0
- package/lib/events/index.js +6 -0
- package/lib/events/index.js.map +1 -0
- package/lib/external-utilities/index.d.ts +6 -0
- package/lib/external-utilities/index.d.ts.map +1 -0
- package/lib/external-utilities/index.js +6 -0
- package/lib/external-utilities/index.js.map +1 -0
- package/lib/external-utilities/typeboxValidator.d.ts +18 -0
- package/lib/external-utilities/typeboxValidator.d.ts.map +1 -0
- package/lib/external-utilities/typeboxValidator.js +27 -0
- package/lib/external-utilities/typeboxValidator.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/basicChunk.d.ts +111 -0
- package/lib/feature-libraries/chunked-forest/basicChunk.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/basicChunk.js +455 -0
- package/lib/feature-libraries/chunked-forest/basicChunk.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/chunk.d.ts +89 -0
- package/lib/feature-libraries/chunked-forest/chunk.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/chunk.js +24 -0
- package/lib/feature-libraries/chunked-forest/chunk.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/chunkTree.d.ts +156 -0
- package/lib/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/chunkTree.js +340 -0
- package/lib/feature-libraries/chunked-forest/chunkTree.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/chunkedForest.d.ts +57 -0
- package/lib/feature-libraries/chunked-forest/chunkedForest.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/chunkedForest.js +295 -0
- package/lib/feature-libraries/chunked-forest/chunkedForest.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/chunkCodecUtilities.d.ts +114 -0
- package/lib/feature-libraries/chunked-forest/codec/chunkCodecUtilities.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/chunkCodecUtilities.js +124 -0
- package/lib/feature-libraries/chunked-forest/codec/chunkCodecUtilities.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts +61 -0
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js +209 -0
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts +30 -0
- package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.js +47 -0
- package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts +81 -0
- package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js +120 -0
- package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts +32 -0
- package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/codecs.js +63 -0
- package/lib/feature-libraries/chunked-forest/codec/codecs.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts +149 -0
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js +269 -0
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/fieldBatch.d.ts +11 -0
- package/lib/feature-libraries/chunked-forest/codec/fieldBatch.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/fieldBatch.js +6 -0
- package/lib/feature-libraries/chunked-forest/codec/fieldBatch.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format.d.ts +208 -0
- package/lib/feature-libraries/chunked-forest/codec/format.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/format.js +135 -0
- package/lib/feature-libraries/chunked-forest/codec/format.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/formatGeneric.d.ts +43 -0
- package/lib/feature-libraries/chunked-forest/codec/formatGeneric.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/formatGeneric.js +41 -0
- package/lib/feature-libraries/chunked-forest/codec/formatGeneric.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/index.d.ts +8 -0
- package/lib/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/index.js +7 -0
- package/lib/feature-libraries/chunked-forest/codec/index.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/nodeShape.d.ts +23 -0
- package/lib/feature-libraries/chunked-forest/codec/nodeShape.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/nodeShape.js +89 -0
- package/lib/feature-libraries/chunked-forest/codec/nodeShape.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncoding.d.ts +28 -0
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncoding.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncoding.js +91 -0
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncoding.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts +16 -0
- package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.js +57 -0
- package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/emptyChunk.d.ts +19 -0
- package/lib/feature-libraries/chunked-forest/emptyChunk.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/emptyChunk.js +104 -0
- package/lib/feature-libraries/chunked-forest/emptyChunk.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/index.d.ts +10 -0
- package/lib/feature-libraries/chunked-forest/index.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/index.js +10 -0
- package/lib/feature-libraries/chunked-forest/index.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/sequenceChunk.d.ts +26 -0
- package/lib/feature-libraries/chunked-forest/sequenceChunk.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/sequenceChunk.js +47 -0
- package/lib/feature-libraries/chunked-forest/sequenceChunk.js.map +1 -0
- package/lib/feature-libraries/chunked-forest/uniformChunk.d.ts +186 -0
- package/lib/feature-libraries/chunked-forest/uniformChunk.d.ts.map +1 -0
- package/lib/feature-libraries/chunked-forest/uniformChunk.js +390 -0
- package/lib/feature-libraries/chunked-forest/uniformChunk.js.map +1 -0
- package/lib/feature-libraries/contextuallyTyped.d.ts +212 -0
- package/lib/feature-libraries/contextuallyTyped.d.ts.map +1 -0
- package/lib/feature-libraries/contextuallyTyped.js +324 -0
- package/lib/feature-libraries/contextuallyTyped.js.map +1 -0
- package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts +136 -0
- package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -0
- package/lib/feature-libraries/default-schema/defaultEditBuilder.js +238 -0
- package/lib/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -0
- package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts +112 -0
- package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -0
- package/lib/feature-libraries/default-schema/defaultFieldKinds.js +107 -0
- package/lib/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -0
- package/lib/feature-libraries/default-schema/defaultSchema.d.ts +11 -0
- package/lib/feature-libraries/default-schema/defaultSchema.d.ts.map +1 -0
- package/lib/feature-libraries/default-schema/defaultSchema.js +13 -0
- package/lib/feature-libraries/default-schema/defaultSchema.js.map +1 -0
- package/lib/feature-libraries/default-schema/index.d.ts +8 -0
- package/lib/feature-libraries/default-schema/index.d.ts.map +1 -0
- package/lib/feature-libraries/default-schema/index.js +8 -0
- package/lib/feature-libraries/default-schema/index.js.map +1 -0
- package/lib/feature-libraries/deltaUtils.d.ts +62 -0
- package/lib/feature-libraries/deltaUtils.d.ts.map +1 -0
- package/lib/feature-libraries/deltaUtils.js +117 -0
- package/lib/feature-libraries/deltaUtils.js.map +1 -0
- package/lib/feature-libraries/detachedFieldIndexSummarizer.d.ts +21 -0
- package/lib/feature-libraries/detachedFieldIndexSummarizer.d.ts.map +1 -0
- package/lib/feature-libraries/detachedFieldIndexSummarizer.js +42 -0
- package/lib/feature-libraries/detachedFieldIndexSummarizer.js.map +1 -0
- package/lib/feature-libraries/editableTreeBinder.d.ts +325 -0
- package/lib/feature-libraries/editableTreeBinder.d.ts.map +1 -0
- package/lib/feature-libraries/editableTreeBinder.js +567 -0
- package/lib/feature-libraries/editableTreeBinder.js.map +1 -0
- package/lib/feature-libraries/fieldGenerator.d.ts +46 -0
- package/lib/feature-libraries/fieldGenerator.d.ts.map +1 -0
- package/lib/feature-libraries/fieldGenerator.js +13 -0
- package/lib/feature-libraries/fieldGenerator.js.map +1 -0
- package/lib/feature-libraries/flex-tree/context.d.ts +87 -0
- package/lib/feature-libraries/flex-tree/context.d.ts.map +1 -0
- package/lib/feature-libraries/flex-tree/context.js +105 -0
- package/lib/feature-libraries/flex-tree/context.js.map +1 -0
- package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts +793 -0
- package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -0
- package/lib/feature-libraries/flex-tree/flexTreeTypes.js +52 -0
- package/lib/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -0
- package/lib/feature-libraries/flex-tree/index.d.ts +11 -0
- package/lib/feature-libraries/flex-tree/index.d.ts.map +1 -0
- package/lib/feature-libraries/flex-tree/index.js +8 -0
- package/lib/feature-libraries/flex-tree/index.js.map +1 -0
- package/lib/feature-libraries/flex-tree/lazyEntity.d.ts +49 -0
- package/lib/feature-libraries/flex-tree/lazyEntity.d.ts.map +1 -0
- package/lib/feature-libraries/flex-tree/lazyEntity.js +97 -0
- package/lib/feature-libraries/flex-tree/lazyEntity.js.map +1 -0
- package/lib/feature-libraries/flex-tree/lazyField.d.ts +87 -0
- package/lib/feature-libraries/flex-tree/lazyField.d.ts.map +1 -0
- package/lib/feature-libraries/flex-tree/lazyField.js +331 -0
- package/lib/feature-libraries/flex-tree/lazyField.js.map +1 -0
- package/lib/feature-libraries/flex-tree/lazyNode.d.ts +75 -0
- package/lib/feature-libraries/flex-tree/lazyNode.d.ts.map +1 -0
- package/lib/feature-libraries/flex-tree/lazyNode.js +415 -0
- package/lib/feature-libraries/flex-tree/lazyNode.js.map +1 -0
- package/lib/feature-libraries/flex-tree/navigation.d.ts +46 -0
- package/lib/feature-libraries/flex-tree/navigation.d.ts.map +1 -0
- package/lib/feature-libraries/flex-tree/navigation.js +97 -0
- package/lib/feature-libraries/flex-tree/navigation.js.map +1 -0
- package/lib/feature-libraries/flex-tree/nodeKeys.d.ts +42 -0
- package/lib/feature-libraries/flex-tree/nodeKeys.d.ts.map +1 -0
- package/lib/feature-libraries/flex-tree/nodeKeys.js +20 -0
- package/lib/feature-libraries/flex-tree/nodeKeys.js.map +1 -0
- package/lib/feature-libraries/flex-tree/treeEvents.d.ts +111 -0
- package/lib/feature-libraries/flex-tree/treeEvents.d.ts.map +1 -0
- package/lib/feature-libraries/flex-tree/treeEvents.js +6 -0
- package/lib/feature-libraries/flex-tree/treeEvents.js.map +1 -0
- package/lib/feature-libraries/flex-tree/unboxed.d.ts +24 -0
- package/lib/feature-libraries/flex-tree/unboxed.d.ts.map +1 -0
- package/lib/feature-libraries/flex-tree/unboxed.js +48 -0
- package/lib/feature-libraries/flex-tree/unboxed.js.map +1 -0
- package/lib/feature-libraries/flex-tree/utilities.d.ts +29 -0
- package/lib/feature-libraries/flex-tree/utilities.d.ts.map +1 -0
- package/lib/feature-libraries/flex-tree/utilities.js +53 -0
- package/lib/feature-libraries/flex-tree/utilities.js.map +1 -0
- package/lib/feature-libraries/forest-summary/codec.d.ts +16 -0
- package/lib/feature-libraries/forest-summary/codec.d.ts.map +1 -0
- package/lib/feature-libraries/forest-summary/codec.js +35 -0
- package/lib/feature-libraries/forest-summary/codec.js.map +1 -0
- package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts +40 -0
- package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -0
- package/lib/feature-libraries/forest-summary/forestSummarizer.js +108 -0
- package/lib/feature-libraries/forest-summary/forestSummarizer.js.map +1 -0
- package/lib/feature-libraries/forest-summary/format.d.ts +16 -0
- package/lib/feature-libraries/forest-summary/format.d.ts.map +1 -0
- package/lib/feature-libraries/forest-summary/format.js +14 -0
- package/lib/feature-libraries/forest-summary/format.js.map +1 -0
- package/lib/feature-libraries/forest-summary/index.d.ts +6 -0
- package/lib/feature-libraries/forest-summary/index.d.ts.map +1 -0
- package/lib/feature-libraries/forest-summary/index.js +6 -0
- package/lib/feature-libraries/forest-summary/index.js.map +1 -0
- package/lib/feature-libraries/incrementalSummarizationUtils.d.ts +20 -0
- package/lib/feature-libraries/incrementalSummarizationUtils.d.ts.map +1 -0
- package/lib/feature-libraries/incrementalSummarizationUtils.js +6 -0
- package/lib/feature-libraries/incrementalSummarizationUtils.js.map +1 -0
- package/lib/feature-libraries/index.d.ts +35 -0
- package/lib/feature-libraries/index.d.ts.map +1 -0
- package/lib/feature-libraries/index.js +34 -0
- package/lib/feature-libraries/index.js.map +1 -0
- package/lib/feature-libraries/mapTreeCursor.d.ts +19 -0
- package/lib/feature-libraries/mapTreeCursor.d.ts.map +1 -0
- package/lib/feature-libraries/mapTreeCursor.js +47 -0
- package/lib/feature-libraries/mapTreeCursor.js.map +1 -0
- package/lib/feature-libraries/memoizedIdRangeAllocator.d.ts +42 -0
- package/lib/feature-libraries/memoizedIdRangeAllocator.d.ts.map +1 -0
- package/lib/feature-libraries/memoizedIdRangeAllocator.js +72 -0
- package/lib/feature-libraries/memoizedIdRangeAllocator.js.map +1 -0
- package/lib/feature-libraries/mitigatedChangeFamily.d.ts +22 -0
- package/lib/feature-libraries/mitigatedChangeFamily.d.ts.map +1 -0
- package/lib/feature-libraries/mitigatedChangeFamily.js +50 -0
- package/lib/feature-libraries/mitigatedChangeFamily.js.map +1 -0
- package/lib/feature-libraries/modular-schema/comparison.d.ts +63 -0
- package/lib/feature-libraries/modular-schema/comparison.d.ts.map +1 -0
- package/lib/feature-libraries/modular-schema/comparison.js +190 -0
- package/lib/feature-libraries/modular-schema/comparison.js.map +1 -0
- package/lib/feature-libraries/modular-schema/crossFieldQueries.d.ts +37 -0
- package/lib/feature-libraries/modular-schema/crossFieldQueries.d.ts.map +1 -0
- package/lib/feature-libraries/modular-schema/crossFieldQueries.js +23 -0
- package/lib/feature-libraries/modular-schema/crossFieldQueries.js.map +1 -0
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts +140 -0
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -0
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.js +38 -0
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -0
- package/lib/feature-libraries/modular-schema/fieldKind.d.ts +94 -0
- package/lib/feature-libraries/modular-schema/fieldKind.d.ts.map +1 -0
- package/lib/feature-libraries/modular-schema/fieldKind.js +95 -0
- package/lib/feature-libraries/modular-schema/fieldKind.js.map +1 -0
- package/lib/feature-libraries/modular-schema/genericFieldKind.d.ts +27 -0
- package/lib/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -0
- package/lib/feature-libraries/modular-schema/genericFieldKind.js +163 -0
- package/lib/feature-libraries/modular-schema/genericFieldKind.js.map +1 -0
- package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.d.ts +9 -0
- package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.d.ts.map +1 -0
- package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.js +29 -0
- package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.js.map +1 -0
- package/lib/feature-libraries/modular-schema/genericFieldKindFormat.d.ts +34 -0
- package/lib/feature-libraries/modular-schema/genericFieldKindFormat.d.ts.map +1 -0
- package/lib/feature-libraries/modular-schema/genericFieldKindFormat.js +26 -0
- package/lib/feature-libraries/modular-schema/genericFieldKindFormat.js.map +1 -0
- package/lib/feature-libraries/modular-schema/genericFieldKindTypes.d.ts +23 -0
- package/lib/feature-libraries/modular-schema/genericFieldKindTypes.d.ts.map +1 -0
- package/lib/feature-libraries/modular-schema/genericFieldKindTypes.js +6 -0
- package/lib/feature-libraries/modular-schema/genericFieldKindTypes.js.map +1 -0
- package/lib/feature-libraries/modular-schema/index.d.ts +15 -0
- package/lib/feature-libraries/modular-schema/index.d.ts.map +1 -0
- package/lib/feature-libraries/modular-schema/index.js +13 -0
- package/lib/feature-libraries/modular-schema/index.js.map +1 -0
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts +12 -0
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -0
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.js +184 -0
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -0
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts +125 -0
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -0
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js +723 -0
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -0
- package/lib/feature-libraries/modular-schema/modularChangeFormat.d.ts +149 -0
- package/lib/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +1 -0
- package/lib/feature-libraries/modular-schema/modularChangeFormat.js +74 -0
- package/lib/feature-libraries/modular-schema/modularChangeFormat.js.map +1 -0
- package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts +69 -0
- package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -0
- package/lib/feature-libraries/modular-schema/modularChangeTypes.js +6 -0
- package/lib/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -0
- package/lib/feature-libraries/multiplicity.d.ts +55 -0
- package/lib/feature-libraries/multiplicity.d.ts.map +1 -0
- package/lib/feature-libraries/multiplicity.js +56 -0
- package/lib/feature-libraries/multiplicity.js.map +1 -0
- package/lib/feature-libraries/node-key/index.d.ts +8 -0
- package/lib/feature-libraries/node-key/index.d.ts.map +1 -0
- package/lib/feature-libraries/node-key/index.js +8 -0
- package/lib/feature-libraries/node-key/index.js.map +1 -0
- package/lib/feature-libraries/node-key/nodeKey.d.ts +50 -0
- package/lib/feature-libraries/node-key/nodeKey.d.ts.map +1 -0
- package/lib/feature-libraries/node-key/nodeKey.js +32 -0
- package/lib/feature-libraries/node-key/nodeKey.js.map +1 -0
- package/lib/feature-libraries/node-key/nodeKeyIndex.d.ts +41 -0
- package/lib/feature-libraries/node-key/nodeKeyIndex.d.ts.map +1 -0
- package/lib/feature-libraries/node-key/nodeKeyIndex.js +98 -0
- package/lib/feature-libraries/node-key/nodeKeyIndex.js.map +1 -0
- package/lib/feature-libraries/node-key/nodeKeyManager.d.ts +36 -0
- package/lib/feature-libraries/node-key/nodeKeyManager.d.ts.map +1 -0
- package/lib/feature-libraries/node-key/nodeKeyManager.js +61 -0
- package/lib/feature-libraries/node-key/nodeKeyManager.js.map +1 -0
- package/lib/feature-libraries/object-forest/index.d.ts +6 -0
- package/lib/feature-libraries/object-forest/index.d.ts.map +1 -0
- package/lib/feature-libraries/object-forest/index.js +6 -0
- package/lib/feature-libraries/object-forest/index.js.map +1 -0
- package/lib/feature-libraries/object-forest/objectForest.d.ts +86 -0
- package/lib/feature-libraries/object-forest/objectForest.d.ts.map +1 -0
- package/lib/feature-libraries/object-forest/objectForest.js +377 -0
- package/lib/feature-libraries/object-forest/objectForest.js.map +1 -0
- package/lib/feature-libraries/optional-field/index.d.ts +8 -0
- package/lib/feature-libraries/optional-field/index.d.ts.map +1 -0
- package/lib/feature-libraries/optional-field/index.js +7 -0
- package/lib/feature-libraries/optional-field/index.js.map +1 -0
- package/lib/feature-libraries/optional-field/optionalField.d.ts +31 -0
- package/lib/feature-libraries/optional-field/optionalField.d.ts.map +1 -0
- package/lib/feature-libraries/optional-field/optionalField.js +444 -0
- package/lib/feature-libraries/optional-field/optionalField.js.map +1 -0
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormat.d.ts +38 -0
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormat.d.ts.map +1 -0
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormat.js +22 -0
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormat.js.map +1 -0
- package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts +55 -0
- package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts.map +1 -0
- package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.js +6 -0
- package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.js.map +1 -0
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.d.ts +11 -0
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -0
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.js +82 -0
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -0
- package/lib/feature-libraries/schema-aware/index.d.ts +6 -0
- package/lib/feature-libraries/schema-aware/index.d.ts.map +1 -0
- package/lib/feature-libraries/schema-aware/index.js +6 -0
- package/lib/feature-libraries/schema-aware/index.js.map +1 -0
- package/lib/feature-libraries/schema-aware/schemaAware.d.ts +77 -0
- package/lib/feature-libraries/schema-aware/schemaAware.d.ts.map +1 -0
- package/lib/feature-libraries/schema-aware/schemaAware.js +7 -0
- package/lib/feature-libraries/schema-aware/schemaAware.js.map +1 -0
- package/lib/feature-libraries/schema-edits/index.d.ts +8 -0
- package/lib/feature-libraries/schema-edits/index.d.ts.map +1 -0
- package/lib/feature-libraries/schema-edits/index.js +7 -0
- package/lib/feature-libraries/schema-edits/index.js.map +1 -0
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +9 -0
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -0
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js +27 -0
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -0
- package/lib/feature-libraries/schema-edits/schemaChangeFormat.d.ts +53 -0
- package/lib/feature-libraries/schema-edits/schemaChangeFormat.d.ts.map +1 -0
- package/lib/feature-libraries/schema-edits/schemaChangeFormat.js +11 -0
- package/lib/feature-libraries/schema-edits/schemaChangeFormat.js.map +1 -0
- package/lib/feature-libraries/schema-edits/schemaChangeTypes.d.ts +18 -0
- package/lib/feature-libraries/schema-edits/schemaChangeTypes.d.ts.map +1 -0
- package/lib/feature-libraries/schema-edits/schemaChangeTypes.js +6 -0
- package/lib/feature-libraries/schema-edits/schemaChangeTypes.js.map +1 -0
- package/lib/feature-libraries/schema-index/codec.d.ts +13 -0
- package/lib/feature-libraries/schema-index/codec.d.ts.map +1 -0
- package/lib/feature-libraries/schema-index/codec.js +51 -0
- package/lib/feature-libraries/schema-index/codec.js.map +1 -0
- package/lib/feature-libraries/schema-index/format.d.ts +60 -0
- package/lib/feature-libraries/schema-index/format.d.ts.map +1 -0
- package/lib/feature-libraries/schema-index/format.js +30 -0
- package/lib/feature-libraries/schema-index/format.js.map +1 -0
- package/lib/feature-libraries/schema-index/index.d.ts +8 -0
- package/lib/feature-libraries/schema-index/index.d.ts.map +1 -0
- package/lib/feature-libraries/schema-index/index.js +8 -0
- package/lib/feature-libraries/schema-index/index.js.map +1 -0
- package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts +41 -0
- package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -0
- package/lib/feature-libraries/schema-index/schemaSummarizer.js +81 -0
- package/lib/feature-libraries/schema-index/schemaSummarizer.js.map +1 -0
- package/lib/feature-libraries/schemaBuilder.d.ts +31 -0
- package/lib/feature-libraries/schemaBuilder.d.ts.map +1 -0
- package/lib/feature-libraries/schemaBuilder.js +36 -0
- package/lib/feature-libraries/schemaBuilder.js.map +1 -0
- package/lib/feature-libraries/schemaBuilderBase.d.ts +217 -0
- package/lib/feature-libraries/schemaBuilderBase.d.ts.map +1 -0
- package/lib/feature-libraries/schemaBuilderBase.js +221 -0
- package/lib/feature-libraries/schemaBuilderBase.js.map +1 -0
- package/lib/feature-libraries/sequence-field/compose.d.ts +45 -0
- package/lib/feature-libraries/sequence-field/compose.d.ts.map +1 -0
- package/lib/feature-libraries/sequence-field/compose.js +432 -0
- package/lib/feature-libraries/sequence-field/compose.js.map +1 -0
- package/lib/feature-libraries/sequence-field/format.d.ts +427 -0
- package/lib/feature-libraries/sequence-field/format.d.ts.map +1 -0
- package/lib/feature-libraries/sequence-field/format.js +74 -0
- package/lib/feature-libraries/sequence-field/format.js.map +1 -0
- package/lib/feature-libraries/sequence-field/helperTypes.d.ts +34 -0
- package/lib/feature-libraries/sequence-field/helperTypes.d.ts.map +1 -0
- package/lib/feature-libraries/sequence-field/helperTypes.js +13 -0
- package/lib/feature-libraries/sequence-field/helperTypes.js.map +1 -0
- package/lib/feature-libraries/sequence-field/index.d.ts +18 -0
- package/lib/feature-libraries/sequence-field/index.d.ts.map +1 -0
- package/lib/feature-libraries/sequence-field/index.js +17 -0
- package/lib/feature-libraries/sequence-field/index.js.map +1 -0
- package/lib/feature-libraries/sequence-field/invert.d.ts +19 -0
- package/lib/feature-libraries/sequence-field/invert.d.ts.map +1 -0
- package/lib/feature-libraries/sequence-field/invert.js +217 -0
- package/lib/feature-libraries/sequence-field/invert.js.map +1 -0
- package/lib/feature-libraries/sequence-field/markListFactory.d.ts +21 -0
- package/lib/feature-libraries/sequence-field/markListFactory.d.ts.map +1 -0
- package/lib/feature-libraries/sequence-field/markListFactory.js +51 -0
- package/lib/feature-libraries/sequence-field/markListFactory.js.map +1 -0
- package/lib/feature-libraries/sequence-field/markQueue.d.ts +30 -0
- package/lib/feature-libraries/sequence-field/markQueue.d.ts.map +1 -0
- package/lib/feature-libraries/sequence-field/markQueue.js +70 -0
- package/lib/feature-libraries/sequence-field/markQueue.js.map +1 -0
- package/lib/feature-libraries/sequence-field/moveEffectTable.d.ts +48 -0
- package/lib/feature-libraries/sequence-field/moveEffectTable.d.ts.map +1 -0
- package/lib/feature-libraries/sequence-field/moveEffectTable.js +242 -0
- package/lib/feature-libraries/sequence-field/moveEffectTable.js.map +1 -0
- package/lib/feature-libraries/sequence-field/prune.d.ts +8 -0
- package/lib/feature-libraries/sequence-field/prune.d.ts.map +1 -0
- package/lib/feature-libraries/sequence-field/prune.js +21 -0
- package/lib/feature-libraries/sequence-field/prune.js.map +1 -0
- package/lib/feature-libraries/sequence-field/rebase.d.ts +26 -0
- package/lib/feature-libraries/sequence-field/rebase.d.ts.map +1 -0
- package/lib/feature-libraries/sequence-field/rebase.js +615 -0
- package/lib/feature-libraries/sequence-field/rebase.js.map +1 -0
- package/lib/feature-libraries/sequence-field/relevantRemovedRoots.d.ts +9 -0
- package/lib/feature-libraries/sequence-field/relevantRemovedRoots.d.ts.map +1 -0
- package/lib/feature-libraries/sequence-field/relevantRemovedRoots.js +46 -0
- package/lib/feature-libraries/sequence-field/relevantRemovedRoots.js.map +1 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.d.ts +10 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.d.ts.map +1 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.js +19 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.js.map +1 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeRebaser.d.ts +19 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeRebaser.d.ts.map +1 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeRebaser.js +16 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeRebaser.js.map +1 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts +10 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts.map +1 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.js +235 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.js.map +1 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.d.ts +33 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.d.ts.map +1 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.js +110 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.js.map +1 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts +9 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts.map +1 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.js +161 -0
- package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.js.map +1 -0
- package/lib/feature-libraries/sequence-field/types.d.ts +182 -0
- package/lib/feature-libraries/sequence-field/types.d.ts.map +1 -0
- package/lib/feature-libraries/sequence-field/types.js +6 -0
- package/lib/feature-libraries/sequence-field/types.js.map +1 -0
- package/lib/feature-libraries/sequence-field/utils.d.ts +198 -0
- package/lib/feature-libraries/sequence-field/utils.d.ts.map +1 -0
- package/lib/feature-libraries/sequence-field/utils.js +924 -0
- package/lib/feature-libraries/sequence-field/utils.js.map +1 -0
- package/lib/feature-libraries/storedToViewSchema.d.ts +18 -0
- package/lib/feature-libraries/storedToViewSchema.d.ts.map +1 -0
- package/lib/feature-libraries/storedToViewSchema.js +65 -0
- package/lib/feature-libraries/storedToViewSchema.js.map +1 -0
- package/lib/feature-libraries/treeCompressionUtils.d.ts +23 -0
- package/lib/feature-libraries/treeCompressionUtils.d.ts.map +1 -0
- package/lib/feature-libraries/treeCompressionUtils.js +24 -0
- package/lib/feature-libraries/treeCompressionUtils.js.map +1 -0
- package/lib/feature-libraries/treeCursorUtils.d.ts +101 -0
- package/lib/feature-libraries/treeCursorUtils.d.ts.map +1 -0
- package/lib/feature-libraries/treeCursorUtils.js +364 -0
- package/lib/feature-libraries/treeCursorUtils.js.map +1 -0
- package/lib/feature-libraries/treeTextCursor.d.ts +62 -0
- package/lib/feature-libraries/treeTextCursor.d.ts.map +1 -0
- package/lib/feature-libraries/treeTextCursor.js +96 -0
- package/lib/feature-libraries/treeTextCursor.js.map +1 -0
- package/lib/feature-libraries/typed-schema/flexList.d.ts +97 -0
- package/lib/feature-libraries/typed-schema/flexList.d.ts.map +1 -0
- package/lib/feature-libraries/typed-schema/flexList.js +51 -0
- package/lib/feature-libraries/typed-schema/flexList.js.map +1 -0
- package/lib/feature-libraries/typed-schema/index.d.ts +11 -0
- package/lib/feature-libraries/typed-schema/index.d.ts.map +1 -0
- package/lib/feature-libraries/typed-schema/index.js +12 -0
- package/lib/feature-libraries/typed-schema/index.js.map +1 -0
- package/lib/feature-libraries/typed-schema/internal.d.ts +7 -0
- package/lib/feature-libraries/typed-schema/internal.d.ts.map +1 -0
- package/lib/feature-libraries/typed-schema/internal.js +6 -0
- package/lib/feature-libraries/typed-schema/internal.js.map +1 -0
- package/lib/feature-libraries/typed-schema/schemaCollection.d.ts +67 -0
- package/lib/feature-libraries/typed-schema/schemaCollection.d.ts.map +1 -0
- package/lib/feature-libraries/typed-schema/schemaCollection.js +199 -0
- package/lib/feature-libraries/typed-schema/schemaCollection.js.map +1 -0
- package/lib/feature-libraries/typed-schema/typeUtils.d.ts +22 -0
- package/lib/feature-libraries/typed-schema/typeUtils.d.ts.map +1 -0
- package/lib/feature-libraries/typed-schema/typeUtils.js +10 -0
- package/lib/feature-libraries/typed-schema/typeUtils.js.map +1 -0
- package/lib/feature-libraries/typed-schema/typedTreeSchema.d.ts +294 -0
- package/lib/feature-libraries/typed-schema/typedTreeSchema.d.ts.map +1 -0
- package/lib/feature-libraries/typed-schema/typedTreeSchema.js +316 -0
- package/lib/feature-libraries/typed-schema/typedTreeSchema.js.map +1 -0
- package/lib/feature-libraries/typed-schema/view.d.ts +55 -0
- package/lib/feature-libraries/typed-schema/view.d.ts.map +1 -0
- package/lib/feature-libraries/typed-schema/view.js +113 -0
- package/lib/feature-libraries/typed-schema/view.js.map +1 -0
- package/lib/feature-libraries/utils.d.ts +9 -0
- package/lib/feature-libraries/utils.d.ts.map +1 -0
- package/lib/feature-libraries/utils.js +23 -0
- package/lib/feature-libraries/utils.js.map +1 -0
- package/lib/feature-libraries/valueUtilities.d.ts +21 -0
- package/lib/feature-libraries/valueUtilities.d.ts.map +1 -0
- package/lib/feature-libraries/valueUtilities.js +62 -0
- package/lib/feature-libraries/valueUtilities.js.map +1 -0
- package/lib/feature-libraries/versioned/codec.d.ts +11 -0
- package/lib/feature-libraries/versioned/codec.d.ts.map +1 -0
- package/lib/feature-libraries/versioned/codec.js +26 -0
- package/lib/feature-libraries/versioned/codec.js.map +1 -0
- package/lib/feature-libraries/versioned/format.d.ts +10 -0
- package/lib/feature-libraries/versioned/format.d.ts.map +1 -0
- package/lib/feature-libraries/versioned/format.js +9 -0
- package/lib/feature-libraries/versioned/format.js.map +1 -0
- package/lib/feature-libraries/versioned/index.d.ts +7 -0
- package/lib/feature-libraries/versioned/index.d.ts.map +1 -0
- package/lib/feature-libraries/versioned/index.js +7 -0
- package/lib/feature-libraries/versioned/index.js.map +1 -0
- package/lib/index.d.ts +21 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +26 -0
- package/lib/index.js.map +1 -0
- package/lib/internal.d.ts +8 -0
- package/lib/internal.d.ts.map +1 -0
- package/lib/internal.js +6 -0
- package/lib/internal.js.map +1 -0
- package/lib/shared-tree/index.d.ts +10 -0
- package/lib/shared-tree/index.d.ts.map +1 -0
- package/lib/shared-tree/index.js +9 -0
- package/lib/shared-tree/index.js.map +1 -0
- package/lib/shared-tree/schematizedTree.d.ts +94 -0
- package/lib/shared-tree/schematizedTree.d.ts.map +1 -0
- package/lib/shared-tree/schematizedTree.js +151 -0
- package/lib/shared-tree/schematizedTree.js.map +1 -0
- package/lib/shared-tree/sharedTree.d.ts +143 -0
- package/lib/shared-tree/sharedTree.d.ts.map +1 -0
- package/lib/shared-tree/sharedTree.js +215 -0
- package/lib/shared-tree/sharedTree.js.map +1 -0
- package/lib/shared-tree/sharedTreeChangeCodecs.d.ts +11 -0
- package/lib/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -0
- package/lib/shared-tree/sharedTreeChangeCodecs.js +54 -0
- package/lib/shared-tree/sharedTreeChangeCodecs.js.map +1 -0
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts +25 -0
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -0
- package/lib/shared-tree/sharedTreeChangeFamily.js +116 -0
- package/lib/shared-tree/sharedTreeChangeFamily.js.map +1 -0
- package/lib/shared-tree/sharedTreeChangeFormat.d.ts +178 -0
- package/lib/shared-tree/sharedTreeChangeFormat.d.ts.map +1 -0
- package/lib/shared-tree/sharedTreeChangeFormat.js +12 -0
- package/lib/shared-tree/sharedTreeChangeFormat.js.map +1 -0
- package/lib/shared-tree/sharedTreeChangeTypes.d.ts +26 -0
- package/lib/shared-tree/sharedTreeChangeTypes.d.ts.map +1 -0
- package/lib/shared-tree/sharedTreeChangeTypes.js +6 -0
- package/lib/shared-tree/sharedTreeChangeTypes.js.map +1 -0
- package/lib/shared-tree/sharedTreeEditBuilder.d.ts +42 -0
- package/lib/shared-tree/sharedTreeEditBuilder.d.ts.map +1 -0
- package/lib/shared-tree/sharedTreeEditBuilder.js +30 -0
- package/lib/shared-tree/sharedTreeEditBuilder.js.map +1 -0
- package/lib/shared-tree/treeCheckout.d.ts +228 -0
- package/lib/shared-tree/treeCheckout.d.ts.map +1 -0
- package/lib/shared-tree/treeCheckout.js +184 -0
- package/lib/shared-tree/treeCheckout.js.map +1 -0
- package/lib/shared-tree/treeView.d.ts +66 -0
- package/lib/shared-tree/treeView.d.ts.map +1 -0
- package/lib/shared-tree/treeView.js +29 -0
- package/lib/shared-tree/treeView.js.map +1 -0
- package/lib/shared-tree-core/branch.d.ts +199 -0
- package/lib/shared-tree-core/branch.d.ts.map +1 -0
- package/lib/shared-tree-core/branch.js +407 -0
- package/lib/shared-tree-core/branch.js.map +1 -0
- package/lib/shared-tree-core/editManager.d.ts +126 -0
- package/lib/shared-tree-core/editManager.d.ts.map +1 -0
- package/lib/shared-tree-core/editManager.js +428 -0
- package/lib/shared-tree-core/editManager.js.map +1 -0
- package/lib/shared-tree-core/editManagerCodecs.d.ts +9 -0
- package/lib/shared-tree-core/editManagerCodecs.d.ts.map +1 -0
- package/lib/shared-tree-core/editManagerCodecs.js +48 -0
- package/lib/shared-tree-core/editManagerCodecs.js.map +1 -0
- package/lib/shared-tree-core/editManagerFormat.d.ts +68 -0
- package/lib/shared-tree-core/editManagerFormat.d.ts.map +1 -0
- package/lib/shared-tree-core/editManagerFormat.js +49 -0
- package/lib/shared-tree-core/editManagerFormat.js.map +1 -0
- package/lib/shared-tree-core/editManagerSummarizer.d.ts +25 -0
- package/lib/shared-tree-core/editManagerSummarizer.d.ts.map +1 -0
- package/lib/shared-tree-core/editManagerSummarizer.js +52 -0
- package/lib/shared-tree-core/editManagerSummarizer.js.map +1 -0
- package/lib/shared-tree-core/index.d.ts +13 -0
- package/lib/shared-tree-core/index.d.ts.map +1 -0
- package/lib/shared-tree-core/index.js +12 -0
- package/lib/shared-tree-core/index.js.map +1 -0
- package/lib/shared-tree-core/messageCodecs.d.ts +9 -0
- package/lib/shared-tree-core/messageCodecs.d.ts.map +1 -0
- package/lib/shared-tree-core/messageCodecs.js +31 -0
- package/lib/shared-tree-core/messageCodecs.js.map +1 -0
- package/lib/shared-tree-core/messageFormat.d.ts +30 -0
- package/lib/shared-tree-core/messageFormat.d.ts.map +1 -0
- package/lib/shared-tree-core/messageFormat.js +12 -0
- package/lib/shared-tree-core/messageFormat.js.map +1 -0
- package/lib/shared-tree-core/messageTypes.d.ts +10 -0
- package/lib/shared-tree-core/messageTypes.d.ts.map +1 -0
- package/lib/shared-tree-core/messageTypes.js +6 -0
- package/lib/shared-tree-core/messageTypes.js.map +1 -0
- package/lib/shared-tree-core/revisionTagCodecs.d.ts +11 -0
- package/lib/shared-tree-core/revisionTagCodecs.d.ts.map +1 -0
- package/lib/shared-tree-core/revisionTagCodecs.js +13 -0
- package/lib/shared-tree-core/revisionTagCodecs.js.map +1 -0
- package/lib/shared-tree-core/sharedTreeCore.d.ts +112 -0
- package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -0
- package/lib/shared-tree-core/sharedTreeCore.js +193 -0
- package/lib/shared-tree-core/sharedTreeCore.js.map +1 -0
- package/lib/shared-tree-core/transactionStack.d.ts +30 -0
- package/lib/shared-tree-core/transactionStack.d.ts.map +1 -0
- package/lib/shared-tree-core/transactionStack.js +38 -0
- package/lib/shared-tree-core/transactionStack.js.map +1 -0
- package/lib/simple-tree/flexNode.d.ts +34 -0
- package/lib/simple-tree/flexNode.d.ts.map +1 -0
- package/lib/simple-tree/flexNode.js +50 -0
- package/lib/simple-tree/flexNode.js.map +1 -0
- package/lib/simple-tree/index.d.ts +10 -0
- package/lib/simple-tree/index.d.ts.map +1 -0
- package/lib/simple-tree/index.js +9 -0
- package/lib/simple-tree/index.js.map +1 -0
- package/lib/simple-tree/insertable.d.ts +44 -0
- package/lib/simple-tree/insertable.d.ts.map +1 -0
- package/lib/simple-tree/insertable.js +6 -0
- package/lib/simple-tree/insertable.js.map +1 -0
- package/lib/simple-tree/objectFactory.d.ts +30 -0
- package/lib/simple-tree/objectFactory.d.ts.map +1 -0
- package/lib/simple-tree/objectFactory.js +16 -0
- package/lib/simple-tree/objectFactory.js.map +1 -0
- package/lib/simple-tree/proxies.d.ts +112 -0
- package/lib/simple-tree/proxies.d.ts.map +1 -0
- package/lib/simple-tree/proxies.js +800 -0
- package/lib/simple-tree/proxies.js.map +1 -0
- package/lib/simple-tree/rawNode.d.ts +96 -0
- package/lib/simple-tree/rawNode.d.ts.map +1 -0
- package/lib/simple-tree/rawNode.js +132 -0
- package/lib/simple-tree/rawNode.js.map +1 -0
- package/lib/simple-tree/toMapTree.d.ts +101 -0
- package/lib/simple-tree/toMapTree.d.ts.map +1 -0
- package/lib/simple-tree/toMapTree.js +291 -0
- package/lib/simple-tree/toMapTree.js.map +1 -0
- package/lib/simple-tree/treeListNode.d.ts +60 -0
- package/lib/simple-tree/treeListNode.d.ts.map +1 -0
- package/lib/simple-tree/treeListNode.js +49 -0
- package/lib/simple-tree/treeListNode.js.map +1 -0
- package/lib/simple-tree/types.d.ts +243 -0
- package/lib/simple-tree/types.d.ts.map +1 -0
- package/lib/simple-tree/types.js +17 -0
- package/lib/simple-tree/types.js.map +1 -0
- package/lib/treeFactory.d.ts +55 -0
- package/lib/treeFactory.d.ts.map +1 -0
- package/lib/treeFactory.js +80 -0
- package/lib/treeFactory.js.map +1 -0
- package/lib/util/brand.d.ts +179 -0
- package/lib/util/brand.d.ts.map +1 -0
- package/lib/util/brand.js +118 -0
- package/lib/util/brand.js.map +1 -0
- package/lib/util/brandedMap.d.ts +46 -0
- package/lib/util/brandedMap.d.ts.map +1 -0
- package/lib/util/brandedMap.js +27 -0
- package/lib/util/brandedMap.js.map +1 -0
- package/lib/util/idAllocator.d.ts +29 -0
- package/lib/util/idAllocator.d.ts.map +1 -0
- package/lib/util/idAllocator.js +29 -0
- package/lib/util/idAllocator.js.map +1 -0
- package/lib/util/index.d.ts +18 -0
- package/lib/util/index.d.ts.map +1 -0
- package/lib/util/index.js +16 -0
- package/lib/util/index.js.map +1 -0
- package/lib/util/nestedMap.d.ts +129 -0
- package/lib/util/nestedMap.d.ts.map +1 -0
- package/lib/util/nestedMap.js +224 -0
- package/lib/util/nestedMap.js.map +1 -0
- package/lib/util/nestedSet.d.ts +9 -0
- package/lib/util/nestedSet.d.ts.map +1 -0
- package/lib/util/nestedSet.js +12 -0
- package/lib/util/nestedSet.js.map +1 -0
- package/lib/util/offsetList.d.ts +22 -0
- package/lib/util/offsetList.d.ts.map +1 -0
- package/lib/util/offsetList.js +40 -0
- package/lib/util/offsetList.js.map +1 -0
- package/lib/util/rangeMap.d.ts +40 -0
- package/lib/util/rangeMap.d.ts.map +1 -0
- package/lib/util/rangeMap.js +97 -0
- package/lib/util/rangeMap.js.map +1 -0
- package/lib/util/referenceCounting.d.ts +30 -0
- package/lib/util/referenceCounting.d.ts.map +1 -0
- package/lib/util/referenceCounting.js +30 -0
- package/lib/util/referenceCounting.js.map +1 -0
- package/lib/util/stackyIterator.d.ts +20 -0
- package/lib/util/stackyIterator.d.ts.map +1 -0
- package/lib/util/stackyIterator.js +45 -0
- package/lib/util/stackyIterator.js.map +1 -0
- package/lib/util/transactionResult.d.ts +20 -0
- package/lib/util/transactionResult.d.ts.map +1 -0
- package/lib/util/transactionResult.js +21 -0
- package/lib/util/transactionResult.js.map +1 -0
- package/lib/util/typeCheck.d.ts +183 -0
- package/lib/util/typeCheck.d.ts.map +1 -0
- package/lib/util/typeCheck.js +6 -0
- package/lib/util/typeCheck.js.map +1 -0
- package/lib/util/typeCheckTests.d.ts +60 -0
- package/lib/util/typeCheckTests.d.ts.map +1 -0
- package/lib/util/typeCheckTests.js +6 -0
- package/lib/util/typeCheckTests.js.map +1 -0
- package/lib/util/typeUtils.d.ts +129 -0
- package/lib/util/typeUtils.d.ts.map +1 -0
- package/lib/util/typeUtils.js +10 -0
- package/lib/util/typeUtils.js.map +1 -0
- package/lib/util/utils.d.ts +287 -0
- package/lib/util/utils.d.ts.map +1 -0
- package/lib/util/utils.js +346 -0
- package/lib/util/utils.js.map +1 -0
- package/package.json +129 -0
- package/prettier.config.cjs +8 -0
- package/src/class-tree/README.md +67 -0
- package/src/class-tree/index.ts +43 -0
- package/src/class-tree/integerIndexable.ts +120 -0
- package/src/class-tree/internal.ts +20 -0
- package/src/class-tree/schemaCreationUtilities.ts +178 -0
- package/src/class-tree/schemaFactory.ts +685 -0
- package/src/class-tree/schemaFactoryRecursive.ts +95 -0
- package/src/class-tree/schemaTypes.ts +334 -0
- package/src/class-tree/testRecursiveDomain.ts +47 -0
- package/src/class-tree/toFlexSchema.ts +279 -0
- package/src/class-tree/tree.ts +123 -0
- package/src/class-tree/treeApi.ts +147 -0
- package/src/codec/README.md +15 -0
- package/src/codec/codec.ts +346 -0
- package/src/codec/discriminatedUnions.ts +114 -0
- package/src/codec/index.ts +23 -0
- package/src/codec/noopValidator.ts +17 -0
- package/src/core/README.md +9 -0
- package/src/core/change-family/README.md +14 -0
- package/src/core/change-family/changeFamily.ts +36 -0
- package/src/core/change-family/editBuilder.ts +25 -0
- package/src/core/change-family/index.ts +7 -0
- package/src/core/forest/README.md +11 -0
- package/src/core/forest/editableForest.ts +81 -0
- package/src/core/forest/forest.ts +263 -0
- package/src/core/forest/index.ts +22 -0
- package/src/core/index.ts +193 -0
- package/src/core/rebase/README.md +5 -0
- package/src/core/rebase/changeRebaser.ts +169 -0
- package/src/core/rebase/index.ts +51 -0
- package/src/core/rebase/types.ts +129 -0
- package/src/core/rebase/utils.ts +538 -0
- package/src/core/rebase/verifyChangeRebaser.ts +385 -0
- package/src/core/revertible/index.ts +6 -0
- package/src/core/revertible/revertible.ts +75 -0
- package/src/core/schema-stored/README.md +11 -0
- package/src/core/schema-stored/format.ts +115 -0
- package/src/core/schema-stored/index.ts +36 -0
- package/src/core/schema-stored/schema.ts +313 -0
- package/src/core/schema-stored/storedSchemaRepository.ts +136 -0
- package/src/core/schema-view/README.md +9 -0
- package/src/core/schema-view/index.ts +6 -0
- package/src/core/schema-view/view.ts +76 -0
- package/src/core/tree/README.md +15 -0
- package/src/core/tree/anchorSet.ts +1219 -0
- package/src/core/tree/cursor.ts +486 -0
- package/src/core/tree/delta.ts +255 -0
- package/src/core/tree/deltaUtil.ts +102 -0
- package/src/core/tree/detachedFieldIndex.ts +170 -0
- package/src/core/tree/detachedFieldIndexCodec.ts +59 -0
- package/src/core/tree/detachedFieldIndexFormat.ts +35 -0
- package/src/core/tree/detachedFieldIndexTypes.ts +15 -0
- package/src/core/tree/index.ts +114 -0
- package/src/core/tree/mapTree.ts +37 -0
- package/src/core/tree/pathTree.ts +228 -0
- package/src/core/tree/persistedTreeTextFormat.ts +93 -0
- package/src/core/tree/sparseTree.ts +160 -0
- package/src/core/tree/treeTextFormat.ts +179 -0
- package/src/core/tree/types.ts +170 -0
- package/src/core/tree/visitDelta.ts +482 -0
- package/src/core/tree/visitPath.ts +125 -0
- package/src/core/tree/visitorUtils.ts +106 -0
- package/src/domains/README.md +6 -0
- package/src/domains/fence.json +5 -0
- package/src/domains/index.ts +18 -0
- package/src/domains/json/fence.json +5 -0
- package/src/domains/json/index.ts +7 -0
- package/src/domains/json/jsonCursor.ts +137 -0
- package/src/domains/json/jsonDomainSchema.ts +49 -0
- package/src/domains/leafDomain.ts +98 -0
- package/src/domains/nodeKey/fence.json +5 -0
- package/src/domains/nodeKey/index.ts +6 -0
- package/src/domains/nodeKey/nodeKeySchema.ts +43 -0
- package/src/domains/schemaBuilder.ts +392 -0
- package/src/domains/testRecursiveDomain.ts +56 -0
- package/src/events/README.md +3 -0
- package/src/events/events.ts +282 -0
- package/src/events/fence.json +5 -0
- package/src/events/index.ts +17 -0
- package/src/external-utilities/README.md +5 -0
- package/src/external-utilities/fence.json +5 -0
- package/src/external-utilities/index.ts +6 -0
- package/src/external-utilities/typeboxValidator.ts +30 -0
- package/src/feature-libraries/README.md +140 -0
- package/src/feature-libraries/chunked-forest/README.md +13 -0
- package/src/feature-libraries/chunked-forest/basicChunk.ts +564 -0
- package/src/feature-libraries/chunked-forest/chunk.ts +109 -0
- package/src/feature-libraries/chunked-forest/chunkTree.ts +506 -0
- package/src/feature-libraries/chunked-forest/chunkedForest.ts +443 -0
- package/src/feature-libraries/chunked-forest/codec/README.md +55 -0
- package/src/feature-libraries/chunked-forest/codec/chunkCodecUtilities.ts +183 -0
- package/src/feature-libraries/chunked-forest/codec/chunkDecoding.ts +274 -0
- package/src/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.ts +72 -0
- package/src/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.ts +179 -0
- package/src/feature-libraries/chunked-forest/codec/codecs.ts +101 -0
- package/src/feature-libraries/chunked-forest/codec/compressedEncode.ts +486 -0
- package/src/feature-libraries/chunked-forest/codec/fieldBatch.ts +12 -0
- package/src/feature-libraries/chunked-forest/codec/format.ts +171 -0
- package/src/feature-libraries/chunked-forest/codec/formatGeneric.ts +63 -0
- package/src/feature-libraries/chunked-forest/codec/index.ts +8 -0
- package/src/feature-libraries/chunked-forest/codec/nodeShape.ts +148 -0
- package/src/feature-libraries/chunked-forest/codec/schemaBasedEncoding.ts +148 -0
- package/src/feature-libraries/chunked-forest/codec/uncompressedEncode.ts +65 -0
- package/src/feature-libraries/chunked-forest/emptyChunk.ts +114 -0
- package/src/feature-libraries/chunked-forest/index.ts +23 -0
- package/src/feature-libraries/chunked-forest/sequenceChunk.ts +62 -0
- package/src/feature-libraries/chunked-forest/uniformChunk.ts +524 -0
- package/src/feature-libraries/contextuallyTyped.ts +583 -0
- package/src/feature-libraries/default-schema/README.md +3 -0
- package/src/feature-libraries/default-schema/defaultEditBuilder.ts +428 -0
- package/src/feature-libraries/default-schema/defaultFieldKinds.ts +218 -0
- package/src/feature-libraries/default-schema/defaultSchema.ts +15 -0
- package/src/feature-libraries/default-schema/index.ts +28 -0
- package/src/feature-libraries/deltaUtils.ts +152 -0
- package/src/feature-libraries/detachedFieldIndexSummarizer.ts +68 -0
- package/src/feature-libraries/editableTreeBinder.ts +1018 -0
- package/src/feature-libraries/fieldGenerator.ts +49 -0
- package/src/feature-libraries/flex-tree/README.md +132 -0
- package/src/feature-libraries/flex-tree/context.ts +163 -0
- package/src/feature-libraries/flex-tree/flexTreeTypes.ts +1035 -0
- package/src/feature-libraries/flex-tree/index.ts +59 -0
- package/src/feature-libraries/flex-tree/lazyEntity.ts +152 -0
- package/src/feature-libraries/flex-tree/lazyField.ts +598 -0
- package/src/feature-libraries/flex-tree/lazyNode.ts +690 -0
- package/src/feature-libraries/flex-tree/navigation.ts +121 -0
- package/src/feature-libraries/flex-tree/nodeKeys.ts +51 -0
- package/src/feature-libraries/flex-tree/treeEvents.ts +117 -0
- package/src/feature-libraries/flex-tree/unboxed.ts +77 -0
- package/src/feature-libraries/flex-tree/utilities.ts +74 -0
- package/src/feature-libraries/forest-summary/codec.ts +50 -0
- package/src/feature-libraries/forest-summary/forestSummarizer.ts +176 -0
- package/src/feature-libraries/forest-summary/format.ts +21 -0
- package/src/feature-libraries/forest-summary/index.ts +6 -0
- package/src/feature-libraries/incrementalSummarizationUtils.ts +20 -0
- package/src/feature-libraries/index.ts +299 -0
- package/src/feature-libraries/mapTreeCursor.ts +75 -0
- package/src/feature-libraries/memoizedIdRangeAllocator.ts +120 -0
- package/src/feature-libraries/mitigatedChangeFamily.ts +71 -0
- package/src/feature-libraries/modular-schema/README.md +22 -0
- package/src/feature-libraries/modular-schema/comparison.ts +307 -0
- package/src/feature-libraries/modular-schema/crossFieldQueries.ts +85 -0
- package/src/feature-libraries/modular-schema/fieldChangeHandler.ts +226 -0
- package/src/feature-libraries/modular-schema/fieldKind.ts +149 -0
- package/src/feature-libraries/modular-schema/genericFieldKind.ts +231 -0
- package/src/feature-libraries/modular-schema/genericFieldKindCodecs.ts +39 -0
- package/src/feature-libraries/modular-schema/genericFieldKindFormat.ts +45 -0
- package/src/feature-libraries/modular-schema/genericFieldKindTypes.ts +25 -0
- package/src/feature-libraries/modular-schema/index.ts +65 -0
- package/src/feature-libraries/modular-schema/modularChangeCodecs.ts +284 -0
- package/src/feature-libraries/modular-schema/modularChangeFamily.ts +1359 -0
- package/src/feature-libraries/modular-schema/modularChangeFormat.ts +147 -0
- package/src/feature-libraries/modular-schema/modularChangeTypes.ts +85 -0
- package/src/feature-libraries/multiplicity.ts +54 -0
- package/src/feature-libraries/node-key/README.md +11 -0
- package/src/feature-libraries/node-key/index.ts +16 -0
- package/src/feature-libraries/node-key/nodeKey.ts +58 -0
- package/src/feature-libraries/node-key/nodeKeyIndex.ts +125 -0
- package/src/feature-libraries/node-key/nodeKeyManager.ts +107 -0
- package/src/feature-libraries/object-forest/README.md +7 -0
- package/src/feature-libraries/object-forest/index.ts +6 -0
- package/src/feature-libraries/object-forest/objectForest.ts +505 -0
- package/src/feature-libraries/optional-field/README.md +3 -0
- package/src/feature-libraries/optional-field/index.ts +13 -0
- package/src/feature-libraries/optional-field/optionalField.ts +619 -0
- package/src/feature-libraries/optional-field/optionalFieldChangeFormat.ts +40 -0
- package/src/feature-libraries/optional-field/optionalFieldChangeTypes.ts +59 -0
- package/src/feature-libraries/optional-field/optionalFieldCodecs.ts +114 -0
- package/src/feature-libraries/schema-aware/README.md +19 -0
- package/src/feature-libraries/schema-aware/index.ts +17 -0
- package/src/feature-libraries/schema-aware/schemaAware.ts +123 -0
- package/src/feature-libraries/schema-edits/index.ts +8 -0
- package/src/feature-libraries/schema-edits/schemaChangeCodecs.ts +32 -0
- package/src/feature-libraries/schema-edits/schemaChangeFormat.ts +14 -0
- package/src/feature-libraries/schema-edits/schemaChangeTypes.ts +16 -0
- package/src/feature-libraries/schema-index/codec.ts +68 -0
- package/src/feature-libraries/schema-index/format.ts +45 -0
- package/src/feature-libraries/schema-index/index.ts +8 -0
- package/src/feature-libraries/schema-index/schemaSummarizer.ts +138 -0
- package/src/feature-libraries/schemaBuilder.ts +44 -0
- package/src/feature-libraries/schemaBuilderBase.ts +425 -0
- package/src/feature-libraries/sequence-field/README.md +6 -0
- package/src/feature-libraries/sequence-field/compose.ts +745 -0
- package/src/feature-libraries/sequence-field/format.ts +146 -0
- package/src/feature-libraries/sequence-field/helperTypes.ts +57 -0
- package/src/feature-libraries/sequence-field/index.ts +56 -0
- package/src/feature-libraries/sequence-field/invert.ts +370 -0
- package/src/feature-libraries/sequence-field/markListFactory.ts +55 -0
- package/src/feature-libraries/sequence-field/markQueue.ts +90 -0
- package/src/feature-libraries/sequence-field/moveEffectTable.ts +500 -0
- package/src/feature-libraries/sequence-field/prune.ts +28 -0
- package/src/feature-libraries/sequence-field/rebase.ts +1058 -0
- package/src/feature-libraries/sequence-field/relevantRemovedRoots.ts +58 -0
- package/src/feature-libraries/sequence-field/sequenceFieldChangeHandler.ts +24 -0
- package/src/feature-libraries/sequence-field/sequenceFieldChangeRebaser.ts +21 -0
- package/src/feature-libraries/sequence-field/sequenceFieldCodecs.ts +280 -0
- package/src/feature-libraries/sequence-field/sequenceFieldEditor.ts +181 -0
- package/src/feature-libraries/sequence-field/sequenceFieldToDelta.ts +198 -0
- package/src/feature-libraries/sequence-field/types.ts +210 -0
- package/src/feature-libraries/sequence-field/utils.ts +1238 -0
- package/src/feature-libraries/storedToViewSchema.ts +105 -0
- package/src/feature-libraries/treeCompressionUtils.ts +23 -0
- package/src/feature-libraries/treeCursorUtils.ts +489 -0
- package/src/feature-libraries/treeTextCursor.ts +125 -0
- package/src/feature-libraries/typed-schema/README.md +6 -0
- package/src/feature-libraries/typed-schema/flexList.ts +167 -0
- package/src/feature-libraries/typed-schema/index.ts +51 -0
- package/src/feature-libraries/typed-schema/internal.ts +10 -0
- package/src/feature-libraries/typed-schema/schemaCollection.ts +309 -0
- package/src/feature-libraries/typed-schema/typeUtils.ts +39 -0
- package/src/feature-libraries/typed-schema/typedTreeSchema.ts +594 -0
- package/src/feature-libraries/typed-schema/view.ts +157 -0
- package/src/feature-libraries/utils.ts +35 -0
- package/src/feature-libraries/valueUtilities.ts +93 -0
- package/src/feature-libraries/versioned/codec.ts +62 -0
- package/src/feature-libraries/versioned/format.ts +11 -0
- package/src/feature-libraries/versioned/index.ts +7 -0
- package/src/index.ts +341 -0
- package/src/internal.ts +17 -0
- package/src/shared-tree/README.md +10 -0
- package/src/shared-tree/index.ts +34 -0
- package/src/shared-tree/schematizedTree.ts +272 -0
- package/src/shared-tree/sharedTree.ts +443 -0
- package/src/shared-tree/sharedTreeChangeCodecs.ts +79 -0
- package/src/shared-tree/sharedTreeChangeFamily.ts +170 -0
- package/src/shared-tree/sharedTreeChangeFormat.ts +18 -0
- package/src/shared-tree/sharedTreeChangeTypes.ts +24 -0
- package/src/shared-tree/sharedTreeEditBuilder.ts +70 -0
- package/src/shared-tree/treeCheckout.ts +451 -0
- package/src/shared-tree/treeView.ts +107 -0
- package/src/shared-tree-core/README.md +19 -0
- package/src/shared-tree-core/branch.ts +612 -0
- package/src/shared-tree-core/editManager.ts +655 -0
- package/src/shared-tree-core/editManagerCodecs.ts +63 -0
- package/src/shared-tree-core/editManagerFormat.ts +119 -0
- package/src/shared-tree-core/editManagerSummarizer.ts +103 -0
- package/src/shared-tree-core/index.ts +32 -0
- package/src/shared-tree-core/messageCodecs.ts +43 -0
- package/src/shared-tree-core/messageFormat.ts +33 -0
- package/src/shared-tree-core/messageTypes.ts +11 -0
- package/src/shared-tree-core/revisionTagCodecs.ts +16 -0
- package/src/shared-tree-core/sharedTreeCore.ts +365 -0
- package/src/shared-tree-core/transactionStack.ts +46 -0
- package/src/simple-tree/README.md +3 -0
- package/src/simple-tree/flexNode.ts +88 -0
- package/src/simple-tree/index.ts +30 -0
- package/src/simple-tree/insertable.ts +106 -0
- package/src/simple-tree/objectFactory.ts +46 -0
- package/src/simple-tree/proxies.ts +1165 -0
- package/src/simple-tree/rawNode.ts +276 -0
- package/src/simple-tree/toMapTree.ts +464 -0
- package/src/simple-tree/treeListNode.ts +81 -0
- package/src/simple-tree/types.ts +346 -0
- package/src/treeFactory.ts +149 -0
- package/src/util/README.md +9 -0
- package/src/util/brand.ts +248 -0
- package/src/util/brandedMap.ts +73 -0
- package/src/util/idAllocator.ts +52 -0
- package/src/util/index.ts +131 -0
- package/src/util/nestedMap.ts +297 -0
- package/src/util/nestedSet.ts +24 -0
- package/src/util/offsetList.ts +45 -0
- package/src/util/rangeMap.ts +149 -0
- package/src/util/referenceCounting.ts +51 -0
- package/src/util/stackyIterator.ts +53 -0
- package/src/util/transactionResult.ts +20 -0
- package/src/util/typeCheck.ts +208 -0
- package/src/util/typeCheckTests.ts +237 -0
- package/src/util/typeUtils.ts +168 -0
- package/src/util/utils.ts +538 -0
- package/tsconfig.esnext.json +7 -0
- package/tsconfig.json +17 -0
|
@@ -0,0 +1,438 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*!
|
|
3
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
4
|
+
* Licensed under the MIT License.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.ComposeQueue = exports.amendCompose = exports.compose = void 0;
|
|
8
|
+
const core_utils_1 = require("@fluidframework/core-utils");
|
|
9
|
+
const core_1 = require("../../core");
|
|
10
|
+
const util_1 = require("../../util");
|
|
11
|
+
const modular_schema_1 = require("../modular-schema");
|
|
12
|
+
const types_1 = require("./types");
|
|
13
|
+
const markListFactory_1 = require("./markListFactory");
|
|
14
|
+
const markQueue_1 = require("./markQueue");
|
|
15
|
+
const moveEffectTable_1 = require("./moveEffectTable");
|
|
16
|
+
const utils_1 = require("./utils");
|
|
17
|
+
/**
|
|
18
|
+
* Composes a sequence of changesets into a single changeset.
|
|
19
|
+
* @param changes - The changesets to be applied.
|
|
20
|
+
* Parts of the input may be reused in the output, but the input is not mutated.
|
|
21
|
+
* Each changeset in the list is assumed to be applicable after the previous one.
|
|
22
|
+
* @returns A changeset that is equivalent to applying each of the given `changes` in order.
|
|
23
|
+
*
|
|
24
|
+
* WARNING! This implementation is incomplete:
|
|
25
|
+
* - Tombstone information is ignored.
|
|
26
|
+
* - Support for moves is not implemented.
|
|
27
|
+
* - Support for slices is not implemented.
|
|
28
|
+
*/
|
|
29
|
+
function compose(changes, composeChild, genId, manager, revisionMetadata) {
|
|
30
|
+
let composed = [];
|
|
31
|
+
for (const change of changes) {
|
|
32
|
+
composed = composeMarkLists(composed, change.revision, change.change, composeChild, genId, manager, revisionMetadata);
|
|
33
|
+
}
|
|
34
|
+
return composed;
|
|
35
|
+
}
|
|
36
|
+
exports.compose = compose;
|
|
37
|
+
function composeMarkLists(baseMarkList, newRev, newMarkList, composeChild, genId, moveEffects, revisionMetadata) {
|
|
38
|
+
const factory = new markListFactory_1.MarkListFactory();
|
|
39
|
+
const queue = new ComposeQueue(undefined, baseMarkList, newRev, newMarkList, genId, moveEffects, revisionMetadata, (a, b) => composeChildChanges(a, b, composeChild));
|
|
40
|
+
while (!queue.isEmpty()) {
|
|
41
|
+
const { baseMark, newMark } = queue.pop();
|
|
42
|
+
if (newMark === undefined) {
|
|
43
|
+
(0, core_utils_1.assert)(baseMark !== undefined, 0x4db /* Non-empty queue should not return two undefined marks */);
|
|
44
|
+
factory.push(baseMark);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
// We only compose changesets that will not be further rebased.
|
|
48
|
+
// It is therefore safe to remove any intentions that have no impact in the context they apply to.
|
|
49
|
+
const settledNewMark = (0, utils_1.settleMark)(newMark, newRev, revisionMetadata);
|
|
50
|
+
if (baseMark === undefined) {
|
|
51
|
+
factory.push(composeMark(settledNewMark, newRev, composeChild));
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
// Past this point, we are guaranteed that `settledNewMark` and `baseMark` have the same length and
|
|
55
|
+
// start at the same location in the revision after the base changes.
|
|
56
|
+
// They therefore refer to the same range for that revision.
|
|
57
|
+
const composedMark = composeMarks(baseMark, newRev, settledNewMark, composeChild, genId, moveEffects, revisionMetadata);
|
|
58
|
+
factory.push(composedMark);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return factory.list;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Composes two marks where `newMark` is based on the state produced by `baseMark`.
|
|
66
|
+
* @param baseMark - The mark to compose with `newMark`.
|
|
67
|
+
* Its output range should be the same as `newMark`'s input range.
|
|
68
|
+
* @param newRev - The revision the new mark is part of.
|
|
69
|
+
* @param newMark - The mark to compose with `baseMark`.
|
|
70
|
+
* Its input range should be the same as `baseMark`'s output range.
|
|
71
|
+
* @returns A mark that is equivalent to applying both `baseMark` and `newMark` successively.
|
|
72
|
+
*/
|
|
73
|
+
function composeMarks(baseMark, newRev, newMark, composeChild, genId, moveEffects, revisionMetadata) {
|
|
74
|
+
let nodeChange = composeChildChanges(baseMark.changes, newMark.changes === undefined ? undefined : (0, core_1.tagChange)(newMark.changes, newRev), composeChild);
|
|
75
|
+
if (nodeChange !== undefined) {
|
|
76
|
+
const baseSource = (0, moveEffectTable_1.getMoveIn)(baseMark);
|
|
77
|
+
if (baseSource !== undefined) {
|
|
78
|
+
setModifyAfter(moveEffects, (0, utils_1.getEndpoint)(baseSource, undefined), nodeChange, newRev, composeChild);
|
|
79
|
+
nodeChange = undefined;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
if ((0, utils_1.isImpactfulCellRename)(newMark, newRev, revisionMetadata)) {
|
|
83
|
+
const newAttachAndDetach = (0, utils_1.asAttachAndDetach)(newMark);
|
|
84
|
+
const newDetachRevision = newAttachAndDetach.detach.revision ?? newRev;
|
|
85
|
+
if ((0, utils_1.markEmptiesCells)(baseMark)) {
|
|
86
|
+
if ((0, moveEffectTable_1.isMoveIn)(newAttachAndDetach.attach) && (0, moveEffectTable_1.isMoveOut)(newAttachAndDetach.detach)) {
|
|
87
|
+
(0, core_utils_1.assert)((0, moveEffectTable_1.isMoveOut)(baseMark), 0x808 /* Unexpected mark type */);
|
|
88
|
+
// The base changeset and new changeset both move these nodes.
|
|
89
|
+
// Call the original position of the nodes A, the position after the base changeset is applied B,
|
|
90
|
+
// and the position after the new changeset is applied C.
|
|
91
|
+
// The new changeset moves the nodes from B, temporarily returns them to A, and then moves them to C.
|
|
92
|
+
// The composition of the base and new changesets will be a move directly from A to C,
|
|
93
|
+
// since the move from A to B cancels out with the return from B to A.
|
|
94
|
+
// This if-block is handling marks at A.
|
|
95
|
+
// When we compose the marks at B we will link the start of the base move (A to B)
|
|
96
|
+
// with the end of the new move (B to C).
|
|
97
|
+
// Because we are replacing the mark representing the start of the move with the new changeset's
|
|
98
|
+
// move-out from A, we update the base move-in at B to consider that its start point.
|
|
99
|
+
setEndpoint(moveEffects, modular_schema_1.CrossFieldTarget.Destination, (0, utils_1.getEndpoint)(baseMark, undefined), baseMark.count, { revision: newDetachRevision, localId: newAttachAndDetach.detach.id });
|
|
100
|
+
}
|
|
101
|
+
// baseMark is a detach which cancels with the attach portion of the AttachAndDetach,
|
|
102
|
+
// so we are just left with the detach portion of the AttachAndDetach.
|
|
103
|
+
const newDetach = {
|
|
104
|
+
...newAttachAndDetach.detach,
|
|
105
|
+
count: baseMark.count,
|
|
106
|
+
};
|
|
107
|
+
// We may need to apply effects to the source location of the base MoveOut so we annotate the mark with
|
|
108
|
+
// information about that location.
|
|
109
|
+
if ((0, moveEffectTable_1.isMoveOut)(baseMark)) {
|
|
110
|
+
newDetach.vestigialEndpoint = {
|
|
111
|
+
revision: baseMark.revision,
|
|
112
|
+
localId: baseMark.id,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
return (0, utils_1.withRevision)((0, utils_1.withNodeChange)(newDetach, nodeChange), newDetachRevision);
|
|
116
|
+
}
|
|
117
|
+
if ((0, utils_1.isImpactfulCellRename)(baseMark, undefined, revisionMetadata)) {
|
|
118
|
+
const baseAttachAndDetach = (0, utils_1.asAttachAndDetach)(baseMark);
|
|
119
|
+
const newOutputId = (0, utils_1.getOutputCellId)(newAttachAndDetach, newRev, revisionMetadata);
|
|
120
|
+
if ((0, utils_1.areEqualCellIds)(newOutputId, baseAttachAndDetach.cellId)) {
|
|
121
|
+
return (0, utils_1.withNodeChange)({ count: baseAttachAndDetach.count, cellId: baseAttachAndDetach.cellId }, nodeChange);
|
|
122
|
+
}
|
|
123
|
+
// `newMark`'s attach portion cancels with `baseMark`'s detach portion.
|
|
124
|
+
const originalAttach = { ...baseAttachAndDetach.attach };
|
|
125
|
+
const finalDetach = { ...newAttachAndDetach.detach };
|
|
126
|
+
const detachRevision = finalDetach.revision ?? newRev;
|
|
127
|
+
if (detachRevision !== undefined) {
|
|
128
|
+
finalDetach.revision = detachRevision;
|
|
129
|
+
}
|
|
130
|
+
return (0, utils_1.normalizeCellRename)({
|
|
131
|
+
type: "AttachAndDetach",
|
|
132
|
+
cellId: baseMark.cellId,
|
|
133
|
+
count: baseMark.count,
|
|
134
|
+
attach: originalAttach,
|
|
135
|
+
detach: finalDetach,
|
|
136
|
+
}, nodeChange);
|
|
137
|
+
}
|
|
138
|
+
return (0, utils_1.withRevision)((0, utils_1.normalizeCellRename)(newAttachAndDetach, nodeChange), newRev);
|
|
139
|
+
}
|
|
140
|
+
if ((0, utils_1.isImpactfulCellRename)(baseMark, undefined, revisionMetadata)) {
|
|
141
|
+
const baseAttachAndDetach = (0, utils_1.asAttachAndDetach)(baseMark);
|
|
142
|
+
if ((0, utils_1.markFillsCells)(newMark)) {
|
|
143
|
+
if ((0, moveEffectTable_1.isMoveIn)(baseAttachAndDetach.attach) && (0, moveEffectTable_1.isMoveOut)(baseAttachAndDetach.detach)) {
|
|
144
|
+
(0, core_utils_1.assert)((0, moveEffectTable_1.isMoveIn)(newMark), 0x809 /* Unexpected mark type */);
|
|
145
|
+
setEndpoint(moveEffects, modular_schema_1.CrossFieldTarget.Source, (0, utils_1.getEndpoint)(newMark, newRev), baseAttachAndDetach.count, {
|
|
146
|
+
revision: baseAttachAndDetach.attach.revision,
|
|
147
|
+
localId: baseAttachAndDetach.attach.id,
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
const originalAttach = (0, utils_1.withRevision)((0, utils_1.withNodeChange)({
|
|
151
|
+
...baseAttachAndDetach.attach,
|
|
152
|
+
cellId: baseAttachAndDetach.cellId,
|
|
153
|
+
count: baseAttachAndDetach.count,
|
|
154
|
+
}, nodeChange), baseAttachAndDetach.attach.revision);
|
|
155
|
+
return originalAttach;
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
// Other mark types have been handled by previous conditional branches.
|
|
159
|
+
(0, core_utils_1.assert)(newMark.type === types_1.NoopMarkType, 0x80a /* Unexpected mark type */);
|
|
160
|
+
return (0, utils_1.withNodeChange)(baseMark, nodeChange);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
if (!(0, utils_1.markHasCellEffect)(baseMark) && !(0, utils_1.markHasCellEffect)(newMark)) {
|
|
164
|
+
if ((0, utils_1.isNoopMark)(baseMark)) {
|
|
165
|
+
return (0, utils_1.withNodeChange)(newMark, nodeChange);
|
|
166
|
+
}
|
|
167
|
+
else if ((0, utils_1.isNoopMark)(newMark)) {
|
|
168
|
+
return (0, utils_1.withNodeChange)(baseMark, nodeChange);
|
|
169
|
+
}
|
|
170
|
+
return createNoopMark(newMark.count, nodeChange, (0, utils_1.getInputCellId)(baseMark, undefined, undefined));
|
|
171
|
+
}
|
|
172
|
+
else if (!(0, utils_1.markHasCellEffect)(baseMark)) {
|
|
173
|
+
return (0, utils_1.withRevision)((0, utils_1.withNodeChange)(newMark, nodeChange), newRev);
|
|
174
|
+
}
|
|
175
|
+
else if (!(0, utils_1.markHasCellEffect)(newMark)) {
|
|
176
|
+
return (0, utils_1.withNodeChange)(baseMark, nodeChange);
|
|
177
|
+
}
|
|
178
|
+
else if ((0, utils_1.areInputCellsEmpty)(baseMark)) {
|
|
179
|
+
(0, core_utils_1.assert)((0, utils_1.isDetach)(newMark), 0x71c /* Unexpected mark type */);
|
|
180
|
+
(0, core_utils_1.assert)((0, utils_1.isAttach)(baseMark), 0x71d /* Expected generative mark */);
|
|
181
|
+
const attach = (0, utils_1.extractMarkEffect)(baseMark);
|
|
182
|
+
const detach = (0, utils_1.extractMarkEffect)((0, utils_1.withRevision)(newMark, newRev));
|
|
183
|
+
if ((0, moveEffectTable_1.isMoveIn)(attach) && (0, moveEffectTable_1.isMoveOut)(detach)) {
|
|
184
|
+
const finalSource = (0, utils_1.getEndpoint)(attach, undefined);
|
|
185
|
+
const finalDest = (0, utils_1.getEndpoint)(detach, newRev);
|
|
186
|
+
setEndpoint(moveEffects, modular_schema_1.CrossFieldTarget.Source, finalSource, baseMark.count, finalDest);
|
|
187
|
+
setEndpoint(moveEffects, modular_schema_1.CrossFieldTarget.Destination, finalDest, baseMark.count, finalSource);
|
|
188
|
+
// The `finalEndpoint` field of AttachAndDetach move effect pairs is not used,
|
|
189
|
+
// so we remove it as a normalization.
|
|
190
|
+
delete attach.finalEndpoint;
|
|
191
|
+
delete detach.finalEndpoint;
|
|
192
|
+
}
|
|
193
|
+
if ((0, utils_1.areEqualCellIds)((0, utils_1.getOutputCellId)(newMark, newRev, revisionMetadata), baseMark.cellId)) {
|
|
194
|
+
// The output and input cell IDs are the same, so this mark has no effect.
|
|
195
|
+
return (0, utils_1.withNodeChange)({ count: baseMark.count, cellId: baseMark.cellId }, nodeChange);
|
|
196
|
+
}
|
|
197
|
+
return (0, utils_1.normalizeCellRename)({
|
|
198
|
+
type: "AttachAndDetach",
|
|
199
|
+
cellId: baseMark.cellId,
|
|
200
|
+
count: baseMark.count,
|
|
201
|
+
attach,
|
|
202
|
+
detach,
|
|
203
|
+
}, nodeChange);
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
if ((0, moveEffectTable_1.isMoveMark)(baseMark) && (0, moveEffectTable_1.isMoveMark)(newMark)) {
|
|
207
|
+
// The marks must be inverses, since `newMark` is filling the cells which `baseMark` emptied.
|
|
208
|
+
const nodeChanges = (0, moveEffectTable_1.getModifyAfter)(moveEffects, baseMark.revision, baseMark.id, baseMark.count);
|
|
209
|
+
// We return a noop that is annotated with information about the endpoint it used to be because there may
|
|
210
|
+
// be more node changes on `newMark`'s source mark which need to be included here.
|
|
211
|
+
// We will remove the the annotation during `amendCompose` or pruning.
|
|
212
|
+
const vestige = {
|
|
213
|
+
count: baseMark.count,
|
|
214
|
+
vestigialEndpoint: {
|
|
215
|
+
revision: baseMark.revision,
|
|
216
|
+
localId: baseMark.id,
|
|
217
|
+
},
|
|
218
|
+
changes: composeChildChanges(nodeChange, nodeChanges, composeChild),
|
|
219
|
+
};
|
|
220
|
+
return vestige;
|
|
221
|
+
}
|
|
222
|
+
const length = baseMark.count;
|
|
223
|
+
return createNoopMark(length, nodeChange);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
function createNoopMark(length, nodeChange, cellId) {
|
|
227
|
+
const mark = { count: length };
|
|
228
|
+
if (nodeChange !== undefined) {
|
|
229
|
+
(0, core_utils_1.assert)(length === 1, 0x692 /* A mark with a node change must have length one */);
|
|
230
|
+
mark.changes = nodeChange;
|
|
231
|
+
}
|
|
232
|
+
if (cellId !== undefined) {
|
|
233
|
+
mark.cellId = cellId;
|
|
234
|
+
}
|
|
235
|
+
return mark;
|
|
236
|
+
}
|
|
237
|
+
function composeChildChanges(baseChange, newChange, composeChild) {
|
|
238
|
+
if (newChange === undefined) {
|
|
239
|
+
return baseChange;
|
|
240
|
+
}
|
|
241
|
+
else if (baseChange === undefined) {
|
|
242
|
+
return composeChild([newChange]);
|
|
243
|
+
}
|
|
244
|
+
else {
|
|
245
|
+
return composeChild([(0, core_1.makeAnonChange)(baseChange), newChange]);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
function composeMark(mark, revision, composeChild) {
|
|
249
|
+
const cloned = (0, utils_1.cloneMark)(mark);
|
|
250
|
+
if (cloned.cellId !== undefined &&
|
|
251
|
+
cloned.cellId.revision === undefined &&
|
|
252
|
+
revision !== undefined) {
|
|
253
|
+
(0, util_1.asMutable)(cloned.cellId).revision = revision;
|
|
254
|
+
}
|
|
255
|
+
(0, utils_1.addRevision)(cloned, revision);
|
|
256
|
+
if (cloned.changes !== undefined) {
|
|
257
|
+
cloned.changes = composeChild([(0, core_1.tagChange)(cloned.changes, revision)]);
|
|
258
|
+
return cloned;
|
|
259
|
+
}
|
|
260
|
+
return cloned;
|
|
261
|
+
}
|
|
262
|
+
function amendCompose(marks, composeChild, genId, manager) {
|
|
263
|
+
return amendComposeI(marks, composeChild, manager);
|
|
264
|
+
}
|
|
265
|
+
exports.amendCompose = amendCompose;
|
|
266
|
+
function amendComposeI(marks, composeChild, moveEffects) {
|
|
267
|
+
const factory = new markListFactory_1.MarkListFactory();
|
|
268
|
+
const queue = new markQueue_1.MarkQueue(marks, undefined, moveEffects, true, util_1.fakeIdAllocator, (a, b) => composeChildChanges(a, b, composeChild));
|
|
269
|
+
while (!queue.isEmpty()) {
|
|
270
|
+
const mark = queue.dequeue();
|
|
271
|
+
if (mark.vestigialEndpoint !== undefined) {
|
|
272
|
+
// Any effects that target this endpoint should have been applied either during the first compose pass,
|
|
273
|
+
// or during the `MarkQueue`'s reading for this pass.
|
|
274
|
+
delete mark.vestigialEndpoint;
|
|
275
|
+
}
|
|
276
|
+
factory.push(mark);
|
|
277
|
+
}
|
|
278
|
+
return factory.list;
|
|
279
|
+
}
|
|
280
|
+
class ComposeQueue {
|
|
281
|
+
constructor(baseRevision, baseMarks, newRevision, newMarks, genId, moveEffects, revisionMetadata, composeChanges) {
|
|
282
|
+
this.newRevision = newRevision;
|
|
283
|
+
this.revisionMetadata = revisionMetadata;
|
|
284
|
+
this.baseMarks = new markQueue_1.MarkQueue(baseMarks, baseRevision, moveEffects, true, genId, composeChanges);
|
|
285
|
+
this.newMarks = new markQueue_1.MarkQueue(newMarks, newRevision, moveEffects, true, genId, composeChanges);
|
|
286
|
+
}
|
|
287
|
+
isEmpty() {
|
|
288
|
+
return this.baseMarks.isEmpty() && this.newMarks.isEmpty();
|
|
289
|
+
}
|
|
290
|
+
pop() {
|
|
291
|
+
const baseMark = this.baseMarks.peek();
|
|
292
|
+
const newMark = this.newMarks.peek();
|
|
293
|
+
if (baseMark === undefined && newMark === undefined) {
|
|
294
|
+
return {};
|
|
295
|
+
}
|
|
296
|
+
else if (baseMark === undefined) {
|
|
297
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
298
|
+
const length = (0, utils_1.getInputLength)(newMark);
|
|
299
|
+
return this.dequeueNew(length);
|
|
300
|
+
}
|
|
301
|
+
else if (newMark === undefined) {
|
|
302
|
+
const length = (0, utils_1.getOutputLength)(baseMark);
|
|
303
|
+
return this.dequeueBase(length);
|
|
304
|
+
}
|
|
305
|
+
else if ((0, utils_1.areOutputCellsEmpty)(baseMark) && (0, utils_1.areInputCellsEmpty)(newMark)) {
|
|
306
|
+
const baseCellId = (0, utils_1.getOutputCellId)(baseMark, this.baseMarks.revision, this.revisionMetadata) ??
|
|
307
|
+
(0, util_1.fail)("Expected defined output ID");
|
|
308
|
+
if ((0, utils_1.markEmptiesCells)(baseMark) && baseCellId.revision === undefined) {
|
|
309
|
+
// The base revision should always be defined except when squashing changes into a transaction.
|
|
310
|
+
// In the future, we want to support reattaches in the new change here.
|
|
311
|
+
// We will need to be able to order the base mark relative to the new mark by looking at the lineage of the new mark
|
|
312
|
+
// (which will be obtained by rebasing the reattach over interim changes
|
|
313
|
+
// (which requires the local changes to have a revision tag))
|
|
314
|
+
(0, core_utils_1.assert)((0, utils_1.isNewAttach)(newMark), 0x695 /* TODO: Assign revision tags to each change in a transaction */);
|
|
315
|
+
return this.dequeueNew();
|
|
316
|
+
}
|
|
317
|
+
const cmp = compareCellPositions(baseCellId, baseMark.count, newMark, this.newRevision, this.revisionMetadata);
|
|
318
|
+
if (cmp < 0) {
|
|
319
|
+
return { baseMark: this.baseMarks.dequeueUpTo(-cmp) };
|
|
320
|
+
}
|
|
321
|
+
else if (cmp > 0) {
|
|
322
|
+
return { newMark: this.newMarks.dequeueUpTo(cmp) };
|
|
323
|
+
}
|
|
324
|
+
else {
|
|
325
|
+
return this.dequeueBoth();
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
else if ((0, utils_1.areOutputCellsEmpty)(baseMark)) {
|
|
329
|
+
return this.dequeueBase();
|
|
330
|
+
}
|
|
331
|
+
else if ((0, utils_1.areInputCellsEmpty)(newMark)) {
|
|
332
|
+
return this.dequeueNew();
|
|
333
|
+
}
|
|
334
|
+
else {
|
|
335
|
+
return this.dequeueBoth();
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
dequeueBase(length = 0) {
|
|
339
|
+
const baseMark = this.baseMarks.dequeue();
|
|
340
|
+
return { baseMark, newMark: length > 0 ? { count: length } : undefined };
|
|
341
|
+
}
|
|
342
|
+
dequeueNew(length = 0) {
|
|
343
|
+
return {
|
|
344
|
+
baseMark: length > 0 ? { count: length } : undefined,
|
|
345
|
+
newMark: this.newMarks.dequeue(),
|
|
346
|
+
};
|
|
347
|
+
}
|
|
348
|
+
dequeueBoth() {
|
|
349
|
+
const baseMark = this.baseMarks.peek();
|
|
350
|
+
const newMark = this.newMarks.peek();
|
|
351
|
+
(0, core_utils_1.assert)(baseMark !== undefined && newMark !== undefined, 0x697 /* Cannot dequeue both unless both mark queues are non-empty */);
|
|
352
|
+
const length = Math.min(newMark.count, baseMark.count);
|
|
353
|
+
return {
|
|
354
|
+
baseMark: this.baseMarks.dequeueUpTo(length),
|
|
355
|
+
newMark: this.newMarks.dequeueUpTo(length),
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
exports.ComposeQueue = ComposeQueue;
|
|
360
|
+
// TODO: Try to share more logic with the version in rebase.ts.
|
|
361
|
+
/**
|
|
362
|
+
* Returns a number N which encodes how the cells of the two marks are aligned.
|
|
363
|
+
* - If N is zero, then the first cell of `baseMark` is the same as the first cell of `newMark`.
|
|
364
|
+
* - If N is positive, then the first N cells of `newMark` (or all its cells if N is greater than its length)
|
|
365
|
+
* are before the first cell of `baseMark`.
|
|
366
|
+
* - If N is negative, then the first N cells of `baseMark` (or all its cells if N is greater than its length)
|
|
367
|
+
* are before the first cell of `newMark`.
|
|
368
|
+
*/
|
|
369
|
+
function compareCellPositions(baseCellId, baseCellCount, newMark, newIntention, metadata) {
|
|
370
|
+
const newCellId = (0, utils_1.getInputCellId)(newMark, newIntention, metadata);
|
|
371
|
+
(0, core_utils_1.assert)(newCellId !== undefined, 0x71f /* Should have cell ID */);
|
|
372
|
+
if (baseCellId.revision === newCellId.revision) {
|
|
373
|
+
const comparison = (0, utils_1.compareCellsFromSameRevision)(baseCellId, baseCellCount, newCellId, newMark.count);
|
|
374
|
+
if (comparison !== undefined) {
|
|
375
|
+
return comparison;
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
const offsetInBase = (0, utils_1.getOffsetInCellRange)(baseCellId.lineage, newCellId.revision, newCellId.localId, newMark.count);
|
|
379
|
+
if (offsetInBase !== undefined) {
|
|
380
|
+
return offsetInBase > 0 ? offsetInBase : -Infinity;
|
|
381
|
+
}
|
|
382
|
+
const offsetInNew = (0, utils_1.getOffsetInCellRange)(newCellId.lineage, baseCellId.revision, baseCellId.localId, baseCellCount);
|
|
383
|
+
if (offsetInNew !== undefined) {
|
|
384
|
+
return offsetInNew > 0 ? -offsetInNew : Infinity;
|
|
385
|
+
}
|
|
386
|
+
const cmp = (0, utils_1.compareLineages)(baseCellId, newCellId);
|
|
387
|
+
if (cmp !== 0) {
|
|
388
|
+
return Math.sign(cmp) * Infinity;
|
|
389
|
+
}
|
|
390
|
+
(0, core_utils_1.assert)(baseCellId.revision !== undefined && newCellId.revision !== undefined, 0x858 /* Cells should have defined revisions */);
|
|
391
|
+
if (!(0, utils_1.isNewAttach)(newMark)) {
|
|
392
|
+
// If `newMark` were targeting a cell older than the composition window
|
|
393
|
+
// there would be lineage determining the relative order of `newCell` and `baseCell`.
|
|
394
|
+
// TODO:6127: Enable this assert
|
|
395
|
+
// assert(
|
|
396
|
+
// newRevisionIndex !== undefined,
|
|
397
|
+
// "Expected lineage to determine cell order",
|
|
398
|
+
// );
|
|
399
|
+
// `newCell` was detached by a change in this composition, so there will be a corresponding mark
|
|
400
|
+
// later in the base changeset.
|
|
401
|
+
return -Infinity;
|
|
402
|
+
}
|
|
403
|
+
const newRevisionIndex = metadata.getIndex(newCellId.revision);
|
|
404
|
+
const baseRevisionIndex = metadata.getIndex(baseCellId.revision);
|
|
405
|
+
(0, core_utils_1.assert)(newRevisionIndex !== undefined, 0x859 /* A cell from a new attach should have a defined revision index */);
|
|
406
|
+
// We use the tiebreaking policy of the newer cell.
|
|
407
|
+
return (baseRevisionIndex ?? -Infinity) > newRevisionIndex ? -Infinity : Infinity;
|
|
408
|
+
}
|
|
409
|
+
// TODO: Reduce the duplication between this and other MoveEffect helpers
|
|
410
|
+
function setModifyAfter(moveEffects, { revision, localId: id }, modifyAfter, modifyRevision, composeChanges) {
|
|
411
|
+
const target = modular_schema_1.CrossFieldTarget.Source;
|
|
412
|
+
const count = 1;
|
|
413
|
+
const effect = (0, moveEffectTable_1.getMoveEffect)(moveEffects, target, revision, id, count, false);
|
|
414
|
+
let newEffect;
|
|
415
|
+
if (effect.value !== undefined) {
|
|
416
|
+
const nodeChange = effect.value.modifyAfter !== undefined
|
|
417
|
+
? composeChanges([effect.value.modifyAfter, (0, core_1.tagChange)(modifyAfter, modifyRevision)])
|
|
418
|
+
: modifyAfter;
|
|
419
|
+
newEffect = { ...effect.value, modifyAfter: (0, core_1.makeAnonChange)(nodeChange) };
|
|
420
|
+
}
|
|
421
|
+
else {
|
|
422
|
+
newEffect = { modifyAfter: (0, core_1.tagChange)(modifyAfter, modifyRevision) };
|
|
423
|
+
}
|
|
424
|
+
(0, moveEffectTable_1.setMoveEffect)(moveEffects, target, revision, id, count, newEffect);
|
|
425
|
+
}
|
|
426
|
+
function setEndpoint(moveEffects, target, id, count, endpoint) {
|
|
427
|
+
const effect = (0, moveEffectTable_1.getMoveEffect)(moveEffects, target, id.revision, id.localId, count);
|
|
428
|
+
const newEffect = effect.value !== undefined ? { ...effect.value, endpoint } : { endpoint };
|
|
429
|
+
(0, moveEffectTable_1.setMoveEffect)(moveEffects, target, id.revision, id.localId, effect.length, newEffect);
|
|
430
|
+
const remainingCount = count - effect.length;
|
|
431
|
+
if (remainingCount > 0) {
|
|
432
|
+
setEndpoint(moveEffects, target, offsetChangeAtomId(id, effect.length), remainingCount, offsetChangeAtomId(endpoint, effect.length));
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
function offsetChangeAtomId(id, offset) {
|
|
436
|
+
return { ...id, localId: (0, util_1.brand)(id.localId + offset) };
|
|
437
|
+
}
|
|
438
|
+
//# sourceMappingURL=compose.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../src/feature-libraries/sequence-field/compose.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { assert } from \"@fluidframework/core-utils\";\nimport {\n\tChangeAtomId,\n\tmakeAnonChange,\n\tRevisionMetadataSource,\n\tRevisionTag,\n\ttagChange,\n\tTaggedChange,\n} from \"../../core\";\nimport { asMutable, brand, fail, fakeIdAllocator, IdAllocator } from \"../../util\";\nimport { CrossFieldManager, CrossFieldTarget } from \"../modular-schema\";\nimport {\n\tChangeset,\n\tMark,\n\tMarkList,\n\tNoopMarkType,\n\tCellId,\n\tNoopMark,\n\tCellMark,\n\tDetach,\n} from \"./types\";\nimport { MarkListFactory } from \"./markListFactory\";\nimport { MarkQueue } from \"./markQueue\";\nimport {\n\tgetMoveEffect,\n\tsetMoveEffect,\n\tisMoveMark,\n\tMoveEffectTable,\n\tgetModifyAfter,\n\tMoveEffect,\n\tisMoveIn,\n\tisMoveOut,\n\tgetMoveIn,\n} from \"./moveEffectTable\";\nimport {\n\tgetInputLength,\n\tgetOutputLength,\n\tisNoopMark,\n\tgetOffsetInCellRange,\n\tcloneMark,\n\tareOutputCellsEmpty,\n\tareInputCellsEmpty,\n\tcompareLineages,\n\tisDetach,\n\tmarkHasCellEffect,\n\twithNodeChange,\n\twithRevision,\n\tmarkEmptiesCells,\n\tisNewAttach,\n\tgetInputCellId,\n\tisAttach,\n\tgetOutputCellId,\n\tmarkFillsCells,\n\textractMarkEffect,\n\tgetEndpoint,\n\tareEqualCellIds,\n\taddRevision,\n\tnormalizeCellRename,\n\tasAttachAndDetach,\n\tisImpactfulCellRename,\n\tsettleMark,\n\tcompareCellsFromSameRevision,\n} from \"./utils\";\nimport { EmptyInputCellMark, VestigialEndpoint } from \"./helperTypes\";\n\n/**\n * @internal\n */\nexport type NodeChangeComposer<TNodeChange> = (changes: TaggedChange<TNodeChange>[]) => TNodeChange;\n\n/**\n * Composes a sequence of changesets into a single changeset.\n * @param changes - The changesets to be applied.\n * Parts of the input may be reused in the output, but the input is not mutated.\n * Each changeset in the list is assumed to be applicable after the previous one.\n * @returns A changeset that is equivalent to applying each of the given `changes` in order.\n *\n * WARNING! This implementation is incomplete:\n * - Tombstone information is ignored.\n * - Support for moves is not implemented.\n * - Support for slices is not implemented.\n */\nexport function compose<TNodeChange>(\n\tchanges: TaggedChange<Changeset<TNodeChange>>[],\n\tcomposeChild: NodeChangeComposer<TNodeChange>,\n\tgenId: IdAllocator,\n\tmanager: CrossFieldManager,\n\trevisionMetadata: RevisionMetadataSource,\n): Changeset<TNodeChange> {\n\tlet composed: Changeset<TNodeChange> = [];\n\tfor (const change of changes) {\n\t\tcomposed = composeMarkLists(\n\t\t\tcomposed,\n\t\t\tchange.revision,\n\t\t\tchange.change,\n\t\t\tcomposeChild,\n\t\t\tgenId,\n\t\t\tmanager as MoveEffectTable<TNodeChange>,\n\t\t\trevisionMetadata,\n\t\t);\n\t}\n\treturn composed;\n}\n\nfunction composeMarkLists<TNodeChange>(\n\tbaseMarkList: MarkList<TNodeChange>,\n\tnewRev: RevisionTag | undefined,\n\tnewMarkList: MarkList<TNodeChange>,\n\tcomposeChild: NodeChangeComposer<TNodeChange>,\n\tgenId: IdAllocator,\n\tmoveEffects: MoveEffectTable<TNodeChange>,\n\trevisionMetadata: RevisionMetadataSource,\n): MarkList<TNodeChange> {\n\tconst factory = new MarkListFactory<TNodeChange>();\n\tconst queue = new ComposeQueue(\n\t\tundefined,\n\t\tbaseMarkList,\n\t\tnewRev,\n\t\tnewMarkList,\n\t\tgenId,\n\t\tmoveEffects,\n\t\trevisionMetadata,\n\t\t(a, b) => composeChildChanges(a, b, composeChild),\n\t);\n\twhile (!queue.isEmpty()) {\n\t\tconst { baseMark, newMark } = queue.pop();\n\t\tif (newMark === undefined) {\n\t\t\tassert(\n\t\t\t\tbaseMark !== undefined,\n\t\t\t\t0x4db /* Non-empty queue should not return two undefined marks */,\n\t\t\t);\n\t\t\tfactory.push(baseMark);\n\t\t} else {\n\t\t\t// We only compose changesets that will not be further rebased.\n\t\t\t// It is therefore safe to remove any intentions that have no impact in the context they apply to.\n\t\t\tconst settledNewMark = settleMark(newMark, newRev, revisionMetadata);\n\t\t\tif (baseMark === undefined) {\n\t\t\t\tfactory.push(composeMark(settledNewMark, newRev, composeChild));\n\t\t\t} else {\n\t\t\t\t// Past this point, we are guaranteed that `settledNewMark` and `baseMark` have the same length and\n\t\t\t\t// start at the same location in the revision after the base changes.\n\t\t\t\t// They therefore refer to the same range for that revision.\n\t\t\t\tconst composedMark = composeMarks(\n\t\t\t\t\tbaseMark,\n\t\t\t\t\tnewRev,\n\t\t\t\t\tsettledNewMark,\n\t\t\t\t\tcomposeChild,\n\t\t\t\t\tgenId,\n\t\t\t\t\tmoveEffects,\n\t\t\t\t\trevisionMetadata,\n\t\t\t\t);\n\t\t\t\tfactory.push(composedMark);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn factory.list;\n}\n\n/**\n * Composes two marks where `newMark` is based on the state produced by `baseMark`.\n * @param baseMark - The mark to compose with `newMark`.\n * Its output range should be the same as `newMark`'s input range.\n * @param newRev - The revision the new mark is part of.\n * @param newMark - The mark to compose with `baseMark`.\n * Its input range should be the same as `baseMark`'s output range.\n * @returns A mark that is equivalent to applying both `baseMark` and `newMark` successively.\n */\nfunction composeMarks<TNodeChange>(\n\tbaseMark: Mark<TNodeChange>,\n\tnewRev: RevisionTag | undefined,\n\tnewMark: Mark<TNodeChange>,\n\tcomposeChild: NodeChangeComposer<TNodeChange>,\n\tgenId: IdAllocator,\n\tmoveEffects: MoveEffectTable<TNodeChange>,\n\trevisionMetadata: RevisionMetadataSource,\n): Mark<TNodeChange> {\n\tlet nodeChange = composeChildChanges(\n\t\tbaseMark.changes,\n\t\tnewMark.changes === undefined ? undefined : tagChange(newMark.changes, newRev),\n\t\tcomposeChild,\n\t);\n\tif (nodeChange !== undefined) {\n\t\tconst baseSource = getMoveIn(baseMark);\n\t\tif (baseSource !== undefined) {\n\t\t\tsetModifyAfter(\n\t\t\t\tmoveEffects,\n\t\t\t\tgetEndpoint(baseSource, undefined),\n\t\t\t\tnodeChange,\n\t\t\t\tnewRev,\n\t\t\t\tcomposeChild,\n\t\t\t);\n\t\t\tnodeChange = undefined;\n\t\t}\n\t}\n\tif (isImpactfulCellRename(newMark, newRev, revisionMetadata)) {\n\t\tconst newAttachAndDetach = asAttachAndDetach(newMark);\n\t\tconst newDetachRevision = newAttachAndDetach.detach.revision ?? newRev;\n\t\tif (markEmptiesCells(baseMark)) {\n\t\t\tif (isMoveIn(newAttachAndDetach.attach) && isMoveOut(newAttachAndDetach.detach)) {\n\t\t\t\tassert(isMoveOut(baseMark), 0x808 /* Unexpected mark type */);\n\n\t\t\t\t// The base changeset and new changeset both move these nodes.\n\t\t\t\t// Call the original position of the nodes A, the position after the base changeset is applied B,\n\t\t\t\t// and the position after the new changeset is applied C.\n\t\t\t\t// The new changeset moves the nodes from B, temporarily returns them to A, and then moves them to C.\n\t\t\t\t// The composition of the base and new changesets will be a move directly from A to C,\n\t\t\t\t// since the move from A to B cancels out with the return from B to A.\n\t\t\t\t// This if-block is handling marks at A.\n\t\t\t\t// When we compose the marks at B we will link the start of the base move (A to B)\n\t\t\t\t// with the end of the new move (B to C).\n\t\t\t\t// Because we are replacing the mark representing the start of the move with the new changeset's\n\t\t\t\t// move-out from A, we update the base move-in at B to consider that its start point.\n\t\t\t\tsetEndpoint(\n\t\t\t\t\tmoveEffects,\n\t\t\t\t\tCrossFieldTarget.Destination,\n\t\t\t\t\tgetEndpoint(baseMark, undefined),\n\t\t\t\t\tbaseMark.count,\n\t\t\t\t\t{ revision: newDetachRevision, localId: newAttachAndDetach.detach.id },\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// baseMark is a detach which cancels with the attach portion of the AttachAndDetach,\n\t\t\t// so we are just left with the detach portion of the AttachAndDetach.\n\t\t\tconst newDetach: CellMark<Detach, TNodeChange> & Partial<VestigialEndpoint> = {\n\t\t\t\t...newAttachAndDetach.detach,\n\t\t\t\tcount: baseMark.count,\n\t\t\t};\n\t\t\t// We may need to apply effects to the source location of the base MoveOut so we annotate the mark with\n\t\t\t// information about that location.\n\t\t\tif (isMoveOut(baseMark)) {\n\t\t\t\tnewDetach.vestigialEndpoint = {\n\t\t\t\t\trevision: baseMark.revision,\n\t\t\t\t\tlocalId: baseMark.id,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn withRevision(withNodeChange(newDetach, nodeChange), newDetachRevision);\n\t\t}\n\n\t\tif (isImpactfulCellRename(baseMark, undefined, revisionMetadata)) {\n\t\t\tconst baseAttachAndDetach = asAttachAndDetach(baseMark);\n\t\t\tconst newOutputId = getOutputCellId(newAttachAndDetach, newRev, revisionMetadata);\n\t\t\tif (areEqualCellIds(newOutputId, baseAttachAndDetach.cellId)) {\n\t\t\t\treturn withNodeChange(\n\t\t\t\t\t{ count: baseAttachAndDetach.count, cellId: baseAttachAndDetach.cellId },\n\t\t\t\t\tnodeChange,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// `newMark`'s attach portion cancels with `baseMark`'s detach portion.\n\t\t\tconst originalAttach = { ...baseAttachAndDetach.attach };\n\t\t\tconst finalDetach = { ...newAttachAndDetach.detach };\n\t\t\tconst detachRevision = finalDetach.revision ?? newRev;\n\t\t\tif (detachRevision !== undefined) {\n\t\t\t\tfinalDetach.revision = detachRevision;\n\t\t\t}\n\n\t\t\treturn normalizeCellRename(\n\t\t\t\t{\n\t\t\t\t\ttype: \"AttachAndDetach\",\n\t\t\t\t\tcellId: baseMark.cellId,\n\t\t\t\t\tcount: baseMark.count,\n\t\t\t\t\tattach: originalAttach,\n\t\t\t\t\tdetach: finalDetach,\n\t\t\t\t},\n\t\t\t\tnodeChange,\n\t\t\t);\n\t\t}\n\n\t\treturn withRevision(normalizeCellRename(newAttachAndDetach, nodeChange), newRev);\n\t}\n\tif (isImpactfulCellRename(baseMark, undefined, revisionMetadata)) {\n\t\tconst baseAttachAndDetach = asAttachAndDetach(baseMark);\n\t\tif (markFillsCells(newMark)) {\n\t\t\tif (isMoveIn(baseAttachAndDetach.attach) && isMoveOut(baseAttachAndDetach.detach)) {\n\t\t\t\tassert(isMoveIn(newMark), 0x809 /* Unexpected mark type */);\n\t\t\t\tsetEndpoint(\n\t\t\t\t\tmoveEffects,\n\t\t\t\t\tCrossFieldTarget.Source,\n\t\t\t\t\tgetEndpoint(newMark, newRev),\n\t\t\t\t\tbaseAttachAndDetach.count,\n\t\t\t\t\t{\n\t\t\t\t\t\trevision: baseAttachAndDetach.attach.revision,\n\t\t\t\t\t\tlocalId: baseAttachAndDetach.attach.id,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst originalAttach = withRevision(\n\t\t\t\twithNodeChange(\n\t\t\t\t\t{\n\t\t\t\t\t\t...baseAttachAndDetach.attach,\n\t\t\t\t\t\tcellId: baseAttachAndDetach.cellId,\n\t\t\t\t\t\tcount: baseAttachAndDetach.count,\n\t\t\t\t\t},\n\t\t\t\t\tnodeChange,\n\t\t\t\t),\n\t\t\t\tbaseAttachAndDetach.attach.revision,\n\t\t\t);\n\t\t\treturn originalAttach;\n\t\t} else {\n\t\t\t// Other mark types have been handled by previous conditional branches.\n\t\t\tassert(newMark.type === NoopMarkType, 0x80a /* Unexpected mark type */);\n\t\t\treturn withNodeChange(baseMark, nodeChange);\n\t\t}\n\t}\n\n\tif (!markHasCellEffect(baseMark) && !markHasCellEffect(newMark)) {\n\t\tif (isNoopMark(baseMark)) {\n\t\t\treturn withNodeChange(newMark, nodeChange);\n\t\t} else if (isNoopMark(newMark)) {\n\t\t\treturn withNodeChange(baseMark, nodeChange);\n\t\t}\n\t\treturn createNoopMark(\n\t\t\tnewMark.count,\n\t\t\tnodeChange,\n\t\t\tgetInputCellId(baseMark, undefined, undefined),\n\t\t);\n\t} else if (!markHasCellEffect(baseMark)) {\n\t\treturn withRevision(withNodeChange(newMark, nodeChange), newRev);\n\t} else if (!markHasCellEffect(newMark)) {\n\t\treturn withNodeChange(baseMark, nodeChange);\n\t} else if (areInputCellsEmpty(baseMark)) {\n\t\tassert(isDetach(newMark), 0x71c /* Unexpected mark type */);\n\t\tassert(isAttach(baseMark), 0x71d /* Expected generative mark */);\n\n\t\tconst attach = extractMarkEffect(baseMark);\n\t\tconst detach = extractMarkEffect(withRevision(newMark, newRev));\n\n\t\tif (isMoveIn(attach) && isMoveOut(detach)) {\n\t\t\tconst finalSource = getEndpoint(attach, undefined);\n\t\t\tconst finalDest = getEndpoint(detach, newRev);\n\n\t\t\tsetEndpoint(\n\t\t\t\tmoveEffects,\n\t\t\t\tCrossFieldTarget.Source,\n\t\t\t\tfinalSource,\n\t\t\t\tbaseMark.count,\n\t\t\t\tfinalDest,\n\t\t\t);\n\n\t\t\tsetEndpoint(\n\t\t\t\tmoveEffects,\n\t\t\t\tCrossFieldTarget.Destination,\n\t\t\t\tfinalDest,\n\t\t\t\tbaseMark.count,\n\t\t\t\tfinalSource,\n\t\t\t);\n\n\t\t\t// The `finalEndpoint` field of AttachAndDetach move effect pairs is not used,\n\t\t\t// so we remove it as a normalization.\n\t\t\tdelete attach.finalEndpoint;\n\t\t\tdelete detach.finalEndpoint;\n\t\t}\n\n\t\tif (areEqualCellIds(getOutputCellId(newMark, newRev, revisionMetadata), baseMark.cellId)) {\n\t\t\t// The output and input cell IDs are the same, so this mark has no effect.\n\t\t\treturn withNodeChange({ count: baseMark.count, cellId: baseMark.cellId }, nodeChange);\n\t\t}\n\t\treturn normalizeCellRename(\n\t\t\t{\n\t\t\t\ttype: \"AttachAndDetach\",\n\t\t\t\tcellId: baseMark.cellId,\n\t\t\t\tcount: baseMark.count,\n\t\t\t\tattach,\n\t\t\t\tdetach,\n\t\t\t},\n\t\t\tnodeChange,\n\t\t);\n\t} else {\n\t\tif (isMoveMark(baseMark) && isMoveMark(newMark)) {\n\t\t\t// The marks must be inverses, since `newMark` is filling the cells which `baseMark` emptied.\n\t\t\tconst nodeChanges = getModifyAfter(\n\t\t\t\tmoveEffects,\n\t\t\t\tbaseMark.revision,\n\t\t\t\tbaseMark.id,\n\t\t\t\tbaseMark.count,\n\t\t\t);\n\n\t\t\t// We return a noop that is annotated with information about the endpoint it used to be because there may\n\t\t\t// be more node changes on `newMark`'s source mark which need to be included here.\n\t\t\t// We will remove the the annotation during `amendCompose` or pruning.\n\t\t\tconst vestige: Mark<TNodeChange> & VestigialEndpoint = {\n\t\t\t\tcount: baseMark.count,\n\t\t\t\tvestigialEndpoint: {\n\t\t\t\t\trevision: baseMark.revision,\n\t\t\t\t\tlocalId: baseMark.id,\n\t\t\t\t},\n\t\t\t\tchanges: composeChildChanges(nodeChange, nodeChanges, composeChild),\n\t\t\t};\n\t\t\treturn vestige;\n\t\t}\n\t\tconst length = baseMark.count;\n\t\treturn createNoopMark(length, nodeChange);\n\t}\n}\n\nfunction createNoopMark<TNodeChange>(\n\tlength: number,\n\tnodeChange: TNodeChange | undefined,\n\tcellId?: ChangeAtomId,\n): Mark<TNodeChange> {\n\tconst mark: CellMark<NoopMark, TNodeChange> = { count: length };\n\tif (nodeChange !== undefined) {\n\t\tassert(length === 1, 0x692 /* A mark with a node change must have length one */);\n\t\tmark.changes = nodeChange;\n\t}\n\tif (cellId !== undefined) {\n\t\tmark.cellId = cellId;\n\t}\n\treturn mark;\n}\n\nfunction composeChildChanges<TNodeChange>(\n\tbaseChange: TNodeChange | undefined,\n\tnewChange: TaggedChange<TNodeChange> | undefined,\n\tcomposeChild: NodeChangeComposer<TNodeChange>,\n): TNodeChange | undefined {\n\tif (newChange === undefined) {\n\t\treturn baseChange;\n\t} else if (baseChange === undefined) {\n\t\treturn composeChild([newChange]);\n\t} else {\n\t\treturn composeChild([makeAnonChange(baseChange), newChange]);\n\t}\n}\n\nfunction composeMark<TNodeChange, TMark extends Mark<TNodeChange>>(\n\tmark: TMark,\n\trevision: RevisionTag | undefined,\n\tcomposeChild: NodeChangeComposer<TNodeChange>,\n): TMark {\n\tconst cloned = cloneMark(mark);\n\tif (\n\t\tcloned.cellId !== undefined &&\n\t\tcloned.cellId.revision === undefined &&\n\t\trevision !== undefined\n\t) {\n\t\tasMutable(cloned.cellId).revision = revision;\n\t}\n\n\taddRevision(cloned, revision);\n\tif (cloned.changes !== undefined) {\n\t\tcloned.changes = composeChild([tagChange(cloned.changes, revision)]);\n\t\treturn cloned;\n\t}\n\n\treturn cloned;\n}\n\nexport function amendCompose<TNodeChange>(\n\tmarks: MarkList<TNodeChange>,\n\tcomposeChild: NodeChangeComposer<TNodeChange>,\n\tgenId: IdAllocator,\n\tmanager: CrossFieldManager,\n): MarkList<TNodeChange> {\n\treturn amendComposeI(marks, composeChild, manager as MoveEffectTable<TNodeChange>);\n}\n\nfunction amendComposeI<TNodeChange>(\n\tmarks: MarkList<TNodeChange>,\n\tcomposeChild: NodeChangeComposer<TNodeChange>,\n\tmoveEffects: MoveEffectTable<TNodeChange>,\n): MarkList<TNodeChange> {\n\tconst factory = new MarkListFactory<TNodeChange>();\n\tconst queue = new MarkQueue(marks, undefined, moveEffects, true, fakeIdAllocator, (a, b) =>\n\t\tcomposeChildChanges(a, b, composeChild),\n\t);\n\n\twhile (!queue.isEmpty()) {\n\t\tconst mark = queue.dequeue() as Mark<TNodeChange> & Partial<VestigialEndpoint>;\n\t\tif (mark.vestigialEndpoint !== undefined) {\n\t\t\t// Any effects that target this endpoint should have been applied either during the first compose pass,\n\t\t\t// or during the `MarkQueue`'s reading for this pass.\n\t\t\tdelete mark.vestigialEndpoint;\n\t\t}\n\t\tfactory.push(mark);\n\t}\n\n\treturn factory.list;\n}\n\nexport class ComposeQueue<T> {\n\tprivate readonly baseMarks: MarkQueue<T>;\n\tprivate readonly newMarks: MarkQueue<T>;\n\n\tpublic constructor(\n\t\tbaseRevision: RevisionTag | undefined,\n\t\tbaseMarks: Changeset<T>,\n\t\tprivate readonly newRevision: RevisionTag | undefined,\n\t\tnewMarks: Changeset<T>,\n\t\tgenId: IdAllocator,\n\t\tmoveEffects: MoveEffectTable<T>,\n\t\tprivate readonly revisionMetadata: RevisionMetadataSource,\n\t\tcomposeChanges?: (a: T | undefined, b: TaggedChange<T>) => T | undefined,\n\t) {\n\t\tthis.baseMarks = new MarkQueue(\n\t\t\tbaseMarks,\n\t\t\tbaseRevision,\n\t\t\tmoveEffects,\n\t\t\ttrue,\n\t\t\tgenId,\n\t\t\tcomposeChanges,\n\t\t);\n\t\tthis.newMarks = new MarkQueue(\n\t\t\tnewMarks,\n\t\t\tnewRevision,\n\t\t\tmoveEffects,\n\t\t\ttrue,\n\t\t\tgenId,\n\t\t\tcomposeChanges,\n\t\t);\n\t}\n\n\tpublic isEmpty(): boolean {\n\t\treturn this.baseMarks.isEmpty() && this.newMarks.isEmpty();\n\t}\n\n\tpublic pop(): ComposeMarks<T> {\n\t\tconst baseMark = this.baseMarks.peek();\n\t\tconst newMark = this.newMarks.peek();\n\t\tif (baseMark === undefined && newMark === undefined) {\n\t\t\treturn {};\n\t\t} else if (baseMark === undefined) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\tconst length = getInputLength(newMark!);\n\t\t\treturn this.dequeueNew(length);\n\t\t} else if (newMark === undefined) {\n\t\t\tconst length = getOutputLength(baseMark);\n\t\t\treturn this.dequeueBase(length);\n\t\t} else if (areOutputCellsEmpty(baseMark) && areInputCellsEmpty(newMark)) {\n\t\t\tconst baseCellId: ChangeAtomId =\n\t\t\t\tgetOutputCellId(baseMark, this.baseMarks.revision, this.revisionMetadata) ??\n\t\t\t\tfail(\"Expected defined output ID\");\n\n\t\t\tif (markEmptiesCells(baseMark) && baseCellId.revision === undefined) {\n\t\t\t\t// The base revision should always be defined except when squashing changes into a transaction.\n\t\t\t\t// In the future, we want to support reattaches in the new change here.\n\t\t\t\t// We will need to be able to order the base mark relative to the new mark by looking at the lineage of the new mark\n\t\t\t\t// (which will be obtained by rebasing the reattach over interim changes\n\t\t\t\t// (which requires the local changes to have a revision tag))\n\t\t\t\tassert(\n\t\t\t\t\tisNewAttach(newMark),\n\t\t\t\t\t0x695 /* TODO: Assign revision tags to each change in a transaction */,\n\t\t\t\t);\n\t\t\t\treturn this.dequeueNew();\n\t\t\t}\n\n\t\t\tconst cmp = compareCellPositions(\n\t\t\t\tbaseCellId,\n\t\t\t\tbaseMark.count,\n\t\t\t\tnewMark,\n\t\t\t\tthis.newRevision,\n\t\t\t\tthis.revisionMetadata,\n\t\t\t);\n\t\t\tif (cmp < 0) {\n\t\t\t\treturn { baseMark: this.baseMarks.dequeueUpTo(-cmp) };\n\t\t\t} else if (cmp > 0) {\n\t\t\t\treturn { newMark: this.newMarks.dequeueUpTo(cmp) };\n\t\t\t} else {\n\t\t\t\treturn this.dequeueBoth();\n\t\t\t}\n\t\t} else if (areOutputCellsEmpty(baseMark)) {\n\t\t\treturn this.dequeueBase();\n\t\t} else if (areInputCellsEmpty(newMark)) {\n\t\t\treturn this.dequeueNew();\n\t\t} else {\n\t\t\treturn this.dequeueBoth();\n\t\t}\n\t}\n\n\tprivate dequeueBase(length: number = 0): ComposeMarks<T> {\n\t\tconst baseMark = this.baseMarks.dequeue();\n\t\treturn { baseMark, newMark: length > 0 ? { count: length } : undefined };\n\t}\n\n\tprivate dequeueNew(length: number = 0): ComposeMarks<T> {\n\t\treturn {\n\t\t\tbaseMark: length > 0 ? { count: length } : undefined,\n\t\t\tnewMark: this.newMarks.dequeue(),\n\t\t};\n\t}\n\n\tprivate dequeueBoth(): ComposeMarks<T> {\n\t\tconst baseMark = this.baseMarks.peek();\n\t\tconst newMark = this.newMarks.peek();\n\t\tassert(\n\t\t\tbaseMark !== undefined && newMark !== undefined,\n\t\t\t0x697 /* Cannot dequeue both unless both mark queues are non-empty */,\n\t\t);\n\t\tconst length = Math.min(newMark.count, baseMark.count);\n\t\treturn {\n\t\t\tbaseMark: this.baseMarks.dequeueUpTo(length),\n\t\t\tnewMark: this.newMarks.dequeueUpTo(length),\n\t\t};\n\t}\n}\n\ninterface ComposeMarks<T> {\n\tbaseMark?: Mark<T>;\n\tnewMark?: Mark<T>;\n}\n\n// TODO: Try to share more logic with the version in rebase.ts.\n/**\n * Returns a number N which encodes how the cells of the two marks are aligned.\n * - If N is zero, then the first cell of `baseMark` is the same as the first cell of `newMark`.\n * - If N is positive, then the first N cells of `newMark` (or all its cells if N is greater than its length)\n * are before the first cell of `baseMark`.\n * - If N is negative, then the first N cells of `baseMark` (or all its cells if N is greater than its length)\n * are before the first cell of `newMark`.\n */\nfunction compareCellPositions(\n\tbaseCellId: CellId,\n\tbaseCellCount: number,\n\tnewMark: EmptyInputCellMark<unknown>,\n\tnewIntention: RevisionTag | undefined,\n\tmetadata: RevisionMetadataSource,\n): number {\n\tconst newCellId = getInputCellId(newMark, newIntention, metadata);\n\tassert(newCellId !== undefined, 0x71f /* Should have cell ID */);\n\tif (baseCellId.revision === newCellId.revision) {\n\t\tconst comparison = compareCellsFromSameRevision(\n\t\t\tbaseCellId,\n\t\t\tbaseCellCount,\n\t\t\tnewCellId,\n\t\t\tnewMark.count,\n\t\t);\n\n\t\tif (comparison !== undefined) {\n\t\t\treturn comparison;\n\t\t}\n\t}\n\n\tconst offsetInBase = getOffsetInCellRange(\n\t\tbaseCellId.lineage,\n\t\tnewCellId.revision,\n\t\tnewCellId.localId,\n\t\tnewMark.count,\n\t);\n\tif (offsetInBase !== undefined) {\n\t\treturn offsetInBase > 0 ? offsetInBase : -Infinity;\n\t}\n\n\tconst offsetInNew = getOffsetInCellRange(\n\t\tnewCellId.lineage,\n\t\tbaseCellId.revision,\n\t\tbaseCellId.localId,\n\t\tbaseCellCount,\n\t);\n\tif (offsetInNew !== undefined) {\n\t\treturn offsetInNew > 0 ? -offsetInNew : Infinity;\n\t}\n\n\tconst cmp = compareLineages(baseCellId, newCellId);\n\tif (cmp !== 0) {\n\t\treturn Math.sign(cmp) * Infinity;\n\t}\n\n\tassert(\n\t\tbaseCellId.revision !== undefined && newCellId.revision !== undefined,\n\t\t0x858 /* Cells should have defined revisions */,\n\t);\n\n\tif (!isNewAttach(newMark)) {\n\t\t// If `newMark` were targeting a cell older than the composition window\n\t\t// there would be lineage determining the relative order of `newCell` and `baseCell`.\n\n\t\t// TODO:6127: Enable this assert\n\t\t// assert(\n\t\t// \tnewRevisionIndex !== undefined,\n\t\t// \t\"Expected lineage to determine cell order\",\n\t\t// );\n\n\t\t// `newCell` was detached by a change in this composition, so there will be a corresponding mark\n\t\t// later in the base changeset.\n\t\treturn -Infinity;\n\t}\n\n\tconst newRevisionIndex = metadata.getIndex(newCellId.revision);\n\tconst baseRevisionIndex = metadata.getIndex(baseCellId.revision);\n\tassert(\n\t\tnewRevisionIndex !== undefined,\n\t\t0x859 /* A cell from a new attach should have a defined revision index */,\n\t);\n\n\t// We use the tiebreaking policy of the newer cell.\n\treturn (baseRevisionIndex ?? -Infinity) > newRevisionIndex ? -Infinity : Infinity;\n}\n\n// TODO: Reduce the duplication between this and other MoveEffect helpers\nfunction setModifyAfter<T>(\n\tmoveEffects: MoveEffectTable<T>,\n\t{ revision, localId: id }: ChangeAtomId,\n\tmodifyAfter: T,\n\tmodifyRevision: RevisionTag | undefined,\n\tcomposeChanges: NodeChangeComposer<T>,\n) {\n\tconst target = CrossFieldTarget.Source;\n\tconst count = 1;\n\tconst effect = getMoveEffect(moveEffects, target, revision, id, count, false);\n\tlet newEffect: MoveEffect<T>;\n\tif (effect.value !== undefined) {\n\t\tconst nodeChange =\n\t\t\teffect.value.modifyAfter !== undefined\n\t\t\t\t? composeChanges([effect.value.modifyAfter, tagChange(modifyAfter, modifyRevision)])\n\t\t\t\t: modifyAfter;\n\t\tnewEffect = { ...effect.value, modifyAfter: makeAnonChange(nodeChange) };\n\t} else {\n\t\tnewEffect = { modifyAfter: tagChange(modifyAfter, modifyRevision) };\n\t}\n\tsetMoveEffect(moveEffects, target, revision, id, count, newEffect);\n}\n\nfunction setEndpoint(\n\tmoveEffects: MoveEffectTable<unknown>,\n\ttarget: CrossFieldTarget,\n\tid: ChangeAtomId,\n\tcount: number,\n\tendpoint: ChangeAtomId,\n) {\n\tconst effect = getMoveEffect(moveEffects, target, id.revision, id.localId, count);\n\tconst newEffect = effect.value !== undefined ? { ...effect.value, endpoint } : { endpoint };\n\tsetMoveEffect(moveEffects, target, id.revision, id.localId, effect.length, newEffect);\n\n\tconst remainingCount = count - effect.length;\n\tif (remainingCount > 0) {\n\t\tsetEndpoint(\n\t\t\tmoveEffects,\n\t\t\ttarget,\n\t\t\toffsetChangeAtomId(id, effect.length),\n\t\t\tremainingCount,\n\t\t\toffsetChangeAtomId(endpoint, effect.length),\n\t\t);\n\t}\n}\n\nfunction offsetChangeAtomId(id: ChangeAtomId, offset: number): ChangeAtomId {\n\treturn { ...id, localId: brand(id.localId + offset) };\n}\n"]}
|