@fluidframework/datastore-definitions 2.0.0-dev-rc.2.0.0.246488 → 2.0.0-dev-rc.3.0.0.253463

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.
@@ -45,7 +45,7 @@ export interface IChannelAttributes {
45
45
  }
46
46
 
47
47
  // @public
48
- export interface IChannelFactory<out TChannel extends IFluidLoadable = IFluidLoadable> {
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>;
@@ -120,7 +120,7 @@ export interface IFluidDataStoreRuntime extends IEventProvider<IFluidDataStoreRu
120
120
  readonly options: Record<string | number, any>;
121
121
  // (undocumented)
122
122
  readonly rootRoutingContext: IFluidHandleContext;
123
- submitSignal(type: string, content: any, targetClientId?: string): void;
123
+ submitSignal: (type: string, content: unknown, targetClientId?: string) => void;
124
124
  uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandle<ArrayBufferLike>>;
125
125
  waitAttached(): Promise<void>;
126
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 { IGarbageCollectionData, IExperimentalIncrementalSummaryContext, ISummaryTreeWithStats, ITelemetryContext } from "@fluidframework/runtime-definitions";
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 extends IFluidLoadable instead of TChannel since doing so enables LoadableObjectClass to be covariant over its input parameter.
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 extends IFluidLoadable = IFluidLoadable> {
234
+ export interface IChannelFactory<out TChannel = unknown> {
235
235
  /**
236
236
  * String representing the type of the factory.
237
237
  */
@@ -1 +1 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"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"}
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 { IEvent, IEventProvider, IDisposable, IFluidHandleContext, IFluidHandle, FluidObject, ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
6
- import type { IAudience, IDeltaManager, AttachState } from "@fluidframework/container-definitions";
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}.
@@ -84,10 +84,10 @@ export interface IFluidDataStoreRuntime extends IEventProvider<IFluidDataStoreRu
84
84
  /**
85
85
  * Submits the signal to be sent to other clients.
86
86
  * @param type - Type of the signal.
87
- * @param content - Content of the signal.
87
+ * @param content - Content of the signal. Should be a JSON serializable object or primitive.
88
88
  * @param targetClientId - When specified, the signal is only sent to the provided client id.
89
89
  */
90
- submitSignal(type: string, content: any, targetClientId?: string): void;
90
+ submitSignal: (type: string, content: unknown, targetClientId?: string) => void;
91
91
  /**
92
92
  * Returns the current quorum.
93
93
  */
@@ -1 +1 @@
1
- {"version":3,"file":"dataStoreRuntime.d.ts","sourceRoot":"","sources":["../src/dataStoreRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataStoreRuntime.d.ts","sourceRoot":"","sources":["../src/dataStoreRuntime.ts"],"names":[],"mappings":"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"}
@@ -154,14 +154,14 @@ export declare interface IChannelAttributes {
154
154
  * the collaborating clients will need to have access to a factory that can produce the `SharedMap` object.
155
155
  *
156
156
  * @privateRemarks
157
- * TChannel extends IFluidLoadable instead of TChannel since doing so enables LoadableObjectClass to be covariant over its input parameter.
157
+ * TChannel is intersected with IChannel when returned instead of constrained to it since doing so enables LoadableObjectClass to be covariant over its input parameter.
158
158
  * This means that code like fluid-static's `InitialObjects` can be simple and type safe and LoadableObjectClass<any> is not needed.
159
159
  * This approach (not requiring TChannel to extend IChannel) also makes it possible for SharedObject's public interfaces to not include IChannel if desired
160
160
  * (while still requiring the implementation to implement it).
161
161
  *
162
162
  * @public
163
163
  */
164
- export declare interface IChannelFactory<out TChannel extends IFluidLoadable = IFluidLoadable> {
164
+ export declare interface IChannelFactory<out TChannel = unknown> {
165
165
  /**
166
166
  * String representing the type of the factory.
167
167
  */
@@ -380,10 +380,10 @@ export declare interface IFluidDataStoreRuntime extends IEventProvider<IFluidDat
380
380
  /**
381
381
  * Submits the signal to be sent to other clients.
382
382
  * @param type - Type of the signal.
383
- * @param content - Content of the signal.
383
+ * @param content - Content of the signal. Should be a JSON serializable object or primitive.
384
384
  * @param targetClientId - When specified, the signal is only sent to the provided client id.
385
385
  */
386
- submitSignal(type: string, content: any, targetClientId?: string): void;
386
+ submitSignal: (type: string, content: unknown, targetClientId?: string) => void;
387
387
  /**
388
388
  * Returns the current quorum.
389
389
  */
@@ -154,14 +154,14 @@ export declare interface IChannelAttributes {
154
154
  * the collaborating clients will need to have access to a factory that can produce the `SharedMap` object.
155
155
  *
156
156
  * @privateRemarks
157
- * TChannel extends IFluidLoadable instead of TChannel since doing so enables LoadableObjectClass to be covariant over its input parameter.
157
+ * TChannel is intersected with IChannel when returned instead of constrained to it since doing so enables LoadableObjectClass to be covariant over its input parameter.
158
158
  * This means that code like fluid-static's `InitialObjects` can be simple and type safe and LoadableObjectClass<any> is not needed.
159
159
  * This approach (not requiring TChannel to extend IChannel) also makes it possible for SharedObject's public interfaces to not include IChannel if desired
160
160
  * (while still requiring the implementation to implement it).
161
161
  *
162
162
  * @public
163
163
  */
164
- export declare interface IChannelFactory<out TChannel extends IFluidLoadable = IFluidLoadable> {
164
+ export declare interface IChannelFactory<out TChannel = unknown> {
165
165
  /**
166
166
  * String representing the type of the factory.
167
167
  */
@@ -380,10 +380,10 @@ export declare interface IFluidDataStoreRuntime extends IEventProvider<IFluidDat
380
380
  /**
381
381
  * Submits the signal to be sent to other clients.
382
382
  * @param type - Type of the signal.
383
- * @param content - Content of the signal.
383
+ * @param content - Content of the signal. Should be a JSON serializable object or primitive.
384
384
  * @param targetClientId - When specified, the signal is only sent to the provided client id.
385
385
  */
386
- submitSignal(type: string, content: any, targetClientId?: string): void;
386
+ submitSignal: (type: string, content: unknown, targetClientId?: string) => void;
387
387
  /**
388
388
  * Returns the current quorum.
389
389
  */
@@ -154,14 +154,14 @@ export declare interface IChannelAttributes {
154
154
  * the collaborating clients will need to have access to a factory that can produce the `SharedMap` object.
155
155
  *
156
156
  * @privateRemarks
157
- * TChannel extends IFluidLoadable instead of TChannel since doing so enables LoadableObjectClass to be covariant over its input parameter.
157
+ * TChannel is intersected with IChannel when returned instead of constrained to it since doing so enables LoadableObjectClass to be covariant over its input parameter.
158
158
  * This means that code like fluid-static's `InitialObjects` can be simple and type safe and LoadableObjectClass<any> is not needed.
159
159
  * This approach (not requiring TChannel to extend IChannel) also makes it possible for SharedObject's public interfaces to not include IChannel if desired
160
160
  * (while still requiring the implementation to implement it).
161
161
  *
162
162
  * @public
163
163
  */
164
- export declare interface IChannelFactory<out TChannel extends IFluidLoadable = IFluidLoadable> {
164
+ export declare interface IChannelFactory<out TChannel = unknown> {
165
165
  /**
166
166
  * String representing the type of the factory.
167
167
  */
@@ -380,10 +380,10 @@ export declare interface IFluidDataStoreRuntime extends IEventProvider<IFluidDat
380
380
  /**
381
381
  * Submits the signal to be sent to other clients.
382
382
  * @param type - Type of the signal.
383
- * @param content - Content of the signal.
383
+ * @param content - Content of the signal. Should be a JSON serializable object or primitive.
384
384
  * @param targetClientId - When specified, the signal is only sent to the provided client id.
385
385
  */
386
- submitSignal(type: string, content: any, targetClientId?: string): void;
386
+ submitSignal: (type: string, content: unknown, targetClientId?: string) => void;
387
387
  /**
388
388
  * Returns the current quorum.
389
389
  */
@@ -154,14 +154,14 @@ export declare interface IChannelAttributes {
154
154
  * the collaborating clients will need to have access to a factory that can produce the `SharedMap` object.
155
155
  *
156
156
  * @privateRemarks
157
- * TChannel extends IFluidLoadable instead of TChannel since doing so enables LoadableObjectClass to be covariant over its input parameter.
157
+ * TChannel is intersected with IChannel when returned instead of constrained to it since doing so enables LoadableObjectClass to be covariant over its input parameter.
158
158
  * This means that code like fluid-static's `InitialObjects` can be simple and type safe and LoadableObjectClass<any> is not needed.
159
159
  * This approach (not requiring TChannel to extend IChannel) also makes it possible for SharedObject's public interfaces to not include IChannel if desired
160
160
  * (while still requiring the implementation to implement it).
161
161
  *
162
162
  * @public
163
163
  */
164
- export declare interface IChannelFactory<out TChannel extends IFluidLoadable = IFluidLoadable> {
164
+ export declare interface IChannelFactory<out TChannel = unknown> {
165
165
  /**
166
166
  * String representing the type of the factory.
167
167
  */
@@ -380,10 +380,10 @@ export declare interface IFluidDataStoreRuntime extends IEventProvider<IFluidDat
380
380
  /**
381
381
  * Submits the signal to be sent to other clients.
382
382
  * @param type - Type of the signal.
383
- * @param content - Content of the signal.
383
+ * @param content - Content of the signal. Should be a JSON serializable object or primitive.
384
384
  * @param targetClientId - When specified, the signal is only sent to the provided client id.
385
385
  */
386
- submitSignal(type: string, content: any, targetClientId?: string): void;
386
+ submitSignal: (type: string, content: unknown, targetClientId?: string) => void;
387
387
  /**
388
388
  * Returns the current quorum.
389
389
  */
@@ -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;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,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/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 { IGarbageCollectionData, IExperimentalIncrementalSummaryContext, ISummaryTreeWithStats, ITelemetryContext } from "@fluidframework/runtime-definitions";
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 extends IFluidLoadable instead of TChannel since doing so enables LoadableObjectClass to be covariant over its input parameter.
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 extends IFluidLoadable = IFluidLoadable> {
234
+ export interface IChannelFactory<out TChannel = unknown> {
235
235
  /**
236
236
  * String representing the type of the factory.
237
237
  */
@@ -1 +1 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"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"}
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 { IEvent, IEventProvider, IDisposable, IFluidHandleContext, IFluidHandle, FluidObject, ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
6
- import type { IAudience, IDeltaManager, AttachState } from "@fluidframework/container-definitions";
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}.
@@ -84,10 +84,10 @@ export interface IFluidDataStoreRuntime extends IEventProvider<IFluidDataStoreRu
84
84
  /**
85
85
  * Submits the signal to be sent to other clients.
86
86
  * @param type - Type of the signal.
87
- * @param content - Content of the signal.
87
+ * @param content - Content of the signal. Should be a JSON serializable object or primitive.
88
88
  * @param targetClientId - When specified, the signal is only sent to the provided client id.
89
89
  */
90
- submitSignal(type: string, content: any, targetClientId?: string): void;
90
+ submitSignal: (type: string, content: unknown, targetClientId?: string) => void;
91
91
  /**
92
92
  * Returns the current quorum.
93
93
  */
@@ -1 +1 @@
1
- {"version":3,"file":"dataStoreRuntime.d.ts","sourceRoot":"","sources":["../src/dataStoreRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataStoreRuntime.d.ts","sourceRoot":"","sources":["../src/dataStoreRuntime.ts"],"names":[],"mappings":"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"}
@@ -154,14 +154,14 @@ export declare interface IChannelAttributes {
154
154
  * the collaborating clients will need to have access to a factory that can produce the `SharedMap` object.
155
155
  *
156
156
  * @privateRemarks
157
- * TChannel extends IFluidLoadable instead of TChannel since doing so enables LoadableObjectClass to be covariant over its input parameter.
157
+ * TChannel is intersected with IChannel when returned instead of constrained to it since doing so enables LoadableObjectClass to be covariant over its input parameter.
158
158
  * This means that code like fluid-static's `InitialObjects` can be simple and type safe and LoadableObjectClass<any> is not needed.
159
159
  * This approach (not requiring TChannel to extend IChannel) also makes it possible for SharedObject's public interfaces to not include IChannel if desired
160
160
  * (while still requiring the implementation to implement it).
161
161
  *
162
162
  * @public
163
163
  */
164
- export declare interface IChannelFactory<out TChannel extends IFluidLoadable = IFluidLoadable> {
164
+ export declare interface IChannelFactory<out TChannel = unknown> {
165
165
  /**
166
166
  * String representing the type of the factory.
167
167
  */
@@ -380,10 +380,10 @@ export declare interface IFluidDataStoreRuntime extends IEventProvider<IFluidDat
380
380
  /**
381
381
  * Submits the signal to be sent to other clients.
382
382
  * @param type - Type of the signal.
383
- * @param content - Content of the signal.
383
+ * @param content - Content of the signal. Should be a JSON serializable object or primitive.
384
384
  * @param targetClientId - When specified, the signal is only sent to the provided client id.
385
385
  */
386
- submitSignal(type: string, content: any, targetClientId?: string): void;
386
+ submitSignal: (type: string, content: unknown, targetClientId?: string) => void;
387
387
  /**
388
388
  * Returns the current quorum.
389
389
  */
@@ -154,14 +154,14 @@ export declare interface IChannelAttributes {
154
154
  * the collaborating clients will need to have access to a factory that can produce the `SharedMap` object.
155
155
  *
156
156
  * @privateRemarks
157
- * TChannel extends IFluidLoadable instead of TChannel since doing so enables LoadableObjectClass to be covariant over its input parameter.
157
+ * TChannel is intersected with IChannel when returned instead of constrained to it since doing so enables LoadableObjectClass to be covariant over its input parameter.
158
158
  * This means that code like fluid-static's `InitialObjects` can be simple and type safe and LoadableObjectClass<any> is not needed.
159
159
  * This approach (not requiring TChannel to extend IChannel) also makes it possible for SharedObject's public interfaces to not include IChannel if desired
160
160
  * (while still requiring the implementation to implement it).
161
161
  *
162
162
  * @public
163
163
  */
164
- export declare interface IChannelFactory<out TChannel extends IFluidLoadable = IFluidLoadable> {
164
+ export declare interface IChannelFactory<out TChannel = unknown> {
165
165
  /**
166
166
  * String representing the type of the factory.
167
167
  */
@@ -380,10 +380,10 @@ export declare interface IFluidDataStoreRuntime extends IEventProvider<IFluidDat
380
380
  /**
381
381
  * Submits the signal to be sent to other clients.
382
382
  * @param type - Type of the signal.
383
- * @param content - Content of the signal.
383
+ * @param content - Content of the signal. Should be a JSON serializable object or primitive.
384
384
  * @param targetClientId - When specified, the signal is only sent to the provided client id.
385
385
  */
386
- submitSignal(type: string, content: any, targetClientId?: string): void;
386
+ submitSignal: (type: string, content: unknown, targetClientId?: string) => void;
387
387
  /**
388
388
  * Returns the current quorum.
389
389
  */
@@ -154,14 +154,14 @@ export declare interface IChannelAttributes {
154
154
  * the collaborating clients will need to have access to a factory that can produce the `SharedMap` object.
155
155
  *
156
156
  * @privateRemarks
157
- * TChannel extends IFluidLoadable instead of TChannel since doing so enables LoadableObjectClass to be covariant over its input parameter.
157
+ * TChannel is intersected with IChannel when returned instead of constrained to it since doing so enables LoadableObjectClass to be covariant over its input parameter.
158
158
  * This means that code like fluid-static's `InitialObjects` can be simple and type safe and LoadableObjectClass<any> is not needed.
159
159
  * This approach (not requiring TChannel to extend IChannel) also makes it possible for SharedObject's public interfaces to not include IChannel if desired
160
160
  * (while still requiring the implementation to implement it).
161
161
  *
162
162
  * @public
163
163
  */
164
- export declare interface IChannelFactory<out TChannel extends IFluidLoadable = IFluidLoadable> {
164
+ export declare interface IChannelFactory<out TChannel = unknown> {
165
165
  /**
166
166
  * String representing the type of the factory.
167
167
  */
@@ -380,10 +380,10 @@ export declare interface IFluidDataStoreRuntime extends IEventProvider<IFluidDat
380
380
  /**
381
381
  * Submits the signal to be sent to other clients.
382
382
  * @param type - Type of the signal.
383
- * @param content - Content of the signal.
383
+ * @param content - Content of the signal. Should be a JSON serializable object or primitive.
384
384
  * @param targetClientId - When specified, the signal is only sent to the provided client id.
385
385
  */
386
- submitSignal(type: string, content: any, targetClientId?: string): void;
386
+ submitSignal: (type: string, content: unknown, targetClientId?: string) => void;
387
387
  /**
388
388
  * Returns the current quorum.
389
389
  */
@@ -154,14 +154,14 @@ export declare interface IChannelAttributes {
154
154
  * the collaborating clients will need to have access to a factory that can produce the `SharedMap` object.
155
155
  *
156
156
  * @privateRemarks
157
- * TChannel extends IFluidLoadable instead of TChannel since doing so enables LoadableObjectClass to be covariant over its input parameter.
157
+ * TChannel is intersected with IChannel when returned instead of constrained to it since doing so enables LoadableObjectClass to be covariant over its input parameter.
158
158
  * This means that code like fluid-static's `InitialObjects` can be simple and type safe and LoadableObjectClass<any> is not needed.
159
159
  * This approach (not requiring TChannel to extend IChannel) also makes it possible for SharedObject's public interfaces to not include IChannel if desired
160
160
  * (while still requiring the implementation to implement it).
161
161
  *
162
162
  * @public
163
163
  */
164
- export declare interface IChannelFactory<out TChannel extends IFluidLoadable = IFluidLoadable> {
164
+ export declare interface IChannelFactory<out TChannel = unknown> {
165
165
  /**
166
166
  * String representing the type of the factory.
167
167
  */
@@ -380,10 +380,10 @@ export declare interface IFluidDataStoreRuntime extends IEventProvider<IFluidDat
380
380
  /**
381
381
  * Submits the signal to be sent to other clients.
382
382
  * @param type - Type of the signal.
383
- * @param content - Content of the signal.
383
+ * @param content - Content of the signal. Should be a JSON serializable object or primitive.
384
384
  * @param targetClientId - When specified, the signal is only sent to the provided client id.
385
385
  */
386
- submitSignal(type: string, content: any, targetClientId?: string): void;
386
+ submitSignal: (type: string, content: unknown, targetClientId?: string) => void;
387
387
  /**
388
388
  * Returns the current quorum.
389
389
  */
@@ -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;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,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"}
@@ -0,0 +1,11 @@
1
+ // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
+ // It should be published with your NPM package. It should not be tracked by Git.
3
+ {
4
+ "tsdocVersion": "0.12",
5
+ "toolPackages": [
6
+ {
7
+ "packageName": "@microsoft/api-extractor",
8
+ "packageVersion": "7.42.3"
9
+ }
10
+ ]
11
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluidframework/datastore-definitions",
3
- "version": "2.0.0-dev-rc.2.0.0.246488",
3
+ "version": "2.0.0-dev-rc.3.0.0.253463",
4
4
  "description": "Fluid data store definitions",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -14,14 +14,6 @@
14
14
  "type": "module",
15
15
  "exports": {
16
16
  ".": {
17
- "import": {
18
- "types": "./lib/index.d.ts"
19
- },
20
- "require": {
21
- "types": "./dist/index.d.ts"
22
- }
23
- },
24
- "./public": {
25
17
  "import": {
26
18
  "types": "./lib/datastore-definitions-public.d.ts"
27
19
  },
@@ -49,14 +41,15 @@
49
41
  "main": "",
50
42
  "types": "dist/index.d.ts",
51
43
  "dependencies": {
52
- "@fluidframework/container-definitions": "2.0.0-dev-rc.2.0.0.246488",
53
- "@fluidframework/core-interfaces": "2.0.0-dev-rc.2.0.0.246488",
54
- "@fluidframework/id-compressor": "2.0.0-dev-rc.2.0.0.246488",
44
+ "@fluidframework/container-definitions": "2.0.0-dev-rc.3.0.0.253463",
45
+ "@fluidframework/core-interfaces": "2.0.0-dev-rc.3.0.0.253463",
46
+ "@fluidframework/id-compressor": "2.0.0-dev-rc.3.0.0.253463",
55
47
  "@fluidframework/protocol-definitions": "^3.2.0",
56
- "@fluidframework/runtime-definitions": "2.0.0-dev-rc.2.0.0.246488"
48
+ "@fluidframework/runtime-definitions": "2.0.0-dev-rc.3.0.0.253463"
57
49
  },
58
50
  "devDependencies": {
59
- "@arethetypeswrong/cli": "^0.13.3",
51
+ "@arethetypeswrong/cli": "^0.15.2",
52
+ "@biomejs/biome": "^1.6.2",
60
53
  "@fluid-tools/build-cli": "^0.34.0",
61
54
  "@fluidframework/build-common": "^2.0.3",
62
55
  "@fluidframework/build-tools": "^0.34.0",
@@ -101,16 +94,16 @@
101
94
  "build:test:cjs": "fluid-tsc commonjs --project ./src/test/tsconfig.cjs.json",
102
95
  "build:test:esm": "tsc --project ./src/test/tsconfig.json",
103
96
  "check:are-the-types-wrong": "attw --pack . --entrypoints .",
97
+ "check:prettier": "prettier --check . --cache --ignore-path ../../../.prettierignore",
104
98
  "check:release-tags": "api-extractor run --local --config ./api-extractor-lint.json",
105
99
  "ci:build:docs": "api-extractor run",
106
100
  "clean": "rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp",
107
101
  "eslint": "eslint --format stylish src",
108
102
  "eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout",
109
- "format": "npm run prettier:fix",
110
- "lint": "npm run prettier && npm run check:release-tags && npm run eslint",
111
- "lint:fix": "npm run prettier:fix && npm run eslint:fix",
112
- "prettier": "prettier --check . --cache --ignore-path ../../../.prettierignore",
113
- "prettier:fix": "prettier --write . --cache --ignore-path ../../../.prettierignore",
103
+ "format": "fluid-build --task format .",
104
+ "format:prettier": "prettier --write . --cache --ignore-path ../../../.prettierignore",
105
+ "lint": "fluid-build . --task lint",
106
+ "lint:fix": "fluid-build . --task eslint:fix --task format",
114
107
  "tsc": "fluid-tsc commonjs --project ./tsconfig.cjs.json && copyfiles -f ../../../common/build/build-common/src/cjs/package.json ./dist",
115
108
  "typetests:gen": "fluid-type-test-generator",
116
109
  "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
- import type { IChannelAttributes } from "./storage.js";
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 extends IFluidLoadable instead of TChannel since doing so enables LoadableObjectClass to be covariant over its input parameter.
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 extends IFluidLoadable = IFluidLoadable> {
273
+ export interface IChannelFactory<out TChannel = unknown> {
273
274
  /**
274
275
  * String representing the type of the factory.
275
276
  */
@@ -3,23 +3,24 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
+ import type { AttachState, IAudience, IDeltaManager } from "@fluidframework/container-definitions";
6
7
  import type {
8
+ FluidObject,
9
+ IDisposable,
7
10
  IEvent,
8
11
  IEventProvider,
9
- IDisposable,
10
- IFluidHandleContext,
11
12
  IFluidHandle,
12
- FluidObject,
13
+ IFluidHandleContext,
13
14
  ITelemetryBaseLogger,
14
15
  } from "@fluidframework/core-interfaces";
15
- import type { IAudience, IDeltaManager, AttachState } from "@fluidframework/container-definitions";
16
+ import type { IIdCompressor } from "@fluidframework/id-compressor";
16
17
  import type {
17
18
  IDocumentMessage,
18
19
  IQuorumClients,
19
20
  ISequencedDocumentMessage,
20
21
  } from "@fluidframework/protocol-definitions";
21
22
  import type { IInboundSignalMessage } from "@fluidframework/runtime-definitions";
22
- import type { IIdCompressor } from "@fluidframework/id-compressor";
23
+
23
24
  import type { IChannel } from "./channel.js";
24
25
 
25
26
  /**
@@ -119,10 +120,10 @@ export interface IFluidDataStoreRuntime
119
120
  /**
120
121
  * Submits the signal to be sent to other clients.
121
122
  * @param type - Type of the signal.
122
- * @param content - Content of the signal.
123
+ * @param content - Content of the signal. Should be a JSON serializable object or primitive.
123
124
  * @param targetClientId - When specified, the signal is only sent to the provided client id.
124
125
  */
125
- submitSignal(type: string, content: any, targetClientId?: string): void;
126
+ submitSignal: (type: string, content: unknown, targetClientId?: string) => void;
126
127
 
127
128
  /**
128
129
  * Returns the current quorum.
@@ -4,6 +4,7 @@
4
4
  */
5
5
 
6
6
  import type { IFluidHandle } from "@fluidframework/core-interfaces";
7
+
7
8
  import type { Jsonable } from "./jsonable.js";
8
9
 
9
10
  /**