@fluidframework/map 2.0.0-internal.2.2.0 → 2.0.0-internal.2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +4 -1
- package/dist/directory.d.ts +5 -4
- package/dist/directory.d.ts.map +1 -1
- package/dist/directory.js +26 -11
- package/dist/directory.js.map +1 -1
- package/dist/interfaces.d.ts +3 -4
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js.map +1 -1
- package/dist/internalInterfaces.d.ts +39 -0
- package/dist/internalInterfaces.d.ts.map +1 -1
- package/dist/internalInterfaces.js.map +1 -1
- package/dist/localValues.d.ts +12 -3
- package/dist/localValues.d.ts.map +1 -1
- package/dist/localValues.js +10 -0
- package/dist/localValues.js.map +1 -1
- package/dist/map.d.ts +4 -4
- package/dist/map.d.ts.map +1 -1
- package/dist/map.js +11 -0
- package/dist/map.js.map +1 -1
- package/dist/mapKernel.d.ts +5 -5
- package/dist/mapKernel.d.ts.map +1 -1
- package/dist/mapKernel.js +25 -11
- package/dist/mapKernel.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/lib/directory.d.ts +5 -4
- package/lib/directory.d.ts.map +1 -1
- package/lib/directory.js +26 -11
- package/lib/directory.js.map +1 -1
- package/lib/interfaces.d.ts +3 -4
- package/lib/interfaces.d.ts.map +1 -1
- package/lib/interfaces.js.map +1 -1
- package/lib/internalInterfaces.d.ts +39 -0
- package/lib/internalInterfaces.d.ts.map +1 -1
- package/lib/internalInterfaces.js.map +1 -1
- package/lib/localValues.d.ts +12 -3
- package/lib/localValues.d.ts.map +1 -1
- package/lib/localValues.js +10 -0
- package/lib/localValues.js.map +1 -1
- package/lib/map.d.ts +4 -4
- package/lib/map.d.ts.map +1 -1
- package/lib/map.js +11 -0
- package/lib/map.js.map +1 -1
- package/lib/mapKernel.d.ts +5 -5
- package/lib/mapKernel.d.ts.map +1 -1
- package/lib/mapKernel.js +25 -11
- package/lib/mapKernel.js.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/package.json +17 -16
- package/src/directory.ts +85 -54
- package/src/interfaces.ts +19 -9
- package/src/internalInterfaces.ts +45 -0
- package/src/localValues.ts +18 -7
- package/src/map.ts +28 -17
- package/src/mapKernel.ts +50 -32
- package/src/packageVersion.ts +1 -1
package/.eslintrc.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
module.exports = {
|
|
7
7
|
"extends": [
|
|
8
|
-
require.resolve("@fluidframework/eslint-config-fluid"), "prettier"
|
|
8
|
+
require.resolve("@fluidframework/eslint-config-fluid/strict"), "prettier"
|
|
9
9
|
],
|
|
10
10
|
"parserOptions": {
|
|
11
11
|
"project": [
|
|
@@ -16,5 +16,8 @@ module.exports = {
|
|
|
16
16
|
"rules": {
|
|
17
17
|
"@typescript-eslint/no-use-before-define": "off",
|
|
18
18
|
"@typescript-eslint/strict-boolean-expressions": "off",
|
|
19
|
+
|
|
20
|
+
// TODO: consider re-enabling once we have addressed how this rule conflicts with our error codes.
|
|
21
|
+
"unicorn/numeric-separators-style": "off",
|
|
19
22
|
}
|
|
20
23
|
}
|
package/dist/directory.d.ts
CHANGED
|
@@ -239,7 +239,7 @@ export declare class SharedDirectory extends SharedObject<ISharedDirectoryEvents
|
|
|
239
239
|
/**
|
|
240
240
|
* {@inheritDoc IDirectory.set}
|
|
241
241
|
*/
|
|
242
|
-
set<T =
|
|
242
|
+
set<T = unknown>(key: string, value: T): this;
|
|
243
243
|
dispose(error?: Error): void;
|
|
244
244
|
get disposed(): boolean;
|
|
245
245
|
/**
|
|
@@ -337,7 +337,7 @@ export declare class SharedDirectory extends SharedObject<ISharedDirectoryEvents
|
|
|
337
337
|
* {@inheritDoc @fluidframework/shared-object-base#SharedObject.reSubmitCore}
|
|
338
338
|
* @internal
|
|
339
339
|
*/
|
|
340
|
-
protected reSubmitCore(content:
|
|
340
|
+
protected reSubmitCore(content: unknown, localOpMetadata: unknown): void;
|
|
341
341
|
/**
|
|
342
342
|
* {@inheritDoc @fluidframework/shared-object-base#SharedObject.loadCore}
|
|
343
343
|
* @internal
|
|
@@ -358,7 +358,7 @@ export declare class SharedDirectory extends SharedObject<ISharedDirectoryEvents
|
|
|
358
358
|
* {@inheritDoc @fluidframework/shared-object-base#SharedObject.rollback}
|
|
359
359
|
* @internal
|
|
360
360
|
*/
|
|
361
|
-
protected rollback(content:
|
|
361
|
+
protected rollback(content: unknown, localOpMetadata: unknown): void;
|
|
362
362
|
/**
|
|
363
363
|
* Converts the given relative path to absolute against the root.
|
|
364
364
|
* @param relativePath - The path to convert
|
|
@@ -380,9 +380,10 @@ export declare class SharedDirectory extends SharedObject<ISharedDirectoryEvents
|
|
|
380
380
|
*/
|
|
381
381
|
private setMessageHandlers;
|
|
382
382
|
/**
|
|
383
|
+
* {@inheritDoc @fluidframework/shared-object-base#SharedObjectCore.applyStashedOp}
|
|
383
384
|
* @internal
|
|
384
385
|
*/
|
|
385
|
-
protected applyStashedOp(op:
|
|
386
|
+
protected applyStashedOp(op: unknown): unknown;
|
|
386
387
|
private serializeDirectory;
|
|
387
388
|
}
|
|
388
389
|
//# sourceMappingURL=directory.d.ts.map
|
package/dist/directory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../src/directory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EACH,yBAAyB,EAE5B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACH,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EAClB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAa,MAAM,oCAAoC,CAAC;AAG/F,OAAO,EACH,UAAU,EAGV,kBAAkB,EAElB,gBAAgB,EAChB,sBAAsB,EAEzB,MAAM,cAAc,CAAC;AACtB,OAAO,EAEH,eAAe,EAElB,MAAM,eAAe,CAAC;AAoCvB;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC;IAEZ;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,kBAAkB,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC;;OAEG;IACH,IAAI,EAAE,QAAQ,CAAC;IAEf;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,oBAAY,sBAAsB,GAAG,sBAAsB,GAAG,yBAAyB,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,oBAAY,0BAA0B,GAAG,sBAAsB,GAAG,wBAAwB,CAAC;AAE3F;;GAEG;AACH,MAAM,WAAW,qCAAqC;IAClD;;OAEG;IACH,IAAI,EAAE,oBAAoB,CAAC;IAE3B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,qCAAqC;IAClD;;OAEG;IACH,IAAI,EAAE,oBAAoB,CAAC;IAE3B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,oBAAY,+BAA+B,GAAG,qCAAqC,GAC7E,qCAAqC,CAAC;AAE5C;;GAEG;AACH,oBAAY,mBAAmB,GAAG,0BAA0B,GAAG,+BAA+B,CAAC;AAE/F;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACjC;;OAEG;IACH,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAC;KAAE,CAAC;IAEjD;;OAEG;IACH,cAAc,CAAC,EAAE;QAAE,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB,CAAC;KAAE,CAAC;CACpE;AAED;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACvC;;OAEG;IACH,KAAK,EAAE,MAAM,EAAE,CAAC;IAEhB;;OAEG;IACH,OAAO,EAAE,oBAAoB,CAAC;CACjC;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,YAAW,eAAe;IACpD;;OAEG;IACH,gBAAuB,IAAI,iDAAiD;IAE5E;;OAEG;IACH,gBAAuB,UAAU,EAAE,kBAAkB,CAInD;IAEF;;OAEG;IACH,IAAW,IAAI,
|
|
1
|
+
{"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../src/directory.ts"],"names":[],"mappings":"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"}
|
package/dist/directory.js
CHANGED
|
@@ -160,6 +160,8 @@ class SharedDirectory extends shared_object_base_1.SharedObject {
|
|
|
160
160
|
/**
|
|
161
161
|
* {@inheritDoc IDirectory.get}
|
|
162
162
|
*/
|
|
163
|
+
// TODO: Use `unknown` instead (breaking change).
|
|
164
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
163
165
|
get(key) {
|
|
164
166
|
return this.root.get(key);
|
|
165
167
|
}
|
|
@@ -208,13 +210,18 @@ class SharedDirectory extends shared_object_base_1.SharedObject {
|
|
|
208
210
|
* Issue a callback on each entry under this IDirectory.
|
|
209
211
|
* @param callback - Callback to issue
|
|
210
212
|
*/
|
|
213
|
+
// TODO: Use `unknown` instead (breaking change).
|
|
214
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
211
215
|
forEach(callback) {
|
|
216
|
+
// eslint-disable-next-line unicorn/no-array-for-each, unicorn/no-array-callback-reference
|
|
212
217
|
this.root.forEach(callback);
|
|
213
218
|
}
|
|
214
219
|
/**
|
|
215
220
|
* Get an iterator over the entries under this IDirectory.
|
|
216
221
|
* @returns The iterator
|
|
217
222
|
*/
|
|
223
|
+
// TODO: Use `unknown` instead (breaking change).
|
|
224
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
218
225
|
[(_a = Symbol.toStringTag, Symbol.iterator)]() {
|
|
219
226
|
return this.root[Symbol.iterator]();
|
|
220
227
|
}
|
|
@@ -222,6 +229,8 @@ class SharedDirectory extends shared_object_base_1.SharedObject {
|
|
|
222
229
|
* Get an iterator over the entries under this IDirectory.
|
|
223
230
|
* @returns The iterator
|
|
224
231
|
*/
|
|
232
|
+
// TODO: Use `unknown` instead (breaking change).
|
|
233
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
225
234
|
entries() {
|
|
226
235
|
return this.root.entries();
|
|
227
236
|
}
|
|
@@ -242,6 +251,8 @@ class SharedDirectory extends shared_object_base_1.SharedObject {
|
|
|
242
251
|
* Get an iterator over the values under this IDirectory.
|
|
243
252
|
* @returns The iterator
|
|
244
253
|
*/
|
|
254
|
+
// TODO: Use `unknown` instead (breaking change).
|
|
255
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
245
256
|
values() {
|
|
246
257
|
return this.root.values();
|
|
247
258
|
}
|
|
@@ -284,7 +295,7 @@ class SharedDirectory extends shared_object_base_1.SharedObject {
|
|
|
284
295
|
return this.root;
|
|
285
296
|
}
|
|
286
297
|
let currentSubDir = this.root;
|
|
287
|
-
const subdirs = absolutePath.
|
|
298
|
+
const subdirs = absolutePath.slice(1).split(posix.sep);
|
|
288
299
|
for (const subdir of subdirs) {
|
|
289
300
|
currentSubDir = currentSubDir.getSubDirectory(subdir);
|
|
290
301
|
if (!currentSubDir) {
|
|
@@ -498,7 +509,6 @@ class SharedDirectory extends shared_object_base_1.SharedObject {
|
|
|
498
509
|
parentSubdir.resubmitSubDirectoryMessage(op, localOpMetadata);
|
|
499
510
|
}
|
|
500
511
|
},
|
|
501
|
-
// eslint-disable-next-line max-len
|
|
502
512
|
applyStashedOp: (op) => {
|
|
503
513
|
const parentSubdir = this.getWorkingDirectory(op.path);
|
|
504
514
|
if (parentSubdir) {
|
|
@@ -520,7 +530,6 @@ class SharedDirectory extends shared_object_base_1.SharedObject {
|
|
|
520
530
|
parentSubdir.resubmitSubDirectoryMessage(op, localOpMetadata);
|
|
521
531
|
}
|
|
522
532
|
},
|
|
523
|
-
// eslint-disable-next-line max-len
|
|
524
533
|
applyStashedOp: (op) => {
|
|
525
534
|
const parentSubdir = this.getWorkingDirectory(op.path);
|
|
526
535
|
if (parentSubdir) {
|
|
@@ -530,6 +539,7 @@ class SharedDirectory extends shared_object_base_1.SharedObject {
|
|
|
530
539
|
});
|
|
531
540
|
}
|
|
532
541
|
/**
|
|
542
|
+
* {@inheritDoc @fluidframework/shared-object-base#SharedObjectCore.applyStashedOp}
|
|
533
543
|
* @internal
|
|
534
544
|
*/
|
|
535
545
|
applyStashedOp(op) {
|
|
@@ -556,14 +566,13 @@ class SharedDirectory extends shared_object_base_1.SharedObject {
|
|
|
556
566
|
}
|
|
557
567
|
const result = {
|
|
558
568
|
type: value.type,
|
|
559
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
560
569
|
value: value.value && JSON.parse(value.value),
|
|
561
570
|
};
|
|
562
571
|
if (value.value && value.value.length >= MinValueSizeSeparateSnapshotBlob) {
|
|
563
572
|
const extraContent = {};
|
|
564
573
|
let largeContent = extraContent;
|
|
565
574
|
if (currentSubDir.absolutePath !== posix.sep) {
|
|
566
|
-
for (const dir of currentSubDir.absolutePath.
|
|
575
|
+
for (const dir of currentSubDir.absolutePath.slice(1).split(posix.sep)) {
|
|
567
576
|
const subDataObject = {};
|
|
568
577
|
largeContent.subdirectories = { [dir]: subDataObject };
|
|
569
578
|
largeContent = subDataObject;
|
|
@@ -597,6 +606,7 @@ class SharedDirectory extends shared_object_base_1.SharedObject {
|
|
|
597
606
|
}
|
|
598
607
|
}
|
|
599
608
|
exports.SharedDirectory = SharedDirectory;
|
|
609
|
+
/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access */
|
|
600
610
|
function isKeyEditLocalOpMetadata(metadata) {
|
|
601
611
|
return metadata !== undefined && typeof metadata.pendingMessageId === "number" && metadata.type === "edit";
|
|
602
612
|
}
|
|
@@ -615,6 +625,7 @@ function isDirectoryLocalOpMetadata(metadata) {
|
|
|
615
625
|
(metadata.type === "clear" && typeof metadata.previousStorage === "object") ||
|
|
616
626
|
(metadata.type === "createSubDir" && typeof metadata.previouslyExisted === "boolean"));
|
|
617
627
|
}
|
|
628
|
+
/* eslint-enable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access */
|
|
618
629
|
/**
|
|
619
630
|
* Node of the directory tree.
|
|
620
631
|
* @sealed
|
|
@@ -854,6 +865,7 @@ class SubDirectory extends common_utils_1.TypedEventEmitter {
|
|
|
854
865
|
*/
|
|
855
866
|
forEach(callback) {
|
|
856
867
|
this.throwIfDisposed();
|
|
868
|
+
// eslint-disable-next-line unicorn/no-array-for-each
|
|
857
869
|
this._storage.forEach((localValue, key, map) => {
|
|
858
870
|
callback(localValue.value, key, map);
|
|
859
871
|
});
|
|
@@ -1276,19 +1288,21 @@ class SubDirectory extends common_utils_1.TypedEventEmitter {
|
|
|
1276
1288
|
map.delete(key);
|
|
1277
1289
|
}
|
|
1278
1290
|
}
|
|
1291
|
+
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
1279
1292
|
/**
|
|
1280
1293
|
* Rollback a local op
|
|
1281
1294
|
* @param op - The operation to rollback
|
|
1282
1295
|
* @param localOpMetadata - The local metadata associated with the op.
|
|
1283
1296
|
*/
|
|
1297
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1284
1298
|
rollback(op, localOpMetadata) {
|
|
1285
1299
|
if (!isDirectoryLocalOpMetadata(localOpMetadata)) {
|
|
1286
1300
|
throw new Error("Invalid localOpMetadata");
|
|
1287
1301
|
}
|
|
1288
1302
|
if (op.type === "clear" && localOpMetadata.type === "clear") {
|
|
1289
|
-
localOpMetadata.previousStorage.
|
|
1303
|
+
for (const [key, localValue] of localOpMetadata.previousStorage.entries()) {
|
|
1290
1304
|
this.setCore(key, localValue, true);
|
|
1291
|
-
}
|
|
1305
|
+
}
|
|
1292
1306
|
const lastPendingClearId = this.pendingClearMessageIds.pop();
|
|
1293
1307
|
if (lastPendingClearId === undefined || lastPendingClearId !== localOpMetadata.pendingMessageId) {
|
|
1294
1308
|
throw new Error("Rollback op does match last clear");
|
|
@@ -1322,6 +1336,7 @@ class SubDirectory extends common_utils_1.TypedEventEmitter {
|
|
|
1322
1336
|
throw new Error("Unsupported op for rollback");
|
|
1323
1337
|
}
|
|
1324
1338
|
}
|
|
1339
|
+
/* eslint-enable @typescript-eslint/no-unsafe-member-access */
|
|
1325
1340
|
/**
|
|
1326
1341
|
* Converts the given relative path into an absolute path.
|
|
1327
1342
|
* @param path - Relative path to convert
|
|
@@ -1399,14 +1414,14 @@ class SubDirectory extends common_utils_1.TypedEventEmitter {
|
|
|
1399
1414
|
// Assuming the pendingKeys is small and the map is large
|
|
1400
1415
|
// we will get the value for the pendingKeys and clear the map
|
|
1401
1416
|
const temp = new Map();
|
|
1402
|
-
|
|
1417
|
+
for (const [key] of this.pendingKeys) {
|
|
1403
1418
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
1404
1419
|
temp.set(key, this._storage.get(key));
|
|
1405
|
-
}
|
|
1420
|
+
}
|
|
1406
1421
|
this.clearCore(local);
|
|
1407
|
-
|
|
1422
|
+
for (const [key, value] of temp.entries()) {
|
|
1408
1423
|
this.setCore(key, value, true);
|
|
1409
|
-
}
|
|
1424
|
+
}
|
|
1410
1425
|
}
|
|
1411
1426
|
/**
|
|
1412
1427
|
* Clear implementation used for both locally sourced clears as well as incoming remote clears.
|