UNPKG

digi

Version:
2 lines (1 loc) 7.8 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).digi=t()}(this,function(){"use strict";function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function i(e){return toString.call(e)}function u(e){var t,n=i(e);if(n!==l&&n!==c)return e;for(var r in t=n===c?Object.assign({},e):a(e))t[r]=u(t[r]);return t}function n(e,t){for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&!1===t(e[n],n))break}function s(e,t){(i(e)===l?function(e,t){for(var n=0;n<e.length&&!1!==t(e[n],n);n++);}:n)(e,t)}function r(e){return t(e)}function o(t,e,n){var r="is"+e[0].toUpperCase()+e.replace(/^.|Tag$/g,"");d[r]=function(e){return n(e)===t},Object.defineProperty(d[r],"name",{value:r})}var e={stringTag:i(""),objectTag:i({}),arrayTag:i([]),numberTag:i(1),functionTag:i(toString),undefinedTag:i(void 0),nullTag:i(null)},c=e.objectTag,l=e.arrayTag,f={tofObjectTag:r({})},d={};n(e,function(e,t){return o(e,t,i)}),n(f,function(e,t){return o(e,t,r)});function p(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.join(".").replace(E,".").replace(P,".").replace(x,"")}function v(e){return e.replace(E,".").replace(P,".").replace(x,"").split(".")}function g(e,t,n){m(t)&&(t=v(t));var r=e,i=t.pop();s(t,function(e){S(r[e])&&(r[e]={}),r=r[e]}),r[i]=n}function y(e){return!(j(e)&&0<e.length)&&(!O(e)||A===JSON.stringify(e))}function b(e,t,n){var r=!(2<arguments.length&&void 0!==n)||n;W[e]||(W[e]=[],Object.defineProperties(W[e],{newVal:{writable:!0},oldVal:{writable:!0}})),t&&-1===W[e].indexOf(t)&&(W[e].push(t),r&&t(W[e].newVal,W[e].oldVal))}function h(e){var t=[];return s(e,function(e){return j(e)?t.push(e):t.push([e])}),C[++h.id]=t,h.id}var m=d.isString,O=d.isObject,w=d.isTofObject,$=d.isFunction,j=d.isArray,N=d.isNumber,S=d.isUndefined,T=d.isNull,E=/[\u005b\u005d]/g,P=/\.{2,}/g,x=/^\.|\.$/g,A=JSON.stringify({}),U=Object.freeze({__proto__:null,cloneDeep:u,forEach:s,isString:m,isObject:O,isTofObject:w,isFunction:$,isArray:j,isNumber:N,isUndefined:S,isNull:T,pathJoin:p,pathSplit:v,pick:function(t,e){m(e)&&(e=[e]);var n={};return s(e,function(e){Object.prototype.hasOwnProperty.call(t,e)&&(n[e]=t[e])}),n},set:g,isEmpty:y}),F="1.0.13",V={},W={},C={};Object.defineProperty(h,"id",{value:0,writable:!0});function I(e,a){return new Proxy(e,{get:function(e,t){return e[t]},set:function(n,r,i){var e=n[r];if(JSON.stringify(i)===JSON.stringify(e))return!0;var t=p(a,r);if(!function n(r,t,i){W[r]||b(r),t=u(t),i=u(i),W[r].newVal=t,W[r].oldVal=i,w(i)&&toString.call(t)!==toString.call(i)&&s(i,function(e,t){return n(p(r,t),void 0,e)}),s(W[r],function(e){return e(t,i)})}(t,i,e),O(i))O(e)||(n[r]=I({},t)),s(n[r],function(e,t){Object.prototype.hasOwnProperty.call(i,t)||(n[r][t]=void 0,delete n[r][t])}),s(i,function(e,t){return n[r][t]=e});else if(j(i)){j(e)||(n[r]=I([],t));for(var o=i.length;o<n[r].length;o++)n[r][o]=void 0,delete n[r][o];s(i,function(e,t){return n[r][t]=e})}else n[r]=i;return!0}})}function J(e){var t=(1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}).watch,i=++J.id,n=I({},i);return s(e,function(e,t){return n[t]=e}),s(t,function(e,t){return b(p(i,t),e,!1)}),Object.defineProperty(n,"$tp",{value:function(e){for(var t=arguments.length,n=new Array(1<t?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return function(e){for(var t=arguments.length,n=new Array(1<t?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];if(0===n.length)return"{{".concat(e,"}}");var i=h(n);return"{{".concat(e,"|").concat(i,"}}")}.apply(void 0,[p(i,e)].concat(n))}}),n}Object.defineProperty(J,"id",{value:0,writable:!0});function _(e,t,n){var o=e;s(t,function(i){s(i.tp,function(e){var t,n=i.val;e.filterId&&s((t=e.filterId,C[t]),function(e){var t=(e=a(e))[0];e[0]=n,n=t.apply(void 0,a(e))});var r=n;w(r)?r=JSON.stringify(r):S(r)||T(r)?r="":Object.is(r,NaN)&&(r=0),o=o.replace(e.RE,r),""!==r&&o===r+""&&(o=n)})}),n(o)}function R(e,n,r,i,o){var a={},u=[],c={};s(i,function(t,e){a[e]=function(e){t.val=e,_(r,i,function(e){return o(e,n)})},s(t.tp,function(e){return e.filterId&&u.push(e.filterId)})});var t=e.$removeWatch;e.$removeWatch=function(){s(a,function(e,t){return r=e,void(-1!==(i=W[n=t].indexOf(r))&&W[n].splice(i,1));var n,r,i}),t&&t()};var l=e.$addWatch;e.$addWatch=function(){s(a,function(e,t){return b(t,e)}),l&&l()};var f=e.$removeFilter;e.$removeFilter=function(){s(u,function(e){return c[e]=(n=C[t=e],delete C[t],n||c[e]);var t,n}),f&&f()};var d=e.$restoreFilter;e.$restoreFilter=function(){s(c,function(e,t){return n=e,C[t]=n;var n}),d&&d()}}function k(n,r,e,i){if(O(e)||j(e))s(e,function(e,t){return k(n,p(r,t),e,i)});else{i(e,r);var t={},o="";do{if(null!==(o=M.exec(e))){var a=o[1],u=o[2];t[u]||(t[u]={val:"",tp:{}}),t[u].tp[a]||(t[u].tp[a]={RE:RegExp(o[0].replace("|","\\|"),"g"),filterId:o[3]})}}while(null!==o);y(t)||R(n,r,e,t,i)}}function D(r){var i=!1;Object.defineProperty(r,"$isUpdate",{get:function(){return i},set:function(e){var t,n;e!==i&&(e&&r.parentNode&&r.parentNode.$isUpdate?(i=e,(n=r).$restoreFilter&&n.$restoreFilter(),n.$addWatch&&n.$addWatch(),s(n.childNodes,function(e){return e.$isUpdate=!0})):e||(i=e,(t=r).$removeWatch&&t.$removeWatch(),t.$removeFilter&&t.$removeFilter(),s(t.childNodes,function(e){return e.$isUpdate=!1})))}})}function z(e){var t=document.createTextNode(e);return k(t,"nodeValue",e,function(e){return t.nodeValue=e}),D(t),t}function B(e,n){if((m(e)||S(e))&&(e={tagName:e}),!O(e))return window.console.error("createElement Error: ",e),void window.console.log("View document: https://digi1874.github.io/digi-doc/".concat(F,"/global.html#digi"));var c="svg"===(n="svg"===n||"svg"===e.tagName?"svg":"")?document.createElementNS("http://www.w3.org/2000/svg",e.tagName):document.createElement(e.tagName||"div");return delete(e=u(e)).tagName,s(e,function(a,u){if(G.test(u))if(j(a))s(a,function(e){var t=B(e,n);t&&c.appendChild(t)});else{var e=B(a,n);e&&c.appendChild(e)}else if(q.test(u)){var t=z(a);t&&c.appendChild(t)}else k(c,u,a,function(e,t){var n,r,i,o;r=u,i=t,o=e,a=w(n=a)&&r!==i?(g(n,i.replace(r+".",""),o),n):o,Object.prototype.hasOwnProperty.call(V,u)?V[u](c,a,t,e):-1===["value","className"].indexOf(u)&&m(a)?c.setAttribute(u,a):g(c,t,e)})}),D(c),c}function L(e){var n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:L.el;if(j(e))s(e,function(e){var t=B(e);t&&n.appendChild(t)});else{var t=B(e);t&&n.appendChild(t)}}var M=/{{(([\s\S]+?)(?:\|([0-9]+))?)}}/g,q=/^text(Content)*[0-9]*$/,G=/^child[0-9]*$/;return Object.defineProperties(L,{el:{value:document.getElementById("app")||document.body},createElement:{value:B},createTextNode:{value:z},utils:{value:{}},createData:{value:J},plugins:{value:function(e){return s(e,function(e){return function e(t,n){j(t)?e(t[0],t[1]):O(t)?(V[t.property]=t.handler,t.options&&n&&Object.assign(t.options,n)):(window.console.error("plugins Error: ",t),window.console.log("View document: https://digi1874.github.io/digi-doc/".concat(F,"/global.html#plugins")))}(e)})}}}),s(U,function(e,t){Object.defineProperty(L.utils,t,{value:e,enumerable:!0})}),L.el.$isUpdate=!0,document.body.$isUpdate=!0,new MutationObserver(function(e){s(e,function(e){s(e.removedNodes,function(e){e.$isUpdate=!1}),s(e.addedNodes,function(e){e.$isUpdate=!0})})}).observe(document.body,{childList:!0,subtree:!0}),L});