@elsikora/nestjs-crud-automator
Version:
A library for automating the creation of CRUD operations in NestJS.
30 lines (27 loc) • 1.44 kB
JavaScript
;
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