@fluidframework/tree 2.70.0-361092 → 2.70.0-361248

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 (149) hide show
  1. package/dist/codec/codec.d.ts +3 -3
  2. package/dist/codec/codec.js.map +1 -1
  3. package/dist/core/rebase/changeRebaser.d.ts +1 -1
  4. package/dist/core/rebase/changeRebaser.js.map +1 -1
  5. package/dist/core/tree/detachedFieldIndex.d.ts.map +1 -1
  6. package/dist/core/tree/detachedFieldIndex.js +4 -1
  7. package/dist/core/tree/detachedFieldIndex.js.map +1 -1
  8. package/dist/feature-libraries/flex-tree/utilities.d.ts +1 -1
  9. package/dist/feature-libraries/flex-tree/utilities.js +1 -1
  10. package/dist/feature-libraries/flex-tree/utilities.js.map +1 -1
  11. package/dist/feature-libraries/incrementalSummarizationUtils.d.ts +1 -1
  12. package/dist/feature-libraries/incrementalSummarizationUtils.js.map +1 -1
  13. package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts +1 -1
  14. package/dist/feature-libraries/modular-schema/modularChangeFamily.js +1 -1
  15. package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
  16. package/dist/feature-libraries/sequence-field/formatV1.d.ts +1 -1
  17. package/dist/feature-libraries/sequence-field/formatV1.js.map +1 -1
  18. package/dist/feature-libraries/sequence-field/formatV2.d.ts +1 -1
  19. package/dist/feature-libraries/sequence-field/formatV2.js.map +1 -1
  20. package/dist/feature-libraries/sequence-field/formatV3.d.ts +1 -1
  21. package/dist/feature-libraries/sequence-field/formatV3.js.map +1 -1
  22. package/dist/packageVersion.d.ts +1 -1
  23. package/dist/packageVersion.js +1 -1
  24. package/dist/packageVersion.js.map +1 -1
  25. package/dist/shared-tree/sharedTree.d.ts +1 -1
  26. package/dist/shared-tree/sharedTree.js +1 -1
  27. package/dist/shared-tree/sharedTree.js.map +1 -1
  28. package/dist/shared-tree/treeCheckout.d.ts +1 -1
  29. package/dist/shared-tree/treeCheckout.js +1 -1
  30. package/dist/shared-tree/treeCheckout.js.map +1 -1
  31. package/dist/shared-tree-core/transaction.d.ts +2 -2
  32. package/dist/shared-tree-core/transaction.js.map +1 -1
  33. package/dist/simple-tree/core/treeNodeSchema.d.ts +3 -8
  34. package/dist/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
  35. package/dist/simple-tree/core/treeNodeSchema.js.map +1 -1
  36. package/dist/simple-tree/core/treeNodeValid.d.ts +2 -2
  37. package/dist/simple-tree/core/treeNodeValid.d.ts.map +1 -1
  38. package/dist/simple-tree/core/treeNodeValid.js +2 -2
  39. package/dist/simple-tree/core/treeNodeValid.js.map +1 -1
  40. package/dist/simple-tree/core/walkSchema.d.ts.map +1 -1
  41. package/dist/simple-tree/core/walkSchema.js +1 -1
  42. package/dist/simple-tree/core/walkSchema.js.map +1 -1
  43. package/dist/simple-tree/createContext.d.ts.map +1 -1
  44. package/dist/simple-tree/createContext.js +1 -1
  45. package/dist/simple-tree/createContext.js.map +1 -1
  46. package/dist/simple-tree/leafNodeSchema.js +1 -1
  47. package/dist/simple-tree/leafNodeSchema.js.map +1 -1
  48. package/dist/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
  49. package/dist/simple-tree/node-kinds/array/arrayNode.js +1 -1
  50. package/dist/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
  51. package/dist/simple-tree/node-kinds/map/mapNode.js +1 -1
  52. package/dist/simple-tree/node-kinds/map/mapNode.js.map +1 -1
  53. package/dist/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
  54. package/dist/simple-tree/node-kinds/object/objectNode.js +1 -1
  55. package/dist/simple-tree/node-kinds/object/objectNode.js.map +1 -1
  56. package/dist/simple-tree/node-kinds/record/recordNode.js +1 -1
  57. package/dist/simple-tree/node-kinds/record/recordNode.js.map +1 -1
  58. package/dist/util/nestedMap.d.ts +1 -1
  59. package/dist/util/nestedMap.js +1 -1
  60. package/dist/util/nestedMap.js.map +1 -1
  61. package/dist/util/referenceCounting.d.ts +1 -1
  62. package/dist/util/referenceCounting.js.map +1 -1
  63. package/lib/codec/codec.d.ts +3 -3
  64. package/lib/codec/codec.js.map +1 -1
  65. package/lib/core/rebase/changeRebaser.d.ts +1 -1
  66. package/lib/core/rebase/changeRebaser.js.map +1 -1
  67. package/lib/core/tree/detachedFieldIndex.d.ts.map +1 -1
  68. package/lib/core/tree/detachedFieldIndex.js +4 -1
  69. package/lib/core/tree/detachedFieldIndex.js.map +1 -1
  70. package/lib/feature-libraries/flex-tree/utilities.d.ts +1 -1
  71. package/lib/feature-libraries/flex-tree/utilities.js +1 -1
  72. package/lib/feature-libraries/flex-tree/utilities.js.map +1 -1
  73. package/lib/feature-libraries/incrementalSummarizationUtils.d.ts +1 -1
  74. package/lib/feature-libraries/incrementalSummarizationUtils.js.map +1 -1
  75. package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts +1 -1
  76. package/lib/feature-libraries/modular-schema/modularChangeFamily.js +1 -1
  77. package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
  78. package/lib/feature-libraries/sequence-field/formatV1.d.ts +1 -1
  79. package/lib/feature-libraries/sequence-field/formatV1.js.map +1 -1
  80. package/lib/feature-libraries/sequence-field/formatV2.d.ts +1 -1
  81. package/lib/feature-libraries/sequence-field/formatV2.js.map +1 -1
  82. package/lib/feature-libraries/sequence-field/formatV3.d.ts +1 -1
  83. package/lib/feature-libraries/sequence-field/formatV3.js.map +1 -1
  84. package/lib/packageVersion.d.ts +1 -1
  85. package/lib/packageVersion.js +1 -1
  86. package/lib/packageVersion.js.map +1 -1
  87. package/lib/shared-tree/sharedTree.d.ts +1 -1
  88. package/lib/shared-tree/sharedTree.js +1 -1
  89. package/lib/shared-tree/sharedTree.js.map +1 -1
  90. package/lib/shared-tree/treeCheckout.d.ts +1 -1
  91. package/lib/shared-tree/treeCheckout.js +1 -1
  92. package/lib/shared-tree/treeCheckout.js.map +1 -1
  93. package/lib/shared-tree-core/transaction.d.ts +2 -2
  94. package/lib/shared-tree-core/transaction.js.map +1 -1
  95. package/lib/simple-tree/core/treeNodeSchema.d.ts +3 -8
  96. package/lib/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
  97. package/lib/simple-tree/core/treeNodeSchema.js.map +1 -1
  98. package/lib/simple-tree/core/treeNodeValid.d.ts +2 -2
  99. package/lib/simple-tree/core/treeNodeValid.d.ts.map +1 -1
  100. package/lib/simple-tree/core/treeNodeValid.js +2 -2
  101. package/lib/simple-tree/core/treeNodeValid.js.map +1 -1
  102. package/lib/simple-tree/core/walkSchema.d.ts.map +1 -1
  103. package/lib/simple-tree/core/walkSchema.js +1 -1
  104. package/lib/simple-tree/core/walkSchema.js.map +1 -1
  105. package/lib/simple-tree/createContext.d.ts.map +1 -1
  106. package/lib/simple-tree/createContext.js +2 -2
  107. package/lib/simple-tree/createContext.js.map +1 -1
  108. package/lib/simple-tree/leafNodeSchema.js +1 -1
  109. package/lib/simple-tree/leafNodeSchema.js.map +1 -1
  110. package/lib/simple-tree/node-kinds/array/arrayNode.d.ts.map +1 -1
  111. package/lib/simple-tree/node-kinds/array/arrayNode.js +1 -1
  112. package/lib/simple-tree/node-kinds/array/arrayNode.js.map +1 -1
  113. package/lib/simple-tree/node-kinds/map/mapNode.js +1 -1
  114. package/lib/simple-tree/node-kinds/map/mapNode.js.map +1 -1
  115. package/lib/simple-tree/node-kinds/object/objectNode.d.ts.map +1 -1
  116. package/lib/simple-tree/node-kinds/object/objectNode.js +1 -1
  117. package/lib/simple-tree/node-kinds/object/objectNode.js.map +1 -1
  118. package/lib/simple-tree/node-kinds/record/recordNode.js +1 -1
  119. package/lib/simple-tree/node-kinds/record/recordNode.js.map +1 -1
  120. package/lib/util/nestedMap.d.ts +1 -1
  121. package/lib/util/nestedMap.js +1 -1
  122. package/lib/util/nestedMap.js.map +1 -1
  123. package/lib/util/referenceCounting.d.ts +1 -1
  124. package/lib/util/referenceCounting.js.map +1 -1
  125. package/package.json +20 -20
  126. package/src/codec/codec.ts +3 -3
  127. package/src/core/rebase/changeRebaser.ts +1 -1
  128. package/src/core/tree/detachedFieldIndex.ts +4 -1
  129. package/src/feature-libraries/flex-tree/utilities.ts +1 -1
  130. package/src/feature-libraries/incrementalSummarizationUtils.ts +1 -1
  131. package/src/feature-libraries/modular-schema/modularChangeFamily.ts +1 -1
  132. package/src/feature-libraries/sequence-field/formatV1.ts +1 -1
  133. package/src/feature-libraries/sequence-field/formatV2.ts +1 -1
  134. package/src/feature-libraries/sequence-field/formatV3.ts +1 -1
  135. package/src/packageVersion.ts +1 -1
  136. package/src/shared-tree/sharedTree.ts +1 -1
  137. package/src/shared-tree/treeCheckout.ts +1 -1
  138. package/src/shared-tree-core/transaction.ts +2 -2
  139. package/src/simple-tree/core/treeNodeSchema.ts +3 -8
  140. package/src/simple-tree/core/treeNodeValid.ts +3 -3
  141. package/src/simple-tree/core/walkSchema.ts +1 -2
  142. package/src/simple-tree/createContext.ts +1 -4
  143. package/src/simple-tree/leafNodeSchema.ts +1 -1
  144. package/src/simple-tree/node-kinds/array/arrayNode.ts +5 -2
  145. package/src/simple-tree/node-kinds/map/mapNode.ts +1 -1
  146. package/src/simple-tree/node-kinds/object/objectNode.ts +1 -4
  147. package/src/simple-tree/node-kinds/record/recordNode.ts +1 -1
  148. package/src/util/nestedMap.ts +1 -1
  149. package/src/util/referenceCounting.ts +1 -1
