Files
bruno/packages/bruno-lang/v2/src/jsonToEnv.js
2026-01-30 17:07:13 +05:30

55 lines
1.1 KiB
JavaScript

const _ = require('lodash');
const { getValueString, indentString } = require('./utils');
const envToJson = (json) => {
const variables = _.get(json, 'variables', []);
const color = _.get(json, 'color', null);
const vars = variables
.filter((variable) => !variable.secret)
.map((variable) => {
const { name, value, enabled } = variable;
const prefix = enabled ? '' : '~';
return indentString(`${prefix}${name}: ${getValueString(value)}`);
});
const secretVars = variables
.filter((variable) => variable.secret)
.map((variable) => {
const { name, enabled } = variable;
const prefix = enabled ? '' : '~';
return indentString(`${prefix}${name}`);
});
let output = '';
if (!variables || !variables.length) {
output += `vars {
}
`;
}
if (vars.length) {
output += `vars {
${vars.join('\n')}
}
`;
}
if (secretVars.length) {
output += `vars:secret [
${secretVars.join(',\n')}
]
`;
}
if (color) {
output += `color: ${color}
`;
}
return output;
};
module.exports = envToJson;