@fluidframework/core-interfaces 2.10.0 → 2.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/api-report/core-interfaces.beta.api.md +17 -0
  3. package/api-report/core-interfaces.legacy.alpha.api.md +17 -0
  4. package/api-report/core-interfaces.legacy.public.api.md +17 -0
  5. package/api-report/core-interfaces.public.api.md +17 -0
  6. package/dist/events/emitter.d.ts +60 -0
  7. package/dist/events/emitter.d.ts.map +1 -0
  8. package/dist/events/emitter.js +7 -0
  9. package/dist/events/emitter.js.map +1 -0
  10. package/dist/events/index.d.ts +7 -0
  11. package/dist/events/index.d.ts.map +1 -0
  12. package/dist/events/index.js +7 -0
  13. package/dist/events/index.js.map +1 -0
  14. package/dist/events/listeners.d.ts +76 -0
  15. package/dist/events/listeners.d.ts.map +1 -0
  16. package/dist/events/listeners.js +7 -0
  17. package/dist/events/listeners.js.map +1 -0
  18. package/dist/events.d.ts.map +1 -1
  19. package/dist/events.js.map +1 -1
  20. package/dist/index.d.ts +1 -0
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/legacy.d.ts +4 -0
  24. package/dist/public.d.ts +4 -0
  25. package/lib/events/emitter.d.ts +60 -0
  26. package/lib/events/emitter.d.ts.map +1 -0
  27. package/lib/events/emitter.js +6 -0
  28. package/lib/events/emitter.js.map +1 -0
  29. package/lib/events/index.d.ts +7 -0
  30. package/lib/events/index.d.ts.map +1 -0
  31. package/lib/events/index.js +6 -0
  32. package/lib/events/index.js.map +1 -0
  33. package/lib/events/listeners.d.ts +76 -0
  34. package/lib/events/listeners.d.ts.map +1 -0
  35. package/lib/events/listeners.js +6 -0
  36. package/lib/events/listeners.js.map +1 -0
  37. package/lib/events.d.ts.map +1 -1
  38. package/lib/events.js.map +1 -1
  39. package/lib/index.d.ts +1 -0
  40. package/lib/index.d.ts.map +1 -1
  41. package/lib/index.js.map +1 -1
  42. package/lib/legacy.d.ts +4 -0
  43. package/lib/public.d.ts +4 -0
  44. package/package.json +4 -4
  45. package/src/events/README.md +3 -0
  46. package/src/events/emitter.ts +73 -0
  47. package/src/events/index.ts +18 -0
  48. package/src/events/listeners.ts +80 -0
  49. package/src/events.ts +0 -1
  50. package/src/index.ts +11 -0
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAKH,uCAA6C;AAApC,2GAAA,eAAe,OAAA;AAcxB,uDAAoE;AAA3D,kHAAA,cAAc,OAAA;AAAE,kHAAA,cAAc,OAAA;AAavC,2CAAoF;AAA3E,iHAAA,mBAAmB,OAAA;AAAE,0GAAA,YAAY,OAAA;AAAE,+GAAA,iBAAiB,OAAA;AAU7D,yCAAuC;AAA9B,qGAAA,QAAQ,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport type { IDisposable } from \"./disposable.js\";\n\nexport type { IErrorBase, IGenericError, IUsageError, IThrottlingWarning } from \"./error.js\";\nexport { FluidErrorTypes } from \"./error.js\";\n\nexport type {\n\tExtendEventProvider,\n\tIErrorEvent,\n\tIEvent,\n\tIEventProvider,\n\tIEventThisPlaceHolder,\n\tIEventTransformer,\n\tReplaceIEventThisPlaceHolder,\n\tTransformedEvent,\n} from \"./events.js\";\n\nexport type { IProvideFluidLoadable, IProvideFluidRunnable } from \"./fluidLoadable.js\";\nexport { IFluidLoadable, IFluidRunnable } from \"./fluidLoadable.js\";\n\n// TypeScript forgets the index signature when customers augment IRequestHeader if we export *.\n// So we export the explicit members as a workaround:\n// https://github.com/microsoft/TypeScript/issues/18877#issuecomment-476921038\nexport type { IRequest, IRequestHeader, IResponse } from \"./fluidRouter.js\";\n\nexport type {\n\tIProvideFluidHandleContext,\n\tIProvideFluidHandle,\n\tIFluidHandleInternal,\n\tIFluidHandleErased,\n} from \"./handles.js\";\nexport { IFluidHandleContext, IFluidHandle, fluidHandleSymbol } from \"./handles.js\";\n\nexport type {\n\tILoggingError,\n\tITelemetryBaseEvent,\n\tITelemetryBaseLogger,\n\tITelemetryBaseProperties,\n\tTagged,\n\tTelemetryBaseEventPropertyType,\n} from \"./logger.js\";\nexport { LogLevel } from \"./logger.js\";\nexport type { FluidObjectProviderKeys, FluidObject, FluidObjectKeys } from \"./provider.js\";\nexport type { ConfigTypes, IConfigProviderBase } from \"./config.js\";\nexport type { ISignalEnvelope } from \"./messages.js\";\nexport type { ErasedType } from \"./erasedType.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAKH,uCAA6C;AAApC,2GAAA,eAAe,OAAA;AAcxB,uDAAoE;AAA3D,kHAAA,cAAc,OAAA;AAAE,kHAAA,cAAc,OAAA;AAavC,2CAAoF;AAA3E,iHAAA,mBAAmB,OAAA;AAAE,0GAAA,YAAY,OAAA;AAAE,+GAAA,iBAAiB,OAAA;AAU7D,yCAAuC;AAA9B,qGAAA,QAAQ,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport type { IDisposable } from \"./disposable.js\";\n\nexport type { IErrorBase, IGenericError, IUsageError, IThrottlingWarning } from \"./error.js\";\nexport { FluidErrorTypes } from \"./error.js\";\n\nexport type {\n\tExtendEventProvider,\n\tIErrorEvent,\n\tIEvent,\n\tIEventProvider,\n\tIEventThisPlaceHolder,\n\tIEventTransformer,\n\tReplaceIEventThisPlaceHolder,\n\tTransformedEvent,\n} from \"./events.js\";\n\nexport type { IProvideFluidLoadable, IProvideFluidRunnable } from \"./fluidLoadable.js\";\nexport { IFluidLoadable, IFluidRunnable } from \"./fluidLoadable.js\";\n\n// TypeScript forgets the index signature when customers augment IRequestHeader if we export *.\n// So we export the explicit members as a workaround:\n// https://github.com/microsoft/TypeScript/issues/18877#issuecomment-476921038\nexport type { IRequest, IRequestHeader, IResponse } from \"./fluidRouter.js\";\n\nexport type {\n\tIProvideFluidHandleContext,\n\tIProvideFluidHandle,\n\tIFluidHandleInternal,\n\tIFluidHandleErased,\n} from \"./handles.js\";\nexport { IFluidHandleContext, IFluidHandle, fluidHandleSymbol } from \"./handles.js\";\n\nexport type {\n\tILoggingError,\n\tITelemetryBaseEvent,\n\tITelemetryBaseLogger,\n\tITelemetryBaseProperties,\n\tTagged,\n\tTelemetryBaseEventPropertyType,\n} from \"./logger.js\";\nexport { LogLevel } from \"./logger.js\";\nexport type { FluidObjectProviderKeys, FluidObject, FluidObjectKeys } from \"./provider.js\";\nexport type { ConfigTypes, IConfigProviderBase } from \"./config.js\";\nexport type { ISignalEnvelope } from \"./messages.js\";\nexport type { ErasedType } from \"./erasedType.js\";\n\nexport type {\n\tHasListeners,\n\tIEmitter,\n\tIsListener,\n\tListeners,\n\tListenable,\n\tMapGetSet,\n\tNoListenersCallback,\n\tOff,\n} from \"./events/index.js\";\n"]}
package/dist/legacy.d.ts CHANGED
@@ -34,7 +34,11 @@ export {
34
34
  ITelemetryBaseEvent,
35
35
  ITelemetryBaseLogger,
36
36
  ITelemetryBaseProperties,
37
+ IsListener,
38
+ Listenable,
39
+ Listeners,
37
40
  LogLevel,
41
+ Off,
38
42
  ReplaceIEventThisPlaceHolder,
39
43
  Tagged,
40
44
  TelemetryBaseEventPropertyType,
package/dist/public.d.ts CHANGED
@@ -34,7 +34,11 @@ export {
34
34
  ITelemetryBaseEvent,
35
35
  ITelemetryBaseLogger,
36
36
  ITelemetryBaseProperties,
37
+ IsListener,
38
+ Listenable,
39
+ Listeners,
37
40
  LogLevel,
41
+ Off,
38
42
  ReplaceIEventThisPlaceHolder,
39
43
  Tagged,
40
44
  TelemetryBaseEventPropertyType,
@@ -0,0 +1,60 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+ import type { Listeners } from "./listeners.js";
6
+ /**
7
+ * Interface for an event emitter that can emit typed events to subscribed listeners.
8
+ * @internal
9
+ */
10
+ export interface IEmitter<TListeners extends Listeners<TListeners>> {
11
+ /**
12
+ * Emits an event with the specified name and arguments, notifying all subscribers by calling their registered listener functions.
13
+ * @param eventName - The name of the event to fire
14
+ * @param args - The arguments passed to the event listener functions
15
+ */
16
+ emit<K extends keyof Listeners<TListeners>>(eventName: K, ...args: Parameters<TListeners[K]>): void;
17
+ /**
18
+ * Emits an event with the specified name and arguments, notifying all subscribers by calling their registered listener functions.
19
+ * It also collects the return values of all listeners into an array.
20
+ *
21
+ * @remarks
22
+ * Warning: This method should be used with caution. It deviates from the standard event-based integration pattern as creates substantial coupling between the emitter and its listeners.
23
+ * For the majority of use-cases it is recommended to use the standard {@link IEmitter.emit} functionality.
24
+ * @param eventName - The name of the event to fire
25
+ * @param args - The arguments passed to the event listener functions
26
+ * @returns An array of the return values of each listener, preserving the order listeners were called.
27
+ */
28
+ emitAndCollect<K extends keyof Listeners<TListeners>>(eventName: K, ...args: Parameters<TListeners[K]>): ReturnType<TListeners[K]>[];
29
+ }
30
+ /**
31
+ * Called when the last listener for a given `eventName` is removed.
32
+ * @remarks
33
+ * Useful for determining when to clean up resources related to detecting when the event might occurs.
34
+ * @internal
35
+ */
36
+ export type NoListenersCallback<TListeners extends object> = (eventName: keyof Listeners<TListeners>) => void;
37
+ /**
38
+ * Allows querying if an object has listeners.
39
+ * @sealed
40
+ * @internal
41
+ */
42
+ export interface HasListeners<TListeners extends Listeners<TListeners>> {
43
+ /**
44
+ * Determines whether or not any listeners are registered for the specified event name.
45
+ *
46
+ * @remarks
47
+ * If no event name is given, checks if *any* listeners are registered.
48
+ * This can be used to know when its safe to cleanup data-structures which only exist to fire events for their listeners.
49
+ */
50
+ hasListeners(eventName?: keyof Listeners<TListeners>): boolean;
51
+ }
52
+ /**
53
+ * Subset of Map interface including only the `get` and `set` methods.
54
+ * @internal
55
+ */
56
+ export interface MapGetSet<K, V> {
57
+ get(key: K): V | undefined;
58
+ set(key: K, value: V): void;
59
+ }
60
+ //# sourceMappingURL=emitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/events/emitter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,QAAQ,CAAC,UAAU,SAAS,SAAS,CAAC,UAAU,CAAC;IACjE;;;;OAIG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,SAAS,CAAC,UAAU,CAAC,EACzC,SAAS,EAAE,CAAC,EACZ,GAAG,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAChC,IAAI,CAAC;IAER;;;;;;;;;;OAUG;IACH,cAAc,CAAC,CAAC,SAAS,MAAM,SAAS,CAAC,UAAU,CAAC,EACnD,SAAS,EAAE,CAAC,EACZ,GAAG,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAChC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;CAC/B;AAED;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,CAAC,UAAU,SAAS,MAAM,IAAI,CAC5D,SAAS,EAAE,MAAM,SAAS,CAAC,UAAU,CAAC,KAClC,IAAI,CAAC;AAEV;;;;GAIG;AACH,MAAM,WAAW,YAAY,CAAC,UAAU,SAAS,SAAS,CAAC,UAAU,CAAC;IACrE;;;;;;OAMG;IACH,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,SAAS,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;CAC/D;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,EAAE,CAAC;IAC9B,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC3B,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;CAC5B"}
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/events/emitter.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { Listeners } from \"./listeners.js\";\n\n/**\n * Interface for an event emitter that can emit typed events to subscribed listeners.\n * @internal\n */\nexport interface IEmitter<TListeners extends Listeners<TListeners>> {\n\t/**\n\t * Emits an event with the specified name and arguments, notifying all subscribers by calling their registered listener functions.\n\t * @param eventName - The name of the event to fire\n\t * @param args - The arguments passed to the event listener functions\n\t */\n\temit<K extends keyof Listeners<TListeners>>(\n\t\teventName: K,\n\t\t...args: Parameters<TListeners[K]>\n\t): void;\n\n\t/**\n\t * Emits an event with the specified name and arguments, notifying all subscribers by calling their registered listener functions.\n\t * It also collects the return values of all listeners into an array.\n\t *\n\t * @remarks\n\t * Warning: This method should be used with caution. It deviates from the standard event-based integration pattern as creates substantial coupling between the emitter and its listeners.\n\t * For the majority of use-cases it is recommended to use the standard {@link IEmitter.emit} functionality.\n\t * @param eventName - The name of the event to fire\n\t * @param args - The arguments passed to the event listener functions\n\t * @returns An array of the return values of each listener, preserving the order listeners were called.\n\t */\n\temitAndCollect<K extends keyof Listeners<TListeners>>(\n\t\teventName: K,\n\t\t...args: Parameters<TListeners[K]>\n\t): ReturnType<TListeners[K]>[];\n}\n\n/**\n * Called when the last listener for a given `eventName` is removed.\n * @remarks\n * Useful for determining when to clean up resources related to detecting when the event might occurs.\n * @internal\n */\nexport type NoListenersCallback<TListeners extends object> = (\n\teventName: keyof Listeners<TListeners>,\n) => void;\n\n/**\n * Allows querying if an object has listeners.\n * @sealed\n * @internal\n */\nexport interface HasListeners<TListeners extends Listeners<TListeners>> {\n\t/**\n\t * Determines whether or not any listeners are registered for the specified event name.\n\t *\n\t * @remarks\n\t * If no event name is given, checks if *any* listeners are registered.\n\t * This can be used to know when its safe to cleanup data-structures which only exist to fire events for their listeners.\n\t */\n\thasListeners(eventName?: keyof Listeners<TListeners>): boolean;\n}\n\n/**\n * Subset of Map interface including only the `get` and `set` methods.\n * @internal\n */\nexport interface MapGetSet<K, V> {\n\tget(key: K): V | undefined;\n\tset(key: K, value: V): void;\n}\n"]}
@@ -0,0 +1,7 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+ export type { HasListeners, IEmitter, MapGetSet, NoListenersCallback, } from "./emitter.js";
6
+ export type { IsListener, Listeners, Listenable, Off, } from "./listeners.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EACX,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,mBAAmB,GACnB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACX,UAAU,EACV,SAAS,EACT,UAAU,EACV,GAAG,GACH,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport type {\n\tHasListeners,\n\tIEmitter,\n\tMapGetSet,\n\tNoListenersCallback,\n} from \"./emitter.js\";\n\nexport type {\n\tIsListener,\n\tListeners,\n\tListenable,\n\tOff,\n} from \"./listeners.js\";\n"]}
@@ -0,0 +1,76 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+ /**
6
+ * `true` iff the given type is an acceptable shape for a {@link Listeners | event} listener
7
+ * @public
8
+ */
9
+ export type IsListener<TListener> = TListener extends (...args: any[]) => void ? true : false;
10
+ /**
11
+ * Used to specify the kinds of events emitted by a {@link Listenable}.
12
+ *
13
+ * @remarks
14
+ * Any object type is a valid {@link Listeners}, but only the {@link IsListener | event-like} properties of that
15
+ * type will be included.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * interface MyEvents {
20
+ * load: (user: string, data: IUserData) => void;
21
+ * error: (errorCode: number) => void;
22
+ * }
23
+ * ```
24
+ *
25
+ * @public
26
+ */
27
+ export type Listeners<T extends object> = {
28
+ [P in (string | symbol) & keyof T as IsListener<T[P]> extends true ? P : never]: T[P];
29
+ };
30
+ /**
31
+ * An object which allows the registration of listeners so that subscribers can be notified when an event happens.
32
+ * @param TListeners - All the {@link Listeners | events} that this subscribable supports
33
+ *
34
+ * @privateRemarks
35
+ * {@link @fluid-internal/client-utils#CustomEventEmitter} can be used as a base class to implement this via extension.
36
+ * ```ts
37
+ * type MyEventEmitter = IEmitter<{
38
+ * load: (user: string, data: IUserData) => void;
39
+ * error: (errorCode: number) => void;
40
+ * }>
41
+ * ```
42
+ * {@link @fluid-internal/client-utils#createEmitter} can help implement this interface via delegation.
43
+ *
44
+ * @sealed @public
45
+ */
46
+ export interface Listenable<TListeners extends object> {
47
+ /**
48
+ * Register an event listener.
49
+ * @param eventName - The name of the event.
50
+ * @param listener - The listener function to run when the event is fired.
51
+ * @returns A {@link Off | function} which will deregister the listener when called.
52
+ * Calling the deregistration function more than once will have no effect.
53
+ *
54
+ * Listeners may also be deregistered by passing the listener to {@link Listenable.off | off()}.
55
+ * @remarks Registering the exact same `listener` object for the same event more than once will throw an error.
56
+ * If registering the same listener for the same event multiple times is desired, consider using a wrapper function for the second subscription.
57
+ */
58
+ on<K extends keyof Listeners<TListeners>>(eventName: K, listener: TListeners[K]): Off;
59
+ /**
60
+ * Deregister an event listener.
61
+ * @param eventName - The name of the event.
62
+ * @param listener - The listener function to remove from the current set of event listeners.
63
+ * @remarks If `listener` is not currently registered, this method will have no effect.
64
+ *
65
+ * Listeners may also be deregistered by calling the {@link Off | deregistration function} returned when they are {@link Listenable.on | registered}.
66
+ */
67
+ off<K extends keyof Listeners<TListeners>>(eventName: K, listener: TListeners[K]): void;
68
+ }
69
+ /**
70
+ * A function that, when called, will deregister an event listener subscription that was previously registered.
71
+ * @remarks
72
+ * It is returned by the {@link Listenable.on | event registration function} when event registration occurs.
73
+ * @public
74
+ */
75
+ export type Off = () => void;
76
+ //# sourceMappingURL=listeners.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listeners.d.ts","sourceRoot":"","sources":["../../src/events/listeners.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,MAAM,UAAU,CAAC,SAAS,IAAI,SAAS,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AAE9F;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,IAAI;KACxC,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;CACrF,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,UAAU,CAAC,UAAU,SAAS,MAAM;IACpD;;;;;;;;;;OAUG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,SAAS,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAEtF;;;;;;;OAOG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,SAAS,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CACxF;AAED;;;;;GAKG;AACH,MAAM,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC"}
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=listeners.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listeners.js","sourceRoot":"","sources":["../../src/events/listeners.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * `true` iff the given type is an acceptable shape for a {@link Listeners | event} listener\n * @public\n */\nexport type IsListener<TListener> = TListener extends (...args: any[]) => void ? true : false;\n\n/**\n * Used to specify the kinds of events emitted by a {@link Listenable}.\n *\n * @remarks\n * Any object type is a valid {@link Listeners}, but only the {@link IsListener | event-like} properties of that\n * type will be included.\n *\n * @example\n * ```typescript\n * interface MyEvents {\n * load: (user: string, data: IUserData) => void;\n * error: (errorCode: number) => void;\n * }\n * ```\n *\n * @public\n */\nexport type Listeners<T extends object> = {\n\t[P in (string | symbol) & keyof T as IsListener<T[P]> extends true ? P : never]: T[P];\n};\n\n/**\n * An object which allows the registration of listeners so that subscribers can be notified when an event happens.\n * @param TListeners - All the {@link Listeners | events} that this subscribable supports\n *\n * @privateRemarks\n * {@link @fluid-internal/client-utils#CustomEventEmitter} can be used as a base class to implement this via extension.\n * ```ts\n * type MyEventEmitter = IEmitter<{\n * load: (user: string, data: IUserData) => void;\n * error: (errorCode: number) => void;\n * }>\n * ```\n * {@link @fluid-internal/client-utils#createEmitter} can help implement this interface via delegation.\n *\n * @sealed @public\n */\nexport interface Listenable<TListeners extends object> {\n\t/**\n\t * Register an event listener.\n\t * @param eventName - The name of the event.\n\t * @param listener - The listener function to run when the event is fired.\n\t * @returns A {@link Off | function} which will deregister the listener when called.\n\t * Calling the deregistration function more than once will have no effect.\n\t *\n\t * Listeners may also be deregistered by passing the listener to {@link Listenable.off | off()}.\n\t * @remarks Registering the exact same `listener` object for the same event more than once will throw an error.\n\t * If registering the same listener for the same event multiple times is desired, consider using a wrapper function for the second subscription.\n\t */\n\ton<K extends keyof Listeners<TListeners>>(eventName: K, listener: TListeners[K]): Off;\n\n\t/**\n\t * Deregister an event listener.\n\t * @param eventName - The name of the event.\n\t * @param listener - The listener function to remove from the current set of event listeners.\n\t * @remarks If `listener` is not currently registered, this method will have no effect.\n\t *\n\t * Listeners may also be deregistered by calling the {@link Off | deregistration function} returned when they are {@link Listenable.on | registered}.\n\t */\n\toff<K extends keyof Listeners<TListeners>>(eventName: K, listener: TListeners[K]): void;\n}\n\n/**\n * A function that, when called, will deregister an event listener subscription that was previously registered.\n * @remarks\n * It is returned by the {@link Listenable.on | event registration function} when event registration occurs.\n * @public\n */\nexport type Off = () => void;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,WAAW,MAAM;IACtB;;;;;;;;;OASG;IAEH,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD;AAED;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,MAAM;IAC1C;;;;OAIG;IAEH,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,OAAE;CACnD;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc,CAAC,MAAM,SAAS,MAAM;IACpD;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAE7C;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAE/C;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;CAC9C;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,mBAAmB,CAC9B,UAAU,SAAS,MAAM,EACzB,KAAK,SAAS,cAAc,CAAC,UAAU,CAAC,EACxC,MAAM,SAAS,UAAU,IACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,GAC/C,cAAc,CAAC,UAAU,CAAC,GAC1B,cAAc,CAAC,MAAM,CAAC,CAAC;AAYxB;;;GAGG;AAEH,MAAM,MAAM,qBAAqB,GAAG;IAAE,eAAe,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAE3E;;;GAGG;AAEH,MAAM,MAAM,4BAA4B,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,SAAS,GAAG,EAAE,GAC/E;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,qBAAqB,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GACrE,CAAC,CAAC;AAEL;;;;GAIG;AAEH,MAAM,MAAM,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,IAAI,CACzD,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,4BAA4B,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,IAAI,KAC/D,KAAK,CAAC;AAEX;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,CAAC,KAAK,EAAE,MAAM,SAAS,MAAM,IAAI,MAAM,SAAS;IAC5E,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAC3D,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAC3D,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAC3D,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAC3D,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAE3D,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACE,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAC3D,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAC3D,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAC3D,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAE3D,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAC3D,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAC3D,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAE3D,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAC3D,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAE3D,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAE3D,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IAEzD,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IAEzD,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IAEzD,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IAEzD,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IAEzD,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IAEzD,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IAEzD,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IAEzD,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IAEzD,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GACjE,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IAEzD,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAEhC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,WAAW,MAAM;IACtB;;;;;;;;;OASG;IACH,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD;AAED;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,MAAM;IAC1C;;;;OAIG;IAEH,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,OAAE;CACnD;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc,CAAC,MAAM,SAAS,MAAM;IACpD;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAE7C;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAE/C;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;CAC9C;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,mBAAmB,CAC9B,UAAU,SAAS,MAAM,EACzB,KAAK,SAAS,cAAc,CAAC,UAAU,CAAC,EACxC,MAAM,SAAS,UAAU,IACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,GAC/C,cAAc,CAAC,UAAU,CAAC,GAC1B,cAAc,CAAC,MAAM,CAAC,CAAC;AAYxB;;;GAGG;AAEH,MAAM,MAAM,qBAAqB,GAAG;IAAE,eAAe,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAE3E;;;GAGG;AAEH,MAAM,MAAM,4BAA4B,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,SAAS,GAAG,EAAE,GAC/E;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,qBAAqB,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GACrE,CAAC,CAAC;AAEL;;;;GAIG;AAEH,MAAM,MAAM,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,IAAI,CACzD,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,4BAA4B,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,IAAI,KAC/D,KAAK,CAAC;AAEX;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,CAAC,KAAK,EAAE,MAAM,SAAS,MAAM,IAAI,MAAM,SAAS;IAC5E,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAC3D,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAC3D,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAC3D,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAC3D,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAE3D,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACE,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAC3D,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAC3D,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAC3D,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAE3D,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAC3D,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAC3D,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAE3D,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAC3D,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAE3D,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,IAAI,OAAE;IAE3D,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IAEzD,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IAEzD,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IAEzD,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IAEzD,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IAEzD,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IAEzD,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IAEzD,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IAEzD,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAC/B,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IACzD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IAEzD,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GACjE,MAAM,SAAS;IACd,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,OAAE;IAEzD,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,OAAE;CACpD,GACA,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAEhC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC"}
package/lib/events.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Base interface for event emitters.\n * @public\n */\nexport interface IEvent {\n\t/**\n\t * Base event emitter signature.\n\t *\n\t * @remarks The event emitter polyfill and the node event emitter have different event types:\n\t * `string | symbol` vs. `string | number`.\n\t *\n\t * So for our typing we'll contrain to string, that way we work with both.\n\t *\n\t * @eventProperty\n\t */\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t(event: string, listener: (...args: any[]) => void);\n}\n\n/**\n * Base interface for error event emitters.\n * @public\n */\nexport interface IErrorEvent extends IEvent {\n\t/**\n\t * Base error event emitter signature.\n\t *\n\t * @eventProperty\n\t */\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t(event: \"error\", listener: (message: any) => void);\n}\n\n/**\n * Base interface for event providers.\n * @sealed @public\n */\nexport interface IEventProvider<TEvent extends IEvent> {\n\t/**\n\t * Registers a callback to be invoked when the corresponding event is triggered.\n\t */\n\treadonly on: IEventTransformer<this, TEvent>;\n\n\t/**\n\t * Registers a callback to be invoked the first time (after registration) the corresponding event is triggered.\n\t */\n\treadonly once: IEventTransformer<this, TEvent>;\n\n\t/**\n\t * Removes the corresponding event if it has been registered.\n\t */\n\treadonly off: IEventTransformer<this, TEvent>;\n}\n\n/**\n * Allows an interface to extend interfaces that already extend an {@link IEventProvider}.\n *\n * @example\n *\n * ``` typescript\n * interface AEvents extends IEvent{\n * (event: \"a-event\",listener: (a: number)=>void);\n * }\n * interface A extends IEventProvider<AEvents>{\n * a: object;\n * }\n *\n * interface BEvents extends IEvent{\n * (event: \"b-event\",listener: (b: string)=>void);\n * }\n * interface B extends ExtendEventProvider<AEvents, A, BEvents>{\n * b: boolean;\n * };\n * ```\n *\n * interface B will now extend interface A and its events\n * @public\n */\nexport type ExtendEventProvider<\n\tTBaseEvent extends IEvent,\n\tTBase extends IEventProvider<TBaseEvent>,\n\tTEvent extends TBaseEvent,\n> = Omit<Omit<Omit<TBase, \"on\">, \"once\">, \"off\"> &\n\tIEventProvider<TBaseEvent> &\n\tIEventProvider<TEvent>;\n\n// These types handle replacing IEventThisPlaceHolder with `this`, so we can\n// support polymorphic `this`. For instance if an event wanted to be:\n// (event: \"some-event\", listener:(target: this)=>void)\n//\n// it should be written as\n// (event: \"some-event\", listener:(target: IEventThisPlaceHolder)=>void)\n//\n// and IEventThisPlaceHolder will be replaced with this.\n// This is all consumers of these types need to know.\n\n/**\n * The placeholder type that should be used instead of `this` in events.\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/consistent-type-definitions\nexport type IEventThisPlaceHolder = { thisPlaceHolder: \"thisPlaceHolder\" };\n\n/**\n * Does the type replacement by changing types of {@link IEventThisPlaceHolder} to `TThis`\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type ReplaceIEventThisPlaceHolder<L extends any[], TThis> = L extends any[]\n\t? { [K in keyof L]: L[K] extends IEventThisPlaceHolder ? TThis : L[K] }\n\t: L;\n\n/**\n * Transforms the event overload by replacing {@link IEventThisPlaceHolder} with `TThis` in the event listener\n * arguments and having the overload return `TTHis` as well\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type TransformedEvent<TThis, E, A extends any[]> = (\n\tevent: E,\n\tlistener: (...args: ReplaceIEventThisPlaceHolder<A, TThis>) => void,\n) => TThis;\n\n/**\n * This type is a conditional type for transforming all the overloads provided in `TEvent`.\n *\n * @remarks\n * Due to limitations of the TypeScript typing system, we need to handle each number of overload individually.\n * It currently supports the max of 15 event overloads which is more than we use anywhere.\n * At more than 15 overloads we start to hit {@link https://github.com/microsoft/TypeScript/issues/37209 | TS2589}.\n * If we need to move beyond 15 we should evaluate using a mapped type pattern like `{\"event\":(listenerArgs)=>void}`\n * @public\n */\nexport type IEventTransformer<TThis, TEvent extends IEvent> = TEvent extends {\n\t(event: infer E0, listener: (...args: infer A0) => void);\n\t(event: infer E1, listener: (...args: infer A1) => void);\n\t(event: infer E2, listener: (...args: infer A2) => void);\n\t(event: infer E3, listener: (...args: infer A3) => void);\n\t(event: infer E4, listener: (...args: infer A4) => void);\n\t(event: infer E5, listener: (...args: infer A5) => void);\n\t(event: infer E6, listener: (...args: infer A6) => void);\n\t(event: infer E7, listener: (...args: infer A7) => void);\n\t(event: infer E8, listener: (...args: infer A8) => void);\n\t(event: infer E9, listener: (...args: infer A9) => void);\n\t(event: infer E10, listener: (...args: infer A10) => void);\n\t(event: infer E11, listener: (...args: infer A11) => void);\n\t(event: infer E12, listener: (...args: infer A12) => void);\n\t(event: infer E13, listener: (...args: infer A13) => void);\n\t(event: infer E14, listener: (...args: infer A14) => void);\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t(event: string, listener: (...args: any[]) => void);\n}\n\t? TransformedEvent<TThis, E0, A0> &\n\t\t\tTransformedEvent<TThis, E1, A1> &\n\t\t\tTransformedEvent<TThis, E2, A2> &\n\t\t\tTransformedEvent<TThis, E3, A3> &\n\t\t\tTransformedEvent<TThis, E4, A4> &\n\t\t\tTransformedEvent<TThis, E5, A5> &\n\t\t\tTransformedEvent<TThis, E6, A6> &\n\t\t\tTransformedEvent<TThis, E7, A7> &\n\t\t\tTransformedEvent<TThis, E8, A8> &\n\t\t\tTransformedEvent<TThis, E9, A9> &\n\t\t\tTransformedEvent<TThis, E10, A10> &\n\t\t\tTransformedEvent<TThis, E11, A11> &\n\t\t\tTransformedEvent<TThis, E12, A12> &\n\t\t\tTransformedEvent<TThis, E13, A13> &\n\t\t\tTransformedEvent<TThis, E14, A14>\n\t: TEvent extends {\n\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t(event: infer E1, listener: (...args: infer A1) => void);\n\t\t\t\t(event: infer E2, listener: (...args: infer A2) => void);\n\t\t\t\t(event: infer E3, listener: (...args: infer A3) => void);\n\t\t\t\t(event: infer E4, listener: (...args: infer A4) => void);\n\t\t\t\t(event: infer E5, listener: (...args: infer A5) => void);\n\t\t\t\t(event: infer E6, listener: (...args: infer A6) => void);\n\t\t\t\t(event: infer E7, listener: (...args: infer A7) => void);\n\t\t\t\t(event: infer E8, listener: (...args: infer A8) => void);\n\t\t\t\t(event: infer E9, listener: (...args: infer A9) => void);\n\t\t\t\t(event: infer E10, listener: (...args: infer A10) => void);\n\t\t\t\t(event: infer E11, listener: (...args: infer A11) => void);\n\t\t\t\t(event: infer E12, listener: (...args: infer A12) => void);\n\t\t\t\t(event: infer E13, listener: (...args: infer A13) => void);\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t}\n\t\t? TransformedEvent<TThis, E0, A0> &\n\t\t\t\tTransformedEvent<TThis, E1, A1> &\n\t\t\t\tTransformedEvent<TThis, E2, A2> &\n\t\t\t\tTransformedEvent<TThis, E3, A3> &\n\t\t\t\tTransformedEvent<TThis, E4, A4> &\n\t\t\t\tTransformedEvent<TThis, E5, A5> &\n\t\t\t\tTransformedEvent<TThis, E6, A6> &\n\t\t\t\tTransformedEvent<TThis, E7, A7> &\n\t\t\t\tTransformedEvent<TThis, E8, A8> &\n\t\t\t\tTransformedEvent<TThis, E9, A9> &\n\t\t\t\tTransformedEvent<TThis, E10, A10> &\n\t\t\t\tTransformedEvent<TThis, E11, A11> &\n\t\t\t\tTransformedEvent<TThis, E12, A12> &\n\t\t\t\tTransformedEvent<TThis, E13, A13>\n\t\t: TEvent extends {\n\t\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t\t(event: infer E1, listener: (...args: infer A1) => void);\n\t\t\t\t\t(event: infer E2, listener: (...args: infer A2) => void);\n\t\t\t\t\t(event: infer E3, listener: (...args: infer A3) => void);\n\t\t\t\t\t(event: infer E4, listener: (...args: infer A4) => void);\n\t\t\t\t\t(event: infer E5, listener: (...args: infer A5) => void);\n\t\t\t\t\t(event: infer E6, listener: (...args: infer A6) => void);\n\t\t\t\t\t(event: infer E7, listener: (...args: infer A7) => void);\n\t\t\t\t\t(event: infer E8, listener: (...args: infer A8) => void);\n\t\t\t\t\t(event: infer E9, listener: (...args: infer A9) => void);\n\t\t\t\t\t(event: infer E10, listener: (...args: infer A10) => void);\n\t\t\t\t\t(event: infer E11, listener: (...args: infer A11) => void);\n\t\t\t\t\t(event: infer E12, listener: (...args: infer A12) => void);\n\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t\t}\n\t\t\t? TransformedEvent<TThis, E0, A0> &\n\t\t\t\t\tTransformedEvent<TThis, E1, A1> &\n\t\t\t\t\tTransformedEvent<TThis, E2, A2> &\n\t\t\t\t\tTransformedEvent<TThis, E3, A3> &\n\t\t\t\t\tTransformedEvent<TThis, E4, A4> &\n\t\t\t\t\tTransformedEvent<TThis, E5, A5> &\n\t\t\t\t\tTransformedEvent<TThis, E6, A6> &\n\t\t\t\t\tTransformedEvent<TThis, E7, A7> &\n\t\t\t\t\tTransformedEvent<TThis, E8, A8> &\n\t\t\t\t\tTransformedEvent<TThis, E9, A9> &\n\t\t\t\t\tTransformedEvent<TThis, E10, A10> &\n\t\t\t\t\tTransformedEvent<TThis, E11, A11> &\n\t\t\t\t\tTransformedEvent<TThis, E12, A12>\n\t\t\t: TEvent extends {\n\t\t\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t\t\t(event: infer E1, listener: (...args: infer A1) => void);\n\t\t\t\t\t\t(event: infer E2, listener: (...args: infer A2) => void);\n\t\t\t\t\t\t(event: infer E3, listener: (...args: infer A3) => void);\n\t\t\t\t\t\t(event: infer E4, listener: (...args: infer A4) => void);\n\t\t\t\t\t\t(event: infer E5, listener: (...args: infer A5) => void);\n\t\t\t\t\t\t(event: infer E6, listener: (...args: infer A6) => void);\n\t\t\t\t\t\t(event: infer E7, listener: (...args: infer A7) => void);\n\t\t\t\t\t\t(event: infer E8, listener: (...args: infer A8) => void);\n\t\t\t\t\t\t(event: infer E9, listener: (...args: infer A9) => void);\n\t\t\t\t\t\t(event: infer E10, listener: (...args: infer A10) => void);\n\t\t\t\t\t\t(event: infer E11, listener: (...args: infer A11) => void);\n\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t\t\t}\n\t\t\t\t? TransformedEvent<TThis, E0, A0> &\n\t\t\t\t\t\tTransformedEvent<TThis, E1, A1> &\n\t\t\t\t\t\tTransformedEvent<TThis, E2, A2> &\n\t\t\t\t\t\tTransformedEvent<TThis, E3, A3> &\n\t\t\t\t\t\tTransformedEvent<TThis, E4, A4> &\n\t\t\t\t\t\tTransformedEvent<TThis, E5, A5> &\n\t\t\t\t\t\tTransformedEvent<TThis, E6, A6> &\n\t\t\t\t\t\tTransformedEvent<TThis, E7, A7> &\n\t\t\t\t\t\tTransformedEvent<TThis, E8, A8> &\n\t\t\t\t\t\tTransformedEvent<TThis, E9, A9> &\n\t\t\t\t\t\tTransformedEvent<TThis, E10, A10> &\n\t\t\t\t\t\tTransformedEvent<TThis, E11, A11>\n\t\t\t\t: TEvent extends {\n\t\t\t\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t\t\t\t(event: infer E1, listener: (...args: infer A1) => void);\n\t\t\t\t\t\t\t(event: infer E2, listener: (...args: infer A2) => void);\n\t\t\t\t\t\t\t(event: infer E3, listener: (...args: infer A3) => void);\n\t\t\t\t\t\t\t(event: infer E4, listener: (...args: infer A4) => void);\n\t\t\t\t\t\t\t(event: infer E5, listener: (...args: infer A5) => void);\n\t\t\t\t\t\t\t(event: infer E6, listener: (...args: infer A6) => void);\n\t\t\t\t\t\t\t(event: infer E7, listener: (...args: infer A7) => void);\n\t\t\t\t\t\t\t(event: infer E8, listener: (...args: infer A8) => void);\n\t\t\t\t\t\t\t(event: infer E9, listener: (...args: infer A9) => void);\n\t\t\t\t\t\t\t(event: infer E10, listener: (...args: infer A10) => void);\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t\t\t\t}\n\t\t\t\t\t? TransformedEvent<TThis, E0, A0> &\n\t\t\t\t\t\t\tTransformedEvent<TThis, E1, A1> &\n\t\t\t\t\t\t\tTransformedEvent<TThis, E2, A2> &\n\t\t\t\t\t\t\tTransformedEvent<TThis, E3, A3> &\n\t\t\t\t\t\t\tTransformedEvent<TThis, E4, A4> &\n\t\t\t\t\t\t\tTransformedEvent<TThis, E5, A5> &\n\t\t\t\t\t\t\tTransformedEvent<TThis, E6, A6> &\n\t\t\t\t\t\t\tTransformedEvent<TThis, E7, A7> &\n\t\t\t\t\t\t\tTransformedEvent<TThis, E8, A8> &\n\t\t\t\t\t\t\tTransformedEvent<TThis, E9, A9> &\n\t\t\t\t\t\t\tTransformedEvent<TThis, E10, A10>\n\t\t\t\t\t: TEvent extends {\n\t\t\t\t\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t\t\t\t\t(event: infer E1, listener: (...args: infer A1) => void);\n\t\t\t\t\t\t\t\t(event: infer E2, listener: (...args: infer A2) => void);\n\t\t\t\t\t\t\t\t(event: infer E3, listener: (...args: infer A3) => void);\n\t\t\t\t\t\t\t\t(event: infer E4, listener: (...args: infer A4) => void);\n\t\t\t\t\t\t\t\t(event: infer E5, listener: (...args: infer A5) => void);\n\t\t\t\t\t\t\t\t(event: infer E6, listener: (...args: infer A6) => void);\n\t\t\t\t\t\t\t\t(event: infer E7, listener: (...args: infer A7) => void);\n\t\t\t\t\t\t\t\t(event: infer E8, listener: (...args: infer A8) => void);\n\t\t\t\t\t\t\t\t(event: infer E9, listener: (...args: infer A9) => void);\n\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t? TransformedEvent<TThis, E0, A0> &\n\t\t\t\t\t\t\t\tTransformedEvent<TThis, E1, A1> &\n\t\t\t\t\t\t\t\tTransformedEvent<TThis, E2, A2> &\n\t\t\t\t\t\t\t\tTransformedEvent<TThis, E3, A3> &\n\t\t\t\t\t\t\t\tTransformedEvent<TThis, E4, A4> &\n\t\t\t\t\t\t\t\tTransformedEvent<TThis, E5, A5> &\n\t\t\t\t\t\t\t\tTransformedEvent<TThis, E6, A6> &\n\t\t\t\t\t\t\t\tTransformedEvent<TThis, E7, A7> &\n\t\t\t\t\t\t\t\tTransformedEvent<TThis, E8, A8> &\n\t\t\t\t\t\t\t\tTransformedEvent<TThis, E9, A9>\n\t\t\t\t\t\t: TEvent extends {\n\t\t\t\t\t\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t\t\t\t\t\t(event: infer E1, listener: (...args: infer A1) => void);\n\t\t\t\t\t\t\t\t\t(event: infer E2, listener: (...args: infer A2) => void);\n\t\t\t\t\t\t\t\t\t(event: infer E3, listener: (...args: infer A3) => void);\n\t\t\t\t\t\t\t\t\t(event: infer E4, listener: (...args: infer A4) => void);\n\t\t\t\t\t\t\t\t\t(event: infer E5, listener: (...args: infer A5) => void);\n\t\t\t\t\t\t\t\t\t(event: infer E6, listener: (...args: infer A6) => void);\n\t\t\t\t\t\t\t\t\t(event: infer E7, listener: (...args: infer A7) => void);\n\t\t\t\t\t\t\t\t\t(event: infer E8, listener: (...args: infer A8) => void);\n\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t? TransformedEvent<TThis, E0, A0> &\n\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E1, A1> &\n\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E2, A2> &\n\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E3, A3> &\n\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E4, A4> &\n\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E5, A5> &\n\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E6, A6> &\n\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E7, A7> &\n\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E8, A8>\n\t\t\t\t\t\t\t: TEvent extends {\n\t\t\t\t\t\t\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t\t\t\t\t\t\t(event: infer E1, listener: (...args: infer A1) => void);\n\t\t\t\t\t\t\t\t\t\t(event: infer E2, listener: (...args: infer A2) => void);\n\t\t\t\t\t\t\t\t\t\t(event: infer E3, listener: (...args: infer A3) => void);\n\t\t\t\t\t\t\t\t\t\t(event: infer E4, listener: (...args: infer A4) => void);\n\t\t\t\t\t\t\t\t\t\t(event: infer E5, listener: (...args: infer A5) => void);\n\t\t\t\t\t\t\t\t\t\t(event: infer E6, listener: (...args: infer A6) => void);\n\t\t\t\t\t\t\t\t\t\t(event: infer E7, listener: (...args: infer A7) => void);\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t? TransformedEvent<TThis, E0, A0> &\n\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E1, A1> &\n\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E2, A2> &\n\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E3, A3> &\n\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E4, A4> &\n\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E5, A5> &\n\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E6, A6> &\n\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E7, A7>\n\t\t\t\t\t\t\t\t: TEvent extends {\n\t\t\t\t\t\t\t\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t\t\t\t\t\t\t\t(event: infer E1, listener: (...args: infer A1) => void);\n\t\t\t\t\t\t\t\t\t\t\t(event: infer E2, listener: (...args: infer A2) => void);\n\t\t\t\t\t\t\t\t\t\t\t(event: infer E3, listener: (...args: infer A3) => void);\n\t\t\t\t\t\t\t\t\t\t\t(event: infer E4, listener: (...args: infer A4) => void);\n\t\t\t\t\t\t\t\t\t\t\t(event: infer E5, listener: (...args: infer A5) => void);\n\t\t\t\t\t\t\t\t\t\t\t(event: infer E6, listener: (...args: infer A6) => void);\n\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\t\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t? TransformedEvent<TThis, E0, A0> &\n\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E1, A1> &\n\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E2, A2> &\n\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E3, A3> &\n\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E4, A4> &\n\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E5, A5> &\n\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E6, A6>\n\t\t\t\t\t\t\t\t\t: TEvent extends {\n\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E1, listener: (...args: infer A1) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E2, listener: (...args: infer A2) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E3, listener: (...args: infer A3) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E4, listener: (...args: infer A4) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E5, listener: (...args: infer A5) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\t\t\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t? TransformedEvent<TThis, E0, A0> &\n\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E1, A1> &\n\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E2, A2> &\n\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E3, A3> &\n\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E4, A4> &\n\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E5, A5>\n\t\t\t\t\t\t\t\t\t\t: TEvent extends {\n\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E1, listener: (...args: infer A1) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E2, listener: (...args: infer A2) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E3, listener: (...args: infer A3) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E4, listener: (...args: infer A4) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\t\t\t\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t? TransformedEvent<TThis, E0, A0> &\n\t\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E1, A1> &\n\t\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E2, A2> &\n\t\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E3, A3> &\n\t\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E4, A4>\n\t\t\t\t\t\t\t\t\t\t\t: TEvent extends {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E1, listener: (...args: infer A1) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E2, listener: (...args: infer A2) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E3, listener: (...args: infer A3) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t? TransformedEvent<TThis, E0, A0> &\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E1, A1> &\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E2, A2> &\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E3, A3>\n\t\t\t\t\t\t\t\t\t\t\t\t: TEvent extends {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E1, listener: (...args: infer A1) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E2, listener: (...args: infer A2) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t? TransformedEvent<TThis, E0, A0> &\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E1, A1> &\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E2, A2>\n\t\t\t\t\t\t\t\t\t\t\t\t\t: TEvent extends {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E1, listener: (...args: infer A1) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: TEvent extends {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? TransformedEvent<TThis, E0, A0>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, string, any[]>;\n"]}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Base interface for event emitters.\n * @public\n */\nexport interface IEvent {\n\t/**\n\t * Base event emitter signature.\n\t *\n\t * @remarks The event emitter polyfill and the node event emitter have different event types:\n\t * `string | symbol` vs. `string | number`.\n\t *\n\t * So for our typing we'll contrain to string, that way we work with both.\n\t *\n\t * @eventProperty\n\t */\n\t(event: string, listener: (...args: any[]) => void);\n}\n\n/**\n * Base interface for error event emitters.\n * @public\n */\nexport interface IErrorEvent extends IEvent {\n\t/**\n\t * Base error event emitter signature.\n\t *\n\t * @eventProperty\n\t */\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t(event: \"error\", listener: (message: any) => void);\n}\n\n/**\n * Base interface for event providers.\n * @sealed @public\n */\nexport interface IEventProvider<TEvent extends IEvent> {\n\t/**\n\t * Registers a callback to be invoked when the corresponding event is triggered.\n\t */\n\treadonly on: IEventTransformer<this, TEvent>;\n\n\t/**\n\t * Registers a callback to be invoked the first time (after registration) the corresponding event is triggered.\n\t */\n\treadonly once: IEventTransformer<this, TEvent>;\n\n\t/**\n\t * Removes the corresponding event if it has been registered.\n\t */\n\treadonly off: IEventTransformer<this, TEvent>;\n}\n\n/**\n * Allows an interface to extend interfaces that already extend an {@link IEventProvider}.\n *\n * @example\n *\n * ``` typescript\n * interface AEvents extends IEvent{\n * (event: \"a-event\",listener: (a: number)=>void);\n * }\n * interface A extends IEventProvider<AEvents>{\n * a: object;\n * }\n *\n * interface BEvents extends IEvent{\n * (event: \"b-event\",listener: (b: string)=>void);\n * }\n * interface B extends ExtendEventProvider<AEvents, A, BEvents>{\n * b: boolean;\n * };\n * ```\n *\n * interface B will now extend interface A and its events\n * @public\n */\nexport type ExtendEventProvider<\n\tTBaseEvent extends IEvent,\n\tTBase extends IEventProvider<TBaseEvent>,\n\tTEvent extends TBaseEvent,\n> = Omit<Omit<Omit<TBase, \"on\">, \"once\">, \"off\"> &\n\tIEventProvider<TBaseEvent> &\n\tIEventProvider<TEvent>;\n\n// These types handle replacing IEventThisPlaceHolder with `this`, so we can\n// support polymorphic `this`. For instance if an event wanted to be:\n// (event: \"some-event\", listener:(target: this)=>void)\n//\n// it should be written as\n// (event: \"some-event\", listener:(target: IEventThisPlaceHolder)=>void)\n//\n// and IEventThisPlaceHolder will be replaced with this.\n// This is all consumers of these types need to know.\n\n/**\n * The placeholder type that should be used instead of `this` in events.\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/consistent-type-definitions\nexport type IEventThisPlaceHolder = { thisPlaceHolder: \"thisPlaceHolder\" };\n\n/**\n * Does the type replacement by changing types of {@link IEventThisPlaceHolder} to `TThis`\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type ReplaceIEventThisPlaceHolder<L extends any[], TThis> = L extends any[]\n\t? { [K in keyof L]: L[K] extends IEventThisPlaceHolder ? TThis : L[K] }\n\t: L;\n\n/**\n * Transforms the event overload by replacing {@link IEventThisPlaceHolder} with `TThis` in the event listener\n * arguments and having the overload return `TTHis` as well\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type TransformedEvent<TThis, E, A extends any[]> = (\n\tevent: E,\n\tlistener: (...args: ReplaceIEventThisPlaceHolder<A, TThis>) => void,\n) => TThis;\n\n/**\n * This type is a conditional type for transforming all the overloads provided in `TEvent`.\n *\n * @remarks\n * Due to limitations of the TypeScript typing system, we need to handle each number of overload individually.\n * It currently supports the max of 15 event overloads which is more than we use anywhere.\n * At more than 15 overloads we start to hit {@link https://github.com/microsoft/TypeScript/issues/37209 | TS2589}.\n * If we need to move beyond 15 we should evaluate using a mapped type pattern like `{\"event\":(listenerArgs)=>void}`\n * @public\n */\nexport type IEventTransformer<TThis, TEvent extends IEvent> = TEvent extends {\n\t(event: infer E0, listener: (...args: infer A0) => void);\n\t(event: infer E1, listener: (...args: infer A1) => void);\n\t(event: infer E2, listener: (...args: infer A2) => void);\n\t(event: infer E3, listener: (...args: infer A3) => void);\n\t(event: infer E4, listener: (...args: infer A4) => void);\n\t(event: infer E5, listener: (...args: infer A5) => void);\n\t(event: infer E6, listener: (...args: infer A6) => void);\n\t(event: infer E7, listener: (...args: infer A7) => void);\n\t(event: infer E8, listener: (...args: infer A8) => void);\n\t(event: infer E9, listener: (...args: infer A9) => void);\n\t(event: infer E10, listener: (...args: infer A10) => void);\n\t(event: infer E11, listener: (...args: infer A11) => void);\n\t(event: infer E12, listener: (...args: infer A12) => void);\n\t(event: infer E13, listener: (...args: infer A13) => void);\n\t(event: infer E14, listener: (...args: infer A14) => void);\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t(event: string, listener: (...args: any[]) => void);\n}\n\t? TransformedEvent<TThis, E0, A0> &\n\t\t\tTransformedEvent<TThis, E1, A1> &\n\t\t\tTransformedEvent<TThis, E2, A2> &\n\t\t\tTransformedEvent<TThis, E3, A3> &\n\t\t\tTransformedEvent<TThis, E4, A4> &\n\t\t\tTransformedEvent<TThis, E5, A5> &\n\t\t\tTransformedEvent<TThis, E6, A6> &\n\t\t\tTransformedEvent<TThis, E7, A7> &\n\t\t\tTransformedEvent<TThis, E8, A8> &\n\t\t\tTransformedEvent<TThis, E9, A9> &\n\t\t\tTransformedEvent<TThis, E10, A10> &\n\t\t\tTransformedEvent<TThis, E11, A11> &\n\t\t\tTransformedEvent<TThis, E12, A12> &\n\t\t\tTransformedEvent<TThis, E13, A13> &\n\t\t\tTransformedEvent<TThis, E14, A14>\n\t: TEvent extends {\n\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t(event: infer E1, listener: (...args: infer A1) => void);\n\t\t\t\t(event: infer E2, listener: (...args: infer A2) => void);\n\t\t\t\t(event: infer E3, listener: (...args: infer A3) => void);\n\t\t\t\t(event: infer E4, listener: (...args: infer A4) => void);\n\t\t\t\t(event: infer E5, listener: (...args: infer A5) => void);\n\t\t\t\t(event: infer E6, listener: (...args: infer A6) => void);\n\t\t\t\t(event: infer E7, listener: (...args: infer A7) => void);\n\t\t\t\t(event: infer E8, listener: (...args: infer A8) => void);\n\t\t\t\t(event: infer E9, listener: (...args: infer A9) => void);\n\t\t\t\t(event: infer E10, listener: (...args: infer A10) => void);\n\t\t\t\t(event: infer E11, listener: (...args: infer A11) => void);\n\t\t\t\t(event: infer E12, listener: (...args: infer A12) => void);\n\t\t\t\t(event: infer E13, listener: (...args: infer A13) => void);\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t}\n\t\t? TransformedEvent<TThis, E0, A0> &\n\t\t\t\tTransformedEvent<TThis, E1, A1> &\n\t\t\t\tTransformedEvent<TThis, E2, A2> &\n\t\t\t\tTransformedEvent<TThis, E3, A3> &\n\t\t\t\tTransformedEvent<TThis, E4, A4> &\n\t\t\t\tTransformedEvent<TThis, E5, A5> &\n\t\t\t\tTransformedEvent<TThis, E6, A6> &\n\t\t\t\tTransformedEvent<TThis, E7, A7> &\n\t\t\t\tTransformedEvent<TThis, E8, A8> &\n\t\t\t\tTransformedEvent<TThis, E9, A9> &\n\t\t\t\tTransformedEvent<TThis, E10, A10> &\n\t\t\t\tTransformedEvent<TThis, E11, A11> &\n\t\t\t\tTransformedEvent<TThis, E12, A12> &\n\t\t\t\tTransformedEvent<TThis, E13, A13>\n\t\t: TEvent extends {\n\t\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t\t(event: infer E1, listener: (...args: infer A1) => void);\n\t\t\t\t\t(event: infer E2, listener: (...args: infer A2) => void);\n\t\t\t\t\t(event: infer E3, listener: (...args: infer A3) => void);\n\t\t\t\t\t(event: infer E4, listener: (...args: infer A4) => void);\n\t\t\t\t\t(event: infer E5, listener: (...args: infer A5) => void);\n\t\t\t\t\t(event: infer E6, listener: (...args: infer A6) => void);\n\t\t\t\t\t(event: infer E7, listener: (...args: infer A7) => void);\n\t\t\t\t\t(event: infer E8, listener: (...args: infer A8) => void);\n\t\t\t\t\t(event: infer E9, listener: (...args: infer A9) => void);\n\t\t\t\t\t(event: infer E10, listener: (...args: infer A10) => void);\n\t\t\t\t\t(event: infer E11, listener: (...args: infer A11) => void);\n\t\t\t\t\t(event: infer E12, listener: (...args: infer A12) => void);\n\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t\t}\n\t\t\t? TransformedEvent<TThis, E0, A0> &\n\t\t\t\t\tTransformedEvent<TThis, E1, A1> &\n\t\t\t\t\tTransformedEvent<TThis, E2, A2> &\n\t\t\t\t\tTransformedEvent<TThis, E3, A3> &\n\t\t\t\t\tTransformedEvent<TThis, E4, A4> &\n\t\t\t\t\tTransformedEvent<TThis, E5, A5> &\n\t\t\t\t\tTransformedEvent<TThis, E6, A6> &\n\t\t\t\t\tTransformedEvent<TThis, E7, A7> &\n\t\t\t\t\tTransformedEvent<TThis, E8, A8> &\n\t\t\t\t\tTransformedEvent<TThis, E9, A9> &\n\t\t\t\t\tTransformedEvent<TThis, E10, A10> &\n\t\t\t\t\tTransformedEvent<TThis, E11, A11> &\n\t\t\t\t\tTransformedEvent<TThis, E12, A12>\n\t\t\t: TEvent extends {\n\t\t\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t\t\t(event: infer E1, listener: (...args: infer A1) => void);\n\t\t\t\t\t\t(event: infer E2, listener: (...args: infer A2) => void);\n\t\t\t\t\t\t(event: infer E3, listener: (...args: infer A3) => void);\n\t\t\t\t\t\t(event: infer E4, listener: (...args: infer A4) => void);\n\t\t\t\t\t\t(event: infer E5, listener: (...args: infer A5) => void);\n\t\t\t\t\t\t(event: infer E6, listener: (...args: infer A6) => void);\n\t\t\t\t\t\t(event: infer E7, listener: (...args: infer A7) => void);\n\t\t\t\t\t\t(event: infer E8, listener: (...args: infer A8) => void);\n\t\t\t\t\t\t(event: infer E9, listener: (...args: infer A9) => void);\n\t\t\t\t\t\t(event: infer E10, listener: (...args: infer A10) => void);\n\t\t\t\t\t\t(event: infer E11, listener: (...args: infer A11) => void);\n\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t\t\t}\n\t\t\t\t? TransformedEvent<TThis, E0, A0> &\n\t\t\t\t\t\tTransformedEvent<TThis, E1, A1> &\n\t\t\t\t\t\tTransformedEvent<TThis, E2, A2> &\n\t\t\t\t\t\tTransformedEvent<TThis, E3, A3> &\n\t\t\t\t\t\tTransformedEvent<TThis, E4, A4> &\n\t\t\t\t\t\tTransformedEvent<TThis, E5, A5> &\n\t\t\t\t\t\tTransformedEvent<TThis, E6, A6> &\n\t\t\t\t\t\tTransformedEvent<TThis, E7, A7> &\n\t\t\t\t\t\tTransformedEvent<TThis, E8, A8> &\n\t\t\t\t\t\tTransformedEvent<TThis, E9, A9> &\n\t\t\t\t\t\tTransformedEvent<TThis, E10, A10> &\n\t\t\t\t\t\tTransformedEvent<TThis, E11, A11>\n\t\t\t\t: TEvent extends {\n\t\t\t\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t\t\t\t(event: infer E1, listener: (...args: infer A1) => void);\n\t\t\t\t\t\t\t(event: infer E2, listener: (...args: infer A2) => void);\n\t\t\t\t\t\t\t(event: infer E3, listener: (...args: infer A3) => void);\n\t\t\t\t\t\t\t(event: infer E4, listener: (...args: infer A4) => void);\n\t\t\t\t\t\t\t(event: infer E5, listener: (...args: infer A5) => void);\n\t\t\t\t\t\t\t(event: infer E6, listener: (...args: infer A6) => void);\n\t\t\t\t\t\t\t(event: infer E7, listener: (...args: infer A7) => void);\n\t\t\t\t\t\t\t(event: infer E8, listener: (...args: infer A8) => void);\n\t\t\t\t\t\t\t(event: infer E9, listener: (...args: infer A9) => void);\n\t\t\t\t\t\t\t(event: infer E10, listener: (...args: infer A10) => void);\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t\t\t\t}\n\t\t\t\t\t? TransformedEvent<TThis, E0, A0> &\n\t\t\t\t\t\t\tTransformedEvent<TThis, E1, A1> &\n\t\t\t\t\t\t\tTransformedEvent<TThis, E2, A2> &\n\t\t\t\t\t\t\tTransformedEvent<TThis, E3, A3> &\n\t\t\t\t\t\t\tTransformedEvent<TThis, E4, A4> &\n\t\t\t\t\t\t\tTransformedEvent<TThis, E5, A5> &\n\t\t\t\t\t\t\tTransformedEvent<TThis, E6, A6> &\n\t\t\t\t\t\t\tTransformedEvent<TThis, E7, A7> &\n\t\t\t\t\t\t\tTransformedEvent<TThis, E8, A8> &\n\t\t\t\t\t\t\tTransformedEvent<TThis, E9, A9> &\n\t\t\t\t\t\t\tTransformedEvent<TThis, E10, A10>\n\t\t\t\t\t: TEvent extends {\n\t\t\t\t\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t\t\t\t\t(event: infer E1, listener: (...args: infer A1) => void);\n\t\t\t\t\t\t\t\t(event: infer E2, listener: (...args: infer A2) => void);\n\t\t\t\t\t\t\t\t(event: infer E3, listener: (...args: infer A3) => void);\n\t\t\t\t\t\t\t\t(event: infer E4, listener: (...args: infer A4) => void);\n\t\t\t\t\t\t\t\t(event: infer E5, listener: (...args: infer A5) => void);\n\t\t\t\t\t\t\t\t(event: infer E6, listener: (...args: infer A6) => void);\n\t\t\t\t\t\t\t\t(event: infer E7, listener: (...args: infer A7) => void);\n\t\t\t\t\t\t\t\t(event: infer E8, listener: (...args: infer A8) => void);\n\t\t\t\t\t\t\t\t(event: infer E9, listener: (...args: infer A9) => void);\n\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t? TransformedEvent<TThis, E0, A0> &\n\t\t\t\t\t\t\t\tTransformedEvent<TThis, E1, A1> &\n\t\t\t\t\t\t\t\tTransformedEvent<TThis, E2, A2> &\n\t\t\t\t\t\t\t\tTransformedEvent<TThis, E3, A3> &\n\t\t\t\t\t\t\t\tTransformedEvent<TThis, E4, A4> &\n\t\t\t\t\t\t\t\tTransformedEvent<TThis, E5, A5> &\n\t\t\t\t\t\t\t\tTransformedEvent<TThis, E6, A6> &\n\t\t\t\t\t\t\t\tTransformedEvent<TThis, E7, A7> &\n\t\t\t\t\t\t\t\tTransformedEvent<TThis, E8, A8> &\n\t\t\t\t\t\t\t\tTransformedEvent<TThis, E9, A9>\n\t\t\t\t\t\t: TEvent extends {\n\t\t\t\t\t\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t\t\t\t\t\t(event: infer E1, listener: (...args: infer A1) => void);\n\t\t\t\t\t\t\t\t\t(event: infer E2, listener: (...args: infer A2) => void);\n\t\t\t\t\t\t\t\t\t(event: infer E3, listener: (...args: infer A3) => void);\n\t\t\t\t\t\t\t\t\t(event: infer E4, listener: (...args: infer A4) => void);\n\t\t\t\t\t\t\t\t\t(event: infer E5, listener: (...args: infer A5) => void);\n\t\t\t\t\t\t\t\t\t(event: infer E6, listener: (...args: infer A6) => void);\n\t\t\t\t\t\t\t\t\t(event: infer E7, listener: (...args: infer A7) => void);\n\t\t\t\t\t\t\t\t\t(event: infer E8, listener: (...args: infer A8) => void);\n\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t? TransformedEvent<TThis, E0, A0> &\n\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E1, A1> &\n\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E2, A2> &\n\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E3, A3> &\n\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E4, A4> &\n\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E5, A5> &\n\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E6, A6> &\n\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E7, A7> &\n\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E8, A8>\n\t\t\t\t\t\t\t: TEvent extends {\n\t\t\t\t\t\t\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t\t\t\t\t\t\t(event: infer E1, listener: (...args: infer A1) => void);\n\t\t\t\t\t\t\t\t\t\t(event: infer E2, listener: (...args: infer A2) => void);\n\t\t\t\t\t\t\t\t\t\t(event: infer E3, listener: (...args: infer A3) => void);\n\t\t\t\t\t\t\t\t\t\t(event: infer E4, listener: (...args: infer A4) => void);\n\t\t\t\t\t\t\t\t\t\t(event: infer E5, listener: (...args: infer A5) => void);\n\t\t\t\t\t\t\t\t\t\t(event: infer E6, listener: (...args: infer A6) => void);\n\t\t\t\t\t\t\t\t\t\t(event: infer E7, listener: (...args: infer A7) => void);\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t? TransformedEvent<TThis, E0, A0> &\n\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E1, A1> &\n\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E2, A2> &\n\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E3, A3> &\n\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E4, A4> &\n\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E5, A5> &\n\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E6, A6> &\n\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E7, A7>\n\t\t\t\t\t\t\t\t: TEvent extends {\n\t\t\t\t\t\t\t\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t\t\t\t\t\t\t\t(event: infer E1, listener: (...args: infer A1) => void);\n\t\t\t\t\t\t\t\t\t\t\t(event: infer E2, listener: (...args: infer A2) => void);\n\t\t\t\t\t\t\t\t\t\t\t(event: infer E3, listener: (...args: infer A3) => void);\n\t\t\t\t\t\t\t\t\t\t\t(event: infer E4, listener: (...args: infer A4) => void);\n\t\t\t\t\t\t\t\t\t\t\t(event: infer E5, listener: (...args: infer A5) => void);\n\t\t\t\t\t\t\t\t\t\t\t(event: infer E6, listener: (...args: infer A6) => void);\n\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\t\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t? TransformedEvent<TThis, E0, A0> &\n\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E1, A1> &\n\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E2, A2> &\n\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E3, A3> &\n\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E4, A4> &\n\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E5, A5> &\n\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E6, A6>\n\t\t\t\t\t\t\t\t\t: TEvent extends {\n\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E1, listener: (...args: infer A1) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E2, listener: (...args: infer A2) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E3, listener: (...args: infer A3) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E4, listener: (...args: infer A4) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E5, listener: (...args: infer A5) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\t\t\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t? TransformedEvent<TThis, E0, A0> &\n\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E1, A1> &\n\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E2, A2> &\n\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E3, A3> &\n\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E4, A4> &\n\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E5, A5>\n\t\t\t\t\t\t\t\t\t\t: TEvent extends {\n\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E1, listener: (...args: infer A1) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E2, listener: (...args: infer A2) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E3, listener: (...args: infer A3) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E4, listener: (...args: infer A4) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\t\t\t\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t? TransformedEvent<TThis, E0, A0> &\n\t\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E1, A1> &\n\t\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E2, A2> &\n\t\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E3, A3> &\n\t\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E4, A4>\n\t\t\t\t\t\t\t\t\t\t\t: TEvent extends {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E1, listener: (...args: infer A1) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E2, listener: (...args: infer A2) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E3, listener: (...args: infer A3) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t? TransformedEvent<TThis, E0, A0> &\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E1, A1> &\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E2, A2> &\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E3, A3>\n\t\t\t\t\t\t\t\t\t\t\t\t: TEvent extends {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E1, listener: (...args: infer A1) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E2, listener: (...args: infer A2) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t? TransformedEvent<TThis, E0, A0> &\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E1, A1> &\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, E2, A2>\n\t\t\t\t\t\t\t\t\t\t\t\t\t: TEvent extends {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E1, listener: (...args: infer A1) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: TEvent extends {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: infer E0, listener: (...args: infer A0) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(event: string, listener: (...args: any[]) => void);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? TransformedEvent<TThis, E0, A0>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTransformedEvent<TThis, string, any[]>;\n"]}
package/lib/index.d.ts CHANGED
@@ -17,4 +17,5 @@ export type { FluidObjectProviderKeys, FluidObject, FluidObjectKeys } from "./pr
17
17
  export type { ConfigTypes, IConfigProviderBase } from "./config.js";
