@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
package/dist/tree-alpha.d.ts
DELETED
|
@@ -1,2159 +0,0 @@
|
|
|
1
|
-
import { FluidObject } from '@fluidframework/core-interfaces';
|
|
2
|
-
import { IChannel } from '@fluidframework/datastore-definitions';
|
|
3
|
-
import { IChannelAttributes } from '@fluidframework/datastore-definitions';
|
|
4
|
-
import { IChannelFactory } from '@fluidframework/datastore-definitions';
|
|
5
|
-
import { IChannelServices } from '@fluidframework/datastore-definitions';
|
|
6
|
-
import { IFluidDataStoreRuntime } from '@fluidframework/datastore-definitions';
|
|
7
|
-
import { IFluidHandle } from '@fluidframework/core-interfaces';
|
|
8
|
-
import { IFluidLoadable } from '@fluidframework/core-interfaces';
|
|
9
|
-
import { ISharedObject } from '@fluidframework/shared-object-base';
|
|
10
|
-
import { SessionSpaceCompressedId } from '@fluidframework/id-compressor';
|
|
11
|
-
import { StableId } from '@fluidframework/id-compressor';
|
|
12
|
-
import type { Static } from '@sinclair/typebox';
|
|
13
|
-
import type { TSchema } from '@sinclair/typebox';
|
|
14
|
-
|
|
15
|
-
/* Excluded from this release type: adaptEnum */
|
|
16
|
-
|
|
17
|
-
/* Excluded from this release type: Adapters */
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Types for use in fields.
|
|
21
|
-
* @public
|
|
22
|
-
*/
|
|
23
|
-
export declare type AllowedTypes = readonly LazyItem<TreeNodeSchema>[];
|
|
24
|
-
|
|
25
|
-
/* Excluded from this release type: AllowedTypeSet */
|
|
26
|
-
|
|
27
|
-
/* Excluded from this release type: AllowedTypesToFlexInsertableTree */
|
|
28
|
-
|
|
29
|
-
/* Excluded from this release type: AllowedUpdateType */
|
|
30
|
-
|
|
31
|
-
/* Excluded from this release type: AllowOptional */
|
|
32
|
-
|
|
33
|
-
/* Excluded from this release type: AllowOptionalNotFlattened */
|
|
34
|
-
|
|
35
|
-
/* Excluded from this release type: Anchor */
|
|
36
|
-
|
|
37
|
-
/* Excluded from this release type: AnchorEvents */
|
|
38
|
-
|
|
39
|
-
/* Excluded from this release type: AnchorLocator */
|
|
40
|
-
|
|
41
|
-
/* Excluded from this release type: AnchorNode */
|
|
42
|
-
|
|
43
|
-
/* Excluded from this release type: AnchorSet */
|
|
44
|
-
|
|
45
|
-
/* Excluded from this release type: AnchorSetRootEvents */
|
|
46
|
-
|
|
47
|
-
/* Excluded from this release type: AnchorSlot */
|
|
48
|
-
|
|
49
|
-
/* Excluded from this release type: anchorSlot */
|
|
50
|
-
|
|
51
|
-
/* Excluded from this release type: AnnouncedVisitor */
|
|
52
|
-
|
|
53
|
-
/* Excluded from this release type: Any */
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Suitable for output.
|
|
57
|
-
* For input must error on side of excluding undefined instead.
|
|
58
|
-
* @public
|
|
59
|
-
*/
|
|
60
|
-
export declare type ApplyKind<T, Kind extends FieldKind> = Kind extends FieldKind.Required ? T : undefined | T;
|
|
61
|
-
|
|
62
|
-
/* Excluded from this release type: ApplyMultiplicity */
|
|
63
|
-
|
|
64
|
-
/* Excluded from this release type: arrayLikeMarkerSymbol */
|
|
65
|
-
|
|
66
|
-
/* Excluded from this release type: ArrayLikeMut */
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Convert a Array type into a union of its value types.
|
|
70
|
-
* @public
|
|
71
|
-
*/
|
|
72
|
-
export declare type ArrayToUnion<T extends readonly unknown[]> = T[number];
|
|
73
|
-
|
|
74
|
-
/* Excluded from this release type: AssignableFieldKinds */
|
|
75
|
-
|
|
76
|
-
/* Excluded from this release type: Assume */
|
|
77
|
-
|
|
78
|
-
/* Excluded from this release type: Brand */
|
|
79
|
-
|
|
80
|
-
/* Excluded from this release type: brand */
|
|
81
|
-
|
|
82
|
-
/* Excluded from this release type: BrandedKey */
|
|
83
|
-
|
|
84
|
-
/* Excluded from this release type: BrandedKeyContent */
|
|
85
|
-
|
|
86
|
-
/* Excluded from this release type: BrandedMapSubset */
|
|
87
|
-
|
|
88
|
-
/* Excluded from this release type: BrandedType */
|
|
89
|
-
|
|
90
|
-
/* Excluded from this release type: buildTreeConfiguration */
|
|
91
|
-
|
|
92
|
-
/* Excluded from this release type: ChangesetLocalId */
|
|
93
|
-
|
|
94
|
-
/* Excluded from this release type: CheckoutEvents */
|
|
95
|
-
|
|
96
|
-
/* Excluded from this release type: CheckTypesOverlap */
|
|
97
|
-
|
|
98
|
-
/* Excluded from this release type: ChildCollection */
|
|
99
|
-
|
|
100
|
-
/* Excluded from this release type: ChildLocation */
|
|
101
|
-
|
|
102
|
-
/* Excluded from this release type: CollectOptions */
|
|
103
|
-
|
|
104
|
-
/* Excluded from this release type: compareLocalNodeKeys */
|
|
105
|
-
|
|
106
|
-
/* Excluded from this release type: ContextuallyTypedFieldData */
|
|
107
|
-
|
|
108
|
-
/* Excluded from this release type: ContextuallyTypedNodeData */
|
|
109
|
-
|
|
110
|
-
/* Excluded from this release type: ContextuallyTypedNodeDataObject */
|
|
111
|
-
|
|
112
|
-
/* Excluded from this release type: Contravariant */
|
|
113
|
-
|
|
114
|
-
/* Excluded from this release type: Covariant */
|
|
115
|
-
|
|
116
|
-
/* Excluded from this release type: createEmitter */
|
|
117
|
-
|
|
118
|
-
/* Excluded from this release type: CursorAdapter */
|
|
119
|
-
|
|
120
|
-
/* Excluded from this release type: cursorForJsonableTreeNode */
|
|
121
|
-
|
|
122
|
-
/* Excluded from this release type: cursorForTypedTreeData */
|
|
123
|
-
|
|
124
|
-
/* Excluded from this release type: cursorFromContextualData */
|
|
125
|
-
|
|
126
|
-
/* Excluded from this release type: CursorLocationType */
|
|
127
|
-
|
|
128
|
-
/* Excluded from this release type: CursorMarker */
|
|
129
|
-
|
|
130
|
-
/* Excluded from this release type: CursorWithNode */
|
|
131
|
-
|
|
132
|
-
/* Excluded from this release type: defaultSchemaPolicy */
|
|
133
|
-
|
|
134
|
-
/* Excluded from this release type: DeltaDetachedNodeBuild */
|
|
135
|
-
|
|
136
|
-
/* Excluded from this release type: DeltaDetachedNodeChanges */
|
|
137
|
-
|
|
138
|
-
/* Excluded from this release type: DeltaDetachedNodeDestruction */
|
|
139
|
-
|
|
140
|
-
/* Excluded from this release type: DeltaDetachedNodeId */
|
|
141
|
-
|
|
142
|
-
/* Excluded from this release type: DeltaDetachedNodeRename */
|
|
143
|
-
|
|
144
|
-
/* Excluded from this release type: DeltaFieldChanges */
|
|
145
|
-
|
|
146
|
-
/* Excluded from this release type: DeltaFieldMap */
|
|
147
|
-
|
|
148
|
-
/* Excluded from this release type: DeltaMark */
|
|
149
|
-
|
|
150
|
-
/* Excluded from this release type: DeltaProtoNode */
|
|
151
|
-
|
|
152
|
-
/* Excluded from this release type: DeltaRoot */
|
|
153
|
-
|
|
154
|
-
/* Excluded from this release type: DeltaVisitor */
|
|
155
|
-
|
|
156
|
-
/* Excluded from this release type: DetachedField */
|
|
157
|
-
|
|
158
|
-
/* Excluded from this release type: DetachedPlaceUpPath */
|
|
159
|
-
|
|
160
|
-
/* Excluded from this release type: DetachedRangeUpPath */
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* Placeholder for `Symbol.dispose`.
|
|
164
|
-
*
|
|
165
|
-
* Replace this with `Symbol.dispose` when it is available.
|
|
166
|
-
* @public
|
|
167
|
-
*/
|
|
168
|
-
export declare const disposeSymbol: unique symbol;
|
|
169
|
-
|
|
170
|
-
/* Excluded from this release type: EditableTreeEvents */
|
|
171
|
-
|
|
172
|
-
/* Excluded from this release type: EmptyKey */
|
|
173
|
-
|
|
174
|
-
/* Excluded from this release type: EmptyObject */
|
|
175
|
-
|
|
176
|
-
/* Excluded from this release type: encodeTreeSchema */
|
|
177
|
-
|
|
178
|
-
/* Excluded from this release type: enumFromStrings */
|
|
179
|
-
|
|
180
|
-
/* Excluded from this release type: Erased */
|
|
181
|
-
|
|
182
|
-
/* Excluded from this release type: ErasedTreeNodeSchemaDataFormat */
|
|
183
|
-
|
|
184
|
-
/* Excluded from this release type: ErasedType */
|
|
185
|
-
|
|
186
|
-
/**
|
|
187
|
-
* Used to specify the kinds of events emitted by an {@link ISubscribable}.
|
|
188
|
-
*
|
|
189
|
-
* @remarks
|
|
190
|
-
*
|
|
191
|
-
* Any object type is a valid {@link Events}, but only the event-like properties of that
|
|
192
|
-
* type will be included.
|
|
193
|
-
*
|
|
194
|
-
* @example
|
|
195
|
-
*
|
|
196
|
-
* ```typescript
|
|
197
|
-
* interface MyEvents {
|
|
198
|
-
* load: (user: string, data: IUserData) => void;
|
|
199
|
-
* error: (errorCode: number) => void;
|
|
200
|
-
* }
|
|
201
|
-
* ```
|
|
202
|
-
*
|
|
203
|
-
* @public
|
|
204
|
-
*/
|
|
205
|
-
export declare type Events<E> = {
|
|
206
|
-
[P in (string | symbol) & keyof E as IsEvent<E[P]> extends true ? P : never]: E[P];
|
|
207
|
-
};
|
|
208
|
-
|
|
209
|
-
/* Excluded from this release type: ExtractFromOpaque */
|
|
210
|
-
|
|
211
|
-
/* Excluded from this release type: extractFromOpaque */
|
|
212
|
-
|
|
213
|
-
/**
|
|
214
|
-
* Get the `Item` type from a `LazyItem<Item>`.
|
|
215
|
-
* @public
|
|
216
|
-
*/
|
|
217
|
-
export declare type ExtractItemType<Item extends LazyItem> = Item extends () => infer Result ? Result : Item;
|
|
218
|
-
|
|
219
|
-
/* Excluded from this release type: fail */
|
|
220
|
-
|
|
221
|
-
/* Excluded from this release type: FieldAnchor */
|
|
222
|
-
|
|
223
|
-
/* Excluded from this release type: FieldGenerator */
|
|
224
|
-
|
|
225
|
-
/* Excluded from this release type: FieldKey */
|
|
226
|
-
|
|
227
|
-
/**
|
|
228
|
-
* Kind of a field on a node.
|
|
229
|
-
* @public
|
|
230
|
-
*/
|
|
231
|
-
export declare enum FieldKind {
|
|
232
|
-
/**
|
|
233
|
-
* A field which can be empty or filled.
|
|
234
|
-
* @remarks
|
|
235
|
-
* Allows 0 or one child.
|
|
236
|
-
*/
|
|
237
|
-
Optional = 0,
|
|
238
|
-
/**
|
|
239
|
-
* A field which must always be filled.
|
|
240
|
-
* @remarks
|
|
241
|
-
* Only allows exactly one child.
|
|
242
|
-
*/
|
|
243
|
-
Required = 1
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
/* Excluded from this release type: FieldKindIdentifier */
|
|
247
|
-
|
|
248
|
-
/* Excluded from this release type: FieldKinds */
|
|
249
|
-
|
|
250
|
-
/* Excluded from this release type: FieldKindSpecifier */
|
|
251
|
-
|
|
252
|
-
/* Excluded from this release type: FieldLocation */
|
|
253
|
-
|
|
254
|
-
/* Excluded from this release type: FieldMapObject */
|
|
255
|
-
|
|
256
|
-
/**
|
|
257
|
-
* All policy for a specific field,
|
|
258
|
-
* including functionality that does not have to be kept consistent across versions or deterministic.
|
|
259
|
-
*
|
|
260
|
-
* This can include policy for how to use this schema for "view" purposes, and well as how to expose editing APIs.
|
|
261
|
-
* @sealed @public
|
|
262
|
-
*/
|
|
263
|
-
export declare class FieldSchema<out Kind extends FieldKind = FieldKind, out Types extends ImplicitAllowedTypes = ImplicitAllowedTypes> {
|
|
264
|
-
readonly kind: Kind;
|
|
265
|
-
readonly allowedTypes: Types;
|
|
266
|
-
/**
|
|
267
|
-
* This class is used with instanceof, and therefore should have nominal typing.
|
|
268
|
-
* This field enforces that.
|
|
269
|
-
*/
|
|
270
|
-
protected _typeCheck?: MakeNominal;
|
|
271
|
-
/**
|
|
272
|
-
* @param kind - The [kind](https://en.wikipedia.org/wiki/Kind_(type_theory)) of this field.
|
|
273
|
-
* Determine the multiplicity, viewing and editing APIs as well as the merge resolution policy.
|
|
274
|
-
* @param allowedTypes - What types of tree nodes are allowed in this field.
|
|
275
|
-
*/
|
|
276
|
-
constructor(kind: Kind, allowedTypes: Types);
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
/**
|
|
280
|
-
* {@link Unenforced} version of {@link FieldSchema}.
|
|
281
|
-
* @beta
|
|
282
|
-
*/
|
|
283
|
-
export declare interface FieldSchemaUnsafe<out Kind extends FieldKind, out Types extends Unenforced<ImplicitAllowedTypes>> {
|
|
284
|
-
readonly kind: Kind;
|
|
285
|
-
readonly allowedTypes: Types;
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
/* Excluded from this release type: FieldUpPath */
|
|
289
|
-
|
|
290
|
-
/* Excluded from this release type: FlattenKeys */
|
|
291
|
-
|
|
292
|
-
/* Excluded from this release type: FlexAllowedTypes */
|
|
293
|
-
|
|
294
|
-
/* Excluded from this release type: FlexFieldKind */
|
|
295
|
-
|
|
296
|
-
/* Excluded from this release type: FlexFieldNodeSchema */
|
|
297
|
-
|
|
298
|
-
/* Excluded from this release type: FlexFieldSchema */
|
|
299
|
-
|
|
300
|
-
/* Excluded from this release type: FlexibleFieldContent */
|
|
301
|
-
|
|
302
|
-
/* Excluded from this release type: FlexibleNodeContent */
|
|
303
|
-
|
|
304
|
-
/* Excluded from this release type: FlexibleNodeSubSequence */
|
|
305
|
-
|
|
306
|
-
/* Excluded from this release type: FlexImplicitAllowedTypes */
|
|
307
|
-
|
|
308
|
-
/* Excluded from this release type: FlexImplicitFieldSchema */
|
|
309
|
-
|
|
310
|
-
/**
|
|
311
|
-
* A flexible way to list values.
|
|
312
|
-
* Each item in the list can either be an "eager" **value** or a "lazy" **function that returns a value** (the latter allows cyclic references to work).
|
|
313
|
-
* @privateRemarks
|
|
314
|
-
* By default, items that are of type `"function"` will be considered lazy and all other items will be considered eager.
|
|
315
|
-
* To force a `"function"` item to be treated as an eager item, call `markEager` before putting it in the list.
|
|
316
|
-
* This is necessary e.g. when the eager list items are function types and the lazy items are functions that _return_ function types.
|
|
317
|
-
* `FlexList`s are processed by `normalizeFlexList` and `normalizeFlexListEager`.
|
|
318
|
-
* @public
|
|
319
|
-
*/
|
|
320
|
-
export declare type FlexList<Item = unknown> = readonly LazyItem<Item>[];
|
|
321
|
-
|
|
322
|
-
/**
|
|
323
|
-
* Normalize FlexList type to a union.
|
|
324
|
-
* @public
|
|
325
|
-
*/
|
|
326
|
-
export declare type FlexListToUnion<TList extends FlexList> = ExtractItemType<ArrayToUnion<TList>>;
|
|
327
|
-
|
|
328
|
-
/* Excluded from this release type: FlexMapFieldSchema */
|
|
329
|
-
|
|
330
|
-
/* Excluded from this release type: FlexMapNodeSchema */
|
|
331
|
-
|
|
332
|
-
/* Excluded from this release type: FlexObjectNodeFields */
|
|
333
|
-
|
|
334
|
-
/* Excluded from this release type: FlexObjectNodeSchema */
|
|
335
|
-
|
|
336
|
-
/* Excluded from this release type: FlexTreeContext */
|
|
337
|
-
|
|
338
|
-
/* Excluded from this release type: FlexTreeEntity */
|
|
339
|
-
|
|
340
|
-
/* Excluded from this release type: FlexTreeEntityKind */
|
|
341
|
-
|
|
342
|
-
/* Excluded from this release type: FlexTreeField */
|
|
343
|
-
|
|
344
|
-
/* Excluded from this release type: FlexTreeFieldNode */
|
|
345
|
-
|
|
346
|
-
/* Excluded from this release type: FlexTreeLeafNode */
|
|
347
|
-
|
|
348
|
-
/* Excluded from this release type: FlexTreeMapNode */
|
|
349
|
-
|
|
350
|
-
/* Excluded from this release type: flexTreeMarker */
|
|
351
|
-
|
|
352
|
-
/* Excluded from this release type: FlexTreeNode */
|
|
353
|
-
|
|
354
|
-
/* Excluded from this release type: FlexTreeNodeKeyField */
|
|
355
|
-
|
|
356
|
-
/* Excluded from this release type: FlexTreeNodeSchema */
|
|
357
|
-
|
|
358
|
-
/* Excluded from this release type: FlexTreeObjectNode */
|
|
359
|
-
|
|
360
|
-
/* Excluded from this release type: FlexTreeObjectNodeFields */
|
|
361
|
-
|
|
362
|
-
/* Excluded from this release type: FlexTreeObjectNodeFieldsInner */
|
|
363
|
-
|
|
364
|
-
/* Excluded from this release type: FlexTreeObjectNodeTyped */
|
|
365
|
-
|
|
366
|
-
/* Excluded from this release type: FlexTreeOptionalField */
|
|
367
|
-
|
|
368
|
-
/* Excluded from this release type: FlexTreeRequiredField */
|
|
369
|
-
|
|
370
|
-
/* Excluded from this release type: FlexTreeSchema */
|
|
371
|
-
|
|
372
|
-
/* Excluded from this release type: FlexTreeSequenceField */
|
|
373
|
-
|
|
374
|
-
/* Excluded from this release type: FlexTreeTypedField */
|
|
375
|
-
|
|
376
|
-
/* Excluded from this release type: FlexTreeTypedFieldInner */
|
|
377
|
-
|
|
378
|
-
/* Excluded from this release type: FlexTreeTypedNode */
|
|
379
|
-
|
|
380
|
-
/* Excluded from this release type: FlexTreeTypedNodeUnion */
|
|
381
|
-
|
|
382
|
-
/* Excluded from this release type: FlexTreeUnboxField */
|
|
383
|
-
|
|
384
|
-
/* Excluded from this release type: FlexTreeUnboxFieldInner */
|
|
385
|
-
|
|
386
|
-
/* Excluded from this release type: FlexTreeUnboxNode */
|
|
387
|
-
|
|
388
|
-
/* Excluded from this release type: FlexTreeUnboxNodeUnion */
|
|
389
|
-
|
|
390
|
-
/* Excluded from this release type: FlexTreeUnknownUnboxed */
|
|
391
|
-
|
|
392
|
-
/* Excluded from this release type: FlexTreeView */
|
|
393
|
-
|
|
394
|
-
/* Excluded from this release type: Forbidden */
|
|
395
|
-
|
|
396
|
-
/* Excluded from this release type: forbiddenFieldKindIdentifier */
|
|
397
|
-
|
|
398
|
-
/* Excluded from this release type: ForestEvents */
|
|
399
|
-
|
|
400
|
-
/* Excluded from this release type: ForestLocation */
|
|
401
|
-
|
|
402
|
-
/* Excluded from this release type: ForestType */
|
|
403
|
-
|
|
404
|
-
/* Excluded from this release type: FullSchemaPolicy */
|
|
405
|
-
|
|
406
|
-
/* Excluded from this release type: GenericFieldsNode */
|
|
407
|
-
|
|
408
|
-
/* Excluded from this release type: GenericTreeNode */
|
|
409
|
-
|
|
410
|
-
/* Excluded from this release type: HasListeners */
|
|
411
|
-
|
|
412
|
-
/* Excluded from this release type: ICodecOptions */
|
|
413
|
-
|
|
414
|
-
/* Excluded from this release type: IdAllocator */
|
|
415
|
-
|
|
416
|
-
/* Excluded from this release type: IDefaultEditBuilder */
|
|
417
|
-
|
|
418
|
-
/**
|
|
419
|
-
* An object with an explicit lifetime that can be ended.
|
|
420
|
-
* @privateRemarks
|
|
421
|
-
* TODO: align this with core-utils/IDisposable and {@link https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-2.html#using-declarations-and-explicit-resource-management| TypeScript's Disposable}.
|
|
422
|
-
* @public
|
|
423
|
-
*/
|
|
424
|
-
export declare interface IDisposable {
|
|
425
|
-
/**
|
|
426
|
-
* Call to end the lifetime of this object.
|
|
427
|
-
*
|
|
428
|
-
* It is invalid to use this object after this,
|
|
429
|
-
* except for operations which explicitly document they are valid after disposal.
|
|
430
|
-
*
|
|
431
|
-
* @remarks
|
|
432
|
-
* May cleanup resources retained by this object.
|
|
433
|
-
* Often includes un-registering from events and thus preventing other objects from retaining a reference to this indefinably.
|
|
434
|
-
*
|
|
435
|
-
* Usually the only operations allowed after disposal are querying if an object is already disposed,
|
|
436
|
-
* but this can vary between implementations.
|
|
437
|
-
*/
|
|
438
|
-
[disposeSymbol](): void;
|
|
439
|
-
}
|
|
440
|
-
|
|
441
|
-
/* Excluded from this release type: IEditableForest */
|
|
442
|
-
|
|
443
|
-
/* Excluded from this release type: IEmitter */
|
|
444
|
-
|
|
445
|
-
/* Excluded from this release type: IForestSubscription */
|
|
446
|
-
|
|
447
|
-
/**
|
|
448
|
-
* Types allowed in a field.
|
|
449
|
-
* @remarks
|
|
450
|
-
* Implicitly treats a single type as an array of one type.
|
|
451
|
-
* @public
|
|
452
|
-
*/
|
|
453
|
-
export declare type ImplicitAllowedTypes = AllowedTypes | TreeNodeSchema;
|
|
454
|
-
|
|
455
|
-
/**
|
|
456
|
-
* Schema for a field of a tree node.
|
|
457
|
-
* @remarks
|
|
458
|
-
* Implicitly treats {@link ImplicitAllowedTypes} as a Required field of that type.
|
|
459
|
-
* @public
|
|
460
|
-
*/
|
|
461
|
-
export declare type ImplicitFieldSchema = FieldSchema | ImplicitAllowedTypes;
|
|
462
|
-
|
|
463
|
-
/* Excluded from this release type: InitializeAndSchematizeConfiguration */
|
|
464
|
-
|
|
465
|
-
/* Excluded from this release type: _InlineTrick */
|
|
466
|
-
|
|
467
|
-
/* Excluded from this release type: InsertableFlexField */
|
|
468
|
-
|
|
469
|
-
/* Excluded from this release type: InsertableFlexNode */
|
|
470
|
-
|
|
471
|
-
/**
|
|
472
|
-
* Helper used to produce types for:
|
|
473
|
-
*
|
|
474
|
-
* 1. Insertable content which can be used to construct an object node.
|
|
475
|
-
*
|
|
476
|
-
* 2. Insertable content which is an unhydrated object node.
|
|
477
|
-
*
|
|
478
|
-
* 3. Union of 1 and 2.
|
|
479
|
-
*
|
|
480
|
-
* @privateRemarks TODO: consider separating these cases into different types.
|
|
481
|
-
*
|
|
482
|
-
* @public
|
|
483
|
-
*/
|
|
484
|
-
export declare type InsertableObjectFromSchemaRecord<T extends RestrictiveReadonlyRecord<string, ImplicitFieldSchema>> = {
|
|
485
|
-
readonly [Property in keyof T]: InsertableTreeFieldFromImplicitField<T[Property]>;
|
|
486
|
-
};
|
|
487
|
-
|
|
488
|
-
/**
|
|
489
|
-
* {@link Unenforced} version of {@link InsertableObjectFromSchemaRecord}.
|
|
490
|
-
* @beta
|
|
491
|
-
*/
|
|
492
|
-
export declare type InsertableObjectFromSchemaRecordUnsafe<T extends Unenforced<RestrictiveReadonlyRecord<string, ImplicitFieldSchema>>> = {
|
|
493
|
-
readonly [Property in keyof T]: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property]>;
|
|
494
|
-
};
|
|
495
|
-
|
|
496
|
-
/**
|
|
497
|
-
* Type of content that can be inserted into the tree for a field of the given schema.
|
|
498
|
-
* @public
|
|
499
|
-
*/
|
|
500
|
-
export declare type InsertableTreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind> : TSchema extends ImplicitAllowedTypes ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : unknown;
|
|
501
|
-
|
|
502
|
-
/**
|
|
503
|
-
* {@link Unenforced} version of {@link InsertableTreeFieldFromImplicitField}.
|
|
504
|
-
* @beta
|
|
505
|
-
*/
|
|
506
|
-
export declare type InsertableTreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind> : InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema>;
|
|
507
|
-
|
|
508
|
-
/**
|
|
509
|
-
* Type of content that can be inserted into the tree for a node of the given schema.
|
|
510
|
-
* @public
|
|
511
|
-
*/
|
|
512
|
-
export declare type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? InsertableTypedNode<TSchema> : TSchema extends AllowedTypes ? InsertableTypedNode<FlexListToUnion<TSchema>> : never;
|
|
513
|
-
|
|
514
|
-
/**
|
|
515
|
-
* {@link Unenforced} version of {@link InsertableTreeNodeFromImplicitAllowedTypes}.
|
|
516
|
-
* @beta
|
|
517
|
-
*/
|
|
518
|
-
export declare type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends AllowedTypes ? InsertableTypedNodeUnsafe<FlexListToUnion<TSchema>> : InsertableTypedNodeUnsafe<TSchema>;
|
|
519
|
-
|
|
520
|
-
/**
|
|
521
|
-
* Data which can be used as a node to be inserted.
|
|
522
|
-
* Either an unhydrated node, or content to build a new node.
|
|
523
|
-
* @public
|
|
524
|
-
*/
|
|
525
|
-
export declare type InsertableTypedNode<T extends TreeNodeSchema> = (T extends {
|
|
526
|
-
implicitlyConstructable: true;
|
|
527
|
-
} ? NodeBuilderData<T> : never) | Unhydrated<NodeFromSchema<T>>;
|
|
528
|
-
|
|
529
|
-
/**
|
|
530
|
-
* {@link Unenforced} version of {@link InsertableTypedNode}.
|
|
531
|
-
* @beta
|
|
532
|
-
*/
|
|
533
|
-
export declare type InsertableTypedNodeUnsafe<T extends Unenforced<TreeNodeSchema>> = Unhydrated<NodeFromSchemaUnsafe<T>> | (T extends {
|
|
534
|
-
implicitlyConstructable: true;
|
|
535
|
-
} ? NodeBuilderDataUnsafe<T> : never);
|
|
536
|
-
|
|
537
|
-
/* Excluded from this release type: Invariant */
|
|
538
|
-
|
|
539
|
-
/* Excluded from this release type: isAny */
|
|
540
|
-
|
|
541
|
-
/* Excluded from this release type: IsArrayOfOne */
|
|
542
|
-
|
|
543
|
-
/* Excluded from this release type: ISchemaEditor */
|
|
544
|
-
|
|
545
|
-
/* Excluded from this release type: isContextuallyTypedNodeDataObject */
|
|
546
|
-
|
|
547
|
-
/**
|
|
548
|
-
* `true` iff the given type is an acceptable shape for an event
|
|
549
|
-
* @public
|
|
550
|
-
*/
|
|
551
|
-
export declare type IsEvent<Event> = Event extends (...args: any[]) => any ? true : false;
|
|
552
|
-
|
|
553
|
-
/* Excluded from this release type: ISharedTree */
|
|
554
|
-
|
|
555
|
-
/* Excluded from this release type: ISharedTreeEditor */
|
|
556
|
-
|
|
557
|
-
/* Excluded from this release type: isNeverField */
|
|
558
|
-
|
|
559
|
-
/**
|
|
560
|
-
* An object which allows the registration of listeners so that subscribers can be notified when an event happens.
|
|
561
|
-
*
|
|
562
|
-
* `EventEmitter` can be used as a base class to implement this via extension.
|
|
563
|
-
* @param E - All the events that this emitter supports
|
|
564
|
-
* @example
|
|
565
|
-
* ```ts
|
|
566
|
-
* type MyEventEmitter = IEventEmitter<{
|
|
567
|
-
* load: (user: string, data: IUserData) => void;
|
|
568
|
-
* error: (errorCode: number) => void;
|
|
569
|
-
* }>
|
|
570
|
-
* ```
|
|
571
|
-
* @privateRemarks
|
|
572
|
-
* {@link createEmitter} can help implement this interface via delegation.
|
|
573
|
-
*
|
|
574
|
-
* @public
|
|
575
|
-
*/
|
|
576
|
-
export declare interface ISubscribable<E extends Events<E>> {
|
|
577
|
-
/**
|
|
578
|
-
* Register an event listener.
|
|
579
|
-
* @param eventName - the name of the event
|
|
580
|
-
* @param listener - the handler to run when the event is fired by the emitter
|
|
581
|
-
* @returns a function which will deregister the listener when run. This function has undefined behavior
|
|
582
|
-
* if called more than once.
|
|
583
|
-
*/
|
|
584
|
-
on<K extends keyof Events<E>>(eventName: K, listener: E[K]): () => void;
|
|
585
|
-
}
|
|
586
|
-
|
|
587
|
-
/**
|
|
588
|
-
* Used to insert iterable content into a {@link (TreeArrayNode:interface)}.
|
|
589
|
-
* Use {@link (TreeArrayNode:variable).spread} to create an instance of this type.
|
|
590
|
-
* @public
|
|
591
|
-
*/
|
|
592
|
-
export declare class IterableTreeArrayContent<T> implements Iterable<T> {
|
|
593
|
-
private readonly content;
|
|
594
|
-
private constructor();
|
|
595
|
-
/**
|
|
596
|
-
* Iterates over content for nodes to insert.
|
|
597
|
-
*/
|
|
598
|
-
[Symbol.iterator](): Iterator<T>;
|
|
599
|
-
}
|
|
600
|
-
|
|
601
|
-
/* Excluded from this release type: ITransaction */
|
|
602
|
-
|
|
603
|
-
/**
|
|
604
|
-
* Channel for a Fluid Tree DDS.
|
|
605
|
-
* @remarks
|
|
606
|
-
* Allows storing and collaboratively editing schema-aware hierarchial data.
|
|
607
|
-
* @public
|
|
608
|
-
*/
|
|
609
|
-
export declare interface ITree extends IChannel {
|
|
610
|
-
/**
|
|
611
|
-
* Returns a {@link TreeView} using the provided schema.
|
|
612
|
-
* If the tree's stored schema is compatible, this will provide a schema-aware API for accessing the tree's content.
|
|
613
|
-
* If the provided schema is incompatible with the stored data, the view will instead expose an error indicating the incompatibility.
|
|
614
|
-
*
|
|
615
|
-
* @remarks
|
|
616
|
-
* If the tree is uninitialized (has no schema and no content), the tree is initialized with the `initialTree` and
|
|
617
|
-
* view `schema` in the provided `config`.
|
|
618
|
-
*
|
|
619
|
-
* The tree (now known to have been initialized) has its stored schema checked against the provided view schema.
|
|
620
|
-
*
|
|
621
|
-
* If the schemas are compatible, the returned {@link TreeView} will expose the root with a schema-aware API based on the provided view schema.
|
|
622
|
-
*
|
|
623
|
-
* If the schemas are not compatible, the view will indicate the error.
|
|
624
|
-
*
|
|
625
|
-
* Note that other clients can modify the document at any time, causing the view to enter or leave this error state: see {@link TreeView.events} for how to handle invalidation in these cases.
|
|
626
|
-
*
|
|
627
|
-
* Only one schematized view may exist for a given ITree at a time.
|
|
628
|
-
* If creating a second, the first must be disposed before calling `schematize` again.
|
|
629
|
-
*
|
|
630
|
-
* @privateRemarks
|
|
631
|
-
* TODO: Provide a way to make a generic view schema for any document.
|
|
632
|
-
* TODO: Support adapters for handling out-of-schema data.
|
|
633
|
-
*
|
|
634
|
-
* Doing initialization here allows a small API that is hard to use incorrectly.
|
|
635
|
-
* Other approaches tend to have easy-to-make mistakes.
|
|
636
|
-
* For example, having a separate initialization function means apps can forget to call it, making an app that can only open existing documents,
|
|
637
|
-
* or call it unconditionally leaving an app that can only create new documents.
|
|
638
|
-
* It also would require the schema to be passed into separate places and could cause issues if they didn't match.
|
|
639
|
-
* Since the initialization function couldn't return a typed tree, the type checking wouldn't help catch that.
|
|
640
|
-
* Also, if an app manages to create a document, but the initialization fails to get persisted, an app that only calls the initialization function
|
|
641
|
-
* on the create code-path (for example how a schematized factory might do it),
|
|
642
|
-
* would leave the document in an unusable state which could not be repaired when it is reopened (by the same or other clients).
|
|
643
|
-
* Additionally, once out of schema content adapters are properly supported (with lazy document updates),
|
|
644
|
-
* this initialization could become just another out of schema content adapter and this initialization is no longer a special case.
|
|
645
|
-
*/
|
|
646
|
-
schematize<TRoot extends ImplicitFieldSchema>(config: TreeConfiguration<TRoot>): TreeView<TreeFieldFromImplicitField<TRoot>>;
|
|
647
|
-
}
|
|
648
|
-
|
|
649
|
-
/* Excluded from this release type: ITreeCheckout */
|
|
650
|
-
|
|
651
|
-
/* Excluded from this release type: ITreeCheckoutFork */
|
|
652
|
-
|
|
653
|
-
/* Excluded from this release type: ITreeCursor */
|
|
654
|
-
|
|
655
|
-
/* Excluded from this release type: ITreeCursorSynchronous */
|
|
656
|
-
|
|
657
|
-
/* Excluded from this release type: ITreeSubscriptionCursor */
|
|
658
|
-
|
|
659
|
-
/* Excluded from this release type: ITreeSubscriptionCursorState */
|
|
660
|
-
|
|
661
|
-
/* Excluded from this release type: ITreeViewFork */
|
|
662
|
-
|
|
663
|
-
/* Excluded from this release type: JsonableTree */
|
|
664
|
-
|
|
665
|
-
/* Excluded from this release type: jsonableTreeFromCursor */
|
|
666
|
-
|
|
667
|
-
/* Excluded from this release type: JsonCompatible */
|
|
668
|
-
|
|
669
|
-
/* Excluded from this release type: JsonCompatibleObject */
|
|
670
|
-
|
|
671
|
-
/* Excluded from this release type: JsonCompatibleReadOnly */
|
|
672
|
-
|
|
673
|
-
/* Excluded from this release type: JsonValidator */
|
|
674
|
-
|
|
675
|
-
/**
|
|
676
|
-
* An "eager" or "lazy" Item in a `FlexList`.
|
|
677
|
-
* Lazy items are wrapped in a function to allow referring to themselves before they are declared.
|
|
678
|
-
* This makes recursive and co-recursive items possible.
|
|
679
|
-
* @public
|
|
680
|
-
*/
|
|
681
|
-
export declare type LazyItem<Item = unknown> = Item | (() => Item);
|
|
682
|
-
|
|
683
|
-
/* Excluded from this release type: LazyTreeNodeSchema */
|
|
684
|
-
|
|
685
|
-
/* Excluded from this release type: leaf */
|
|
686
|
-
|
|
687
|
-
/* Excluded from this release type: LeafNodeSchema */
|
|
688
|
-
|
|
689
|
-
/* Excluded from this release type: LocalNodeKey */
|
|
690
|
-
|
|
691
|
-
/**
|
|
692
|
-
* Utilities for manipulating the typescript typechecker.
|
|
693
|
-
*
|
|
694
|
-
* @remarks
|
|
695
|
-
* While it appears the the variance parts of this library are made obsolete by TypeScript 4.7's explicit variance annotations,
|
|
696
|
-
* many cases still type check with incorrect variance even when using the explicit annotations,
|
|
697
|
-
* and are fixed by using the patterns in this library.
|
|
698
|
-
*
|
|
699
|
-
* TypeScript uses structural typing if there are no private or protected members,
|
|
700
|
-
* and variance of generic type parameters depends on their usages.
|
|
701
|
-
* Thus when trying to constrain code by adding extra type information,
|
|
702
|
-
* it often fails to actually constrain as desired, and these utilities can help with those cases.
|
|
703
|
-
*
|
|
704
|
-
* This library is designed so that the desired variance can be documented in a way that is easy to read, concise,
|
|
705
|
-
* and allows easy navigation to documentation explaining what is being done
|
|
706
|
-
* for readers who are not familiar with this library.
|
|
707
|
-
* Additionally it constrains the types so the undesired usage patterns will not compile,
|
|
708
|
-
* and will give somewhat intelligible errors.
|
|
709
|
-
*
|
|
710
|
-
* Additionally this library provides the tools needed to test that the type constraints are working as expected,
|
|
711
|
-
* or test any other similar typing constraints in an application.
|
|
712
|
-
*
|
|
713
|
-
* This library assumes you are compiling with --strictFunctionTypes:
|
|
714
|
-
* (Covariance and Contravariance is explained along with how these helpers cause it in typescript at this link)
|
|
715
|
-
* {@link https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-6.html#strict-function-types}.
|
|
716
|
-
* If compiled with a TypeScript configuration that is not strict enough for these features to work,
|
|
717
|
-
* the test suite should fail to build.
|
|
718
|
-
*
|
|
719
|
-
* Classes in TypeScript by default allow all assignments:
|
|
720
|
-
* its only though adding members that any type constraints actually get applied.
|
|
721
|
-
* This library provides types that can be used on a protected member of a class to add the desired constraints.
|
|
722
|
-
*
|
|
723
|
-
* Typical usages (use one field like this at the top of a class):
|
|
724
|
-
* ```typescript
|
|
725
|
-
* protected _typeCheck?: MakeNominal;
|
|
726
|
-
* protected _typeCheck?: Contravariant<T>;
|
|
727
|
-
* protected _typeCheck?: Covariant<T>;
|
|
728
|
-
* protected _typeCheck?: Invariant<T>;
|
|
729
|
-
* protected _typeCheck?: Contravariant<T> & Invariant<K>;
|
|
730
|
-
* ```
|
|
731
|
-
*
|
|
732
|
-
* See tests for examples.
|
|
733
|
-
*
|
|
734
|
-
* Note that all of these cause nominal typing.
|
|
735
|
-
* If constraints on generic type parameter variance are desired, but nominal typing is not,
|
|
736
|
-
* these types can be used on a public field. This case also works with interfaces.
|
|
737
|
-
*
|
|
738
|
-
* Be aware that other members of your type might apply further constraints
|
|
739
|
-
* (ex: you might try and write a Contravariant<T> class, but it ends up being Invariant<T> due to a field of type T).
|
|
740
|
-
*
|
|
741
|
-
* Be aware of TypeScript Bug:
|
|
742
|
-
* {@link https://github.com/microsoft/TypeScript/issues/36906}.
|
|
743
|
-
* This bug is why the fields here are protected not private.
|
|
744
|
-
* Note that this bug is closed as a duplicate of {@link https://github.com/microsoft/TypeScript/issues/20979}
|
|
745
|
-
* which was closed because fixing it would be too large of a breaking change.
|
|
746
|
-
* Thus we expect this bug to be part of TypeScript for the forseeable future.
|
|
747
|
-
*/
|
|
748
|
-
/**
|
|
749
|
-
* Use this as the type of a protected field to cause a type to use nominal typing instead of structural.
|
|
750
|
-
*
|
|
751
|
-
* @remarks
|
|
752
|
-
* Using nominal typing in this way prevents assignment of objects which are not instances of this class to values of this class's type.
|
|
753
|
-
* Classes which are used with "instanceof", or are supposed to be instantiated in particular ways (not just made with object literals)
|
|
754
|
-
* can use this to prevent undesired assignments.
|
|
755
|
-
* @example
|
|
756
|
-
* ```typescript
|
|
757
|
-
* protected _typeCheck?: MakeNominal;
|
|
758
|
-
* ```
|
|
759
|
-
* @privateRemarks
|
|
760
|
-
* See: {@link https://dev.azure.com/intentional/intent/_wiki/wikis/NP%20Platform/7146/Nominal-vs-Structural-Types}
|
|
761
|
-
* @public
|
|
762
|
-
*/
|
|
763
|
-
export declare interface MakeNominal {
|
|
764
|
-
}
|
|
765
|
-
|
|
766
|
-
/* Excluded from this release type: MapTree */
|
|
767
|
-
|
|
768
|
-
/* Excluded from this release type: MarkedArrayLike */
|
|
769
|
-
|
|
770
|
-
/* Excluded from this release type: Multiplicity */
|
|
771
|
-
|
|
772
|
-
/* Excluded from this release type: Named */
|
|
773
|
-
|
|
774
|
-
/* Excluded from this release type: NameFromBranded */
|
|
775
|
-
|
|
776
|
-
/* Excluded from this release type: NestedMap */
|
|
777
|
-
|
|
778
|
-
/* Excluded from this release type: NewFieldContent */
|
|
779
|
-
|
|
780
|
-
/**
|
|
781
|
-
* Given a node's schema, return the corresponding object from which the node could be built.
|
|
782
|
-
* @privateRemarks
|
|
783
|
-
* Currently this assumes factory functions take exactly one argument.
|
|
784
|
-
* This could be changed if needed.
|
|
785
|
-
*
|
|
786
|
-
* These factory functions can also take a FlexTreeNode, but this is not exposed in the public facing types.
|
|
787
|
-
* @public
|
|
788
|
-
*/
|
|
789
|
-
export declare type NodeBuilderData<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
|
|
790
|
-
|
|
791
|
-
/**
|
|
792
|
-
* {@link Unenforced} version of {@link InsertableTreeNodeFromImplicitAllowedTypes}.
|
|
793
|
-
* @beta
|
|
794
|
-
*/
|
|
795
|
-
export declare type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchema<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
|
|
796
|
-
|
|
797
|
-
/* Excluded from this release type: NodeData */
|
|
798
|
-
|
|
799
|
-
/* Excluded from this release type: NodeExistsConstraint */
|
|
800
|
-
|
|
801
|
-
/**
|
|
802
|
-
* Takes in `TreeNodeSchema[]` and returns a TypedNode union.
|
|
803
|
-
* @public
|
|
804
|
-
*/
|
|
805
|
-
export declare type NodeFromSchema<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind, infer TNode> ? TNode : never;
|
|
806
|
-
|
|
807
|
-
/**
|
|
808
|
-
* {@link Unenforced} version of {@link NodeFromSchema}.
|
|
809
|
-
* @beta
|
|
810
|
-
*/
|
|
811
|
-
export declare type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchema<string, NodeKind, infer TNode> ? TNode : never;
|
|
812
|
-
|
|
813
|
-
/* Excluded from this release type: NodeIndex */
|
|
814
|
-
|
|
815
|
-
/* Excluded from this release type: nodeKeyFieldKey */
|
|
816
|
-
|
|
817
|
-
/* Excluded from this release type: NodeKeyFieldKind */
|
|
818
|
-
|
|
819
|
-
/* Excluded from this release type: NodeKeys */
|
|
820
|
-
|
|
821
|
-
/**
|
|
822
|
-
* Kind of tree node.
|
|
823
|
-
* @public
|
|
824
|
-
*/
|
|
825
|
-
export declare enum NodeKind {
|
|
826
|
-
/**
|
|
827
|
-
* A node which serves as a map, storing children under string keys.
|
|
828
|
-
*/
|
|
829
|
-
Map = 0,
|
|
830
|
-
/**
|
|
831
|
-
* A node which serves as an array, storing children in an ordered sequence.
|
|
832
|
-
*/
|
|
833
|
-
Array = 1,
|
|
834
|
-
/**
|
|
835
|
-
* A node which stores a heterogenous collection of children in named fields.
|
|
836
|
-
* @remarks
|
|
837
|
-
* Each field gets its own schema.
|
|
838
|
-
*/
|
|
839
|
-
Object = 2,
|
|
840
|
-
/**
|
|
841
|
-
* A node which stores a single leaf value.
|
|
842
|
-
*/
|
|
843
|
-
Leaf = 3
|
|
844
|
-
}
|
|
845
|
-
|
|
846
|
-
/* Excluded from this release type: NoListenersCallback */
|
|
847
|
-
|
|
848
|
-
/* Excluded from this release type: noopValidator */
|
|
849
|
-
|
|
850
|
-
/* Excluded from this release type: NormalizeAllowedTypes */
|
|
851
|
-
|
|
852
|
-
/* Excluded from this release type: NormalizeField */
|
|
853
|
-
|
|
854
|
-
/* Excluded from this release type: NormalizeFieldSchema */
|
|
855
|
-
|
|
856
|
-
/* Excluded from this release type: NormalizeObjectNodeFields */
|
|
857
|
-
|
|
858
|
-
/**
|
|
859
|
-
* Helper used to produce types for object nodes.
|
|
860
|
-
* @public
|
|
861
|
-
*/
|
|
862
|
-
export declare type ObjectFromSchemaRecord<T extends RestrictiveReadonlyRecord<string, ImplicitFieldSchema>> = {
|
|
863
|
-
-readonly [Property in keyof T]: TreeFieldFromImplicitField<T[Property]>;
|
|
864
|
-
};
|
|
865
|
-
|
|
866
|
-
/**
|
|
867
|
-
* {@link Unenforced} version of {@link ObjectFromSchemaRecord}.
|
|
868
|
-
* @beta
|
|
869
|
-
*/
|
|
870
|
-
export declare type ObjectFromSchemaRecordUnsafe<T extends Unenforced<RestrictiveReadonlyRecord<string, ImplicitFieldSchema>>> = {
|
|
871
|
-
-readonly [Property in keyof T]: TreeFieldFromImplicitFieldUnsafe<T[Property]>;
|
|
872
|
-
};
|
|
873
|
-
|
|
874
|
-
/* Excluded from this release type: oneFromSet */
|
|
875
|
-
|
|
876
|
-
/* Excluded from this release type: onNextChange */
|
|
877
|
-
|
|
878
|
-
/* Excluded from this release type: Opaque */
|
|
879
|
-
|
|
880
|
-
/* Excluded from this release type: Optional */
|
|
881
|
-
|
|
882
|
-
/* Excluded from this release type: OptionalFieldEditBuilder */
|
|
883
|
-
|
|
884
|
-
/* Excluded from this release type: OptionalFields */
|
|
885
|
-
|
|
886
|
-
/* Excluded from this release type: PathRootPrefix */
|
|
887
|
-
|
|
888
|
-
/* Excluded from this release type: PathVisitor */
|
|
889
|
-
|
|
890
|
-
/* Excluded from this release type: PlaceIndex */
|
|
891
|
-
|
|
892
|
-
/* Excluded from this release type: PlaceUpPath */
|
|
893
|
-
|
|
894
|
-
/* Excluded from this release type: prefixFieldPath */
|
|
895
|
-
|
|
896
|
-
/* Excluded from this release type: prefixPath */
|
|
897
|
-
|
|
898
|
-
/* Excluded from this release type: PropertyNameFromFieldKey */
|
|
899
|
-
|
|
900
|
-
/* Excluded from this release type: ProtoNodes */
|
|
901
|
-
|
|
902
|
-
/* Excluded from this release type: Range_2 */
|
|
903
|
-
|
|
904
|
-
/* Excluded from this release type: RangeQueryResult */
|
|
905
|
-
|
|
906
|
-
/* Excluded from this release type: RangeUpPath */
|
|
907
|
-
|
|
908
|
-
/* Excluded from this release type: _RecursiveTrick */
|
|
909
|
-
|
|
910
|
-
/* Excluded from this release type: Required_2 */
|
|
911
|
-
|
|
912
|
-
/* Excluded from this release type: RequiredFields */
|
|
913
|
-
|
|
914
|
-
/* Excluded from this release type: ReservedObjectNodeFieldPropertyNamePrefixes */
|
|
915
|
-
|
|
916
|
-
/* Excluded from this release type: reservedObjectNodeFieldPropertyNamePrefixes */
|
|
917
|
-
|
|
918
|
-
/* Excluded from this release type: ReservedObjectNodeFieldPropertyNames */
|
|
919
|
-
|
|
920
|
-
/* Excluded from this release type: reservedObjectNodeFieldPropertyNames */
|
|
921
|
-
|
|
922
|
-
/**
|
|
923
|
-
* Alternative to the built in Record type which does not permit unexpected members,
|
|
924
|
-
* and is readonly.
|
|
925
|
-
*
|
|
926
|
-
* @privateRemarks
|
|
927
|
-
* `number` is not allowed as a key here since doing so causes the compiler to reject recursive schema.
|
|
928
|
-
* The cause for this is unclear, but empirically it was the case when this comment was written.
|
|
929
|
-
* @public
|
|
930
|
-
*/
|
|
931
|
-
export declare type RestrictiveReadonlyRecord<K extends symbol | string, T> = {
|
|
932
|
-
readonly [P in symbol | string]: P extends K ? T : never;
|
|
933
|
-
};
|
|
934
|
-
|
|
935
|
-
/* Excluded from this release type: Revertible */
|
|
936
|
-
|
|
937
|
-
/* Excluded from this release type: RevertibleKind */
|
|
938
|
-
|
|
939
|
-
/* Excluded from this release type: RevertibleResult */
|
|
940
|
-
|
|
941
|
-
/* Excluded from this release type: RevertibleStatus */
|
|
942
|
-
|
|
943
|
-
/* Excluded from this release type: RevisionTag */
|
|
944
|
-
|
|
945
|
-
/* Excluded from this release type: RootField */
|
|
946
|
-
|
|
947
|
-
/* Excluded from this release type: rootField */
|
|
948
|
-
|
|
949
|
-
/* Excluded from this release type: rootFieldKey */
|
|
950
|
-
|
|
951
|
-
/* Excluded from this release type: runSynchronous */
|
|
952
|
-
|
|
953
|
-
/* Excluded from this release type: SchemaBuilderBase */
|
|
954
|
-
|
|
955
|
-
/* Excluded from this release type: SchemaBuilderOptions */
|
|
956
|
-
|
|
957
|
-
/* Excluded from this release type: SchemaCollection */
|
|
958
|
-
|
|
959
|
-
/* Excluded from this release type: SchemaConfiguration */
|
|
960
|
-
|
|
961
|
-
/* Excluded from this release type: SchemaEvents */
|
|
962
|
-
|
|
963
|
-
/**
|
|
964
|
-
* Creates various types of {@link TreeNodeSchema|schema} for {@link TreeNode}s.
|
|
965
|
-
*
|
|
966
|
-
* @typeParam TScope - Scope added as a prefix to the name of every schema produced by this factory.
|
|
967
|
-
* @typeParam TName - Type of names used to identify each schema produced in this factory.
|
|
968
|
-
* Typically this is just `string` but it is also possible to use `string` or `number` based enums if you prefer to identify your types that way.
|
|
969
|
-
*
|
|
970
|
-
* @remarks
|
|
971
|
-
* All schema produced by this factory get a {@link TreeNodeSchemaCore.identifier|unique identifier} by {@link ScopedSchemaName|combining} the {@link SchemaFactory.scope} with the schema's `Name`.
|
|
972
|
-
* The `Name` part may be explicitly provided as a parameter, or inferred as a structural combination of the provided types.
|
|
973
|
-
* The APIs which use this second approach, structural naming, also deduplicate all equivalent calls.
|
|
974
|
-
* Therefor two calls to `array(allowedTypes)` with the same allowedTypes will return the same {@link TreeNodeSchema} instance.
|
|
975
|
-
* On the other hand, two calls to `array(name, allowedTypes)` will always return different {@link TreeNodeSchema} instances
|
|
976
|
-
* and it is an error to use both in the same tree (since their identifiers are not unique).
|
|
977
|
-
*
|
|
978
|
-
* Note:
|
|
979
|
-
* POJO stands for Plain Old JavaScript Object.
|
|
980
|
-
* This means an object that works like a `{}` style object literal.
|
|
981
|
-
* In this case it means the prototype is `Object.prototype` and acts like a set of key value pairs (data, not methods).
|
|
982
|
-
* The usage below generalizes this to include array and map like objects as well.
|
|
983
|
-
*
|
|
984
|
-
* There are two ways to use these APIs:
|
|
985
|
-
* | | Customizable | POJO Emulation |
|
|
986
|
-
* | ------------------- | ------------ |--------------- |
|
|
987
|
-
* | Declaration | `class X extends schemaFactory.object("x", {}) {}` | `const X = schemaFactory.object("x", {}); type X = NodeFromSchema<typeof X>; `
|
|
988
|
-
* | Allows adding "local" (non-persisted) members | Yes. Members (including methods) can be added to class. | No. Attempting to set non-field members will error. |
|
|
989
|
-
* | Prototype | The user defined class | `Object.prototype`, `Map.prototype` or `Array.prototype` depending on node kind |
|
|
990
|
-
* | Structurally named Schema | Not Supported | Supported |
|
|
991
|
-
* | Explicitly named Objects | Supported | Supported |
|
|
992
|
-
* | Explicitly named Maps and Arrays | Supported: Both declaration approaches can be used | Not Supported |
|
|
993
|
-
* | node.js assert.deepEqual | Compares like class instances: equal to other nodes of the same type with the same content, including custom local fields. | Compares like plain objects: equal to plain JavaScript objects with the same fields, and other nodes with the same fields, even if the types are different. |
|
|
994
|
-
* | IntelliSense | Shows and links to user defined class by name: `X` | Shows internal type generation logic: `object & TreeNode & ObjectFromSchemaRecord<{}> & WithType<"test.x">` |
|
|
995
|
-
* | Recursion | Supported with special declaration patterns. | Unsupported: Generated d.ts files replace recursive references with `any`, breaking use of recursive schema across compilation boundaries |
|
|
996
|
-
*
|
|
997
|
-
* Note that while "POJO Emulation" nodes act a lot like POJO objects, they are not true POJO objects:
|
|
998
|
-
*
|
|
999
|
-
* - Adding new arbitrary fields will error, as well some cases of invalid edits.
|
|
1000
|
-
*
|
|
1001
|
-
* - They are implemented using proxies.
|
|
1002
|
-
*
|
|
1003
|
-
* - They have state that is not exposed via enumerable own properties, including a {@link TreeNodeSchema}.
|
|
1004
|
-
* This makes libraries like node.js `assert.deepEqual` fail to detect differences in type.
|
|
1005
|
-
*
|
|
1006
|
-
* - Assigning members has side effects (in this case editing the persisted/shared tree).
|
|
1007
|
-
*
|
|
1008
|
-
* - Not all operations implied by the prototype will work correctly: stick to the APIs explicitly declared in the TypeScript types.
|
|
1009
|
-
*
|
|
1010
|
-
* @privateRemarks
|
|
1011
|
-
* It's perfectly possible to make `POJO Emulation` mode (or even just hiding the prototype) selectable even when using the custom user class declaration syntax.
|
|
1012
|
-
* When doing this, it's still possible to make `instanceof` perform correctly.
|
|
1013
|
-
* Allowing (or banning) custom/out-of-schema properties on the class is also possible in both modes: it could be orthogonal.
|
|
1014
|
-
* Also for consistency, if keeping the current approach to detecting `POJO Emulation` mode it might make sense to make explicitly named Maps and Arrays do the detection the same as how object does it.
|
|
1015
|
-
*
|
|
1016
|
-
* @sealed @public
|
|
1017
|
-
*/
|
|
1018
|
-
export declare class SchemaFactory<out TScope extends string | undefined = string | undefined, TName extends number | string = string> {
|
|
1019
|
-
readonly scope: TScope;
|
|
1020
|
-
private readonly structuralTypes;
|
|
1021
|
-
/**
|
|
1022
|
-
* @param scope - Prefix appended to the identifiers of all {@link TreeNodeSchema} produced by this builder.
|
|
1023
|
-
* Use of [Reverse domain name notation](https://en.wikipedia.org/wiki/Reverse_domain_name_notation) or a UUIDv4 is recommended to avoid collisions.
|
|
1024
|
-
* You may opt out of using a scope by passing `undefined`, but note that this increases the risk of collisions.
|
|
1025
|
-
*/
|
|
1026
|
-
constructor(scope: TScope);
|
|
1027
|
-
private scoped;
|
|
1028
|
-
/**
|
|
1029
|
-
* {@link TreeNodeSchema} for holding a JavaScript `string`.
|
|
1030
|
-
*
|
|
1031
|
-
* @remarks
|
|
1032
|
-
* Strings containing unpaired UTF-16 surrogate pair code units may not be handled correctly.
|
|
1033
|
-
*
|
|
1034
|
-
* These limitations come from the use of UTF-8 encoding of the strings, which requires them to be valid unicode.
|
|
1035
|
-
* JavaScript does not make this requirement for its strings so not all possible JavaScript strings are supported.
|
|
1036
|
-
* @privateRemarks
|
|
1037
|
-
* TODO:
|
|
1038
|
-
* We should be much more clear about what happens if you use problematic values.
|
|
1039
|
-
* We should validate and/or normalize them when inserting content.
|
|
1040
|
-
*/
|
|
1041
|
-
readonly string: TreeNodeSchema<"com.fluidframework.leaf.string", NodeKind.Leaf, string, string>;
|
|
1042
|
-
/**
|
|
1043
|
-
* {@link TreeNodeSchema} for holding a JavaScript `number`.
|
|
1044
|
-
*
|
|
1045
|
-
* @remarks
|
|
1046
|
-
* The number is a [double-precision 64-bit binary format IEEE 754](https://en.wikipedia.org/wiki/Double-precision_floating-point_format) value, however there are some exceptions:
|
|
1047
|
-
* - `NaN`, and the infinities are converted to `null` (and may therefore only be used where `null` is allowed by the schema).
|
|
1048
|
-
* - `-0` may be converted to `0` in some cases.
|
|
1049
|
-
*
|
|
1050
|
-
* These limitations match the limitations of JSON.
|
|
1051
|
-
* @privateRemarks
|
|
1052
|
-
* TODO:
|
|
1053
|
-
* We should be much more clear about what happens if you use problematic values.
|
|
1054
|
-
* We should validate and/or normalize them when inserting content.
|
|
1055
|
-
*/
|
|
1056
|
-
readonly number: TreeNodeSchema<"com.fluidframework.leaf.number", NodeKind.Leaf, number, number>;
|
|
1057
|
-
/**
|
|
1058
|
-
* {@link TreeNodeSchema} for holding a boolean.
|
|
1059
|
-
*/
|
|
1060
|
-
readonly boolean: TreeNodeSchema<"com.fluidframework.leaf.boolean", NodeKind.Leaf, boolean, boolean>;
|
|
1061
|
-
/**
|
|
1062
|
-
* {@link TreeNodeSchema} for JavaScript `null`.
|
|
1063
|
-
*
|
|
1064
|
-
* @remarks
|
|
1065
|
-
* There are good [reasons to avoid using null](https://www.npmjs.com/package/%40rushstack/eslint-plugin#rushstackno-new-null) in JavaScript, however sometimes it is desired.
|
|
1066
|
-
* This {@link TreeNodeSchema} node provides the option to include nulls in trees when desired.
|
|
1067
|
-
* Unless directly inter-operating with existing data using null, consider other approaches, like wrapping the value in an optional field, or using a more specifically named empty object node.
|
|
1068
|
-
*/
|
|
1069
|
-
readonly null: TreeNodeSchema<"com.fluidframework.leaf.null", NodeKind.Leaf, null, null>;
|
|
1070
|
-
/**
|
|
1071
|
-
* {@link TreeNodeSchema} for holding an {@link @fluidframework/core-interfaces#(IFluidHandle:interface)}.
|
|
1072
|
-
*/
|
|
1073
|
-
readonly handle: TreeNodeSchema<"com.fluidframework.leaf.handle", NodeKind.Leaf, IFluidHandle<FluidObject & IFluidLoadable>, IFluidHandle<FluidObject & IFluidLoadable>>;
|
|
1074
|
-
/**
|
|
1075
|
-
* Construct a class that provides the common parts all TreeNodeSchemaClass share.
|
|
1076
|
-
* More specific schema extend this class.
|
|
1077
|
-
*/
|
|
1078
|
-
private nodeSchema;
|
|
1079
|
-
/**
|
|
1080
|
-
* Define a {@link TreeNodeSchema} for an object node.
|
|
1081
|
-
*
|
|
1082
|
-
* @param name - Unique identifier for this schema within this factory's scope.
|
|
1083
|
-
*/
|
|
1084
|
-
object<const Name extends TName, const T extends RestrictiveReadonlyRecord<string, ImplicitFieldSchema>>(name: Name, t: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeNode & ObjectFromSchemaRecord<T> & WithType<ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecord<T>, true, T>;
|
|
1085
|
-
/**
|
|
1086
|
-
* Define a structurally typed {@link TreeNodeSchema} for a {@link TreeMapNode}.
|
|
1087
|
-
*
|
|
1088
|
-
* @remarks
|
|
1089
|
-
* The unique identifier for this Map is defined as a function of the provided types.
|
|
1090
|
-
* It is still scoped to this SchemaBuilder, but multiple calls with the same arguments will return the same schema object, providing somewhat structural typing.
|
|
1091
|
-
* This does not support recursive types.
|
|
1092
|
-
*
|
|
1093
|
-
* If using these structurally named maps, other types in this schema builder should avoid names of the form `Map<${string}>`.
|
|
1094
|
-
*
|
|
1095
|
-
* @example
|
|
1096
|
-
* The returned schema should be used as a schema directly:
|
|
1097
|
-
* ```typescript
|
|
1098
|
-
* const MyMap = factory.map(factory.number);
|
|
1099
|
-
* type MyMap = NodeFromSchema<typeof MyMap>;
|
|
1100
|
-
* ```
|
|
1101
|
-
* Or inline:
|
|
1102
|
-
* ```typescript
|
|
1103
|
-
* factory.object("Foo", {myMap: factory.map(factory.number)});
|
|
1104
|
-
* ```
|
|
1105
|
-
* @privateRemarks
|
|
1106
|
-
* See note on array.
|
|
1107
|
-
*/
|
|
1108
|
-
map<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchema<ScopedSchemaName<TScope, `Map<${string}>`>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, `Map<${string}>`>>, Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T>]>, true, T>;
|
|
1109
|
-
/**
|
|
1110
|
-
* Define a {@link TreeNodeSchema} for a {@link TreeMapNode}.
|
|
1111
|
-
*
|
|
1112
|
-
* @param name - Unique identifier for this schema within this factory's scope.
|
|
1113
|
-
*
|
|
1114
|
-
* @example
|
|
1115
|
-
* ```typescript
|
|
1116
|
-
* class NamedMap extends factory.map("name", factory.number) {}
|
|
1117
|
-
* ```
|
|
1118
|
-
*/
|
|
1119
|
-
map<Name extends TName, const T extends ImplicitAllowedTypes>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, Name>>, Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T>]>, true, T>;
|
|
1120
|
-
/**
|
|
1121
|
-
* Define a {@link TreeNodeSchema} for a {@link (TreeMapNode:interface)}.
|
|
1122
|
-
*
|
|
1123
|
-
* @param name - Unique identifier for this schema within this factory's scope.
|
|
1124
|
-
*
|
|
1125
|
-
* @remarks See remarks on {@link SchemaFactory.namedArray_internal}.
|
|
1126
|
-
*/
|
|
1127
|
-
namedMap_internal<Name extends TName | string, const T extends ImplicitAllowedTypes, const ImplicitlyConstructable extends boolean>(name: Name, allowedTypes: T, customizable: boolean, implicitlyConstructable: ImplicitlyConstructable): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, Name>>, Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T>]>, ImplicitlyConstructable, T>;
|
|
1128
|
-
/**
|
|
1129
|
-
* Define a structurally typed {@link TreeNodeSchema} for a {@link (TreeArrayNode:interface)}.
|
|
1130
|
-
*
|
|
1131
|
-
* @remarks
|
|
1132
|
-
* The identifier for this Array is defined as a function of the provided types.
|
|
1133
|
-
* It is still scoped to this SchemaFactory, but multiple calls with the same arguments will return the same schema object, providing somewhat structural typing.
|
|
1134
|
-
* This does not support recursive types.
|
|
1135
|
-
*
|
|
1136
|
-
* If using these structurally named arrays, other types in this schema builder should avoid names of the form `Array<${string}>`.
|
|
1137
|
-
*
|
|
1138
|
-
* @example
|
|
1139
|
-
* The returned schema should be used as a schema directly:
|
|
1140
|
-
* ```typescript
|
|
1141
|
-
* const MyArray = factory.array(factory.number);
|
|
1142
|
-
* type MyArray = NodeFromSchema<typeof MyArray>;
|
|
1143
|
-
* ```
|
|
1144
|
-
* Or inline:
|
|
1145
|
-
* ```typescript
|
|
1146
|
-
* factory.object("Foo", {myArray: factory.array(factory.number)});
|
|
1147
|
-
* ```
|
|
1148
|
-
* @privateRemarks
|
|
1149
|
-
* The name produced at the type level here is not as specific as it could be, however doing type level sorting and escaping is a real mess.
|
|
1150
|
-
* There are cases where not having this full type provided will be less than ideal since TypeScript's structural types.
|
|
1151
|
-
* For example attempts to narrow unions of structural arrays by name won't work.
|
|
1152
|
-
* Planned future changes to move to a class based schema system as well as factor function based node construction should mostly avoid these issues,
|
|
1153
|
-
* though there may still be some problematic cases even after that work is done.
|
|
1154
|
-
*
|
|
1155
|
-
* The return value is a class, but its the type is intentionally not specific enough to indicate it is a class.
|
|
1156
|
-
* This prevents callers of this from sub-classing it, which is unlikely to work well (due to the ease of accidentally giving two different calls o this different subclasses)
|
|
1157
|
-
* when working with structural typing.
|
|
1158
|
-
*
|
|
1159
|
-
* {@label STRUCTURAL}
|
|
1160
|
-
*/
|
|
1161
|
-
array<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchema<ScopedSchemaName<TScope, `Array<${string}>`>, NodeKind.Array, TreeArrayNode<T> & WithType<ScopedSchemaName<TScope, `Array<${string}>`>>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, true, T>;
|
|
1162
|
-
/**
|
|
1163
|
-
* Define (and add to this library) a {@link TreeNodeSchemaClass} for a {@link (TreeArrayNode:interface)}.
|
|
1164
|
-
*
|
|
1165
|
-
* @param name - Unique identifier for this schema within this factory's scope.
|
|
1166
|
-
*
|
|
1167
|
-
* @example
|
|
1168
|
-
* ```typescript
|
|
1169
|
-
* class NamedArray extends factory.array("name", factory.number) {}
|
|
1170
|
-
* ```
|
|
1171
|
-
*
|
|
1172
|
-
* {@label NAMED}
|
|
1173
|
-
*/
|
|
1174
|
-
array<const Name extends TName, const T extends ImplicitAllowedTypes>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Array, TreeArrayNode<T> & WithType<ScopedSchemaName<TScope, Name>>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, true, T>;
|
|
1175
|
-
/**
|
|
1176
|
-
* Define a {@link TreeNodeSchema} for a {@link (TreeArrayNode:interface)}.
|
|
1177
|
-
*
|
|
1178
|
-
* @param name - Unique identifier for this schema within this factory's scope.
|
|
1179
|
-
*
|
|
1180
|
-
* @remarks
|
|
1181
|
-
* This is not intended to be used directly, use the overload of `array` which takes a name instead.
|
|
1182
|
-
* This is only public to work around a compiler limitation.
|
|
1183
|
-
*
|
|
1184
|
-
* @privateRemarks
|
|
1185
|
-
* TODO: this should be made private or protected.
|
|
1186
|
-
* Doing so breaks due to:
|
|
1187
|
-
* `src/class-tree/schemaFactoryRecursive.ts:42:9 - error TS2310: Type 'Array' recursively references itself as a base type.`
|
|
1188
|
-
* Once recursive APIs are better sorted out and integrated into this class, switch this back to private.
|
|
1189
|
-
*/
|
|
1190
|
-
namedArray_internal<Name extends TName | string, const T extends ImplicitAllowedTypes, const ImplicitlyConstructable extends boolean>(name: Name, allowedTypes: T, customizable: boolean, implicitlyConstructable: ImplicitlyConstructable): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Array, TreeArrayNode<T> & WithType<ScopedSchemaName<TScope, string>>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, ImplicitlyConstructable, T>;
|
|
1191
|
-
/**
|
|
1192
|
-
* Make a field optional instead of the default which is required.
|
|
1193
|
-
*/
|
|
1194
|
-
optional<const T extends ImplicitAllowedTypes>(t: T): FieldSchema<FieldKind.Optional, T>;
|
|
1195
|
-
/**
|
|
1196
|
-
* Function which can be used for its compile time side-effects to tweak the evaluation order of recursive types to make them compile.
|
|
1197
|
-
* @remarks
|
|
1198
|
-
* Some related information in https://github.com/microsoft/TypeScript/issues/55758.
|
|
1199
|
-
*
|
|
1200
|
-
* Also be aware that code which relies on this tends to break VSCode's IntelliSense every time anything related to that code (even comments) is edited.
|
|
1201
|
-
* Running the command `TypeScript: Restart TS Server` with the schema file focused should fix it.
|
|
1202
|
-
* Sometimes this does not work: closing all open files except the schema before running the command can help.
|
|
1203
|
-
* Real compile errors (for example elsewhere in the file) can also cause the IntelliSense to not work correctly ever after `TypeScript: Restart TS Server`.
|
|
1204
|
-
*
|
|
1205
|
-
* Intellisense has also shown problems when schema files with recursive types are part of a cyclic file dependency.
|
|
1206
|
-
* Splitting the schema into its own file with minimal dependencies can help with this.
|
|
1207
|
-
*
|
|
1208
|
-
* Ensure `"noImplicitAny": true` is set in the `tsconfig.json`.
|
|
1209
|
-
* Without it, recursive types that are not working properly can infer `any` and give very non-type-safe results instead of erroring.
|
|
1210
|
-
*
|
|
1211
|
-
* @example
|
|
1212
|
-
* ```typescript
|
|
1213
|
-
* const factory = new SchemaFactory("example");
|
|
1214
|
-
* const recursiveReference = () => RecursiveObject;
|
|
1215
|
-
* factory.fixRecursiveReference(recursiveReference);
|
|
1216
|
-
* export class RecursiveObject extends factory.object("exampleObject", {
|
|
1217
|
-
* recursive: [recursiveReference],
|
|
1218
|
-
* }) {}
|
|
1219
|
-
* ```
|
|
1220
|
-
* @deprecated Use special `recursive` versions of builders instead of relying on this.
|
|
1221
|
-
*/
|
|
1222
|
-
fixRecursiveReference<T extends AllowedTypes>(...types: T): void;
|
|
1223
|
-
}
|
|
1224
|
-
|
|
1225
|
-
/**
|
|
1226
|
-
* Extends SchemaFactory with utilities for recursive schema.
|
|
1227
|
-
* @see {@link ValidateRecursiveSchema}
|
|
1228
|
-
* @remarks
|
|
1229
|
-
* This is separated from {@link SchemaFactory} as these APIs are more experimental and may be stabilized independently.
|
|
1230
|
-
*
|
|
1231
|
-
* The non-recursive versions of the schema building methods will run into several issues when used recursively.
|
|
1232
|
-
* Consider the following example:
|
|
1233
|
-
*
|
|
1234
|
-
* ```typescript
|
|
1235
|
-
* const Test = sf.array(Test); // Bad
|
|
1236
|
-
* ```
|
|
1237
|
-
*
|
|
1238
|
-
* This has several issues:
|
|
1239
|
-
*
|
|
1240
|
-
* 1. It is a structurally named schema.
|
|
1241
|
-
* Structurally named schema derive their name from the names of their child types, which is not possible when the type is recursive since its name would include itself.
|
|
1242
|
-
* Instead a name must be explicitly provided.
|
|
1243
|
-
*
|
|
1244
|
-
* 2. The schema accesses itself before it's defined.
|
|
1245
|
-
* This would be a runtime error if the TypeScript compiler allowed it.
|
|
1246
|
-
* This can be fixed by wrapping the type in a function, which also requires explicitly listing the allowed types in an array (`[() => Test]`).
|
|
1247
|
-
*
|
|
1248
|
-
* 3. TypeScript fails to infer the recursive type and falls back to `any` with the warning or error (depending on the compiler configuration):
|
|
1249
|
-
* `'Test' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.ts(7022)`.
|
|
1250
|
-
* This issue is what the specialized recursive schema building methods fix.
|
|
1251
|
-
* This fix comes at a cost: to make the recursive cases work, the `extends` clauses had to be removed.
|
|
1252
|
-
* This means that mistakes declaring recursive schema often don't give compile errors in the schema.
|
|
1253
|
-
* Additionally support for implicit construction had to be disabled.
|
|
1254
|
-
* This means that new nested {@link Unhydrated} nodes can not be created like `new Test([[]])`.
|
|
1255
|
-
* Instead the nested nodes must be created explicitly using the construction like`new Test([new Test([])])`.
|
|
1256
|
-
*
|
|
1257
|
-
* 4. It is using "POJO" mode since it's not explicitly declaring a new class.
|
|
1258
|
-
* This means that if the schema generated d.ts files replace recursive references with `any`, breaking use of recursive schema across compilation boundaries.
|
|
1259
|
-
* This is fixed by explicitly creating a class which extends the returned schema.
|
|
1260
|
-
*
|
|
1261
|
-
* All together, the fixed version looks like:
|
|
1262
|
-
* ```typescript
|
|
1263
|
-
* class Test extends sf.arrayRecursive("Test", [() => Test]) {} // Good
|
|
1264
|
-
* ```
|
|
1265
|
-
*
|
|
1266
|
-
* Be very careful when declaring recursive schema.
|
|
1267
|
-
* Due to the removed extends clauses, subtle mistakes will compile just fine but cause strange errors when the schema is used.
|
|
1268
|
-
*
|
|
1269
|
-
* For example if the square brackets around the allowed types are forgotten:
|
|
1270
|
-
*
|
|
1271
|
-
* ```typescript
|
|
1272
|
-
* class Test extends sf.arrayRecursive("Test", () => Test) {} // Bad
|
|
1273
|
-
* ```
|
|
1274
|
-
* This schema will still compile, and some (but not all) usages of it may look like they work correctly while other usages will produce generally unintelligible compile errors.
|
|
1275
|
-
* This issue can be partially mitigated using {@link ValidateRecursiveSchema}.
|
|
1276
|
-
* @sealed @beta
|
|
1277
|
-
*/
|
|
1278
|
-
export declare class SchemaFactoryRecursive<TScope extends string, TName extends number | string = string> extends SchemaFactory<TScope, TName> {
|
|
1279
|
-
/**
|
|
1280
|
-
* {@link SchemaFactory.object} except tweaked to work better for recursive types.
|
|
1281
|
-
* @remarks
|
|
1282
|
-
* This version of {@link SchemaFactory.object} has fewer type constraints to work around TypeScript limitations, see {@link Unenforced}.
|
|
1283
|
-
*/
|
|
1284
|
-
objectRecursive<const Name extends TName, const T extends Unenforced<RestrictiveReadonlyRecord<string, ImplicitFieldSchema>>>(name: Name, t: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeNode & ObjectFromSchemaRecordUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecordUnsafe<T>, false, T>;
|
|
1285
|
-
/**
|
|
1286
|
-
* {@link SchemaFactory.optional} except tweaked to work better for recursive types.
|
|
1287
|
-
* @remarks
|
|
1288
|
-
* This version of {@link SchemaFactory.optional} has fewer type constraints to work around TypeScript limitations, see {@link Unenforced}.
|
|
1289
|
-
*/
|
|
1290
|
-
optionalRecursive<const T extends Unenforced<readonly (() => TreeNodeSchema)[]>>(t: T): FieldSchemaUnsafe<FieldKind.Optional, T>;
|
|
1291
|
-
/**
|
|
1292
|
-
* `SchemaFactory.array` except tweaked to work better for recursive types.
|
|
1293
|
-
* @remarks
|
|
1294
|
-
* This version of `SchemaFactory.array` has fewer type constraints to work around TypeScript limitations, see {@link Unenforced}.
|
|
1295
|
-
*
|
|
1296
|
-
* Additionally `ImplicitlyConstructable` is disabled (forcing use of constructor) to avoid
|
|
1297
|
-
* `error TS2589: Type instantiation is excessively deep and possibly infinite.`
|
|
1298
|
-
* which otherwise gets reported at sometimes incorrect source locations that vary based on incremental builds.
|
|
1299
|
-
*/
|
|
1300
|
-
arrayRecursive<const Name extends TName, const T extends Unenforced<ImplicitAllowedTypes>>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Array, TreeArrayNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>>, {
|
|
1301
|
-
/**
|
|
1302
|
-
* Iterator for the iterable of content for this node.
|
|
1303
|
-
* @privateRemarks
|
|
1304
|
-
* Wrapping the constructor parameter for recursive arrays and maps in an inlined object type avoids (for unknown reasons)
|
|
1305
|
-
* the following compile error when declaring the recursive schema:
|
|
1306
|
-
* `Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.`
|
|
1307
|
-
* To benefit from this without impacting the API, the definition of `Iterable` has been inlined as such an object.
|
|
1308
|
-
*
|
|
1309
|
-
* If this workaround is kept, ideally this comment would be deduplicated with the other instance of it.
|
|
1310
|
-
* Unfortunately attempts to do this failed to avoid the compile error this was introduced to solve.
|
|
1311
|
-
*/
|
|
1312
|
-
[Symbol.iterator](): Iterator<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
|
|
1313
|
-
}, false, T>;
|
|
1314
|
-
/**
|
|
1315
|
-
* `SchemaFactory.map` except tweaked to work better for recursive types.
|
|
1316
|
-
* @remarks
|
|
1317
|
-
* This version of `SchemaFactory.map` uses the same workarounds as {@link SchemaFactoryRecursive.arrayRecursive}
|
|
1318
|
-
*/
|
|
1319
|
-
mapRecursive<Name extends TName, const T extends Unenforced<ImplicitAllowedTypes>>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, TreeMapNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>>, {
|
|
1320
|
-
/**
|
|
1321
|
-
* Iterator for the iterable of content for this node.
|
|
1322
|
-
* @privateRemarks
|
|
1323
|
-
* Wrapping the constructor parameter for recursive arrays and maps in an inlined object type avoids (for unknown reasons)
|
|
1324
|
-
* the following compile error when declaring the recursive schema:
|
|
1325
|
-
* `Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.`
|
|
1326
|
-
* To benefit from this without impacting the API, the definition of `Iterable` has been inlined as such an object.
|
|
1327
|
-
*
|
|
1328
|
-
* If this workaround is kept, ideally this comment would be deduplicated with the other instance of it.
|
|
1329
|
-
* Unfortunately attempts to do this failed to avoid the compile error this was introduced to solve.
|
|
1330
|
-
*/
|
|
1331
|
-
[Symbol.iterator](): Iterator<[
|
|
1332
|
-
string,
|
|
1333
|
-
InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>
|
|
1334
|
-
]>;
|
|
1335
|
-
}, false, T>;
|
|
1336
|
-
}
|
|
1337
|
-
|
|
1338
|
-
/**
|
|
1339
|
-
* Information about how a view schema was incompatible.
|
|
1340
|
-
* @public
|
|
1341
|
-
*/
|
|
1342
|
-
export declare interface SchemaIncompatible {
|
|
1343
|
-
/**
|
|
1344
|
-
* True iff the view schema supports all possible documents permitted by the stored schema.
|
|
1345
|
-
*
|
|
1346
|
-
* @remarks
|
|
1347
|
-
* When true, this is still an error because the view schema supports more documents than the stored schema.
|
|
1348
|
-
* This means that writes to the document using the view schema could make the document violate its stored schema.
|
|
1349
|
-
* In this case, the stored schema could be updated to match the provided view schema, allowing read write access to the tree.
|
|
1350
|
-
*
|
|
1351
|
-
* Future version of SharedTree may provide readonly access to the document in this case because that would be safe:
|
|
1352
|
-
* but this is not currently supported.
|
|
1353
|
-
*/
|
|
1354
|
-
readonly canUpgrade: boolean;
|
|
1355
|
-
}
|
|
1356
|
-
|
|
1357
|
-
/* Excluded from this release type: schemaIsFieldNode */
|
|
1358
|
-
|
|
1359
|
-
/* Excluded from this release type: schemaIsLeaf */
|
|
1360
|
-
|
|
1361
|
-
/* Excluded from this release type: schemaIsMap */
|
|
1362
|
-
|
|
1363
|
-
/* Excluded from this release type: schemaIsObjectNode */
|
|
1364
|
-
|
|
1365
|
-
/* Excluded from this release type: SchemaLibrary */
|
|
1366
|
-
|
|
1367
|
-
/* Excluded from this release type: SchemaLibraryData */
|
|
1368
|
-
|
|
1369
|
-
/* Excluded from this release type: SchemaLintConfiguration */
|
|
1370
|
-
|
|
1371
|
-
/* Excluded from this release type: SchematizeConfiguration */
|
|
1372
|
-
|
|
1373
|
-
/* Excluded from this release type: SchemaValidationFunction */
|
|
1374
|
-
|
|
1375
|
-
/**
|
|
1376
|
-
* The name of a schema produced by {@link SchemaFactory}, including its optional scope prefix.
|
|
1377
|
-
*
|
|
1378
|
-
* @public
|
|
1379
|
-
*/
|
|
1380
|
-
export declare type ScopedSchemaName<TScope extends string | undefined, TName extends number | string> = TScope extends undefined ? `${TName}` : `${TScope}.${TName}`;
|
|
1381
|
-
|
|
1382
|
-
/* Excluded from this release type: Sequence */
|
|
1383
|
-
|
|
1384
|
-
/* Excluded from this release type: SequenceFieldEditBuilder */
|
|
1385
|
-
|
|
1386
|
-
/**
|
|
1387
|
-
* SharedTree is a hierarchical data structure for collaboratively editing JSON-like trees
|
|
1388
|
-
* of objects, arrays, and other data types.
|
|
1389
|
-
*
|
|
1390
|
-
* @remarks
|
|
1391
|
-
* This implements {@link @fluidframework/fluid-static#SharedObjectClass}.
|
|
1392
|
-
* @privateRemarks
|
|
1393
|
-
* Due to the dependency structure and the placement of that interface SharedObjectClass,
|
|
1394
|
-
* this interface implementation can not be recorded in the type here.
|
|
1395
|
-
* @public
|
|
1396
|
-
*/
|
|
1397
|
-
export declare const SharedTree: {
|
|
1398
|
-
/**
|
|
1399
|
-
* Gets the factory this factory is a wrapper for.
|
|
1400
|
-
*/
|
|
1401
|
-
getFactory(): IChannelFactory<ITree>;
|
|
1402
|
-
};
|
|
1403
|
-
|
|
1404
|
-
/* Excluded from this release type: SharedTreeContentSnapshot */
|
|
1405
|
-
|
|
1406
|
-
/* Excluded from this release type: SharedTreeFactory */
|
|
1407
|
-
|
|
1408
|
-
/* Excluded from this release type: SharedTreeOptions */
|
|
1409
|
-
|
|
1410
|
-
/* Excluded from this release type: singletonSchema */
|
|
1411
|
-
|
|
1412
|
-
/* Excluded from this release type: StableNodeKey */
|
|
1413
|
-
|
|
1414
|
-
/* Excluded from this release type: stackTreeFieldCursor */
|
|
1415
|
-
|
|
1416
|
-
/* Excluded from this release type: stackTreeNodeCursor */
|
|
1417
|
-
|
|
1418
|
-
/* Excluded from this release type: StoredSchemaCollection */
|
|
1419
|
-
|
|
1420
|
-
/* Excluded from this release type: test_RecursiveObject */
|
|
1421
|
-
|
|
1422
|
-
/* Excluded from this release type: test_RecursiveObject_base */
|
|
1423
|
-
|
|
1424
|
-
/* Excluded from this release type: test_RecursiveObjectPojoMode */
|
|
1425
|
-
|
|
1426
|
-
/* Excluded from this release type: TransactionResult */
|
|
1427
|
-
|
|
1428
|
-
/**
|
|
1429
|
-
* The `Tree` object holds various functions for interacting with {@link TreeNode}s.
|
|
1430
|
-
* @public
|
|
1431
|
-
*/
|
|
1432
|
-
export declare const Tree: TreeApi;
|
|
1433
|
-
|
|
1434
|
-
/* Excluded from this release type: TreeAdapter */
|
|
1435
|
-
|
|
1436
|
-
/**
|
|
1437
|
-
* Provides various functions for interacting with {@link TreeNode}s.
|
|
1438
|
-
* @public
|
|
1439
|
-
*/
|
|
1440
|
-
export declare interface TreeApi extends TreeNodeApi {
|
|
1441
|
-
/**
|
|
1442
|
-
* Apply one or more edits to the tree as a single atomic unit.
|
|
1443
|
-
* @param node - The node that will be passed to `transaction`.
|
|
1444
|
-
* This is typically the root node of the subtree that will be modified by the transaction.
|
|
1445
|
-
* @param transaction - The function to run as the body of the transaction.
|
|
1446
|
-
* This function is passed the provided `node`.
|
|
1447
|
-
* At any point during the transaction, the function may return the value `"rollback"` to abort the transaction and discard any changes it made so far.
|
|
1448
|
-
* @remarks
|
|
1449
|
-
* All of the changes in the transaction are applied synchronously and therefore no other changes (either from this client or from a remote client) can be interleaved with those changes.
|
|
1450
|
-
* Note that this is guaranteed by Fluid for any sequence of changes that are submitted synchronously, whether in a transaction or not.
|
|
1451
|
-
* However, using a transaction has the following additional consequences:
|
|
1452
|
-
* - If reverted (e.g. via an "undo" operation), all the changes in the transaction are reverted together.
|
|
1453
|
-
* - The internal data representation of a transaction with many changes is generally smaller and more efficient than that of the changes when separate.
|
|
1454
|
-
*
|
|
1455
|
-
* Local change events will be emitted for each change as the transaction is being applied.
|
|
1456
|
-
* If the transaction is cancelled and rolled back, a corresponding change event will also be emitted for the rollback.
|
|
1457
|
-
*/
|
|
1458
|
-
runTransaction<TNode extends TreeNode>(node: TNode, transaction: (node: TNode) => void | "rollback"): void;
|
|
1459
|
-
/**
|
|
1460
|
-
* Apply one or more edits to the tree as a single atomic unit.
|
|
1461
|
-
* @param tree - The tree which will be edited by the transaction
|
|
1462
|
-
* @param transaction - The function to run as the body of the transaction.
|
|
1463
|
-
* This function is passed the root of the tree.
|
|
1464
|
-
* At any point during the transaction, the function may return the value `"rollback"` to abort the transaction and discard any changes it made so far.
|
|
1465
|
-
* @remarks
|
|
1466
|
-
* All of the changes in the transaction are applied synchronously and therefore no other changes (either from this client or from a remote client) can be interleaved with those changes.
|
|
1467
|
-
* Note that this is guaranteed by Fluid for any sequence of changes that are submitted synchronously, whether in a transaction or not.
|
|
1468
|
-
* However, using a transaction has the following additional consequences:
|
|
1469
|
-
* - If reverted (e.g. via an "undo" operation), all the changes in the transaction are reverted together.
|
|
1470
|
-
* - The internal data representation of a transaction with many changes is generally smaller and more efficient than that of the changes when separate.
|
|
1471
|
-
*
|
|
1472
|
-
* Local change events will be emitted for each change as the transaction is being applied.
|
|
1473
|
-
* If the transaction is cancelled and rolled back, a corresponding change event will also be emitted for the rollback.
|
|
1474
|
-
*/
|
|
1475
|
-
runTransaction<TRoot>(tree: TreeView<TRoot>, transaction: (root: TRoot) => void | "rollback"): void;
|
|
1476
|
-
}
|
|
1477
|
-
|
|
1478
|
-
/**
|
|
1479
|
-
* A {@link TreeNode} which implements 'readonly T[]' and the array mutation APIs.
|
|
1480
|
-
*
|
|
1481
|
-
* @typeParam TAllowedTypes - Schema for types which are allowed as members of this array.
|
|
1482
|
-
*
|
|
1483
|
-
* @public
|
|
1484
|
-
*/
|
|
1485
|
-
export declare interface TreeArrayNode<TAllowedTypes extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends TreeNode, TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypes<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes>, TreeArrayNode> {
|
|
1486
|
-
}
|
|
1487
|
-
|
|
1488
|
-
/**
|
|
1489
|
-
* A {@link TreeNode} which implements 'readonly T[]' and the array mutation APIs.
|
|
1490
|
-
* @public
|
|
1491
|
-
*/
|
|
1492
|
-
export declare const TreeArrayNode: {
|
|
1493
|
-
/**
|
|
1494
|
-
* Wrap an iterable of items to inserted as consecutive items in a array.
|
|
1495
|
-
* @remarks
|
|
1496
|
-
* The object returned by this function can be inserted into a {@link (TreeArrayNode:interface)}.
|
|
1497
|
-
* Its contents will be inserted consecutively in the corresponding location in the array.
|
|
1498
|
-
* @example
|
|
1499
|
-
* ```ts
|
|
1500
|
-
* array.insertAtEnd(TreeArrayNode.spread(iterable))
|
|
1501
|
-
* ```
|
|
1502
|
-
*/
|
|
1503
|
-
spread: <T>(content: Iterable<T>) => IterableTreeArrayContent<T>;
|
|
1504
|
-
};
|
|
1505
|
-
|
|
1506
|
-
/**
|
|
1507
|
-
* A generic array type, used to defined types like {@link (TreeArrayNode:interface)}.
|
|
1508
|
-
*
|
|
1509
|
-
* @privateRemarks
|
|
1510
|
-
* Inlining this into TreeArrayNode causes recursive array use to stop compiling.
|
|
1511
|
-
*
|
|
1512
|
-
* @public
|
|
1513
|
-
*/
|
|
1514
|
-
export declare interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom> extends ReadonlyArray<T>, TreeNode {
|
|
1515
|
-
/**
|
|
1516
|
-
* Inserts new item(s) at a specified location.
|
|
1517
|
-
* @param index - The index at which to insert `value`.
|
|
1518
|
-
* @param value - The content to insert.
|
|
1519
|
-
* @throws Throws if `index` is not in the range [0, `array.length`).
|
|
1520
|
-
*/
|
|
1521
|
-
insertAt(index: number, ...value: (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
1522
|
-
/**
|
|
1523
|
-
* Inserts new item(s) at the start of the array.
|
|
1524
|
-
* @param value - The content to insert.
|
|
1525
|
-
*/
|
|
1526
|
-
insertAtStart(...value: (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
1527
|
-
/**
|
|
1528
|
-
* Inserts new item(s) at the end of the array.
|
|
1529
|
-
* @param value - The content to insert.
|
|
1530
|
-
*/
|
|
1531
|
-
insertAtEnd(...value: (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
1532
|
-
/**
|
|
1533
|
-
* Removes the item at the specified location.
|
|
1534
|
-
* @param index - The index at which to remove the item.
|
|
1535
|
-
* @throws Throws if `index` is not in the range [0, `array.length`).
|
|
1536
|
-
*/
|
|
1537
|
-
removeAt(index: number): void;
|
|
1538
|
-
/**
|
|
1539
|
-
* Removes all items between the specified indices.
|
|
1540
|
-
* @param start - The starting index of the range to remove (inclusive). Defaults to the start of the array.
|
|
1541
|
-
* @param end - The ending index of the range to remove (exclusive).
|
|
1542
|
-
* @throws Throws if `start` is not in the range [0, `array.length`).
|
|
1543
|
-
* @throws Throws if `end` is less than `start`.
|
|
1544
|
-
* If `end` is not supplied or is greater than the length of the array, all items after `start` are removed.
|
|
1545
|
-
*/
|
|
1546
|
-
removeRange(start?: number, end?: number): void;
|
|
1547
|
-
/**
|
|
1548
|
-
* Moves the specified item to the start of the array.
|
|
1549
|
-
* @param sourceIndex - The index of the item to move.
|
|
1550
|
-
* @throws Throws if `sourceIndex` is not in the range [0, `array.length`).
|
|
1551
|
-
*/
|
|
1552
|
-
moveToStart(sourceIndex: number): void;
|
|
1553
|
-
/**
|
|
1554
|
-
* Moves the specified item to the start of the array.
|
|
1555
|
-
* @param sourceIndex - The index of the item to move.
|
|
1556
|
-
* @param source - The source array to move the item out of.
|
|
1557
|
-
* @throws Throws if `sourceIndex` is not in the range [0, `array.length`).
|
|
1558
|
-
*/
|
|
1559
|
-
moveToStart(sourceIndex: number, source: TMoveFrom): void;
|
|
1560
|
-
/**
|
|
1561
|
-
* Moves the specified item to the end of the array.
|
|
1562
|
-
* @param sourceIndex - The index of the item to move.
|
|
1563
|
-
* @throws Throws if `sourceIndex` is not in the range [0, `array.length`).
|
|
1564
|
-
*/
|
|
1565
|
-
moveToEnd(sourceIndex: number): void;
|
|
1566
|
-
/**
|
|
1567
|
-
* Moves the specified item to the end of the array.
|
|
1568
|
-
* @param sourceIndex - The index of the item to move.
|
|
1569
|
-
* @param source - The source array to move the item out of.
|
|
1570
|
-
* @throws Throws if `sourceIndex` is not in the range [0, `array.length`).
|
|
1571
|
-
*/
|
|
1572
|
-
moveToEnd(sourceIndex: number, source: TMoveFrom): void;
|
|
1573
|
-
/**
|
|
1574
|
-
* Moves the specified item to the desired location in the array.
|
|
1575
|
-
* @param index - The index to move the item to.
|
|
1576
|
-
* This is based on the state of the array before moving the source item.
|
|
1577
|
-
* @param sourceIndex - The index of the item to move.
|
|
1578
|
-
* @throws Throws if any of the input indices are not in the range [0, `array.length`).
|
|
1579
|
-
*/
|
|
1580
|
-
moveToIndex(index: number, sourceIndex: number): void;
|
|
1581
|
-
/**
|
|
1582
|
-
* Moves the specified item to the desired location in the array.
|
|
1583
|
-
* @param index - The index to move the item to.
|
|
1584
|
-
* @param sourceIndex - The index of the item to move.
|
|
1585
|
-
* @param source - The source array to move the item out of.
|
|
1586
|
-
* @throws Throws if any of the input indices are not in the range [0, `array.length`).
|
|
1587
|
-
*/
|
|
1588
|
-
moveToIndex(index: number, sourceIndex: number, source: TMoveFrom): void;
|
|
1589
|
-
/**
|
|
1590
|
-
* Moves the specified items to the start of the array.
|
|
1591
|
-
* @param sourceStart - The starting index of the range to move (inclusive).
|
|
1592
|
-
* @param sourceEnd - The ending index of the range to move (exclusive)
|
|
1593
|
-
* @throws Throws if either of the input indices are not in the range [0, `array.length`) or if `sourceStart` is greater than `sourceEnd`.
|
|
1594
|
-
*/
|
|
1595
|
-
moveRangeToStart(sourceStart: number, sourceEnd: number): void;
|
|
1596
|
-
/**
|
|
1597
|
-
* Moves the specified items to the start of the array.
|
|
1598
|
-
* @param sourceStart - The starting index of the range to move (inclusive).
|
|
1599
|
-
* @param sourceEnd - The ending index of the range to move (exclusive)
|
|
1600
|
-
* @param source - The source array to move items out of.
|
|
1601
|
-
* @throws Throws if the types of any of the items being moved are not allowed in the destination array,
|
|
1602
|
-
* if either of the input indices are not in the range [0, `array.length`) or if `sourceStart` is greater than `sourceEnd`.
|
|
1603
|
-
*/
|
|
1604
|
-
moveRangeToStart(sourceStart: number, sourceEnd: number, source: TMoveFrom): void;
|
|
1605
|
-
/**
|
|
1606
|
-
* Moves the specified items to the end of the array.
|
|
1607
|
-
* @param sourceStart - The starting index of the range to move (inclusive).
|
|
1608
|
-
* @param sourceEnd - The ending index of the range to move (exclusive)
|
|
1609
|
-
* @throws Throws if either of the input indices are not in the range [0, `array.length`) or if `sourceStart` is greater than `sourceEnd`.
|
|
1610
|
-
*/
|
|
1611
|
-
moveRangeToEnd(sourceStart: number, sourceEnd: number): void;
|
|
1612
|
-
/**
|
|
1613
|
-
* Moves the specified items to the end of the array.
|
|
1614
|
-
* @param sourceStart - The starting index of the range to move (inclusive).
|
|
1615
|
-
* @param sourceEnd - The ending index of the range to move (exclusive)
|
|
1616
|
-
* @param source - The source array to move items out of.
|
|
1617
|
-
* @throws Throws if the types of any of the items being moved are not allowed in the destination array,
|
|
1618
|
-
* if either of the input indices are not in the range [0, `array.length`) or if `sourceStart` is greater than `sourceEnd`.
|
|
1619
|
-
*/
|
|
1620
|
-
moveRangeToEnd(sourceStart: number, sourceEnd: number, source: TMoveFrom): void;
|
|
1621
|
-
/**
|
|
1622
|
-
* Moves the specified items to the desired location within the array.
|
|
1623
|
-
* @param index - The index to move the items to.
|
|
1624
|
-
* This is based on the state of the array before moving the source items.
|
|
1625
|
-
* @param sourceStart - The starting index of the range to move (inclusive).
|
|
1626
|
-
* @param sourceEnd - The ending index of the range to move (exclusive)
|
|
1627
|
-
* @throws Throws if any of the input indices are not in the range [0, `array.length`) or if `sourceStart` is greater than `sourceEnd`.
|
|
1628
|
-
*/
|
|
1629
|
-
moveRangeToIndex(index: number, sourceStart: number, sourceEnd: number): void;
|
|
1630
|
-
/**
|
|
1631
|
-
* Moves the specified items to the desired location within the array.
|
|
1632
|
-
* @param index - The index to move the items to.
|
|
1633
|
-
* @param sourceStart - The starting index of the range to move (inclusive).
|
|
1634
|
-
* @param sourceEnd - The ending index of the range to move (exclusive)
|
|
1635
|
-
* @param source - The source array to move items out of.
|
|
1636
|
-
* @throws Throws if the types of any of the items being moved are not allowed in the destination array,
|
|
1637
|
-
* if any of the input indices are not in the range [0, `array.length`) or if `sourceStart` is greater than `sourceEnd`.
|
|
1638
|
-
*/
|
|
1639
|
-
moveRangeToIndex(index: number, sourceStart: number, sourceEnd: number, source: TMoveFrom): void;
|
|
1640
|
-
}
|
|
1641
|
-
|
|
1642
|
-
/**
|
|
1643
|
-
* {@link Unenforced} version of {@link (TreeArrayNode:interface)}.
|
|
1644
|
-
* @beta
|
|
1645
|
-
*/
|
|
1646
|
-
export declare interface TreeArrayNodeUnsafe<TAllowedTypes extends Unenforced<ImplicitAllowedTypes>> extends TreeNode, TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, TreeArrayNode> {
|
|
1647
|
-
}
|
|
1648
|
-
|
|
1649
|
-
/* Excluded from this release type: TreeCompressionStrategy */
|
|
1650
|
-
|
|
1651
|
-
/**
|
|
1652
|
-
* Configuration for how to {@link ITree.schematize|schematize} a tree.
|
|
1653
|
-
* @public
|
|
1654
|
-
*/
|
|
1655
|
-
export declare class TreeConfiguration<TSchema extends ImplicitFieldSchema = ImplicitFieldSchema> {
|
|
1656
|
-
readonly schema: TSchema;
|
|
1657
|
-
readonly initialTree: () => InsertableTreeFieldFromImplicitField<TSchema>;
|
|
1658
|
-
/**
|
|
1659
|
-
* @param schema - The schema which the application wants to view the tree with.
|
|
1660
|
-
* @param initialTree - A function that returns the default tree content to initialize the tree with iff the tree is uninitialized
|
|
1661
|
-
* (meaning it does not even have any schema set at all).
|
|
1662
|
-
* If `initialTree` returns any actual node instances, they should be recreated each time `initialTree` runs.
|
|
1663
|
-
* This is because if the config is used a second time any nodes that were not recreated could error since nodes cannot be inserted into the tree multiple times.
|
|
1664
|
-
*/
|
|
1665
|
-
constructor(schema: TSchema, initialTree: () => InsertableTreeFieldFromImplicitField<TSchema>);
|
|
1666
|
-
}
|
|
1667
|
-
|
|
1668
|
-
/* Excluded from this release type: TreeContent */
|
|
1669
|
-
|
|
1670
|
-
/* Excluded from this release type: TreeDataContext */
|
|
1671
|
-
|
|
1672
|
-
/* Excluded from this release type: TreeEvent */
|
|
1673
|
-
|
|
1674
|
-
/* Excluded from this release type: TreeFactory */
|
|
1675
|
-
|
|
1676
|
-
/**
|
|
1677
|
-
* Converts ImplicitFieldSchema to the corresponding tree node's field type.
|
|
1678
|
-
* @public
|
|
1679
|
-
*/
|
|
1680
|
-
export declare type TreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypes<Types>, Kind> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : unknown;
|
|
1681
|
-
|
|
1682
|
-
/**
|
|
1683
|
-
* {@link Unenforced} version of {@link TreeFieldFromImplicitField}.
|
|
1684
|
-
* @beta
|
|
1685
|
-
*/
|
|
1686
|
-
export declare type TreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : unknown;
|
|
1687
|
-
|
|
1688
|
-
/* Excluded from this release type: TreeFieldStoredSchema */
|
|
1689
|
-
|
|
1690
|
-
/**
|
|
1691
|
-
* Value that may be stored as a leaf node.
|
|
1692
|
-
* @public
|
|
1693
|
-
*/
|
|
1694
|
-
export declare type TreeLeafValue = number | string | boolean | IFluidHandle | null;
|
|
1695
|
-
|
|
1696
|
-
/* Excluded from this release type: TreeLocation */
|
|
1697
|
-
|
|
1698
|
-
/**
|
|
1699
|
-
* A map of string keys to tree objects.
|
|
1700
|
-
*
|
|
1701
|
-
* @privateRemarks
|
|
1702
|
-
* Add support for `clear` once we have established merge semantics for it.
|
|
1703
|
-
*
|
|
1704
|
-
* @public
|
|
1705
|
-
*/
|
|
1706
|
-
export declare interface TreeMapNode<T extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends ReadonlyMap<string, TreeNodeFromImplicitAllowedTypes<T>>, TreeNode {
|
|
1707
|
-
/**
|
|
1708
|
-
* Adds or updates an entry in the map with a specified `key` and a `value`.
|
|
1709
|
-
*
|
|
1710
|
-
* @param key - The key of the element to add to the map.
|
|
1711
|
-
* @param value - The value of the element to add to the map.
|
|
1712
|
-
*
|
|
1713
|
-
* @remarks
|
|
1714
|
-
* Setting the value at a key to `undefined` is equivalent to calling {@link TreeMapNode.delete} with that key.
|
|
1715
|
-
*/
|
|
1716
|
-
set(key: string, value: InsertableTreeNodeFromImplicitAllowedTypes<T> | undefined): void;
|
|
1717
|
-
/**
|
|
1718
|
-
* Removes the specified element from this map by its `key`.
|
|
1719
|
-
*
|
|
1720
|
-
* @remarks
|
|
1721
|
-
* Note: unlike JavaScript's Map API, this method does not return a flag indicating whether or not the value was
|
|
1722
|
-
* deleted.
|
|
1723
|
-
*
|
|
1724
|
-
* @privateRemarks
|
|
1725
|
-
* Regarding the choice to not return a boolean: Since this data structure is distributed in nature, it isn't
|
|
1726
|
-
* possible to tell whether or not the item was deleted as a result of this method call. Returning a "best guess"
|
|
1727
|
-
* is more likely to create issues / promote bad usage patterns than offer useful information.
|
|
1728
|
-
*
|
|
1729
|
-
* @param key - The key of the element to remove from the map.
|
|
1730
|
-
*/
|
|
1731
|
-
delete(key: string): void;
|
|
1732
|
-
}
|
|
1733
|
-
|
|
1734
|
-
/**
|
|
1735
|
-
* {@link Unenforced} version of {@link TreeMapNode}.
|
|
1736
|
-
* @beta
|
|
1737
|
-
*/
|
|
1738
|
-
export declare interface TreeMapNodeUnsafe<T extends Unenforced<ImplicitAllowedTypes>> extends ReadonlyMap<string, TreeNodeFromImplicitAllowedTypesUnsafe<T>>, TreeNode {
|
|
1739
|
-
/**
|
|
1740
|
-
* {@inheritdoc TreeMapNode.set}
|
|
1741
|
-
*/
|
|
1742
|
-
set(key: string, value: InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined): void;
|
|
1743
|
-
/**
|
|
1744
|
-
* {@inheritdoc TreeMapNode.delete}
|
|
1745
|
-
*/
|
|
1746
|
-
delete(key: string): void;
|
|
1747
|
-
}
|
|
1748
|
-
|
|
1749
|
-
/* Excluded from this release type: TreeNavigationResult */
|
|
1750
|
-
|
|
1751
|
-
/**
|
|
1752
|
-
* A non-leaf SharedTree node. Includes objects, arrays, and maps.
|
|
1753
|
-
*
|
|
1754
|
-
* @remarks
|
|
1755
|
-
* Base type which all nodes implement.
|
|
1756
|
-
*
|
|
1757
|
-
* This can be used as a type to indicate/document values which should be tree nodes.
|
|
1758
|
-
* Runtime use of this class object (for example when used with `instanceof` or subclassed), is not supported:
|
|
1759
|
-
* it may be replaced with an interface or union in the future.
|
|
1760
|
-
* @privateRemarks
|
|
1761
|
-
* Future changes may replace this with a branded interface if the runtime oddities related to this are not cleaned up.
|
|
1762
|
-
*
|
|
1763
|
-
* Currently not all node implications include this in their prototype chain (some hide it with a proxy), and thus cause `instanceof` to fail.
|
|
1764
|
-
* This results in the runtime and compile time behavior of `instanceof` differing.
|
|
1765
|
-
* TypeScript 5.3 allows altering the compile time behavior of `instanceof`.
|
|
1766
|
-
* The runtime behavior can be changed by implementing `Symbol.hasInstance`.
|
|
1767
|
-
* One of those approaches could be used to resolve this inconsistency if TreeNode is kept as a class.
|
|
1768
|
-
* @public
|
|
1769
|
-
*/
|
|
1770
|
-
export declare abstract class TreeNode implements WithType {
|
|
1771
|
-
/**
|
|
1772
|
-
* This is added to prevent TypeScript from implicitly allowing non-TreeNode types to be used as TreeNodes.
|
|
1773
|
-
* @privateRemarks
|
|
1774
|
-
* This is a JavaScript private field, so is not accessible from outside this class.
|
|
1775
|
-
* This prevents it from having name collisions with object fields.
|
|
1776
|
-
* Since this is private, the type of this field is stripped in the d.ts file.
|
|
1777
|
-
* To get matching type checking within and from outside the package, the least informative type (`unknown`) is used.
|
|
1778
|
-
* To avoid this having any runtime impact, the field is uninitialized.
|
|
1779
|
-
*
|
|
1780
|
-
* Making this field optional results in different type checking within this project than outside of it, since the d.ts file drops the optional aspect of the field.
|
|
1781
|
-
* This is extra confusing since sin ce the tests get in-project typing for intellisense and separate project checking at build time.
|
|
1782
|
-
* To avoid all this mess, this field is required, not optional.
|
|
1783
|
-
*
|
|
1784
|
-
* Another option would be to use a symbol (possibly as a private field).
|
|
1785
|
-
* That approach ran into some strange difficulties causing SchemaFactory to fail to compile, and was not investigated further.
|
|
1786
|
-
*
|
|
1787
|
-
* TODO: This is disabled due to compilation of this project not targeting es2022,
|
|
1788
|
-
* which causes this to polyfill to use of a weak map which has some undesired runtime overhead.
|
|
1789
|
-
* Consider enabling this for stronger typing after targeting es2022.
|
|
1790
|
-
* The [type] symbol here provides a lot of the value this private brand would, but is not all of it:
|
|
1791
|
-
* someone could manually make an object literal with it and pass it off as a node: this private brand would prevent that.
|
|
1792
|
-
* Another option would be to add a protected or private symbol, which would also get the stronger typing.
|
|
1793
|
-
*/
|
|
1794
|
-
/**
|
|
1795
|
-
* {@inheritdoc "type"}
|
|
1796
|
-
* @privateRemarks
|
|
1797
|
-
* Subclasses provide more specific strings for this to get strong typing of otherwise type compatible nodes.
|
|
1798
|
-
*/
|
|
1799
|
-
abstract get [type](): string;
|
|
1800
|
-
}
|
|
1801
|
-
|
|
1802
|
-
/**
|
|
1803
|
-
* Provides various functions for analyzing {@link TreeNode}s.
|
|
1804
|
-
*
|
|
1805
|
-
* @privateRemarks
|
|
1806
|
-
* Inlining the typing of this interface onto the `Tree` object provides slightly different .d.ts generation,
|
|
1807
|
-
* which avoids typescript expanding the type of TreeNodeSchema and thus encountering
|
|
1808
|
-
* https://github.com/microsoft/rushstack/issues/1958.
|
|
1809
|
-
* @public
|
|
1810
|
-
*/
|
|
1811
|
-
export declare interface TreeNodeApi {
|
|
1812
|
-
/**
|
|
1813
|
-
* The schema information for this node.
|
|
1814
|
-
*/
|
|
1815
|
-
schema<T extends TreeNode | TreeLeafValue>(node: T): TreeNodeSchema<string, NodeKind, unknown, T>;
|
|
1816
|
-
/**
|
|
1817
|
-
* Narrow the type of the given value if it satisfies the given schema.
|
|
1818
|
-
* @example
|
|
1819
|
-
* ```ts
|
|
1820
|
-
* if (node.is(myNode, point)) {
|
|
1821
|
-
* const y = myNode.y; // `myNode` is now known to satisfy the `point` schema and therefore has a `y` coordinate.
|
|
1822
|
-
* }
|
|
1823
|
-
* ```
|
|
1824
|
-
*/
|
|
1825
|
-
is<TSchema extends TreeNodeSchema>(value: unknown, schema: TSchema): value is NodeFromSchema<TSchema>;
|
|
1826
|
-
/**
|
|
1827
|
-
* Return the node under which this node resides in the tree (or undefined if this is a root node of the tree).
|
|
1828
|
-
*/
|
|
1829
|
-
parent(node: TreeNode): TreeNode | undefined;
|
|
1830
|
-
/**
|
|
1831
|
-
* The key of the given node under its parent.
|
|
1832
|
-
* @remarks
|
|
1833
|
-
* If `node` is an element in a {@link (TreeArrayNode:interface)}, this returns the index of `node` in the array node (a `number`).
|
|
1834
|
-
* Otherwise, this returns the key of the field that it is under (a `string`).
|
|
1835
|
-
*/
|
|
1836
|
-
key(node: TreeNode): string | number;
|
|
1837
|
-
/**
|
|
1838
|
-
* Register an event listener on the given node.
|
|
1839
|
-
* @returns A callback function which will deregister the event.
|
|
1840
|
-
* This callback should be called only once.
|
|
1841
|
-
*/
|
|
1842
|
-
on<K extends keyof TreeNodeEvents>(node: TreeNode, eventName: K, listener: TreeNodeEvents[K]): () => void;
|
|
1843
|
-
/**
|
|
1844
|
-
* Returns the {@link TreeStatus} of the given node.
|
|
1845
|
-
*/
|
|
1846
|
-
readonly status: (node: TreeNode) => TreeStatus;
|
|
1847
|
-
}
|
|
1848
|
-
|
|
1849
|
-
/**
|
|
1850
|
-
* A collection of events that can be raised by a {@link TreeNode}.
|
|
1851
|
-
* @public
|
|
1852
|
-
*/
|
|
1853
|
-
export declare interface TreeNodeEvents {
|
|
1854
|
-
/**
|
|
1855
|
-
* Raised on a node right after a change is applied to one of its fields or the fields of a descendant node.
|
|
1856
|
-
*/
|
|
1857
|
-
afterChange(): void;
|
|
1858
|
-
}
|
|
1859
|
-
|
|
1860
|
-
/**
|
|
1861
|
-
* Type of of tree node for a field of the given schema.
|
|
1862
|
-
* @public
|
|
1863
|
-
*/
|
|
1864
|
-
export declare type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
|
|
1865
|
-
|
|
1866
|
-
/**
|
|
1867
|
-
* {@link Unenforced} version of {@link TreeNodeFromImplicitAllowedTypes}.
|
|
1868
|
-
* @beta
|
|
1869
|
-
*/
|
|
1870
|
-
export declare type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
|
|
1871
|
-
|
|
1872
|
-
/**
|
|
1873
|
-
* Schema for a tree node.
|
|
1874
|
-
* @typeParam Name - The full (including scope) name/identifier for the schema.
|
|
1875
|
-
* @typeParam Kind - Which kind of node this schema is for.
|
|
1876
|
-
* @typeParam TNode - API for nodes that use this schema.
|
|
1877
|
-
* @typeParam TBuild - Data which can be used to construct an {@link Unhydrated} node of this type.
|
|
1878
|
-
* @typeParam Info - Data used when defining this schema.
|
|
1879
|
-
* @remarks
|
|
1880
|
-
* Captures the schema both as runtime data and compile time type information.
|
|
1881
|
-
* @public
|
|
1882
|
-
*/
|
|
1883
|
-
export declare type TreeNodeSchema<Name extends string = string, Kind extends NodeKind = NodeKind, TNode = unknown, TBuild = never, ImplicitlyConstructable extends boolean = boolean, Info = unknown> = TreeNodeSchemaClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info> | TreeNodeSchemaNonClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info>;
|
|
1884
|
-
|
|
1885
|
-
/* Excluded from this release type: TreeNodeSchemaBase */
|
|
1886
|
-
|
|
1887
|
-
/**
|
|
1888
|
-
* Tree node schema which is implemented using a class.
|
|
1889
|
-
* @remarks
|
|
1890
|
-
* Instances of this class are nodes in the tree.
|
|
1891
|
-
* This is also a constructor so that it can be subclassed.
|
|
1892
|
-
*
|
|
1893
|
-
* Using classes in this way allows introducing a named type and a named value at the same time, helping keep the runtime and compile time information together and easy to refer to un a uniform way.
|
|
1894
|
-
* Additionally, this works around https://github.com/microsoft/TypeScript/issues/55832 which causes similar patterns with less explicit types to infer "any" in the d.ts file.
|
|
1895
|
-
* @public
|
|
1896
|
-
*/
|
|
1897
|
-
export declare interface TreeNodeSchemaClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode = unknown, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
|
|
1898
|
-
/**
|
|
1899
|
-
* Constructs an {@link Unhydrated} node with this schema.
|
|
1900
|
-
* @remarks
|
|
1901
|
-
* This constructor is also used internally to construct hydrated nodes with a different parameter type.
|
|
1902
|
-
* Therefor overriding this constructor is not type-safe and is not supported.
|
|
1903
|
-
* @sealed
|
|
1904
|
-
*/
|
|
1905
|
-
new (data: TInsertable): Unhydrated<TNode>;
|
|
1906
|
-
}
|
|
1907
|
-
|
|
1908
|
-
/**
|
|
1909
|
-
* Data common to all tree node schema.
|
|
1910
|
-
* @public
|
|
1911
|
-
*/
|
|
1912
|
-
export declare interface TreeNodeSchemaCore<out Name extends string, out Kind extends NodeKind, out ImplicitlyConstructable extends boolean, out Info = unknown> {
|
|
1913
|
-
readonly identifier: Name;
|
|
1914
|
-
readonly kind: Kind;
|
|
1915
|
-
/**
|
|
1916
|
-
* Data used to define this schema.
|
|
1917
|
-
*
|
|
1918
|
-
* @remarks
|
|
1919
|
-
* The format depends on the kind of node it is for.
|
|
1920
|
-
* For example, the "object" node kind could store the field schema here.
|
|
1921
|
-
*/
|
|
1922
|
-
readonly info: Info;
|
|
1923
|
-
/**
|
|
1924
|
-
* When constructing insertable content,
|
|
1925
|
-
* data that could be passed to the node's constructor can be used instead of an {@link Unhydrated} node
|
|
1926
|
-
* iff implicitlyConstructable is true.
|
|
1927
|
-
* @privateRemarks
|
|
1928
|
-
* Currently the logic for traversing insertable content,
|
|
1929
|
-
* both to build trees and to hydrate them does not defer to the schema classes to handle the policy,
|
|
1930
|
-
* so if their constructors differ from what is supported, some cases will not work.
|
|
1931
|
-
* Setting this to false adjusts the insertable types to disallow cases which could be impacted by these inconsistencies.
|
|
1932
|
-
*/
|
|
1933
|
-
readonly implicitlyConstructable: ImplicitlyConstructable;
|
|
1934
|
-
}
|
|
1935
|
-
|
|
1936
|
-
/* Excluded from this release type: TreeNodeSchemaIdentifier */
|
|
1937
|
-
|
|
1938
|
-
/**
|
|
1939
|
-
* Schema which is not a class.
|
|
1940
|
-
* @remarks
|
|
1941
|
-
* This is used for schema which cannot have their instances constructed using constructors, like leaf schema.
|
|
1942
|
-
* @privateRemarks
|
|
1943
|
-
* Non-class based schema can have issues with recursive types due to https://github.com/microsoft/TypeScript/issues/55832.
|
|
1944
|
-
* @public
|
|
1945
|
-
*/
|
|
1946
|
-
export declare interface TreeNodeSchemaNonClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode = unknown, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
|
|
1947
|
-
create(data: TInsertable): TNode;
|
|
1948
|
-
}
|
|
1949
|
-
|
|
1950
|
-
/* Excluded from this release type: TreeNodeStoredSchema */
|
|
1951
|
-
|
|
1952
|
-
/* Excluded from this release type: treeSchemaFromStoredSchema */
|
|
1953
|
-
|
|
1954
|
-
/**
|
|
1955
|
-
* Status of the tree that a particular node belongs to.
|
|
1956
|
-
* @public
|
|
1957
|
-
*/
|
|
1958
|
-
export declare enum TreeStatus {
|
|
1959
|
-
/**
|
|
1960
|
-
* Is parented under the root field.
|
|
1961
|
-
*/
|
|
1962
|
-
InDocument = 0,
|
|
1963
|
-
/**
|
|
1964
|
-
* Is not parented under the root field, but can be added back to the original document tree.
|
|
1965
|
-
*/
|
|
1966
|
-
Removed = 1,
|
|
1967
|
-
/**
|
|
1968
|
-
* Is removed and cannot be added back to the original document tree.
|
|
1969
|
-
*/
|
|
1970
|
-
Deleted = 2
|
|
1971
|
-
}
|
|
1972
|
-
|
|
1973
|
-
/* Excluded from this release type: TreeStoredSchema */
|
|
1974
|
-
|
|
1975
|
-
/* Excluded from this release type: TreeStoredSchemaSubscription */
|
|
1976
|
-
|
|
1977
|
-
/* Excluded from this release type: TreeType */
|
|
1978
|
-
|
|
1979
|
-
/* Excluded from this release type: TreeTypeSet */
|
|
1980
|
-
|
|
1981
|
-
/* Excluded from this release type: TreeValue */
|
|
1982
|
-
|
|
1983
|
-
/**
|
|
1984
|
-
* An editable view of a (version control style) branch of a shared tree.
|
|
1985
|
-
*
|
|
1986
|
-
* This view is always in one of two states:
|
|
1987
|
-
* 1. In schema: the stored schema is compatible with the provided view schema. There is no error, and root can be used.
|
|
1988
|
-
* 2. Out of schema: the stored schema is incompatible with the provided view schema. There is an error, and root cannot be used.
|
|
1989
|
-
*
|
|
1990
|
-
* @privateRemarks
|
|
1991
|
-
* From an API design perspective, `upgradeSchema` could be merged into `schematize` anb/or `schematize` could return errors explicitly.
|
|
1992
|
-
* Such approaches would make it discoverable that out of schema handling may need to be done.
|
|
1993
|
-
* Doing that would however complicate trivial "hello world" style example slightly, as well as be a breaking API change.
|
|
1994
|
-
* It also seems more complex to handle invalidation with that pattern.
|
|
1995
|
-
* Thus this design was chosen at the risk of apps blindly accessing `root` then breaking unexpectedly when the document is incompatible.
|
|
1996
|
-
* If this does become a problem,
|
|
1997
|
-
* it could be mitigated by adding a `rootOrError` member and deprecating `root` to give users a warning if they might be missing the error checking.
|
|
1998
|
-
* @public
|
|
1999
|
-
*/
|
|
2000
|
-
export declare interface TreeView<in out TRoot> extends IDisposable {
|
|
2001
|
-
/**
|
|
2002
|
-
* The current root of the tree.
|
|
2003
|
-
*
|
|
2004
|
-
* If in the out of schema state, accessing this will throw.
|
|
2005
|
-
* To handle this case, check `error` before using.
|
|
2006
|
-
*
|
|
2007
|
-
* To get notified about changes to this field (including to it being in an `error` state),
|
|
2008
|
-
* use {@link TreeViewEvents.rootChanged} via `view.events.on("rootChanged", callback)`.
|
|
2009
|
-
*/
|
|
2010
|
-
readonly root: TRoot;
|
|
2011
|
-
/**
|
|
2012
|
-
* Description of the error state, if any.
|
|
2013
|
-
* When this is undefined, the view schema and stored schema are compatible, and `root` can be used.
|
|
2014
|
-
*/
|
|
2015
|
-
readonly error?: SchemaIncompatible;
|
|
2016
|
-
/**
|
|
2017
|
-
* When there is an `error` and {@link SchemaIncompatible.canUpgrade} is true,
|
|
2018
|
-
* this can be used to modify the stored schema to make it match the view schema.
|
|
2019
|
-
* This will clear the error state, and allow access to `root`.
|
|
2020
|
-
* @remarks
|
|
2021
|
-
* It is an error to call this when {@link SchemaIncompatible.canUpgrade} is false, and a no-op when not in an `error` state.
|
|
2022
|
-
* When this changes the stored schema, any existing or future clients which were compatible with the old stored schema will get an `error` state when trying to schematize the document.
|
|
2023
|
-
* @privateRemarks
|
|
2024
|
-
* In the future, more upgrade options could be provided here.
|
|
2025
|
-
* Some options that could be added:
|
|
2026
|
-
* - check the actual document contents (not just the schema) and attempt an atomic document update if the data is compatible.
|
|
2027
|
-
* - apply converters and upgrade the document.
|
|
2028
|
-
* - apply converters to lazily to adapt the document to the requested view schema (with optional lazy schema updates or transparent conversions on write).
|
|
2029
|
-
*/
|
|
2030
|
-
upgradeSchema(): void;
|
|
2031
|
-
/**
|
|
2032
|
-
* Events for the tree.
|
|
2033
|
-
*/
|
|
2034
|
-
readonly events: ISubscribable<TreeViewEvents>;
|
|
2035
|
-
}
|
|
2036
|
-
|
|
2037
|
-
/**
|
|
2038
|
-
* Events for {@link TreeView}.
|
|
2039
|
-
* @public
|
|
2040
|
-
*/
|
|
2041
|
-
export declare interface TreeViewEvents {
|
|
2042
|
-
/**
|
|
2043
|
-
* A batch of changes has finished processing and the view has been updated.
|
|
2044
|
-
*/
|
|
2045
|
-
afterBatch(): void;
|
|
2046
|
-
/**
|
|
2047
|
-
* {@link TreeView.root} has changed.
|
|
2048
|
-
* This includes going into or out of an `error` state where the root is unavailable due to stored schema changes.
|
|
2049
|
-
* It also includes changes to the field containing the root such as setting or clearing an optional root or changing which node is the root.
|
|
2050
|
-
* This does NOT include changes to the content (fields/children) of the root node: for that case subscribe to events on the root node.
|
|
2051
|
-
*/
|
|
2052
|
-
rootChanged(): void;
|
|
2053
|
-
}
|
|
2054
|
-
|
|
2055
|
-
/**
|
|
2056
|
-
* The type of a {@link TreeNode}.
|
|
2057
|
-
* For moore information about the type, use `Tree.schema(theNode)` instead.
|
|
2058
|
-
* @remarks
|
|
2059
|
-
* This symbol mainly exists on nodes to allow TypeScript to provide more accurate type checking.
|
|
2060
|
-
* `Tree.is` and `Tree.schema` provide a superset of this information in more friendly ways.
|
|
2061
|
-
*
|
|
2062
|
-
* This symbol should not manually be added to objects as doing so allows the object to be invalidly used where nodes are expected.
|
|
2063
|
-
* Instead construct a real node of the desired type using its constructor.
|
|
2064
|
-
* @privateRemarks
|
|
2065
|
-
* This prevents non-nodes from being accidentally used as nodes, as well as allows the type checker to distinguish different node types.
|
|
2066
|
-
* @public
|
|
2067
|
-
*/
|
|
2068
|
-
export declare const type: unique symbol;
|
|
2069
|
-
|
|
2070
|
-
/* Excluded from this release type: typeboxValidator */
|
|
2071
|
-
|
|
2072
|
-
/* Excluded from this release type: TypedFields */
|
|
2073
|
-
|
|
2074
|
-
/* Excluded from this release type: typedObjectValues */
|
|
2075
|
-
|
|
2076
|
-
/* Excluded from this release type: typeNameSymbol */
|
|
2077
|
-
|
|
2078
|
-
/* Excluded from this release type: UnbrandedName */
|
|
2079
|
-
|
|
2080
|
-
/**
|
|
2081
|
-
* A placeholder to use in {@link https://www.typescriptlang.org/docs/handbook/2/generics.html#generic-constraints | extends constraints} when using the real type breaks compilation of some recursive types due to {@link https://github.com/microsoft/TypeScript/issues/55758 | a design limitation of TypeScript}.
|
|
2082
|
-
*
|
|
2083
|
-
* These extends constraints only serve as documentation:
|
|
2084
|
-
* to avoid breaking compilation, this type has to not actually enforce anything, and thus is just `unknown`.
|
|
2085
|
-
* Therefore the type safety is the responsibility of the user of the API.
|
|
2086
|
-
* @beta
|
|
2087
|
-
*/
|
|
2088
|
-
export declare type Unenforced<_DesiredExtendsConstraint> = unknown;
|
|
2089
|
-
|
|
2090
|
-
/**
|
|
2091
|
-
* Type alias to document which values are un-hydrated.
|
|
2092
|
-
*
|
|
2093
|
-
* Un-hydrated values are nodes produced from schema's create functions that haven't been inserted into a tree yet.
|
|
2094
|
-
*
|
|
2095
|
-
* Since un-hydrated nodes become hydrated when inserted, strong typing can't be used to distinguish them.
|
|
2096
|
-
* This no-op wrapper is used instead.
|
|
2097
|
-
* @public
|
|
2098
|
-
*/
|
|
2099
|
-
export declare type Unhydrated<T> = T;
|
|
2100
|
-
|
|
2101
|
-
/* Excluded from this release type: UpPath */
|
|
2102
|
-
|
|
2103
|
-
/* Excluded from this release type: UpPathDefault */
|
|
2104
|
-
|
|
2105
|
-
/**
|
|
2106
|
-
* Compile time check for validity of a recursive schema.
|
|
2107
|
-
*
|
|
2108
|
-
* @example
|
|
2109
|
-
* ```typescript
|
|
2110
|
-
* class Test extends sf.arrayRecursive("Test", [() => Test]) {}
|
|
2111
|
-
* {
|
|
2112
|
-
* type _check = ValidateRecursiveSchema<typeof Test>;
|
|
2113
|
-
* }
|
|
2114
|
-
* ```
|
|
2115
|
-
* @remarks
|
|
2116
|
-
* The type of a recursive schema can be passed to this, and a compile error will be produced for some of the cases which the schema in malformed.
|
|
2117
|
-
* This can be used to help mitigate the issue that recursive schema definitions are {@link Unenforced}.
|
|
2118
|
-
* If an issue is encountered where a mistake in a recursive schema is made which produces an invalid schema but is not rejected by this checker,
|
|
2119
|
-
* it should be considered a bug and this should be updated to handle that case (or have a disclaimer added to these docs that it misses that case).
|
|
2120
|
-
* @privateRemarks
|
|
2121
|
-
* There are probably mistakes this misses: it's hard to guess all the wrong things people will accidentally do and defend against them.
|
|
2122
|
-
* Hopefully over time this can grow toward being robust, at least for common mistakes.
|
|
2123
|
-
*
|
|
2124
|
-
* This check duplicates logic that ideally would be entirely decided by the actual schema building methods.
|
|
2125
|
-
* Therefore changes to those methods may require updating `ValidateRecursiveSchema`.
|
|
2126
|
-
* @beta
|
|
2127
|
-
*/
|
|
2128
|
-
export declare type ValidateRecursiveSchema<T extends TreeNodeSchemaClass<string, NodeKind.Array | NodeKind.Map | NodeKind.Object, TreeNode & WithType<T["identifier"]>, {
|
|
2129
|
-
[NodeKind.Object]: T["info"] extends RestrictiveReadonlyRecord<string, FieldSchema> ? InsertableObjectFromSchemaRecord<T["info"]> : unknown;
|
|
2130
|
-
[NodeKind.Array]: T["info"] extends ImplicitAllowedTypes ? Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>> : unknown;
|
|
2131
|
-
[NodeKind.Map]: T["info"] extends ImplicitAllowedTypes ? Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>]> : unknown;
|
|
2132
|
-
}[T["kind"]], false, {
|
|
2133
|
-
[NodeKind.Object]: RestrictiveReadonlyRecord<string, FieldSchema>;
|
|
2134
|
-
[NodeKind.Array]: ImplicitAllowedTypes;
|
|
2135
|
-
[NodeKind.Map]: ImplicitAllowedTypes;
|
|
2136
|
-
}[T["kind"]]>> = true;
|
|
2137
|
-
|
|
2138
|
-
/* Excluded from this release type: Value */
|
|
2139
|
-
|
|
2140
|
-
/* Excluded from this release type: ValueFieldEditBuilder */
|
|
2141
|
-
|
|
2142
|
-
/* Excluded from this release type: ValueFromBranded */
|
|
2143
|
-
|
|
2144
|
-
/* Excluded from this release type: ValueSchema */
|
|
2145
|
-
|
|
2146
|
-
/* Excluded from this release type: valueSymbol */
|
|
2147
|
-
|
|
2148
|
-
/**
|
|
2149
|
-
* Adds a {@link "type"} field.
|
|
2150
|
-
* @public
|
|
2151
|
-
*/
|
|
2152
|
-
export declare interface WithType<TName extends string = string> {
|
|
2153
|
-
/**
|
|
2154
|
-
* {@inheritdoc "type"}
|
|
2155
|
-
*/
|
|
2156
|
-
get [type](): TName;
|
|
2157
|
-
}
|
|
2158
|
-
|
|
2159
|
-
export { }
|