UNPKG

1.44 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.EventPattern = void 0;
4const shared_utils_1 = require("@nestjs/common/utils/shared.utils");
5const constants_1 = require("../constants");
6const pattern_handler_enum_1 = require("../enums/pattern-handler.enum");
7/**
8 * Subscribes to incoming events which fulfils chosen pattern.
9 */
10const EventPattern = (metadata, transportOrExtras, maybeExtras) => {
11 let transport;
12 let extras;
13 if (((0, shared_utils_1.isNumber)(transportOrExtras) || (0, shared_utils_1.isSymbol)(transportOrExtras)) &&
14 (0, shared_utils_1.isNil)(maybeExtras)) {
15 transport = transportOrExtras;
16 }
17 else if ((0, shared_utils_1.isObject)(transportOrExtras) && (0, shared_utils_1.isNil)(maybeExtras)) {
18 extras = transportOrExtras;
19 }
20 else {
21 transport = transportOrExtras;
22 extras = maybeExtras;
23 }
24 return (target, key, descriptor) => {
25 Reflect.defineMetadata(constants_1.PATTERN_METADATA, metadata, descriptor.value);
26 Reflect.defineMetadata(constants_1.PATTERN_HANDLER_METADATA, pattern_handler_enum_1.PatternHandler.EVENT, descriptor.value);
27 Reflect.defineMetadata(constants_1.TRANSPORT_METADATA, transport, descriptor.value);
28 Reflect.defineMetadata(constants_1.PATTERN_EXTRAS_METADATA, extras, descriptor.value);
29 return descriptor;
30 };
31};
32exports.EventPattern = EventPattern;