@airtasker/form-schema-compiler
Version:
a form schema compiler
34 lines (26 loc) • 1.1 kB
JavaScript
;
exports.__esModule = true;
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
var toString = function toString(obj) {
switch (_typeof(obj)) {
case "string":
return obj;
case "number":
if (Number.isNaN(obj)) {
return "";
}
return obj.toString();
default:
// all other types will be convert to '' for convenience
return "";
}
};
var evaluateTemplateLiteral = function evaluateTemplateLiteral(_ref, env, evaluate) {
var expressions = _ref.expressions,
quasis = _ref.quasis;
return quasis.reduce(function (retVal, _ref2, i) {
var value = _ref2.value;
return retVal + value + toString(i < expressions.length && evaluate(expressions[i], env));
}, "");
};
exports["default"] = evaluateTemplateLiteral;