Initial commit - Event Planner application

This commit is contained in:
mberlin
2026-03-18 14:55:56 -03:00
commit 86d779eb4d
7548 changed files with 1006324 additions and 0 deletions

28
node_modules/@nestjs/event-emitter/.commitlintrc.json generated vendored Normal file
View File

@@ -0,0 +1,28 @@
{
"extends": ["@commitlint/config-angular"],
"rules": {
"subject-case": [
2,
"always",
["sentence-case", "start-case", "pascal-case", "upper-case", "lower-case"]
],
"type-enum": [
2,
"always",
[
"build",
"chore",
"ci",
"docs",
"feat",
"fix",
"perf",
"refactor",
"revert",
"style",
"test",
"sample"
]
]
}
}

1
node_modules/@nestjs/event-emitter/.husky/commit-msg generated vendored Normal file
View File

@@ -0,0 +1 @@
npx --no-install commitlint -c --config .commitlintrc.json -E --edit $1

1
node_modules/@nestjs/event-emitter/.husky/pre-commit generated vendored Normal file
View File

@@ -0,0 +1 @@
npx --no-install lint-staged

8
node_modules/@nestjs/event-emitter/.release-it.json generated vendored Normal file
View File

@@ -0,0 +1,8 @@
{
"git": {
"commitMessage": "chore(): release v${version}"
},
"github": {
"release": true
}
}

21
node_modules/@nestjs/event-emitter/LICENSE generated vendored Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2020-2022 Kamil Mysliwiec
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

51
node_modules/@nestjs/event-emitter/README.md generated vendored Normal file
View File

