@cclr/utils 0.1.16 → 0.1.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var t=require("@cclr/lang");function r(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=Array(r);e<r;e++)n[e]=t[e];return n}function e(t,r,e){return(r=function(t){var r=function(t,r){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,r||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==typeof r?r:r+""}(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}function n(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),e.push.apply(e,n)}return e}function o(t){for(var r=1;r<arguments.length;r++){var o=null!=arguments[r]?arguments[r]:{};r%2?n(Object(o),!0).forEach((function(r){e(t,r,o[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):n(Object(o)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(o,r))}))}return t}function u(t,r){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t},u(t,r)}function i(t,r){return function(t){if(Array.isArray(t))return t}(t)||function(t,r){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var n,o,u,i,a=[],l=!0,c=!1;try{if(u=(e=e.call(t)).next,0===r);else for(;!(l=(n=u.call(e)).done)&&(a.push(n.value),a.length!==r);l=!0);}catch(t){c=!0,o=t}finally{try{if(!l&&null!=e.return&&(i=e.return(),Object(i)!==i))return}finally{if(c)throw o}}return a}}(t,r)||l(t,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(t){return function(t){if(Array.isArray(t))return r(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||l(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(t,e){if(t){if("string"==typeof t)return r(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(t,e):void 0}}function c(){c=function(t,r){return new e(t,void 0,r)};var t=RegExp.prototype,r=new WeakMap;function e(t,n,o){var i=RegExp(t,n);return r.set(i,o||r.get(t)),u(i,e.prototype)}function n(t,e){var n=r.get(e);return Object.keys(n).reduce((function(r,e){var o=n[e];if("number"==typeof o)r[e]=t[o];else{for(var u=0;void 0===t[o[u]]&&u+1<o.length;)u++;r[e]=t[o[u]]}return r}),Object.create(null))}return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&u(t,r)}(e,RegExp),e.prototype.exec=function(r){var e=t.exec.call(this,r);if(e){e.groups=n(e,this);var o=e.indices;o&&(o.groups=n(o,this))}return e},e.prototype[Symbol.replace]=function(e,o){if("string"==typeof o){var u=r.get(this);return t[Symbol.replace].call(this,e,o.replace(/\$<([^>]+)>/g,(function(t,r){var e=u[r];return"$"+(Array.isArray(e)?e.join("$"):e)})))}if("function"==typeof o){var i=this;return t[Symbol.replace].call(this,e,(function(){var t=arguments;return"object"!=typeof t[t.length-1]&&(t=[].slice.call(t)).push(n(t,i)),o.apply(this,t)}))}return t[Symbol.replace].call(this,e,o)},c.apply(this,arguments)}var f=new RegExp(["^(?<protocol>[a-zA-Z][a-zA-Zd+-.]*:)?","(?:\\/\\/(?<auth>[^@/?#]*@)?(?<host>[^/?#]*))?","(?<pathname>[^?#]*)","(?:\\?(?<query>[^#]*))?","(?:#(?<hash>.*))?"].join("")),p=c(/\?([^#]*)/,{query:1}),s=c(/#(.*)/,{hash:1}),y=c(/^(?:[a-zA-Z][a-zA-Zd+-.]*:)?(?:\/\/(?:[^@/?#]*@)?[^/?#]*)?([^?#]*)/,{pathname:1}),h=function(t){var r=t.protocol,e=t.auth,n=t.host,o=t.hostname,u=t.port,i=t.pathname,a=t.query,l=t.search,c=t.hash,f=r?"".concat(r,"//"):"",p=e?"".concat(e,"@"):"",s=n||"".concat(o||"").concat(u?":".concat(u):""),y=a?"?".concat(a):l||"",h=c?"#".concat(c):"";return"".concat(f).concat(p).concat(s).concat(i).concat(y).concat(h)},v=function(t){if(!t)return"";var r=t.split("?")[1];return r?r.replace(s,""):""},b=function(t){return t?v(t).split("&").reduce((function(t,r){var e=r.indexOf("="),n=(-1!==e?[r.substring(0,e),r.substring(e+1)]:[r]).map((function(t){return decodeURIComponent(t.replace("+"," "))}));return t[n[0]]=n[1],t}),{}):{}};function d(r){var e=r.match(f),n=t.get(e,"groups",{}),o=n.protocol,u=n.auth,a=n.host,l=n.pathname,c=n.query,p=n.hash,s=null,y=null;if(a){var h=i(a.split(":"),2);s=h[0],y=h[1]||null}return{href:r,protocol:o||null,slashes:r.includes("//")||null,auth:u?u.slice(0,-1):null,host:a||null,hostname:s||null,port:y||null,pathname:l||null,search:c?"?".concat(c):null,query:c||null,hash:p||null}}var m=function(r){var e=[];for(var n in r){var o=r[n];t.isUndefinedOrNull(o)?e.push(encodeURIComponent(n)+"="):e.push(encodeURIComponent(n)+"="+encodeURIComponent(o))}return e.join("&")},g=["queryObj"],O=function(t,r){var e=r.queryObj,n=function(t,r){if(null==t)return{};var e,n,o=function(t,r){if(null==t)return{};var e={};for(var n in t)if({}.hasOwnProperty.call(t,n)){if(r.includes(n))continue;e[n]=t[n]}return e}(t,r);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);for(n=0;n<u.length;n++)e=u[n],r.includes(e)||{}.propertyIsEnumerable.call(t,e)&&(o[e]=t[e])}return o}(r,g),u=o(o({},d(t)),n),i=o(o({},b(u.search||"")),e);return h(o(o({},u),{},{search:"",query:m(i)}))};function j(t){var r,e=t.match(y);if(e)return(null===(r=e.groups)||void 0===r?void 0:r.pathname)||""}var w={parseUrl:d,getPathArr:function(r){var e=j(r);if(!t.isUndefined(e))return e.split("/").filter(Boolean)},getPathStr:j,getQuery:v,getQueryObj:b,toQueryString:m,change:O,addQuery:function(t,r){return O(t,{queryObj:r})},combine:h};exports.HASH_REGEX=s,exports.PATHNAME_REGEX=y,exports.QUERY_REGEX=p,exports.URL_REGEX=f,exports.debounce=function(t,r){var e,n,o,u,i,l=null==r?void 0:r.maxWait,c=null!==(e=null==r?void 0:r.wait)&&void 0!==e?e:500,f=null===(n=null==r?void 0:r.leading)||void 0===n||n,p=null===(o=null==r?void 0:r.trailing)||void 0===o||o,s=!1,y=0,h=l&&l>c,v=function(){clearTimeout(u),u=null},b=function(){s=!1,h&&(y=Date.now()),t.apply(void 0,a(i))},d=function(){clearTimeout(u),u=setTimeout((function(){if(s&&p)return b(),void d();v()}),c)},m=function(){s=!0;for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];i=r,u||(f?b():h&&(y=Date.now())),h&&Date.now()-y>=l&&(b(),d()),d()};return m.cancel=v,m.flush=function(){u&&s&&(b(),d())},m},exports.deepClone=function(t){return JSON.parse(JSON.stringify(t))},exports.enumToArray=function(r){return t.isPlainObject(r)?[Object.keys(r)]:[]},exports.numInRange=function(t,r){return t<=r[1]&&t>=r[0]},exports.sleep=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(t.isNumber(r))return new Promise((function(t){return setTimeout(t,r)}))},exports.throttle=function(t,r){var e,n,o,u,i,l=null!==(e=null==r?void 0:r.wait)&&void 0!==e?e:500,c=null===(n=null==r?void 0:r.leading)||void 0===n||n,f=null===(o=null==r?void 0:r.trailing)||void 0===o||o,p=!1,s=function(){clearTimeout(u),u=null,p=!1},y=function(){p=!1,t.apply(void 0,a(i))},h=function(){clearTimeout(u),u=setTimeout((function(){if(p&&f)return y(),void h();s()}),l)},v=function(){p=!0;for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];i=r,u||(c&&y(),h())};return v.cancel=s,v.flush=function(){u&&p&&(y(),h())},v},exports.uri=w,exports.uuid=function(){for(var t=["a","b","c","d","e","f","0","1","2","3","4","5","6","7","8","9"],r=[],e=0;e<36;e++)r[e]=8===e||13===e||18===e||23===e?"-":t[Math.ceil(Math.random()*t.length-1)];return r.join("")};
1
+ "use strict";var e=require("@cclr/lang");function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function r(e,t,r){return t&&function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,c(n.key),n)}}(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function n(e,t,r){return(t=c(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function u(e,t){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},u(e,t)}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,u,a=[],l=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t);else for(;!(l=(n=i.call(r)).done)&&(a.push(n.value),a.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=r.return&&(u=r.return(),Object(u)!==u))return}finally{if(c)throw o}}return a}}(e,t)||f(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e){return function(e){if(Array.isArray(e))return t(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||f(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}function f(e,r){if(e){if("string"==typeof e)return t(e,r);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(e,r):void 0}}function s(){s=function(e,t){return new r(e,void 0,t)};var e=RegExp.prototype,t=new WeakMap;function r(e,n,o){var i=RegExp(e,n);return t.set(i,o||t.get(e)),u(i,r.prototype)}function n(e,r){var n=t.get(r);return Object.keys(n).reduce((function(t,r){var o=n[r];if("number"==typeof o)t[r]=e[o];else{for(var i=0;void 0===e[o[i]]&&i+1<o.length;)i++;t[r]=e[o[i]]}return t}),Object.create(null))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&u(e,t)}(r,RegExp),r.prototype.exec=function(t){var r=e.exec.call(this,t);if(r){r.groups=n(r,this);var o=r.indices;o&&(o.groups=n(o,this))}return r},r.prototype[Symbol.replace]=function(r,o){if("string"==typeof o){var i=t.get(this);return e[Symbol.replace].call(this,r,o.replace(/\$<([^>]+)>/g,(function(e,t){var r=i[t];return"$"+(Array.isArray(r)?r.join("$"):r)})))}if("function"==typeof o){var u=this;return e[Symbol.replace].call(this,r,(function(){var e=arguments;return"object"!=typeof e[e.length-1]&&(e=[].slice.call(e)).push(n(e,u)),o.apply(this,e)}))}return e[Symbol.replace].call(this,r,o)},s.apply(this,arguments)}var p=function(){return r((function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),n(this,"handler",[])}),[{key:"use",value:function(e,t){return this.handler.push({fulfilled:e,rejected:t}),this.handler.length-1}},{key:"eject",value:function(e){this.handler[e]&&(this.handler[e]=null)}},{key:"clear",value:function(){this.handler=[]}},{key:"forEach",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e.forEach(this.handler,(function(e){e&&t(e)}),r)}},{key:"run",value:function(e){var t=arguments;return new Promise(function(r,n){var o=t.length>1&&void 0!==t[1]&&t[1],i=Promise.resolve(e());return this.forEach((function(e){i=i.then(e.fulfilled,e.rejected)}),o),r(i)}.bind(this))}}])}(),h=new RegExp(["^(?<protocol>[a-zA-Z][a-zA-Zd+-.]*:)?","(?:\\/\\/(?<auth>[^@/?#]*@)?(?<host>[^/?#]*))?","(?<pathname>[^?#]*)","(?:\\?(?<query>[^#]*))?","(?:#(?<hash>.*))?"].join("")),y=s(/\?([^#]*)/,{query:1}),v=s(/#(.*)/,{hash:1}),d=s(/^(?:[a-zA-Z][a-zA-Zd+-.]*:)?(?:\/\/(?:[^@/?#]*@)?[^/?#]*)?([^?#]*)/,{pathname:1}),b=function(e){var t=e.protocol,r=e.auth,n=e.host,o=e.hostname,i=e.port,u=e.pathname,a=e.query,l=e.search,c=e.hash,f=t?"".concat(t,"//"):"",s=r?"".concat(r,"@"):"",p=n||"".concat(o||"").concat(i?":".concat(i):""),h=a?"?".concat(a):l||"",y=c?"#".concat(c):"";return"".concat(f).concat(s).concat(p).concat(u).concat(h).concat(y)},m=function(e){if(!e)return"";var t=e.split("?")[1];return t?t.replace(v,""):""},g=function(e){if(!e)return{};var t=m(e);return t?t.split("&").reduce((function(e,t){var r=t.indexOf("="),n=(-1!==r?[t.substring(0,r),t.substring(r+1)]:[t]).map((function(e){return decodeURIComponent(e.replace("+"," "))}));return e[n[0]]=n[1],e}),{}):{}};function O(t){var r=t.match(h),n=e.get(r,"groups",{}),o=n.protocol,i=n.auth,u=n.host,l=n.pathname,c=n.query,f=n.hash,s=null,p=null;if(u){var y=a(u.split(":"),2);s=y[0],p=y[1]||null}return{href:t,protocol:o||null,slashes:t.includes("//")||null,auth:i?i.slice(0,-1):null,host:u||null,hostname:s||null,port:p||null,pathname:l||null,search:c?"?".concat(c):null,query:c||null,hash:f||null}}var j=function(t){var r=[];for(var n in t){var o=t[n];e.isUndefinedOrNull(o)?r.push(encodeURIComponent(n)+"="):r.push(encodeURIComponent(n)+"="+encodeURIComponent(o))}return r.join("&")},w=["queryObj"],P=function(e,t){var r=t.queryObj,n=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(t,w),o=i(i({},O(e)),n),u=i(i({},g(o.search||"")),r);return b(i(i({},o),{},{search:"",query:j(u)}))};function x(e){var t,r=e.match(d);if(r)return(null===(t=r.groups)||void 0===t?void 0:t.pathname)||""}var E={parseUrl:O,getPathArr:function(t){var r=x(t);if(!e.isUndefined(r))return r.split("/").filter(Boolean)},getPathStr:x,getQuery:m,getQueryObj:g,toQueryString:j,change:P,addQuery:function(e,t){return P(e,{queryObj:t})},combine:b};exports.HASH_REGEX=v,exports.Interceptor=p,exports.PATHNAME_REGEX=d,exports.QUERY_REGEX=y,exports.URL_REGEX=h,exports.debounce=function(e,t){var r,n,o,i,u,a=null==t?void 0:t.maxWait,c=null!==(r=null==t?void 0:t.wait)&&void 0!==r?r:500,f=null===(n=null==t?void 0:t.leading)||void 0===n||n,s=null===(o=null==t?void 0:t.trailing)||void 0===o||o,p=!1,h=0,y=a&&a>c,v=function(){clearTimeout(i),i=null},d=function(){p=!1,y&&(h=Date.now()),e.apply(void 0,l(u))},b=function(){clearTimeout(i),i=setTimeout((function(){if(p&&s)return d(),void b();v()}),c)},m=function(){p=!0;for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];u=t,i||(f?d():y&&(h=Date.now())),y&&Date.now()-h>=a&&(d(),b()),b()};return m.cancel=v,m.flush=function(){i&&p&&(d(),b())},m},exports.deepClone=function(e){return JSON.parse(JSON.stringify(e))},exports.enumToArray=function(t){return e.isPlainObject(t)?[Object.keys(t)]:[]},exports.numInRange=function(e,t){return e<=t[1]&&e>=t[0]},exports.sleep=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(e.isNumber(t))return new Promise((function(e){return setTimeout(e,t)}))},exports.throttle=function(e,t){var r,n,o,i,u,a=null!==(r=null==t?void 0:t.wait)&&void 0!==r?r:500,c=null===(n=null==t?void 0:t.leading)||void 0===n||n,f=null===(o=null==t?void 0:t.trailing)||void 0===o||o,s=!1,p=function(){clearTimeout(i),i=null,s=!1},h=function(){s=!1,e.apply(void 0,l(u))},y=function(){clearTimeout(i),i=setTimeout((function(){if(s&&f)return h(),void y();p()}),a)},v=function(){s=!0;for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];u=t,i||(c&&h(),y())};return v.cancel=p,v.flush=function(){i&&s&&(h(),y())},v},exports.uri=E,exports.uuid=function(){for(var e=["a","b","c","d","e","f","0","1","2","3","4","5","6","7","8","9"],t=[],r=0;r<36;r++)t[r]=8===r||13===r||18===r||23===r?"-":e[Math.ceil(Math.random()*e.length-1)];return t.join("")};
package/lib/esm/index.js CHANGED
@@ -1 +1 @@
1
- import{isPlainObject as t,isNumber as r,get as n,isUndefinedOrNull as e,isUndefined as o}from"@cclr/lang";var u=function(t){return JSON.parse(JSON.stringify(t))},i=function(r){return t(r)?[Object.keys(r)]:[]};function a(t,r){return t<=r[1]&&t>=r[0]}var l=function(){for(var t=["a","b","c","d","e","f","0","1","2","3","4","5","6","7","8","9"],r=[],n=0;n<36;n++)r[n]=8===n||13===n||18===n||23===n?"-":t[Math.ceil(Math.random()*t.length-1)];return r.join("")};function c(t,r){(null==r||r>t.length)&&(r=t.length);for(var n=0,e=Array(r);n<r;n++)e[n]=t[n];return e}function f(t,r,n){return(r=function(t){var r=function(t,r){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var e=n.call(t,r||"default");if("object"!=typeof e)return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==typeof r?r:r+""}(r))in t?Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n,t}function p(t,r){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);r&&(e=e.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),n.push.apply(n,e)}return n}function s(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?p(Object(n),!0).forEach((function(r){f(t,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))}))}return t}function y(t,r){return y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t},y(t,r)}function v(t,r){return function(t){if(Array.isArray(t))return t}(t)||function(t,r){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var e,o,u,i,a=[],l=!0,c=!1;try{if(u=(n=n.call(t)).next,0===r);else for(;!(l=(e=u.call(n)).done)&&(a.push(e.value),a.length!==r);l=!0);}catch(t){c=!0,o=t}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw o}}return a}}(t,r)||b(t,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(t){return function(t){if(Array.isArray(t))return c(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||b(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(t,r){if(t){if("string"==typeof t)return c(t,r);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(t,r):void 0}}function m(){m=function(t,r){return new n(t,void 0,r)};var t=RegExp.prototype,r=new WeakMap;function n(t,e,o){var u=RegExp(t,e);return r.set(u,o||r.get(t)),y(u,n.prototype)}function e(t,n){var e=r.get(n);return Object.keys(e).reduce((function(r,n){var o=e[n];if("number"==typeof o)r[n]=t[o];else{for(var u=0;void 0===t[o[u]]&&u+1<o.length;)u++;r[n]=t[o[u]]}return r}),Object.create(null))}return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&y(t,r)}(n,RegExp),n.prototype.exec=function(r){var n=t.exec.call(this,r);if(n){n.groups=e(n,this);var o=n.indices;o&&(o.groups=e(o,this))}return n},n.prototype[Symbol.replace]=function(n,o){if("string"==typeof o){var u=r.get(this);return t[Symbol.replace].call(this,n,o.replace(/\$<([^>]+)>/g,(function(t,r){var n=u[r];return"$"+(Array.isArray(n)?n.join("$"):n)})))}if("function"==typeof o){var i=this;return t[Symbol.replace].call(this,n,(function(){var t=arguments;return"object"!=typeof t[t.length-1]&&(t=[].slice.call(t)).push(e(t,i)),o.apply(this,t)}))}return t[Symbol.replace].call(this,n,o)},m.apply(this,arguments)}var d=new RegExp(["^(?<protocol>[a-zA-Z][a-zA-Zd+-.]*:)?","(?:\\/\\/(?<auth>[^@/?#]*@)?(?<host>[^/?#]*))?","(?<pathname>[^?#]*)","(?:\\?(?<query>[^#]*))?","(?:#(?<hash>.*))?"].join("")),g=m(/\?([^#]*)/,{query:1}),O=m(/#(.*)/,{hash:1}),j=m(/^(?:[a-zA-Z][a-zA-Zd+-.]*:)?(?:\/\/(?:[^@/?#]*@)?[^/?#]*)?([^?#]*)/,{pathname:1}),w=function(t,r){var n,e,o,u,i,a=null==r?void 0:r.maxWait,l=null!==(n=null==r?void 0:r.wait)&&void 0!==n?n:500,c=null===(e=null==r?void 0:r.leading)||void 0===e||e,f=null===(o=null==r?void 0:r.trailing)||void 0===o||o,p=!1,s=0,y=a&&a>l,v=function(){clearTimeout(u),u=null},b=function(){p=!1,y&&(s=Date.now()),t.apply(void 0,h(i))},m=function(){clearTimeout(u),u=setTimeout((function(){if(p&&f)return b(),void m();v()}),l)},d=function(){p=!0;for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];i=r,u||(c?b():y&&(s=Date.now())),y&&Date.now()-s>=a&&(b(),m()),m()};return d.cancel=v,d.flush=function(){u&&p&&(b(),m())},d},S=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(r(t))return new Promise((function(r){return setTimeout(r,t)}))},P=function(t,r){var n,e,o,u,i,a=null!==(n=null==r?void 0:r.wait)&&void 0!==n?n:500,l=null===(e=null==r?void 0:r.leading)||void 0===e||e,c=null===(o=null==r?void 0:r.trailing)||void 0===o||o,f=!1,p=function(){clearTimeout(u),u=null,f=!1},s=function(){f=!1,t.apply(void 0,h(i))},y=function(){clearTimeout(u),u=setTimeout((function(){if(f&&c)return s(),void y();p()}),a)},v=function(){f=!0;for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];i=r,u||(l&&s(),y())};return v.cancel=p,v.flush=function(){u&&f&&(s(),y())},v},A=function(t){var r=t.protocol,n=t.auth,e=t.host,o=t.hostname,u=t.port,i=t.pathname,a=t.query,l=t.search,c=t.hash,f=r?"".concat(r,"//"):"",p=n?"".concat(n,"@"):"",s=e||"".concat(o||"").concat(u?":".concat(u):""),y=a?"?".concat(a):l||"",v=c?"#".concat(c):"";return"".concat(f).concat(p).concat(s).concat(i).concat(y).concat(v)},x=function(t){if(!t)return"";var r=t.split("?")[1];return r?r.replace(O,""):""},E=function(t){return t?x(t).split("&").reduce((function(t,r){var n=r.indexOf("="),e=(-1!==n?[r.substring(0,n),r.substring(n+1)]:[r]).map((function(t){return decodeURIComponent(t.replace("+"," "))}));return t[e[0]]=e[1],t}),{}):{}};function T(t){var r=t.match(d),e=n(r,"groups",{}),o=e.protocol,u=e.auth,i=e.host,a=e.pathname,l=e.query,c=e.hash,f=null,p=null;if(i){var s=v(i.split(":"),2);f=s[0],p=s[1]||null}return{href:t,protocol:o||null,slashes:t.includes("//")||null,auth:u?u.slice(0,-1):null,host:i||null,hostname:f||null,port:p||null,pathname:a||null,search:l?"?".concat(l):null,query:l||null,hash:c||null}}var I=function(t){var r=[];for(var n in t){var o=t[n];e(o)?r.push(encodeURIComponent(n)+"="):r.push(encodeURIComponent(n)+"="+encodeURIComponent(o))}return r.join("&")},q=["queryObj"],R=function(t,r){var n=r.queryObj,e=function(t,r){if(null==t)return{};var n,e,o=function(t,r){if(null==t)return{};var n={};for(var e in t)if({}.hasOwnProperty.call(t,e)){if(r.includes(e))continue;n[e]=t[e]}return n}(t,r);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);for(e=0;e<u.length;e++)n=u[e],r.includes(n)||{}.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(r,q),o=s(s({},T(t)),e),u=s(s({},E(o.search||"")),n);return A(s(s({},o),{},{search:"",query:I(u)}))};function D(t){var r,n=t.match(j);if(n)return(null===(r=n.groups)||void 0===r?void 0:r.pathname)||""}var U={parseUrl:T,getPathArr:function(t){var r=D(t);if(!o(r))return r.split("/").filter(Boolean)},getPathStr:D,getQuery:x,getQueryObj:E,toQueryString:I,change:R,addQuery:function(t,r){return R(t,{queryObj:r})},combine:A};export{O as HASH_REGEX,j as PATHNAME_REGEX,g as QUERY_REGEX,d as URL_REGEX,w as debounce,u as deepClone,i as enumToArray,a as numInRange,S as sleep,P as throttle,U as uri,l as uuid};
1
+ import{isPlainObject as t,forEach as r,isNumber as n,get as e,isUndefinedOrNull as o,isUndefined as i}from"@cclr/lang";var u=function(t){return JSON.parse(JSON.stringify(t))},a=function(r){return t(r)?[Object.keys(r)]:[]};function l(t,r){return t<=r[1]&&t>=r[0]}var c=function(){for(var t=["a","b","c","d","e","f","0","1","2","3","4","5","6","7","8","9"],r=[],n=0;n<36;n++)r[n]=8===n||13===n||18===n||23===n?"-":t[Math.ceil(Math.random()*t.length-1)];return r.join("")};function f(t,r){(null==r||r>t.length)&&(r=t.length);for(var n=0,e=Array(r);n<r;n++)e[n]=t[n];return e}function s(t,r,n){return r&&function(t,r){for(var n=0;n<r.length;n++){var e=r[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,m(e.key),e)}}(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function p(t,r,n){return(r=m(r))in t?Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n,t}function h(t,r){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);r&&(e=e.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),n.push.apply(n,e)}return n}function y(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?h(Object(n),!0).forEach((function(r){p(t,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):h(Object(n)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))}))}return t}function v(t,r){return v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t},v(t,r)}function d(t,r){return function(t){if(Array.isArray(t))return t}(t)||function(t,r){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var e,o,i,u,a=[],l=!0,c=!1;try{if(i=(n=n.call(t)).next,0===r);else for(;!(l=(e=i.call(n)).done)&&(a.push(e.value),a.length!==r);l=!0);}catch(t){c=!0,o=t}finally{try{if(!l&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(c)throw o}}return a}}(t,r)||g(t,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(t){return function(t){if(Array.isArray(t))return f(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||g(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(t){var r=function(t,r){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var e=n.call(t,r);if("object"!=typeof e)return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==typeof r?r:r+""}function g(t,r){if(t){if("string"==typeof t)return f(t,r);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?f(t,r):void 0}}function O(){O=function(t,r){return new n(t,void 0,r)};var t=RegExp.prototype,r=new WeakMap;function n(t,e,o){var i=RegExp(t,e);return r.set(i,o||r.get(t)),v(i,n.prototype)}function e(t,n){var e=r.get(n);return Object.keys(e).reduce((function(r,n){var o=e[n];if("number"==typeof o)r[n]=t[o];else{for(var i=0;void 0===t[o[i]]&&i+1<o.length;)i++;r[n]=t[o[i]]}return r}),Object.create(null))}return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&v(t,r)}(n,RegExp),n.prototype.exec=function(r){var n=t.exec.call(this,r);if(n){n.groups=e(n,this);var o=n.indices;o&&(o.groups=e(o,this))}return n},n.prototype[Symbol.replace]=function(n,o){if("string"==typeof o){var i=r.get(this);return t[Symbol.replace].call(this,n,o.replace(/\$<([^>]+)>/g,(function(t,r){var n=i[r];return"$"+(Array.isArray(n)?n.join("$"):n)})))}if("function"==typeof o){var u=this;return t[Symbol.replace].call(this,n,(function(){var t=arguments;return"object"!=typeof t[t.length-1]&&(t=[].slice.call(t)).push(e(t,u)),o.apply(this,t)}))}return t[Symbol.replace].call(this,n,o)},O.apply(this,arguments)}var j=function(){return s((function t(){!function(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this,t),p(this,"handler",[])}),[{key:"use",value:function(t,r){return this.handler.push({fulfilled:t,rejected:r}),this.handler.length-1}},{key:"eject",value:function(t){this.handler[t]&&(this.handler[t]=null)}},{key:"clear",value:function(){this.handler=[]}},{key:"forEach",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];r(this.handler,(function(r){r&&t(r)}),n)}},{key:"run",value:function(t){var r=arguments;return new Promise(function(n,e){var o=r.length>1&&void 0!==r[1]&&r[1],i=Promise.resolve(t());return this.forEach((function(t){i=i.then(t.fulfilled,t.rejected)}),o),n(i)}.bind(this))}}])}(),w=new RegExp(["^(?<protocol>[a-zA-Z][a-zA-Zd+-.]*:)?","(?:\\/\\/(?<auth>[^@/?#]*@)?(?<host>[^/?#]*))?","(?<pathname>[^?#]*)","(?:\\?(?<query>[^#]*))?","(?:#(?<hash>.*))?"].join("")),P=O(/\?([^#]*)/,{query:1}),S=O(/#(.*)/,{hash:1}),A=O(/^(?:[a-zA-Z][a-zA-Zd+-.]*:)?(?:\/\/(?:[^@/?#]*@)?[^/?#]*)?([^?#]*)/,{pathname:1}),E=function(t,r){var n,e,o,i,u,a=null==r?void 0:r.maxWait,l=null!==(n=null==r?void 0:r.wait)&&void 0!==n?n:500,c=null===(e=null==r?void 0:r.leading)||void 0===e||e,f=null===(o=null==r?void 0:r.trailing)||void 0===o||o,s=!1,p=0,h=a&&a>l,y=function(){clearTimeout(i),i=null},v=function(){s=!1,h&&(p=Date.now()),t.apply(void 0,b(u))},d=function(){clearTimeout(i),i=setTimeout((function(){if(s&&f)return v(),void d();y()}),l)},m=function(){s=!0;for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];u=r,i||(c?v():h&&(p=Date.now())),h&&Date.now()-p>=a&&(v(),d()),d()};return m.cancel=y,m.flush=function(){i&&s&&(v(),d())},m},x=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(n(t))return new Promise((function(r){return setTimeout(r,t)}))},T=function(t,r){var n,e,o,i,u,a=null!==(n=null==r?void 0:r.wait)&&void 0!==n?n:500,l=null===(e=null==r?void 0:r.leading)||void 0===e||e,c=null===(o=null==r?void 0:r.trailing)||void 0===o||o,f=!1,s=function(){clearTimeout(i),i=null,f=!1},p=function(){f=!1,t.apply(void 0,b(u))},h=function(){clearTimeout(i),i=setTimeout((function(){if(f&&c)return p(),void h();s()}),a)},y=function(){f=!0;for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];u=r,i||(l&&p(),h())};return y.cancel=s,y.flush=function(){i&&f&&(p(),h())},y},k=function(t){var r=t.protocol,n=t.auth,e=t.host,o=t.hostname,i=t.port,u=t.pathname,a=t.query,l=t.search,c=t.hash,f=r?"".concat(r,"//"):"",s=n?"".concat(n,"@"):"",p=e||"".concat(o||"").concat(i?":".concat(i):""),h=a?"?".concat(a):l||"",y=c?"#".concat(c):"";return"".concat(f).concat(s).concat(p).concat(u).concat(h).concat(y)},I=function(t){if(!t)return"";var r=t.split("?")[1];return r?r.replace(S,""):""},q=function(t){if(!t)return{};var r=I(t);return r?r.split("&").reduce((function(t,r){var n=r.indexOf("="),e=(-1!==n?[r.substring(0,n),r.substring(n+1)]:[r]).map((function(t){return decodeURIComponent(t.replace("+"," "))}));return t[e[0]]=e[1],t}),{}):{}};function R(t){var r=t.match(w),n=e(r,"groups",{}),o=n.protocol,i=n.auth,u=n.host,a=n.pathname,l=n.query,c=n.hash,f=null,s=null;if(u){var p=d(u.split(":"),2);f=p[0],s=p[1]||null}return{href:t,protocol:o||null,slashes:t.includes("//")||null,auth:i?i.slice(0,-1):null,host:u||null,hostname:f||null,port:s||null,pathname:a||null,search:l?"?".concat(l):null,query:l||null,hash:c||null}}var D=function(t){var r=[];for(var n in t){var e=t[n];o(e)?r.push(encodeURIComponent(n)+"="):r.push(encodeURIComponent(n)+"="+encodeURIComponent(e))}return r.join("&")},C=["queryObj"],U=function(t,r){var n=r.queryObj,e=function(t,r){if(null==t)return{};var n,e,o=function(t,r){if(null==t)return{};var n={};for(var e in t)if({}.hasOwnProperty.call(t,e)){if(-1!==r.indexOf(e))continue;n[e]=t[e]}return n}(t,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(e=0;e<i.length;e++)n=i[e],-1===r.indexOf(n)&&{}.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(r,C),o=y(y({},R(t)),e),i=y(y({},q(o.search||"")),n);return k(y(y({},o),{},{search:"",query:D(i)}))};function z(t){var r,n=t.match(A);if(n)return(null===(r=n.groups)||void 0===r?void 0:r.pathname)||""}var M={parseUrl:R,getPathArr:function(t){var r=z(t);if(!i(r))return r.split("/").filter(Boolean)},getPathStr:z,getQuery:I,getQueryObj:q,toQueryString:D,change:U,addQuery:function(t,r){return U(t,{queryObj:r})},combine:k};export{S as HASH_REGEX,j as Interceptor,A as PATHNAME_REGEX,P as QUERY_REGEX,w as URL_REGEX,E as debounce,u as deepClone,a as enumToArray,l as numInRange,x as sleep,T as throttle,M as uri,c as uuid};
@@ -25,6 +25,44 @@ declare function numInRange(num: number, range: [number, number]): boolean;
25
25
  */
26
26
  declare const uuid: () => string;
27
27
 
28
+ type OnFulfilled<T> = ((value: T) => T | PromiseLike<T>) | undefined | null;
29
+ type OnRejected<T> = ((reason: T) => T | PromiseLike<T>) | undefined | null;
30
+ type TInterceptorHandle<T> = {
31
+ fulfilled?: OnFulfilled<T>;
32
+ rejected?: OnRejected<any>;
33
+ };
34
+
35
+ /**
36
+ * 定义一组拦截器机制
37
+ * 按promise流程依次执行
38
+ */
39
+ declare class Interceptor<T> {
40
+ /**
41
+ * 拦截器 函数
42
+ */
43
+ private handler;
44
+ /**
45
+ * 拦截器函数
46
+ */
47
+ use(onFulfilled?: OnFulfilled<T>, onRejected?: OnRejected<any>): number;
48
+ /**
49
+ * 移除拦截器
50
+ */
51
+ eject(id: number): void;
52
+ /**
53
+ * 清空拦截器
54
+ */
55
+ clear(): void;
56
+ /**
57
+ * 遍历拦截器
58
+ */
59
+ forEach(callback: (interceptor: TInterceptorHandle<T>) => void, reverse?: boolean): void;
60
+ /**
61
+ * 使用拦截器执行函数
62
+ */
63
+ run(fun: () => T | PromiseLike<T>, reverse?: boolean): Promise<T>;
64
+ }
65
+
28
66
  declare const URL_REGEX: RegExp;
29
67
  declare const QUERY_REGEX: RegExp;
30
68
  declare const HASH_REGEX: RegExp;
@@ -130,4 +168,4 @@ declare const uri: {
130
168
  combine: (urlParams: IUrl) => string;
131
169
  };
132
170
 
133
- export { HASH_REGEX, type IUrl, PATHNAME_REGEX, QUERY_REGEX, URL_REGEX, debounce, deepClone, enumToArray, numInRange, sleep, throttle, uri, uuid };
171
+ export { HASH_REGEX, type IUrl, Interceptor, PATHNAME_REGEX, QUERY_REGEX, URL_REGEX, debounce, deepClone, enumToArray, numInRange, sleep, throttle, uri, uuid };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cclr/utils",
3
- "version": "0.1.16",
3
+ "version": "0.1.17",
4
4
  "description": "> TODO: description",
5
5
  "author": "cclr <18843152354@163.com>",
6
6
  "homepage": "",
@@ -30,8 +30,8 @@
30
30
  "g:test": "vitest run",
31
31
  "g:build": "ccf build"
32
32
  },
33
- "gitHead": "8960f7c796054f1f0bbf0e7d0064af5f6abc4e05",
33
+ "gitHead": "5463a4bf24b98f18f5e349347c9b048f2670c990",
34
34
  "dependencies": {
35
- "@cclr/lang": "0.1.16"
35
+ "@cclr/lang": "0.1.17"
36
36
  }
37
37
  }