18
18
  export type { ISignalEnvelope } from "./messages.js";
19
19
  export type { ErasedType } from "./erasedType.js";
20
+ export type { HasListeners, IEmitter, IsListener, Listeners, Listenable, MapGetSet, NoListenersCallback, Off, } from "./events/index.js";
20
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,YAAY,EACX,mBAAmB,EACnB,WAAW,EACX,MAAM,EACN,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,4BAA4B,EAC5B,gBAAgB,GAChB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAKpE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE5E,YAAY,EACX,0BAA0B,EAC1B,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEpF,YAAY,EACX,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,MAAM,EACN,8BAA8B,GAC9B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,YAAY,EAAE,uBAAuB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC3F,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACpE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,YAAY,EACX,mBAAmB,EACnB,WAAW,EACX,MAAM,EACN,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,4BAA4B,EAC5B,gBAAgB,GAChB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAKpE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE5E,YAAY,EACX,0BAA0B,EAC1B,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEpF,YAAY,EACX,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,MAAM,EACN,8BAA8B,GAC9B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,YAAY,EAAE,uBAAuB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC3F,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACpE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,YAAY,EACX,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,mBAAmB,EACnB,GAAG,GACH,MAAM,mBAAmB,CAAC"}
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAc7C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAapE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAUpF,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport type { IDisposable } from \"./disposable.js\";\n\nexport type { IErrorBase, IGenericError, IUsageError, IThrottlingWarning } from \"./error.js\";\nexport { FluidErrorTypes } from \"./error.js\";\n\nexport type {\n\tExtendEventProvider,\n\tIErrorEvent,\n\tIEvent,\n\tIEventProvider,\n\tIEventThisPlaceHolder,\n\tIEventTransformer,\n\tReplaceIEventThisPlaceHolder,\n\tTransformedEvent,\n} from \"./events.js\";\n\nexport type { IProvideFluidLoadable, IProvideFluidRunnable } from \"./fluidLoadable.js\";\nexport { IFluidLoadable, IFluidRunnable } from \"./fluidLoadable.js\";\n\n// TypeScript forgets the index signature when customers augment IRequestHeader if we export *.\n// So we export the explicit members as a workaround:\n// https://github.com/microsoft/TypeScript/issues/18877#issuecomment-476921038\nexport type { IRequest, IRequestHeader, IResponse } from \"./fluidRouter.js\";\n\nexport type {\n\tIProvideFluidHandleContext,\n\tIProvideFluidHandle,\n\tIFluidHandleInternal,\n\tIFluidHandleErased,\n} from \"./handles.js\";\nexport { IFluidHandleContext, IFluidHandle, fluidHandleSymbol } from \"./handles.js\";\n\nexport type {\n\tILoggingError,\n\tITelemetryBaseEvent,\n\tITelemetryBaseLogger,\n\tITelemetryBaseProperties,\n\tTagged,\n\tTelemetryBaseEventPropertyType,\n} from \"./logger.js\";\nexport { LogLevel } from \"./logger.js\";\nexport type { FluidObjectProviderKeys, FluidObject, FluidObjectKeys } from \"./provider.js\";\nexport type { ConfigTypes, IConfigProviderBase } from \"./config.js\";\nexport type { ISignalEnvelope } from \"./messages.js\";\nexport type { ErasedType } from \"./erasedType.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAc7C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAapE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAUpF,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport type { IDisposable } from \"./disposable.js\";\n\nexport type { IErrorBase, IGenericError, IUsageError, IThrottlingWarning } from \"./error.js\";\nexport { FluidErrorTypes } from \"./error.js\";\n\nexport type {\n\tExtendEventProvider,\n\tIErrorEvent,\n\tIEvent,\n\tIEventProvider,\n\tIEventThisPlaceHolder,\n\tIEventTransformer,\n\tReplaceIEventThisPlaceHolder,\n\tTransformedEvent,\n} from \"./events.js\";\n\nexport type { IProvideFluidLoadable, IProvideFluidRunnable } from \"./fluidLoadable.js\";\nexport { IFluidLoadable, IFluidRunnable } from \"./fluidLoadable.js\";\n\n// TypeScript forgets the index signature when customers augment IRequestHeader if we export *.\n// So we export the explicit members as a workaround:\n// https://github.com/microsoft/TypeScript/issues/18877#issuecomment-476921038\nexport type { IRequest, IRequestHeader, IResponse } from \"./fluidRouter.js\";\n\nexport type {\n\tIProvideFluidHandleContext,\n\tIProvideFluidHandle,\n\tIFluidHandleInternal,\n\tIFluidHandleErased,\n} from \"./handles.js\";\nexport { IFluidHandleContext, IFluidHandle, fluidHandleSymbol } from \"./handles.js\";\n\nexport type {\n\tILoggingError,\n\tITelemetryBaseEvent,\n\tITelemetryBaseLogger,\n\tITelemetryBaseProperties,\n\tTagged,\n\tTelemetryBaseEventPropertyType,\n} from \"./logger.js\";\nexport { LogLevel } from \"./logger.js\";\nexport type { FluidObjectProviderKeys, FluidObject, FluidObjectKeys } from \"./provider.js\";\nexport type { ConfigTypes, IConfigProviderBase } from \"./config.js\";\nexport type { ISignalEnvelope } from \"./messages.js\";\nexport type { ErasedType } from \"./erasedType.js\";\n\nexport type {\n\tHasListeners,\n\tIEmitter,\n\tIsListener,\n\tListeners,\n\tListenable,\n\tMapGetSet,\n\tNoListenersCallback,\n\tOff,\n} from \"./events/index.js\";\n"]}
package/lib/legacy.d.ts CHANGED
@@ -34,7 +34,11 @@ export {
34
34
  ITelemetryBaseEvent,
35
35
  ITelemetryBaseLogger,
36
36
  ITelemetryBaseProperties,
37
+ IsListener,
38
+ Listenable,
39
+ Listeners,
37
40
  LogLevel,
41
+ Off,
38
42
  ReplaceIEventThisPlaceHolder,
39
43
  Tagged,
40
44
  TelemetryBaseEventPropertyType,
package/lib/public.d.ts CHANGED
@@ -34,7 +34,11 @@ export {
34
34
  ITelemetryBaseEvent,
35
35
  ITelemetryBaseLogger,
36
36
  ITelemetryBaseProperties,
37
+ IsListener,
38
+ Listenable,
39
+ Listeners,
37
40
  LogLevel,
41
+ Off,
38
42
  ReplaceIEventThisPlaceHolder,
39
43
  Tagged,
40
44
  TelemetryBaseEventPropertyType,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluidframework/core-interfaces",
3
- "version": "2.10.0",
3
+ "version": "2.12.0",
4
4
  "description": "Fluid object interfaces",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -47,13 +47,13 @@
47
47
  "main": "lib/index.js",
48
48
  "types": "lib/public.d.ts",
49
49
  "devDependencies": {
50
- "@arethetypeswrong/cli": "^0.16.4",
50
+ "@arethetypeswrong/cli": "^0.17.1",
51
51
  "@biomejs/biome": "~1.9.3",
52
52
  "@fluid-tools/build-cli": "^0.51.0",
53
53
  "@fluidframework/build-common": "^2.0.3",
54
54
  "@fluidframework/build-tools": "^0.51.0",
55
- "@fluidframework/core-interfaces-previous": "npm:@fluidframework/core-interfaces@~2.5.0",
56
- "@fluidframework/eslint-config-fluid": "^5.4.0",
55
+ "@fluidframework/core-interfaces-previous": "npm:@fluidframework/core-interfaces@2.11.0",
56
+ "@fluidframework/eslint-config-fluid": "^5.6.0",
57
57
  "@microsoft/api-extractor": "7.47.8",
58
58
  "@types/node": "^18.19.0",
59
59
  "concurrently": "^8.2.1",
@@ -0,0 +1,3 @@
1
+ # events
2
+
3
+ This module contains interfaces and helpers for objects that emit and subscribe to events.