sds
Version:
structured data search
42 lines (38 loc) • 3.16 kB
JavaScript
// koffee 1.14.0
/*
0000000 00000000 000
000 000 000 000
000 000 0000000 000
000 000 000 000
0000000 00000000 0000000
*/
var del;
del = function(object, keypath) {
var k, kp, o;
if (typeof keypath === 'string') {
keypath = keypath.split('.');
}
if (!(keypath instanceof Array)) {
throw "invalid keypath: " + (JSON.stringify(keypath));
}
kp = [].concat(keypath);
o = object;
while (kp.length > 1) {
k = kp.shift();
o = o[k];
if (!o) {
break;
}
}
if (kp.length === 1 && (o != null)) {
if (o instanceof Array) {
o.splice(parseInt(kp[0]));
} else if (o instanceof Object) {
delete o[kp[0]];
}
}
return object;
};
module.exports = del;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsLmpzIiwic291cmNlUm9vdCI6Ii4uL2NvZmZlZSIsInNvdXJjZXMiOlsiZGVsLmNvZmZlZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7O0FBQUEsSUFBQTs7QUFXQSxHQUFBLEdBQU0sU0FBQyxNQUFELEVBQVMsT0FBVDtBQUVGLFFBQUE7SUFBQSxJQUErQixPQUFPLE9BQVAsS0FBbUIsUUFBbEQ7UUFBQSxPQUFBLEdBQVUsT0FBTyxDQUFDLEtBQVIsQ0FBYyxHQUFkLEVBQVY7O0lBQ0EsSUFBc0QsQ0FBSSxDQUFDLE9BQUEsWUFBbUIsS0FBcEIsQ0FBMUQ7QUFBQSxjQUFNLG1CQUFBLEdBQW1CLENBQUMsSUFBSSxDQUFDLFNBQUwsQ0FBZSxPQUFmLENBQUQsRUFBekI7O0lBRUEsRUFBQSxHQUFLLEVBQUUsQ0FBQyxNQUFILENBQVUsT0FBVjtJQUNMLENBQUEsR0FBSTtBQUVKLFdBQU0sRUFBRSxDQUFDLE1BQUgsR0FBWSxDQUFsQjtRQUNJLENBQUEsR0FBSSxFQUFFLENBQUMsS0FBSCxDQUFBO1FBQ0osQ0FBQSxHQUFJLENBQUUsQ0FBQSxDQUFBO1FBQ04sSUFBRyxDQUFJLENBQVA7QUFBYyxrQkFBZDs7SUFISjtJQUtBLElBQUcsRUFBRSxDQUFDLE1BQUgsS0FBYSxDQUFiLElBQW1CLFdBQXRCO1FBQ0ksSUFBRyxDQUFBLFlBQWEsS0FBaEI7WUFDSSxDQUFDLENBQUMsTUFBRixDQUFTLFFBQUEsQ0FBUyxFQUFHLENBQUEsQ0FBQSxDQUFaLENBQVQsRUFESjtTQUFBLE1BRUssSUFBRyxDQUFBLFlBQWEsTUFBaEI7WUFDRCxPQUFPLENBQUUsQ0FBQSxFQUFHLENBQUEsQ0FBQSxDQUFILEVBRFI7U0FIVDs7V0FLQTtBQWxCRTs7QUFvQk4sTUFBTSxDQUFDLE9BQVAsR0FBaUIiLCJzb3VyY2VzQ29udGVudCI6WyIjIyNcbjAwMDAwMDAgICAgMDAwMDAwMDAgIDAwMCAgICAgIFxuMDAwICAgMDAwICAwMDAgICAgICAgMDAwICAgICAgXG4wMDAgICAwMDAgIDAwMDAwMDAgICAwMDAgICAgICBcbjAwMCAgIDAwMCAgMDAwICAgICAgIDAwMCAgICAgIFxuMDAwMDAwMCAgICAwMDAwMDAwMCAgMDAwMDAwMCAgXG4jIyNcblxuIyBhY2NlcHRzIGFuIG9iamVjdCBhbmQgYSBrZXlwYXRoIGFzIGFuIGFycmF5IG9yIHN0cmluZ1xuIyByZXR1cm5zIHRoZSBvYmplY3Qgd2l0aCB2YWx1ZSByZW1vdmVkIGF0IGtleXBhdGhcblxuZGVsID0gKG9iamVjdCwga2V5cGF0aCkgLT5cbiAgICBcbiAgICBrZXlwYXRoID0ga2V5cGF0aC5zcGxpdCAnLicgaWYgdHlwZW9mKGtleXBhdGgpID09ICdzdHJpbmcnXG4gICAgdGhyb3cgXCJpbnZhbGlkIGtleXBhdGg6ICN7SlNPTi5zdHJpbmdpZnkga2V5cGF0aH1cIiBpZiBub3QgKGtleXBhdGggaW5zdGFuY2VvZiBBcnJheSlcbiAgICBcbiAgICBrcCA9IFtdLmNvbmNhdCBrZXlwYXRoXG4gICAgbyA9IG9iamVjdFxuICAgIFxuICAgIHdoaWxlIGtwLmxlbmd0aCA+IDFcbiAgICAgICAgayA9IGtwLnNoaWZ0KClcbiAgICAgICAgbyA9IG9ba11cbiAgICAgICAgaWYgbm90IG8gdGhlbiBicmVha1xuICAgICAgICAgICAgXG4gICAgaWYga3AubGVuZ3RoID09IDEgYW5kIG8/XG4gICAgICAgIGlmIG8gaW5zdGFuY2VvZiBBcnJheVxuICAgICAgICAgICAgby5zcGxpY2UgcGFyc2VJbnQga3BbMF1cbiAgICAgICAgZWxzZSBpZiBvIGluc3RhbmNlb2YgT2JqZWN0XG4gICAgICAgICAgICBkZWxldGUgb1trcFswXV1cbiAgICBvYmplY3RcblxubW9kdWxlLmV4cG9ydHMgPSBkZWxcbiJdfQ==
//# sourceURL=../coffee/del.coffee