@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 @@
|
|
|
1
|
+
{"version":3,"file":"modularChangeFamily.js","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/modularChangeFamily.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 { ICodecFamily, ICodecOptions, IJsonCodec, makeCodecFamily } from \"../../codec\";\nimport {\n\tChangeFamily,\n\tEditBuilder,\n\tChangeRebaser,\n\tFieldKindIdentifier,\n\tFieldKey,\n\tUpPath,\n\tTaggedChange,\n\tRevisionTag,\n\ttagChange,\n\tmakeAnonChange,\n\tChangeFamilyEditor,\n\tFieldUpPath,\n\tChangesetLocalId,\n\tisEmptyFieldChanges,\n\tRevisionMetadataSource,\n\tRevisionInfo,\n\trevisionMetadataSourceFromInfo,\n\tChangeAtomIdMap,\n\tmakeDetachedNodeId,\n\tITreeCursor,\n\temptyDelta,\n\tDeltaFieldMap,\n\tDeltaFieldChanges,\n\tDeltaDetachedNodeBuild,\n\tDeltaRoot,\n\tITreeCursorSynchronous,\n\tDeltaDetachedNodeId,\n\tEncodedRevisionTag,\n} from \"../../core\";\nimport {\n\tbrand,\n\tforEachInNestedMap,\n\tgetOrAddEmptyToMap,\n\tgetOrAddInMap,\n\tIdAllocationState,\n\tIdAllocator,\n\tidAllocatorFromMaxId,\n\tidAllocatorFromState,\n\tisReadonlyArray,\n\tMutable,\n} from \"../../util\";\nimport { MemoizedIdRangeAllocator } from \"../memoizedIdRangeAllocator\";\nimport { TreeChunk, chunkTree, defaultChunkPolicy, makeFieldBatchCodec } from \"../chunked-forest\";\nimport {\n\tCrossFieldManager,\n\tCrossFieldMap,\n\tCrossFieldQuerySet,\n\tCrossFieldTarget,\n\taddCrossFieldQuery,\n\tgetFirstFromCrossFieldMap,\n\tsetInCrossFieldMap,\n} from \"./crossFieldQueries\";\nimport {\n\tFieldChangeHandler,\n\tNodeExistenceState,\n\tRebaseRevisionMetadata,\n} from \"./fieldChangeHandler\";\nimport { FieldKind, FieldKindWithEditor, withEditor } from \"./fieldKind\";\nimport { convertGenericChange, genericFieldKind, newGenericChangeset } from \"./genericFieldKind\";\nimport { GenericChangeset } from \"./genericFieldKindTypes\";\nimport {\n\tFieldChange,\n\tFieldChangeMap,\n\tFieldChangeset,\n\tModularChangeset,\n\tNodeChangeset,\n\tNodeExistsConstraint,\n} from \"./modularChangeTypes\";\nimport { makeV0Codec } from \"./modularChangeCodecs\";\nimport { EncodedModularChangeset } from \"./modularChangeFormat\";\n\n/**\n * Implementation of ChangeFamily which delegates work in a given field to the appropriate FieldKind\n * as determined by the schema.\n */\nexport class ModularChangeFamily\n\timplements ChangeFamily<ModularEditBuilder, ModularChangeset>, ChangeRebaser<ModularChangeset>\n{\n\tpublic static readonly emptyChange: ModularChangeset = makeModularChangeset();\n\n\tpublic readonly latestCodec: IJsonCodec<ModularChangeset, EncodedModularChangeset>;\n\n\tpublic readonly codecs: ICodecFamily<ModularChangeset>;\n\n\tpublic constructor(\n\t\tpublic readonly fieldKinds: ReadonlyMap<FieldKindIdentifier, FieldKindWithEditor>,\n\t\trevisionTagCodec: IJsonCodec<RevisionTag, EncodedRevisionTag>,\n\t\tcodecOptions: ICodecOptions,\n\t) {\n\t\tthis.latestCodec = makeV0Codec(\n\t\t\tfieldKinds,\n\t\t\trevisionTagCodec,\n\t\t\tmakeFieldBatchCodec(codecOptions),\n\t\t\tcodecOptions,\n\t\t);\n\t\tthis.codecs = makeCodecFamily([[0, this.latestCodec]]);\n\t}\n\n\tpublic get rebaser(): ChangeRebaser<ModularChangeset> {\n\t\treturn this;\n\t}\n\n\t/**\n\t * Produces an equivalent list of `FieldChangeset`s that all target the same {@link FieldKind}.\n\t * @param changes - The list of `FieldChange`s whose `FieldChangeset`s needs to be normalized.\n\t * @returns An object that contains both the equivalent list of `FieldChangeset`s that all\n\t * target the same {@link FieldKind}, and the `FieldKind` that they target.\n\t * The returned `FieldChangeset`s may be a shallow copy of the input `FieldChange`s.\n\t */\n\tprivate normalizeFieldChanges(\n\t\tchanges: readonly FieldChange[],\n\t\tgenId: IdAllocator,\n\t\trevisionMetadata: RevisionMetadataSource,\n\t): {\n\t\tfieldKind: FieldKindWithEditor;\n\t\tchangesets: FieldChangeset[];\n\t} {\n\t\t// TODO: Handle the case where changes have conflicting field kinds\n\t\tconst nonGenericChange = changes.find(\n\t\t\t(change) => change.fieldKind !== genericFieldKind.identifier,\n\t\t);\n\t\tif (nonGenericChange === undefined) {\n\t\t\t// All the changes are generic\n\t\t\treturn { fieldKind: genericFieldKind, changesets: changes.map((c) => c.change) };\n\t\t}\n\t\tconst kind = nonGenericChange.fieldKind;\n\t\tconst fieldKind = getFieldKind(this.fieldKinds, kind);\n\t\tconst handler = fieldKind.changeHandler;\n\t\tconst normalizedChanges = changes.map((change) => {\n\t\t\tif (change.fieldKind === genericFieldKind.identifier) {\n\t\t\t\t// The cast is based on the `fieldKind` check above\n\t\t\t\tconst genericChange = change.change as unknown as GenericChangeset;\n\t\t\t\treturn convertGenericChange(\n\t\t\t\t\tgenericChange,\n\t\t\t\t\thandler,\n\t\t\t\t\t(children) =>\n\t\t\t\t\t\tthis.composeNodeChanges(\n\t\t\t\t\t\t\tchildren,\n\t\t\t\t\t\t\tgenId,\n\t\t\t\t\t\t\tnewCrossFieldTable(),\n\t\t\t\t\t\t\trevisionMetadata,\n\t\t\t\t\t\t),\n\t\t\t\t\tgenId,\n\t\t\t\t\trevisionMetadata,\n\t\t\t\t) as FieldChangeset;\n\t\t\t}\n\t\t\treturn change.change;\n\t\t});\n\t\treturn { fieldKind, changesets: normalizedChanges };\n\t}\n\n\tpublic compose(changes: TaggedChange<ModularChangeset>[]): ModularChangeset {\n\t\tconst { revInfos, maxId } = getRevInfoFromTaggedChanges(changes);\n\t\tif (changes.length === 1) {\n\t\t\tconst { fieldChanges, builds, constraintViolationCount } = changes[0].change;\n\t\t\treturn makeModularChangeset(\n\t\t\t\tfieldChanges,\n\t\t\t\tmaxId,\n\t\t\t\trevInfos,\n\t\t\t\tconstraintViolationCount,\n\t\t\t\tbuilds,\n\t\t\t);\n\t\t}\n\t\tconst revisionMetadata: RevisionMetadataSource = revisionMetadataSourceFromInfo(revInfos);\n\t\tconst idState: IdAllocationState = { maxId };\n\t\tconst genId: IdAllocator = idAllocatorFromState(idState);\n\t\tconst crossFieldTable = newCrossFieldTable<ComposeData>();\n\n\t\tconst changesWithoutConstraintViolations = changes.filter(\n\t\t\t(change) => (change.change.constraintViolationCount ?? 0) === 0,\n\t\t);\n\n\t\tconst composedFields = this.composeFieldMaps(\n\t\t\tchangesWithoutConstraintViolations.map((change) =>\n\t\t\t\ttagChange(change.change.fieldChanges, revisionFromTaggedChange(change)),\n\t\t\t),\n\t\t\tgenId,\n\t\t\tcrossFieldTable,\n\t\t\trevisionMetadata,\n\t\t);\n\n\t\tif (crossFieldTable.invalidatedFields.size > 0) {\n\t\t\tconst fieldsToUpdate = crossFieldTable.invalidatedFields;\n\t\t\tcrossFieldTable.invalidatedFields = new Set();\n\t\t\tfor (const field of fieldsToUpdate) {\n\t\t\t\tconst amendedChange = getChangeHandler(\n\t\t\t\t\tthis.fieldKinds,\n\t\t\t\t\tfield.fieldKind,\n\t\t\t\t).rebaser.amendCompose(\n\t\t\t\t\tfield.change,\n\t\t\t\t\t(children) =>\n\t\t\t\t\t\tthis.composeNodeChanges(children, genId, crossFieldTable, revisionMetadata),\n\t\t\t\t\tgenId,\n\t\t\t\t\tnewCrossFieldManager(crossFieldTable),\n\t\t\t\t\trevisionMetadata,\n\t\t\t\t);\n\t\t\t\tfield.change = brand(amendedChange);\n\t\t\t}\n\t\t}\n\n\t\tassert(\n\t\t\tcrossFieldTable.invalidatedFields.size === 0,\n\t\t\t0x59b /* Should not need more than one amend pass. */,\n\t\t);\n\t\tconst allBuilds: ChangeAtomIdMap<TreeChunk> = new Map();\n\t\tfor (const taggedChange of changes) {\n\t\t\tconst revision = revisionFromTaggedChange(taggedChange);\n\t\t\tconst change = taggedChange.change;\n\t\t\tif (change.builds) {\n\t\t\t\tfor (const [revisionKey, innerMap] of change.builds) {\n\t\t\t\t\tconst setRevisionKey = revisionKey ?? revision;\n\t\t\t\t\tconst innerDstMap = getOrAddInMap(allBuilds, setRevisionKey, new Map());\n\t\t\t\t\tfor (const [id, tree] of innerMap) {\n\t\t\t\t\t\t// Check for duplicate builds and prefer earlier ones.\n\t\t\t\t\t\t// There are two scenarios where we might get duplicate builds:\n\t\t\t\t\t\t// - In compositions of rebase sandwiches:\n\t\t\t\t\t\t// In that case, the trees are identical and it doesn't matter which one we pick.\n\t\t\t\t\t\t// - In compositions of commits that needed to include repair data refreshers (e.g., undos):\n\t\t\t\t\t\t// In that case, it's possible for the refreshers to contain different trees because the latter\n\t\t\t\t\t\t// refresher may already reflect the changes made by the commit that includes the earlier\n\t\t\t\t\t\t// refresher. This composition includes the changes made by the commit that includes the\n\t\t\t\t\t\t// earlier refresher, so we need to include the build for the earlier refresher, otherwise\n\t\t\t\t\t\t// the produced changeset will build a tree one which those changes have already been applied\n\t\t\t\t\t\t// and also try to apply the changes again, effectively applying them twice.\n\t\t\t\t\t\t// Note that it would in principle be possible to adopt the later build and exclude from the\n\t\t\t\t\t\t// composition all the changes already reflected on the tree, but that is not something we\n\t\t\t\t\t\t// care to support at this time.\n\t\t\t\t\t\tif (!innerDstMap.has(id)) {\n\t\t\t\t\t\t\tinnerDstMap.set(id, tree);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn makeModularChangeset(\n\t\t\tthis.pruneFieldMap(composedFields),\n\t\t\tidState.maxId,\n\t\t\trevInfos,\n\t\t\tundefined,\n\t\t\tallBuilds,\n\t\t);\n\t}\n\n\tprivate composeFieldMaps(\n\t\tchanges: TaggedChange<FieldChangeMap>[],\n\t\tgenId: IdAllocator,\n\t\tcrossFieldTable: CrossFieldTable<ComposeData>,\n\t\trevisionMetadata: RevisionMetadataSource,\n\t): FieldChangeMap {\n\t\tconst fieldChanges = new Map<FieldKey, FieldChange[]>();\n\t\tfor (const change of changes) {\n\t\t\tfor (const [key, fieldChange] of change.change) {\n\t\t\t\tconst fieldChangeToCompose =\n\t\t\t\t\tfieldChange.revision !== undefined || change.revision === undefined\n\t\t\t\t\t\t? fieldChange\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t...fieldChange,\n\t\t\t\t\t\t\t\trevision: change.revision,\n\t\t\t\t\t\t };\n\n\t\t\t\tgetOrAddEmptyToMap(fieldChanges, key).push(fieldChangeToCompose);\n\t\t\t}\n\t\t}\n\n\t\tconst composedFields: FieldChangeMap = new Map();\n\t\tfor (const [field, changesForField] of fieldChanges) {\n\t\t\tconst { fieldKind, changesets } = this.normalizeFieldChanges(\n\t\t\t\tchangesForField,\n\t\t\t\tgenId,\n\t\t\t\trevisionMetadata,\n\t\t\t);\n\t\t\tassert(\n\t\t\t\tchangesets.length === changesForField.length,\n\t\t\t\t0x4a8 /* Number of changes should be constant when normalizing */,\n\t\t\t);\n\n\t\t\tconst manager = newCrossFieldManager(crossFieldTable);\n\t\t\tconst taggedChangesets = changesets.map((change, i) =>\n\t\t\t\ttagChange(change, changesForField[i].revision),\n\t\t\t);\n\t\t\tconst composedChange = fieldKind.changeHandler.rebaser.compose(\n\t\t\t\ttaggedChangesets,\n\t\t\t\t(children) =>\n\t\t\t\t\tthis.composeNodeChanges(children, genId, crossFieldTable, revisionMetadata),\n\t\t\t\tgenId,\n\t\t\t\tmanager,\n\t\t\t\trevisionMetadata,\n\t\t\t);\n\n\t\t\tconst composedField: FieldChange = {\n\t\t\t\tfieldKind: fieldKind.identifier,\n\t\t\t\tchange: brand(composedChange),\n\t\t\t};\n\n\t\t\taddFieldData(manager, composedField);\n\n\t\t\t// TODO: Could optimize by checking that composedField is non-empty\n\t\t\tcomposedFields.set(field, composedField);\n\t\t}\n\t\treturn composedFields;\n\t}\n\n\tprivate composeNodeChanges(\n\t\tchanges: TaggedChange<NodeChangeset>[],\n\t\tgenId: IdAllocator,\n\t\tcrossFieldTable: CrossFieldTable<ComposeData>,\n\t\trevisionMetadata: RevisionMetadataSource,\n\t): NodeChangeset {\n\t\tconst fieldChanges: TaggedChange<FieldChangeMap>[] = [];\n\t\tlet nodeExistsConstraint: NodeExistsConstraint | undefined;\n\t\tfor (const change of changes) {\n\t\t\t// Composition is part of two codepaths:\n\t\t\t// 1. Combining multiple changesets into a transaction\n\t\t\t// 2. Generating a state update after rebasing a branch that has\n\t\t\t// more than one changeset\n\t\t\t// In the first codepath, none of the constraints will be violated and\n\t\t\t// we need the constraint to be stored on the given node in the transaction.\n\t\t\t// In the second path, the constraint may have been violated, but the state is tracked\n\t\t\t// as part of `constraintViolationCount` and the change won't be rebased further.\n\t\t\tif (change.change.nodeExistsConstraint !== undefined) {\n\t\t\t\tnodeExistsConstraint = { ...change.change.nodeExistsConstraint };\n\t\t\t}\n\n\t\t\tif (change.change.fieldChanges !== undefined) {\n\t\t\t\tfieldChanges.push(tagChange(change.change.fieldChanges, change.revision));\n\t\t\t}\n\t\t}\n\n\t\tconst composedFieldChanges = this.composeFieldMaps(\n\t\t\tfieldChanges,\n\t\t\tgenId,\n\t\t\tcrossFieldTable,\n\t\t\trevisionMetadata,\n\t\t);\n\t\tconst composedNodeChange: NodeChangeset = {};\n\n\t\tif (composedFieldChanges.size > 0) {\n\t\t\tcomposedNodeChange.fieldChanges = composedFieldChanges;\n\t\t}\n\n\t\tif (nodeExistsConstraint !== undefined) {\n\t\t\tcomposedNodeChange.nodeExistsConstraint = nodeExistsConstraint;\n\t\t}\n\n\t\treturn composedNodeChange;\n\t}\n\n\t/**\n\t * @param change - The change to invert.\n\t * @param isRollback - Whether the inverted change is meant to rollback a change on a branch as is the case when\n\t * performing a sandwich rebase.\n\t * @param repairStore - The store to query for repair data.\n\t */\n\tpublic invert(change: TaggedChange<ModularChangeset>, isRollback: boolean): ModularChangeset {\n\t\t// Return an empty inverse for changes with constraint violations\n\t\tif ((change.change.constraintViolationCount ?? 0) > 0) {\n\t\t\treturn makeModularChangeset();\n\t\t}\n\n\t\tconst idState: IdAllocationState = { maxId: change.change.maxId ?? -1 };\n\t\t// This idState is used for the whole of the IdAllocator's lifetime, which allows\n\t\t// this function to read the updated idState.maxId after more IDs are allocated.\n\t\t// TODO: add a getMax function to IdAllocator to make for a clearer contract.\n\t\tconst genId: IdAllocator = idAllocatorFromState(idState);\n\t\tconst crossFieldTable: InvertTable = {\n\t\t\t...newCrossFieldTable<FieldChange>(),\n\t\t\toriginalFieldToContext: new Map(),\n\t\t};\n\n\t\tconst { revInfos } = getRevInfoFromTaggedChanges([change]);\n\t\tconst revisionMetadata = revisionMetadataSourceFromInfo(revInfos);\n\n\t\tconst invertedFields = this.invertFieldMap(\n\t\t\ttagChange(change.change.fieldChanges, revisionFromTaggedChange(change)),\n\t\t\tgenId,\n\t\t\tcrossFieldTable,\n\t\t\trevisionMetadata,\n\t\t);\n\n\t\tif (crossFieldTable.invalidatedFields.size > 0) {\n\t\t\tconst fieldsToUpdate = crossFieldTable.invalidatedFields;\n\t\t\tcrossFieldTable.invalidatedFields = new Set();\n\t\t\tfor (const fieldChange of fieldsToUpdate) {\n\t\t\t\tconst originalFieldChange = fieldChange.change;\n\t\t\t\tconst context = crossFieldTable.originalFieldToContext.get(fieldChange);\n\t\t\t\tassert(\n\t\t\t\t\tcontext !== undefined,\n\t\t\t\t\t0x851 /* Should have context for every invalidated field */,\n\t\t\t\t);\n\t\t\t\tconst { invertedField, revision } = context;\n\n\t\t\t\tconst amendedChange = getChangeHandler(\n\t\t\t\t\tthis.fieldKinds,\n\t\t\t\t\tfieldChange.fieldKind,\n\t\t\t\t).rebaser.invert(\n\t\t\t\t\ttagChange(originalFieldChange, revision),\n\t\t\t\t\t(nodeChangeset) => nodeChangeset,\n\t\t\t\t\tgenId,\n\t\t\t\t\tnewCrossFieldManager(crossFieldTable),\n\t\t\t\t\trevisionMetadata,\n\t\t\t\t);\n\t\t\t\tinvertedField.change = brand(amendedChange);\n\t\t\t}\n\n\t\t\t// TODO: See if we there's a reasonable way to assert that\n\t\t\t// running a third pass would produce the same results.\n\t\t}\n\n\t\tconst revInfo = change.change.revisions;\n\t\treturn makeModularChangeset(\n\t\t\tinvertedFields,\n\t\t\tidState.maxId,\n\t\t\trevInfo === undefined\n\t\t\t\t? undefined\n\t\t\t\t: (isRollback\n\t\t\t\t\t\t? revInfo.map(({ revision }) => ({ revision, rollbackOf: revision }))\n\t\t\t\t\t\t: Array.from(revInfo)\n\t\t\t\t ).reverse(),\n\t\t\tchange.change.constraintViolationCount,\n\t\t);\n\t}\n\n\tprivate invertFieldMap(\n\t\tchanges: TaggedChange<FieldChangeMap>,\n\t\tgenId: IdAllocator,\n\t\tcrossFieldTable: InvertTable,\n\t\trevisionMetadata: RevisionMetadataSource,\n\t): FieldChangeMap {\n\t\tconst invertedFields: FieldChangeMap = new Map();\n\n\t\tfor (const [field, fieldChange] of changes.change) {\n\t\t\tconst { revision } = fieldChange.revision !== undefined ? fieldChange : changes;\n\n\t\t\tconst manager = newCrossFieldManager(crossFieldTable);\n\t\t\tconst invertedChange = getChangeHandler(\n\t\t\t\tthis.fieldKinds,\n\t\t\t\tfieldChange.fieldKind,\n\t\t\t).rebaser.invert(\n\t\t\t\t{ revision, change: fieldChange.change },\n\t\t\t\t(childChanges) =>\n\t\t\t\t\tthis.invertNodeChange(\n\t\t\t\t\t\t{ revision, change: childChanges },\n\t\t\t\t\t\tgenId,\n\t\t\t\t\t\tcrossFieldTable,\n\t\t\t\t\t\trevisionMetadata,\n\t\t\t\t\t),\n\t\t\t\tgenId,\n\t\t\t\tmanager,\n\t\t\t\trevisionMetadata,\n\t\t\t);\n\n\t\t\tconst invertedFieldChange: FieldChange = {\n\t\t\t\t...fieldChange,\n\t\t\t\tchange: brand(invertedChange),\n\t\t\t};\n\t\t\tinvertedFields.set(field, invertedFieldChange);\n\n\t\t\tcrossFieldTable.originalFieldToContext.set(fieldChange, {\n\t\t\t\tinvertedField: invertedFieldChange,\n\t\t\t\trevision,\n\t\t\t});\n\n\t\t\taddFieldData(manager, fieldChange);\n\t\t}\n\n\t\treturn invertedFields;\n\t}\n\n\tprivate invertNodeChange(\n\t\tchange: TaggedChange<NodeChangeset>,\n\t\tgenId: IdAllocator,\n\t\tcrossFieldTable: InvertTable,\n\t\trevisionMetadata: RevisionMetadataSource,\n\t): NodeChangeset {\n\t\tconst inverse: NodeChangeset = {};\n\n\t\tif (change.change.fieldChanges !== undefined) {\n\t\t\tinverse.fieldChanges = this.invertFieldMap(\n\t\t\t\t{ ...change, change: change.change.fieldChanges },\n\t\t\t\tgenId,\n\t\t\t\tcrossFieldTable,\n\t\t\t\trevisionMetadata,\n\t\t\t);\n\t\t}\n\n\t\treturn inverse;\n\t}\n\n\tpublic rebase(\n\t\tchange: ModularChangeset,\n\t\tover: TaggedChange<ModularChangeset>,\n\t\trevisionMetadata: RevisionMetadataSource,\n\t): ModularChangeset {\n\t\tconst maxId = Math.max(change.maxId ?? -1, over.change.maxId ?? -1);\n\t\tconst idState: IdAllocationState = { maxId };\n\t\tconst genId: IdAllocator = idAllocatorFromState(idState);\n\t\tconst crossFieldTable: RebaseTable = {\n\t\t\t...newCrossFieldTable<FieldChange>(),\n\t\t\trebasedFieldToContext: new Map(),\n\t\t};\n\n\t\tlet constraintState = newConstraintState(change.constraintViolationCount ?? 0);\n\n\t\tconst getBaseRevisions = () =>\n\t\t\trevisionInfoFromTaggedChange(over).map((info) => info.revision);\n\n\t\tconst rebaseMetadata = {\n\t\t\t...revisionMetadata,\n\t\t\tgetBaseRevisions,\n\t\t};\n\n\t\tconst rebasedFields = this.rebaseFieldMap(\n\t\t\tchange.fieldChanges,\n\t\t\ttagChange(over.change.fieldChanges, revisionFromTaggedChange(over)),\n\t\t\tgenId,\n\t\t\tcrossFieldTable,\n\t\t\t() => true,\n\t\t\trebaseMetadata,\n\t\t\tconstraintState,\n\t\t);\n\n\t\tif (crossFieldTable.invalidatedFields.size > 0) {\n\t\t\tconst fieldsToUpdate = crossFieldTable.invalidatedFields;\n\t\t\tcrossFieldTable.invalidatedFields = new Set();\n\t\t\tconstraintState = newConstraintState(change.constraintViolationCount ?? 0);\n\t\t\tfor (const field of fieldsToUpdate) {\n\t\t\t\t// TODO: Should we copy the context table out before this loop?\n\t\t\t\tconst context = crossFieldTable.rebasedFieldToContext.get(field);\n\t\t\t\tassert(context !== undefined, 0x852 /* Every field should have a context */);\n\t\t\t\tconst {\n\t\t\t\t\tfieldKind,\n\t\t\t\t\tchangesets: [fieldChangeset, baseChangeset],\n\t\t\t\t} = this.normalizeFieldChanges(\n\t\t\t\t\t[context.newChange, context.baseChange],\n\t\t\t\t\tgenId,\n\t\t\t\t\trevisionMetadata,\n\t\t\t\t);\n\n\t\t\t\tfield.change = fieldKind.changeHandler.rebaser.rebase(\n\t\t\t\t\tfieldChangeset,\n\t\t\t\t\ttagChange(baseChangeset, context.baseRevision),\n\t\t\t\t\t(node) => node,\n\t\t\t\t\tgenId,\n\t\t\t\t\tnewCrossFieldManager(crossFieldTable),\n\t\t\t\t\trebaseMetadata,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn makeModularChangeset(\n\t\t\tthis.pruneFieldMap(rebasedFields),\n\t\t\tidState.maxId,\n\t\t\tchange.revisions,\n\t\t\tconstraintState.violationCount,\n\t\t\tchange.builds,\n\t\t);\n\t}\n\n\tprivate rebaseFieldMap(\n\t\tchange: FieldChangeMap,\n\t\tover: TaggedChange<FieldChangeMap>,\n\t\tgenId: IdAllocator,\n\t\tcrossFieldTable: RebaseTable,\n\t\tfieldFilter: (baseChange: FieldChange, newChange: FieldChange | undefined) => boolean,\n\t\trevisionMetadata: RebaseRevisionMetadata,\n\t\tconstraintState: ConstraintState,\n\t\texistenceState: NodeExistenceState = NodeExistenceState.Alive,\n\t): FieldChangeMap {\n\t\tconst rebasedFields: FieldChangeMap = new Map();\n\n\t\t// Rebase fields contained in the base changeset\n\t\tfor (const [field, baseChanges] of over.change) {\n\t\t\tif (!fieldFilter(baseChanges, change.get(field))) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst fieldChange: FieldChange = change.get(field) ?? {\n\t\t\t\tfieldKind: genericFieldKind.identifier,\n\t\t\t\tchange: brand(newGenericChangeset()),\n\t\t\t};\n\t\t\tconst {\n\t\t\t\tfieldKind,\n\t\t\t\tchangesets: [fieldChangeset, baseChangeset],\n\t\t\t} = this.normalizeFieldChanges([fieldChange, baseChanges], genId, revisionMetadata);\n\n\t\t\tconst { revision } = over;\n\t\t\tconst taggedBaseChange = { revision, change: baseChangeset };\n\t\t\tconst manager = newCrossFieldManager(crossFieldTable);\n\n\t\t\tconst rebaseChild = (\n\t\t\t\tchild: NodeChangeset | undefined,\n\t\t\t\tbaseChild: NodeChangeset | undefined,\n\t\t\t\tstateChange: NodeExistenceState | undefined,\n\t\t\t) =>\n\t\t\t\tthis.rebaseNodeChange(\n\t\t\t\t\tchild,\n\t\t\t\t\t{ revision, change: baseChild },\n\t\t\t\t\tgenId,\n\t\t\t\t\tcrossFieldTable,\n\t\t\t\t\tfieldFilter,\n\t\t\t\t\trevisionMetadata,\n\t\t\t\t\tconstraintState,\n\t\t\t\t\tstateChange,\n\t\t\t\t);\n\n\t\t\tconst rebasedField = fieldKind.changeHandler.rebaser.rebase(\n\t\t\t\tfieldChangeset,\n\t\t\t\ttaggedBaseChange,\n\t\t\t\trebaseChild,\n\t\t\t\tgenId,\n\t\t\t\tmanager,\n\t\t\t\trevisionMetadata,\n\t\t\t);\n\n\t\t\tconst rebasedFieldChange: FieldChange = {\n\t\t\t\tfieldKind: fieldKind.identifier,\n\t\t\t\tchange: brand(rebasedField),\n\t\t\t};\n\n\t\t\trebasedFields.set(field, rebasedFieldChange);\n\n\t\t\taddFieldData(manager, rebasedFieldChange);\n\t\t\tcrossFieldTable.rebasedFieldToContext.set(rebasedFieldChange, {\n\t\t\t\tbaseChange: baseChanges,\n\t\t\t\tbaseRevision: revision,\n\t\t\t\tnewChange: fieldChange,\n\t\t\t});\n\t\t}\n\n\t\t// Rebase the fields of the new changeset which don't have a corresponding base field.\n\t\tfor (const [field, fieldChange] of change) {\n\t\t\tif (!over.change?.has(field)) {\n\t\t\t\tconst baseChanges: FieldChange = {\n\t\t\t\t\tfieldKind: genericFieldKind.identifier,\n\t\t\t\t\tchange: brand(newGenericChangeset()),\n\t\t\t\t};\n\n\t\t\t\tconst {\n\t\t\t\t\tfieldKind,\n\t\t\t\t\tchangesets: [fieldChangeset, baseChangeset],\n\t\t\t\t} = this.normalizeFieldChanges([fieldChange, baseChanges], genId, revisionMetadata);\n\n\t\t\t\tconst manager = newCrossFieldManager(crossFieldTable);\n\t\t\t\tconst rebasedChangeset = fieldKind.changeHandler.rebaser.rebase(\n\t\t\t\t\tfieldChangeset,\n\t\t\t\t\ttagChange(baseChangeset, over.revision),\n\t\t\t\t\t(child, baseChild) => {\n\t\t\t\t\t\tassert(\n\t\t\t\t\t\t\tbaseChild === undefined,\n\t\t\t\t\t\t\t0x5b6 /* This field should not have any base changes */,\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn this.rebaseNodeChange(\n\t\t\t\t\t\t\tchild,\n\t\t\t\t\t\t\ttagChange(undefined, over.revision),\n\t\t\t\t\t\t\tgenId,\n\t\t\t\t\t\t\tcrossFieldTable,\n\t\t\t\t\t\t\tfieldFilter,\n\t\t\t\t\t\t\trevisionMetadata,\n\t\t\t\t\t\t\tconstraintState,\n\t\t\t\t\t\t\texistenceState,\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t\tgenId,\n\t\t\t\t\tmanager,\n\t\t\t\t\trevisionMetadata,\n\t\t\t\t\texistenceState,\n\t\t\t\t);\n\t\t\t\tconst rebasedFieldChange: FieldChange = {\n\t\t\t\t\tfieldKind: fieldKind.identifier,\n\t\t\t\t\tchange: brand(rebasedChangeset),\n\t\t\t\t};\n\t\t\t\trebasedFields.set(field, rebasedFieldChange);\n\t\t\t\taddFieldData(manager, rebasedFieldChange);\n\t\t\t}\n\t\t}\n\n\t\treturn rebasedFields;\n\t}\n\n\tprivate rebaseNodeChange(\n\t\tchange: NodeChangeset | undefined,\n\t\tover: TaggedChange<NodeChangeset | undefined>,\n\t\tgenId: IdAllocator,\n\t\tcrossFieldTable: RebaseTable,\n\t\tfieldFilter: (baseChange: FieldChange, newChange: FieldChange | undefined) => boolean,\n\t\trevisionMetadata: RebaseRevisionMetadata,\n\t\tconstraintState: ConstraintState,\n\t\texistenceState: NodeExistenceState = NodeExistenceState.Alive,\n\t): NodeChangeset | undefined {\n\t\tif (change === undefined && over.change?.fieldChanges === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst baseMap: TaggedChange<FieldChangeMap> =\n\t\t\tover.change?.fieldChanges !== undefined\n\t\t\t\t? {\n\t\t\t\t\t\t...over,\n\t\t\t\t\t\tchange: over.change.fieldChanges,\n\t\t\t\t }\n\t\t\t\t: tagChange(new Map(), over.revision);\n\n\t\tconst fieldChanges = this.rebaseFieldMap(\n\t\t\tchange?.fieldChanges ?? new Map(),\n\t\t\tbaseMap,\n\t\t\tgenId,\n\t\t\tcrossFieldTable,\n\t\t\tfieldFilter,\n\t\t\trevisionMetadata,\n\t\t\tconstraintState,\n\t\t\texistenceState,\n\t\t);\n\n\t\tconst rebasedChange: NodeChangeset = {};\n\n\t\tif (fieldChanges.size > 0) {\n\t\t\trebasedChange.fieldChanges = fieldChanges;\n\t\t}\n\n\t\tif (change?.nodeExistsConstraint !== undefined) {\n\t\t\trebasedChange.nodeExistsConstraint = change.nodeExistsConstraint;\n\t\t}\n\n\t\t// If there's a node exists constraint and we deleted or revived the node, update constraint state\n\t\tif (rebasedChange.nodeExistsConstraint !== undefined) {\n\t\t\tconst violatedAfter = existenceState === NodeExistenceState.Dead;\n\n\t\t\tif (rebasedChange.nodeExistsConstraint.violated !== violatedAfter) {\n\t\t\t\trebasedChange.nodeExistsConstraint = {\n\t\t\t\t\t...rebasedChange.nodeExistsConstraint,\n\t\t\t\t\tviolated: violatedAfter,\n\t\t\t\t};\n\t\t\t\tconstraintState.violationCount += violatedAfter ? 1 : -1;\n\t\t\t}\n\t\t}\n\n\t\treturn rebasedChange;\n\t}\n\n\tprivate pruneFieldMap(changeset: FieldChangeMap): FieldChangeMap | undefined {\n\t\tconst prunedChangeset: FieldChangeMap = new Map();\n\t\tfor (const [field, fieldChange] of changeset) {\n\t\t\tconst handler = getChangeHandler(this.fieldKinds, fieldChange.fieldKind);\n\n\t\t\tconst prunedFieldChangeset = handler.rebaser.prune(fieldChange.change, (node) =>\n\t\t\t\tthis.pruneNodeChange(node),\n\t\t\t);\n\n\t\t\tif (!handler.isEmpty(prunedFieldChangeset)) {\n\t\t\t\tprunedChangeset.set(field, { ...fieldChange, change: brand(prunedFieldChangeset) });\n\t\t\t}\n\t\t}\n\n\t\treturn prunedChangeset.size > 0 ? prunedChangeset : undefined;\n\t}\n\n\tprivate pruneNodeChange(changeset: NodeChangeset): NodeChangeset | undefined {\n\t\tconst prunedFields =\n\t\t\tchangeset.fieldChanges !== undefined\n\t\t\t\t? this.pruneFieldMap(changeset.fieldChanges)\n\t\t\t\t: undefined;\n\n\t\tconst prunedChange = { ...changeset, fieldChanges: prunedFields };\n\t\tif (prunedChange.fieldChanges === undefined) {\n\t\t\tdelete prunedChange.fieldChanges;\n\t\t}\n\n\t\treturn isEmptyNodeChangeset(prunedChange) ? undefined : prunedChange;\n\t}\n\n\tpublic buildEditor(changeReceiver: (change: ModularChangeset) => void): ModularEditBuilder {\n\t\treturn new ModularEditBuilder(this, changeReceiver);\n\t}\n}\n\n/**\n * Returns the set of removed roots that should be in memory for the given change to be applied.\n * A removed root is relevant if any of the following is true:\n * - It is being inserted\n * - It is being restored\n * - It is being edited\n * - The ID it is associated with is being changed\n *\n * May be conservative by returning more removed roots than strictly necessary.\n *\n * Will never return IDs for non-root trees, even if they are removed.\n *\n * @param change - The change to be applied.\n * @param fieldKinds - The field kinds to delegate to.\n */\nexport function* relevantRemovedRoots(\n\t{ change, revision }: TaggedChange<ModularChangeset>,\n\tfieldKinds: ReadonlyMap<FieldKindIdentifier, FieldKindWithEditor>,\n): Iterable<DeltaDetachedNodeId> {\n\tyield* relevantRemovedRootsFromFields(change.fieldChanges, revision, fieldKinds);\n}\n\nfunction* relevantRemovedRootsFromFields(\n\tchange: FieldChangeMap,\n\trevision: RevisionTag | undefined,\n\tfieldKinds: ReadonlyMap<FieldKindIdentifier, FieldKindWithEditor>,\n): Iterable<DeltaDetachedNodeId> {\n\tfor (const [_, fieldChange] of change) {\n\t\tconst fieldRevision = fieldChange.revision ?? revision;\n\t\tconst handler = getChangeHandler(fieldKinds, fieldChange.fieldKind);\n\t\tconst delegate = function* (node: NodeChangeset): Iterable<DeltaDetachedNodeId> {\n\t\t\tif (node.fieldChanges !== undefined) {\n\t\t\t\tyield* relevantRemovedRootsFromFields(node.fieldChanges, fieldRevision, fieldKinds);\n\t\t\t}\n\t\t};\n\t\tyield* handler.relevantRemovedRoots(tagChange(fieldChange.change, fieldRevision), delegate);\n\t}\n}\n\n/**\n * @param change - The change to convert into a delta.\n * @param fieldKinds - The field kinds to delegate to.\n */\nexport function intoDelta(\n\ttaggedChange: TaggedChange<ModularChangeset>,\n\tfieldKinds: ReadonlyMap<FieldKindIdentifier, FieldKindWithEditor>,\n): DeltaRoot {\n\tconst change = taggedChange.change;\n\t// Return an empty delta for changes with constraint violations\n\tif ((change.constraintViolationCount ?? 0) > 0) {\n\t\treturn emptyDelta;\n\t}\n\n\tconst revision = revisionFromTaggedChange(taggedChange);\n\tconst idAllocator = MemoizedIdRangeAllocator.fromNextId();\n\tconst rootDelta: Mutable<DeltaRoot> = {};\n\tconst fieldDeltas = intoDeltaImpl(change.fieldChanges, revision, idAllocator, fieldKinds);\n\tif (fieldDeltas.size > 0) {\n\t\trootDelta.fields = fieldDeltas;\n\t}\n\tif (change.builds && change.builds.size > 0) {\n\t\tconst builds: DeltaDetachedNodeBuild[] = [];\n\t\tforEachInNestedMap(change.builds, (tree, major, minor) => {\n\t\t\tconst cursor = tree.cursor();\n\t\t\tassert(\n\t\t\t\tcursor.getFieldLength() === 1,\n\t\t\t\t0x853 /* each encoded chunk should only contain 1 node. */,\n\t\t\t);\n\t\t\tcursor.enterNode(0);\n\t\t\tbuilds.push({\n\t\t\t\tid: makeDetachedNodeId(major ?? revision, minor),\n\t\t\t\ttrees: [cursor],\n\t\t\t});\n\t\t});\n\t\trootDelta.build = builds;\n\t}\n\treturn rootDelta;\n}\n\n/**\n * @param change - The change to convert into a delta.\n * @param repairStore - The store to query for repair data.\n * @param path - The path of the node being altered by the change as defined by the input context.\n * Undefined for the root and for nodes that do not exist in the input context.\n */\nfunction intoDeltaImpl(\n\tchange: FieldChangeMap,\n\trevision: RevisionTag | undefined,\n\tidAllocator: MemoizedIdRangeAllocator,\n\tfieldKinds: ReadonlyMap<FieldKindIdentifier, FieldKindWithEditor>,\n): Map<FieldKey, DeltaFieldChanges> {\n\tconst delta: Map<FieldKey, DeltaFieldChanges> = new Map();\n\tfor (const [field, fieldChange] of change) {\n\t\tconst fieldRevision = fieldChange.revision ?? revision;\n\t\tconst deltaField = getChangeHandler(fieldKinds, fieldChange.fieldKind).intoDelta(\n\t\t\ttagChange(fieldChange.change, fieldRevision),\n\t\t\t(childChange): DeltaFieldMap =>\n\t\t\t\tdeltaFromNodeChange(tagChange(childChange, fieldRevision), idAllocator, fieldKinds),\n\t\t\tidAllocator,\n\t\t);\n\t\tif (!isEmptyFieldChanges(deltaField)) {\n\t\t\tdelta.set(field, deltaField);\n\t\t}\n\t}\n\treturn delta;\n}\n\nfunction deltaFromNodeChange(\n\t{ change, revision }: TaggedChange<NodeChangeset>,\n\tidAllocator: MemoizedIdRangeAllocator,\n\tfieldKinds: ReadonlyMap<FieldKindIdentifier, FieldKindWithEditor>,\n): DeltaFieldMap {\n\tif (change.fieldChanges !== undefined) {\n\t\treturn intoDeltaImpl(change.fieldChanges, revision, idAllocator, fieldKinds);\n\t}\n\t// TODO: update the API to allow undefined to be returned here\n\treturn new Map();\n}\n\n/**\n * @internal\n * @param revInfos - This should describe all revisions in the rebase path, even if not part of the current base changeset.\n * For example, when rebasing change B from a local branch [A, B, C] over a branch [X, Y], the `revInfos` must include\n * the changes [A⁻¹ X, Y, A'] for each rebase step of B.\n * @param baseRevisions - The set of revisions in the changeset being rebased over.\n * For example, when rebasing change B from a local branch [A, B, C] over a branch [X, Y], the `baseRevisions` must include\n * revisions [A⁻¹ X, Y, A'] if rebasing over the composition of all those changes, or\n * revision [A⁻¹] for the first rebase, then [X], etc. if rebasing over edits individually.\n * @returns - RebaseRevisionMetadata to be passed to `FieldChangeRebaser.rebase`*\n */\nexport function rebaseRevisionMetadataFromInfo(\n\trevInfos: readonly RevisionInfo[],\n\tbaseRevisions: (RevisionTag | undefined)[],\n): RebaseRevisionMetadata {\n\tconst filteredRevisions: RevisionTag[] = [];\n\tfor (const revision of baseRevisions) {\n\t\tif (revision !== undefined) {\n\t\t\tfilteredRevisions.push(revision);\n\t\t}\n\t}\n\n\tconst getBaseRevisions = () => filteredRevisions;\n\treturn {\n\t\t...revisionMetadataSourceFromInfo(revInfos),\n\t\tgetBaseRevisions,\n\t};\n}\n\nfunction isEmptyNodeChangeset(change: NodeChangeset): boolean {\n\treturn change.fieldChanges === undefined && change.nodeExistsConstraint === undefined;\n}\n\nexport function getFieldKind(\n\tfieldKinds: ReadonlyMap<FieldKindIdentifier, FieldKind>,\n\tkind: FieldKindIdentifier,\n): FieldKindWithEditor {\n\tif (kind === genericFieldKind.identifier) {\n\t\treturn genericFieldKind;\n\t}\n\tconst fieldKind = fieldKinds.get(kind);\n\tassert(fieldKind !== undefined, 0x3ad /* Unknown field kind */);\n\treturn withEditor(fieldKind);\n}\n\nexport function getChangeHandler(\n\tfieldKinds: ReadonlyMap<FieldKindIdentifier, FieldKind>,\n\tkind: FieldKindIdentifier,\n): FieldChangeHandler<unknown> {\n\treturn getFieldKind(fieldKinds, kind).changeHandler;\n}\n\ninterface CrossFieldTable<TFieldData> {\n\tsrcTable: CrossFieldMap<unknown>;\n\tdstTable: CrossFieldMap<unknown>;\n\tsrcDependents: CrossFieldMap<TFieldData>;\n\tdstDependents: CrossFieldMap<TFieldData>;\n\tinvalidatedFields: Set<TFieldData>;\n}\n\ninterface InvertTable extends CrossFieldTable<FieldChange> {\n\toriginalFieldToContext: Map<FieldChange, InvertContext>;\n}\n\ninterface InvertContext {\n\tinvertedField: FieldChange;\n\trevision: RevisionTag | undefined;\n}\n\ninterface RebaseTable extends CrossFieldTable<FieldChange> {\n\trebasedFieldToContext: Map<FieldChange, FieldChangeContext>;\n}\n\ninterface FieldChangeContext {\n\tbaseChange: FieldChange;\n\tnewChange: FieldChange;\n\tbaseRevision: RevisionTag | undefined;\n}\n\nfunction newCrossFieldTable<T>(): CrossFieldTable<T> {\n\treturn {\n\t\tsrcTable: new Map(),\n\t\tdstTable: new Map(),\n\t\tsrcDependents: new Map(),\n\t\tdstDependents: new Map(),\n\t\tinvalidatedFields: new Set(),\n\t};\n}\n\n/**\n * @internal\n */\ninterface ConstraintState {\n\tviolationCount: number;\n}\n\nfunction newConstraintState(violationCount: number): ConstraintState {\n\treturn {\n\t\tviolationCount,\n\t};\n}\n\ntype ComposeData = FieldChange;\n\ninterface CrossFieldManagerI<T> extends CrossFieldManager {\n\ttable: CrossFieldTable<T>;\n\tsrcQueries: CrossFieldQuerySet;\n\tdstQueries: CrossFieldQuerySet;\n\tfieldInvalidated: boolean;\n}\n\nfunction newCrossFieldManager<T>(crossFieldTable: CrossFieldTable<T>): CrossFieldManagerI<T> {\n\tconst srcQueries: CrossFieldQuerySet = new Map();\n\tconst dstQueries: CrossFieldQuerySet = new Map();\n\tconst getMap = (target: CrossFieldTarget) =>\n\t\ttarget === CrossFieldTarget.Source ? crossFieldTable.srcTable : crossFieldTable.dstTable;\n\n\tconst getQueries = (target: CrossFieldTarget) =>\n\t\ttarget === CrossFieldTarget.Source ? srcQueries : dstQueries;\n\n\tconst manager = {\n\t\ttable: crossFieldTable,\n\t\tsrcQueries,\n\t\tdstQueries,\n\t\tfieldInvalidated: false,\n\t\tset: (\n\t\t\ttarget: CrossFieldTarget,\n\t\t\trevision: RevisionTag | undefined,\n\t\t\tid: ChangesetLocalId,\n\t\t\tcount: number,\n\t\t\tnewValue: unknown,\n\t\t\tinvalidateDependents: boolean,\n\t\t) => {\n\t\t\tif (invalidateDependents) {\n\t\t\t\tconst dependentsMap =\n\t\t\t\t\ttarget === CrossFieldTarget.Source\n\t\t\t\t\t\t? crossFieldTable.srcDependents\n\t\t\t\t\t\t: crossFieldTable.dstDependents;\n\n\t\t\t\tconst lastChangedId = (id as number) + count - 1;\n\t\t\t\tlet firstId = id;\n\t\t\t\twhile (firstId <= lastChangedId) {\n\t\t\t\t\tconst dependentEntry = getFirstFromCrossFieldMap(\n\t\t\t\t\t\tdependentsMap,\n\t\t\t\t\t\trevision,\n\t\t\t\t\t\tfirstId,\n\t\t\t\t\t\tlastChangedId - firstId + 1,\n\t\t\t\t\t);\n\t\t\t\t\tif (dependentEntry.value !== undefined) {\n\t\t\t\t\t\tcrossFieldTable.invalidatedFields.add(dependentEntry.value);\n\t\t\t\t\t}\n\n\t\t\t\t\tfirstId = brand(firstId + dependentEntry.length);\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tgetFirstFromCrossFieldMap(getQueries(target), revision, id, count) !== undefined\n\t\t\t\t) {\n\t\t\t\t\tmanager.fieldInvalidated = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tsetInCrossFieldMap(getMap(target), revision, id, count, newValue);\n\t\t},\n\t\tget: (\n\t\t\ttarget: CrossFieldTarget,\n\t\t\trevision: RevisionTag | undefined,\n\t\t\tid: ChangesetLocalId,\n\t\t\tcount: number,\n\t\t\taddDependency: boolean,\n\t\t) => {\n\t\t\tif (addDependency) {\n\t\t\t\taddCrossFieldQuery(getQueries(target), revision, id, count);\n\t\t\t}\n\t\t\treturn getFirstFromCrossFieldMap(getMap(target), revision, id, count);\n\t\t},\n\t};\n\n\treturn manager;\n}\n\nfunction addFieldData<T>(manager: CrossFieldManagerI<T>, fieldData: T) {\n\tfor (const [revision, rangeMap] of manager.srcQueries) {\n\t\tfor (const range of rangeMap) {\n\t\t\t// We assume that if there is already an entry for this ID it is because\n\t\t\t// a field handler has called compose on the same node multiple times.\n\t\t\t// In this case we only want to amend the latest version, so we overwrite the dependency.\n\t\t\tsetInCrossFieldMap(\n\t\t\t\tmanager.table.srcDependents,\n\t\t\t\trevision,\n\t\t\t\tbrand(range.start),\n\t\t\t\trange.length,\n\t\t\t\tfieldData,\n\t\t\t);\n\t\t}\n\t}\n\n\tfor (const [revision, rangeMap] of manager.dstQueries) {\n\t\tfor (const range of rangeMap) {\n\t\t\t// See above comment\n\t\t\tsetInCrossFieldMap(\n\t\t\t\tmanager.table.dstDependents,\n\t\t\t\trevision,\n\t\t\t\tbrand(range.start),\n\t\t\t\trange.length,\n\t\t\t\tfieldData,\n\t\t\t);\n\t\t}\n\t}\n\n\tif (manager.fieldInvalidated) {\n\t\tmanager.table.invalidatedFields.add(fieldData);\n\t}\n}\n\nfunction makeModularChangeset(\n\tchanges: FieldChangeMap | undefined = undefined,\n\tmaxId: number = -1,\n\trevisions: readonly RevisionInfo[] | undefined = undefined,\n\tconstraintViolationCount: number | undefined = undefined,\n\tbuilds?: ChangeAtomIdMap<TreeChunk>,\n): ModularChangeset {\n\tconst changeset: Mutable<ModularChangeset> = { fieldChanges: changes ?? new Map() };\n\tif (revisions !== undefined && revisions.length > 0) {\n\t\tchangeset.revisions = revisions;\n\t}\n\tif (maxId >= 0) {\n\t\tchangeset.maxId = brand(maxId);\n\t}\n\tif (constraintViolationCount !== undefined && constraintViolationCount > 0) {\n\t\tchangeset.constraintViolationCount = constraintViolationCount;\n\t}\n\tif (builds !== undefined && builds.size > 0) {\n\t\tchangeset.builds = builds;\n\t}\n\treturn changeset;\n}\n\nexport class ModularEditBuilder extends EditBuilder<ModularChangeset> {\n\tprivate transactionDepth: number = 0;\n\tprivate idAllocator: IdAllocator;\n\n\tpublic constructor(\n\t\tfamily: ChangeFamily<ChangeFamilyEditor, ModularChangeset>,\n\t\tchangeReceiver: (change: ModularChangeset) => void,\n\t) {\n\t\tsuper(family, changeReceiver);\n\t\tthis.idAllocator = idAllocatorFromMaxId();\n\t}\n\n\tpublic override enterTransaction(): void {\n\t\tthis.transactionDepth += 1;\n\t\tif (this.transactionDepth === 1) {\n\t\t\tthis.idAllocator = idAllocatorFromMaxId();\n\t\t}\n\t}\n\n\tpublic override exitTransaction(): void {\n\t\tassert(this.transactionDepth > 0, 0x5b9 /* Cannot exit inexistent transaction */);\n\t\tthis.transactionDepth -= 1;\n\t\tif (this.transactionDepth === 0) {\n\t\t\tthis.idAllocator = idAllocatorFromMaxId();\n\t\t}\n\t}\n\n\tpublic buildTrees(\n\t\tfirstId: ChangesetLocalId,\n\t\tnewContent: ITreeCursor | readonly ITreeCursor[],\n\t): GlobalEditDescription {\n\t\tconst content = isReadonlyArray(newContent) ? newContent : [newContent];\n\t\tconst length = content.length;\n\t\tif (length === 0) {\n\t\t\treturn { type: \"global\" };\n\t\t}\n\t\tconst builds: ChangeAtomIdMap<TreeChunk> = new Map();\n\t\tconst innerMap = new Map();\n\t\tbuilds.set(undefined, innerMap);\n\t\tlet id = firstId;\n\n\t\t// TODO:YA6307 adopt more efficient representation, likely based on contiguous runs of IDs\n\t\tfor (const cursor of content) {\n\t\t\tassert(!innerMap.has(id), 0x854 /* Unexpected duplicate build ID */);\n\t\t\tinnerMap.set(id, chunkTree(cursor as ITreeCursorSynchronous, defaultChunkPolicy));\n\t\t\tid = brand((id as number) + 1);\n\t\t}\n\t\treturn {\n\t\t\ttype: \"global\",\n\t\t\tbuilds,\n\t\t};\n\t}\n\n\t/**\n\t * Adds a change to the edit builder\n\t * @param field - the field which is being edited\n\t * @param fieldKind - the kind of the field\n\t * @param change - the change to the field\n\t * @param maxId - the highest `ChangesetLocalId` used in this change\n\t */\n\tpublic submitChange(\n\t\tfield: FieldUpPath,\n\t\tfieldKind: FieldKindIdentifier,\n\t\tchange: FieldChangeset,\n\t\tmaxId: ChangesetLocalId = brand(-1),\n\t): void {\n\t\tconst changeMap = this.buildChangeMap(field, fieldKind, change);\n\t\tthis.applyChange(makeModularChangeset(changeMap, maxId));\n\t}\n\n\tpublic submitChanges(changes: EditDescription[], maxId: ChangesetLocalId = brand(-1)) {\n\t\tconst changeMaps = changes.map((change) =>\n\t\t\tmakeAnonChange(\n\t\t\t\tchange.type === \"global\"\n\t\t\t\t\t? makeModularChangeset(\n\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\tchange.builds,\n\t\t\t\t\t )\n\t\t\t\t\t: makeModularChangeset(\n\t\t\t\t\t\t\tthis.buildChangeMap(change.field, change.fieldKind, change.change),\n\t\t\t\t\t ),\n\t\t\t),\n\t\t);\n\t\tconst composedChange = this.changeFamily.rebaser.compose(changeMaps);\n\t\tif (maxId >= 0) {\n\t\t\tcomposedChange.maxId = maxId;\n\t\t}\n\t\tthis.applyChange(composedChange);\n\t}\n\n\tpublic generateId(count?: number): ChangesetLocalId {\n\t\treturn brand(this.idAllocator.allocate(count));\n\t}\n\n\tprivate buildChangeMap(\n\t\tfield: FieldUpPath,\n\t\tfieldKind: FieldKindIdentifier,\n\t\tchange: FieldChangeset,\n\t): FieldChangeMap {\n\t\tlet fieldChangeMap: FieldChangeMap = new Map([[field.field, { fieldKind, change }]]);\n\n\t\tlet remainingPath = field.parent;\n\t\twhile (remainingPath !== undefined) {\n\t\t\tconst nodeChange: NodeChangeset = { fieldChanges: fieldChangeMap };\n\t\t\tconst fieldChange = genericFieldKind.changeHandler.editor.buildChildChange(\n\t\t\t\tremainingPath.parentIndex,\n\t\t\t\tnodeChange,\n\t\t\t);\n\t\t\tfieldChangeMap = new Map([\n\t\t\t\t[\n\t\t\t\t\tremainingPath.parentField,\n\t\t\t\t\t{ fieldKind: genericFieldKind.identifier, change: brand(fieldChange) },\n\t\t\t\t],\n\t\t\t]);\n\t\t\tremainingPath = remainingPath.parent;\n\t\t}\n\n\t\treturn fieldChangeMap;\n\t}\n\n\tpublic addNodeExistsConstraint(path: UpPath): void {\n\t\tconst nodeChange: NodeChangeset = {\n\t\t\tnodeExistsConstraint: { violated: false },\n\t\t};\n\t\tconst fieldChange = genericFieldKind.changeHandler.editor.buildChildChange(\n\t\t\tpath.parentIndex,\n\t\t\tnodeChange,\n\t\t);\n\t\tthis.submitChange(\n\t\t\t{ parent: path.parent, field: path.parentField },\n\t\t\tgenericFieldKind.identifier,\n\t\t\tbrand(fieldChange),\n\t\t);\n\t}\n}\n\n/**\n * @internal\n */\nexport interface FieldEditDescription {\n\ttype: \"field\";\n\tfield: FieldUpPath;\n\tfieldKind: FieldKindIdentifier;\n\tchange: FieldChangeset;\n}\n\n/**\n * @internal\n */\nexport interface GlobalEditDescription {\n\ttype: \"global\";\n\tbuilds?: ChangeAtomIdMap<TreeChunk>;\n}\n\n/**\n * @internal\n */\nexport type EditDescription = FieldEditDescription | GlobalEditDescription;\n\nfunction getRevInfoFromTaggedChanges(changes: TaggedChange<ModularChangeset>[]): {\n\trevInfos: RevisionInfo[];\n\tmaxId: ChangesetLocalId;\n} {\n\tlet maxId = -1;\n\tconst revInfos: RevisionInfo[] = [];\n\tfor (const taggedChange of changes) {\n\t\tconst change = taggedChange.change;\n\t\tmaxId = Math.max(change.maxId ?? -1, maxId);\n\t\trevInfos.push(...revisionInfoFromTaggedChange(taggedChange));\n\t}\n\n\tconst revisions = new Set<RevisionTag>();\n\tconst rolledBackRevisions: RevisionTag[] = [];\n\tfor (const info of revInfos) {\n\t\trevisions.add(info.revision);\n\t\tif (info.rollbackOf !== undefined) {\n\t\t\trolledBackRevisions.push(info.rollbackOf);\n\t\t}\n\t}\n\n\trolledBackRevisions.reverse();\n\tfor (const revision of rolledBackRevisions) {\n\t\tif (!revisions.has(revision)) {\n\t\t\trevInfos.push({ revision });\n\t\t}\n\t}\n\n\treturn { maxId: brand(maxId), revInfos };\n}\n\nfunction revisionInfoFromTaggedChange(\n\ttaggedChange: TaggedChange<ModularChangeset>,\n): RevisionInfo[] {\n\tconst revInfos: RevisionInfo[] = [];\n\tif (taggedChange.change.revisions !== undefined) {\n\t\trevInfos.push(...taggedChange.change.revisions);\n\t} else if (taggedChange.revision !== undefined) {\n\t\tconst info: Mutable<RevisionInfo> = { revision: taggedChange.revision };\n\t\tif (taggedChange.rollbackOf !== undefined) {\n\t\t\tinfo.rollbackOf = taggedChange.rollbackOf;\n\t\t}\n\t\trevInfos.push(info);\n\t}\n\treturn revInfos;\n}\n\nfunction revisionFromTaggedChange(change: TaggedChange<ModularChangeset>): RevisionTag | undefined {\n\treturn change.revision ?? revisionFromRevInfos(change.change.revisions);\n}\n\nfunction revisionFromRevInfos(\n\trevInfos: undefined | readonly RevisionInfo[],\n): RevisionTag | undefined {\n\tif (revInfos === undefined || revInfos.length !== 1) {\n\t\treturn undefined;\n\t}\n\treturn revInfos[0].revision;\n}\n"]}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
import { Static } from "@sinclair/typebox";
|
|
6
|
+
import { schemaFormat, ChangesetLocalId } from "../../core";
|
|
7
|
+
import { JsonCompatibleReadOnly } from "../../util";
|
|
8
|
+
export declare const ChangesetLocalIdSchema: import("@sinclair/typebox").TUnsafe<ChangesetLocalId>;
|
|
9
|
+
export declare const EncodedChangeAtomId: import("@sinclair/typebox").TObject<{
|
|
10
|
+
/**
|
|
11
|
+
* Uniquely identifies the changeset within which the change was made.
|
|
12
|
+
*/
|
|
13
|
+
revision: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<import("../../core").EncodedRevisionTag>>;
|
|
14
|
+
/**
|
|
15
|
+
* Uniquely identifies, in the scope of the changeset, the change made to the field.
|
|
16
|
+
*/
|
|
17
|
+
localId: import("@sinclair/typebox").TUnsafe<ChangesetLocalId>;
|
|
18
|
+
}>;
|
|
19
|
+
declare const EncodedFieldChange: import("@sinclair/typebox").TObject<{
|
|
20
|
+
fieldKey: import("@sinclair/typebox").TUnsafe<schemaFormat.FieldKey>;
|
|
21
|
+
fieldKind: import("@sinclair/typebox").TUnsafe<schemaFormat.FieldKindIdentifier>;
|
|
22
|
+
change: import("@sinclair/typebox").TAny;
|
|
23
|
+
}>;
|
|
24
|
+
export interface EncodedFieldChange extends Static<typeof EncodedFieldChange> {
|
|
25
|
+
/**
|
|
26
|
+
* Encoded in format selected by `fieldKind`
|
|
27
|
+
*/
|
|
28
|
+
change: JsonCompatibleReadOnly;
|
|
29
|
+
}
|
|
30
|
+
declare const EncodedFieldChangeMap: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
31
|
+
fieldKey: import("@sinclair/typebox").TUnsafe<schemaFormat.FieldKey>;
|
|
32
|
+
fieldKind: import("@sinclair/typebox").TUnsafe<schemaFormat.FieldKindIdentifier>;
|
|
33
|
+
change: import("@sinclair/typebox").TAny;
|
|
34
|
+
}>>;
|
|
35
|
+
/**
|
|
36
|
+
* Format for encoding as json.
|
|
37
|
+
*
|
|
38
|
+
* This chooses to use lists of named objects instead of maps:
|
|
39
|
+
* this choice is somewhat arbitrary, but avoids user data being used as object keys,
|
|
40
|
+
* which can sometimes be an issue (for example handling that for "__proto__" can require care).
|
|
41
|
+
*/
|
|
42
|
+
export type EncodedFieldChangeMap = Static<typeof EncodedFieldChangeMap>;
|
|
43
|
+
export declare const EncodedNodeChangeset: import("@sinclair/typebox").TObject<{
|
|
44
|
+
valueChange: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
45
|
+
revision: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<import("../../core").EncodedRevisionTag>>;
|
|
46
|
+
value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
|
|
47
|
+
}>>;
|
|
48
|
+
fieldChanges: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
49
|
+
fieldKey: import("@sinclair/typebox").TUnsafe<schemaFormat.FieldKey>;
|
|
50
|
+
fieldKind: import("@sinclair/typebox").TUnsafe<schemaFormat.FieldKindIdentifier>;
|
|
51
|
+
change: import("@sinclair/typebox").TAny;
|
|
52
|
+
}>>>;
|
|
53
|
+
valueConstraint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
54
|
+
value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
|
|
55
|
+
violated: import("@sinclair/typebox").TBoolean;
|
|
56
|
+
}>>;
|
|
57
|
+
nodeExistsConstraint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
58
|
+
violated: import("@sinclair/typebox").TBoolean;
|
|
59
|
+
}>>;
|
|
60
|
+
}>;
|
|
61
|
+
/**
|
|
62
|
+
* Format for encoding as json.
|
|
63
|
+
*/
|
|
64
|
+
export type EncodedNodeChangeset = Static<typeof EncodedNodeChangeset>;
|
|
65
|
+
export declare const EncodedRevisionInfo: import("@sinclair/typebox").TObject<{
|
|
66
|
+
revision: import("@sinclair/typebox").TReadonly<import("@sinclair/typebox").TUnsafe<import("../../core").EncodedRevisionTag>>;
|
|
67
|
+
rollbackOf: import("@sinclair/typebox").TReadonlyOptional<import("@sinclair/typebox").TUnsafe<import("../../core").EncodedRevisionTag>>;
|
|
68
|
+
}>;
|
|
69
|
+
export type EncodedRevisionInfo = Static<typeof EncodedRevisionInfo>;
|
|
70
|
+
/**
|
|
71
|
+
* Index of field in an EncodedFieldBatch.
|
|
72
|
+
*/
|
|
73
|
+
export declare const EncodedTreeIndex: import("@sinclair/typebox").TNumber;
|
|
74
|
+
export declare const EncodedBuildsArray: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<ChangesetLocalId>, import("@sinclair/typebox").TNumber]>, import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<import("../../core").EncodedRevisionTag>, import("@sinclair/typebox").TUnsafe<ChangesetLocalId>, import("@sinclair/typebox").TNumber]>]>>;
|
|
75
|
+
export type EncodedBuildsArray = Static<typeof EncodedBuildsArray>;
|
|
76
|
+
export declare const EncodedBuilds: import("@sinclair/typebox").TObject<{
|
|
77
|
+
builds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<ChangesetLocalId>, import("@sinclair/typebox").TNumber]>, import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<import("../../core").EncodedRevisionTag>, import("@sinclair/typebox").TUnsafe<ChangesetLocalId>, import("@sinclair/typebox").TNumber]>]>>;
|
|
78
|
+
/**
|
|
79
|
+
* Fields indexed by the EncodedTreeIndexes above.
|
|
80
|
+
* TODO: Strongly typing this here may result in redundant schema validation of this data.
|
|
81
|
+
*/
|
|
82
|
+
trees: import("@sinclair/typebox").TObject<{
|
|
83
|
+
data: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TAny>>;
|
|
84
|
+
version: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TLiteral<number>]>;
|
|
85
|
+
identifiers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
|
86
|
+
shapes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
87
|
+
a: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
88
|
+
b: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
89
|
+
length: import("@sinclair/typebox").TNumber;
|
|
90
|
+
shape: import("@sinclair/typebox").TNumber;
|
|
91
|
+
}>>;
|
|
92
|
+
c: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
93
|
+
type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNumber]>>;
|
|
94
|
+
value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TAny>]>>;
|
|
95
|
+
fields: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
96
|
+
key: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNumber]>;
|
|
97
|
+
shape: import("@sinclair/typebox").TNumber;
|
|
98
|
+
}>>;
|
|
99
|
+
extraFields: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
100
|
+
}>>;
|
|
101
|
+
d: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<0>>;
|
|
102
|
+
}>>;
|
|
103
|
+
}>;
|
|
104
|
+
}>;
|
|
105
|
+
export type EncodedBuilds = Static<typeof EncodedBuilds>;
|
|
106
|
+
export declare const EncodedModularChangeset: import("@sinclair/typebox").TObject<{
|
|
107
|
+
maxId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<ChangesetLocalId>>;
|
|
108
|
+
changes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
109
|
+
fieldKey: import("@sinclair/typebox").TUnsafe<schemaFormat.FieldKey>;
|
|
110
|
+
fieldKind: import("@sinclair/typebox").TUnsafe<schemaFormat.FieldKindIdentifier>;
|
|
111
|
+
change: import("@sinclair/typebox").TAny;
|
|
112
|
+
}>>;
|
|
113
|
+
revisions: import("@sinclair/typebox").TReadonlyOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
114
|
+
revision: import("@sinclair/typebox").TReadonly<import("@sinclair/typebox").TUnsafe<import("../../core").EncodedRevisionTag>>;
|
|
115
|
+
rollbackOf: import("@sinclair/typebox").TReadonlyOptional<import("@sinclair/typebox").TUnsafe<import("../../core").EncodedRevisionTag>>;
|
|
116
|
+
}>>>;
|
|
117
|
+
builds: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
118
|
+
builds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<ChangesetLocalId>, import("@sinclair/typebox").TNumber]>, import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TUnsafe<import("../../core").EncodedRevisionTag>, import("@sinclair/typebox").TUnsafe<ChangesetLocalId>, import("@sinclair/typebox").TNumber]>]>>;
|
|
119
|
+
/**
|
|
120
|
+
* Fields indexed by the EncodedTreeIndexes above.
|
|
121
|
+
* TODO: Strongly typing this here may result in redundant schema validation of this data.
|
|
122
|
+
*/
|
|
123
|
+
trees: import("@sinclair/typebox").TObject<{
|
|
124
|
+
data: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TAny>>;
|
|
125
|
+
version: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TLiteral<number>]>;
|
|
126
|
+
identifiers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
|
127
|
+
shapes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
128
|
+
a: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
129
|
+
b: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
130
|
+
length: import("@sinclair/typebox").TNumber;
|
|
131
|
+
shape: import("@sinclair/typebox").TNumber;
|
|
132
|
+
}>>;
|
|
133
|
+
c: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
134
|
+
type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNumber]>>;
|
|
135
|
+
value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TAny>]>>;
|
|
136
|
+
fields: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
137
|
+
key: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNumber]>;
|
|
138
|
+
shape: import("@sinclair/typebox").TNumber;
|
|
139
|
+
}>>;
|
|
140
|
+
extraFields: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
141
|
+
}>>;
|
|
142
|
+
d: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<0>>;
|
|
143
|
+
}>>;
|
|
144
|
+
}>;
|
|
145
|
+
}>>;
|
|
146
|
+
}>;
|
|
147
|
+
export type EncodedModularChangeset = Static<typeof EncodedModularChangeset>;
|
|
148
|
+
export {};
|
|
149
|
+
//# sourceMappingURL=modularChangeFormat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modularChangeFormat.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/modularChangeFormat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAiB,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAqB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAEN,sBAAsB,EAEtB,MAAM,YAAY,CAAC;AAKpB,eAAO,MAAM,sBAAsB,uDAAwC,CAAC;AAE5E,eAAO,MAAM,mBAAmB;IAE9B;;OAEG;;IAEH;;OAEG;;EAIJ,CAAC;AAoBF,QAAA,MAAM,kBAAkB;;;;EAUvB,CAAC;AAEF,MAAM,WAAW,kBAAmB,SAAQ,MAAM,CAAC,OAAO,kBAAkB,CAAC;IAC5E;;OAEG;IACH,MAAM,EAAE,sBAAsB,CAAC;CAC/B;AAED,QAAA,MAAM,qBAAqB;;;;GAAiC,CAAC;AAE7D;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAOzE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;EAQhC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEvE,eAAO,MAAM,mBAAmB;;;EAM/B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,gBAAgB,qCAA6C,CAAC;AAG3E,eAAO,MAAM,kBAAkB,4ZAK9B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEnE,eAAO,MAAM,aAAa;;IAEzB;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;EAEF,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;AAEzD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;QATnC;;;WAGG;;;;;;;;;;;;;;;;;;;;;;;;EAcH,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
import { Type } from "@sinclair/typebox";
|
|
6
|
+
import { schemaFormat, RevisionTagSchema } from "../../core";
|
|
7
|
+
import { brandedNumberType, JsonCompatibleReadOnlySchema, } from "../../util";
|
|
8
|
+
import { EncodedFieldBatch } from "../chunked-forest";
|
|
9
|
+
const noAdditionalProps = { additionalProperties: false };
|
|
10
|
+
export const ChangesetLocalIdSchema = brandedNumberType();
|
|
11
|
+
export const EncodedChangeAtomId = Type.Object({
|
|
12
|
+
/**
|
|
13
|
+
* Uniquely identifies the changeset within which the change was made.
|
|
14
|
+
*/
|
|
15
|
+
revision: Type.Optional(RevisionTagSchema),
|
|
16
|
+
/**
|
|
17
|
+
* Uniquely identifies, in the scope of the changeset, the change made to the field.
|
|
18
|
+
*/
|
|
19
|
+
localId: ChangesetLocalIdSchema,
|
|
20
|
+
}, noAdditionalProps);
|
|
21
|
+
const EncodedValueChange = Type.Object({
|
|
22
|
+
revision: Type.Optional(RevisionTagSchema),
|
|
23
|
+
value: Type.Optional(JsonCompatibleReadOnlySchema),
|
|
24
|
+
}, noAdditionalProps);
|
|
25
|
+
const EncodedValueConstraint = Type.Object({
|
|
26
|
+
value: Type.Optional(JsonCompatibleReadOnlySchema),
|
|
27
|
+
violated: Type.Boolean(),
|
|
28
|
+
}, noAdditionalProps);
|
|
29
|
+
const EncodedFieldChange = Type.Object({
|
|
30
|
+
fieldKey: schemaFormat.FieldKeySchema,
|
|
31
|
+
fieldKind: schemaFormat.FieldKindIdentifierSchema,
|
|
32
|
+
// Implementation note: node and field change encoding is mutually recursive.
|
|
33
|
+
// This field marks a boundary in that recursion to avoid constructing excessively complex
|
|
34
|
+
// recursive types. Encoded changes are validated at this boundary at runtime--see modularChangeCodecs.ts.
|
|
35
|
+
change: JsonCompatibleReadOnlySchema,
|
|
36
|
+
}, noAdditionalProps);
|
|
37
|
+
const EncodedFieldChangeMap = Type.Array(EncodedFieldChange);
|
|
38
|
+
const EncodedNodeExistsConstraint = Type.Object({
|
|
39
|
+
violated: Type.Boolean(),
|
|
40
|
+
});
|
|
41
|
+
export const EncodedNodeChangeset = Type.Object({
|
|
42
|
+
valueChange: Type.Optional(EncodedValueChange),
|
|
43
|
+
fieldChanges: Type.Optional(EncodedFieldChangeMap),
|
|
44
|
+
valueConstraint: Type.Optional(EncodedValueConstraint),
|
|
45
|
+
nodeExistsConstraint: Type.Optional(EncodedNodeExistsConstraint),
|
|
46
|
+
}, noAdditionalProps);
|
|
47
|
+
export const EncodedRevisionInfo = Type.Object({
|
|
48
|
+
revision: Type.Readonly(RevisionTagSchema),
|
|
49
|
+
rollbackOf: Type.ReadonlyOptional(RevisionTagSchema),
|
|
50
|
+
}, noAdditionalProps);
|
|
51
|
+
/**
|
|
52
|
+
* Index of field in an EncodedFieldBatch.
|
|
53
|
+
*/
|
|
54
|
+
export const EncodedTreeIndex = Type.Number({ multipleOf: 1, minimum: 0 });
|
|
55
|
+
// TODO:YA6307 adopt more efficient encoding, likely based on contiguous runs of IDs
|
|
56
|
+
export const EncodedBuildsArray = Type.Array(Type.Union([
|
|
57
|
+
Type.Tuple([ChangesetLocalIdSchema, EncodedTreeIndex]),
|
|
58
|
+
Type.Tuple([RevisionTagSchema, ChangesetLocalIdSchema, EncodedTreeIndex]),
|
|
59
|
+
]));
|
|
60
|
+
export const EncodedBuilds = Type.Object({
|
|
61
|
+
builds: EncodedBuildsArray,
|
|
62
|
+
/**
|
|
63
|
+
* Fields indexed by the EncodedTreeIndexes above.
|
|
64
|
+
* TODO: Strongly typing this here may result in redundant schema validation of this data.
|
|
65
|
+
*/
|
|
66
|
+
trees: EncodedFieldBatch,
|
|
67
|
+
});
|
|
68
|
+
export const EncodedModularChangeset = Type.Object({
|
|
69
|
+
maxId: Type.Optional(ChangesetLocalIdSchema),
|
|
70
|
+
changes: EncodedFieldChangeMap,
|
|
71
|
+
revisions: Type.ReadonlyOptional(Type.Array(EncodedRevisionInfo)),
|
|
72
|
+
builds: Type.Optional(EncodedBuilds),
|
|
73
|
+
}, noAdditionalProps);
|
|
74
|
+
//# sourceMappingURL=modularChangeFormat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modularChangeFormat.js","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/modularChangeFormat.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 { ObjectOptions, Static, Type } from \"@sinclair/typebox\";\nimport { schemaFormat, RevisionTagSchema, ChangesetLocalId } from \"../../core\";\nimport {\n\tbrandedNumberType,\n\tJsonCompatibleReadOnly,\n\tJsonCompatibleReadOnlySchema,\n} from \"../../util\";\nimport { EncodedFieldBatch } from \"../chunked-forest\";\n\nconst noAdditionalProps: ObjectOptions = { additionalProperties: false };\n\nexport const ChangesetLocalIdSchema = brandedNumberType<ChangesetLocalId>();\n\nexport const EncodedChangeAtomId = Type.Object(\n\t{\n\t\t/**\n\t\t * Uniquely identifies the changeset within which the change was made.\n\t\t */\n\t\trevision: Type.Optional(RevisionTagSchema),\n\t\t/**\n\t\t * Uniquely identifies, in the scope of the changeset, the change made to the field.\n\t\t */\n\t\tlocalId: ChangesetLocalIdSchema,\n\t},\n\tnoAdditionalProps,\n);\n\nconst EncodedValueChange = Type.Object(\n\t{\n\t\trevision: Type.Optional(RevisionTagSchema),\n\t\tvalue: Type.Optional(JsonCompatibleReadOnlySchema),\n\t},\n\tnoAdditionalProps,\n);\ntype EncodedValueChange = Static<typeof EncodedValueChange>;\n\nconst EncodedValueConstraint = Type.Object(\n\t{\n\t\tvalue: Type.Optional(JsonCompatibleReadOnlySchema),\n\t\tviolated: Type.Boolean(),\n\t},\n\tnoAdditionalProps,\n);\ntype EncodedValueConstraint = Static<typeof EncodedValueConstraint>;\n\nconst EncodedFieldChange = Type.Object(\n\t{\n\t\tfieldKey: schemaFormat.FieldKeySchema,\n\t\tfieldKind: schemaFormat.FieldKindIdentifierSchema,\n\t\t// Implementation note: node and field change encoding is mutually recursive.\n\t\t// This field marks a boundary in that recursion to avoid constructing excessively complex\n\t\t// recursive types. Encoded changes are validated at this boundary at runtime--see modularChangeCodecs.ts.\n\t\tchange: JsonCompatibleReadOnlySchema,\n\t},\n\tnoAdditionalProps,\n);\n\nexport interface EncodedFieldChange extends Static<typeof EncodedFieldChange> {\n\t/**\n\t * Encoded in format selected by `fieldKind`\n\t */\n\tchange: JsonCompatibleReadOnly;\n}\n\nconst EncodedFieldChangeMap = Type.Array(EncodedFieldChange);\n\n/**\n * Format for encoding as json.\n *\n * This chooses to use lists of named objects instead of maps:\n * this choice is somewhat arbitrary, but avoids user data being used as object keys,\n * which can sometimes be an issue (for example handling that for \"__proto__\" can require care).\n */\nexport type EncodedFieldChangeMap = Static<typeof EncodedFieldChangeMap>;\n\nconst EncodedNodeExistsConstraint = Type.Object({\n\tviolated: Type.Boolean(),\n});\ntype EncodedNodeExistsConstraint = Static<typeof EncodedNodeExistsConstraint>;\n\nexport const EncodedNodeChangeset = Type.Object(\n\t{\n\t\tvalueChange: Type.Optional(EncodedValueChange),\n\t\tfieldChanges: Type.Optional(EncodedFieldChangeMap),\n\t\tvalueConstraint: Type.Optional(EncodedValueConstraint),\n\t\tnodeExistsConstraint: Type.Optional(EncodedNodeExistsConstraint),\n\t},\n\tnoAdditionalProps,\n);\n\n/**\n * Format for encoding as json.\n */\nexport type EncodedNodeChangeset = Static<typeof EncodedNodeChangeset>;\n\nexport const EncodedRevisionInfo = Type.Object(\n\t{\n\t\trevision: Type.Readonly(RevisionTagSchema),\n\t\trollbackOf: Type.ReadonlyOptional(RevisionTagSchema),\n\t},\n\tnoAdditionalProps,\n);\n\nexport type EncodedRevisionInfo = Static<typeof EncodedRevisionInfo>;\n\n/**\n * Index of field in an EncodedFieldBatch.\n */\nexport const EncodedTreeIndex = Type.Number({ multipleOf: 1, minimum: 0 });\n\n// TODO:YA6307 adopt more efficient encoding, likely based on contiguous runs of IDs\nexport const EncodedBuildsArray = Type.Array(\n\tType.Union([\n\t\tType.Tuple([ChangesetLocalIdSchema, EncodedTreeIndex]),\n\t\tType.Tuple([RevisionTagSchema, ChangesetLocalIdSchema, EncodedTreeIndex]),\n\t]),\n);\n\nexport type EncodedBuildsArray = Static<typeof EncodedBuildsArray>;\n\nexport const EncodedBuilds = Type.Object({\n\tbuilds: EncodedBuildsArray,\n\t/**\n\t * Fields indexed by the EncodedTreeIndexes above.\n\t * TODO: Strongly typing this here may result in redundant schema validation of this data.\n\t */\n\ttrees: EncodedFieldBatch,\n});\n\nexport type EncodedBuilds = Static<typeof EncodedBuilds>;\n\nexport const EncodedModularChangeset = Type.Object(\n\t{\n\t\tmaxId: Type.Optional(ChangesetLocalIdSchema),\n\t\tchanges: EncodedFieldChangeMap,\n\t\trevisions: Type.ReadonlyOptional(Type.Array(EncodedRevisionInfo)),\n\t\tbuilds: Type.Optional(EncodedBuilds),\n\t},\n\tnoAdditionalProps,\n);\n\nexport type EncodedModularChangeset = Static<typeof EncodedModularChangeset>;\n"]}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
import { ChangeAtomIdMap, ChangesetLocalId, FieldKey, FieldKindIdentifier, RevisionInfo, RevisionTag } from "../../core";
|
|
6
|
+
import { Brand } from "../../util";
|
|
7
|
+
import { TreeChunk } from "../chunked-forest";
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export interface ModularChangeset extends HasFieldChanges {
|
|
12
|
+
/**
|
|
13
|
+
* The numerically highest `ChangesetLocalId` used in this changeset.
|
|
14
|
+
* If undefined then this changeset contains no IDs.
|
|
15
|
+
*/
|
|
16
|
+
maxId?: ChangesetLocalId;
|
|
17
|
+
/**
|
|
18
|
+
* The revisions included in this changeset, ordered temporally (oldest to newest).
|
|
19
|
+
* Undefined for anonymous changesets.
|
|
20
|
+
* Should never be empty.
|
|
21
|
+
*/
|
|
22
|
+
readonly revisions?: readonly RevisionInfo[];
|
|
23
|
+
fieldChanges: FieldChangeMap;
|
|
24
|
+
constraintViolationCount?: number;
|
|
25
|
+
readonly builds?: ChangeAtomIdMap<TreeChunk>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @internal
|
|
29
|
+
*/
|
|
30
|
+
export interface NodeExistsConstraint {
|
|
31
|
+
violated: boolean;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Changeset for a subtree rooted at a specific node.
|
|
35
|
+
* @internal
|
|
36
|
+
*/
|
|
37
|
+
export interface NodeChangeset extends HasFieldChanges {
|
|
38
|
+
nodeExistsConstraint?: NodeExistsConstraint;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @internal
|
|
42
|
+
*/
|
|
43
|
+
export interface HasFieldChanges {
|
|
44
|
+
fieldChanges?: FieldChangeMap;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* @internal
|
|
48
|
+
*/
|
|
49
|
+
export type FieldChangeMap = Map<FieldKey, FieldChange>;
|
|
50
|
+
/**
|
|
51
|
+
* @internal
|
|
52
|
+
*/
|
|
53
|
+
export interface FieldChange {
|
|
54
|
+
fieldKind: FieldKindIdentifier;
|
|
55
|
+
/**
|
|
56
|
+
* If defined, `change` is part of the specified revision.
|
|
57
|
+
* Undefined in the following cases:
|
|
58
|
+
* A) A revision is specified on an ancestor of this `FieldChange`, in which case `change` is part of that revision.
|
|
59
|
+
* B) `change` is composed of multiple revisions.
|
|
60
|
+
* C) `change` is part of an anonymous revision.
|
|
61
|
+
*/
|
|
62
|
+
revision?: RevisionTag;
|
|
63
|
+
change: FieldChangeset;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* @internal
|
|
67
|
+
*/
|
|
68
|
+
export type FieldChangeset = Brand<unknown, "FieldChangeset">;
|
|
69
|
+
//# sourceMappingURL=modularChangeTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modularChangeTypes.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/modularChangeTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,eAAe,EACf,gBAAgB,EAChB,QAAQ,EACR,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACxD;;;OAGG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAC7C,YAAY,EAAE,cAAc,CAAC;IAC7B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAc,SAAQ,eAAe;IACrD,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,YAAY,CAAC,EAAE,cAAc,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,SAAS,EAAE,mBAAmB,CAAC;IAE/B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modularChangeTypes.js","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/modularChangeTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n\tChangeAtomIdMap,\n\tChangesetLocalId,\n\tFieldKey,\n\tFieldKindIdentifier,\n\tRevisionInfo,\n\tRevisionTag,\n} from \"../../core\";\nimport { Brand } from \"../../util\";\nimport { TreeChunk } from \"../chunked-forest\";\n\n/**\n * @internal\n */\nexport interface ModularChangeset extends HasFieldChanges {\n\t/**\n\t * The numerically highest `ChangesetLocalId` used in this changeset.\n\t * If undefined then this changeset contains no IDs.\n\t */\n\tmaxId?: ChangesetLocalId;\n\t/**\n\t * The revisions included in this changeset, ordered temporally (oldest to newest).\n\t * Undefined for anonymous changesets.\n\t * Should never be empty.\n\t */\n\treadonly revisions?: readonly RevisionInfo[];\n\tfieldChanges: FieldChangeMap;\n\tconstraintViolationCount?: number;\n\t// TODO:YA6307 adopt more efficient representation, likely based on contiguous runs of IDs\n\treadonly builds?: ChangeAtomIdMap<TreeChunk>;\n}\n\n/**\n * @internal\n */\nexport interface NodeExistsConstraint {\n\tviolated: boolean;\n}\n\n/**\n * Changeset for a subtree rooted at a specific node.\n * @internal\n */\nexport interface NodeChangeset extends HasFieldChanges {\n\tnodeExistsConstraint?: NodeExistsConstraint;\n}\n\n/**\n * @internal\n */\nexport interface HasFieldChanges {\n\tfieldChanges?: FieldChangeMap;\n}\n\n/**\n * @internal\n */\nexport type FieldChangeMap = Map<FieldKey, FieldChange>;\n\n/**\n * @internal\n */\nexport interface FieldChange {\n\tfieldKind: FieldKindIdentifier;\n\n\t/**\n\t * If defined, `change` is part of the specified revision.\n\t * Undefined in the following cases:\n\t * A) A revision is specified on an ancestor of this `FieldChange`, in which case `change` is part of that revision.\n\t * B) `change` is composed of multiple revisions.\n\t * C) `change` is part of an anonymous revision.\n\t */\n\trevision?: RevisionTag;\n\tchange: FieldChangeset;\n}\n\n/**\n * @internal\n */\nexport type FieldChangeset = Brand<unknown, \"FieldChangeset\">;\n"]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Describes how a particular field functions.
|
|
7
|
+
*
|
|
8
|
+
* This determine its reading and editing APIs, multiplicity, and what merge resolution policies it will use.
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export declare enum Multiplicity {
|
|
12
|
+
/**
|
|
13
|
+
* Exactly one item.
|
|
14
|
+
*/
|
|
15
|
+
Single = 0,
|
|
16
|
+
/**
|
|
17
|
+
* 0 or 1 items.
|
|
18
|
+
*/
|
|
19
|
+
Optional = 1,
|
|
20
|
+
/**
|
|
21
|
+
* 0 or more items.
|
|
22
|
+
*/
|
|
23
|
+
Sequence = 2,
|
|
24
|
+
/**
|
|
25
|
+
* Exactly 0 items.
|
|
26
|
+
*
|
|
27
|
+
* Using Forbidden makes what types are listed for allowed in a field irrelevant
|
|
28
|
+
* since the field will never have values in it.
|
|
29
|
+
*
|
|
30
|
+
* Using Forbidden is equivalent to picking a kind that permits empty (like sequence or optional)
|
|
31
|
+
* and having no allowed types (or only never types).
|
|
32
|
+
* Because of this, its possible to express everything constraint wise without Forbidden,
|
|
33
|
+
* but using Forbidden can be more semantically clear than optional with no allowed types.
|
|
34
|
+
*
|
|
35
|
+
* For view schema, this can be useful if you need to:
|
|
36
|
+
* - run a specific out of schema handler when a field is present,
|
|
37
|
+
* but otherwise are ignoring or tolerating (ex: via extra fields) unmentioned fields.
|
|
38
|
+
* - prevent a specific field from being used as an extra field
|
|
39
|
+
* (perhaps for some past of future compatibility reason)
|
|
40
|
+
* - keep a field in a schema for metadata purposes
|
|
41
|
+
* (ex: for improved error messaging, error handling or documentation)
|
|
42
|
+
* that is not used in this specific version of the schema (ex: to document what it was or will be used for).
|
|
43
|
+
*
|
|
44
|
+
* For stored schema, this can be useful if you need to:
|
|
45
|
+
* - have a field which can have its schema updated to Optional or Sequence of any type.
|
|
46
|
+
* - to exclude a field from extra fields
|
|
47
|
+
* - for the schema system to use as a default for fields which aren't declared
|
|
48
|
+
* (ex: when updating a field that did not exist into one that does)
|
|
49
|
+
*
|
|
50
|
+
* @privateRemarks
|
|
51
|
+
* See storedEmptyFieldSchema for a constant, reusable field using Forbidden.
|
|
52
|
+
*/
|
|
53
|
+
Forbidden = 3
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=multiplicity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multiplicity.d.ts","sourceRoot":"","sources":["../../src/feature-libraries/multiplicity.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH;;;;;GAKG;AACH,oBAAY,YAAY;IACvB;;OAEG;IACH,MAAM,IAAA;IACN;;OAEG;IACH,QAAQ,IAAA;IACR;;OAEG;IACH,QAAQ,IAAA;IACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,SAAS,IAAA;CACT"}
|