UNPKG

fastify-file-interceptor

Version:

This library for Nestjs using FastifyAdapter it rely on library fastify-multer and express multer

68 lines 2.63 kB
"use strict"; var FastifyMulterModule_1; Object.defineProperty(exports, "__esModule", { value: true }); exports.FastifyMulterModule = void 0; const tslib_1 = require("tslib"); const common_1 = require("@nestjs/common"); const multer_module_option_1 = require("../constant/multer-module-option"); const random_generator_1 = require("../utils/random-generator"); let FastifyMulterModule = FastifyMulterModule_1 = class FastifyMulterModule { static register(options = {}) { return { module: FastifyMulterModule_1, providers: [ { provide: multer_module_option_1.MULTER_MODULE_OPTIONS, useValue: options }, { provide: multer_module_option_1.MULTER_MODULE_ID, useValue: random_generator_1.randomStringGenerator(), }, ], exports: [multer_module_option_1.MULTER_MODULE_OPTIONS], }; } static registerAsync(options) { return { module: FastifyMulterModule_1, imports: options.imports, providers: [ ...this.createAsyncProviders(options), { provide: multer_module_option_1.MULTER_MODULE_ID, useValue: random_generator_1.randomStringGenerator(), }, ], exports: [multer_module_option_1.MULTER_MODULE_OPTIONS], }; } static createAsyncProviders(options) { if (options.useExisting || options.useFactory) { return [this.createAsyncOptionsProvider(options)]; } return [ this.createAsyncOptionsProvider(options), { provide: options.useClass, useClass: options.useClass, }, ]; } static createAsyncOptionsProvider(options) { if (options.useFactory) { return { provide: multer_module_option_1.MULTER_MODULE_OPTIONS, useFactory: options.useFactory, inject: options.inject || [], }; } return { provide: multer_module_option_1.MULTER_MODULE_OPTIONS, useFactory: (optionsFactory) => tslib_1.__awaiter(this, void 0, void 0, function* () { return optionsFactory.createMulterOptions(); }), inject: [options.useExisting || options.useClass], }; } }; FastifyMulterModule = FastifyMulterModule_1 = tslib_1.__decorate([ common_1.Module({}) ], FastifyMulterModule); exports.FastifyMulterModule = FastifyMulterModule; //# sourceMappingURL=fastify-multer.module.js.map