
Untitled
By: a guest on
Apr 29th, 2012 | syntax:
None | size: 0.86 KB | hits: 20 | expires: Never
(function() {
// mimicing php's array_combine()
function combine(a, b) {
var i, o = {};
for (i in a)
o[a[i]] = b[i];
return o;
}
// parses recordsets and returns an array of object instances
function recSet(data, facts) {
facts = facts || window;
var head = data.head.split(data.fldt),
recs = data.recs.split(data.rect),
fact = data.fact ? facts[data.fact] : function(obj) {return obj;};
for (var i in recs)
recs[i] = fact(combine(head, recs[i].split(data.fldt)));
return recs;
}
// factories
var facts = {
person: function(obj) {return obj;}
};
// recordset
var data = {
type: "delim",
fldt: "|",
rect: "~",
fact: "person", // object instantiation factory
head: "fname|lname|moomoo",
recs: "a|b|c~d|e|f",
};
console.log(JSON.stringify(data));
console.log(JSON.stringify(recSet(data, facts)));
})();