@fluidframework/tree 2.112.0 → 2.113.0-411909

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.
Files changed (192) hide show
  1. package/api-report/tree.alpha.api.md +23 -2
  2. package/dist/entrypoints/alpha.d.ts +1 -1
  3. package/dist/entrypoints/alpha.d.ts.map +1 -1
  4. package/dist/entrypoints/alpha.js +3 -2
  5. package/dist/entrypoints/alpha.js.map +1 -1
  6. package/dist/feature-libraries/default-schema/defaultFieldKinds.js +1 -1
  7. package/dist/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
  8. package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts +39 -7
  9. package/dist/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
  10. package/dist/feature-libraries/modular-schema/fieldChangeHandler.js +22 -2
  11. package/dist/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
  12. package/dist/feature-libraries/modular-schema/genericFieldKind.js +1 -1
  13. package/dist/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
  14. package/dist/feature-libraries/modular-schema/index.d.ts +1 -1
  15. package/dist/feature-libraries/modular-schema/index.d.ts.map +1 -1
  16. package/dist/feature-libraries/modular-schema/index.js +2 -1
  17. package/dist/feature-libraries/modular-schema/index.js.map +1 -1
  18. package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
  19. package/dist/feature-libraries/modular-schema/modularChangeFamily.js +8 -1
  20. package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
  21. package/dist/feature-libraries/optional-field/optionalField.d.ts.map +1 -1
  22. package/dist/feature-libraries/optional-field/optionalField.js +26 -3
  23. package/dist/feature-libraries/optional-field/optionalField.js.map +1 -1
  24. package/dist/feature-libraries/sequence-field/filterEdits.d.ts +12 -0
  25. package/dist/feature-libraries/sequence-field/filterEdits.d.ts.map +1 -0
  26. package/dist/feature-libraries/sequence-field/filterEdits.js +111 -0
  27. package/dist/feature-libraries/sequence-field/filterEdits.js.map +1 -0
  28. package/dist/feature-libraries/sequence-field/markQueue.d.ts +8 -3
  29. package/dist/feature-libraries/sequence-field/markQueue.d.ts.map +1 -1
  30. package/dist/feature-libraries/sequence-field/markQueue.js +22 -8
  31. package/dist/feature-libraries/sequence-field/markQueue.js.map +1 -1
  32. package/dist/feature-libraries/sequence-field/moveEffectTable.d.ts +1 -1
  33. package/dist/feature-libraries/sequence-field/moveEffectTable.d.ts.map +1 -1
  34. package/dist/feature-libraries/sequence-field/moveEffectTable.js +2 -6
  35. package/dist/feature-libraries/sequence-field/moveEffectTable.js.map +1 -1
  36. package/dist/feature-libraries/sequence-field/sequenceFieldChangeRebaser.d.ts +7 -6
  37. package/dist/feature-libraries/sequence-field/sequenceFieldChangeRebaser.d.ts.map +1 -1
  38. package/dist/feature-libraries/sequence-field/sequenceFieldChangeRebaser.js +2 -4
  39. package/dist/feature-libraries/sequence-field/sequenceFieldChangeRebaser.js.map +1 -1
  40. package/dist/index.d.ts +1 -1
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +2 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/packageVersion.d.ts +1 -1
  45. package/dist/packageVersion.d.ts.map +1 -1
  46. package/dist/packageVersion.js +1 -1
  47. package/dist/packageVersion.js.map +1 -1
  48. package/dist/shared-tree/schematizingTreeView.d.ts +8 -0
  49. package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
  50. package/dist/shared-tree/schematizingTreeView.js +25 -13
  51. package/dist/shared-tree/schematizingTreeView.js.map +1 -1
  52. package/dist/simple-tree/api/configuration.d.ts +32 -2
  53. package/dist/simple-tree/api/configuration.d.ts.map +1 -1
  54. package/dist/simple-tree/api/configuration.js +3 -1
  55. package/dist/simple-tree/api/configuration.js.map +1 -1
  56. package/dist/simple-tree/api/index.d.ts +1 -1
  57. package/dist/simple-tree/api/index.d.ts.map +1 -1
  58. package/dist/simple-tree/api/index.js.map +1 -1
  59. package/dist/simple-tree/api/schemaCompatibilityTester.d.ts +7 -4
  60. package/dist/simple-tree/api/schemaCompatibilityTester.d.ts.map +1 -1
  61. package/dist/simple-tree/api/schemaCompatibilityTester.js +7 -5
  62. package/dist/simple-tree/api/schemaCompatibilityTester.js.map +1 -1
  63. package/dist/simple-tree/api/tree.d.ts +58 -1
  64. package/dist/simple-tree/api/tree.d.ts.map +1 -1
  65. package/dist/simple-tree/api/tree.js.map +1 -1
  66. package/dist/simple-tree/core/index.d.ts +1 -1
  67. package/dist/simple-tree/core/index.d.ts.map +1 -1
  68. package/dist/simple-tree/core/index.js +2 -1
  69. package/dist/simple-tree/core/index.js.map +1 -1
  70. package/dist/simple-tree/core/toStored.d.ts +72 -6
  71. package/dist/simple-tree/core/toStored.d.ts.map +1 -1
  72. package/dist/simple-tree/core/toStored.js +25 -1
  73. package/dist/simple-tree/core/toStored.js.map +1 -1
  74. package/dist/simple-tree/index.d.ts +3 -3
  75. package/dist/simple-tree/index.d.ts.map +1 -1
  76. package/dist/simple-tree/index.js +4 -5
  77. package/dist/simple-tree/index.js.map +1 -1
  78. package/dist/simple-tree/prepareForInsertion.d.ts.map +1 -1
  79. package/dist/simple-tree/prepareForInsertion.js +9 -0
  80. package/dist/simple-tree/prepareForInsertion.js.map +1 -1
  81. package/dist/simple-tree/toStoredSchema.d.ts +11 -27
  82. package/dist/simple-tree/toStoredSchema.d.ts.map +1 -1
  83. package/dist/simple-tree/toStoredSchema.js +25 -33
  84. package/dist/simple-tree/toStoredSchema.js.map +1 -1
  85. package/docs/main/runtime-schema-upgrade.md +208 -0
  86. package/lib/entrypoints/alpha.d.ts +1 -1
  87. package/lib/entrypoints/alpha.d.ts.map +1 -1
  88. package/lib/entrypoints/alpha.js +1 -1
  89. package/lib/entrypoints/alpha.js.map +1 -1
  90. package/lib/feature-libraries/default-schema/defaultFieldKinds.js +1 -1
  91. package/lib/feature-libraries/default-schema/defaultFieldKinds.js.map +1 -1
  92. package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts +39 -7
  93. package/lib/feature-libraries/modular-schema/fieldChangeHandler.d.ts.map +1 -1
  94. package/lib/feature-libraries/modular-schema/fieldChangeHandler.js +21 -1
  95. package/lib/feature-libraries/modular-schema/fieldChangeHandler.js.map +1 -1
  96. package/lib/feature-libraries/modular-schema/genericFieldKind.js +1 -1
  97. package/lib/feature-libraries/modular-schema/genericFieldKind.js.map +1 -1
  98. package/lib/feature-libraries/modular-schema/index.d.ts +1 -1
  99. package/lib/feature-libraries/modular-schema/index.d.ts.map +1 -1
  100. package/lib/feature-libraries/modular-schema/index.js +1 -1
  101. package/lib/feature-libraries/modular-schema/index.js.map +1 -1
  102. package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
  103. package/lib/feature-libraries/modular-schema/modularChangeFamily.js +9 -2
  104. package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
  105. package/lib/feature-libraries/optional-field/optionalField.d.ts.map +1 -1
  106. package/lib/feature-libraries/optional-field/optionalField.js +27 -4
  107. package/lib/feature-libraries/optional-field/optionalField.js.map +1 -1
  108. package/lib/feature-libraries/sequence-field/filterEdits.d.ts +12 -0
  109. package/lib/feature-libraries/sequence-field/filterEdits.d.ts.map +1 -0
  110. package/lib/feature-libraries/sequence-field/filterEdits.js +107 -0
  111. package/lib/feature-libraries/sequence-field/filterEdits.js.map +1 -0
  112. package/lib/feature-libraries/sequence-field/markQueue.d.ts +8 -3
  113. package/lib/feature-libraries/sequence-field/markQueue.d.ts.map +1 -1
  114. package/lib/feature-libraries/sequence-field/markQueue.js +22 -9
  115. package/lib/feature-libraries/sequence-field/markQueue.js.map +1 -1
  116. package/lib/feature-libraries/sequence-field/moveEffectTable.d.ts +1 -1
  117. package/lib/feature-libraries/sequence-field/moveEffectTable.d.ts.map +1 -1
  118. package/lib/feature-libraries/sequence-field/moveEffectTable.js +2 -6
  119. package/lib/feature-libraries/sequence-field/moveEffectTable.js.map +1 -1
  120. package/lib/feature-libraries/sequence-field/sequenceFieldChangeRebaser.d.ts +7 -6
  121. package/lib/feature-libraries/sequence-field/sequenceFieldChangeRebaser.d.ts.map +1 -1
  122. package/lib/feature-libraries/sequence-field/sequenceFieldChangeRebaser.js +2 -4
  123. package/lib/feature-libraries/sequence-field/sequenceFieldChangeRebaser.js.map +1 -1
  124. package/lib/index.d.ts +1 -1
  125. package/lib/index.d.ts.map +1 -1
  126. package/lib/index.js +1 -1
  127. package/lib/index.js.map +1 -1
  128. package/lib/packageVersion.d.ts +1 -1
  129. package/lib/packageVersion.d.ts.map +1 -1
  130. package/lib/packageVersion.js +1 -1
  131. package/lib/packageVersion.js.map +1 -1
  132. package/lib/shared-tree/schematizingTreeView.d.ts +8 -0
  133. package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
  134. package/lib/shared-tree/schematizingTreeView.js +26 -14
  135. package/lib/shared-tree/schematizingTreeView.js.map +1 -1
  136. package/lib/simple-tree/api/configuration.d.ts +32 -2
  137. package/lib/simple-tree/api/configuration.d.ts.map +1 -1
  138. package/lib/simple-tree/api/configuration.js +4 -2
  139. package/lib/simple-tree/api/configuration.js.map +1 -1
  140. package/lib/simple-tree/api/index.d.ts +1 -1
  141. package/lib/simple-tree/api/index.d.ts.map +1 -1
  142. package/lib/simple-tree/api/index.js.map +1 -1
  143. package/lib/simple-tree/api/schemaCompatibilityTester.d.ts +7 -4
  144. package/lib/simple-tree/api/schemaCompatibilityTester.d.ts.map +1 -1
  145. package/lib/simple-tree/api/schemaCompatibilityTester.js +7 -5
  146. package/lib/simple-tree/api/schemaCompatibilityTester.js.map +1 -1
  147. package/lib/simple-tree/api/tree.d.ts +58 -1
  148. package/lib/simple-tree/api/tree.d.ts.map +1 -1
  149. package/lib/simple-tree/api/tree.js.map +1 -1
  150. package/lib/simple-tree/core/index.d.ts +1 -1
  151. package/lib/simple-tree/core/index.d.ts.map +1 -1
  152. package/lib/simple-tree/core/index.js +1 -1
  153. package/lib/simple-tree/core/index.js.map +1 -1
  154. package/lib/simple-tree/core/toStored.d.ts +72 -6
  155. package/lib/simple-tree/core/toStored.d.ts.map +1 -1
  156. package/lib/simple-tree/core/toStored.js +24 -0
  157. package/lib/simple-tree/core/toStored.js.map +1 -1
  158. package/lib/simple-tree/index.d.ts +3 -3
  159. package/lib/simple-tree/index.d.ts.map +1 -1
  160. package/lib/simple-tree/index.js +2 -2
  161. package/lib/simple-tree/index.js.map +1 -1
  162. package/lib/simple-tree/prepareForInsertion.d.ts.map +1 -1
  163. package/lib/simple-tree/prepareForInsertion.js +9 -0
  164. package/lib/simple-tree/prepareForInsertion.js.map +1 -1
  165. package/lib/simple-tree/toStoredSchema.d.ts +11 -27
  166. package/lib/simple-tree/toStoredSchema.d.ts.map +1 -1
  167. package/lib/simple-tree/toStoredSchema.js +24 -33
  168. package/lib/simple-tree/toStoredSchema.js.map +1 -1
  169. package/package.json +21 -21
  170. package/src/entrypoints/alpha.ts +3 -0
  171. package/src/feature-libraries/default-schema/defaultFieldKinds.ts +1 -1
  172. package/src/feature-libraries/modular-schema/fieldChangeHandler.ts +51 -7
  173. package/src/feature-libraries/modular-schema/genericFieldKind.ts +1 -1
  174. package/src/feature-libraries/modular-schema/index.ts +4 -2
  175. package/src/feature-libraries/modular-schema/modularChangeFamily.ts +16 -1
  176. package/src/feature-libraries/optional-field/optionalField.ts +43 -3
  177. package/src/feature-libraries/sequence-field/filterEdits.ts +143 -0
  178. package/src/feature-libraries/sequence-field/markQueue.ts +28 -11
  179. package/src/feature-libraries/sequence-field/moveEffectTable.ts +2 -7
  180. package/src/feature-libraries/sequence-field/sequenceFieldChangeRebaser.ts +3 -5
  181. package/src/index.ts +3 -0
  182. package/src/packageVersion.ts +1 -1
  183. package/src/shared-tree/schematizingTreeView.ts +42 -20
  184. package/src/simple-tree/api/configuration.ts +40 -2
  185. package/src/simple-tree/api/index.ts +1 -0
  186. package/src/simple-tree/api/schemaCompatibilityTester.ts +8 -4
  187. package/src/simple-tree/api/tree.ts +58 -1
  188. package/src/simple-tree/core/index.ts +2 -1
  189. package/src/simple-tree/core/toStored.ts +95 -8
  190. package/src/simple-tree/index.ts +3 -2
  191. package/src/simple-tree/prepareForInsertion.ts +12 -0
  192. package/src/simple-tree/toStoredSchema.ts +44 -39
@@ -697,6 +697,11 @@ export interface ITreeViewConfiguration<TSchema extends ImplicitFieldSchema = Im
697
697
  readonly schema: TSchema;
698
698
  }
699
699
 
700
+ // @alpha
701
+ export interface ITreeViewConfigurationAlpha<TSchema extends ImplicitFieldSchema = ImplicitFieldSchema> extends ITreeViewConfiguration<TSchema> {
702
+ readonly stagedUpgradePolicy?: StagedSchemaUpgradePolicy;
703
+ }
704
+
700
705
  // @alpha @sealed
