@fluidframework/sequence 0.59.3002 → 0.59.4000-71130

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 (82) hide show
  1. package/dist/{mapKernel.d.ts → defaultMap.d.ts} +21 -145
  2. package/dist/defaultMap.d.ts.map +1 -0
  3. package/dist/defaultMap.js +317 -0
  4. package/dist/defaultMap.js.map +1 -0
  5. package/dist/{mapKernelInterfaces.d.ts → defaultMapInterfaces.d.ts} +9 -51
  6. package/dist/defaultMapInterfaces.d.ts.map +1 -0
  7. package/dist/{mapKernelInterfaces.js → defaultMapInterfaces.js} +1 -1
  8. package/dist/defaultMapInterfaces.js.map +1 -0
  9. package/dist/index.d.ts +1 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/intervalCollection.d.ts +12 -3
  13. package/dist/intervalCollection.d.ts.map +1 -1
  14. package/dist/intervalCollection.js +44 -39
  15. package/dist/intervalCollection.js.map +1 -1
  16. package/dist/localValues.d.ts +7 -86
  17. package/dist/localValues.d.ts.map +1 -1
  18. package/dist/localValues.js +1 -131
  19. package/dist/localValues.js.map +1 -1
  20. package/dist/packageVersion.d.ts +1 -1
  21. package/dist/packageVersion.d.ts.map +1 -1
  22. package/dist/packageVersion.js +1 -1
  23. package/dist/packageVersion.js.map +1 -1
  24. package/dist/sequence.d.ts +5 -1
  25. package/dist/sequence.d.ts.map +1 -1
  26. package/dist/sequence.js +23 -23
  27. package/dist/sequence.js.map +1 -1
  28. package/dist/sharedIntervalCollection.d.ts +13 -5
  29. package/dist/sharedIntervalCollection.d.ts.map +1 -1
  30. package/dist/sharedIntervalCollection.js +16 -12
  31. package/dist/sharedIntervalCollection.js.map +1 -1
  32. package/lib/{mapKernel.d.ts → defaultMap.d.ts} +21 -145
  33. package/lib/defaultMap.d.ts.map +1 -0
  34. package/lib/defaultMap.js +313 -0
  35. package/lib/defaultMap.js.map +1 -0
  36. package/lib/{mapKernelInterfaces.d.ts → defaultMapInterfaces.d.ts} +9 -51
  37. package/lib/defaultMapInterfaces.d.ts.map +1 -0
  38. package/lib/{mapKernelInterfaces.js → defaultMapInterfaces.js} +1 -1
  39. package/lib/defaultMapInterfaces.js.map +1 -0
  40. package/lib/index.d.ts +1 -1
  41. package/lib/index.d.ts.map +1 -1
  42. package/lib/index.js.map +1 -1
  43. package/lib/intervalCollection.d.ts +12 -3
  44. package/lib/intervalCollection.d.ts.map +1 -1
  45. package/lib/intervalCollection.js +44 -39
  46. package/lib/intervalCollection.js.map +1 -1
  47. package/lib/localValues.d.ts +7 -86
  48. package/lib/localValues.d.ts.map +1 -1
  49. package/lib/localValues.js +1 -129
  50. package/lib/localValues.js.map +1 -1
  51. package/lib/packageVersion.d.ts +1 -1
  52. package/lib/packageVersion.d.ts.map +1 -1
  53. package/lib/packageVersion.js +1 -1
  54. package/lib/packageVersion.js.map +1 -1
  55. package/lib/sequence.d.ts +5 -1
  56. package/lib/sequence.d.ts.map +1 -1
  57. package/lib/sequence.js +23 -23
  58. package/lib/sequence.js.map +1 -1
  59. package/lib/sharedIntervalCollection.d.ts +13 -5
  60. package/lib/sharedIntervalCollection.d.ts.map +1 -1
  61. package/lib/sharedIntervalCollection.js +16 -12
  62. package/lib/sharedIntervalCollection.js.map +1 -1
  63. package/package.json +23 -18
  64. package/src/defaultMap.ts +453 -0
  65. package/src/{mapKernelInterfaces.ts → defaultMapInterfaces.ts} +14 -59
  66. package/src/index.ts +1 -1
  67. package/src/intervalCollection.ts +58 -43
  68. package/src/localValues.ts +6 -154
  69. package/src/packageVersion.ts +1 -1
  70. package/src/sequence.ts +32 -33
  71. package/src/sharedIntervalCollection.ts +22 -25
  72. package/dist/mapKernel.d.ts.map +0 -1
  73. package/dist/mapKernel.js +0 -599
  74. package/dist/mapKernel.js.map +0 -1
  75. package/dist/mapKernelInterfaces.d.ts.map +0 -1
  76. package/dist/mapKernelInterfaces.js.map +0 -1
  77. package/lib/mapKernel.d.ts.map +0 -1
  78. package/lib/mapKernel.js +0 -595
  79. package/lib/mapKernel.js.map +0 -1
  80. package/lib/mapKernelInterfaces.d.ts.map +0 -1
  81. package/lib/mapKernelInterfaces.js.map +0 -1
  82. package/src/mapKernel.ts +0 -850
@@ -24,13 +24,14 @@ import {
24
24
  IntervalCollectionValueType,
25
25
  ISerializableInterval,
26
26
  } from "./intervalCollection";
27
- import { MapKernel } from "./mapKernel";
27
+ import { IMapMessageLocalMetadata, DefaultMap } from "./defaultMap";
28
28
  import { pkgVersion } from "./packageVersion";
29
29
 
