UNPKG

@elsikora/nestjs-crud-automator

Version:

A library for automating the creation of CRUD operations in NestJS.

30 lines (27 loc) 1.44 kB
'use strict'; var tslib_es6 = require('../external/tslib/tslib.es6.js'); var routeRuntime_class = require('../class/api/route-runtime.class.js'); require('../constant/decorator/api/function.constant.js'); var method_constant = require('../constant/decorator/api/method.constant.js'); var common = require('@nestjs/common'); var from = require('../external/rxjs/dist/esm5/internal/observable/from.js'); var lastValueFrom = require('../external/rxjs/dist/esm5/internal/lastValueFrom.js'); exports.ApiRouteRuntimeInterceptor = class ApiRouteRuntimeInterceptor { intercept(context, next) { const metadata = Reflect.getMetadata(method_constant.METHOD_API_DECORATOR_CONSTANT.ROUTE_METADATA_KEY, context.getHandler()); const runtimeProperties = Reflect.getMetadata(method_constant.METHOD_API_DECORATOR_CONSTANT.ROUTE_RUNTIME_PROPERTIES_METADATA_KEY, context.getHandler()); if (!metadata) { return next.handle(); } return from.from(routeRuntime_class.ApiRouteRuntime.executeCustom({ executionContext: context, metadata, operation: async () => await lastValueFrom.lastValueFrom(next.handle()), runtimeProperties: runtimeProperties ?? {}, })); } }; exports.ApiRouteRuntimeInterceptor = tslib_es6.__decorate([ common.Injectable() ], exports.ApiRouteRuntimeInterceptor); //# sourceMappingURL=api-route-runtime.interceptor.js.map