UNPKG

jsongraph

Version:

powerful minimalist graph/dataflow programming based on jsonschema references (nodejs/coffeescript)

65 lines (61 loc) 1.51 kB
// Generated by CoffeeScript 1.9.3 (function() { var expr; expr = require('property-expr'); module.exports = (function(me) { me.__parse = function(k, data) { var integer, itemstr; if (typeof k !== 'string') { return k; } integer = false; return itemstr = k.replace(/(\{)(.*?)(\})/g, function($0, $1, $2) { var err, result; if ($2 == null) { return String('{}'); } if (data == null) { return ''; } result = ''; if ((data[$2] != null) && typeof data[$2] === 'function') { result = data[$2](); } else { if (data[$2] != null) { result = data[$2]; } else { try { result = expr.getter($2)(data); } catch (_error) { err = _error; result = ''; } } } me.__parse(result); return result; }); }; me.parse = function(json, data) { var k, nk, nv, v; if (typeof json === "object") { for (k in json) { v = json[k]; nk = me.__parse(k, data); nv = me.__parse(v, data); if (typeof nv === 'object') { nv = me.parse(nv, data); } if (nv != null) { json[nk] = nv; } if (nk !== k) { delete json[k]; } } } return json; }; return me; })({}); }).call(this);