@node-yalc/event-manager 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +52 -0
- package/dist/src/emitter.d.ts +16 -0
- package/dist/src/emitter.js +35 -0
- package/dist/src/emitter.js.map +1 -0
- package/dist/src/event-name-builder.d.ts +20 -0
- package/dist/src/event-name-builder.js +26 -0
- package/dist/src/event-name-builder.js.map +1 -0
- package/dist/src/event-result.types.d.ts +4 -0
- package/dist/src/event-result.types.js +2 -0
- package/dist/src/event-result.types.js.map +1 -0
- package/dist/src/event.d.ts +84 -0
- package/dist/src/event.helper.d.ts +5 -0
- package/dist/src/event.helper.js +52 -0
- package/dist/src/event.helper.js.map +1 -0
- package/dist/src/event.js +233 -0
- package/dist/src/event.js.map +1 -0
- package/dist/src/event.service.d.ts +101 -0
- package/dist/src/event.service.js +458 -0
- package/dist/src/event.service.js.map +1 -0
- package/dist/src/global-emitter.d.ts +5 -0
- package/dist/src/global-emitter.js +19 -0
- package/dist/src/global-emitter.js.map +1 -0
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.js +6 -0
- package/dist/src/index.js.map +1 -0
- package/package.json +31 -0
package/README.md
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# @nest-yalc-2/event-manager
|
|
2
|
+
|
|
3
|
+
Structured event, logging, and HTTP-aware error helpers for NestJS
|
|
4
|
+
applications.
|
|
5
|
+
|
|
6
|
+
`YalcEventService` is the usual application entry point. It wraps lower-level
|
|
7
|
+
event helpers so one call can log, emit through `EventEmitter2`, and create
|
|
8
|
+
typed errors from `@nest-yalc-2/errors`.
|
|
9
|
+
|
|
10
|
+
## Installation
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npm install @nest-yalc-2/event-manager
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Main Exports
|
|
17
|
+
|
|
18
|
+
- `YalcEventService` for logs, domain events, and error helpers.
|
|
19
|
+
- `EventModule` for Nest provider wiring.
|
|
20
|
+
- `event`, `eventAsync`, and level-specific event helpers.
|
|
21
|
+
- `simpleDotFormatter`, global emitter helpers, and Result helper types.
|
|
22
|
+
|
|
23
|
+
## Example
|
|
24
|
+
|
|
25
|
+
```ts
|
|
26
|
+
import { EventModule, YalcEventService } from '@nest-yalc-2/event-manager';
|
|
27
|
+
|
|
28
|
+
@Module({
|
|
29
|
+
imports: [EventModule.forRootAsync({})],
|
|
30
|
+
})
|
|
31
|
+
export class AppModule {}
|
|
32
|
+
|
|
33
|
+
@Injectable()
|
|
34
|
+
export class UsersService {
|
|
35
|
+
constructor(private readonly events: YalcEventService) {}
|
|
36
|
+
|
|
37
|
+
async loaded(userId: string) {
|
|
38
|
+
await this.events.logAsync(['user', 'loaded'], {
|
|
39
|
+
data: { userId },
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Documentation
|
|
46
|
+
|
|
47
|
+
- EventManager module:
|
|
48
|
+
https://github.com/Nek97/nestjs-yalc/blob/dev/docs/event-manager-module.md
|
|
49
|
+
- YalcEventService:
|
|
50
|
+
https://github.com/Nek97/nestjs-yalc/blob/dev/docs/event-manager-service.md
|
|
51
|
+
- Event helper:
|
|
52
|
+
https://github.com/Nek97/nestjs-yalc/blob/dev/docs/event-manager-event.md
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { EventEmitter2 } from 'eventemitter2';
|
|
2
|
+
export type EventNameFormatter = (...args: any[]) => string;
|
|
3
|
+
export interface IEventEmitterOptions<TFormatter extends EventNameFormatter> {
|
|
4
|
+
formatter?: TFormatter;
|
|
5
|
+
mask?: string[];
|
|
6
|
+
await?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function formatName<TFormatter extends EventNameFormatter>(name: Parameters<TFormatter> | string, formatter?: TFormatter): string;
|
|
9
|
+
export declare function emitEvent<TFormatter extends EventNameFormatter>(eventEmitter: EventEmitter2, name: Parameters<TFormatter> | string, payload: any, options?: IEventEmitterOptions<TFormatter>): Promise<boolean | any[]>;
|
|
10
|
+
export declare function emitFormattedEvent(eventEmitter: EventEmitter2, name: string, payload: any, options?: IEventEmitterOptions<SimpleFormatter>): Promise<boolean | any[]>;
|
|
11
|
+
export type VersionedDomainActionFormatter = (version: string, context: string, action: string, when?: string) => string;
|
|
12
|
+
export declare const versionedDomainActionFormatter: VersionedDomainActionFormatter;
|
|
13
|
+
export type SimpleDotFormatter = (...args: string[]) => string;
|
|
14
|
+
export declare const simpleDotFormatter: SimpleDotFormatter;
|
|
15
|
+
export type SimpleFormatter = (action: string) => string;
|
|
16
|
+
export declare const simpleFormatter: SimpleFormatter;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { maskDataInObject } from '@node-yalc/logger/logger.helper.js';
|
|
2
|
+
import { globalPromiseTracker } from '@node-yalc/utils/promise.helper.js';
|
|
3
|
+
export function formatName(name, formatter) {
|
|
4
|
+
return formatter?.(...name) ?? (Array.isArray(name) ? name.join() : name);
|
|
5
|
+
}
|
|
6
|
+
export async function emitEvent(eventEmitter, name, payload, options) {
|
|
7
|
+
const data = options?.mask
|
|
8
|
+
? maskDataInObject(payload, options.mask)
|
|
9
|
+
: payload;
|
|
10
|
+
const _name = formatName(name, options?.formatter);
|
|
11
|
+
if (!options?.await) {
|
|
12
|
+
return eventEmitter.emit(_name, data);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
const promise = eventEmitter.emitAsync(_name, data);
|
|
16
|
+
globalPromiseTracker.add(promise);
|
|
17
|
+
return promise;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export function emitFormattedEvent(eventEmitter, name, payload, options) {
|
|
21
|
+
return emitEvent(eventEmitter, [name], payload, {
|
|
22
|
+
...options,
|
|
23
|
+
formatter: simpleFormatter,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
export const versionedDomainActionFormatter = (version, context, action, when) => {
|
|
27
|
+
return `${version}.${context}.${action}.${when ?? 'onProcess'}`;
|
|
28
|
+
};
|
|
29
|
+
export const simpleDotFormatter = (...args) => {
|
|
30
|
+
return args.join('.');
|
|
31
|
+
};
|
|
32
|
+
export const simpleFormatter = (action) => {
|
|
33
|
+
return `on${action}`;
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=emitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../../event-manager/src/emitter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAS1E,MAAM,UAAU,UAAU,CACxB,IAAqC,EACrC,SAAsB;IAEtB,OAAO,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,YAA2B,EAC3B,IAAqC,EACrC,OAAY,EACZ,OAA0C;IAE1C,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI;QACxB,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC;QACzC,CAAC,CAAC,OAAO,CAAC;IAEZ,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAEnD,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QACpB,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAEpD,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAElC,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,YAA2B,EAC3B,IAAY,EACZ,OAAY,EACZ,OAA+C;IAE/C,OAAO,SAAS,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE;QAC9C,GAAG,OAAO;QACV,SAAS,EAAE,eAAe;KAC3B,CAAC,CAAC;AACL,CAAC;AASD,MAAM,CAAC,MAAM,8BAA8B,GAAmC,CAC5E,OAAe,EACf,OAAe,EACf,MAAc,EACd,IAAa,EACb,EAAE;IACF,OAAO,GAAG,OAAO,IAAI,OAAO,IAAI,MAAM,IAAI,IAAI,IAAI,WAAW,EAAE,CAAC;AAClE,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,kBAAkB,GAAuB,CAAC,GAAG,IAAc,EAAE,EAAE;IAC1E,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,eAAe,GAAoB,CAAC,MAAc,EAAE,EAAE;IACjE,OAAO,KAAK,MAAM,EAAE,CAAC;AACvB,CAAC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export type EventType = 'EventType';
|
|
2
|
+
export declare const EventType: "EventType";
|
|
3
|
+
export interface IUtilsProperties {
|
|
4
|
+
base: string;
|
|
5
|
+
all: string;
|
|
6
|
+
}
|
|
7
|
+
type ActionValues = {
|
|
8
|
+
[key: string]: 'EventType' | Record<string, 'EventType'>;
|
|
9
|
+
};
|
|
10
|
+
export type Events<Actions extends ActionValues | unknown> = {
|
|
11
|
+
[K in keyof Actions]: {
|
|
12
|
+
[L in keyof Actions[K]]: Actions[K][L] extends 'EventType' ? string : never;
|
|
13
|
+
} & IUtilsProperties;
|
|
14
|
+
} & IUtilsProperties;
|
|
15
|
+
export declare abstract class EventNameBuilder {
|
|
16
|
+
static version: IUtilsProperties;
|
|
17
|
+
static $: Events<unknown>;
|
|
18
|
+
static events<Actions extends ActionValues>(domain: string, actions: Actions): Events<Actions>;
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export const EventType = 'EventType';
|
|
2
|
+
export class EventNameBuilder {
|
|
3
|
+
static events(domain, actions) {
|
|
4
|
+
const baseEvent = `${this.version?.base ? this.version?.base + '.' : ''}${domain}`;
|
|
5
|
+
const actionsWithBaseEvent = {};
|
|
6
|
+
for (const [actionKey, actionValue] of Object.entries(actions)) {
|
|
7
|
+
actionsWithBaseEvent[actionKey] = {
|
|
8
|
+
base: `${baseEvent}.${actionKey}`,
|
|
9
|
+
all: `${baseEvent}.${actionKey}.**`,
|
|
10
|
+
};
|
|
11
|
+
for (const [eventKey, eventValue] of Object.entries(actionValue)) {
|
|
12
|
+
if (eventValue === EventType) {
|
|
13
|
+
actionsWithBaseEvent[actionKey][eventKey] =
|
|
14
|
+
`${baseEvent}.${actionKey}.${eventKey}`;
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
actionsWithBaseEvent[actionKey][eventKey] = eventValue;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
actionsWithBaseEvent.base = baseEvent;
|
|
22
|
+
actionsWithBaseEvent.all = `${baseEvent}.**`;
|
|
23
|
+
return actionsWithBaseEvent;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=event-name-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-name-builder.js","sourceRoot":"","sources":["../../../event-manager/src/event-name-builder.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,SAAS,GAAG,WAAoB,CAAC;AAiB9C,MAAM,OAAgB,gBAAgB;IAIpC,MAAM,CAAC,MAAM,CACX,MAAc,EACd,OAAgB;QAEhB,MAAM,SAAS,GAAG,GAChB,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,EAClD,GAAG,MAAM,EAAE,CAAC;QAEZ,MAAM,oBAAoB,GAAwB,EAAE,CAAC;QACrD,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/D,oBAAoB,CAAC,SAAS,CAAC,GAAG;gBAChC,IAAI,EAAE,GAAG,SAAS,IAAI,SAAS,EAAE;gBACjC,GAAG,EAAE,GAAG,SAAS,IAAI,SAAS,KAAK;aACpC,CAAC;YACF,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CACjD,WAAqB,CACtB,EAAE,CAAC;gBACF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,oBAAoB,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;wBACvC,GAAG,SAAS,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;gBAC5C,CAAC;qBAAM,CAAC;oBACN,oBAAoB,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC;gBACzD,CAAC;YACH,CAAC;QACH,CAAC;QAED,oBAAoB,CAAC,IAAI,GAAG,SAAS,CAAC;QACtC,oBAAoB,CAAC,GAAG,GAAG,GAAG,SAAS,KAAK,CAAC;QAE7C,OAAO,oBAAuC,CAAC;IACjD,CAAC;CACF"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { DefaultError } from '@node-yalc/errors/default.error.js';
|
|
2
|
+
import { Err, Ok } from 'neverthrow';
|
|
3
|
+
export type Result<T, E extends DefaultError = DefaultError> = Ok<T, E> | Err<any, E>;
|
|
4
|
+
export type PromiseResult<T, E extends DefaultError = DefaultError> = Promise<Result<T, E>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-result.types.js","sourceRoot":"","sources":["../../../event-manager/src/event-result.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { LogLevel } from '@node-yalc/logger/logger.enum.js';
|
|
2
|
+
import { type ImprovedLoggerService } from '@node-yalc/logger/logger-abstract.service.js';
|
|
3
|
+
import { EventEmitter2 } from 'eventemitter2';
|
|
4
|
+
import { DefaultError, IErrorPayload } from '@node-yalc/errors/default.error.js';
|
|
5
|
+
import { EventNameFormatter } from './emitter.js';
|
|
6
|
+
import { ClassType, InstanceType } from '@node-yalc/types/globals.js';
|
|
7
|
+
interface IEventEmitterOptions<TFormatter extends EventNameFormatter = EventNameFormatter> {
|
|
8
|
+
emitter?: EventEmitter2;
|
|
9
|
+
formatter?: TFormatter;
|
|
10
|
+
await?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface IEventAliasOptions {
|
|
13
|
+
eventName: string;
|
|
14
|
+
await: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface IDataInfo {
|
|
17
|
+
[key: string]: any;
|
|
18
|
+
eventName: string;
|
|
19
|
+
}
|
|
20
|
+
export interface IEventPayload {
|
|
21
|
+
message?: string;
|
|
22
|
+
data?: IDataInfo;
|
|
23
|
+
eventName: string;
|
|
24
|
+
config?: any;
|
|
25
|
+
level?: LogLevel;
|
|
26
|
+
errorInfo?: IErrorPayload | null;
|
|
27
|
+
}
|
|
28
|
+
export interface IEventOptions<TFormatter extends EventNameFormatter = EventNameFormatter> {
|
|
29
|
+
data?: any;
|
|
30
|
+
config?: any;
|
|
31
|
+
mask?: string[];
|
|
32
|
+
event?: IEventEmitterOptions<TFormatter> | false;
|
|
33
|
+
message?: string;
|
|
34
|
+
stack?: string;
|
|
35
|
+
logger?: {
|
|
36
|
+
instance?: ImprovedLoggerService;
|
|
37
|
+
level?: LogLevel;
|
|
38
|
+
} | LogLevel | false;
|
|
39
|
+
eventAliases?: (string | IEventAliasOptions)[];
|
|
40
|
+
}
|
|
41
|
+
export interface IErrorEventOptions<TFormatter extends EventNameFormatter = EventNameFormatter, TErrorClass extends DefaultError = DefaultError> extends IEventOptions<TFormatter>, Omit<IErrorPayload, 'internalMessage' | 'data' | 'cause'> {
|
|
42
|
+
errorClass?: ClassType<TErrorClass> | TErrorClass | boolean;
|
|
43
|
+
cause?: Error;
|
|
44
|
+
}
|
|
45
|
+
export interface IErrorEventOptionsRequired<TFormatter extends EventNameFormatter = EventNameFormatter, TErrorClass extends DefaultError = DefaultError> extends Omit<IErrorEventOptions<TFormatter, TErrorClass>, 'errorClass'>, Required<Pick<IErrorEventOptions<TFormatter, TErrorClass>, 'errorClass'>> {
|
|
46
|
+
}
|
|
47
|
+
export declare function applyAwaitOption<TFormatter extends EventNameFormatter = EventNameFormatter, TOpts extends IErrorEventOptions<TFormatter> | IEventOptions<TFormatter> = IEventOptions<TFormatter>>(options?: TOpts): TOpts;
|
|
48
|
+
type ReturnType<T> = T extends {
|
|
49
|
+
errorClass: false;
|
|
50
|
+
} ? boolean | any[] | undefined : Error | DefaultError;
|
|
51
|
+
type PickError<TFormatter extends EventNameFormatter = EventNameFormatter, TOpt extends IErrorEventOptions<TFormatter> = IErrorEventOptions<TFormatter>> = NonNullable<TOpt extends {
|
|
52
|
+
errorClass: infer T;
|
|
53
|
+
} ? T extends boolean ? DefaultError : InstanceType<any> : never>;
|
|
54
|
+
type eventErrorReturnType<TFormatter extends EventNameFormatter = EventNameFormatter, TOpt extends IErrorEventOptions<TFormatter> = IErrorEventOptions<TFormatter>> = TOpt extends {
|
|
55
|
+
errorClass: false;
|
|
56
|
+
} ? TOpt extends {
|
|
57
|
+
await: true;
|
|
58
|
+
} ? Promise<boolean | any[] | undefined> : boolean | any[] | undefined : TOpt extends {
|
|
59
|
+
await: true;
|
|
60
|
+
} ? Promise<PickError<TFormatter, TOpt>> : PickError<TFormatter, TOpt>;
|
|
61
|
+
type eventErrorReturnTypeAsync<TFormatter extends EventNameFormatter = EventNameFormatter, TOpt extends IErrorEventOptions<TFormatter> = IErrorEventOptions<TFormatter>> = Promise<TOpt extends {
|
|
62
|
+
errorClass: false;
|
|
63
|
+
} ? boolean | any | undefined : PickError<TFormatter, TOpt>>;
|
|
64
|
+
export declare function isErrorOptions(options?: IEventOptions | IErrorEventOptions): options is IErrorEventOptions;
|
|
65
|
+
export declare function event<TFormatter extends EventNameFormatter = EventNameFormatter, TOption extends IEventOptions<TFormatter> | IErrorEventOptions<TFormatter> = IEventOptions<TFormatter>>(eventName: Parameters<TFormatter> | string, options?: TOption): Promise<ReturnType<TOption>> | ReturnType<TOption>;
|
|
66
|
+
export declare function getLoggerOption(level: LogLevel, options?: IEventOptions): false | {
|
|
67
|
+
instance?: ImprovedLoggerService;
|
|
68
|
+
level: LogLevel;
|
|
69
|
+
};
|
|
70
|
+
export declare function resolveLoggerOption(logger: IEventOptions['logger']): false | {
|
|
71
|
+
instance?: ImprovedLoggerService;
|
|
72
|
+
level?: LogLevel;
|
|
73
|
+
} | undefined;
|
|
74
|
+
export declare function eventLogAsync<TFormatter extends EventNameFormatter = EventNameFormatter>(eventName: Parameters<TFormatter> | string, options?: IEventOptions<TFormatter>): Promise<any>;
|
|
75
|
+
export declare function eventLog<TFormatter extends EventNameFormatter = EventNameFormatter>(eventName: Parameters<TFormatter> | string, options?: IEventOptions<TFormatter>): any;
|
|
76
|
+
export declare function eventErrorAsync<TFormatter extends EventNameFormatter = EventNameFormatter, TOption extends IErrorEventOptions<TFormatter> = IEventOptions<TFormatter>>(eventName: Parameters<TFormatter> | string, options?: TOption): eventErrorReturnTypeAsync<TFormatter, TOption>;
|
|
77
|
+
export declare function eventError<TFormatter extends EventNameFormatter = EventNameFormatter, TOption extends IErrorEventOptions<TFormatter> = IErrorEventOptions<TFormatter>>(eventName: Parameters<TFormatter> | string, options?: TOption): eventErrorReturnType<TFormatter, TOption>;
|
|
78
|
+
export declare function eventWarnAsync<TFormatter extends EventNameFormatter = EventNameFormatter>(eventName: Parameters<TFormatter> | string, options?: IEventOptions<TFormatter>): Promise<any>;
|
|
79
|
+
export declare function eventWarn<TFormatter extends EventNameFormatter = EventNameFormatter>(eventName: Parameters<TFormatter> | string, options?: IEventOptions<TFormatter>): any;
|
|
80
|
+
export declare function eventDebugAsync<TFormatter extends EventNameFormatter = EventNameFormatter>(eventName: Parameters<TFormatter> | string, options?: IEventOptions<TFormatter>): Promise<any>;
|
|
81
|
+
export declare function eventDebug<TFormatter extends EventNameFormatter = EventNameFormatter>(eventName: Parameters<TFormatter> | string, options?: IEventOptions<TFormatter>): any;
|
|
82
|
+
export declare function eventVerboseAsync<TFormatter extends EventNameFormatter = EventNameFormatter>(eventName: Parameters<TFormatter> | string, options?: IEventOptions<TFormatter>): Promise<any>;
|
|
83
|
+
export declare function eventVerbose<TFormatter extends EventNameFormatter = EventNameFormatter>(eventName: Parameters<TFormatter> | string, options?: IEventOptions<TFormatter>): any;
|
|
84
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { LogLevelEnum } from '@node-yalc/logger/logger.enum.js';
|
|
2
|
+
import { IErrorEventOptions } from './event.js';
|
|
3
|
+
export declare function getLogLevelByStatus(statusCode: number): "log" | "error" | "warn";
|
|
4
|
+
export declare function getLogLevelByError(error: any): "log" | "error" | "warn" | LogLevelEnum.LOG | LogLevelEnum.ERROR;
|
|
5
|
+
export declare function isErrorEvent(options: IErrorEventOptions): boolean;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { LogLevelEnum } from '@node-yalc/logger/logger.enum.js';
|
|
2
|
+
import { isClass } from '@node-yalc/utils/class.helper.js';
|
|
3
|
+
import { HttpStatus } from '@node-yalc/errors/http-status.enum.js';
|
|
4
|
+
import { getStatusCodeFromError } from '@node-yalc/errors/error.helper.js';
|
|
5
|
+
export function getLogLevelByStatus(statusCode) {
|
|
6
|
+
let loggerLevel;
|
|
7
|
+
switch (true) {
|
|
8
|
+
case statusCode >= HttpStatus.INTERNAL_SERVER_ERROR:
|
|
9
|
+
loggerLevel = LogLevelEnum.ERROR;
|
|
10
|
+
break;
|
|
11
|
+
case statusCode === HttpStatus.TOO_MANY_REQUESTS:
|
|
12
|
+
loggerLevel = LogLevelEnum.WARN;
|
|
13
|
+
break;
|
|
14
|
+
case statusCode >= HttpStatus.BAD_REQUEST:
|
|
15
|
+
default:
|
|
16
|
+
loggerLevel = LogLevelEnum.LOG;
|
|
17
|
+
break;
|
|
18
|
+
}
|
|
19
|
+
return loggerLevel;
|
|
20
|
+
}
|
|
21
|
+
export function getLogLevelByError(error) {
|
|
22
|
+
const statusCode = getStatusCodeFromError(error);
|
|
23
|
+
if (statusCode) {
|
|
24
|
+
return getLogLevelByStatus(statusCode);
|
|
25
|
+
}
|
|
26
|
+
let _error;
|
|
27
|
+
if (isClass(error)) {
|
|
28
|
+
_error = new error();
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
_error = error;
|
|
32
|
+
}
|
|
33
|
+
const httpException = _error;
|
|
34
|
+
if (httpException.getStatus)
|
|
35
|
+
return getLogLevelByStatus(httpException.getStatus());
|
|
36
|
+
return _error.stack ? LogLevelEnum.ERROR : LogLevelEnum.LOG;
|
|
37
|
+
}
|
|
38
|
+
export function isErrorEvent(options) {
|
|
39
|
+
if (typeof options.logger === 'object' &&
|
|
40
|
+
options.logger.level === LogLevelEnum.ERROR) {
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
if (!options.errorClass) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
if (options.errorClass === true) {
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
const logLevel = getLogLevelByError(options.errorClass);
|
|
50
|
+
return logLevel === LogLevelEnum.ERROR;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=event.helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event.helper.js","sourceRoot":"","sources":["../../../event-manager/src/event.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAGnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,MAAM,UAAU,mBAAmB,CAAC,UAAkB;IACpD,IAAI,WAAqB,CAAC;IAC1B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,UAAU,IAAI,UAAU,CAAC,qBAAqB;YACjD,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC;YACjC,MAAM;QACR,KAAK,UAAU,KAAK,UAAU,CAAC,iBAAiB;YAC9C,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC;YAChC,MAAM;QACR,KAAK,UAAU,IAAI,UAAU,CAAC,WAAW,CAAC;QAC1C;YACE,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC;YAC/B,MAAM;IACV,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAU;IAC3C,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAMD,IAAI,MAAa,CAAC;IAClB,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,GAAG,IAAI,KAAK,EAAS,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,aAAa,GAAG,MAAuB,CAAC;IAC9C,IAAI,aAAa,CAAC,SAAS;QACzB,OAAO,mBAAmB,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC;IAExD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC;AAC9D,CAAC;AAKD,MAAM,UAAU,YAAY,CAAC,OAA2B;IACtD,IACE,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ;QAClC,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,YAAY,CAAC,KAAK,EAC3C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACxD,OAAO,QAAQ,KAAK,YAAY,CAAC,KAAK,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import { LogLevelEnum } from '@node-yalc/logger/logger.enum.js';
|
|
2
|
+
import { maskDataInObject } from '@node-yalc/logger/logger.helper.js';
|
|
3
|
+
import { DefaultError, isDefaultErrorMixin, } from '@node-yalc/errors/default.error.js';
|
|
4
|
+
import { emitEvent, formatName } from './emitter.js';
|
|
5
|
+
import { getYalcGlobalEventEmitter } from './global-emitter.js';
|
|
6
|
+
import { AppLoggerFactory } from '@node-yalc/logger/logger.factory.js';
|
|
7
|
+
import { isClass } from '@node-yalc/utils/class.helper.js';
|
|
8
|
+
import { deepMergeWithoutArrayConcat } from '@node-yalc/utils/object.helper.js';
|
|
9
|
+
import * as _ from 'lodash-es';
|
|
10
|
+
import { globalPromiseTracker } from '@node-yalc/utils/promise.helper.js';
|
|
11
|
+
export function applyAwaitOption(options) {
|
|
12
|
+
let event = options?.event;
|
|
13
|
+
if (event !== false && event !== undefined) {
|
|
14
|
+
event = { ...event, await: event.await ?? true };
|
|
15
|
+
}
|
|
16
|
+
return { ...options, event };
|
|
17
|
+
}
|
|
18
|
+
export function isErrorOptions(options) {
|
|
19
|
+
return options?.errorClass !== undefined;
|
|
20
|
+
}
|
|
21
|
+
export function event(eventName, options) {
|
|
22
|
+
const { data: _data, event, logger, mask, stack, config } = options ?? {};
|
|
23
|
+
let receivedData = _data;
|
|
24
|
+
const formattedEventName = formatName(eventName, options?.event ? options?.event?.formatter : undefined);
|
|
25
|
+
if (typeof receivedData === 'string') {
|
|
26
|
+
receivedData = { message: receivedData };
|
|
27
|
+
}
|
|
28
|
+
if (mask)
|
|
29
|
+
receivedData = maskDataInObject(receivedData, mask);
|
|
30
|
+
const data = { ...receivedData, eventName: formattedEventName };
|
|
31
|
+
const optionalMessage = options?.logger ? options.message : undefined;
|
|
32
|
+
let errorInstance;
|
|
33
|
+
let errorPayload = null;
|
|
34
|
+
if (isErrorOptions(options)) {
|
|
35
|
+
const { errorClass: _class, logger, ...rest } = options;
|
|
36
|
+
if (_class !== false && _class !== undefined) {
|
|
37
|
+
if (isClass(_class) || _class === true) {
|
|
38
|
+
let _errorClass;
|
|
39
|
+
const errorOptions = rest;
|
|
40
|
+
if (_class === true) {
|
|
41
|
+
_errorClass = DefaultError;
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
_errorClass = _class;
|
|
45
|
+
}
|
|
46
|
+
const message = optionalMessage ?? formattedEventName;
|
|
47
|
+
errorInstance = new _errorClass(message, {
|
|
48
|
+
eventName: formattedEventName,
|
|
49
|
+
...errorOptions,
|
|
50
|
+
eventEmitter: false,
|
|
51
|
+
logger: false,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
errorInstance = _class;
|
|
56
|
+
}
|
|
57
|
+
if (isDefaultErrorMixin(errorInstance)) {
|
|
58
|
+
errorInstance.mergeErrorInfo({
|
|
59
|
+
...rest,
|
|
60
|
+
config,
|
|
61
|
+
data: receivedData,
|
|
62
|
+
});
|
|
63
|
+
errorPayload = errorInstance.getEventPayload();
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
errorPayload = {
|
|
67
|
+
...rest,
|
|
68
|
+
...errorInstance,
|
|
69
|
+
data: deepMergeWithoutArrayConcat(errorInstance.data ?? {}, receivedData),
|
|
70
|
+
response: deepMergeWithoutArrayConcat(errorInstance.response ?? {}, options.response ?? {}),
|
|
71
|
+
config,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
let logLevel = undefined;
|
|
77
|
+
if (logger !== false) {
|
|
78
|
+
const { instance: _instance, level: _level, ...rest } = logger && typeof logger !== 'string'
|
|
79
|
+
? logger
|
|
80
|
+
: { level: logger, instance: undefined };
|
|
81
|
+
const loggerConfig = {
|
|
82
|
+
instance: (_instance ??
|
|
83
|
+
AppLoggerFactory('Event')),
|
|
84
|
+
level: (_level ?? 'log'),
|
|
85
|
+
...rest,
|
|
86
|
+
};
|
|
87
|
+
const { level, instance } = loggerConfig;
|
|
88
|
+
logLevel = level;
|
|
89
|
+
const message = optionalMessage ?? formattedEventName;
|
|
90
|
+
const logData = errorPayload ? errorPayload : { data };
|
|
91
|
+
if (level === 'error') {
|
|
92
|
+
instance.error(message, stack ?? errorPayload?.stack, {
|
|
93
|
+
data: logData,
|
|
94
|
+
event: false,
|
|
95
|
+
config,
|
|
96
|
+
stack: stack ?? errorPayload?.stack,
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
instance[level]?.(message, {
|
|
101
|
+
data: logData,
|
|
102
|
+
event: false,
|
|
103
|
+
config,
|
|
104
|
+
stack: stack ?? errorPayload?.stack,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
let result;
|
|
109
|
+
const toAwait = [];
|
|
110
|
+
if (event !== false) {
|
|
111
|
+
const eventEmitter = event?.emitter ?? getYalcGlobalEventEmitter();
|
|
112
|
+
const formatter = event?.formatter;
|
|
113
|
+
const eventPayload = {
|
|
114
|
+
message: optionalMessage,
|
|
115
|
+
data,
|
|
116
|
+
eventName: formattedEventName,
|
|
117
|
+
config,
|
|
118
|
+
level: logLevel,
|
|
119
|
+
errorInfo: !_.isEmpty(errorPayload) ? errorPayload : undefined,
|
|
120
|
+
};
|
|
121
|
+
result = emitEvent(eventEmitter, eventName, eventPayload, {
|
|
122
|
+
formatter,
|
|
123
|
+
await: event?.await,
|
|
124
|
+
});
|
|
125
|
+
if (options?.eventAliases) {
|
|
126
|
+
toAwait.push(...options.eventAliases.map((alias) => {
|
|
127
|
+
let eventName;
|
|
128
|
+
let _await;
|
|
129
|
+
if (typeof alias === 'string') {
|
|
130
|
+
eventName = alias;
|
|
131
|
+
_await = event?.await;
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
eventName = alias.eventName;
|
|
135
|
+
_await = alias?.await;
|
|
136
|
+
}
|
|
137
|
+
const emittedEvent = emitEvent(eventEmitter, eventName, eventPayload, {
|
|
138
|
+
formatter,
|
|
139
|
+
await: _await,
|
|
140
|
+
});
|
|
141
|
+
return emittedEvent;
|
|
142
|
+
}));
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
const promise = (async () => {
|
|
146
|
+
await Promise.all(toAwait);
|
|
147
|
+
return result;
|
|
148
|
+
})();
|
|
149
|
+
globalPromiseTracker.add(promise);
|
|
150
|
+
const returnedError = errorInstance;
|
|
151
|
+
return returnedError ?? promise;
|
|
152
|
+
}
|
|
153
|
+
export function getLoggerOption(level, options) {
|
|
154
|
+
if (options?.logger === false)
|
|
155
|
+
return false;
|
|
156
|
+
if (typeof options?.logger === 'string') {
|
|
157
|
+
return { level: options.logger };
|
|
158
|
+
}
|
|
159
|
+
return { level, ...options?.logger };
|
|
160
|
+
}
|
|
161
|
+
export function resolveLoggerOption(logger) {
|
|
162
|
+
if (logger === false)
|
|
163
|
+
return false;
|
|
164
|
+
if (typeof logger === 'string') {
|
|
165
|
+
return { level: logger };
|
|
166
|
+
}
|
|
167
|
+
return logger;
|
|
168
|
+
}
|
|
169
|
+
export async function eventLogAsync(eventName, options) {
|
|
170
|
+
const _options = applyAwaitOption(options);
|
|
171
|
+
return event(eventName, {
|
|
172
|
+
..._options,
|
|
173
|
+
logger: getLoggerOption(LogLevelEnum.LOG, _options),
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
export function eventLog(eventName, options) {
|
|
177
|
+
return event(eventName, {
|
|
178
|
+
...options,
|
|
179
|
+
logger: getLoggerOption(LogLevelEnum.LOG, options),
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
export async function eventErrorAsync(eventName, options) {
|
|
183
|
+
const _options = applyAwaitOption(options);
|
|
184
|
+
return eventError(eventName, _options);
|
|
185
|
+
}
|
|
186
|
+
export function eventError(eventName, options) {
|
|
187
|
+
const _options = {
|
|
188
|
+
...(options ?? {}),
|
|
189
|
+
logger: getLoggerOption(LogLevelEnum.ERROR, options),
|
|
190
|
+
errorClass: options?.errorClass ?? true,
|
|
191
|
+
};
|
|
192
|
+
return event(eventName, _options);
|
|
193
|
+
}
|
|
194
|
+
export async function eventWarnAsync(eventName, options) {
|
|
195
|
+
const _options = applyAwaitOption(options);
|
|
196
|
+
return event(eventName, {
|
|
197
|
+
..._options,
|
|
198
|
+
logger: getLoggerOption(LogLevelEnum.WARN, _options),
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
export function eventWarn(eventName, options) {
|
|
202
|
+
return event(eventName, {
|
|
203
|
+
...options,
|
|
204
|
+
logger: getLoggerOption(LogLevelEnum.WARN, options),
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
export async function eventDebugAsync(eventName, options) {
|
|
208
|
+
const _options = applyAwaitOption(options);
|
|
209
|
+
return event(eventName, {
|
|
210
|
+
..._options,
|
|
211
|
+
logger: getLoggerOption(LogLevelEnum.DEBUG, _options),
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
export function eventDebug(eventName, options) {
|
|
215
|
+
return event(eventName, {
|
|
216
|
+
...options,
|
|
217
|
+
logger: getLoggerOption(LogLevelEnum.DEBUG, options),
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
export async function eventVerboseAsync(eventName, options) {
|
|
221
|
+
const _options = applyAwaitOption(options);
|
|
222
|
+
return event(eventName, {
|
|
223
|
+
..._options,
|
|
224
|
+
logger: getLoggerOption(LogLevelEnum.VERBOSE, _options),
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
export function eventVerbose(eventName, options) {
|
|
228
|
+
return event(eventName, {
|
|
229
|
+
...options,
|
|
230
|
+
logger: getLoggerOption(LogLevelEnum.VERBOSE, options),
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
//# sourceMappingURL=event.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../../event-manager/src/event.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
type LogLevel = 'log' | 'error' | 'warn' | 'debug' | 'verbose';
|
|
2
|
+
import { type IEventOptions, type IErrorEventOptions, type IErrorEventOptionsRequired } from './event.js';
|
|
3
|
+
import { type ImprovedLoggerService } from '@node-yalc/logger/logger-abstract.service.js';
|
|
4
|
+
import { EventEmitter2 } from 'eventemitter2';
|
|
5
|
+
import { EventNameFormatter } from './emitter.js';
|
|
6
|
+
import { DefaultError } from '@node-yalc/errors/default.error.js';
|
|
7
|
+
import { BadGatewayError, BadRequestError, ConflictError, ForbiddenError, GatewayTimeoutError, GoneError, InternalServerError, MethodNotAllowedError, NotAcceptableError, NotFoundError, NotImplementedError, PaymentRequiredError, ServiceUnavailableError, TooManyRequestsError, UnauthorizedError, UnprocessableEntityError, UnsupportedMediaTypeError } from '@node-yalc/errors/error.class.js';
|
|
8
|
+
import type { ClassType } from '@node-yalc/types/globals.js';
|
|
9
|
+
import { Err } from 'neverthrow';
|
|
10
|
+
import { type PromiseResult } from './event-result.types.js';
|
|
11
|
+
export interface IEventServiceOptions<TFormatter extends EventNameFormatter = EventNameFormatter> {
|
|
12
|
+
formatter?: TFormatter;
|
|
13
|
+
}
|
|
14
|
+
export type IErrorBasedMethodOptions<TErrorOptions> = Omit<TErrorOptions, 'errorClass'>;
|
|
15
|
+
export declare function injectTrace<T extends IEventOptions>(options?: T): T | undefined;
|
|
16
|
+
export declare class YalcEventService<TFormatter extends EventNameFormatter = EventNameFormatter, TEventOptions extends IEventOptions<TFormatter> = IEventOptions<TFormatter>, TErrorOptions extends IErrorEventOptions<TFormatter> = IErrorEventOptions<TFormatter>> {
|
|
17
|
+
protected readonly loggerService: ImprovedLoggerService;
|
|
18
|
+
protected readonly eventEmitter: EventEmitter2;
|
|
19
|
+
protected options?: any | undefined;
|
|
20
|
+
constructor(loggerService: ImprovedLoggerService, eventEmitter: EventEmitter2, options?: any | undefined);
|
|
21
|
+
get logger(): ImprovedLoggerService;
|
|
22
|
+
get emitter(): EventEmitter2;
|
|
23
|
+
emit: (eventName: Parameters<TFormatter> | string, options?: TEventOptions) => any;
|
|
24
|
+
emitAsync: (eventName: Parameters<TFormatter> | string, options?: TEventOptions) => Promise<any>;
|
|
25
|
+
protected _error<TOpts extends IErrorEventOptions<TFormatter>>(eventName: Parameters<TFormatter> | string, options?: TOpts): any;
|
|
26
|
+
logAsync(eventName: Parameters<TFormatter> | string, options?: TEventOptions): Promise<any>;
|
|
27
|
+
protected _errorAsync<TOpts extends IErrorEventOptions<TFormatter>>(eventName: Parameters<TFormatter> | string, options?: TOpts): Promise<any>;
|
|
28
|
+
error(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): any;
|
|
29
|
+
errorResult(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): Err<never, DefaultError>;
|
|
30
|
+
errorFromFn<T>(eventName: Parameters<TFormatter> | string, cb: () => PromiseLike<T> | T, options?: IErrorBasedMethodOptions<TErrorOptions>): PromiseResult<T>;
|
|
31
|
+
errorAsync(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): Promise<any>;
|
|
32
|
+
warnAsync(eventName: Parameters<TFormatter> | string, options?: TEventOptions): Promise<any>;
|
|
33
|
+
debugAsync(eventName: Parameters<TFormatter> | string, options?: TEventOptions): Promise<any>;
|
|
34
|
+
verboseAsync(eventName: Parameters<TFormatter> | string, options?: TEventOptions): Promise<any>;
|
|
35
|
+
log(eventName: Parameters<TFormatter> | string, options?: TEventOptions): any;
|
|
36
|
+
warn(eventName: Parameters<TFormatter> | string, options?: TEventOptions): any;
|
|
37
|
+
debug(eventName: Parameters<TFormatter> | string, options?: TEventOptions): any;
|
|
38
|
+
verbose(eventName: Parameters<TFormatter> | string, options?: TEventOptions): any;
|
|
39
|
+
errorHttp(eventName: Parameters<TFormatter> | string, errorCode: number, options?: TErrorOptions): any;
|
|
40
|
+
errorHttpResult(eventName: Parameters<TFormatter> | string, errorCode: number, options?: TErrorOptions): Err<never, DefaultError>;
|
|
41
|
+
errorForward<TError extends DefaultError>(eventName: Parameters<TFormatter> | string, error: Error | TError, options?: IErrorBasedMethodOptions<TErrorOptions>): TError;
|
|
42
|
+
errorForwardResult<TError extends DefaultError>(eventName: Parameters<TFormatter> | string, error: Error | TError, options?: IErrorBasedMethodOptions<TErrorOptions>): Err<never, TError>;
|
|
43
|
+
errorForwardFromFn<T, E extends DefaultError = DefaultError>(eventName: Parameters<TFormatter> | string, cb: () => PromiseLike<T> | T, options?: IErrorBasedMethodOptions<TErrorOptions>): PromiseResult<T, E>;
|
|
44
|
+
errorBadRequest(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): BadRequestError;
|
|
45
|
+
errorBadRequestResult(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): Err<never, BadRequestError>;
|
|
46
|
+
errorBadRequestFromFn<T>(eventName: Parameters<TFormatter> | string, cb: () => PromiseLike<T> | T, options?: IErrorBasedMethodOptions<TErrorOptions>): PromiseResult<T, BadRequestError>;
|
|
47
|
+
errorUnauthorized(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): UnauthorizedError;
|
|
48
|
+
errorUnauthorizedResult(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): Err<never, UnauthorizedError>;
|
|
49
|
+
errorUnauthorizedFromFn<T>(eventName: Parameters<TFormatter> | string, cb: () => PromiseLike<T> | T, options?: IErrorBasedMethodOptions<TErrorOptions>): PromiseResult<T, UnauthorizedError>;
|
|
50
|
+
errorPaymentRequired(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): PaymentRequiredError;
|
|
51
|
+
errorForbidden(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): ForbiddenError;
|
|
52
|
+
errorForbiddenResult(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): Err<never, ForbiddenError>;
|
|
53
|
+
errorForbiddenFromFn<T>(eventName: Parameters<TFormatter> | string, cb: () => PromiseLike<T> | T, options?: IErrorBasedMethodOptions<TErrorOptions>): PromiseResult<T, ForbiddenError>;
|
|
54
|
+
errorNotFound(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): NotFoundError;
|
|
55
|
+
errorNotFoundResult(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): Err<never, NotFoundError>;
|
|
56
|
+
errorNotFoundFromFn<T>(eventName: Parameters<TFormatter> | string, cb: () => PromiseLike<T> | T, options?: IErrorBasedMethodOptions<TErrorOptions>): PromiseResult<T, NotFoundError>;
|
|
57
|
+
errorMethodNotAllowed(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): MethodNotAllowedError;
|
|
58
|
+
errorMethodNotAllowedResult(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): Err<never, MethodNotAllowedError>;
|
|
59
|
+
errorMethodNotAllowedFromFn<T>(eventName: Parameters<TFormatter> | string, cb: () => PromiseLike<T> | T, options?: IErrorBasedMethodOptions<TErrorOptions>): PromiseResult<T, MethodNotAllowedError>;
|
|
60
|
+
errorNotAcceptable(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): NotAcceptableError;
|
|
61
|
+
errorNotAcceptableResult(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): Err<never, NotAcceptableError>;
|
|
62
|
+
errorNotAcceptableFromFn<T>(eventName: Parameters<TFormatter> | string, cb: () => PromiseLike<T> | T, options?: IErrorBasedMethodOptions<TErrorOptions>): PromiseResult<T, NotAcceptableError>;
|
|
63
|
+
errorConflict(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): ConflictError;
|
|
64
|
+
errorConflictResult(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): Err<never, ConflictError>;
|
|
65
|
+
errorConflictFromFn<T>(eventName: Parameters<TFormatter> | string, cb: () => PromiseLike<T> | T, options?: IErrorBasedMethodOptions<TErrorOptions>): PromiseResult<T, ConflictError>;
|
|
66
|
+
errorGone(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): GoneError;
|
|
67
|
+
errorGoneResult(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): Err<never, GoneError>;
|
|
68
|
+
errorGoneFromFn<T>(eventName: Parameters<TFormatter> | string, cb: () => PromiseLike<T> | T, options?: IErrorBasedMethodOptions<TErrorOptions>): PromiseResult<T, GoneError>;
|
|
69
|
+
errorUnsupportedMediaType(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): UnsupportedMediaTypeError;
|
|
70
|
+
errorUnsupportedMediaTypeResult(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): Err<never, UnsupportedMediaTypeError>;
|
|
71
|
+
errorUnsupportedMediaTypeFromFn<T>(eventName: Parameters<TFormatter> | string, cb: () => PromiseLike<T> | T, options?: IErrorBasedMethodOptions<TErrorOptions>): PromiseResult<T, UnsupportedMediaTypeError>;
|
|
72
|
+
errorUnprocessableEntity(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): UnprocessableEntityError;
|
|
73
|
+
errorUnprocessableEntityResult(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): Err<never, UnprocessableEntityError>;
|
|
74
|
+
errorUnprocessableEntityFromFn<T>(eventName: Parameters<TFormatter> | string, cb: () => PromiseLike<T> | T, options?: IErrorBasedMethodOptions<TErrorOptions>): PromiseResult<T, UnprocessableEntityError>;
|
|
75
|
+
errorTooManyRequests(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): TooManyRequestsError;
|
|
76
|
+
errorTooManyRequestsResult(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): Err<never, TooManyRequestsError>;
|
|
77
|
+
errorTooManyRequestsFromFn<T>(eventName: Parameters<TFormatter> | string, cb: () => PromiseLike<T> | T, options?: IErrorBasedMethodOptions<TErrorOptions>): PromiseResult<T, TooManyRequestsError>;
|
|
78
|
+
errorInternalServerError(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): InternalServerError;
|
|
79
|
+
errorInternalServerErrorResult(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): Err<never, InternalServerError>;
|
|
80
|
+
errorInternalServerErrorFromFn<T>(eventName: Parameters<TFormatter> | string, cb: () => PromiseLike<T> | T, options?: IErrorBasedMethodOptions<TErrorOptions>): PromiseResult<T, InternalServerError>;
|
|
81
|
+
errorNotImplemented(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): NotImplementedError;
|
|
82
|
+
errorNotImplementedResult(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): Err<never, NotImplementedError>;
|
|
83
|
+
errorNotImplementedFromFn<T>(eventName: Parameters<TFormatter> | string, cb: () => PromiseLike<T> | T, options?: IErrorBasedMethodOptions<TErrorOptions>): PromiseResult<T, NotImplementedError>;
|
|
84
|
+
errorBadGateway(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): BadGatewayError;
|
|
85
|
+
errorBadGatewayResult(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): Err<never, BadGatewayError>;
|
|
86
|
+
errorBadGatewayFromFn<T>(eventName: Parameters<TFormatter> | string, cb: () => PromiseLike<T> | T, options?: IErrorBasedMethodOptions<TErrorOptions>): PromiseResult<T, BadGatewayError>;
|
|
87
|
+
errorServiceUnavailable(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): ServiceUnavailableError;
|
|
88
|
+
errorServiceUnavailableResult(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): Err<never, ServiceUnavailableError>;
|
|
89
|
+
errorServiceUnavailableFromFn<T>(eventName: Parameters<TFormatter> | string, cb: () => PromiseLike<T> | T, options?: IErrorBasedMethodOptions<TErrorOptions>): PromiseResult<T, ServiceUnavailableError>;
|
|
90
|
+
errorGatewayTimeout(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): any;
|
|
91
|
+
errorGatewayTimeoutResult(eventName: Parameters<TFormatter> | string, options?: IErrorBasedMethodOptions<TErrorOptions>): Err<never, GatewayTimeoutError>;
|
|
92
|
+
errorGatewayTimeoutFromFn<T>(eventName: Parameters<TFormatter> | string, cb: () => PromiseLike<T> | T, options?: IErrorBasedMethodOptions<TErrorOptions>): PromiseResult<T, GatewayTimeoutError>;
|
|
93
|
+
protected getLoggerLevelByOptions(options: IErrorEventOptions<TFormatter>): "log" | "error" | "warn" | import("@node-yalc/logger/logger.enum.js").LogLevelEnum.LOG | import("@node-yalc/logger/logger.enum.js").LogLevelEnum.ERROR;
|
|
94
|
+
protected applyLoggerLevel<TOpt extends IEventOptions<TFormatter> | IErrorEventOptions<TFormatter>>(options: TOpt, level: LogLevel): TOpt;
|
|
95
|
+
protected applyLoggerLevelByStatus<TOpts extends IErrorEventOptions<TFormatter>>(options: TOpts, error: DefaultError): TOpts;
|
|
96
|
+
protected applyLoggerLevelByError<TOpts extends IErrorEventOptions<TFormatter> | IEventOptions<TFormatter>>(options: TOpts): TOpts;
|
|
97
|
+
protected applyCause<TOpts extends IErrorEventOptions<TFormatter>>(cause: unknown, options?: TOpts): TOpts;
|
|
98
|
+
protected buildOptions<TOpts extends IErrorEventOptions<TFormatter> | IEventOptions<TFormatter>>(options?: TOpts): TOpts;
|
|
99
|
+
protected buildErrorOptions<TErrorClass extends DefaultError = DefaultError>(options?: IErrorEventOptions<TFormatter>, defaultClass?: ClassType<TErrorClass> | TErrorClass | boolean): IErrorEventOptionsRequired<TFormatter, TErrorClass>;
|
|
100
|
+
}
|
|
101
|
+
export {};
|
|
@@ -0,0 +1,458 @@
|
|
|
1
|
+
import { eventLogAsync, eventDebugAsync, eventErrorAsync, eventVerboseAsync, eventWarnAsync, eventDebug, eventError, eventLog, eventVerbose, eventWarn, applyAwaitOption, isErrorOptions, resolveLoggerOption, } from './event.js';
|
|
2
|
+
import { errorToDefaultError, formatCause, } from '@node-yalc/errors/default.error.js';
|
|
3
|
+
import { BadGatewayError, BadRequestError, ConflictError, ForbiddenError, GatewayTimeoutError, GoneError, InternalServerError, MethodNotAllowedError, NotAcceptableError, NotFoundError, NotImplementedError, PaymentRequiredError, ServiceUnavailableError, TooManyRequestsError, UnauthorizedError, UnprocessableEntityError, UnsupportedMediaTypeError, } from '@node-yalc/errors/error.class.js';
|
|
4
|
+
import { getLogLevelByError, getLogLevelByStatus } from './event.helper.js';
|
|
5
|
+
import { httpStatusCodeToErrors } from '@node-yalc/errors/http-status-code-to-errors.js';
|
|
6
|
+
import { isClass } from '@node-yalc/utils/class.helper.js';
|
|
7
|
+
import { err, ok } from 'neverthrow';
|
|
8
|
+
export function injectTrace(options) {
|
|
9
|
+
if (typeof options !== 'object' || options === null) {
|
|
10
|
+
options = {};
|
|
11
|
+
}
|
|
12
|
+
if (options &&
|
|
13
|
+
!options.stack &&
|
|
14
|
+
!options.errorClass?.stack &&
|
|
15
|
+
!options.cause?.stack) {
|
|
16
|
+
options.stack = new Error().stack;
|
|
17
|
+
}
|
|
18
|
+
return options;
|
|
19
|
+
}
|
|
20
|
+
export class YalcEventService {
|
|
21
|
+
constructor(loggerService, eventEmitter, options) {
|
|
22
|
+
this.loggerService = loggerService;
|
|
23
|
+
this.eventEmitter = eventEmitter;
|
|
24
|
+
this.options = options;
|
|
25
|
+
this.emit = this.log;
|
|
26
|
+
this.emitAsync = this.logAsync;
|
|
27
|
+
}
|
|
28
|
+
get logger() {
|
|
29
|
+
return this.loggerService;
|
|
30
|
+
}
|
|
31
|
+
get emitter() {
|
|
32
|
+
return this.eventEmitter;
|
|
33
|
+
}
|
|
34
|
+
_error(eventName, options) {
|
|
35
|
+
return eventError(eventName, this.buildOptions(options));
|
|
36
|
+
}
|
|
37
|
+
async logAsync(eventName, options) {
|
|
38
|
+
return eventLogAsync(eventName, this.buildOptions(options));
|
|
39
|
+
}
|
|
40
|
+
async _errorAsync(eventName, options) {
|
|
41
|
+
return eventErrorAsync(eventName, this.buildOptions(options));
|
|
42
|
+
}
|
|
43
|
+
error(eventName, options) {
|
|
44
|
+
options = injectTrace(options);
|
|
45
|
+
options = injectTrace(options);
|
|
46
|
+
return this._error(eventName, this.buildErrorOptions(options));
|
|
47
|
+
}
|
|
48
|
+
errorResult(eventName, options) {
|
|
49
|
+
return err(this.error(eventName, options));
|
|
50
|
+
}
|
|
51
|
+
async errorFromFn(eventName, cb, options) {
|
|
52
|
+
try {
|
|
53
|
+
const result = await cb();
|
|
54
|
+
return ok(result);
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
return this.errorResult(eventName, this.applyCause(error, options));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
async errorAsync(eventName, options) {
|
|
61
|
+
options = injectTrace(options);
|
|
62
|
+
options = injectTrace(options);
|
|
63
|
+
return this._errorAsync(eventName, this.buildErrorOptions(options));
|
|
64
|
+
}
|
|
65
|
+
async warnAsync(eventName, options) {
|
|
66
|
+
return eventWarnAsync(eventName, this.buildOptions(options));
|
|
67
|
+
}
|
|
68
|
+
async debugAsync(eventName, options) {
|
|
69
|
+
return eventDebugAsync(eventName, this.buildOptions(options));
|
|
70
|
+
}
|
|
71
|
+
async verboseAsync(eventName, options) {
|
|
72
|
+
return eventVerboseAsync(eventName, this.buildOptions(options));
|
|
73
|
+
}
|
|
74
|
+
log(eventName, options) {
|
|
75
|
+
return eventLog(eventName, this.buildOptions(options));
|
|
76
|
+
}
|
|
77
|
+
warn(eventName, options) {
|
|
78
|
+
return eventWarn(eventName, this.buildOptions(options));
|
|
79
|
+
}
|
|
80
|
+
debug(eventName, options) {
|
|
81
|
+
return eventDebug(eventName, this.buildOptions(options));
|
|
82
|
+
}
|
|
83
|
+
verbose(eventName, options) {
|
|
84
|
+
return eventVerbose(eventName, this.buildOptions(options));
|
|
85
|
+
}
|
|
86
|
+
errorHttp(eventName, errorCode, options) {
|
|
87
|
+
const httpCode = errorCode;
|
|
88
|
+
const selectedError = httpStatusCodeToErrors[httpCode] ?? InternalServerError;
|
|
89
|
+
const mergedOptions = this.applyLoggerLevel(applyAwaitOption(this.buildErrorOptions(options, selectedError)), getLogLevelByStatus(errorCode));
|
|
90
|
+
return this._error(eventName, mergedOptions);
|
|
91
|
+
}
|
|
92
|
+
errorHttpResult(eventName, errorCode, options) {
|
|
93
|
+
const httpCode = errorCode;
|
|
94
|
+
const selectedError = httpStatusCodeToErrors[httpCode] ?? InternalServerError;
|
|
95
|
+
const mergedOptions = this.applyLoggerLevel(applyAwaitOption(this.buildErrorOptions(options, selectedError)), getLogLevelByStatus(errorCode));
|
|
96
|
+
return err(this._error(eventName, mergedOptions));
|
|
97
|
+
}
|
|
98
|
+
errorForward(eventName, error, options) {
|
|
99
|
+
const rebasedError = errorToDefaultError(error);
|
|
100
|
+
let mergedOptions = this.buildErrorOptions(options, rebasedError);
|
|
101
|
+
if (mergedOptions.logger === undefined) {
|
|
102
|
+
mergedOptions = this.applyLoggerLevelByStatus(mergedOptions, rebasedError);
|
|
103
|
+
}
|
|
104
|
+
return this._error(eventName, {
|
|
105
|
+
...mergedOptions,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
errorForwardResult(eventName, error, options) {
|
|
109
|
+
return err(this.errorForward(eventName, error, options));
|
|
110
|
+
}
|
|
111
|
+
async errorForwardFromFn(eventName, cb, options) {
|
|
112
|
+
try {
|
|
113
|
+
const result = await cb();
|
|
114
|
+
return ok(result);
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
return this.errorForwardResult(eventName, error, options);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
errorBadRequest(eventName, options) {
|
|
121
|
+
const mergedOptions = this.applyLoggerLevelByError(applyAwaitOption(this.buildErrorOptions(options, BadRequestError)));
|
|
122
|
+
return this._error(eventName, mergedOptions);
|
|
123
|
+
}
|
|
124
|
+
errorBadRequestResult(eventName, options) {
|
|
125
|
+
const mergedOptions = this.applyLoggerLevelByError(applyAwaitOption(this.buildErrorOptions(options, BadRequestError)));
|
|
126
|
+
return err(this._error(eventName, mergedOptions));
|
|
127
|
+
}
|
|
128
|
+
async errorBadRequestFromFn(eventName, cb, options) {
|
|
129
|
+
try {
|
|
130
|
+
const result = await cb();
|
|
131
|
+
return ok(result);
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
return this.errorBadRequestResult(eventName, options);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
errorUnauthorized(eventName, options) {
|
|
138
|
+
const mergedOptions = this.applyLoggerLevelByError(applyAwaitOption(this.buildErrorOptions(options, UnauthorizedError)));
|
|
139
|
+
return this._error(eventName, mergedOptions);
|
|
140
|
+
}
|
|
141
|
+
errorUnauthorizedResult(eventName, options) {
|
|
142
|
+
return err(this.errorUnauthorized(eventName, options));
|
|
143
|
+
}
|
|
144
|
+
async errorUnauthorizedFromFn(eventName, cb, options) {
|
|
145
|
+
try {
|
|
146
|
+
const result = await cb();
|
|
147
|
+
return ok(result);
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
return this.errorUnauthorizedResult(eventName, options);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
errorPaymentRequired(eventName, options) {
|
|
154
|
+
const mergedOptions = this.applyLoggerLevelByError(applyAwaitOption(this.buildErrorOptions(options, PaymentRequiredError)));
|
|
155
|
+
return this._error(eventName, mergedOptions);
|
|
156
|
+
}
|
|
157
|
+
errorForbidden(eventName, options) {
|
|
158
|
+
const mergedOptions = this.applyLoggerLevelByError(applyAwaitOption(this.buildErrorOptions(options, ForbiddenError)));
|
|
159
|
+
return this._error(eventName, mergedOptions);
|
|
160
|
+
}
|
|
161
|
+
errorForbiddenResult(eventName, options) {
|
|
162
|
+
return err(this.errorForbidden(eventName, options));
|
|
163
|
+
}
|
|
164
|
+
async errorForbiddenFromFn(eventName, cb, options) {
|
|
165
|
+
try {
|
|
166
|
+
const result = await cb();
|
|
167
|
+
return ok(result);
|
|
168
|
+
}
|
|
169
|
+
catch (error) {
|
|
170
|
+
return this.errorForbiddenResult(eventName, options);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
errorNotFound(eventName, options) {
|
|
174
|
+
const mergedOptions = this.applyLoggerLevelByError(applyAwaitOption(this.buildErrorOptions(options, NotFoundError)));
|
|
175
|
+
return this._error(eventName, mergedOptions);
|
|
176
|
+
}
|
|
177
|
+
errorNotFoundResult(eventName, options) {
|
|
178
|
+
const mergedOptions = this.applyLoggerLevelByError(applyAwaitOption(this.buildErrorOptions(options, NotFoundError)));
|
|
179
|
+
return err(this._error(eventName, mergedOptions));
|
|
180
|
+
}
|
|
181
|
+
async errorNotFoundFromFn(eventName, cb, options) {
|
|
182
|
+
try {
|
|
183
|
+
const result = await cb();
|
|
184
|
+
return ok(result);
|
|
185
|
+
}
|
|
186
|
+
catch (error) {
|
|
187
|
+
return this.errorNotFoundResult(eventName, options);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
errorMethodNotAllowed(eventName, options) {
|
|
191
|
+
const mergedOptions = this.applyLoggerLevelByError(applyAwaitOption(this.buildErrorOptions(options, MethodNotAllowedError)));
|
|
192
|
+
return this._error(eventName, mergedOptions);
|
|
193
|
+
}
|
|
194
|
+
errorMethodNotAllowedResult(eventName, options) {
|
|
195
|
+
return err(this.errorMethodNotAllowed(eventName, options));
|
|
196
|
+
}
|
|
197
|
+
async errorMethodNotAllowedFromFn(eventName, cb, options) {
|
|
198
|
+
try {
|
|
199
|
+
const result = await cb();
|
|
200
|
+
return ok(result);
|
|
201
|
+
}
|
|
202
|
+
catch (error) {
|
|
203
|
+
return this.errorMethodNotAllowedResult(eventName, options);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
errorNotAcceptable(eventName, options) {
|
|
207
|
+
const mergedOptions = this.applyLoggerLevelByError(applyAwaitOption(this.buildErrorOptions(options, NotAcceptableError)));
|
|
208
|
+
return this._error(eventName, mergedOptions);
|
|
209
|
+
}
|
|
210
|
+
errorNotAcceptableResult(eventName, options) {
|
|
211
|
+
return err(this.errorNotAcceptable(eventName, options));
|
|
212
|
+
}
|
|
213
|
+
async errorNotAcceptableFromFn(eventName, cb, options) {
|
|
214
|
+
try {
|
|
215
|
+
const result = await cb();
|
|
216
|
+
return ok(result);
|
|
217
|
+
}
|
|
218
|
+
catch (error) {
|
|
219
|
+
return this.errorNotAcceptableResult(eventName, options);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
errorConflict(eventName, options) {
|
|
223
|
+
const mergedOptions = this.applyLoggerLevelByError(applyAwaitOption(this.buildErrorOptions(options, ConflictError)));
|
|
224
|
+
return this._error(eventName, mergedOptions);
|
|
225
|
+
}
|
|
226
|
+
errorConflictResult(eventName, options) {
|
|
227
|
+
return err(this.errorConflict(eventName, options));
|
|
228
|
+
}
|
|
229
|
+
async errorConflictFromFn(eventName, cb, options) {
|
|
230
|
+
try {
|
|
231
|
+
const result = await cb();
|
|
232
|
+
return ok(result);
|
|
233
|
+
}
|
|
234
|
+
catch (error) {
|
|
235
|
+
return this.errorConflictResult(eventName, options);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
errorGone(eventName, options) {
|
|
239
|
+
const mergedOptions = this.applyLoggerLevelByError(applyAwaitOption(this.buildErrorOptions(options, GoneError)));
|
|
240
|
+
return this._error(eventName, mergedOptions);
|
|
241
|
+
}
|
|
242
|
+
errorGoneResult(eventName, options) {
|
|
243
|
+
return err(this.errorGone(eventName, options));
|
|
244
|
+
}
|
|
245
|
+
async errorGoneFromFn(eventName, cb, options) {
|
|
246
|
+
try {
|
|
247
|
+
const result = await cb();
|
|
248
|
+
return ok(result);
|
|
249
|
+
}
|
|
250
|
+
catch (error) {
|
|
251
|
+
return this.errorGoneResult(eventName, options);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
errorUnsupportedMediaType(eventName, options) {
|
|
255
|
+
const mergedOptions = this.applyLoggerLevelByError(applyAwaitOption(this.buildErrorOptions(options, UnsupportedMediaTypeError)));
|
|
256
|
+
return this._error(eventName, mergedOptions);
|
|
257
|
+
}
|
|
258
|
+
errorUnsupportedMediaTypeResult(eventName, options) {
|
|
259
|
+
return err(this.errorUnsupportedMediaType(eventName, options));
|
|
260
|
+
}
|
|
261
|
+
async errorUnsupportedMediaTypeFromFn(eventName, cb, options) {
|
|
262
|
+
try {
|
|
263
|
+
const result = await cb();
|
|
264
|
+
return ok(result);
|
|
265
|
+
}
|
|
266
|
+
catch (error) {
|
|
267
|
+
return this.errorUnsupportedMediaTypeResult(eventName, options);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
errorUnprocessableEntity(eventName, options) {
|
|
271
|
+
const mergedOptions = this.applyLoggerLevelByError(applyAwaitOption(this.buildErrorOptions(options, UnprocessableEntityError)));
|
|
272
|
+
return this._error(eventName, mergedOptions);
|
|
273
|
+
}
|
|
274
|
+
errorUnprocessableEntityResult(eventName, options) {
|
|
275
|
+
return err(this.errorUnprocessableEntity(eventName, options));
|
|
276
|
+
}
|
|
277
|
+
async errorUnprocessableEntityFromFn(eventName, cb, options) {
|
|
278
|
+
try {
|
|
279
|
+
const result = await cb();
|
|
280
|
+
return ok(result);
|
|
281
|
+
}
|
|
282
|
+
catch (error) {
|
|
283
|
+
return this.errorUnprocessableEntityResult(eventName, options);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
errorTooManyRequests(eventName, options) {
|
|
287
|
+
const mergedOptions = this.applyLoggerLevelByError(applyAwaitOption(this.buildErrorOptions(options, TooManyRequestsError)));
|
|
288
|
+
return this._error(eventName, mergedOptions);
|
|
289
|
+
}
|
|
290
|
+
errorTooManyRequestsResult(eventName, options) {
|
|
291
|
+
return err(this.errorTooManyRequests(eventName, options));
|
|
292
|
+
}
|
|
293
|
+
async errorTooManyRequestsFromFn(eventName, cb, options) {
|
|
294
|
+
try {
|
|
295
|
+
const result = await cb();
|
|
296
|
+
return ok(result);
|
|
297
|
+
}
|
|
298
|
+
catch (error) {
|
|
299
|
+
return this.errorTooManyRequestsResult(eventName, options);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
errorInternalServerError(eventName, options) {
|
|
303
|
+
const mergedOptions = applyAwaitOption(this.buildErrorOptions(options, InternalServerError));
|
|
304
|
+
return this._error(eventName, mergedOptions);
|
|
305
|
+
}
|
|
306
|
+
errorInternalServerErrorResult(eventName, options) {
|
|
307
|
+
return err(this.errorInternalServerError(eventName, options));
|
|
308
|
+
}
|
|
309
|
+
async errorInternalServerErrorFromFn(eventName, cb, options) {
|
|
310
|
+
try {
|
|
311
|
+
const result = await cb();
|
|
312
|
+
return ok(result);
|
|
313
|
+
}
|
|
314
|
+
catch (error) {
|
|
315
|
+
return this.errorInternalServerErrorResult(eventName, options);
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
errorNotImplemented(eventName, options) {
|
|
319
|
+
const mergedOptions = applyAwaitOption(this.buildErrorOptions(options, NotImplementedError));
|
|
320
|
+
return this._error(eventName, mergedOptions);
|
|
321
|
+
}
|
|
322
|
+
errorNotImplementedResult(eventName, options) {
|
|
323
|
+
return err(this.errorNotImplemented(eventName, options));
|
|
324
|
+
}
|
|
325
|
+
async errorNotImplementedFromFn(eventName, cb, options) {
|
|
326
|
+
try {
|
|
327
|
+
const result = await cb();
|
|
328
|
+
return ok(result);
|
|
329
|
+
}
|
|
330
|
+
catch (error) {
|
|
331
|
+
return this.errorNotImplementedResult(eventName, options);
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
errorBadGateway(eventName, options) {
|
|
335
|
+
const mergedOptions = applyAwaitOption(this.buildErrorOptions(options, BadGatewayError));
|
|
336
|
+
return this._error(eventName, mergedOptions);
|
|
337
|
+
}
|
|
338
|
+
errorBadGatewayResult(eventName, options) {
|
|
339
|
+
return err(this.errorBadGateway(eventName, options));
|
|
340
|
+
}
|
|
341
|
+
async errorBadGatewayFromFn(eventName, cb, options) {
|
|
342
|
+
try {
|
|
343
|
+
const result = await cb();
|
|
344
|
+
return ok(result);
|
|
345
|
+
}
|
|
346
|
+
catch (error) {
|
|
347
|
+
return this.errorBadGatewayResult(eventName, options);
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
errorServiceUnavailable(eventName, options) {
|
|
351
|
+
const mergedOptions = applyAwaitOption(this.buildErrorOptions(options, ServiceUnavailableError));
|
|
352
|
+
return this._error(eventName, mergedOptions);
|
|
353
|
+
}
|
|
354
|
+
errorServiceUnavailableResult(eventName, options) {
|
|
355
|
+
return err(this.errorServiceUnavailable(eventName, options));
|
|
356
|
+
}
|
|
357
|
+
async errorServiceUnavailableFromFn(eventName, cb, options) {
|
|
358
|
+
try {
|
|
359
|
+
const result = await cb();
|
|
360
|
+
return ok(result);
|
|
361
|
+
}
|
|
362
|
+
catch (error) {
|
|
363
|
+
return this.errorServiceUnavailableResult(eventName, options);
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
errorGatewayTimeout(eventName, options) {
|
|
367
|
+
const mergedOptions = applyAwaitOption(this.buildErrorOptions(options, GatewayTimeoutError));
|
|
368
|
+
return this._error(eventName, mergedOptions);
|
|
369
|
+
}
|
|
370
|
+
errorGatewayTimeoutResult(eventName, options) {
|
|
371
|
+
return err(this.errorGatewayTimeout(eventName, options));
|
|
372
|
+
}
|
|
373
|
+
async errorGatewayTimeoutFromFn(eventName, cb, options) {
|
|
374
|
+
try {
|
|
375
|
+
const result = await cb();
|
|
376
|
+
return ok(result);
|
|
377
|
+
}
|
|
378
|
+
catch (error) {
|
|
379
|
+
return this.errorGatewayTimeoutResult(eventName, options);
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
getLoggerLevelByOptions(options) {
|
|
383
|
+
return getLogLevelByError(options.errorClass);
|
|
384
|
+
}
|
|
385
|
+
applyLoggerLevel(options, level) {
|
|
386
|
+
if (options?.logger === false)
|
|
387
|
+
return options;
|
|
388
|
+
const loggerOption = resolveLoggerOption(options?.logger);
|
|
389
|
+
return {
|
|
390
|
+
...options,
|
|
391
|
+
logger: {
|
|
392
|
+
...(loggerOption || {}),
|
|
393
|
+
level,
|
|
394
|
+
},
|
|
395
|
+
};
|
|
396
|
+
}
|
|
397
|
+
applyLoggerLevelByStatus(options, error) {
|
|
398
|
+
const level = getLogLevelByStatus(error.getStatus());
|
|
399
|
+
return this.applyLoggerLevel(options, level);
|
|
400
|
+
}
|
|
401
|
+
applyLoggerLevelByError(options) {
|
|
402
|
+
const level = this.getLoggerLevelByOptions(options);
|
|
403
|
+
return this.applyLoggerLevel(options, level);
|
|
404
|
+
}
|
|
405
|
+
applyCause(cause, options) {
|
|
406
|
+
return {
|
|
407
|
+
...options,
|
|
408
|
+
cause,
|
|
409
|
+
};
|
|
410
|
+
}
|
|
411
|
+
buildOptions(options) {
|
|
412
|
+
const _options = { ...options };
|
|
413
|
+
let event;
|
|
414
|
+
if (_options?.event !== undefined || this.eventEmitter) {
|
|
415
|
+
event =
|
|
416
|
+
_options.event === false
|
|
417
|
+
? false
|
|
418
|
+
: {
|
|
419
|
+
..._options?.event,
|
|
420
|
+
emitter: _options?.event?.emitter ?? this.eventEmitter,
|
|
421
|
+
formatter: _options?.event?.formatter ?? this.options?.formatter,
|
|
422
|
+
};
|
|
423
|
+
}
|
|
424
|
+
if (isErrorOptions(_options)) {
|
|
425
|
+
const _errorOptions = _options;
|
|
426
|
+
if (_errorOptions.errorClass &&
|
|
427
|
+
_errorOptions.errorClass !== true &&
|
|
428
|
+
!isClass(_errorOptions.errorClass)) {
|
|
429
|
+
const error = errorToDefaultError(_errorOptions.errorClass);
|
|
430
|
+
_errorOptions.stack ??= error.stack;
|
|
431
|
+
}
|
|
432
|
+
else if (_errorOptions.cause) {
|
|
433
|
+
const cause = formatCause(_errorOptions.cause);
|
|
434
|
+
_errorOptions.stack ??= cause?.stack;
|
|
435
|
+
}
|
|
436
|
+
else {
|
|
437
|
+
_errorOptions.stack ??= new Error().stack;
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
const loggerOption = resolveLoggerOption(_options?.logger);
|
|
441
|
+
const res = {
|
|
442
|
+
..._options,
|
|
443
|
+
event,
|
|
444
|
+
logger: _options?.logger === false
|
|
445
|
+
? false
|
|
446
|
+
: {
|
|
447
|
+
...(loggerOption || {}),
|
|
448
|
+
instance: this.loggerService,
|
|
449
|
+
},
|
|
450
|
+
};
|
|
451
|
+
return res;
|
|
452
|
+
}
|
|
453
|
+
buildErrorOptions(options = {}, defaultClass = true) {
|
|
454
|
+
options.errorClass ??= defaultClass;
|
|
455
|
+
return options;
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
//# sourceMappingURL=event.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event.service.js","sourceRoot":"","sources":["../../../event-manager/src/event.service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,cAAc,EAEd,UAAU,EACV,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,gBAAgB,EAEhB,cAAc,EAEd,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAIpB,OAAO,EAEL,mBAAmB,EACnB,WAAW,GACZ,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,eAAe,EACf,eAAe,EACf,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,SAAS,EACT,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAO,EAAE,EAAE,MAAM,YAAY,CAAC;AAiB1C,MAAM,UAAU,WAAW,CACzB,OAAW;IAEX,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACpD,OAAO,GAAG,EAAO,CAAC;IACpB,CAAC;IAED,IACE,OAAO;QACP,CAAE,OAAe,CAAC,KAAK;QACvB,CAAG,OAAe,CAAC,UAA2B,EAAE,KAAK;QACrD,CAAE,OAAe,CAAC,KAAK,EAAE,KAAK,EAC9B,CAAC;QACA,OAAe,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC;IAC7C,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,OAAO,gBAAgB;IAM3B,YACqB,aAAoC,EACpC,YAA2B,EACpC,OAAa;QAFJ,kBAAa,GAAb,aAAa,CAAuB;QACpC,iBAAY,GAAZ,YAAY,CAAe;QACpC,YAAO,GAAP,OAAO,CAAM;QAczB,SAAI,GAAG,IAAI,CAAC,GAAG,CAAC;QAChB,cAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;IAdvB,CAAC;IAEJ,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAWS,MAAM,CACd,SAA0C,EAC1C,OAAe;QAEf,OAAO,UAAU,CACf,SAAS,EACT,IAAI,CAAC,YAAY,CAAQ,OAAO,CAAC,CAClC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,QAAQ,CACnB,SAA0C,EAC1C,OAAuB;QAEvB,OAAO,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,CAAC;IAES,KAAK,CAAC,WAAW,CACzB,SAA0C,EAC1C,OAAe;QAEf,OAAO,eAAe,CACpB,SAAS,EACT,IAAI,CAAC,YAAY,CAAQ,OAAO,CAAC,CAClC,CAAC;IACJ,CAAC;IAEM,KAAK,CACV,SAA0C,EAC1C,OAAiD;QAEjD,OAAO,GAAG,WAAW,CAAC,OAAO,CAAQ,CAAC;QACtC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAQ,CAAC;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,CAAC;IAKM,WAAW,CAChB,SAA0C,EAC1C,OAAiD;QAEjD,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7C,CAAC;IAKM,KAAK,CAAC,WAAW,CACtB,SAA0C,EAC1C,EAA4B,EAC5B,OAAiD;QAEjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,UAAU,CACrB,SAA0C,EAC1C,OAAiD;QAEjD,OAAO,GAAG,WAAW,CAAC,OAAO,CAAQ,CAAC;QACtC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAQ,CAAC;QACtC,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IACtE,CAAC;IAEM,KAAK,CAAC,SAAS,CACpB,SAA0C,EAC1C,OAAuB;QAEvB,OAAO,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC;IAEM,KAAK,CAAC,UAAU,CACrB,SAA0C,EAC1C,OAAuB;QAEvB,OAAO,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IAEM,KAAK,CAAC,YAAY,CACvB,SAA0C,EAC1C,OAAuB;QAEvB,OAAO,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC;IAEM,GAAG,CACR,SAA0C,EAC1C,OAAuB;QAEvB,OAAO,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IAEM,IAAI,CACT,SAA0C,EAC1C,OAAuB;QAEvB,OAAO,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC;IAEM,KAAK,CACV,SAA0C,EAC1C,OAAuB;QAEvB,OAAO,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEM,OAAO,CACZ,SAA0C,EAC1C,OAAuB;QAEvB,OAAO,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D,CAAC;IAKM,SAAS,CACd,SAA0C,EAC1C,SAAiB,EACjB,OAAuB;QAEvB,MAAM,QAAQ,GAAoB,SAAS,CAAC;QAC5C,MAAM,aAAa,GACjB,sBAAsB,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC;QAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CACzC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,EAChE,mBAAmB,CAAC,SAAS,CAAC,CAC/B,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IAEM,eAAe,CACpB,SAA0C,EAC1C,SAAiB,EACjB,OAAuB;QAEvB,MAAM,QAAQ,GAAoB,SAAS,CAAC;QAC5C,MAAM,aAAa,GACjB,sBAAsB,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC;QAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CACzC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,EAChE,mBAAmB,CAAC,SAAS,CAAC,CAC/B,CAAC;QACF,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;IACpD,CAAC;IAQM,YAAY,CACjB,SAA0C,EAC1C,KAAqB,EACrB,OAAiD;QAEjD,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAElE,IAAI,aAAa,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACvC,aAAa,GAAG,IAAI,CAAC,wBAAwB,CAC3C,aAAa,EACb,YAAY,CACb,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YAC5B,GAAG,aAAa;SACjB,CAAW,CAAC;IACf,CAAC;IAKM,kBAAkB,CACvB,SAA0C,EAC1C,KAAqB,EACrB,OAAiD;QAEjD,OAAO,GAAG,CAAC,IAAI,CAAC,YAAY,CAAS,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACnE,CAAC;IAMM,KAAK,CAAC,kBAAkB,CAC7B,SAA0C,EAC1C,EAA4B,EAC5B,OAAiD;QAEjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,kBAAkB,CAAI,SAAS,EAAE,KAAc,EAAE,OAAO,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAKM,eAAe,CACpB,SAA0C,EAC1C,OAAiD;QAEjD,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAChD,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CACnE,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IAKM,qBAAqB,CAC1B,SAA0C,EAC1C,OAAiD;QAEjD,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAChD,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CACnE,CAAC;QACF,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;IACpD,CAAC;IAKM,KAAK,CAAC,qBAAqB,CAChC,SAA0C,EAC1C,EAA4B,EAC5B,OAAiD;QAEjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAKM,iBAAiB,CACtB,SAA0C,EAC1C,OAAiD;QAEjD,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAChD,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CACrE,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IAKM,uBAAuB,CAC5B,SAA0C,EAC1C,OAAiD;QAEjD,OAAO,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IAKM,KAAK,CAAC,uBAAuB,CAClC,SAA0C,EAC1C,EAA4B,EAC5B,OAAiD;QAEjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAKM,oBAAoB,CACzB,SAA0C,EAC1C,OAAiD;QAEjD,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAChD,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,CACxE,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IAKM,cAAc,CACnB,SAA0C,EAC1C,OAAiD;QAEjD,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAChD,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAClE,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IAKM,oBAAoB,CACzB,SAA0C,EAC1C,OAAiD;QAEjD,OAAO,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD,CAAC;IAKM,KAAK,CAAC,oBAAoB,CAC/B,SAA0C,EAC1C,EAA4B,EAC5B,OAAiD;QAEjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAKM,aAAa,CAClB,SAA0C,EAC1C,OAAiD;QAEjD,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAChD,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CACjE,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IAKM,mBAAmB,CACxB,SAA0C,EAC1C,OAAiD;QAEjD,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAChD,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CACjE,CAAC;QACF,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;IACpD,CAAC;IAKM,KAAK,CAAC,mBAAmB,CAC9B,SAA0C,EAC1C,EAA4B,EAC5B,OAAiD;QAEjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAKM,qBAAqB,CAC1B,SAA0C,EAC1C,OAAiD;QAEjD,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAChD,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC,CACzE,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IAKM,2BAA2B,CAChC,SAA0C,EAC1C,OAAiD;QAEjD,OAAO,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7D,CAAC;IAKM,KAAK,CAAC,2BAA2B,CACtC,SAA0C,EAC1C,EAA4B,EAC5B,OAAiD;QAEjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAKM,kBAAkB,CACvB,SAA0C,EAC1C,OAAiD;QAEjD,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAChD,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CACtE,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IAKM,wBAAwB,CAC7B,SAA0C,EAC1C,OAAiD;QAEjD,OAAO,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC;IAKM,KAAK,CAAC,wBAAwB,CACnC,SAA0C,EAC1C,EAA4B,EAC5B,OAAiD;QAEjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAKM,aAAa,CAClB,SAA0C,EAC1C,OAAiD;QAEjD,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAChD,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CACjE,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IAKM,mBAAmB,CACxB,SAA0C,EAC1C,OAAiD;QAEjD,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;IAKM,KAAK,CAAC,mBAAmB,CAC9B,SAA0C,EAC1C,EAA4B,EAC5B,OAAiD;QAEjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAKM,SAAS,CACd,SAA0C,EAC1C,OAAiD;QAEjD,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAChD,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAC7D,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IAKM,eAAe,CACpB,SAA0C,EAC1C,OAAiD;QAEjD,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IACjD,CAAC;IAKM,KAAK,CAAC,eAAe,CAC1B,SAA0C,EAC1C,EAA4B,EAC5B,OAAiD;QAEjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAKM,yBAAyB,CAC9B,SAA0C,EAC1C,OAAiD;QAEjD,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAChD,gBAAgB,CACd,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAC3D,CACF,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IAKM,+BAA+B,CACpC,SAA0C,EAC1C,OAAiD;QAEjD,OAAO,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IACjE,CAAC;IAKM,KAAK,CAAC,+BAA+B,CAC1C,SAA0C,EAC1C,EAA4B,EAC5B,OAAiD;QAEjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,+BAA+B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAKM,wBAAwB,CAC7B,SAA0C,EAC1C,OAAiD;QAEjD,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAChD,gBAAgB,CACd,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAC1D,CACF,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IAKM,8BAA8B,CACnC,SAA0C,EAC1C,OAAiD;QAEjD,OAAO,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IAKM,KAAK,CAAC,8BAA8B,CACzC,SAA0C,EAC1C,EAA4B,EAC5B,OAAiD;QAEjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,8BAA8B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAKM,oBAAoB,CACzB,SAA0C,EAC1C,OAAiD;QAEjD,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAChD,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,CACxE,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IAKM,0BAA0B,CAC/B,SAA0C,EAC1C,OAAiD;QAEjD,OAAO,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5D,CAAC;IAKM,KAAK,CAAC,0BAA0B,CACrC,SAA0C,EAC1C,EAA4B,EAC5B,OAAiD;QAEjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAKM,wBAAwB,CAC7B,SAA0C,EAC1C,OAAiD;QAEjD,MAAM,aAAa,GAAG,gBAAgB,CACpC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,CAAC,CACrD,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IAKM,8BAA8B,CACnC,SAA0C,EAC1C,OAAiD;QAEjD,OAAO,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IAKM,KAAK,CAAC,8BAA8B,CACzC,SAA0C,EAC1C,EAA4B,EAC5B,OAAiD;QAEjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,8BAA8B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAKM,mBAAmB,CACxB,SAA0C,EAC1C,OAAiD;QAEjD,MAAM,aAAa,GAAG,gBAAgB,CACpC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,CAAC,CACrD,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IAKM,yBAAyB,CAC9B,SAA0C,EAC1C,OAAiD;QAEjD,OAAO,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IAKM,KAAK,CAAC,yBAAyB,CACpC,SAA0C,EAC1C,EAA4B,EAC5B,OAAiD;QAEjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAKM,eAAe,CACpB,SAA0C,EAC1C,OAAiD;QAEjD,MAAM,aAAa,GAAG,gBAAgB,CACpC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,CACjD,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IAKM,qBAAqB,CAC1B,SAA0C,EAC1C,OAAiD;QAEjD,OAAO,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IACvD,CAAC;IAKM,KAAK,CAAC,qBAAqB,CAChC,SAA0C,EAC1C,EAA4B,EAC5B,OAAiD;QAEjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAKM,uBAAuB,CAC5B,SAA0C,EAC1C,OAAiD;QAEjD,MAAM,aAAa,GAAG,gBAAgB,CACpC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,CAAC,CACzD,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IAKM,6BAA6B,CAClC,SAA0C,EAC1C,OAAiD;QAEjD,OAAO,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC;IAKM,KAAK,CAAC,6BAA6B,CACxC,SAA0C,EAC1C,EAA4B,EAC5B,OAAiD;QAEjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,6BAA6B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAKM,mBAAmB,CACxB,SAA0C,EAC1C,OAAiD;QAEjD,MAAM,aAAa,GAAG,gBAAgB,CACpC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,CAAC,CACrD,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IAKM,yBAAyB,CAC9B,SAA0C,EAC1C,OAAiD;QAEjD,OAAO,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IAKM,KAAK,CAAC,yBAAyB,CACpC,SAA0C,EAC1C,EAA4B,EAC5B,OAAiD;QAEjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAES,uBAAuB,CAAC,OAAuC;QACvE,OAAO,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAES,gBAAgB,CAExB,OAAa,EAAE,KAAe;QAC9B,IAAI,OAAO,EAAE,MAAM,KAAK,KAAK;YAAE,OAAO,OAAO,CAAC;QAE9C,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1D,OAAO;YACL,GAAG,OAAO;YACV,MAAM,EAAE;gBACN,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;gBACvB,KAAK;aACN;SACM,CAAC;IACZ,CAAC;IAES,wBAAwB,CAEhC,OAAc,EAAE,KAAmB;QACnC,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAES,uBAAuB,CAE/B,OAAc;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAKS,UAAU,CAClB,KAAc,EACd,OAAe;QAEf,OAAO;YACL,GAAG,OAAO;YACV,KAAK;SACG,CAAC;IACb,CAAC;IAKS,YAAY,CAEpB,OAAe;QACf,MAAM,QAAQ,GAAU,EAAE,GAAI,OAAiB,EAAE,CAAC;QAElD,IAAI,KAAyC,CAAC;QAC9C,IAAI,QAAQ,EAAE,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvD,KAAK;gBACH,QAAQ,CAAC,KAAK,KAAK,KAAK;oBACtB,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC;wBACE,GAAG,QAAQ,EAAE,KAAK;wBAClB,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,YAAY;wBACtD,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,SAAS;qBACjE,CAAC;QACV,CAAC;QAED,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,aAAa,GAAG,QAA0C,CAAC;YAIjE,IACE,aAAa,CAAC,UAAU;gBACxB,aAAa,CAAC,UAAU,KAAK,IAAI;gBACjC,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,EAClC,CAAC;gBACD,MAAM,KAAK,GAAG,mBAAmB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;gBAC5D,aAAa,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC;YACtC,CAAC;iBAAM,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC/C,aAAa,CAAC,KAAK,KAAK,KAAK,EAAE,KAAK,CAAC;YACvC,CAAC;iBAAM,CAAC;gBAKN,aAAa,CAAC,KAAK,KAAK,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAmC;YAC1C,GAAG,QAAQ;YACX,KAAK;YACL,MAAM,EACJ,QAAQ,EAAE,MAAM,KAAK,KAAK;gBACxB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC;oBACE,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;oBACvB,QAAQ,EAAE,IAAI,CAAC,aAAa;iBAC7B;SACR,CAAC;QAEF,OAAO,GAAY,CAAC;IACtB,CAAC;IAES,iBAAiB,CACzB,UAA0C,EAAE,EAC5C,eAA+D,IAAI;QAEnE,OAAO,CAAC,UAAU,KAAK,YAAY,CAAC;QACpC,OAAO,OAA8D,CAAC;IACxE,CAAC;CACF"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { EventEmitter2 } from 'eventemitter2';
|
|
2
|
+
export declare const createGlobalEventEmitter: () => EventEmitter2;
|
|
3
|
+
export declare const yalcStaticEventEmitter: EventEmitter2;
|
|
4
|
+
export declare function getYalcGlobalEventEmitter(): EventEmitter2;
|
|
5
|
+
export declare function setYalcGlobalEventEmitter(_eventEmitter: EventEmitter2): void;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { EventEmitter2 } from 'eventemitter2';
|
|
2
|
+
let eventEmitter;
|
|
3
|
+
export const createGlobalEventEmitter = () => {
|
|
4
|
+
eventEmitter = new EventEmitter2({
|
|
5
|
+
maxListeners: 1000,
|
|
6
|
+
wildcard: true,
|
|
7
|
+
});
|
|
8
|
+
return eventEmitter;
|
|
9
|
+
};
|
|
10
|
+
export const yalcStaticEventEmitter = createGlobalEventEmitter();
|
|
11
|
+
export function getYalcGlobalEventEmitter() {
|
|
12
|
+
if (!eventEmitter)
|
|
13
|
+
eventEmitter = yalcStaticEventEmitter;
|
|
14
|
+
return eventEmitter;
|
|
15
|
+
}
|
|
16
|
+
export function setYalcGlobalEventEmitter(_eventEmitter) {
|
|
17
|
+
eventEmitter = _eventEmitter;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=global-emitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-emitter.js","sourceRoot":"","sources":["../../../event-manager/src/global-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,IAAI,YAA2B,CAAC;AAEhC,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,YAAY,GAAG,IAAI,aAAa,CAAC;QAC/B,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,EAAE,CAAC;AAEjE,MAAM,UAAU,yBAAyB;IACvC,IAAI,CAAC,YAAY;QAAE,YAAY,GAAG,sBAAsB,CAAC;IAEzD,OAAO,YAAY,CAAC;AACtB,CAAC;AAKD,MAAM,UAAU,yBAAyB,CAAC,aAA4B;IACpE,YAAY,GAAG,aAAa,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../event-manager/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAE7B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@node-yalc/event-manager",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "",
|
|
6
|
+
"main": "./dist/src/index.js",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": "./dist/src/index.js",
|
|
9
|
+
"./*.js": "./dist/src/*.js",
|
|
10
|
+
"./*": "./dist/src/*"
|
|
11
|
+
},
|
|
12
|
+
"scripts": {},
|
|
13
|
+
"author": "",
|
|
14
|
+
"license": "MIT",
|
|
15
|
+
"types": "./dist/src/index.d.ts",
|
|
16
|
+
"files": [
|
|
17
|
+
"dist"
|
|
18
|
+
],
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"@node-yalc/errors": "^0.0.1",
|
|
21
|
+
"@node-yalc/logger": "^0.0.1",
|
|
22
|
+
"@node-yalc/types": "^0.0.1",
|
|
23
|
+
"@node-yalc/utils": "^0.0.1",
|
|
24
|
+
"eventemitter2": "^6.4.9",
|
|
25
|
+
"neverthrow": "^8.2.0"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@types/node": "^20.0.0",
|
|
29
|
+
"typescript": "^5.0.0"
|
|
30
|
+
}
|
|
31
|
+
}
|