UNPKG

ci-scripts

Version:

Useful scripts to execute from your CI runner. For example, post to Slack and GitHub when your build completes:

25 lines (18 loc) 568 B
const createParamEvalWrapper = (ci) => [ '(function (ci, {' + Object.keys(ci).join(',') + '}) { return `', '`; })', ]; const evalParam = (ci, param) => { if (typeof param === 'function') { return param(ci); } const doEval = Boolean(ci.params.eval || ci.params.e); if (doEval) { const wrapper = createParamEvalWrapper(ci); const script = wrapper[0] + String(param) + wrapper[1]; // eslint-disable-next-line no-eval return eval(script)(ci, ci); } return param; }; module.exports = evalParam;