701
706
  export interface JsonArrayNodeSchema extends JsonNodeSchemaBase<NodeKind.Array, "array"> {
702
707
  readonly items: JsonFieldSchema;
@@ -1399,6 +1404,22 @@ export interface SnapshotSchemaCompatibilityOptions {
1399
1404
  readonly versionComparer?: (a: string, b: string) => number;
1400
1405
  }
1401
1406
 
1407
+ // @alpha @input
1408
+ export interface StagedSchemaUpgradePolicy {
1409
+ includeStaged(upgrade: SchemaUpgrade): boolean;
1410
+ includeStagedOptional(upgrade: SchemaUpgrade): boolean;
1411
+ }
1412
+
1413
+ // @alpha
1414
+ export const StagedSchemaUpgradePolicy: StagedSchemaUpgradePolicyFactory;
1415
+
1416
+ // @alpha @sealed
1417
+ export interface StagedSchemaUpgradePolicyFactory {
1418
+ enabledStagedUpgrades(...upgrades: SchemaUpgrade[]): StagedSchemaUpgradePolicy;
1419
+ readonly permissive: StagedSchemaUpgradePolicy;
1420
+ readonly restrictive: StagedSchemaUpgradePolicy;
1421
+ }
1422
+
1402
1423
  // @beta @system
1403
1424
  export namespace System_TableSchema {
1404
1425
  // @sealed @system
@@ -2024,7 +2045,6 @@ export interface TreeViewAlpha<in out TSchema extends ImplicitFieldSchema | Unsa
2024
2045
  readonly events: Listenable_2<TreeViewEvents & TreeBranchEvents>;
2025
2046
  // (undocumented)
2026
2047
  fork(): ReturnType<TreeBranch["fork"]> & TreeViewAlpha<TSchema>;
2027
- // (undocumented)
2028
2048
  initialize(content: InsertableField<TSchema>): void;
2029
2049
  // (undocumented)
2030
2050
  get root(): ReadableField<TSchema>;
@@ -2051,11 +2071,12 @@ export class TreeViewConfiguration<const TSchema extends ImplicitFieldSchema = I
2051
2071
 
2052
2072
  // @alpha @sealed
2053
2073
  export class TreeViewConfigurationAlpha<const TSchema extends ImplicitFieldSchema = ImplicitFieldSchema> extends TreeViewConfiguration<TSchema> implements TreeSchema {
2054
- constructor(props: ITreeViewConfiguration<TSchema>);
2074
+ constructor(props: ITreeViewConfigurationAlpha<TSchema>);
2055
2075
  // (undocumented)
2056
2076
  readonly definitions: ReadonlyMap<string, SimpleNodeSchema<SchemaType.View> & TreeNodeSchema>;
2057
2077
  // (undocumented)
2058
2078
  readonly root: FieldSchemaAlpha;
2079
+ readonly stagedUpgradePolicy: StagedSchemaUpgradePolicy;
2059
2080
  }
2060
2081
 
2061
2082
  // @public @sealed
@@ -2,5 +2,5 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- export { AllowedTypes, CommitKind, CommitMetadata, FieldKind, FieldProps, FieldSchema, FieldSchemaMetadata, ITree, ITreeConfigurationOptions, ITreeViewConfiguration, ImplicitAllowedTypes, ImplicitFieldSchema, Input, InsertableTreeFieldFromImplicitField, InsertableTreeNodeFromAllowedTypes, InsertableTreeNodeFromImplicitAllowedTypes, InsertableTypedNode, InternalTreeNode, InternalTypes, IsListener, IsUnion, IterableTreeArrayContent, LazyItem, LeafSchema, Listenable, Listeners, MakeNominal, MapNodeInsertableData, NodeFromSchema, NodeInDocumentConstraint, NodeKind, NodeSchemaMetadata, NodeSchemaOptions, NumberKeys, ObjectFromSchemaRecord, Off, ReadonlyArrayNode, RestrictiveReadonlyRecord, RestrictiveStringRecord, Revertible, RevertibleFactory, RevertibleStatus, RunTransaction, SchemaCompatibilityStatus, SchemaFactory, SchemaFactory_base, SchemaStatics, SimpleNodeSchemaBase, System_Unsafe, TransactionConstraint, Tree, TreeArrayNode, TreeChangeEvents, TreeFieldFromImplicitField, TreeLeafValue, TreeMapNode, TreeNode, TreeNodeApi, TreeNodeFromImplicitAllowedTypes, TreeNodeSchema, TreeNodeSchemaClass, TreeNodeSchemaCore, TreeNodeSchemaNonClass, TreeObjectNode, TreeStatus, TreeView, TreeViewConfiguration, TreeViewEvents, Unenforced, Unhydrated, UnionToIntersection, ValidateRecursiveSchema, ValidateRecursiveSchemaTemplate, ViewableTree, WithType, rollback, typeSchemaSymbol, AllowedTypeMetadata, AllowedTypesFull, AllowedTypesFullEvaluated, AllowedTypesFullFromMixed, AllowedTypesFullFromMixedUnsafe, AllowedTypesMetadata, AnnotateAllowedTypesList, AnnotateAllowedTypesListUnsafe, AnnotatedAllowedType, AnnotatedAllowedTypeUnsafe, AnnotatedAllowedTypes, AnnotatedAllowedTypesUnsafe, CodecWriteOptionsBeta, ConciseTree, ExtensibleUnionNode, FixRecursiveArraySchema, FluidSerializableAsTree, ForestOptions, ForestType, ForestTypeExpensiveDebug, ForestTypeOptimized, ForestTypeReference, IdentifierIndex, JsonCompatible, JsonCompatibleObject, KeyEncodingOptions, NodeChangedData, ObjectSchemaOptions, PopUnion, RecordNodeInsertableData, RunTransactionParamsBeta, SchemaFactoryBeta, SchemaStaticsBeta, SchemaUpgrade, SharedTreeOptionsBeta, SnapshotFileSystem, SnapshotSchemaCompatibilityOptions, System_TableSchema, TableSchema, TransactionCallbackStatusBeta, TransactionResultFailed, TransactionResultSuccess, TransactionValueResult, TransactionVoidResult, TreeBeta, TreeBranch, TreeChangeEventsBeta, TreeEncodingOptions, TreeIndex, TreeIndexKey, TreeIndexNodes, TreeRecordNode, TreeRecordNodeUnsafe, TreeViewBeta, UnannotateAllowedTypeUnsafe, UnannotateAllowedTypesList, UnannotateAllowedTypesListUnsafe, UnionToTuple, VoidTransactionCallbackStatusBeta, WithValue, adaptEnum, asBeta, configuredSharedTreeBeta, createIdentifierIndex, createIndependentTreeBeta, createTreeIndex, enumFromStrings, singletonSchema, snapshotSchemaCompatibility, AllowedTypesFullUnsafe, ArrayNodeCustomizableSchema, ArrayNodeCustomizableSchemaAlpha, ArrayNodeCustomizableSchemaUnsafe, ArrayNodeDeltaOp, ArrayNodeInsertOp, ArrayNodePojoEmulationSchema, ArrayNodeRemoveOp, ArrayNodeRetainOp, ArrayNodeSchema, ArrayNodeTreeChangedDeltaOp, ArrayNodeTreeChangedRetainOp, ArrayPlaceAnchor, ChangeMetadata, CodecName, CodecWriteOptions, Component, CreateIndependentTreeAlphaOptions, DirtyTreeMap, DirtyTreeStatus, ErasedNode, ErasedSchema, ErasedSchemaSubclassable, FactoryContent, FactoryContentObject, FieldHasDefaultAlpha, FieldHasDefaultAlphaUnsafe, FieldPropsAlpha, FieldSchemaAlpha, FieldSchemaAlphaUnsafe, FluidClientVersion, FormatValidator, FormatValidatorBasic, FormatValidatorNoOp, FormatVersion, HandleConverter, ICodecOptions, ITreeAlpha, IncrementalEncodingPolicy, IndependentViewOptions, IndependentViewTelemetryOptions, Insertable, InsertableContent, InsertableField, InsertableObjectFromSchemaRecordAlpha, InsertableObjectFromSchemaRecordAlphaUnsafe, JsonArrayNodeSchema, JsonAsTree, JsonCompatibleReadOnly, JsonCompatibleReadOnlyObject, JsonFieldSchema, JsonLeafNodeSchema, JsonLeafSchemaType, JsonMapNodeSchema, JsonNodeSchema, JsonNodeSchemaBase, JsonObjectNodeSchema, JsonRecordNodeSchema, JsonRefPath, JsonSchemaId, JsonSchemaRef, JsonSchemaType, JsonStringKeyPatternProperties, JsonTreeSchema, LabelTree, LocalChangeMetadata, MapNodeCustomizableSchema, MapNodeCustomizableSchemaUnsafe, MapNodePojoEmulationSchema, MapNodeSchema, NoChangeConstraint, NodeChangedDataAlpha, NodeChangedDataDelta, NodeChangedDataProperties, NodeChangedDataTreeDelta, NodeProvider, NodeSchemaOptionsAlpha, ObjectNodeSchema, ObjectNodeSchemaWorkaround, ObjectSchemaOptionsAlpha, ObservationResults, ReadSchema, ReadableField, RecordNodeCustomizableSchema, RecordNodePojoEmulationSchema, RecordNodeSchema, RemoteChangeMetadata, RevertibleAlpha, RevertibleAlphaFactory, RunTransactionParamsAlpha, SchemaFactoryAlpha, SchemaStaticsAlpha, SchemaType, SharedTreeFormatOptions, SharedTreeOptions, SimpleAllowedTypeAttributes, SimpleArrayNodeSchema, SimpleFieldSchema, SimpleLeafNodeSchema, SimpleMapNodeSchema, SimpleNodeSchema, SimpleNodeSchemaBaseAlpha, SimpleObjectFieldSchema, SimpleObjectNodeSchema, SimpleRecordNodeSchema, SimpleTreeSchema, TextAsTree, TransactionCallbackStatusAlpha, TransactionConstraintAlpha, TransactionLabels, TransactionPostProcessor, TreeAlpha, TreeArrayNodeAlpha, TreeBranchAlpha, TreeBranchEvents, TreeChangeEventsAlpha, TreeCompressionStrategy, TreeContextAlpha, TreeIdentifierUtils, TreeMapNodeAlpha, TreeParsingOptions, TreeSchema, TreeSchemaEncodingOptions, TreeViewAlpha, TreeViewConfigurationAlpha, UnsafeUnknownSchema, ValueSchema, VerboseTree, VerboseTreeNode, ViewContent, VoidTransactionCallbackStatusAlpha, allowUnused, asAlpha, asTreeViewAlpha, checkCompatibility, cloneWithReplacements, comparePersistedSchema, configuredSharedTreeAlpha, contentSchemaSymbol, createArrayInsertionAnchor, createIndependentTreeAlpha, decodeSchemaCompatibilitySnapshot, encodeSchemaCompatibilitySnapshot, eraseSchemaDetails, eraseSchemaDetailsSubclassable, evaluateLazySchema, exportCompatibilitySchemaSnapshot, extractPersistedSchema, generateSchemaFromSimpleSchema, getJsonSchema, getSimpleSchema, importCompatibilitySchemaSnapshot, incrementalEncodingPolicyForAllowedTypes, incrementalSummaryHint, independentInitializedView, independentView, minimize, normalizeAllowedTypes, persistedToSimpleSchema, replaceConciseTreeHandles, replaceHandles, replaceVerboseTreeHandles, trackDirtyNodes } from "../index.js";
5
+ export { AllowedTypes, CommitKind, CommitMetadata, FieldKind, FieldProps, FieldSchema, FieldSchemaMetadata, ITree, ITreeConfigurationOptions, ITreeViewConfiguration, ImplicitAllowedTypes, ImplicitFieldSchema, Input, InsertableTreeFieldFromImplicitField, InsertableTreeNodeFromAllowedTypes, InsertableTreeNodeFromImplicitAllowedTypes, InsertableTypedNode, InternalTreeNode, InternalTypes, IsListener, IsUnion, IterableTreeArrayContent, LazyItem, LeafSchema, Listenable, Listeners, MakeNominal, MapNodeInsertableData, NodeFromSchema, NodeInDocumentConstraint, NodeKind, NodeSchemaMetadata, NodeSchemaOptions, NumberKeys, ObjectFromSchemaRecord, Off, ReadonlyArrayNode, RestrictiveReadonlyRecord, RestrictiveStringRecord, Revertible, RevertibleFactory, RevertibleStatus, RunTransaction, SchemaCompatibilityStatus, SchemaFactory, SchemaFactory_base, SchemaStatics, SimpleNodeSchemaBase, System_Unsafe, TransactionConstraint, Tree, TreeArrayNode, TreeChangeEvents, TreeFieldFromImplicitField, TreeLeafValue, TreeMapNode, TreeNode, TreeNodeApi, TreeNodeFromImplicitAllowedTypes, TreeNodeSchema, TreeNodeSchemaClass, TreeNodeSchemaCore, TreeNodeSchemaNonClass, TreeObjectNode, TreeStatus, TreeView, TreeViewConfiguration, TreeViewEvents, Unenforced, Unhydrated, UnionToIntersection, ValidateRecursiveSchema, ValidateRecursiveSchemaTemplate, ViewableTree, WithType, rollback, typeSchemaSymbol, AllowedTypeMetadata, AllowedTypesFull, AllowedTypesFullEvaluated, AllowedTypesFullFromMixed, AllowedTypesFullFromMixedUnsafe, AllowedTypesMetadata, AnnotateAllowedTypesList, AnnotateAllowedTypesListUnsafe, AnnotatedAllowedType, AnnotatedAllowedTypeUnsafe, AnnotatedAllowedTypes, AnnotatedAllowedTypesUnsafe, CodecWriteOptionsBeta, ConciseTree, ExtensibleUnionNode, FixRecursiveArraySchema, FluidSerializableAsTree, ForestOptions, ForestType, ForestTypeExpensiveDebug, ForestTypeOptimized, ForestTypeReference, IdentifierIndex, JsonCompatible, JsonCompatibleObject, KeyEncodingOptions, NodeChangedData, ObjectSchemaOptions, PopUnion, RecordNodeInsertableData, RunTransactionParamsBeta, SchemaFactoryBeta, SchemaStaticsBeta, SchemaUpgrade, SharedTreeOptionsBeta, SnapshotFileSystem, SnapshotSchemaCompatibilityOptions, System_TableSchema, TableSchema, TransactionCallbackStatusBeta, TransactionResultFailed, TransactionResultSuccess, TransactionValueResult, TransactionVoidResult, TreeBeta, TreeBranch, TreeChangeEventsBeta, TreeEncodingOptions, TreeIndex, TreeIndexKey, TreeIndexNodes, TreeRecordNode, TreeRecordNodeUnsafe, TreeViewBeta, UnannotateAllowedTypeUnsafe, UnannotateAllowedTypesList, UnannotateAllowedTypesListUnsafe, UnionToTuple, VoidTransactionCallbackStatusBeta, WithValue, adaptEnum, asBeta, configuredSharedTreeBeta, createIdentifierIndex, createIndependentTreeBeta, createTreeIndex, enumFromStrings, singletonSchema, snapshotSchemaCompatibility, AllowedTypesFullUnsafe, ArrayNodeCustomizableSchema, ArrayNodeCustomizableSchemaAlpha, ArrayNodeCustomizableSchemaUnsafe, ArrayNodeDeltaOp, ArrayNodeInsertOp, ArrayNodePojoEmulationSchema, ArrayNodeRemoveOp, ArrayNodeRetainOp, ArrayNodeSchema, ArrayNodeTreeChangedDeltaOp, ArrayNodeTreeChangedRetainOp, ArrayPlaceAnchor, ChangeMetadata, CodecName, CodecWriteOptions, Component, CreateIndependentTreeAlphaOptions, DirtyTreeMap, DirtyTreeStatus, ErasedNode, ErasedSchema, ErasedSchemaSubclassable, FactoryContent, FactoryContentObject, FieldHasDefaultAlpha, FieldHasDefaultAlphaUnsafe, FieldPropsAlpha, FieldSchemaAlpha, FieldSchemaAlphaUnsafe, FluidClientVersion, FormatValidator, FormatValidatorBasic, FormatValidatorNoOp, FormatVersion, HandleConverter, ICodecOptions, ITreeAlpha, ITreeViewConfigurationAlpha, IncrementalEncodingPolicy, IndependentViewOptions, IndependentViewTelemetryOptions, Insertable, InsertableContent, InsertableField, InsertableObjectFromSchemaRecordAlpha, InsertableObjectFromSchemaRecordAlphaUnsafe, JsonArrayNodeSchema, JsonAsTree, JsonCompatibleReadOnly, JsonCompatibleReadOnlyObject, JsonFieldSchema, JsonLeafNodeSchema, JsonLeafSchemaType, JsonMapNodeSchema, JsonNodeSchema, JsonNodeSchemaBase, JsonObjectNodeSchema, JsonRecordNodeSchema, JsonRefPath, JsonSchemaId, JsonSchemaRef, JsonSchemaType, JsonStringKeyPatternProperties, JsonTreeSchema, LabelTree, LocalChangeMetadata, MapNodeCustomizableSchema, MapNodeCustomizableSchemaUnsafe, MapNodePojoEmulationSchema, MapNodeSchema, NoChangeConstraint, NodeChangedDataAlpha, NodeChangedDataDelta, NodeChangedDataProperties, NodeChangedDataTreeDelta, NodeProvider, NodeSchemaOptionsAlpha, ObjectNodeSchema, ObjectNodeSchemaWorkaround, ObjectSchemaOptionsAlpha, ObservationResults, ReadSchema, ReadableField, RecordNodeCustomizableSchema, RecordNodePojoEmulationSchema, RecordNodeSchema, RemoteChangeMetadata, RevertibleAlpha, RevertibleAlphaFactory, RunTransactionParamsAlpha, SchemaFactoryAlpha, SchemaStaticsAlpha, SchemaType, SharedTreeFormatOptions, SharedTreeOptions, SimpleAllowedTypeAttributes, SimpleArrayNodeSchema, SimpleFieldSchema, SimpleLeafNodeSchema, SimpleMapNodeSchema, SimpleNodeSchema, SimpleNodeSchemaBaseAlpha, SimpleObjectFieldSchema, SimpleObjectNodeSchema, SimpleRecordNodeSchema, SimpleTreeSchema, StagedSchemaUpgradePolicy, StagedSchemaUpgradePolicyFactory, TextAsTree, TransactionCallbackStatusAlpha, TransactionConstraintAlpha, TransactionLabels, TransactionPostProcessor, TreeAlpha, TreeArrayNodeAlpha, TreeBranchAlpha, TreeBranchEvents, TreeChangeEventsAlpha, TreeCompressionStrategy, TreeContextAlpha, TreeIdentifierUtils, TreeMapNodeAlpha, TreeParsingOptions, TreeSchema, TreeSchemaEncodingOptions, TreeViewAlpha, TreeViewConfigurationAlpha, UnsafeUnknownSchema, ValueSchema, VerboseTree, VerboseTreeNode, ViewContent, VoidTransactionCallbackStatusAlpha, allowUnused, asAlpha, asTreeViewAlpha, checkCompatibility, cloneWithReplacements, comparePersistedSchema, configuredSharedTreeAlpha, contentSchemaSymbol, createArrayInsertionAnchor, createIndependentTreeAlpha, decodeSchemaCompatibilitySnapshot, encodeSchemaCompatibilitySnapshot, eraseSchemaDetails, eraseSchemaDetailsSubclassable, evaluateLazySchema, exportCompatibilitySchemaSnapshot, extractPersistedSchema, generateSchemaFromSimpleSchema, getJsonSchema, getSimpleSchema, importCompatibilitySchemaSnapshot, incrementalEncodingPolicyForAllowedTypes, incrementalSummaryHint, independentInitializedView, independentView, minimize, normalizeAllowedTypes, persistedToSimpleSchema, replaceConciseTreeHandles, replaceHandles, replaceVerboseTreeHandles, trackDirtyNodes } from "../index.js";
6
6
  //# sourceMappingURL=alpha.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"alpha.d.ts","sourceRoot":"","sources":["../../src/entrypoints/alpha.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alpha.d.ts","sourceRoot":"","sources":["../../src/entrypoints/alpha.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@
4
4
  * Licensed under the MIT License.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.asTreeViewAlpha = exports.asAlpha = exports.allowUnused = exports.ValueSchema = exports.TreeViewConfigurationAlpha = exports.TreeCompressionStrategy = exports.TreeAlpha = exports.TextAsTree = exports.SchemaFactoryAlpha = exports.RecordNodeSchema = exports.ObjectNodeSchema = exports.MapNodeSchema = exports.JsonAsTree = exports.FormatValidatorNoOp = exports.FormatValidatorBasic = exports.FluidClientVersion = exports.Component = exports.ArrayNodeSchema = exports.snapshotSchemaCompatibility = exports.singletonSchema = exports.enumFromStrings = exports.createTreeIndex = exports.createIndependentTreeBeta = exports.createIdentifierIndex = exports.configuredSharedTreeBeta = exports.asBeta = exports.adaptEnum = exports.TreeBeta = exports.TableSchema = exports.SchemaFactoryBeta = exports.KeyEncodingOptions = exports.ForestTypeReference = exports.ForestTypeOptimized = exports.ForestTypeExpensiveDebug = exports.FluidSerializableAsTree = exports.ExtensibleUnionNode = exports.rollback = exports.TreeViewConfiguration = exports.TreeStatus = exports.TreeNode = exports.TreeArrayNode = exports.Tree = exports.SchemaFactory = exports.RevertibleStatus = exports.NodeKind = exports.IterableTreeArrayContent = exports.InternalTypes = exports.FieldSchema = exports.FieldKind = exports.CommitKind = void 0;
8
- exports.trackDirtyNodes = exports.replaceVerboseTreeHandles = exports.replaceHandles = exports.replaceConciseTreeHandles = exports.persistedToSimpleSchema = exports.normalizeAllowedTypes = exports.minimize = exports.independentView = exports.independentInitializedView = exports.incrementalSummaryHint = exports.incrementalEncodingPolicyForAllowedTypes = exports.importCompatibilitySchemaSnapshot = exports.getSimpleSchema = exports.getJsonSchema = exports.generateSchemaFromSimpleSchema = exports.extractPersistedSchema = exports.exportCompatibilitySchemaSnapshot = exports.evaluateLazySchema = exports.eraseSchemaDetailsSubclassable = exports.eraseSchemaDetails = exports.encodeSchemaCompatibilitySnapshot = exports.decodeSchemaCompatibilitySnapshot = exports.createIndependentTreeAlpha = exports.createArrayInsertionAnchor = exports.contentSchemaSymbol = exports.configuredSharedTreeAlpha = exports.comparePersistedSchema = exports.cloneWithReplacements = exports.checkCompatibility = void 0;
7
+ exports.asAlpha = exports.allowUnused = exports.ValueSchema = exports.TreeViewConfigurationAlpha = exports.TreeCompressionStrategy = exports.TreeAlpha = exports.TextAsTree = exports.StagedSchemaUpgradePolicy = exports.SchemaFactoryAlpha = exports.RecordNodeSchema = exports.ObjectNodeSchema = exports.MapNodeSchema = exports.JsonAsTree = exports.FormatValidatorNoOp = exports.FormatValidatorBasic = exports.FluidClientVersion = exports.Component = exports.ArrayNodeSchema = exports.snapshotSchemaCompatibility = exports.singletonSchema = exports.enumFromStrings = exports.createTreeIndex = exports.createIndependentTreeBeta = exports.createIdentifierIndex = exports.configuredSharedTreeBeta = exports.asBeta = exports.adaptEnum = exports.TreeBeta = exports.TableSchema = exports.SchemaFactoryBeta = exports.KeyEncodingOptions = exports.ForestTypeReference = exports.ForestTypeOptimized = exports.ForestTypeExpensiveDebug = exports.FluidSerializableAsTree = exports.ExtensibleUnionNode = exports.rollback = exports.TreeViewConfiguration = exports.TreeStatus = exports.TreeNode = exports.TreeArrayNode = exports.Tree = exports.SchemaFactory = exports.RevertibleStatus = exports.NodeKind = exports.IterableTreeArrayContent = exports.InternalTypes = exports.FieldSchema = exports.FieldKind = exports.CommitKind = void 0;
8
+ exports.trackDirtyNodes = exports.replaceVerboseTreeHandles = exports.replaceHandles = exports.replaceConciseTreeHandles = exports.persistedToSimpleSchema = exports.normalizeAllowedTypes = exports.minimize = exports.independentView = exports.independentInitializedView = exports.incrementalSummaryHint = exports.incrementalEncodingPolicyForAllowedTypes = exports.importCompatibilitySchemaSnapshot = exports.getSimpleSchema = exports.getJsonSchema = exports.generateSchemaFromSimpleSchema = exports.extractPersistedSchema = exports.exportCompatibilitySchemaSnapshot = exports.evaluateLazySchema = exports.eraseSchemaDetailsSubclassable = exports.eraseSchemaDetails = exports.encodeSchemaCompatibilitySnapshot = exports.decodeSchemaCompatibilitySnapshot = exports.createIndependentTreeAlpha = exports.createArrayInsertionAnchor = exports.contentSchemaSymbol = exports.configuredSharedTreeAlpha = exports.comparePersistedSchema = exports.cloneWithReplacements = exports.checkCompatibility = exports.asTreeViewAlpha = void 0;
9
9
  /*
10
10
  * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
11
11
  * Generated by "generate:entrypoint-sources".
@@ -53,6 +53,7 @@ Object.defineProperty(exports, "MapNodeSchema", { enumerable: true, get: functio
53
53
  Object.defineProperty(exports, "ObjectNodeSchema", { enumerable: true, get: function () { return index_js_1.ObjectNodeSchema; } });
54
54
  Object.defineProperty(exports, "RecordNodeSchema", { enumerable: true, get: function () { return index_js_1.RecordNodeSchema; } });
55
55
  Object.defineProperty(exports, "SchemaFactoryAlpha", { enumerable: true, get: function () { return index_js_1.SchemaFactoryAlpha; } });
56
+ Object.defineProperty(exports, "StagedSchemaUpgradePolicy", { enumerable: true, get: function () { return index_js_1.StagedSchemaUpgradePolicy; } });
56
57
  Object.defineProperty(exports, "TextAsTree", { enumerable: true, get: function () { return index_js_1.TextAsTree; } });
57
58
  Object.defineProperty(exports, "TreeAlpha", { enumerable: true, get: function () { return index_js_1.TreeAlpha; } });
58
59
  Object.defineProperty(exports, "TreeCompressionStrategy", { enumerable: true, get: function () { return index_js_1.TreeCompressionStrategy; } });
@@ -1 +1 @@
1
- {"version":3,"file":"alpha.js","sourceRoot":"","sources":["../../src/entrypoints/alpha.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;AAEH;;;GAGG;AAEH,wCA8TqB;AA3TpB,sGAAA,UAAU,OAAA;AAEV,qGAAA,SAAS,OAAA;AAET,uGAAA,WAAW,OAAA;AAaX,yGAAA,aAAa,OAAA;AAGb,oHAAA,wBAAwB,OAAA;AASxB,oGAAA,QAAQ,OAAA;AAWR,4GAAA,gBAAgB,OAAA;AAGhB,yGAAA,aAAa,OAAA;AAMb,gGAAA,IAAI,OAAA;AACJ,yGAAA,aAAa,OAAA;AAKb,oGAAA,QAAQ,OAAA;AAQR,sGAAA,UAAU,OAAA;AAEV,iHAAA,qBAAqB,OAAA;AASrB,oGAAA,QAAQ,OAAA;AAmBR,+GAAA,mBAAmB,OAAA;AAEnB,mHAAA,uBAAuB,OAAA;AAGvB,oHAAA,wBAAwB,OAAA;AACxB,+GAAA,mBAAmB,OAAA;AACnB,+GAAA,mBAAmB,OAAA;AAInB,8GAAA,kBAAkB,OAAA;AAMlB,6GAAA,iBAAiB,OAAA;AAOjB,uGAAA,WAAW,OAAA;AAMX,oGAAA,QAAQ,OAAA;AAgBR,qGAAA,SAAS,OAAA;AACT,kGAAA,MAAM,OAAA;AACN,oHAAA,wBAAwB,OAAA;AACxB,iHAAA,qBAAqB,OAAA;AACrB,qHAAA,yBAAyB,OAAA;AACzB,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,uHAAA,2BAA2B,OAAA;AAa3B,2GAAA,eAAe,OAAA;AAOf,qGAAA,SAAS,OAAA;AAcT,8GAAA,kBAAkB,OAAA;AAElB,gHAAA,oBAAoB,OAAA;AACpB,+GAAA,mBAAmB,OAAA;AAcnB,sGAAA,UAAU,OAAA;AAsBV,yGAAA,aAAa,OAAA;AAQb,4GAAA,gBAAgB,OAAA;AAQhB,4GAAA,gBAAgB,OAAA;AAKhB,8GAAA,kBAAkB,OAAA;AAgBlB,sGAAA,UAAU,OAAA;AAKV,qGAAA,SAAS,OAAA;AAKT,mHAAA,uBAAuB,OAAA;AAQvB,sHAAA,0BAA0B,OAAA;AAE1B,uGAAA,WAAW,OAAA;AAKX,uGAAA,WAAW,OAAA;AACX,mGAAA,OAAO,OAAA;AACP,2GAAA,eAAe,OAAA;AACf,8GAAA,kBAAkB,OAAA;AAClB,iHAAA,qBAAqB,OAAA;AACrB,kHAAA,sBAAsB,OAAA;AACtB,qHAAA,yBAAyB,OAAA;AACzB,+GAAA,mBAAmB,OAAA;AACnB,sHAAA,0BAA0B,OAAA;AAC1B,sHAAA,0BAA0B,OAAA;AAC1B,6HAAA,iCAAiC,OAAA;AACjC,6HAAA,iCAAiC,OAAA;AACjC,8GAAA,kBAAkB,OAAA;AAClB,0HAAA,8BAA8B,OAAA;AAC9B,8GAAA,kBAAkB,OAAA;AAClB,6HAAA,iCAAiC,OAAA;AACjC,kHAAA,sBAAsB,OAAA;AACtB,0HAAA,8BAA8B,OAAA;AAC9B,yGAAA,aAAa,OAAA;AACb,2GAAA,eAAe,OAAA;AACf,6HAAA,iCAAiC,OAAA;AACjC,oIAAA,wCAAwC,OAAA;AACxC,kHAAA,sBAAsB,OAAA;AACtB,sHAAA,0BAA0B,OAAA;AAC1B,2GAAA,eAAe,OAAA;AACf,oGAAA,QAAQ,OAAA;AACR,iHAAA,qBAAqB,OAAA;AACrB,mHAAA,uBAAuB,OAAA;AACvB,qHAAA,yBAAyB,OAAA;AACzB,0GAAA,cAAc,OAAA;AACd,qHAAA,yBAAyB,OAAA;AACzB,2GAAA,eAAe,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/*\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.\n * Generated by \"generate:entrypoint-sources\".\n */\n\nexport {\n\t// #region @public APIs\n\tAllowedTypes, \n\tCommitKind, \n\tCommitMetadata, \n\tFieldKind, \n\tFieldProps, \n\tFieldSchema, \n\tFieldSchemaMetadata, \n\tITree, \n\tITreeConfigurationOptions, \n\tITreeViewConfiguration, \n\tImplicitAllowedTypes, \n\tImplicitFieldSchema, \n\tInput, \n\tInsertableTreeFieldFromImplicitField, \n\tInsertableTreeNodeFromAllowedTypes, \n\tInsertableTreeNodeFromImplicitAllowedTypes, \n\tInsertableTypedNode, \n\tInternalTreeNode, \n\tInternalTypes, \n\tIsListener, \n\tIsUnion, \n\tIterableTreeArrayContent, \n\tLazyItem, \n\tLeafSchema, \n\tListenable, \n\tListeners, \n\tMakeNominal, \n\tMapNodeInsertableData, \n\tNodeFromSchema, \n\tNodeInDocumentConstraint, \n\tNodeKind, \n\tNodeSchemaMetadata, \n\tNodeSchemaOptions, \n\tNumberKeys, \n\tObjectFromSchemaRecord, \n\tOff, \n\tReadonlyArrayNode, \n\tRestrictiveReadonlyRecord, \n\tRestrictiveStringRecord, \n\tRevertible, \n\tRevertibleFactory, \n\tRevertibleStatus, \n\tRunTransaction, \n\tSchemaCompatibilityStatus, \n\tSchemaFactory, \n\tSchemaFactory_base, \n\tSchemaStatics, \n\tSimpleNodeSchemaBase, \n\tSystem_Unsafe, \n\tTransactionConstraint, \n\tTree, \n\tTreeArrayNode, \n\tTreeChangeEvents, \n\tTreeFieldFromImplicitField, \n\tTreeLeafValue, \n\tTreeMapNode, \n\tTreeNode, \n\tTreeNodeApi, \n\tTreeNodeFromImplicitAllowedTypes, \n\tTreeNodeSchema, \n\tTreeNodeSchemaClass, \n\tTreeNodeSchemaCore, \n\tTreeNodeSchemaNonClass, \n\tTreeObjectNode, \n\tTreeStatus, \n\tTreeView, \n\tTreeViewConfiguration, \n\tTreeViewEvents, \n\tUnenforced, \n\tUnhydrated, \n\tUnionToIntersection, \n\tValidateRecursiveSchema, \n\tValidateRecursiveSchemaTemplate, \n\tViewableTree, \n\tWithType, \n\trollback, \n\ttypeSchemaSymbol,\n\t// #endregion\n \n\t// #region @beta APIs\n\tAllowedTypeMetadata, \n\tAllowedTypesFull, \n\tAllowedTypesFullEvaluated, \n\tAllowedTypesFullFromMixed, \n\tAllowedTypesFullFromMixedUnsafe, \n\tAllowedTypesMetadata, \n\tAnnotateAllowedTypesList, \n\tAnnotateAllowedTypesListUnsafe, \n\tAnnotatedAllowedType, \n\tAnnotatedAllowedTypeUnsafe, \n\tAnnotatedAllowedTypes, \n\tAnnotatedAllowedTypesUnsafe, \n\tCodecWriteOptionsBeta, \n\tConciseTree, \n\tExtensibleUnionNode, \n\tFixRecursiveArraySchema, \n\tFluidSerializableAsTree, \n\tForestOptions, \n\tForestType, \n\tForestTypeExpensiveDebug, \n\tForestTypeOptimized, \n\tForestTypeReference, \n\tIdentifierIndex, \n\tJsonCompatible, \n\tJsonCompatibleObject, \n\tKeyEncodingOptions, \n\tNodeChangedData, \n\tObjectSchemaOptions, \n\tPopUnion, \n\tRecordNodeInsertableData, \n\tRunTransactionParamsBeta, \n\tSchemaFactoryBeta, \n\tSchemaStaticsBeta, \n\tSchemaUpgrade, \n\tSharedTreeOptionsBeta, \n\tSnapshotFileSystem, \n\tSnapshotSchemaCompatibilityOptions, \n\tSystem_TableSchema, \n\tTableSchema, \n\tTransactionCallbackStatusBeta, \n\tTransactionResultFailed, \n\tTransactionResultSuccess, \n\tTransactionValueResult, \n\tTransactionVoidResult, \n\tTreeBeta, \n\tTreeBranch, \n\tTreeChangeEventsBeta, \n\tTreeEncodingOptions, \n\tTreeIndex, \n\tTreeIndexKey, \n\tTreeIndexNodes, \n\tTreeRecordNode, \n\tTreeRecordNodeUnsafe, \n\tTreeViewBeta, \n\tUnannotateAllowedTypeUnsafe, \n\tUnannotateAllowedTypesList, \n\tUnannotateAllowedTypesListUnsafe, \n\tUnionToTuple, \n\tVoidTransactionCallbackStatusBeta, \n\tWithValue, \n\tadaptEnum, \n\tasBeta, \n\tconfiguredSharedTreeBeta, \n\tcreateIdentifierIndex, \n\tcreateIndependentTreeBeta, \n\tcreateTreeIndex, \n\tenumFromStrings, \n\tsingletonSchema, \n\tsnapshotSchemaCompatibility,\n\t// #endregion\n \n\t// #region @alpha APIs\n\tAllowedTypesFullUnsafe, \n\tArrayNodeCustomizableSchema, \n\tArrayNodeCustomizableSchemaAlpha, \n\tArrayNodeCustomizableSchemaUnsafe, \n\tArrayNodeDeltaOp, \n\tArrayNodeInsertOp, \n\tArrayNodePojoEmulationSchema, \n\tArrayNodeRemoveOp, \n\tArrayNodeRetainOp, \n\tArrayNodeSchema, \n\tArrayNodeTreeChangedDeltaOp, \n\tArrayNodeTreeChangedRetainOp, \n\tArrayPlaceAnchor, \n\tChangeMetadata, \n\tCodecName, \n\tCodecWriteOptions, \n\tComponent, \n\tCreateIndependentTreeAlphaOptions, \n\tDirtyTreeMap, \n\tDirtyTreeStatus, \n\tErasedNode, \n\tErasedSchema, \n\tErasedSchemaSubclassable, \n\tFactoryContent, \n\tFactoryContentObject, \n\tFieldHasDefaultAlpha, \n\tFieldHasDefaultAlphaUnsafe, \n\tFieldPropsAlpha, \n\tFieldSchemaAlpha, \n\tFieldSchemaAlphaUnsafe, \n\tFluidClientVersion, \n\tFormatValidator, \n\tFormatValidatorBasic, \n\tFormatValidatorNoOp, \n\tFormatVersion, \n\tHandleConverter, \n\tICodecOptions, \n\tITreeAlpha, \n\tIncrementalEncodingPolicy, \n\tIndependentViewOptions, \n\tIndependentViewTelemetryOptions, \n\tInsertable, \n\tInsertableContent, \n\tInsertableField, \n\tInsertableObjectFromSchemaRecordAlpha, \n\tInsertableObjectFromSchemaRecordAlphaUnsafe, \n\tJsonArrayNodeSchema, \n\tJsonAsTree, \n\tJsonCompatibleReadOnly, \n\tJsonCompatibleReadOnlyObject, \n\tJsonFieldSchema, \n\tJsonLeafNodeSchema, \n\tJsonLeafSchemaType, \n\tJsonMapNodeSchema, \n\tJsonNodeSchema, \n\tJsonNodeSchemaBase, \n\tJsonObjectNodeSchema, \n\tJsonRecordNodeSchema, \n\tJsonRefPath, \n\tJsonSchemaId, \n\tJsonSchemaRef, \n\tJsonSchemaType, \n\tJsonStringKeyPatternProperties, \n\tJsonTreeSchema, \n\tLabelTree, \n\tLocalChangeMetadata, \n\tMapNodeCustomizableSchema, \n\tMapNodeCustomizableSchemaUnsafe, \n\tMapNodePojoEmulationSchema, \n\tMapNodeSchema, \n\tNoChangeConstraint, \n\tNodeChangedDataAlpha, \n\tNodeChangedDataDelta, \n\tNodeChangedDataProperties, \n\tNodeChangedDataTreeDelta, \n\tNodeProvider, \n\tNodeSchemaOptionsAlpha, \n\tObjectNodeSchema, \n\tObjectNodeSchemaWorkaround, \n\tObjectSchemaOptionsAlpha, \n\tObservationResults, \n\tReadSchema, \n\tReadableField, \n\tRecordNodeCustomizableSchema, \n\tRecordNodePojoEmulationSchema, \n\tRecordNodeSchema, \n\tRemoteChangeMetadata, \n\tRevertibleAlpha, \n\tRevertibleAlphaFactory, \n\tRunTransactionParamsAlpha, \n\tSchemaFactoryAlpha, \n\tSchemaStaticsAlpha, \n\tSchemaType, \n\tSharedTreeFormatOptions, \n\tSharedTreeOptions, \n\tSimpleAllowedTypeAttributes, \n\tSimpleArrayNodeSchema, \n\tSimpleFieldSchema, \n\tSimpleLeafNodeSchema, \n\tSimpleMapNodeSchema, \n\tSimpleNodeSchema, \n\tSimpleNodeSchemaBaseAlpha, \n\tSimpleObjectFieldSchema, \n\tSimpleObjectNodeSchema, \n\tSimpleRecordNodeSchema, \n\tSimpleTreeSchema, \n\tTextAsTree, \n\tTransactionCallbackStatusAlpha, \n\tTransactionConstraintAlpha, \n\tTransactionLabels, \n\tTransactionPostProcessor, \n\tTreeAlpha, \n\tTreeArrayNodeAlpha, \n\tTreeBranchAlpha, \n\tTreeBranchEvents, \n\tTreeChangeEventsAlpha, \n\tTreeCompressionStrategy, \n\tTreeContextAlpha, \n\tTreeIdentifierUtils, \n\tTreeMapNodeAlpha, \n\tTreeParsingOptions, \n\tTreeSchema, \n\tTreeSchemaEncodingOptions, \n\tTreeViewAlpha, \n\tTreeViewConfigurationAlpha, \n\tUnsafeUnknownSchema, \n\tValueSchema, \n\tVerboseTree, \n\tVerboseTreeNode, \n\tViewContent, \n\tVoidTransactionCallbackStatusAlpha, \n\tallowUnused, \n\tasAlpha, \n\tasTreeViewAlpha, \n\tcheckCompatibility, \n\tcloneWithReplacements, \n\tcomparePersistedSchema, \n\tconfiguredSharedTreeAlpha, \n\tcontentSchemaSymbol, \n\tcreateArrayInsertionAnchor, \n\tcreateIndependentTreeAlpha, \n\tdecodeSchemaCompatibilitySnapshot, \n\tencodeSchemaCompatibilitySnapshot, \n\teraseSchemaDetails, \n\teraseSchemaDetailsSubclassable, \n\tevaluateLazySchema, \n\texportCompatibilitySchemaSnapshot, \n\textractPersistedSchema, \n\tgenerateSchemaFromSimpleSchema, \n\tgetJsonSchema, \n\tgetSimpleSchema, \n\timportCompatibilitySchemaSnapshot, \n\tincrementalEncodingPolicyForAllowedTypes, \n\tincrementalSummaryHint, \n\tindependentInitializedView, \n\tindependentView, \n\tminimize, \n\tnormalizeAllowedTypes, \n\tpersistedToSimpleSchema, \n\treplaceConciseTreeHandles, \n\treplaceHandles, \n\treplaceVerboseTreeHandles, \n\ttrackDirtyNodes\n\t// #endregion\n} from \"../index.js\";\n"]}
1
+ {"version":3,"file":"alpha.js","sourceRoot":"","sources":["../../src/entrypoints/alpha.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;AAEH;;;GAGG;AAEH,wCAiUqB;AA9TpB,sGAAA,UAAU,OAAA;AAEV,qGAAA,SAAS,OAAA;AAET,uGAAA,WAAW,OAAA;AAaX,yGAAA,aAAa,OAAA;AAGb,oHAAA,wBAAwB,OAAA;AASxB,oGAAA,QAAQ,OAAA;AAWR,4GAAA,gBAAgB,OAAA;AAGhB,yGAAA,aAAa,OAAA;AAMb,gGAAA,IAAI,OAAA;AACJ,yGAAA,aAAa,OAAA;AAKb,oGAAA,QAAQ,OAAA;AAQR,sGAAA,UAAU,OAAA;AAEV,iHAAA,qBAAqB,OAAA;AASrB,oGAAA,QAAQ,OAAA;AAmBR,+GAAA,mBAAmB,OAAA;AAEnB,mHAAA,uBAAuB,OAAA;AAGvB,oHAAA,wBAAwB,OAAA;AACxB,+GAAA,mBAAmB,OAAA;AACnB,+GAAA,mBAAmB,OAAA;AAInB,8GAAA,kBAAkB,OAAA;AAMlB,6GAAA,iBAAiB,OAAA;AAOjB,uGAAA,WAAW,OAAA;AAMX,oGAAA,QAAQ,OAAA;AAgBR,qGAAA,SAAS,OAAA;AACT,kGAAA,MAAM,OAAA;AACN,oHAAA,wBAAwB,OAAA;AACxB,iHAAA,qBAAqB,OAAA;AACrB,qHAAA,yBAAyB,OAAA;AACzB,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,uHAAA,2BAA2B,OAAA;AAa3B,2GAAA,eAAe,OAAA;AAOf,qGAAA,SAAS,OAAA;AAcT,8GAAA,kBAAkB,OAAA;AAElB,gHAAA,oBAAoB,OAAA;AACpB,+GAAA,mBAAmB,OAAA;AAenB,sGAAA,UAAU,OAAA;AAsBV,yGAAA,aAAa,OAAA;AAQb,4GAAA,gBAAgB,OAAA;AAQhB,4GAAA,gBAAgB,OAAA;AAKhB,8GAAA,kBAAkB,OAAA;AAgBlB,qHAAA,yBAAyB,OAAA;AAEzB,sGAAA,UAAU,OAAA;AAKV,qGAAA,SAAS,OAAA;AAKT,mHAAA,uBAAuB,OAAA;AAQvB,sHAAA,0BAA0B,OAAA;AAE1B,uGAAA,WAAW,OAAA;AAKX,uGAAA,WAAW,OAAA;AACX,mGAAA,OAAO,OAAA;AACP,2GAAA,eAAe,OAAA;AACf,8GAAA,kBAAkB,OAAA;AAClB,iHAAA,qBAAqB,OAAA;AACrB,kHAAA,sBAAsB,OAAA;AACtB,qHAAA,yBAAyB,OAAA;AACzB,+GAAA,mBAAmB,OAAA;AACnB,sHAAA,0BAA0B,OAAA;AAC1B,sHAAA,0BAA0B,OAAA;AAC1B,6HAAA,iCAAiC,OAAA;AACjC,6HAAA,iCAAiC,OAAA;AACjC,8GAAA,kBAAkB,OAAA;AAClB,0HAAA,8BAA8B,OAAA;AAC9B,8GAAA,kBAAkB,OAAA;AAClB,6HAAA,iCAAiC,OAAA;AACjC,kHAAA,sBAAsB,OAAA;AACtB,0HAAA,8BAA8B,OAAA;AAC9B,yGAAA,aAAa,OAAA;AACb,2GAAA,eAAe,OAAA;AACf,6HAAA,iCAAiC,OAAA;AACjC,oIAAA,wCAAwC,OAAA;AACxC,kHAAA,sBAAsB,OAAA;AACtB,sHAAA,0BAA0B,OAAA;AAC1B,2GAAA,eAAe,OAAA;AACf,oGAAA,QAAQ,OAAA;AACR,iHAAA,qBAAqB,OAAA;AACrB,mHAAA,uBAAuB,OAAA;AACvB,qHAAA,yBAAyB,OAAA;AACzB,0GAAA,cAAc,OAAA;AACd,qHAAA,yBAAyB,OAAA;AACzB,2GAAA,eAAe,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/*\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.\n * Generated by \"generate:entrypoint-sources\".\n */\n\nexport {\n\t// #region @public APIs\n\tAllowedTypes, \n\tCommitKind, \n\tCommitMetadata, \n\tFieldKind, \n\tFieldProps, \n\tFieldSchema, \n\tFieldSchemaMetadata, \n\tITree, \n\tITreeConfigurationOptions, \n\tITreeViewConfiguration, \n\tImplicitAllowedTypes, \n\tImplicitFieldSchema, \n\tInput, \n\tInsertableTreeFieldFromImplicitField, \n\tInsertableTreeNodeFromAllowedTypes, \n\tInsertableTreeNodeFromImplicitAllowedTypes, \n\tInsertableTypedNode, \n\tInternalTreeNode, \n\tInternalTypes, \n\tIsListener, \n\tIsUnion, \n\tIterableTreeArrayContent, \n\tLazyItem, \n\tLeafSchema, \n\tListenable, \n\tListeners, \n\tMakeNominal, \n\tMapNodeInsertableData, \n\tNodeFromSchema, \n\tNodeInDocumentConstraint, \n\tNodeKind, \n\tNodeSchemaMetadata, \n\tNodeSchemaOptions, \n\tNumberKeys, \n\tObjectFromSchemaRecord, \n\tOff, \n\tReadonlyArrayNode, \n\tRestrictiveReadonlyRecord, \n\tRestrictiveStringRecord, \n\tRevertible, \n\tRevertibleFactory, \n\tRevertibleStatus, \n\tRunTransaction, \n\tSchemaCompatibilityStatus, \n\tSchemaFactory, \n\tSchemaFactory_base, \n\tSchemaStatics, \n\tSimpleNodeSchemaBase, \n\tSystem_Unsafe, \n\tTransactionConstraint, \n\tTree, \n\tTreeArrayNode, \n\tTreeChangeEvents, \n\tTreeFieldFromImplicitField, \n\tTreeLeafValue, \n\tTreeMapNode, \n\tTreeNode, \n\tTreeNodeApi, \n\tTreeNodeFromImplicitAllowedTypes, \n\tTreeNodeSchema, \n\tTreeNodeSchemaClass, \n\tTreeNodeSchemaCore, \n\tTreeNodeSchemaNonClass, \n\tTreeObjectNode, \n\tTreeStatus, \n\tTreeView, \n\tTreeViewConfiguration, \n\tTreeViewEvents, \n\tUnenforced, \n\tUnhydrated, \n\tUnionToIntersection, \n\tValidateRecursiveSchema, \n\tValidateRecursiveSchemaTemplate, \n\tViewableTree, \n\tWithType, \n\trollback, \n\ttypeSchemaSymbol,\n\t// #endregion\n \n\t// #region @beta APIs\n\tAllowedTypeMetadata, \n\tAllowedTypesFull, \n\tAllowedTypesFullEvaluated, \n\tAllowedTypesFullFromMixed, \n\tAllowedTypesFullFromMixedUnsafe, \n\tAllowedTypesMetadata, \n\tAnnotateAllowedTypesList, \n\tAnnotateAllowedTypesListUnsafe, \n\tAnnotatedAllowedType, \n\tAnnotatedAllowedTypeUnsafe, \n\tAnnotatedAllowedTypes, \n\tAnnotatedAllowedTypesUnsafe, \n\tCodecWriteOptionsBeta, \n\tConciseTree, \n\tExtensibleUnionNode, \n\tFixRecursiveArraySchema, \n\tFluidSerializableAsTree, \n\tForestOptions, \n\tForestType, \n\tForestTypeExpensiveDebug, \n\tForestTypeOptimized, \n\tForestTypeReference, \n\tIdentifierIndex, \n\tJsonCompatible, \n\tJsonCompatibleObject, \n\tKeyEncodingOptions, \n\tNodeChangedData, \n\tObjectSchemaOptions, \n\tPopUnion, \n\tRecordNodeInsertableData, \n\tRunTransactionParamsBeta, \n\tSchemaFactoryBeta, \n\tSchemaStaticsBeta, \n\tSchemaUpgrade, \n\tSharedTreeOptionsBeta, \n\tSnapshotFileSystem, \n\tSnapshotSchemaCompatibilityOptions, \n\tSystem_TableSchema, \n\tTableSchema, \n\tTransactionCallbackStatusBeta, \n\tTransactionResultFailed, \n\tTransactionResultSuccess, \n\tTransactionValueResult, \n\tTransactionVoidResult, \n\tTreeBeta, \n\tTreeBranch, \n\tTreeChangeEventsBeta, \n\tTreeEncodingOptions, \n\tTreeIndex, \n\tTreeIndexKey, \n\tTreeIndexNodes, \n\tTreeRecordNode, \n\tTreeRecordNodeUnsafe, \n\tTreeViewBeta, \n\tUnannotateAllowedTypeUnsafe, \n\tUnannotateAllowedTypesList, \n\tUnannotateAllowedTypesListUnsafe, \n\tUnionToTuple, \n\tVoidTransactionCallbackStatusBeta, \n\tWithValue, \n\tadaptEnum, \n\tasBeta, \n\tconfiguredSharedTreeBeta, \n\tcreateIdentifierIndex, \n\tcreateIndependentTreeBeta, \n\tcreateTreeIndex, \n\tenumFromStrings, \n\tsingletonSchema, \n\tsnapshotSchemaCompatibility,\n\t// #endregion\n \n\t// #region @alpha APIs\n\tAllowedTypesFullUnsafe, \n\tArrayNodeCustomizableSchema, \n\tArrayNodeCustomizableSchemaAlpha, \n\tArrayNodeCustomizableSchemaUnsafe, \n\tArrayNodeDeltaOp, \n\tArrayNodeInsertOp, \n\tArrayNodePojoEmulationSchema, \n\tArrayNodeRemoveOp, \n\tArrayNodeRetainOp, \n\tArrayNodeSchema, \n\tArrayNodeTreeChangedDeltaOp, \n\tArrayNodeTreeChangedRetainOp, \n\tArrayPlaceAnchor, \n\tChangeMetadata, \n\tCodecName, \n\tCodecWriteOptions, \n\tComponent, \n\tCreateIndependentTreeAlphaOptions, \n\tDirtyTreeMap, \n\tDirtyTreeStatus, \n\tErasedNode, \n\tErasedSchema, \n\tErasedSchemaSubclassable, \n\tFactoryContent, \n\tFactoryContentObject, \n\tFieldHasDefaultAlpha, \n\tFieldHasDefaultAlphaUnsafe, \n\tFieldPropsAlpha, \n\tFieldSchemaAlpha, \n\tFieldSchemaAlphaUnsafe, \n\tFluidClientVersion, \n\tFormatValidator, \n\tFormatValidatorBasic, \n\tFormatValidatorNoOp, \n\tFormatVersion, \n\tHandleConverter, \n\tICodecOptions, \n\tITreeAlpha, \n\tITreeViewConfigurationAlpha, \n\tIncrementalEncodingPolicy, \n\tIndependentViewOptions, \n\tIndependentViewTelemetryOptions, \n\tInsertable, \n\tInsertableContent, \n\tInsertableField, \n\tInsertableObjectFromSchemaRecordAlpha, \n\tInsertableObjectFromSchemaRecordAlphaUnsafe, \n\tJsonArrayNodeSchema, \n\tJsonAsTree, \n\tJsonCompatibleReadOnly, \n\tJsonCompatibleReadOnlyObject, \n\tJsonFieldSchema, \n\tJsonLeafNodeSchema, \n\tJsonLeafSchemaType, \n\tJsonMapNodeSchema, \n\tJsonNodeSchema, \n\tJsonNodeSchemaBase, \n\tJsonObjectNodeSchema, \n\tJsonRecordNodeSchema, \n\tJsonRefPath, \n\tJsonSchemaId, \n\tJsonSchemaRef, \n\tJsonSchemaType, \n\tJsonStringKeyPatternProperties, \n\tJsonTreeSchema, \n\tLabelTree, \n\tLocalChangeMetadata, \n\tMapNodeCustomizableSchema, \n\tMapNodeCustomizableSchemaUnsafe, \n\tMapNodePojoEmulationSchema, \n\tMapNodeSchema, \n\tNoChangeConstraint, \n\tNodeChangedDataAlpha, \n\tNodeChangedDataDelta, \n\tNodeChangedDataProperties, \n\tNodeChangedDataTreeDelta, \n\tNodeProvider, \n\tNodeSchemaOptionsAlpha, \n\tObjectNodeSchema, \n\tObjectNodeSchemaWorkaround, \n\tObjectSchemaOptionsAlpha, \n\tObservationResults, \n\tReadSchema, \n\tReadableField, \n\tRecordNodeCustomizableSchema, \n\tRecordNodePojoEmulationSchema, \n\tRecordNodeSchema, \n\tRemoteChangeMetadata, \n\tRevertibleAlpha, \n\tRevertibleAlphaFactory, \n\tRunTransactionParamsAlpha, \n\tSchemaFactoryAlpha, \n\tSchemaStaticsAlpha, \n\tSchemaType, \n\tSharedTreeFormatOptions, \n\tSharedTreeOptions, \n\tSimpleAllowedTypeAttributes, \n\tSimpleArrayNodeSchema, \n\tSimpleFieldSchema, \n\tSimpleLeafNodeSchema, \n\tSimpleMapNodeSchema, \n\tSimpleNodeSchema, \n\tSimpleNodeSchemaBaseAlpha, \n\tSimpleObjectFieldSchema, \n\tSimpleObjectNodeSchema, \n\tSimpleRecordNodeSchema, \n\tSimpleTreeSchema, \n\tStagedSchemaUpgradePolicy, \n\tStagedSchemaUpgradePolicyFactory, \n\tTextAsTree, \n\tTransactionCallbackStatusAlpha, \n\tTransactionConstraintAlpha, \n\tTransactionLabels, \n\tTransactionPostProcessor, \n\tTreeAlpha, \n\tTreeArrayNodeAlpha, \n\tTreeBranchAlpha, \n\tTreeBranchEvents, \n\tTreeChangeEventsAlpha, \n\tTreeCompressionStrategy, \n\tTreeContextAlpha, \n\tTreeIdentifierUtils, \n\tTreeMapNodeAlpha, \n\tTreeParsingOptions, \n\tTreeSchema, \n\tTreeSchemaEncodingOptions, \n\tTreeViewAlpha, \n\tTreeViewConfigurationAlpha, \n\tUnsafeUnknownSchema, \n\tValueSchema, \n\tVerboseTree, \n\tVerboseTreeNode, \n\tViewContent, \n\tVoidTransactionCallbackStatusAlpha, \n\tallowUnused, \n\tasAlpha, \n\tasTreeViewAlpha, \n\tcheckCompatibility, \n\tcloneWithReplacements, \n\tcomparePersistedSchema, \n\tconfiguredSharedTreeAlpha, \n\tcontentSchemaSymbol, \n\tcreateArrayInsertionAnchor, \n\tcreateIndependentTreeAlpha, \n\tdecodeSchemaCompatibilitySnapshot, \n\tencodeSchemaCompatibilitySnapshot, \n\teraseSchemaDetails, \n\teraseSchemaDetailsSubclassable, \n\tevaluateLazySchema, \n\texportCompatibilitySchemaSnapshot, \n\textractPersistedSchema, \n\tgenerateSchemaFromSimpleSchema, \n\tgetJsonSchema, \n\tgetSimpleSchema, \n\timportCompatibilitySchemaSnapshot, \n\tincrementalEncodingPolicyForAllowedTypes, \n\tincrementalSummaryHint, \n\tindependentInitializedView, \n\tindependentView, \n\tminimize, \n\tnormalizeAllowedTypes, \n\tpersistedToSimpleSchema, \n\treplaceConciseTreeHandles, \n\treplaceHandles, \n\treplaceVerboseTreeHandles, \n\ttrackDirtyNodes\n\t// #endregion\n} from \"../index.js\";\n"]}
@@ -20,7 +20,7 @@ exports.noChangeHandler = {
20
20
  compose: (change1, change2) => 0,
21
21
  invert: (changes) => 0,
22
22
  rebase: (change, over) => 0,
23
- mute: (changes) => 0,
23
+ filterEdits: (changes) => 0,
24
24
  }),
25
25
  codecsFactory: () => noChangeCodecs_js_1.noChangeCodecFamily,
26
26
  editor: { buildChildChanges: () => (0, internal_1.fail)(0xb0d /* Child changes not supported */) },
@@ -1 +1 @@
1
- {"version":3,"file":"defaultFieldKinds.js","sourceRoot":"","sources":["../../../src/feature-libraries/default-schema/defaultFieldKinds.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { fail } from \"@fluidframework/core-utils/internal\";\n\nimport type { CodecTree } from \"../../codec/index.js\";\nimport {\n\ttype DeltaDetachedNodeId,\n\ttype FieldKindIdentifier,\n\tforbiddenFieldKindIdentifier,\n\tMultiplicity,\n} from \"../../core/index.js\";\nimport { identifierFieldIdentifier } from \"../fieldKindIdentifiers.js\";\nimport {\n\ttype FieldChangeDelta,\n\ttype FieldChangeHandler,\n\ttype FieldEditor,\n\ttype FieldKindConfiguration,\n\ttype FieldKindConfigurationEntry,\n\tFlexFieldKind,\n\ttype FullSchemaPolicy,\n\tModularChangeFormatVersion,\n\ttype ToDelta,\n\treferenceFreeFieldChangeRebaser,\n} from \"../modular-schema/index.js\";\nimport { optional, required } from \"../optional-field/index.js\";\nimport { sequence } from \"../sequence-field/index.js\";\n\nimport { noChangeCodecFamily } from \"./noChangeCodecs.js\";\n\n/**\n * ChangeHandler that only handles no-op / identity changes.\n */\nexport const noChangeHandler: FieldChangeHandler<0> = {\n\trebaser: referenceFreeFieldChangeRebaser({\n\t\tcompose: (change1: 0, change2: 0) => 0,\n\t\tinvert: (changes: 0) => 0,\n\t\trebase: (change: 0, over: 0) => 0,\n\t\tmute: (changes: 0) => 0,\n\t}),\n\tcodecsFactory: () => noChangeCodecFamily,\n\teditor: { buildChildChanges: () => fail(0xb0d /* Child changes not supported */) },\n\tintoDelta: (change, deltaFromChild: ToDelta): FieldChangeDelta => ({}),\n\trelevantRemovedRoots: (change): Iterable<DeltaDetachedNodeId> => [],\n\tisEmpty: (change: 0) => true,\n\tgetNestedChanges: (change: 0) => [],\n\tcreateEmpty: () => 0,\n\tgetCrossFieldKeys: () => [],\n};\n\n/**\n * Exactly one identifier.\n */\nexport const identifier: Identifier = new FlexFieldKind(\n\tidentifierFieldIdentifier,\n\tMultiplicity.Single,\n\t{\n\t\tchangeHandler: noChangeHandler,\n\t\t// By omitting required here,\n\t\t// this is making a policy choice that a schema upgrade cannot be done from required to identifier.\n\t\t// Since an identifier can be upgraded into a required field,\n\t\t// preventing the inverse helps ensure that schema upgrades are monotonic.\n\t\t// Which direction is allowed is a subjective policy choice.\n\t\tallowMonotonicUpgradeFrom: new Set([]),\n\t},\n);\n\n/**\n * Exactly 0 items.\n *\n * Using Forbidden makes what types are listed for allowed in a field irrelevant\n * since the field will never have values in it.\n *\n * Using Forbidden is equivalent to picking a kind that permits empty (like sequence or optional)\n * and having no allowed types (or only never types).\n * Because of this, its possible to express everything constraint wise without Forbidden,\n * but using Forbidden can be more semantically clear than optional with no allowed types.\n *\n * For view schema, this can be useful if you need to:\n * - run a specific out of schema handler when a field is present,\n * but otherwise are ignoring or tolerating (ex: via extra fields) unmentioned fields.\n * - prevent a specific field from being used as an extra field\n * (perhaps for some past of future compatibility reason)\n * - keep a field in a schema for metadata purposes\n * (ex: for improved error messaging, error handling or documentation)\n * that is not used in this specific version of the schema (ex: to document what it was or will be used for).\n *\n * For stored schema, this can be useful if you need to:\n * - have a field which can have its schema updated to Optional or Sequence of any type.\n * - to exclude a field from extra fields\n * - for the schema system to use as a default for fields which aren't declared\n * (ex: when updating a field that did not exist into one that does)\n *\n * See {@link emptyField} for a constant, reusable field using Forbidden.\n */\nexport const forbidden: Forbidden = new FlexFieldKind(\n\tforbiddenFieldKindIdentifier,\n\tMultiplicity.Forbidden,\n\t{\n\t\tchangeHandler: noChangeHandler,\n\t\tallowMonotonicUpgradeFrom: new Set(),\n\t},\n);\n\nexport const fieldKindConfigurations: ReadonlyMap<\n\tModularChangeFormatVersion,\n\tFieldKindConfiguration\n> = new Map<ModularChangeFormatVersion, FieldKindConfiguration>([\n\t[\n\t\tModularChangeFormatVersion.v3,\n\t\tnew Map<FieldKindIdentifier, FieldKindConfigurationEntry>([\n\t\t\t[required.identifier, { kind: required, formatVersion: 2 }],\n\t\t\t[optional.identifier, { kind: optional, formatVersion: 2 }],\n\t\t\t[sequence.identifier, { kind: sequence, formatVersion: 2 }],\n\t\t\t[forbidden.identifier, { kind: forbidden, formatVersion: 1 }],\n\t\t\t[identifier.identifier, { kind: identifier, formatVersion: 1 }],\n\t\t]),\n\t],\n\t[\n\t\tModularChangeFormatVersion.v4,\n\t\tnew Map<FieldKindIdentifier, FieldKindConfigurationEntry>([\n\t\t\t[required.identifier, { kind: required, formatVersion: 2 }],\n\t\t\t[optional.identifier, { kind: optional, formatVersion: 2 }],\n\t\t\t[sequence.identifier, { kind: sequence, formatVersion: 3 }],\n\t\t\t[forbidden.identifier, { kind: forbidden, formatVersion: 1 }],\n\t\t\t[identifier.identifier, { kind: identifier, formatVersion: 1 }],\n\t\t]),\n\t],\n\t[\n\t\tModularChangeFormatVersion.v5,\n\t\tnew Map<FieldKindIdentifier, FieldKindConfigurationEntry>([\n\t\t\t[required.identifier, { kind: required, formatVersion: 2 }],\n\t\t\t[optional.identifier, { kind: optional, formatVersion: 2 }],\n\t\t\t[sequence.identifier, { kind: sequence, formatVersion: 3 }],\n\t\t\t[forbidden.identifier, { kind: forbidden, formatVersion: 1 }],\n\t\t\t[identifier.identifier, { kind: identifier, formatVersion: 1 }],\n\t\t]),\n\t],\n]);\n\nexport function getCodecTreeForModularChangeFormat(\n\tversion: ModularChangeFormatVersion,\n): CodecTree {\n\tconst dependencies =\n\t\tfieldKindConfigurations.get(version) ?? fail(0xc7c /* Unknown modular change format */);\n\tconst children: CodecTree[] = [...dependencies.entries()].map(\n\t\t([key, { formatVersion }]) => ({\n\t\t\tname: `FieldKind:${key}`,\n\t\t\tversion: formatVersion,\n\t\t}),\n\t);\n\treturn {\n\t\tname: \"ModularChange\",\n\t\tversion,\n\t\tchildren,\n\t};\n}\n\n/**\n * All supported field kinds.\n *\n * @privateRemarks\n * Before making a SharedTree format change which impacts which set of field kinds are allowed,\n * code which uses this should be audited for compatibility considerations.\n */\nexport const fieldKinds: ReadonlyMap<FieldKindIdentifier, FlexFieldKind> = new Map(\n\t[required, optional, sequence, identifier, forbidden].map((s) => [s.identifier, s]),\n);\n\n// Create named Aliases for nicer intellisense.\n\n// TODO: Find a way to make docs like {@inheritDoc required} work in vscode.\n// TODO: ensure thy work in generated docs.\n// TODO: add these comments to the rest of the cases below.\nexport interface Identifier\n\textends FlexFieldKind<\n\t\tFieldEditor<0>,\n\t\ttypeof identifierFieldIdentifier,\n\t\tMultiplicity.Single\n\t> {}\nexport interface Forbidden\n\textends FlexFieldKind<\n\t\tFieldEditor<0>,\n\t\ttypeof forbiddenFieldKindIdentifier,\n\t\tMultiplicity.Forbidden\n\t> {}\n\n/**\n * Default FieldKinds with their editor types erased.\n */\nexport const FieldKinds: {\n\t// TODO: inheritDoc for these somehow\n\treadonly required: typeof required;\n\treadonly optional: typeof optional;\n\treadonly sequence: typeof sequence;\n\treadonly identifier: Identifier;\n\treadonly forbidden: Forbidden;\n} = { required, optional, sequence, identifier, forbidden };\n\n/**\n * FullSchemaPolicy with the default field kinds.\n */\nexport const defaultSchemaPolicy: FullSchemaPolicy = {\n\tfieldKinds,\n};\n"]}
1
+ {"version":3,"file":"defaultFieldKinds.js","sourceRoot":"","sources":["../../../src/feature-libraries/default-schema/defaultFieldKinds.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { fail } from \"@fluidframework/core-utils/internal\";\n\nimport type { CodecTree } from \"../../codec/index.js\";\nimport {\n\ttype DeltaDetachedNodeId,\n\ttype FieldKindIdentifier,\n\tforbiddenFieldKindIdentifier,\n\tMultiplicity,\n} from \"../../core/index.js\";\nimport { identifierFieldIdentifier } from \"../fieldKindIdentifiers.js\";\nimport {\n\ttype FieldChangeDelta,\n\ttype FieldChangeHandler,\n\ttype FieldEditor,\n\ttype FieldKindConfiguration,\n\ttype FieldKindConfigurationEntry,\n\tFlexFieldKind,\n\ttype FullSchemaPolicy,\n\tModularChangeFormatVersion,\n\ttype ToDelta,\n\treferenceFreeFieldChangeRebaser,\n} from \"../modular-schema/index.js\";\nimport { optional, required } from \"../optional-field/index.js\";\nimport { sequence } from \"../sequence-field/index.js\";\n\nimport { noChangeCodecFamily } from \"./noChangeCodecs.js\";\n\n/**\n * ChangeHandler that only handles no-op / identity changes.\n */\nexport const noChangeHandler: FieldChangeHandler<0> = {\n\trebaser: referenceFreeFieldChangeRebaser({\n\t\tcompose: (change1: 0, change2: 0) => 0,\n\t\tinvert: (changes: 0) => 0,\n\t\trebase: (change: 0, over: 0) => 0,\n\t\tfilterEdits: (changes: 0) => 0,\n\t}),\n\tcodecsFactory: () => noChangeCodecFamily,\n\teditor: { buildChildChanges: () => fail(0xb0d /* Child changes not supported */) },\n\tintoDelta: (change, deltaFromChild: ToDelta): FieldChangeDelta => ({}),\n\trelevantRemovedRoots: (change): Iterable<DeltaDetachedNodeId> => [],\n\tisEmpty: (change: 0) => true,\n\tgetNestedChanges: (change: 0) => [],\n\tcreateEmpty: () => 0,\n\tgetCrossFieldKeys: () => [],\n};\n\n/**\n * Exactly one identifier.\n */\nexport const identifier: Identifier = new FlexFieldKind(\n\tidentifierFieldIdentifier,\n\tMultiplicity.Single,\n\t{\n\t\tchangeHandler: noChangeHandler,\n\t\t// By omitting required here,\n\t\t// this is making a policy choice that a schema upgrade cannot be done from required to identifier.\n\t\t// Since an identifier can be upgraded into a required field,\n\t\t// preventing the inverse helps ensure that schema upgrades are monotonic.\n\t\t// Which direction is allowed is a subjective policy choice.\n\t\tallowMonotonicUpgradeFrom: new Set([]),\n\t},\n);\n\n/**\n * Exactly 0 items.\n *\n * Using Forbidden makes what types are listed for allowed in a field irrelevant\n * since the field will never have values in it.\n *\n * Using Forbidden is equivalent to picking a kind that permits empty (like sequence or optional)\n * and having no allowed types (or only never types).\n * Because of this, its possible to express everything constraint wise without Forbidden,\n * but using Forbidden can be more semantically clear than optional with no allowed types.\n *\n * For view schema, this can be useful if you need to:\n * - run a specific out of schema handler when a field is present,\n * but otherwise are ignoring or tolerating (ex: via extra fields) unmentioned fields.\n * - prevent a specific field from being used as an extra field\n * (perhaps for some past of future compatibility reason)\n * - keep a field in a schema for metadata purposes\n * (ex: for improved error messaging, error handling or documentation)\n * that is not used in this specific version of the schema (ex: to document what it was or will be used for).\n *\n * For stored schema, this can be useful if you need to:\n * - have a field which can have its schema updated to Optional or Sequence of any type.\n * - to exclude a field from extra fields\n * - for the schema system to use as a default for fields which aren't declared\n * (ex: when updating a field that did not exist into one that does)\n *\n * See {@link emptyField} for a constant, reusable field using Forbidden.\n */\nexport const forbidden: Forbidden = new FlexFieldKind(\n\tforbiddenFieldKindIdentifier,\n\tMultiplicity.Forbidden,\n\t{\n\t\tchangeHandler: noChangeHandler,\n\t\tallowMonotonicUpgradeFrom: new Set(),\n\t},\n);\n\nexport const fieldKindConfigurations: ReadonlyMap<\n\tModularChangeFormatVersion,\n\tFieldKindConfiguration\n> = new Map<ModularChangeFormatVersion, FieldKindConfiguration>([\n\t[\n\t\tModularChangeFormatVersion.v3,\n\t\tnew Map<FieldKindIdentifier, FieldKindConfigurationEntry>([\n\t\t\t[required.identifier, { kind: required, formatVersion: 2 }],\n\t\t\t[optional.identifier, { kind: optional, formatVersion: 2 }],\n\t\t\t[sequence.identifier, { kind: sequence, formatVersion: 2 }],\n\t\t\t[forbidden.identifier, { kind: forbidden, formatVersion: 1 }],\n\t\t\t[identifier.identifier, { kind: identifier, formatVersion: 1 }],\n\t\t]),\n\t],\n\t[\n\t\tModularChangeFormatVersion.v4,\n\t\tnew Map<FieldKindIdentifier, FieldKindConfigurationEntry>([\n\t\t\t[required.identifier, { kind: required, formatVersion: 2 }],\n\t\t\t[optional.identifier, { kind: optional, formatVersion: 2 }],\n\t\t\t[sequence.identifier, { kind: sequence, formatVersion: 3 }],\n\t\t\t[forbidden.identifier, { kind: forbidden, formatVersion: 1 }],\n\t\t\t[identifier.identifier, { kind: identifier, formatVersion: 1 }],\n\t\t]),\n\t],\n\t[\n\t\tModularChangeFormatVersion.v5,\n\t\tnew Map<FieldKindIdentifier, FieldKindConfigurationEntry>([\n\t\t\t[required.identifier, { kind: required, formatVersion: 2 }],\n\t\t\t[optional.identifier, { kind: optional, formatVersion: 2 }],\n\t\t\t[sequence.identifier, { kind: sequence, formatVersion: 3 }],\n\t\t\t[forbidden.identifier, { kind: forbidden, formatVersion: 1 }],\n\t\t\t[identifier.identifier, { kind: identifier, formatVersion: 1 }],\n\t\t]),\n\t],\n]);\n\nexport function getCodecTreeForModularChangeFormat(\n\tversion: ModularChangeFormatVersion,\n): CodecTree {\n\tconst dependencies =\n\t\tfieldKindConfigurations.get(version) ?? fail(0xc7c /* Unknown modular change format */);\n\tconst children: CodecTree[] = [...dependencies.entries()].map(\n\t\t([key, { formatVersion }]) => ({\n\t\t\tname: `FieldKind:${key}`,\n\t\t\tversion: formatVersion,\n\t\t}),\n\t);\n\treturn {\n\t\tname: \"ModularChange\",\n\t\tversion,\n\t\tchildren,\n\t};\n}\n\n/**\n * All supported field kinds.\n *\n * @privateRemarks\n * Before making a SharedTree format change which impacts which set of field kinds are allowed,\n * code which uses this should be audited for compatibility considerations.\n */\nexport const fieldKinds: ReadonlyMap<FieldKindIdentifier, FlexFieldKind> = new Map(\n\t[required, optional, sequence, identifier, forbidden].map((s) => [s.identifier, s]),\n);\n\n// Create named Aliases for nicer intellisense.\n\n// TODO: Find a way to make docs like {@inheritDoc required} work in vscode.\n// TODO: ensure thy work in generated docs.\n// TODO: add these comments to the rest of the cases below.\nexport interface Identifier\n\textends FlexFieldKind<\n\t\tFieldEditor<0>,\n\t\ttypeof identifierFieldIdentifier,\n\t\tMultiplicity.Single\n\t> {}\nexport interface Forbidden\n\textends FlexFieldKind<\n\t\tFieldEditor<0>,\n\t\ttypeof forbiddenFieldKindIdentifier,\n\t\tMultiplicity.Forbidden\n\t> {}\n\n/**\n * Default FieldKinds with their editor types erased.\n */\nexport const FieldKinds: {\n\t// TODO: inheritDoc for these somehow\n\treadonly required: typeof required;\n\treadonly optional: typeof optional;\n\treadonly sequence: typeof sequence;\n\treadonly identifier: Identifier;\n\treadonly forbidden: Forbidden;\n} = { required, optional, sequence, identifier, forbidden };\n\n/**\n * FullSchemaPolicy with the default field kinds.\n */\nexport const defaultSchemaPolicy: FullSchemaPolicy = {\n\tfieldKinds,\n};\n"]}
@@ -3,8 +3,8 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
  import type { ICodecFamily, JsonCodecPart } from "../../codec/index.js";
6
- import type { ChangeEncodingContext, DeltaDetachedNodeChanges, DeltaDetachedNodeId, DeltaDetachedNodeRename, DeltaFieldChanges, DeltaFieldMap, RevisionMetadataSource, RevisionReplacer, RevisionTag, RevisionTagSchema } from "../../core/index.js";
7
- import type { IdAllocator, Invariant } from "../../util/index.js";
6
+ import type { ChangeAtomId, ChangeEncodingContext, DeltaDetachedNodeChanges, DeltaDetachedNodeId, DeltaDetachedNodeRename, DeltaFieldChanges, DeltaFieldMap, RevisionMetadataSource, RevisionReplacer, RevisionTag, RevisionTagSchema } from "../../core/index.js";
7
+ import type { IdAllocator, Invariant, RangeQueryResult } from "../../util/index.js";
8
8
  import type { CrossFieldManager } from "./crossFieldQueries.js";
9
9
  import type { EncodedNodeChangeset } from "./modularChangeFormatV1.js";
10
10
  import type { CrossFieldKeyRange, NodeId } from "./modularChangeTypes.js";
@@ -108,10 +108,42 @@ export interface FieldChangeRebaser<TChangeset> {
108
108
  prune(change: TChangeset, pruneChild: NodeChangePruner): TChangeset;
109
109
  replaceRevisions(change: TChangeset, replacer: RevisionReplacer): TChangeset;
110
110
  /**
111
- * Returns a copy of the given changeset with the same declarations (e.g., new cells) but no actual changes.
112
- * This is a kludge. TODO: remove once AB#46104 is completed.
111
+ * Returns a copy of the given changeset with edits removed as specified.
112
+ * @param change - The change to filter edits from
113
+ * @param filterDetach - This should be called for each range of detaches in the changeset,
114
+ * and the detach should be preserved, removed, or converted to a non-move detach as specified.
115
+ * If the returned result does not cover the entire detach range, the remainder should be queried again.
116
+ * @param filterDetach - This should be called for each range of attaches in the changeset,
117
+ * and the attach should be preserved, removed, or converted to a non-move attach as specified.
118
+ * If the returned result does not cover the entire detach range, the remainder should be queried again.
119
+ * @param preserveOtherEdits - Whether edits other than attaches and detaches (e.g. root renames),
120
+ * should be preserved or removed.
113
121
  */
114
- mute(change: TChangeset): TChangeset;
122
+ filterEdits(change: TChangeset, options: {
123
+ filterDetach: EditFilterFunc;
124
+ filterAttach: EditFilterFunc;
125
+ preserveOtherEdits: boolean;
126
+ }): TChangeset;
127
+ }
128
+ export type EditFilterFunc = (id: ChangeAtomId, count: number, endpoint?: ChangeAtomId) => RangeQueryResult<EditFilterStatus>;
129
+ /**
130
+ * Used to describe what should be done with a particular attach or detach during `filterEdits`.
131
+ */
132
+ export declare enum EditFilterStatus {
133
+ /**
134
+ * The edit should be removed from the filtered changeset.
135
+ */
136
+ Remove = 0,
137
+ /**
138
+ * The edit should be preserved in the filtered changeset.
139
+ */
140
+ Preserve = 1,
141
+ /**
142
+ * This should only be used for an attach or detach which is part of a move.
143
+ * The edit should be preserved, but should be adjusted, if necessary,
144
+ * to reflect that the other endpoint of the move has been filtered out.
145
+ */
146
+ PreserveWithoutMove = 2
115
147
  }
116
148
  /**
117
149
  * Helper for creating a {@link FieldChangeRebaser} which does not need access to revision tags.
@@ -121,13 +153,13 @@ export declare function referenceFreeFieldChangeRebaser<TChangeset>(data: {
121
153
  compose: (change1: TChangeset, change2: TChangeset) => TChangeset;
122
154
  invert: (change: TChangeset) => TChangeset;
123
155
  rebase: (change: TChangeset, over: TChangeset) => TChangeset;
124
- mute: (change: TChangeset) => TChangeset;
156
+ filterEdits: FieldChangeRebaser<TChangeset>["filterEdits"];
125
157
  }): FieldChangeRebaser<TChangeset>;
126
158
  export declare function isolatedFieldChangeRebaser<TChangeset>(data: {
127
159
  compose: FieldChangeRebaser<TChangeset>["compose"];
128
160
  invert: FieldChangeRebaser<TChangeset>["invert"];
129
161
  rebase: FieldChangeRebaser<TChangeset>["rebase"];
130
- mute: FieldChangeRebaser<TChangeset>["mute"];
162
+ filterEdits: FieldChangeRebaser<TChangeset>["filterEdits"];
131
163
  }): FieldChangeRebaser<TChangeset>;
132
164
  export interface FieldEditor<TChangeset> {
133
165
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"fieldChangeHandler.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/fieldChangeHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fieldChangeHandler.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/fieldChangeHandler.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,27 @@
4
4
  * Licensed under the MIT License.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.NodeAttachState = exports.isolatedFieldChangeRebaser = exports.referenceFreeFieldChangeRebaser = void 0;
7
+ exports.NodeAttachState = exports.isolatedFieldChangeRebaser = exports.referenceFreeFieldChangeRebaser = exports.EditFilterStatus = void 0;
8
+ /**
9
+ * Used to describe what should be done with a particular attach or detach during `filterEdits`.
10
+ */
11
+ var EditFilterStatus;
12
+ (function (EditFilterStatus) {
13
+ /**
14
+ * The edit should be removed from the filtered changeset.
15
+ */
16
+ EditFilterStatus[EditFilterStatus["Remove"] = 0] = "Remove";
17
+ /**
18
+ * The edit should be preserved in the filtered changeset.
19
+ */
20
+ EditFilterStatus[EditFilterStatus["Preserve"] = 1] = "Preserve";
21
+ /**
22
+ * This should only be used for an attach or detach which is part of a move.
23
+ * The edit should be preserved, but should be adjusted, if necessary,
24
+ * to reflect that the other endpoint of the move has been filtered out.
25
+ */
26
+ EditFilterStatus[EditFilterStatus["PreserveWithoutMove"] = 2] = "PreserveWithoutMove";
27
+ })(EditFilterStatus || (exports.EditFilterStatus = EditFilterStatus = {}));
8
28
  /**
9
29
  * Helper for creating a {@link FieldChangeRebaser} which does not need access to revision tags.
10
30
  * This should only be used for fields where the child nodes cannot be edited.
@@ -14,7 +34,7 @@ function referenceFreeFieldChangeRebaser(data) {
14
34
  compose: (change1, change2, _composeChild, _genId) => data.compose(change1, change2),
15
35
  invert: (change, _invertChild, _genId) => data.invert(change),
16
36
  rebase: (change, over, _rebaseChild, _genId) => data.rebase(change, over),
17
- mute: (change) => data.mute(change),
37
+ filterEdits: (change, options) => data.filterEdits(change, options),
18
38
  });
19
39
  }
20
40
  exports.referenceFreeFieldChangeRebaser = referenceFreeFieldChangeRebaser;
@@ -1 +1 @@
1
- {"version":3,"file":"fieldChangeHandler.js","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/fieldChangeHandler.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA4KH;;;GAGG;AACH,SAAgB,+BAA+B,CAAa,IAK3D;IACA,OAAO,0BAA0B,CAAC;QACjC,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;QACpF,MAAM,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC7D,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;QACzE,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;KACnC,CAAC,CAAC;AACJ,CAAC;AAZD,0EAYC;AAED,SAAgB,0BAA0B,CAAa,IAKtD;IACA,OAAO;QACN,GAAG,IAAI;QACP,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM;QACzB,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM;KACpC,CAAC;AACH,CAAC;AAXD,gEAWC;AAqBD,IAAY,eAGX;AAHD,WAAY,eAAe;IAC1B,6DAAQ,CAAA;IACR,6DAAQ,CAAA;AACT,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { ICodecFamily, JsonCodecPart } from \"../../codec/index.js\";\nimport type {\n\tChangeEncodingContext,\n\tDeltaDetachedNodeChanges,\n\tDeltaDetachedNodeId,\n\tDeltaDetachedNodeRename,\n\tDeltaFieldChanges,\n\tDeltaFieldMap,\n\tRevisionMetadataSource,\n\tRevisionReplacer,\n\tRevisionTag,\n\tRevisionTagSchema,\n} from \"../../core/index.js\";\nimport type { IdAllocator, Invariant } from \"../../util/index.js\";\n\nimport type { CrossFieldManager } from \"./crossFieldQueries.js\";\nimport type { EncodedNodeChangeset } from \"./modularChangeFormatV1.js\";\nimport type { CrossFieldKeyRange, NodeId } from \"./modularChangeTypes.js\";\n\nexport type NestedChangesIndices = [\n\tNodeId,\n\tnumber | undefined /* inputIndex */,\n\tnumber | undefined /* outputIndex */,\n][];\n\n/**\n * The return value of calling {@link FieldChangeHandler.intoDelta}.\n */\nexport interface FieldChangeDelta {\n\t/**\n\t * {@inheritdoc DeltaFieldChanges}\n\t */\n\treadonly local?: DeltaFieldChanges;\n\t/**\n\t * {@inheritdoc DeltaRoot.global}\n\t */\n\treadonly global?: readonly DeltaDetachedNodeChanges[];\n\t/**\n\t * {@inheritdoc DeltaRoot.rename}\n\t */\n\treadonly rename?: readonly DeltaDetachedNodeRename[];\n}\n\n/**\n * Functionality provided by a field kind which will be composed with other `FieldChangeHandler`s to\n * implement a unified ChangeFamily supporting documents with multiple field kinds.\n */\nexport interface FieldChangeHandler<\n\tTChangeset,\n\tTEditor extends FieldEditor<TChangeset> = FieldEditor<TChangeset>,\n> {\n\t_typeCheck?: Invariant<TChangeset>;\n\treadonly rebaser: FieldChangeRebaser<TChangeset>;\n\treadonly codecsFactory: (\n\t\trevisionTagCodec: JsonCodecPart<\n\t\t\tRevisionTag,\n\t\t\ttypeof RevisionTagSchema,\n\t\t\tChangeEncodingContext\n\t\t>,\n\t) => ICodecFamily<TChangeset, FieldChangeEncodingContext>;\n\treadonly editor: TEditor;\n\tintoDelta(change: TChangeset, deltaFromChild: ToDelta): FieldChangeDelta;\n\t/**\n\t * Returns the set of removed roots that should be in memory for the given change to be applied.\n\t * A removed root is relevant if any of the following is true:\n\t * - It is being inserted\n\t * - It is being restored\n\t * - It is being edited\n\t * - The ID it is associated with is being changed\n\t *\n\t * Implementations are allowed to be conservative by returning more removed roots than strictly necessary\n\t * (though they should, for the sake of performance, try to avoid doing so).\n\t *\n\t * Implementations are not allowed to return IDs for non-root trees, even if they are removed.\n\t *\n\t * @param change - The change to be applied.\n\t * @param relevantRemovedRootsFromChild - Delegate for collecting relevant removed roots from child changes.\n\t */\n\treadonly relevantRemovedRoots: (\n\t\tchange: TChangeset,\n\t\trelevantRemovedRootsFromChild: RelevantRemovedRootsFromChild,\n\t) => Iterable<DeltaDetachedNodeId>;\n\n\t/**\n\t * Returns whether this change is empty, meaning that it represents no modifications to the field\n\t * and could be removed from the ModularChangeset tree without changing its behavior.\n\t */\n\tisEmpty(change: TChangeset): boolean;\n\n\t/**\n\t * @param change - The field change to get the child changes from.\n\t *\n\t * @returns The set of `NodeId`s that correspond to nested changes in the given `change`.\n\t * Each `NodeId` is associated with the following:\n\t * - index of the node in the field in the input context of the changeset (or `undefined` if the node is not\n\t * attached in the input context).\n\t * - index of the node in the field in the output context of the changeset (or `undefined` if the node is not\n\t * attached in the output context).\n\t * For all returned entries where the index is defined,\n\t * the indices are are ordered from smallest to largest (with no duplicates).\n\t * The returned array is owned by the caller.\n\t */\n\tgetNestedChanges(change: TChangeset): NestedChangesIndices;\n\n\t/**\n\t * @returns A list of all cross-field keys contained in the change.\n\t * This should not include cross-field keys in descendant fields.\n\t */\n\tgetCrossFieldKeys(change: TChangeset): CrossFieldKeyRange[];\n\n\tcreateEmpty(): TChangeset;\n}\n\nexport interface FieldChangeRebaser<TChangeset> {\n\t/**\n\t * Compose a collection of changesets into a single one.\n\t * For each node which has a change in both changesets, `composeChild` must be called\n\t * and the result used as the composite node change.\n\t * Calling `composeChild` when one of the changesets has no node change is unnecessary but tolerated.\n\t * See `ChangeRebaser` for more details.\n\t */\n\tcompose(\n\t\tchange1: TChangeset,\n\t\tchange2: TChangeset,\n\t\tcomposeChild: NodeChangeComposer,\n\t\tgenId: IdAllocator,\n\t\tcrossFieldManager: CrossFieldManager,\n\t\trevisionMetadata: RevisionMetadataSource,\n\t): TChangeset;\n\n\t/**\n\t * @returns the inverse of `changes`.\n\t * See `ChangeRebaser` for details.\n\t */\n\tinvert(\n\t\tchange: TChangeset,\n\t\tisRollback: boolean,\n\t\tgenId: IdAllocator,\n\t\trevision: RevisionTag | undefined,\n\t\tcrossFieldManager: CrossFieldManager,\n\t\trevisionMetadata: RevisionMetadataSource,\n\t): TChangeset;\n\n\t/**\n\t * Rebase `change` over `over`.\n\t * See `ChangeRebaser` for details.\n\t */\n\trebase(\n\t\tchange: TChangeset,\n\t\tover: TChangeset,\n\t\trebaseChild: NodeChangeRebaser,\n\t\tgenId: IdAllocator,\n\t\tcrossFieldManager: CrossFieldManager,\n\t\trevisionMetadata: RebaseRevisionMetadata,\n\t): TChangeset;\n\n\t/**\n\t * @returns `change` with any empty child node changesets removed.\n\t */\n\tprune(change: TChangeset, pruneChild: NodeChangePruner): TChangeset;\n\n\treplaceRevisions(change: TChangeset, replacer: RevisionReplacer): TChangeset;\n\n\t/**\n\t * Returns a copy of the given changeset with the same declarations (e.g., new cells) but no actual changes.\n\t * This is a kludge. TODO: remove once AB#46104 is completed.\n\t */\n\tmute(change: TChangeset): TChangeset;\n}\n\n/**\n * Helper for creating a {@link FieldChangeRebaser} which does not need access to revision tags.\n * This should only be used for fields where the child nodes cannot be edited.\n */\nexport function referenceFreeFieldChangeRebaser<TChangeset>(data: {\n\tcompose: (change1: TChangeset, change2: TChangeset) => TChangeset;\n\tinvert: (change: TChangeset) => TChangeset;\n\trebase: (change: TChangeset, over: TChangeset) => TChangeset;\n\tmute: (change: TChangeset) => TChangeset;\n}): FieldChangeRebaser<TChangeset> {\n\treturn isolatedFieldChangeRebaser({\n\t\tcompose: (change1, change2, _composeChild, _genId) => data.compose(change1, change2),\n\t\tinvert: (change, _invertChild, _genId) => data.invert(change),\n\t\trebase: (change, over, _rebaseChild, _genId) => data.rebase(change, over),\n\t\tmute: (change) => data.mute(change),\n\t});\n}\n\nexport function isolatedFieldChangeRebaser<TChangeset>(data: {\n\tcompose: FieldChangeRebaser<TChangeset>[\"compose\"];\n\tinvert: FieldChangeRebaser<TChangeset>[\"invert\"];\n\trebase: FieldChangeRebaser<TChangeset>[\"rebase\"];\n\tmute: FieldChangeRebaser<TChangeset>[\"mute\"];\n}): FieldChangeRebaser<TChangeset> {\n\treturn {\n\t\t...data,\n\t\tprune: (change) => change,\n\t\treplaceRevisions: (change) => change,\n\t};\n}\n\nexport interface FieldEditor<TChangeset> {\n\t/**\n\t * Creates a changeset which represents the given changes to the children of this editor's field.\n\t * For each element in the given iterable\n\t * - The number represents the index of the child node in the field.\n\t * - The `NodeId` represents the nested changes for that child node.\n\t * Note: The indices in the iterable must be ordered from smallest to largest (with no duplicates).\n\t */\n\tbuildChildChanges(changes: Iterable<[index: number, change: NodeId]>): TChangeset;\n}\n\n/**\n * The `index` represents the index of the child node in the input context.\n * The `index` should be `undefined` iff the child node does not exist in the input context (e.g., an inserted node).\n */\nexport type ToDelta = (child: NodeId) => DeltaFieldMap;\n\nexport type NodeChangeInverter = (change: NodeId) => NodeId;\n\nexport enum NodeAttachState {\n\tAttached,\n\tDetached,\n}\n\nexport type NodeChangeRebaser = (\n\tchange: NodeId | undefined,\n\tbaseChange: NodeId | undefined,\n\t/**\n\t * Whether the node is attached to this field in the output context of the base change.\n\t * Defaults to attached if undefined.\n\t */\n\tstate?: NodeAttachState,\n) => NodeId | undefined;\n\nexport type NodeChangeComposer = (\n\tchange1: NodeId | undefined,\n\tchange2: NodeId | undefined,\n) => NodeId;\n\nexport type NodeChangePruner = (change: NodeId) => NodeId | undefined;\n\n/**\n * A function that returns the set of removed roots that should be in memory for a given node changeset to be applied.\n */\nexport type RelevantRemovedRootsFromChild = (child: NodeId) => Iterable<DeltaDetachedNodeId>;\n\nexport interface RebaseRevisionMetadata extends RevisionMetadataSource {\n\treadonly getRevisionToRebase: () => RevisionTag | undefined;\n\treadonly getBaseRevisions: () => RevisionTag[];\n}\n\nexport interface FieldChangeEncodingContext {\n\treadonly baseContext: ChangeEncodingContext;\n\tencodeNode(nodeId: NodeId): EncodedNodeChangeset;\n\tdecodeNode(encodedNode: EncodedNodeChangeset): NodeId;\n}\n"]}
1
+ {"version":3,"file":"fieldChangeHandler.js","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/fieldChangeHandler.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAkMH;;GAEG;AACH,IAAY,gBAiBX;AAjBD,WAAY,gBAAgB;IAC3B;;OAEG;IACH,2DAAM,CAAA;IAEN;;OAEG;IACH,+DAAQ,CAAA;IAER;;;;OAIG;IACH,qFAAmB,CAAA;AACpB,CAAC,EAjBW,gBAAgB,gCAAhB,gBAAgB,QAiB3B;AAED;;;GAGG;AACH,SAAgB,+BAA+B,CAAa,IAK3D;IACA,OAAO,0BAA0B,CAAC;QACjC,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;QACpF,MAAM,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC7D,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;QACzE,WAAW,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC;KACnE,CAAC,CAAC;AACJ,CAAC;AAZD,0EAYC;AAED,SAAgB,0BAA0B,CAAa,IAKtD;IACA,OAAO;QACN,GAAG,IAAI;QACP,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM;QACzB,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM;KACpC,CAAC;AACH,CAAC;AAXD,gEAWC;AAqBD,IAAY,eAGX;AAHD,WAAY,eAAe;IAC1B,6DAAQ,CAAA;IACR,6DAAQ,CAAA;AACT,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { ICodecFamily, JsonCodecPart } from \"../../codec/index.js\";\nimport type {\n\tChangeAtomId,\n\tChangeEncodingContext,\n\tDeltaDetachedNodeChanges,\n\tDeltaDetachedNodeId,\n\tDeltaDetachedNodeRename,\n\tDeltaFieldChanges,\n\tDeltaFieldMap,\n\tRevisionMetadataSource,\n\tRevisionReplacer,\n\tRevisionTag,\n\tRevisionTagSchema,\n} from \"../../core/index.js\";\nimport type { IdAllocator, Invariant, RangeQueryResult } from \"../../util/index.js\";\n\nimport type { CrossFieldManager } from \"./crossFieldQueries.js\";\nimport type { EncodedNodeChangeset } from \"./modularChangeFormatV1.js\";\nimport type { CrossFieldKeyRange, NodeId } from \"./modularChangeTypes.js\";\n\nexport type NestedChangesIndices = [\n\tNodeId,\n\tnumber | undefined /* inputIndex */,\n\tnumber | undefined /* outputIndex */,\n][];\n\n/**\n * The return value of calling {@link FieldChangeHandler.intoDelta}.\n */\nexport interface FieldChangeDelta {\n\t/**\n\t * {@inheritdoc DeltaFieldChanges}\n\t */\n\treadonly local?: DeltaFieldChanges;\n\t/**\n\t * {@inheritdoc DeltaRoot.global}\n\t */\n\treadonly global?: readonly DeltaDetachedNodeChanges[];\n\t/**\n\t * {@inheritdoc DeltaRoot.rename}\n\t */\n\treadonly rename?: readonly DeltaDetachedNodeRename[];\n}\n\n/**\n * Functionality provided by a field kind which will be composed with other `FieldChangeHandler`s to\n * implement a unified ChangeFamily supporting documents with multiple field kinds.\n */\nexport interface FieldChangeHandler<\n\tTChangeset,\n\tTEditor extends FieldEditor<TChangeset> = FieldEditor<TChangeset>,\n> {\n\t_typeCheck?: Invariant<TChangeset>;\n\treadonly rebaser: FieldChangeRebaser<TChangeset>;\n\treadonly codecsFactory: (\n\t\trevisionTagCodec: JsonCodecPart<\n\t\t\tRevisionTag,\n\t\t\ttypeof RevisionTagSchema,\n\t\t\tChangeEncodingContext\n\t\t>,\n\t) => ICodecFamily<TChangeset, FieldChangeEncodingContext>;\n\treadonly editor: TEditor;\n\tintoDelta(change: TChangeset, deltaFromChild: ToDelta): FieldChangeDelta;\n\t/**\n\t * Returns the set of removed roots that should be in memory for the given change to be applied.\n\t * A removed root is relevant if any of the following is true:\n\t * - It is being inserted\n\t * - It is being restored\n\t * - It is being edited\n\t * - The ID it is associated with is being changed\n\t *\n\t * Implementations are allowed to be conservative by returning more removed roots than strictly necessary\n\t * (though they should, for the sake of performance, try to avoid doing so).\n\t *\n\t * Implementations are not allowed to return IDs for non-root trees, even if they are removed.\n\t *\n\t * @param change - The change to be applied.\n\t * @param relevantRemovedRootsFromChild - Delegate for collecting relevant removed roots from child changes.\n\t */\n\treadonly relevantRemovedRoots: (\n\t\tchange: TChangeset,\n\t\trelevantRemovedRootsFromChild: RelevantRemovedRootsFromChild,\n\t) => Iterable<DeltaDetachedNodeId>;\n\n\t/**\n\t * Returns whether this change is empty, meaning that it represents no modifications to the field\n\t * and could be removed from the ModularChangeset tree without changing its behavior.\n\t */\n\tisEmpty(change: TChangeset): boolean;\n\n\t/**\n\t * @param change - The field change to get the child changes from.\n\t *\n\t * @returns The set of `NodeId`s that correspond to nested changes in the given `change`.\n\t * Each `NodeId` is associated with the following:\n\t * - index of the node in the field in the input context of the changeset (or `undefined` if the node is not\n\t * attached in the input context).\n\t * - index of the node in the field in the output context of the changeset (or `undefined` if the node is not\n\t * attached in the output context).\n\t * For all returned entries where the index is defined,\n\t * the indices are are ordered from smallest to largest (with no duplicates).\n\t * The returned array is owned by the caller.\n\t */\n\tgetNestedChanges(change: TChangeset): NestedChangesIndices;\n\n\t/**\n\t * @returns A list of all cross-field keys contained in the change.\n\t * This should not include cross-field keys in descendant fields.\n\t */\n\tgetCrossFieldKeys(change: TChangeset): CrossFieldKeyRange[];\n\n\tcreateEmpty(): TChangeset;\n}\n\nexport interface FieldChangeRebaser<TChangeset> {\n\t/**\n\t * Compose a collection of changesets into a single one.\n\t * For each node which has a change in both changesets, `composeChild` must be called\n\t * and the result used as the composite node change.\n\t * Calling `composeChild` when one of the changesets has no node change is unnecessary but tolerated.\n\t * See `ChangeRebaser` for more details.\n\t */\n\tcompose(\n\t\tchange1: TChangeset,\n\t\tchange2: TChangeset,\n\t\tcomposeChild: NodeChangeComposer,\n\t\tgenId: IdAllocator,\n\t\tcrossFieldManager: CrossFieldManager,\n\t\trevisionMetadata: RevisionMetadataSource,\n\t): TChangeset;\n\n\t/**\n\t * @returns the inverse of `changes`.\n\t * See `ChangeRebaser` for details.\n\t */\n\tinvert(\n\t\tchange: TChangeset,\n\t\tisRollback: boolean,\n\t\tgenId: IdAllocator,\n\t\trevision: RevisionTag | undefined,\n\t\tcrossFieldManager: CrossFieldManager,\n\t\trevisionMetadata: RevisionMetadataSource,\n\t): TChangeset;\n\n\t/**\n\t * Rebase `change` over `over`.\n\t * See `ChangeRebaser` for details.\n\t */\n\trebase(\n\t\tchange: TChangeset,\n\t\tover: TChangeset,\n\t\trebaseChild: NodeChangeRebaser,\n\t\tgenId: IdAllocator,\n\t\tcrossFieldManager: CrossFieldManager,\n\t\trevisionMetadata: RebaseRevisionMetadata,\n\t): TChangeset;\n\n\t/**\n\t * @returns `change` with any empty child node changesets removed.\n\t */\n\tprune(change: TChangeset, pruneChild: NodeChangePruner): TChangeset;\n\n\treplaceRevisions(change: TChangeset, replacer: RevisionReplacer): TChangeset;\n\n\t/**\n\t * Returns a copy of the given changeset with edits removed as specified.\n\t * @param change - The change to filter edits from\n\t * @param filterDetach - This should be called for each range of detaches in the changeset,\n\t * and the detach should be preserved, removed, or converted to a non-move detach as specified.\n\t * If the returned result does not cover the entire detach range, the remainder should be queried again.\n\t * @param filterDetach - This should be called for each range of attaches in the changeset,\n\t * and the attach should be preserved, removed, or converted to a non-move attach as specified.\n\t * If the returned result does not cover the entire detach range, the remainder should be queried again.\n\t * @param preserveOtherEdits - Whether edits other than attaches and detaches (e.g. root renames),\n\t * should be preserved or removed.\n\t */\n\tfilterEdits(\n\t\tchange: TChangeset,\n\t\toptions: {\n\t\t\tfilterDetach: EditFilterFunc;\n\t\t\tfilterAttach: EditFilterFunc;\n\t\t\tpreserveOtherEdits: boolean;\n\t\t},\n\t): TChangeset;\n}\n\nexport type EditFilterFunc = (\n\tid: ChangeAtomId,\n\tcount: number,\n\tendpoint?: ChangeAtomId,\n) => RangeQueryResult<EditFilterStatus>;\n\n/**\n * Used to describe what should be done with a particular attach or detach during `filterEdits`.\n */\nexport enum EditFilterStatus {\n\t/**\n\t * The edit should be removed from the filtered changeset.\n\t */\n\tRemove,\n\n\t/**\n\t * The edit should be preserved in the filtered changeset.\n\t */\n\tPreserve,\n\n\t/**\n\t * This should only be used for an attach or detach which is part of a move.\n\t * The edit should be preserved, but should be adjusted, if necessary,\n\t * to reflect that the other endpoint of the move has been filtered out.\n\t */\n\tPreserveWithoutMove,\n}\n\n/**\n * Helper for creating a {@link FieldChangeRebaser} which does not need access to revision tags.\n * This should only be used for fields where the child nodes cannot be edited.\n */\nexport function referenceFreeFieldChangeRebaser<TChangeset>(data: {\n\tcompose: (change1: TChangeset, change2: TChangeset) => TChangeset;\n\tinvert: (change: TChangeset) => TChangeset;\n\trebase: (change: TChangeset, over: TChangeset) => TChangeset;\n\tfilterEdits: FieldChangeRebaser<TChangeset>[\"filterEdits\"];\n}): FieldChangeRebaser<TChangeset> {\n\treturn isolatedFieldChangeRebaser({\n\t\tcompose: (change1, change2, _composeChild, _genId) => data.compose(change1, change2),\n\t\tinvert: (change, _invertChild, _genId) => data.invert(change),\n\t\trebase: (change, over, _rebaseChild, _genId) => data.rebase(change, over),\n\t\tfilterEdits: (change, options) => data.filterEdits(change, options),\n\t});\n}\n\nexport function isolatedFieldChangeRebaser<TChangeset>(data: {\n\tcompose: FieldChangeRebaser<TChangeset>[\"compose\"];\n\tinvert: FieldChangeRebaser<TChangeset>[\"invert\"];\n\trebase: FieldChangeRebaser<TChangeset>[\"rebase\"];\n\tfilterEdits: FieldChangeRebaser<TChangeset>[\"filterEdits\"];\n}): FieldChangeRebaser<TChangeset> {\n\treturn {\n\t\t...data,\n\t\tprune: (change) => change,\n\t\treplaceRevisions: (change) => change,\n\t};\n}\n\nexport interface FieldEditor<TChangeset> {\n\t/**\n\t * Creates a changeset which represents the given changes to the children of this editor's field.\n\t * For each element in the given iterable\n\t * - The number represents the index of the child node in the field.\n\t * - The `NodeId` represents the nested changes for that child node.\n\t * Note: The indices in the iterable must be ordered from smallest to largest (with no duplicates).\n\t */\n\tbuildChildChanges(changes: Iterable<[index: number, change: NodeId]>): TChangeset;\n}\n\n/**\n * The `index` represents the index of the child node in the input context.\n * The `index` should be `undefined` iff the child node does not exist in the input context (e.g., an inserted node).\n */\nexport type ToDelta = (child: NodeId) => DeltaFieldMap;\n\nexport type NodeChangeInverter = (change: NodeId) => NodeId;\n\nexport enum NodeAttachState {\n\tAttached,\n\tDetached,\n}\n\nexport type NodeChangeRebaser = (\n\tchange: NodeId | undefined,\n\tbaseChange: NodeId | undefined,\n\t/**\n\t * Whether the node is attached to this field in the output context of the base change.\n\t * Defaults to attached if undefined.\n\t */\n\tstate?: NodeAttachState,\n) => NodeId | undefined;\n\nexport type NodeChangeComposer = (\n\tchange1: NodeId | undefined,\n\tchange2: NodeId | undefined,\n) => NodeId;\n\nexport type NodeChangePruner = (change: NodeId) => NodeId | undefined;\n\n/**\n * A function that returns the set of removed roots that should be in memory for a given node changeset to be applied.\n */\nexport type RelevantRemovedRootsFromChild = (child: NodeId) => Iterable<DeltaDetachedNodeId>;\n\nexport interface RebaseRevisionMetadata extends RevisionMetadataSource {\n\treadonly getRevisionToRebase: () => RevisionTag | undefined;\n\treadonly getBaseRevisions: () => RevisionTag[];\n}\n\nexport interface FieldChangeEncodingContext {\n\treadonly baseContext: ChangeEncodingContext;\n\tencodeNode(nodeId: NodeId): EncodedNodeChangeset;\n\tdecodeNode(encodedNode: EncodedNodeChangeset): NodeId;\n}\n"]}
@@ -22,7 +22,7 @@ exports.genericChangeHandler = {
22
22
  rebase: rebaseGenericChange,
23
23
  prune: pruneGenericChange,
24
24
  replaceRevisions,
25
- mute: (change) => change,
25
+ filterEdits: (change) => change,
26
26
  },
27
27
  codecsFactory: genericFieldKindCodecs_js_1.makeGenericChangeCodec,
28
28
  editor: {
@@ -1 +1 @@
1
- {"version":3,"file":"genericFieldKind.js","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/genericFieldKind.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { assert } from \"@fluidframework/core-utils/internal\";\nimport { BTree } from \"@tylerbu/sorted-btree-es6\";\n\nimport {\n\ttype DeltaDetachedNodeId,\n\ttype DeltaMark,\n\ttype FieldKindIdentifier,\n\tMultiplicity,\n\ttype RevisionReplacer,\n} from \"../../core/index.js\";\nimport { brandConst } from \"../../util/index.js\";\n\nimport type {\n\tFieldChangeDelta,\n\tFieldChangeHandler,\n\tNestedChangesIndices,\n\tNodeChangeComposer,\n\tNodeChangePruner,\n\tNodeChangeRebaser,\n\tRelevantRemovedRootsFromChild,\n\tToDelta,\n} from \"./fieldChangeHandler.js\";\nimport { FlexFieldKind } from \"./fieldKind.js\";\nimport { makeGenericChangeCodec } from \"./genericFieldKindCodecs.js\";\nimport { newGenericChangeset, type GenericChangeset } from \"./genericFieldKindTypes.js\";\nimport type { NodeId } from \"./modularChangeTypes.js\";\n\n/**\n * {@link FieldChangeHandler} implementation for {@link GenericChangeset}.\n */\nexport const genericChangeHandler: FieldChangeHandler<GenericChangeset> = {\n\trebaser: {\n\t\tcompose,\n\t\tinvert: (change: GenericChangeset): GenericChangeset => change,\n\t\trebase: rebaseGenericChange,\n\t\tprune: pruneGenericChange,\n\t\treplaceRevisions,\n\t\tmute: (change: GenericChangeset): GenericChangeset => change,\n\t},\n\tcodecsFactory: makeGenericChangeCodec,\n\teditor: {\n\t\tbuildChildChanges(changes: Iterable<[number, NodeId]>): GenericChangeset {\n\t\t\treturn newGenericChangeset([...changes]);\n\t\t},\n\t},\n\tintoDelta: (change: GenericChangeset, deltaFromChild: ToDelta): FieldChangeDelta => {\n\t\tlet nodeIndex = 0;\n\t\tconst markList: DeltaMark[] = [];\n\t\tfor (const [index, nodeChange] of change.entries()) {\n\t\t\tif (nodeIndex < index) {\n\t\t\t\tconst offset = index - nodeIndex;\n\t\t\t\tmarkList.push({ count: offset });\n\t\t\t\tnodeIndex = index;\n\t\t\t}\n\t\t\tmarkList.push({ count: 1, fields: deltaFromChild(nodeChange) });\n\t\t\tnodeIndex += 1;\n\t\t}\n\t\treturn { local: { marks: markList } };\n\t},\n\trelevantRemovedRoots,\n\tisEmpty: (change: GenericChangeset): boolean => change.length === 0,\n\tgetNestedChanges,\n\tcreateEmpty: newGenericChangeset,\n\tgetCrossFieldKeys: (_change) => [],\n};\n\nfunction compose(\n\tchange1: GenericChangeset,\n\tchange2: GenericChangeset,\n\tcomposeChildren: NodeChangeComposer,\n): GenericChangeset {\n\tconst composed = change1.clone();\n\tfor (const [index, id2] of change2.entries()) {\n\t\tconst id1 = composed.get(index);\n\t\tconst idComposed = id1 === undefined ? id2 : composeChildren(id1, id2);\n\t\tcomposed.set(index, idComposed);\n\t}\n\n\treturn composed;\n}\n\nfunction getNestedChanges(change: GenericChangeset): NestedChangesIndices {\n\t// For generic changeset, the indices in the input and output contexts are the same.\n\treturn change.toArray().map(([index, nodeChange]) => [nodeChange, index, index]);\n}\n\nfunction rebaseGenericChange(\n\tchange: GenericChangeset,\n\tover: GenericChangeset,\n\trebaseChild: NodeChangeRebaser,\n): GenericChangeset {\n\tconst rebased: GenericChangeset = new BTree();\n\tlet nextIndex = 0;\n\n\twhile (true) {\n\t\tconst newEntry = change.getPairOrNextHigher(nextIndex);\n\t\tconst baseEntry = over.getPairOrNextHigher(nextIndex);\n\n\t\tif (baseEntry === undefined && newEntry === undefined) {\n\t\t\tbreak;\n\t\t}\n\n\t\tconst newIndex = newEntry?.[0] ?? Number.POSITIVE_INFINITY;\n\t\tconst baseIndex = baseEntry?.[0] ?? Number.POSITIVE_INFINITY;\n\t\tlet newNodeChange: NodeId | undefined;\n\t\tlet baseNodeChange: NodeId | undefined;\n\t\tlet index: number;\n\t\tif (newIndex === baseIndex) {\n\t\t\tassert(\n\t\t\t\tnewEntry !== undefined && baseEntry !== undefined,\n\t\t\t\t0xa0d /* Entries should be defined */,\n\t\t\t);\n\t\t\tindex = newIndex;\n\t\t\tnewNodeChange = newEntry[1];\n\t\t\tbaseNodeChange = baseEntry[1];\n\t\t} else if (newIndex < baseIndex) {\n\t\t\tassert(newEntry !== undefined, 0xa0e /* Entry should be defined */);\n\t\t\tindex = newIndex;\n\t\t\tnewNodeChange = newEntry[1];\n\t\t} else {\n\t\t\tassert(baseEntry !== undefined, 0xa0f /* Entry should be defined */);\n\t\t\tindex = baseIndex;\n\t\t\tbaseNodeChange = baseEntry[1];\n\t\t}\n\n\t\tconst nodeChange = rebaseChild(newNodeChange, baseNodeChange);\n\t\tif (nodeChange !== undefined) {\n\t\t\trebased.set(index, nodeChange);\n\t\t}\n\n\t\tnextIndex = index + 1;\n\t}\n\n\treturn rebased;\n}\n\nfunction pruneGenericChange(\n\tchangeset: GenericChangeset,\n\tpruneChild: NodeChangePruner,\n): GenericChangeset {\n\tconst pruned: GenericChangeset = new BTree();\n\tfor (const [index, node] of changeset.entries()) {\n\t\tconst prunedNode = pruneChild(node);\n\t\tif (prunedNode !== undefined) {\n\t\t\tpruned.set(index, node);\n\t\t}\n\t}\n\treturn pruned;\n}\n\nfunction replaceRevisions(\n\tchangeset: GenericChangeset,\n\treplacer: RevisionReplacer,\n): GenericChangeset {\n\treturn changeset.mapValues((node) => replacer.getUpdatedAtomId(node));\n}\n\n/**\n * {@link FieldKind} used to represent changes to elements of a field in a field-kind-agnostic format.\n */\nexport const genericFieldKind: FlexFieldKind = new FlexFieldKind(\n\tbrandConst(\"ModularEditBuilder.Generic\")<FieldKindIdentifier>(),\n\tMultiplicity.Sequence,\n\t{\n\t\tchangeHandler: genericChangeHandler,\n\t\tallowMonotonicUpgradeFrom: new Set(),\n\t},\n);\n\n/**\n * Converts a {@link GenericChangeset} into a field-kind-specific `TChange`.\n * @param changeset - The generic changeset to convert.\n * @param target - The {@link FieldChangeHandler} for the `FieldKind` that the returned change should target.\n * @param composeChild - A delegate to compose {@link NodeChangeset}s.\n * @returns An equivalent changeset as represented by the `target` field-kind.\n */\nexport function convertGenericChange<TChange>(\n\tchangeset: GenericChangeset,\n\ttarget: FieldChangeHandler<TChange>,\n): TChange {\n\treturn target.editor.buildChildChanges(changeset.entries());\n}\n\nfunction* relevantRemovedRoots(\n\tchange: GenericChangeset,\n\trelevantRemovedRootsFromChild: RelevantRemovedRootsFromChild,\n): Iterable<DeltaDetachedNodeId> {\n\tfor (const nodeChange of change.values()) {\n\t\tyield* relevantRemovedRootsFromChild(nodeChange);\n\t}\n}\n"]}
1
+ {"version":3,"file":"genericFieldKind.js","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/genericFieldKind.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { assert } from \"@fluidframework/core-utils/internal\";\nimport { BTree } from \"@tylerbu/sorted-btree-es6\";\n\nimport {\n\ttype DeltaDetachedNodeId,\n\ttype DeltaMark,\n\ttype FieldKindIdentifier,\n\tMultiplicity,\n\ttype RevisionReplacer,\n} from \"../../core/index.js\";\nimport { brandConst } from \"../../util/index.js\";\n\nimport type {\n\tFieldChangeDelta,\n\tFieldChangeHandler,\n\tNestedChangesIndices,\n\tNodeChangeComposer,\n\tNodeChangePruner,\n\tNodeChangeRebaser,\n\tRelevantRemovedRootsFromChild,\n\tToDelta,\n} from \"./fieldChangeHandler.js\";\nimport { FlexFieldKind } from \"./fieldKind.js\";\nimport { makeGenericChangeCodec } from \"./genericFieldKindCodecs.js\";\nimport { newGenericChangeset, type GenericChangeset } from \"./genericFieldKindTypes.js\";\nimport type { NodeId } from \"./modularChangeTypes.js\";\n\n/**\n * {@link FieldChangeHandler} implementation for {@link GenericChangeset}.\n */\nexport const genericChangeHandler: FieldChangeHandler<GenericChangeset> = {\n\trebaser: {\n\t\tcompose,\n\t\tinvert: (change: GenericChangeset): GenericChangeset => change,\n\t\trebase: rebaseGenericChange,\n\t\tprune: pruneGenericChange,\n\t\treplaceRevisions,\n\t\tfilterEdits: (change: GenericChangeset): GenericChangeset => change,\n\t},\n\tcodecsFactory: makeGenericChangeCodec,\n\teditor: {\n\t\tbuildChildChanges(changes: Iterable<[number, NodeId]>): GenericChangeset {\n\t\t\treturn newGenericChangeset([...changes]);\n\t\t},\n\t},\n\tintoDelta: (change: GenericChangeset, deltaFromChild: ToDelta): FieldChangeDelta => {\n\t\tlet nodeIndex = 0;\n\t\tconst markList: DeltaMark[] = [];\n\t\tfor (const [index, nodeChange] of change.entries()) {\n\t\t\tif (nodeIndex < index) {\n\t\t\t\tconst offset = index - nodeIndex;\n\t\t\t\tmarkList.push({ count: offset });\n\t\t\t\tnodeIndex = index;\n\t\t\t}\n\t\t\tmarkList.push({ count: 1, fields: deltaFromChild(nodeChange) });\n\t\t\tnodeIndex += 1;\n\t\t}\n\t\treturn { local: { marks: markList } };\n\t},\n\trelevantRemovedRoots,\n\tisEmpty: (change: GenericChangeset): boolean => change.length === 0,\n\tgetNestedChanges,\n\tcreateEmpty: newGenericChangeset,\n\tgetCrossFieldKeys: (_change) => [],\n};\n\nfunction compose(\n\tchange1: GenericChangeset,\n\tchange2: GenericChangeset,\n\tcomposeChildren: NodeChangeComposer,\n): GenericChangeset {\n\tconst composed = change1.clone();\n\tfor (const [index, id2] of change2.entries()) {\n\t\tconst id1 = composed.get(index);\n\t\tconst idComposed = id1 === undefined ? id2 : composeChildren(id1, id2);\n\t\tcomposed.set(index, idComposed);\n\t}\n\n\treturn composed;\n}\n\nfunction getNestedChanges(change: GenericChangeset): NestedChangesIndices {\n\t// For generic changeset, the indices in the input and output contexts are the same.\n\treturn change.toArray().map(([index, nodeChange]) => [nodeChange, index, index]);\n}\n\nfunction rebaseGenericChange(\n\tchange: GenericChangeset,\n\tover: GenericChangeset,\n\trebaseChild: NodeChangeRebaser,\n): GenericChangeset {\n\tconst rebased: GenericChangeset = new BTree();\n\tlet nextIndex = 0;\n\n\twhile (true) {\n\t\tconst newEntry = change.getPairOrNextHigher(nextIndex);\n\t\tconst baseEntry = over.getPairOrNextHigher(nextIndex);\n\n\t\tif (baseEntry === undefined && newEntry === undefined) {\n\t\t\tbreak;\n\t\t}\n\n\t\tconst newIndex = newEntry?.[0] ?? Number.POSITIVE_INFINITY;\n\t\tconst baseIndex = baseEntry?.[0] ?? Number.POSITIVE_INFINITY;\n\t\tlet newNodeChange: NodeId | undefined;\n\t\tlet baseNodeChange: NodeId | undefined;\n\t\tlet index: number;\n\t\tif (newIndex === baseIndex) {\n\t\t\tassert(\n\t\t\t\tnewEntry !== undefined && baseEntry !== undefined,\n\t\t\t\t0xa0d /* Entries should be defined */,\n\t\t\t);\n\t\t\tindex = newIndex;\n\t\t\tnewNodeChange = newEntry[1];\n\t\t\tbaseNodeChange = baseEntry[1];\n\t\t} else if (newIndex < baseIndex) {\n\t\t\tassert(newEntry !== undefined, 0xa0e /* Entry should be defined */);\n\t\t\tindex = newIndex;\n\t\t\tnewNodeChange = newEntry[1];\n\t\t} else {\n\t\t\tassert(baseEntry !== undefined, 0xa0f /* Entry should be defined */);\n\t\t\tindex = baseIndex;\n\t\t\tbaseNodeChange = baseEntry[1];\n\t\t}\n\n\t\tconst nodeChange = rebaseChild(newNodeChange, baseNodeChange);\n\t\tif (nodeChange !== undefined) {\n\t\t\trebased.set(index, nodeChange);\n\t\t}\n\n\t\tnextIndex = index + 1;\n\t}\n\n\treturn rebased;\n}\n\nfunction pruneGenericChange(\n\tchangeset: GenericChangeset,\n\tpruneChild: NodeChangePruner,\n): GenericChangeset {\n\tconst pruned: GenericChangeset = new BTree();\n\tfor (const [index, node] of changeset.entries()) {\n\t\tconst prunedNode = pruneChild(node);\n\t\tif (prunedNode !== undefined) {\n\t\t\tpruned.set(index, node);\n\t\t}\n\t}\n\treturn pruned;\n}\n\nfunction replaceRevisions(\n\tchangeset: GenericChangeset,\n\treplacer: RevisionReplacer,\n): GenericChangeset {\n\treturn changeset.mapValues((node) => replacer.getUpdatedAtomId(node));\n}\n\n/**\n * {@link FieldKind} used to represent changes to elements of a field in a field-kind-agnostic format.\n */\nexport const genericFieldKind: FlexFieldKind = new FlexFieldKind(\n\tbrandConst(\"ModularEditBuilder.Generic\")<FieldKindIdentifier>(),\n\tMultiplicity.Sequence,\n\t{\n\t\tchangeHandler: genericChangeHandler,\n\t\tallowMonotonicUpgradeFrom: new Set(),\n\t},\n);\n\n/**\n * Converts a {@link GenericChangeset} into a field-kind-specific `TChange`.\n * @param changeset - The generic changeset to convert.\n * @param target - The {@link FieldChangeHandler} for the `FieldKind` that the returned change should target.\n * @param composeChild - A delegate to compose {@link NodeChangeset}s.\n * @returns An equivalent changeset as represented by the `target` field-kind.\n */\nexport function convertGenericChange<TChange>(\n\tchangeset: GenericChangeset,\n\ttarget: FieldChangeHandler<TChange>,\n): TChange {\n\treturn target.editor.buildChildChanges(changeset.entries());\n}\n\nfunction* relevantRemovedRoots(\n\tchange: GenericChangeset,\n\trelevantRemovedRootsFromChild: RelevantRemovedRootsFromChild,\n): Iterable<DeltaDetachedNodeId> {\n\tfor (const nodeChange of change.values()) {\n\t\tyield* relevantRemovedRootsFromChild(nodeChange);\n\t}\n}\n"]}
@@ -8,7 +8,7 @@ export { addCrossFieldQuery, type CrossFieldManager, type CrossFieldMap, type Cr
8
8
  export { ChangesetLocalIdSchema, EncodedChangeAtomId, EncodedRevisionInfo, EncodedModularChangesetV1, EncodedNodeChangeset, } from "./modularChangeFormatV1.js";
9
9
  export { EncodedModularChangesetV2 } from "./modularChangeFormatV2.js";
10
10
  export { FlexFieldKind, type FullSchemaPolicy } from "./fieldKind.js";
11
- export { type FieldChangeHandler, type FieldChangeDelta, type FieldChangeRebaser, type FieldEditor, type NodeChangeComposer, type NodeChangeInverter, type NodeChangeRebaser, type NodeChangePruner, referenceFreeFieldChangeRebaser, type RebaseRevisionMetadata, type RelevantRemovedRootsFromChild, type ToDelta, NodeAttachState, type FieldChangeEncodingContext, type NestedChangesIndices, } from "./fieldChangeHandler.js";
11
+ export { type EditFilterFunc, EditFilterStatus, type FieldChangeHandler, type FieldChangeDelta, type FieldChangeEncodingContext, type FieldChangeRebaser, type FieldEditor, type NestedChangesIndices, type NodeChangeComposer, type NodeChangeInverter, type NodeChangeRebaser, type NodeChangePruner, referenceFreeFieldChangeRebaser, type RebaseRevisionMetadata, type RelevantRemovedRootsFromChild, type ToDelta, NodeAttachState, } from "./fieldChangeHandler.js";
12
12
  export type { CrossFieldKey, CrossFieldKeyRange, FieldChange, FieldChangeMap, FieldChangeset, HasFieldChanges, ModularChangeset, NoChangeConstraint, NodeExistsConstraint, NodeId, } from "./modularChangeTypes.js";
13
13
  export { convertGenericChange, genericChangeHandler, genericFieldKind, } from "./genericFieldKind.js";
14
14
  export type { GenericChangeset } from "./genericFieldKindTypes.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,kBAAkB,EAClB,kCAAkC,EAClC,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EACN,kBAAkB,EAClB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,gBAAgB,EAChB,kBAAkB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,GACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EACN,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,+BAA+B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,KAAK,OAAO,EACZ,eAAe,EACf,KAAK,0BAA0B,EAC/B,KAAK,oBAAoB,GACzB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACX,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,MAAM,GACN,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACN,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,GAChB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EACN,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,8BAA8B,EAC9B,SAAS,EACT,oBAAoB,EACpB,gBAAgB,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACN,0BAA0B,EAC1B,4BAA4B,GAC5B,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACX,sBAAsB,EACtB,2BAA2B,GAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,kBAAkB,EAClB,kCAAkC,EAClC,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EACN,kBAAkB,EAClB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,gBAAgB,EAChB,kBAAkB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,GACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EACN,KAAK,cAAc,EACnB,gBAAgB,EAChB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,+BAA+B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,KAAK,OAAO,EACZ,eAAe,GACf,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACX,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,MAAM,GACN,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACN,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,GAChB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EACN,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,8BAA8B,EAC9B,SAAS,EACT,oBAAoB,EACpB,gBAAgB,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACN,0BAA0B,EAC1B,4BAA4B,GAC5B,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACX,sBAAsB,EACtB,2BAA2B,GAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * Licensed under the MIT License.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.minimizeModularChangeset = exports.DefaultRevisionReplacer = exports.makeModularChangeCodecFamily = exports.ModularChangeFormatVersion = exports.updateRefreshers = exports.relevantRemovedRoots = exports.intoDelta = exports.rebaseRevisionMetadataFromInfo = exports.ModularEditBuilder = exports.ModularChangeFamily = exports.genericFieldKind = exports.genericChangeHandler = exports.convertGenericChange = exports.NodeAttachState = exports.referenceFreeFieldChangeRebaser = exports.FlexFieldKind = exports.EncodedModularChangesetV2 = exports.EncodedNodeChangeset = exports.EncodedModularChangesetV1 = exports.EncodedRevisionInfo = exports.EncodedChangeAtomId = exports.ChangesetLocalIdSchema = exports.setInCrossFieldMap = exports.CrossFieldTarget = exports.addCrossFieldQuery = exports.isNeverTree = exports.isNeverField = exports.allowsMultiplicitySuperset = exports.allowsTreeSuperset = exports.allowsFieldSuperset = exports.allowsTreeSchemaIdentifierSuperset = exports.allowsRepoSuperset = void 0;
7
+ exports.minimizeModularChangeset = exports.DefaultRevisionReplacer = exports.makeModularChangeCodecFamily = exports.ModularChangeFormatVersion = exports.updateRefreshers = exports.relevantRemovedRoots = exports.intoDelta = exports.rebaseRevisionMetadataFromInfo = exports.ModularEditBuilder = exports.ModularChangeFamily = exports.genericFieldKind = exports.genericChangeHandler = exports.convertGenericChange = exports.NodeAttachState = exports.referenceFreeFieldChangeRebaser = exports.EditFilterStatus = exports.FlexFieldKind = exports.EncodedModularChangesetV2 = exports.EncodedNodeChangeset = exports.EncodedModularChangesetV1 = exports.EncodedRevisionInfo = exports.EncodedChangeAtomId = exports.ChangesetLocalIdSchema = exports.setInCrossFieldMap = exports.CrossFieldTarget = exports.addCrossFieldQuery = exports.isNeverTree = exports.isNeverField = exports.allowsMultiplicitySuperset = exports.allowsTreeSuperset = exports.allowsFieldSuperset = exports.allowsTreeSchemaIdentifierSuperset = exports.allowsRepoSuperset = void 0;
8
8
  var comparison_js_1 = require("./comparison.js");
9
9
  Object.defineProperty(exports, "allowsRepoSuperset", { enumerable: true, get: function () { return comparison_js_1.allowsRepoSuperset; } });
10
10
  Object.defineProperty(exports, "allowsTreeSchemaIdentifierSuperset", { enumerable: true, get: function () { return comparison_js_1.allowsTreeSchemaIdentifierSuperset; } });
@@ -29,6 +29,7 @@ Object.defineProperty(exports, "EncodedModularChangesetV2", { enumerable: true,
29
29
  var fieldKind_js_1 = require("./fieldKind.js");
30
30
  Object.defineProperty(exports, "FlexFieldKind", { enumerable: true, get: function () { return fieldKind_js_1.FlexFieldKind; } });
31
31
  var fieldChangeHandler_js_1 = require("./fieldChangeHandler.js");
32
+ Object.defineProperty(exports, "EditFilterStatus", { enumerable: true, get: function () { return fieldChangeHandler_js_1.EditFilterStatus; } });
32
33
  Object.defineProperty(exports, "referenceFreeFieldChangeRebaser", { enumerable: true, get: function () { return fieldChangeHandler_js_1.referenceFreeFieldChangeRebaser; } });
33
34
  Object.defineProperty(exports, "NodeAttachState", { enumerable: true, get: function () { return fieldChangeHandler_js_1.NodeAttachState; } });
34
35
  var genericFieldKind_js_1 = require("./genericFieldKind.js");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,iDAMyB;AALxB,mHAAA,kBAAkB,OAAA;AAClB,mIAAA,kCAAkC,OAAA;AAClC,oHAAA,mBAAmB,OAAA;AACnB,mHAAA,kBAAkB,OAAA;AAClB,2HAAA,0BAA0B,OAAA;AAE3B,mDAA6D;AAApD,8GAAA,YAAY,OAAA;AAAE,6GAAA,WAAW,OAAA;AAClC,+DAOgC;AAN/B,0HAAA,kBAAkB,OAAA;AAIlB,wHAAA,gBAAgB,OAAA;AAChB,0HAAA,kBAAkB,OAAA;AAEnB,uEAMoC;AALnC,kIAAA,sBAAsB,OAAA;AACtB,+HAAA,mBAAmB,OAAA;AACnB,+HAAA,mBAAmB,OAAA;AACnB,qIAAA,yBAAyB,OAAA;AACzB,gIAAA,oBAAoB,OAAA;AAErB,uEAAuE;AAA9D,qIAAA,yBAAyB,OAAA;AAClC,+CAAsE;AAA7D,6GAAA,aAAa,OAAA;AACtB,iEAgBiC;AAPhC,wIAAA,+BAA+B,OAAA;AAI/B,wHAAA,eAAe,OAAA;AAgBhB,6DAI+B;AAH9B,2HAAA,oBAAoB,OAAA;AACpB,2HAAA,oBAAoB,OAAA;AACpB,uHAAA,gBAAgB,OAAA;AAGjB,mEAUkC;AATjC,6HAAA,mBAAmB,OAAA;AACnB,4HAAA,kBAAkB,OAAA;AAIlB,wIAAA,8BAA8B,OAAA;AAC9B,mHAAA,SAAS,OAAA;AACT,8HAAA,oBAAoB,OAAA;AACpB,0HAAA,gBAAgB,OAAA;AAEjB,mEAGkC;AAFjC,oIAAA,0BAA0B,OAAA;AAC1B,sIAAA,4BAA4B,OAAA;AAM7B,2EAAuE;AAA9D,qIAAA,uBAAuB,OAAA;AAChC,uEAAsE;AAA7D,oIAAA,wBAAwB,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport {\n\tallowsRepoSuperset,\n\tallowsTreeSchemaIdentifierSuperset,\n\tallowsFieldSuperset,\n\tallowsTreeSuperset,\n\tallowsMultiplicitySuperset,\n} from \"./comparison.js\";\nexport { isNeverField, isNeverTree } from \"./isNeverTree.js\";\nexport {\n\taddCrossFieldQuery,\n\ttype CrossFieldManager,\n\ttype CrossFieldMap,\n\ttype CrossFieldQuerySet,\n\tCrossFieldTarget,\n\tsetInCrossFieldMap,\n} from \"./crossFieldQueries.js\";\nexport {\n\tChangesetLocalIdSchema,\n\tEncodedChangeAtomId,\n\tEncodedRevisionInfo,\n\tEncodedModularChangesetV1,\n\tEncodedNodeChangeset,\n} from \"./modularChangeFormatV1.js\";\nexport { EncodedModularChangesetV2 } from \"./modularChangeFormatV2.js\";\nexport { FlexFieldKind, type FullSchemaPolicy } from \"./fieldKind.js\";\nexport {\n\ttype FieldChangeHandler,\n\ttype FieldChangeDelta,\n\ttype FieldChangeRebaser,\n\ttype FieldEditor,\n\ttype NodeChangeComposer,\n\ttype NodeChangeInverter,\n\ttype NodeChangeRebaser,\n\ttype NodeChangePruner,\n\treferenceFreeFieldChangeRebaser,\n\ttype RebaseRevisionMetadata,\n\ttype RelevantRemovedRootsFromChild,\n\ttype ToDelta,\n\tNodeAttachState,\n\ttype FieldChangeEncodingContext,\n\ttype NestedChangesIndices,\n} from \"./fieldChangeHandler.js\";\nexport type {\n\tCrossFieldKey,\n\tCrossFieldKeyRange,\n\tFieldChange,\n\tFieldChangeMap,\n\tFieldChangeset,\n\tHasFieldChanges,\n\tModularChangeset,\n\tNoChangeConstraint,\n\tNodeExistsConstraint,\n\tNodeId,\n} from \"./modularChangeTypes.js\";\nexport {\n\tconvertGenericChange,\n\tgenericChangeHandler,\n\tgenericFieldKind,\n} from \"./genericFieldKind.js\";\nexport type { GenericChangeset } from \"./genericFieldKindTypes.js\";\nexport {\n\tModularChangeFamily,\n\tModularEditBuilder,\n\ttype EditDescription,\n\ttype GlobalEditDescription,\n\ttype FieldEditDescription,\n\trebaseRevisionMetadataFromInfo,\n\tintoDelta,\n\trelevantRemovedRoots,\n\tupdateRefreshers,\n} from \"./modularChangeFamily.js\";\nexport {\n\tModularChangeFormatVersion,\n\tmakeModularChangeCodecFamily,\n} from \"./modularChangeCodecs.js\";\nexport type {\n\tFieldKindConfiguration,\n\tFieldKindConfigurationEntry,\n} from \"./fieldKindConfiguration.js\";\nexport { DefaultRevisionReplacer } from \"./defaultRevisionReplacer.js\";\nexport { minimizeModularChangeset } from \"./minimizeModularChange.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/feature-libraries/modular-schema/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,iDAMyB;AALxB,mHAAA,kBAAkB,OAAA;AAClB,mIAAA,kCAAkC,OAAA;AAClC,oHAAA,mBAAmB,OAAA;AACnB,mHAAA,kBAAkB,OAAA;AAClB,2HAAA,0BAA0B,OAAA;AAE3B,mDAA6D;AAApD,8GAAA,YAAY,OAAA;AAAE,6GAAA,WAAW,OAAA;AAClC,+DAOgC;AAN/B,0HAAA,kBAAkB,OAAA;AAIlB,wHAAA,gBAAgB,OAAA;AAChB,0HAAA,kBAAkB,OAAA;AAEnB,uEAMoC;AALnC,kIAAA,sBAAsB,OAAA;AACtB,+HAAA,mBAAmB,OAAA;AACnB,+HAAA,mBAAmB,OAAA;AACnB,qIAAA,yBAAyB,OAAA;AACzB,gIAAA,oBAAoB,OAAA;AAErB,uEAAuE;AAA9D,qIAAA,yBAAyB,OAAA;AAClC,+CAAsE;AAA7D,6GAAA,aAAa,OAAA;AACtB,iEAkBiC;AAhBhC,yHAAA,gBAAgB,OAAA;AAWhB,wIAAA,+BAA+B,OAAA;AAI/B,wHAAA,eAAe,OAAA;AAchB,6DAI+B;AAH9B,2HAAA,oBAAoB,OAAA;AACpB,2HAAA,oBAAoB,OAAA;AACpB,uHAAA,gBAAgB,OAAA;AAGjB,mEAUkC;AATjC,6HAAA,mBAAmB,OAAA;AACnB,4HAAA,kBAAkB,OAAA;AAIlB,wIAAA,8BAA8B,OAAA;AAC9B,mHAAA,SAAS,OAAA;AACT,8HAAA,oBAAoB,OAAA;AACpB,0HAAA,gBAAgB,OAAA;AAEjB,mEAGkC;AAFjC,oIAAA,0BAA0B,OAAA;AAC1B,sIAAA,4BAA4B,OAAA;AAM7B,2EAAuE;AAA9D,qIAAA,uBAAuB,OAAA;AAChC,uEAAsE;AAA7D,oIAAA,wBAAwB,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport {\n\tallowsRepoSuperset,\n\tallowsTreeSchemaIdentifierSuperset,\n\tallowsFieldSuperset,\n\tallowsTreeSuperset,\n\tallowsMultiplicitySuperset,\n} from \"./comparison.js\";\nexport { isNeverField, isNeverTree } from \"./isNeverTree.js\";\nexport {\n\taddCrossFieldQuery,\n\ttype CrossFieldManager,\n\ttype CrossFieldMap,\n\ttype CrossFieldQuerySet,\n\tCrossFieldTarget,\n\tsetInCrossFieldMap,\n} from \"./crossFieldQueries.js\";\nexport {\n\tChangesetLocalIdSchema,\n\tEncodedChangeAtomId,\n\tEncodedRevisionInfo,\n\tEncodedModularChangesetV1,\n\tEncodedNodeChangeset,\n} from \"./modularChangeFormatV1.js\";\nexport { EncodedModularChangesetV2 } from \"./modularChangeFormatV2.js\";\nexport { FlexFieldKind, type FullSchemaPolicy } from \"./fieldKind.js\";\nexport {\n\ttype EditFilterFunc,\n\tEditFilterStatus,\n\ttype FieldChangeHandler,\n\ttype FieldChangeDelta,\n\ttype FieldChangeEncodingContext,\n\ttype FieldChangeRebaser,\n\ttype FieldEditor,\n\ttype NestedChangesIndices,\n\ttype NodeChangeComposer,\n\ttype NodeChangeInverter,\n\ttype NodeChangeRebaser,\n\ttype NodeChangePruner,\n\treferenceFreeFieldChangeRebaser,\n\ttype RebaseRevisionMetadata,\n\ttype RelevantRemovedRootsFromChild,\n\ttype ToDelta,\n\tNodeAttachState,\n} from \"./fieldChangeHandler.js\";\nexport type {\n\tCrossFieldKey,\n\tCrossFieldKeyRange,\n\tFieldChange,\n\tFieldChangeMap,\n\tFieldChangeset,\n\tHasFieldChanges,\n\tModularChangeset,\n\tNoChangeConstraint,\n\tNodeExistsConstraint,\n\tNodeId,\n} from \"./modularChangeTypes.js\";\nexport {\n\tconvertGenericChange,\n\tgenericChangeHandler,\n\tgenericFieldKind,\n} from \"./genericFieldKind.js\";\nexport type { GenericChangeset } from \"./genericFieldKindTypes.js\";\nexport {\n\tModularChangeFamily,\n\tModularEditBuilder,\n\ttype EditDescription,\n\ttype GlobalEditDescription,\n\ttype FieldEditDescription,\n\trebaseRevisionMetadataFromInfo,\n\tintoDelta,\n\trelevantRemovedRoots,\n\tupdateRefreshers,\n} from \"./modularChangeFamily.js\";\nexport {\n\tModularChangeFormatVersion,\n\tmakeModularChangeCodecFamily,\n} from \"./modularChangeCodecs.js\";\nexport type {\n\tFieldKindConfiguration,\n\tFieldKindConfigurationEntry,\n} from \"./fieldKindConfiguration.js\";\nexport { DefaultRevisionReplacer } from \"./defaultRevisionReplacer.js\";\nexport { minimizeModularChangeset } from \"./minimizeModularChange.js\";\n"]}