@globalart/nestcord
Version:
A module for creating Discord bots using NestJS, based on Discord.js
32 lines (31 loc) • 1.59 kB
JavaScript
;
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NESTCORD_LOCALIZATION_OPTIONS_TOKEN = exports.NestCordLocalizationConfigurableModule = void 0;
const common_1 = require("@nestjs/common");
const adapters_1 = require("./adapters");
const providers_1 = require("./providers");
const resolvers_1 = require("./resolvers");
_a = new common_1.ConfigurableModuleBuilder()
.setClassMethodName('forRoot')
.setFactoryMethodName('createModuleConfig')
.setExtras({
adapter: new adapters_1.DefaultLocalizationAdapter(),
resolvers: resolvers_1.UserResolver,
}, (definition, extras) => {
const adapterProvider = {
provide: providers_1.LOCALIZATION_ADAPTER,
useFactory: (options) => options.adapter,
inject: [exports.NESTCORD_LOCALIZATION_OPTIONS_TOKEN],
};
const resolversProviders = {
provide: providers_1.LOCALIZATION_RESOLVERS,
useFactory: (options) => {
const resolvers = (options === null || options === void 0 ? void 0 : options.resolvers) || extras.resolvers;
return Array.isArray(resolvers) ? resolvers : [resolvers];
},
inject: [exports.NESTCORD_LOCALIZATION_OPTIONS_TOKEN],
};
return Object.assign(Object.assign({}, definition), { providers: [adapterProvider, ...definition.providers, resolversProviders], exports: [...(definition.exports || []), adapterProvider] });
})
.build(), exports.NestCordLocalizationConfigurableModule = _a.ConfigurableModuleClass, exports.NESTCORD_LOCALIZATION_OPTIONS_TOKEN = _a.MODULE_OPTIONS_TOKEN;