wtc-utility-helpers
Version:
Javascript helpers, perfect for non-jquery projects.
3 lines (2 loc) • 2.72 kB
JavaScript
function e(e,t){return Math.random()*(t-e)+e}exports.asyncImageLoadfunction=function(e){var t=e.src,n=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o<i.length;o++)t.indexOf(n=i[o])>=0||(r[n]=e[n]);return r}(e,["src"]);return new Promise(function(e,o){var r=new Image;r.onload=function(){return e(r)},r.onerror=o;for(var i=0,a=Object.entries(n);i<a.length;i++){var s=a[i];r[s[0]]=s[1]}r.src=t})},exports.clampfunction=function(e,t,n){return Math.min(Math.max(n,e),t)},exports.fireCustomEvent=function(e,t,n,o){void 0===n&&(n=!0),void 0===o&&(o=!0),window.dispatchEvent(new CustomEvent(e,{bubbles:n,cancelable:o,detail:t}))},exports.fixWidows=function(e){if(_els=e,e instanceof Node&&(_els=[e]),_els&&_els.length)for(var t=0;t<_els.length;t++){var n=_els[t];n instanceof Node&&(n.innerHTML=n.innerHTML.replace(/\s(?=[^\s]*$)/g," "))}},exports.floatRandomBetween=e,exports.getAncestors=function e(t,n,o){return void 0===n&&(n=!0),o||(o=[]),!0===n&&t.parentNode===document.body||t.parentNode&&(o.splice(0,0,[t.parentNode]),e(t.parentNode,n,o)),o},exports.getElementPosition=function(e,t){void 0===t&&(t=!0);var n={top:0,left:0};if(!1===t)n.top=e.offsetTop,n.left=e.offsetLeft;else{var o=e.getBoundingClientRect(),r=window.pageYOffset,i=window.pageXOffset,a=document.body.clientTop||0,s=document.body.clientLeft||0;n.top+=Math.round(o.top+r-a),n.left+=Math.round(o.left+i-s)}return n},exports.getSelectorForElement=function(e){for(var t=[];e.parentNode;){if(e.id){t.unshift("#"+e.id);break}t.unshift(e==e.ownerDocument.documentElement?e.tagName:e.tagName+":nth-child("+c+")"),e=e.parentNode}return t.join(" > ")},exports.getSiblings=function(e){return[].concat(e.parentNode.children).filter(function(t){return t!==e})},exports.isChildOf=function(e,t,n){void 0===n&&(n=!0);var o=!1;return e.parentNode===t&&(o=!0),!0===n&&!1===o&&e.parentNode&&(o=o(e.parentNode,t)),o},exports.lerp=function(e,t,n){return(1-n)*e+n*t},exports.randomBetween=function(t,n){return Math.round(e(t,n))},exports.serializeArray=function(e){var t=[];if("object"==typeof e&&"FORM"==e.nodeName)for(var n=0;n<e.elements.length;n++){var o=e.elements[n];if(o.name&&!o.disabled&&"file"!=o.type&&"reset"!=o.type&&"submit"!=o.type&&"button"!=o.type)if("select-multiple"==o.type)for(var r=0;r<e.elements[n].options.length;r++)o.options[r].selected&&(t[t.length]={name:o.name,value:o.options[r].value});else("checkbox"!=o.type&&"radio"!=o.type||o.checked)&&(t[t.length]={name:o.name,value:o.value})}return t},exports.shuffleArray=function(e,t){void 0===t&&(t=!0);var n,o,r=e.length;for(!1===t&&(e=e.slice(0));0!==r;)o=Math.floor(Math.random()*r),n=e[r-=1],e[r]=e[o],e[o]=n;return e};
//# sourceMappingURL=wtc-utility-helpers.js.map