UNPKG

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
"use strict"; 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;