@tsclean/core
Version:
Plugin for API Rest Full development, based on Clean Architecture, IoC and Dependency Injection.
88 lines • 9.63 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var MulterModule_1;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MulterModule = void 0;
const interfaces_1 = require("./interfaces");
const multer_constants_1 = require("./multer.constants");
const decorators_1 = require("../decorators");
const utils_1 = require("../utils");
const interceptors_1 = require("./interceptors");
let options;
const MulterModuleOptionsProvider = {
provide: interfaces_1.MULTER_MODULE_OPTIONS,
useClass: interceptors_1.FileInterceptor
};
const MulterModuleIdProvider = {
provide: multer_constants_1.MULTER_MODULE_ID,
useValue: (0, utils_1.randomStringGenerator)(),
};
let MulterModule = MulterModule_1 = class MulterModule {
static register(providers) {
return {
module: MulterModule_1,
providers: [...providers],
exports: [...providers.map(item => item.provide)],
};
}
static registerAsync(options) {
return {
module: MulterModule_1,
imports: options.imports,
providers: [
...this.createAsyncProviders(options),
{
provide: multer_constants_1.MULTER_MODULE_ID,
useValue: (0, utils_1.randomStringGenerator)(),
},
],
exports: [interfaces_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: interfaces_1.MULTER_MODULE_OPTIONS,
useFactory: options.useFactory,
inject: options.inject || [],
};
}
return {
provide: interfaces_1.MULTER_MODULE_OPTIONS,
useFactory: async (optionsFactory) => optionsFactory.createMulterOptions(),
inject: [options.useExisting || options.useClass],
};
}
};
exports.MulterModule = MulterModule;
exports.MulterModule = MulterModule = MulterModule_1 = __decorate([
(0, decorators_1.Global)(),
(0, decorators_1.ModuleDecorator)({
providers: [
MulterModuleOptionsProvider,
MulterModuleIdProvider
],
exports: [
MulterModuleOptionsProvider,
MulterModuleIdProvider
]
})
], MulterModule);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWQvbXVsdGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsNkNBSXNCO0FBQ3RCLHlEQUFvRDtBQUNwRCw4Q0FBc0Q7QUFRdEQsb0NBQStDO0FBQy9DLGlEQUErQztBQUUvQyxJQUFJLE9BQXNCLENBQUM7QUFFM0IsTUFBTSwyQkFBMkIsR0FBRztJQUNoQyxPQUFPLEVBQUUsa0NBQXFCO0lBQzlCLFFBQVEsRUFBRSw4QkFBZTtDQUM1QixDQUFBO0FBRUQsTUFBTSxzQkFBc0IsR0FBRztJQUMzQixPQUFPLEVBQUUsbUNBQWdCO0lBQ3pCLFFBQVEsRUFBRSxJQUFBLDZCQUFxQixHQUFFO0NBQ3BDLENBQUE7QUFhTSxJQUFNLFlBQVksb0JBQWxCLE1BQU0sWUFBWTtJQUNyQixNQUFNLENBQUMsUUFBUSxDQUNYLFNBQW9FO1FBRXBFLE9BQU87WUFDSCxNQUFNLEVBQUUsY0FBWTtZQUNwQixTQUFTLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztZQUN6QixPQUFPLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDcEQsQ0FBQztJQUNOLENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQWlDO1FBQ2xELE9BQU87WUFDSCxNQUFNLEVBQUUsY0FBWTtZQUNwQixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDeEIsU0FBUyxFQUFFO2dCQUNQLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQztnQkFDckM7b0JBQ0ksT0FBTyxFQUFFLG1DQUFnQjtvQkFDekIsUUFBUSxFQUFFLElBQUEsNkJBQXFCLEdBQUU7aUJBQ3BDO2FBQ0o7WUFDRCxPQUFPLEVBQUUsQ0FBQyxrQ0FBcUIsQ0FBQztTQUNuQyxDQUFDO0lBQ04sQ0FBQztJQUVPLE1BQU0sQ0FBQyxvQkFBb0IsQ0FDL0IsT0FBaUM7UUFFakMsSUFBSSxPQUFPLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM1QyxPQUFPLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUNELE9BQU87WUFDSCxJQUFJLENBQUMsMEJBQTBCLENBQUMsT0FBTyxDQUFDO1lBQ3hDO2dCQUNJLE9BQU8sRUFBRSxPQUFPLENBQUMsUUFBUTtnQkFDekIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO2FBQzdCO1NBQ0osQ0FBQztJQUNOLENBQUM7SUFFTyxNQUFNLENBQUMsMEJBQTBCLENBQ3JDLE9BQWlDO1FBRWpDLElBQUksT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLE9BQU87Z0JBQ0gsT0FBTyxFQUFFLGtDQUFxQjtnQkFDOUIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO2dCQUM5QixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFO2FBQy9CLENBQUM7UUFDTixDQUFDO1FBQ0QsT0FBTztZQUNILE9BQU8sRUFBRSxrQ0FBcUI7WUFDOUIsVUFBVSxFQUFFLEtBQUssRUFBRSxjQUFvQyxFQUFFLEVBQUUsQ0FDdkQsY0FBYyxDQUFDLG1CQUFtQixFQUFFO1lBQ3hDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQztTQUNwRCxDQUFDO0lBQ04sQ0FBQztDQUNKLENBQUE7QUExRFksb0NBQVk7dUJBQVosWUFBWTtJQVh4QixJQUFBLG1CQUFNLEdBQUU7SUFDUixJQUFBLDRCQUFlLEVBQUM7UUFDYixTQUFTLEVBQUU7WUFDUCwyQkFBMkI7WUFDM0Isc0JBQXNCO1NBQ3pCO1FBQ0QsT0FBTyxFQUFFO1lBQ0wsMkJBQTJCO1lBQzNCLHNCQUFzQjtTQUN6QjtLQUNKLENBQUM7R0FDVyxZQUFZLENBMER4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgTVVMVEVSX01PRFVMRV9PUFRJT05TLFxuICAgIE11bHRlck1vZHVsZUFzeW5jT3B0aW9ucywgTXVsdGVyT3B0aW9ucyxcbiAgICBNdWx0ZXJPcHRpb25zRmFjdG9yeSxcbn0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7TVVMVEVSX01PRFVMRV9JRH0gZnJvbSAnLi9tdWx0ZXIuY29uc3RhbnRzJztcbmltcG9ydCB7R2xvYmFsLCBNb2R1bGVEZWNvcmF0b3J9IGZyb20gXCIuLi9kZWNvcmF0b3JzXCI7XG5pbXBvcnQge1Byb3ZpZGVyVHlwZX0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQge1xuICAgIER5bmFtaWNNb2R1bGVJbnRlcmZhY2UsXG4gICAgRXhpc3RpbmdQcm92aWRlcixcbiAgICBGYWN0b3J5UHJvdmlkZXIsXG4gICAgVmFsdWVQcm92aWRlclxufSBmcm9tIFwiLi4vY29udHJhY3RzXCI7XG5pbXBvcnQge3JhbmRvbVN0cmluZ0dlbmVyYXRvcn0gZnJvbSBcIi4uL3V0aWxzXCI7XG5pbXBvcnQge0ZpbGVJbnRlcmNlcHRvcn0gZnJvbSBcIi4vaW50ZXJjZXB0b3JzXCI7XG5cbmxldCBvcHRpb25zOiBNdWx0ZXJPcHRpb25zO1xuXG5jb25zdCBNdWx0ZXJNb2R1bGVPcHRpb25zUHJvdmlkZXIgPSB7XG4gICAgcHJvdmlkZTogTVVMVEVSX01PRFVMRV9PUFRJT05TLFxuICAgIHVzZUNsYXNzOiBGaWxlSW50ZXJjZXB0b3Jcbn1cblxuY29uc3QgTXVsdGVyTW9kdWxlSWRQcm92aWRlciA9IHtcbiAgICBwcm92aWRlOiBNVUxURVJfTU9EVUxFX0lELFxuICAgIHVzZVZhbHVlOiByYW5kb21TdHJpbmdHZW5lcmF0b3IoKSxcbn1cblxuQEdsb2JhbCgpXG5ATW9kdWxlRGVjb3JhdG9yKHtcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgTXVsdGVyTW9kdWxlT3B0aW9uc1Byb3ZpZGVyLFxuICAgICAgICBNdWx0ZXJNb2R1bGVJZFByb3ZpZGVyXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIE11bHRlck1vZHVsZU9wdGlvbnNQcm92aWRlcixcbiAgICAgICAgTXVsdGVyTW9kdWxlSWRQcm92aWRlclxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTXVsdGVyTW9kdWxlIHtcbiAgICBzdGF0aWMgcmVnaXN0ZXIoXG4gICAgICAgIHByb3ZpZGVyczogQXJyYXk8VmFsdWVQcm92aWRlciB8IEZhY3RvcnlQcm92aWRlciB8IEV4aXN0aW5nUHJvdmlkZXI+LFxuICAgICk6IER5bmFtaWNNb2R1bGVJbnRlcmZhY2Uge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbW9kdWxlOiBNdWx0ZXJNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFsuLi5wcm92aWRlcnNdLFxuICAgICAgICAgICAgZXhwb3J0czogWy4uLnByb3ZpZGVycy5tYXAoaXRlbSA9PiBpdGVtLnByb3ZpZGUpXSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBzdGF0aWMgcmVnaXN0ZXJBc3luYyhvcHRpb25zOiBNdWx0ZXJNb2R1bGVBc3luY09wdGlvbnMpOiBEeW5hbWljTW9kdWxlSW50ZXJmYWNlIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG1vZHVsZTogTXVsdGVyTW9kdWxlLFxuICAgICAgICAgICAgaW1wb3J0czogb3B0aW9ucy5pbXBvcnRzLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAgLi4udGhpcy5jcmVhdGVBc3luY1Byb3ZpZGVycyhvcHRpb25zKSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IE1VTFRFUl9NT0RVTEVfSUQsXG4gICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiByYW5kb21TdHJpbmdHZW5lcmF0b3IoKSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGV4cG9ydHM6IFtNVUxURVJfTU9EVUxFX09QVElPTlNdLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGNyZWF0ZUFzeW5jUHJvdmlkZXJzKFxuICAgICAgICBvcHRpb25zOiBNdWx0ZXJNb2R1bGVBc3luY09wdGlvbnMsXG4gICAgKTogUHJvdmlkZXJUeXBlW10ge1xuICAgICAgICBpZiAob3B0aW9ucy51c2VFeGlzdGluZyB8fCBvcHRpb25zLnVzZUZhY3RvcnkpIHtcbiAgICAgICAgICAgIHJldHVybiBbdGhpcy5jcmVhdGVBc3luY09wdGlvbnNQcm92aWRlcihvcHRpb25zKV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlQXN5bmNPcHRpb25zUHJvdmlkZXIob3B0aW9ucyksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogb3B0aW9ucy51c2VDbGFzcyxcbiAgICAgICAgICAgICAgICB1c2VDbGFzczogb3B0aW9ucy51c2VDbGFzcyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlQXN5bmNPcHRpb25zUHJvdmlkZXIoXG4gICAgICAgIG9wdGlvbnM6IE11bHRlck1vZHVsZUFzeW5jT3B0aW9ucyxcbiAgICApOiBQcm92aWRlclR5cGUge1xuICAgICAgICBpZiAob3B0aW9ucy51c2VGYWN0b3J5KSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IE1VTFRFUl9NT0RVTEVfT1BUSU9OUyxcbiAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiBvcHRpb25zLnVzZUZhY3RvcnksXG4gICAgICAgICAgICAgICAgaW5qZWN0OiBvcHRpb25zLmluamVjdCB8fCBbXSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE1VTFRFUl9NT0RVTEVfT1BUSU9OUyxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGFzeW5jIChvcHRpb25zRmFjdG9yeTogTXVsdGVyT3B0aW9uc0ZhY3RvcnkpID0+XG4gICAgICAgICAgICAgICAgb3B0aW9uc0ZhY3RvcnkuY3JlYXRlTXVsdGVyT3B0aW9ucygpLFxuICAgICAgICAgICAgaW5qZWN0OiBbb3B0aW9ucy51c2VFeGlzdGluZyB8fCBvcHRpb25zLnVzZUNsYXNzXSxcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=