nestjs-request-deduplication
Version:
[](https://www.npmjs.com/package/nestjs-request-deduplication) [](https://gith
41 lines (40 loc) • 1.94 kB
JavaScript
;
var RequestDeduplicationModule_1;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RequestDeduplicationModule = void 0;
const tslib_1 = require("tslib");
const common_1 = require("@nestjs/common");
const services_1 = require("./services");
const interceptors_1 = require("./interceptors");
const constants_1 = require("./constants");
const core_1 = require("@nestjs/core");
const interfaces_1 = require("./interfaces");
let RequestDeduplicationModule = RequestDeduplicationModule_1 = class RequestDeduplicationModule {
static forRoot(options) {
const optionsWithDefaults = Object.assign({ storage: interfaces_1.StorageType.MEMORY, ttl: 1000 }, options);
const optionsProvider = {
provide: constants_1.REQUEST_DEDUPLICATION_MODULE_OPTIONS,
useValue: optionsWithDefaults,
};
return {
module: RequestDeduplicationModule_1,
providers: [
optionsProvider,
services_1.RequestDeduplicationService,
{
provide: interceptors_1.RequestDeduplicationInterceptor,
useFactory: (service, moduleOptions, reflector) => {
return new interceptors_1.RequestDeduplicationInterceptor(service, moduleOptions, reflector);
},
inject: [services_1.RequestDeduplicationService, constants_1.REQUEST_DEDUPLICATION_MODULE_OPTIONS, core_1.Reflector],
},
],
exports: [services_1.RequestDeduplicationService, interceptors_1.RequestDeduplicationInterceptor, optionsProvider],
};
}
};
exports.RequestDeduplicationModule = RequestDeduplicationModule;
exports.RequestDeduplicationModule = RequestDeduplicationModule = RequestDeduplicationModule_1 = tslib_1.__decorate([
(0, common_1.Global)(),
(0, common_1.Module)({})
], RequestDeduplicationModule);