UNPKG

3h-utils

Version:
1 lines 3.1 kB
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).HUtils={})}(this,(function(e){"use strict";e.clamp=function clamp(e,n,t){return e<=n?n:e>=t?t:e},e.clampIndex=function clampIndex(e,n){if(e<-n||e>=n)throw new RangeError("invalid index");return e<0?e+n:e},e.cloneDeeply=function cloneDeeply(e){if(Array.isArray(e))return e.map((function(e){return cloneDeeply(e)}));if(e&&"object"==typeof e){var n=Object.create(null);for(var t in e){var r=e[t];n[t]=r&&"object"==typeof r?cloneDeeply(r):r}return n}return e},e.cloneShallowly=function cloneShallowly(e){return Array.isArray(e)?e.map((function(e){return e})):e&&"object"==typeof e?Object.assign(Object.create(null),e):e},e.debounce=function debounce(e,n){var t=null,r=function debounceWrapper(){null!==t&&clearTimeout(t);for(var e=arguments.length,r=Array(e),o=0;o<e;o++)r[o]=arguments[o];t=setTimeout.apply(void 0,[n,debounceWrapper.debounceTimeout].concat(r))};return r.debounceTimeout=e,r},e.deg2rad=function deg2rad(e){return e/180*Math.PI},e.insertElement=function insertElement(e,n,t){if(n<0||n>e.length)throw new RangeError("invalid index to insert");if(0===n)e.unshift(t);else if(n===e.length)e.push(t);else{e.length++;for(var r=e.length-1;r>n;r--)e[r]=e[r-1];e[n]=t}},e.interpolate=function interpolate(e,n,t){return e+(n-e)*t},e.isDict=function isDict(e){return"[object Object]"===Object.prototype.toString.call(e)},e.lock=function lock(e){var n=function wrapper(){if(!wrapper.disabled)return wrapper.disabled=!0,e.apply(void 0,arguments)};return n.disabled=!1,n},e.merge=function merge(){for(var e=arguments.length,n=Array(e),t=0;t<e;t++)n[t]=arguments[t];return Object.assign.apply(Object,[Object.create(null)].concat(n))},e.pick=function pick(e){if(0===e.length)throw new RangeError("no elements to pick");return e[Math.floor(e.length*Math.random())]},e.quadraticSum=function quadraticSum(){for(var e=arguments.length,n=Array(e),t=0;t<e;t++)n[t]=arguments[t];return n.reduce((function(e,n){return e+Math.pow(n,2)}),0)},e.rad2deg=function rad2deg(e){return e/Math.PI*180},e.random=function random(e,n){return e+(n-e)*Math.random()},e.removeElements=function removeElements(e,n,t){if(void 0===t&&(t=Math.max(0,e.length-n)),t<0)throw new RangeError("invalid count");if(n<0||n+t>e.length)throw new RangeError("invalid index to remove");for(var r=n;r<e.length-t;r++)e[r]=e[r+t];e.length-=t},e.shuffle=function shuffle(e){for(var n,t,r=e.length-1;r>0;r--)n=Math.floor(Math.random()*r),t=e[r],e[r]=e[n],e[n]=t},e.sort=function sort(e,n){for(var t,r=0;r<e.length-1;r++)for(var o=r+1;o<e.length;o++)n(e[r],e[o])>0&&(t=e[r],e[r]=e[o],e[o]=t)},e.throttle=function throttle(e,n){var t=null,r=function throttleWrapper(){var e=Date.now();if(null===t||e-t>=throttleWrapper.throttleGap)return t=e,n.apply(void 0,arguments)};return r.throttleGap=e,r},e.unique=function unique(e){for(var n,t=[],r=0;r<e.length;r++)n=e[r],-1===t.indexOf(n)&&t.push(n);return t},Object.defineProperty(e,"__esModule",{value:!0})}));