forked from 418sec/nested-objects-util
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.min.js
1 lines (1 loc) · 2.73 KB
/
index.min.js
1
!function(){"use strict";var e=Array.isArray||(Array.isArray=function(e){return""+e!==e&&"[object Array]"==={}.toString.call(e)}),t=function(t){return e(t)&&0===t.length},n=[].indexOf||function(e){var t=this.length>>>0,n=Number(arguments[1])||0;for((n=n<0?Math.ceil(n):Math.floor(n))<0&&(n+=t);n<t;n++)if(n in this&&this[n]===e)return n;return-1};function r(t,n){var r={};if(function t(n,i){if(Object(n)!==n)r[i]=n;else if(e(n)){for(var o=0,f=n.length;o<f;o++)t(n[o],i?i+"."+o:""+o);0===f&&(r[i]=[])}else{var u=!0;for(var l in n)u=!1,t(n[l],i?i+"."+l:l);u&&(r[i]={})}}(t,""),n){for(var i,o={},f=Object.keys(r).sort(),u=0;u<f.length;u++)o[i=f[u]]=r[i];return o}return r}function i(t){if(Object(t)!==t||e(t))return t;var r,i,o,f,u,l={};for(var a in t){r=l,i="",f=0;do{o=n.call(a,".",f),u=a.substring(f,~o?o:void 0),r=r[i]||(r[i]=isNaN(parseInt(u))?{}:[]),i=u,f=o+1}while(o>=0);r[i]=t[a]}return l[""]}var o="~",f="\\x"+("0"+o.charCodeAt(0).toString(16)).slice(-2),u=new RegExp(f,"g");function l(e){var t,r=[],i=[e],l=[e],a=[o],c=e,d=1;return function(e,s){return""!==e&&(c!==this&&(t=d-n.call(i,this)-1,d-=t,i.splice(d,i.length),r.splice(d-1,r.length),c=this),"object"==typeof s&&s&&(~n.call(i,s)||i.push(c=s),d=i.length,(t=n.call(l,s))<0?(t=l.push(s)-1,r.push((""+e).replace(u,f)),a[t]=o+r.join(o)):s=a[t])),s}}function a(e,t){return t?JSON.stringify(e,l(e)):JSON.parse(JSON.stringify(e,l(e)))}var c={unflatten:i,flatten:r,accessProperty:function(e,t){var n,r;for("string"==typeof e&&(e=e.split(".")),t=t||("undefined"!=typeof window?window:global),n=0;n<e.length;n++){if(r=e[n],!t||t&&!t.hasOwnProperty(r))return;t=t[r]}return t},discardCircular:a,filterValue:function(t,o,f){t=r(t=a(t));var u,l={},c=e(o);for(var d in t)u=t[d],(c&&~n.call(o,u)||t[d]===o)&&(l[d]=u);return f?l:i(l)},downloadStringified:function(e,t){var n=JSON.stringify(e,null,t||2);if("undefined"!=typeof document){var r=new Blob([n],{type:"text/plain"}),i=document.createElement("a");if("undefined"!=typeof Blob&&"function"==typeof URL.createObjectURL&&void 0!==i.download)return i.href=URL.createObjectURL(r),i.download="object.txt",void i.click()}return n},areObjectsEqual:function(e,t,n){var i,o;for(n||(n=[]),e=r(e=a(e),!0),t=r(t=a(t),!0),i=0;i<n.length;i++)delete e[o=n[i]],delete t[o];return JSON.stringify(e)===JSON.stringify(t)},getObjectsDiff:function(e,n,o,f){e=r(e=a(e),!!o),n=r(n=a(n),!!o);var u,l,c,d={},s=Object.keys(e),h=Object.keys(n);for(u=0;u<h.length;u++)(c=e[l=h[u]])===n[l]||t(c)||(d[l]=n[l]);for(u=0;u<s.length;u++)void 0===n[l=s[u]]&&(d[l]="{deleted}");if(f)return d;var v=i(d);return void 0===v?{}:v}};"undefined"!=typeof module&&void 0!==module.exports?module.exports=c:"undefined"!=typeof document&&("function"==typeof define&&define.amd?define([],(function(){return c})):window.NestedObjectsUtil=c)}();