@knighttower/utility
Version:
UtilityJs is a utility library that provides a collection of utility functions for various tasks. The library is designed to be easy to use and covers the most common use cases.
1 lines • 7.23 kB
JavaScript
(()=>{"use strict";var t={d:(e,n)=>{for(var r in n){t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})}},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};function n(t){switch(typeof t){case"boolean":return t;case"string":return"false"!==t.toLowerCase()&&"0"!==t;case"number":return 0!==t;default:return Boolean(t)}}function r(t){const e=a(t);return null!==e?e:t}function o(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return null!==a(t)||"boolean"==typeof t?t:c(t)?e:t}t.r(e),t.d(e,{addQuotes:()=>g,cleanStr:()=>d,convertKeysToSymbols:()=>p,findAndReplaceInArray:()=>y,findNested:()=>h,fixQuotes:()=>b,getArrObjFromString:()=>v,getChunks:()=>A,getDirectivesFromString:()=>w,getMatchBlock:()=>j,getMatchInBetween:()=>S,getObjectFromPath:()=>m,removeQuotes:()=>O,setExpString:()=>E,setLookUpExp:()=>_,setWildCardString:()=>x,startAndEndWith:()=>$,wildCardStringSearch:()=>k});const i=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20;t=t||40;for(var e="",n=0;n<t/3+1;n++){e+=Math.random().toString(36).substring(2,15)}return e.substring(0,t)};function u(){return"id__"+i(8)+"__"+(new Date).getTime()}const l=u;function c(t){return null==t||("string"==typeof t||Array.isArray(t)?0===t.length:t instanceof Map||t instanceof Set?0===t.size:ArrayBuffer.isView(t)?0===t.byteLength:"object"==typeof t&&0===Object.keys(t).length)}function a(t){const e=typeof t;switch(t){case null:case void 0:case"":return null;case"0":case 0:return 0;default:if(!("number"!==e&&"string"!==e||"number"!=typeof t&&Number.isNaN(Number(t)))){return+t}}return null}function s(t,e){if(null===t){return e?null===e||"null"===e:"null"}let n;switch(typeof t){case"number":case"string":case"boolean":case"undefined":case"bigint":case"symbol":case"function":n=typeof t;break;case"object":n=Array.isArray(t)?"array":"object";break;default:n="unknown"}if(e){if(e.includes("|")){for(let t of e.split("|")){if(n===t){return t}}return!1}return e===n}return n}function f(t){const e=t.match(/^(\{.*\}|\[.*\])$/);return e?e[0].slice(1,-1).trim():t}function g(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:'"';return`${e}${t}${e}`}function d(t){if(t){if("string"!=typeof t){return t}for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++){n[r-1]=arguments[r]}return n.reduce(((t,e)=>{const n=e instanceof RegExp?e:new RegExp(E(e));return t.replace(n,"")}),t).trim()}}function p(t){if(null===o(t,null)){return{}}const e={},n={};for(const r in t){const o=Symbol(r);e[o]=t[r],n[r]=o}return e.keyToSymbolMap=n,e}function y(t,e,n){let r=!1;const o=t.map((t=>{if(Array.isArray(t)){const o=y(t,e,n);return o?(r=!0,o):t}return t===e?(r=!0,Array.isArray(n)?n.map((t=>Array.isArray(t)?t:t.trim())):n):t}));return r?o:null}function h(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"[",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"]";if("string"!=typeof t){return t}const r=t.lastIndexOf(e);if(-1===r){return null}const o=t.substring(r),i=o.indexOf(n);return-1===i?null:o.substring(0,i+1)}function b(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:'"';return"string"!=typeof t?t:t.replace(/`|'|"/g,e)}function m(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window;return t.split(".").reduce(((t,e)=>t&&t[e]),e)}function v(t){if(s(t,"object")||s(t,"array")||!t){return t}const e=t=>$(t,"{","}"),n=t=>$(t,"[","]"),i=(e(t)?"object":null)||(n(t)?"array":null);if(!i){return t}const u={},c=t=>{if(!t){return}let r=(t=>{const e=h(t,"{","}"),n=h(t,"[","]");return t.indexOf(e)>t.indexOf(n)?e||null:n||null})(f(t));if(!r){return}return t=((t,r)=>{let o=`__${l()}__`,i=(e(r)?"object":null)||(n(r)?"array":null)||"string";return t=t.replace(r,o),u[o]={type:i,matched:r},t})(t,r),c(t)||t},a=(t,e)=>{t=f(t);let n="object"===e?{}:[];return A(t).forEach(((t,i)=>{const l=t.includes(":")&&"object"===e,c=l?A(t,":"):[],s=O(o(c[0],i));if((t=l?c[1]:t)in u){const e=u[t];t=a(e.matched,e.type)}t=r(O(t)),"object"===e?n[s]=t:n.push(t)})),n};return a(c(t)||t,i)}function w(t){const e=t;if(!o(e)){return null}const n=function(){return{type:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,directive:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null}},r=/^\[((.|\n)*?)\]$/gm,i=/^\{((.|\n)*?)\:((.|\n)*?)\}$/gm,u=/^([a-zA-Z]+)(\()(\.|\#)(.*)(\))/g,l=/([a-zA-Z]+)\.(.*?)\(((.|\n)*?)\)/gm,c=/([a-zA-Z]+)\[((.|\n)*?)\]\(((.|\n)*?)\)/gm;let a=typeof e;if("object"===a||"array"===a){return n(a,e)}switch(!0){case!!e.match(r):a="array";break;case!!e.match(i):a="object";break;case!!e.match(u):const t=e.split("(")[0].trim();return n("idOrClassWithDirective",{[t]:S(e,"(",")")});case!!e.match(l):case!!e.match(c):a="dotObject";break;default:return n("string",e)}if("array"===a||"object"===a){let t=b(e);try{return n(a,JSON.parse(t))}catch(t){}return n(a,v(t))}if("dotObject"===a){let t,r,o;const i={};return A(e,"&&").forEach((e=>{e.match(c)?(t=S(e,"](",")"),r=S(e,"[","]"),o=e.split("[")[0].trim()):(t=S(e,"(",")"),e=e.replace(j(e,"(",")"),""),[o,r]=A(e,".")),t=v(t),i[o]||(i[o]={}),A(r,"|").forEach((e=>{i[o][e]=t}))})),n("dotObject",i)}}function j(t,e,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if("string"!=typeof t){return t}e=E(e),n=E(n);let o=new RegExp(_(e,n),"gm");const i=t.match(o);return i?r?i:i[0]:null}function A(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:",";if("string"!=typeof t){return t}if(c(t)){return[]}let n=(t=d(t)).split(e).map((t=>d(t)));return 1===n.length&&""===n[0]?[t]:n}function S(t,e,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if("string"!=typeof t){return t}const o=j(t,e,n,r)??(r?[]:t);return r?o.map((t=>d(t,e,n))):d(o,e,n)}function O(t){return"string"!=typeof t?t:t.replace(/`|'|"/g,"")}function $(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return(!e||t.startsWith(e))&&(!n||t.endsWith(n))}function E(t){return t instanceof RegExp?t:t.split("").map((t=>["$","^",".","*","+","?","(",")","[","]","{","}","|","\\"].includes(t)?`\\${t}`:t)).join("")}function _(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++){e[n]=arguments[n]}if(e.length<2){throw new Error("You need to pass at least two arguments")}let r="";return e.forEach(((t,e)=>{t instanceof RegExp&&(t=t.source),0===e?r=t:r+=`((.|\n)*?)${t}`})),r}function x(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("string"!=typeof t){return t}if(!t){return null}e=n(e),r=n(r);let o=t.replace(/([.+?^${}()|\[\]\/\\])/g,"\\$&"),i=e?"^":"",u=r?"$":"";return o=o.replace(/\*\*/g,"[_g_]").replace(/\*/g,"(.*?)").replace(/\[_g_\]/g,".*"),`${i}${o}${u}`}function k(t,e){if(!t||!e){return null}const n=new RegExp(x(t,arguments.length>2&&void 0!==arguments[2]&&arguments[2],arguments.length>3&&void 0!==arguments[3]&&arguments[3]));if("string"==typeof e){return o(e.match(n))}let r=[];return r=e.filter((t=>n.test(t))),o(r)}window.powerHelper=e})();