@fluidframework/tree 2.70.0-361788 → 2.71.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/CHANGELOG.md +110 -0
  2. package/api-report/tree.alpha.api.md +25 -4
  3. package/api-report/tree.beta.api.md +3 -0
  4. package/api-report/tree.legacy.beta.api.md +3 -0
  5. package/dist/alpha.d.ts +3 -0
  6. package/dist/beta.d.ts +1 -0
  7. package/dist/codec/discriminatedUnions.d.ts +1 -1
  8. package/dist/codec/discriminatedUnions.js +1 -1
  9. package/dist/codec/discriminatedUnions.js.map +1 -1
  10. package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js +1 -1
  11. package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
  12. package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.js +1 -1
  13. package/dist/feature-libraries/forest-summary/incrementalSummaryBuilder.js.map +1 -1
  14. package/dist/index.d.ts +2 -2
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +4 -2
  17. package/dist/index.js.map +1 -1
  18. package/dist/legacy.d.ts +1 -0
  19. package/dist/packageVersion.d.ts +1 -1
  20. package/dist/packageVersion.d.ts.map +1 -1
  21. package/dist/packageVersion.js +1 -1
  22. package/dist/packageVersion.js.map +1 -1
  23. package/dist/shared-tree/independentView.d.ts +74 -5
  24. package/dist/shared-tree/independentView.d.ts.map +1 -1
  25. package/dist/shared-tree/independentView.js +104 -38
  26. package/dist/shared-tree/independentView.js.map +1 -1
  27. package/dist/shared-tree/index.d.ts +2 -1
  28. package/dist/shared-tree/index.d.ts.map +1 -1
  29. package/dist/shared-tree/index.js +6 -1
  30. package/dist/shared-tree/index.js.map +1 -1
  31. package/dist/shared-tree/sharedTree.d.ts.map +1 -1
  32. package/dist/shared-tree/sharedTree.js +18 -3
  33. package/dist/shared-tree/sharedTree.js.map +1 -1
  34. package/dist/simple-tree/api/incrementalAllowedTypes.js +1 -1
  35. package/dist/simple-tree/api/incrementalAllowedTypes.js.map +1 -1
  36. package/dist/simple-tree/api/schemaFactory.d.ts +2 -2
  37. package/dist/simple-tree/api/schemaFactory.js +2 -2
  38. package/dist/simple-tree/api/schemaFactory.js.map +1 -1
  39. package/dist/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
  40. package/dist/simple-tree/api/schemaFactoryRecursive.js +1 -0
  41. package/dist/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
  42. package/dist/simple-tree/api/schemaFromSimple.d.ts.map +1 -1
  43. package/dist/simple-tree/api/schemaFromSimple.js +9 -5
  44. package/dist/simple-tree/api/schemaFromSimple.js.map +1 -1
  45. package/dist/simple-tree/api/simpleSchemaToJsonSchema.d.ts.map +1 -1
  46. package/dist/simple-tree/api/simpleSchemaToJsonSchema.js +4 -2
  47. package/dist/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
  48. package/dist/simple-tree/api/viewSchemaToSimpleSchema.d.ts +2 -1
  49. package/dist/simple-tree/api/viewSchemaToSimpleSchema.d.ts.map +1 -1
  50. package/dist/simple-tree/api/viewSchemaToSimpleSchema.js +31 -10
  51. package/dist/simple-tree/api/viewSchemaToSimpleSchema.js.map +1 -1
  52. package/dist/simple-tree/core/allowedTypes.d.ts +9 -4
  53. package/dist/simple-tree/core/allowedTypes.d.ts.map +1 -1
  54. package/dist/simple-tree/core/allowedTypes.js +17 -4
  55. package/dist/simple-tree/core/allowedTypes.js.map +1 -1
  56. package/dist/simple-tree/fieldSchema.d.ts +2 -1
  57. package/dist/simple-tree/fieldSchema.d.ts.map +1 -1
  58. package/dist/simple-tree/fieldSchema.js +10 -0
  59. package/dist/simple-tree/fieldSchema.js.map +1 -1
  60. package/dist/simple-tree/index.d.ts +1 -1
  61. package/dist/simple-tree/index.d.ts.map +1 -1
  62. package/dist/simple-tree/index.js.map +1 -1
  63. package/dist/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
  64. package/dist/simple-tree/node-kinds/array/arrayNode.js +6 -0
  65. package/dist/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
  66. package/dist/simple-tree/node-kinds/map/mapNode.d.ts.map +1 -1
  67. package/dist/simple-tree/node-kinds/map/mapNode.js +6 -0
  68. package/dist/simple-tree/node-kinds/map/mapNode.js.map +1 -1
  69. package/dist/simple-tree/node-kinds/object/objectNode.d.ts +17 -0
  70. package/dist/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
  71. package/dist/simple-tree/node-kinds/object/objectNode.js +19 -6
  72. package/dist/simple-tree/node-kinds/object/objectNode.js.map +1 -1
  73. package/dist/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -1
  74. package/dist/simple-tree/node-kinds/record/recordNode.js +6 -0
  75. package/dist/simple-tree/node-kinds/record/recordNode.js.map +1 -1
  76. package/dist/simple-tree/node-kinds/record/recordNodeTypes.d.ts +16 -0
  77. package/dist/simple-tree/node-kinds/record/recordNodeTypes.d.ts.map +1 -1
  78. package/dist/simple-tree/node-kinds/record/recordNodeTypes.js.map +1 -1
  79. package/dist/simple-tree/simpleSchema.d.ts +21 -5
  80. package/dist/simple-tree/simpleSchema.d.ts.map +1 -1
  81. package/dist/simple-tree/simpleSchema.js.map +1 -1
  82. package/dist/simple-tree/toStoredSchema.d.ts.map +1 -1
  83. package/dist/simple-tree/toStoredSchema.js +6 -3
  84. package/dist/simple-tree/toStoredSchema.js.map +1 -1
  85. package/dist/util/referenceCounting.d.ts.map +1 -1
  86. package/dist/util/referenceCounting.js +1 -0
  87. package/dist/util/referenceCounting.js.map +1 -1
  88. package/lib/alpha.d.ts +3 -0
  89. package/lib/beta.d.ts +1 -0
  90. package/lib/codec/discriminatedUnions.d.ts +1 -1
  91. package/lib/codec/discriminatedUnions.js +1 -1
  92. package/lib/codec/discriminatedUnions.js.map +1 -1
  93. package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js +1 -1
  94. package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
  95. package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.js +1 -1
  96. package/lib/feature-libraries/forest-summary/incrementalSummaryBuilder.js.map +1 -1
  97. package/lib/index.d.ts +2 -2
  98. package/lib/index.d.ts.map +1 -1
  99. package/lib/index.js +1 -1
  100. package/lib/index.js.map +1 -1
  101. package/lib/legacy.d.ts +1 -0
  102. package/lib/packageVersion.d.ts +1 -1
  103. package/lib/packageVersion.d.ts.map +1 -1
  104. package/lib/packageVersion.js +1 -1
  105. package/lib/packageVersion.js.map +1 -1
  106. package/lib/shared-tree/independentView.d.ts +74 -5
  107. package/lib/shared-tree/independentView.d.ts.map +1 -1
  108. package/lib/shared-tree/independentView.js +103 -38
  109. package/lib/shared-tree/independentView.js.map +1 -1
  110. package/lib/shared-tree/index.d.ts +2 -1
  111. package/lib/shared-tree/index.d.ts.map +1 -1
  112. package/lib/shared-tree/index.js +2 -1
  113. package/lib/shared-tree/index.js.map +1 -1
  114. package/lib/shared-tree/sharedTree.d.ts.map +1 -1
  115. package/lib/shared-tree/sharedTree.js +18 -3
  116. package/lib/shared-tree/sharedTree.js.map +1 -1
  117. package/lib/simple-tree/api/incrementalAllowedTypes.js +1 -1
  118. package/lib/simple-tree/api/incrementalAllowedTypes.js.map +1 -1
  119. package/lib/simple-tree/api/schemaFactory.d.ts +2 -2
  120. package/lib/simple-tree/api/schemaFactory.js +2 -2
  121. package/lib/simple-tree/api/schemaFactory.js.map +1 -1
  122. package/lib/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
  123. package/lib/simple-tree/api/schemaFactoryRecursive.js +1 -0
  124. package/lib/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
  125. package/lib/simple-tree/api/schemaFromSimple.d.ts.map +1 -1
  126. package/lib/simple-tree/api/schemaFromSimple.js +9 -5
  127. package/lib/simple-tree/api/schemaFromSimple.js.map +1 -1
  128. package/lib/simple-tree/api/simpleSchemaToJsonSchema.d.ts.map +1 -1
  129. package/lib/simple-tree/api/simpleSchemaToJsonSchema.js +4 -2
  130. package/lib/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
  131. package/lib/simple-tree/api/viewSchemaToSimpleSchema.d.ts +2 -1
  132. package/lib/simple-tree/api/viewSchemaToSimpleSchema.d.ts.map +1 -1
  133. package/lib/simple-tree/api/viewSchemaToSimpleSchema.js +31 -10
  134. package/lib/simple-tree/api/viewSchemaToSimpleSchema.js.map +1 -1
  135. package/lib/simple-tree/core/allowedTypes.d.ts +9 -4
  136. package/lib/simple-tree/core/allowedTypes.d.ts.map +1 -1
  137. package/lib/simple-tree/core/allowedTypes.js +18 -5
  138. package/lib/simple-tree/core/allowedTypes.js.map +1 -1
  139. package/lib/simple-tree/fieldSchema.d.ts +2 -1
  140. package/lib/simple-tree/fieldSchema.d.ts.map +1 -1
  141. package/lib/simple-tree/fieldSchema.js +10 -0
  142. package/lib/simple-tree/fieldSchema.js.map +1 -1
  143. package/lib/simple-tree/index.d.ts +1 -1
  144. package/lib/simple-tree/index.d.ts.map +1 -1
  145. package/lib/simple-tree/index.js.map +1 -1
  146. package/lib/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
  147. package/lib/simple-tree/node-kinds/array/arrayNode.js +7 -1
  148. package/lib/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
  149. package/lib/simple-tree/node-kinds/map/mapNode.d.ts.map +1 -1
  150. package/lib/simple-tree/node-kinds/map/mapNode.js +7 -1
  151. package/lib/simple-tree/node-kinds/map/mapNode.js.map +1 -1
  152. package/lib/simple-tree/node-kinds/object/objectNode.d.ts +17 -0
  153. package/lib/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
  154. package/lib/simple-tree/node-kinds/object/objectNode.js +19 -6
  155. package/lib/simple-tree/node-kinds/object/objectNode.js.map +1 -1
  156. package/lib/simple-tree/node-kinds/record/recordNode.d.ts.map +1 -1
  157. package/lib/simple-tree/node-kinds/record/recordNode.js +7 -1
  158. package/lib/simple-tree/node-kinds/record/recordNode.js.map +1 -1
  159. package/lib/simple-tree/node-kinds/record/recordNodeTypes.d.ts +16 -0
  160. package/lib/simple-tree/node-kinds/record/recordNodeTypes.d.ts.map +1 -1
  161. package/lib/simple-tree/node-kinds/record/recordNodeTypes.js.map +1 -1
  162. package/lib/simple-tree/simpleSchema.d.ts +21 -5
  163. package/lib/simple-tree/simpleSchema.d.ts.map +1 -1
  164. package/lib/simple-tree/simpleSchema.js.map +1 -1
  165. package/lib/simple-tree/toStoredSchema.d.ts.map +1 -1
  166. package/lib/simple-tree/toStoredSchema.js +6 -3
  167. package/lib/simple-tree/toStoredSchema.js.map +1 -1
  168. package/lib/util/referenceCounting.d.ts.map +1 -1
  169. package/lib/util/referenceCounting.js +1 -0
  170. package/lib/util/referenceCounting.js.map +1 -1
  171. package/package.json +24 -24
  172. package/src/codec/discriminatedUnions.ts +1 -1
  173. package/src/feature-libraries/chunked-forest/codec/compressedEncode.ts +1 -1
  174. package/src/feature-libraries/forest-summary/incrementalSummaryBuilder.ts +1 -1
  175. package/src/index.ts +3 -0
  176. package/src/packageVersion.ts +1 -1
  177. package/src/shared-tree/independentView.ts +147 -72
  178. package/src/shared-tree/index.ts +4 -0
  179. package/src/shared-tree/sharedTree.ts +25 -3
  180. package/src/simple-tree/api/incrementalAllowedTypes.ts +1 -1
  181. package/src/simple-tree/api/schemaFactory.ts +2 -2
  182. package/src/simple-tree/api/schemaFactoryRecursive.ts +2 -0
  183. package/src/simple-tree/api/schemaFromSimple.ts +17 -14
  184. package/src/simple-tree/api/simpleSchemaToJsonSchema.ts +8 -2
  185. package/src/simple-tree/api/viewSchemaToSimpleSchema.ts +44 -8
  186. package/src/simple-tree/core/allowedTypes.ts +26 -13
  187. package/src/simple-tree/fieldSchema.ts +14 -1
  188. package/src/simple-tree/index.ts +1 -0
  189. package/src/simple-tree/node-kinds/array/arrayNode.ts +9 -0
  190. package/src/simple-tree/node-kinds/map/mapNode.ts +9 -0
  191. package/src/simple-tree/node-kinds/object/objectNode.ts +54 -18
  192. package/src/simple-tree/node-kinds/record/recordNode.ts +9 -0
  193. package/src/simple-tree/node-kinds/record/recordNodeTypes.ts +16 -0
  194. package/src/simple-tree/simpleSchema.ts +22 -5
  195. package/src/simple-tree/toStoredSchema.ts +12 -3
  196. package/src/util/referenceCounting.ts +1 -0
