@duongtrungnguyen/nestro
Version:
Service registry for Nest JS
43 lines • 1.59 kB
JavaScript
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __decorateClass = (decorators, target, key, kind) => {
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
for (var i = decorators.length - 1, decorator; i >= 0; i--)
if (decorator = decorators[i])
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
if (kind && result) __defProp(target, key, result);
return result;
};
import { Module } from "@nestjs/common";
import { DEFAULT_CLEANUP_TTL, DEFAULT_EVICTATION_THRESHOLD, DEFAULT_HEARBEAT_INTERVAL } from "../common";
import { STORAGE, STORAGE_OPTIONS } from "./constants";
import { MemoryStorage } from "./services";
let StorageModule = class {
static register(config) {
const storageOptionsProvider = {
provide: STORAGE_OPTIONS,
useValue: {
cleanupTTL: config.cleanupTTL ?? DEFAULT_CLEANUP_TTL,
heartbeatInterval: config.heartbeatInterval ?? DEFAULT_HEARBEAT_INTERVAL,
evictionThreshold: config.evictionThreshold ?? DEFAULT_EVICTATION_THRESHOLD
}
};
const storageProvider = {
provide: STORAGE,
useFactory: (options) => new MemoryStorage(options),
inject: [STORAGE_OPTIONS]
};
return {
module: StorageModule,
providers: [storageOptionsProvider, storageProvider],
exports: [storageOptionsProvider, storageProvider]
};
}
};
StorageModule = __decorateClass([
Module({})
], StorageModule);
export {
StorageModule
};
//# sourceMappingURL=storage.module.js.map