@fluidframework/map 2.0.0-rc.1.0.6 → 2.0.0-rc.2.0.1
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 → .eslintrc.cjs} +10 -1
- package/{.mocharc.js → .mocharc.cjs} +1 -1
- package/CHANGELOG.md +11 -0
- package/{api-extractor-esm.json → api-extractor-cjs.json} +5 -1
- package/api-extractor-lint.json +1 -1
- package/api-extractor.json +1 -1
- package/api-report/map.api.md +14 -57
- package/dist/directory.d.ts +10 -50
- package/dist/directory.d.ts.map +1 -1
- package/dist/directory.js +76 -164
- package/dist/directory.js.map +1 -1
- package/dist/index.d.ts +45 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +43 -8
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js.map +1 -1
- package/dist/internalInterfaces.d.ts +2 -2
- package/dist/internalInterfaces.d.ts.map +1 -1
- package/dist/internalInterfaces.js.map +1 -1
- package/dist/localValues.d.ts +3 -5
- package/dist/localValues.d.ts.map +1 -1
- package/dist/localValues.js +9 -8
- package/dist/localValues.js.map +1 -1
- package/dist/map-alpha.d.ts +31 -116
- package/dist/map-beta.d.ts +24 -105
- package/dist/map-public.d.ts +24 -105
- package/dist/map-untrimmed.d.ts +31 -116
- package/dist/map.d.ts +4 -23
- package/dist/map.d.ts.map +1 -1
- package/dist/map.js +6 -29
- package/dist/map.js.map +1 -1
- package/dist/mapKernel.d.ts +3 -4
- package/dist/mapKernel.d.ts.map +1 -1
- package/dist/mapKernel.js +30 -35
- package/dist/mapKernel.js.map +1 -1
- package/dist/package.json +3 -0
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/tsdoc-metadata.json +1 -1
- package/lib/{directory.d.mts → directory.d.ts} +11 -51
- package/lib/directory.d.ts.map +1 -0
- package/lib/{directory.mjs → directory.js} +77 -165
- package/lib/directory.js.map +1 -0
- package/lib/index.d.ts +61 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +55 -0
- package/lib/index.js.map +1 -0
- package/lib/{interfaces.d.mts → interfaces.d.ts} +1 -1
- package/lib/interfaces.d.ts.map +1 -0
- package/lib/{interfaces.mjs → interfaces.js} +1 -1
- package/lib/interfaces.js.map +1 -0
- package/lib/{internalInterfaces.d.mts → internalInterfaces.d.ts} +3 -3
- package/lib/internalInterfaces.d.ts.map +1 -0
- package/lib/{internalInterfaces.mjs → internalInterfaces.js} +1 -1
- package/lib/internalInterfaces.js.map +1 -0
- package/lib/{localValues.d.mts → localValues.d.ts} +4 -6
- package/lib/localValues.d.ts.map +1 -0
- package/lib/{localValues.mjs → localValues.js} +10 -9
- package/lib/localValues.js.map +1 -0
- package/lib/{map-alpha.d.mts → map-alpha.d.ts} +43 -116
- package/lib/{map-beta.d.mts → map-beta.d.ts} +36 -105
- package/lib/{map-public.d.mts → map-public.d.ts} +36 -105
- package/lib/{map-untrimmed.d.mts → map-untrimmed.d.ts} +43 -116
- package/lib/{map.d.mts → map.d.ts} +5 -24
- package/lib/map.d.ts.map +1 -0
- package/lib/{map.mjs → map.js} +5 -28
- package/lib/map.js.map +1 -0
- package/lib/{mapKernel.d.mts → mapKernel.d.ts} +4 -5
- package/lib/mapKernel.d.ts.map +1 -0
- package/lib/{mapKernel.mjs → mapKernel.js} +32 -37
- package/lib/mapKernel.js.map +1 -0
- package/lib/{packageVersion.d.mts → packageVersion.d.ts} +2 -2
- package/lib/packageVersion.d.ts.map +1 -0
- package/lib/{packageVersion.mjs → packageVersion.js} +2 -2
- package/lib/packageVersion.js.map +1 -0
- package/lib/test/memory/directory.spec.js +71 -0
- package/lib/test/memory/directory.spec.js.map +1 -0
- package/lib/test/memory/map.spec.js +71 -0
- package/lib/test/memory/map.spec.js.map +1 -0
- package/lib/test/mocha/directory.order.spec.js +422 -0
- package/lib/test/mocha/directory.order.spec.js.map +1 -0
- package/lib/test/mocha/directory.snapshot.spec.js +111 -0
- package/lib/test/mocha/directory.snapshot.spec.js.map +1 -0
- package/lib/test/mocha/directory.spec.js +1406 -0
- package/lib/test/mocha/directory.spec.js.map +1 -0
- package/lib/test/mocha/directoryEquivalenceUtils.js +36 -0
- package/lib/test/mocha/directoryEquivalenceUtils.js.map +1 -0
- package/lib/test/mocha/directoryFuzzTests.spec.js +337 -0
- package/lib/test/mocha/directoryFuzzTests.spec.js.map +1 -0
- package/lib/test/mocha/dirname.cjs +16 -0
- package/lib/test/mocha/dirname.cjs.map +1 -0
- package/lib/test/mocha/map.fuzz.spec.js +114 -0
- package/lib/test/mocha/map.fuzz.spec.js.map +1 -0
- package/lib/test/mocha/map.spec.js +685 -0
- package/lib/test/mocha/map.spec.js.map +1 -0
- package/lib/test/mocha/rebasing.spec.js +158 -0
- package/lib/test/mocha/rebasing.spec.js.map +1 -0
- package/lib/test/mocha/reconnection.spec.js +327 -0
- package/lib/test/mocha/reconnection.spec.js.map +1 -0
- package/lib/test/types/validateMapPrevious.generated.js +66 -0
- package/lib/test/types/validateMapPrevious.generated.js.map +1 -0
- package/package.json +55 -52
- package/src/directory.ts +122 -217
- package/src/index.ts +57 -4
- package/src/interfaces.ts +2 -2
- package/src/internalInterfaces.ts +2 -2
- package/src/localValues.ts +14 -9
- package/src/map.ts +7 -32
- package/src/mapKernel.ts +40 -42
- package/src/packageVersion.ts +1 -1
- package/tsconfig.cjs.json +7 -0
- package/tsconfig.json +2 -5
- package/lib/directory.d.mts.map +0 -1
- package/lib/directory.mjs.map +0 -1
- package/lib/index.d.mts +0 -9
- package/lib/index.d.mts.map +0 -1
- package/lib/index.mjs +0 -8
- package/lib/index.mjs.map +0 -1
- package/lib/interfaces.d.mts.map +0 -1
- package/lib/interfaces.mjs.map +0 -1
- package/lib/internalInterfaces.d.mts.map +0 -1
- package/lib/internalInterfaces.mjs.map +0 -1
- package/lib/localValues.d.mts.map +0 -1
- package/lib/localValues.mjs.map +0 -1
- package/lib/map.d.mts.map +0 -1
- package/lib/map.mjs.map +0 -1
- package/lib/mapKernel.d.mts.map +0 -1
- package/lib/mapKernel.mjs.map +0 -1
- package/lib/packageVersion.d.mts.map +0 -1
- package/lib/packageVersion.mjs.map +0 -1
package/src/index.ts
CHANGED
|
@@ -30,7 +30,7 @@ export {
|
|
|
30
30
|
IDirectoryStorageOperation,
|
|
31
31
|
IDirectorySubDirectoryOperation,
|
|
32
32
|
SharedDirectory,
|
|
33
|
-
} from "./directory";
|
|
33
|
+
} from "./directory.js";
|
|
34
34
|
export {
|
|
35
35
|
IDirectory,
|
|
36
36
|
IDirectoryEvents,
|
|
@@ -42,6 +42,59 @@ export {
|
|
|
42
42
|
ISharedMap,
|
|
43
43
|
ISharedMapEvents,
|
|
44
44
|
IValueChanged,
|
|
45
|
-
} from "./interfaces";
|
|
46
|
-
export { LocalValueMaker, ILocalValue } from "./localValues";
|
|
47
|
-
export { MapFactory
|
|
45
|
+
} from "./interfaces.js";
|
|
46
|
+
export { LocalValueMaker, ILocalValue } from "./localValues.js";
|
|
47
|
+
export { MapFactory } from "./map.js";
|
|
48
|
+
|
|
49
|
+
import type {
|
|
50
|
+
IChannelFactory,
|
|
51
|
+
IFluidDataStoreRuntime,
|
|
52
|
+
} from "@fluidframework/datastore-definitions";
|
|
53
|
+
import { MapFactory } from "./map.js";
|
|
54
|
+
import { ISharedMap } from "./interfaces.js";
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* {@inheritDoc ISharedMap}
|
|
58
|
+
* @public
|
|
59
|
+
* @deprecated Please use SharedTree for new containers. SharedMap is supported for loading preexisting Fluid Framework 1.0 containers only.
|
|
60
|
+
*/
|
|
61
|
+
export const SharedMap = {
|
|
62
|
+
/**
|
|
63
|
+
* Get a factory for SharedMap to register with the data store.
|
|
64
|
+
* @returns A factory that creates SharedMaps and loads them from storage.
|
|
65
|
+
*/
|
|
66
|
+
getFactory(): IChannelFactory<ISharedMap> {
|
|
67
|
+
return new MapFactory();
|
|
68
|
+
},
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Create a new shared map.
|
|
72
|
+
* @param runtime - The data store runtime that the new shared map belongs to.
|
|
73
|
+
* @param id - Optional name of the shared map.
|
|
74
|
+
* @returns Newly created shared map.
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* To create a `SharedMap`, call the static create method:
|
|
78
|
+
*
|
|
79
|
+
* ```typescript
|
|
80
|
+
* const myMap = SharedMap.create(this.runtime, id);
|
|
81
|
+
* ```
|
|
82
|
+
* @privateRemarks
|
|
83
|
+
* TODO:
|
|
84
|
+
* Clarify how this differs from `MapFactory.create`.
|
|
85
|
+
* They are different since making this forward to MapFactory.create breaks some things,
|
|
86
|
+
* but the difference is unclear from the documentation.
|
|
87
|
+
*/
|
|
88
|
+
create(runtime: IFluidDataStoreRuntime, id?: string): ISharedMap {
|
|
89
|
+
return runtime.createChannel(id, MapFactory.Type) as ISharedMap;
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* {@inheritDoc ISharedMap}
|
|
95
|
+
* @public
|
|
96
|
+
* @deprecated Use ISharedMap instead.
|
|
97
|
+
* @privateRemarks
|
|
98
|
+
* This alias is for legacy compat from when the SharedMap class was exported as public.
|
|
99
|
+
*/
|
|
100
|
+
export type SharedMap = ISharedMap;
|
package/src/interfaces.ts
CHANGED
|
@@ -36,9 +36,9 @@ export interface IValueChanged {
|
|
|
36
36
|
* @remarks When used as a Map, operates on its keys.
|
|
37
37
|
* @alpha
|
|
38
38
|
*/
|
|
39
|
-
// TODO: Use `unknown` instead (breaking change).
|
|
40
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
41
39
|
export interface IDirectory
|
|
40
|
+
// TODO: Use `unknown` instead (breaking change).
|
|
41
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
42
42
|
extends Map<string, any>,
|
|
43
43
|
IEventProvider<IDirectoryEvents>,
|
|
44
44
|
Partial<IDisposable> {
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
// eslint-disable-next-line import/no-deprecated
|
|
7
|
-
import { ISerializableValue } from "./interfaces";
|
|
8
|
-
import { ILocalValue } from "./localValues";
|
|
7
|
+
import { ISerializableValue } from "./interfaces.js";
|
|
8
|
+
import { ILocalValue } from "./localValues.js";
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Operation indicating a value should be set for a key.
|
package/src/localValues.ts
CHANGED
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
} from "@fluidframework/shared-object-base";
|
|
13
13
|
import { ISerializedHandle } from "@fluidframework/runtime-utils";
|
|
14
14
|
// eslint-disable-next-line import/no-deprecated
|
|
15
|
-
import { ISerializableValue, ISerializedValue } from "./interfaces";
|
|
15
|
+
import { ISerializableValue, ISerializedValue } from "./interfaces.js";
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* A local value to be stored in a container type Distributed Data Store (DDS).
|
|
@@ -103,16 +103,19 @@ export class PlainLocalValue implements ILocalValue {
|
|
|
103
103
|
export class LocalValueMaker {
|
|
104
104
|
/**
|
|
105
105
|
* Create a new LocalValueMaker.
|
|
106
|
-
* @param serializer - The serializer to serialize / parse handles.
|
|
107
106
|
*/
|
|
108
|
-
public constructor(
|
|
107
|
+
public constructor() {}
|
|
109
108
|
|
|
110
109
|
/**
|
|
111
110
|
* Create a new local value from an incoming serialized value.
|
|
112
111
|
* @param serializable - The serializable value to make local
|
|
113
112
|
*/
|
|
114
|
-
|
|
115
|
-
|
|
113
|
+
public fromSerializable(
|
|
114
|
+
// eslint-disable-next-line import/no-deprecated
|
|
115
|
+
serializable: ISerializableValue,
|
|
116
|
+
serializer: IFluidSerializer,
|
|
117
|
+
bind: IFluidHandle,
|
|
118
|
+
): ILocalValue {
|
|
116
119
|
// Migrate from old shared value to handles
|
|
117
120
|
if (serializable.type === ValueType[ValueType.Shared]) {
|
|
118
121
|
serializable.type = ValueType[ValueType.Plain];
|
|
@@ -120,12 +123,14 @@ export class LocalValueMaker {
|
|
|
120
123
|
type: "__fluid_handle__",
|
|
121
124
|
url: serializable.value as string,
|
|
122
125
|
};
|
|
123
|
-
|
|
126
|
+
// NOTE: here we require the use of `parseHandles` because the roundtrip
|
|
127
|
+
// through a string is necessary to resolve the absolute path of
|
|
128
|
+
// legacy handles (`ValueType.Shared`)
|
|
129
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
130
|
+
serializable.value = serializer.encode(parseHandles(handle, serializer), bind);
|
|
124
131
|
}
|
|
125
132
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
return new PlainLocalValue(translatedValue);
|
|
133
|
+
return new PlainLocalValue(serializable.value);
|
|
129
134
|
}
|
|
130
135
|
|
|
131
136
|
/**
|
package/src/map.ts
CHANGED
|
@@ -15,9 +15,9 @@ import { ISummaryTreeWithStats, ITelemetryContext } from "@fluidframework/runtim
|
|
|
15
15
|
import { readAndParse } from "@fluidframework/driver-utils";
|
|
16
16
|
import { IFluidSerializer, SharedObject } from "@fluidframework/shared-object-base";
|
|
17
17
|
import { SummaryTreeBuilder } from "@fluidframework/runtime-utils";
|
|
18
|
-
import { ISharedMap, ISharedMapEvents } from "./interfaces";
|
|
19
|
-
import { IMapDataObjectSerializable, IMapOperation, MapKernel } from "./mapKernel";
|
|
20
|
-
import { pkgVersion } from "./packageVersion";
|
|
18
|
+
import { ISharedMap, ISharedMapEvents } from "./interfaces.js";
|
|
19
|
+
import { IMapDataObjectSerializable, IMapOperation, MapKernel } from "./mapKernel.js";
|
|
20
|
+
import { pkgVersion } from "./packageVersion.js";
|
|
21
21
|
|
|
22
22
|
interface IMapSerializationFormat {
|
|
23
23
|
blobs?: string[];
|
|
@@ -27,12 +27,12 @@ interface IMapSerializationFormat {
|
|
|
27
27
|
const snapshotFileName = "header";
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
|
-
* {@link @fluidframework/datastore-definitions#IChannelFactory} for {@link
|
|
30
|
+
* {@link @fluidframework/datastore-definitions#IChannelFactory} for {@link ISharedMap}.
|
|
31
31
|
*
|
|
32
32
|
* @sealed
|
|
33
33
|
* @alpha
|
|
34
34
|
*/
|
|
35
|
-
export class MapFactory implements IChannelFactory {
|
|
35
|
+
export class MapFactory implements IChannelFactory<ISharedMap> {
|
|
36
36
|
/**
|
|
37
37
|
* {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory."type"}
|
|
38
38
|
*/
|
|
@@ -93,31 +93,6 @@ export class MapFactory implements IChannelFactory {
|
|
|
93
93
|
* @deprecated Please use SharedTree for new containers. SharedMap is supported for loading preexisting Fluid Framework 1.0 containers only.
|
|
94
94
|
*/
|
|
95
95
|
export class SharedMap extends SharedObject<ISharedMapEvents> implements ISharedMap {
|
|
96
|
-
/**
|
|
97
|
-
* Create a new shared map.
|
|
98
|
-
* @param runtime - The data store runtime that the new shared map belongs to.
|
|
99
|
-
* @param id - Optional name of the shared map.
|
|
100
|
-
* @returns Newly created shared map.
|
|
101
|
-
*
|
|
102
|
-
* @example
|
|
103
|
-
* To create a `SharedMap`, call the static create method:
|
|
104
|
-
*
|
|
105
|
-
* ```typescript
|
|
106
|
-
* const myMap = SharedMap.create(this.runtime, id);
|
|
107
|
-
* ```
|
|
108
|
-
*/
|
|
109
|
-
public static create(runtime: IFluidDataStoreRuntime, id?: string): SharedMap {
|
|
110
|
-
return runtime.createChannel(id, MapFactory.Type) as SharedMap;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Get a factory for SharedMap to register with the data store.
|
|
115
|
-
* @returns A factory that creates SharedMaps and loads them from storage.
|
|
116
|
-
*/
|
|
117
|
-
public static getFactory(): IChannelFactory {
|
|
118
|
-
return new MapFactory();
|
|
119
|
-
}
|
|
120
|
-
|
|
121
96
|
/**
|
|
122
97
|
* String representation for the class.
|
|
123
98
|
*/
|
|
@@ -361,8 +336,8 @@ export class SharedMap extends SharedObject<ISharedMapEvents> implements IShared
|
|
|
361
336
|
/**
|
|
362
337
|
* {@inheritDoc @fluidframework/shared-object-base#SharedObjectCore.applyStashedOp}
|
|
363
338
|
*/
|
|
364
|
-
protected applyStashedOp(content: unknown):
|
|
365
|
-
|
|
339
|
+
protected applyStashedOp(content: unknown): void {
|
|
340
|
+
this.kernel.tryApplyStashedOp(content as IMapOperation);
|
|
366
341
|
}
|
|
367
342
|
|
|
368
343
|
/**
|
package/src/mapKernel.ts
CHANGED
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { IFluidHandle } from "@fluidframework/core-interfaces";
|
|
7
|
-
import { IFluidSerializer, ValueType } from "@fluidframework/shared-object-base";
|
|
8
|
-
import { assert } from "@fluidframework/core-utils";
|
|
7
|
+
import { IFluidSerializer, ValueType, bindHandles } from "@fluidframework/shared-object-base";
|
|
8
|
+
import { assert, unreachableCase } from "@fluidframework/core-utils";
|
|
9
9
|
import { TypedEventEmitter } from "@fluid-internal/client-utils";
|
|
10
10
|
// eslint-disable-next-line import/no-deprecated
|
|
11
|
-
import { ISerializableValue, ISerializedValue, ISharedMapEvents } from "./interfaces";
|
|
11
|
+
import { ISerializableValue, ISerializedValue, ISharedMapEvents } from "./interfaces.js";
|
|
12
12
|
import {
|
|
13
13
|
IMapSetOperation,
|
|
14
14
|
IMapDeleteOperation,
|
|
@@ -16,8 +16,8 @@ import {
|
|
|
16
16
|
IMapKeyEditLocalOpMetadata,
|
|
17
17
|
IMapKeyAddLocalOpMetadata,
|
|
18
18
|
IMapClearLocalOpMetadata,
|
|
19
|
-
} from "./internalInterfaces";
|
|
20
|
-
import { ILocalValue, LocalValueMaker, makeSerializable } from "./localValues";
|
|
19
|
+
} from "./internalInterfaces.js";
|
|
20
|
+
import { ILocalValue, LocalValueMaker, makeSerializable } from "./localValues.js";
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
23
|
* Defines the means to process and submit a given op on a map.
|
|
@@ -38,8 +38,6 @@ interface IMapMessageHandler {
|
|
|
38
38
|
* @param localOpMetadata - The metadata to be submitted with the message.
|
|
39
39
|
*/
|
|
40
40
|
submit(op: IMapOperation, localOpMetadata: MapLocalOpMetadata): void;
|
|
41
|
-
|
|
42
|
-
applyStashedOp(op: IMapOperation): MapLocalOpMetadata;
|
|
43
41
|
}
|
|
44
42
|
|
|
45
43
|
/**
|
|
@@ -184,7 +182,7 @@ export class MapKernel {
|
|
|
184
182
|
private readonly isAttached: () => boolean,
|
|
185
183
|
private readonly eventEmitter: TypedEventEmitter<ISharedMapEvents>,
|
|
186
184
|
) {
|
|
187
|
-
this.localValueMaker = new LocalValueMaker(
|
|
185
|
+
this.localValueMaker = new LocalValueMaker();
|
|
188
186
|
this.messageHandlers = this.getMessageHandlers();
|
|
189
187
|
}
|
|
190
188
|
|
|
@@ -295,20 +293,23 @@ export class MapKernel {
|
|
|
295
293
|
|
|
296
294
|
// Create a local value and serialize it.
|
|
297
295
|
const localValue = this.localValueMaker.fromInMemory(value);
|
|
298
|
-
const serializableValue = makeSerializable(localValue, this.serializer, this.handle);
|
|
299
296
|
|
|
300
297
|
// Set the value locally.
|
|
301
298
|
const previousValue = this.setCore(key, localValue, true);
|
|
302
299
|
|
|
303
300
|
// If we are not attached, don't submit the op.
|
|
304
301
|
if (!this.isAttached()) {
|
|
302
|
+
// this is necessary to bind the potential handles in the value
|
|
303
|
+
// to this DDS, as we do not walk the object normally unless we
|
|
304
|
+
// are attached
|
|
305
|
+
bindHandles(localValue.value, this.serializer, this.handle);
|
|
305
306
|
return;
|
|
306
307
|
}
|
|
307
308
|
|
|
308
309
|
const op: IMapSetOperation = {
|
|
309
310
|
key,
|
|
310
311
|
type: "set",
|
|
311
|
-
value:
|
|
312
|
+
value: { type: localValue.type, value: localValue.value as unknown },
|
|
312
313
|
};
|
|
313
314
|
this.submitMapKeyMessage(op, previousValue);
|
|
314
315
|
}
|
|
@@ -389,7 +390,9 @@ export class MapKernel {
|
|
|
389
390
|
* @param data - A JSON string containing serialized map data
|
|
390
391
|
*/
|
|
391
392
|
public populateFromSerializable(json: IMapDataObjectSerializable): void {
|
|
392
|
-
for (const [key, serializable] of Object.entries(
|
|
393
|
+
for (const [key, serializable] of Object.entries(
|
|
394
|
+
this.serializer.decode(json) as IMapDataObjectSerializable,
|
|
395
|
+
)) {
|
|
393
396
|
const localValue = {
|
|
394
397
|
key,
|
|
395
398
|
value: this.makeLocal(key, serializable),
|
|
@@ -399,10 +402,6 @@ export class MapKernel {
|
|
|
399
402
|
}
|
|
400
403
|
}
|
|
401
404
|
|
|
402
|
-
public populate(json: string): void {
|
|
403
|
-
this.populateFromSerializable(JSON.parse(json) as IMapDataObjectSerializable);
|
|
404
|
-
}
|
|
405
|
-
|
|
406
405
|
/**
|
|
407
406
|
* Submit the given op if a handler is registered.
|
|
408
407
|
* @param op - The operation to attempt to submit
|
|
@@ -420,12 +419,24 @@ export class MapKernel {
|
|
|
420
419
|
return true;
|
|
421
420
|
}
|
|
422
421
|
|
|
423
|
-
public tryApplyStashedOp(op: IMapOperation):
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
422
|
+
public tryApplyStashedOp(op: IMapOperation): void {
|
|
423
|
+
switch (op.type) {
|
|
424
|
+
case "clear": {
|
|
425
|
+
this.clear();
|
|
426
|
+
break;
|
|
427
|
+
}
|
|
428
|
+
case "delete": {
|
|
429
|
+
this.delete(op.key);
|
|
430
|
+
break;
|
|
431
|
+
}
|
|
432
|
+
case "set": {
|
|
433
|
+
this.set(op.key, this.makeLocal(op.key, op.value).value);
|
|
434
|
+
break;
|
|
435
|
+
}
|
|
436
|
+
default: {
|
|
437
|
+
unreachableCase(op);
|
|
438
|
+
}
|
|
427
439
|
}
|
|
428
|
-
return handler.applyStashedOp(op);
|
|
429
440
|
}
|
|
430
441
|
|
|
431
442
|
/**
|
|
@@ -581,7 +592,11 @@ export class MapKernel {
|
|
|
581
592
|
serializable.type === ValueType[ValueType.Plain] ||
|
|
582
593
|
serializable.type === ValueType[ValueType.Shared]
|
|
583
594
|
) {
|
|
584
|
-
return this.localValueMaker.fromSerializable(
|
|
595
|
+
return this.localValueMaker.fromSerializable(
|
|
596
|
+
serializable,
|
|
597
|
+
this.serializer,
|
|
598
|
+
this.handle,
|
|
599
|
+
);
|
|
585
600
|
} else {
|
|
586
601
|
throw new Error("Unknown local value type");
|
|
587
602
|
}
|
|
@@ -678,12 +693,6 @@ export class MapKernel {
|
|
|
678
693
|
);
|
|
679
694
|
this.submitMapClearMessage(op, localOpMetadata.previousMap);
|
|
680
695
|
},
|
|
681
|
-
applyStashedOp: (op: IMapClearOperation) => {
|
|
682
|
-
const copy = new Map<string, ILocalValue>(this.data);
|
|
683
|
-
this.clearCore(true);
|
|
684
|
-
// We don't reuse the metadata pendingMessageId but send a new one on each submit.
|
|
685
|
-
return createClearLocalOpMetadata(op, this.getMapClearMessageId(), copy);
|
|
686
|
-
},
|
|
687
696
|
});
|
|
688
697
|
messageHandlers.set("delete", {
|
|
689
698
|
process: (op: IMapDeleteOperation, local, localOpMetadata) => {
|
|
@@ -695,11 +704,6 @@ export class MapKernel {
|
|
|
695
704
|
submit: (op: IMapDeleteOperation, localOpMetadata: MapKeyLocalOpMetadata) => {
|
|
696
705
|
this.resubmitMapKeyMessage(op, localOpMetadata);
|
|
697
706
|
},
|
|
698
|
-
applyStashedOp: (op: IMapDeleteOperation) => {
|
|
699
|
-
// We don't reuse the metadata pendingMessageId but send a new one on each submit.
|
|
700
|
-
const previousValue = this.deleteCore(op.key, true);
|
|
701
|
-
return createKeyLocalOpMetadata(op, this.getMapKeyMessageId(op), previousValue);
|
|
702
|
-
},
|
|
703
707
|
});
|
|
704
708
|
messageHandlers.set("set", {
|
|
705
709
|
process: (op: IMapSetOperation, local, localOpMetadata) => {
|
|
@@ -714,12 +718,6 @@ export class MapKernel {
|
|
|
714
718
|
submit: (op: IMapSetOperation, localOpMetadata: MapKeyLocalOpMetadata) => {
|
|
715
719
|
this.resubmitMapKeyMessage(op, localOpMetadata);
|
|
716
720
|
},
|
|
717
|
-
applyStashedOp: (op: IMapSetOperation) => {
|
|
718
|
-
// We don't reuse the metadata pendingMessageId but send a new one on each submit.
|
|
719
|
-
const context = this.makeLocal(op.key, op.value);
|
|
720
|
-
const previousValue = this.setCore(op.key, context, true);
|
|
721
|
-
return createKeyLocalOpMetadata(op, this.getMapKeyMessageId(op), previousValue);
|
|
722
|
-
},
|
|
723
721
|
});
|
|
724
722
|
|
|
725
723
|
return messageHandlers;
|
|
@@ -746,10 +744,10 @@ export class MapKernel {
|
|
|
746
744
|
private getMapKeyMessageId(op: IMapKeyOperation): number {
|
|
747
745
|
const pendingMessageId = ++this.pendingMessageId;
|
|
748
746
|
const pendingMessageIds = this.pendingKeys.get(op.key);
|
|
749
|
-
if (pendingMessageIds
|
|
750
|
-
pendingMessageIds.push(pendingMessageId);
|
|
751
|
-
} else {
|
|
747
|
+
if (pendingMessageIds === undefined) {
|
|
752
748
|
this.pendingKeys.set(op.key, [pendingMessageId]);
|
|
749
|
+
} else {
|
|
750
|
+
pendingMessageIds.push(pendingMessageId);
|
|
753
751
|
}
|
|
754
752
|
return pendingMessageId;
|
|
755
753
|
}
|
|
@@ -785,7 +783,7 @@ export class MapKernel {
|
|
|
785
783
|
return;
|
|
786
784
|
}
|
|
787
785
|
|
|
788
|
-
const index = pendingMessageIds.
|
|
786
|
+
const index = pendingMessageIds.indexOf(localOpMetadata.pendingMessageId);
|
|
789
787
|
if (index === -1) {
|
|
790
788
|
return;
|
|
791
789
|
}
|
package/src/packageVersion.ts
CHANGED
package/tsconfig.json
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
{
|
|
2
|
-
"extends":
|
|
3
|
-
"../../../common/build/build-common/tsconfig.base.json",
|
|
4
|
-
"../../../common/build/build-common/tsconfig.cjs.json",
|
|
5
|
-
],
|
|
2
|
+
"extends": "../../../common/build/build-common/tsconfig.node16.json",
|
|
6
3
|
"include": ["src/**/*"],
|
|
7
4
|
"exclude": ["src/test/**/*"],
|
|
8
5
|
"compilerOptions": {
|
|
9
6
|
"rootDir": "./src",
|
|
10
|
-
"outDir": "./
|
|
7
|
+
"outDir": "./lib",
|
|
11
8
|
},
|
|
12
9
|
}
|
package/lib/directory.d.mts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"directory.d.mts","sourceRoot":"","sources":["../src/directory.ts"],"names":[],"mappings":"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"}
|