@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,455 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
import { assert } from "@fluidframework/core-utils";
|
|
6
|
+
import { fail, ReferenceCountedBase } from "../../util";
|
|
7
|
+
import { prefixPath, SynchronousCursor } from "../treeCursorUtils";
|
|
8
|
+
import { cursorChunk, dummyRoot } from "./chunk";
|
|
9
|
+
/**
|
|
10
|
+
* General purpose one node chunk.
|
|
11
|
+
*/
|
|
12
|
+
export class BasicChunk extends ReferenceCountedBase {
|
|
13
|
+
/**
|
|
14
|
+
* Create a tree chunk with ref count 1.
|
|
15
|
+
*
|
|
16
|
+
* @param fields - provides exclusive deep ownership of this map to this object (which might mutate it in the future).
|
|
17
|
+
* The caller must have already accounted for this reference to the children in this map (via `referenceAdded`),
|
|
18
|
+
* and any edits to this must update child reference counts.
|
|
19
|
+
* @param value - the value on this node, if any.
|
|
20
|
+
*/
|
|
21
|
+
constructor(type, fields, value) {
|
|
22
|
+
super();
|
|
23
|
+
this.type = type;
|
|
24
|
+
this.fields = fields;
|
|
25
|
+
this.value = value;
|
|
26
|
+
this.topLevelLength = 1;
|
|
27
|
+
}
|
|
28
|
+
clone() {
|
|
29
|
+
const fields = new Map();
|
|
30
|
+
for (const [k, v] of this.fields) {
|
|
31
|
+
const field = v.map((child) => {
|
|
32
|
+
child.referenceAdded();
|
|
33
|
+
return child;
|
|
34
|
+
});
|
|
35
|
+
fields.set(k, field);
|
|
36
|
+
}
|
|
37
|
+
return new BasicChunk(this.type, fields, this.value);
|
|
38
|
+
}
|
|
39
|
+
cursor() {
|
|
40
|
+
return new BasicChunkCursor([this], [], [], [], [], [dummyRoot], 0, 0, 0, undefined);
|
|
41
|
+
}
|
|
42
|
+
dispose() {
|
|
43
|
+
for (const v of this.fields.values()) {
|
|
44
|
+
for (const child of v) {
|
|
45
|
+
child.referenceRemoved();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Cursor over basic chunks.
|
|
52
|
+
*
|
|
53
|
+
* @remarks This implementation is similar to StackCursor, however it is distinct because:
|
|
54
|
+
* 1. The children are chunks, which might have a top level length that greater than 1.
|
|
55
|
+
* 2. It needs to be able to delegate to cursors of other chunk formats it does not natively understand (See TODO below).
|
|
56
|
+
*
|
|
57
|
+
* TODO:
|
|
58
|
+
* This cursor currently only handles child chunks which are BasicChunks:
|
|
59
|
+
* BasicChunks should be an optimized fast path, and arbitrary chunk formats,
|
|
60
|
+
* like UniformChunk, should be supported by delegating to their cursor implementations.
|
|
61
|
+
*/
|
|
62
|
+
export class BasicChunkCursor extends SynchronousCursor {
|
|
63
|
+
/**
|
|
64
|
+
* Starts at root field which might be a detached sequence.
|
|
65
|
+
*
|
|
66
|
+
* @param root - sequence of BasicChunk which make up the contents of the root sequence.
|
|
67
|
+
* Since this cursor starts in `Fields` mode at the root, the siblings array when in fields mode is just the field keys,
|
|
68
|
+
* this is needed to get the actual root nodes when entering nodes of the root field.
|
|
69
|
+
* @param siblingStack - Stack of collections of siblings along the path through the tree:
|
|
70
|
+
* does not include current level (which is stored in `siblings`).
|
|
71
|
+
* Even levels in the stack (starting from 0) are keys and odd levels are sequences of nodes.
|
|
72
|
+
* @param indexStack - Stack of indices into the corresponding levels in `siblingStack`.
|
|
73
|
+
* @param indexOfChunkStack - Index of chunk in array of chunks. Only for Node levels.
|
|
74
|
+
* @param indexWithinChunkStack - Index within chunk selected by indexOfChunkStack. Only for Node levels.
|
|
75
|
+
* @param siblings - Siblings at the current level (not included in `siblingStack`).
|
|
76
|
+
* @param index - Index into `siblings`.
|
|
77
|
+
* @param indexOfChunk - Index of chunk in array of chunks. Only for Nodes mode.
|
|
78
|
+
* @param indexWithinChunk - Index within chunk selected by indexOfChunkStack. Only for Nodes mode.
|
|
79
|
+
* @param nestedCursor - When the outer cursor (this `BasicChunkCursor` cursor)
|
|
80
|
+
* navigates into a chunk it does not natively understand (currently anything other than `BasicChunk`s)
|
|
81
|
+
* it creates the `nestedCursor` over that chunk, and delegates all operations to it.
|
|
82
|
+
*/
|
|
83
|
+
constructor(root, siblingStack, indexStack, indexOfChunkStack,
|
|
84
|
+
// TODO: Currently only BasicChunks are supported, and the currently always have a top level length of 1.
|
|
85
|
+
// That makes this stack unneeded. When BasicChunkCursor is more feature complete, this stack should be reevaluated, and removed if possible.
|
|
86
|
+
indexWithinChunkStack, siblings, index, indexOfChunk, indexWithinChunk, nestedCursor) {
|
|
87
|
+
super();
|
|
88
|
+
this.root = root;
|
|
89
|
+
this.siblingStack = siblingStack;
|
|
90
|
+
this.indexStack = indexStack;
|
|
91
|
+
this.indexOfChunkStack = indexOfChunkStack;
|
|
92
|
+
this.indexWithinChunkStack = indexWithinChunkStack;
|
|
93
|
+
this.siblings = siblings;
|
|
94
|
+
this.index = index;
|
|
95
|
+
this.indexOfChunk = indexOfChunk;
|
|
96
|
+
this.indexWithinChunk = indexWithinChunk;
|
|
97
|
+
this.nestedCursor = nestedCursor;
|
|
98
|
+
}
|
|
99
|
+
get [cursorChunk]() {
|
|
100
|
+
if (this.nestedCursor !== undefined) {
|
|
101
|
+
return this.nestedCursor[cursorChunk];
|
|
102
|
+
}
|
|
103
|
+
assert(this.mode === 0 /* CursorLocationType.Nodes */, 0x57a /* must be in nodes mode */);
|
|
104
|
+
return this.siblings[this.indexOfChunk];
|
|
105
|
+
}
|
|
106
|
+
atChunkRoot() {
|
|
107
|
+
return (this.siblingStack.length < 2 &&
|
|
108
|
+
(this.nestedCursor === undefined || this.nestedCursor.atChunkRoot()));
|
|
109
|
+
}
|
|
110
|
+
fork() {
|
|
111
|
+
// Siblings arrays are not modified during navigation and do not need be be copied.
|
|
112
|
+
// This allows this copy to be shallow, and `this.siblings` below to not be copied as all.
|
|
113
|
+
return new BasicChunkCursor(this.root, [...this.siblingStack], [...this.indexStack], [...this.indexOfChunkStack], [...this.indexWithinChunkStack], this.siblings, this.index, this.indexOfChunk, this.indexWithinChunk, this.nestedCursor?.fork());
|
|
114
|
+
}
|
|
115
|
+
get mode() {
|
|
116
|
+
if (this.nestedCursor !== undefined) {
|
|
117
|
+
return this.nestedCursor.mode;
|
|
118
|
+
}
|
|
119
|
+
// Compute the number of nodes deep the current depth is.
|
|
120
|
+
// We want the floor of the result, which can computed using a bitwise shift assuming the depth is less than 2^31, which seems safe.
|
|
121
|
+
// eslint-disable-next-line no-bitwise
|
|
122
|
+
const halfHeight = (this.siblingStack.length + 1) >> 1;
|
|
123
|
+
assert(this.indexOfChunkStack.length === halfHeight, 0x51c /* unexpected indexOfChunkStack */);
|
|
124
|
+
assert(this.indexWithinChunkStack.length === halfHeight, 0x51d /* unexpected indexWithinChunkStack */);
|
|
125
|
+
return this.siblingStack.length % 2 === 0
|
|
126
|
+
? 1 /* CursorLocationType.Fields */
|
|
127
|
+
: 0 /* CursorLocationType.Nodes */;
|
|
128
|
+
}
|
|
129
|
+
getFieldKey() {
|
|
130
|
+
if (this.nestedCursor !== undefined) {
|
|
131
|
+
return this.nestedCursor.getFieldKey();
|
|
132
|
+
}
|
|
133
|
+
assert(this.mode === 1 /* CursorLocationType.Fields */, 0x51e /* must be in fields mode */);
|
|
134
|
+
return this.siblings[this.index];
|
|
135
|
+
}
|
|
136
|
+
getStackedFieldKey(height) {
|
|
137
|
+
assert(height % 2 === 0, 0x51f /* must field height */);
|
|
138
|
+
return this.siblingStack[height][this.indexStack[height]];
|
|
139
|
+
}
|
|
140
|
+
getStackedNodeIndex(height) {
|
|
141
|
+
assert(height % 2 === 1, 0x520 /* must be node height */);
|
|
142
|
+
assert(height >= 0, 0x521 /* must not be above root */);
|
|
143
|
+
return this.indexStack[height];
|
|
144
|
+
}
|
|
145
|
+
getStackedNode(height) {
|
|
146
|
+
const index = this.getStackedNodeIndex(height);
|
|
147
|
+
return this.siblingStack[height][index];
|
|
148
|
+
}
|
|
149
|
+
getFieldLength() {
|
|
150
|
+
if (this.nestedCursor !== undefined) {
|
|
151
|
+
return this.nestedCursor.getFieldLength();
|
|
152
|
+
}
|
|
153
|
+
assert(this.mode === 1 /* CursorLocationType.Fields */, 0x522 /* must be in fields mode */);
|
|
154
|
+
let total = 0;
|
|
155
|
+
// TODO: optimize?
|
|
156
|
+
for (const chunk of this.getField()) {
|
|
157
|
+
total += chunk.topLevelLength;
|
|
158
|
+
}
|
|
159
|
+
return total;
|
|
160
|
+
}
|
|
161
|
+
enterNode(index) {
|
|
162
|
+
if (this.nestedCursor !== undefined) {
|
|
163
|
+
this.nestedCursor.enterNode(index);
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
const found = this.firstNode() && this.seekNodes(index);
|
|
167
|
+
assert(found, 0x523 /* child must exist at index */);
|
|
168
|
+
}
|
|
169
|
+
getPath(prefix) {
|
|
170
|
+
if (this.nestedCursor !== undefined) {
|
|
171
|
+
return (this.nestedCursor.getPath(this.nestedPathPrefix(prefix)) ??
|
|
172
|
+
fail("nested cursors should not be root"));
|
|
173
|
+
}
|
|
174
|
+
assert(this.mode === 0 /* CursorLocationType.Nodes */, 0x524 /* must be in nodes mode */);
|
|
175
|
+
const path = this.getOffsetPath(0, prefix);
|
|
176
|
+
assert(path !== undefined, 0x55c /* field root cursor should never have undefined path */);
|
|
177
|
+
return path;
|
|
178
|
+
}
|
|
179
|
+
nestedPathPrefix(prefix) {
|
|
180
|
+
// This uses index offset for actual node, when it should use offset for start of chunk.
|
|
181
|
+
// To compensate, subtract this.indexWithinChunk below.
|
|
182
|
+
const rootPath = this.getOffsetPath(0, prefix) ?? fail("nested cursors should not be root");
|
|
183
|
+
return {
|
|
184
|
+
indexOffset: rootPath.parentIndex - this.indexWithinChunk,
|
|
185
|
+
rootFieldOverride: rootPath.parentField,
|
|
186
|
+
parent: rootPath.parent,
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
getFieldPath(prefix) {
|
|
190
|
+
if (this.nestedCursor !== undefined) {
|
|
191
|
+
return this.nestedCursor.getFieldPath(this.nestedPathPrefix(prefix));
|
|
192
|
+
}
|
|
193
|
+
assert(this.mode === 1 /* CursorLocationType.Fields */, 0x525 /* must be in fields mode */);
|
|
194
|
+
return {
|
|
195
|
+
field: this.indexStack.length === 1
|
|
196
|
+
? prefix?.rootFieldOverride ?? this.getFieldKey()
|
|
197
|
+
: this.getFieldKey(),
|
|
198
|
+
parent: this.getOffsetPath(1, prefix),
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
getOffsetPath(offset, prefix) {
|
|
202
|
+
// It is more efficient to handle prefix directly in here rather than delegating to PrefixedPath.
|
|
203
|
+
const length = this.indexStack.length - offset;
|
|
204
|
+
if (length === -1) {
|
|
205
|
+
return prefix?.parent; // At root
|
|
206
|
+
}
|
|
207
|
+
assert(length > 0, 0x526 /* invalid offset to above root */);
|
|
208
|
+
assert(length % 2 === 1, 0x527 /* offset path must point to node not field */);
|
|
209
|
+
// Perf Note:
|
|
210
|
+
// This is O(depth) in tree.
|
|
211
|
+
// If many different anchors are created, this could be optimized to amortize the costs.
|
|
212
|
+
// For example, the cursor could cache UpPaths from the anchorSet when creating an anchor,
|
|
213
|
+
// then reuse them as a starting point when making another.
|
|
214
|
+
// Could cache this at one depth, and remember the depth.
|
|
215
|
+
// When navigating up, adjust cached anchor if present.
|
|
216
|
+
let path;
|
|
217
|
+
function updatePath(newPath) {
|
|
218
|
+
path = path === undefined ? prefixPath(prefix, newPath) : newPath;
|
|
219
|
+
}
|
|
220
|
+
// Skip top level, since root node in path is "undefined" and does not have a parent or index.
|
|
221
|
+
for (let height = 1; height < length; height += 2) {
|
|
222
|
+
const key = this.getStackedFieldKey(height - 1);
|
|
223
|
+
updatePath({
|
|
224
|
+
parent: path,
|
|
225
|
+
parentIndex: this.getStackedNodeIndex(height),
|
|
226
|
+
parentField: key,
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
updatePath({
|
|
230
|
+
parent: path,
|
|
231
|
+
parentIndex: offset === 0 ? this.index : this.getStackedNodeIndex(length),
|
|
232
|
+
parentField: this.getStackedFieldKey(length - 1),
|
|
233
|
+
});
|
|
234
|
+
return path;
|
|
235
|
+
}
|
|
236
|
+
enterField(key) {
|
|
237
|
+
if (this.nestedCursor !== undefined) {
|
|
238
|
+
this.nestedCursor.enterField(key);
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
assert(this.mode === 0 /* CursorLocationType.Nodes */, 0x528 /* must be in nodes mode */);
|
|
242
|
+
this.siblingStack.push(this.siblings);
|
|
243
|
+
this.indexStack.push(this.index);
|
|
244
|
+
// For fields, siblings are only used for key lookup and
|
|
245
|
+
// nextField and which has arbitrary iteration order,
|
|
246
|
+
// so making a array of just key here works.
|
|
247
|
+
// This adds an allocation, so it's optimizing code simplicity and for the other use case (enumeration)
|
|
248
|
+
// at the cost of an allocation here.
|
|
249
|
+
this.index = 0;
|
|
250
|
+
this.siblings = [key];
|
|
251
|
+
}
|
|
252
|
+
nextField() {
|
|
253
|
+
if (this.nestedCursor !== undefined) {
|
|
254
|
+
return this.nestedCursor.nextField();
|
|
255
|
+
}
|
|
256
|
+
this.index += 1;
|
|
257
|
+
if (this.index === this.siblings.length) {
|
|
258
|
+
this.exitField();
|
|
259
|
+
return false;
|
|
260
|
+
}
|
|
261
|
+
return true;
|
|
262
|
+
}
|
|
263
|
+
firstField() {
|
|
264
|
+
if (this.nestedCursor !== undefined) {
|
|
265
|
+
return this.nestedCursor.firstField();
|
|
266
|
+
}
|
|
267
|
+
const fields = this.getNode().fields;
|
|
268
|
+
if (fields.size === 0) {
|
|
269
|
+
return false;
|
|
270
|
+
}
|
|
271
|
+
this.siblingStack.push(this.siblings);
|
|
272
|
+
this.indexStack.push(this.index);
|
|
273
|
+
this.index = 0;
|
|
274
|
+
this.siblings = [...fields.keys()]; // TODO: avoid this copy
|
|
275
|
+
return true;
|
|
276
|
+
}
|
|
277
|
+
seekNodes(offset) {
|
|
278
|
+
if (this.nestedCursor !== undefined) {
|
|
279
|
+
const atRoot = this.nestedCursor.atChunkRoot();
|
|
280
|
+
const stillIn = this.nestedCursor.seekNodes(offset);
|
|
281
|
+
if (!atRoot) {
|
|
282
|
+
return stillIn;
|
|
283
|
+
}
|
|
284
|
+
if (!stillIn) {
|
|
285
|
+
this.nestedCursor = undefined;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
assert(this.mode === 0 /* CursorLocationType.Nodes */, 0x529 /* can only seekNodes when in Nodes */);
|
|
289
|
+
assert(this.indexOfChunk < this.siblings.length, 0x52a /* out of bounds indexOfChunk */);
|
|
290
|
+
this.indexWithinChunk += offset;
|
|
291
|
+
if (offset >= 0) {
|
|
292
|
+
const chunks = this.siblings;
|
|
293
|
+
while (this.indexWithinChunk >= chunks[this.indexOfChunk].topLevelLength) {
|
|
294
|
+
this.indexWithinChunk -= chunks[this.indexOfChunk].topLevelLength;
|
|
295
|
+
this.indexOfChunk++;
|
|
296
|
+
if (this.indexOfChunk === chunks.length) {
|
|
297
|
+
this.exitNode();
|
|
298
|
+
return false;
|
|
299
|
+
}
|
|
300
|
+
assert(this.indexOfChunk < this.siblings.length, 0x52b /* out of bounds indexOfChunk */);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
else {
|
|
304
|
+
const chunks = this.siblings;
|
|
305
|
+
while (this.indexWithinChunk < 0) {
|
|
306
|
+
if (this.indexOfChunk === 0) {
|
|
307
|
+
this.exitNode();
|
|
308
|
+
return false;
|
|
309
|
+
}
|
|
310
|
+
this.indexOfChunk--;
|
|
311
|
+
this.indexWithinChunk += chunks[this.indexOfChunk].topLevelLength;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
this.index += offset;
|
|
315
|
+
this.initNestedCursor();
|
|
316
|
+
return true;
|
|
317
|
+
}
|
|
318
|
+
firstNode() {
|
|
319
|
+
if (this.nestedCursor !== undefined) {
|
|
320
|
+
return this.nestedCursor.firstNode();
|
|
321
|
+
}
|
|
322
|
+
const siblings = this.getField();
|
|
323
|
+
if (siblings.length === 0) {
|
|
324
|
+
return false;
|
|
325
|
+
}
|
|
326
|
+
this.siblingStack.push(this.siblings);
|
|
327
|
+
this.indexStack.push(this.index);
|
|
328
|
+
this.indexOfChunkStack.push(this.indexOfChunk);
|
|
329
|
+
this.indexWithinChunkStack.push(this.indexWithinChunk);
|
|
330
|
+
this.index = 0;
|
|
331
|
+
this.siblings = siblings;
|
|
332
|
+
this.indexOfChunk = 0;
|
|
333
|
+
this.indexWithinChunk = 0;
|
|
334
|
+
this.initNestedCursor();
|
|
335
|
+
return true;
|
|
336
|
+
}
|
|
337
|
+
nextNode() {
|
|
338
|
+
if (this.nestedCursor !== undefined) {
|
|
339
|
+
const atRoot = this.nestedCursor.atChunkRoot();
|
|
340
|
+
const stillIn = this.nestedCursor.nextNode();
|
|
341
|
+
if (!atRoot) {
|
|
342
|
+
return stillIn;
|
|
343
|
+
}
|
|
344
|
+
if (!stillIn) {
|
|
345
|
+
this.nestedCursor = undefined;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
assert(this.mode === 0 /* CursorLocationType.Nodes */, 0x52c /* can only nextNode when in Nodes */);
|
|
349
|
+
this.indexWithinChunk++;
|
|
350
|
+
if (this.indexWithinChunk ===
|
|
351
|
+
this.siblings[this.indexOfChunk].topLevelLength) {
|
|
352
|
+
this.indexOfChunk++;
|
|
353
|
+
if (this.indexOfChunk === this.siblings.length) {
|
|
354
|
+
this.exitNode();
|
|
355
|
+
return false;
|
|
356
|
+
}
|
|
357
|
+
this.indexWithinChunk = 0;
|
|
358
|
+
this.initNestedCursor();
|
|
359
|
+
}
|
|
360
|
+
this.index++;
|
|
361
|
+
return true;
|
|
362
|
+
}
|
|
363
|
+
initNestedCursor() {
|
|
364
|
+
assert(this.mode === 0 /* CursorLocationType.Nodes */, 0x55d /* can only initNestedCursor when in Nodes */);
|
|
365
|
+
const chunk = this.siblings[this.indexOfChunk];
|
|
366
|
+
this.nestedCursor = !(chunk instanceof BasicChunk) ? chunk.cursor() : undefined;
|
|
367
|
+
this.nestedCursor?.enterNode(this.indexWithinChunk);
|
|
368
|
+
}
|
|
369
|
+
exitField() {
|
|
370
|
+
if (this.nestedCursor !== undefined) {
|
|
371
|
+
return this.nestedCursor.exitField();
|
|
372
|
+
}
|
|
373
|
+
assert(this.mode === 1 /* CursorLocationType.Fields */, 0x52d /* can only navigate up from field when in field */);
|
|
374
|
+
this.siblings = this.siblingStack.pop() ?? fail("Unexpected siblingStack.length");
|
|
375
|
+
this.index = this.indexStack.pop() ?? fail("Unexpected indexStack.length");
|
|
376
|
+
}
|
|
377
|
+
exitNode() {
|
|
378
|
+
if (this.nestedCursor !== undefined) {
|
|
379
|
+
if (!this.nestedCursor.atChunkRoot()) {
|
|
380
|
+
return this.nestedCursor.exitNode();
|
|
381
|
+
}
|
|
382
|
+
this.nestedCursor = undefined;
|
|
383
|
+
}
|
|
384
|
+
assert(this.mode === 0 /* CursorLocationType.Nodes */, 0x52e /* can only navigate up from node when in node */);
|
|
385
|
+
this.siblings = this.siblingStack.pop() ?? fail("Unexpected siblingStack.length");
|
|
386
|
+
this.index = this.indexStack.pop() ?? fail("Unexpected indexStack.length");
|
|
387
|
+
this.indexOfChunk =
|
|
388
|
+
this.indexOfChunkStack.pop() ?? fail("Unexpected indexOfChunkStack.length");
|
|
389
|
+
this.indexWithinChunk =
|
|
390
|
+
this.indexWithinChunkStack.pop() ?? fail("Unexpected indexWithinChunkStack.length");
|
|
391
|
+
}
|
|
392
|
+
getNode() {
|
|
393
|
+
assert(this.mode === 0 /* CursorLocationType.Nodes */, 0x52f /* can only get node when in node */);
|
|
394
|
+
return this.siblings[this.index];
|
|
395
|
+
}
|
|
396
|
+
getField() {
|
|
397
|
+
if (this.siblingStack.length === 0) {
|
|
398
|
+
return this.root;
|
|
399
|
+
}
|
|
400
|
+
assert(this.mode === 1 /* CursorLocationType.Fields */, 0x530 /* can only get field when in fields */);
|
|
401
|
+
const parent = this.getStackedNode(this.indexStack.length - 1);
|
|
402
|
+
const key = this.getFieldKey();
|
|
403
|
+
const field = parent.fields.get(key) ?? [];
|
|
404
|
+
return field;
|
|
405
|
+
}
|
|
406
|
+
get value() {
|
|
407
|
+
if (this.nestedCursor !== undefined) {
|
|
408
|
+
return this.nestedCursor.value;
|
|
409
|
+
}
|
|
410
|
+
return this.getNode().value;
|
|
411
|
+
}
|
|
412
|
+
get type() {
|
|
413
|
+
if (this.nestedCursor !== undefined) {
|
|
414
|
+
return this.nestedCursor.type;
|
|
415
|
+
}
|
|
416
|
+
return this.getNode().type;
|
|
417
|
+
}
|
|
418
|
+
get fieldIndex() {
|
|
419
|
+
assert(this.mode === 0 /* CursorLocationType.Nodes */, 0x531 /* can only node's index when in node */);
|
|
420
|
+
if (this.nestedCursor !== undefined) {
|
|
421
|
+
if (this.nestedCursor.atChunkRoot()) {
|
|
422
|
+
// TODO: this.index
|
|
423
|
+
return this.nestedCursor.fieldIndex + this.nestedOffset();
|
|
424
|
+
}
|
|
425
|
+
return this.nestedCursor.fieldIndex;
|
|
426
|
+
}
|
|
427
|
+
return this.index;
|
|
428
|
+
}
|
|
429
|
+
/**
|
|
430
|
+
* Within the field that `nestedCursor` is nested in:
|
|
431
|
+
* returns the index within that field of the first node that is part of the chunk nestedCursor traverses.
|
|
432
|
+
*/
|
|
433
|
+
nestedOffset() {
|
|
434
|
+
assert(this.nestedCursor !== undefined, 0x55e /* nested offset requires nested cursor */);
|
|
435
|
+
assert(!this.nestedCursor.atChunkRoot() ||
|
|
436
|
+
this.indexWithinChunk === this.nestedCursor.fieldIndex, 0x55f /* indexes should match if at root */);
|
|
437
|
+
return this.index - this.indexWithinChunk;
|
|
438
|
+
}
|
|
439
|
+
get chunkStart() {
|
|
440
|
+
if (this.nestedCursor !== undefined) {
|
|
441
|
+
if (this.nestedCursor.atChunkRoot()) {
|
|
442
|
+
return this.nestedCursor.chunkStart + this.nestedOffset();
|
|
443
|
+
}
|
|
444
|
+
return this.nestedCursor.chunkStart;
|
|
445
|
+
}
|
|
446
|
+
return this.fieldIndex;
|
|
447
|
+
}
|
|
448
|
+
get chunkLength() {
|
|
449
|
+
if (this.nestedCursor !== undefined) {
|
|
450
|
+
return this.nestedCursor.chunkLength;
|
|
451
|
+
}
|
|
452
|
+
return 1;
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
//# sourceMappingURL=basicChunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basicChunk.js","sourceRoot":"","sources":["../../../src/feature-libraries/chunked-forest/basicChunk.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { assert } from \"@fluidframework/core-utils\";\nimport {\n\tFieldKey,\n\tTreeNodeSchemaIdentifier,\n\tCursorLocationType,\n\tFieldUpPath,\n\tUpPath,\n\tTreeValue,\n\tValue,\n\tTreeType,\n\tPathRootPrefix,\n} from \"../../core\";\nimport { fail, ReferenceCountedBase } from \"../../util\";\nimport { prefixPath, SynchronousCursor } from \"../treeCursorUtils\";\nimport { ChunkedCursor, cursorChunk, dummyRoot, TreeChunk } from \"./chunk\";\n\n/**\n * General purpose one node chunk.\n */\nexport class BasicChunk extends ReferenceCountedBase implements TreeChunk {\n\tpublic readonly topLevelLength: number = 1;\n\n\t/**\n\t * Create a tree chunk with ref count 1.\n\t *\n\t * @param fields - provides exclusive deep ownership of this map to this object (which might mutate it in the future).\n\t * The caller must have already accounted for this reference to the children in this map (via `referenceAdded`),\n\t * and any edits to this must update child reference counts.\n\t * @param value - the value on this node, if any.\n\t */\n\tpublic constructor(\n\t\tpublic type: TreeNodeSchemaIdentifier,\n\t\tpublic fields: Map<FieldKey, TreeChunk[]>,\n\t\tpublic value?: TreeValue,\n\t) {\n\t\tsuper();\n\t}\n\n\tpublic clone(): BasicChunk {\n\t\tconst fields = new Map<FieldKey, TreeChunk[]>();\n\t\tfor (const [k, v] of this.fields) {\n\t\t\tconst field = v.map((child) => {\n\t\t\t\tchild.referenceAdded();\n\t\t\t\treturn child;\n\t\t\t});\n\t\t\tfields.set(k, field);\n\t\t}\n\t\treturn new BasicChunk(this.type, fields, this.value);\n\t}\n\n\tpublic cursor(): ChunkedCursor {\n\t\treturn new BasicChunkCursor([this], [], [], [], [], [dummyRoot], 0, 0, 0, undefined);\n\t}\n\n\tprotected dispose(): void {\n\t\tfor (const v of this.fields.values()) {\n\t\t\tfor (const child of v) {\n\t\t\t\tchild.referenceRemoved();\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport type SiblingsOrKey = readonly TreeChunk[] | readonly FieldKey[];\n\n/**\n * Cursor over basic chunks.\n *\n * @remarks This implementation is similar to StackCursor, however it is distinct because:\n * 1. The children are chunks, which might have a top level length that greater than 1.\n * 2. It needs to be able to delegate to cursors of other chunk formats it does not natively understand (See TODO below).\n *\n * TODO:\n * This cursor currently only handles child chunks which are BasicChunks:\n * BasicChunks should be an optimized fast path, and arbitrary chunk formats,\n * like UniformChunk, should be supported by delegating to their cursor implementations.\n */\nexport class BasicChunkCursor extends SynchronousCursor implements ChunkedCursor {\n\t/**\n\t * Starts at root field which might be a detached sequence.\n\t *\n\t * @param root - sequence of BasicChunk which make up the contents of the root sequence.\n\t * Since this cursor starts in `Fields` mode at the root, the siblings array when in fields mode is just the field keys,\n\t * this is needed to get the actual root nodes when entering nodes of the root field.\n\t * @param siblingStack - Stack of collections of siblings along the path through the tree:\n\t * does not include current level (which is stored in `siblings`).\n\t * Even levels in the stack (starting from 0) are keys and odd levels are sequences of nodes.\n\t * @param indexStack - Stack of indices into the corresponding levels in `siblingStack`.\n\t * @param indexOfChunkStack - Index of chunk in array of chunks. Only for Node levels.\n\t * @param indexWithinChunkStack - Index within chunk selected by indexOfChunkStack. Only for Node levels.\n\t * @param siblings - Siblings at the current level (not included in `siblingStack`).\n\t * @param index - Index into `siblings`.\n\t * @param indexOfChunk - Index of chunk in array of chunks. Only for Nodes mode.\n\t * @param indexWithinChunk - Index within chunk selected by indexOfChunkStack. Only for Nodes mode.\n\t * @param nestedCursor - When the outer cursor (this `BasicChunkCursor` cursor)\n\t * navigates into a chunk it does not natively understand (currently anything other than `BasicChunk`s)\n\t * it creates the `nestedCursor` over that chunk, and delegates all operations to it.\n\t */\n\tpublic constructor(\n\t\tprotected root: readonly TreeChunk[],\n\t\tprotected readonly siblingStack: SiblingsOrKey[],\n\t\tprotected readonly indexStack: number[],\n\t\tprotected readonly indexOfChunkStack: number[],\n\t\t// TODO: Currently only BasicChunks are supported, and the currently always have a top level length of 1.\n\t\t// That makes this stack unneeded. When BasicChunkCursor is more feature complete, this stack should be reevaluated, and removed if possible.\n\t\tprotected readonly indexWithinChunkStack: number[],\n\t\tprotected siblings: SiblingsOrKey,\n\t\tprotected index: number,\n\t\tprotected indexOfChunk: number,\n\t\tprotected indexWithinChunk: number,\n\t\tprotected nestedCursor: ChunkedCursor | undefined,\n\t) {\n\t\tsuper();\n\t}\n\n\tpublic get [cursorChunk](): TreeChunk | undefined {\n\t\tif (this.nestedCursor !== undefined) {\n\t\t\treturn this.nestedCursor[cursorChunk];\n\t\t}\n\t\tassert(this.mode === CursorLocationType.Nodes, 0x57a /* must be in nodes mode */);\n\t\treturn (this.siblings as TreeChunk[])[this.indexOfChunk];\n\t}\n\n\tpublic atChunkRoot(): boolean {\n\t\treturn (\n\t\t\tthis.siblingStack.length < 2 &&\n\t\t\t(this.nestedCursor === undefined || this.nestedCursor.atChunkRoot())\n\t\t);\n\t}\n\n\tpublic fork(): BasicChunkCursor {\n\t\t// Siblings arrays are not modified during navigation and do not need be be copied.\n\t\t// This allows this copy to be shallow, and `this.siblings` below to not be copied as all.\n\t\treturn new BasicChunkCursor(\n\t\t\tthis.root,\n\t\t\t[...this.siblingStack],\n\t\t\t[...this.indexStack],\n\t\t\t[...this.indexOfChunkStack],\n\t\t\t[...this.indexWithinChunkStack],\n\t\t\tthis.siblings,\n\t\t\tthis.index,\n\t\t\tthis.indexOfChunk,\n\t\t\tthis.indexWithinChunk,\n\t\t\tthis.nestedCursor?.fork(),\n\t\t);\n\t}\n\n\tpublic get mode(): CursorLocationType {\n\t\tif (this.nestedCursor !== undefined) {\n\t\t\treturn this.nestedCursor.mode;\n\t\t}\n\t\t// Compute the number of nodes deep the current depth is.\n\t\t// We want the floor of the result, which can computed using a bitwise shift assuming the depth is less than 2^31, which seems safe.\n\t\t// eslint-disable-next-line no-bitwise\n\t\tconst halfHeight = (this.siblingStack.length + 1) >> 1;\n\t\tassert(\n\t\t\tthis.indexOfChunkStack.length === halfHeight,\n\t\t\t0x51c /* unexpected indexOfChunkStack */,\n\t\t);\n\t\tassert(\n\t\t\tthis.indexWithinChunkStack.length === halfHeight,\n\t\t\t0x51d /* unexpected indexWithinChunkStack */,\n\t\t);\n\t\treturn this.siblingStack.length % 2 === 0\n\t\t\t? CursorLocationType.Fields\n\t\t\t: CursorLocationType.Nodes;\n\t}\n\n\tpublic getFieldKey(): FieldKey {\n\t\tif (this.nestedCursor !== undefined) {\n\t\t\treturn this.nestedCursor.getFieldKey();\n\t\t}\n\t\tassert(this.mode === CursorLocationType.Fields, 0x51e /* must be in fields mode */);\n\t\treturn this.siblings[this.index] as FieldKey;\n\t}\n\n\tprivate getStackedFieldKey(height: number): FieldKey {\n\t\tassert(height % 2 === 0, 0x51f /* must field height */);\n\t\treturn this.siblingStack[height][this.indexStack[height]] as FieldKey;\n\t}\n\n\tprivate getStackedNodeIndex(height: number): number {\n\t\tassert(height % 2 === 1, 0x520 /* must be node height */);\n\t\tassert(height >= 0, 0x521 /* must not be above root */);\n\t\treturn this.indexStack[height];\n\t}\n\n\tprivate getStackedNode(height: number): BasicChunk {\n\t\tconst index = this.getStackedNodeIndex(height);\n\t\treturn (this.siblingStack[height] as readonly TreeChunk[])[index] as BasicChunk;\n\t}\n\n\tpublic getFieldLength(): number {\n\t\tif (this.nestedCursor !== undefined) {\n\t\t\treturn this.nestedCursor.getFieldLength();\n\t\t}\n\t\tassert(this.mode === CursorLocationType.Fields, 0x522 /* must be in fields mode */);\n\t\tlet total = 0;\n\t\t// TODO: optimize?\n\t\tfor (const chunk of this.getField()) {\n\t\t\ttotal += chunk.topLevelLength;\n\t\t}\n\t\treturn total;\n\t}\n\n\tpublic enterNode(index: number): void {\n\t\tif (this.nestedCursor !== undefined) {\n\t\t\tthis.nestedCursor.enterNode(index);\n\t\t\treturn;\n\t\t}\n\t\tconst found = this.firstNode() && this.seekNodes(index);\n\t\tassert(found, 0x523 /* child must exist at index */);\n\t}\n\n\tpublic getPath(prefix?: PathRootPrefix): UpPath {\n\t\tif (this.nestedCursor !== undefined) {\n\t\t\treturn (\n\t\t\t\tthis.nestedCursor.getPath(this.nestedPathPrefix(prefix)) ??\n\t\t\t\tfail(\"nested cursors should not be root\")\n\t\t\t);\n\t\t}\n\t\tassert(this.mode === CursorLocationType.Nodes, 0x524 /* must be in nodes mode */);\n\t\tconst path = this.getOffsetPath(0, prefix);\n\t\tassert(path !== undefined, 0x55c /* field root cursor should never have undefined path */);\n\t\treturn path;\n\t}\n\n\tprivate nestedPathPrefix(prefix?: PathRootPrefix): PathRootPrefix {\n\t\t// This uses index offset for actual node, when it should use offset for start of chunk.\n\t\t// To compensate, subtract this.indexWithinChunk below.\n\t\tconst rootPath: UpPath =\n\t\t\tthis.getOffsetPath(0, prefix) ?? fail(\"nested cursors should not be root\");\n\t\treturn {\n\t\t\tindexOffset: rootPath.parentIndex - this.indexWithinChunk,\n\t\t\trootFieldOverride: rootPath.parentField,\n\t\t\tparent: rootPath.parent,\n\t\t};\n\t}\n\n\tpublic getFieldPath(prefix?: PathRootPrefix): FieldUpPath {\n\t\tif (this.nestedCursor !== undefined) {\n\t\t\treturn this.nestedCursor.getFieldPath(this.nestedPathPrefix(prefix));\n\t\t}\n\t\tassert(this.mode === CursorLocationType.Fields, 0x525 /* must be in fields mode */);\n\t\treturn {\n\t\t\tfield:\n\t\t\t\tthis.indexStack.length === 1\n\t\t\t\t\t? prefix?.rootFieldOverride ?? this.getFieldKey()\n\t\t\t\t\t: this.getFieldKey(),\n\t\t\tparent: this.getOffsetPath(1, prefix),\n\t\t};\n\t}\n\n\tprivate getOffsetPath(offset: number, prefix: PathRootPrefix | undefined): UpPath | undefined {\n\t\t// It is more efficient to handle prefix directly in here rather than delegating to PrefixedPath.\n\n\t\tconst length = this.indexStack.length - offset;\n\t\tif (length === -1) {\n\t\t\treturn prefix?.parent; // At root\n\t\t}\n\n\t\tassert(length > 0, 0x526 /* invalid offset to above root */);\n\t\tassert(length % 2 === 1, 0x527 /* offset path must point to node not field */);\n\n\t\t// Perf Note:\n\t\t// This is O(depth) in tree.\n\t\t// If many different anchors are created, this could be optimized to amortize the costs.\n\t\t// For example, the cursor could cache UpPaths from the anchorSet when creating an anchor,\n\t\t// then reuse them as a starting point when making another.\n\t\t// Could cache this at one depth, and remember the depth.\n\t\t// When navigating up, adjust cached anchor if present.\n\n\t\tlet path: UpPath | undefined;\n\t\tfunction updatePath(newPath: UpPath): void {\n\t\t\tpath = path === undefined ? prefixPath(prefix, newPath) : newPath;\n\t\t}\n\n\t\t// Skip top level, since root node in path is \"undefined\" and does not have a parent or index.\n\t\tfor (let height = 1; height < length; height += 2) {\n\t\t\tconst key = this.getStackedFieldKey(height - 1);\n\t\t\tupdatePath({\n\t\t\t\tparent: path,\n\t\t\t\tparentIndex: this.getStackedNodeIndex(height),\n\t\t\t\tparentField: key,\n\t\t\t});\n\t\t}\n\n\t\tupdatePath({\n\t\t\tparent: path,\n\t\t\tparentIndex: offset === 0 ? this.index : this.getStackedNodeIndex(length),\n\t\t\tparentField: this.getStackedFieldKey(length - 1),\n\t\t});\n\t\treturn path;\n\t}\n\n\tpublic enterField(key: FieldKey): void {\n\t\tif (this.nestedCursor !== undefined) {\n\t\t\tthis.nestedCursor.enterField(key);\n\t\t\treturn;\n\t\t}\n\t\tassert(this.mode === CursorLocationType.Nodes, 0x528 /* must be in nodes mode */);\n\t\tthis.siblingStack.push(this.siblings);\n\t\tthis.indexStack.push(this.index);\n\n\t\t// For fields, siblings are only used for key lookup and\n\t\t// nextField and which has arbitrary iteration order,\n\t\t// so making a array of just key here works.\n\t\t// This adds an allocation, so it's optimizing code simplicity and for the other use case (enumeration)\n\t\t// at the cost of an allocation here.\n\t\tthis.index = 0;\n\t\tthis.siblings = [key];\n\t}\n\n\tpublic nextField(): boolean {\n\t\tif (this.nestedCursor !== undefined) {\n\t\t\treturn this.nestedCursor.nextField();\n\t\t}\n\t\tthis.index += 1;\n\t\tif (this.index === (this.siblings as []).length) {\n\t\t\tthis.exitField();\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic firstField(): boolean {\n\t\tif (this.nestedCursor !== undefined) {\n\t\t\treturn this.nestedCursor.firstField();\n\t\t}\n\t\tconst fields = this.getNode().fields;\n\t\tif (fields.size === 0) {\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.siblingStack.push(this.siblings);\n\t\tthis.indexStack.push(this.index);\n\t\tthis.index = 0;\n\t\tthis.siblings = [...fields.keys()]; // TODO: avoid this copy\n\t\treturn true;\n\t}\n\n\tpublic seekNodes(offset: number): boolean {\n\t\tif (this.nestedCursor !== undefined) {\n\t\t\tconst atRoot = this.nestedCursor.atChunkRoot();\n\t\t\tconst stillIn = this.nestedCursor.seekNodes(offset);\n\t\t\tif (!atRoot) {\n\t\t\t\treturn stillIn;\n\t\t\t}\n\t\t\tif (!stillIn) {\n\t\t\t\tthis.nestedCursor = undefined;\n\t\t\t}\n\t\t}\n\t\tassert(\n\t\t\tthis.mode === CursorLocationType.Nodes,\n\t\t\t0x529 /* can only seekNodes when in Nodes */,\n\t\t);\n\t\tassert(this.indexOfChunk < this.siblings.length, 0x52a /* out of bounds indexOfChunk */);\n\n\t\tthis.indexWithinChunk += offset;\n\t\tif (offset >= 0) {\n\t\t\tconst chunks = this.siblings as TreeChunk[];\n\t\t\twhile (this.indexWithinChunk >= chunks[this.indexOfChunk].topLevelLength) {\n\t\t\t\tthis.indexWithinChunk -= chunks[this.indexOfChunk].topLevelLength;\n\t\t\t\tthis.indexOfChunk++;\n\t\t\t\tif (this.indexOfChunk === chunks.length) {\n\t\t\t\t\tthis.exitNode();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tassert(\n\t\t\t\t\tthis.indexOfChunk < this.siblings.length,\n\t\t\t\t\t0x52b /* out of bounds indexOfChunk */,\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tconst chunks = this.siblings as TreeChunk[];\n\t\t\twhile (this.indexWithinChunk < 0) {\n\t\t\t\tif (this.indexOfChunk === 0) {\n\t\t\t\t\tthis.exitNode();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tthis.indexOfChunk--;\n\t\t\t\tthis.indexWithinChunk += chunks[this.indexOfChunk].topLevelLength;\n\t\t\t}\n\t\t}\n\n\t\tthis.index += offset;\n\t\tthis.initNestedCursor();\n\t\treturn true;\n\t}\n\n\tpublic firstNode(): boolean {\n\t\tif (this.nestedCursor !== undefined) {\n\t\t\treturn this.nestedCursor.firstNode();\n\t\t}\n\t\tconst siblings = this.getField();\n\t\tif (siblings.length === 0) {\n\t\t\treturn false;\n\t\t}\n\t\tthis.siblingStack.push(this.siblings);\n\t\tthis.indexStack.push(this.index);\n\t\tthis.indexOfChunkStack.push(this.indexOfChunk);\n\t\tthis.indexWithinChunkStack.push(this.indexWithinChunk);\n\t\tthis.index = 0;\n\t\tthis.siblings = siblings;\n\t\tthis.indexOfChunk = 0;\n\t\tthis.indexWithinChunk = 0;\n\t\tthis.initNestedCursor();\n\t\treturn true;\n\t}\n\n\tpublic nextNode(): boolean {\n\t\tif (this.nestedCursor !== undefined) {\n\t\t\tconst atRoot = this.nestedCursor.atChunkRoot();\n\t\t\tconst stillIn = this.nestedCursor.nextNode();\n\t\t\tif (!atRoot) {\n\t\t\t\treturn stillIn;\n\t\t\t}\n\t\t\tif (!stillIn) {\n\t\t\t\tthis.nestedCursor = undefined;\n\t\t\t}\n\t\t}\n\t\tassert(this.mode === CursorLocationType.Nodes, 0x52c /* can only nextNode when in Nodes */);\n\t\tthis.indexWithinChunk++;\n\t\tif (\n\t\t\tthis.indexWithinChunk ===\n\t\t\t(this.siblings as TreeChunk[])[this.indexOfChunk].topLevelLength\n\t\t) {\n\t\t\tthis.indexOfChunk++;\n\t\t\tif (this.indexOfChunk === (this.siblings as TreeChunk[]).length) {\n\t\t\t\tthis.exitNode();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tthis.indexWithinChunk = 0;\n\t\t\tthis.initNestedCursor();\n\t\t}\n\t\tthis.index++;\n\t\treturn true;\n\t}\n\n\tprivate initNestedCursor(): void {\n\t\tassert(\n\t\t\tthis.mode === CursorLocationType.Nodes,\n\t\t\t0x55d /* can only initNestedCursor when in Nodes */,\n\t\t);\n\t\tconst chunk = (this.siblings as TreeChunk[])[this.indexOfChunk];\n\t\tthis.nestedCursor = !(chunk instanceof BasicChunk) ? chunk.cursor() : undefined;\n\t\tthis.nestedCursor?.enterNode(this.indexWithinChunk);\n\t}\n\n\tpublic exitField(): void {\n\t\tif (this.nestedCursor !== undefined) {\n\t\t\treturn this.nestedCursor.exitField();\n\t\t}\n\t\tassert(\n\t\t\tthis.mode === CursorLocationType.Fields,\n\t\t\t0x52d /* can only navigate up from field when in field */,\n\t\t);\n\t\tthis.siblings = this.siblingStack.pop() ?? fail(\"Unexpected siblingStack.length\");\n\t\tthis.index = this.indexStack.pop() ?? fail(\"Unexpected indexStack.length\");\n\t}\n\n\tpublic exitNode(): void {\n\t\tif (this.nestedCursor !== undefined) {\n\t\t\tif (!this.nestedCursor.atChunkRoot()) {\n\t\t\t\treturn this.nestedCursor.exitNode();\n\t\t\t}\n\t\t\tthis.nestedCursor = undefined;\n\t\t}\n\t\tassert(\n\t\t\tthis.mode === CursorLocationType.Nodes,\n\t\t\t0x52e /* can only navigate up from node when in node */,\n\t\t);\n\t\tthis.siblings = this.siblingStack.pop() ?? fail(\"Unexpected siblingStack.length\");\n\t\tthis.index = this.indexStack.pop() ?? fail(\"Unexpected indexStack.length\");\n\t\tthis.indexOfChunk =\n\t\t\tthis.indexOfChunkStack.pop() ?? fail(\"Unexpected indexOfChunkStack.length\");\n\t\tthis.indexWithinChunk =\n\t\t\tthis.indexWithinChunkStack.pop() ?? fail(\"Unexpected indexWithinChunkStack.length\");\n\t}\n\n\tprivate getNode(): BasicChunk {\n\t\tassert(this.mode === CursorLocationType.Nodes, 0x52f /* can only get node when in node */);\n\t\treturn (this.siblings as TreeChunk[])[this.index] as BasicChunk;\n\t}\n\n\tprivate getField(): readonly TreeChunk[] {\n\t\tif (this.siblingStack.length === 0) {\n\t\t\treturn this.root;\n\t\t}\n\t\tassert(\n\t\t\tthis.mode === CursorLocationType.Fields,\n\t\t\t0x530 /* can only get field when in fields */,\n\t\t);\n\t\tconst parent = this.getStackedNode(this.indexStack.length - 1);\n\t\tconst key: FieldKey = this.getFieldKey();\n\t\tconst field = parent.fields.get(key) ?? [];\n\t\treturn field;\n\t}\n\n\tpublic get value(): Value {\n\t\tif (this.nestedCursor !== undefined) {\n\t\t\treturn this.nestedCursor.value;\n\t\t}\n\t\treturn this.getNode().value;\n\t}\n\n\tpublic get type(): TreeType {\n\t\tif (this.nestedCursor !== undefined) {\n\t\t\treturn this.nestedCursor.type;\n\t\t}\n\t\treturn this.getNode().type;\n\t}\n\n\tpublic get fieldIndex(): number {\n\t\tassert(\n\t\t\tthis.mode === CursorLocationType.Nodes,\n\t\t\t0x531 /* can only node's index when in node */,\n\t\t);\n\t\tif (this.nestedCursor !== undefined) {\n\t\t\tif (this.nestedCursor.atChunkRoot()) {\n\t\t\t\t// TODO: this.index\n\t\t\t\treturn this.nestedCursor.fieldIndex + this.nestedOffset();\n\t\t\t}\n\t\t\treturn this.nestedCursor.fieldIndex;\n\t\t}\n\t\treturn this.index;\n\t}\n\n\t/**\n\t * Within the field that `nestedCursor` is nested in:\n\t * returns the index within that field of the first node that is part of the chunk nestedCursor traverses.\n\t */\n\tprivate nestedOffset(): number {\n\t\tassert(this.nestedCursor !== undefined, 0x55e /* nested offset requires nested cursor */);\n\t\tassert(\n\t\t\t!this.nestedCursor.atChunkRoot() ||\n\t\t\t\tthis.indexWithinChunk === this.nestedCursor.fieldIndex,\n\t\t\t0x55f /* indexes should match if at root */,\n\t\t);\n\t\treturn this.index - this.indexWithinChunk;\n\t}\n\n\tpublic get chunkStart(): number {\n\t\tif (this.nestedCursor !== undefined) {\n\t\t\tif (this.nestedCursor.atChunkRoot()) {\n\t\t\t\treturn this.nestedCursor.chunkStart + this.nestedOffset();\n\t\t\t}\n\t\t\treturn this.nestedCursor.chunkStart;\n\t\t}\n\t\treturn this.fieldIndex;\n\t}\n\n\tpublic get chunkLength(): number {\n\t\tif (this.nestedCursor !== undefined) {\n\t\t\treturn this.nestedCursor.chunkLength;\n\t\t}\n\t\treturn 1;\n\t}\n}\n"]}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
import { ITreeCursor, ITreeCursorSynchronous, FieldKey } from "../../core";
|
|
6
|
+
import { ReferenceCounted } from "../../util";
|
|
7
|
+
/**
|
|
8
|
+
* Contiguous part of the tree which get stored together in some data format.
|
|
9
|
+
* Copy-on-write, but optimized to be mutated in place when a chunk only has a single user (detected using reference counting).
|
|
10
|
+
* This allows for efficient cloning without major performance overheads for non-cloning scenarios.
|
|
11
|
+
*/
|
|
12
|
+
export interface TreeChunk extends ReferenceCounted {
|
|
13
|
+
/**
|
|
14
|
+
* The number of nodes at the top level of this chunk.
|
|
15
|
+
*
|
|
16
|
+
* If this chunk is included in a field, this is the amount this chunk contributes to the length of the field.
|
|
17
|
+
*/
|
|
18
|
+
readonly topLevelLength: number;
|
|
19
|
+
/**
|
|
20
|
+
* Creates a cursor for navigating the content of this chunk.
|
|
21
|
+
*
|
|
22
|
+
* Starts in "fields" mode in a `dummyRoot` field containing the top level nodes.
|
|
23
|
+
*
|
|
24
|
+
* This cursor does not own a reference to the data:
|
|
25
|
+
* it is up to the caller of this function to ensure the cursor is not used after they release their owning ref to this chunk.
|
|
26
|
+
*
|
|
27
|
+
* TODO: consider starting this in "fields" mode above the top level
|
|
28
|
+
* which would compose better with utilities for processing sequences of nodes.
|
|
29
|
+
*/
|
|
30
|
+
cursor(): ChunkedCursor;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The key used for the field that contains the root of chunks when not parented anywhere.
|
|
34
|
+
*
|
|
35
|
+
* For now this is using the document root key to ease testing/compatibility, but this may change.
|
|
36
|
+
*/
|
|
37
|
+
export declare const dummyRoot: FieldKey;
|
|
38
|
+
/**
|
|
39
|
+
* A symbol for extracting a TreeChunk from {@link ITreeCursor}.
|
|
40
|
+
*/
|
|
41
|
+
export declare const cursorChunk: unique symbol;
|
|
42
|
+
/**
|
|
43
|
+
* Cursors can optionally implement this interface, allowing querying them for the chunk they are traversing.
|
|
44
|
+
*/
|
|
45
|
+
interface WithChunk {
|
|
46
|
+
/**
|
|
47
|
+
* When in nodes mode, if a value is returned, it is a TreeChunk who's top level nodes are the
|
|
48
|
+
* chunkLength nodes starting from chunkStart.
|
|
49
|
+
*
|
|
50
|
+
*
|
|
51
|
+
* @remarks
|
|
52
|
+
* Note that there may be other tree representations with different chunk APIs and thus different ways to query them.
|
|
53
|
+
* The chunkStart and chunkLength values thus to not uniquely apply to the chunks accessed through this field.
|
|
54
|
+
*
|
|
55
|
+
* TODO:
|
|
56
|
+
* This API (including the chunk start and end on ITreeCUrsor) have some issues:
|
|
57
|
+
* 1. There are cases where multiple possible chunks could be considered.
|
|
58
|
+
* For example, when in a SequenceChunk, it could be returned, or the chunk within it could be.
|
|
59
|
+
* 2. When in a location other than the root of a chunk,
|
|
60
|
+
* it can't provide information about the containing chunk other than by allocating a new chunk that just represents that field.
|
|
61
|
+
*
|
|
62
|
+
* As more optimizations get implemented, this API may need to change to better address these issues.
|
|
63
|
+
*/
|
|
64
|
+
readonly [cursorChunk]?: TreeChunk;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* See {@link WithChunk}.
|
|
68
|
+
*/
|
|
69
|
+
export declare function tryGetChunk(cursor: ITreeCursor): undefined | TreeChunk;
|
|
70
|
+
/**
|
|
71
|
+
* Cursor for a chunk which can be wrapped by another cursor.
|
|
72
|
+
*
|
|
73
|
+
* @remarks See `BasicChunkCursor` which uses this.
|
|
74
|
+
*/
|
|
75
|
+
export interface ChunkedCursor extends ITreeCursorSynchronous, WithChunk {
|
|
76
|
+
/**
|
|
77
|
+
* Checks if the cursor is in the top level nodes of the chunk.
|
|
78
|
+
*
|
|
79
|
+
* @returns true iff cursor is within the root field, including at a node within that field.
|
|
80
|
+
*/
|
|
81
|
+
atChunkRoot(): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Clones the cursor to produce a new independent cursor.
|
|
84
|
+
* Does not add any counted references to any chunks.
|
|
85
|
+
*/
|
|
86
|
+
fork(): ChunkedCursor;
|
|
87
|
+
}
|
|
88
|
+
export {};
|
|
89
|
+
//# sourceMappingURL=chunk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/chunked-forest/chunk.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAEN,WAAW,EACX,sBAAsB,EACtB,QAAQ,EAER,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;GAIG;AACH,MAAM,WAAW,SAAU,SAAQ,gBAAgB;IAClD;;;;OAIG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC;;;;;;;;;;OAUG;IACH,MAAM,IAAI,aAAa,CAAC;CACxB;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,QAAuB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,OAAO,MAA8B,CAAC;AAEhE;;GAEG;AACH,UAAU,SAAS;IAClB;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,SAAS,CAAC;CACnC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,CAMtE;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAc,SAAQ,sBAAsB,EAAE,SAAS;IACvE;;;;OAIG;IACH,WAAW,IAAI,OAAO,CAAC;IAEvB;;;OAGG;IACH,IAAI,IAAI,aAAa,CAAC;CACtB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
import { assert } from "@fluidframework/core-utils";
|
|
6
|
+
import { rootFieldKey, } from "../../core";
|
|
7
|
+
/**
|
|
8
|
+
* The key used for the field that contains the root of chunks when not parented anywhere.
|
|
9
|
+
*
|
|
10
|
+
* For now this is using the document root key to ease testing/compatibility, but this may change.
|
|
11
|
+
*/
|
|
12
|
+
export const dummyRoot = rootFieldKey;
|
|
13
|
+
/**
|
|
14
|
+
* A symbol for extracting a TreeChunk from {@link ITreeCursor}.
|
|
15
|
+
*/
|
|
16
|
+
export const cursorChunk = Symbol("cursorChunk");
|
|
17
|
+
/**
|
|
18
|
+
* See {@link WithChunk}.
|
|
19
|
+
*/
|
|
20
|
+
export function tryGetChunk(cursor) {
|
|
21
|
+
assert(cursor.mode === 0 /* CursorLocationType.Nodes */, 0x57b /* cursorChunk only accessible in nodes mode */);
|
|
22
|
+
return cursor[cursorChunk];
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk.js","sourceRoot":"","sources":["../../../src/feature-libraries/chunked-forest/chunk.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAKN,YAAY,GACZ,MAAM,YAAY,CAAC;AA8BpB;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAa,YAAY,CAAC;AAEhD;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAkB,MAAM,CAAC,aAAa,CAAC,CAAC;AA2BhE;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,MAAmB;IAC9C,MAAM,CACL,MAAM,CAAC,IAAI,qCAA6B,EACxC,KAAK,CAAC,+CAA+C,CACrD,CAAC;IACF,OAAQ,MAAoB,CAAC,WAAW,CAAC,CAAC;AAC3C,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { assert } from \"@fluidframework/core-utils\";\nimport {\n\tCursorLocationType,\n\tITreeCursor,\n\tITreeCursorSynchronous,\n\tFieldKey,\n\trootFieldKey,\n} from \"../../core\";\nimport { ReferenceCounted } from \"../../util\";\n\n/**\n * Contiguous part of the tree which get stored together in some data format.\n * Copy-on-write, but optimized to be mutated in place when a chunk only has a single user (detected using reference counting).\n * This allows for efficient cloning without major performance overheads for non-cloning scenarios.\n */\nexport interface TreeChunk extends ReferenceCounted {\n\t/**\n\t * The number of nodes at the top level of this chunk.\n\t *\n\t * If this chunk is included in a field, this is the amount this chunk contributes to the length of the field.\n\t */\n\treadonly topLevelLength: number;\n\n\t/**\n\t * Creates a cursor for navigating the content of this chunk.\n\t *\n\t * Starts in \"fields\" mode in a `dummyRoot` field containing the top level nodes.\n\t *\n\t * This cursor does not own a reference to the data:\n\t * it is up to the caller of this function to ensure the cursor is not used after they release their owning ref to this chunk.\n\t *\n\t * TODO: consider starting this in \"fields\" mode above the top level\n\t * which would compose better with utilities for processing sequences of nodes.\n\t */\n\tcursor(): ChunkedCursor;\n}\n\n/**\n * The key used for the field that contains the root of chunks when not parented anywhere.\n *\n * For now this is using the document root key to ease testing/compatibility, but this may change.\n */\nexport const dummyRoot: FieldKey = rootFieldKey;\n\n/**\n * A symbol for extracting a TreeChunk from {@link ITreeCursor}.\n */\nexport const cursorChunk: unique symbol = Symbol(\"cursorChunk\");\n\n/**\n * Cursors can optionally implement this interface, allowing querying them for the chunk they are traversing.\n */\ninterface WithChunk {\n\t/**\n\t * When in nodes mode, if a value is returned, it is a TreeChunk who's top level nodes are the\n\t * chunkLength nodes starting from chunkStart.\n\t *\n\t *\n\t * @remarks\n\t * Note that there may be other tree representations with different chunk APIs and thus different ways to query them.\n\t * The chunkStart and chunkLength values thus to not uniquely apply to the chunks accessed through this field.\n\t *\n\t * TODO:\n\t * This API (including the chunk start and end on ITreeCUrsor) have some issues:\n\t * 1. There are cases where multiple possible chunks could be considered.\n\t * For example, when in a SequenceChunk, it could be returned, or the chunk within it could be.\n\t * 2. When in a location other than the root of a chunk,\n\t * it can't provide information about the containing chunk other than by allocating a new chunk that just represents that field.\n\t *\n\t * As more optimizations get implemented, this API may need to change to better address these issues.\n\t */\n\treadonly [cursorChunk]?: TreeChunk;\n}\n\n/**\n * See {@link WithChunk}.\n */\nexport function tryGetChunk(cursor: ITreeCursor): undefined | TreeChunk {\n\tassert(\n\t\tcursor.mode === CursorLocationType.Nodes,\n\t\t0x57b /* cursorChunk only accessible in nodes mode */,\n\t);\n\treturn (cursor as WithChunk)[cursorChunk];\n}\n\n/**\n * Cursor for a chunk which can be wrapped by another cursor.\n *\n * @remarks See `BasicChunkCursor` which uses this.\n */\nexport interface ChunkedCursor extends ITreeCursorSynchronous, WithChunk {\n\t/**\n\t * Checks if the cursor is in the top level nodes of the chunk.\n\t *\n\t * @returns true iff cursor is within the root field, including at a node within that field.\n\t */\n\tatChunkRoot(): boolean;\n\n\t/**\n\t * Clones the cursor to produce a new independent cursor.\n\t * Does not add any counted references to any chunks.\n\t */\n\tfork(): ChunkedCursor;\n}\n"]}
|