@foxpage/foxpage-core
Version:
foxpage core
28 lines (27 loc) • 807 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.executeObject = void 0;
const lodash_1 = require("lodash");
const string_1 = require("./string");
/**
* parse object
*
* @export
* @param {*} val
* @param {Record<string, any>} values
* @param {string[]} messages
* @return {*} {*}
*/
function executeObject(val, values, messages = []) {
if (typeof val === 'string') {
return (0, string_1.executeString)(val, values, messages);
}
else if ((0, lodash_1.isPlainObject)(val)) {
return (0, lodash_1.mapValues)(val, childVar => executeObject(childVar, values, messages));
}
else if (Array.isArray(val)) {
return val.map(v => executeObject(v, values, messages));
}
return val;
}
exports.executeObject = executeObject;