UNPKG

nestjs-request-deduplication

Version:

[![npm version](https://badge.fury.io/js/nestjs-request-deduplication.svg)](https://www.npmjs.com/package/nestjs-request-deduplication) [![CI](https://github.com/daniyel/nestjs-request-deduplication/actions/workflows/pr-checks.yml/badge.svg)](https://gith

41 lines (40 loc) 1.94 kB
"use strict"; 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);