@fluidframework/aqueduct 2.11.0 → 2.12.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 +21 -0
- package/api-report/aqueduct.legacy.alpha.api.md +3 -5
- package/dist/container-runtime-factories/baseContainerRuntimeFactory.d.ts +19 -2
- package/dist/container-runtime-factories/baseContainerRuntimeFactory.d.ts.map +1 -1
- package/dist/container-runtime-factories/baseContainerRuntimeFactory.js +18 -0
- package/dist/container-runtime-factories/baseContainerRuntimeFactory.js.map +1 -1
- package/lib/container-runtime-factories/baseContainerRuntimeFactory.d.ts +19 -2
- package/lib/container-runtime-factories/baseContainerRuntimeFactory.d.ts.map +1 -1
- package/lib/container-runtime-factories/baseContainerRuntimeFactory.js +21 -1
- package/lib/container-runtime-factories/baseContainerRuntimeFactory.js.map +1 -1
- package/package.json +18 -18
- package/src/container-runtime-factories/baseContainerRuntimeFactory.ts +22 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# @fluidframework/aqueduct
|
|
2
2
|
|
|
3
|
+
## 2.12.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- The ContainerRuntime class is now deprecated ([#23331](https://github.com/microsoft/FluidFramework/pull/23331)) [dc48446d7c](https://github.com/microsoft/FluidFramework/commit/dc48446d7c4914aca2a76095205975824aac1ba5)
|
|
8
|
+
|
|
9
|
+
The class `ContainerRuntime` is deprecated and will no longer be exported starting in version 2.20.0.
|
|
10
|
+
|
|
11
|
+
There are two possible migration paths to stop using `ContainerRuntime`:
|
|
12
|
+
|
|
13
|
+
- When using it as a type, replace it with an interface like `IContainerRuntime`
|
|
14
|
+
- When using the static function `ContainerRuntime.loadRuntime` replace it with the free function `loadContainerRuntime`.
|
|
15
|
+
|
|
16
|
+
`BaseContainerRuntimeFactory` has some changes as well, since it exposed `ContainerRuntime` in several function signatures:
|
|
17
|
+
|
|
18
|
+
- `instantiateFirstTime` - Takes the wider type `IContainerRuntime` instead of `ContainerRuntime`
|
|
19
|
+
- `instantiateFromExisting` - Takes the wider type `IContainerRuntime` instead of `ContainerRuntime`
|
|
20
|
+
- `preInitialize` - deprecated as well, since it returns `ContainerRuntime`
|
|
21
|
+
|
|
22
|
+
These functions should never be called directly anyway - use `BaseContainerRuntimeFactory.instantiateRuntime` instead.
|
|
23
|
+
|
|
3
24
|
## 2.11.0
|
|
4
25
|
|
|
5
26
|
Dependency updates only.
|
|
@@ -10,11 +10,9 @@ export class BaseContainerRuntimeFactory extends RuntimeFactoryHelper implements
|
|
|
10
10
|
protected containerHasInitialized(runtime: IContainerRuntime): Promise<void>;
|
|
11
11
|
protected containerInitializingFirstTime(runtime: IContainerRuntime): Promise<void>;
|
|
12
12
|
get IFluidDataStoreRegistry(): IFluidDataStoreRegistry;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
//
|
|
16
|
-
instantiateFromExisting(runtime: ContainerRuntime): Promise<void>;
|
|
17
|
-
// (undocumented)
|
|
13
|
+
instantiateFirstTime(runtime: IContainerRuntime): Promise<void>;
|
|
14
|
+
instantiateFromExisting(runtime: IContainerRuntime): Promise<void>;
|
|
15
|
+
// @deprecated
|
|
18
16
|
preInitialize(context: IContainerContext, existing: boolean): Promise<ContainerRuntime>;
|
|
19
17
|
}
|
|
20
18
|
|
|
@@ -58,8 +58,25 @@ export declare class BaseContainerRuntimeFactory extends RuntimeFactoryHelper im
|
|
|
58
58
|
private readonly requestHandlers;
|
|
59
59
|
private readonly provideEntryPoint;
|
|
60
60
|
constructor(props: BaseContainerRuntimeFactoryProps);
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
/**
|
|
62
|
+
* Called the one time the container is created, and not on any subsequent load.
|
|
63
|
+
* i.e. only when it's initialized on the client that first created it
|
|
64
|
+
* @param runtime - The runtime for the container being initialized
|
|
65
|
+
*/
|
|
66
|
+
instantiateFirstTime(runtime: IContainerRuntime): Promise<void>;
|
|
67
|
+
/**
|
|
68
|
+
* Called every time the container runtime is loaded for an existing container.
|
|
69
|
+
* i.e. every time it's initialized _except_ for when it is first created
|
|
70
|
+
* @param runtime - The runtime for the container being initialized
|
|
71
|
+
*/
|
|
72
|
+
instantiateFromExisting(runtime: IContainerRuntime): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Called at the start of initializing a container, to create the container runtime instance.
|
|
75
|
+
* @param context - The context for the container being initialized
|
|
76
|
+
* @param existing - Whether the container already exists and is being loaded (else it's being created new just now)
|
|
77
|
+
*
|
|
78
|
+
* @deprecated This function should not be called directly, use instantiateRuntime instead.
|
|
79
|
+
*/
|
|
63
80
|
preInitialize(context: IContainerContext, existing: boolean): Promise<ContainerRuntime>;
|
|
64
81
|
/**
|
|
65
82
|
* Subclasses may override containerInitializingFirstTime to perform any setup steps at the time the container
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseContainerRuntimeFactory.d.ts","sourceRoot":"","sources":["../../src/container-runtime-factories/baseContainerRuntimeFactory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,
|
|
1
|
+
{"version":3,"file":"baseContainerRuntimeFactory.d.ts","sourceRoot":"","sources":["../../src/container-runtime-factories/baseContainerRuntimeFactory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAEN,gBAAgB,EAEhB,KAAK,wBAAwB,EAC7B,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAChG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAEN,KAAK,qBAAqB,EAG1B,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EACX,uBAAuB,EACvB,8BAA8B,EAC9B,kCAAkC,EAClC,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAEN,KAAK,2BAA2B,EAEhC,MAAM,qCAAqC,CAAC;AAE7C;;;;GAIG;AACH,MAAM,WAAW,gCAAgC;IAChD;;OAEG;IACH,eAAe,EAAE,kCAAkC,CAAC;IACpD;;OAEG;IACH,mBAAmB,CAAC,EAAE,2BAA2B,CAAC;IAClD;;;OAGG;IAEH,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;;;;;;GAMG;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;IAE3D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0B;IAC1D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuD;gBAEtE,KAAK,EAAE,gCAAgC;IAW1D;;;;OAIG;IACU,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5E;;;;OAIG;IACU,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/E;;;;;;OAMG;IACU,aAAa,CACzB,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,OAAO,GAEf,OAAO,CAAC,gBAAgB,CAAC;IAuB5B;;;;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"}
|
|
@@ -32,19 +32,37 @@ class BaseContainerRuntimeFactory extends internal_3.RuntimeFactoryHelper {
|
|
|
32
32
|
this.requestHandlers = props.requestHandlers ?? [];
|
|
33
33
|
this.registry = new internal_1.FluidDataStoreRegistry(this.registryEntries);
|
|
34
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Called the one time the container is created, and not on any subsequent load.
|
|
37
|
+
* i.e. only when it's initialized on the client that first created it
|
|
38
|
+
* @param runtime - The runtime for the container being initialized
|
|
39
|
+
*/
|
|
35
40
|
async instantiateFirstTime(runtime) {
|
|
36
41
|
await this.containerInitializingFirstTime(runtime);
|
|
37
42
|
await this.containerHasInitialized(runtime);
|
|
38
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Called every time the container runtime is loaded for an existing container.
|
|
46
|
+
* i.e. every time it's initialized _except_ for when it is first created
|
|
47
|
+
* @param runtime - The runtime for the container being initialized
|
|
48
|
+
*/
|
|
39
49
|
async instantiateFromExisting(runtime) {
|
|
40
50
|
await this.containerHasInitialized(runtime);
|
|
41
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Called at the start of initializing a container, to create the container runtime instance.
|
|
54
|
+
* @param context - The context for the container being initialized
|
|
55
|
+
* @param existing - Whether the container already exists and is being loaded (else it's being created new just now)
|
|
56
|
+
*
|
|
57
|
+
* @deprecated This function should not be called directly, use instantiateRuntime instead.
|
|
58
|
+
*/
|
|
42
59
|
async preInitialize(context, existing) {
|
|
43
60
|
const scope = context.scope;
|
|
44
61
|
if (this.dependencyContainer) {
|
|
45
62
|
const dc = new internal_4.DependencyContainer(this.dependencyContainer, scope.IFluidDependencySynthesizer);
|
|
46
63
|
scope.IFluidDependencySynthesizer = dc;
|
|
47
64
|
}
|
|
65
|
+
// eslint-disable-next-line import/no-deprecated -- ContainerRuntime class to be moved to internal scope
|
|
48
66
|
return internal_1.ContainerRuntime.loadRuntime({
|
|
49
67
|
context,
|
|
50
68
|
existing,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseContainerRuntimeFactory.js","sourceRoot":"","sources":["../../src/container-runtime-factories/baseContainerRuntimeFactory.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,
|
|
1
|
+
{"version":3,"file":"baseContainerRuntimeFactory.js","sourceRoot":"","sources":["../../src/container-runtime-factories/baseContainerRuntimeFactory.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,yEAKoD;AAGpD,uEAKkD;AAMlD,qEAA8E;AAC9E,kEAI6C;AAiC7C;;;;;;GAMG;AACH,MAAa,2BACZ,SAAQ,+BAAoB;IAG5B;;OAEG;IACH,IAAW,uBAAuB;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAUD,YAAmB,KAAuC;QACzD,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,CAAC;QACrD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;QAC3C,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC;QACnD,IAAI,CAAC,QAAQ,GAAG,IAAI,iCAAsB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,oBAAoB,CAAC,OAA0B;QAC3D,MAAM,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,uBAAuB,CAAC,OAA0B;QAC9D,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,aAAa,CACzB,OAA0B,EAC1B,QAAiB;QAGjB,MAAM,KAAK,GAAgD,OAAO,CAAC,KAAK,CAAC;QACzE,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,MAAM,EAAE,GAAG,IAAI,8BAAmB,CACjC,IAAI,CAAC,mBAAmB,EACxB,KAAK,CAAC,2BAA2B,CACjC,CAAC;YACF,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC;QACxC,CAAC;QAED,wGAAwG;QACxG,OAAO,2BAAgB,CAAC,WAAW,CAAC;YACnC,OAAO;YACP,QAAQ;YACR,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,cAAc,EAAE,KAAK;YACrB,gDAAgD;YAChD,cAAc,EAAE,IAAA,qCAA0B,EAAC,GAAG,IAAI,CAAC,eAAe,CAAC;YACnE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SACzC,CAAC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,8BAA8B,CAAC,OAA0B,IAAkB,CAAC;IAE5F;;;;OAIG;IACO,KAAK,CAAC,uBAAuB,CAAC,OAA0B,IAAkB,CAAC;CACrF;AAhGD,kEAgGC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { IContainerContext } from \"@fluidframework/container-definitions/internal\";\nimport {\n\t// eslint-disable-next-line import/no-deprecated -- ContainerRuntime class to be moved to internal scope\n\tContainerRuntime,\n\tFluidDataStoreRegistry,\n\ttype IContainerRuntimeOptions,\n} from \"@fluidframework/container-runtime/internal\";\nimport type { IContainerRuntime } from \"@fluidframework/container-runtime-definitions/internal\";\nimport type { FluidObject } from \"@fluidframework/core-interfaces\";\nimport {\n\t// eslint-disable-next-line import/no-deprecated\n\ttype RuntimeRequestHandler,\n\t// eslint-disable-next-line import/no-deprecated\n\tbuildRuntimeRequestHandler,\n} from \"@fluidframework/request-handler/internal\";\nimport type {\n\tIFluidDataStoreRegistry,\n\tIProvideFluidDataStoreRegistry,\n\tNamedFluidDataStoreRegistryEntries,\n} from \"@fluidframework/runtime-definitions/internal\";\nimport { RuntimeFactoryHelper } from \"@fluidframework/runtime-utils/internal\";\nimport {\n\tDependencyContainer,\n\ttype IFluidDependencySynthesizer,\n\ttype IProvideFluidDependencySynthesizer,\n} from \"@fluidframework/synthesize/internal\";\n\n/**\n * {@link BaseContainerRuntimeFactory} construction properties.\n * @legacy\n * @alpha\n */\nexport interface BaseContainerRuntimeFactoryProps {\n\t/**\n\t * The data store registry for containers produced.\n\t */\n\tregistryEntries: NamedFluidDataStoreRegistryEntries;\n\t/**\n\t * @deprecated Will be removed in a future release.\n\t */\n\tdependencyContainer?: IFluidDependencySynthesizer;\n\t/**\n\t * Request handlers for containers produced.\n\t * @deprecated Will be removed once Loader LTS version is \"2.0.0-internal.7.0.0\". Migrate all usage of IFluidRouter to the \"entryPoint\" pattern. Refer to Removing-IFluidRouter.md\n\t */\n\t// eslint-disable-next-line import/no-deprecated\n\trequestHandlers?: RuntimeRequestHandler[];\n\t/**\n\t * The runtime options passed to the ContainerRuntime when instantiating it\n\t */\n\truntimeOptions?: IContainerRuntimeOptions;\n\t/**\n\t * Function that will initialize the entryPoint of the ContainerRuntime instances\n\t * created with this factory\n\t */\n\tprovideEntryPoint: (runtime: IContainerRuntime) => Promise<FluidObject>;\n}\n\n/**\n * BaseContainerRuntimeFactory produces container runtimes with the specified data store and service registries,\n * request handlers, runtimeOptions, and entryPoint initialization function.\n * It can be subclassed to implement a first-time initialization procedure for the containers it creates.\n * @legacy\n * @alpha\n */\nexport class BaseContainerRuntimeFactory\n\textends RuntimeFactoryHelper\n\timplements IProvideFluidDataStoreRegistry\n{\n\t/**\n\t * {@inheritDoc @fluidframework/runtime-definitions#IProvideFluidDataStoreRegistry.IFluidDataStoreRegistry}\n\t */\n\tpublic get IFluidDataStoreRegistry(): IFluidDataStoreRegistry {\n\t\treturn this.registry;\n\t}\n\tprivate readonly registry: IFluidDataStoreRegistry;\n\n\tprivate readonly registryEntries: NamedFluidDataStoreRegistryEntries;\n\tprivate readonly dependencyContainer?: IFluidDependencySynthesizer;\n\tprivate readonly runtimeOptions?: IContainerRuntimeOptions;\n\t// eslint-disable-next-line import/no-deprecated\n\tprivate readonly requestHandlers: RuntimeRequestHandler[];\n\tprivate readonly provideEntryPoint: (runtime: IContainerRuntime) => Promise<FluidObject>;\n\n\tpublic constructor(props: BaseContainerRuntimeFactoryProps) {\n\t\tsuper();\n\n\t\tthis.registryEntries = props.registryEntries;\n\t\tthis.dependencyContainer = props.dependencyContainer;\n\t\tthis.runtimeOptions = props.runtimeOptions;\n\t\tthis.provideEntryPoint = props.provideEntryPoint;\n\t\tthis.requestHandlers = props.requestHandlers ?? [];\n\t\tthis.registry = new FluidDataStoreRegistry(this.registryEntries);\n\t}\n\n\t/**\n\t * Called the one time the container is created, and not on any subsequent load.\n\t * i.e. only when it's initialized on the client that first created it\n\t * @param runtime - The runtime for the container being initialized\n\t */\n\tpublic async instantiateFirstTime(runtime: IContainerRuntime): Promise<void> {\n\t\tawait this.containerInitializingFirstTime(runtime);\n\t\tawait this.containerHasInitialized(runtime);\n\t}\n\n\t/**\n\t * Called every time the container runtime is loaded for an existing container.\n\t * i.e. every time it's initialized _except_ for when it is first created\n\t * @param runtime - The runtime for the container being initialized\n\t */\n\tpublic async instantiateFromExisting(runtime: IContainerRuntime): Promise<void> {\n\t\tawait this.containerHasInitialized(runtime);\n\t}\n\n\t/**\n\t * Called at the start of initializing a container, to create the container runtime instance.\n\t * @param context - The context for the container being initialized\n\t * @param existing - Whether the container already exists and is being loaded (else it's being created new just now)\n\t *\n\t * @deprecated This function should not be called directly, use instantiateRuntime instead.\n\t */\n\tpublic async preInitialize(\n\t\tcontext: IContainerContext,\n\t\texisting: boolean,\n\t\t// eslint-disable-next-line import/no-deprecated -- ContainerRuntime class to be moved to internal scope\n\t): Promise<ContainerRuntime> {\n\t\tconst scope: Partial<IProvideFluidDependencySynthesizer> = context.scope;\n\t\tif (this.dependencyContainer) {\n\t\t\tconst dc = new DependencyContainer<FluidObject>(\n\t\t\t\tthis.dependencyContainer,\n\t\t\t\tscope.IFluidDependencySynthesizer,\n\t\t\t);\n\t\t\tscope.IFluidDependencySynthesizer = dc;\n\t\t}\n\n\t\t// eslint-disable-next-line import/no-deprecated -- ContainerRuntime class to be moved to internal scope\n\t\treturn ContainerRuntime.loadRuntime({\n\t\t\tcontext,\n\t\t\texisting,\n\t\t\truntimeOptions: this.runtimeOptions,\n\t\t\tregistryEntries: this.registryEntries,\n\t\t\tcontainerScope: scope,\n\t\t\t// eslint-disable-next-line import/no-deprecated\n\t\t\trequestHandler: buildRuntimeRequestHandler(...this.requestHandlers),\n\t\t\tprovideEntryPoint: this.provideEntryPoint,\n\t\t});\n\t}\n\n\t/**\n\t * Subclasses may override containerInitializingFirstTime to perform any setup steps at the time the container\n\t * is created. This likely includes creating any initial data stores that are expected to be there at the outset.\n\t * @param runtime - The container runtime for the container being initialized\n\t */\n\tprotected async containerInitializingFirstTime(runtime: IContainerRuntime): Promise<void> {}\n\n\t/**\n\t * Subclasses may override containerHasInitialized to perform any steps after the container has initialized.\n\t * This likely includes loading any data stores that are expected to be there at the outset.\n\t * @param runtime - The container runtime for the container being initialized\n\t */\n\tprotected async containerHasInitialized(runtime: IContainerRuntime): Promise<void> {}\n}\n"]}
|
|
@@ -58,8 +58,25 @@ export declare class BaseContainerRuntimeFactory extends RuntimeFactoryHelper im
|
|
|
58
58
|
private readonly requestHandlers;
|
|
59
59
|
private readonly provideEntryPoint;
|
|
60
60
|
constructor(props: BaseContainerRuntimeFactoryProps);
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
/**
|
|
62
|
+
* Called the one time the container is created, and not on any subsequent load.
|
|
63
|
+
* i.e. only when it's initialized on the client that first created it
|
|
64
|
+
* @param runtime - The runtime for the container being initialized
|
|
65
|
+
*/
|
|
66
|
+
instantiateFirstTime(runtime: IContainerRuntime): Promise<void>;
|
|
67
|
+
/**
|
|
68
|
+
* Called every time the container runtime is loaded for an existing container.
|
|
69
|
+
* i.e. every time it's initialized _except_ for when it is first created
|
|
70
|
+
* @param runtime - The runtime for the container being initialized
|
|
71
|
+
*/
|
|
72
|
+
instantiateFromExisting(runtime: IContainerRuntime): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Called at the start of initializing a container, to create the container runtime instance.
|
|
75
|
+
* @param context - The context for the container being initialized
|
|
76
|
+
* @param existing - Whether the container already exists and is being loaded (else it's being created new just now)
|
|
77
|
+
*
|
|
78
|
+
* @deprecated This function should not be called directly, use instantiateRuntime instead.
|
|
79
|
+
*/
|
|
63
80
|
preInitialize(context: IContainerContext, existing: boolean): Promise<ContainerRuntime>;
|
|
64
81
|
/**
|
|
65
82
|
* Subclasses may override containerInitializingFirstTime to perform any setup steps at the time the container
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseContainerRuntimeFactory.d.ts","sourceRoot":"","sources":["../../src/container-runtime-factories/baseContainerRuntimeFactory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,
|
|
1
|
+
{"version":3,"file":"baseContainerRuntimeFactory.d.ts","sourceRoot":"","sources":["../../src/container-runtime-factories/baseContainerRuntimeFactory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAEN,gBAAgB,EAEhB,KAAK,wBAAwB,EAC7B,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAChG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAEN,KAAK,qBAAqB,EAG1B,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EACX,uBAAuB,EACvB,8BAA8B,EAC9B,kCAAkC,EAClC,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAEN,KAAK,2BAA2B,EAEhC,MAAM,qCAAqC,CAAC;AAE7C;;;;GAIG;AACH,MAAM,WAAW,gCAAgC;IAChD;;OAEG;IACH,eAAe,EAAE,kCAAkC,CAAC;IACpD;;OAEG;IACH,mBAAmB,CAAC,EAAE,2BAA2B,CAAC;IAClD;;;OAGG;IAEH,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;;;;;;GAMG;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;IAE3D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0B;IAC1D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuD;gBAEtE,KAAK,EAAE,gCAAgC;IAW1D;;;;OAIG;IACU,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5E;;;;OAIG;IACU,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/E;;;;;;OAMG;IACU,aAAa,CACzB,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,OAAO,GAEf,OAAO,CAAC,gBAAgB,CAAC;IAuB5B;;;;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"}
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
5
|
+
import {
|
|
6
|
+
// eslint-disable-next-line import/no-deprecated -- ContainerRuntime class to be moved to internal scope
|
|
7
|
+
ContainerRuntime, FluidDataStoreRegistry, } from "@fluidframework/container-runtime/internal";
|
|
6
8
|
import {
|
|
7
9
|
// eslint-disable-next-line import/no-deprecated
|
|
8
10
|
buildRuntimeRequestHandler, } from "@fluidframework/request-handler/internal";
|
|
@@ -31,19 +33,37 @@ export class BaseContainerRuntimeFactory extends RuntimeFactoryHelper {
|
|
|
31
33
|
this.requestHandlers = props.requestHandlers ?? [];
|
|
32
34
|
this.registry = new FluidDataStoreRegistry(this.registryEntries);
|
|
33
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Called the one time the container is created, and not on any subsequent load.
|
|
38
|
+
* i.e. only when it's initialized on the client that first created it
|
|
39
|
+
* @param runtime - The runtime for the container being initialized
|
|
40
|
+
*/
|
|
34
41
|
async instantiateFirstTime(runtime) {
|
|
35
42
|
await this.containerInitializingFirstTime(runtime);
|
|
36
43
|
await this.containerHasInitialized(runtime);
|
|
37
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Called every time the container runtime is loaded for an existing container.
|
|
47
|
+
* i.e. every time it's initialized _except_ for when it is first created
|
|
48
|
+
* @param runtime - The runtime for the container being initialized
|
|
49
|
+
*/
|
|
38
50
|
async instantiateFromExisting(runtime) {
|
|
39
51
|
await this.containerHasInitialized(runtime);
|
|
40
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Called at the start of initializing a container, to create the container runtime instance.
|
|
55
|
+
* @param context - The context for the container being initialized
|
|
56
|
+
* @param existing - Whether the container already exists and is being loaded (else it's being created new just now)
|
|
57
|
+
*
|
|
58
|
+
* @deprecated This function should not be called directly, use instantiateRuntime instead.
|
|
59
|
+
*/
|
|
41
60
|
async preInitialize(context, existing) {
|
|
42
61
|
const scope = context.scope;
|
|
43
62
|
if (this.dependencyContainer) {
|
|
44
63
|
const dc = new DependencyContainer(this.dependencyContainer, scope.IFluidDependencySynthesizer);
|
|
45
64
|
scope.IFluidDependencySynthesizer = dc;
|
|
46
65
|
}
|
|
66
|
+
// eslint-disable-next-line import/no-deprecated -- ContainerRuntime class to be moved to internal scope
|
|
47
67
|
return ContainerRuntime.loadRuntime({
|
|
48
68
|
context,
|
|
49
69
|
existing,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseContainerRuntimeFactory.js","sourceRoot":"","sources":["../../src/container-runtime-factories/baseContainerRuntimeFactory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"baseContainerRuntimeFactory.js","sourceRoot":"","sources":["../../src/container-runtime-factories/baseContainerRuntimeFactory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO;AACN,wGAAwG;AACxG,gBAAgB,EAChB,sBAAsB,GAEtB,MAAM,4CAA4C,CAAC;AAGpD,OAAO;AAGN,gDAAgD;AAChD,0BAA0B,GAC1B,MAAM,0CAA0C,CAAC;AAMlD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EACN,mBAAmB,GAGnB,MAAM,qCAAqC,CAAC;AAiC7C;;;;;;GAMG;AACH,MAAM,OAAO,2BACZ,SAAQ,oBAAoB;IAG5B;;OAEG;IACH,IAAW,uBAAuB;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAUD,YAAmB,KAAuC;QACzD,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,CAAC;QACrD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;QAC3C,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC;QACnD,IAAI,CAAC,QAAQ,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,oBAAoB,CAAC,OAA0B;QAC3D,MAAM,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,uBAAuB,CAAC,OAA0B;QAC9D,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,aAAa,CACzB,OAA0B,EAC1B,QAAiB;QAGjB,MAAM,KAAK,GAAgD,OAAO,CAAC,KAAK,CAAC;QACzE,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,MAAM,EAAE,GAAG,IAAI,mBAAmB,CACjC,IAAI,CAAC,mBAAmB,EACxB,KAAK,CAAC,2BAA2B,CACjC,CAAC;YACF,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC;QACxC,CAAC;QAED,wGAAwG;QACxG,OAAO,gBAAgB,CAAC,WAAW,CAAC;YACnC,OAAO;YACP,QAAQ;YACR,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,cAAc,EAAE,KAAK;YACrB,gDAAgD;YAChD,cAAc,EAAE,0BAA0B,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;YACnE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SACzC,CAAC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,8BAA8B,CAAC,OAA0B,IAAkB,CAAC;IAE5F;;;;OAIG;IACO,KAAK,CAAC,uBAAuB,CAAC,OAA0B,IAAkB,CAAC;CACrF","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { IContainerContext } from \"@fluidframework/container-definitions/internal\";\nimport {\n\t// eslint-disable-next-line import/no-deprecated -- ContainerRuntime class to be moved to internal scope\n\tContainerRuntime,\n\tFluidDataStoreRegistry,\n\ttype IContainerRuntimeOptions,\n} from \"@fluidframework/container-runtime/internal\";\nimport type { IContainerRuntime } from \"@fluidframework/container-runtime-definitions/internal\";\nimport type { FluidObject } from \"@fluidframework/core-interfaces\";\nimport {\n\t// eslint-disable-next-line import/no-deprecated\n\ttype RuntimeRequestHandler,\n\t// eslint-disable-next-line import/no-deprecated\n\tbuildRuntimeRequestHandler,\n} from \"@fluidframework/request-handler/internal\";\nimport type {\n\tIFluidDataStoreRegistry,\n\tIProvideFluidDataStoreRegistry,\n\tNamedFluidDataStoreRegistryEntries,\n} from \"@fluidframework/runtime-definitions/internal\";\nimport { RuntimeFactoryHelper } from \"@fluidframework/runtime-utils/internal\";\nimport {\n\tDependencyContainer,\n\ttype IFluidDependencySynthesizer,\n\ttype IProvideFluidDependencySynthesizer,\n} from \"@fluidframework/synthesize/internal\";\n\n/**\n * {@link BaseContainerRuntimeFactory} construction properties.\n * @legacy\n * @alpha\n */\nexport interface BaseContainerRuntimeFactoryProps {\n\t/**\n\t * The data store registry for containers produced.\n\t */\n\tregistryEntries: NamedFluidDataStoreRegistryEntries;\n\t/**\n\t * @deprecated Will be removed in a future release.\n\t */\n\tdependencyContainer?: IFluidDependencySynthesizer;\n\t/**\n\t * Request handlers for containers produced.\n\t * @deprecated Will be removed once Loader LTS version is \"2.0.0-internal.7.0.0\". Migrate all usage of IFluidRouter to the \"entryPoint\" pattern. Refer to Removing-IFluidRouter.md\n\t */\n\t// eslint-disable-next-line import/no-deprecated\n\trequestHandlers?: RuntimeRequestHandler[];\n\t/**\n\t * The runtime options passed to the ContainerRuntime when instantiating it\n\t */\n\truntimeOptions?: IContainerRuntimeOptions;\n\t/**\n\t * Function that will initialize the entryPoint of the ContainerRuntime instances\n\t * created with this factory\n\t */\n\tprovideEntryPoint: (runtime: IContainerRuntime) => Promise<FluidObject>;\n}\n\n/**\n * BaseContainerRuntimeFactory produces container runtimes with the specified data store and service registries,\n * request handlers, runtimeOptions, and entryPoint initialization function.\n * It can be subclassed to implement a first-time initialization procedure for the containers it creates.\n * @legacy\n * @alpha\n */\nexport class BaseContainerRuntimeFactory\n\textends RuntimeFactoryHelper\n\timplements IProvideFluidDataStoreRegistry\n{\n\t/**\n\t * {@inheritDoc @fluidframework/runtime-definitions#IProvideFluidDataStoreRegistry.IFluidDataStoreRegistry}\n\t */\n\tpublic get IFluidDataStoreRegistry(): IFluidDataStoreRegistry {\n\t\treturn this.registry;\n\t}\n\tprivate readonly registry: IFluidDataStoreRegistry;\n\n\tprivate readonly registryEntries: NamedFluidDataStoreRegistryEntries;\n\tprivate readonly dependencyContainer?: IFluidDependencySynthesizer;\n\tprivate readonly runtimeOptions?: IContainerRuntimeOptions;\n\t// eslint-disable-next-line import/no-deprecated\n\tprivate readonly requestHandlers: RuntimeRequestHandler[];\n\tprivate readonly provideEntryPoint: (runtime: IContainerRuntime) => Promise<FluidObject>;\n\n\tpublic constructor(props: BaseContainerRuntimeFactoryProps) {\n\t\tsuper();\n\n\t\tthis.registryEntries = props.registryEntries;\n\t\tthis.dependencyContainer = props.dependencyContainer;\n\t\tthis.runtimeOptions = props.runtimeOptions;\n\t\tthis.provideEntryPoint = props.provideEntryPoint;\n\t\tthis.requestHandlers = props.requestHandlers ?? [];\n\t\tthis.registry = new FluidDataStoreRegistry(this.registryEntries);\n\t}\n\n\t/**\n\t * Called the one time the container is created, and not on any subsequent load.\n\t * i.e. only when it's initialized on the client that first created it\n\t * @param runtime - The runtime for the container being initialized\n\t */\n\tpublic async instantiateFirstTime(runtime: IContainerRuntime): Promise<void> {\n\t\tawait this.containerInitializingFirstTime(runtime);\n\t\tawait this.containerHasInitialized(runtime);\n\t}\n\n\t/**\n\t * Called every time the container runtime is loaded for an existing container.\n\t * i.e. every time it's initialized _except_ for when it is first created\n\t * @param runtime - The runtime for the container being initialized\n\t */\n\tpublic async instantiateFromExisting(runtime: IContainerRuntime): Promise<void> {\n\t\tawait this.containerHasInitialized(runtime);\n\t}\n\n\t/**\n\t * Called at the start of initializing a container, to create the container runtime instance.\n\t * @param context - The context for the container being initialized\n\t * @param existing - Whether the container already exists and is being loaded (else it's being created new just now)\n\t *\n\t * @deprecated This function should not be called directly, use instantiateRuntime instead.\n\t */\n\tpublic async preInitialize(\n\t\tcontext: IContainerContext,\n\t\texisting: boolean,\n\t\t// eslint-disable-next-line import/no-deprecated -- ContainerRuntime class to be moved to internal scope\n\t): Promise<ContainerRuntime> {\n\t\tconst scope: Partial<IProvideFluidDependencySynthesizer> = context.scope;\n\t\tif (this.dependencyContainer) {\n\t\t\tconst dc = new DependencyContainer<FluidObject>(\n\t\t\t\tthis.dependencyContainer,\n\t\t\t\tscope.IFluidDependencySynthesizer,\n\t\t\t);\n\t\t\tscope.IFluidDependencySynthesizer = dc;\n\t\t}\n\n\t\t// eslint-disable-next-line import/no-deprecated -- ContainerRuntime class to be moved to internal scope\n\t\treturn ContainerRuntime.loadRuntime({\n\t\t\tcontext,\n\t\t\texisting,\n\t\t\truntimeOptions: this.runtimeOptions,\n\t\t\tregistryEntries: this.registryEntries,\n\t\t\tcontainerScope: scope,\n\t\t\t// eslint-disable-next-line import/no-deprecated\n\t\t\trequestHandler: buildRuntimeRequestHandler(...this.requestHandlers),\n\t\t\tprovideEntryPoint: this.provideEntryPoint,\n\t\t});\n\t}\n\n\t/**\n\t * Subclasses may override containerInitializingFirstTime to perform any setup steps at the time the container\n\t * is created. This likely includes creating any initial data stores that are expected to be there at the outset.\n\t * @param runtime - The container runtime for the container being initialized\n\t */\n\tprotected async containerInitializingFirstTime(runtime: IContainerRuntime): Promise<void> {}\n\n\t/**\n\t * Subclasses may override containerHasInitialized to perform any steps after the container has initialized.\n\t * This likely includes loading any data stores that are expected to be there at the outset.\n\t * @param runtime - The container runtime for the container being initialized\n\t */\n\tprotected async containerHasInitialized(runtime: IContainerRuntime): Promise<void> {}\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluidframework/aqueduct",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.12.0",
|
|
4
4
|
"description": "A set of implementations for Fluid Framework interfaces.",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -69,27 +69,27 @@
|
|
|
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/container-runtime": "~2.
|
|
75
|
-
"@fluidframework/container-runtime-definitions": "~2.
|
|
76
|
-
"@fluidframework/core-interfaces": "~2.
|
|
77
|
-
"@fluidframework/core-utils": "~2.
|
|
78
|
-
"@fluidframework/datastore": "~2.
|
|
79
|
-
"@fluidframework/datastore-definitions": "~2.
|
|
80
|
-
"@fluidframework/map": "~2.
|
|
81
|
-
"@fluidframework/request-handler": "~2.
|
|
82
|
-
"@fluidframework/runtime-definitions": "~2.
|
|
83
|
-
"@fluidframework/runtime-utils": "~2.
|
|
84
|
-
"@fluidframework/shared-object-base": "~2.
|
|
85
|
-
"@fluidframework/synthesize": "~2.
|
|
72
|
+
"@fluid-internal/client-utils": "~2.12.0",
|
|
73
|
+
"@fluidframework/container-definitions": "~2.12.0",
|
|
74
|
+
"@fluidframework/container-runtime": "~2.12.0",
|
|
75
|
+
"@fluidframework/container-runtime-definitions": "~2.12.0",
|
|
76
|
+
"@fluidframework/core-interfaces": "~2.12.0",
|
|
77
|
+
"@fluidframework/core-utils": "~2.12.0",
|
|
78
|
+
"@fluidframework/datastore": "~2.12.0",
|
|
79
|
+
"@fluidframework/datastore-definitions": "~2.12.0",
|
|
80
|
+
"@fluidframework/map": "~2.12.0",
|
|
81
|
+
"@fluidframework/request-handler": "~2.12.0",
|
|
82
|
+
"@fluidframework/runtime-definitions": "~2.12.0",
|
|
83
|
+
"@fluidframework/runtime-utils": "~2.12.0",
|
|
84
|
+
"@fluidframework/shared-object-base": "~2.12.0",
|
|
85
|
+
"@fluidframework/synthesize": "~2.12.0"
|
|
86
86
|
},
|
|
87
87
|
"devDependencies": {
|
|
88
|
-
"@arethetypeswrong/cli": "^0.
|
|
88
|
+
"@arethetypeswrong/cli": "^0.17.1",
|
|
89
89
|
"@biomejs/biome": "~1.9.3",
|
|
90
|
-
"@fluid-internal/mocha-test-setup": "~2.
|
|
90
|
+
"@fluid-internal/mocha-test-setup": "~2.12.0",
|
|
91
91
|
"@fluid-tools/build-cli": "^0.51.0",
|
|
92
|
-
"@fluidframework/aqueduct-previous": "npm:@fluidframework/aqueduct@2.
|
|
92
|
+
"@fluidframework/aqueduct-previous": "npm:@fluidframework/aqueduct@2.11.0",
|
|
93
93
|
"@fluidframework/build-common": "^2.0.3",
|
|
94
94
|
"@fluidframework/build-tools": "^0.51.0",
|
|
95
95
|
"@fluidframework/eslint-config-fluid": "^5.6.0",
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
import type { IContainerContext } from "@fluidframework/container-definitions/internal";
|
|
7
7
|
import {
|
|
8
|
+
// eslint-disable-next-line import/no-deprecated -- ContainerRuntime class to be moved to internal scope
|
|
8
9
|
ContainerRuntime,
|
|
9
10
|
FluidDataStoreRegistry,
|
|
10
11
|
type IContainerRuntimeOptions,
|
|
@@ -97,18 +98,36 @@ export class BaseContainerRuntimeFactory
|
|
|
97
98
|
this.registry = new FluidDataStoreRegistry(this.registryEntries);
|
|
98
99
|
}
|
|
99
100
|
|
|
100
|
-
|
|
101
|
+
/**
|
|
102
|
+
* Called the one time the container is created, and not on any subsequent load.
|
|
103
|
+
* i.e. only when it's initialized on the client that first created it
|
|
104
|
+
* @param runtime - The runtime for the container being initialized
|
|
105
|
+
*/
|
|
106
|
+
public async instantiateFirstTime(runtime: IContainerRuntime): Promise<void> {
|
|
101
107
|
await this.containerInitializingFirstTime(runtime);
|
|
102
108
|
await this.containerHasInitialized(runtime);
|
|
103
109
|
}
|
|
104
110
|
|
|
105
|
-
|
|
111
|
+
/**
|
|
112
|
+
* Called every time the container runtime is loaded for an existing container.
|
|
113
|
+
* i.e. every time it's initialized _except_ for when it is first created
|
|
114
|
+
* @param runtime - The runtime for the container being initialized
|
|
115
|
+
*/
|
|
116
|
+
public async instantiateFromExisting(runtime: IContainerRuntime): Promise<void> {
|
|
106
117
|
await this.containerHasInitialized(runtime);
|
|
107
118
|
}
|
|
108
119
|
|
|
120
|
+
/**
|
|
121
|
+
* Called at the start of initializing a container, to create the container runtime instance.
|
|
122
|
+
* @param context - The context for the container being initialized
|
|
123
|
+
* @param existing - Whether the container already exists and is being loaded (else it's being created new just now)
|
|
124
|
+
*
|
|
125
|
+
* @deprecated This function should not be called directly, use instantiateRuntime instead.
|
|
126
|
+
*/
|
|
109
127
|
public async preInitialize(
|
|
110
128
|
context: IContainerContext,
|
|
111
129
|
existing: boolean,
|
|
130
|
+
// eslint-disable-next-line import/no-deprecated -- ContainerRuntime class to be moved to internal scope
|
|
112
131
|
): Promise<ContainerRuntime> {
|
|
113
132
|
const scope: Partial<IProvideFluidDependencySynthesizer> = context.scope;
|
|
114
133
|
if (this.dependencyContainer) {
|
|
@@ -119,6 +138,7 @@ export class BaseContainerRuntimeFactory
|
|
|
119
138
|
scope.IFluidDependencySynthesizer = dc;
|
|
120
139
|
}
|
|
121
140
|
|
|
141
|
+
// eslint-disable-next-line import/no-deprecated -- ContainerRuntime class to be moved to internal scope
|
|
122
142
|
return ContainerRuntime.loadRuntime({
|
|
123
143
|
context,
|
|
124
144
|
existing,
|