@re-flex/object-path
Version:
Re-flex UTILS _> object-path
4 lines (3 loc) • 1.08 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e||self).objectPath=t()}(this,function(){/*#__PURE__*/
return function(){function e(e){this.source=e}var t=e.prototype;return t.parsingKey=function(e){return e.split(".").map(function(e){return Number.isNaN(Number(e))?e:Number(e)})},t.get=function(e){return e?this.parsingKey(e).reduce(function(e,t,n,i){return void 0===e||void 0===(null==e?void 0:e[t])?void 0:e=e[t]},this.source):this.source},t.set=function(e,t,n){if(void 0===n&&(n=!0),0!==e.length){var i=this.parsingKey(e);i.reduce(function(e,r,u){return u===i.length-1?(e[r]=t,!0):(void 0===e[r]&&n&&(e[r]={}),e[r])},this.source)}},t.push=function(e,t){var n=this.get(e);return!!Array.isArray(n)&&(n.push(t),this.set(e,n),!0)},t.del=function(e){if(0===e.length)return!1;var t=this.parsingKey(e);return t.reduce(function(e,n,i){return i===t.length-1?(delete e[n],!0):e[n]},this.source),!1},t.has=function(e){return void 0!==this.get(e)},e}()});
//# sourceMappingURL=object-path.umd.js.map