@fluidframework/datastore-definitions 2.0.0-rc.2.0.2 → 2.0.0-rc.3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- package/api-report/datastore-definitions.api.md +3 -2
- package/dist/channel.d.ts +4 -4
- package/dist/channel.d.ts.map +1 -1
- package/dist/dataStoreRuntime.d.ts +19 -5
- package/dist/dataStoreRuntime.d.ts.map +1 -1
- package/dist/legacy.d.ts +28 -0
- package/dist/public.d.ts +22 -0
- package/dist/serializable.d.ts.map +1 -1
- package/internal.d.ts +11 -0
- package/legacy.d.ts +11 -0
- package/lib/channel.d.ts +4 -4
- package/lib/channel.d.ts.map +1 -1
- package/lib/dataStoreRuntime.d.ts +19 -5
- package/lib/dataStoreRuntime.d.ts.map +1 -1
- package/lib/legacy.d.ts +28 -0
- package/lib/public.d.ts +22 -0
- package/lib/serializable.d.ts.map +1 -1
- package/package.json +26 -45
- package/src/channel.ts +5 -4
- package/src/dataStoreRuntime.ts +23 -7
- package/src/serializable.ts +1 -0
- package/api-extractor-cjs.json +0 -8
- package/dist/datastore-definitions-alpha.d.ts +0 -496
- package/dist/datastore-definitions-beta.d.ts +0 -411
- package/dist/datastore-definitions-public.d.ts +0 -411
- package/dist/datastore-definitions-untrimmed.d.ts +0 -496
- package/lib/datastore-definitions-alpha.d.ts +0 -496
- package/lib/datastore-definitions-beta.d.ts +0 -411
- package/lib/datastore-definitions-public.d.ts +0 -411
- package/lib/datastore-definitions-untrimmed.d.ts +0 -496
- /package/{dist → lib}/tsdoc-metadata.json +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# @fluidframework/datastore-definitions
|
|
2
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
|
+
|
|
3
26
|
## 2.0.0-rc.2.0.0
|
|
4
27
|
|
|
5
28
|
### Minor Changes
|
|
@@ -45,7 +45,7 @@ export interface IChannelAttributes {
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
// @public
|
|
48
|
-
export interface IChannelFactory<out TChannel
|
|
48
|
+
export interface IChannelFactory<out TChannel = unknown> {
|
|
49
49
|
readonly attributes: IChannelAttributes;
|
|
50
50
|
create(runtime: IFluidDataStoreRuntime, id: string): TChannel & IChannel;
|
|
51
51
|
load(runtime: IFluidDataStoreRuntime, id: string, services: IChannelServices, channelAttributes: Readonly<IChannelAttributes>): Promise<TChannel & IChannel>;
|
|
@@ -89,6 +89,7 @@ export interface IDeltaHandler {
|
|
|
89
89
|
|
|
90
90
|
// @public
|
|
91
91
|
export interface IFluidDataStoreRuntime extends IEventProvider<IFluidDataStoreRuntimeEvents>, IDisposable {
|
|
92
|
+
addChannel(channel: IChannel): void;
|
|
92
93
|
readonly attachState: AttachState;
|
|
93
94
|
bindChannel(channel: IChannel): void;
|
|
94
95
|
// (undocumented)
|
|
@@ -119,7 +120,7 @@ export interface IFluidDataStoreRuntime extends IEventProvider<IFluidDataStoreRu
|
|
|
119
120
|
readonly options: Record<string | number, any>;
|
|
120
121
|
// (undocumented)
|
|
121
122
|
readonly rootRoutingContext: IFluidHandleContext;
|
|
122
|
-
submitSignal(type: string, content:
|
|
123
|
+
submitSignal: (type: string, content: unknown, targetClientId?: string) => void;
|
|
123
124
|
uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandle<ArrayBufferLike>>;
|
|
124
125
|
waitAttached(): Promise<void>;
|
|
125
126
|
}
|
package/dist/channel.d.ts
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { IFluidHandle, IFluidLoadable } from "@fluidframework/core-interfaces";
|
|
6
6
|
import type { ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
|
|
7
|
-
import type {
|
|
8
|
-
import type { IChannelAttributes } from "./storage.js";
|
|
7
|
+
import type { IExperimentalIncrementalSummaryContext, IGarbageCollectionData, ISummaryTreeWithStats, ITelemetryContext } from "@fluidframework/runtime-definitions";
|
|
9
8
|
import type { IFluidDataStoreRuntime } from "./dataStoreRuntime.js";
|
|
9
|
+
import type { IChannelAttributes } from "./storage.js";
|
|
10
10
|
/**
|
|
11
11
|
* @public
|
|
12
12
|
*/
|
|
@@ -224,14 +224,14 @@ export interface IChannelServices {
|
|
|
224
224
|
* the collaborating clients will need to have access to a factory that can produce the `SharedMap` object.
|
|
225
225
|
*
|
|
226
226
|
* @privateRemarks
|
|
227
|
-
* TChannel
|
|
227
|
+
* TChannel is intersected with IChannel when returned instead of constrained to it since doing so enables LoadableObjectClass to be covariant over its input parameter.
|
|
228
228
|
* This means that code like fluid-static's `InitialObjects` can be simple and type safe and LoadableObjectClass<any> is not needed.
|
|
229
229
|
* This approach (not requiring TChannel to extend IChannel) also makes it possible for SharedObject's public interfaces to not include IChannel if desired
|
|
230
230
|
* (while still requiring the implementation to implement it).
|
|
231
231
|
*
|
|
232
232
|
* @public
|
|
233
233
|
*/
|
|
234
|
-
export interface IChannelFactory<out TChannel
|
|
234
|
+
export interface IChannelFactory<out TChannel = unknown> {
|
|
235
235
|
/**
|
|
236
236
|
* String representing the type of the factory.
|
|
237
237
|
*/
|
package/dist/channel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,KAAK,EACX,sBAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,KAAK,EACX,sCAAsC,EACtC,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,QAAS,SAAQ,cAAc;IAC/C;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,gBAAgB,CACf,QAAQ,CAAC,EAAE,OAAO,EAClB,UAAU,CAAC,EAAE,OAAO,EACpB,gBAAgB,CAAC,EAAE,iBAAiB,GAClC,qBAAqB,CAAC;IAEzB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,SAAS,CACR,QAAQ,CAAC,EAAE,OAAO,EAClB,UAAU,CAAC,EAAE,OAAO,EACpB,gBAAgB,CAAC,EAAE,iBAAiB,EACpC,yBAAyB,CAAC,EAAE,sCAAsC,GAChE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAElC;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC;IAEtB;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAE1C;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,sBAAsB,CAAC;CACpD;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC7B;;;;;;OAMG;IACH,OAAO,EAAE,CAAC,OAAO,EAAE,yBAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,KAAK,IAAI,CAAC;IAEhG;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAE7C;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAEvD;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC;IAEnC;;;;OAIG;IACH,QAAQ,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;CACxD;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAChC,SAAS,EAAE,OAAO,CAAC;IAEnB;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAE5D;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAErC;;;OAGG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;;;;;;;OAQG;IACH,wBAAwB,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,GAAG,IAAI,CAAC;CACvF;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACtC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAEjD;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzC;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACtC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAChC,eAAe,EAAE,gBAAgB,CAAC;IAElC,aAAa,EAAE,sBAAsB,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,eAAe,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO;IACtD;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IAExC;;;;;;;;;;;;;;OAcG;IACH,IAAI,CACH,OAAO,EAAE,sBAAsB,EAC/B,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,gBAAgB,EAC1B,iBAAiB,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAC7C,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;IAEhC;;;;;;;;;;OAUG;IACH,MAAM,CAAC,OAAO,EAAE,sBAAsB,EAAE,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACzE"}
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
|
-
import type {
|
|
6
|
-
import type {
|
|
5
|
+
import type { AttachState, IAudience, IDeltaManager } from "@fluidframework/container-definitions";
|
|
6
|
+
import type { FluidObject, IDisposable, IEvent, IEventProvider, IFluidHandle, IFluidHandleContext, ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
|
|
7
|
+
import type { IIdCompressor } from "@fluidframework/id-compressor";
|
|
7
8
|
import type { IDocumentMessage, IQuorumClients, ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
|
|
8
9
|
import type { IInboundSignalMessage } from "@fluidframework/runtime-definitions";
|
|
9
|
-
import type { IIdCompressor } from "@fluidframework/id-compressor";
|
|
10
10
|
import type { IChannel } from "./channel.js";
|
|
11
11
|
/**
|
|
12
12
|
* Events emitted by {@link IFluidDataStoreRuntime}.
|
|
@@ -57,6 +57,20 @@ export interface IFluidDataStoreRuntime extends IEventProvider<IFluidDataStoreRu
|
|
|
57
57
|
* @param type - Type of the channel.
|
|
58
58
|
*/
|
|
59
59
|
createChannel(id: string | undefined, type: string): IChannel;
|
|
60
|
+
/**
|
|
61
|
+
* This api allows adding channel to data store after it was created.
|
|
62
|
+
* This allows callers to cusmomize channel instance. For example, channel implementation
|
|
63
|
+
* could have various modes of operations. As long as such configuration is provided at creation
|
|
64
|
+
* and stored in summaries (such that all users of such channel instance behave the same), this
|
|
65
|
+
* could be useful technique to have customized solutions without introducing a number of data structures
|
|
66
|
+
* that all have same implementation.
|
|
67
|
+
* This is also useful for scenarios like SharedTree DDS, where schema is provided at creation and stored in a summary.
|
|
68
|
+
* The channel type should be present in the registry, otherwise the runtime would reject
|
|
69
|
+
* the channel. The runtime used to create the channel object should be same to which
|
|
70
|
+
* it is added.
|
|
71
|
+
* @param channel - channel which needs to be added to the runtime.
|
|
72
|
+
*/
|
|
73
|
+
addChannel(channel: IChannel): void;
|
|
60
74
|
/**
|
|
61
75
|
* Bind the channel with the data store runtime. If the runtime
|
|
62
76
|
* is attached then we attach the channel to make it live.
|
|
@@ -70,10 +84,10 @@ export interface IFluidDataStoreRuntime extends IEventProvider<IFluidDataStoreRu
|
|
|
70
84
|
/**
|
|
71
85
|
* Submits the signal to be sent to other clients.
|
|
72
86
|
* @param type - Type of the signal.
|
|
73
|
-
* @param content - Content of the signal.
|
|
87
|
+
* @param content - Content of the signal. Should be a JSON serializable object or primitive.
|
|
74
88
|
* @param targetClientId - When specified, the signal is only sent to the provided client id.
|
|
75
89
|
*/
|
|
76
|
-
submitSignal(type: string, content:
|
|
90
|
+
submitSignal: (type: string, content: unknown, targetClientId?: string) => void;
|
|
77
91
|
/**
|
|
78
92
|
* Returns the current quorum.
|
|
79
93
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataStoreRuntime.d.ts","sourceRoot":"","sources":["../src/dataStoreRuntime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"dataStoreRuntime.d.ts","sourceRoot":"","sources":["../src/dataStoreRuntime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACnG,OAAO,KAAK,EACX,WAAW,EACX,WAAW,EACX,MAAM,EACN,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EACX,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAEjF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C;;;GAGG;AACH,MAAM,WAAW,4BAA6B,SAAQ,MAAM;IAC3D,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,EAAE,QAAQ,EAAE,MAAM,IAAI,OAAE;IACrF,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,yBAAyB,KAAK,IAAI,OAAE;IACtE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,OAAE;IACtF,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,OAAE;CAC3D;AAED;;;GAGG;AACH,MAAM,WAAW,sBAChB,SAAQ,cAAc,CAAC,4BAA4B,CAAC,EACnD,WAAW;IACZ,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAElD,QAAQ,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;IACjD,QAAQ,CAAC,sBAAsB,EAAE,mBAAmB,CAAC;IACrD,QAAQ,CAAC,qBAAqB,EAAE,mBAAmB,CAAC;IAGpD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC;IAE/C,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,CAAC;IAElF,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAEtC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAEtC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAElC,QAAQ,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC;IAEtC;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE1C;;;;;;;OAOG;IACH,wBAAwB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAElD;;;;OAIG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IAE9D;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAC;IAEpC;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAC;IAGrC;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC;IAEhG;;;;;OAKG;IACH,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAEhF;;OAEG;IACH,SAAS,IAAI,cAAc,CAAC;IAE5B;;OAEG;IACH,WAAW,IAAI,SAAS,CAAC;IAEzB;;OAEG;IACH,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9B;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;CAC/C"}
|
package/dist/legacy.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/*
|
|
7
|
+
* THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
|
8
|
+
* Generated by "flub generate entrypoints" in @fluidframework/build-tools.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
export {
|
|
12
|
+
// public APIs
|
|
13
|
+
IChannel,
|
|
14
|
+
IChannelAttributes,
|
|
15
|
+
IChannelFactory,
|
|
16
|
+
IChannelServices,
|
|
17
|
+
IChannelStorageService,
|
|
18
|
+
IDeltaConnection,
|
|
19
|
+
IDeltaHandler,
|
|
20
|
+
IFluidDataStoreRuntime,
|
|
21
|
+
IFluidDataStoreRuntimeEvents,
|
|
22
|
+
|
|
23
|
+
// alpha APIs
|
|
24
|
+
Internal_InterfaceOfJsonableTypesWith,
|
|
25
|
+
Jsonable,
|
|
26
|
+
JsonableTypeWith,
|
|
27
|
+
Serializable
|
|
28
|
+
} from "./index.js";
|
package/dist/public.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/*
|
|
7
|
+
* THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
|
8
|
+
* Generated by "flub generate entrypoints" in @fluidframework/build-tools.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
export {
|
|
12
|
+
// public APIs
|
|
13
|
+
IChannel,
|
|
14
|
+
IChannelAttributes,
|
|
15
|
+
IChannelFactory,
|
|
16
|
+
IChannelServices,
|
|
17
|
+
IChannelStorageService,
|
|
18
|
+
IDeltaConnection,
|
|
19
|
+
IDeltaHandler,
|
|
20
|
+
IFluidDataStoreRuntime,
|
|
21
|
+
IFluidDataStoreRuntimeEvents
|
|
22
|
+
} from "./index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializable.d.ts","sourceRoot":"","sources":["../src/serializable.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"serializable.d.ts","sourceRoot":"","sources":["../src/serializable.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC"}
|
package/internal.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/*
|
|
7
|
+
* THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
|
8
|
+
* Generated by "flub generate entrypoints" in @fluidframework/build-tools.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
export type * from "./lib/index.d.ts";
|
package/legacy.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/*
|
|
7
|
+
* THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
|
8
|
+
* Generated by "flub generate entrypoints" in @fluidframework/build-tools.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
export type * from "./lib/legacy.d.ts";
|
package/lib/channel.d.ts
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { IFluidHandle, IFluidLoadable } from "@fluidframework/core-interfaces";
|
|
6
6
|
import type { ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
|
|
7
|
-
import type {
|
|
8
|
-
import type { IChannelAttributes } from "./storage.js";
|
|
7
|
+
import type { IExperimentalIncrementalSummaryContext, IGarbageCollectionData, ISummaryTreeWithStats, ITelemetryContext } from "@fluidframework/runtime-definitions";
|
|
9
8
|
import type { IFluidDataStoreRuntime } from "./dataStoreRuntime.js";
|
|
9
|
+
import type { IChannelAttributes } from "./storage.js";
|
|
10
10
|
/**
|
|
11
11
|
* @public
|
|
12
12
|
*/
|
|
@@ -224,14 +224,14 @@ export interface IChannelServices {
|
|
|
224
224
|
* the collaborating clients will need to have access to a factory that can produce the `SharedMap` object.
|
|
225
225
|
*
|
|
226
226
|
* @privateRemarks
|
|
227
|
-
* TChannel
|
|
227
|
+
* TChannel is intersected with IChannel when returned instead of constrained to it since doing so enables LoadableObjectClass to be covariant over its input parameter.
|
|
228
228
|
* This means that code like fluid-static's `InitialObjects` can be simple and type safe and LoadableObjectClass<any> is not needed.
|
|
229
229
|
* This approach (not requiring TChannel to extend IChannel) also makes it possible for SharedObject's public interfaces to not include IChannel if desired
|
|
230
230
|
* (while still requiring the implementation to implement it).
|
|
231
231
|
*
|
|
232
232
|
* @public
|
|
233
233
|
*/
|
|
234
|
-
export interface IChannelFactory<out TChannel
|
|
234
|
+
export interface IChannelFactory<out TChannel = unknown> {
|
|
235
235
|
/**
|
|
236
236
|
* String representing the type of the factory.
|
|
237
237
|
*/
|
package/lib/channel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,KAAK,EACX,sBAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
|
-
import type {
|
|
6
|
-
import type {
|
|
5
|
+
import type { AttachState, IAudience, IDeltaManager } from "@fluidframework/container-definitions";
|
|
6
|
+
import type { FluidObject, IDisposable, IEvent, IEventProvider, IFluidHandle, IFluidHandleContext, ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
|
|
7
|
+
import type { IIdCompressor } from "@fluidframework/id-compressor";
|
|
7
8
|
import type { IDocumentMessage, IQuorumClients, ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
|
|
8
9
|
import type { IInboundSignalMessage } from "@fluidframework/runtime-definitions";
|
|
9
|
-
import type { IIdCompressor } from "@fluidframework/id-compressor";
|
|
10
10
|
import type { IChannel } from "./channel.js";
|
|
11
11
|
/**
|
|
12
12
|
* Events emitted by {@link IFluidDataStoreRuntime}.
|
|
@@ -57,6 +57,20 @@ export interface IFluidDataStoreRuntime extends IEventProvider<IFluidDataStoreRu
|
|
|
57
57
|
* @param type - Type of the channel.
|
|
58
58
|
*/
|
|
59
59
|
createChannel(id: string | undefined, type: string): IChannel;
|
|
60
|
+
/**
|
|
61
|
+
* This api allows adding channel to data store after it was created.
|
|
62
|
+
* This allows callers to cusmomize channel instance. For example, channel implementation
|
|
63
|
+
* could have various modes of operations. As long as such configuration is provided at creation
|
|
64
|
+
* and stored in summaries (such that all users of such channel instance behave the same), this
|
|
65
|
+
* could be useful technique to have customized solutions without introducing a number of data structures
|
|
66
|
+
* that all have same implementation.
|
|
67
|
+
* This is also useful for scenarios like SharedTree DDS, where schema is provided at creation and stored in a summary.
|
|
68
|
+
* The channel type should be present in the registry, otherwise the runtime would reject
|
|
69
|
+
* the channel. The runtime used to create the channel object should be same to which
|
|
70
|
+
* it is added.
|
|
71
|
+
* @param channel - channel which needs to be added to the runtime.
|
|
72
|
+
*/
|
|
73
|
+
addChannel(channel: IChannel): void;
|
|
60
74
|
/**
|
|
61
75
|
* Bind the channel with the data store runtime. If the runtime
|
|
62
76
|
* is attached then we attach the channel to make it live.
|
|
@@ -70,10 +84,10 @@ export interface IFluidDataStoreRuntime extends IEventProvider<IFluidDataStoreRu
|
|
|
70
84
|
/**
|
|
71
85
|
* Submits the signal to be sent to other clients.
|
|
72
86
|
* @param type - Type of the signal.
|
|
73
|
-
* @param content - Content of the signal.
|
|
87
|
+
* @param content - Content of the signal. Should be a JSON serializable object or primitive.
|
|
74
88
|
* @param targetClientId - When specified, the signal is only sent to the provided client id.
|
|
75
89
|
*/
|
|
76
|
-
submitSignal(type: string, content:
|
|
90
|
+
submitSignal: (type: string, content: unknown, targetClientId?: string) => void;
|
|
77
91
|
/**
|
|
78
92
|
* Returns the current quorum.
|
|
79
93
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataStoreRuntime.d.ts","sourceRoot":"","sources":["../src/dataStoreRuntime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"dataStoreRuntime.d.ts","sourceRoot":"","sources":["../src/dataStoreRuntime.ts"],"names":[],"mappings":"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"}
|
package/lib/legacy.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/*
|
|
7
|
+
* THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
|
8
|
+
* Generated by "flub generate entrypoints" in @fluidframework/build-tools.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
export {
|
|
12
|
+
// public APIs
|
|
13
|
+
IChannel,
|
|
14
|
+
IChannelAttributes,
|
|
15
|
+
IChannelFactory,
|
|
16
|
+
IChannelServices,
|
|
17
|
+
IChannelStorageService,
|
|
18
|
+
IDeltaConnection,
|
|
19
|
+
IDeltaHandler,
|
|
20
|
+
IFluidDataStoreRuntime,
|
|
21
|
+
IFluidDataStoreRuntimeEvents,
|
|
22
|
+
|
|
23
|
+
// alpha APIs
|
|
24
|
+
Internal_InterfaceOfJsonableTypesWith,
|
|
25
|
+
Jsonable,
|
|
26
|
+
JsonableTypeWith,
|
|
27
|
+
Serializable
|
|
28
|
+
} from "./index.js";
|
package/lib/public.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/*
|
|
7
|
+
* THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
|
8
|
+
* Generated by "flub generate entrypoints" in @fluidframework/build-tools.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
export {
|
|
12
|
+
// public APIs
|
|
13
|
+
IChannel,
|
|
14
|
+
IChannelAttributes,
|
|
15
|
+
IChannelFactory,
|
|
16
|
+
IChannelServices,
|
|
17
|
+
IChannelStorageService,
|
|
18
|
+
IDeltaConnection,
|
|
19
|
+
IDeltaHandler,
|
|
20
|
+
IFluidDataStoreRuntime,
|
|
21
|
+
IFluidDataStoreRuntimeEvents
|
|
22
|
+
} from "./index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializable.d.ts","sourceRoot":"","sources":["../src/serializable.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"serializable.d.ts","sourceRoot":"","sources":["../src/serializable.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluidframework/datastore-definitions",
|
|
3
|
-
"version": "2.0.0-rc.
|
|
3
|
+
"version": "2.0.0-rc.3.0.1",
|
|
4
4
|
"description": "Fluid data store definitions",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -15,26 +15,18 @@
|
|
|
15
15
|
"exports": {
|
|
16
16
|
".": {
|
|
17
17
|
"import": {
|
|
18
|
-
"types": "./lib/
|
|
19
|
-
},
|
|
20
|
-
"require": {
|
|
21
|
-
"types": "./dist/index.d.ts"
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
"./public": {
|
|
25
|
-
"import": {
|
|
26
|
-
"types": "./lib/datastore-definitions-public.d.ts"
|
|
18
|
+
"types": "./lib/public.d.ts"
|
|
27
19
|
},
|
|
28
20
|
"require": {
|
|
29
|
-
"types": "./dist/
|
|
21
|
+
"types": "./dist/public.d.ts"
|
|
30
22
|
}
|
|
31
23
|
},
|
|
32
|
-
"./
|
|
24
|
+
"./legacy": {
|
|
33
25
|
"import": {
|
|
34
|
-
"types": "./lib/
|
|
26
|
+
"types": "./lib/legacy.d.ts"
|
|
35
27
|
},
|
|
36
28
|
"require": {
|
|
37
|
-
"types": "./dist/
|
|
29
|
+
"types": "./dist/legacy.d.ts"
|
|
38
30
|
}
|
|
39
31
|
},
|
|
40
32
|
"./internal": {
|
|
@@ -47,21 +39,22 @@
|
|
|
47
39
|
}
|
|
48
40
|
},
|
|
49
41
|
"main": "",
|
|
50
|
-
"types": "
|
|
42
|
+
"types": "lib/public.d.ts",
|
|
51
43
|
"dependencies": {
|
|
52
|
-
"@fluidframework/container-definitions": ">=2.0.0-rc.
|
|
53
|
-
"@fluidframework/core-interfaces": ">=2.0.0-rc.
|
|
54
|
-
"@fluidframework/id-compressor": ">=2.0.0-rc.
|
|
44
|
+
"@fluidframework/container-definitions": ">=2.0.0-rc.3.0.1 <2.0.0-rc.3.1.0",
|
|
45
|
+
"@fluidframework/core-interfaces": ">=2.0.0-rc.3.0.1 <2.0.0-rc.3.1.0",
|
|
46
|
+
"@fluidframework/id-compressor": ">=2.0.0-rc.3.0.1 <2.0.0-rc.3.1.0",
|
|
55
47
|
"@fluidframework/protocol-definitions": "^3.2.0",
|
|
56
|
-
"@fluidframework/runtime-definitions": ">=2.0.0-rc.
|
|
48
|
+
"@fluidframework/runtime-definitions": ">=2.0.0-rc.3.0.1 <2.0.0-rc.3.1.0"
|
|
57
49
|
},
|
|
58
50
|
"devDependencies": {
|
|
59
|
-
"@arethetypeswrong/cli": "^0.
|
|
60
|
-
"@
|
|
51
|
+
"@arethetypeswrong/cli": "^0.15.2",
|
|
52
|
+
"@biomejs/biome": "^1.6.2",
|
|
53
|
+
"@fluid-tools/build-cli": "^0.37.0",
|
|
61
54
|
"@fluidframework/build-common": "^2.0.3",
|
|
62
|
-
"@fluidframework/build-tools": "^0.
|
|
55
|
+
"@fluidframework/build-tools": "^0.37.0",
|
|
63
56
|
"@fluidframework/datastore-definitions-previous": "npm:@fluidframework/datastore-definitions@2.0.0-internal.8.0.0",
|
|
64
|
-
"@fluidframework/eslint-config-fluid": "^
|
|
57
|
+
"@fluidframework/eslint-config-fluid": "^5.1.0",
|
|
65
58
|
"@microsoft/api-extractor": "^7.42.3",
|
|
66
59
|
"copyfiles": "^2.4.1",
|
|
67
60
|
"eslint": "~8.55.0",
|
|
@@ -69,18 +62,6 @@
|
|
|
69
62
|
"rimraf": "^4.4.0",
|
|
70
63
|
"typescript": "~5.1.6"
|
|
71
64
|
},
|
|
72
|
-
"fluidBuild": {
|
|
73
|
-
"tasks": {
|
|
74
|
-
"build:docs": {
|
|
75
|
-
"dependsOn": [
|
|
76
|
-
"...",
|
|
77
|
-
"api-extractor:commonjs",
|
|
78
|
-
"api-extractor:esnext"
|
|
79
|
-
],
|
|
80
|
-
"script": false
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
},
|
|
84
65
|
"typeValidation": {
|
|
85
66
|
"broken": {
|
|
86
67
|
"InterfaceDeclaration_IFluidDataStoreRuntime": {
|
|
@@ -91,26 +72,26 @@
|
|
|
91
72
|
},
|
|
92
73
|
"scripts": {
|
|
93
74
|
"api": "fluid-build . --task api",
|
|
94
|
-
"api-extractor:commonjs": "
|
|
95
|
-
"api-extractor:esnext": "
|
|
75
|
+
"api-extractor:commonjs": "flub generate entrypoints --outFileAlpha legacy --outDir ./dist",
|
|
76
|
+
"api-extractor:esnext": "flub generate entrypoints --outFileAlpha legacy --outDir ./lib --node10TypeCompat",
|
|
96
77
|
"build": "fluid-build . --task build",
|
|
97
78
|
"build:compile": "fluid-build . --task compile",
|
|
98
|
-
"build:docs": "
|
|
79
|
+
"build:docs": "api-extractor run --local",
|
|
99
80
|
"build:esnext": "tsc --project ./tsconfig.json",
|
|
100
81
|
"build:test": "npm run build:test:esm && npm run build:test:cjs",
|
|
101
82
|
"build:test:cjs": "fluid-tsc commonjs --project ./src/test/tsconfig.cjs.json",
|
|
102
83
|
"build:test:esm": "tsc --project ./src/test/tsconfig.json",
|
|
103
|
-
"check:are-the-types-wrong": "attw --pack .
|
|
84
|
+
"check:are-the-types-wrong": "attw --pack .",
|
|
85
|
+
"check:prettier": "prettier --check . --cache --ignore-path ../../../.prettierignore",
|
|
104
86
|
"check:release-tags": "api-extractor run --local --config ./api-extractor-lint.json",
|
|
105
87
|
"ci:build:docs": "api-extractor run",
|
|
106
|
-
"clean": "rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp",
|
|
88
|
+
"clean": "rimraf --glob dist lib \"*.d.ts\" \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp",
|
|
107
89
|
"eslint": "eslint --format stylish src",
|
|
108
90
|
"eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout",
|
|
109
|
-
"format": "
|
|
110
|
-
"
|
|
111
|
-
"lint
|
|
112
|
-
"
|
|
113
|
-
"prettier:fix": "prettier --write . --cache --ignore-path ../../../.prettierignore",
|
|
91
|
+
"format": "fluid-build --task format .",
|
|
92
|
+
"format:prettier": "prettier --write . --cache --ignore-path ../../../.prettierignore",
|
|
93
|
+
"lint": "fluid-build . --task lint",
|
|
94
|
+
"lint:fix": "fluid-build . --task eslint:fix --task format",
|
|
114
95
|
"tsc": "fluid-tsc commonjs --project ./tsconfig.cjs.json && copyfiles -f ../../../common/build/build-common/src/cjs/package.json ./dist",
|
|
115
96
|
"typetests:gen": "fluid-type-test-generator",
|
|
116
97
|
"typetests:prepare": "flub typetests --dir . --reset --previous --normalize"
|
package/src/channel.ts
CHANGED
|
@@ -6,13 +6,14 @@
|
|
|
6
6
|
import type { IFluidHandle, IFluidLoadable } from "@fluidframework/core-interfaces";
|
|
7
7
|
import type { ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
|
|
8
8
|
import type {
|
|
9
|
-
IGarbageCollectionData,
|
|
10
9
|
IExperimentalIncrementalSummaryContext,
|
|
10
|
+
IGarbageCollectionData,
|
|
11
11
|
ISummaryTreeWithStats,
|
|
12
12
|
ITelemetryContext,
|
|
13
13
|
} from "@fluidframework/runtime-definitions";
|
|
14
|
-
|
|
14
|
+
|
|
15
15
|
import type { IFluidDataStoreRuntime } from "./dataStoreRuntime.js";
|
|
16
|
+
import type { IChannelAttributes } from "./storage.js";
|
|
16
17
|
|
|
17
18
|
/**
|
|
18
19
|
* @public
|
|
@@ -262,14 +263,14 @@ export interface IChannelServices {
|
|
|
262
263
|
* the collaborating clients will need to have access to a factory that can produce the `SharedMap` object.
|
|
263
264
|
*
|
|
264
265
|
* @privateRemarks
|
|
265
|
-
* TChannel
|
|
266
|
+
* TChannel is intersected with IChannel when returned instead of constrained to it since doing so enables LoadableObjectClass to be covariant over its input parameter.
|
|
266
267
|
* This means that code like fluid-static's `InitialObjects` can be simple and type safe and LoadableObjectClass<any> is not needed.
|
|
267
268
|
* This approach (not requiring TChannel to extend IChannel) also makes it possible for SharedObject's public interfaces to not include IChannel if desired
|
|
268
269
|
* (while still requiring the implementation to implement it).
|
|
269
270
|
*
|
|
270
271
|
* @public
|
|
271
272
|
*/
|
|
272
|
-
export interface IChannelFactory<out TChannel
|
|
273
|
+
export interface IChannelFactory<out TChannel = unknown> {
|
|
273
274
|
/**
|
|
274
275
|
* String representing the type of the factory.
|
|
275
276
|
*/
|