nestjs-request-deduplication
Version:
[](https://www.npmjs.com/package/nestjs-request-deduplication) [](https://gith
38 lines (37 loc) • 1.66 kB
JavaScript
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 };