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

38 lines (37 loc) 1.66 kB
var RequestDeduplicationModule_1; import { __decorate } from "tslib"; import { Module, Global } from '@nestjs/common'; import { RequestDeduplicationService } from './services'; import { RequestDeduplicationInterceptor } from './interceptors'; import { REQUEST_DEDUPLICATION_MODULE_OPTIONS } from './constants'; import { Reflector } from '@nestjs/core'; import { StorageType } from './interfaces'; let RequestDeduplicationModule = RequestDeduplicationModule_1 = class RequestDeduplicationModule { static forRoot(options) { const optionsWithDefaults = Object.assign({ storage: StorageType.MEMORY, ttl: 1000 }, options); const optionsProvider = { provide: REQUEST_DEDUPLICATION_MODULE_OPTIONS, useValue: optionsWithDefaults, }; return { module: RequestDeduplicationModule_1, providers: [ optionsProvider, RequestDeduplicationService, { provide: RequestDeduplicationInterceptor, useFactory: (service, moduleOptions, reflector) => { return new RequestDeduplicationInterceptor(service, moduleOptions, reflector); }, inject: [RequestDeduplicationService, REQUEST_DEDUPLICATION_MODULE_OPTIONS, Reflector], }, ], exports: [RequestDeduplicationService, RequestDeduplicationInterceptor, optionsProvider], }; } }; RequestDeduplicationModule = RequestDeduplicationModule_1 = __decorate([ Global(), Module({}) ], RequestDeduplicationModule); export { RequestDeduplicationModule };