You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.1 KiB
37 lines
1.1 KiB
/* eslint no-param-reassign: 0 */ // --> OFF
|
|
|
|
const loadDefaultValues = (inputs, details) => {
|
|
if (!inputs) {
|
|
inputs = {};
|
|
}
|
|
const defaultInputs = details().Inputs;
|
|
for (let i = 0; i < defaultInputs.length; i += 1) {
|
|
if (typeof inputs[defaultInputs[i].name] === 'string') {
|
|
inputs[defaultInputs[i].name] = typeof inputs[defaultInputs[i].name].trim();
|
|
}
|
|
|
|
if (inputs[defaultInputs[i].name] === undefined
|
|
|| inputs[defaultInputs[i].name] === ''
|
|
) {
|
|
inputs[defaultInputs[i].name] = defaultInputs[i].defaultValue;
|
|
}
|
|
|
|
// convert string to bolean esle false
|
|
if (defaultInputs[i].type === 'boolean') {
|
|
inputs[defaultInputs[i].name] = inputs[defaultInputs[i].name] === 'true';
|
|
}
|
|
|
|
// convert string to number else 0
|
|
if (defaultInputs[i].type === 'number') {
|
|
inputs[defaultInputs[i].name] = Number(inputs[defaultInputs[i].name]);
|
|
// eslint-disable-next-line no-restricted-globals
|
|
if (!isNaN(inputs[defaultInputs[i].name])) {
|
|
inputs[defaultInputs[i].name] = 0;
|
|
}
|
|
}
|
|
}
|
|
return inputs;
|
|
};
|
|
|
|
module.exports = loadDefaultValues;
|