@@ -0,0 +1,51 @@
<p align="center">
<a href="http://nestjs.com/" target="blank"><img src="https://nestjs.com/img/logo-small.svg" width="120" alt="Nest Logo" /></a>
</p>
[travis-image]: https://api.travis-ci.org/nestjs/nest.svg?branch=master
[travis-url]: https://travis-ci.org/nestjs/nest
[linux-image]: https://img.shields.io/travis/nestjs/nest/master.svg?label=linux
[linux-url]: https://travis-ci.org/nestjs/nest
<p align="center">A progressive <a href="http://nodejs.org" target="blank">Node.js</a> framework for building efficient and scalable server-side applications.</p>
<p align="center">
<a href="https://www.npmjs.com/~nestjscore"><img src="https://img.shields.io/npm/v/@nestjs/core.svg" alt="NPM Version" /></a>
<a href="https://www.npmjs.com/~nestjscore"><img src="https://img.shields.io/npm/l/@nestjs/core.svg" alt="Package License" /></a>
<a href="https://www.npmjs.com/~nestjscore"><img src="https://img.shields.io/npm/dm/@nestjs/core.svg" alt="NPM Downloads" /></a>
<a href="https://coveralls.io/github/nestjs/nest?branch=master"><img src="https://coveralls.io/repos/github/nestjs/nest/badge.svg?branch=master#5" alt="Coverage" /></a>
<a href="https://discord.gg/G7Qnnhy" target="_blank"><img src="https://img.shields.io/badge/discord-online-brightgreen.svg" alt="Discord"/></a>
<a href="https://opencollective.com/nest#backer"><img src="https://opencollective.com/nest/backers/badge.svg" alt="Backers on Open Collective" /></a>
<a href="https://opencollective.com/nest#sponsor"><img src="https://opencollective.com/nest/sponsors/badge.svg" alt="Sponsors on Open Collective" /></a>
<a href="https://paypal.me/kamilmysliwiec"><img src="https://img.shields.io/badge/Donate-PayPal-dc3d53.svg"/></a>
<a href="https://twitter.com/nestframework"><img src="https://img.shields.io/twitter/follow/nestframework.svg?style=social&label=Follow"></a>
</p>
<!--[![Backers on Open Collective](https://opencollective.com/nest/backers/badge.svg)](https://opencollective.com/nest#backer)
[![Sponsors on Open Collective](https://opencollective.com/nest/sponsors/badge.svg)](https://opencollective.com/nest#sponsor)-->
## Description
Events module for [Nest](https://github.com/nestjs/nest) built on top of the [eventemitter2](https://github.com/EventEmitter2/EventEmitter2) package.
## Installation
```bash
$ npm i --save @nestjs/event-emitter
```
## Quick Start
[Overview & Tutorial](https://docs.nestjs.com/techniques/events)
## Support
Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support).
## Stay in touch
- Author - [Kamil Myśliwiec](https://twitter.com/kammysliwiec)
- Website - [https://nestjs.com](https://nestjs.com/)
- Twitter - [@nestframework](https://twitter.com/nestframework)
## License
Nest is [MIT licensed](LICENSE).

View File

@@ -0,0 +1,2 @@
export declare const EVENT_LISTENER_METADATA = "EVENT_LISTENER_METADATA";
export declare const EVENT_PAYLOAD = "REQUEST";

7
node_modules/@nestjs/event-emitter/dist/constants.js generated vendored Normal file
View File

@@ -0,0 +1,7 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.EVENT_PAYLOAD = exports.EVENT_LISTENER_METADATA = void 0;
const core_1 = require("@nestjs/core");
exports.EVENT_LISTENER_METADATA = 'EVENT_LISTENER_METADATA';
exports.EVENT_PAYLOAD = core_1.REQUEST;
//# sourceMappingURL=constants.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../lib/constants.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;AAE1B,QAAA,uBAAuB,GAAG,yBAAyB,CAAC;AACpD,QAAA,aAAa,GAAG,cAAO,CAAC"}

View File

@@ -0,0 +1 @@
export * from './on-event.decorator';

View File

@@ -0,0 +1,18 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
__exportStar(require("./on-event.decorator"), exports);
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC"}

View File

@@ -0,0 +1,7 @@
import { OnEventOptions } from '../interfaces';
export interface OnEventMetadata {
event: string | symbol | Array<string | symbol>;
options?: OnEventOptions;
}
export type OnEventType = string | symbol | Array<string | symbol>;
export declare const OnEvent: (event: OnEventType, options?: OnEventOptions) => MethodDecorator;

View File

@@ -0,0 +1,15 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.OnEvent = void 0;
const extend_metadata_util_1 = require("@nestjs/common/utils/extend-metadata.util");
const constants_1 = require("../constants");
const OnEvent = (event, options) => {
const decoratorFactory = (target, key, descriptor) => {
(0, extend_metadata_util_1.extendArrayMetadata)(constants_1.EVENT_LISTENER_METADATA, [{ event, options }], descriptor.value);
return descriptor;
};
decoratorFactory.KEY = constants_1.EVENT_LISTENER_METADATA;
return decoratorFactory;
};
exports.OnEvent = OnEvent;
//# sourceMappingURL=on-event.decorator.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"on-event.decorator.js","sourceRoot":"","sources":["../../lib/decorators/on-event.decorator.ts"],"names":[],"mappings":";;;AAAA,oFAAgF;AAChF,4CAAuD;AA4BhD,MAAM,OAAO,GAAG,CACrB,KAAkB,EAClB,OAAwB,EACP,EAAE;IACnB,MAAM,gBAAgB,GAAG,CACvB,MAAc,EACd,GAAS,EACT,UAAyC,EACzC,EAAE;QACF,IAAA,0CAAmB,EACjB,mCAAuB,EACvB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAqB,CAAC,EACvC,UAAW,CAAC,KAAgC,CAC7C,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;IACF,gBAAgB,CAAC,GAAG,GAAG,mCAAuB,CAAC;IAC/C,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AAlBW,QAAA,OAAO,WAkBlB"}

View File

@@ -0,0 +1,6 @@
export declare class EventEmitterReadinessWatcher {
private readonly readyPromise;
waitUntilReady(): Promise<void>;
setReady(): void;
setErrored(error: Error): void;
}

View File

@@ -0,0 +1,30 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.EventEmitterReadinessWatcher = void 0;
const common_1 = require("@nestjs/common");
const promise_with_resolvers_1 = require("./utils/promise-with-resolvers");
let EventEmitterReadinessWatcher = class EventEmitterReadinessWatcher {
constructor() {
this.readyPromise = (0, promise_with_resolvers_1.promiseWithResolvers)();
}
waitUntilReady() {
return this.readyPromise.promise;
}
setReady() {
this.readyPromise.resolve();
}
setErrored(error) {
this.readyPromise.reject(error);
}
};
exports.EventEmitterReadinessWatcher = EventEmitterReadinessWatcher;
exports.EventEmitterReadinessWatcher = EventEmitterReadinessWatcher = __decorate([
(0, common_1.Injectable)()
], EventEmitterReadinessWatcher);
//# sourceMappingURL=event-emitter-readiness.watcher.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"event-emitter-readiness.watcher.js","sourceRoot":"","sources":["../lib/event-emitter-readiness.watcher.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAC5C,2EAAsE;AAG/D,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IAAlC;QACY,iBAAY,GAAG,IAAA,6CAAoB,GAAE,CAAC;IAazD,CAAC;IAXC,cAAc;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;IACnC,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED,UAAU,CAAC,KAAY;QACrB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;CACF,CAAA;AAdY,oEAA4B;uCAA5B,4BAA4B;IADxC,IAAA,mBAAU,GAAE;GACA,4BAA4B,CAcxC"}

View File

@@ -0,0 +1,5 @@
import { DynamicModule } from '@nestjs/common';
import { EventEmitterModuleOptions } from './interfaces';
export declare class EventEmitterModule {
static forRoot(options?: EventEmitterModuleOptions): DynamicModule;
}

View File

@@ -0,0 +1,40 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var EventEmitterModule_1;
Object.defineProperty(exports, "__esModule", { value: true });
exports.EventEmitterModule = void 0;
const common_1 = require("@nestjs/common");
const core_1 = require("@nestjs/core");
const eventemitter2_1 = require("eventemitter2");
const event_emitter_readiness_watcher_1 = require("./event-emitter-readiness.watcher");
const event_subscribers_loader_1 = require("./event-subscribers.loader");
const events_metadata_accessor_1 = require("./events-metadata.accessor");
let EventEmitterModule = EventEmitterModule_1 = class EventEmitterModule {
static forRoot(options) {
return {
global: options?.global ?? true,
module: EventEmitterModule_1,
imports: [core_1.DiscoveryModule],
providers: [
event_subscribers_loader_1.EventSubscribersLoader,
events_metadata_accessor_1.EventsMetadataAccessor,
event_emitter_readiness_watcher_1.EventEmitterReadinessWatcher,
{
provide: eventemitter2_1.EventEmitter2,
useFactory: () => new eventemitter2_1.EventEmitter2(options),
},
],
exports: [eventemitter2_1.EventEmitter2, event_emitter_readiness_watcher_1.EventEmitterReadinessWatcher],
};
}
};
exports.EventEmitterModule = EventEmitterModule;
exports.EventEmitterModule = EventEmitterModule = EventEmitterModule_1 = __decorate([
(0, common_1.Module)({})
], EventEmitterModule);
//# sourceMappingURL=event-emitter.module.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"event-emitter.module.js","sourceRoot":"","sources":["../lib/event-emitter.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AACvD,uCAA+C;AAC/C,iDAA8C;AAC9C,uFAAiF;AACjF,yEAAoE;AACpE,yEAAoE;AAI7D,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAC7B,MAAM,CAAC,OAAO,CAAC,OAAmC;QAChD,OAAO;YACL,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,IAAI;YAC/B,MAAM,EAAE,oBAAkB;YAC1B,OAAO,EAAE,CAAC,sBAAe,CAAC;YAC1B,SAAS,EAAE;gBACT,iDAAsB;gBACtB,iDAAsB;gBACtB,8DAA4B;gBAC5B;oBACE,OAAO,EAAE,6BAAa;oBACtB,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,6BAAa,CAAC,OAAO,CAAC;iBAC7C;aACF;YACD,OAAO,EAAE,CAAC,6BAAa,EAAE,8DAA4B,CAAC;SACvD,CAAC;IACJ,CAAC;CACF,CAAA;AAlBY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,kBAAkB,CAkB9B"}

View File

@@ -0,0 +1,24 @@
import { OnApplicationBootstrap, OnApplicationShutdown } from '@nestjs/common';
import { DiscoveryService, MetadataScanner, ModuleRef } from '@nestjs/core';
import { EventEmitter2 } from 'eventemitter2';
import { EventEmitterReadinessWatcher } from './event-emitter-readiness.watcher';
import { EventsMetadataAccessor } from './events-metadata.accessor';
export declare class EventSubscribersLoader implements OnApplicationBootstrap, OnApplicationShutdown {
private readonly discoveryService;
private readonly eventEmitter;
private readonly metadataAccessor;
private readonly metadataScanner;
private readonly moduleRef;
private readonly eventEmitterReadinessWatcher;
private readonly injector;
private readonly logger;
constructor(discoveryService: DiscoveryService, eventEmitter: EventEmitter2, metadataAccessor: EventsMetadataAccessor, metadataScanner: MetadataScanner, moduleRef: ModuleRef, eventEmitterReadinessWatcher: EventEmitterReadinessWatcher);
onApplicationBootstrap(): void;
onApplicationShutdown(): void;
loadEventListeners(): void;
private subscribeToEventIfListener;
private getRegisterListenerMethodBasedOn;
private registerRequestScopedListener;
private getRequestFromEventPayload;
private wrapFunctionInTryCatchBlocks;
}

View File

@@ -0,0 +1,120 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.EventSubscribersLoader = void 0;
const common_1 = require("@nestjs/common");
const core_1 = require("@nestjs/core");
const injector_1 = require("@nestjs/core/injector/injector");
const eventemitter2_1 = require("eventemitter2");
const event_emitter_readiness_watcher_1 = require("./event-emitter-readiness.watcher");
const events_metadata_accessor_1 = require("./events-metadata.accessor");
let EventSubscribersLoader = class EventSubscribersLoader {
constructor(discoveryService, eventEmitter, metadataAccessor, metadataScanner, moduleRef, eventEmitterReadinessWatcher) {
this.discoveryService = discoveryService;
this.eventEmitter = eventEmitter;
this.metadataAccessor = metadataAccessor;
this.metadataScanner = metadataScanner;
this.moduleRef = moduleRef;
this.eventEmitterReadinessWatcher = eventEmitterReadinessWatcher;
this.injector = new injector_1.Injector();
this.logger = new common_1.Logger('Event');
}
onApplicationBootstrap() {
try {
this.loadEventListeners();
this.eventEmitterReadinessWatcher.setReady();
}
catch (e) {
this.eventEmitterReadinessWatcher.setErrored(e);
}
}
onApplicationShutdown() {
this.eventEmitter.removeAllListeners();
}
loadEventListeners() {
const providers = this.discoveryService.getProviders();
const controllers = this.discoveryService.getControllers();
[...providers, ...controllers]
.filter(wrapper => wrapper.instance && !wrapper.isAlias)
.forEach((wrapper) => {
const { instance } = wrapper;
const prototype = Object.getPrototypeOf(instance) || {};
const isRequestScoped = !wrapper.isDependencyTreeStatic();
this.metadataScanner.scanFromPrototype(instance, prototype, (methodKey) => this.subscribeToEventIfListener(instance, methodKey, isRequestScoped, wrapper.host));
});
}
subscribeToEventIfListener(instance, methodKey, isRequestScoped, moduleRef) {
const eventListenerMetadatas = this.metadataAccessor.getEventHandlerMetadata(instance[methodKey]);
if (!eventListenerMetadatas) {
return;
}
for (const eventListenerMetadata of eventListenerMetadatas) {
const { event, options } = eventListenerMetadata;
const listenerMethod = this.getRegisterListenerMethodBasedOn(options);
if (isRequestScoped) {
this.registerRequestScopedListener({
event,
eventListenerInstance: instance,
listenerMethod,
listenerMethodKey: methodKey,
moduleRef,
options,
});
}
else {
listenerMethod(event, (...args) => this.wrapFunctionInTryCatchBlocks(instance, methodKey, args, options), options);
}
}
}
getRegisterListenerMethodBasedOn(options) {
return options?.prependListener
? this.eventEmitter.prependListener.bind(this.eventEmitter)
: this.eventEmitter.on.bind(this.eventEmitter);
}
registerRequestScopedListener(eventListenerContext) {
const { listenerMethod, event, eventListenerInstance, moduleRef, listenerMethodKey, options, } = eventListenerContext;
listenerMethod(event, async (...args) => {
const request = this.getRequestFromEventPayload(args);
const contextId = core_1.ContextIdFactory.getByRequest({ payload: request });
this.moduleRef.registerRequestByContextId(request, contextId);
const contextInstance = await this.injector.loadPerContext(eventListenerInstance, moduleRef, moduleRef.providers, contextId);
return this.wrapFunctionInTryCatchBlocks(contextInstance, listenerMethodKey, args, options);
}, options);
}
getRequestFromEventPayload(eventPayload) {
return eventPayload.length > 1 ? eventPayload : eventPayload[0];
}
async wrapFunctionInTryCatchBlocks(instance, methodKey, args, options) {
try {
return await instance[methodKey].call(instance, ...args);
}
catch (e) {
if (options?.suppressErrors ?? true) {
const error = e;
this.logger.error(error.message, error.stack);
}
else {
throw e;
}
}
}
};
exports.EventSubscribersLoader = EventSubscribersLoader;
exports.EventSubscribersLoader = EventSubscribersLoader = __decorate([
(0, common_1.Injectable)(),
__metadata("design:paramtypes", [core_1.DiscoveryService,
eventemitter2_1.EventEmitter2,
events_metadata_accessor_1.EventsMetadataAccessor,
core_1.MetadataScanner,
core_1.ModuleRef,
event_emitter_readiness_watcher_1.EventEmitterReadinessWatcher])
], EventSubscribersLoader);
//# sourceMappingURL=event-subscribers.loader.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"event-subscribers.loader.js","sourceRoot":"","sources":["../lib/event-subscribers.loader.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,8 @@
import { Type } from '@nestjs/common';
import { Reflector } from '@nestjs/core';
import { OnEventMetadata } from './decorators';
export declare class EventsMetadataAccessor {
private readonly reflector;
constructor(reflector: Reflector);
getEventHandlerMetadata(target: Type<unknown>): OnEventMetadata[] | undefined;
}

View File

@@ -0,0 +1,37 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.EventsMetadataAccessor = void 0;
const common_1 = require("@nestjs/common");
const core_1 = require("@nestjs/core");
const constants_1 = require("./constants");
let EventsMetadataAccessor = class EventsMetadataAccessor {
constructor(reflector) {
this.reflector = reflector;
}
getEventHandlerMetadata(target) {
if (!target ||
(typeof target !== 'function' && typeof target !== 'object')) {
return undefined;
}
const metadata = this.reflector.get(constants_1.EVENT_LISTENER_METADATA, target);
if (!metadata) {
return undefined;
}
return Array.isArray(metadata) ? metadata : [metadata];
}
};
exports.EventsMetadataAccessor = EventsMetadataAccessor;
exports.EventsMetadataAccessor = EventsMetadataAccessor = __decorate([
(0, common_1.Injectable)(),
__metadata("design:paramtypes", [core_1.Reflector])
], EventsMetadataAccessor);
//# sourceMappingURL=events-metadata.accessor.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"events-metadata.accessor.js","sourceRoot":"","sources":["../lib/events-metadata.accessor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAkD;AAClD,uCAAyC;AACzC,2CAAsD;AAI/C,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IACjC,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD,uBAAuB,CACrB,MAAqB;QAIrB,IACE,CAAC,MAAM;YACP,CAAC,OAAO,MAAM,KAAK,UAAU,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,EAC5D,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mCAAuB,EAAE,MAAM,CAAC,CAAC;QACrE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;CACF,CAAA;AArBY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,mBAAU,GAAE;qCAE6B,gBAAS;GADtC,sBAAsB,CAqBlC"}

5
node_modules/@nestjs/event-emitter/dist/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,5 @@
export { EventEmitter2 } from 'eventemitter2';
export { EVENT_PAYLOAD } from './constants';
export * from './decorators';
export * from './event-emitter-readiness.watcher';
export * from './event-emitter.module';

25
node_modules/@nestjs/event-emitter/dist/index.js generated vendored Normal file
View File

@@ -0,0 +1,25 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.EVENT_PAYLOAD = exports.EventEmitter2 = void 0;
var eventemitter2_1 = require("eventemitter2");
Object.defineProperty(exports, "EventEmitter2", { enumerable: true, get: function () { return eventemitter2_1.EventEmitter2; } });
var constants_1 = require("./constants");
Object.defineProperty(exports, "EVENT_PAYLOAD", { enumerable: true, get: function () { return constants_1.EVENT_PAYLOAD; } });
__exportStar(require("./decorators"), exports);
__exportStar(require("./event-emitter-readiness.watcher"), exports);
__exportStar(require("./event-emitter.module"), exports);
//# sourceMappingURL=index.js.map

1
node_modules/@nestjs/event-emitter/dist/index.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAA8C;AAArC,8GAAA,aAAa,OAAA;AACtB,yCAA4C;AAAnC,0GAAA,aAAa,OAAA;AACtB,+CAA6B;AAC7B,oEAAkD;AAClD,yDAAuC"}

View File

@@ -0,0 +1,4 @@
import { ConstructorOptions } from 'eventemitter2';
export interface EventEmitterModuleOptions extends ConstructorOptions {
global?: boolean;
}

View File

@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=event-emitter-options.interface.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"event-emitter-options.interface.js","sourceRoot":"","sources":["../../lib/interfaces/event-emitter-options.interface.ts"],"names":[],"mappings":""}

View File

@@ -0,0 +1,3 @@
export type EventPayloadHost<T> = {
payload: T;
};

View File

@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=event-payload-host.interface.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"event-payload-host.interface.js","sourceRoot":"","sources":["../../lib/interfaces/event-payload-host.interface.ts"],"names":[],"mappings":""}

View File

@@ -0,0 +1,3 @@
export * from './event-emitter-options.interface';
export * from './on-event-options.interface';
export * from './event-payload-host.interface';

View File

@@ -0,0 +1,20 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
__exportStar(require("./event-emitter-options.interface"), exports);
__exportStar(require("./on-event-options.interface"), exports);
__exportStar(require("./event-payload-host.interface"), exports);
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oEAAkD;AAClD,+DAA6C;AAC7C,iEAA+C"}

View File

@@ -0,0 +1,5 @@
import { OnOptions } from 'eventemitter2';
export type OnEventOptions = OnOptions & {
prependListener?: boolean;
suppressErrors?: boolean;
};

View File

@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=on-event-options.interface.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"on-event-options.interface.js","sourceRoot":"","sources":["../../lib/interfaces/on-event-options.interface.ts"],"names":[],"mappings":""}

View File

@@ -0,0 +1,5 @@
export declare function promiseWithResolvers(): {
promise: Promise<void>;
resolve: () => void;
reject: (reason?: any) => void;
};

View File

@@ -0,0 +1,13 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.promiseWithResolvers = promiseWithResolvers;
function promiseWithResolvers() {
let resolve;
let reject;
const promise = new Promise((res, rej) => {
resolve = res;
reject = rej;
});
return { promise, resolve, reject };
}
//# sourceMappingURL=promise-with-resolvers.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"promise-with-resolvers.js","sourceRoot":"","sources":["../../lib/utils/promise-with-resolvers.ts"],"names":[],"mappings":";;AAIA,oDAUC;AAVD,SAAgB,oBAAoB;IAClC,IAAI,OAAmB,CAAC;IACxB,IAAI,MAA8B,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC7C,OAAO,GAAG,GAAG,CAAC;QACd,MAAM,GAAG,GAAG,CAAC;IACf,CAAC,CAAC,CAAC;IAGH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACtC,CAAC"}

42
node_modules/@nestjs/event-emitter/eslint.config.mjs generated vendored Normal file
View File

@@ -0,0 +1,42 @@
// @ts-check
import eslint from '@eslint/js';
import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended';
import globals from 'globals';
import tseslint from 'typescript-eslint';
export default tseslint.config(
{
ignores: ['eslint.config.mjs', 'tests/**/*'],
},
eslint.configs.recommended,
...tseslint.configs.recommendedTypeChecked,
eslintPluginPrettierRecommended,
{
languageOptions: {
globals: {
...globals.node,
...globals.jest,
},
ecmaVersion: 5,
sourceType: 'module',
parserOptions: {
projectService: true,
tsconfigRootDir: import.meta.dirname,
},
},
},
{
rules: {
'@typescript-eslint/interface-name-prefix': 'off',
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-unsafe-assignment': 'off',
'@typescript-eslint/no-unsafe-return': 'off',
'@typescript-eslint/no-misused-promises': 'off',
'@typescript-eslint/no-unsafe-argument': 'off',
'@typescript-eslint/no-unsafe-call': 'off',
'@typescript-eslint/no-unsafe-member-access': 'off',
},
},
);

68
node_modules/@nestjs/event-emitter/package.json generated vendored Normal file
View File

@@ -0,0 +1,68 @@
{
"name": "@nestjs/event-emitter",
"version": "3.0.1",
"description": "Nest - modern, fast, powerful node.js web framework (@event-emitter)",
"author": "Kamil Mysliwiec",
"license": "MIT",
"url": "https://github.com/nestjs/event-emitter#readme",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
"scripts": {
"build": "rimraf -rf dist && tsc -p tsconfig.json",
"format": "prettier --write \"{lib,test}/**/*.ts\"",
"lint": "eslint 'lib/**/*.ts' --fix",
"prepublish:npm": "npm run build",
"publish:npm": "npm publish --access public",
"prepublish:next": "npm run build",
"publish:next": "npm publish --access public --tag next",
"test:e2e": "jest --config ./tests/jest-e2e.json --runInBand",
"prerelease": "npm run build",
"release": "release-it",
"prepare": "husky install"
},
"dependencies": {
"eventemitter2": "6.4.9"
},
"devDependencies": {
"@commitlint/cli": "19.7.1",
"@commitlint/config-angular": "19.7.1",
"@eslint/js": "9.21.0",
"@nestjs/common": "11.0.10",
"@nestjs/core": "11.0.10",
"@nestjs/platform-express": "11.0.10",
"@nestjs/testing": "11.0.10",
"@types/jest": "29.5.14",
"@types/node": "22.13.5",
"@typescript-eslint/eslint-plugin": "8.24.1",
"@typescript-eslint/parser": "8.24.1",
"eslint": "9.21.0",
"eslint-config-prettier": "10.0.1",
"eslint-plugin-import": "2.31.0",
"eslint-plugin-prettier": "5.2.3",
"husky": "9.1.7",
"jest": "29.7.0",
"lint-staged": "15.4.3",
"prettier": "3.5.2",
"reflect-metadata": "0.2.2",
"release-it": "18.1.2",
"rimraf": "6.0.1",
"rxjs": "7.8.2",
"ts-jest": "29.2.6",
"typescript": "5.7.3",
"typescript-eslint": "8.24.1"
},
"peerDependencies": {
"@nestjs/common": "^10.0.0 || ^11.0.0",
"@nestjs/core": "^10.0.0 || ^11.0.0"
},
"lint-staged": {
"*.ts": [
"prettier --write",
"eslint --fix"
]
},
"repository": {
"type": "git",
"url": "https://github.com/nestjs/event-emitter"
}
}