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