UNPKG

@catladder/cli

Version:

Panter cli tool for cloud CI/CD and DevOps

35 lines 1.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAllEnvsByTrigger = exports.getAllEnvsInAllComponents = exports.getAllEnvs = void 0; const types_1 = require("../types"); const getConfiguredAndDefaultEnvs = (config, componentName, envTypes) => { var _a, _b; const configuredEnvs = (_a = config.components[componentName].env) !== null && _a !== void 0 ? _a : {}; // the default envs have the same name as the env types // these can be disabled with settimg them to `false` // this is the list of all not disabled envs. These are always returned const enabledDefaultEnvs = envTypes.filter((e) => configuredEnvs[e] !== false); const configuredCustomEnvs = Object.entries((_b = config.components[componentName].env) !== null && _b !== void 0 ? _b : {}) .filter(([, config]) => config && "type" in config && config.type && envTypes.includes(config.type)) .map(([envName]) => envName); return [...new Set([...enabledDefaultEnvs, ...configuredCustomEnvs])]; }; const getAllEnvs = (config, componentName) => { return getConfiguredAndDefaultEnvs(config, componentName, types_1.DEFAULT_ENV_TYPES); }; exports.getAllEnvs = getAllEnvs; const getAllEnvsInAllComponents = (config) => { return [ ...new Set(Object.keys(config.components).flatMap((c) => (0, exports.getAllEnvs)(config, c))), ]; }; exports.getAllEnvsInAllComponents = getAllEnvsInAllComponents; const getAllEnvsByTrigger = (config, componentName, trigger) => { const envTypesByTrigger = (0, types_1.getEnvTypesByTrigger)(trigger); return getConfiguredAndDefaultEnvs(config, componentName, envTypesByTrigger); }; exports.getAllEnvsByTrigger = getAllEnvsByTrigger; //# sourceMappingURL=configruedEnvs.js.map