@fluid-internal/client-utils 2.53.0 → 2.60.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 +4 -0
- package/api-extractor/api-extractor-lint-browser.current.esm.json +5 -0
- package/api-extractor/api-extractor-lint-node.current.esm.json +5 -0
- package/api-extractor/api-extractor-report-browser.current.json +10 -0
- package/api-extractor/api-extractor-report-node.current.json +11 -0
- package/api-extractor/api-extractor-report-node.legacy.json +1 -0
- package/api-report/client-utils.alpha.api.md +11 -0
- package/api-report/{client-utils.legacy.alpha.api.md → client-utils.legacy.beta.api.md} +4 -4
- package/dist/typedEventEmitter.d.ts +3 -6
- package/dist/typedEventEmitter.d.ts.map +1 -1
- package/dist/typedEventEmitter.js +1 -2
- package/dist/typedEventEmitter.js.map +1 -1
- package/lib/typedEventEmitter.d.ts +3 -6
- package/lib/typedEventEmitter.d.ts.map +1 -1
- package/lib/typedEventEmitter.js +1 -2
- package/lib/typedEventEmitter.js.map +1 -1
- package/package.json +37 -18
- package/src/typedEventEmitter.ts +3 -6
- package/api-extractor/api-extractor-report-browser.json +0 -5
- package/api-extractor/api-extractor-report-node.json +0 -5
- /package/api-extractor/{api-extractor-lint-indexBrowser.legacy.esm.json → api-extractor-lint-browser.legacy.esm.json} +0 -0
- /package/api-extractor/{api-extractor-lint-indexNode.legacy.esm.json → api-extractor-lint-node.legacy.esm.json} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
|
|
3
|
+
"extends": "<projectFolder>/../../../common/build/build-common/api-extractor-lint.entrypoint.json",
|
|
4
|
+
"mainEntryPointFilePath": "<projectFolder>/lib/<unscopedPackageName>.browser.alpha.d.ts"
|
|
5
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
|
|
3
|
+
"extends": "<projectFolder>/../../../common/build/build-common/api-extractor-lint.entrypoint.json",
|
|
4
|
+
"mainEntryPointFilePath": "<projectFolder>/lib/<unscopedPackageName>.node.alpha.d.ts"
|
|
5
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
|
|
3
|
+
"extends": "<projectFolder>/../../../common/build/build-common/api-extractor-report.esm.current.json",
|
|
4
|
+
"mainEntryPointFilePath": "<projectFolder>/lib/<unscopedPackageName>.browser.alpha.d.ts",
|
|
5
|
+
"apiReport": {
|
|
6
|
+
// This is an internal package and should have no public API surface, but it does have legacy APIs.
|
|
7
|
+
// We will report all, and expect non-legacy exports to be empty (apart from the EventEmitter forward).
|
|
8
|
+
"reportVariants": ["public", "beta", "alpha"]
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
// This node report is always meant to be identical to the browser report. Do not use with --local.
|
|
3
|
+
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
|
|
4
|
+
"extends": "<projectFolder>/../../../common/build/build-common/api-extractor-report.esm.current.json",
|
|
5
|
+
"mainEntryPointFilePath": "<projectFolder>/lib/<unscopedPackageName>.node.alpha.d.ts",
|
|
6
|
+
"apiReport": {
|
|
7
|
+
// This is an internal package and should have no public API surface, but it does have legacy APIs.
|
|
8
|
+
// We will report all, and expect non-legacy exports to be empty (apart from the EventEmitter forward).
|
|
9
|
+
"reportVariants": ["public", "beta", "alpha"]
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
+
// This node report is always meant to be identical to the browser report. Do not use with --local.
|
|
2
3
|
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
|
|
3
4
|
"extends": "<projectFolder>/../../../common/build/build-common/api-extractor-report.esm.legacy.json",
|
|
4
5
|
"mainEntryPointFilePath": "<projectFolder>/lib/<unscopedPackageName>.node.legacy.d.ts"
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
## Alpha API Report File for "@fluid-internal/client-utils"
|
|
2
|
+
|
|
3
|
+
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
|
|
7
|
+
export { EventEmitter }
|
|
8
|
+
|
|
9
|
+
// (No @packageDocumentation comment for this package)
|
|
10
|
+
|
|
11
|
+
```
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
##
|
|
1
|
+
## Beta API Report File for "@fluid-internal/client-utils"
|
|
2
2
|
|
|
3
3
|
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
|
|
4
4
|
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
|
|
7
7
|
export { EventEmitter }
|
|
8
8
|
|
|
9
|
-
// @
|
|
9
|
+
// @beta @legacy
|
|
10
10
|
export type EventEmitterEventType = string;
|
|
11
11
|
|
|
12
|
-
// @
|
|
12
|
+
// @beta @legacy
|
|
13
13
|
export class TypedEventEmitter<TEvent> extends EventEmitter implements IEventProvider<TEvent & IEvent> {
|
|
14
14
|
constructor();
|
|
15
15
|
// (undocumented)
|
|
@@ -28,7 +28,7 @@ export class TypedEventEmitter<TEvent> extends EventEmitter implements IEventPro
|
|
|
28
28
|
readonly removeListener: TypedEventTransform<this, TEvent>;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
// @
|
|
31
|
+
// @beta @legacy (undocumented)
|
|
32
32
|
export type TypedEventTransform<TThis, TEvent> = TransformedEvent<TThis, "newListener" | "removeListener", Parameters<(event: string, listener: (...args: any[]) => void) => void>> & IEventTransformer<TThis, TEvent & IEvent> & TransformedEvent<TThis, EventEmitterEventType, any[]>;
|
|
33
33
|
|
|
34
34
|
// (No @packageDocumentation comment for this package)
|
|
@@ -9,21 +9,18 @@ import { EventEmitter } from "./eventEmitter.cjs";
|
|
|
9
9
|
* string | symbol vs. string | number
|
|
10
10
|
*
|
|
11
11
|
* The polyfill is now always used, but string is the only event type preferred.
|
|
12
|
-
* @legacy
|
|
13
|
-
* @alpha
|
|
12
|
+
* @legacy @beta
|
|
14
13
|
*/
|
|
15
14
|
export type EventEmitterEventType = string;
|
|
16
15
|
/**
|
|
17
|
-
* @legacy
|
|
18
|
-
* @alpha
|
|
16
|
+
* @legacy @beta
|
|
19
17
|
*/
|
|
20
18
|
export type TypedEventTransform<TThis, TEvent> = TransformedEvent<TThis, "newListener" | "removeListener", Parameters<(event: string, listener: (...args: any[]) => void) => void>> & IEventTransformer<TThis, TEvent & IEvent> & TransformedEvent<TThis, EventEmitterEventType, any[]>;
|
|
21
19
|
/**
|
|
22
20
|
* Event Emitter helper class the supports emitting typed events.
|
|
23
21
|
* @privateRemarks
|
|
24
22
|
* This should become internal once the classes extending it become internal.
|
|
25
|
-
* @legacy
|
|
26
|
-
* @alpha
|
|
23
|
+
* @legacy @beta
|
|
27
24
|
*/
|
|
28
25
|
export declare class TypedEventEmitter<TEvent> extends EventEmitter implements IEventProvider<TEvent & IEvent> {
|
|
29
26
|
constructor();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typedEventEmitter.d.ts","sourceRoot":"","sources":["../src/typedEventEmitter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACX,MAAM,EACN,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD
|
|
1
|
+
{"version":3,"file":"typedEventEmitter.d.ts","sourceRoot":"","sources":["../src/typedEventEmitter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACX,MAAM,EACN,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAE3C;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,KAAK,EAAE,MAAM,IAK5C,gBAAgB,CACf,KAAK,EACL,aAAa,GAAG,gBAAgB,EAChC,UAAU,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,KAAK,IAAI,CAAC,CACvE,GAEA,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,GAGzC,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC;AAExD;;;;;GAKG;AACH,qBAAa,iBAAiB,CAAC,MAAM,CACpC,SAAQ,YACR,YAAW,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC;;IAkB1C,SAAgB,WAAW,EAAE,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC/D,SAAgB,EAAE,EAAE,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtD,SAAgB,IAAI,EAAE,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxD,SAAgB,eAAe,EAAE,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnE,SAAgB,mBAAmB,EAAE,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvE,SAAgB,cAAc,EAAE,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAClE,SAAgB,GAAG,EAAE,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;CACvD"}
|
|
@@ -10,8 +10,7 @@ const eventEmitter_cjs_1 = require("./eventEmitter.cjs");
|
|
|
10
10
|
* Event Emitter helper class the supports emitting typed events.
|
|
11
11
|
* @privateRemarks
|
|
12
12
|
* This should become internal once the classes extending it become internal.
|
|
13
|
-
* @legacy
|
|
14
|
-
* @alpha
|
|
13
|
+
* @legacy @beta
|
|
15
14
|
*/
|
|
16
15
|
class TypedEventEmitter extends eventEmitter_cjs_1.EventEmitter {
|
|
17
16
|
constructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typedEventEmitter.js","sourceRoot":"","sources":["../src/typedEventEmitter.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AASH,yDAAkD;
|
|
1
|
+
{"version":3,"file":"typedEventEmitter.js","sourceRoot":"","sources":["../src/typedEventEmitter.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AASH,yDAAkD;AA8BlD;;;;;GAKG;AACH,MAAa,iBACZ,SAAQ,+BAAY;IAGpB;QACC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAsC,CAAC;QACrF,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAsC,CAAC;QACnE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAsC,CAAC;QACvE,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAGrD,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAG7D,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAsC,CAAC;QAC3F,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAsC,CAAC;IACtE,CAAC;CAQD;AA3BD,8CA2BC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type {\n\tIEvent,\n\tIEventProvider,\n\tIEventTransformer,\n\tTransformedEvent,\n} from \"@fluidframework/core-interfaces\";\n\nimport { EventEmitter } from \"./eventEmitter.cjs\";\n\n/**\n * The event emitter polyfill and the node event emitter have different event types:\n * string | symbol vs. string | number\n *\n * The polyfill is now always used, but string is the only event type preferred.\n * @legacy @beta\n */\nexport type EventEmitterEventType = string;\n\n/**\n * @legacy @beta\n */\nexport type TypedEventTransform<TThis, TEvent> =\n\t// Event emitter supports some special events for the emitter itself to use\n\t// this exposes those events for the TypedEventEmitter.\n\t// Since we know what the shape of these events are, we can describe them directly via a TransformedEvent\n\t// which easier than trying to extend TEvent directly\n\tTransformedEvent<\n\t\tTThis,\n\t\t\"newListener\" | \"removeListener\",\n\t\tParameters<(event: string, listener: (...args: any[]) => void) => void>\n\t> &\n\t\t// Expose all the events provides by TEvent\n\t\tIEventTransformer<TThis, TEvent & IEvent> &\n\t\t// Add the default overload so this is covertable to EventEmitter regardless of environment\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\tTransformedEvent<TThis, EventEmitterEventType, any[]>;\n\n/**\n * Event Emitter helper class the supports emitting typed events.\n * @privateRemarks\n * This should become internal once the classes extending it become internal.\n * @legacy @beta\n */\nexport class TypedEventEmitter<TEvent>\n\textends EventEmitter\n\timplements IEventProvider<TEvent & IEvent>\n{\n\tpublic constructor() {\n\t\tsuper();\n\t\tthis.addListener = super.addListener.bind(this) as TypedEventTransform<this, TEvent>;\n\t\tthis.on = super.on.bind(this) as TypedEventTransform<this, TEvent>;\n\t\tthis.once = super.once.bind(this) as TypedEventTransform<this, TEvent>;\n\t\tthis.prependListener = super.prependListener.bind(this) as TypedEventTransform<\n\t\t\tthis,\n\t\t\tTEvent\n\t\t>;\n\t\tthis.prependOnceListener = super.prependOnceListener.bind(this) as TypedEventTransform<\n\t\t\tthis,\n\t\t\tTEvent\n\t\t>;\n\t\tthis.removeListener = super.removeListener.bind(this) as TypedEventTransform<this, TEvent>;\n\t\tthis.off = super.off.bind(this) as TypedEventTransform<this, TEvent>;\n\t}\n\tpublic readonly addListener: TypedEventTransform<this, TEvent>;\n\tpublic readonly on: TypedEventTransform<this, TEvent>;\n\tpublic readonly once: TypedEventTransform<this, TEvent>;\n\tpublic readonly prependListener: TypedEventTransform<this, TEvent>;\n\tpublic readonly prependOnceListener: TypedEventTransform<this, TEvent>;\n\tpublic readonly removeListener: TypedEventTransform<this, TEvent>;\n\tpublic readonly off: TypedEventTransform<this, TEvent>;\n}\n"]}
|
|
@@ -9,21 +9,18 @@ import { EventEmitter } from "./eventEmitter.cjs";
|
|
|
9
9
|
* string | symbol vs. string | number
|
|
10
10
|
*
|
|
11
11
|
* The polyfill is now always used, but string is the only event type preferred.
|
|
12
|
-
* @legacy
|
|
13
|
-
* @alpha
|
|
12
|
+
* @legacy @beta
|
|
14
13
|
*/
|
|
15
14
|
export type EventEmitterEventType = string;
|
|
16
15
|
/**
|
|
17
|
-
* @legacy
|
|
18
|
-
* @alpha
|
|
16
|
+
* @legacy @beta
|
|
19
17
|
*/
|
|
20
18
|
export type TypedEventTransform<TThis, TEvent> = TransformedEvent<TThis, "newListener" | "removeListener", Parameters<(event: string, listener: (...args: any[]) => void) => void>> & IEventTransformer<TThis, TEvent & IEvent> & TransformedEvent<TThis, EventEmitterEventType, any[]>;
|
|
21
19
|
/**
|
|
22
20
|
* Event Emitter helper class the supports emitting typed events.
|
|
23
21
|
* @privateRemarks
|
|
24
22
|
* This should become internal once the classes extending it become internal.
|
|
25
|
-
* @legacy
|
|
26
|
-
* @alpha
|
|
23
|
+
* @legacy @beta
|
|
27
24
|
*/
|
|
28
25
|
export declare class TypedEventEmitter<TEvent> extends EventEmitter implements IEventProvider<TEvent & IEvent> {
|
|
29
26
|
constructor();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typedEventEmitter.d.ts","sourceRoot":"","sources":["../src/typedEventEmitter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACX,MAAM,EACN,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD
|
|
1
|
+
{"version":3,"file":"typedEventEmitter.d.ts","sourceRoot":"","sources":["../src/typedEventEmitter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACX,MAAM,EACN,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAE3C;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,KAAK,EAAE,MAAM,IAK5C,gBAAgB,CACf,KAAK,EACL,aAAa,GAAG,gBAAgB,EAChC,UAAU,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,KAAK,IAAI,CAAC,CACvE,GAEA,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,GAGzC,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC;AAExD;;;;;GAKG;AACH,qBAAa,iBAAiB,CAAC,MAAM,CACpC,SAAQ,YACR,YAAW,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC;;IAkB1C,SAAgB,WAAW,EAAE,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC/D,SAAgB,EAAE,EAAE,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtD,SAAgB,IAAI,EAAE,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxD,SAAgB,eAAe,EAAE,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnE,SAAgB,mBAAmB,EAAE,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvE,SAAgB,cAAc,EAAE,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAClE,SAAgB,GAAG,EAAE,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;CACvD"}
|
package/lib/typedEventEmitter.js
CHANGED
|
@@ -7,8 +7,7 @@ import { EventEmitter } from "./eventEmitter.cjs";
|
|
|
7
7
|
* Event Emitter helper class the supports emitting typed events.
|
|
8
8
|
* @privateRemarks
|
|
9
9
|
* This should become internal once the classes extending it become internal.
|
|
10
|
-
* @legacy
|
|
11
|
-
* @alpha
|
|
10
|
+
* @legacy @beta
|
|
12
11
|
*/
|
|
13
12
|
export class TypedEventEmitter extends EventEmitter {
|
|
14
13
|
constructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typedEventEmitter.js","sourceRoot":"","sources":["../src/typedEventEmitter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"typedEventEmitter.js","sourceRoot":"","sources":["../src/typedEventEmitter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA8BlD;;;;;GAKG;AACH,MAAM,OAAO,iBACZ,SAAQ,YAAY;IAGpB;QACC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAsC,CAAC;QACrF,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAsC,CAAC;QACnE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAsC,CAAC;QACvE,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAGrD,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAG7D,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAsC,CAAC;QAC3F,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAsC,CAAC;IACtE,CAAC;CAQD","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type {\n\tIEvent,\n\tIEventProvider,\n\tIEventTransformer,\n\tTransformedEvent,\n} from \"@fluidframework/core-interfaces\";\n\nimport { EventEmitter } from \"./eventEmitter.cjs\";\n\n/**\n * The event emitter polyfill and the node event emitter have different event types:\n * string | symbol vs. string | number\n *\n * The polyfill is now always used, but string is the only event type preferred.\n * @legacy @beta\n */\nexport type EventEmitterEventType = string;\n\n/**\n * @legacy @beta\n */\nexport type TypedEventTransform<TThis, TEvent> =\n\t// Event emitter supports some special events for the emitter itself to use\n\t// this exposes those events for the TypedEventEmitter.\n\t// Since we know what the shape of these events are, we can describe them directly via a TransformedEvent\n\t// which easier than trying to extend TEvent directly\n\tTransformedEvent<\n\t\tTThis,\n\t\t\"newListener\" | \"removeListener\",\n\t\tParameters<(event: string, listener: (...args: any[]) => void) => void>\n\t> &\n\t\t// Expose all the events provides by TEvent\n\t\tIEventTransformer<TThis, TEvent & IEvent> &\n\t\t// Add the default overload so this is covertable to EventEmitter regardless of environment\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\tTransformedEvent<TThis, EventEmitterEventType, any[]>;\n\n/**\n * Event Emitter helper class the supports emitting typed events.\n * @privateRemarks\n * This should become internal once the classes extending it become internal.\n * @legacy @beta\n */\nexport class TypedEventEmitter<TEvent>\n\textends EventEmitter\n\timplements IEventProvider<TEvent & IEvent>\n{\n\tpublic constructor() {\n\t\tsuper();\n\t\tthis.addListener = super.addListener.bind(this) as TypedEventTransform<this, TEvent>;\n\t\tthis.on = super.on.bind(this) as TypedEventTransform<this, TEvent>;\n\t\tthis.once = super.once.bind(this) as TypedEventTransform<this, TEvent>;\n\t\tthis.prependListener = super.prependListener.bind(this) as TypedEventTransform<\n\t\t\tthis,\n\t\t\tTEvent\n\t\t>;\n\t\tthis.prependOnceListener = super.prependOnceListener.bind(this) as TypedEventTransform<\n\t\t\tthis,\n\t\t\tTEvent\n\t\t>;\n\t\tthis.removeListener = super.removeListener.bind(this) as TypedEventTransform<this, TEvent>;\n\t\tthis.off = super.off.bind(this) as TypedEventTransform<this, TEvent>;\n\t}\n\tpublic readonly addListener: TypedEventTransform<this, TEvent>;\n\tpublic readonly on: TypedEventTransform<this, TEvent>;\n\tpublic readonly once: TypedEventTransform<this, TEvent>;\n\tpublic readonly prependListener: TypedEventTransform<this, TEvent>;\n\tpublic readonly prependOnceListener: TypedEventTransform<this, TEvent>;\n\tpublic readonly removeListener: TypedEventTransform<this, TEvent>;\n\tpublic readonly off: TypedEventTransform<this, TEvent>;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluid-internal/client-utils",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.60.0",
|
|
4
4
|
"description": "Not intended for use outside the Fluid Framework.",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -35,7 +35,15 @@
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
|
-
"./internal-api-report": {
|
|
38
|
+
"./internal-api-report/current": {
|
|
39
|
+
"import": {
|
|
40
|
+
"types": {
|
|
41
|
+
"browser current": "./lib/client-utils.browser.alpha.d.ts",
|
|
42
|
+
"node current": "./lib/client-utils.node.alpha.d.ts"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"./internal-api-report/legacy": {
|
|
39
47
|
"import": {
|
|
40
48
|
"types": {
|
|
41
49
|
"browser legacy": "./lib/client-utils.browser.legacy.d.ts",
|
|
@@ -69,8 +77,8 @@
|
|
|
69
77
|
"temp-directory": "nyc/.nyc_output"
|
|
70
78
|
},
|
|
71
79
|
"dependencies": {
|
|
72
|
-
"@fluidframework/core-interfaces": "~2.
|
|
73
|
-
"@fluidframework/core-utils": "~2.
|
|
80
|
+
"@fluidframework/core-interfaces": "~2.60.0",
|
|
81
|
+
"@fluidframework/core-utils": "~2.60.0",
|
|
74
82
|
"@types/events_pkg": "npm:@types/events@^3.0.0",
|
|
75
83
|
"base64-js": "^1.5.1",
|
|
76
84
|
"buffer": "^6.0.3",
|
|
@@ -80,16 +88,16 @@
|
|
|
80
88
|
"devDependencies": {
|
|
81
89
|
"@arethetypeswrong/cli": "^0.17.1",
|
|
82
90
|
"@biomejs/biome": "~1.9.3",
|
|
83
|
-
"@fluid-internal/client-utils-previous": "npm:@fluid-internal/client-utils@2.
|
|
84
|
-
"@fluid-internal/mocha-test-setup": "~2.
|
|
91
|
+
"@fluid-internal/client-utils-previous": "npm:@fluid-internal/client-utils@2.53.0",
|
|
92
|
+
"@fluid-internal/mocha-test-setup": "~2.60.0",
|
|
85
93
|
"@fluid-tools/build-cli": "^0.57.0",
|
|
86
94
|
"@fluidframework/build-common": "^2.0.3",
|
|
87
95
|
"@fluidframework/build-tools": "^0.57.0",
|
|
88
|
-
"@fluidframework/eslint-config-fluid": "^
|
|
96
|
+
"@fluidframework/eslint-config-fluid": "^6.0.0",
|
|
89
97
|
"@microsoft/api-extractor": "7.52.8",
|
|
90
98
|
"@types/base64-js": "^1.3.0",
|
|
91
99
|
"@types/jest": "29.5.3",
|
|
92
|
-
"@types/jest-environment-puppeteer": "~2.
|
|
100
|
+
"@types/jest-environment-puppeteer": "~2.60.0",
|
|
93
101
|
"@types/mocha": "^10.0.10",
|
|
94
102
|
"@types/node": "^18.19.0",
|
|
95
103
|
"@types/rewire": "^2.5.28",
|
|
@@ -142,22 +150,31 @@
|
|
|
142
150
|
"build:exports:node": [
|
|
143
151
|
"build:esnext"
|
|
144
152
|
],
|
|
153
|
+
"check:exports:bundle-release-tags": [
|
|
154
|
+
"build:exports:browser"
|
|
155
|
+
],
|
|
145
156
|
"check:exports:cjs:indexBrowser": [
|
|
146
157
|
"tsc"
|
|
147
158
|
],
|
|
148
159
|
"check:exports:cjs:indexNode": [
|
|
149
160
|
"tsc"
|
|
150
161
|
],
|
|
151
|
-
"check:exports:esm:
|
|
152
|
-
"build:
|
|
162
|
+
"check:exports:esm:browser:current": [
|
|
163
|
+
"build:exports:browser"
|
|
153
164
|
],
|
|
154
|
-
"check:exports:esm:
|
|
165
|
+
"check:exports:esm:browser:legacy": [
|
|
155
166
|
"build:exports:browser"
|
|
156
167
|
],
|
|
168
|
+
"check:exports:esm:indexBrowser": [
|
|
169
|
+
"build:esnext"
|
|
170
|
+
],
|
|
157
171
|
"check:exports:esm:indexNode": [
|
|
158
172
|
"build:exports:node"
|
|
159
173
|
],
|
|
160
|
-
"check:exports:esm:
|
|
174
|
+
"check:exports:esm:node:current": [
|
|
175
|
+
"build:exports:node"
|
|
176
|
+
],
|
|
177
|
+
"check:exports:esm:node:legacy": [
|
|
161
178
|
"build:exports:node"
|
|
162
179
|
],
|
|
163
180
|
"build:test:jest": [
|
|
@@ -193,7 +210,7 @@
|
|
|
193
210
|
"scripts": {
|
|
194
211
|
"build": "fluid-build . --task build",
|
|
195
212
|
"build:api-reports": "concurrently \"npm:build:api-reports:browser:*\" && concurrently \"npm:build:api-reports:node:*\"",
|
|
196
|
-
"build:api-reports:browser:current": "api-extractor run --local --config api-extractor/api-extractor-report-browser.json",
|
|
213
|
+
"build:api-reports:browser:current": "api-extractor run --local --config api-extractor/api-extractor-report-browser.current.json",
|
|
197
214
|
"build:api-reports:browser:legacy": "api-extractor run --local --config api-extractor/api-extractor-report-browser.legacy.json",
|
|
198
215
|
"build:api-reports:node:current": "npm run ci:build:api-reports:node:current",
|
|
199
216
|
"build:api-reports:node:legacy": "npm run ci:build:api-reports:node:legacy",
|
|
@@ -209,21 +226,23 @@
|
|
|
209
226
|
"build:test:mocha:cjs": "fluid-tsc commonjs --project ./src/test/mocha/tsconfig.cjs.json",
|
|
210
227
|
"build:test:mocha:esm": "tsc --project ./src/test/mocha/tsconfig.json",
|
|
211
228
|
"build:test:types": "tsc --project ./src/test/types/tsconfig.json",
|
|
212
|
-
"check:are-the-types-wrong": "attw --pack . --exclude-entrypoints internal-api-report",
|
|
229
|
+
"check:are-the-types-wrong": "attw --pack . --exclude-entrypoints ./internal-api-report/current ./internal-api-report/legacy",
|
|
213
230
|
"check:biome": "biome check .",
|
|
214
231
|
"check:exports": "concurrently \"npm:check:exports:*\"",
|
|
215
232
|
"check:exports:bundle-release-tags": "api-extractor run --config api-extractor/api-extractor-lint-bundle.json",
|
|
216
233
|
"check:exports:cjs:indexBrowser": "api-extractor run --config api-extractor/api-extractor-lint-indexBrowser.cjs.json",
|
|
217
234
|
"check:exports:cjs:indexNode": "api-extractor run --config api-extractor/api-extractor-lint-indexNode.cjs.json",
|
|
235
|
+
"check:exports:esm:browser:current": "api-extractor run --config api-extractor/api-extractor-lint-browser.current.esm.json",
|
|
236
|
+
"check:exports:esm:browser:legacy": "api-extractor run --config api-extractor/api-extractor-lint-browser.legacy.esm.json",
|
|
218
237
|
"check:exports:esm:indexBrowser": "api-extractor run --config api-extractor/api-extractor-lint-indexBrowser.esm.json",
|
|
219
|
-
"check:exports:esm:indexBrowser:legacy": "api-extractor run --config api-extractor/api-extractor-lint-indexBrowser.legacy.esm.json",
|
|
220
238
|
"check:exports:esm:indexNode": "api-extractor run --config api-extractor/api-extractor-lint-indexNode.esm.json",
|
|
221
|
-
"check:exports:esm:
|
|
239
|
+
"check:exports:esm:node:current": "api-extractor run --config api-extractor/api-extractor-lint-node.current.esm.json",
|
|
240
|
+
"check:exports:esm:node:legacy": "api-extractor run --config api-extractor/api-extractor-lint-node.legacy.esm.json",
|
|
222
241
|
"check:format": "npm run check:biome",
|
|
223
242
|
"ci:build:api-reports": "concurrently \"npm:ci:build:api-reports:*\"",
|
|
224
|
-
"ci:build:api-reports:browser:current": "api-extractor run --config api-extractor/api-extractor-report-browser.json",
|
|
243
|
+
"ci:build:api-reports:browser:current": "api-extractor run --config api-extractor/api-extractor-report-browser.current.json",
|
|
225
244
|
"ci:build:api-reports:browser:legacy": "api-extractor run --config api-extractor/api-extractor-report-browser.legacy.json",
|
|
226
|
-
"ci:build:api-reports:node:current": "api-extractor run --config api-extractor/api-extractor-report-node.json",
|
|
245
|
+
"ci:build:api-reports:node:current": "api-extractor run --config api-extractor/api-extractor-report-node.current.json",
|
|
227
246
|
"ci:build:api-reports:node:legacy": "api-extractor run --config api-extractor/api-extractor-report-node.legacy.json",
|
|
228
247
|
"ci:build:docs": "api-extractor run --config api-extractor/api-extractor-model-browser.json",
|
|
229
248
|
"clean": "rimraf --glob _api-extractor-temp dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" nyc",
|
package/src/typedEventEmitter.ts
CHANGED
|
@@ -17,14 +17,12 @@ import { EventEmitter } from "./eventEmitter.cjs";
|
|
|
17
17
|
* string | symbol vs. string | number
|
|
18
18
|
*
|
|
19
19
|
* The polyfill is now always used, but string is the only event type preferred.
|
|
20
|
-
* @legacy
|
|
21
|
-
* @alpha
|
|
20
|
+
* @legacy @beta
|
|
22
21
|
*/
|
|
23
22
|
export type EventEmitterEventType = string;
|
|
24
23
|
|
|
25
24
|
/**
|
|
26
|
-
* @legacy
|
|
27
|
-
* @alpha
|
|
25
|
+
* @legacy @beta
|
|
28
26
|
*/
|
|
29
27
|
export type TypedEventTransform<TThis, TEvent> =
|
|
30
28
|
// Event emitter supports some special events for the emitter itself to use
|
|
@@ -46,8 +44,7 @@ export type TypedEventTransform<TThis, TEvent> =
|
|
|
46
44
|
* Event Emitter helper class the supports emitting typed events.
|
|
47
45
|
* @privateRemarks
|
|
48
46
|
* This should become internal once the classes extending it become internal.
|
|
49
|
-
* @legacy
|
|
50
|
-
* @alpha
|
|
47
|
+
* @legacy @beta
|
|
51
48
|
*/
|
|
52
49
|
export class TypedEventEmitter<TEvent>
|
|
53
50
|
extends EventEmitter
|
|
File without changes
|
|
File without changes
|