@@ -139,7 +139,10 @@ export function convertField(
139
139
  if (schema instanceof FieldSchemaAlpha) {
140
140
  types = convertAllowedTypes(schema.allowedTypes, options);
141
141
  } else {
142
- types = schema.allowedTypesIdentifiers as TreeTypeSet;
142
+ const allowedTypesIdentifiers: ReadonlySet<string> = new Set(
143
+ schema.simpleAllowedTypes.keys(),
144
+ );
145
+ types = allowedTypesIdentifiers as TreeTypeSet;
143
146
  }
144
147
  return { kind, types, persistedMetadata: schema.persistedMetadata };
145
148
  }
@@ -175,7 +178,10 @@ export function getStoredSchema(
175
178
  }
176
179
  case NodeKind.Map:
177
180
  case NodeKind.Record: {
178
- const types = schema.allowedTypesIdentifiers as TreeTypeSet;
181
+ const allowedTypesIdentifiers: ReadonlySet<string> = new Set(
182
+ schema.simpleAllowedTypes.keys(),
183
+ );
184
+ const types = allowedTypesIdentifiers as TreeTypeSet;
179
185
  return new MapNodeStoredSchema(
180
186
  {
181
187
  kind: FieldKinds.optional.identifier,
@@ -187,7 +193,10 @@ export function getStoredSchema(
187
193
  );
188
194
  }
189
195
  case NodeKind.Array: {
190
- const types = schema.allowedTypesIdentifiers as TreeTypeSet;
196
+ const allowedTypesIdentifiers: ReadonlySet<string> = new Set(
197
+ schema.simpleAllowedTypes.keys(),
198
+ );
199
+ const types = allowedTypesIdentifiers as TreeTypeSet;
191
200
  return arrayNodeStoredSchema(types, schema.persistedMetadata);
192
201
  }
193
202
  case NodeKind.Object: {
@@ -39,6 +39,7 @@ export interface ReferenceCounted {
39
39
  * Base class to assist with implementing ReferenceCounted.
40
40
  */
41
41
  export abstract class ReferenceCountedBase implements ReferenceCounted {
42
+ // eslint-disable-next-line @typescript-eslint/prefer-readonly -- false positive; modified in multiple places
42
43
  protected constructor(private refCount: number = 1) {}
43
44
 
44
45
  public referenceAdded(count = 1): void {