UNPKG

@tempots/std

Version:

Std library for TypeScript. Natural complement to the Tempo libraries.

5 lines (4 loc) 7.07 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("./error.cjs"),f=require("./regexp.cjs"),T=(t,e)=>{const n=t.indexOf(e);return n<0?"":t.substring(n+e.length)},z=(t,e)=>{const n=t.lastIndexOf(e);return n<0?"":t.substring(n+e.length)},j=(t,e)=>{const n=t.indexOf(e);return n<0?"":t.substring(0,n)},M=(t,e)=>{const n=t.lastIndexOf(e);return n<0?"":t.substring(0,n)},a=t=>t.substring(0,1).toUpperCase()+t.substring(1),p=t=>t.toUpperCase(),N=(t,e=!1)=>e?f.mapRegExp(a(t),Ut,p):f.mapRegExp(a(t),Mt,p),_=t=>t.replace(Ht,` `),U=(t,e)=>t==null&&e==null?0:t==null?-1:e==null?1:d(t.toLowerCase(),e.toLowerCase()),k=(t,e)=>t.substring(t.length-e.length).toLowerCase()===e.toLowerCase(),F=(t,e)=>t.substring(0,e.length).toLowerCase()===e.toLowerCase(),H=(t,e)=>S(t.toLowerCase(),e.map(n=>n.toLowerCase())),$=(t,e)=>I(t.toLowerCase(),e.map(n=>n.toLowerCase())),D=t=>t.trim().replace(E," "),d=(t,e)=>t<e?-1:t>e?1:0,g=(t,e)=>t.toLowerCase().includes(e.toLowerCase()),R=(t,e)=>t.split(e).length-1,P=(t,e)=>e.some(n=>g(t,n)),Z=(t,e)=>e.some(n=>t.includes(n)),q=(t,e)=>e.every(n=>g(t,n)),Q=(t,e)=>e.every(n=>t.includes(n)),G=t=>t.replace(/_/g,"-"),K=(t,e)=>{if(t===e)return-1;const n=Math.min(t.length,e.length);for(let r=0;r<n;r++)if(t.substring(r,r+1)!==e.substring(r,r+1))return r;return n},C=(t,e=20,n="…")=>{const r=t.length,s=n.length;return r>e?e<s?n.slice(s-e,e):t.slice(0,e-s)+n:t},J=(t,e=20,n="…")=>{const r=t.length,s=n.length;if(r>e){if(e<=s)return C(t,e,n);const c=Math.ceil((e-s)/2),u=Math.floor((e-s)/2);return t.slice(0,c)+n+t.slice(r-u)}else return t},S=(t,e)=>e.some(n=>t.endsWith(n)),V=(t,e)=>Array.from(t).filter(e).join(""),X=(t,e)=>w(t).filter(e).map(r=>String.fromCharCode(r)).join(""),Y=(t,e=2166136261)=>{let n=e;for(let r=0,s=t.length;r<s;r++)n^=t.charCodeAt(r),n+=(n<<1)+(n<<4)+(n<<7)+(n<<8)+(n<<24);return n>>>0},v=t=>t!=null&&t.length>0,tt=t=>W(t).split("_").join(" "),et=t=>t.length>0&&!_t.test(t),nt=t=>kt.test(t),rt=t=>!Nt.test(t),st=t=>t.toLowerCase()===t,it=t=>t.toUpperCase()===t,ot=(t,e)=>t!=null&&t!==""?t:e,ct=t=>Ft.test(t),ut=t=>t==null||t==="",at=t=>t.substring(0,1).toLowerCase()+t.substring(1),A=(t,e=1)=>{const n=Math.floor((t.length-e+1)*Math.random());return t.substring(n,n+e)},b=(t,e)=>Array.from({length:e},()=>A(t)).join(""),lt=t=>b(jt,t),gt=(t,e)=>Array.from(e).map(t),ft=(t,e)=>t.split(e).join(""),pt=(t,e)=>t.endsWith(e)?t.substring(0,t.length-e.length):t,ht=(t,e,n)=>t.substring(0,e)+t.substring(e+n),dt=(t,e)=>t.startsWith(e)?t.substring(e.length):t,Ct=(t,e)=>{const n=t.indexOf(e);return n<0?t:t.substring(0,n)+t.substring(n+e.length)},St=t=>{const e=Array.from(t);return e.reverse(),e.join("")},m=(t,e="'")=>e==="'"?t.includes("'")?t.includes('"')?"'"+t.split("'").join("\\'")+"'":'"'+t+'"':"'"+t+"'":t.includes('"')?t.includes("'")?'"'+t.split('"').join('\\"')+'"':"'"+t+"'":'"'+t+'"',L=(t,e="'")=>e+t.split(e).join("\\"+e)+e,At=(t,e="'")=>t.indexOf(` `)>=0?L(t,"`"):m(t,e),bt=(t,e)=>{const n=t.indexOf(e);return n<0?[t]:[t.substring(0,n),t.substring(n+e.length)]},I=(t,e)=>e.some(n=>t.startsWith(n)),mt=(t,e,n=e)=>`${e}${t}${n}`,w=t=>Array.from({length:t.length},(e,n)=>t.charCodeAt(n)),Lt=(t,e)=>{const n=[];for(;t.length>0;)n.push(t.substring(0,e)),t=t.substring(e);return n},It=t=>t.split(B),wt=(t,e)=>y(x(t,e),e),x=(t,e)=>{let n=0;for(let r=0;r<t.length&&e.includes(t.charAt(r));r++)n++;return t.substring(n)},y=(t,e)=>{const n=t.length;let r=n,s;for(let c=0;c<n&&(s=n-c-1,e.includes(t.charAt(s)));c++)r=s;return t.substring(0,r)},W=t=>(t=t.replace(/::/g,"/"),t=t.replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2"),t=t.replace(/([a-z\d])([A-Z])/g,"$1_$2"),t=t.replace(/-/g,"_"),t.toLowerCase()),xt=t=>t.substring(0,1).toUpperCase()+t.substring(1),yt=(t,e=78,n="",r=` `)=>t.split(B).map(s=>O(s.replace(E," ").trim(),e,n,r)).join(r),l=(t,e)=>{if(e<0||e>=t.length)return!1;const n=t.charCodeAt(e);return n===9||n===10||n===11||n===12||n===13||n===32},Wt=t=>{if(typeof Buffer<"u")return Buffer.from(t).toString("base64");if(typeof btoa<"u")return btoa(t);throw new h.MissingImplementationError("No implementation found for base64 encoding")},Ot=t=>{if(typeof Buffer<"u")return Buffer.from(t,"base64").toString("utf8");if(typeof atob<"u")return atob(t);throw new h.MissingImplementationError("No implementation found for base64 decoding")},O=(t,e,n,r)=>{const s=[],c=t.length,u=n.length;let o=0;for(e-=u;;){if(o+e>=c-u){s.push(t.substring(o));break}let i=0;for(;!l(t,o+e-i)&&i<e;)i++;if(i===e){for(i=0;!l(t,o+e+i)&&o+e+i<c;)i++;s.push(t.substring(o,o+e+i)),o+=e+i+1}else s.push(t.substring(o,o+e-i)),o+=e-i+1}return n+s.join(r+n)},Et=(t,e,n)=>{const r=n-t.length;return r>0?e.repeat(r)+t:t},Bt=(t,e,n)=>{const r=n-t.length;return r>0?t+e.repeat(r):t},Tt=(t,e)=>{const n=t.lastIndexOf(e);return n>=0?[t.substring(0,n),t.substring(n+e.length)]:[t]},zt=(t,e)=>{const n=t.indexOf(e);return n>=0?[t.substring(0,n),t.substring(n+e.length)]:[t]},jt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Mt=/[^a-zA-Z]([a-z])/g,Nt=/[^\t\n\r ]/,_t=/[^a-zA-Z]/,Ut=/[ \t\r\n][a-z]/g,kt=/^[a-z0-9]+$/i,Ft=/^[0-9]+$/,E=/[ \t\r\n]+/g,B=/\r\n|\n\r|\n|\r/g,Ht=/\r\n|\n\r|\r/g;exports.canonicalizeNewlines=_;exports.capitalize=a;exports.capitalizeWords=N;exports.chunkString=Lt;exports.collapseText=D;exports.compareCaseInsensitive=U;exports.compareStrings=d;exports.containsAllText=Q;exports.containsAllTextCaseInsensitive=q;exports.containsAnyText=Z;exports.containsAnyTextCaseInsensitive=P;exports.countStringOccurrences=R;exports.dasherize=G;exports.decodeBase64=Ot;exports.deleteFirstFromString=Ct;exports.deleteStringAfter=pt;exports.deleteStringBefore=dt;exports.deleteSubstring=ft;exports.ellipsis=C;exports.ellipsisMiddle=J;exports.encodeBase64=Wt;exports.filterCharcodes=X;exports.filterChars=V;exports.humanize=tt;exports.ifEmptyString=ot;exports.isAlpha=et;exports.isAlphaNum=nt;exports.isBreakingWhitespace=rt;exports.isDigitsOnly=ct;exports.isEmptyString=ut;exports.isLowerCase=st;exports.isSpaceAt=l;exports.isUpperCase=it;exports.jsQuote=At;exports.lowerCaseFirst=at;exports.lpad=Et;exports.mapChars=gt;exports.quote=L;exports.randomStringSequence=b;exports.randomStringSequenceBase64=lt;exports.randomSubString=A;exports.reverseString=St;exports.rpad=Bt;exports.smartQuote=m;exports.splitStringOnFirst=zt;exports.splitStringOnLast=Tt;exports.splitStringOnce=bt;exports.stringEndsWithAny=S;exports.stringHasContent=v;exports.stringHashCode=Y;exports.stringStartsWithAny=I;exports.stringToCharcodes=w;exports.stringsDifferAtIndex=K;exports.substringAfter=T;exports.substringAfterLast=z;exports.substringBefore=j;exports.substringBeforeLast=M;exports.surroundString=mt;exports.textContainsCaseInsensitive=g;exports.textEndsWithAnyCaseInsensitive=H;exports.textEndsWithCaseInsensitive=k;exports.textStartsWithAnyCaseInsensitive=$;exports.textStartsWithCaseInsensitive=F;exports.textToLines=It;exports.trimChars=wt;exports.trimCharsLeft=x;exports.trimCharsRight=y;exports.trimStringSlice=ht;exports.underscore=W;exports.upperCaseFirst=xt;exports.wrapColumns=yt;exports.wrapLine=O;