@@ -2142,7 +2142,7 @@ function deltaFromNodeChange(
2142
2142
  * For example, when rebasing change B from a local branch [A, B, C] over a branch [X, Y], the `baseRevisions` must include
2143
2143
  * revisions [A⁻¹ X, Y, A] if rebasing over the composition of all those changes, or
2144
2144
  * revision [A⁻¹] for the first rebase, then [X], etc. if rebasing over edits individually.
2145
- * @returns - RebaseRevisionMetadata to be passed to `FieldChangeRebaser.rebase`*
2145
+ * @returns RebaseRevisionMetadata to be passed to `FieldChangeRebaser.rebase`*
2146
2146
  */
2147
2147
  export function rebaseRevisionMetadataFromInfo(
2148
2148
  revInfos: readonly RevisionInfo[],
@@ -161,7 +161,7 @@ export const Changeset = <Schema extends TSchema>(tNodeChange: Schema) =>
161
161
  Type.Array(Mark(tNodeChange));
162
162
 
163
163
  /**
164
- * @privateRemarks - Many of these names are currently used in the sequence-field types. Putting them in a namespace makes codec code more readable.
164
+ * @privateRemarks Many of these names are currently used in the sequence-field types. Putting them in a namespace makes codec code more readable.
165
165
  */
166
166
  export namespace Encoded {
167
167
  export type CellCount = Static<typeof CellCount>;
@@ -110,7 +110,7 @@ export const Changeset = <Schema extends TSchema>(tNodeChange: Schema) =>
110
110
  Type.Array(Mark(tNodeChange));
111
111
 
112
112
  /**
113
- * @privateRemarks - Many of these names are currently used in the sequence-field types. Putting them in a namespace makes codec code more readable.
113
+ * @privateRemarks Many of these names are currently used in the sequence-field types. Putting them in a namespace makes codec code more readable.
114
114
  */
115
115
  export namespace Encoded {
116
116
  export type CellCount = Static<typeof CellCount>;
@@ -39,7 +39,7 @@ export const Changeset = <Schema extends TSchema>(tNodeChange: Schema) =>
39
39
  Type.Array(Mark(tNodeChange));
40
40
 
41
41
  /**
42
- * @privateRemarks - Many of these names are currently used in the sequence-field types. Putting them in a namespace makes codec code more readable.
42
+ * @privateRemarks Many of these names are currently used in the sequence-field types. Putting them in a namespace makes codec code more readable.
43
43
  */
44
44
  export namespace Encoded {
45
45
  export type CellCount = EncodedV2.CellCount;
@@ -6,4 +6,4 @@
6
6
  */
7
7
 
8
8
  export const pkgName = "@fluidframework/tree";
9
- export const pkgVersion = "2.70.0-361092";
9
+ export const pkgVersion = "2.70.0-361248";
@@ -667,7 +667,7 @@ export const SharedTreeFormatVersion = {
667
667
  /**
668
668
  * Requires \@fluidframework/tree \>= 2.0.0.
669
669
  *
670
- * @deprecated - FF does not currently plan on supporting this format long-term.
670
+ * @deprecated FF does not currently plan on supporting this format long-term.
671
671
  * Do not write production documents using this format, as they may not be loadable in the future.
672
672
  */
673
673
  v1: 1,
@@ -636,7 +636,7 @@ export class TreeCheckout implements ITreeCheckoutFork {
636
636
  * @param kind - The {@link CommitKind} that produced this revertible (e.g., Default, Undo, Redo).
637
637
  * @param checkout - The {@link TreeCheckout} instance this revertible belongs to.
638
638
  * @param onRevertibleDisposed - Callback function that will be called when the revertible is disposed.
639
- * @returns - {@link RevertibleAlpha}
639
+ * @returns A {@link RevertibleAlpha} object.
640
640
  */
641
641
  private createRevertible(
642
642
  revision: RevisionTag,
@@ -42,7 +42,7 @@ export interface Transactor {
42
42
  * If a transaction is already in progress when this new transaction starts, then this transaction will be "nested" inside of it,
43
43
  * i.e. the outer transaction will still be in progress after this new transaction is committed or aborted.
44
44
  *
45
- * @remarks - Asynchronous transactions are not supported on the root checkout,
45
+ * @remarks Asynchronous transactions are not supported on the root checkout,
46
46
  * since it is always kept up-to-date with the latest remote edits and the results of this rebasing (which might invalidate
47
47
  * the transaction) is not visible to the application author.
48
48
  * Instead,
@@ -51,7 +51,7 @@ export interface Transactor {
51
51
  * 2. run the transaction on the fork
52
52
  * 3. merge the fork back into the root checkout
53
53
  *
54
- * @privateRemarks - There is currently no enforcement that asynchronous transactions don't happen on the root checkout.
54
+ * @privateRemarks There is currently no enforcement that asynchronous transactions don't happen on the root checkout.
55
55
  * AB#6488 tracks adding some enforcement to make it more clear to application authors that this is not supported.
56
56
  */
57
57
  start(): void;
@@ -10,7 +10,7 @@ import type { SimpleNodeSchemaBase } from "./simpleNodeSchemaBase.js";
10
10
  import type { TreeNode } from "./treeNode.js";
11
11
  import type { InternalTreeNode, Unhydrated } from "./types.js";
12
12
  import type { UnionToIntersection } from "../../util/index.js";
13
- import type { ImplicitAllowedTypes, AllowedTypesFullEvaluated } from "./allowedTypes.js";
13
+ import type { AllowedTypesFullEvaluated, AllowedTypesFull } from "./allowedTypes.js";
14
14
  import type { Context } from "./context.js";
15
15
  import type { FieldKey, NodeData, TreeNodeStoredSchema } from "../../core/index.js";
16
16
  import type { UnhydratedFlexTreeField } from "./unhydratedFlexTree.js";
@@ -379,16 +379,11 @@ export interface TreeNodeSchemaPrivateData {
379
379
  * In this case "field" includes anything that is a field in the internal (flex-tree) abstraction layer.
380
380
  * This includes the content field for arrays, and all the fields for map nodes.
381
381
  * If this node does not have fields (and thus is a leaf), the array will be empty.
382
- *
383
- * This set cannot be used before the schema in it have been defined:
384
- * more specifically, when using lazy schema references (for example to make foreword references to schema which have not yet been defined),
385
- * users must wait until after the schema are defined to access this array.
386
- *
387
382
  * @privateRemarks
388
383
  * If this is stabilized, it will live alongside the childTypes property on {@link TreeNodeSchemaCore}.
389
384
  * @system
390
385
  */
391
- readonly childAnnotatedAllowedTypes: readonly ImplicitAllowedTypes[];
386
+ readonly childAllowedTypes: readonly AllowedTypesFull[];
392
387
 
393
388
  /**
394
389
  * Idempotent initialization function that pre-caches data and can dereference lazy schema references.
@@ -422,7 +417,7 @@ export interface TreeNodeSchemaInitializedData {
422
417
  * If this is stabilized, it will live alongside the childTypes property on {@link TreeNodeSchemaCore}.
423
418
  * @system
424
419
  */
425
- readonly childAnnotatedAllowedTypes: readonly AllowedTypesFullEvaluated[];
420
+ readonly childAllowedTypes: readonly AllowedTypesFullEvaluated[];
426
421
 
427
422
  /**
428
423
  * A {@link Context} which can be used for unhydrated nodes of this schema.
@@ -25,7 +25,7 @@ import {
25
25
  } from "./treeNodeKernel.js";
26
26
  import type { InternalTreeNode } from "./types.js";
27
27
  import { typeSchemaSymbol } from "./withType.js";
28
- import type { ImplicitAllowedTypes } from "./allowedTypes.js";
28
+ import type { AllowedTypesFull } from "./allowedTypes.js";
29
29
  import type { SimpleNodeSchemaBase } from "./simpleNodeSchemaBase.js";
30
30
 
31
31
  /**
@@ -259,7 +259,7 @@ export function isClassBasedSchema(
259
259
  */
260
260
  export function createTreeNodeSchemaPrivateData(
261
261
  schema: TreeNodeSchemaCore<string, NodeKind, boolean>,
262
- childAnnotatedAllowedTypes: readonly ImplicitAllowedTypes[],
262
+ childAllowedTypes: readonly AllowedTypesFull[],
263
263
  toStored: TreeNodeSchemaPrivateData["toStored"],
264
264
  ): TreeNodeSchemaPrivateData {
265
265
  const schemaValid = schemaAsTreeNodeValid(schema);
@@ -269,7 +269,7 @@ export function createTreeNodeSchemaPrivateData(
269
269
 
270
270
  return {
271
271
  idempotentInitialize: () => schemaValid.oneTimeInitialize().oneTimeInitialized,
272
- childAnnotatedAllowedTypes,
272
+ childAllowedTypes,
273
273
  toStored,
274
274
  };
275
275
  }
@@ -28,8 +28,7 @@ export function walkNodeSchema(
28
28
  // Since walkNodeSchema is used in the implementation of TreeNodeSchemaPrivateData.idempotentInitialize,
29
29
  // Avoid depending on it here to avoid circular dependencies for recursive schema.
30
30
  // Instead normalize/evaluate the allowed types as needed.
31
- const annotatedAllowedTypes =
32
- getTreeNodeSchemaPrivateData(schema).childAnnotatedAllowedTypes;
31
+ const annotatedAllowedTypes = getTreeNodeSchemaPrivateData(schema).childAllowedTypes;
33
32
 
34
33
  for (const fieldAllowedTypes of annotatedAllowedTypes) {
35
34
  walkAllowedTypes(
@@ -9,7 +9,6 @@ import { getOrCreate } from "../util/index.js";
9
9
  import {
10
10
  Context,
11
11
  getTreeNodeSchemaPrivateData,
12
- normalizeAndEvaluateAnnotatedAllowedTypes,
13
12
  UnhydratedContext,
14
13
  type TreeNodeSchema,
15
14
  type TreeNodeSchemaInitializedData,
@@ -50,8 +49,6 @@ export function getTreeNodeSchemaInitializedData(
50
49
  return {
51
50
  ...handler,
52
51
  context: getUnhydratedContext(schema),
53
- childAnnotatedAllowedTypes: data.childAnnotatedAllowedTypes.map(
54
- normalizeAndEvaluateAnnotatedAllowedTypes,
55
- ),
52
+ childAllowedTypes: data.childAllowedTypes.map((t) => t.evaluate()),
56
53
  };
57
54
  }
@@ -63,7 +63,7 @@ export class LeafNodeSchema<Name extends string, const T extends ValueSchema>
63
63
  allowedTypes: ReadonlySet<TreeNodeSchema>,
64
64
  ): FlexContent => leafToFlexContent(data, this, allowedTypes),
65
65
  })),
66
- childAnnotatedAllowedTypes: [],
66
+ childAllowedTypes: [],
67
67
  toStored: () => new LeafNodeStoredSchema(this.leafKind),
68
68
  };
69
69
  #initializedData: TreeNodeSchemaInitializedData | undefined;
@@ -1273,8 +1273,11 @@ export function arraySchema<
1273
1273
  }
1274
1274
 
1275
1275
  public static get [privateDataSymbol](): TreeNodeSchemaPrivateData {
1276
- return (privateData ??= createTreeNodeSchemaPrivateData(this, [info], (storedOptions) =>
1277
- arrayNodeStoredSchema(convertAllowedTypes(info, storedOptions), persistedMetadata),
1276
+ return (privateData ??= createTreeNodeSchemaPrivateData(
1277
+ this,
1278
+ [normalizedTypes],
1279
+ (storedOptions) =>
1280
+ arrayNodeStoredSchema(convertAllowedTypes(info, storedOptions), persistedMetadata),
1278
1281
  ));
1279
1282
  }
1280
1283
  }
@@ -336,7 +336,7 @@ export function mapSchema<
336
336
  public static get [privateDataSymbol](): TreeNodeSchemaPrivateData {
337
337
  return (privateData ??= createTreeNodeSchemaPrivateData(
338
338
  this,
339
- [info],
339
+ [normalizedTypes],
340
340
  (storedOptions) =>
341
341
  new MapNodeStoredSchema(
342
342
  {
@@ -577,10 +577,7 @@ export function objectSchema<
577
577
  public static get [privateDataSymbol](): TreeNodeSchemaPrivateData {
578
578
  return (privateData ??= createTreeNodeSchemaPrivateData(
579
579
  this,
580
- Array.from(
581
- flexKeyMap.values(),
582
- ({ schema }) => normalizeFieldSchema(schema).allowedTypes,
583
- ),
580
+ Array.from(CustomObjectNode.fields.values(), (schema) => schema.allowedTypesFull),
584
581
  (storedOptions) => {
585
582
  const fields: Map<FieldKey, TreeFieldStoredSchema> = new Map();
586
583
  for (const fieldSchema of flexKeyMap.values()) {
@@ -381,7 +381,7 @@ export function recordSchema<
381
381
  public static get [privateDataSymbol](): TreeNodeSchemaPrivateData {
382
382
  return (privateData ??= createTreeNodeSchemaPrivateData(
383
383
  this,
384
- [info],
384
+ [normalizedTypes],
385
385
  (storedOptions) =>
386
386
  new MapNodeStoredSchema(
387
387
  {
@@ -49,7 +49,7 @@ export function tryAddToNestedMap<Key1, Key2, Value>(
49
49
  * @param destination - The map to copy data into. Both the outer and inner map may be mutated.
50
50
  * @param override - Whether existing entries in `destination` should be replaced by corresponding entries in `source`.
51
51
  *
52
- * @remarks - This function performs deep copying when necessary.
52
+ * @remarks This function performs deep copying when necessary.
53
53
  * This ensures that mutating `destination` after this call will not result in unexpected mutations to `source`.
54
54
  */
55
55
  export function populateNestedMap<Key1, Key2, Value>(
@@ -8,7 +8,7 @@ import { assert } from "@fluidframework/core-utils/internal";
8
8
  /**
9
9
  * An object which counts the number of users / references to it.
10
10
  * @remarks
11
- * This implements the [Reference counting](https://en.wikipedia.org/wiki/Reference_counting) pattern.
11
+ * This implements the {@link https://en.wikipedia.org/wiki/Reference_counting | Reference counting} pattern.
12
12
  * Getting the reference count correct is difficult in TypeScript and great care must be used.
13
13
  * Because of this, this interface should not be used in the public API.
14
14
  */