nest-simple-config
Version:
A powerful and flexible configuration management library for NestJS applications. Supports JSON, YAML file loading, environment variable overrides, immutable configurations, and type-safe configuration access with dependency injection.
26 lines (25 loc) • 1.08 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CommandlineConfigurationProvider = void 0;
const config_provider_abstract_1 = require("./config-provider.abstract");
const flat_1 = require("flat");
const minimist_1 = __importDefault(require("minimist"));
class CommandlineConfigurationProvider extends config_provider_abstract_1.ConfigurationProvider {
constructor() {
super();
}
loadConfigObject() {
const argv = (0, minimist_1.default)(process.argv.slice(2));
// 去掉 _: [],
delete argv._;
// 必須將 --ary.0=1 --ary.1=2 所得到的 ary: { '0': 1, '1': 2 } },轉換成
// ary: [1, 2] 的形式
// 這裡使用 unflatten 來處理
const unflattenedArgv = (0, flat_1.unflatten)(argv, { overwrite: true });
return unflattenedArgv;
}
}
exports.CommandlineConfigurationProvider = CommandlineConfigurationProvider;