30
30
  const snapshotFileName = "header";
31
31
 
32
32
  /**
33
33
  * The factory that defines the SharedIntervalCollection
34
+ * @deprecated - SharedIntervalCollection is not maintained and is planned to be removed.
34
35
  */
35
36
  export class SharedIntervalCollectionFactory implements IChannelFactory {
36
37
  public static readonly Type = "https://graph.microsoft.com/types/sharedIntervalCollection";
@@ -79,8 +80,11 @@ export interface ISharedIntervalCollection<TInterval extends ISerializableInterv
79
80
  getIntervalCollection(label: string): IntervalCollection<TInterval>;
80
81
  }
81
82
 
82
- export class SharedIntervalCollection<TInterval extends ISerializableInterval = Interval>
83
- extends SharedObject implements ISharedIntervalCollection<TInterval> {
83
+ /**
84
+ * @deprecated - SharedIntervalCollection is not maintained and is planned to be removed.
85
+ */
86
+ export class SharedIntervalCollection
87
+ extends SharedObject implements ISharedIntervalCollection<Interval> {
84
88
  /**
85
89
  * Create a SharedIntervalCollection
86
90
  *
@@ -102,7 +106,7 @@ export class SharedIntervalCollection<TInterval extends ISerializableInterval =
102
106
  }
103
107
 
104
108
  public readonly [Symbol.toStringTag]: string = "SharedIntervalCollection";
105
- private readonly intervalMapKernel: MapKernel;
109
+ private readonly intervalCollections: DefaultMap<IntervalCollection<Interval>>;
106
110
 
107
111
  /**
108
112
  * Constructs a new shared SharedIntervalCollection. If the object is non-local an id and service interfaces will
@@ -114,43 +118,36 @@ export class SharedIntervalCollection<TInterval extends ISerializableInterval =
114
118
  attributes: IChannelAttributes,
115
119
  ) {
116
120
  super(id, runtime, attributes);
117
- this.intervalMapKernel = new MapKernel(
121
+ this.intervalCollections = new DefaultMap(
118
122
  this.serializer,
119
123
  this.handle,
120
124
  (op, localOpMetadata) => this.submitLocalMessage(op, localOpMetadata),
121
- () => this.isAttached(),
122
- [new IntervalCollectionValueType()],
125
+ new IntervalCollectionValueType(),
123
126
  );
124
127
  }
125
128
 
129
+ /**
130
+ * @deprecated - IntervalCollections are created on a first-write wins basis, and concurrent creates
131
+ * are supported. Use `getIntervalCollection` instead.
132
+ */
126
133
  public async waitIntervalCollection(
127
134
  label: string,
128
- ): Promise<IntervalCollection<TInterval>> {
129
- return this.intervalMapKernel.wait<IntervalCollection<TInterval>>(
130
- this.getIntervalCollectionPath(label));
135
+ ): Promise<IntervalCollection<Interval>> {
136
+ return this.intervalCollections.get(this.getIntervalCollectionPath(label));
131
137
  }
132
138
 
133
- // TODO: fix race condition on creation by putting type on every operation
134
- public getIntervalCollection(label: string): IntervalCollection<TInterval> {
139
+ public getIntervalCollection(label: string): IntervalCollection<Interval> {
135
140
  const realLabel = this.getIntervalCollectionPath(label);
136
- if (!this.intervalMapKernel.has(realLabel)) {
137
- this.intervalMapKernel.createValueType(
138
- label,
139
- IntervalCollectionValueType.Name,
140
- undefined);
141
- }
142
-
143
- const sharedCollection =
144
- this.intervalMapKernel.get<IntervalCollection<TInterval>>(realLabel);
141
+ const sharedCollection = this.intervalCollections.get(realLabel);
145
142
  return sharedCollection;
146
143
  }
147
144
 
148
145
  protected summarizeCore(serializer: IFluidSerializer): ISummaryTreeWithStats {
149
- return createSingleBlobSummary(snapshotFileName, this.intervalMapKernel.serialize(serializer));
146
+ return createSingleBlobSummary(snapshotFileName, this.intervalCollections.serialize(serializer));
150
147
  }
151
148
 
152
149
  protected reSubmitCore(content: any, localOpMetadata: unknown) {
153
- this.intervalMapKernel.trySubmitMessage(content, localOpMetadata);
150
+ this.intervalCollections.trySubmitMessage(content, localOpMetadata as IMapMessageLocalMetadata);
154
151
  }
155
152
 
156
153
  protected onDisconnect() { }
@@ -161,12 +158,12 @@ export class SharedIntervalCollection<TInterval extends ISerializableInterval =
161
158
  protected async loadCore(storage: IChannelStorageService) {
162
159
  const blob = await storage.readBlob(snapshotFileName);
163
160
  const header = bufferToString(blob, "utf8");
164
- this.intervalMapKernel.populate(header);
161
+ this.intervalCollections.populate(header);
165
162
  }
166
163
 
167
164
  protected processCore(message: ISequencedDocumentMessage, local: boolean, localOpMetadata: unknown) {
168
165
  if (message.type === MessageType.Operation) {
169
- this.intervalMapKernel.tryProcessMessage(message.contents, local, message, localOpMetadata);
166
+ this.intervalCollections.tryProcessMessage(message.contents, local, message, localOpMetadata);
170
167
  }
171
168
  }
172
169
 
@@ -1 +0,0 @@
1
- {"version":3,"file":"mapKernel.d.ts","sourceRoot":"","sources":["../src/mapKernel.ts"],"names":[],"mappings":"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"}