UNPKG

oprah

Version:

Package to deploy parameters to AWS

53 lines (45 loc) 1.28 kB
// TODO: this file needs a lot of tests const get = require('lodash/get'); const { promptForValues } = require('./prompt-for-values'); const { validateExistingValues } = require('./validate-existing-values'); const makePromptRequiredConfigs = ({ parameterStore }) => ({ parameterNames, required, interactive, missingOnly }) => { const normalizedRequired = required || {}; return parameterStore .getParameters({ parameterNames }) .then(currentValues => { if (!interactive) { return validateExistingValues({ requiredValues: normalizedRequired, currentValues }); } if (missingOnly) { const missingValues = Object.keys(normalizedRequired).reduce( (acc, key) => { if (!get(currentValues, key)) { return { ...acc, [key]: get(normalizedRequired, key) }; } return acc; }, {} ); return promptForValues({ requiredValues: missingValues, currentValues: {} }); } return promptForValues({ requiredValues: normalizedRequired, currentValues }); }); }; module.exports = { makePromptRequiredConfigs };