@fluidframework/tree 2.0.0-rc.2.0.2 → 2.0.0-rc.3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.cjs +2 -0
- package/CHANGELOG.md +74 -0
- package/api-extractor.json +2 -3
- package/api-report/tree.api.md +208 -154
- package/beta.d.ts +11 -0
- package/dist/beta.d.ts +90 -0
- package/dist/codec/codec.d.ts +10 -4
- package/dist/codec/codec.d.ts.map +1 -1
- package/dist/codec/codec.js +2 -2
- package/dist/codec/codec.js.map +1 -1
- package/dist/codec/discriminatedUnions.d.ts.map +1 -1
- package/dist/codec/discriminatedUnions.js +6 -2
- package/dist/codec/discriminatedUnions.js.map +1 -1
- package/dist/codec/index.d.ts +2 -2
- package/dist/codec/index.d.ts.map +1 -1
- package/dist/codec/index.js +3 -2
- package/dist/codec/index.js.map +1 -1
- package/dist/codec/noopValidator.d.ts.map +1 -1
- package/dist/codec/noopValidator.js.map +1 -1
- package/dist/codec/versioned/codec.d.ts +10 -2
- package/dist/codec/versioned/codec.d.ts.map +1 -1
- package/dist/codec/versioned/codec.js +28 -6
- package/dist/codec/versioned/codec.js.map +1 -1
- package/dist/codec/versioned/index.d.ts +1 -1
- package/dist/codec/versioned/index.d.ts.map +1 -1
- package/dist/codec/versioned/index.js +2 -1
- package/dist/codec/versioned/index.js.map +1 -1
- package/dist/core/change-family/changeFamily.d.ts +2 -2
- package/dist/core/change-family/changeFamily.d.ts.map +1 -1
- package/dist/core/change-family/changeFamily.js.map +1 -1
- package/dist/core/forest/editableForest.d.ts +1 -1
- package/dist/core/forest/editableForest.d.ts.map +1 -1
- package/dist/core/forest/editableForest.js +2 -2
- package/dist/core/forest/editableForest.js.map +1 -1
- package/dist/core/forest/forest.d.ts +5 -1
- package/dist/core/forest/forest.d.ts.map +1 -1
- package/dist/core/forest/forest.js +2 -2
- package/dist/core/forest/forest.js.map +1 -1
- package/dist/core/index.d.ts +3 -3
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +6 -3
- package/dist/core/index.js.map +1 -1
- package/dist/core/rebase/changeRebaser.d.ts.map +1 -1
- package/dist/core/rebase/changeRebaser.js.map +1 -1
- package/dist/core/rebase/index.d.ts +1 -1
- package/dist/core/rebase/index.d.ts.map +1 -1
- package/dist/core/rebase/index.js +4 -1
- package/dist/core/rebase/index.js.map +1 -1
- package/dist/core/rebase/revisionTagCodec.d.ts.map +1 -1
- package/dist/core/rebase/revisionTagCodec.js +2 -2
- package/dist/core/rebase/revisionTagCodec.js.map +1 -1
- package/dist/core/rebase/types.d.ts +30 -0
- package/dist/core/rebase/types.d.ts.map +1 -1
- package/dist/core/rebase/types.js +26 -1
- package/dist/core/rebase/types.js.map +1 -1
- package/dist/core/rebase/utils.d.ts.map +1 -1
- package/dist/core/rebase/utils.js +11 -10
- package/dist/core/rebase/utils.js.map +1 -1
- package/dist/core/revertible/index.d.ts +1 -1
- package/dist/core/revertible/index.d.ts.map +1 -1
- package/dist/core/revertible/index.js +1 -3
- package/dist/core/revertible/index.js.map +1 -1
- package/dist/core/revertible/revertible.d.ts +15 -49
- package/dist/core/revertible/revertible.d.ts.map +1 -1
- package/dist/core/revertible/revertible.js +3 -33
- package/dist/core/revertible/revertible.js.map +1 -1
- package/dist/core/schema-stored/format.d.ts.map +1 -1
- package/dist/core/schema-stored/format.js.map +1 -1
- package/dist/core/schema-stored/index.d.ts +2 -1
- package/dist/core/schema-stored/index.d.ts.map +1 -1
- package/dist/core/schema-stored/index.js +4 -1
- package/dist/core/schema-stored/index.js.map +1 -1
- package/dist/core/schema-stored/multiplicity.d.ts.map +1 -0
- package/dist/{feature-libraries → core/schema-stored}/multiplicity.js +2 -2
- package/{lib/feature-libraries → dist/core/schema-stored}/multiplicity.js.map +1 -1
- package/dist/core/schema-stored/schema.d.ts +32 -9
- package/dist/core/schema-stored/schema.d.ts.map +1 -1
- package/dist/core/schema-stored/schema.js +14 -7
- package/dist/core/schema-stored/schema.js.map +1 -1
- package/dist/core/schema-stored/storedSchemaRepository.d.ts +1 -1
- package/dist/core/schema-stored/storedSchemaRepository.d.ts.map +1 -1
- package/dist/core/schema-stored/storedSchemaRepository.js.map +1 -1
- package/dist/core/tree/anchorSet.d.ts +31 -16
- package/dist/core/tree/anchorSet.d.ts.map +1 -1
- package/dist/core/tree/anchorSet.js +37 -62
- package/dist/core/tree/anchorSet.js.map +1 -1
- package/dist/core/tree/cursor.d.ts.map +1 -1
- package/dist/core/tree/cursor.js +4 -4
- package/dist/core/tree/cursor.js.map +1 -1
- package/dist/core/tree/delta.d.ts.map +1 -1
- package/dist/core/tree/delta.js.map +1 -1
- package/dist/core/tree/deltaUtil.d.ts +1 -1
- package/dist/core/tree/deltaUtil.d.ts.map +1 -1
- package/dist/core/tree/deltaUtil.js.map +1 -1
- package/dist/core/tree/detachedFieldIndex.d.ts +2 -2
- package/dist/core/tree/detachedFieldIndex.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndex.js +15 -15
- package/dist/core/tree/detachedFieldIndex.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodec.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexCodec.js +4 -4
- package/dist/core/tree/detachedFieldIndexCodec.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexFormat.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexFormat.js.map +1 -1
- package/dist/core/tree/detachedFieldIndexTypes.d.ts.map +1 -1
- package/dist/core/tree/detachedFieldIndexTypes.js.map +1 -1
- package/dist/core/tree/mapTree.d.ts.map +1 -1
- package/dist/core/tree/mapTree.js.map +1 -1
- package/dist/core/tree/pathTree.d.ts.map +1 -1
- package/dist/core/tree/pathTree.js.map +1 -1
- package/dist/core/tree/persistedTreeTextFormat.d.ts.map +1 -1
- package/dist/core/tree/persistedTreeTextFormat.js.map +1 -1
- package/dist/core/tree/sparseTree.d.ts.map +1 -1
- package/dist/core/tree/sparseTree.js +5 -5
- package/dist/core/tree/sparseTree.js.map +1 -1
- package/dist/core/tree/treeTextFormat.d.ts.map +1 -1
- package/dist/core/tree/treeTextFormat.js.map +1 -1
- package/dist/core/tree/types.d.ts +1 -1
- package/dist/core/tree/types.d.ts.map +1 -1
- package/dist/core/tree/types.js +7 -7
- package/dist/core/tree/types.js.map +1 -1
- package/dist/core/tree/visitDelta.d.ts +13 -2
- package/dist/core/tree/visitDelta.d.ts.map +1 -1
- package/dist/core/tree/visitDelta.js +47 -18
- package/dist/core/tree/visitDelta.js.map +1 -1
- package/dist/core/tree/visitPath.d.ts +1 -1
- package/dist/core/tree/visitPath.d.ts.map +1 -1
- package/dist/core/tree/visitPath.js +4 -0
- package/dist/core/tree/visitPath.js.map +1 -1
- package/dist/core/tree/visitorUtils.d.ts +4 -4
- package/dist/core/tree/visitorUtils.d.ts.map +1 -1
- package/dist/core/tree/visitorUtils.js +2 -2
- package/dist/core/tree/visitorUtils.js.map +1 -1
- package/dist/domains/json/jsonCursor.d.ts.map +1 -1
- package/dist/domains/json/jsonCursor.js +7 -7
- package/dist/domains/json/jsonCursor.js.map +1 -1
- package/dist/domains/json/jsonDomainSchema.d.ts.map +1 -1
- package/dist/domains/json/jsonDomainSchema.js.map +1 -1
- package/dist/domains/leafDomain.d.ts.map +1 -1
- package/dist/domains/leafDomain.js +8 -8
- package/dist/domains/leafDomain.js.map +1 -1
- package/dist/domains/nodeKey/nodeKeySchema.d.ts.map +1 -1
- package/dist/domains/nodeKey/nodeKeySchema.js +2 -2
- package/dist/domains/nodeKey/nodeKeySchema.js.map +1 -1
- package/dist/domains/schemaBuilder.d.ts +19 -81
- package/dist/domains/schemaBuilder.d.ts.map +1 -1
- package/dist/domains/schemaBuilder.js +24 -93
- package/dist/domains/schemaBuilder.js.map +1 -1
- package/dist/domains/testRecursiveDomain.d.ts +0 -4
- package/dist/domains/testRecursiveDomain.d.ts.map +1 -1
- package/dist/domains/testRecursiveDomain.js +1 -8
- package/dist/domains/testRecursiveDomain.js.map +1 -1
- package/dist/events/events.d.ts.map +1 -1
- package/dist/events/events.js +2 -2
- package/dist/events/events.js.map +1 -1
- package/dist/external-utilities/typeboxValidator.d.ts.map +1 -1
- package/dist/external-utilities/typeboxValidator.js.map +1 -1
- package/dist/feature-libraries/changeAtomIdCodec.d.ts +1 -1
- package/dist/feature-libraries/changeAtomIdCodec.d.ts.map +1 -1
- package/dist/feature-libraries/changeAtomIdCodec.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/basicChunk.d.ts +3 -3
- package/dist/feature-libraries/chunked-forest/basicChunk.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/basicChunk.js +29 -29
- package/dist/feature-libraries/chunked-forest/basicChunk.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunk.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/chunk.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunk.js +2 -2
- package/dist/feature-libraries/chunked-forest/chunk.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkTree.d.ts +2 -2
- package/dist/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkTree.js +13 -14
- package/dist/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkedForest.d.ts +2 -2
- package/dist/feature-libraries/chunked-forest/chunkedForest.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/chunkedForest.js +25 -24
- package/dist/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkCodecUtilities.d.ts +2 -2
- package/dist/feature-libraries/chunked-forest/codec/chunkCodecUtilities.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkCodecUtilities.js +4 -4
- package/dist/feature-libraries/chunked-forest/codec/chunkCodecUtilities.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js +13 -13
- package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts +2 -2
- package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.js +3 -3
- package/dist/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts +4 -9
- package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/codecs.js +6 -5
- package/dist/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts +3 -3
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js +8 -8
- package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/format.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/codec/format.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/format.js +1 -2
- package/dist/feature-libraries/chunked-forest/codec/format.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/formatGeneric.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/codec/index.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/index.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/nodeShape.d.ts +2 -2
- package/dist/feature-libraries/chunked-forest/codec/nodeShape.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/nodeShape.js +3 -3
- package/dist/feature-libraries/chunked-forest/codec/nodeShape.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncoding.d.ts +3 -3
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncoding.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncoding.js +4 -5
- package/dist/feature-libraries/chunked-forest/codec/schemaBasedEncoding.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/codec/uncompressedEncode.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/emptyChunk.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/emptyChunk.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/index.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/index.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/index.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/sequenceChunk.d.ts +1 -1
- package/dist/feature-libraries/chunked-forest/sequenceChunk.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/sequenceChunk.js +1 -1
- package/dist/feature-libraries/chunked-forest/sequenceChunk.js.map +1 -1
- package/dist/feature-libraries/chunked-forest/uniformChunk.d.ts +3 -3
- package/dist/feature-libraries/chunked-forest/uniformChunk.d.ts.map +1 -1
- package/dist/feature-libraries/chunked-forest/uniformChunk.js +21 -21
- package/dist/feature-libraries/chunked-forest/uniformChunk.js.map +1 -1
- package/dist/feature-libraries/contextuallyTyped.d.ts +5 -9
- package/dist/feature-libraries/contextuallyTyped.d.ts.map +1 -1
- package/dist/feature-libraries/contextuallyTyped.js +33 -48
- package/dist/feature-libraries/contextuallyTyped.js.map +1 -1
- package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts +3 -5
- package/dist/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/defaultEditBuilder.js +7 -7
- package/dist/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts +18 -4
- package/dist/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/defaultFieldKinds.js +59 -24
- package/dist/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
- package/dist/feature-libraries/default-schema/defaultSchema.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/defaultSchema.js.map +1 -1
- package/dist/feature-libraries/default-schema/index.d.ts +1 -1
- package/dist/feature-libraries/default-schema/index.d.ts.map +1 -1
- package/dist/feature-libraries/default-schema/index.js +2 -1
- package/dist/feature-libraries/default-schema/index.js.map +1 -1
- package/dist/feature-libraries/default-schema/noChangeCodecs.d.ts +8 -0
- package/dist/feature-libraries/default-schema/noChangeCodecs.d.ts.map +1 -0
- package/dist/feature-libraries/default-schema/noChangeCodecs.js +10 -0
- package/dist/feature-libraries/default-schema/noChangeCodecs.js.map +1 -0
- package/dist/feature-libraries/detachedFieldIndexSummarizer.d.ts +1 -1
- package/dist/feature-libraries/detachedFieldIndexSummarizer.d.ts.map +1 -1
- package/dist/feature-libraries/detachedFieldIndexSummarizer.js +2 -2
- package/dist/feature-libraries/detachedFieldIndexSummarizer.js.map +1 -1
- package/dist/feature-libraries/editableTreeBinder.d.ts.map +1 -1
- package/dist/feature-libraries/editableTreeBinder.js +6 -6
- package/dist/feature-libraries/editableTreeBinder.js.map +1 -1
- package/dist/feature-libraries/fieldGenerator.d.ts +1 -1
- package/dist/feature-libraries/fieldGenerator.d.ts.map +1 -1
- package/dist/feature-libraries/fieldGenerator.js.map +1 -1
- package/dist/feature-libraries/flex-tree/context.d.ts +16 -4
- package/dist/feature-libraries/flex-tree/context.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/context.js +27 -15
- package/dist/feature-libraries/flex-tree/context.js.map +1 -1
- package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts +43 -36
- package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/flexTreeTypes.js +9 -6
- package/dist/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
- package/dist/feature-libraries/flex-tree/index.d.ts +3 -3
- package/dist/feature-libraries/flex-tree/index.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/index.js +3 -2
- package/dist/feature-libraries/flex-tree/index.js.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyEntity.d.ts +7 -8
- package/dist/feature-libraries/flex-tree/lazyEntity.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyEntity.js +12 -17
- package/dist/feature-libraries/flex-tree/lazyEntity.js.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyField.d.ts +21 -7
- package/dist/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyField.js +69 -46
- package/dist/feature-libraries/flex-tree/lazyField.js.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyNode.d.ts +12 -9
- package/dist/feature-libraries/flex-tree/lazyNode.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyNode.js +51 -97
- package/dist/feature-libraries/flex-tree/lazyNode.js.map +1 -1
- package/dist/feature-libraries/flex-tree/nodeKeys.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/nodeKeys.js.map +1 -1
- package/dist/feature-libraries/flex-tree/treeEvents.d.ts +7 -70
- package/dist/feature-libraries/flex-tree/treeEvents.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/treeEvents.js.map +1 -1
- package/dist/feature-libraries/flex-tree/unboxed.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/unboxed.js +1 -1
- package/dist/feature-libraries/flex-tree/unboxed.js.map +1 -1
- package/dist/feature-libraries/flex-tree/utilities.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/utilities.js.map +1 -1
- package/dist/feature-libraries/forest-summary/codec.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/codec.js +2 -2
- package/dist/feature-libraries/forest-summary/codec.js.map +1 -1
- package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts +3 -3
- package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/forestSummarizer.js +14 -14
- package/dist/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
- package/dist/feature-libraries/forest-summary/format.d.ts.map +1 -1
- package/dist/feature-libraries/forest-summary/format.js +4 -4
- package/dist/feature-libraries/forest-summary/format.js.map +1 -1
- package/dist/feature-libraries/index.d.ts +8 -9
- package/dist/feature-libraries/index.d.ts.map +1 -1
- package/dist/feature-libraries/index.js +9 -9
- package/dist/feature-libraries/index.js.map +1 -1
- package/dist/feature-libraries/mapTreeCursor.d.ts +1 -1
- package/dist/feature-libraries/mapTreeCursor.d.ts.map +1 -1
- package/dist/feature-libraries/mapTreeCursor.js +2 -2
- package/dist/feature-libraries/mapTreeCursor.js.map +1 -1
- package/dist/feature-libraries/memoizedIdRangeAllocator.js.map +1 -1
- package/dist/feature-libraries/modular-schema/comparison.d.ts +1 -1
- package/dist/feature-libraries/modular-schema/comparison.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/comparison.js +20 -20
- package/dist/feature-libraries/modular-schema/comparison.js.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts +19 -13
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldKind.d.ts +3 -4
- package/dist/feature-libraries/modular-schema/fieldKind.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldKind.js.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldKindConfiguration.d.ts +21 -0
- package/dist/feature-libraries/modular-schema/fieldKindConfiguration.d.ts.map +1 -0
- package/dist/feature-libraries/modular-schema/fieldKindConfiguration.js +7 -0
- package/dist/feature-libraries/modular-schema/fieldKindConfiguration.js.map +1 -0
- package/dist/feature-libraries/modular-schema/fieldKindWithEditor.d.ts +1 -2
- package/dist/feature-libraries/modular-schema/fieldKindWithEditor.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/fieldKindWithEditor.js +4 -4
- package/dist/feature-libraries/modular-schema/fieldKindWithEditor.js.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKind.js +3 -7
- package/dist/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.d.ts +3 -5
- package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.js +7 -7
- package/dist/feature-libraries/modular-schema/genericFieldKindCodecs.js.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKindFormat.d.ts +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKindFormat.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKindFormat.js +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKindFormat.js.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKindTypes.d.ts +4 -4
- package/dist/feature-libraries/modular-schema/genericFieldKindTypes.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/genericFieldKindTypes.js.map +1 -1
- package/dist/feature-libraries/modular-schema/index.d.ts +5 -4
- package/dist/feature-libraries/modular-schema/index.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/index.js +3 -2
- package/dist/feature-libraries/modular-schema/index.js.map +1 -1
- package/dist/feature-libraries/modular-schema/isNeverTree.d.ts +1 -1
- package/dist/feature-libraries/modular-schema/isNeverTree.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/isNeverTree.js +10 -11
- package/dist/feature-libraries/modular-schema/isNeverTree.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts +4 -5
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.js +73 -37
- package/dist/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts +13 -25
- package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js +261 -169
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFormat.d.ts +5 -12
- package/dist/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFormat.js +0 -10
- package/dist/feature-libraries/modular-schema/modularChangeFormat.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts +6 -4
- package/dist/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -1
- package/dist/feature-libraries/node-key/nodeKey.d.ts +1 -1
- package/dist/feature-libraries/node-key/nodeKey.d.ts.map +1 -1
- package/dist/feature-libraries/node-key/nodeKey.js.map +1 -1
- package/dist/feature-libraries/node-key/nodeKeyIndex.d.ts +2 -2
- package/dist/feature-libraries/node-key/nodeKeyIndex.d.ts.map +1 -1
- package/dist/feature-libraries/node-key/nodeKeyIndex.js +3 -3
- package/dist/feature-libraries/node-key/nodeKeyIndex.js.map +1 -1
- package/dist/feature-libraries/node-key/nodeKeyManager.d.ts +2 -2
- package/dist/feature-libraries/node-key/nodeKeyManager.d.ts.map +1 -1
- package/dist/feature-libraries/node-key/nodeKeyManager.js +9 -9
- package/dist/feature-libraries/node-key/nodeKeyManager.js.map +1 -1
- package/dist/feature-libraries/object-forest/objectForest.d.ts +1 -1
- package/dist/feature-libraries/object-forest/objectForest.d.ts.map +1 -1
- package/dist/feature-libraries/object-forest/objectForest.js +49 -48
- package/dist/feature-libraries/object-forest/objectForest.js.map +1 -1
- package/dist/feature-libraries/optional-field/index.d.ts +1 -1
- package/dist/feature-libraries/optional-field/index.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/index.js +1 -2
- package/dist/feature-libraries/optional-field/index.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalField.d.ts +3 -5
- package/dist/feature-libraries/optional-field/optionalField.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalField.js +33 -39
- package/dist/feature-libraries/optional-field/optionalField.js.map +1 -1
- package/dist/feature-libraries/optional-field/{optionalFieldChangeFormat.d.ts → optionalFieldChangeFormatV1.d.ts} +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.d.ts.map +1 -0
- package/dist/feature-libraries/optional-field/{optionalFieldChangeFormat.js → optionalFieldChangeFormatV1.js} +11 -2
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV1.js.map +1 -0
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV2.d.ts +25 -0
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV2.d.ts.map +1 -0
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV2.js +44 -0
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormatV2.js.map +1 -0
- package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts +4 -7
- package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldChangeTypes.js.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecV1.d.ts +12 -0
- package/dist/feature-libraries/optional-field/optionalFieldCodecV1.d.ts.map +1 -0
- package/dist/feature-libraries/optional-field/optionalFieldCodecV1.js +158 -0
- package/dist/feature-libraries/optional-field/optionalFieldCodecV1.js.map +1 -0
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.d.ts +12 -0
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.d.ts.map +1 -0
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.js +87 -0
- package/dist/feature-libraries/optional-field/optionalFieldCodecV2.js.map +1 -0
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.d.ts +2 -4
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.js +7 -150
- package/dist/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -1
- package/dist/feature-libraries/schema-aware/schemaAware.d.ts +3 -4
- package/dist/feature-libraries/schema-aware/schemaAware.d.ts.map +1 -1
- package/dist/feature-libraries/schema-aware/schemaAware.js +1 -1
- package/dist/feature-libraries/schema-aware/schemaAware.js.map +1 -1
- package/dist/feature-libraries/schema-edits/index.d.ts +1 -1
- package/dist/feature-libraries/schema-edits/index.d.ts.map +1 -1
- package/dist/feature-libraries/schema-edits/index.js +2 -2
- package/dist/feature-libraries/schema-edits/index.js.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +2 -3
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js +13 -5
- package/dist/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeFormat.d.ts.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeFormat.js.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeTypes.d.ts +5 -0
- package/dist/feature-libraries/schema-edits/schemaChangeTypes.d.ts.map +1 -1
- package/dist/feature-libraries/schema-edits/schemaChangeTypes.js.map +1 -1
- package/dist/feature-libraries/schema-index/codec.d.ts +1 -1
- package/dist/feature-libraries/schema-index/codec.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/codec.js +10 -10
- package/dist/feature-libraries/schema-index/codec.js.map +1 -1
- package/dist/feature-libraries/schema-index/format.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/format.js.map +1 -1
- package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts +2 -2
- package/dist/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -1
- package/dist/feature-libraries/schema-index/schemaSummarizer.js +4 -4
- package/dist/feature-libraries/schema-index/schemaSummarizer.js.map +1 -1
- package/dist/feature-libraries/schemaBuilder.d.ts +1 -1
- package/dist/feature-libraries/schemaBuilder.d.ts.map +1 -1
- package/dist/feature-libraries/schemaBuilder.js +1 -1
- package/dist/feature-libraries/schemaBuilder.js.map +1 -1
- package/dist/feature-libraries/schemaBuilderBase.d.ts +1 -1
- package/dist/feature-libraries/schemaBuilderBase.d.ts.map +1 -1
- package/dist/feature-libraries/schemaBuilderBase.js +19 -19
- package/dist/feature-libraries/schemaBuilderBase.js.map +1 -1
- package/dist/feature-libraries/sequence-field/compose.d.ts +9 -13
- package/dist/feature-libraries/sequence-field/compose.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/compose.js +76 -43
- package/dist/feature-libraries/sequence-field/compose.js.map +1 -1
- package/dist/feature-libraries/sequence-field/format.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/format.js +14 -14
- package/dist/feature-libraries/sequence-field/format.js.map +1 -1
- package/dist/feature-libraries/sequence-field/helperTypes.d.ts +3 -3
- package/dist/feature-libraries/sequence-field/helperTypes.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/helperTypes.js.map +1 -1
- package/dist/feature-libraries/sequence-field/index.d.ts +5 -5
- package/dist/feature-libraries/sequence-field/index.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/index.js.map +1 -1
- package/dist/feature-libraries/sequence-field/invert.d.ts +1 -2
- package/dist/feature-libraries/sequence-field/invert.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/invert.js +30 -39
- package/dist/feature-libraries/sequence-field/invert.js.map +1 -1
- package/dist/feature-libraries/sequence-field/markListFactory.d.ts +4 -4
- package/dist/feature-libraries/sequence-field/markListFactory.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/markListFactory.js.map +1 -1
- package/dist/feature-libraries/sequence-field/markQueue.d.ts +7 -7
- package/dist/feature-libraries/sequence-field/markQueue.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/markQueue.js +2 -2
- package/dist/feature-libraries/sequence-field/markQueue.js.map +1 -1
- package/dist/feature-libraries/sequence-field/moveEffectTable.d.ts +25 -14
- package/dist/feature-libraries/sequence-field/moveEffectTable.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/moveEffectTable.js +20 -11
- package/dist/feature-libraries/sequence-field/moveEffectTable.js.map +1 -1
- package/dist/feature-libraries/sequence-field/prune.d.ts +2 -2
- package/dist/feature-libraries/sequence-field/prune.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/prune.js.map +1 -1
- package/dist/feature-libraries/sequence-field/rebase.d.ts +3 -4
- package/dist/feature-libraries/sequence-field/rebase.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/rebase.js +34 -40
- package/dist/feature-libraries/sequence-field/rebase.js.map +1 -1
- package/dist/feature-libraries/sequence-field/relevantRemovedRoots.d.ts +2 -2
- package/dist/feature-libraries/sequence-field/relevantRemovedRoots.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/relevantRemovedRoots.js +2 -2
- package/dist/feature-libraries/sequence-field/relevantRemovedRoots.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.d.ts +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.js +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeHandler.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeRebaser.d.ts +2 -2
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeRebaser.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeRebaser.js +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldChangeRebaser.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts +2 -3
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.js +17 -19
- package/dist/feature-libraries/sequence-field/sequenceFieldCodecs.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.d.ts +17 -17
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.js +2 -2
- package/dist/feature-libraries/sequence-field/sequenceFieldEditor.js.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts +3 -3
- package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.js +10 -10
- package/dist/feature-libraries/sequence-field/sequenceFieldToDelta.js.map +1 -1
- package/dist/feature-libraries/sequence-field/types.d.ts +7 -8
- package/dist/feature-libraries/sequence-field/types.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/types.js.map +1 -1
- package/dist/feature-libraries/sequence-field/utils.d.ts +42 -35
- package/dist/feature-libraries/sequence-field/utils.d.ts.map +1 -1
- package/dist/feature-libraries/sequence-field/utils.js +43 -21
- package/dist/feature-libraries/sequence-field/utils.js.map +1 -1
- package/dist/feature-libraries/storedToViewSchema.d.ts +2 -2
- package/dist/feature-libraries/storedToViewSchema.d.ts.map +1 -1
- package/dist/feature-libraries/storedToViewSchema.js +3 -3
- package/dist/feature-libraries/storedToViewSchema.js.map +1 -1
- package/dist/feature-libraries/treeCursorUtils.d.ts +1 -1
- package/dist/feature-libraries/treeCursorUtils.d.ts.map +1 -1
- package/dist/feature-libraries/treeCursorUtils.js +8 -8
- package/dist/feature-libraries/treeCursorUtils.js.map +1 -1
- package/dist/feature-libraries/treeTextCursor.d.ts +1 -1
- package/dist/feature-libraries/treeTextCursor.d.ts.map +1 -1
- package/dist/feature-libraries/treeTextCursor.js +3 -3
- package/dist/feature-libraries/treeTextCursor.js.map +1 -1
- package/dist/feature-libraries/typed-schema/flexList.d.ts +1 -2
- package/dist/feature-libraries/typed-schema/flexList.d.ts.map +1 -1
- package/dist/feature-libraries/typed-schema/flexList.js.map +1 -1
- package/dist/feature-libraries/typed-schema/index.d.ts +0 -1
- package/dist/feature-libraries/typed-schema/index.d.ts.map +1 -1
- package/dist/feature-libraries/typed-schema/index.js.map +1 -1
- package/dist/feature-libraries/typed-schema/schemaCollection.d.ts.map +1 -1
- package/dist/feature-libraries/typed-schema/schemaCollection.js +14 -14
- package/dist/feature-libraries/typed-schema/schemaCollection.js.map +1 -1
- package/dist/feature-libraries/typed-schema/typeUtils.d.ts +0 -5
- package/dist/feature-libraries/typed-schema/typeUtils.d.ts.map +1 -1
- package/dist/feature-libraries/typed-schema/typeUtils.js.map +1 -1
- package/dist/feature-libraries/typed-schema/typedTreeSchema.d.ts +5 -4
- package/dist/feature-libraries/typed-schema/typedTreeSchema.d.ts.map +1 -1
- package/dist/feature-libraries/typed-schema/typedTreeSchema.js +19 -11
- package/dist/feature-libraries/typed-schema/typedTreeSchema.js.map +1 -1
- package/dist/feature-libraries/typed-schema/view.d.ts +1 -1
- package/dist/feature-libraries/typed-schema/view.d.ts.map +1 -1
- package/dist/feature-libraries/typed-schema/view.js +10 -10
- package/dist/feature-libraries/typed-schema/view.js.map +1 -1
- package/dist/feature-libraries/valueUtilities.d.ts +6 -3
- package/dist/feature-libraries/valueUtilities.d.ts.map +1 -1
- package/dist/feature-libraries/valueUtilities.js +11 -10
- package/dist/feature-libraries/valueUtilities.js.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -9
- package/dist/index.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/public.d.ts +90 -0
- package/dist/shared-tree/index.d.ts +3 -3
- package/dist/shared-tree/index.d.ts.map +1 -1
- package/dist/shared-tree/index.js +2 -1
- package/dist/shared-tree/index.js.map +1 -1
- package/dist/shared-tree/schematizeTree.d.ts +1 -1
- package/dist/shared-tree/schematizeTree.d.ts.map +1 -1
- package/dist/shared-tree/schematizeTree.js +11 -11
- package/dist/shared-tree/schematizeTree.js.map +1 -1
- package/dist/shared-tree/schematizingTreeView.d.ts +10 -3
- package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/dist/shared-tree/schematizingTreeView.js +39 -39
- package/dist/shared-tree/schematizingTreeView.js.map +1 -1
- package/dist/shared-tree/sharedTree.d.ts +58 -8
- package/dist/shared-tree/sharedTree.d.ts.map +1 -1
- package/dist/shared-tree/sharedTree.js +45 -12
- package/dist/shared-tree/sharedTree.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.d.ts +3 -5
- package/dist/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeCodecs.js +18 -11
- package/dist/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts +1 -0
- package/dist/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFamily.js +9 -6
- package/dist/shared-tree/sharedTreeChangeFamily.js.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFormat.d.ts +4 -188
- package/dist/shared-tree/sharedTreeChangeFormat.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeChangeFormat.js +3 -3
- package/dist/shared-tree/sharedTreeChangeFormat.js.map +1 -1
- package/dist/shared-tree/sharedTreeEditBuilder.d.ts.map +1 -1
- package/dist/shared-tree/sharedTreeEditBuilder.js +4 -1
- package/dist/shared-tree/sharedTreeEditBuilder.js.map +1 -1
- package/dist/shared-tree/treeApi.d.ts +83 -2
- package/dist/shared-tree/treeApi.d.ts.map +1 -1
- package/dist/shared-tree/treeApi.js +37 -14
- package/dist/shared-tree/treeApi.js.map +1 -1
- package/dist/shared-tree/treeCheckout.d.ts +41 -20
- package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
- package/dist/shared-tree/treeCheckout.js +135 -61
- package/dist/shared-tree/treeCheckout.js.map +1 -1
- package/dist/shared-tree/treeView.d.ts +3 -3
- package/dist/shared-tree/treeView.d.ts.map +1 -1
- package/dist/shared-tree/treeView.js.map +1 -1
- package/dist/shared-tree-core/branch.d.ts +5 -32
- package/dist/shared-tree-core/branch.d.ts.map +1 -1
- package/dist/shared-tree-core/branch.js +12 -142
- package/dist/shared-tree-core/branch.js.map +1 -1
- package/dist/shared-tree-core/editManager.d.ts +2 -15
- package/dist/shared-tree-core/editManager.d.ts.map +1 -1
- package/dist/shared-tree-core/editManager.js +38 -82
- package/dist/shared-tree-core/editManager.js.map +1 -1
- package/dist/shared-tree-core/editManagerCodecs.d.ts +4 -4
- package/dist/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerCodecs.js +24 -10
- package/dist/shared-tree-core/editManagerCodecs.js.map +1 -1
- package/dist/shared-tree-core/editManagerFormat.d.ts +4 -5
- package/dist/shared-tree-core/editManagerFormat.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerFormat.js +9 -10
- package/dist/shared-tree-core/editManagerFormat.js.map +1 -1
- package/dist/shared-tree-core/editManagerSummarizer.d.ts +7 -6
- package/dist/shared-tree-core/editManagerSummarizer.d.ts.map +1 -1
- package/dist/shared-tree-core/editManagerSummarizer.js +6 -9
- package/dist/shared-tree-core/editManagerSummarizer.js.map +1 -1
- package/dist/shared-tree-core/index.d.ts +1 -1
- package/dist/shared-tree-core/index.d.ts.map +1 -1
- package/dist/shared-tree-core/index.js +2 -2
- package/dist/shared-tree-core/index.js.map +1 -1
- package/dist/shared-tree-core/messageCodecs.d.ts +7 -4
- package/dist/shared-tree-core/messageCodecs.d.ts.map +1 -1
- package/dist/shared-tree-core/messageCodecs.js +21 -4
- package/dist/shared-tree-core/messageCodecs.js.map +1 -1
- package/dist/shared-tree-core/messageFormat.d.ts +10 -2
- package/dist/shared-tree-core/messageFormat.d.ts.map +1 -1
- package/dist/shared-tree-core/messageFormat.js +1 -0
- package/dist/shared-tree-core/messageFormat.js.map +1 -1
- package/dist/shared-tree-core/messageTypes.d.ts.map +1 -1
- package/dist/shared-tree-core/messageTypes.js.map +1 -1
- package/dist/shared-tree-core/sequenceIdUtils.d.ts.map +1 -1
- package/dist/shared-tree-core/sequenceIdUtils.js.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.d.ts +10 -5
- package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/dist/shared-tree-core/sharedTreeCore.js +18 -18
- package/dist/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/dist/simple-tree/arrayNode.d.ts +187 -0
- package/dist/simple-tree/arrayNode.d.ts.map +1 -0
- package/dist/simple-tree/arrayNode.js +438 -0
- package/dist/simple-tree/arrayNode.js.map +1 -0
- package/dist/simple-tree/index.d.ts +10 -8
- package/dist/simple-tree/index.d.ts.map +1 -1
- package/dist/simple-tree/index.js +9 -8
- package/dist/simple-tree/index.js.map +1 -1
- package/dist/simple-tree/leafNodeSchema.d.ts +11 -0
- package/dist/simple-tree/leafNodeSchema.d.ts.map +1 -0
- package/dist/simple-tree/leafNodeSchema.js +51 -0
- package/dist/simple-tree/leafNodeSchema.js.map +1 -0
- package/dist/simple-tree/mapNode.d.ts +86 -0
- package/dist/simple-tree/mapNode.d.ts.map +1 -0
- package/dist/simple-tree/mapNode.js +204 -0
- package/dist/simple-tree/mapNode.js.map +1 -0
- package/dist/simple-tree/objectNode.d.ts +62 -0
- package/dist/simple-tree/objectNode.d.ts.map +1 -0
- package/dist/simple-tree/objectNode.js +242 -0
- package/dist/simple-tree/objectNode.js.map +1 -0
- package/dist/simple-tree/proxies.d.ts +21 -62
- package/dist/simple-tree/proxies.d.ts.map +1 -1
- package/dist/simple-tree/proxies.js +128 -679
- package/dist/simple-tree/proxies.js.map +1 -1
- package/dist/simple-tree/proxyBinding.d.ts +48 -0
- package/dist/simple-tree/proxyBinding.d.ts.map +1 -0
- package/dist/simple-tree/proxyBinding.js +132 -0
- package/dist/simple-tree/proxyBinding.js.map +1 -0
- package/dist/simple-tree/rawNode.d.ts +9 -50
- package/dist/simple-tree/rawNode.d.ts.map +1 -1
- package/dist/simple-tree/rawNode.js +15 -91
- package/dist/simple-tree/rawNode.js.map +1 -1
- package/dist/simple-tree/schemaCaching.d.ts +26 -0
- package/dist/simple-tree/schemaCaching.d.ts.map +1 -0
- package/dist/simple-tree/schemaCaching.js +69 -0
- package/dist/simple-tree/schemaCaching.js.map +1 -0
- package/dist/simple-tree/schemaCreationUtilities.d.ts +2 -1
- package/dist/simple-tree/schemaCreationUtilities.d.ts.map +1 -1
- package/dist/simple-tree/schemaCreationUtilities.js +3 -3
- package/dist/simple-tree/schemaCreationUtilities.js.map +1 -1
- package/dist/simple-tree/schemaFactory.d.ts +92 -43
- package/dist/simple-tree/schemaFactory.d.ts.map +1 -1
- package/dist/simple-tree/schemaFactory.js +124 -177
- package/dist/simple-tree/schemaFactory.js.map +1 -1
- package/dist/simple-tree/schemaFactoryRecursive.d.ts +27 -83
- package/dist/simple-tree/schemaFactoryRecursive.d.ts.map +1 -1
- package/dist/simple-tree/schemaFactoryRecursive.js +1 -115
- package/dist/simple-tree/schemaFactoryRecursive.js.map +1 -1
- package/dist/simple-tree/schemaTypes.d.ts +123 -70
- package/dist/simple-tree/schemaTypes.d.ts.map +1 -1
- package/dist/simple-tree/schemaTypes.js +86 -5
- package/dist/simple-tree/schemaTypes.js.map +1 -1
- package/dist/simple-tree/testRecursiveDomain.d.ts +8 -8
- package/dist/simple-tree/testRecursiveDomain.d.ts.map +1 -1
- package/dist/simple-tree/testRecursiveDomain.js +2 -2
- package/dist/simple-tree/testRecursiveDomain.js.map +1 -1
- package/dist/simple-tree/toFlexSchema.d.ts +8 -20
- package/dist/simple-tree/toFlexSchema.d.ts.map +1 -1
- package/dist/simple-tree/toFlexSchema.js +33 -41
- package/dist/simple-tree/toFlexSchema.js.map +1 -1
- package/dist/simple-tree/toMapTree.d.ts +12 -22
- package/dist/simple-tree/toMapTree.d.ts.map +1 -1
- package/dist/simple-tree/toMapTree.js +185 -136
- package/dist/simple-tree/toMapTree.js.map +1 -1
- package/dist/simple-tree/tree.d.ts +20 -3
- package/dist/simple-tree/tree.d.ts.map +1 -1
- package/dist/simple-tree/tree.js.map +1 -1
- package/dist/simple-tree/treeApi.d.ts +82 -5
- package/dist/simple-tree/treeApi.d.ts.map +1 -1
- package/dist/simple-tree/treeApi.js +96 -18
- package/dist/simple-tree/treeApi.js.map +1 -1
- package/dist/simple-tree/types.d.ts +1 -142
- package/dist/simple-tree/types.d.ts.map +1 -1
- package/dist/simple-tree/types.js.map +1 -1
- package/dist/simple-tree/typesUnsafe.d.ts +32 -17
- package/dist/simple-tree/typesUnsafe.d.ts.map +1 -1
- package/dist/simple-tree/typesUnsafe.js.map +1 -1
- package/dist/treeFactory.d.ts +31 -14
- package/dist/treeFactory.d.ts.map +1 -1
- package/dist/treeFactory.js +50 -23
- package/dist/treeFactory.js.map +1 -1
- package/dist/util/brand.d.ts +26 -114
- package/dist/util/brand.d.ts.map +1 -1
- package/dist/util/brand.js +24 -91
- package/dist/util/brand.js.map +1 -1
- package/dist/util/idAllocator.d.ts.map +1 -1
- package/dist/util/idAllocator.js +2 -2
- package/dist/util/idAllocator.js.map +1 -1
- package/dist/util/index.d.ts +5 -3
- package/dist/util/index.d.ts.map +1 -1
- package/dist/util/index.js +8 -9
- package/dist/util/index.js.map +1 -1
- package/dist/util/nestedSet.d.ts.map +1 -1
- package/dist/util/nestedSet.js.map +1 -1
- package/dist/util/opaque.d.ts +46 -0
- package/dist/util/opaque.d.ts.map +1 -0
- package/dist/util/opaque.js +29 -0
- package/dist/util/opaque.js.map +1 -0
- package/dist/util/referenceCounting.d.ts +1 -1
- package/dist/util/referenceCounting.d.ts.map +1 -1
- package/dist/util/referenceCounting.js +3 -3
- package/dist/util/referenceCounting.js.map +1 -1
- package/dist/util/typeCheckTests.d.ts +1 -1
- package/dist/util/typeCheckTests.d.ts.map +1 -1
- package/dist/util/typeCheckTests.js.map +1 -1
- package/dist/util/typeUtils.d.ts +13 -0
- package/dist/util/typeUtils.d.ts.map +1 -1
- package/dist/util/typeUtils.js.map +1 -1
- package/dist/util/typeboxBrand.d.ts +17 -0
- package/dist/util/typeboxBrand.d.ts.map +1 -0
- package/dist/util/typeboxBrand.js +32 -0
- package/dist/util/typeboxBrand.js.map +1 -0
- package/dist/util/utils.d.ts +2 -15
- package/dist/util/utils.d.ts.map +1 -1
- package/dist/util/utils.js +11 -11
- package/dist/util/utils.js.map +1 -1
- package/docs/main/compatibility.md +95 -0
- package/docs/main/schema2.md +3 -3
- package/docs/main/sequence-field/move-composition.md +46 -0
- package/docs/main/tree-content-apis.md +5 -5
- package/docs/roadmap.md +4 -4
- package/internal.d.ts +11 -0
- package/lib/beta.d.ts +90 -0
- package/lib/codec/codec.d.ts +10 -4
- package/lib/codec/codec.d.ts.map +1 -1
- package/lib/codec/codec.js +2 -2
- package/lib/codec/codec.js.map +1 -1
- package/lib/codec/discriminatedUnions.d.ts.map +1 -1
- package/lib/codec/discriminatedUnions.js +5 -1
- package/lib/codec/discriminatedUnions.js.map +1 -1
- package/lib/codec/index.d.ts +2 -2
- package/lib/codec/index.d.ts.map +1 -1
- package/lib/codec/index.js +1 -1
- package/lib/codec/index.js.map +1 -1
- package/lib/codec/noopValidator.d.ts.map +1 -1
- package/lib/codec/noopValidator.js.map +1 -1
- package/lib/codec/versioned/codec.d.ts +10 -2
- package/lib/codec/versioned/codec.d.ts.map +1 -1
- package/lib/codec/versioned/codec.js +25 -4
- package/lib/codec/versioned/codec.js.map +1 -1
- package/lib/codec/versioned/index.d.ts +1 -1
- package/lib/codec/versioned/index.d.ts.map +1 -1
- package/lib/codec/versioned/index.js +1 -1
- package/lib/codec/versioned/index.js.map +1 -1
- package/lib/core/change-family/changeFamily.d.ts +2 -2
- package/lib/core/change-family/changeFamily.d.ts.map +1 -1
- package/lib/core/change-family/changeFamily.js.map +1 -1
- package/lib/core/forest/editableForest.d.ts +1 -1
- package/lib/core/forest/editableForest.d.ts.map +1 -1
- package/lib/core/forest/editableForest.js +2 -2
- package/lib/core/forest/editableForest.js.map +1 -1
- package/lib/core/forest/forest.d.ts +5 -1
- package/lib/core/forest/forest.d.ts.map +1 -1
- package/lib/core/forest/forest.js +1 -1
- package/lib/core/forest/forest.js.map +1 -1
- package/lib/core/index.d.ts +3 -3
- package/lib/core/index.d.ts.map +1 -1
- package/lib/core/index.js +3 -3
- package/lib/core/index.js.map +1 -1
- package/lib/core/rebase/changeRebaser.d.ts.map +1 -1
- package/lib/core/rebase/changeRebaser.js.map +1 -1
- package/lib/core/rebase/index.d.ts +1 -1
- package/lib/core/rebase/index.d.ts.map +1 -1
- package/lib/core/rebase/index.js +1 -1
- package/lib/core/rebase/index.js.map +1 -1
- package/lib/core/rebase/revisionTagCodec.d.ts.map +1 -1
- package/lib/core/rebase/revisionTagCodec.js +1 -1
- package/lib/core/rebase/revisionTagCodec.js.map +1 -1
- package/lib/core/rebase/types.d.ts +30 -0
- package/lib/core/rebase/types.d.ts.map +1 -1
- package/lib/core/rebase/types.js +23 -0
- package/lib/core/rebase/types.js.map +1 -1
- package/lib/core/rebase/utils.d.ts.map +1 -1
- package/lib/core/rebase/utils.js +6 -5
- package/lib/core/rebase/utils.js.map +1 -1
- package/lib/core/revertible/index.d.ts +1 -1
- package/lib/core/revertible/index.d.ts.map +1 -1
- package/lib/core/revertible/index.js +1 -1
- package/lib/core/revertible/index.js.map +1 -1
- package/lib/core/revertible/revertible.d.ts +15 -49
- package/lib/core/revertible/revertible.d.ts.map +1 -1
- package/lib/core/revertible/revertible.js +2 -32
- package/lib/core/revertible/revertible.js.map +1 -1
- package/lib/core/schema-stored/format.d.ts.map +1 -1
- package/lib/core/schema-stored/format.js.map +1 -1
- package/lib/core/schema-stored/index.d.ts +2 -1
- package/lib/core/schema-stored/index.d.ts.map +1 -1
- package/lib/core/schema-stored/index.js +2 -1
- package/lib/core/schema-stored/index.js.map +1 -1
- package/lib/core/schema-stored/multiplicity.d.ts.map +1 -0
- package/lib/core/schema-stored/multiplicity.js.map +1 -0
- package/lib/core/schema-stored/schema.d.ts +32 -9
- package/lib/core/schema-stored/schema.d.ts.map +1 -1
- package/lib/core/schema-stored/schema.js +13 -7
- package/lib/core/schema-stored/schema.js.map +1 -1
- package/lib/core/schema-stored/storedSchemaRepository.d.ts +1 -1
- package/lib/core/schema-stored/storedSchemaRepository.d.ts.map +1 -1
- package/lib/core/schema-stored/storedSchemaRepository.js.map +1 -1
- package/lib/core/tree/anchorSet.d.ts +31 -16
- package/lib/core/tree/anchorSet.d.ts.map +1 -1
- package/lib/core/tree/anchorSet.js +10 -35
- package/lib/core/tree/anchorSet.js.map +1 -1
- package/lib/core/tree/cursor.d.ts.map +1 -1
- package/lib/core/tree/cursor.js +1 -1
- package/lib/core/tree/cursor.js.map +1 -1
- package/lib/core/tree/delta.d.ts.map +1 -1
- package/lib/core/tree/delta.js.map +1 -1
- package/lib/core/tree/deltaUtil.d.ts +1 -1
- package/lib/core/tree/deltaUtil.d.ts.map +1 -1
- package/lib/core/tree/deltaUtil.js.map +1 -1
- package/lib/core/tree/detachedFieldIndex.d.ts +2 -2
- package/lib/core/tree/detachedFieldIndex.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndex.js +2 -2
- package/lib/core/tree/detachedFieldIndex.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodec.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexCodec.js +1 -1
- package/lib/core/tree/detachedFieldIndexCodec.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexFormat.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexFormat.js.map +1 -1
- package/lib/core/tree/detachedFieldIndexTypes.d.ts.map +1 -1
- package/lib/core/tree/detachedFieldIndexTypes.js.map +1 -1
- package/lib/core/tree/mapTree.d.ts.map +1 -1
- package/lib/core/tree/mapTree.js.map +1 -1
- package/lib/core/tree/pathTree.d.ts.map +1 -1
- package/lib/core/tree/pathTree.js.map +1 -1
- package/lib/core/tree/persistedTreeTextFormat.d.ts.map +1 -1
- package/lib/core/tree/persistedTreeTextFormat.js.map +1 -1
- package/lib/core/tree/sparseTree.d.ts.map +1 -1
- package/lib/core/tree/sparseTree.js +1 -1
- package/lib/core/tree/sparseTree.js.map +1 -1
- package/lib/core/tree/treeTextFormat.d.ts.map +1 -1
- package/lib/core/tree/treeTextFormat.js.map +1 -1
- package/lib/core/tree/types.d.ts +1 -1
- package/lib/core/tree/types.d.ts.map +1 -1
- package/lib/core/tree/types.js +1 -1
- package/lib/core/tree/types.js.map +1 -1
- package/lib/core/tree/visitDelta.d.ts +13 -2
- package/lib/core/tree/visitDelta.d.ts.map +1 -1
- package/lib/core/tree/visitDelta.js +43 -14
- package/lib/core/tree/visitDelta.js.map +1 -1
- package/lib/core/tree/visitPath.d.ts +1 -1
- package/lib/core/tree/visitPath.d.ts.map +1 -1
- package/lib/core/tree/visitPath.js +4 -0
- package/lib/core/tree/visitPath.js.map +1 -1
- package/lib/core/tree/visitorUtils.d.ts +4 -4
- package/lib/core/tree/visitorUtils.d.ts.map +1 -1
- package/lib/core/tree/visitorUtils.js +1 -1
- package/lib/core/tree/visitorUtils.js.map +1 -1
- package/lib/domains/json/jsonCursor.d.ts.map +1 -1
- package/lib/domains/json/jsonCursor.js +1 -1
- package/lib/domains/json/jsonCursor.js.map +1 -1
- package/lib/domains/json/jsonDomainSchema.d.ts.map +1 -1
- package/lib/domains/json/jsonDomainSchema.js.map +1 -1
- package/lib/domains/leafDomain.d.ts.map +1 -1
- package/lib/domains/leafDomain.js +1 -1
- package/lib/domains/leafDomain.js.map +1 -1
- package/lib/domains/nodeKey/nodeKeySchema.d.ts.map +1 -1
- package/lib/domains/nodeKey/nodeKeySchema.js +2 -2
- package/lib/domains/nodeKey/nodeKeySchema.js.map +1 -1
- package/lib/domains/schemaBuilder.d.ts +19 -81
- package/lib/domains/schemaBuilder.d.ts.map +1 -1
- package/lib/domains/schemaBuilder.js +24 -92
- package/lib/domains/schemaBuilder.js.map +1 -1
- package/lib/domains/testRecursiveDomain.d.ts +0 -4
- package/lib/domains/testRecursiveDomain.d.ts.map +1 -1
- package/lib/domains/testRecursiveDomain.js +1 -8
- package/lib/domains/testRecursiveDomain.js.map +1 -1
- package/lib/events/events.d.ts.map +1 -1
- package/lib/events/events.js +1 -1
- package/lib/events/events.js.map +1 -1
- package/lib/external-utilities/typeboxValidator.d.ts.map +1 -1
- package/lib/external-utilities/typeboxValidator.js.map +1 -1
- package/lib/feature-libraries/changeAtomIdCodec.d.ts +1 -1
- package/lib/feature-libraries/changeAtomIdCodec.d.ts.map +1 -1
- package/lib/feature-libraries/changeAtomIdCodec.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/basicChunk.d.ts +3 -3
- package/lib/feature-libraries/chunked-forest/basicChunk.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/basicChunk.js +4 -4
- package/lib/feature-libraries/chunked-forest/basicChunk.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunk.d.ts +1 -1
- package/lib/feature-libraries/chunked-forest/chunk.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunk.js +1 -1
- package/lib/feature-libraries/chunked-forest/chunk.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkTree.d.ts +2 -2
- package/lib/feature-libraries/chunked-forest/chunkTree.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkTree.js +5 -6
- package/lib/feature-libraries/chunked-forest/chunkTree.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkedForest.d.ts +2 -2
- package/lib/feature-libraries/chunked-forest/chunkedForest.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/chunkedForest.js +4 -3
- package/lib/feature-libraries/chunked-forest/chunkedForest.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkCodecUtilities.d.ts +2 -2
- package/lib/feature-libraries/chunked-forest/codec/chunkCodecUtilities.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkCodecUtilities.js +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkCodecUtilities.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js +3 -3
- package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts +2 -2
- package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.js +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts +4 -9
- package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/codecs.js +4 -3
- package/lib/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts +3 -3
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js +1 -1
- package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/format.d.ts +1 -1
- package/lib/feature-libraries/chunked-forest/codec/format.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/format.js +2 -3
- package/lib/feature-libraries/chunked-forest/codec/format.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/formatGeneric.d.ts +1 -1
- package/lib/feature-libraries/chunked-forest/codec/index.d.ts +1 -1
- package/lib/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/index.js +1 -1
- package/lib/feature-libraries/chunked-forest/codec/index.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/nodeShape.d.ts +2 -2
- package/lib/feature-libraries/chunked-forest/codec/nodeShape.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/nodeShape.js +1 -1
- package/lib/feature-libraries/chunked-forest/codec/nodeShape.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncoding.d.ts +3 -3
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncoding.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncoding.js +3 -4
- package/lib/feature-libraries/chunked-forest/codec/schemaBasedEncoding.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/codec/uncompressedEncode.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/emptyChunk.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/emptyChunk.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/index.d.ts +1 -1
- package/lib/feature-libraries/chunked-forest/index.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/index.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/sequenceChunk.d.ts +1 -1
- package/lib/feature-libraries/chunked-forest/sequenceChunk.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/sequenceChunk.js +1 -1
- package/lib/feature-libraries/chunked-forest/sequenceChunk.js.map +1 -1
- package/lib/feature-libraries/chunked-forest/uniformChunk.d.ts +3 -3
- package/lib/feature-libraries/chunked-forest/uniformChunk.d.ts.map +1 -1
- package/lib/feature-libraries/chunked-forest/uniformChunk.js +4 -4
- package/lib/feature-libraries/chunked-forest/uniformChunk.js.map +1 -1
- package/lib/feature-libraries/contextuallyTyped.d.ts +5 -9
- package/lib/feature-libraries/contextuallyTyped.d.ts.map +1 -1
- package/lib/feature-libraries/contextuallyTyped.js +6 -20
- package/lib/feature-libraries/contextuallyTyped.js.map +1 -1
- package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts +3 -5
- package/lib/feature-libraries/default-schema/defaultEditBuilder.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/defaultEditBuilder.js +6 -6
- package/lib/feature-libraries/default-schema/defaultEditBuilder.js.map +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts +18 -4
- package/lib/feature-libraries/default-schema/defaultFieldKinds.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/defaultFieldKinds.js +55 -20
- package/lib/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
- package/lib/feature-libraries/default-schema/defaultSchema.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/defaultSchema.js.map +1 -1
- package/lib/feature-libraries/default-schema/index.d.ts +1 -1
- package/lib/feature-libraries/default-schema/index.d.ts.map +1 -1
- package/lib/feature-libraries/default-schema/index.js +1 -1
- package/lib/feature-libraries/default-schema/index.js.map +1 -1
- package/lib/feature-libraries/default-schema/noChangeCodecs.d.ts +8 -0
- package/lib/feature-libraries/default-schema/noChangeCodecs.d.ts.map +1 -0
- package/lib/feature-libraries/default-schema/noChangeCodecs.js +7 -0
- package/lib/feature-libraries/default-schema/noChangeCodecs.js.map +1 -0
- package/lib/feature-libraries/detachedFieldIndexSummarizer.d.ts +1 -1
- package/lib/feature-libraries/detachedFieldIndexSummarizer.d.ts.map +1 -1
- package/lib/feature-libraries/detachedFieldIndexSummarizer.js +1 -1
- package/lib/feature-libraries/detachedFieldIndexSummarizer.js.map +1 -1
- package/lib/feature-libraries/editableTreeBinder.d.ts.map +1 -1
- package/lib/feature-libraries/editableTreeBinder.js +1 -1
- package/lib/feature-libraries/editableTreeBinder.js.map +1 -1
- package/lib/feature-libraries/fieldGenerator.d.ts +1 -1
- package/lib/feature-libraries/fieldGenerator.d.ts.map +1 -1
- package/lib/feature-libraries/fieldGenerator.js.map +1 -1
- package/lib/feature-libraries/flex-tree/context.d.ts +16 -4
- package/lib/feature-libraries/flex-tree/context.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/context.js +17 -5
- package/lib/feature-libraries/flex-tree/context.js.map +1 -1
- package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts +43 -36
- package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/flexTreeTypes.js +8 -5
- package/lib/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
- package/lib/feature-libraries/flex-tree/index.d.ts +3 -3
- package/lib/feature-libraries/flex-tree/index.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/index.js +2 -2
- package/lib/feature-libraries/flex-tree/index.js.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyEntity.d.ts +7 -8
- package/lib/feature-libraries/flex-tree/lazyEntity.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyEntity.js +8 -12
- package/lib/feature-libraries/flex-tree/lazyEntity.js.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyField.d.ts +21 -7
- package/lib/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyField.js +43 -22
- package/lib/feature-libraries/flex-tree/lazyField.js.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyNode.d.ts +12 -9
- package/lib/feature-libraries/flex-tree/lazyNode.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyNode.js +35 -80
- package/lib/feature-libraries/flex-tree/lazyNode.js.map +1 -1
- package/lib/feature-libraries/flex-tree/nodeKeys.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/nodeKeys.js.map +1 -1
- package/lib/feature-libraries/flex-tree/treeEvents.d.ts +7 -70
- package/lib/feature-libraries/flex-tree/treeEvents.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/treeEvents.js.map +1 -1
- package/lib/feature-libraries/flex-tree/unboxed.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/unboxed.js +1 -1
- package/lib/feature-libraries/flex-tree/unboxed.js.map +1 -1
- package/lib/feature-libraries/flex-tree/utilities.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/utilities.js.map +1 -1
- package/lib/feature-libraries/forest-summary/codec.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/codec.js +1 -1
- package/lib/feature-libraries/forest-summary/codec.js.map +1 -1
- package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts +3 -3
- package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/forestSummarizer.js +3 -3
- package/lib/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
- package/lib/feature-libraries/forest-summary/format.d.ts.map +1 -1
- package/lib/feature-libraries/forest-summary/format.js +1 -1
- package/lib/feature-libraries/forest-summary/format.js.map +1 -1
- package/lib/feature-libraries/index.d.ts +8 -9
- package/lib/feature-libraries/index.d.ts.map +1 -1
- package/lib/feature-libraries/index.js +6 -7
- package/lib/feature-libraries/index.js.map +1 -1
- package/lib/feature-libraries/mapTreeCursor.d.ts +1 -1
- package/lib/feature-libraries/mapTreeCursor.d.ts.map +1 -1
- package/lib/feature-libraries/mapTreeCursor.js +2 -2
- package/lib/feature-libraries/mapTreeCursor.js.map +1 -1
- package/lib/feature-libraries/memoizedIdRangeAllocator.js +1 -1
- package/lib/feature-libraries/memoizedIdRangeAllocator.js.map +1 -1
- package/lib/feature-libraries/modular-schema/comparison.d.ts +1 -1
- package/lib/feature-libraries/modular-schema/comparison.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/comparison.js +3 -3
- package/lib/feature-libraries/modular-schema/comparison.js.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts +19 -13
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldKind.d.ts +3 -4
- package/lib/feature-libraries/modular-schema/fieldKind.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldKind.js.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldKindConfiguration.d.ts +21 -0
- package/lib/feature-libraries/modular-schema/fieldKindConfiguration.d.ts.map +1 -0
- package/lib/{test/codec/codec.spec.d.ts → feature-libraries/modular-schema/fieldKindConfiguration.js} +1 -1
- package/lib/feature-libraries/modular-schema/fieldKindConfiguration.js.map +1 -0
- package/lib/feature-libraries/modular-schema/fieldKindWithEditor.d.ts +1 -2
- package/lib/feature-libraries/modular-schema/fieldKindWithEditor.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/fieldKindWithEditor.js +3 -3
- package/lib/feature-libraries/modular-schema/fieldKindWithEditor.js.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKind.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKind.js +3 -7
- package/lib/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.d.ts +3 -5
- package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.js +7 -7
- package/lib/feature-libraries/modular-schema/genericFieldKindCodecs.js.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKindFormat.d.ts +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKindFormat.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKindFormat.js +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKindFormat.js.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKindTypes.d.ts +4 -4
- package/lib/feature-libraries/modular-schema/genericFieldKindTypes.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/genericFieldKindTypes.js.map +1 -1
- package/lib/feature-libraries/modular-schema/index.d.ts +5 -4
- package/lib/feature-libraries/modular-schema/index.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/index.js +2 -2
- package/lib/feature-libraries/modular-schema/index.js.map +1 -1
- package/lib/feature-libraries/modular-schema/isNeverTree.d.ts +1 -1
- package/lib/feature-libraries/modular-schema/isNeverTree.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/isNeverTree.js +6 -7
- package/lib/feature-libraries/modular-schema/isNeverTree.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts +4 -5
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.js +63 -27
- package/lib/feature-libraries/modular-schema/modularChangeCodecs.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts +13 -25
- package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js +202 -110
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFormat.d.ts +5 -12
- package/lib/feature-libraries/modular-schema/modularChangeFormat.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFormat.js +2 -12
- package/lib/feature-libraries/modular-schema/modularChangeFormat.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts +6 -4
- package/lib/feature-libraries/modular-schema/modularChangeTypes.d.ts.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeTypes.js.map +1 -1
- package/lib/feature-libraries/node-key/nodeKey.d.ts +1 -1
- package/lib/feature-libraries/node-key/nodeKey.d.ts.map +1 -1
- package/lib/feature-libraries/node-key/nodeKey.js.map +1 -1
- package/lib/feature-libraries/node-key/nodeKeyIndex.d.ts +2 -2
- package/lib/feature-libraries/node-key/nodeKeyIndex.d.ts.map +1 -1
- package/lib/feature-libraries/node-key/nodeKeyIndex.js +2 -2
- package/lib/feature-libraries/node-key/nodeKeyIndex.js.map +1 -1
- package/lib/feature-libraries/node-key/nodeKeyManager.d.ts +2 -2
- package/lib/feature-libraries/node-key/nodeKeyManager.d.ts.map +1 -1
- package/lib/feature-libraries/node-key/nodeKeyManager.js +2 -2
- package/lib/feature-libraries/node-key/nodeKeyManager.js.map +1 -1
- package/lib/feature-libraries/object-forest/objectForest.d.ts +1 -1
- package/lib/feature-libraries/object-forest/objectForest.d.ts.map +1 -1
- package/lib/feature-libraries/object-forest/objectForest.js +6 -5
- package/lib/feature-libraries/object-forest/objectForest.js.map +1 -1
- package/lib/feature-libraries/optional-field/index.d.ts +1 -1
- package/lib/feature-libraries/optional-field/index.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/index.js +1 -1
- package/lib/feature-libraries/optional-field/index.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalField.d.ts +3 -5
- package/lib/feature-libraries/optional-field/optionalField.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalField.js +18 -22
- package/lib/feature-libraries/optional-field/optionalField.js.map +1 -1
- package/lib/feature-libraries/optional-field/{optionalFieldChangeFormat.d.ts → optionalFieldChangeFormatV1.d.ts} +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV1.d.ts.map +1 -0
- package/lib/feature-libraries/optional-field/{optionalFieldChangeFormat.js → optionalFieldChangeFormatV1.js} +11 -2
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV1.js.map +1 -0
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV2.d.ts +25 -0
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV2.d.ts.map +1 -0
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV2.js +40 -0
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormatV2.js.map +1 -0
- package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts +4 -7
- package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldChangeTypes.js.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecV1.d.ts +12 -0
- package/lib/feature-libraries/optional-field/optionalFieldCodecV1.d.ts.map +1 -0
- package/lib/feature-libraries/optional-field/optionalFieldCodecV1.js +154 -0
- package/lib/feature-libraries/optional-field/optionalFieldCodecV1.js.map +1 -0
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.d.ts +12 -0
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.d.ts.map +1 -0
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.js +83 -0
- package/lib/feature-libraries/optional-field/optionalFieldCodecV2.js.map +1 -0
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.d.ts +2 -4
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.js +7 -150
- package/lib/feature-libraries/optional-field/optionalFieldCodecs.js.map +1 -1
- package/lib/feature-libraries/schema-aware/schemaAware.d.ts +3 -4
- package/lib/feature-libraries/schema-aware/schemaAware.d.ts.map +1 -1
- package/lib/feature-libraries/schema-aware/schemaAware.js +1 -1
- package/lib/feature-libraries/schema-aware/schemaAware.js.map +1 -1
- package/lib/feature-libraries/schema-edits/index.d.ts +1 -1
- package/lib/feature-libraries/schema-edits/index.d.ts.map +1 -1
- package/lib/feature-libraries/schema-edits/index.js +1 -1
- package/lib/feature-libraries/schema-edits/index.js.map +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts +2 -3
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js +10 -2
- package/lib/feature-libraries/schema-edits/schemaChangeCodecs.js.map +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeFormat.d.ts.map +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeFormat.js.map +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeTypes.d.ts +5 -0
- package/lib/feature-libraries/schema-edits/schemaChangeTypes.d.ts.map +1 -1
- package/lib/feature-libraries/schema-edits/schemaChangeTypes.js.map +1 -1
- package/lib/feature-libraries/schema-index/codec.d.ts +1 -1
- package/lib/feature-libraries/schema-index/codec.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/codec.js +3 -3
- package/lib/feature-libraries/schema-index/codec.js.map +1 -1
- package/lib/feature-libraries/schema-index/format.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/format.js.map +1 -1
- package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts +2 -2
- package/lib/feature-libraries/schema-index/schemaSummarizer.d.ts.map +1 -1
- package/lib/feature-libraries/schema-index/schemaSummarizer.js +2 -2
- package/lib/feature-libraries/schema-index/schemaSummarizer.js.map +1 -1
- package/lib/feature-libraries/schemaBuilder.d.ts +1 -1
- package/lib/feature-libraries/schemaBuilder.d.ts.map +1 -1
- package/lib/feature-libraries/schemaBuilder.js +1 -1
- package/lib/feature-libraries/schemaBuilder.js.map +1 -1
- package/lib/feature-libraries/schemaBuilderBase.d.ts +1 -1
- package/lib/feature-libraries/schemaBuilderBase.d.ts.map +1 -1
- package/lib/feature-libraries/schemaBuilderBase.js +2 -2
- package/lib/feature-libraries/schemaBuilderBase.js.map +1 -1
- package/lib/feature-libraries/sequence-field/compose.d.ts +9 -13
- package/lib/feature-libraries/sequence-field/compose.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/compose.js +63 -30
- package/lib/feature-libraries/sequence-field/compose.js.map +1 -1
- package/lib/feature-libraries/sequence-field/format.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/format.js +1 -1
- package/lib/feature-libraries/sequence-field/format.js.map +1 -1
- package/lib/feature-libraries/sequence-field/helperTypes.d.ts +3 -3
- package/lib/feature-libraries/sequence-field/helperTypes.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/helperTypes.js.map +1 -1
- package/lib/feature-libraries/sequence-field/index.d.ts +5 -5
- package/lib/feature-libraries/sequence-field/index.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/index.js.map +1 -1
- package/lib/feature-libraries/sequence-field/invert.d.ts +1 -2
- package/lib/feature-libraries/sequence-field/invert.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/invert.js +20 -29
- package/lib/feature-libraries/sequence-field/invert.js.map +1 -1
- package/lib/feature-libraries/sequence-field/markListFactory.d.ts +4 -4
- package/lib/feature-libraries/sequence-field/markListFactory.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/markListFactory.js.map +1 -1
- package/lib/feature-libraries/sequence-field/markQueue.d.ts +7 -7
- package/lib/feature-libraries/sequence-field/markQueue.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/markQueue.js +1 -1
- package/lib/feature-libraries/sequence-field/markQueue.js.map +1 -1
- package/lib/feature-libraries/sequence-field/moveEffectTable.d.ts +25 -14
- package/lib/feature-libraries/sequence-field/moveEffectTable.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/moveEffectTable.js +15 -6
- package/lib/feature-libraries/sequence-field/moveEffectTable.js.map +1 -1
- package/lib/feature-libraries/sequence-field/prune.d.ts +2 -2
- package/lib/feature-libraries/sequence-field/prune.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/prune.js.map +1 -1
- package/lib/feature-libraries/sequence-field/rebase.d.ts +3 -4
- package/lib/feature-libraries/sequence-field/rebase.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/rebase.js +11 -17
- package/lib/feature-libraries/sequence-field/rebase.js.map +1 -1
- package/lib/feature-libraries/sequence-field/relevantRemovedRoots.d.ts +2 -2
- package/lib/feature-libraries/sequence-field/relevantRemovedRoots.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/relevantRemovedRoots.js +2 -2
- package/lib/feature-libraries/sequence-field/relevantRemovedRoots.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.d.ts +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.js +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeHandler.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeRebaser.d.ts +2 -2
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeRebaser.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeRebaser.js +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldChangeRebaser.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts +2 -3
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.js +13 -15
- package/lib/feature-libraries/sequence-field/sequenceFieldCodecs.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.d.ts +17 -17
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.js +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldEditor.js.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts +3 -3
- package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.js +7 -7
- package/lib/feature-libraries/sequence-field/sequenceFieldToDelta.js.map +1 -1
- package/lib/feature-libraries/sequence-field/types.d.ts +7 -8
- package/lib/feature-libraries/sequence-field/types.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/types.js.map +1 -1
- package/lib/feature-libraries/sequence-field/utils.d.ts +42 -35
- package/lib/feature-libraries/sequence-field/utils.d.ts.map +1 -1
- package/lib/feature-libraries/sequence-field/utils.js +28 -7
- package/lib/feature-libraries/sequence-field/utils.js.map +1 -1
- package/lib/feature-libraries/storedToViewSchema.d.ts +2 -2
- package/lib/feature-libraries/storedToViewSchema.d.ts.map +1 -1
- package/lib/feature-libraries/storedToViewSchema.js +3 -3
- package/lib/feature-libraries/storedToViewSchema.js.map +1 -1
- package/lib/feature-libraries/treeCursorUtils.d.ts +1 -1
- package/lib/feature-libraries/treeCursorUtils.d.ts.map +1 -1
- package/lib/feature-libraries/treeCursorUtils.js +2 -2
- package/lib/feature-libraries/treeCursorUtils.js.map +1 -1
- package/lib/feature-libraries/treeTextCursor.d.ts +1 -1
- package/lib/feature-libraries/treeTextCursor.d.ts.map +1 -1
- package/lib/feature-libraries/treeTextCursor.js +2 -2
- package/lib/feature-libraries/treeTextCursor.js.map +1 -1
- package/lib/feature-libraries/typed-schema/flexList.d.ts +1 -2
- package/lib/feature-libraries/typed-schema/flexList.d.ts.map +1 -1
- package/lib/feature-libraries/typed-schema/flexList.js.map +1 -1
- package/lib/feature-libraries/typed-schema/index.d.ts +0 -1
- package/lib/feature-libraries/typed-schema/index.d.ts.map +1 -1
- package/lib/feature-libraries/typed-schema/index.js.map +1 -1
- package/lib/feature-libraries/typed-schema/schemaCollection.d.ts.map +1 -1
- package/lib/feature-libraries/typed-schema/schemaCollection.js +4 -4
- package/lib/feature-libraries/typed-schema/schemaCollection.js.map +1 -1
- package/lib/feature-libraries/typed-schema/typeUtils.d.ts +0 -5
- package/lib/feature-libraries/typed-schema/typeUtils.d.ts.map +1 -1
- package/lib/feature-libraries/typed-schema/typeUtils.js.map +1 -1
- package/lib/feature-libraries/typed-schema/typedTreeSchema.d.ts +5 -4
- package/lib/feature-libraries/typed-schema/typedTreeSchema.d.ts.map +1 -1
- package/lib/feature-libraries/typed-schema/typedTreeSchema.js +16 -8
- package/lib/feature-libraries/typed-schema/typedTreeSchema.js.map +1 -1
- package/lib/feature-libraries/typed-schema/view.d.ts +1 -1
- package/lib/feature-libraries/typed-schema/view.d.ts.map +1 -1
- package/lib/feature-libraries/typed-schema/view.js +1 -1
- package/lib/feature-libraries/typed-schema/view.js.map +1 -1
- package/lib/feature-libraries/valueUtilities.d.ts +6 -3
- package/lib/feature-libraries/valueUtilities.d.ts.map +1 -1
- package/lib/feature-libraries/valueUtilities.js +8 -7
- package/lib/feature-libraries/valueUtilities.js.map +1 -1
- package/lib/index.d.ts +7 -7
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +5 -7
- package/lib/index.js.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/public.d.ts +90 -0
- package/lib/shared-tree/index.d.ts +3 -3
- package/lib/shared-tree/index.d.ts.map +1 -1
- package/lib/shared-tree/index.js +2 -2
- package/lib/shared-tree/index.js.map +1 -1
- package/lib/shared-tree/schematizeTree.d.ts +1 -1
- package/lib/shared-tree/schematizeTree.d.ts.map +1 -1
- package/lib/shared-tree/schematizeTree.js +6 -6
- package/lib/shared-tree/schematizeTree.js.map +1 -1
- package/lib/shared-tree/schematizingTreeView.d.ts +10 -3
- package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/lib/shared-tree/schematizingTreeView.js +21 -21
- package/lib/shared-tree/schematizingTreeView.js.map +1 -1
- package/lib/shared-tree/sharedTree.d.ts +58 -8
- package/lib/shared-tree/sharedTree.d.ts.map +1 -1
- package/lib/shared-tree/sharedTree.js +43 -10
- package/lib/shared-tree/sharedTree.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.d.ts +3 -5
- package/lib/shared-tree/sharedTreeChangeCodecs.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeCodecs.js +18 -10
- package/lib/shared-tree/sharedTreeChangeCodecs.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts +1 -0
- package/lib/shared-tree/sharedTreeChangeFamily.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFamily.js +7 -5
- package/lib/shared-tree/sharedTreeChangeFamily.js.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFormat.d.ts +4 -188
- package/lib/shared-tree/sharedTreeChangeFormat.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeChangeFormat.js +3 -3
- package/lib/shared-tree/sharedTreeChangeFormat.js.map +1 -1
- package/lib/shared-tree/sharedTreeEditBuilder.d.ts.map +1 -1
- package/lib/shared-tree/sharedTreeEditBuilder.js +4 -1
- package/lib/shared-tree/sharedTreeEditBuilder.js.map +1 -1
- package/lib/shared-tree/treeApi.d.ts +83 -2
- package/lib/shared-tree/treeApi.d.ts.map +1 -1
- package/lib/shared-tree/treeApi.js +30 -7
- package/lib/shared-tree/treeApi.js.map +1 -1
- package/lib/shared-tree/treeCheckout.d.ts +41 -20
- package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
- package/lib/shared-tree/treeCheckout.js +115 -41
- package/lib/shared-tree/treeCheckout.js.map +1 -1
- package/lib/shared-tree/treeView.d.ts +3 -3
- package/lib/shared-tree/treeView.d.ts.map +1 -1
- package/lib/shared-tree/treeView.js.map +1 -1
- package/lib/shared-tree-core/branch.d.ts +5 -32
- package/lib/shared-tree-core/branch.d.ts.map +1 -1
- package/lib/shared-tree-core/branch.js +9 -139
- package/lib/shared-tree-core/branch.js.map +1 -1
- package/lib/shared-tree-core/editManager.d.ts +2 -15
- package/lib/shared-tree-core/editManager.d.ts.map +1 -1
- package/lib/shared-tree-core/editManager.js +4 -48
- package/lib/shared-tree-core/editManager.js.map +1 -1
- package/lib/shared-tree-core/editManagerCodecs.d.ts +4 -4
- package/lib/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerCodecs.js +19 -6
- package/lib/shared-tree-core/editManagerCodecs.js.map +1 -1
- package/lib/shared-tree-core/editManagerFormat.d.ts +4 -5
- package/lib/shared-tree-core/editManagerFormat.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerFormat.js +2 -3
- package/lib/shared-tree-core/editManagerFormat.js.map +1 -1
- package/lib/shared-tree-core/editManagerSummarizer.d.ts +7 -6
- package/lib/shared-tree-core/editManagerSummarizer.d.ts.map +1 -1
- package/lib/shared-tree-core/editManagerSummarizer.js +4 -7
- package/lib/shared-tree-core/editManagerSummarizer.js.map +1 -1
- package/lib/shared-tree-core/index.d.ts +1 -1
- package/lib/shared-tree-core/index.d.ts.map +1 -1
- package/lib/shared-tree-core/index.js.map +1 -1
- package/lib/shared-tree-core/messageCodecs.d.ts +7 -4
- package/lib/shared-tree-core/messageCodecs.d.ts.map +1 -1
- package/lib/shared-tree-core/messageCodecs.js +19 -3
- package/lib/shared-tree-core/messageCodecs.js.map +1 -1
- package/lib/shared-tree-core/messageFormat.d.ts +10 -2
- package/lib/shared-tree-core/messageFormat.d.ts.map +1 -1
- package/lib/shared-tree-core/messageFormat.js +1 -0
- package/lib/shared-tree-core/messageFormat.js.map +1 -1
- package/lib/shared-tree-core/messageTypes.d.ts.map +1 -1
- package/lib/shared-tree-core/messageTypes.js.map +1 -1
- package/lib/shared-tree-core/sequenceIdUtils.d.ts.map +1 -1
- package/lib/shared-tree-core/sequenceIdUtils.js.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.d.ts +10 -5
- package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
- package/lib/shared-tree-core/sharedTreeCore.js +12 -12
- package/lib/shared-tree-core/sharedTreeCore.js.map +1 -1
- package/lib/simple-tree/arrayNode.d.ts +187 -0
- package/lib/simple-tree/arrayNode.d.ts.map +1 -0
- package/lib/simple-tree/arrayNode.js +433 -0
- package/lib/simple-tree/arrayNode.js.map +1 -0
- package/lib/simple-tree/index.d.ts +10 -8
- package/lib/simple-tree/index.d.ts.map +1 -1
- package/lib/simple-tree/index.js +4 -4
- package/lib/simple-tree/index.js.map +1 -1
- package/lib/simple-tree/leafNodeSchema.d.ts +11 -0
- package/lib/simple-tree/leafNodeSchema.d.ts.map +1 -0
- package/lib/simple-tree/leafNodeSchema.js +48 -0
- package/lib/simple-tree/leafNodeSchema.js.map +1 -0
- package/lib/simple-tree/mapNode.d.ts +86 -0
- package/lib/simple-tree/mapNode.d.ts.map +1 -0
- package/lib/simple-tree/mapNode.js +198 -0
- package/lib/simple-tree/mapNode.js.map +1 -0
- package/lib/simple-tree/objectNode.d.ts +62 -0
- package/lib/simple-tree/objectNode.d.ts.map +1 -0
- package/lib/simple-tree/objectNode.js +236 -0
- package/lib/simple-tree/objectNode.js.map +1 -0
- package/lib/simple-tree/proxies.d.ts +21 -62
- package/lib/simple-tree/proxies.d.ts.map +1 -1
- package/lib/simple-tree/proxies.js +119 -667
- package/lib/simple-tree/proxies.js.map +1 -1
- package/lib/simple-tree/proxyBinding.d.ts +48 -0
- package/lib/simple-tree/proxyBinding.d.ts.map +1 -0
- package/lib/simple-tree/proxyBinding.js +124 -0
- package/lib/simple-tree/proxyBinding.js.map +1 -0
- package/lib/simple-tree/rawNode.d.ts +9 -50
- package/lib/simple-tree/rawNode.d.ts.map +1 -1
- package/lib/simple-tree/rawNode.js +12 -85
- package/lib/simple-tree/rawNode.js.map +1 -1
- package/lib/simple-tree/schemaCaching.d.ts +26 -0
- package/lib/simple-tree/schemaCaching.d.ts.map +1 -0
- package/lib/simple-tree/schemaCaching.js +61 -0
- package/lib/simple-tree/schemaCaching.js.map +1 -0
- package/lib/simple-tree/schemaCreationUtilities.d.ts +2 -1
- package/lib/simple-tree/schemaCreationUtilities.d.ts.map +1 -1
- package/lib/simple-tree/schemaCreationUtilities.js +1 -1
- package/lib/simple-tree/schemaCreationUtilities.js.map +1 -1
- package/lib/simple-tree/schemaFactory.d.ts +92 -43
- package/lib/simple-tree/schemaFactory.d.ts.map +1 -1
- package/lib/simple-tree/schemaFactory.js +105 -157
- package/lib/simple-tree/schemaFactory.js.map +1 -1
- package/lib/simple-tree/schemaFactoryRecursive.d.ts +27 -83
- package/lib/simple-tree/schemaFactoryRecursive.d.ts.map +1 -1
- package/lib/simple-tree/schemaFactoryRecursive.js +1 -114
- package/lib/simple-tree/schemaFactoryRecursive.js.map +1 -1
- package/lib/simple-tree/schemaTypes.d.ts +123 -70
- package/lib/simple-tree/schemaTypes.d.ts.map +1 -1
- package/lib/simple-tree/schemaTypes.js +81 -4
- package/lib/simple-tree/schemaTypes.js.map +1 -1
- package/lib/simple-tree/testRecursiveDomain.d.ts +8 -8
- package/lib/simple-tree/testRecursiveDomain.d.ts.map +1 -1
- package/lib/simple-tree/testRecursiveDomain.js +2 -2
- package/lib/simple-tree/testRecursiveDomain.js.map +1 -1
- package/lib/simple-tree/toFlexSchema.d.ts +8 -20
- package/lib/simple-tree/toFlexSchema.d.ts.map +1 -1
- package/lib/simple-tree/toFlexSchema.js +22 -27
- package/lib/simple-tree/toFlexSchema.js.map +1 -1
- package/lib/simple-tree/toMapTree.d.ts +12 -22
- package/lib/simple-tree/toMapTree.d.ts.map +1 -1
- package/lib/simple-tree/toMapTree.js +183 -133
- package/lib/simple-tree/toMapTree.js.map +1 -1
- package/lib/simple-tree/tree.d.ts +20 -3
- package/lib/simple-tree/tree.d.ts.map +1 -1
- package/lib/simple-tree/tree.js.map +1 -1
- package/lib/simple-tree/treeApi.d.ts +82 -5
- package/lib/simple-tree/treeApi.d.ts.map +1 -1
- package/lib/simple-tree/treeApi.js +90 -12
- package/lib/simple-tree/treeApi.js.map +1 -1
- package/lib/simple-tree/types.d.ts +1 -142
- package/lib/simple-tree/types.d.ts.map +1 -1
- package/lib/simple-tree/types.js.map +1 -1
- package/lib/simple-tree/typesUnsafe.d.ts +32 -17
- package/lib/simple-tree/typesUnsafe.d.ts.map +1 -1
- package/lib/simple-tree/typesUnsafe.js.map +1 -1
- package/lib/treeFactory.d.ts +31 -14
- package/lib/treeFactory.d.ts.map +1 -1
- package/lib/treeFactory.js +48 -22
- package/lib/treeFactory.js.map +1 -1
- package/lib/util/brand.d.ts +26 -114
- package/lib/util/brand.d.ts.map +1 -1
- package/lib/util/brand.js +23 -83
- package/lib/util/brand.js.map +1 -1
- package/lib/util/idAllocator.d.ts.map +1 -1
- package/lib/util/idAllocator.js +1 -1
- package/lib/util/idAllocator.js.map +1 -1
- package/lib/util/index.d.ts +5 -3
- package/lib/util/index.d.ts.map +1 -1
- package/lib/util/index.js +3 -1
- package/lib/util/index.js.map +1 -1
- package/lib/util/nestedSet.d.ts.map +1 -1
- package/lib/util/nestedSet.js.map +1 -1
- package/lib/util/opaque.d.ts +46 -0
- package/lib/util/opaque.d.ts.map +1 -0
- package/lib/util/opaque.js +24 -0
- package/lib/util/opaque.js.map +1 -0
- package/lib/util/referenceCounting.d.ts +1 -1
- package/lib/util/referenceCounting.d.ts.map +1 -1
- package/lib/util/referenceCounting.js +2 -2
- package/lib/util/referenceCounting.js.map +1 -1
- package/lib/util/typeCheckTests.d.ts +1 -1
- package/lib/util/typeCheckTests.d.ts.map +1 -1
- package/lib/util/typeCheckTests.js.map +1 -1
- package/lib/util/typeUtils.d.ts +13 -0
- package/lib/util/typeUtils.d.ts.map +1 -1
- package/lib/util/typeUtils.js.map +1 -1
- package/lib/util/typeboxBrand.d.ts +17 -0
- package/lib/util/typeboxBrand.d.ts.map +1 -0
- package/lib/util/typeboxBrand.js +27 -0
- package/lib/util/typeboxBrand.js.map +1 -0
- package/lib/util/utils.d.ts +2 -15
- package/lib/util/utils.d.ts.map +1 -1
- package/lib/util/utils.js +3 -3
- package/lib/util/utils.js.map +1 -1
- package/package.json +55 -50
- package/src/codec/codec.ts +15 -7
- package/src/codec/discriminatedUnions.ts +3 -1
- package/src/codec/index.ts +8 -1
- package/src/codec/noopValidator.ts +1 -0
- package/src/codec/versioned/codec.ts +55 -25
- package/src/codec/versioned/index.ts +5 -1
- package/src/core/README.md +1 -5
- package/src/core/change-family/changeFamily.ts +3 -2
- package/src/core/forest/editableForest.ts +7 -5
- package/src/core/forest/forest.ts +11 -4
- package/src/core/index.ts +10 -8
- package/src/core/rebase/changeRebaser.ts +1 -0
- package/src/core/rebase/index.ts +4 -0
- package/src/core/rebase/revisionTagCodec.ts +3 -1
- package/src/core/rebase/types.ts +46 -1
- package/src/core/rebase/utils.ts +9 -6
- package/src/core/revertible/index.ts +1 -1
- package/src/core/revertible/revertible.ts +17 -50
- package/src/core/schema-stored/format.ts +1 -0
- package/src/core/schema-stored/index.ts +5 -2
- package/src/{feature-libraries → core/schema-stored}/multiplicity.ts +1 -0
- package/src/core/schema-stored/schema.ts +51 -23
- package/src/core/schema-stored/storedSchemaRepository.ts +4 -2
- package/src/core/tree/anchorSet.ts +52 -63
- package/src/core/tree/cursor.ts +3 -1
- package/src/core/tree/delta.ts +1 -0
- package/src/core/tree/deltaUtil.ts +2 -1
- package/src/core/tree/detachedFieldIndex.ts +6 -4
- package/src/core/tree/detachedFieldIndexCodec.ts +4 -2
- package/src/core/tree/detachedFieldIndexFormat.ts +2 -0
- package/src/core/tree/detachedFieldIndexTypes.ts +1 -0
- package/src/core/tree/mapTree.ts +1 -0
- package/src/core/tree/pathTree.ts +1 -0
- package/src/core/tree/persistedTreeTextFormat.ts +1 -0
- package/src/core/tree/sparseTree.ts +4 -2
- package/src/core/tree/treeTextFormat.ts +1 -0
- package/src/core/tree/types.ts +2 -1
- package/src/core/tree/visitDelta.ts +65 -18
- package/src/core/tree/visitPath.ts +2 -1
- package/src/core/tree/visitorUtils.ts +7 -5
- package/src/domains/json/jsonCursor.ts +6 -4
- package/src/domains/json/jsonDomainSchema.ts +1 -2
- package/src/domains/leafDomain.ts +1 -1
- package/src/domains/nodeKey/nodeKeySchema.ts +5 -4
- package/src/domains/schemaBuilder.ts +25 -214
- package/src/domains/testRecursiveDomain.ts +2 -25
- package/src/events/events.ts +2 -1
- package/src/external-utilities/typeboxValidator.ts +2 -1
- package/src/feature-libraries/README.md +4 -4
- package/src/feature-libraries/changeAtomIdCodec.ts +4 -4
- package/src/feature-libraries/chunked-forest/basicChunk.ts +12 -10
- package/src/feature-libraries/chunked-forest/chunk.ts +3 -2
- package/src/feature-libraries/chunked-forest/chunkTree.ts +17 -15
- package/src/feature-libraries/chunked-forest/chunkedForest.ts +20 -17
- package/src/feature-libraries/chunked-forest/codec/chunkCodecUtilities.ts +4 -3
- package/src/feature-libraries/chunked-forest/codec/chunkDecoding.ts +16 -14
- package/src/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.ts +5 -3
- package/src/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.ts +2 -1
- package/src/feature-libraries/chunked-forest/codec/codecs.ts +9 -12
- package/src/feature-libraries/chunked-forest/codec/compressedEncode.ts +11 -9
- package/src/feature-libraries/chunked-forest/codec/format.ts +4 -3
- package/src/feature-libraries/chunked-forest/codec/index.ts +1 -6
- package/src/feature-libraries/chunked-forest/codec/nodeShape.ts +8 -6
- package/src/feature-libraries/chunked-forest/codec/schemaBasedEncoding.ts +13 -11
- package/src/feature-libraries/chunked-forest/codec/uncompressedEncode.ts +2 -1
- package/src/feature-libraries/chunked-forest/emptyChunk.ts +5 -4
- package/src/feature-libraries/chunked-forest/index.ts +0 -1
- package/src/feature-libraries/chunked-forest/sequenceChunk.ts +3 -2
- package/src/feature-libraries/chunked-forest/uniformChunk.ts +11 -9
- package/src/feature-libraries/contextuallyTyped.ts +23 -36
- package/src/feature-libraries/default-schema/defaultEditBuilder.ts +36 -57
- package/src/feature-libraries/default-schema/defaultFieldKinds.ts +78 -25
- package/src/feature-libraries/default-schema/defaultSchema.ts +1 -0
- package/src/feature-libraries/default-schema/index.ts +2 -0
- package/src/feature-libraries/default-schema/noChangeCodecs.ts +12 -0
- package/src/feature-libraries/detachedFieldIndexSummarizer.ts +4 -3
- package/src/feature-libraries/editableTreeBinder.ts +3 -1
- package/src/feature-libraries/fieldGenerator.ts +2 -1
- package/src/feature-libraries/flex-tree/README.md +2 -2
- package/src/feature-libraries/flex-tree/context.ts +34 -8
- package/src/feature-libraries/flex-tree/flexTreeTypes.ts +63 -45
- package/src/feature-libraries/flex-tree/index.ts +3 -3
- package/src/feature-libraries/flex-tree/lazyEntity.ts +13 -23
- package/src/feature-libraries/flex-tree/lazyField.ts +95 -47
- package/src/feature-libraries/flex-tree/lazyNode.ts +65 -131
- package/src/feature-libraries/flex-tree/nodeKeys.ts +1 -0
- package/src/feature-libraries/flex-tree/treeEvents.ts +7 -73
- package/src/feature-libraries/flex-tree/unboxed.ts +3 -2
- package/src/feature-libraries/flex-tree/utilities.ts +1 -0
- package/src/feature-libraries/forest-summary/codec.ts +3 -1
- package/src/feature-libraries/forest-summary/forestSummarizer.ts +13 -11
- package/src/feature-libraries/forest-summary/format.ts +2 -1
- package/src/feature-libraries/index.ts +13 -12
- package/src/feature-libraries/mapTreeCursor.ts +8 -6
- package/src/feature-libraries/memoizedIdRangeAllocator.ts +3 -3
- package/src/feature-libraries/modular-schema/comparison.ts +11 -9
- package/src/feature-libraries/modular-schema/fieldChangeHandler.ts +29 -28
- package/src/feature-libraries/modular-schema/fieldKind.ts +8 -4
- package/src/feature-libraries/modular-schema/fieldKindConfiguration.ts +24 -0
- package/src/feature-libraries/modular-schema/fieldKindWithEditor.ts +7 -5
- package/src/feature-libraries/modular-schema/genericFieldKind.ts +12 -20
- package/src/feature-libraries/modular-schema/genericFieldKindCodecs.ts +18 -31
- package/src/feature-libraries/modular-schema/genericFieldKindFormat.ts +2 -2
- package/src/feature-libraries/modular-schema/genericFieldKindTypes.ts +4 -4
- package/src/feature-libraries/modular-schema/index.ts +5 -2
- package/src/feature-libraries/modular-schema/isNeverTree.ts +12 -12
- package/src/feature-libraries/modular-schema/modularChangeCodecs.ts +151 -56
- package/src/feature-libraries/modular-schema/modularChangeFamily.ts +460 -251
- package/src/feature-libraries/modular-schema/modularChangeFormat.ts +4 -22
- package/src/feature-libraries/modular-schema/modularChangeTypes.ts +7 -3
- package/src/feature-libraries/node-key/nodeKey.ts +2 -1
- package/src/feature-libraries/node-key/nodeKeyIndex.ts +5 -3
- package/src/feature-libraries/node-key/nodeKeyManager.ts +6 -4
- package/src/feature-libraries/object-forest/objectForest.ts +25 -23
- package/src/feature-libraries/optional-field/index.ts +1 -1
- package/src/feature-libraries/optional-field/optionalField.ts +38 -44
- package/src/feature-libraries/optional-field/{optionalFieldChangeFormat.ts → optionalFieldChangeFormatV1.ts} +10 -1
- package/src/feature-libraries/optional-field/optionalFieldChangeFormatV2.ts +60 -0
- package/src/feature-libraries/optional-field/optionalFieldChangeTypes.ts +4 -7
- package/src/feature-libraries/optional-field/optionalFieldCodecV1.ts +204 -0
- package/src/feature-libraries/optional-field/optionalFieldCodecV2.ts +135 -0
- package/src/feature-libraries/optional-field/optionalFieldCodecs.ts +11 -207
- package/src/feature-libraries/schema-aware/README.md +1 -1
- package/src/feature-libraries/schema-aware/schemaAware.ts +13 -9
- package/src/feature-libraries/schema-edits/index.ts +1 -1
- package/src/feature-libraries/schema-edits/schemaChangeCodecs.ts +23 -3
- package/src/feature-libraries/schema-edits/schemaChangeFormat.ts +1 -0
- package/src/feature-libraries/schema-edits/schemaChangeTypes.ts +6 -0
- package/src/feature-libraries/schema-index/codec.ts +8 -7
- package/src/feature-libraries/schema-index/format.ts +1 -0
- package/src/feature-libraries/schema-index/schemaSummarizer.ts +10 -8
- package/src/feature-libraries/schemaBuilder.ts +2 -1
- package/src/feature-libraries/schemaBuilderBase.ts +16 -14
- package/src/feature-libraries/sequence-field/compose.ts +283 -176
- package/src/feature-libraries/sequence-field/format.ts +2 -1
- package/src/feature-libraries/sequence-field/helperTypes.ts +5 -5
- package/src/feature-libraries/sequence-field/index.ts +4 -5
- package/src/feature-libraries/sequence-field/invert.ts +49 -82
- package/src/feature-libraries/sequence-field/markListFactory.ts +4 -4
- package/src/feature-libraries/sequence-field/markQueue.ts +12 -10
- package/src/feature-libraries/sequence-field/moveEffectTable.ts +61 -31
- package/src/feature-libraries/sequence-field/prune.ts +4 -8
- package/src/feature-libraries/sequence-field/rebase.ts +128 -141
- package/src/feature-libraries/sequence-field/relevantRemovedRoots.ts +9 -10
- package/src/feature-libraries/sequence-field/sequenceFieldChangeHandler.ts +3 -2
- package/src/feature-libraries/sequence-field/sequenceFieldChangeRebaser.ts +3 -2
- package/src/feature-libraries/sequence-field/sequenceFieldCodecs.ts +31 -38
- package/src/feature-libraries/sequence-field/sequenceFieldEditor.ts +38 -59
- package/src/feature-libraries/sequence-field/sequenceFieldToDelta.ts +15 -15
- package/src/feature-libraries/sequence-field/types.ts +7 -9
- package/src/feature-libraries/sequence-field/utils.ts +95 -76
- package/src/feature-libraries/storedToViewSchema.ts +13 -12
- package/src/feature-libraries/treeCursorUtils.ts +9 -8
- package/src/feature-libraries/treeTextCursor.ts +12 -10
- package/src/feature-libraries/typed-schema/flexList.ts +1 -3
- package/src/feature-libraries/typed-schema/index.ts +0 -2
- package/src/feature-libraries/typed-schema/schemaCollection.ts +11 -10
- package/src/feature-libraries/typed-schema/typeUtils.ts +0 -6
- package/src/feature-libraries/typed-schema/typedTreeSchema.ts +32 -18
- package/src/feature-libraries/typed-schema/view.ts +6 -5
- package/src/feature-libraries/valueUtilities.ts +11 -9
- package/src/index.ts +34 -26
- package/src/packageVersion.ts +1 -1
- package/src/shared-tree/index.ts +9 -1
- package/src/shared-tree/schematizeTree.ts +12 -10
- package/src/shared-tree/schematizingTreeView.ts +47 -28
- package/src/shared-tree/sharedTree.ts +131 -44
- package/src/shared-tree/sharedTreeChangeCodecs.ts +79 -62
- package/src/shared-tree/sharedTreeChangeFamily.ts +13 -7
- package/src/shared-tree/sharedTreeChangeFormat.ts +4 -3
- package/src/shared-tree/sharedTreeEditBuilder.ts +5 -1
- package/src/shared-tree/treeApi.ts +141 -10
- package/src/shared-tree/treeCheckout.ts +203 -60
- package/src/shared-tree/treeView.ts +5 -4
- package/src/shared-tree-core/branch.ts +20 -204
- package/src/shared-tree-core/editManager.ts +20 -78
- package/src/shared-tree-core/editManagerCodecs.ts +111 -63
- package/src/shared-tree-core/editManagerFormat.ts +7 -8
- package/src/shared-tree-core/editManagerSummarizer.ts +14 -36
- package/src/shared-tree-core/index.ts +2 -0
- package/src/shared-tree-core/messageCodecs.ts +62 -5
- package/src/shared-tree-core/messageFormat.ts +12 -2
- package/src/shared-tree-core/messageTypes.ts +1 -0
- package/src/shared-tree-core/sequenceIdUtils.ts +1 -0
- package/src/shared-tree-core/sharedTreeCore.ts +40 -22
- package/src/simple-tree/ProxyBinding.md +102 -0
- package/src/simple-tree/README.md +0 -6
- package/src/simple-tree/arrayNode.ts +769 -0
- package/src/simple-tree/index.ts +16 -9
- package/src/simple-tree/leafNodeSchema.ts +72 -0
- package/src/simple-tree/mapNode.ts +343 -0
- package/src/simple-tree/objectNode.ts +411 -0
- package/src/simple-tree/proxies.ts +197 -932
- package/src/simple-tree/proxyBinding.ts +182 -0
- package/src/simple-tree/rawNode.ts +19 -135
- package/src/simple-tree/schemaCaching.ts +90 -0
- package/src/simple-tree/schemaCreationUtilities.ts +6 -9
- package/src/simple-tree/schemaFactory.ts +247 -261
- package/src/simple-tree/schemaFactoryRecursive.ts +32 -185
- package/src/simple-tree/schemaTypes.ts +149 -81
- package/src/simple-tree/testRecursiveDomain.ts +3 -3
- package/src/simple-tree/toFlexSchema.ts +39 -47
- package/src/simple-tree/toMapTree.ts +236 -196
- package/src/simple-tree/tree.ts +24 -3
- package/src/simple-tree/treeApi.ts +209 -24
- package/src/simple-tree/types.ts +1 -173
- package/src/simple-tree/typesUnsafe.ts +42 -21
- package/src/treeFactory.ts +51 -26
- package/src/util/brand.ts +36 -168
- package/src/util/idAllocator.ts +2 -1
- package/src/util/index.ts +4 -18
- package/src/util/nestedSet.ts +1 -1
- package/src/util/opaque.ts +68 -0
- package/src/util/referenceCounting.ts +3 -3
- package/src/util/typeCheckTests.ts +7 -7
- package/src/util/typeUtils.ts +14 -0
- package/src/util/typeboxBrand.ts +31 -0
- package/src/util/utils.ts +3 -17
- package/tsconfig.json +1 -1
- package/api-extractor-cjs.json +0 -18
- package/api-extractor-esm.json +0 -14
- package/dist/feature-libraries/multiplicity.d.ts.map +0 -1
- package/dist/feature-libraries/multiplicity.js.map +0 -1
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormat.d.ts.map +0 -1
- package/dist/feature-libraries/optional-field/optionalFieldChangeFormat.js.map +0 -1
- package/dist/simple-tree/flexNode.d.ts +0 -35
- package/dist/simple-tree/flexNode.d.ts.map +0 -1
- package/dist/simple-tree/flexNode.js +0 -62
- package/dist/simple-tree/flexNode.js.map +0 -1
- package/dist/simple-tree/treeArrayNode.d.ts +0 -46
- package/dist/simple-tree/treeArrayNode.d.ts.map +0 -1
- package/dist/simple-tree/treeArrayNode.js +0 -50
- package/dist/simple-tree/treeArrayNode.js.map +0 -1
- package/dist/tree-alpha.d.ts +0 -2159
- package/dist/tree-beta.d.ts +0 -2159
- package/dist/tree-public.d.ts +0 -1942
- package/dist/tree-untrimmed.d.ts +0 -6880
- package/lib/feature-libraries/multiplicity.d.ts.map +0 -1
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormat.d.ts.map +0 -1
- package/lib/feature-libraries/optional-field/optionalFieldChangeFormat.js.map +0 -1
- package/lib/simple-tree/flexNode.d.ts +0 -35
- package/lib/simple-tree/flexNode.d.ts.map +0 -1
- package/lib/simple-tree/flexNode.js +0 -55
- package/lib/simple-tree/flexNode.js.map +0 -1
- package/lib/simple-tree/treeArrayNode.d.ts +0 -46
- package/lib/simple-tree/treeArrayNode.d.ts.map +0 -1
- package/lib/simple-tree/treeArrayNode.js +0 -46
- package/lib/simple-tree/treeArrayNode.js.map +0 -1
- package/lib/test/codec/ajvValidator.cjs +0 -70
- package/lib/test/codec/ajvValidator.cjs.map +0 -1
- package/lib/test/codec/ajvValidator.d.cts +0 -13
- package/lib/test/codec/ajvValidator.d.cts.map +0 -1
- package/lib/test/codec/codec.spec.d.ts.map +0 -1
- package/lib/test/codec/codec.spec.js +0 -36
- package/lib/test/codec/codec.spec.js.map +0 -1
- package/lib/test/codec/index.d.ts +0 -7
- package/lib/test/codec/index.d.ts.map +0 -1
- package/lib/test/codec/index.js +0 -7
- package/lib/test/codec/index.js.map +0 -1
- package/lib/test/codec/utils.d.ts +0 -58
- package/lib/test/codec/utils.d.ts.map +0 -1
- package/lib/test/codec/utils.js +0 -61
- package/lib/test/codec/utils.js.map +0 -1
- package/lib/test/cursorTestSuite.d.ts +0 -106
- package/lib/test/cursorTestSuite.d.ts.map +0 -1
- package/lib/test/cursorTestSuite.js +0 -680
- package/lib/test/cursorTestSuite.js.map +0 -1
- package/lib/test/domains/json/benchmarks.d.ts +0 -17
- package/lib/test/domains/json/benchmarks.d.ts.map +0 -1
- package/lib/test/domains/json/benchmarks.js +0 -61
- package/lib/test/domains/json/benchmarks.js.map +0 -1
- package/lib/test/domains/json/canada.d.ts +0 -33
- package/lib/test/domains/json/canada.d.ts.map +0 -1
- package/lib/test/domains/json/canada.js +0 -81
- package/lib/test/domains/json/canada.js.map +0 -1
- package/lib/test/domains/json/citm.d.ts +0 -81
- package/lib/test/domains/json/citm.d.ts.map +0 -1
- package/lib/test/domains/json/citm.js +0 -515
- package/lib/test/domains/json/citm.js.map +0 -1
- package/lib/test/domains/json/jsDirectObject.bench.d.ts +0 -13
- package/lib/test/domains/json/jsDirectObject.bench.d.ts.map +0 -1
- package/lib/test/domains/json/jsDirectObject.bench.js +0 -74
- package/lib/test/domains/json/jsDirectObject.bench.js.map +0 -1
- package/lib/test/domains/json/jsObjectUtil.d.ts +0 -12
- package/lib/test/domains/json/jsObjectUtil.d.ts.map +0 -1
- package/lib/test/domains/json/jsObjectUtil.js +0 -36
- package/lib/test/domains/json/jsObjectUtil.js.map +0 -1
- package/lib/test/domains/json/jsonCursor.bench.d.ts +0 -11
- package/lib/test/domains/json/jsonCursor.bench.d.ts.map +0 -1
- package/lib/test/domains/json/jsonCursor.bench.js +0 -220
- package/lib/test/domains/json/jsonCursor.bench.js.map +0 -1
- package/lib/test/domains/json/jsonCursor.spec.d.ts +0 -6
- package/lib/test/domains/json/jsonCursor.spec.d.ts.map +0 -1
- package/lib/test/domains/json/jsonCursor.spec.js +0 -75
- package/lib/test/domains/json/jsonCursor.spec.js.map +0 -1
- package/lib/test/domains/json/jsonGeneratorUtils.d.ts +0 -9
- package/lib/test/domains/json/jsonGeneratorUtils.d.ts.map +0 -1
- package/lib/test/domains/json/jsonGeneratorUtils.js +0 -36
- package/lib/test/domains/json/jsonGeneratorUtils.js.map +0 -1
- package/lib/test/domains/json/twitter.d.ts +0 -204
- package/lib/test/domains/json/twitter.d.ts.map +0 -1
- package/lib/test/domains/json/twitter.js +0 -7413
- package/lib/test/domains/json/twitter.js.map +0 -1
- package/lib/test/domains/schemaBuilder.spec.d.ts +0 -6
- package/lib/test/domains/schemaBuilder.spec.d.ts.map +0 -1
- package/lib/test/domains/schemaBuilder.spec.js +0 -148
- package/lib/test/domains/schemaBuilder.spec.js.map +0 -1
- package/lib/test/editMinter.d.ts +0 -8
- package/lib/test/editMinter.d.ts.map +0 -1
- package/lib/test/editMinter.js +0 -21
- package/lib/test/editMinter.js.map +0 -1
- package/lib/test/events/eventEmitter.spec.d.ts +0 -6
- package/lib/test/events/eventEmitter.spec.d.ts.map +0 -1
- package/lib/test/events/eventEmitter.spec.js +0 -159
- package/lib/test/events/eventEmitter.spec.js.map +0 -1
- package/lib/test/exhaustiveRebaserUtils.d.ts +0 -78
- package/lib/test/exhaustiveRebaserUtils.d.ts.map +0 -1
- package/lib/test/exhaustiveRebaserUtils.js +0 -53
- package/lib/test/exhaustiveRebaserUtils.js.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/basicChunk.spec.d.ts +0 -6
- package/lib/test/feature-libraries/chunked-forest/basicChunk.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/basicChunk.spec.js +0 -161
- package/lib/test/feature-libraries/chunked-forest/basicChunk.spec.js.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/chunkEncodingEndToEnd.d.ts +0 -2
- package/lib/test/feature-libraries/chunked-forest/chunkEncodingEndToEnd.d.ts.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/chunkEncodingEndToEnd.js +0 -102
- package/lib/test/feature-libraries/chunked-forest/chunkEncodingEndToEnd.js.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/chunkTree.spec.d.ts +0 -6
- package/lib/test/feature-libraries/chunked-forest/chunkTree.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/chunkTree.spec.js +0 -259
- package/lib/test/feature-libraries/chunked-forest/chunkTree.spec.js.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/chunkedForest.spec.d.ts +0 -6
- package/lib/test/feature-libraries/chunked-forest/chunkedForest.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/chunkedForest.spec.js +0 -47
- package/lib/test/feature-libraries/chunked-forest/chunkedForest.spec.js.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/codec/checkEncode.d.ts +0 -9
- package/lib/test/feature-libraries/chunked-forest/codec/checkEncode.d.ts.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/codec/checkEncode.js +0 -124
- package/lib/test/feature-libraries/chunked-forest/codec/checkEncode.js.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/codec/chunkCodecUtilities.spec.d.ts +0 -6
- package/lib/test/feature-libraries/chunked-forest/codec/chunkCodecUtilities.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/codec/chunkCodecUtilities.spec.js +0 -187
- package/lib/test/feature-libraries/chunked-forest/codec/chunkCodecUtilities.spec.js.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/codec/chunkDecoding.spec.d.ts +0 -6
- package/lib/test/feature-libraries/chunked-forest/codec/chunkDecoding.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/codec/chunkDecoding.spec.js +0 -308
- package/lib/test/feature-libraries/chunked-forest/codec/chunkDecoding.spec.js.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.spec.d.ts +0 -6
- package/lib/test/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.spec.js +0 -123
- package/lib/test/feature-libraries/chunked-forest/codec/chunkDecodingGeneric.spec.js.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.spec.d.ts +0 -7
- package/lib/test/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.spec.js +0 -135
- package/lib/test/feature-libraries/chunked-forest/codec/chunkEncodingGeneric.spec.js.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/codec/compressedEncode.spec.d.ts +0 -11
- package/lib/test/feature-libraries/chunked-forest/codec/compressedEncode.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/codec/compressedEncode.spec.js +0 -211
- package/lib/test/feature-libraries/chunked-forest/codec/compressedEncode.spec.js.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/codec/format.spec.d.ts +0 -6
- package/lib/test/feature-libraries/chunked-forest/codec/format.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/codec/format.spec.js +0 -15
- package/lib/test/feature-libraries/chunked-forest/codec/format.spec.js.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/codec/nodeShape.spec.d.ts +0 -6
- package/lib/test/feature-libraries/chunked-forest/codec/nodeShape.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/codec/nodeShape.spec.js +0 -98
- package/lib/test/feature-libraries/chunked-forest/codec/nodeShape.spec.js.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/codec/schemaBasedEncoding.spec.d.ts +0 -6
- package/lib/test/feature-libraries/chunked-forest/codec/schemaBasedEncoding.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/codec/schemaBasedEncoding.spec.js +0 -176
- package/lib/test/feature-libraries/chunked-forest/codec/schemaBasedEncoding.spec.js.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/codec/uncompressedEncode.spec.d.ts +0 -6
- package/lib/test/feature-libraries/chunked-forest/codec/uncompressedEncode.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/codec/uncompressedEncode.spec.js +0 -29
- package/lib/test/feature-libraries/chunked-forest/codec/uncompressedEncode.spec.js.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/fieldCursorTestUtilities.d.ts +0 -12
- package/lib/test/feature-libraries/chunked-forest/fieldCursorTestUtilities.d.ts.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/fieldCursorTestUtilities.js +0 -38
- package/lib/test/feature-libraries/chunked-forest/fieldCursorTestUtilities.js.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/uniformChunk.spec.d.ts +0 -6
- package/lib/test/feature-libraries/chunked-forest/uniformChunk.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/uniformChunk.spec.js +0 -138
- package/lib/test/feature-libraries/chunked-forest/uniformChunk.spec.js.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/uniformChunkTestData.d.ts +0 -34
- package/lib/test/feature-libraries/chunked-forest/uniformChunkTestData.d.ts.map +0 -1
- package/lib/test/feature-libraries/chunked-forest/uniformChunkTestData.js +0 -114
- package/lib/test/feature-libraries/chunked-forest/uniformChunkTestData.js.map +0 -1
- package/lib/test/feature-libraries/contextuallyTyped.spec.d.ts +0 -6
- package/lib/test/feature-libraries/contextuallyTyped.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/contextuallyTyped.spec.js +0 -107
- package/lib/test/feature-libraries/contextuallyTyped.spec.js.map +0 -1
- package/lib/test/feature-libraries/default-field-kinds/defaultChangeFamily.spec.d.ts +0 -6
- package/lib/test/feature-libraries/default-field-kinds/defaultChangeFamily.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/default-field-kinds/defaultChangeFamily.spec.js +0 -850
- package/lib/test/feature-libraries/default-field-kinds/defaultChangeFamily.spec.js.map +0 -1
- package/lib/test/feature-libraries/default-field-kinds/defaultFieldKinds.spec.d.ts +0 -6
- package/lib/test/feature-libraries/default-field-kinds/defaultFieldKinds.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/default-field-kinds/defaultFieldKinds.spec.js +0 -110
- package/lib/test/feature-libraries/default-field-kinds/defaultFieldKinds.spec.js.map +0 -1
- package/lib/test/feature-libraries/deltaUtils.spec.d.ts +0 -6
- package/lib/test/feature-libraries/deltaUtils.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/deltaUtils.spec.js +0 -87
- package/lib/test/feature-libraries/deltaUtils.spec.js.map +0 -1
- package/lib/test/feature-libraries/fieldKindTestUtils.d.ts +0 -20
- package/lib/test/feature-libraries/fieldKindTestUtils.d.ts.map +0 -1
- package/lib/test/feature-libraries/fieldKindTestUtils.js +0 -42
- package/lib/test/feature-libraries/fieldKindTestUtils.js.map +0 -1
- package/lib/test/feature-libraries/flex-tree/editableTree.identifier.spec.d.ts +0 -6
- package/lib/test/feature-libraries/flex-tree/editableTree.identifier.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/flex-tree/editableTree.identifier.spec.js +0 -91
- package/lib/test/feature-libraries/flex-tree/editableTree.identifier.spec.js.map +0 -1
- package/lib/test/feature-libraries/flex-tree/editableTreeTypes.spec.d.ts +0 -6
- package/lib/test/feature-libraries/flex-tree/editableTreeTypes.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/flex-tree/editableTreeTypes.spec.js +0 -225
- package/lib/test/feature-libraries/flex-tree/editableTreeTypes.spec.js.map +0 -1
- package/lib/test/feature-libraries/flex-tree/events.spec.d.ts +0 -2
- package/lib/test/feature-libraries/flex-tree/events.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/flex-tree/events.spec.js +0 -605
- package/lib/test/feature-libraries/flex-tree/events.spec.js.map +0 -1
- package/lib/test/feature-libraries/flex-tree/lazyField.spec.d.ts +0 -6
- package/lib/test/feature-libraries/flex-tree/lazyField.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/flex-tree/lazyField.spec.js +0 -326
- package/lib/test/feature-libraries/flex-tree/lazyField.spec.js.map +0 -1
- package/lib/test/feature-libraries/flex-tree/lazyNode.spec.d.ts +0 -6
- package/lib/test/feature-libraries/flex-tree/lazyNode.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/flex-tree/lazyNode.spec.js +0 -381
- package/lib/test/feature-libraries/flex-tree/lazyNode.spec.js.map +0 -1
- package/lib/test/feature-libraries/flex-tree/navigation.spec.d.ts +0 -6
- package/lib/test/feature-libraries/flex-tree/navigation.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/flex-tree/navigation.spec.js +0 -50
- package/lib/test/feature-libraries/flex-tree/navigation.spec.js.map +0 -1
- package/lib/test/feature-libraries/flex-tree/unboxed.spec.d.ts +0 -6
- package/lib/test/feature-libraries/flex-tree/unboxed.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/flex-tree/unboxed.spec.js +0 -197
- package/lib/test/feature-libraries/flex-tree/unboxed.spec.js.map +0 -1
- package/lib/test/feature-libraries/flex-tree/utilities.spec.d.ts +0 -6
- package/lib/test/feature-libraries/flex-tree/utilities.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/flex-tree/utilities.spec.js +0 -109
- package/lib/test/feature-libraries/flex-tree/utilities.spec.js.map +0 -1
- package/lib/test/feature-libraries/flex-tree/utils.d.ts +0 -32
- package/lib/test/feature-libraries/flex-tree/utils.d.ts.map +0 -1
- package/lib/test/feature-libraries/flex-tree/utils.js +0 -50
- package/lib/test/feature-libraries/flex-tree/utils.js.map +0 -1
- package/lib/test/feature-libraries/forest-summary/forestSummarizerCodec.spec.d.ts +0 -6
- package/lib/test/feature-libraries/forest-summary/forestSummarizerCodec.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/forest-summary/forestSummarizerCodec.spec.js +0 -115
- package/lib/test/feature-libraries/forest-summary/forestSummarizerCodec.spec.js.map +0 -1
- package/lib/test/feature-libraries/mapTreeCursor.spec.d.ts +0 -6
- package/lib/test/feature-libraries/mapTreeCursor.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/mapTreeCursor.spec.js +0 -8
- package/lib/test/feature-libraries/mapTreeCursor.spec.js.map +0 -1
- package/lib/test/feature-libraries/memoizedIdRangeAllocator.spec.d.ts +0 -6
- package/lib/test/feature-libraries/memoizedIdRangeAllocator.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/memoizedIdRangeAllocator.spec.js +0 -80
- package/lib/test/feature-libraries/memoizedIdRangeAllocator.spec.js.map +0 -1
- package/lib/test/feature-libraries/mitigatedChangeFamily.spec.d.ts +0 -6
- package/lib/test/feature-libraries/mitigatedChangeFamily.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/mitigatedChangeFamily.spec.js +0 -96
- package/lib/test/feature-libraries/mitigatedChangeFamily.spec.js.map +0 -1
- package/lib/test/feature-libraries/modular-schema/basicRebasers.d.ts +0 -44
- package/lib/test/feature-libraries/modular-schema/basicRebasers.d.ts.map +0 -1
- package/lib/test/feature-libraries/modular-schema/basicRebasers.js +0 -77
- package/lib/test/feature-libraries/modular-schema/basicRebasers.js.map +0 -1
- package/lib/test/feature-libraries/modular-schema/comparison.spec.d.ts +0 -6
- package/lib/test/feature-libraries/modular-schema/comparison.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/modular-schema/comparison.spec.js +0 -264
- package/lib/test/feature-libraries/modular-schema/comparison.spec.js.map +0 -1
- package/lib/test/feature-libraries/modular-schema/genericFieldKind.spec.d.ts +0 -6
- package/lib/test/feature-libraries/modular-schema/genericFieldKind.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/modular-schema/genericFieldKind.spec.js +0 -345
- package/lib/test/feature-libraries/modular-schema/genericFieldKind.spec.js.map +0 -1
- package/lib/test/feature-libraries/modular-schema/genericFieldSnapshots.test.d.ts +0 -6
- package/lib/test/feature-libraries/modular-schema/genericFieldSnapshots.test.d.ts.map +0 -1
- package/lib/test/feature-libraries/modular-schema/genericFieldSnapshots.test.js +0 -49
- package/lib/test/feature-libraries/modular-schema/genericFieldSnapshots.test.js.map +0 -1
- package/lib/test/feature-libraries/modular-schema/isNeverTree.spec.d.ts +0 -6
- package/lib/test/feature-libraries/modular-schema/isNeverTree.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/modular-schema/isNeverTree.spec.js +0 -126
- package/lib/test/feature-libraries/modular-schema/isNeverTree.spec.js.map +0 -1
- package/lib/test/feature-libraries/modular-schema/modularChangeFamily.spec.d.ts +0 -6
- package/lib/test/feature-libraries/modular-schema/modularChangeFamily.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/modular-schema/modularChangeFamily.spec.js +0 -1070
- package/lib/test/feature-libraries/modular-schema/modularChangeFamily.spec.js.map +0 -1
- package/lib/test/feature-libraries/modular-schema/rangeMap.spec.d.ts +0 -6
- package/lib/test/feature-libraries/modular-schema/rangeMap.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/modular-schema/rangeMap.spec.js +0 -182
- package/lib/test/feature-libraries/modular-schema/rangeMap.spec.js.map +0 -1
- package/lib/test/feature-libraries/modular-schema/schemaEvolutionExamples.spec.d.ts +0 -6
- package/lib/test/feature-libraries/modular-schema/schemaEvolutionExamples.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/modular-schema/schemaEvolutionExamples.spec.js +0 -390
- package/lib/test/feature-libraries/modular-schema/schemaEvolutionExamples.spec.js.map +0 -1
- package/lib/test/feature-libraries/modularChangeFamilyIntegration.spec.d.ts +0 -6
- package/lib/test/feature-libraries/modularChangeFamilyIntegration.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/modularChangeFamilyIntegration.spec.js +0 -556
- package/lib/test/feature-libraries/modularChangeFamilyIntegration.spec.js.map +0 -1
- package/lib/test/feature-libraries/node-key/nodeKey.spec.d.ts +0 -6
- package/lib/test/feature-libraries/node-key/nodeKey.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/node-key/nodeKey.spec.js +0 -74
- package/lib/test/feature-libraries/node-key/nodeKey.spec.js.map +0 -1
- package/lib/test/feature-libraries/node-key/nodeKeyIndex.bench.d.ts +0 -6
- package/lib/test/feature-libraries/node-key/nodeKeyIndex.bench.d.ts.map +0 -1
- package/lib/test/feature-libraries/node-key/nodeKeyIndex.bench.js +0 -258
- package/lib/test/feature-libraries/node-key/nodeKeyIndex.bench.js.map +0 -1
- package/lib/test/feature-libraries/node-key/nodeKeyIndex.spec.d.ts +0 -6
- package/lib/test/feature-libraries/node-key/nodeKeyIndex.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/node-key/nodeKeyIndex.spec.js +0 -262
- package/lib/test/feature-libraries/node-key/nodeKeyIndex.spec.js.map +0 -1
- package/lib/test/feature-libraries/objectForest.spec.d.ts +0 -6
- package/lib/test/feature-libraries/objectForest.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/objectForest.spec.js +0 -62
- package/lib/test/feature-libraries/objectForest.spec.js.map +0 -1
- package/lib/test/feature-libraries/optional-field/optionalChangeRebaser.test.d.ts +0 -6
- package/lib/test/feature-libraries/optional-field/optionalChangeRebaser.test.d.ts.map +0 -1
- package/lib/test/feature-libraries/optional-field/optionalChangeRebaser.test.js +0 -352
- package/lib/test/feature-libraries/optional-field/optionalChangeRebaser.test.js.map +0 -1
- package/lib/test/feature-libraries/optional-field/optionalField.spec.d.ts +0 -6
- package/lib/test/feature-libraries/optional-field/optionalField.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/optional-field/optionalField.spec.js +0 -396
- package/lib/test/feature-libraries/optional-field/optionalField.spec.js.map +0 -1
- package/lib/test/feature-libraries/optional-field/optionalFieldChangeCodecs.test.d.ts +0 -6
- package/lib/test/feature-libraries/optional-field/optionalFieldChangeCodecs.test.d.ts.map +0 -1
- package/lib/test/feature-libraries/optional-field/optionalFieldChangeCodecs.test.js +0 -50
- package/lib/test/feature-libraries/optional-field/optionalFieldChangeCodecs.test.js.map +0 -1
- package/lib/test/feature-libraries/optional-field/optionalFieldSnapshots.test.d.ts +0 -6
- package/lib/test/feature-libraries/optional-field/optionalFieldSnapshots.test.d.ts.map +0 -1
- package/lib/test/feature-libraries/optional-field/optionalFieldSnapshots.test.js +0 -59
- package/lib/test/feature-libraries/optional-field/optionalFieldSnapshots.test.js.map +0 -1
- package/lib/test/feature-libraries/optional-field/optionalFieldUtils.d.ts +0 -62
- package/lib/test/feature-libraries/optional-field/optionalFieldUtils.d.ts.map +0 -1
- package/lib/test/feature-libraries/optional-field/optionalFieldUtils.js +0 -232
- package/lib/test/feature-libraries/optional-field/optionalFieldUtils.js.map +0 -1
- package/lib/test/feature-libraries/schema-aware/schemaAware.spec.d.ts +0 -6
- package/lib/test/feature-libraries/schema-aware/schemaAware.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/schema-aware/schemaAware.spec.js +0 -133
- package/lib/test/feature-libraries/schema-aware/schemaAware.spec.js.map +0 -1
- package/lib/test/feature-libraries/schema-aware/schemaComplex.d.ts +0 -16
- package/lib/test/feature-libraries/schema-aware/schemaComplex.d.ts.map +0 -1
- package/lib/test/feature-libraries/schema-aware/schemaComplex.js +0 -40
- package/lib/test/feature-libraries/schema-aware/schemaComplex.js.map +0 -1
- package/lib/test/feature-libraries/schema-aware/schemaSimple.d.ts +0 -13
- package/lib/test/feature-libraries/schema-aware/schemaSimple.d.ts.map +0 -1
- package/lib/test/feature-libraries/schema-aware/schemaSimple.js +0 -28
- package/lib/test/feature-libraries/schema-aware/schemaSimple.js.map +0 -1
- package/lib/test/feature-libraries/schema-index/codec.spec.d.ts +0 -6
- package/lib/test/feature-libraries/schema-index/codec.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/schema-index/codec.spec.js +0 -81
- package/lib/test/feature-libraries/schema-index/codec.spec.js.map +0 -1
- package/lib/test/feature-libraries/schema-index/schemaSummarizer.spec.d.ts +0 -6
- package/lib/test/feature-libraries/schema-index/schemaSummarizer.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/schema-index/schemaSummarizer.spec.js +0 -28
- package/lib/test/feature-libraries/schema-index/schemaSummarizer.spec.js.map +0 -1
- package/lib/test/feature-libraries/schemaBuilder.spec.d.ts +0 -6
- package/lib/test/feature-libraries/schemaBuilder.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/schemaBuilder.spec.js +0 -88
- package/lib/test/feature-libraries/schemaBuilder.spec.js.map +0 -1
- package/lib/test/feature-libraries/sequence-field/compose.test.d.ts +0 -6
- package/lib/test/feature-libraries/sequence-field/compose.test.d.ts.map +0 -1
- package/lib/test/feature-libraries/sequence-field/compose.test.js +0 -1431
- package/lib/test/feature-libraries/sequence-field/compose.test.js.map +0 -1
- package/lib/test/feature-libraries/sequence-field/invert.test.d.ts +0 -6
- package/lib/test/feature-libraries/sequence-field/invert.test.d.ts.map +0 -1
- package/lib/test/feature-libraries/sequence-field/invert.test.js +0 -418
- package/lib/test/feature-libraries/sequence-field/invert.test.js.map +0 -1
- package/lib/test/feature-libraries/sequence-field/markListFactory.test.d.ts +0 -6
- package/lib/test/feature-libraries/sequence-field/markListFactory.test.d.ts.map +0 -1
- package/lib/test/feature-libraries/sequence-field/markListFactory.test.js +0 -239
- package/lib/test/feature-libraries/sequence-field/markListFactory.test.js.map +0 -1
- package/lib/test/feature-libraries/sequence-field/populatedMarks.d.ts +0 -18
- package/lib/test/feature-libraries/sequence-field/populatedMarks.d.ts.map +0 -1
- package/lib/test/feature-libraries/sequence-field/populatedMarks.js +0 -95
- package/lib/test/feature-libraries/sequence-field/populatedMarks.js.map +0 -1
- package/lib/test/feature-libraries/sequence-field/randomChangeGenerator.d.ts +0 -12
- package/lib/test/feature-libraries/sequence-field/randomChangeGenerator.d.ts.map +0 -1
- package/lib/test/feature-libraries/sequence-field/randomChangeGenerator.js +0 -35
- package/lib/test/feature-libraries/sequence-field/randomChangeGenerator.js.map +0 -1
- package/lib/test/feature-libraries/sequence-field/randomChangeGenerator.test.d.ts +0 -6
- package/lib/test/feature-libraries/sequence-field/randomChangeGenerator.test.d.ts.map +0 -1
- package/lib/test/feature-libraries/sequence-field/randomChangeGenerator.test.js +0 -42
- package/lib/test/feature-libraries/sequence-field/randomChangeGenerator.test.js.map +0 -1
- package/lib/test/feature-libraries/sequence-field/rebase.test.d.ts +0 -6
- package/lib/test/feature-libraries/sequence-field/rebase.test.d.ts.map +0 -1
- package/lib/test/feature-libraries/sequence-field/rebase.test.js +0 -1038
- package/lib/test/feature-libraries/sequence-field/rebase.test.js.map +0 -1
- package/lib/test/feature-libraries/sequence-field/relevantRemovedRoots.test.d.ts +0 -6
- package/lib/test/feature-libraries/sequence-field/relevantRemovedRoots.test.d.ts.map +0 -1
- package/lib/test/feature-libraries/sequence-field/relevantRemovedRoots.test.js +0 -211
- package/lib/test/feature-libraries/sequence-field/relevantRemovedRoots.test.js.map +0 -1
- package/lib/test/feature-libraries/sequence-field/sequenceChangeRebaser.test.d.ts +0 -11
- package/lib/test/feature-libraries/sequence-field/sequenceChangeRebaser.test.d.ts.map +0 -1
- package/lib/test/feature-libraries/sequence-field/sequenceChangeRebaser.test.js +0 -784
- package/lib/test/feature-libraries/sequence-field/sequenceChangeRebaser.test.js.map +0 -1
- package/lib/test/feature-libraries/sequence-field/sequenceField.spec.d.ts +0 -6
- package/lib/test/feature-libraries/sequence-field/sequenceField.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/sequence-field/sequenceField.spec.js +0 -36
- package/lib/test/feature-libraries/sequence-field/sequenceField.spec.js.map +0 -1
- package/lib/test/feature-libraries/sequence-field/sequenceFieldCodecs.test.d.ts +0 -6
- package/lib/test/feature-libraries/sequence-field/sequenceFieldCodecs.test.d.ts.map +0 -1
- package/lib/test/feature-libraries/sequence-field/sequenceFieldCodecs.test.js +0 -34
- package/lib/test/feature-libraries/sequence-field/sequenceFieldCodecs.test.js.map +0 -1
- package/lib/test/feature-libraries/sequence-field/sequenceFieldEditor.test.d.ts +0 -6
- package/lib/test/feature-libraries/sequence-field/sequenceFieldEditor.test.d.ts.map +0 -1
- package/lib/test/feature-libraries/sequence-field/sequenceFieldEditor.test.js +0 -38
- package/lib/test/feature-libraries/sequence-field/sequenceFieldEditor.test.js.map +0 -1
- package/lib/test/feature-libraries/sequence-field/sequenceFieldSnapshots.test.d.ts +0 -6
- package/lib/test/feature-libraries/sequence-field/sequenceFieldSnapshots.test.d.ts.map +0 -1
- package/lib/test/feature-libraries/sequence-field/sequenceFieldSnapshots.test.js +0 -34
- package/lib/test/feature-libraries/sequence-field/sequenceFieldSnapshots.test.js.map +0 -1
- package/lib/test/feature-libraries/sequence-field/sequenceFieldToDelta.test.d.ts +0 -6
- package/lib/test/feature-libraries/sequence-field/sequenceFieldToDelta.test.d.ts.map +0 -1
- package/lib/test/feature-libraries/sequence-field/sequenceFieldToDelta.test.js +0 -417
- package/lib/test/feature-libraries/sequence-field/sequenceFieldToDelta.test.js.map +0 -1
- package/lib/test/feature-libraries/sequence-field/sequenceFieldUtils.test.d.ts +0 -6
- package/lib/test/feature-libraries/sequence-field/sequenceFieldUtils.test.d.ts.map +0 -1
- package/lib/test/feature-libraries/sequence-field/sequenceFieldUtils.test.js +0 -40
- package/lib/test/feature-libraries/sequence-field/sequenceFieldUtils.test.js.map +0 -1
- package/lib/test/feature-libraries/sequence-field/testEdits.d.ts +0 -124
- package/lib/test/feature-libraries/sequence-field/testEdits.d.ts.map +0 -1
- package/lib/test/feature-libraries/sequence-field/testEdits.js +0 -270
- package/lib/test/feature-libraries/sequence-field/testEdits.js.map +0 -1
- package/lib/test/feature-libraries/sequence-field/utils.d.ts +0 -106
- package/lib/test/feature-libraries/sequence-field/utils.d.ts.map +0 -1
- package/lib/test/feature-libraries/sequence-field/utils.js +0 -535
- package/lib/test/feature-libraries/sequence-field/utils.js.map +0 -1
- package/lib/test/feature-libraries/storedToViewSchema.spec.d.ts +0 -6
- package/lib/test/feature-libraries/storedToViewSchema.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/storedToViewSchema.spec.js +0 -117
- package/lib/test/feature-libraries/storedToViewSchema.spec.js.map +0 -1
- package/lib/test/feature-libraries/treeCursorUtils.spec.d.ts +0 -6
- package/lib/test/feature-libraries/treeCursorUtils.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/treeCursorUtils.spec.js +0 -237
- package/lib/test/feature-libraries/treeCursorUtils.spec.js.map +0 -1
- package/lib/test/feature-libraries/treeTextCursor.spec.d.ts +0 -6
- package/lib/test/feature-libraries/treeTextCursor.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/treeTextCursor.spec.js +0 -8
- package/lib/test/feature-libraries/treeTextCursor.spec.js.map +0 -1
- package/lib/test/feature-libraries/typedSchema/example.spec.d.ts +0 -6
- package/lib/test/feature-libraries/typedSchema/example.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/typedSchema/example.spec.js +0 -20
- package/lib/test/feature-libraries/typedSchema/example.spec.js.map +0 -1
- package/lib/test/feature-libraries/typedSchema/flexList.spec.d.ts +0 -6
- package/lib/test/feature-libraries/typedSchema/flexList.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/typedSchema/flexList.spec.js +0 -52
- package/lib/test/feature-libraries/typedSchema/flexList.spec.js.map +0 -1
- package/lib/test/feature-libraries/typedSchema/typeUtils.spec.d.ts +0 -6
- package/lib/test/feature-libraries/typedSchema/typeUtils.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/typedSchema/typeUtils.spec.js +0 -10
- package/lib/test/feature-libraries/typedSchema/typeUtils.spec.js.map +0 -1
- package/lib/test/feature-libraries/typedSchema/typedTreeSchema.spec.d.ts +0 -6
- package/lib/test/feature-libraries/typedSchema/typedTreeSchema.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/typedSchema/typedTreeSchema.spec.js +0 -83
- package/lib/test/feature-libraries/typedSchema/typedTreeSchema.spec.js.map +0 -1
- package/lib/test/feature-libraries/valueUtilities.spec.d.ts +0 -6
- package/lib/test/feature-libraries/valueUtilities.spec.d.ts.map +0 -1
- package/lib/test/feature-libraries/valueUtilities.spec.js +0 -69
- package/lib/test/feature-libraries/valueUtilities.spec.js.map +0 -1
- package/lib/test/forestTestSuite.d.ts +0 -26
- package/lib/test/forestTestSuite.d.ts.map +0 -1
- package/lib/test/forestTestSuite.js +0 -793
- package/lib/test/forestTestSuite.js.map +0 -1
- package/lib/test/objMerge.d.ts +0 -24
- package/lib/test/objMerge.d.ts.map +0 -1
- package/lib/test/objMerge.js +0 -181
- package/lib/test/objMerge.js.map +0 -1
- package/lib/test/rebase/findAncestor.spec.d.ts +0 -6
- package/lib/test/rebase/findAncestor.spec.d.ts.map +0 -1
- package/lib/test/rebase/findAncestor.spec.js +0 -139
- package/lib/test/rebase/findAncestor.spec.js.map +0 -1
- package/lib/test/rebase/fuzz.d.ts +0 -16
- package/lib/test/rebase/fuzz.d.ts.map +0 -1
- package/lib/test/rebase/fuzz.js +0 -57
- package/lib/test/rebase/fuzz.js.map +0 -1
- package/lib/test/rebase/generateFuzzyCombinedChange.spec.d.ts +0 -6
- package/lib/test/rebase/generateFuzzyCombinedChange.spec.d.ts.map +0 -1
- package/lib/test/rebase/generateFuzzyCombinedChange.spec.js +0 -42
- package/lib/test/rebase/generateFuzzyCombinedChange.spec.js.map +0 -1
- package/lib/test/rebase/rebaseBranch.spec.d.ts +0 -6
- package/lib/test/rebase/rebaseBranch.spec.d.ts.map +0 -1
- package/lib/test/rebase/rebaseBranch.spec.js +0 -208
- package/lib/test/rebase/rebaseBranch.spec.js.map +0 -1
- package/lib/test/rebase/rebaser.spec.d.ts +0 -14
- package/lib/test/rebase/rebaser.spec.d.ts.map +0 -1
- package/lib/test/rebase/rebaser.spec.js +0 -166
- package/lib/test/rebase/rebaser.spec.js.map +0 -1
- package/lib/test/rebase/revisionTagCodec.spec.d.ts +0 -6
- package/lib/test/rebase/revisionTagCodec.spec.d.ts.map +0 -1
- package/lib/test/rebase/revisionTagCodec.spec.js +0 -56
- package/lib/test/rebase/revisionTagCodec.spec.js.map +0 -1
- package/lib/test/rebase/verifyChangeRebaser.spec.d.ts +0 -6
- package/lib/test/rebase/verifyChangeRebaser.spec.d.ts.map +0 -1
- package/lib/test/rebase/verifyChangeRebaser.spec.js +0 -52
- package/lib/test/rebase/verifyChangeRebaser.spec.js.map +0 -1
- package/lib/test/rebaserAxiomaticTests.d.ts +0 -15
- package/lib/test/rebaserAxiomaticTests.d.ts.map +0 -1
- package/lib/test/rebaserAxiomaticTests.js +0 -202
- package/lib/test/rebaserAxiomaticTests.js.map +0 -1
- package/lib/test/scalableTestTrees.d.ts +0 -89
- package/lib/test/scalableTestTrees.d.ts.map +0 -1
- package/lib/test/scalableTestTrees.js +0 -188
- package/lib/test/scalableTestTrees.js.map +0 -1
- package/lib/test/shared-tree/editing.spec.d.ts +0 -2
- package/lib/test/shared-tree/editing.spec.d.ts.map +0 -1
- package/lib/test/shared-tree/editing.spec.js +0 -2091
- package/lib/test/shared-tree/editing.spec.js.map +0 -1
- package/lib/test/shared-tree/fuzz/anchorStability.fuzz.spec.d.ts +0 -2
- package/lib/test/shared-tree/fuzz/anchorStability.fuzz.spec.d.ts.map +0 -1
- package/lib/test/shared-tree/fuzz/anchorStability.fuzz.spec.js +0 -161
- package/lib/test/shared-tree/fuzz/anchorStability.fuzz.spec.js.map +0 -1
- package/lib/test/shared-tree/fuzz/composeVsIndividual.fuzz.spec.d.ts +0 -2
- package/lib/test/shared-tree/fuzz/composeVsIndividual.fuzz.spec.d.ts.map +0 -1
- package/lib/test/shared-tree/fuzz/composeVsIndividual.fuzz.spec.js +0 -105
- package/lib/test/shared-tree/fuzz/composeVsIndividual.fuzz.spec.js.map +0 -1
- package/lib/test/shared-tree/fuzz/fuzzEditGenerators.d.ts +0 -127
- package/lib/test/shared-tree/fuzz/fuzzEditGenerators.d.ts.map +0 -1
- package/lib/test/shared-tree/fuzz/fuzzEditGenerators.js +0 -439
- package/lib/test/shared-tree/fuzz/fuzzEditGenerators.js.map +0 -1
- package/lib/test/shared-tree/fuzz/fuzzEditReducers.d.ts +0 -21
- package/lib/test/shared-tree/fuzz/fuzzEditReducers.d.ts.map +0 -1
- package/lib/test/shared-tree/fuzz/fuzzEditReducers.js +0 -214
- package/lib/test/shared-tree/fuzz/fuzzEditReducers.js.map +0 -1
- package/lib/test/shared-tree/fuzz/fuzzUtils.d.ts +0 -33
- package/lib/test/shared-tree/fuzz/fuzzUtils.d.ts.map +0 -1
- package/lib/test/shared-tree/fuzz/fuzzUtils.js +0 -78
- package/lib/test/shared-tree/fuzz/fuzzUtils.js.map +0 -1
- package/lib/test/shared-tree/fuzz/operationTypes.d.ts +0 -116
- package/lib/test/shared-tree/fuzz/operationTypes.d.ts.map +0 -1
- package/lib/test/shared-tree/fuzz/operationTypes.js +0 -6
- package/lib/test/shared-tree/fuzz/operationTypes.js.map +0 -1
- package/lib/test/shared-tree/fuzz/topLevel.fuzz.spec.d.ts +0 -2
- package/lib/test/shared-tree/fuzz/topLevel.fuzz.spec.d.ts.map +0 -1
- package/lib/test/shared-tree/fuzz/topLevel.fuzz.spec.js +0 -110
- package/lib/test/shared-tree/fuzz/topLevel.fuzz.spec.js.map +0 -1
- package/lib/test/shared-tree/fuzz/undoRedo.fuzz.spec.d.ts +0 -6
- package/lib/test/shared-tree/fuzz/undoRedo.fuzz.spec.d.ts.map +0 -1
- package/lib/test/shared-tree/fuzz/undoRedo.fuzz.spec.js +0 -220
- package/lib/test/shared-tree/fuzz/undoRedo.fuzz.spec.js.map +0 -1
- package/lib/test/shared-tree/opSize.bench.d.ts +0 -2
- package/lib/test/shared-tree/opSize.bench.d.ts.map +0 -1
- package/lib/test/shared-tree/opSize.bench.js +0 -559
- package/lib/test/shared-tree/opSize.bench.js.map +0 -1
- package/lib/test/shared-tree/schematizeTree.spec.d.ts +0 -6
- package/lib/test/shared-tree/schematizeTree.spec.d.ts.map +0 -1
- package/lib/test/shared-tree/schematizeTree.spec.js +0 -331
- package/lib/test/shared-tree/schematizeTree.spec.js.map +0 -1
- package/lib/test/shared-tree/schematizingTreeView.spec.d.ts +0 -6
- package/lib/test/shared-tree/schematizingTreeView.spec.d.ts.map +0 -1
- package/lib/test/shared-tree/schematizingTreeView.spec.js +0 -137
- package/lib/test/shared-tree/schematizingTreeView.spec.js.map +0 -1
- package/lib/test/shared-tree/sharedTree.bench.d.ts +0 -2
- package/lib/test/shared-tree/sharedTree.bench.d.ts.map +0 -1
- package/lib/test/shared-tree/sharedTree.bench.js +0 -349
- package/lib/test/shared-tree/sharedTree.bench.js.map +0 -1
- package/lib/test/shared-tree/sharedTree.spec.d.ts +0 -2
- package/lib/test/shared-tree/sharedTree.spec.d.ts.map +0 -1
- package/lib/test/shared-tree/sharedTree.spec.js +0 -1375
- package/lib/test/shared-tree/sharedTree.spec.js.map +0 -1
- package/lib/test/shared-tree/sharedTreeChangeCodec.spec.d.ts +0 -6
- package/lib/test/shared-tree/sharedTreeChangeCodec.spec.d.ts.map +0 -1
- package/lib/test/shared-tree/sharedTreeChangeCodec.spec.js +0 -52
- package/lib/test/shared-tree/sharedTreeChangeCodec.spec.js.map +0 -1
- package/lib/test/shared-tree/sharedTreeChangeFamily.spec.d.ts +0 -6
- package/lib/test/shared-tree/sharedTreeChangeFamily.spec.d.ts.map +0 -1
- package/lib/test/shared-tree/sharedTreeChangeFamily.spec.js +0 -139
- package/lib/test/shared-tree/sharedTreeChangeFamily.spec.js.map +0 -1
- package/lib/test/shared-tree/summary.bench.d.ts +0 -6
- package/lib/test/shared-tree/summary.bench.d.ts.map +0 -1
- package/lib/test/shared-tree/summary.bench.js +0 -111
- package/lib/test/shared-tree/summary.bench.js.map +0 -1
- package/lib/test/shared-tree/treeApi.spec.d.ts +0 -2
- package/lib/test/shared-tree/treeApi.spec.d.ts.map +0 -1
- package/lib/test/shared-tree/treeApi.spec.js +0 -151
- package/lib/test/shared-tree/treeApi.spec.js.map +0 -1
- package/lib/test/shared-tree/treeCheckout.spec.d.ts +0 -2
- package/lib/test/shared-tree/treeCheckout.spec.d.ts.map +0 -1
- package/lib/test/shared-tree/treeCheckout.spec.js +0 -678
- package/lib/test/shared-tree/treeCheckout.spec.js.map +0 -1
- package/lib/test/shared-tree/treeView.spec.d.ts +0 -2
- package/lib/test/shared-tree/treeView.spec.d.ts.map +0 -1
- package/lib/test/shared-tree/treeView.spec.js +0 -16
- package/lib/test/shared-tree/treeView.spec.js.map +0 -1
- package/lib/test/shared-tree/undo.spec.d.ts +0 -2
- package/lib/test/shared-tree/undo.spec.d.ts.map +0 -1
- package/lib/test/shared-tree/undo.spec.js +0 -298
- package/lib/test/shared-tree/undo.spec.js.map +0 -1
- package/lib/test/shared-tree-core/branch.spec.d.ts +0 -6
- package/lib/test/shared-tree-core/branch.spec.d.ts.map +0 -1
- package/lib/test/shared-tree-core/branch.spec.js +0 -766
- package/lib/test/shared-tree-core/branch.spec.js.map +0 -1
- package/lib/test/shared-tree-core/edit-manager/editManager.bench.d.ts +0 -6
- package/lib/test/shared-tree-core/edit-manager/editManager.bench.d.ts.map +0 -1
- package/lib/test/shared-tree-core/edit-manager/editManager.bench.js +0 -227
- package/lib/test/shared-tree-core/edit-manager/editManager.bench.js.map +0 -1
- package/lib/test/shared-tree-core/edit-manager/editManager.spec.d.ts +0 -6
- package/lib/test/shared-tree-core/edit-manager/editManager.spec.d.ts.map +0 -1
- package/lib/test/shared-tree-core/edit-manager/editManager.spec.js +0 -13
- package/lib/test/shared-tree-core/edit-manager/editManager.spec.js.map +0 -1
- package/lib/test/shared-tree-core/edit-manager/editManagerCodecs.test.d.ts +0 -6
- package/lib/test/shared-tree-core/edit-manager/editManagerCodecs.test.d.ts.map +0 -1
- package/lib/test/shared-tree-core/edit-manager/editManagerCodecs.test.js +0 -161
- package/lib/test/shared-tree-core/edit-manager/editManagerCodecs.test.js.map +0 -1
- package/lib/test/shared-tree-core/edit-manager/editManagerCorrectness.test.d.ts +0 -6
- package/lib/test/shared-tree-core/edit-manager/editManagerCorrectness.test.d.ts.map +0 -1
- package/lib/test/shared-tree-core/edit-manager/editManagerCorrectness.test.js +0 -568
- package/lib/test/shared-tree-core/edit-manager/editManagerCorrectness.test.js.map +0 -1
- package/lib/test/shared-tree-core/edit-manager/editManagerPerf.test.d.ts +0 -6
- package/lib/test/shared-tree-core/edit-manager/editManagerPerf.test.d.ts.map +0 -1
- package/lib/test/shared-tree-core/edit-manager/editManagerPerf.test.js +0 -442
- package/lib/test/shared-tree-core/edit-manager/editManagerPerf.test.js.map +0 -1
- package/lib/test/shared-tree-core/edit-manager/editManagerScenario.d.ts +0 -80
- package/lib/test/shared-tree-core/edit-manager/editManagerScenario.d.ts.map +0 -1
- package/lib/test/shared-tree-core/edit-manager/editManagerScenario.js +0 -267
- package/lib/test/shared-tree-core/edit-manager/editManagerScenario.js.map +0 -1
- package/lib/test/shared-tree-core/edit-manager/editManagerTestUtils.d.ts +0 -211
- package/lib/test/shared-tree-core/edit-manager/editManagerTestUtils.d.ts.map +0 -1
- package/lib/test/shared-tree-core/edit-manager/editManagerTestUtils.js +0 -130
- package/lib/test/shared-tree-core/edit-manager/editManagerTestUtils.js.map +0 -1
- package/lib/test/shared-tree-core/message.spec.d.ts +0 -2
- package/lib/test/shared-tree-core/message.spec.d.ts.map +0 -1
- package/lib/test/shared-tree-core/message.spec.js +0 -99
- package/lib/test/shared-tree-core/message.spec.js.map +0 -1
- package/lib/test/shared-tree-core/sharedTreeCore.spec.d.ts +0 -2
- package/lib/test/shared-tree-core/sharedTreeCore.spec.d.ts.map +0 -1
- package/lib/test/shared-tree-core/sharedTreeCore.spec.js +0 -316
- package/lib/test/shared-tree-core/sharedTreeCore.spec.js.map +0 -1
- package/lib/test/shared-tree-core/utils.d.ts +0 -19
- package/lib/test/shared-tree-core/utils.d.ts.map +0 -1
- package/lib/test/shared-tree-core/utils.js +0 -26
- package/lib/test/shared-tree-core/utils.js.map +0 -1
- package/lib/test/simple-tree/list.spec.d.ts +0 -6
- package/lib/test/simple-tree/list.spec.d.ts.map +0 -1
- package/lib/test/simple-tree/list.spec.js +0 -613
- package/lib/test/simple-tree/list.spec.js.map +0 -1
- package/lib/test/simple-tree/object.spec.d.ts +0 -6
- package/lib/test/simple-tree/object.spec.d.ts.map +0 -1
- package/lib/test/simple-tree/object.spec.js +0 -390
- package/lib/test/simple-tree/object.spec.js.map +0 -1
- package/lib/test/simple-tree/objectFactory.spec.d.ts +0 -6
- package/lib/test/simple-tree/objectFactory.spec.d.ts.map +0 -1
- package/lib/test/simple-tree/objectFactory.spec.js +0 -210
- package/lib/test/simple-tree/objectFactory.spec.js.map +0 -1
- package/lib/test/simple-tree/primitives.spec.d.ts +0 -6
- package/lib/test/simple-tree/primitives.spec.d.ts.map +0 -1
- package/lib/test/simple-tree/primitives.spec.js +0 -134
- package/lib/test/simple-tree/primitives.spec.js.map +0 -1
- package/lib/test/simple-tree/proxies.spec.d.ts +0 -6
- package/lib/test/simple-tree/proxies.spec.d.ts.map +0 -1
- package/lib/test/simple-tree/proxies.spec.js +0 -597
- package/lib/test/simple-tree/proxies.spec.js.map +0 -1
- package/lib/test/simple-tree/rawObjectNode.spec.d.ts +0 -6
- package/lib/test/simple-tree/rawObjectNode.spec.d.ts.map +0 -1
- package/lib/test/simple-tree/rawObjectNode.spec.js +0 -73
- package/lib/test/simple-tree/rawObjectNode.spec.js.map +0 -1
- package/lib/test/simple-tree/schemaCreationUtilities.spec.d.ts +0 -6
- package/lib/test/simple-tree/schemaCreationUtilities.spec.d.ts.map +0 -1
- package/lib/test/simple-tree/schemaCreationUtilities.spec.js +0 -153
- package/lib/test/simple-tree/schemaCreationUtilities.spec.js.map +0 -1
- package/lib/test/simple-tree/schemaFactory.examples.spec.d.ts +0 -6
- package/lib/test/simple-tree/schemaFactory.examples.spec.d.ts.map +0 -1
- package/lib/test/simple-tree/schemaFactory.examples.spec.js +0 -107
- package/lib/test/simple-tree/schemaFactory.examples.spec.js.map +0 -1
- package/lib/test/simple-tree/schemaFactory.spec.d.ts +0 -6
- package/lib/test/simple-tree/schemaFactory.spec.d.ts.map +0 -1
- package/lib/test/simple-tree/schemaFactory.spec.js +0 -515
- package/lib/test/simple-tree/schemaFactory.spec.js.map +0 -1
- package/lib/test/simple-tree/schemaFactoryRecursive.spec.d.ts +0 -6
- package/lib/test/simple-tree/schemaFactoryRecursive.spec.d.ts.map +0 -1
- package/lib/test/simple-tree/schemaFactoryRecursive.spec.js +0 -282
- package/lib/test/simple-tree/schemaFactoryRecursive.spec.js.map +0 -1
- package/lib/test/simple-tree/schemaTypes.spec.d.ts +0 -6
- package/lib/test/simple-tree/schemaTypes.spec.d.ts.map +0 -1
- package/lib/test/simple-tree/schemaTypes.spec.js +0 -89
- package/lib/test/simple-tree/schemaTypes.spec.js.map +0 -1
- package/lib/test/simple-tree/toFlexSchema.spec.d.ts +0 -6
- package/lib/test/simple-tree/toFlexSchema.spec.d.ts.map +0 -1
- package/lib/test/simple-tree/toFlexSchema.spec.js +0 -30
- package/lib/test/simple-tree/toFlexSchema.spec.js.map +0 -1
- package/lib/test/simple-tree/toMapTree.spec.d.ts +0 -6
- package/lib/test/simple-tree/toMapTree.spec.d.ts.map +0 -1
- package/lib/test/simple-tree/toMapTree.spec.js +0 -423
- package/lib/test/simple-tree/toMapTree.spec.js.map +0 -1
- package/lib/test/simple-tree/tree.spec.d.ts +0 -6
- package/lib/test/simple-tree/tree.spec.d.ts.map +0 -1
- package/lib/test/simple-tree/tree.spec.js +0 -71
- package/lib/test/simple-tree/tree.spec.js.map +0 -1
- package/lib/test/simple-tree/treeApi.spec.d.ts +0 -6
- package/lib/test/simple-tree/treeApi.spec.d.ts.map +0 -1
- package/lib/test/simple-tree/treeApi.spec.js +0 -146
- package/lib/test/simple-tree/treeApi.spec.js.map +0 -1
- package/lib/test/simple-tree/utils.d.ts +0 -16
- package/lib/test/simple-tree/utils.d.ts.map +0 -1
- package/lib/test/simple-tree/utils.js +0 -33
- package/lib/test/simple-tree/utils.js.map +0 -1
- package/lib/test/snapshots/gc.spec.d.ts +0 -6
- package/lib/test/snapshots/gc.spec.d.ts.map +0 -1
- package/lib/test/snapshots/gc.spec.js +0 -106
- package/lib/test/snapshots/gc.spec.js.map +0 -1
- package/lib/test/snapshots/index.d.ts +0 -6
- package/lib/test/snapshots/index.d.ts.map +0 -1
- package/lib/test/snapshots/index.js +0 -6
- package/lib/test/snapshots/index.js.map +0 -1
- package/lib/test/snapshots/schema.spec.d.ts +0 -6
- package/lib/test/snapshots/schema.spec.d.ts.map +0 -1
- package/lib/test/snapshots/schema.spec.js +0 -17
- package/lib/test/snapshots/schema.spec.js.map +0 -1
- package/lib/test/snapshots/snapshotTools.d.ts +0 -25
- package/lib/test/snapshots/snapshotTools.d.ts.map +0 -1
- package/lib/test/snapshots/snapshotTools.js +0 -85
- package/lib/test/snapshots/snapshotTools.js.map +0 -1
- package/lib/test/snapshots/summary.spec.d.ts +0 -6
- package/lib/test/snapshots/summary.spec.d.ts.map +0 -1
- package/lib/test/snapshots/summary.spec.js +0 -26
- package/lib/test/snapshots/summary.spec.js.map +0 -1
- package/lib/test/snapshots/testTrees.d.ts +0 -15
- package/lib/test/snapshots/testTrees.d.ts.map +0 -1
- package/lib/test/snapshots/testTrees.js +0 -374
- package/lib/test/snapshots/testTrees.js.map +0 -1
- package/lib/test/snapshots/utils.d.ts +0 -7
- package/lib/test/snapshots/utils.d.ts.map +0 -1
- package/lib/test/snapshots/utils.js +0 -106
- package/lib/test/snapshots/utils.js.map +0 -1
- package/lib/test/testChange.d.ts +0 -90
- package/lib/test/testChange.d.ts.map +0 -1
- package/lib/test/testChange.js +0 -234
- package/lib/test/testChange.js.map +0 -1
- package/lib/test/testChange.spec.d.ts +0 -6
- package/lib/test/testChange.spec.d.ts.map +0 -1
- package/lib/test/testChange.spec.js +0 -113
- package/lib/test/testChange.spec.js.map +0 -1
- package/lib/test/testTrees.d.ts +0 -56
- package/lib/test/testTrees.d.ts.map +0 -1
- package/lib/test/testTrees.js +0 -175
- package/lib/test/testTrees.js.map +0 -1
- package/lib/test/tree/anchorSet.spec.d.ts +0 -6
- package/lib/test/tree/anchorSet.spec.d.ts.map +0 -1
- package/lib/test/tree/anchorSet.spec.js +0 -593
- package/lib/test/tree/anchorSet.spec.js.map +0 -1
- package/lib/test/tree/detachedFieldIndex.spec.d.ts +0 -11
- package/lib/test/tree/detachedFieldIndex.spec.d.ts.map +0 -1
- package/lib/test/tree/detachedFieldIndex.spec.js +0 -218
- package/lib/test/tree/detachedFieldIndex.spec.js.map +0 -1
- package/lib/test/tree/pathTree.spec.d.ts +0 -6
- package/lib/test/tree/pathTree.spec.d.ts.map +0 -1
- package/lib/test/tree/pathTree.spec.js +0 -122
- package/lib/test/tree/pathTree.spec.js.map +0 -1
- package/lib/test/tree/visitDelta.spec.d.ts +0 -6
- package/lib/test/tree/visitDelta.spec.d.ts.map +0 -1
- package/lib/test/tree/visitDelta.spec.js +0 -1055
- package/lib/test/tree/visitDelta.spec.js.map +0 -1
- package/lib/test/util/brand.spec.d.ts +0 -22
- package/lib/test/util/brand.spec.d.ts.map +0 -1
- package/lib/test/util/brand.spec.js +0 -19
- package/lib/test/util/brand.spec.js.map +0 -1
- package/lib/test/util/deepFreeze.spec.d.ts +0 -6
- package/lib/test/util/deepFreeze.spec.d.ts.map +0 -1
- package/lib/test/util/deepFreeze.spec.js +0 -176
- package/lib/test/util/deepFreeze.spec.js.map +0 -1
- package/lib/test/util/nestedMap.spec.d.ts +0 -6
- package/lib/test/util/nestedMap.spec.d.ts.map +0 -1
- package/lib/test/util/nestedMap.spec.js +0 -190
- package/lib/test/util/nestedMap.spec.js.map +0 -1
- package/lib/test/util/offsetList.spec.d.ts +0 -6
- package/lib/test/util/offsetList.spec.d.ts.map +0 -1
- package/lib/test/util/offsetList.spec.js +0 -35
- package/lib/test/util/offsetList.spec.js.map +0 -1
- package/lib/test/util/testTreeProvider.spec.d.ts +0 -6
- package/lib/test/util/testTreeProvider.spec.d.ts.map +0 -1
- package/lib/test/util/testTreeProvider.spec.js +0 -56
- package/lib/test/util/testTreeProvider.spec.js.map +0 -1
- package/lib/test/util/typeUtils.spec.d.ts +0 -6
- package/lib/test/util/typeUtils.spec.d.ts.map +0 -1
- package/lib/test/util/typeUtils.spec.js +0 -19
- package/lib/test/util/typeUtils.spec.js.map +0 -1
- package/lib/test/util/utils.spec.d.ts +0 -6
- package/lib/test/util/utils.spec.d.ts.map +0 -1
- package/lib/test/util/utils.spec.js +0 -27
- package/lib/test/util/utils.spec.js.map +0 -1
- package/lib/test/utils.d.ts +0 -313
- package/lib/test/utils.d.ts.map +0 -1
- package/lib/test/utils.js +0 -765
- package/lib/test/utils.js.map +0 -1
- package/lib/tree-alpha.d.ts +0 -2159
- package/lib/tree-beta.d.ts +0 -2159
- package/lib/tree-public.d.ts +0 -1942
- package/lib/tree-untrimmed.d.ts +0 -6880
- package/src/simple-tree/flexNode.ts +0 -96
- package/src/simple-tree/treeArrayNode.ts +0 -70
- /package/dist/{feature-libraries → core/schema-stored}/multiplicity.d.ts +0 -0
- /package/lib/{feature-libraries → core/schema-stored}/multiplicity.d.ts +0 -0
- /package/lib/{feature-libraries → core/schema-stored}/multiplicity.js +0 -0
- /package/{dist → lib}/tsdoc-metadata.json +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"editManagerPerf.test.js","sourceRoot":"","sources":["../../../../src/test/shared-tree-core/edit-manager/editManagerPerf.test.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,QAAQ,CAAC;AAG1C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EACN,UAAU,EACV,4BAA4B,EAC5B,4BAA4B,EAC5B,iBAAiB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EACN,4BAA4B,EAC5B,sCAAsC,EACtC,8BAA8B,EAC9B,6BAA6B,GAC7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,KAAK,GAAc,GAAgB,CAAC;AAC1C,MAAM,KAAK,GAAc,GAAgB,CAAC;AAE1C,MAAM,UAAU,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;QACrB,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;YAC3C,mBAAmB,CAClB,qEAAqE,EACrE;gBACC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC7C,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC7C,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC7C,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC7C,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC7C,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC7C,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;aAC7C,EACD,IAAI,4BAA4B,EAAE,CAClC,CAAC;YACF,mBAAmB,CAClB,kHAAkH,EAClH;gBACC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;gBACxB,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;gBACxB,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;gBACxB,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;gBACvB,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;gBACvB,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC7C,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;aACvB,EACD,IAAI,4BAA4B,CAC/B,CAAC,MAAkB,EAAE,IAA8B,EAAW,EAAE;gBAC/D,6CAA6C;gBAC7C,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9C,OAAO,IAAI,CAAC;YACb,CAAC,CACD,CACD,CAAC;YACF,mBAAmB,CAClB,wHAAwH,EACxH;gBACC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC7C,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC7C,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC7C,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;aAC7C,EACD,IAAI,4BAA4B,CAC/B,CAAC,MAAkB,EAAE,IAA8B,EAAW,EAAE;gBAC/D,6CAA6C;gBAC7C,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9C,OAAO,IAAI,CAAC;YACb,CAAC,CACD,CACD,CAAC;QACH,CAAC,CAAC,CAAC;QAOH,MAAM,SAAS,GAAe;YAC7B,EAAE,gBAAgB,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE;YAC1C,EAAE,gBAAgB,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE;YAC3C,EAAE,gBAAgB,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE;YAC3C,EAAE,gBAAgB,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE;SAC1C,CAAC;QAEF,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;YACtC,KAAK,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,SAAS,EAAE;gBACnE,+DAA+D;gBAC/D,2DAA2D;gBAC3D,kDAAkD;gBAClD,2DAA2D;gBAC3D,oCAAoC;gBACpC,2DAA2D;gBAC3D,8CAA8C;gBAC9C,8DAA8D;gBAC9D,0DAA0D;gBAC1D,sBAAsB;gBACtB,oCAAoC;gBACpC,0EAA0E;gBAC1E,QAAQ;gBACR,oCAAoC;gBACpC,uEAAuE;gBACvE,sBAAsB;gBACtB,oCAAoC;gBACpC,EAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,GAAG,EAAE;oBAC5D,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC;oBACxC,MAAM,OAAO,GAAG,4BAA4B,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;oBAClE,MAAM,GAAG,GAAG,8BAA8B,CACzC,CAAC,EACD,CAAC,EACD,OAAO,EACP,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,EAC5B,IAAI,CACJ,CAAC;oBACF,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC;oBACzB,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;oBAC1B,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;oBAC1B,GAAG,EAAE,CAAC;oBACN,MAAM,MAAM,GAAG;wBACd,OAAO,EAAE,OAAO,CAAC,YAAY;wBAC7B,QAAQ,EAAE,OAAO,CAAC,aAAa;wBAC/B,QAAQ,EAAE,OAAO,CAAC,aAAa;qBAC/B,CAAC;oBACF,MAAM,QAAQ,GAAG;wBAChB,6DAA6D;wBAC7D,2EAA2E;wBAC3E,iDAAiD;wBACjD,2BAA2B;wBAC3B,yDAAyD;wBACzD,+CAA+C;wBAC/C,yCAAyC;wBACzC,iDAAiD;wBACjD,uBAAuB;wBACvB,OAAO,EAAE,CAAC,GAAG,CAAC;wBACd,6DAA6D;wBAC7D,sDAAsD;wBACtD,wCAAwC;wBACxC,iDAAiD;wBACjD,QAAQ,EAAE,CAAC,GAAG,CAAC;wBACf,6DAA6D;wBAC7D,qCAAqC;wBACrC,4DAA4D;wBAC5D,yCAAyC;wBACzC,oCAAoC;wBACpC,iDAAiD;wBACjD,+DAA+D;wBAC/D,8CAA8C;wBAC9C,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;qBACzB,CAAC;oBACF,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;aACH;QACF,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAClE,KAAK,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,SAAS,EAAE;gBACnE,+DAA+D;gBAC/D,2DAA2D;gBAC3D,8CAA8C;gBAC9C,8DAA8D;gBAC9D,oCAAoC;gBACpC,0DAA0D;gBAC1D,kDAAkD;gBAClD,0DAA0D;gBAC1D,0DAA0D;gBAC1D,sBAAsB;gBACtB,oCAAoC;gBACpC,0EAA0E;gBAC1E,sBAAsB;gBACtB,SAAS;gBACT,uEAAuE;gBACvE,oCAAoC;gBACpC,qCAAqC;gBACrC,EAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,GAAG,EAAE;oBAC3D,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC;oBACxC,MAAM,OAAO,GAAG,4BAA4B,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;oBAClE,MAAM,GAAG,GAAG,6BAA6B,CACxC,CAAC,EACD,CAAC,EACD,OAAO,EACP,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,EAC5B,IAAI,CACJ,CAAC;oBACF,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC;oBACzB,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;oBAC1B,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;oBAC1B,GAAG,EAAE,CAAC;oBACN,MAAM,MAAM,GAAG;wBACd,OAAO,EAAE,OAAO,CAAC,YAAY;wBAC7B,QAAQ,EAAE,OAAO,CAAC,aAAa;wBAC/B,QAAQ,EAAE,OAAO,CAAC,aAAa;qBAC/B,CAAC;oBACF,MAAM,QAAQ,GAAG;wBAChB,iEAAiE;wBACjE,gDAAgD;wBAChD,gEAAgE;wBAChE,kEAAkE;wBAClE,4EAA4E;wBAC5E,yDAAyD;wBACzD,0DAA0D;wBAC1D,0CAA0C;wBAC1C,yBAAyB;wBACzB,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBACxB,iEAAiE;wBACjE,wCAAwC;wBACxC,wCAAwC;wBACxC,0DAA0D;wBAC1D,mCAAmC;wBACnC,2FAA2F;wBAC3F,sCAAsC;wBACtC,QAAQ,EAAE,CAAC,GAAG,CAAC;wBACf,gEAAgE;wBAChE,yCAAyC;wBACzC,iDAAiD;wBACjD,oDAAoD;wBACpD,oFAAoF;wBACpF,QAAQ,EAAE,CAAC;qBACX,CAAC;oBACF,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;aACH;QACF,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,qEAAqE,EAAE,GAAG,EAAE;YACpF,KAAK,MAAM,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;gBACnC,+DAA+D;gBAC/D,2DAA2D;gBAC3D,8CAA8C;gBAC9C,8DAA8D;gBAC9D,oCAAoC;gBACpC,0DAA0D;gBAC1D,8CAA8C;gBAC9C,6DAA6D;gBAC7D,0DAA0D;gBAC1D,6BAA6B;gBAC7B,gDAAgD;gBAChD,uCAAuC;gBACvC,kCAAkC;gBAClC,0EAA0E;gBAC1E,6BAA6B;gBAC7B,SAAS;gBACT,uEAAuE;gBACvE,gDAAgD;gBAChD,iDAAiD;gBACjD,EAAE,CAAC,OAAO,SAAS,qBAAqB,SAAS,gBAAgB,EAAE,GAAG,EAAE;oBACvE,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC;oBACxC,MAAM,OAAO,GAAG,4BAA4B,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;oBAClE,MAAM,GAAG,GAAG,sCAAsC,CACjD,SAAS,EACT,OAAO,EACP,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,EAC5B,IAAI,CACJ,CAAC;oBACF,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC;oBACzB,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;oBAC1B,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;oBAC1B,GAAG,EAAE,CAAC;oBACN,MAAM,MAAM,GAAG;wBACd,OAAO,EAAE,OAAO,CAAC,YAAY;wBAC7B,QAAQ,EAAE,OAAO,CAAC,aAAa;wBAC/B,QAAQ,EAAE,OAAO,CAAC,aAAa;qBAC/B,CAAC;oBACF,MAAM,CAAC,GAAG,SAAS,CAAC;oBACpB,MAAM,CAAC,GAAG,SAAS,CAAC;oBACpB,MAAM,QAAQ,GAAG;wBAChB,0EAA0E;wBAC1E,mEAAmE;wBACnE,2DAA2D;wBAC3D,6EAA6E;wBAC7E,mDAAmD;wBACnD,6BAA6B;wBAC7B,2DAA2D;wBAC3D,iDAAiD;wBACjD,qFAAqF;wBACrF,0DAA0D;wBAC1D,kCAAkC;wBAClC,wCAAwC;wBACxC,iEAAiE;wBACjE,gDAAgD;wBAChD,gEAAgE;wBAChE,4EAA4E;wBAC5E,4EAA4E;wBAC5E,wDAAwD;wBACxD,0DAA0D;wBAC1D,uCAAuC;wBACvC,yCAAyC;wBACzC,qCAAqC;wBACrC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBACxB,0EAA0E;wBAC1E,yDAAyD;wBACzD,oDAAoD;wBACpD,mCAAmC;wBACnC,oCAAoC;wBACpC,iEAAiE;wBACjE,4DAA4D;wBAC5D,oDAAoD;wBACpD,mCAAmC;wBACnC,oCAAoC;wBACpC,qBAAqB;wBACrB,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;wBACrB,0EAA0E;wBAC1E,qCAAqC;wBACrC,gEAAgE;wBAChE,qCAAqC;wBACrC,2CAA2C;wBAC3C,sCAAsC;wBACtC,mDAAmD;wBACnD,sEAAsE;wBACtE,+DAA+D;wBAC/D,iEAAiE;wBACjE,mCAAmC;wBACnC,mCAAmC;wBACnC,kCAAkC;wBAClC,kFAAkF;wBAClF,wCAAwC;wBACxC,uDAAuD;wBACvD,kDAAkD;wBAClD,qCAAqC;wBACrC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;qBAClC,CAAC;oBACF,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;aACH;QACF,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAClE,QAAQ,CAAC,0FAA0F,EAAE,GAAG,EAAE;gBACzG,KAAK,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,SAAS,EAAE;oBACnE,+DAA+D;oBAC/D,2DAA2D;oBAC3D,8CAA8C;oBAC9C,8DAA8D;oBAC9D,0DAA0D;oBAC1D,kDAAkD;oBAClD,0DAA0D;oBAC1D,oCAAoC;oBACpC,2DAA2D;oBAC3D,0DAA0D;oBAC1D,sBAAsB;oBACtB,yCAAyC;oBACzC,oCAAoC;oBACpC,0EAA0E;oBAC1E,oCAAoC;oBACpC,oCAAoC;oBACpC,uEAAuE;oBACvE,yCAAyC;oBACzC,0CAA0C;oBAC1C,EAAE,CAAC,oCAAoC,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,GAAG,EAAE;wBACtF,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC;wBACxC,MAAM,OAAO,GAAG,4BAA4B,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;wBAClE,6BAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;wBAC3E,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC;wBACzB,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;wBAC1B,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;wBAC1B,OAAO,CAAC,kBAAkB,CACzB;4BACC,MAAM,EAAE,UAAU,CAAC,WAAW;4BAC9B,QAAQ,EAAE,eAAe,EAAE;4BAC3B,SAAS,EAAE,MAAmB;yBAC9B,EACD,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAChB,KAAK,CAAC,CAAC,CAAC,CACR,CAAC;wBACF,MAAM,MAAM,GAAG;4BACd,OAAO,EAAE,OAAO,CAAC,YAAY;4BAC7B,QAAQ,EAAE,OAAO,CAAC,aAAa;4BAC/B,QAAQ,EAAE,OAAO,CAAC,aAAa;yBAC/B,CAAC;wBACF,MAAM,QAAQ,GAAG;4BAChB,uEAAuE;4BACvE,4DAA4D;4BAC5D,wCAAwC;4BACxC,kDAAkD;4BAClD,yDAAyD;4BACzD,wCAAwC;4BACxC,OAAO,EAAE,CAAC;4BACV,uEAAuE;4BACvE,4DAA4D;4BAC5D,yCAAyC;4BACzC,uCAAuC;4BACvC,wCAAwC;4BACxC,qCAAqC;4BACrC,QAAQ,EAAE,CAAC;4BACX,qFAAqF;4BACrF,yBAAyB;4BACzB,4DAA4D;4BAC5D,yCAAyC;4BACzC,oCAAoC;4BACpC,iDAAiD;4BACjD,4DAA4D;4BAC5D,gDAAgD;4BAChD,sDAAsD;4BACtD,+BAA+B;4BAC/B,oFAAoF;4BACpF,qBAAqB;4BACrB,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;yBACvB,CAAC;wBACF,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;oBACpC,CAAC,CAAC,CAAC;iBACH;YACF,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,gHAAgH,EAAE,GAAG,EAAE;gBAC/H,KAAK,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,SAAS,EAAE;oBACnE,+DAA+D;oBAC/D,2DAA2D;oBAC3D,8CAA8C;oBAC9C,8DAA8D;oBAC9D,4DAA4D;oBAC5D,0DAA0D;oBAC1D,kDAAkD;oBAClD,0DAA0D;oBAC1D,oCAAoC;oBACpC,2DAA2D;oBAC3D,0DAA0D;oBAC1D,2BAA2B;oBAC3B,8CAA8C;oBAC9C,yCAAyC;oBACzC,0EAA0E;oBAC1E,2BAA2B;oBAC3B,yCAAyC;oBACzC,uEAAuE;oBACvE,8CAA8C;oBAC9C,0CAA0C;oBAC1C,EAAE,CAAC,oCAAoC,CAAC,uBAAuB,CAAC,kBAAkB,EAAE,GAAG,EAAE;wBACxF,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC;wBACxC,MAAM,OAAO,GAAG,4BAA4B,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;wBAClE,6BAA6B,CAC5B,CAAC,EACD,CAAC,GAAG,CAAC,EACL,OAAO,EACP,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,CAC5B,CAAC;wBACF,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC;wBACzB,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;wBAC1B,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;wBAC1B,OAAO,CAAC,kBAAkB,CACzB;4BACC,MAAM,EAAE,UAAU,CAAC,WAAW;4BAC9B,QAAQ,EAAE,eAAe,EAAE;4BAC3B,SAAS,EAAE,MAAmB;yBAC9B,EACD,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAChB,KAAK,CAAC,CAAC,CAAC,CACR,CAAC;wBACF,MAAM,MAAM,GAAG;4BACd,OAAO,EAAE,OAAO,CAAC,YAAY;4BAC7B,QAAQ,EAAE,OAAO,CAAC,aAAa;4BAC/B,QAAQ,EAAE,OAAO,CAAC,aAAa;yBAC/B,CAAC;wBACF,MAAM,QAAQ,GAAG;4BAChB,uEAAuE;4BACvE,4DAA4D;4BAC5D,6EAA6E;4BAC7E,mDAAmD;4BACnD,4BAA4B;4BAC5B,2DAA2D;4BAC3D,iDAAiD;4BACjD,iDAAiD;4BACjD,0BAA0B;4BAC1B,yBAAyB;4BACzB,mDAAmD;4BACnD,uCAAuC;4BACvC,2CAA2C;4BAC3C,uEAAuE;4BACvE,uCAAuC;4BACvC,oCAAoC;4BACpC,qCAAqC;4BACrC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;4BAClB,uCAAuC;4BACvC,iBAAiB;4BACjB,0CAA0C;4BAC1C,sCAAsC;4BACtC,4BAA4B;4BAC5B,kDAAkD;4BAClD,iBAAiB;4BACjB,0CAA0C;4BAC1C,uCAAuC;4BACvC,4BAA4B;4BAC5B,qBAAqB;4BACrB,QAAQ,EAAE,CAAC,GAAG,CAAC;4BACf,qFAAqF;4BACrF,yBAAyB;4BACzB,4DAA4D;4BAC5D,yCAAyC;4BACzC,oCAAoC;4BACpC,iDAAiD;4BACjD,4DAA4D;4BAC5D,gDAAgD;4BAChD,wCAAwC;4BACxC,kBAAkB;4BAClB,oCAAoC;4BACpC,kCAAkC;4BAClC,oFAAoF;4BACpF,qBAAqB;4BACrB,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;yBACvB,CAAC;wBACF,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;oBACpC,CAAC,CAAC,CAAC;iBACH;YACF,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { strict as assert } from \"assert\";\nimport { SessionId } from \"@fluidframework/id-compressor\";\nimport { TaggedChange } from \"../../../core/index.js\";\nimport { brand } from \"../../../util/index.js\";\nimport {\n\tTestChange,\n\tUnrebasableTestChangeRebaser,\n\tConstrainedTestChangeRebaser,\n\tNoOpChangeRebaser,\n} from \"../../testChange.js\";\nimport { mintRevisionTag } from \"../../utils.js\";\nimport {\n\ttestChangeEditManagerFactory,\n\trebaseAdvancingPeerEditsOverTrunkEdits,\n\trebaseLocalEditsOverTrunkEdits,\n\trebasePeerEditsOverTrunkEdits,\n} from \"./editManagerTestUtils.js\";\nimport { runUnitTestScenario } from \"./editManagerScenario.js\";\n\nconst peer1: SessionId = \"1\" as SessionId;\nconst peer2: SessionId = \"2\" as SessionId;\n\nexport function testPerf() {\n\tdescribe(\"Perf\", () => {\n\t\tdescribe(\"Avoids unnecessary rebases\", () => {\n\t\t\trunUnitTestScenario(\n\t\t\t\t\"Sequenced changes that are based on the trunk should not be rebased\",\n\t\t\t\t[\n\t\t\t\t\t{ seq: 1, type: \"Pull\", ref: 0, from: peer1 },\n\t\t\t\t\t{ seq: 2, type: \"Pull\", ref: 0, from: peer1 },\n\t\t\t\t\t{ seq: 3, type: \"Pull\", ref: 0, from: peer1 },\n\t\t\t\t\t{ seq: 4, type: \"Pull\", ref: 3, from: peer2 },\n\t\t\t\t\t{ seq: 5, type: \"Pull\", ref: 4, from: peer2 },\n\t\t\t\t\t{ seq: 6, type: \"Pull\", ref: 5, from: peer1 },\n\t\t\t\t\t{ seq: 7, type: \"Pull\", ref: 5, from: peer1 },\n\t\t\t\t],\n\t\t\t\tnew UnrebasableTestChangeRebaser(),\n\t\t\t);\n\t\t\trunUnitTestScenario(\n\t\t\t\t\"Sequenced local changes should not be rebased over prior local changes if those earlier changes were not rebased\",\n\t\t\t\t[\n\t\t\t\t\t{ seq: 1, type: \"Push\" },\n\t\t\t\t\t{ seq: 2, type: \"Push\" },\n\t\t\t\t\t{ seq: 4, type: \"Push\" },\n\t\t\t\t\t{ seq: 1, type: \"Ack\" },\n\t\t\t\t\t{ seq: 2, type: \"Ack\" },\n\t\t\t\t\t{ seq: 3, type: \"Pull\", ref: 2, from: peer2 },\n\t\t\t\t\t{ seq: 4, type: \"Ack\" },\n\t\t\t\t],\n\t\t\t\tnew ConstrainedTestChangeRebaser(\n\t\t\t\t\t(change: TestChange, over: TaggedChange<TestChange>): boolean => {\n\t\t\t\t\t\t// This is the only rebase that should happen\n\t\t\t\t\t\tassert.deepEqual(change.intentions, [4]);\n\t\t\t\t\t\tassert.deepEqual(over.change.intentions, [3]);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t},\n\t\t\t\t),\n\t\t\t);\n\t\t\trunUnitTestScenario(\n\t\t\t\t\"Sequenced peer changes should not be rebased over changes from the same peer if those earlier changes were not rebased\",\n\t\t\t\t[\n\t\t\t\t\t{ seq: 1, type: \"Pull\", ref: 0, from: peer1 },\n\t\t\t\t\t{ seq: 2, type: \"Pull\", ref: 0, from: peer1 },\n\t\t\t\t\t{ seq: 3, type: \"Pull\", ref: 2, from: peer2 },\n\t\t\t\t\t{ seq: 4, type: \"Pull\", ref: 0, from: peer1 },\n\t\t\t\t],\n\t\t\t\tnew ConstrainedTestChangeRebaser(\n\t\t\t\t\t(change: TestChange, over: TaggedChange<TestChange>): boolean => {\n\t\t\t\t\t\t// This is the only rebase that should happen\n\t\t\t\t\t\tassert.deepEqual(change.intentions, [4]);\n\t\t\t\t\t\tassert.deepEqual(over.change.intentions, [3]);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t},\n\t\t\t\t),\n\t\t\t);\n\t\t});\n\n\t\tinterface Scenario {\n\t\t\treadonly rebasedEditCount: number;\n\t\t\treadonly trunkEditCount: number;\n\t\t}\n\n\t\tconst scenarios: Scenario[] = [\n\t\t\t{ rebasedEditCount: 1, trunkEditCount: 1 },\n\t\t\t{ rebasedEditCount: 10, trunkEditCount: 1 },\n\t\t\t{ rebasedEditCount: 1, trunkEditCount: 10 },\n\t\t\t{ rebasedEditCount: 7, trunkEditCount: 3 },\n\t\t];\n\n\t\tdescribe(\"Local commit rebasing\", () => {\n\t\t\tfor (const { rebasedEditCount: L, trunkEditCount: T } of scenarios) {\n\t\t\t\t// This test simulates the following inputs to the EditManager:\n\t\t\t\t// - Add local edit L1 with a ref seq# pointing to edit 0\n\t\t\t\t// ...(not incrementing the ref seq# for each L)\n\t\t\t\t// - Add local edit Lc with a ref seq# pointing to edit 0\n\t\t\t\t// => we start measuring from here\n\t\t\t\t// - Add trunk edit T1 with a ref seq# pointing to edit 0\n\t\t\t\t// ...(incrementing the ref seq# for each T)\n\t\t\t\t// - Add trunk edit Tc with a ref seq# pointing to edit Tc-1\n\t\t\t\t// This defines the following relationships between edits:\n\t\t\t\t// (0)─(T1)─...─(Tc)\n\t\t\t\t// └───────────────(L1)─...─(Lc)\n\t\t\t\t// Before we start measuring, the EditManager has the following structure:\n\t\t\t\t// (0)\n\t\t\t\t// └───────────────(L1)─...─(Lc)\n\t\t\t\t// By the end of the test, the EditManager has the following structure:\n\t\t\t\t// (0)─(T1)─...─(Tc)\n\t\t\t\t// └─(L1)─...─(Lc)\n\t\t\t\tit(`Rebase ${L} local commits over ${T} trunk commits`, () => {\n\t\t\t\t\tconst rebaser = new NoOpChangeRebaser();\n\t\t\t\t\tconst manager = testChangeEditManagerFactory({ rebaser }).manager;\n\t\t\t\t\tconst run = rebaseLocalEditsOverTrunkEdits(\n\t\t\t\t\t\tL,\n\t\t\t\t\t\tT,\n\t\t\t\t\t\tmanager,\n\t\t\t\t\t\t() => TestChange.emptyChange,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t);\n\t\t\t\t\trebaser.rebasedCount = 0;\n\t\t\t\t\trebaser.invertedCount = 0;\n\t\t\t\t\trebaser.composedCount = 0;\n\t\t\t\t\trun();\n\t\t\t\t\tconst actual = {\n\t\t\t\t\t\trebased: rebaser.rebasedCount,\n\t\t\t\t\t\tinverted: rebaser.invertedCount,\n\t\t\t\t\t\tcomposed: rebaser.composedCount,\n\t\t\t\t\t};\n\t\t\t\t\tconst expected = {\n\t\t\t\t\t\t// As part of rebasing the local branch over the trunk edits,\n\t\t\t\t\t\t// the Ith local edit on the branch is rebased over the composition of...\n\t\t\t\t\t\t// - the inverse of each local edit before it\n\t\t\t\t\t\t// - the new trunk edit\n\t\t\t\t\t\t// - the rebased version of each local edit before it\n\t\t\t\t\t\t// This adds up to 1 rebase for the Ith edit.\n\t\t\t\t\t\t// Summing over all L edits gives us: L\n\t\t\t\t\t\t// Summing over all T branch rebases gives us: TL\n\t\t\t\t\t\t// Which simplifies to:\n\t\t\t\t\t\trebased: T * L,\n\t\t\t\t\t\t// As part of rebasing the local branch over the trunk edits,\n\t\t\t\t\t\t// the Ith local edit on the branch is inverted once\n\t\t\t\t\t\t// Summing over all L edits gives us L\n\t\t\t\t\t\t// Summing over all T branch rebases gives us: TL\n\t\t\t\t\t\tinverted: T * L,\n\t\t\t\t\t\t// As part of rebasing the local branch over the trunk edits,\n\t\t\t\t\t\t// we compose the new trunk edit: 1\n\t\t\t\t\t\t// then for the Ith local edit on the branch we compose...\n\t\t\t\t\t\t// - the inverse of the local edit: 1\n\t\t\t\t\t\t// - the previous composition: 1\n\t\t\t\t\t\t// - the rebased version of the local edit: 1\n\t\t\t\t\t\t// This adds up to 3L + 1 changes composed per branch rebase.\n\t\t\t\t\t\t// Summing over all T branch rebases gives us:\n\t\t\t\t\t\tcomposed: T * (3 * L + 1),\n\t\t\t\t\t};\n\t\t\t\t\tassert.deepEqual(actual, expected);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tdescribe(\"Peer commit rebasing for peer with fixed seq ref#\", () => {\n\t\t\tfor (const { rebasedEditCount: P, trunkEditCount: T } of scenarios) {\n\t\t\t\t// This test simulates the following inputs to the EditManager:\n\t\t\t\t// - Add trunk edit T1 with a ref seq# pointing to edit 0\n\t\t\t\t// ...(incrementing the ref seq# for each T)\n\t\t\t\t// - Add trunk edit Tc with a ref seq# pointing to edit Tc-1\n\t\t\t\t// => we start measuring from here\n\t\t\t\t// - Add peer edit P1 with a ref seq# pointing to edit 0\n\t\t\t\t// ...(not incrementing the ref seq# for each P)\n\t\t\t\t// - Add peer edit Pc with a ref seq# pointing to edit 0\n\t\t\t\t// This defines the following relationships between edits:\n\t\t\t\t// (0)─(T1)─...─(Tc)\n\t\t\t\t// └───────────────(P1)─...─(Pc)\n\t\t\t\t// Before we start measuring, the EditManager has the following structure:\n\t\t\t\t// (0)─(T1)─...─(Tc)\n\t\t\t\t// └─\n\t\t\t\t// By the end of the test, the EditManager has the following structure:\n\t\t\t\t// (0)─(T1)─...─(Tc)─(P1)─...─(Pc)\n\t\t\t\t// └─\n\t\t\t\tit(`Rebase ${P} peer commits over ${T} trunk commits`, () => {\n\t\t\t\t\tconst rebaser = new NoOpChangeRebaser();\n\t\t\t\t\tconst manager = testChangeEditManagerFactory({ rebaser }).manager;\n\t\t\t\t\tconst run = rebasePeerEditsOverTrunkEdits(\n\t\t\t\t\t\tP,\n\t\t\t\t\t\tT,\n\t\t\t\t\t\tmanager,\n\t\t\t\t\t\t() => TestChange.emptyChange,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t);\n\t\t\t\t\trebaser.rebasedCount = 0;\n\t\t\t\t\trebaser.invertedCount = 0;\n\t\t\t\t\trebaser.composedCount = 0;\n\t\t\t\t\trun();\n\t\t\t\t\tconst actual = {\n\t\t\t\t\t\trebased: rebaser.rebasedCount,\n\t\t\t\t\t\tinverted: rebaser.invertedCount,\n\t\t\t\t\t\tcomposed: rebaser.composedCount,\n\t\t\t\t\t};\n\t\t\t\t\tconst expected = {\n\t\t\t\t\t\t// As part of rebasing the new peer edit to the tip of the trunk,\n\t\t\t\t\t\t// For the Ith peer edit, we rebase it over...\n\t\t\t\t\t\t// - the inverse of the peer edits on the peer branch: I - 1\n\t\t\t\t\t\t// - the trunk edits that were not contributed by that peer: T\n\t\t\t\t\t\t// - the the rebased version of the peer edits (now on the trunk): I - 1\n\t\t\t\t\t\t// This adds up to T + 2I - 2 rebases for the Ith edit.\n\t\t\t\t\t\t// Summing over all P edits transforms I into P(P + 1)/2\n\t\t\t\t\t\t// Which gives us: PT + 2P(P + 1)/2 - 2P\n\t\t\t\t\t\t// Which simplifies to:\n\t\t\t\t\t\trebased: P * (T + P - 1),\n\t\t\t\t\t\t// As part of rebasing the new peer edit to the tip of the trunk,\n\t\t\t\t\t\t// For the Ith peer edit, we invert...\n\t\t\t\t\t\t// - each peer edit before it: I - 1\n\t\t\t\t\t\t// Summing over all P edits transforms I into P(P + 1)/2\n\t\t\t\t\t\t// Which gives us: P(P + 1)/2 - 1\n\t\t\t\t\t\t// However, we cache the inverse of each change, so overall we only invert once each peer\n\t\t\t\t\t\t// edit that has peer edit after it.\n\t\t\t\t\t\tinverted: P - 1,\n\t\t\t\t\t\t// As part of rebasing the local branch edit over the peer edit,\n\t\t\t\t\t\t// For the Ith peer edit, we compose...\n\t\t\t\t\t\t// - the rebased version of that peer edit: 1\n\t\t\t\t\t\t// Summing over all P edits transforms gives us: P\n\t\t\t\t\t\t// Note: this composition is only needed to bake the RevisionTag into the changeset.\n\t\t\t\t\t\tcomposed: P,\n\t\t\t\t\t};\n\t\t\t\t\tassert.deepEqual(actual, expected);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tdescribe(\"Peer commit rebasing for peer with advancing (but not tip) seq ref#\", () => {\n\t\t\tfor (const editCount of [1, 2, 10]) {\n\t\t\t\t// This test simulates the following inputs to the EditManager:\n\t\t\t\t// - Add trunk edit T1 with a ref seq# pointing to edit 0\n\t\t\t\t// ...(incrementing the ref seq# for each T)\n\t\t\t\t// - Add trunk edit Tc with a ref seq# pointing to edit Tc-1\n\t\t\t\t// => we start measuring from here\n\t\t\t\t// - Add peer edit P1 with a ref seq# pointing to edit 0\n\t\t\t\t// ...(incrementing the ref seq# for each P)\n\t\t\t\t// - Add peer edit Pc with a ref seq# pointing to edit Tc-1\n\t\t\t\t// This defines the following relationships between edits:\n\t\t\t\t// (0)─(T1)─...─(Tc─1)─(Tc)\n\t\t\t\t// | | └──────(P1)─(P2)─...─(Pc)\n\t\t\t\t// | └─────────────────(P1)─(P2)\n\t\t\t\t// └──────────────────────(P1)\n\t\t\t\t// Before we start measuring, the EditManager has the following structure:\n\t\t\t\t// (0)─(T1)─...─(Tc─1)─(Tc)\n\t\t\t\t// └─\n\t\t\t\t// By the end of the test, the EditManager has the following structure:\n\t\t\t\t// (0)─(T1)─...─(Tc─1)─(Tc)─(P1)─(P2)─...─(Pc)\n\t\t\t\t// └─\n\t\t\t\tit(`for ${editCount} peer commits and ${editCount} trunk commits`, () => {\n\t\t\t\t\tconst rebaser = new NoOpChangeRebaser();\n\t\t\t\t\tconst manager = testChangeEditManagerFactory({ rebaser }).manager;\n\t\t\t\t\tconst run = rebaseAdvancingPeerEditsOverTrunkEdits(\n\t\t\t\t\t\teditCount,\n\t\t\t\t\t\tmanager,\n\t\t\t\t\t\t() => TestChange.emptyChange,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t);\n\t\t\t\t\trebaser.rebasedCount = 0;\n\t\t\t\t\trebaser.invertedCount = 0;\n\t\t\t\t\trebaser.composedCount = 0;\n\t\t\t\t\trun();\n\t\t\t\t\tconst actual = {\n\t\t\t\t\t\trebased: rebaser.rebasedCount,\n\t\t\t\t\t\tinverted: rebaser.invertedCount,\n\t\t\t\t\t\tcomposed: rebaser.composedCount,\n\t\t\t\t\t};\n\t\t\t\t\tconst P = editCount;\n\t\t\t\t\tconst T = editCount;\n\t\t\t\t\tconst expected = {\n\t\t\t\t\t\t// As part of rebasing the peer branch that contains the prior peer edits,\n\t\t\t\t\t\t// we rebase all edits on the branch over the one new trunk edit.\n\t\t\t\t\t\t// For the Ith peer edit there are I - 1 edits to rebase.\n\t\t\t\t\t\t// the Kth local edit on the branch is rebased over the composition of...\n\t\t\t\t\t\t// - the inverse of each local edit before it\n\t\t\t\t\t\t// - the new trunk edit\n\t\t\t\t\t\t// - the rebased version of each local edit before it\n\t\t\t\t\t\t// This adds up to 1 rebase for the Kth edit.\n\t\t\t\t\t\t// Summing over all I - 1 edits gives us I - 1 rebases for the Ith branch rebase.\n\t\t\t\t\t\t// Summing over all P edits transforms I into P(P + 1)/2\n\t\t\t\t\t\t// This gives us: P(P + 1)/2 - P\n\t\t\t\t\t\t// Which simplifies to: (P² + P)/2 - P\n\t\t\t\t\t\t// As part of rebasing the new peer edit to the tip of the trunk,\n\t\t\t\t\t\t// For the Ith peer edit, we rebase it over...\n\t\t\t\t\t\t// - the inverse of the peer edits on the peer branch: I - 1\n\t\t\t\t\t\t// - the trunk edits that were not contributed by that peer: T - (I - 1)\n\t\t\t\t\t\t// - the the rebased version of the peer edits (now on the trunk): I - 1\n\t\t\t\t\t\t// This adds up to I - 1 + T rebases for the Ith edit.\n\t\t\t\t\t\t// Summing over all P edits transforms I into P(P + 1)/2\n\t\t\t\t\t\t// This gives us: P(P + 1)/2 - P + PT\n\t\t\t\t\t\t// Which simplifies to: (P² - P)/2 + PT\n\t\t\t\t\t\t// Adding both terms and simplifying:\n\t\t\t\t\t\trebased: P * (P + T - 1),\n\t\t\t\t\t\t// As part of rebasing the peer branch that contains the prior peer edits,\n\t\t\t\t\t\t// For the Ith peer edit there are I-1 edits to invert.\n\t\t\t\t\t\t// Summing over all P transforms I into P(P + 1)/2\n\t\t\t\t\t\t// Which gives us: P(P + 1)/2 - P\n\t\t\t\t\t\t// Which simplifies to: P(P - 1)/2\n\t\t\t\t\t\t// As part of rebasing the new peer edit to the tip of the trunk,\n\t\t\t\t\t\t// For the Ith peer edit, there are I - 1 edits to invert.\n\t\t\t\t\t\t// Summing over all P transforms I into P(P + 1)/2\n\t\t\t\t\t\t// Which gives us: P(P + 1)/2 - P\n\t\t\t\t\t\t// Which simplifies to: P(P - 1)/2\n\t\t\t\t\t\t// Adding both terms:\n\t\t\t\t\t\tinverted: (P - 1) * P,\n\t\t\t\t\t\t// As part of rebasing the peer branch that contains the prior peer edits,\n\t\t\t\t\t\t// we compose the new trunk edit: 1\n\t\t\t\t\t\t// then for the Ith peer edit there are I - 1 edits to rebase.\n\t\t\t\t\t\t// for each of them we compose...\n\t\t\t\t\t\t// - the inverse of the local edit: 1\n\t\t\t\t\t\t// - the previous composition: 1\n\t\t\t\t\t\t// - the rebased version of the local edit: 1\n\t\t\t\t\t\t// This adds up to 3I - 3 peer changes composed per branch rebase.\n\t\t\t\t\t\t// This adds up to 3I - 2 changes composed per branch rebase.\n\t\t\t\t\t\t// Summing over all P branch rebases transforms I into P(P + 1)/2\n\t\t\t\t\t\t// Which gives us: 3P(P + 1)/2 - 2P\n\t\t\t\t\t\t// Which simplifies to: (3P² - P)/2\n\t\t\t\t\t\t// Which gives us: (3P² - P)/2 - 1\n\t\t\t\t\t\t// From that, we have to subtract 1 for the first branch rebase, which is skipped.\n\t\t\t\t\t\t// As part of updating the local branch,\n\t\t\t\t\t\t// for the Ith peer edit we compose that peer edit: 1\n\t\t\t\t\t\t// Summing over all P branch rebases gives us: P\n\t\t\t\t\t\t// Adding both terms and simplifying:\n\t\t\t\t\t\tcomposed: (3 * P ** 2 + P) / 2 - 1,\n\t\t\t\t\t};\n\t\t\t\t\tassert.deepEqual(actual, expected);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tdescribe(\"Single peer commit on top of existing peer branch\", () => {\n\t\t\tdescribe(\"with peer commit ref# to the trunk edit that the existing peer branch should rebase over\", () => {\n\t\t\t\tfor (const { rebasedEditCount: P, trunkEditCount: T } of scenarios) {\n\t\t\t\t\t// This test simulates the following inputs to the EditManager:\n\t\t\t\t\t// - Add trunk edit T1 with a ref seq# pointing to edit 0\n\t\t\t\t\t// ...(incrementing the ref seq# for each T)\n\t\t\t\t\t// - Add trunk edit Tc with a ref seq# pointing to edit Tc-1\n\t\t\t\t\t// - Add peer edit P1 with a ref seq# pointing to edit 0\n\t\t\t\t\t// ...(not incrementing the ref seq# for each P)\n\t\t\t\t\t// - Add peer edit Pc with a ref seq# pointing to edit 0\n\t\t\t\t\t// => we start measuring from here\n\t\t\t\t\t// - Add peer edit P+ with a ref seq# pointing to edit Tc\n\t\t\t\t\t// This defines the following relationships between edits:\n\t\t\t\t\t// (0)─(T1)─...─(Tc)\n\t\t\t\t\t// | └─(P1)─...─(Pc)─(P+)\n\t\t\t\t\t// └───────────────(P1)─...─(Pc)\n\t\t\t\t\t// Before we start measuring, the EditManager has the following structure:\n\t\t\t\t\t// (0)─(T1)─...─(Tc)─(P1)─...─(Pc)\n\t\t\t\t\t// └───────────────(P1)─...─(Pc)\n\t\t\t\t\t// By the end of the test, the EditManager has the following structure:\n\t\t\t\t\t// (0)─(T1)─...─(Tc)─(P1)─...─(Pc)─(P+)\n\t\t\t\t\t// └─\n\t\t\t\t\tit(`For an existing peer branch with ${P} commits unaware of ${T} trunk commits`, () => {\n\t\t\t\t\t\tconst rebaser = new NoOpChangeRebaser();\n\t\t\t\t\t\tconst manager = testChangeEditManagerFactory({ rebaser }).manager;\n\t\t\t\t\t\trebasePeerEditsOverTrunkEdits(P, T, manager, () => TestChange.emptyChange);\n\t\t\t\t\t\trebaser.rebasedCount = 0;\n\t\t\t\t\t\trebaser.invertedCount = 0;\n\t\t\t\t\t\trebaser.composedCount = 0;\n\t\t\t\t\t\tmanager.addSequencedChange(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tchange: TestChange.emptyChange,\n\t\t\t\t\t\t\t\trevision: mintRevisionTag(),\n\t\t\t\t\t\t\t\tsessionId: \"peer\" as SessionId,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbrand(T + P + 1),\n\t\t\t\t\t\t\tbrand(T),\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst actual = {\n\t\t\t\t\t\t\trebased: rebaser.rebasedCount,\n\t\t\t\t\t\t\tinverted: rebaser.invertedCount,\n\t\t\t\t\t\t\tcomposed: rebaser.composedCount,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst expected = {\n\t\t\t\t\t\t\t// As part of rebasing the peer branch that contains the phase-1 edits,\n\t\t\t\t\t\t\t// we realize that the trunk already contains those edits.\n\t\t\t\t\t\t\t// They therefore undergo no rebasing.\n\t\t\t\t\t\t\t// As part of rebasing P+ to the tip of the trunk,\n\t\t\t\t\t\t\t// we realize that it is based on the tip of the trunk.\n\t\t\t\t\t\t\t// It therefore undergoes no rebasing.\n\t\t\t\t\t\t\trebased: 0,\n\t\t\t\t\t\t\t// As part of rebasing the peer branch that contains the phase-1 edits,\n\t\t\t\t\t\t\t// we realize that the trunk already contains those edits.\n\t\t\t\t\t\t\t// They therefore undergo no inverting.\n\t\t\t\t\t\t\t// As part of rebasing P+, we invert...\n\t\t\t\t\t\t\t// - each of the phase-1 peer edits: P\n\t\t\t\t\t\t\t// Adding both terms and simplifying:\n\t\t\t\t\t\t\tinverted: P,\n\t\t\t\t\t\t\t// As part of rebasing the peer branch that contains the phase-1 edits, we compose...\n\t\t\t\t\t\t\t// - the trunk edits: T\n\t\t\t\t\t\t\t// then for the Ith local edit on the branch we compose...\n\t\t\t\t\t\t\t// - the inverse of the local edit: 1\n\t\t\t\t\t\t\t// - the previous composition: 1\n\t\t\t\t\t\t\t// - the rebased version of the local edit: 1\n\t\t\t\t\t\t\t// This adds up to 3 edits composed per edit on the branch\n\t\t\t\t\t\t\t// Summing for all P edit, this gives us: T + 3P\n\t\t\t\t\t\t\t// As part of rebasing the local branch, we compose...\n\t\t\t\t\t\t\t// - the phase-2 peer edit: 1\n\t\t\t\t\t\t\t// Note: this composition is only needed to bake the RevisionTag into the changeset.\n\t\t\t\t\t\t\t// Adding both terms:\n\t\t\t\t\t\t\tcomposed: T + 3 * P + 1,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tassert.deepEqual(actual, expected);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tdescribe(\"with peer commit ref# to the trunk edit before the trunk edit that the existing peer branch should rebase over\", () => {\n\t\t\t\tfor (const { rebasedEditCount: P, trunkEditCount: T } of scenarios) {\n\t\t\t\t\t// This test simulates the following inputs to the EditManager:\n\t\t\t\t\t// - Add trunk edit T1 with a ref seq# pointing to edit 0\n\t\t\t\t\t// ...(incrementing the ref seq# for each T)\n\t\t\t\t\t// - Add trunk edit Tc with a ref seq# pointing to edit Tc-1\n\t\t\t\t\t// - Add trunk edit T+ with a ref seq# pointing to edit Tc\n\t\t\t\t\t// - Add peer edit P1 with a ref seq# pointing to edit 0\n\t\t\t\t\t// ...(not incrementing the ref seq# for each P)\n\t\t\t\t\t// - Add peer edit Pc with a ref seq# pointing to edit 0\n\t\t\t\t\t// => we start measuring from here\n\t\t\t\t\t// - Add peer edit P+ with a ref seq# pointing to edit Tc\n\t\t\t\t\t// This defines the following relationships between edits:\n\t\t\t\t\t// (0)─(T1)─...─(Tc)─(T+)\n\t\t\t\t\t// | └──────(P1)─...─(Pc)─(P+)\n\t\t\t\t\t// └────────────────────(P1)─...─(Pc)\n\t\t\t\t\t// Before we start measuring, the EditManager has the following structure:\n\t\t\t\t\t// (0)─(T1)─...─(Tc)─(T+)\n\t\t\t\t\t// └────────────────────(P1)─...─(Pc)\n\t\t\t\t\t// By the end of the test, the EditManager has the following structure:\n\t\t\t\t\t// (0)─(T1)─...─(Tc)─(T+)─(P1)─...─(Pc)─(P+)\n\t\t\t\t\t// └──(P1)─...─(Pc)─(P+)\n\t\t\t\t\tit(`For an existing peer branch with ${P} commits unaware of ${T}+1 trunk commits`, () => {\n\t\t\t\t\t\tconst rebaser = new NoOpChangeRebaser();\n\t\t\t\t\t\tconst manager = testChangeEditManagerFactory({ rebaser }).manager;\n\t\t\t\t\t\trebasePeerEditsOverTrunkEdits(\n\t\t\t\t\t\t\tP,\n\t\t\t\t\t\t\tT + 1,\n\t\t\t\t\t\t\tmanager,\n\t\t\t\t\t\t\t() => TestChange.emptyChange,\n\t\t\t\t\t\t);\n\t\t\t\t\t\trebaser.rebasedCount = 0;\n\t\t\t\t\t\trebaser.invertedCount = 0;\n\t\t\t\t\t\trebaser.composedCount = 0;\n\t\t\t\t\t\tmanager.addSequencedChange(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tchange: TestChange.emptyChange,\n\t\t\t\t\t\t\t\trevision: mintRevisionTag(),\n\t\t\t\t\t\t\t\tsessionId: \"peer\" as SessionId,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbrand(T + P + 2),\n\t\t\t\t\t\t\tbrand(T),\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst actual = {\n\t\t\t\t\t\t\trebased: rebaser.rebasedCount,\n\t\t\t\t\t\t\tinverted: rebaser.invertedCount,\n\t\t\t\t\t\t\tcomposed: rebaser.composedCount,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst expected = {\n\t\t\t\t\t\t\t// As part of rebasing the peer branch that contains the phase-1 edits,\n\t\t\t\t\t\t\t// we rebase all P edits on the branch over T trunk edits.\n\t\t\t\t\t\t\t// The Ith local edit on the branch is rebased over the composition of...\n\t\t\t\t\t\t\t// - the inverse of each local edit before it\n\t\t\t\t\t\t\t// - the T trunk edits\n\t\t\t\t\t\t\t// - the rebased version of each local edit before it\n\t\t\t\t\t\t\t// This adds up to 1 rebase for the Ith edit.\n\t\t\t\t\t\t\t// Summing over all P edits gives us P rebases.\n\t\t\t\t\t\t\t// As part of rebasing P+,\n\t\t\t\t\t\t\t// we rebase it over...\n\t\t\t\t\t\t\t// - the inverse of each peer edit before it: P\n\t\t\t\t\t\t\t// (these are based on commit Tc)\n\t\t\t\t\t\t\t// - the one remaining trunk edit T+: 1\n\t\t\t\t\t\t\t// - each peer fully rebased version of each peer edit before it: P\n\t\t\t\t\t\t\t// (these are based on commit T+)\n\t\t\t\t\t\t\t// This adds up to 2P + 1 rebases.\n\t\t\t\t\t\t\t// Adding both terms and simplifying:\n\t\t\t\t\t\t\trebased: 3 * P + 1,\n\t\t\t\t\t\t\t// As part of rebasing the peer branch,\n\t\t\t\t\t\t\t// we invert...\n\t\t\t\t\t\t\t// - each of the phase-1 peer edits: P\n\t\t\t\t\t\t\t// (these are based on commit 0)\n\t\t\t\t\t\t\t// This adds up P inverts.\n\t\t\t\t\t\t\t// As part of rebasing P+ to the tip of the trunk,\n\t\t\t\t\t\t\t// we invert...\n\t\t\t\t\t\t\t// - each of the phase-1 peer edits: P\n\t\t\t\t\t\t\t// (these are based on commit Tc)\n\t\t\t\t\t\t\t// This adds up P inverts.\n\t\t\t\t\t\t\t// Adding both terms:\n\t\t\t\t\t\t\tinverted: 2 * P,\n\t\t\t\t\t\t\t// As part of rebasing the peer branch that contains the phase-1 edits, we compose...\n\t\t\t\t\t\t\t// - the trunk edits: T\n\t\t\t\t\t\t\t// then for the Ith local edit on the branch we compose...\n\t\t\t\t\t\t\t// - the inverse of the local edit: 1\n\t\t\t\t\t\t\t// - the previous composition: 1\n\t\t\t\t\t\t\t// - the rebased version of the local edit: 1\n\t\t\t\t\t\t\t// This adds up to 3 edits composed per edit on the branch\n\t\t\t\t\t\t\t// Summing for all P edit, this gives us: T + 3P\n\t\t\t\t\t\t\t// As part of rebasing the local branch,\n\t\t\t\t\t\t\t// we compose...\n\t\t\t\t\t\t\t// - the phase-2 peer edit P+: 1\n\t\t\t\t\t\t\t// This adds up 1 edit composed.\n\t\t\t\t\t\t\t// Note: this composition is only needed to bake the RevisionTag into the changeset.\n\t\t\t\t\t\t\t// Adding both terms:\n\t\t\t\t\t\t\tcomposed: T + 3 * P + 1,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tassert.deepEqual(actual, expected);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t});\n}\n"]}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
-
* Licensed under the MIT License.
|
|
4
|
-
*/
|
|
5
|
-
import { SessionId } from "@fluidframework/id-compressor";
|
|
6
|
-
import { ChangeRebaser, ChangeFamilyEditor } from "../../../core/index.js";
|
|
7
|
-
import { TestChangeFamily, TestChange } from "../../testChange.js";
|
|
8
|
-
import { EditManager } from "../../../shared-tree-core/index.js";
|
|
9
|
-
export type TestEditManager = EditManager<ChangeFamilyEditor, TestChange, TestChangeFamily>;
|
|
10
|
-
/**
|
|
11
|
-
* Represents the minting and sending of a new local change.
|
|
12
|
-
*/
|
|
13
|
-
interface UnitTestPushStep {
|
|
14
|
-
type: "Push";
|
|
15
|
-
/**
|
|
16
|
-
* The future sequence number of the change being pushed.
|
|
17
|
-
* This information is derived by the `runUnitTestScenario` function, but can be explicitly
|
|
18
|
-
* provided to make tests easier to read and debug.
|
|
19
|
-
*/
|
|
20
|
-
seq?: number;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Represents the sequencing of a local change.
|
|
24
|
-
*/
|
|
25
|
-
interface UnitTestAckStep {
|
|
26
|
-
type: "Ack";
|
|
27
|
-
/**
|
|
28
|
-
* The sequence number for this change.
|
|
29
|
-
* Should match the sequence number of the oldest `UnitTestPushStep`
|
|
30
|
-
* for which there is no `UnitTestAckStep` step.
|
|
31
|
-
*/
|
|
32
|
-
seq: number;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Represents the reception of a (sequenced) peer change
|
|
36
|
-
*/
|
|
37
|
-
interface UnitTestPullStep {
|
|
38
|
-
type: "Pull";
|
|
39
|
-
/**
|
|
40
|
-
* The sequence number for this change.
|
|
41
|
-
*/
|
|
42
|
-
seq: number;
|
|
43
|
-
/**
|
|
44
|
-
* The sequence number of the latest change that the issuer of this change knew about
|
|
45
|
-
* at the time they issued this change.
|
|
46
|
-
*/
|
|
47
|
-
ref: number;
|
|
48
|
-
/**
|
|
49
|
-
* The ID of the peer that issued the change.
|
|
50
|
-
*/
|
|
51
|
-
from: SessionId;
|
|
52
|
-
/**
|
|
53
|
-
* The delta which should be produced by the `EditManager` when it receives this change.
|
|
54
|
-
* This information is derived by the `runUnitTestScenario` function, but can be explicitly
|
|
55
|
-
* provided to make tests easier to read and debug.
|
|
56
|
-
*/
|
|
57
|
-
expectedDelta?: number[];
|
|
58
|
-
}
|
|
59
|
-
type UnitTestScenarioStep = UnitTestPushStep | UnitTestAckStep | UnitTestPullStep;
|
|
60
|
-
/**
|
|
61
|
-
* State needed by the scenario builder.
|
|
62
|
-
*/
|
|
63
|
-
interface ScenarioBuilderState {
|
|
64
|
-
/**
|
|
65
|
-
* The ref number of the last commit made by each peer (0 for peers that have made no commits).
|
|
66
|
-
*/
|
|
67
|
-
peerRefs: number[];
|
|
68
|
-
/**
|
|
69
|
-
* The ref number of the last commit made by each peer (0 for peers that have made no commits).
|
|
70
|
-
*/
|
|
71
|
-
seq: number;
|
|
72
|
-
/**
|
|
73
|
-
* The number of local changes that have yet to be acked.
|
|
74
|
-
*/
|
|
75
|
-
inFlight: number;
|
|
76
|
-
}
|
|
77
|
-
export declare function buildScenario(scenario: UnitTestScenarioStep[], meta: ScenarioBuilderState, peers: readonly SessionId[], stepCount: number): Generator<readonly UnitTestScenarioStep[]>;
|
|
78
|
-
export declare function runUnitTestScenario(title: string | undefined, steps: readonly UnitTestScenarioStep[], rebaser?: ChangeRebaser<TestChange>): void;
|
|
79
|
-
export {};
|
|
80
|
-
//# sourceMappingURL=editManagerScenario.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"editManagerScenario.d.ts","sourceRoot":"","sources":["../../../../src/test/shared-tree-core/edit-manager/editManagerScenario.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAc,MAAM,wBAAwB,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAW,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAU,WAAW,EAAa,MAAM,oCAAoC,CAAC;AAQpF,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,kBAAkB,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;AAE5F;;GAEG;AACH,UAAU,gBAAgB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,UAAU,eAAe;IACxB,IAAI,EAAE,KAAK,CAAC;IACZ;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,UAAU,gBAAgB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,IAAI,EAAE,SAAS,CAAC;IAChB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,KAAK,oBAAoB,GAAG,gBAAgB,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAClF;;GAEG;AACH,UAAU,oBAAoB;IAC7B;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CACjB;AASD,wBAAiB,aAAa,CAC7B,QAAQ,EAAE,oBAAoB,EAAE,EAChC,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,SAAS,SAAS,EAAE,EAC3B,SAAS,EAAE,MAAM,GACf,SAAS,CAAC,SAAS,oBAAoB,EAAE,CAAC,CA0C5C;AAED,wBAAgB,mBAAmB,CAClC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,KAAK,EAAE,SAAS,oBAAoB,EAAE,EACtC,OAAO,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,GACjC,IAAI,CAoPN"}
|
|
@@ -1,267 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
-
* Licensed under the MIT License.
|
|
4
|
-
*/
|
|
5
|
-
import { fail, strict as assert } from "assert";
|
|
6
|
-
import { unreachableCase } from "@fluidframework/core-utils";
|
|
7
|
-
import { emptyDelta } from "../../../core/index.js";
|
|
8
|
-
import { TestChange, asDelta } from "../../testChange.js";
|
|
9
|
-
import { brand, clone } from "../../../util/index.js";
|
|
10
|
-
import { mintRevisionTag } from "../../utils.js";
|
|
11
|
-
import { addSequencedChange, checkChangeList, testChangeEditManagerFactory, } from "./editManagerTestUtils.js";
|
|
12
|
-
const localSessionId = "0";
|
|
13
|
-
export function* buildScenario(scenario, meta, peers, stepCount) {
|
|
14
|
-
if (scenario.length >= stepCount) {
|
|
15
|
-
yield scenario;
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
// Push
|
|
19
|
-
meta.inFlight += 1;
|
|
20
|
-
scenario.push({ type: "Push" });
|
|
21
|
-
for (const built of buildScenario(scenario, meta, peers, stepCount)) {
|
|
22
|
-
yield built;
|
|
23
|
-
}
|
|
24
|
-
scenario.pop();
|
|
25
|
-
meta.inFlight -= 1;
|
|
26
|
-
// Ack (if there are any local changes)
|
|
27
|
-
if (meta.inFlight > 0) {
|
|
28
|
-
meta.inFlight -= 1;
|
|
29
|
-
meta.seq += 1;
|
|
30
|
-
scenario.push({ type: "Ack", seq: meta.seq });
|
|
31
|
-
for (const built of buildScenario(scenario, meta, peers, stepCount)) {
|
|
32
|
-
yield built;
|
|
33
|
-
}
|
|
34
|
-
scenario.pop();
|
|
35
|
-
meta.seq -= 1;
|
|
36
|
-
meta.inFlight += 1;
|
|
37
|
-
}
|
|
38
|
-
// Pull
|
|
39
|
-
meta.seq += 1;
|
|
40
|
-
for (let iPeer = 0; iPeer < peers.length; ++iPeer) {
|
|
41
|
-
const prevRef = meta.peerRefs[iPeer];
|
|
42
|
-
for (let ref = prevRef; ref < meta.seq; ++ref) {
|
|
43
|
-
meta.peerRefs[iPeer] = ref;
|
|
44
|
-
scenario.push({ type: "Pull", seq: meta.seq, ref, from: peers[iPeer] });
|
|
45
|
-
for (const built of buildScenario(scenario, meta, peers, stepCount)) {
|
|
46
|
-
yield built;
|
|
47
|
-
}
|
|
48
|
-
scenario.pop();
|
|
49
|
-
}
|
|
50
|
-
meta.peerRefs[iPeer] = prevRef;
|
|
51
|
-
}
|
|
52
|
-
meta.seq -= 1;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
export function runUnitTestScenario(title, steps, rebaser) {
|
|
56
|
-
const run = (advanceMinimumSequenceNumber) => {
|
|
57
|
-
const { manager } = testChangeEditManagerFactory({ rebaser });
|
|
58
|
-
/**
|
|
59
|
-
* An `EditManager` that is kept up to date with all sequenced edits.
|
|
60
|
-
* Used as a source of summary data to spin-up `joiners`.
|
|
61
|
-
* This `EditManager` never has local changes.
|
|
62
|
-
*/
|
|
63
|
-
const summarizer = testChangeEditManagerFactory({
|
|
64
|
-
rebaser,
|
|
65
|
-
sessionId: "Summarizer",
|
|
66
|
-
}).manager;
|
|
67
|
-
/**
|
|
68
|
-
* A set of `EditManager`s spun-up based on summaries produced by `summarizer`.
|
|
69
|
-
* One such joiner is produced after every sequenced edit (i.e., after every "Ack" or "Pull" step).
|
|
70
|
-
* These are kept up to date with all sequenced edits.
|
|
71
|
-
* Used to check that summarization works properly.
|
|
72
|
-
*/
|
|
73
|
-
const joiners = [];
|
|
74
|
-
/**
|
|
75
|
-
* Local helper to update all the state that is dependent on the sequencing of new edits.
|
|
76
|
-
*/
|
|
77
|
-
const recordSequencedEdit = (commit) => {
|
|
78
|
-
trunk.push(commit.seqNumber);
|
|
79
|
-
summarizer.addSequencedChange(commit, commit.seqNumber, commit.refNumber);
|
|
80
|
-
for (const j of joiners) {
|
|
81
|
-
j.addSequencedChange(commit, commit.seqNumber, commit.refNumber);
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
/**
|
|
85
|
-
* Ordered list of local commits that have not yet been sequenced (i.e., `pushed - acked`)
|
|
86
|
-
*/
|
|
87
|
-
const localCommits = [];
|
|
88
|
-
/**
|
|
89
|
-
* Ordered list of intentions that the manager has been made aware of (i.e., `pushed ⋃ pulled`).
|
|
90
|
-
*/
|
|
91
|
-
let knownToLocal = [];
|
|
92
|
-
/**
|
|
93
|
-
* Ordered list of intentions that have been sequenced (i.e., `acked ⋃ pulled`)
|
|
94
|
-
*/
|
|
95
|
-
const trunk = [];
|
|
96
|
-
/**
|
|
97
|
-
* The sequence number of the most recent sequenced commit that the manager is aware of
|
|
98
|
-
*/
|
|
99
|
-
let localRef = 0;
|
|
100
|
-
/**
|
|
101
|
-
* The greatest sequence number that could have been received by all peers at the time when the local
|
|
102
|
-
* session is made aware of the given sequence number.
|
|
103
|
-
*/
|
|
104
|
-
const computeMinimumSequenceNumber = (sequenceNumber) => {
|
|
105
|
-
if (advanceMinimumSequenceNumber) {
|
|
106
|
-
// Find all non-local peers participating in this scenario by scanning the scenario steps
|
|
107
|
-
const activePeers = steps
|
|
108
|
-
.filter((s) => s.type === "Pull")
|
|
109
|
-
.map((s) => s.from);
|
|
110
|
-
// For each peer, find its next step and extract the ref number.
|
|
111
|
-
// The min of all these ref numbers for all peers is the highest possible min sequence number across those peers.
|
|
112
|
-
const minPeerRef = activePeers
|
|
113
|
-
.map((peer) => steps
|
|
114
|
-
.filter((s) => s.type === "Pull" && s.from === peer)
|
|
115
|
-
.find((s) => s.seq > sequenceNumber)?.ref ??
|
|
116
|
-
Number.POSITIVE_INFINITY)
|
|
117
|
-
.reduce((p, c) => Math.min(p, c), Number.POSITIVE_INFINITY);
|
|
118
|
-
// Compute the true min sequence number by including our local session's last seen sequence number as well.
|
|
119
|
-
return Math.min(sequenceNumber, minPeerRef);
|
|
120
|
-
}
|
|
121
|
-
return 0;
|
|
122
|
-
};
|
|
123
|
-
/**
|
|
124
|
-
* The sequence number of the last sequenced in the scenario.
|
|
125
|
-
*/
|
|
126
|
-
const finalSequencedEdit = [...steps].reverse().find((s) => s.type !== "Push")?.seq ?? 0;
|
|
127
|
-
/**
|
|
128
|
-
* The Ack steps of the scenario
|
|
129
|
-
*/
|
|
130
|
-
const acks = steps.filter((s) => s.type === "Ack");
|
|
131
|
-
/**
|
|
132
|
-
* Index of the "Ack" step in `acks` that matches the next encountered "Push" step
|
|
133
|
-
*/
|
|
134
|
-
let iNextAck = 0;
|
|
135
|
-
for (const step of steps) {
|
|
136
|
-
const minimumSequenceNumber = computeMinimumSequenceNumber(step.type === "Push" ? localRef : step.seq);
|
|
137
|
-
const type = step.type;
|
|
138
|
-
switch (type) {
|
|
139
|
-
case "Push": {
|
|
140
|
-
let seq = step.seq;
|
|
141
|
-
if (seq === undefined) {
|
|
142
|
-
seq =
|
|
143
|
-
iNextAck < acks.length
|
|
144
|
-
? acks[iNextAck].seq
|
|
145
|
-
: // If the pushed edit is never Ack-ed, assign the next available sequence number to it.
|
|
146
|
-
finalSequencedEdit + 1 + iNextAck - acks.length;
|
|
147
|
-
}
|
|
148
|
-
iNextAck += 1;
|
|
149
|
-
const changeset = TestChange.mint(knownToLocal, seq);
|
|
150
|
-
const revision = mintRevisionTag();
|
|
151
|
-
const commit = {
|
|
152
|
-
revision,
|
|
153
|
-
sessionId: localSessionId,
|
|
154
|
-
seqNumber: brand(seq),
|
|
155
|
-
refNumber: brand(localRef),
|
|
156
|
-
change: changeset,
|
|
157
|
-
};
|
|
158
|
-
localCommits.push(commit);
|
|
159
|
-
knownToLocal.push(seq);
|
|
160
|
-
// Local changes should always lead to a delta that is equivalent to the local change.
|
|
161
|
-
manager.localBranch.apply(changeset, revision);
|
|
162
|
-
assert.deepEqual(asDelta(manager.localBranch.getHead().change.intentions), asDelta([seq]));
|
|
163
|
-
break;
|
|
164
|
-
}
|
|
165
|
-
case "Ack": {
|
|
166
|
-
const seq = step.seq;
|
|
167
|
-
const commit = localCommits.shift();
|
|
168
|
-
if (commit === undefined) {
|
|
169
|
-
fail("Invalid test scenario: no local commit to acknowledge");
|
|
170
|
-
}
|
|
171
|
-
if (commit.seqNumber !== seq) {
|
|
172
|
-
fail("Invalid test scenario: acknowledged commit does not mach oldest local change");
|
|
173
|
-
}
|
|
174
|
-
const delta = addSequencedChange(manager, commit, commit.seqNumber, commit.refNumber);
|
|
175
|
-
// Acknowledged (i.e., sequenced) local changes should always lead to an empty delta.
|
|
176
|
-
assert.deepEqual(delta, emptyDelta);
|
|
177
|
-
localRef = commit.seqNumber;
|
|
178
|
-
manager.advanceMinimumSequenceNumber(brand(minimumSequenceNumber));
|
|
179
|
-
recordSequencedEdit(commit);
|
|
180
|
-
break;
|
|
181
|
-
}
|
|
182
|
-
case "Pull": {
|
|
183
|
-
const seq = step.seq;
|
|
184
|
-
/**
|
|
185
|
-
* Filter that includes changes that were on the trunk of the issuer of this commit.
|
|
186
|
-
*/
|
|
187
|
-
const peerTrunkChangesFilter = (s) => s.type !== "Push" && s.seq <= step.ref;
|
|
188
|
-
/**
|
|
189
|
-
* Filter that includes changes that were local to the issuer of this commit.
|
|
190
|
-
*/
|
|
191
|
-
const peerLocalChangesFilter = (s) => s.type === "Pull" &&
|
|
192
|
-
s.seq > step.ref &&
|
|
193
|
-
s.seq < step.seq &&
|
|
194
|
-
s.from === step.from;
|
|
195
|
-
/**
|
|
196
|
-
* Changes that were known to the peer at the time it authored this commit.
|
|
197
|
-
*/
|
|
198
|
-
const knownToPeer = [
|
|
199
|
-
...steps.filter(peerTrunkChangesFilter),
|
|
200
|
-
...steps.filter(peerLocalChangesFilter),
|
|
201
|
-
].map((s) => s.seq ?? fail("Sequenced changes must all have a seq number"));
|
|
202
|
-
const commit = {
|
|
203
|
-
revision: mintRevisionTag(),
|
|
204
|
-
sessionId: step.from,
|
|
205
|
-
seqNumber: brand(seq),
|
|
206
|
-
refNumber: brand(step.ref),
|
|
207
|
-
change: TestChange.mint(knownToPeer, seq),
|
|
208
|
-
};
|
|
209
|
-
/**
|
|
210
|
-
* Ordered list of intentions for local changes
|
|
211
|
-
*/
|
|
212
|
-
const localIntentions = localCommits.map((c) => c.seqNumber);
|
|
213
|
-
// When a peer commit is received we expect the update to be equivalent to the
|
|
214
|
-
// retraction of any local changes, followed by the peer changes, followed by the
|
|
215
|
-
// updated version of the local changes.
|
|
216
|
-
const expected = [
|
|
217
|
-
...localIntentions.map((i) => -i).reverse(),
|
|
218
|
-
seq,
|
|
219
|
-
...localIntentions,
|
|
220
|
-
];
|
|
221
|
-
const delta = addSequencedChange(manager, commit, commit.seqNumber, commit.refNumber);
|
|
222
|
-
assert.deepEqual(delta, asDelta(expected));
|
|
223
|
-
if (step.expectedDelta !== undefined) {
|
|
224
|
-
// Verify that the test case was annotated with the right expectations.
|
|
225
|
-
assert.deepEqual(step.expectedDelta, expected);
|
|
226
|
-
}
|
|
227
|
-
recordSequencedEdit(commit);
|
|
228
|
-
knownToLocal = [...trunk, ...localCommits.map((c) => c.seqNumber)];
|
|
229
|
-
localRef = commit.seqNumber;
|
|
230
|
-
manager.advanceMinimumSequenceNumber(brand(minimumSequenceNumber));
|
|
231
|
-
break;
|
|
232
|
-
}
|
|
233
|
-
default:
|
|
234
|
-
unreachableCase(type);
|
|
235
|
-
}
|
|
236
|
-
// The exposed trunk and local changes should reflect what is known to the local client
|
|
237
|
-
checkChangeList(manager, knownToLocal.filter(
|
|
238
|
-
// Only expect changes which have not been dropped by trunk eviction
|
|
239
|
-
(i) => i > minimumSequenceNumber));
|
|
240
|
-
checkChangeList(summarizer, trunk);
|
|
241
|
-
// Spin-up a new joiner whenever a summary client would have a different state.
|
|
242
|
-
// This assumes summary clients have no local changes, which may change in the future.
|
|
243
|
-
if (step.type !== "Push") {
|
|
244
|
-
const joiner = testChangeEditManagerFactory({
|
|
245
|
-
rebaser,
|
|
246
|
-
sessionId: `Join${joiners.length}`,
|
|
247
|
-
}).manager;
|
|
248
|
-
const summary = clone(summarizer.getSummaryData());
|
|
249
|
-
joiner.loadSummaryData(summary);
|
|
250
|
-
joiners.push(joiner);
|
|
251
|
-
}
|
|
252
|
-
// Verify that clients spun-up based on summaries are able to interpret new edits properly
|
|
253
|
-
for (const j of joiners) {
|
|
254
|
-
checkChangeList(j, trunk);
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
};
|
|
258
|
-
if (title !== undefined) {
|
|
259
|
-
// Run two versions of the scenario, one where the minimum sequence number is advanced and one where it is not
|
|
260
|
-
it(title, () => run(false));
|
|
261
|
-
it(`${title} (while advancing the min seq number)`, () => run(true));
|
|
262
|
-
}
|
|
263
|
-
else {
|
|
264
|
-
run(true);
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
//# sourceMappingURL=editManagerScenario.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"editManagerScenario.js","sourceRoot":"","sources":["../../../../src/test/shared-tree-core/edit-manager/editManagerScenario.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAqC,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,EAAoB,UAAU,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EACN,kBAAkB,EAClB,eAAe,EACf,4BAA4B,GAC5B,MAAM,2BAA2B,CAAC;AA+EnC,MAAM,cAAc,GAAc,GAAgB,CAAC;AAEnD,MAAM,SAAS,CAAC,CAAC,aAAa,CAC7B,QAAgC,EAChC,IAA0B,EAC1B,KAA2B,EAC3B,SAAiB;IAEjB,IAAI,QAAQ,CAAC,MAAM,IAAI,SAAS,EAAE;QACjC,MAAM,QAAQ,CAAC;KACf;SAAM;QACN,OAAO;QACP,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE;YACpE,MAAM,KAAK,CAAC;SACZ;QACD,QAAQ,CAAC,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QAEnB,uCAAuC;QACvC,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE;YACtB,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YACnB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9C,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE;gBACpE,MAAM,KAAK,CAAC;aACZ;YACD,QAAQ,CAAC,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YACd,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;SACnB;QAED,OAAO;QACP,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACd,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE;YAClD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACrC,KAAK,IAAI,GAAG,GAAG,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE;gBAC9C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;gBAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACxE,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE;oBACpE,MAAM,KAAK,CAAC;iBACZ;gBACD,QAAQ,CAAC,GAAG,EAAE,CAAC;aACf;YACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;SAC/B;QACD,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;KACd;AACF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAClC,KAAyB,EACzB,KAAsC,EACtC,OAAmC;IAEnC,MAAM,GAAG,GAAG,CAAC,4BAAqC,EAAE,EAAE;QACrD,MAAM,EAAE,OAAO,EAAE,GAAG,4BAA4B,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9D;;;;WAIG;QACH,MAAM,UAAU,GAAG,4BAA4B,CAAC;YAC/C,OAAO;YACP,SAAS,EAAE,YAAyB;SACpC,CAAC,CAAC,OAAO,CAAC;QACX;;;;;WAKG;QACH,MAAM,OAAO,GAAsB,EAAE,CAAC;QACtC;;WAEG;QACH,MAAM,mBAAmB,GAAG,CAAC,MAAkB,EAAQ,EAAE;YACxD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7B,UAAU,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YAC1E,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;gBACxB,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;aACjE;QACF,CAAC,CAAC;QACF;;WAEG;QACH,MAAM,YAAY,GAAiB,EAAE,CAAC;QACtC;;WAEG;QACH,IAAI,YAAY,GAAa,EAAE,CAAC;QAChC;;WAEG;QACH,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B;;WAEG;QACH,IAAI,QAAQ,GAAW,CAAC,CAAC;QACzB;;;WAGG;QACH,MAAM,4BAA4B,GAAG,CAAC,cAAsB,EAAE,EAAE;YAC/D,IAAI,4BAA4B,EAAE;gBACjC,yFAAyF;gBACzF,MAAM,WAAW,GAAG,KAAK;qBACvB,MAAM,CAAC,CAAC,CAAC,EAAyB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;qBACvD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAErB,gEAAgE;gBAChE,iHAAiH;gBACjH,MAAM,UAAU,GAAG,WAAW;qBAC5B,GAAG,CACH,CAAC,IAAI,EAAE,EAAE,CACR,KAAK;qBACH,MAAM,CACN,CAAC,CAAC,EAAyB,EAAE,CAC5B,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CACrC;qBACA,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,cAAc,CAAC,EAAE,GAAG;oBAC1C,MAAM,CAAC,iBAAiB,CACzB;qBACA,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBAE7D,2GAA2G;gBAC3G,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;aAC5C;YAED,OAAO,CAAC,CAAC;QACV,CAAC,CAAC;QACF;;WAEG;QACH,MAAM,kBAAkB,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QACzF;;WAEG;QACH,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAA+B,CAAC;QACjF;;WAEG;QACH,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACzB,MAAM,qBAAqB,GAAG,4BAA4B,CACzD,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAC1C,CAAC;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,QAAQ,IAAI,EAAE;gBACb,KAAK,MAAM,CAAC,CAAC;oBACZ,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;oBACnB,IAAI,GAAG,KAAK,SAAS,EAAE;wBACtB,GAAG;4BACF,QAAQ,GAAG,IAAI,CAAC,MAAM;gCACrB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG;gCACpB,CAAC,CAAC,uFAAuF;oCACvF,kBAAkB,GAAG,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;qBACpD;oBACD,QAAQ,IAAI,CAAC,CAAC;oBACd,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;oBACrD,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;oBACnC,MAAM,MAAM,GAAe;wBAC1B,QAAQ;wBACR,SAAS,EAAE,cAAc;wBACzB,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC;wBACrB,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC;wBAC1B,MAAM,EAAE,SAAS;qBACjB,CAAC;oBACF,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC1B,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACvB,sFAAsF;oBACtF,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;oBAC/C,MAAM,CAAC,SAAS,CACf,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EACxD,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CACd,CAAC;oBACF,MAAM;iBACN;gBACD,KAAK,KAAK,CAAC,CAAC;oBACX,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;oBACrB,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC;oBACpC,IAAI,MAAM,KAAK,SAAS,EAAE;wBACzB,IAAI,CAAC,uDAAuD,CAAC,CAAC;qBAC9D;oBACD,IAAI,MAAM,CAAC,SAAS,KAAK,GAAG,EAAE;wBAC7B,IAAI,CACH,8EAA8E,CAC9E,CAAC;qBACF;oBACD,MAAM,KAAK,GAAG,kBAAkB,CAC/B,OAAO,EACP,MAAM,EACN,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,CAChB,CAAC;oBACF,qFAAqF;oBACrF,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;oBACpC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;oBAC5B,OAAO,CAAC,4BAA4B,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;oBACnE,mBAAmB,CAAC,MAAM,CAAC,CAAC;oBAC5B,MAAM;iBACN;gBACD,KAAK,MAAM,CAAC,CAAC;oBACZ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;oBACrB;;uBAEG;oBACH,MAAM,sBAAsB,GAAG,CAAC,CAAuB,EAAE,EAAE,CAC1D,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;oBACxC;;uBAEG;oBACH,MAAM,sBAAsB,GAAG,CAAC,CAAuB,EAAE,EAAE,CAC1D,CAAC,CAAC,IAAI,KAAK,MAAM;wBACjB,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG;wBAChB,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG;wBAChB,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;oBACtB;;uBAEG;oBACH,MAAM,WAAW,GAAa;wBAC7B,GAAG,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC;wBACvC,GAAG,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC;qBACvC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,8CAA8C,CAAC,CAAC,CAAC;oBAC5E,MAAM,MAAM,GAAe;wBAC1B,QAAQ,EAAE,eAAe,EAAE;wBAC3B,SAAS,EAAE,IAAI,CAAC,IAAI;wBACpB,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC;wBACrB,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;wBAC1B,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC;qBACzC,CAAC;oBACF;;uBAEG;oBACH,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAC7D,8EAA8E;oBAC9E,iFAAiF;oBACjF,wCAAwC;oBACxC,MAAM,QAAQ,GAAG;wBAChB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;wBAC3C,GAAG;wBACH,GAAG,eAAe;qBAClB,CAAC;oBACF,MAAM,KAAK,GAAG,kBAAkB,CAC/B,OAAO,EACP,MAAM,EACN,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,CAChB,CAAC;oBACF,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC3C,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE;wBACrC,uEAAuE;wBACvE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;qBAC/C;oBACD,mBAAmB,CAAC,MAAM,CAAC,CAAC;oBAC5B,YAAY,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;oBACnE,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;oBAC5B,OAAO,CAAC,4BAA4B,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;oBACnE,MAAM;iBACN;gBACD;oBACC,eAAe,CAAC,IAAI,CAAC,CAAC;aACvB;YACD,uFAAuF;YACvF,eAAe,CACd,OAAO,EACP,YAAY,CAAC,MAAM;YAClB,oEAAoE;YACpE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,qBAAqB,CAChC,CACD,CAAC;YACF,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAEnC,+EAA+E;YAC/E,sFAAsF;YACtF,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;gBACzB,MAAM,MAAM,GAAG,4BAA4B,CAAC;oBAC3C,OAAO;oBACP,SAAS,EAAE,OAAO,OAAO,CAAC,MAAM,EAAe;iBAC/C,CAAC,CAAC,OAAO,CAAC;gBACX,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;gBACnD,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACrB;YAED,0FAA0F;YAC1F,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;gBACxB,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;aAC1B;SACD;IACF,CAAC,CAAC;IACF,IAAI,KAAK,KAAK,SAAS,EAAE;QACxB,8GAA8G;QAC9G,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5B,EAAE,CAAC,GAAG,KAAK,uCAAuC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;KACrE;SAAM;QACN,GAAG,CAAC,IAAI,CAAC,CAAC;KACV;AACF,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { fail, strict as assert } from \"assert\";\nimport { unreachableCase } from \"@fluidframework/core-utils\";\nimport { SessionId } from \"@fluidframework/id-compressor\";\nimport { ChangeRebaser, ChangeFamilyEditor, emptyDelta } from \"../../../core/index.js\";\nimport { TestChangeFamily, TestChange, asDelta } from \"../../testChange.js\";\nimport { Commit, EditManager, SeqNumber } from \"../../../shared-tree-core/index.js\";\nimport { brand, clone } from \"../../../util/index.js\";\nimport { mintRevisionTag } from \"../../utils.js\";\nimport {\n\taddSequencedChange,\n\tcheckChangeList,\n\ttestChangeEditManagerFactory,\n} from \"./editManagerTestUtils.js\";\nexport type TestEditManager = EditManager<ChangeFamilyEditor, TestChange, TestChangeFamily>;\n\n/**\n * Represents the minting and sending of a new local change.\n */\ninterface UnitTestPushStep {\n\ttype: \"Push\";\n\t/**\n\t * The future sequence number of the change being pushed.\n\t * This information is derived by the `runUnitTestScenario` function, but can be explicitly\n\t * provided to make tests easier to read and debug.\n\t */\n\tseq?: number;\n}\n\n/**\n * Represents the sequencing of a local change.\n */\ninterface UnitTestAckStep {\n\ttype: \"Ack\";\n\t/**\n\t * The sequence number for this change.\n\t * Should match the sequence number of the oldest `UnitTestPushStep`\n\t * for which there is no `UnitTestAckStep` step.\n\t */\n\tseq: number;\n}\n\n/**\n * Represents the reception of a (sequenced) peer change\n */\ninterface UnitTestPullStep {\n\ttype: \"Pull\";\n\t/**\n\t * The sequence number for this change.\n\t */\n\tseq: number;\n\t/**\n\t * The sequence number of the latest change that the issuer of this change knew about\n\t * at the time they issued this change.\n\t */\n\tref: number;\n\t/**\n\t * The ID of the peer that issued the change.\n\t */\n\tfrom: SessionId;\n\t/**\n\t * The delta which should be produced by the `EditManager` when it receives this change.\n\t * This information is derived by the `runUnitTestScenario` function, but can be explicitly\n\t * provided to make tests easier to read and debug.\n\t */\n\texpectedDelta?: number[];\n}\n\ntype UnitTestScenarioStep = UnitTestPushStep | UnitTestAckStep | UnitTestPullStep;\n/**\n * State needed by the scenario builder.\n */\ninterface ScenarioBuilderState {\n\t/**\n\t * The ref number of the last commit made by each peer (0 for peers that have made no commits).\n\t */\n\tpeerRefs: number[];\n\t/**\n\t * The ref number of the last commit made by each peer (0 for peers that have made no commits).\n\t */\n\tseq: number;\n\t/**\n\t * The number of local changes that have yet to be acked.\n\t */\n\tinFlight: number;\n}\n\ntype TestCommit = Commit<TestChange> & {\n\tseqNumber: SeqNumber;\n\trefNumber: SeqNumber;\n};\n\nconst localSessionId: SessionId = \"0\" as SessionId;\n\nexport function* buildScenario(\n\tscenario: UnitTestScenarioStep[],\n\tmeta: ScenarioBuilderState,\n\tpeers: readonly SessionId[],\n\tstepCount: number,\n): Generator<readonly UnitTestScenarioStep[]> {\n\tif (scenario.length >= stepCount) {\n\t\tyield scenario;\n\t} else {\n\t\t// Push\n\t\tmeta.inFlight += 1;\n\t\tscenario.push({ type: \"Push\" });\n\t\tfor (const built of buildScenario(scenario, meta, peers, stepCount)) {\n\t\t\tyield built;\n\t\t}\n\t\tscenario.pop();\n\t\tmeta.inFlight -= 1;\n\n\t\t// Ack (if there are any local changes)\n\t\tif (meta.inFlight > 0) {\n\t\t\tmeta.inFlight -= 1;\n\t\t\tmeta.seq += 1;\n\t\t\tscenario.push({ type: \"Ack\", seq: meta.seq });\n\t\t\tfor (const built of buildScenario(scenario, meta, peers, stepCount)) {\n\t\t\t\tyield built;\n\t\t\t}\n\t\t\tscenario.pop();\n\t\t\tmeta.seq -= 1;\n\t\t\tmeta.inFlight += 1;\n\t\t}\n\n\t\t// Pull\n\t\tmeta.seq += 1;\n\t\tfor (let iPeer = 0; iPeer < peers.length; ++iPeer) {\n\t\t\tconst prevRef = meta.peerRefs[iPeer];\n\t\t\tfor (let ref = prevRef; ref < meta.seq; ++ref) {\n\t\t\t\tmeta.peerRefs[iPeer] = ref;\n\t\t\t\tscenario.push({ type: \"Pull\", seq: meta.seq, ref, from: peers[iPeer] });\n\t\t\t\tfor (const built of buildScenario(scenario, meta, peers, stepCount)) {\n\t\t\t\t\tyield built;\n\t\t\t\t}\n\t\t\t\tscenario.pop();\n\t\t\t}\n\t\t\tmeta.peerRefs[iPeer] = prevRef;\n\t\t}\n\t\tmeta.seq -= 1;\n\t}\n}\n\nexport function runUnitTestScenario(\n\ttitle: string | undefined,\n\tsteps: readonly UnitTestScenarioStep[],\n\trebaser?: ChangeRebaser<TestChange>,\n): void {\n\tconst run = (advanceMinimumSequenceNumber: boolean) => {\n\t\tconst { manager } = testChangeEditManagerFactory({ rebaser });\n\t\t/**\n\t\t * An `EditManager` that is kept up to date with all sequenced edits.\n\t\t * Used as a source of summary data to spin-up `joiners`.\n\t\t * This `EditManager` never has local changes.\n\t\t */\n\t\tconst summarizer = testChangeEditManagerFactory({\n\t\t\trebaser,\n\t\t\tsessionId: \"Summarizer\" as SessionId,\n\t\t}).manager;\n\t\t/**\n\t\t * A set of `EditManager`s spun-up based on summaries produced by `summarizer`.\n\t\t * One such joiner is produced after every sequenced edit (i.e., after every \"Ack\" or \"Pull\" step).\n\t\t * These are kept up to date with all sequenced edits.\n\t\t * Used to check that summarization works properly.\n\t\t */\n\t\tconst joiners: TestEditManager[] = [];\n\t\t/**\n\t\t * Local helper to update all the state that is dependent on the sequencing of new edits.\n\t\t */\n\t\tconst recordSequencedEdit = (commit: TestCommit): void => {\n\t\t\ttrunk.push(commit.seqNumber);\n\t\t\tsummarizer.addSequencedChange(commit, commit.seqNumber, commit.refNumber);\n\t\t\tfor (const j of joiners) {\n\t\t\t\tj.addSequencedChange(commit, commit.seqNumber, commit.refNumber);\n\t\t\t}\n\t\t};\n\t\t/**\n\t\t * Ordered list of local commits that have not yet been sequenced (i.e., `pushed - acked`)\n\t\t */\n\t\tconst localCommits: TestCommit[] = [];\n\t\t/**\n\t\t * Ordered list of intentions that the manager has been made aware of (i.e., `pushed ⋃ pulled`).\n\t\t */\n\t\tlet knownToLocal: number[] = [];\n\t\t/**\n\t\t * Ordered list of intentions that have been sequenced (i.e., `acked ⋃ pulled`)\n\t\t */\n\t\tconst trunk: number[] = [];\n\t\t/**\n\t\t * The sequence number of the most recent sequenced commit that the manager is aware of\n\t\t */\n\t\tlet localRef: number = 0;\n\t\t/**\n\t\t * The greatest sequence number that could have been received by all peers at the time when the local\n\t\t * session is made aware of the given sequence number.\n\t\t */\n\t\tconst computeMinimumSequenceNumber = (sequenceNumber: number) => {\n\t\t\tif (advanceMinimumSequenceNumber) {\n\t\t\t\t// Find all non-local peers participating in this scenario by scanning the scenario steps\n\t\t\t\tconst activePeers = steps\n\t\t\t\t\t.filter((s): s is UnitTestPullStep => s.type === \"Pull\")\n\t\t\t\t\t.map((s) => s.from);\n\n\t\t\t\t// For each peer, find its next step and extract the ref number.\n\t\t\t\t// The min of all these ref numbers for all peers is the highest possible min sequence number across those peers.\n\t\t\t\tconst minPeerRef = activePeers\n\t\t\t\t\t.map(\n\t\t\t\t\t\t(peer) =>\n\t\t\t\t\t\t\tsteps\n\t\t\t\t\t\t\t\t.filter(\n\t\t\t\t\t\t\t\t\t(s): s is UnitTestPullStep =>\n\t\t\t\t\t\t\t\t\t\ts.type === \"Pull\" && s.from === peer,\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.find((s) => s.seq > sequenceNumber)?.ref ??\n\t\t\t\t\t\t\tNumber.POSITIVE_INFINITY,\n\t\t\t\t\t)\n\t\t\t\t\t.reduce((p, c) => Math.min(p, c), Number.POSITIVE_INFINITY);\n\n\t\t\t\t// Compute the true min sequence number by including our local session's last seen sequence number as well.\n\t\t\t\treturn Math.min(sequenceNumber, minPeerRef);\n\t\t\t}\n\n\t\t\treturn 0;\n\t\t};\n\t\t/**\n\t\t * The sequence number of the last sequenced in the scenario.\n\t\t */\n\t\tconst finalSequencedEdit = [...steps].reverse().find((s) => s.type !== \"Push\")?.seq ?? 0;\n\t\t/**\n\t\t * The Ack steps of the scenario\n\t\t */\n\t\tconst acks = steps.filter((s) => s.type === \"Ack\") as readonly UnitTestAckStep[];\n\t\t/**\n\t\t * Index of the \"Ack\" step in `acks` that matches the next encountered \"Push\" step\n\t\t */\n\t\tlet iNextAck = 0;\n\t\tfor (const step of steps) {\n\t\t\tconst minimumSequenceNumber = computeMinimumSequenceNumber(\n\t\t\t\tstep.type === \"Push\" ? localRef : step.seq,\n\t\t\t);\n\t\t\tconst type = step.type;\n\t\t\tswitch (type) {\n\t\t\t\tcase \"Push\": {\n\t\t\t\t\tlet seq = step.seq;\n\t\t\t\t\tif (seq === undefined) {\n\t\t\t\t\t\tseq =\n\t\t\t\t\t\t\tiNextAck < acks.length\n\t\t\t\t\t\t\t\t? acks[iNextAck].seq\n\t\t\t\t\t\t\t\t: // If the pushed edit is never Ack-ed, assign the next available sequence number to it.\n\t\t\t\t\t\t\t\t finalSequencedEdit + 1 + iNextAck - acks.length;\n\t\t\t\t\t}\n\t\t\t\t\tiNextAck += 1;\n\t\t\t\t\tconst changeset = TestChange.mint(knownToLocal, seq);\n\t\t\t\t\tconst revision = mintRevisionTag();\n\t\t\t\t\tconst commit: TestCommit = {\n\t\t\t\t\t\trevision,\n\t\t\t\t\t\tsessionId: localSessionId,\n\t\t\t\t\t\tseqNumber: brand(seq),\n\t\t\t\t\t\trefNumber: brand(localRef),\n\t\t\t\t\t\tchange: changeset,\n\t\t\t\t\t};\n\t\t\t\t\tlocalCommits.push(commit);\n\t\t\t\t\tknownToLocal.push(seq);\n\t\t\t\t\t// Local changes should always lead to a delta that is equivalent to the local change.\n\t\t\t\t\tmanager.localBranch.apply(changeset, revision);\n\t\t\t\t\tassert.deepEqual(\n\t\t\t\t\t\tasDelta(manager.localBranch.getHead().change.intentions),\n\t\t\t\t\t\tasDelta([seq]),\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase \"Ack\": {\n\t\t\t\t\tconst seq = step.seq;\n\t\t\t\t\tconst commit = localCommits.shift();\n\t\t\t\t\tif (commit === undefined) {\n\t\t\t\t\t\tfail(\"Invalid test scenario: no local commit to acknowledge\");\n\t\t\t\t\t}\n\t\t\t\t\tif (commit.seqNumber !== seq) {\n\t\t\t\t\t\tfail(\n\t\t\t\t\t\t\t\"Invalid test scenario: acknowledged commit does not mach oldest local change\",\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tconst delta = addSequencedChange(\n\t\t\t\t\t\tmanager,\n\t\t\t\t\t\tcommit,\n\t\t\t\t\t\tcommit.seqNumber,\n\t\t\t\t\t\tcommit.refNumber,\n\t\t\t\t\t);\n\t\t\t\t\t// Acknowledged (i.e., sequenced) local changes should always lead to an empty delta.\n\t\t\t\t\tassert.deepEqual(delta, emptyDelta);\n\t\t\t\t\tlocalRef = commit.seqNumber;\n\t\t\t\t\tmanager.advanceMinimumSequenceNumber(brand(minimumSequenceNumber));\n\t\t\t\t\trecordSequencedEdit(commit);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase \"Pull\": {\n\t\t\t\t\tconst seq = step.seq;\n\t\t\t\t\t/**\n\t\t\t\t\t * Filter that includes changes that were on the trunk of the issuer of this commit.\n\t\t\t\t\t */\n\t\t\t\t\tconst peerTrunkChangesFilter = (s: UnitTestScenarioStep) =>\n\t\t\t\t\t\ts.type !== \"Push\" && s.seq <= step.ref;\n\t\t\t\t\t/**\n\t\t\t\t\t * Filter that includes changes that were local to the issuer of this commit.\n\t\t\t\t\t */\n\t\t\t\t\tconst peerLocalChangesFilter = (s: UnitTestScenarioStep) =>\n\t\t\t\t\t\ts.type === \"Pull\" &&\n\t\t\t\t\t\ts.seq > step.ref &&\n\t\t\t\t\t\ts.seq < step.seq &&\n\t\t\t\t\t\ts.from === step.from;\n\t\t\t\t\t/**\n\t\t\t\t\t * Changes that were known to the peer at the time it authored this commit.\n\t\t\t\t\t */\n\t\t\t\t\tconst knownToPeer: number[] = [\n\t\t\t\t\t\t...steps.filter(peerTrunkChangesFilter),\n\t\t\t\t\t\t...steps.filter(peerLocalChangesFilter),\n\t\t\t\t\t].map((s) => s.seq ?? fail(\"Sequenced changes must all have a seq number\"));\n\t\t\t\t\tconst commit: TestCommit = {\n\t\t\t\t\t\trevision: mintRevisionTag(),\n\t\t\t\t\t\tsessionId: step.from,\n\t\t\t\t\t\tseqNumber: brand(seq),\n\t\t\t\t\t\trefNumber: brand(step.ref),\n\t\t\t\t\t\tchange: TestChange.mint(knownToPeer, seq),\n\t\t\t\t\t};\n\t\t\t\t\t/**\n\t\t\t\t\t * Ordered list of intentions for local changes\n\t\t\t\t\t */\n\t\t\t\t\tconst localIntentions = localCommits.map((c) => c.seqNumber);\n\t\t\t\t\t// When a peer commit is received we expect the update to be equivalent to the\n\t\t\t\t\t// retraction of any local changes, followed by the peer changes, followed by the\n\t\t\t\t\t// updated version of the local changes.\n\t\t\t\t\tconst expected = [\n\t\t\t\t\t\t...localIntentions.map((i) => -i).reverse(),\n\t\t\t\t\t\tseq,\n\t\t\t\t\t\t...localIntentions,\n\t\t\t\t\t];\n\t\t\t\t\tconst delta = addSequencedChange(\n\t\t\t\t\t\tmanager,\n\t\t\t\t\t\tcommit,\n\t\t\t\t\t\tcommit.seqNumber,\n\t\t\t\t\t\tcommit.refNumber,\n\t\t\t\t\t);\n\t\t\t\t\tassert.deepEqual(delta, asDelta(expected));\n\t\t\t\t\tif (step.expectedDelta !== undefined) {\n\t\t\t\t\t\t// Verify that the test case was annotated with the right expectations.\n\t\t\t\t\t\tassert.deepEqual(step.expectedDelta, expected);\n\t\t\t\t\t}\n\t\t\t\t\trecordSequencedEdit(commit);\n\t\t\t\t\tknownToLocal = [...trunk, ...localCommits.map((c) => c.seqNumber)];\n\t\t\t\t\tlocalRef = commit.seqNumber;\n\t\t\t\t\tmanager.advanceMinimumSequenceNumber(brand(minimumSequenceNumber));\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tunreachableCase(type);\n\t\t\t}\n\t\t\t// The exposed trunk and local changes should reflect what is known to the local client\n\t\t\tcheckChangeList(\n\t\t\t\tmanager,\n\t\t\t\tknownToLocal.filter(\n\t\t\t\t\t// Only expect changes which have not been dropped by trunk eviction\n\t\t\t\t\t(i) => i > minimumSequenceNumber,\n\t\t\t\t),\n\t\t\t);\n\t\t\tcheckChangeList(summarizer, trunk);\n\n\t\t\t// Spin-up a new joiner whenever a summary client would have a different state.\n\t\t\t// This assumes summary clients have no local changes, which may change in the future.\n\t\t\tif (step.type !== \"Push\") {\n\t\t\t\tconst joiner = testChangeEditManagerFactory({\n\t\t\t\t\trebaser,\n\t\t\t\t\tsessionId: `Join${joiners.length}` as SessionId,\n\t\t\t\t}).manager;\n\t\t\t\tconst summary = clone(summarizer.getSummaryData());\n\t\t\t\tjoiner.loadSummaryData(summary);\n\t\t\t\tjoiners.push(joiner);\n\t\t\t}\n\n\t\t\t// Verify that clients spun-up based on summaries are able to interpret new edits properly\n\t\t\tfor (const j of joiners) {\n\t\t\t\tcheckChangeList(j, trunk);\n\t\t\t}\n\t\t}\n\t};\n\tif (title !== undefined) {\n\t\t// Run two versions of the scenario, one where the minimum sequence number is advanced and one where it is not\n\t\tit(title, () => run(false));\n\t\tit(`${title} (while advancing the min seq number)`, () => run(true));\n\t} else {\n\t\trun(true);\n\t}\n}\n"]}
|