UNPKG

nestjs-event-sourcing-lib

Version:

A comprehensive Event Sourcing and CQRS library for NestJS applications

33 lines 1.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PROJECTION_METADATA = void 0; exports.Projection = Projection; exports.getProjectionMetadata = getProjectionMetadata; const common_1 = require("@nestjs/common"); /** * Key for projection metadata */ exports.PROJECTION_METADATA = Symbol('PROJECTION_METADATA'); /** * Decorator to mark class as projection */ function Projection(metadata) { return function (constructor) { const projectionMetadata = { name: (metadata === null || metadata === void 0 ? void 0 : metadata.name) || constructor.name, eventTypes: (metadata === null || metadata === void 0 ? void 0 : metadata.eventTypes) || [], autoUpdate: (metadata === null || metadata === void 0 ? void 0 : metadata.autoUpdate) !== false, snapshotFrequency: (metadata === null || metadata === void 0 ? void 0 : metadata.snapshotFrequency) || 0, }; (0, common_1.SetMetadata)(exports.PROJECTION_METADATA, projectionMetadata)(constructor); (0, common_1.Injectable)()(constructor); return constructor; }; } /** * Function to get projection metadata */ function getProjectionMetadata(target) { return Reflect.getMetadata(exports.PROJECTION_METADATA, target); } //# sourceMappingURL=projection.decorator.js.map