@fluidframework/aqueduct 2.0.0-rc.2.0.2 → 2.0.0-rc.3.0.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.cjs +14 -0
- package/.mocharc.cjs +12 -0
- package/CHANGELOG.md +342 -0
- package/api-extractor-lint.json +4 -0
- package/api-extractor.json +4 -0
- package/api-report/aqueduct.api.md +165 -0
- package/dist/container-runtime-factories/baseContainerRuntimeFactory.d.ts +7 -7
- package/dist/container-runtime-factories/baseContainerRuntimeFactory.d.ts.map +1 -1
- package/dist/container-runtime-factories/baseContainerRuntimeFactory.js +9 -10
- package/dist/container-runtime-factories/baseContainerRuntimeFactory.js.map +1 -1
- package/dist/container-runtime-factories/containerRuntimeFactoryWithDefaultDataStore.d.ts +5 -5
- package/dist/container-runtime-factories/containerRuntimeFactoryWithDefaultDataStore.d.ts.map +1 -1
- package/dist/container-runtime-factories/containerRuntimeFactoryWithDefaultDataStore.js +2 -2
- package/dist/container-runtime-factories/containerRuntimeFactoryWithDefaultDataStore.js.map +1 -1
- package/dist/data-object-factories/dataObjectFactory.d.ts +4 -4
- package/dist/data-object-factories/dataObjectFactory.d.ts.map +1 -1
- package/dist/data-object-factories/dataObjectFactory.js +7 -7
- package/dist/data-object-factories/dataObjectFactory.js.map +1 -1
- package/dist/data-object-factories/pureDataObjectFactory.d.ts +5 -5
- package/dist/data-object-factories/pureDataObjectFactory.d.ts.map +1 -1
- package/dist/data-object-factories/pureDataObjectFactory.js +9 -9
- package/dist/data-object-factories/pureDataObjectFactory.js.map +1 -1
- package/dist/data-objects/dataObject.d.ts +1 -1
- package/dist/data-objects/dataObject.d.ts.map +1 -1
- package/dist/data-objects/dataObject.js +3 -3
- package/dist/data-objects/dataObject.js.map +1 -1
- package/dist/data-objects/pureDataObject.d.ts +2 -2
- package/dist/data-objects/pureDataObject.d.ts.map +1 -1
- package/dist/data-objects/pureDataObject.js +6 -6
- package/dist/data-objects/pureDataObject.js.map +1 -1
- package/dist/data-objects/types.d.ts +3 -3
- package/dist/data-objects/types.d.ts.map +1 -1
- package/dist/data-objects/types.js.map +1 -1
- package/dist/legacy.d.ts +23 -0
- package/dist/public.d.ts +12 -0
- package/internal.d.ts +11 -0
- package/legacy.d.ts +11 -0
- package/lib/container-runtime-factories/baseContainerRuntimeFactory.d.ts +7 -7
- package/lib/container-runtime-factories/baseContainerRuntimeFactory.d.ts.map +1 -1
- package/lib/container-runtime-factories/baseContainerRuntimeFactory.js +5 -4
- package/lib/container-runtime-factories/baseContainerRuntimeFactory.js.map +1 -1
- package/lib/container-runtime-factories/containerRuntimeFactoryWithDefaultDataStore.d.ts +5 -5
- package/lib/container-runtime-factories/containerRuntimeFactoryWithDefaultDataStore.d.ts.map +1 -1
- package/lib/container-runtime-factories/containerRuntimeFactoryWithDefaultDataStore.js +1 -1
- package/lib/container-runtime-factories/containerRuntimeFactoryWithDefaultDataStore.js.map +1 -1
- package/lib/data-object-factories/dataObjectFactory.d.ts +4 -4
- package/lib/data-object-factories/dataObjectFactory.d.ts.map +1 -1
- package/lib/data-object-factories/dataObjectFactory.js +2 -2
- package/lib/data-object-factories/dataObjectFactory.js.map +1 -1
- package/lib/data-object-factories/pureDataObjectFactory.d.ts +5 -5
- package/lib/data-object-factories/pureDataObjectFactory.d.ts.map +1 -1
- package/lib/data-object-factories/pureDataObjectFactory.js +3 -3
- package/lib/data-object-factories/pureDataObjectFactory.js.map +1 -1
- package/lib/data-objects/dataObject.d.ts +1 -1
- package/lib/data-objects/dataObject.d.ts.map +1 -1
- package/lib/data-objects/dataObject.js +1 -1
- package/lib/data-objects/dataObject.js.map +1 -1
- package/lib/data-objects/pureDataObject.d.ts +2 -2
- package/lib/data-objects/pureDataObject.d.ts.map +1 -1
- package/lib/data-objects/pureDataObject.js +2 -2
- package/lib/data-objects/pureDataObject.js.map +1 -1
- package/lib/data-objects/types.d.ts +3 -3
- package/lib/data-objects/types.d.ts.map +1 -1
- package/lib/data-objects/types.js.map +1 -1
- package/lib/legacy.d.ts +23 -0
- package/lib/public.d.ts +12 -0
- package/package.json +39 -64
- package/prettier.config.cjs +8 -0
- package/src/container-runtime-factories/baseContainerRuntimeFactory.ts +142 -0
- package/src/container-runtime-factories/containerRuntimeFactoryWithDefaultDataStore.ts +110 -0
- package/src/container-runtime-factories/index.ts +13 -0
- package/src/data-object-factories/dataObjectFactory.ts +61 -0
- package/src/data-object-factories/index.ts +7 -0
- package/src/data-object-factories/pureDataObjectFactory.ts +379 -0
- package/src/data-objects/dataObject.ts +78 -0
- package/src/data-objects/index.ts +8 -0
- package/src/data-objects/pureDataObject.ts +186 -0
- package/src/data-objects/types.ts +40 -0
- package/src/index.ts +33 -0
- package/tsconfig.cjs.json +7 -0
- package/tsconfig.json +9 -0
- package/dist/aqueduct-alpha.d.ts +0 -433
- package/dist/aqueduct-beta.d.ts +0 -110
- package/dist/aqueduct-public.d.ts +0 -110
- package/dist/aqueduct-untrimmed.d.ts +0 -433
- package/lib/aqueduct-alpha.d.ts +0 -433
- package/lib/aqueduct-beta.d.ts +0 -110
- package/lib/aqueduct-public.d.ts +0 -110
- package/lib/aqueduct-untrimmed.d.ts +0 -433
- package/lib/test/aqueduct.spec.js +0 -8
- package/lib/test/aqueduct.spec.js.map +0 -1
- package/lib/test/tsconfig.tsbuildinfo +0 -1
- package/lib/test/types/validateAqueductPrevious.generated.js +0 -24
- package/lib/test/types/validateAqueductPrevious.generated.js.map +0 -1
- /package/{dist → lib}/tsdoc-metadata.json +0 -0
package/.eslintrc.cjs
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
module.exports = {
|
|
7
|
+
extends: [require.resolve("@fluidframework/eslint-config-fluid/strict"), "prettier"],
|
|
8
|
+
parserOptions: {
|
|
9
|
+
project: ["./tsconfig.json", "./src/test/tsconfig.json"],
|
|
10
|
+
},
|
|
11
|
+
rules: {
|
|
12
|
+
"@typescript-eslint/strict-boolean-expressions": "off",
|
|
13
|
+
},
|
|
14
|
+
};
|
package/.mocharc.cjs
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
const getFluidTestMochaConfig = require("@fluid-internal/mocha-test-setup/mocharc-common");
|
|
9
|
+
|
|
10
|
+
const packageDir = __dirname;
|
|
11
|
+
const config = getFluidTestMochaConfig(packageDir);
|
|
12
|
+
module.exports = config;
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
# @fluidframework/aqueduct
|
|
2
|
+
|
|
3
|
+
## 2.0.0-rc.3.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- Packages now use package.json "exports" and require modern module resolution [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
8
|
+
|
|
9
|
+
Fluid Framework packages have been updated to use the [package.json "exports"
|
|
10
|
+
field](https://nodejs.org/docs/latest-v18.x/api/packages.html#exports) to define explicit entry points for both
|
|
11
|
+
TypeScript types and implementation code.
|
|
12
|
+
|
|
13
|
+
This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
|
|
14
|
+
|
|
15
|
+
- `"moduleResolution": "Node16"` with `"module": "Node16"`
|
|
16
|
+
- `"moduleResolution": "Bundler"` with `"module": "ESNext"`
|
|
17
|
+
|
|
18
|
+
We recommend using Node16/Node16 unless absolutely necessary. That will produce transpiled JavaScript that is suitable
|
|
19
|
+
for use with modern versions of Node.js _and_ Bundlers.
|
|
20
|
+
[See the TypeScript documentation](https://www.typescriptlang.org/tsconfig#moduleResolution) for more information
|
|
21
|
+
regarding the module and moduleResolution options.
|
|
22
|
+
|
|
23
|
+
**Node10 moduleResolution is not supported; it does not support Fluid Framework's API structuring pattern that is used
|
|
24
|
+
to distinguish stable APIs from those that are in development.**
|
|
25
|
+
|
|
26
|
+
## 2.0.0-rc.2.0.0
|
|
27
|
+
|
|
28
|
+
### Minor Changes
|
|
29
|
+
|
|
30
|
+
- aqueduct: Deprecated PureDataObjectFactory.createRootInstance and replaced with PureDataObjectFactory.createInstanceWithDataStore ([#19471](https://github.com/microsoft/FluidFramework/issues/19471)) [0a79375ccb](https://github.com/microsoft/FluidFramework/commits/0a79375ccb523658a2565b8796fa06ec45a69394)
|
|
31
|
+
|
|
32
|
+
### Deprecated: PureDataObjectFactory.createRootInstance
|
|
33
|
+
|
|
34
|
+
This was deprecated because `PureDataObjectFactory.createRootInstance` has an issue at scale.
|
|
35
|
+
`PureDataObjectFactory.createRootInstance` used the old method of creating `PureDataObject`s with names. The issue was
|
|
36
|
+
that simultaneous creations could happen, and the old api had no good way of dealing with those types of collisions.
|
|
37
|
+
This version slightly improved it by resolving those collisions by assuming whatever datastore was created with the
|
|
38
|
+
alias or `rootDataStoreId` would just return that datastore. This will work for developers who expect the same type of
|
|
39
|
+
`PureDataObject` to be returned from the `createRootInstance` api, but if a potentially different `PureDataObject`
|
|
40
|
+
would be returned, then this api would give you the wrong typing.
|
|
41
|
+
|
|
42
|
+
For a replacement api see `PureDataObjectFactory.createInstanceWithDataStore`.
|
|
43
|
+
|
|
44
|
+
### New method PureDataObjectFactory.createInstanceWithDataStore
|
|
45
|
+
|
|
46
|
+
This was done as a replacement of `PureDataObjectFactory.createRootInstance`. This exposes the `IDataStore` interface
|
|
47
|
+
in the form of `[PureDataObject, IDataStore]`. `IDataStore` provides the opportunity for developers to use the
|
|
48
|
+
`IDataStore.trySetAlias` method. This can return 3 different scenarios `Success`, `Conflict`, or `AlreadyAliased`.
|
|
49
|
+
These scenarios can allow the developer to handle conflicts as they wish.
|
|
50
|
+
|
|
51
|
+
- aqueduct: PureDataObjectFactory.instantiateDataStore now returns IFluidDataStoreChannel ([#19353](https://github.com/microsoft/FluidFramework/issues/19353)) [3aad53da1e](https://github.com/microsoft/FluidFramework/commits/3aad53da1ee8c4079d4f3b4a096361d23e0725ab)
|
|
52
|
+
|
|
53
|
+
The return type of `PureDataObjectFactory.instantiateDataStore` was changed from `FluidDataStoreRuntime` to
|
|
54
|
+
`IFluidDataStoreChannel`.
|
|
55
|
+
|
|
56
|
+
## 2.0.0-rc.1.0.0
|
|
57
|
+
|
|
58
|
+
Dependency updates only.
|
|
59
|
+
|
|
60
|
+
## 2.0.0-internal.8.0.0
|
|
61
|
+
|
|
62
|
+
### Major Changes
|
|
63
|
+
|
|
64
|
+
- aqueduct: Removed getDefaultObjectFromContainer, getObjectWithIdFromContainer and getObjectFromContainer [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
65
|
+
|
|
66
|
+
The `getDefaultObjectFromContainer`, `getObjectWithIdFromContainer` and `getObjectFromContainer` helper methods have been removed from @fluidframework/aqueduct. Please move all code usage to the new `entryPoint` pattern.
|
|
67
|
+
|
|
68
|
+
See
|
|
69
|
+
[Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
|
|
70
|
+
for more details.
|
|
71
|
+
|
|
72
|
+
- data-object-base: Removed IFluidRouter from DataObject interfaces and classes [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
73
|
+
|
|
74
|
+
The `IFluidRouter` property has been removed from a number of DataObject related classes:
|
|
75
|
+
|
|
76
|
+
- `PureDataObject`
|
|
77
|
+
- `LazyLoadedDataObject`
|
|
78
|
+
- `TestFluidObject`
|
|
79
|
+
|
|
80
|
+
Please migrate to the new `entryPoint` pattern or use the relevant `request` method as necessary.
|
|
81
|
+
|
|
82
|
+
See
|
|
83
|
+
[Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
|
|
84
|
+
for more details.
|
|
85
|
+
|
|
86
|
+
- aqueduct: Removed IRootDataObjectFactory [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
87
|
+
|
|
88
|
+
The `IRootDataObjectFactory` interface has been removed. Please remove all usage of it.
|
|
89
|
+
|
|
90
|
+
- aqueduct: Removed requestHandler utilities [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
91
|
+
|
|
92
|
+
The following `requestHandler` utilities have been removed:
|
|
93
|
+
|
|
94
|
+
- `makeModelRequestHandler`
|
|
95
|
+
- `defaultFluidObjectRequestHandler`
|
|
96
|
+
- `defaultRouteRequestHandler`
|
|
97
|
+
- `mountableViewRequestHandler`
|
|
98
|
+
- `createFluidObjectResponse`
|
|
99
|
+
- `rootDataStoreRequestHandler`
|
|
100
|
+
- `handleFromLegacyUri`
|
|
101
|
+
- `RuntimeRequestHandlerBuilder`
|
|
102
|
+
|
|
103
|
+
Please migrate all usage to the new `entryPoint` pattern.
|
|
104
|
+
|
|
105
|
+
See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
|
|
106
|
+
|
|
107
|
+
## 2.0.0-internal.7.4.0
|
|
108
|
+
|
|
109
|
+
### Minor Changes
|
|
110
|
+
|
|
111
|
+
- aqueduct: Deprecated IRootDataObjectFactory ([#18565](https://github.com/microsoft/FluidFramework/issues/18565)) [030ab7adf9](https://github.com/microsoft/FluidFramework/commits/030ab7adf991d2d983437544600a191ac15ca5a5)
|
|
112
|
+
|
|
113
|
+
The `IRootDataObjectFactory` interface has been deprecated and will be removed in a future major release. Please remove
|
|
114
|
+
all usage of it.
|
|
115
|
+
|
|
116
|
+
## 2.0.0-internal.7.3.0
|
|
117
|
+
|
|
118
|
+
Dependency updates only.
|
|
119
|
+
|
|
120
|
+
## 2.0.0-internal.7.2.0
|
|
121
|
+
|
|
122
|
+
Dependency updates only.
|
|
123
|
+
|
|
124
|
+
## 2.0.0-internal.7.1.0
|
|
125
|
+
|
|
126
|
+
Dependency updates only.
|
|
127
|
+
|
|
128
|
+
## 2.0.0-internal.7.0.0
|
|
129
|
+
|
|
130
|
+
### Major Changes
|
|
131
|
+
|
|
132
|
+
- aqueduct: ContainerRuntimeFactory constructors have changed [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
133
|
+
|
|
134
|
+
The following class constructors have been changed to allow for better flexible in arguments passed:
|
|
135
|
+
|
|
136
|
+
- `BaseContainerRuntimeFactory`
|
|
137
|
+
- `ContainerRuntimeFactoryWithDefaultDataStore`
|
|
138
|
+
- `RuntimeFactory`
|
|
139
|
+
|
|
140
|
+
They now use a single object for constructor params. Example change to be made:
|
|
141
|
+
|
|
142
|
+
```ts
|
|
143
|
+
// Old
|
|
144
|
+
new BaseContainerRuntimeFactory(
|
|
145
|
+
myRegistryEntries,
|
|
146
|
+
myDependencyContainer,
|
|
147
|
+
myRequestHandlers,
|
|
148
|
+
myRuntimeOptions,
|
|
149
|
+
myProvideEntryPoint,
|
|
150
|
+
);
|
|
151
|
+
|
|
152
|
+
// New
|
|
153
|
+
new BaseContainerRuntimeFactory({
|
|
154
|
+
registryEntries: myRegistryEntries,
|
|
155
|
+
dependencyContainer: myDependencyContainer,
|
|
156
|
+
requestHandlers: myRequestHandlers,
|
|
157
|
+
runtimeOptions: myRuntimeOptions,
|
|
158
|
+
provideEntryPoint: myProvideEntryPoint,
|
|
159
|
+
});
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
- DEPRECATED: container-runtime: requestHandlers are deprecated [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
163
|
+
|
|
164
|
+
The concept of `requestHandlers` has been deprecated. Please migrate all usage of the following APIs to the new `entryPoint` pattern:
|
|
165
|
+
|
|
166
|
+
- `requestHandler` property in `ContainerRuntime.loadRuntime(...)`
|
|
167
|
+
- `RuntimeRequestHandler`
|
|
168
|
+
- `RuntimeRequestHandlerBuilder`
|
|
169
|
+
- `defaultFluidObjectRequestHandler(...)`
|
|
170
|
+
- `defaultRouteRequestHandler(...)`
|
|
171
|
+
- `mountableViewRequestHandler(...)`
|
|
172
|
+
- `buildRuntimeRequestHandler(...)`
|
|
173
|
+
- `createFluidObjectResponse(...)`
|
|
174
|
+
- `handleFromLegacyUri(...)`
|
|
175
|
+
- `rootDataStoreRequestHandler(...)`
|
|
176
|
+
|
|
177
|
+
See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
|
|
178
|
+
|
|
179
|
+
- DEPRECATED: container-loader: Various request related APIs have been deprecated [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
180
|
+
|
|
181
|
+
Please remove all calls to the following functions and instead use the new `entryPoint` pattern:
|
|
182
|
+
|
|
183
|
+
- `requestFluidObject`
|
|
184
|
+
- `requestResolvedObjectFromContainer`
|
|
185
|
+
- `getDefaultObjectFromContainer`
|
|
186
|
+
- `getObjectWithIdFromContainer`
|
|
187
|
+
- `getObjectFromContainer`
|
|
188
|
+
|
|
189
|
+
See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
|
|
190
|
+
|
|
191
|
+
- container-definitions: IContainer's and IDataStore's IFluidRouter capabilities are deprecated [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
192
|
+
|
|
193
|
+
`IFluidRouter` and `request({ url: "/" })` on `IContainer` and `IDataStore` are deprecated and will be removed in a future major release. Please migrate all usage to the appropriate `getEntryPoint()` or `entryPoint` APIs.
|
|
194
|
+
|
|
195
|
+
See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
|
|
196
|
+
|
|
197
|
+
- test-utils: provideEntryPoint is required [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
198
|
+
|
|
199
|
+
The optional `provideEntryPoint` method has become required on a number of constructors. A value will need to be provided to the following classes:
|
|
200
|
+
|
|
201
|
+
- `BaseContainerRuntimeFactory`
|
|
202
|
+
- `RuntimeFactory`
|
|
203
|
+
- `ContainerRuntime` (constructor and `loadRuntime`)
|
|
204
|
+
- `FluidDataStoreRuntime`
|
|
205
|
+
|
|
206
|
+
See [testContainerRuntimeFactoryWithDefaultDataStore.ts](https://github.com/microsoft/FluidFramework/tree/main/packages/test/test-utils/src/testContainerRuntimeFactoryWithDefaultDataStore.ts) for an example implemtation of `provideEntryPoint` for ContainerRuntime.
|
|
207
|
+
See [pureDataObjectFactory.ts](https://github.com/microsoft/FluidFramework/tree/main/packages/framework/aqueduct/src/data-object-factories/pureDataObjectFactory.ts#L83) for an example implementation of `provideEntryPoint` for DataStoreRuntime.
|
|
208
|
+
|
|
209
|
+
Subsequently, various `entryPoint` and `getEntryPoint()` endpoints have become required. Please see [containerRuntime.ts](https://github.com/microsoft/FluidFramework/tree/main/packages/runtime/container-runtime/src/containerRuntime.ts) for example implementations of these APIs.
|
|
210
|
+
|
|
211
|
+
For more details, see [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
|
|
212
|
+
|
|
213
|
+
- Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
214
|
+
|
|
215
|
+
The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
|
|
216
|
+
|
|
217
|
+
- aqueduct: EventForwarder and IDisposable members removed from PureDataObject [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
218
|
+
|
|
219
|
+
The `EventForwarder` and `IDisposable` members of `PureDataObject` were deprecated in 2.0.0-internal.5.2.0 and have now been removed.
|
|
220
|
+
|
|
221
|
+
If your code was overriding any methods/properties from `EventForwarder` and or `IDisposable` on a class that inherits
|
|
222
|
+
(directly or transitively) from `PureDataObject`, you'll have to remove the `override` keyword.
|
|
223
|
+
|
|
224
|
+
## 2.0.0-internal.6.4.0
|
|
225
|
+
|
|
226
|
+
Dependency updates only.
|
|
227
|
+
|
|
228
|
+
## 2.0.0-internal.6.3.0
|
|
229
|
+
|
|
230
|
+
Dependency updates only.
|
|
231
|
+
|
|
232
|
+
## 2.0.0-internal.6.2.0
|
|
233
|
+
|
|
234
|
+
### Minor Changes
|
|
235
|
+
|
|
236
|
+
- PureDataObject temporarily extends EventForwarder and implements IDisposable again ([#16846](https://github.com/microsoft/FluidFramework/issues/16846)) [9825a692dd](https://github.com/microsoft/FluidFramework/commits/9825a692dd27eded214e3978a7fd6028b05e6fab)
|
|
237
|
+
|
|
238
|
+
`PureDataObject` extends `EventForwarder` and implements `IDìsposable` again to ease the transition to `2.0.0-internal.6.x`.
|
|
239
|
+
These interfaces will no longer be implemented on `PureDataObject` in version `2.0.0-internal.7.0.0`.
|
|
240
|
+
|
|
241
|
+
The original deprecation announcement for these members can be found [here](https://github.com/microsoft/FluidFramework/releases/tag/client_v2.0.0-internal.5.2.0).
|
|
242
|
+
|
|
243
|
+
Once the change is re-applied in `2.0.0-internal.7.0.0`, if your code was overriding any methods/properties from
|
|
244
|
+
`EventForwarder` and or `IDisposable` on a class that inherits (directly or transitively) from `PureDataObject`,
|
|
245
|
+
you'll have to remove the `override` keyword.
|
|
246
|
+
|
|
247
|
+
- Remove use of @fluidframework/common-definitions ([#16638](https://github.com/microsoft/FluidFramework/issues/16638)) [a8c81509c9](https://github.com/microsoft/FluidFramework/commits/a8c81509c9bf09cfb2092ebcf7265205f9eb6dbf)
|
|
248
|
+
|
|
249
|
+
The **@fluidframework/common-definitions** package is being deprecated, so the following interfaces and types are now
|
|
250
|
+
imported from the **@fluidframework/core-interfaces** package:
|
|
251
|
+
|
|
252
|
+
- interface IDisposable
|
|
253
|
+
- interface IErrorEvent
|
|
254
|
+
- interface IErrorEvent
|
|
255
|
+
- interface IEvent
|
|
256
|
+
- interface IEventProvider
|
|
257
|
+
- interface ILoggingError
|
|
258
|
+
- interface ITaggedTelemetryPropertyType
|
|
259
|
+
- interface ITelemetryBaseEvent
|
|
260
|
+
- interface ITelemetryBaseLogger
|
|
261
|
+
- interface ITelemetryErrorEvent
|
|
262
|
+
- interface ITelemetryGenericEvent
|
|
263
|
+
- interface ITelemetryLogger
|
|
264
|
+
- interface ITelemetryPerformanceEvent
|
|
265
|
+
- interface ITelemetryProperties
|
|
266
|
+
- type ExtendEventProvider
|
|
267
|
+
- type IEventThisPlaceHolder
|
|
268
|
+
- type IEventTransformer
|
|
269
|
+
- type ReplaceIEventThisPlaceHolder
|
|
270
|
+
- type ReplaceIEventThisPlaceHolder
|
|
271
|
+
- type TelemetryEventCategory
|
|
272
|
+
- type TelemetryEventPropertyType
|
|
273
|
+
|
|
274
|
+
## 2.0.0-internal.6.1.0
|
|
275
|
+
|
|
276
|
+
Dependency updates only.
|
|
277
|
+
|
|
278
|
+
## 2.0.0-internal.6.0.0
|
|
279
|
+
|
|
280
|
+
### Major Changes
|
|
281
|
+
|
|
282
|
+
- `initializeEntryPoint` will become required [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
283
|
+
|
|
284
|
+
The optional `initializeEntryPoint` method has been added to a number of constructors. **This method argument will become required in an upcoming release** and a value will need to be provided to the following classes:
|
|
285
|
+
|
|
286
|
+
- `BaseContainerRuntimeFactory`
|
|
287
|
+
- `ContainerRuntimeFactoryWithDefaultDataStore`
|
|
288
|
+
- `RuntimeFactory`
|
|
289
|
+
- `ContainerRuntime` (constructor and `loadRuntime`)
|
|
290
|
+
- `FluidDataStoreRuntime`
|
|
291
|
+
|
|
292
|
+
For an example implementation of `initializeEntryPoint`, see [pureDataObjectFactory.ts](https://github.com/microsoft/FluidFramework/blob/main/packages/framework/aqueduct/src/data-object-factories/pureDataObjectFactory.ts#L84).
|
|
293
|
+
|
|
294
|
+
This work will replace the request pattern. See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more info on this effort.
|
|
295
|
+
|
|
296
|
+
- EventForwarder and IDisposable members removed from PureDataObject [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
297
|
+
|
|
298
|
+
The EventForwarder and IDisposable members of PureDataObject were deprecated in 2.0.0-internal.5.2.0 and have now been removed.
|
|
299
|
+
|
|
300
|
+
- Upgraded typescript transpilation target to ES2020 [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
301
|
+
|
|
302
|
+
Upgraded typescript transpilation target to ES2020. This is done in order to decrease the bundle sizes of Fluid Framework packages. This has provided size improvements across the board for ex. Loader, Driver, Runtime etc. Reduced bundle sizes helps to load lesser code in apps and hence also helps to improve the perf.If any app wants to target any older versions of browsers with which this target version is not compatible, then they can use packages like babel to transpile to a older target.
|
|
303
|
+
|
|
304
|
+
## 2.0.0-internal.5.4.0
|
|
305
|
+
|
|
306
|
+
Dependency updates only.
|
|
307
|
+
|
|
308
|
+
## 2.0.0-internal.5.3.0
|
|
309
|
+
|
|
310
|
+
Dependency updates only.
|
|
311
|
+
|
|
312
|
+
## 2.0.0-internal.5.2.0
|
|
313
|
+
|
|
314
|
+
### Minor Changes
|
|
315
|
+
|
|
316
|
+
- EventForwarder and IDisposable members deprecated from PureDataObject ([#16201](https://github.com/microsoft/FluidFramework/issues/16201)) [0e838fdb3e](https://github.com/microsoft/FluidFramework/commits/0e838fdb3e8187481f41c4116a67458c2a1658d5)
|
|
317
|
+
|
|
318
|
+
The EventForwarder and IDisposable members have been deprecated from PureDataObject and will be removed in an upcoming release. The EventForwarder pattern was mostly unused by the current implementation, and is also recommended against generally (instead, register and forward events explicitly). The disposal implementation was incomplete and likely to cause poor behavior as the disposal was not observable by default. Inheritors of the PureDataObject can of course still implement their own disposal logic.
|
|
319
|
+
|
|
320
|
+
## 2.0.0-internal.5.1.0
|
|
321
|
+
|
|
322
|
+
Dependency updates only.
|
|
323
|
+
|
|
324
|
+
## 2.0.0-internal.5.0.0
|
|
325
|
+
|
|
326
|
+
### Major Changes
|
|
327
|
+
|
|
328
|
+
- The following functions and classes were deprecated in previous releases and have been removed: [8b242fdc79](https://github.com/microsoft/FluidFramework/commits/8b242fdc796714cf1da9ad3f90d02efb122af0c2)
|
|
329
|
+
|
|
330
|
+
- `PureDataObject.getFluidObjectFromDirectory`
|
|
331
|
+
- `IProvideContainerRuntime` and its `IContainerRuntime` member.
|
|
332
|
+
- `ContainerRuntime`'s `IProvideContainerRuntime` has also been removed.
|
|
333
|
+
|
|
334
|
+
## 2.0.0-internal.4.4.0
|
|
335
|
+
|
|
336
|
+
### Minor Changes
|
|
337
|
+
|
|
338
|
+
- `PureDataObject.getFluidObjectFromDirectory` has been deprecated and will be removed in an upcoming release. Instead prefer to interface directly with the directory and handles. [9238304c77](https://github.com/microsoft/FluidFramework/commits/9238304c772d447225f6f86417033ca8004c0edd)
|
|
339
|
+
|
|
340
|
+
## 2.0.0-internal.4.1.0
|
|
341
|
+
|
|
342
|
+
Dependency updates only.
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
## API Report File for "@fluidframework/aqueduct"
|
|
2
|
+
|
|
3
|
+
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
|
|
7
|
+
import { AsyncFluidObjectProvider } from '@fluidframework/synthesize/internal';
|
|
8
|
+
import { ContainerRuntime } from '@fluidframework/container-runtime/internal';
|
|
9
|
+
import { FluidDataStoreRuntime } from '@fluidframework/datastore/internal';
|
|
10
|
+
import { FluidObject } from '@fluidframework/core-interfaces';
|
|
11
|
+
import { FluidObjectSymbolProvider } from '@fluidframework/synthesize/internal';
|
|
12
|
+
import { IChannelFactory } from '@fluidframework/datastore-definitions';
|
|
13
|
+
import { IContainerContext } from '@fluidframework/container-definitions/internal';
|
|
14
|
+
import { IContainerRuntime } from '@fluidframework/container-runtime-definitions/internal';
|
|
15
|
+
import { IContainerRuntimeBase } from '@fluidframework/runtime-definitions/internal';
|
|
16
|
+
import { IContainerRuntimeOptions } from '@fluidframework/container-runtime/internal';
|
|
17
|
+
import { IDataStore } from '@fluidframework/runtime-definitions/internal';
|
|
18
|
+
import { IEvent } from '@fluidframework/core-interfaces';
|
|
19
|
+
import { IFluidDataStoreChannel } from '@fluidframework/runtime-definitions/internal';
|
|
20
|
+
import { IFluidDataStoreContext } from '@fluidframework/runtime-definitions/internal';
|
|
21
|
+
import { IFluidDataStoreContextDetached } from '@fluidframework/runtime-definitions/internal';
|
|
22
|
+
import { IFluidDataStoreFactory } from '@fluidframework/runtime-definitions/internal';
|
|
23
|
+
import { IFluidDataStoreRegistry } from '@fluidframework/runtime-definitions/internal';
|
|
24
|
+
import { IFluidDataStoreRuntime } from '@fluidframework/datastore-definitions';
|
|
25
|
+
import { IFluidDependencySynthesizer } from '@fluidframework/synthesize/internal';
|
|
26
|
+
import { IFluidHandle } from '@fluidframework/core-interfaces';
|
|
27
|
+
import { IFluidLoadable } from '@fluidframework/core-interfaces';
|
|
28
|
+
import { IProvideFluidDataStoreRegistry } from '@fluidframework/runtime-definitions/internal';
|
|
29
|
+
import { IProvideFluidHandle } from '@fluidframework/core-interfaces';
|
|
30
|
+
import { IRequest } from '@fluidframework/core-interfaces';
|
|
31
|
+
import { IResponse } from '@fluidframework/core-interfaces';
|
|
32
|
+
import { ISharedDirectory } from '@fluidframework/map/internal';
|
|
33
|
+
import { NamedFluidDataStoreRegistryEntries } from '@fluidframework/runtime-definitions/internal';
|
|
34
|
+
import { NamedFluidDataStoreRegistryEntry } from '@fluidframework/runtime-definitions/internal';
|
|
35
|
+
import { RuntimeFactoryHelper } from '@fluidframework/runtime-utils/internal';
|
|
36
|
+
import { RuntimeRequestHandler } from '@fluidframework/request-handler/internal';
|
|
37
|
+
import { TypedEventEmitter } from '@fluid-internal/client-utils';
|
|
38
|
+
|
|
39
|
+
// @alpha
|
|
40
|
+
export class BaseContainerRuntimeFactory extends RuntimeFactoryHelper implements IProvideFluidDataStoreRegistry {
|
|
41
|
+
constructor(props: BaseContainerRuntimeFactoryProps);
|
|
42
|
+
protected containerHasInitialized(runtime: IContainerRuntime): Promise<void>;
|
|
43
|
+
protected containerInitializingFirstTime(runtime: IContainerRuntime): Promise<void>;
|
|
44
|
+
get IFluidDataStoreRegistry(): IFluidDataStoreRegistry;
|
|
45
|
+
// (undocumented)
|
|
46
|
+
instantiateFirstTime(runtime: ContainerRuntime): Promise<void>;
|
|
47
|
+
// (undocumented)
|
|
48
|
+
instantiateFromExisting(runtime: ContainerRuntime): Promise<void>;
|
|
49
|
+
// (undocumented)
|
|
50
|
+
preInitialize(context: IContainerContext, existing: boolean): Promise<ContainerRuntime>;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// @alpha
|
|
54
|
+
export interface BaseContainerRuntimeFactoryProps {
|
|
55
|
+
// @deprecated (undocumented)
|
|
56
|
+
dependencyContainer?: IFluidDependencySynthesizer;
|
|
57
|
+
provideEntryPoint: (runtime: IContainerRuntime) => Promise<FluidObject>;
|
|
58
|
+
registryEntries: NamedFluidDataStoreRegistryEntries;
|
|
59
|
+
// @deprecated
|
|
60
|
+
requestHandlers?: RuntimeRequestHandler[];
|
|
61
|
+
runtimeOptions?: IContainerRuntimeOptions;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// @alpha
|
|
65
|
+
export class ContainerRuntimeFactoryWithDefaultDataStore extends BaseContainerRuntimeFactory {
|
|
66
|
+
constructor(props: ContainerRuntimeFactoryWithDefaultDataStoreProps);
|
|
67
|
+
protected containerInitializingFirstTime(runtime: IContainerRuntime): Promise<void>;
|
|
68
|
+
// (undocumented)
|
|
69
|
+
static readonly defaultDataStoreId = "default";
|
|
70
|
+
// (undocumented)
|
|
71
|
+
protected readonly defaultFactory: IFluidDataStoreFactory;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// @alpha
|
|
75
|
+
export interface ContainerRuntimeFactoryWithDefaultDataStoreProps {
|
|
76
|
+
// (undocumented)
|
|
77
|
+
defaultFactory: IFluidDataStoreFactory;
|
|
78
|
+
// @deprecated (undocumented)
|
|
79
|
+
dependencyContainer?: IFluidDependencySynthesizer;
|
|
80
|
+
provideEntryPoint?: (runtime: IContainerRuntime) => Promise<FluidObject>;
|
|
81
|
+
registryEntries: NamedFluidDataStoreRegistryEntries;
|
|
82
|
+
// @deprecated
|
|
83
|
+
requestHandlers?: RuntimeRequestHandler[];
|
|
84
|
+
runtimeOptions?: IContainerRuntimeOptions;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// @alpha
|
|
88
|
+
export abstract class DataObject<I extends DataObjectTypes = DataObjectTypes> extends PureDataObject<I> {
|
|
89
|
+
protected getUninitializedErrorString(item: string): string;
|
|
90
|
+
initializeInternal(existing: boolean): Promise<void>;
|
|
91
|
+
protected get root(): ISharedDirectory;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// @alpha
|
|
95
|
+
export class DataObjectFactory<TObj extends DataObject<I>, I extends DataObjectTypes = DataObjectTypes> extends PureDataObjectFactory<TObj, I> {
|
|
96
|
+
constructor(type: string, ctor: new (props: IDataObjectProps<I>) => TObj, sharedObjects: readonly IChannelFactory<unknown>[] | undefined, optionalProviders: FluidObjectSymbolProvider<I["OptionalProviders"]>, registryEntries?: NamedFluidDataStoreRegistryEntries, runtimeFactory?: typeof FluidDataStoreRuntime);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// @alpha
|
|
100
|
+
export interface DataObjectTypes {
|
|
101
|
+
Events?: IEvent;
|
|
102
|
+
InitialState?: any;
|
|
103
|
+
OptionalProviders?: FluidObject;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
// @alpha (undocumented)
|
|
107
|
+
export interface IDataObjectProps<I extends DataObjectTypes = DataObjectTypes> {
|
|
108
|
+
// (undocumented)
|
|
109
|
+
readonly context: IFluidDataStoreContext;
|
|
110
|
+
// (undocumented)
|
|
111
|
+
readonly initProps?: I["InitialState"];
|
|
112
|
+
// (undocumented)
|
|
113
|
+
readonly providers: AsyncFluidObjectProvider<I["OptionalProviders"]>;
|
|
114
|
+
// (undocumented)
|
|
115
|
+
readonly runtime: IFluidDataStoreRuntime;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// @alpha
|
|
119
|
+
export abstract class PureDataObject<I extends DataObjectTypes = DataObjectTypes> extends TypedEventEmitter<I["Events"] & IEvent> implements IFluidLoadable, IProvideFluidHandle {
|
|
120
|
+
constructor(props: IDataObjectProps<I>);
|
|
121
|
+
protected readonly context: IFluidDataStoreContext;
|
|
122
|
+
finishInitialization(existing: boolean): Promise<void>;
|
|
123
|
+
// (undocumented)
|
|
124
|
+
static getDataObject(runtime: IFluidDataStoreRuntime): Promise<PureDataObject>;
|
|
125
|
+
get handle(): IFluidHandle<this>;
|
|
126
|
+
protected hasInitialized(): Promise<void>;
|
|
127
|
+
// (undocumented)
|
|
128
|
+
get id(): string;
|
|
129
|
+
get IFluidHandle(): IFluidHandle<this>;
|
|
130
|
+
get IFluidLoadable(): this;
|
|
131
|
+
initializeInternal(existing: boolean): Promise<void>;
|
|
132
|
+
// (undocumented)
|
|
133
|
+
protected initializeP: Promise<void> | undefined;
|
|
134
|
+
protected initializingFirstTime(props?: I["InitialState"]): Promise<void>;
|
|
135
|
+
protected initializingFromExisting(): Promise<void>;
|
|
136
|
+
// (undocumented)
|
|
137
|
+
protected initProps?: I["InitialState"];
|
|
138
|
+
protected preInitialize(): Promise<void>;
|
|
139
|
+
protected readonly providers: AsyncFluidObjectProvider<I["OptionalProviders"]>;
|
|
140
|
+
request(req: IRequest): Promise<IResponse>;
|
|
141
|
+
protected readonly runtime: IFluidDataStoreRuntime;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// @alpha
|
|
145
|
+
export class PureDataObjectFactory<TObj extends PureDataObject<I>, I extends DataObjectTypes = DataObjectTypes> implements IFluidDataStoreFactory, Partial<IProvideFluidDataStoreRegistry> {
|
|
146
|
+
constructor(
|
|
147
|
+
type: string, ctor: new (props: IDataObjectProps<I>) => TObj, sharedObjects: readonly IChannelFactory[], optionalProviders: FluidObjectSymbolProvider<I["OptionalProviders"]>, registryEntries?: NamedFluidDataStoreRegistryEntries, runtimeClass?: typeof FluidDataStoreRuntime);
|
|
148
|
+
createChildInstance(parentContext: IFluidDataStoreContext, initialState?: I["InitialState"], loadingGroupId?: string): Promise<TObj>;
|
|
149
|
+
createInstance(runtime: IContainerRuntimeBase, initialState?: I["InitialState"], loadingGroupId?: string): Promise<TObj>;
|
|
150
|
+
// (undocumented)
|
|
151
|
+
protected createInstanceCore(context: IFluidDataStoreContextDetached, initialState?: I["InitialState"]): Promise<TObj>;
|
|
152
|
+
createInstanceWithDataStore(containerRuntime: IContainerRuntimeBase, initialState?: I["InitialState"], packagePath?: Readonly<string[]>, loadingGroupId?: string): Promise<[TObj, IDataStore]>;
|
|
153
|
+
// (undocumented)
|
|
154
|
+
protected createNonRootInstanceCore(containerRuntime: IContainerRuntimeBase, packagePath: Readonly<string[]>, initialState?: I["InitialState"], loadingGroupId?: string): Promise<TObj>;
|
|
155
|
+
createPeerInstance(peerContext: IFluidDataStoreContext, initialState?: I["InitialState"], loadingGroupId?: string): Promise<TObj>;
|
|
156
|
+
// @deprecated
|
|
157
|
+
createRootInstance(rootDataStoreId: string, runtime: IContainerRuntime, initialState?: I["InitialState"]): Promise<TObj>;
|
|
158
|
+
get IFluidDataStoreFactory(): this;
|
|
159
|
+
get IFluidDataStoreRegistry(): IFluidDataStoreRegistry | undefined;
|
|
160
|
+
instantiateDataStore(context: IFluidDataStoreContext, existing: boolean): Promise<IFluidDataStoreChannel>;
|
|
161
|
+
get registryEntry(): NamedFluidDataStoreRegistryEntry;
|
|
162
|
+
readonly type: string;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
```
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
|
-
import { type IContainerContext } from "@fluidframework/container-definitions";
|
|
6
|
-
import { type IContainerRuntimeOptions
|
|
7
|
-
import { type IContainerRuntime } from "@fluidframework/container-runtime-definitions";
|
|
8
|
-
import { type RuntimeRequestHandler } from "@fluidframework/request-handler";
|
|
9
|
-
import { type IFluidDataStoreRegistry, type IProvideFluidDataStoreRegistry, type NamedFluidDataStoreRegistryEntries } from "@fluidframework/runtime-definitions";
|
|
10
|
-
import { type IFluidDependencySynthesizer } from "@fluidframework/synthesize";
|
|
11
|
-
import { RuntimeFactoryHelper } from "@fluidframework/runtime-utils";
|
|
5
|
+
import { type IContainerContext } from "@fluidframework/container-definitions/internal";
|
|
6
|
+
import { ContainerRuntime, type IContainerRuntimeOptions } from "@fluidframework/container-runtime/internal";
|
|
7
|
+
import { type IContainerRuntime } from "@fluidframework/container-runtime-definitions/internal";
|
|
12
8
|
import { type FluidObject } from "@fluidframework/core-interfaces";
|
|
9
|
+
import { type RuntimeRequestHandler } from "@fluidframework/request-handler/internal";
|
|
10
|
+
import { type IFluidDataStoreRegistry, type IProvideFluidDataStoreRegistry, type NamedFluidDataStoreRegistryEntries } from "@fluidframework/runtime-definitions/internal";
|
|
11
|
+
import { RuntimeFactoryHelper } from "@fluidframework/runtime-utils/internal";
|
|
12
|
+
import { type IFluidDependencySynthesizer } from "@fluidframework/synthesize/internal";
|
|
13
13
|
/**
|
|
14
14
|
* {@link BaseContainerRuntimeFactory} construction properties.
|
|
15
15
|
* @alpha
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseContainerRuntimeFactory.d.ts","sourceRoot":"","sources":["../../src/container-runtime-factories/baseContainerRuntimeFactory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"baseContainerRuntimeFactory.d.ts","sourceRoot":"","sources":["../../src/container-runtime-factories/baseContainerRuntimeFactory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EACN,gBAAgB,EAEhB,KAAK,wBAAwB,EAC7B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAChG,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EACN,KAAK,qBAAqB,EAG1B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACN,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EACvC,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAEN,KAAK,2BAA2B,EAEhC,MAAM,qCAAqC,CAAC;AAE7C;;;GAGG;AACH,MAAM,WAAW,gCAAgC;IAChD;;OAEG;IACH,eAAe,EAAE,kCAAkC,CAAC;IACpD;;OAEG;IACH,mBAAmB,CAAC,EAAE,2BAA2B,CAAC;IAClD;;;OAGG;IACH,eAAe,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAC1C;;OAEG;IACH,cAAc,CAAC,EAAE,wBAAwB,CAAC;IAC1C;;;OAGG;IACH,iBAAiB,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;CACxE;AAED;;;;;GAKG;AACH,qBAAa,2BACZ,SAAQ,oBACR,YAAW,8BAA8B;IAEzC;;OAEG;IACH,IAAW,uBAAuB,IAAI,uBAAuB,CAE5D;IACD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IAEnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqC;IACrE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAA8B;IACnE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAA2B;IAC3D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0B;IAC1D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuD;gBAEtE,KAAK,EAAE,gCAAgC;IAW7C,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9D,uBAAuB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE,aAAa,CACzB,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,OAAO,GACf,OAAO,CAAC,gBAAgB,CAAC;IAsB5B;;;;OAIG;cACa,8BAA8B,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAEzF;;;;OAIG;cACa,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;CAClF"}
|
|
@@ -5,18 +5,17 @@
|
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.BaseContainerRuntimeFactory = void 0;
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const runtime_utils_1 = require("@fluidframework/runtime-utils");
|
|
8
|
+
const internal_1 = require("@fluidframework/container-runtime/internal");
|
|
9
|
+
const internal_2 = require("@fluidframework/request-handler/internal");
|
|
10
|
+
const internal_3 = require("@fluidframework/runtime-utils/internal");
|
|
11
|
+
const internal_4 = require("@fluidframework/synthesize/internal");
|
|
13
12
|
/**
|
|
14
13
|
* BaseContainerRuntimeFactory produces container runtimes with the specified data store and service registries,
|
|
15
14
|
* request handlers, runtimeOptions, and entryPoint initialization function.
|
|
16
15
|
* It can be subclassed to implement a first-time initialization procedure for the containers it creates.
|
|
17
16
|
* @alpha
|
|
18
17
|
*/
|
|
19
|
-
class BaseContainerRuntimeFactory extends
|
|
18
|
+
class BaseContainerRuntimeFactory extends internal_3.RuntimeFactoryHelper {
|
|
20
19
|
/**
|
|
21
20
|
* {@inheritDoc @fluidframework/runtime-definitions#IProvideFluidDataStoreRegistry.IFluidDataStoreRegistry}
|
|
22
21
|
*/
|
|
@@ -30,7 +29,7 @@ class BaseContainerRuntimeFactory extends runtime_utils_1.RuntimeFactoryHelper {
|
|
|
30
29
|
this.runtimeOptions = props.runtimeOptions;
|
|
31
30
|
this.provideEntryPoint = props.provideEntryPoint;
|
|
32
31
|
this.requestHandlers = props.requestHandlers ?? [];
|
|
33
|
-
this.registry = new
|
|
32
|
+
this.registry = new internal_1.FluidDataStoreRegistry(this.registryEntries);
|
|
34
33
|
}
|
|
35
34
|
async instantiateFirstTime(runtime) {
|
|
36
35
|
await this.containerInitializingFirstTime(runtime);
|
|
@@ -42,17 +41,17 @@ class BaseContainerRuntimeFactory extends runtime_utils_1.RuntimeFactoryHelper {
|
|
|
42
41
|
async preInitialize(context, existing) {
|
|
43
42
|
const scope = context.scope;
|
|
44
43
|
if (this.dependencyContainer) {
|
|
45
|
-
const dc = new
|
|
44
|
+
const dc = new internal_4.DependencyContainer(this.dependencyContainer, scope.IFluidDependencySynthesizer);
|
|
46
45
|
scope.IFluidDependencySynthesizer = dc;
|
|
47
46
|
}
|
|
48
|
-
return
|
|
47
|
+
return internal_1.ContainerRuntime.loadRuntime({
|
|
49
48
|
context,
|
|
50
49
|
existing,
|
|
51
50
|
runtimeOptions: this.runtimeOptions,
|
|
52
51
|
registryEntries: this.registryEntries,
|
|
53
52
|
containerScope: scope,
|
|
54
53
|
// eslint-disable-next-line import/no-deprecated
|
|
55
|
-
requestHandler: (0,
|
|
54
|
+
requestHandler: (0, internal_2.buildRuntimeRequestHandler)(...this.requestHandlers),
|
|
56
55
|
provideEntryPoint: this.provideEntryPoint,
|
|
57
56
|
});
|
|
58
57
|
}
|