@fluidframework/datastore 2.43.0 → 2.50.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/CHANGELOG.md +8 -0
- package/api-report/datastore.legacy.alpha.api.md +0 -2
- package/dist/dataStoreLayerCompatState.d.ts +1 -1
- package/dist/dataStoreLayerCompatState.d.ts.map +1 -1
- package/dist/dataStoreLayerCompatState.js +4 -4
- package/dist/dataStoreLayerCompatState.js.map +1 -1
- package/dist/dataStoreRuntime.d.ts.map +1 -1
- package/dist/dataStoreRuntime.js.map +1 -1
- package/dist/fluidHandle.d.ts +0 -15
- package/dist/fluidHandle.d.ts.map +1 -1
- package/dist/fluidHandle.js +0 -44
- package/dist/fluidHandle.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.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/dataStoreLayerCompatState.d.ts +1 -1
- package/lib/dataStoreLayerCompatState.d.ts.map +1 -1
- package/lib/dataStoreLayerCompatState.js +3 -3
- package/lib/dataStoreLayerCompatState.js.map +1 -1
- package/lib/dataStoreRuntime.d.ts.map +1 -1
- package/lib/dataStoreRuntime.js +1 -3
- package/lib/dataStoreRuntime.js.map +1 -1
- package/lib/fluidHandle.d.ts +0 -15
- package/lib/fluidHandle.d.ts.map +1 -1
- package/lib/fluidHandle.js +0 -44
- package/lib/fluidHandle.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.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 +29 -16
- package/src/dataStoreLayerCompatState.ts +3 -3
- package/src/dataStoreRuntime.ts +0 -1
- package/src/fluidHandle.ts +0 -50
- package/src/index.ts +5 -0
- package/src/packageVersion.ts +1 -1
package/lib/packageVersion.d.ts
CHANGED
package/lib/packageVersion.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,2BAA2B,CAAC;AACnD,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/datastore\";\nexport const pkgVersion = \"2.
|
|
1
|
+
{"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,2BAA2B,CAAC;AACnD,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/datastore\";\nexport const pkgVersion = \"2.50.0\";\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluidframework/datastore",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.50.0",
|
|
4
4
|
"description": "Fluid data store implementation",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -69,29 +69,29 @@
|
|
|
69
69
|
"temp-directory": "nyc/.nyc_output"
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
|
-
"@fluid-internal/client-utils": "~2.
|
|
73
|
-
"@fluidframework/container-definitions": "~2.
|
|
74
|
-
"@fluidframework/core-interfaces": "~2.
|
|
75
|
-
"@fluidframework/core-utils": "~2.
|
|
76
|
-
"@fluidframework/datastore-definitions": "~2.
|
|
77
|
-
"@fluidframework/driver-definitions": "~2.
|
|
78
|
-
"@fluidframework/driver-utils": "~2.
|
|
79
|
-
"@fluidframework/id-compressor": "~2.
|
|
80
|
-
"@fluidframework/runtime-definitions": "~2.
|
|
81
|
-
"@fluidframework/runtime-utils": "~2.
|
|
82
|
-
"@fluidframework/telemetry-utils": "~2.
|
|
72
|
+
"@fluid-internal/client-utils": "~2.50.0",
|
|
73
|
+
"@fluidframework/container-definitions": "~2.50.0",
|
|
74
|
+
"@fluidframework/core-interfaces": "~2.50.0",
|
|
75
|
+
"@fluidframework/core-utils": "~2.50.0",
|
|
76
|
+
"@fluidframework/datastore-definitions": "~2.50.0",
|
|
77
|
+
"@fluidframework/driver-definitions": "~2.50.0",
|
|
78
|
+
"@fluidframework/driver-utils": "~2.50.0",
|
|
79
|
+
"@fluidframework/id-compressor": "~2.50.0",
|
|
80
|
+
"@fluidframework/runtime-definitions": "~2.50.0",
|
|
81
|
+
"@fluidframework/runtime-utils": "~2.50.0",
|
|
82
|
+
"@fluidframework/telemetry-utils": "~2.50.0",
|
|
83
83
|
"uuid": "^9.0.0"
|
|
84
84
|
},
|
|
85
85
|
"devDependencies": {
|
|
86
86
|
"@arethetypeswrong/cli": "^0.17.1",
|
|
87
87
|
"@biomejs/biome": "~1.9.3",
|
|
88
|
-
"@fluid-internal/mocha-test-setup": "~2.
|
|
88
|
+
"@fluid-internal/mocha-test-setup": "~2.50.0",
|
|
89
89
|
"@fluid-tools/build-cli": "^0.56.0",
|
|
90
90
|
"@fluidframework/build-common": "^2.0.3",
|
|
91
91
|
"@fluidframework/build-tools": "^0.56.0",
|
|
92
|
-
"@fluidframework/datastore-previous": "npm:@fluidframework/datastore@2.
|
|
92
|
+
"@fluidframework/datastore-previous": "npm:@fluidframework/datastore@2.43.0",
|
|
93
93
|
"@fluidframework/eslint-config-fluid": "^5.7.4",
|
|
94
|
-
"@fluidframework/test-runtime-utils": "~2.
|
|
94
|
+
"@fluidframework/test-runtime-utils": "~2.50.0",
|
|
95
95
|
"@microsoft/api-extractor": "7.52.8",
|
|
96
96
|
"@types/lodash": "^4.14.118",
|
|
97
97
|
"@types/mocha": "^10.0.10",
|
|
@@ -110,7 +110,20 @@
|
|
|
110
110
|
"typescript": "~5.4.5"
|
|
111
111
|
},
|
|
112
112
|
"typeValidation": {
|
|
113
|
-
"broken": {
|
|
113
|
+
"broken": {
|
|
114
|
+
"Class_FluidDataStoreRuntime": {
|
|
115
|
+
"backCompat": false
|
|
116
|
+
},
|
|
117
|
+
"Class_FluidObjectHandle": {
|
|
118
|
+
"backCompat": false
|
|
119
|
+
},
|
|
120
|
+
"ClassStatics_FluidDataStoreRuntime": {
|
|
121
|
+
"backCompat": false
|
|
122
|
+
},
|
|
123
|
+
"ClassStatics_FluidObjectHandle": {
|
|
124
|
+
"backCompat": false
|
|
125
|
+
}
|
|
126
|
+
},
|
|
114
127
|
"entrypoint": "legacy"
|
|
115
128
|
},
|
|
116
129
|
"scripts": {
|
|
@@ -43,7 +43,7 @@ export const dataStoreCompatDetailsForRuntime: ILayerCompatDetails = {
|
|
|
43
43
|
* The requirements that the Runtime layer must meet to be compatible with this DataStore.
|
|
44
44
|
* @internal
|
|
45
45
|
*/
|
|
46
|
-
export const
|
|
46
|
+
export const runtimeSupportRequirementsForDataStore: ILayerCompatSupportRequirements = {
|
|
47
47
|
/**
|
|
48
48
|
* Minimum generation that Runtime must be at to be compatible with DataStore. Note that 0 is used here so
|
|
49
49
|
* that Runtime layers before the introduction of the layer compatibility enforcement are compatible.
|
|
@@ -64,7 +64,7 @@ export function validateRuntimeCompatibility(
|
|
|
64
64
|
disposeFn: () => void,
|
|
65
65
|
): void {
|
|
66
66
|
const layerCheckResult = checkLayerCompatibility(
|
|
67
|
-
|
|
67
|
+
runtimeSupportRequirementsForDataStore,
|
|
68
68
|
maybeRuntimeCompatDetails,
|
|
69
69
|
);
|
|
70
70
|
if (!layerCheckResult.isCompatible) {
|
|
@@ -74,7 +74,7 @@ export function validateRuntimeCompatibility(
|
|
|
74
74
|
runtimeVersion: maybeRuntimeCompatDetails?.pkgVersion,
|
|
75
75
|
dataStoreGeneration: dataStoreCoreCompatDetails.generation,
|
|
76
76
|
runtimeGeneration: maybeRuntimeCompatDetails?.generation,
|
|
77
|
-
minSupportedGeneration:
|
|
77
|
+
minSupportedGeneration: runtimeSupportRequirementsForDataStore.minSupportedGeneration,
|
|
78
78
|
isGenerationCompatible: layerCheckResult.isGenerationCompatible,
|
|
79
79
|
unsupportedFeatures: layerCheckResult.unsupportedFeatures,
|
|
80
80
|
}),
|
package/src/dataStoreRuntime.ts
CHANGED
|
@@ -98,7 +98,6 @@ import { v4 as uuid } from "uuid";
|
|
|
98
98
|
import { IChannelContext, summarizeChannel } from "./channelContext.js";
|
|
99
99
|
import {
|
|
100
100
|
dataStoreCompatDetailsForRuntime,
|
|
101
|
-
// dataStoreCompatDetailsForRuntime,
|
|
102
101
|
validateRuntimeCompatibility,
|
|
103
102
|
} from "./dataStoreLayerCompatState.js";
|
|
104
103
|
import { FluidObjectHandle } from "./fluidHandle.js";
|
package/src/fluidHandle.ts
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { FluidObject } from "@fluidframework/core-interfaces";
|
|
7
|
-
import type { IFluidHandleInternal } from "@fluidframework/core-interfaces/internal";
|
|
8
7
|
import { IFluidHandleContext } from "@fluidframework/core-interfaces/internal";
|
|
9
8
|
import {
|
|
10
9
|
generateHandleContextPath,
|
|
@@ -19,8 +18,6 @@ import {
|
|
|
19
18
|
export class FluidObjectHandle<
|
|
20
19
|
T extends FluidObject = FluidObject,
|
|
21
20
|
> extends FluidHandleBase<T> {
|
|
22
|
-
private readonly pendingHandlesToMakeVisible: Set<IFluidHandleInternal> = new Set();
|
|
23
|
-
|
|
24
21
|
/**
|
|
25
22
|
* {@inheritDoc @fluidframework/core-interfaces#IFluidHandle.absolutePath}
|
|
26
23
|
*/
|
|
@@ -33,30 +30,6 @@ export class FluidObjectHandle<
|
|
|
33
30
|
return this.routeContext.isAttached;
|
|
34
31
|
}
|
|
35
32
|
|
|
36
|
-
/**
|
|
37
|
-
* Tells whether the object of this handle is visible in the container locally or globally.
|
|
38
|
-
*/
|
|
39
|
-
private get visible(): boolean {
|
|
40
|
-
/**
|
|
41
|
-
* If the object of this handle is attached, it is visible in the container. Ideally, checking local visibility
|
|
42
|
-
* should be enough for a handle. However, there are scenarios where the object becomes locally visible but the
|
|
43
|
-
* handle does not know this - This will happen is attachGraph is never called on the handle. Couple of examples
|
|
44
|
-
* where this can happen:
|
|
45
|
-
*
|
|
46
|
-
* 1. Handles to DDS other than the default handle won't know if the DDS becomes visible after the handle was
|
|
47
|
-
* created.
|
|
48
|
-
*
|
|
49
|
-
* 2. Handles to root data stores will never know that it was visible because the handle will not be stores in
|
|
50
|
-
* another DDS and so, attachGraph will never be called on it.
|
|
51
|
-
*/
|
|
52
|
-
return this.isAttached || this.locallyVisible;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Tracks whether this handle is locally visible in the container.
|
|
57
|
-
*/
|
|
58
|
-
private locallyVisible: boolean = false;
|
|
59
|
-
|
|
60
33
|
/**
|
|
61
34
|
* Creates a new `FluidObjectHandle`.
|
|
62
35
|
*
|
|
@@ -89,29 +62,6 @@ export class FluidObjectHandle<
|
|
|
89
62
|
* {@inheritDoc @fluidframework/core-interfaces#IFluidHandle.attachGraph }
|
|
90
63
|
*/
|
|
91
64
|
public attachGraph(): void {
|
|
92
|
-
if (this.visible) {
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
this.locallyVisible = true;
|
|
97
|
-
for (const handle of this.pendingHandlesToMakeVisible) {
|
|
98
|
-
handle.attachGraph();
|
|
99
|
-
}
|
|
100
|
-
this.pendingHandlesToMakeVisible.clear();
|
|
101
65
|
this.routeContext.attachGraph();
|
|
102
66
|
}
|
|
103
|
-
|
|
104
|
-
// eslint-disable-next-line jsdoc/require-description
|
|
105
|
-
/**
|
|
106
|
-
* @deprecated No replacement provided. Arbitrary handles may not serve as a bind source.
|
|
107
|
-
* @privateRemarks This implementation will be moved to SharedObjectHandle once this is removed.
|
|
108
|
-
*/
|
|
109
|
-
public bind(handle: IFluidHandleInternal): void {
|
|
110
|
-
// If this handle is visible, attach the graph of the incoming handle as well.
|
|
111
|
-
if (this.visible) {
|
|
112
|
-
handle.attachGraph();
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
this.pendingHandlesToMakeVisible.add(handle);
|
|
116
|
-
}
|
|
117
67
|
}
|
package/src/index.ts
CHANGED
package/src/packageVersion.ts
CHANGED