stringweaver 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  /*© KooiInc 2025-2030*/
2
- var _=Object.defineProperty;var v=Object.getOwnPropertySymbols;var pe=Object.prototype.hasOwnProperty,me=Object.prototype.propertyIsEnumerable;var T=Math.pow,F=(e,r,t)=>r in e?_(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,B=(e,r)=>{for(var t in r||(r={}))pe.call(r,t)&&F(e,t,r[t]);if(v)for(var t of v(r))me.call(r,t)&&F(e,t,r[t]);return e};var u=(e,r)=>_(e,"name",{value:r,configurable:!0});var z=de();function de(e=""){return e=(e==null?void 0:e.constructor)===String?e:"",function(s,...p){return O(s,C(p))};function r(s,p){return p&&e.length>0?String(e):`{${s}}`}u(r,"invalidate");function t(s){return(s==null?void 0:s.constructor)===String||(s==null?void 0:s.constructor)===Number&&!Number.isNaN(s)}u(t,"isStringOrNumber");function n(s,p){let y=s in p;return y&&t(p[s])?String(p[s]):r(s,y)}u(n,"replacement");function o(s){return(...p)=>{let y=p.find(g=>g.key);return n(y?y.key:"_",s)}}u(o,"getReplacerLambda");function i(s,p){return s.replace(new RegExp("\\{(?<key>[a-z_\\d]+)}","gim"),o(p))}u(i,"replace");function l(s){let p=[];return Object.entries(s).forEach(([y,g])=>{g.forEach((N,c)=>{var d;return(d=p[c])!=null||(p[c]={}),p[c][y]=N})}),p}u(l,"convertTokensFromArrayValues");function w(s){return s.length===1&&Object.values(s[0]).every(Array.isArray)}u(w,"isMultiLineWithArrays");function C(s){return w(s)?l(s[0]):s}u(C,"processTokens");function O(s,p){return p!=null&&p.length?p.filter(y=>y).map(y=>(y==null?void 0:y.constructor)===Object?i(s,y):"").join(""):s}u(O,"interpolate")}u(de,"interpolateFactory");var{randomString:M,uuid4:P}=he();function he(){let e=g(),r=u(()=>e?[...crypto.getRandomValues(new Uint32Array(1))].shift()/T(2,32):Math.random(),"getRandomValue"),t=u(({min:a=0,max:f=Number.MAX_SAFE_INTEGER}={})=>Math.floor(r()*(f-a+1)+a),"randomNr"),n=u((a=0,f=10,h)=>(h||[])instanceof Function?[...Array(f)].map(($,I)=>a+I).map(h):[...Array(f)].map(($,I)=>a+I),"range"),o=u(a=>String.fromCharCode(a),"map2Chrs"),i="!?@#$%^&*=+_;-".split(""),l=RegExp(`[${i.map(a=>`\\${a}`).join("")}]`,"g"),w=u(a=>{let f=a.length;for(;f--;){let h=t({max:f});[a[f],a[h]]=[a[h],a[f]]}return a},"shuffle"),C=w(n(65,26,o)),O=w(n(97,26,o)),p={UCLC:w(C.concat(O)),UC:C,LC:O,Nrs:w(n()),Sym:w(i)},y=u(a=>Object.entries(a).reduce((f,[h,$])=>$?[...f,...p[h]]:f,O),"getChars2Use");function g(){try{return window&&"crypto"in window}catch(a){return!1}}u(g,"checkBrowserCrypto");function N(){return e&&crypto.randomUUID?crypto.randomUUID():[...new Uint8Array(16)].map(a=>t({max:255})).map((a,f)=>`${(f===8?a&63|128:f===6?a&15|64:a).toString(16).padStart(2,"0")}${~[3,5,7,9].indexOf(f)?"-":""}`).join("")}u(N,"uuid4");function c(a,f,h){return/[a-z]/i.test(a)&&(f&&h?/\d/.test(a)&&l.test(a):f?/\d/.test(a):h?l.test(a):!0)}u(c,"strTest");function d(a){let f=[...a],h=f.findIndex($=>/[a-z]/i.test($));return[f[0],f[h]]=[f[h],f[0]],f.join("")}u(d,"alphaSwap");function b({len:a=12,includeUppercase:f=!0,includeNumbers:h,includeSymbols:$,startAlphabetic:I}={}){a=a<6?6:a;let E=w(y({UC:f,Nrs:h,Sym:$}));for(;E.length<a;)E=[...E,...w(E)];let L=E.slice(0,a).join("");if(!(h||$))return L;for(let V=0;V<E.length;V+=1)if(L=E.slice(V,V+a).join(""),c(L,h,$))return I&&!/^[a-z]/i.test(L)?d(L):L;return b({len:a,includeUppercase:f,includeNumbers:h,includeSymbols:$,startAlphabetic:I})}return u(b,"randomString"),{randomString:b,uuid4:N}}u(he,"randomStringGeneratorFactory");var Y=be;function be(e,...r){r=e.raw?r:[r];try{return Se(e,...r)}catch(t){let n=X();return`Error creating Regular Expression from string "${e.raw||e}" with flags ${n}
3
- RegExp error message: "${t.message}"`}}u(be,"createRegExp");function X(...e){return e.length>0?Array.isArray(e.slice(-1))?e.pop().join(""):e.join(""):""}u(X,"resolveFlags");function Se(e,...r){let t=X(...r);r=[];let n=e.raw||[e];return new RegExp((r.length&&n.reduce((o,i,l)=>o.concat(r[l-1]||"").concat(i),"")||(n==null?void 0:n.join(""))).split(`
4
- `).map(o=>o.replace(/\s|\/\/.*$/g,"").trim().replace(/(@s!)/g," ")).join(""),t)}u(Se,"regExp");function Q(e,...r){return e.raw?String.raw({raw:e},...r):e}u(Q,"resolveTemplateString");function m(e){return(e==null?void 0:e.value)||(e==null?void 0:e.constructor)===String&&e||""}u(m,"getStringValue");function ye(e,r,t){return e===String&&t?(r==null?void 0:r.constructor)!==Z&&(r==null?void 0:r.constructor)!==e:(r==null?void 0:r.constructor)!==e}u(ye,"checkType");function A(e,r,t=!0){return Array.isArray(r)&&r.length>0&&!r.find(n=>ye(e,n,t))}u(A,"isArrayOf");function G(e){return(e==null?void 0:e.constructor)===Number&&!Number.isNaN(e)}u(G,"isNumber");function J(e){return/wrap\(|undo.*/i.test(e.toString())}u(J,"isMutating");function we(){let e=x(Ce());return e.value.split(/\n/).concat(Object.entries(Object.getOwnPropertyDescriptors(e)).map(([r,t])=>r==="quote"?"quote (Object. See [constructor].quoteInfo)":`${r} (${r==="value"?"getter/setter":r==="clone"?"chainable getter":r in String.prototype?"method, String override":t.value&&t.value.constructor===Function?J(t.value)?`chainable method${r in U?" *custom*":""}`:"method":t.value?"property":t.get?J(t.get)?`chainable getter${r in U?" *custom*":""}`:"getter":"-"})`).sort((r,t)=>r.localeCompare(t)))}u(we,"getSWInformation");function k(e,r){return Object.defineProperties(e,{constructor:{get(){return e},enumerable:!1},format:{value(t,...n){return x(t).format(...n)}},addCustom:{value({name:t,method:n,enumerable:o=!1,isGetter:i=!1}={}){if(x``[t])return console.error(`addCustom: the property "${t}" exists and can not be redefined`);(t==null?void 0:t.constructor)===String&&(n==null?void 0:n.constructor)===Function&&n.length>0&&(r[t]={method:n,enumerable:o,isGetter:i})}},info:{get(){return we()}},keys:{get(){return Object.keys(Object.getOwnPropertyDescriptors(x``)).sort((t,n)=>t.localeCompare(n)).map(t=>!/constructor|toString|valueOf/.test(t)&&t in r?`${t} *custom*`:t)}},quoteInfo:{get(){let t=B({},W());return delete t.re,Object.entries(t).sort((n,o)=>n[0].localeCompare(o[0])).reduce((n,[o,i])=>{let l=i.constructor===Function?"(start:string[, end:string])":` (${i.join(" [instance value] ")})`;return[...n,`[instance].quote.${o}${l}`]},[])}},uuid4:{get(){return P()}},randomString:{value:u(function({len:t,includeUppercase:n,includeNumbers:o,includeSymbols:i,startAlphabetic:l}={}){return x(M({len:t,includeUppercase:n,includeNumbers:o,includeSymbols:i,startAlphabetic:l}))},"value")},regExp:{value:Y}}),e}u(k,"createExtendedCTOR");function K(e,r){return new RegExp(e.replace(new RegExp("\\p{S}|\\p{P}","gu"),t=>`\\${t}`),r)}u(K,"escapeRE");function Ce(){return atob`Rm9yIHRoZSByZWNvcmQ6CltjbV0gY2hhaW5hYmxlIGdldHRlcnMvbWV0aG9kcyBtb2RpZnkgdGhlIGluc3RhbmNlIHN0cmluZwpbY21dIGluZGV4T2Ygb3ZlcnJpZGVzIHJldHVybiBbdW5kZWZpbmVkXSBpZiBub3RoaW5nIHdhcyBmb3VuZCAoc28gb25lIGNhbiB1c2UgW2xhc3RJXWluZGV4T2YoW3NvbWUgc3RyaW5nIHZhbHVlXSkgPz8gMApbY21dIGluY2x1ZGVzIGluZm9ybWF0aW9uIGZvciBjdXN0b20gbWV0aG9kcy9nZXR0ZXJzIGlmIGFwcGxpY2FibGU=`.replace(/\[cm\]/g,"\u2714")}u(Ce,"decode");function W(){let r={backtick:["`","`"],bracket:["{","}"],curlyDoubleInward:["\u201D","\u201C"],curlyDouble:["\u201C","\u201D"],curlyDoubleEqual:["\u201C","\u201C"],curlyLHDouble:["\u201E","\u201D"],curlyLHDoubleInward:["\u201E","\u201C"],curlyLHSingle:["\u201A","\u2019"],curlyLHSingleInward:["\u201A","\u2018"],curlySingle:["\u201B","\u2019"],curlySingleEqual:["\u201B","\u201B"],curlySingleInward:["\u2019","\u201B"],custom:u((n,o)=>(n=m(n),o=m(o),[m(n),o.length?o:n]),"custom"),double:['"','"'],guillemets:["\xAB","\xBB"],guillemetsInward:["\xBB","\xAB"],guillemetsSingle:["\u2039","\u203A"],guillemetsSingleInward:["\u203A","\u2039"],single:["'","'"],squareBrackets:["[","]"]},t=Object.values(r).filter(n=>Array.isArray(n)).map(n=>n.map(o=>`\\${o}`).join("")).join("");return r.re=RegExp(`^[${t}]|[${t}]$`,"g"),r}u(W,"defineQuotingStyles");var S=W();function j(e,r,t){return e=m(e),e.length>0?r(e):t||e}u(j,"checkAndRun");function q(e,...r){return j(e,()=>`${z(e,...r)}`)}u(q,"format");function R(e){return j(e,()=>`${e[0].toUpperCase()}${e.slice(1)}`)}u(R,"ucFirst");function ee(e,r,t){return!r&&!t?e:([r,t]=A(String,[r,t!=null?t:""])?[r,t]:["",""],`${r}${e}${t||r}`)}u(ee,"surroundWith");function re(e){return j(e,()=>e.replace(/\s/g,"").replace(/[A-Z]/g,r=>`-${r.toLowerCase()}`).replace(/-{2,}/g,"-").replace(/[^a-z-]/g,"").replace(/^-|-$/,""))}u(re,"toDashedNotation");function te(e){return j(e,()=>e.replace(/\s/g,"").replace(/[A-Z]/g,r=>`_${r.toLowerCase()}`).replace(/_{2,}/g,"_").replace(/[^a-z_]/g,"").replace(/^_|_$/,""))}u(te,"toSnakeCase");function ne(e){return j(e,()=>[...e.toLowerCase()].slice(1).reduce((r,t)=>r+(new RegExp("\\p{L}|[-']","u").test(r.at(-1))?t.toLowerCase():t.toUpperCase()),e[0].toUpperCase()))}u(ne,"wordsFirstUp");function oe(e){return j(e,()=>e.toLowerCase().trim().split(/[- ]/).filter(r=>r&&r.length>0).map((r,t)=>t>0&&`${R(r)}`||r).join(""))}u(oe,"toCamelcase");function ue(e,{at:r,html:t=!1,wordBoundary:n=!1}={}){return j(e,()=>{var w,C;if(e.length<=r)return e;let o=e.slice(0,r-1),i=t?"&hellip;":"...",l=n&&(C=(w=[...o.matchAll(new RegExp("\\p{Pe}|\\p{Z}","gu"))].at(-1))==null?void 0:w.index)!=null?C:o.length;return(n?o.slice(0,l+1).trim():o)+i})}u(ue,"truncate");function D(e,r){return j(e,()=>{let t=e.split(/\n/).map(n=>n.trim().replace(/\s{2,}/g," "));return r?t.join(`
2
+ var _=Object.defineProperty;var v=Object.getOwnPropertySymbols;var ge=Object.prototype.hasOwnProperty,pe=Object.prototype.propertyIsEnumerable;var T=Math.pow,F=(e,r,t)=>r in e?_(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,B=(e,r)=>{for(var t in r||(r={}))ge.call(r,t)&&F(e,t,r[t]);if(v)for(var t of v(r))pe.call(r,t)&&F(e,t,r[t]);return e};var u=(e,r)=>_(e,"name",{value:r,configurable:!0});var z=me();function me(e=""){return e=(e==null?void 0:e.constructor)===String?e:"",function(s,...p){return O(s,C(p))};function r(s,p){return p&&e.length>0?String(e):`{${s}}`}u(r,"invalidate");function t(s){return(s==null?void 0:s.constructor)===String||(s==null?void 0:s.constructor)===Number&&!Number.isNaN(s)}u(t,"isStringOrNumber");function n(s,p){let w=s in p;return w&&t(p[s])?String(p[s]):r(s,w)}u(n,"replacement");function o(s){return(...p)=>{let w=p.find(g=>g.key);return n(w?w.key:"_",s)}}u(o,"getReplacerLambda");function a(s,p){return s.replace(new RegExp("\\{(?<key>[a-z_\\d]+)}","gim"),o(p))}u(a,"replace");function l(s){let p=[];return Object.entries(s).forEach(([w,g])=>{g.forEach((N,c)=>{var d;return(d=p[c])!=null||(p[c]={}),p[c][w]=N})}),p}u(l,"convertTokensFromArrayValues");function h(s){return s.length===1&&Object.values(s[0]).every(Array.isArray)}u(h,"isMultiLineWithArrays");function C(s){return h(s)?l(s[0]):s}u(C,"processTokens");function O(s,p){return p!=null&&p.length?p.filter(w=>w).map(w=>(w==null?void 0:w.constructor)===Object?a(s,w):"").join(""):s}u(O,"interpolate")}u(me,"interpolateFactory");var{randomString:P,uuid4:M}=de();function de(){let e=g(),r=u(()=>e?[...crypto.getRandomValues(new Uint32Array(1))].shift()/T(2,32):Math.random(),"getRandomValue"),t=u(({min:i=0,max:f=Number.MAX_SAFE_INTEGER}={})=>Math.floor(r()*(f-i+1)+i),"randomNr"),n=u((i=0,f=10,b)=>(b||[])instanceof Function?[...Array(f)].map(($,I)=>i+I).map(b):[...Array(f)].map(($,I)=>i+I),"range"),o=u(i=>String.fromCharCode(i),"map2Chrs"),a="!?@#$%^&*=+_;-".split(""),l=RegExp(`[${a.map(i=>`\\${i}`).join("")}]`,"g"),h=u(i=>{let f=i.length;for(;f--;){let b=t({max:f});[i[f],i[b]]=[i[b],i[f]]}return i},"shuffle"),C=h(n(65,26,o)),O=h(n(97,26,o)),p={UCLC:h(C.concat(O)),UC:C,LC:O,Nrs:h(n()),Sym:h(a)},w=u(i=>Object.entries(i).reduce((f,[b,$])=>$?[...f,...p[b]]:f,O),"getChars2Use");function g(){try{return window&&"crypto"in window}catch(i){return!1}}u(g,"checkBrowserCrypto");function N(){return e&&crypto.randomUUID?crypto.randomUUID():[...new Uint8Array(16)].map(i=>t({max:255})).map((i,f)=>`${(f===8?i&63|128:f===6?i&15|64:i).toString(16).padStart(2,"0")}${~[3,5,7,9].indexOf(f)?"-":""}`).join("")}u(N,"uuid4");function c(i,f,b){return/[a-z]/i.test(i)&&(f&&b?/\d/.test(i)&&l.test(i):f?/\d/.test(i):b?l.test(i):!0)}u(c,"strTest");function d(i){let f=[...i],b=f.findIndex($=>/[a-z]/i.test($));return[f[0],f[b]]=[f[b],f[0]],f.join("")}u(d,"alphaSwap");function S({len:i=12,includeUppercase:f=!0,includeNumbers:b,includeSymbols:$,startAlphabetic:I}={}){i=i<6?6:i;let E=h(w({UC:f,Nrs:b,Sym:$}));for(;E.length<i;)E=[...E,...h(E)];let L=E.slice(0,i).join("");if(!(b||$))return L;for(let V=0;V<E.length;V+=1)if(L=E.slice(V,V+i).join(""),c(L,b,$))return I&&!/^[a-z]/i.test(L)?d(L):L;return S({len:i,includeUppercase:f,includeNumbers:b,includeSymbols:$,startAlphabetic:I})}return u(S,"randomString"),{randomString:S,uuid4:N}}u(de,"randomStringGeneratorFactory");var Y=he;function he(e,...r){r=e.raw?r:[r];try{return be(e,...r)}catch(t){let n=X();return`Error creating Regular Expression from string "${e.raw||e}" with flags ${n}
3
+ RegExp error message: "${t.message}"`}}u(he,"createRegExp");function X(...e){return e.length>0?Array.isArray(e.slice(-1))?e.pop().join(""):e.join(""):""}u(X,"resolveFlags");function be(e,...r){let t=X(...r);r=[];let n=e.raw||[e];return new RegExp((r.length&&n.reduce((o,a,l)=>o.concat(r[l-1]||"").concat(a),"")||(n==null?void 0:n.join(""))).split(`
4
+ `).map(o=>o.replace(/\s|\/\/.*$/g,"").trim().replace(/(@s!)/g," ")).join(""),t)}u(be,"regExp");function J(e,...r){return e!=null&&e.raw?String.raw({raw:e},...r):m(e).length?e:""}u(J,"resolveTemplateString");function m(e){return(e==null?void 0:e.value)||(e==null?void 0:e.constructor)===String&&e||""}u(m,"getStringValue");function Se(e,r,t){return e===String&&t?(r==null?void 0:r.constructor)!==Z&&(r==null?void 0:r.constructor)!==e:(r==null?void 0:r.constructor)!==e}u(Se,"checkType");function A(e,r,t=!0){return Array.isArray(r)&&r.length>0&&!r.find(n=>Se(e,n,t))}u(A,"isArrayOf");function G(e){return(e==null?void 0:e.constructor)===Number&&!Number.isNaN(e)}u(G,"isNumber");function ye(e){let r=x(we());return r.value.split(/\n/).concat(Object.entries(Object.getOwnPropertyDescriptors(r)).map(([t,n])=>{if(t==="quote")return"quote (Object. See [constructor].quoteInfo)";let o=!e.find(a=>a===t);return`${t} (${t==="value"?"getter/setter":t==="clone"?"chainable getter":t in String.prototype?"method (override)":n.value&&n.value.constructor===Function?o?`chainable method${t in U?" *custom*":""}`:"method":n.value?"property":n.get?o?`chainable getter${t in U?" *custom*":""}`:"getter":"-"})`}).sort((t,n)=>t.localeCompare(n)))}u(ye,"getSWInformation");function Q(e,r){let t="constructor,history,indexOf,toString,value,valueOf,empty".split(",");return Object.defineProperties(e,{constructor:{get(){return e},enumerable:!1},format:{value(n,...o){return x(n).format(...o)}},addCustom:{value({name:n,method:o,enumerable:a=!1,isGetter:l=!1}={}){if(x``[n])return console.error(`addCustom: the property "${n}" exists and can not be redefined`);(n==null?void 0:n.constructor)===String&&(o==null?void 0:o.constructor)===Function&&o.length>0&&(r[n]={method:o,enumerable:a,isGetter:l})}},info:{get(){return ye(t)}},keys:{get(){return Object.keys(Object.getOwnPropertyDescriptors(x``)).sort((n,o)=>n.localeCompare(o)).map(n=>!/constructor|toString|valueOf/.test(n)&&n in r?`${n} *custom*`:n)}},quoteInfo:{get(){let n=B({},W());return delete n.re,Object.entries(n).sort((o,a)=>o[0].localeCompare(a[0])).reduce((o,[a,l])=>{let h=l.constructor===Function?"(start:string[, end:string])":` (${l.join(" [instance value] ")})`;return[...o,`[instance].quote.${a}${h}`]},[])}},uuid4:{get(){return M()}},randomString:{value:u(function({len:n,includeUppercase:o,includeNumbers:a,includeSymbols:l,startAlphabetic:h}={}){return x(P({len:n,includeUppercase:o,includeNumbers:a,includeSymbols:l,startAlphabetic:h}))},"value")},regExp:{value:Y}}),e}u(Q,"createExtendedCTOR");function k(e,r){return new RegExp(e.replace(new RegExp("\\p{S}|\\p{P}","gu"),t=>`\\${t}`),r)}u(k,"escapeRE");function we(){return atob`Rm9yIHRoZSByZWNvcmQ6CltjbV0gY2hhaW5hYmxlIGdldHRlcnMvbWV0aG9kcyBtb2RpZnkgdGhlIGluc3RhbmNlIHN0cmluZwpbY21dIGluZGV4T2Ygb3ZlcnJpZGVzIHJldHVybiBbdW5kZWZpbmVkXSBpZiBub3RoaW5nIHdhcyBmb3VuZCAoc28gb25lIGNhbiB1c2UgW2xhc3RJXWluZGV4T2YoW3NvbWUgc3RyaW5nIHZhbHVlXSkgPz8gMApbY21dIGluY2x1ZGVzIGluZm9ybWF0aW9uIGZvciBjdXN0b20gbWV0aG9kcy9nZXR0ZXJzIGlmIGFwcGxpY2FibGU=`.replace(/\[cm\]/g,"\u2714")}u(we,"decode");function W(){let r={backtick:["`","`"],bracket:["{","}"],curlyDoubleInward:["\u201D","\u201C"],curlyDouble:["\u201C","\u201D"],curlyDoubleEqual:["\u201C","\u201C"],curlyLHDouble:["\u201E","\u201D"],curlyLHDoubleInward:["\u201E","\u201C"],curlyLHSingle:["\u201A","\u2019"],curlyLHSingleInward:["\u201A","\u2018"],curlySingle:["\u201B","\u2019"],curlySingleEqual:["\u201B","\u201B"],curlySingleInward:["\u2019","\u201B"],custom:u((n,o)=>(n=m(n),o=m(o),[m(n),o.length?o:n]),"custom"),double:['"','"'],guillemets:["\xAB","\xBB"],guillemetsInward:["\xBB","\xAB"],guillemetsSingle:["\u2039","\u203A"],guillemetsSingleInward:["\u203A","\u2039"],single:["'","'"],squareBrackets:["[","]"]},t=Object.values(r).filter(n=>Array.isArray(n)).map(n=>n.map(o=>`\\${o}`).join("")).join("");return r.re=RegExp(`^[${t}]|[${t}]$`,"g"),r}u(W,"defineQuotingStyles");var y=W();function j(e,r,t){return e=m(e),e.length>0?r(e):t||e}u(j,"checkAndRun");function q(e,...r){return j(e,()=>`${z(e,...r)}`)}u(q,"format");function R(e){return j(e,()=>`${e[0].toUpperCase()}${e.slice(1)}`)}u(R,"ucFirst");function K(e,r,t){return!r&&!t?e:([r,t]=A(String,[r,t!=null?t:""])?[r,t]:["",""],`${r}${e}${t||r}`)}u(K,"surroundWith");function ee(e){return j(e,()=>e.replace(/\s/g,"").replace(/[A-Z]/g,r=>`-${r.toLowerCase()}`).replace(/-{2,}/g,"-").replace(/[^a-z-]/g,"").replace(/^-|-$/,""))}u(ee,"toDashedNotation");function re(e){return j(e,()=>e.replace(/\s/g,"").replace(/[A-Z]/g,r=>`_${r.toLowerCase()}`).replace(/_{2,}/g,"_").replace(/[^a-z_]/g,"").replace(/^_|_$/,""))}u(re,"toSnakeCase");function te(e){return j(e,()=>[...e.toLowerCase()].slice(1).reduce((r,t)=>r+(new RegExp("\\p{L}|[-']","u").test(r.at(-1))?t.toLowerCase():t.toUpperCase()),e[0].toUpperCase()))}u(te,"wordsFirstUp");function ne(e){return j(e,()=>e.toLowerCase().trim().split(/[- ]/).filter(r=>r&&r.length>0).map((r,t)=>t>0&&`${R(r)}`||r).join(""))}u(ne,"toCamelcase");function oe(e,{at:r,html:t=!1,wordBoundary:n=!1}={}){return j(e,()=>{var h,C;if(e.length<=r)return e;let o=e.slice(0,r-1),a=t?"&hellip;":"...",l=n&&(C=(h=[...o.matchAll(new RegExp("\\p{Pe}|\\p{Z}","gu"))].at(-1))==null?void 0:h.index)!=null?C:o.length;return(n?o.slice(0,l+1).trim():o)+a})}u(oe,"truncate");function D(e,r){return j(e,()=>{let t=e.split(/\n/).map(n=>n.trim().replace(/\s{2,}/g," "));return r?t.join(`
5
5
  `):t.filter(n=>n.length>0).join(`
6
- `)})}u(D,"trimAll");function ce(e,{replacements:r={},caseSensitive:t=!1}={}){e=m(e);let n=Object.entries(r).flat(),o=A(String,n)&&(t==null?void 0:t.constructor)===Boolean,i=`g${t?"":"i"}`;if(o&&(n=n.map(l=>m(l)).filter(l=>n.length>0),n.length))for(;n.length;){let[l,w]=[n.shift(),n.shift()],C=K(l,i);e=e.replace(C,w)}return e}u(ce,"replaceWords");function le(e,r,t){e=m(e),t=G(t)?t:0;let n=e.indexOf(r,t||0);return n<0?void 0:n}u(le,"indexOf");function ae(e,r,t){e=m(e),t=G(t)?t:e.length;let n=e.lastIndexOf(r,t);return n<0?void 0:n}u(ae,"lastIndexOf");function H(e,{value:r,values:t,at:n=0}={}){e=m(e),n=G(n)?n:0;let o=m(t);return t=m(r).length?r:o.length?o:A(String,t)?t.map(i=>m(i)).join(""):[],t.length<=1?e:e.length===0?`${t}${e}`:`${e.slice(0,n)}${t}${e.slice(n)}`}u(H,"insert");function ie(e,...r){return r=A(String,r)&&r,r?H(m(e),{values:r,at:0}):m(e)}u(ie,"prefix");function se(e,...r){return r=A(String,r)&&r,r&&r.length>0?`${m(e)}`.concat(r.join("")):m(e)}u(se,"append");function fe(e,r){return{value:{get backtick(){return e.enclose(...S.backtick)},get bracket(){return e.enclose(...S.bracket)},get curlyDouble(){return e.enclose(...S.curlyDouble)},get curlyDoubleInward(){return e.enclose(...S.curlyDoubleInward)},get curlyDoubleEqual(){return e.enclose(...S.curlyDoubleEqual)},get curlyLHDoubleInward(){return e.enclose(...S.curlyLHDoubleInward)},get curlyLHSingle(){return e.enclose(...S.curlyLHSingle)},get curlyLHSingleInward(){return e.enclose(...S.curlyLHSingleInward)},get curlySingle(){return e.enclose(...S.curlySingle)},get curlySingleEqual(){return e.enclose(...S.curlySingleEqual)},get curlySingleInward(){return e.enclose(...S.curlySingleInward)},custom(t,n){return e.enclose(t,n!=null?n:t)},get double(){return e.enclose(...S.double)},get guillemets(){return e.enclose(...S.guillemets)},get guillemetsInward(){return e.enclose(...S.guillemetsInward)},get guillemetsSingle(){return e.enclose(...S.guillemetsSingle)},get guillemetsSingleInward(){return e.enclose(...S.guillemetsSingleInward)},get remove(){return r(`${e.value.replace(S.re,"")}`)},get single(){return e.enclose(...S.single)},get squareBrackets(){return e.enclose(...S.squareBrackets)}},enumerable:!1}}u(fe,"quotGetters");var ge=$e;function $e({initialstring:e,customMethods:r}={}){let t={},n=new Proxy(t,w(t)),o=(e==null?void 0:e.constructor)===String?e:"",i=[o],l=!1;return Object.defineProperties(t,{append:{value(...c){return g(se(o,...c))},enumerable:l},enclose:{value(c,d){return g(ee(o,c,d))},enumerable:l},format:{value(...c){return g(q(o,...c))},enumerable:l},indexOf:{value(c){return le(o,c)},enumerable:l},interpolate:{value(...c){return g(q(o,...c))},enumerable:l},insert:{value({value:c,values:d,at:b}={}){return g(H(o,{value:c,values:d,at:b}))},enumerable:l},lastIndexOf:{value(c){return ae(o,c)},enumerable:l},prefix:{value(...c){return g(ie(o,...c))},enumerable:l},replaceWords:{value({caseSensitive:c=!1,replacements:d={}}={}){return g(ce(o,{replacements:d,caseSensitive:c}))},enumerable:l},toString:{value(){return o},enumerable:l},truncate:{value({at:c,html:d=!1,wordBoundary:b=!1}={}){return g(ue(o,{at:c,html:d,wordBoundary:b}))},enumerable:l},valueOf:{value(){return o},enumerable:l},undoLast:{value(c){return p(c)},enumerable:l},camelCase:{get(){return g(oe(m(o)))},enumerable:l},clone:{get(){return C()},enumerable:l},constructor:{get(){return x.constructor},enumerable:l},kebabCase:{get(){return g(re(m(o)))},enumerable:l},firstUp:{get(){return g(R(m(o)))},enumerable:l},history:{get(){return i},set(c){i=c},enumerable:l},quote:fe(n,g),snakeCase:{get(){return g(te(m(o)))}},trimAll:{get(){return g(D(o))},enumerable:l},trimAllKeepLF:{get(){return g(D(o,!0))},enumerable:l},undoAll:{get(){return s()},enumerable:l},undo:{get(){return y()},enumerable:l},wordsUCFirst:{get(){return g(ne(m(o)))},enumerable:l},value:{get(){return o},set(c){o=m(c).length?c:o,i.push(o)},enumerable:l}}),N(r),Object.freeze(n);function w(c){return{get(d,b){return b in c?c[b]:b in String.prototype?O(b):void 0}}}u(w,"getTraps");function C(){let c=x(o);return c.history=[...i],c}u(C,"clone");function O(c){return o[c]instanceof Function?function(...d){let b=o[c](...d);return(b==null?void 0:b.constructor)===String?g(o[c](...d)):b}:o[c]}u(O,"wrapNative");function s(){for(;i.length>1;)i.pop();return o=i.at(-1),g(o,!1)}u(s,"undoAll");function p(c){if(!G(c))return g(o,!1);let d=i.length;return c>=d||c<1?(i=i.slice(0,1),o=i.at(-1),g(i.at(-1),!1)):(i=i.slice(0,d-c),o=i.at(-1),g(o,!1))}u(p,"undoSteps");function y(){return i.length===1?g(i[0]):(i.pop(),o=i.at(-1),g(o,!1))}u(y,"undoLast");function g(c,d=!0){return o!==c&&d&&i.push(c),o=c,n}u(g,"wrap");function N(c){Object.entries(c).forEach(([d,b])=>{let{enumerable:a,method:f,isGetter:h}=b;Object.defineProperty(t,d,h?{get(){return g(f(n).value)},enumerable:a}:{value(...I){return g(f(n,...I).value)},enumerable:a})})}u(N,"injectCustomMethods")}u($e,"instanceCreator");var U={},x=k(Z,U);function Z(e,...r){return ge({initialstring:Q(e,...r),customMethods:U})}u(Z,"CustomStringConstructor");export{Z as CustomStringConstructor,U as customMethods,x as default};
6
+ `)})}u(D,"trimAll");function ue(e,{replacements:r={},caseSensitive:t=!1}={}){e=m(e);let n=Object.entries(r).flat(),o=A(String,n)&&(t==null?void 0:t.constructor)===Boolean,a=`g${t?"":"i"}`;if(o&&(n=n.map(l=>m(l)).filter(l=>n.length>0),n.length))for(;n.length;){let[l,h]=[n.shift(),n.shift()],C=k(l,a);e=e.replace(C,h)}return e}u(ue,"replaceWords");function ce(e,r,t){e=m(e),t=G(t)?t:0;let n=e.indexOf(r,t||0);return n<0?void 0:n}u(ce,"indexOf");function le(e,r,t){e=m(e),t=G(t)?t:e.length;let n=e.lastIndexOf(r,t);return n<0?void 0:n}u(le,"lastIndexOf");function H(e,{value:r,values:t,at:n=0}={}){e=m(e),n=G(n)?n:0;let o=m(t);return t=m(r).length?r:o.length?o:A(String,t)?t.map(a=>m(a)).join(""):[],t.length<=1?e:e.length===0?`${t}${e}`:`${e.slice(0,n)}${t}${e.slice(n)}`}u(H,"insert");function ae(e,...r){return r=A(String,r)&&r,r?H(m(e),{values:r,at:0}):m(e)}u(ae,"prefix");function ie(e,...r){return r=A(String,r)&&r,r&&r.length>0?`${m(e)}`.concat(r.join("")):m(e)}u(ie,"append");function se(e,r){return{value:{get backtick(){return e.enclose(...y.backtick)},get bracket(){return e.enclose(...y.bracket)},get curlyDouble(){return e.enclose(...y.curlyDouble)},get curlyDoubleInward(){return e.enclose(...y.curlyDoubleInward)},get curlyDoubleEqual(){return e.enclose(...y.curlyDoubleEqual)},get curlyLHDoubleInward(){return e.enclose(...y.curlyLHDoubleInward)},get curlyLHSingle(){return e.enclose(...y.curlyLHSingle)},get curlyLHSingleInward(){return e.enclose(...y.curlyLHSingleInward)},get curlySingle(){return e.enclose(...y.curlySingle)},get curlySingleEqual(){return e.enclose(...y.curlySingleEqual)},get curlySingleInward(){return e.enclose(...y.curlySingleInward)},custom(t,n){return e.enclose(t,n!=null?n:t)},get double(){return e.enclose(...y.double)},get guillemets(){return e.enclose(...y.guillemets)},get guillemetsInward(){return e.enclose(...y.guillemetsInward)},get guillemetsSingle(){return e.enclose(...y.guillemetsSingle)},get guillemetsSingleInward(){return e.enclose(...y.guillemetsSingleInward)},get remove(){return r(`${e.value.replace(y.re,"")}`)},get single(){return e.enclose(...y.single)},get squareBrackets(){return e.enclose(...y.squareBrackets)}},enumerable:!1}}u(se,"quotGetters");var fe=Ce;function Ce({initialstring:e,customMethods:r}={}){let t={},n=new Proxy(t,h(t)),o=(e==null?void 0:e.constructor)===String?e:"",a=[o],l=!1;return Object.defineProperties(t,{append:{value(...c){return g(ie(o,...c))},enumerable:l},enclose:{value(c,d){return g(K(o,c,d))},enumerable:l},format:{value(...c){return g(q(o,...c))},enumerable:l},indexOf:{value(c){return ce(o,c)},enumerable:l},interpolate:{value(...c){return g(q(o,...c))},enumerable:l},insert:{value({value:c,values:d,at:S}={}){return g(H(o,{value:c,values:d,at:S}))},enumerable:l},lastIndexOf:{value(c){return le(o,c)},enumerable:l},prefix:{value(...c){return g(ae(o,...c))},enumerable:l},replaceWords:{value({caseSensitive:c=!1,replacements:d={}}={}){return g(ue(o,{replacements:d,caseSensitive:c}))},enumerable:l},toString:{value(){return o},enumerable:l},truncate:{value({at:c,html:d=!1,wordBoundary:S=!1}={}){return g(oe(o,{at:c,html:d,wordBoundary:S}))},enumerable:l},valueOf:{value(){return o},enumerable:l},undoLast:{value(c){return p(c)},enumerable:l},camelCase:{get(){return g(ne(m(o)))},enumerable:l},clone:{get(){return C()},enumerable:l},constructor:{get(){return x.constructor},enumerable:l},firstUp:{get(){return g(R(m(o)))},enumerable:l},history:{get(){return a},set(c){a=c},enumerable:l},empty:{get(){return o.length<1}},kebabCase:{get(){return g(ee(m(o)))},enumerable:l},quote:se(n,g),snakeCase:{get(){return g(re(m(o)))}},trimAll:{get(){return g(D(o))},enumerable:l},trimAllKeepLF:{get(){return g(D(o,!0))},enumerable:l},undoAll:{get(){return s()},enumerable:l},undo:{get(){return w()},enumerable:l},wordsUCFirst:{get(){return g(te(m(o)))},enumerable:l},value:{get(){return o},set(c){o=m(c).length?c:o,a.push(o)},enumerable:l}}),N(r),Object.freeze(n);function h(c){return{get(d,S){return S in c?c[S]:S in String.prototype?O(S):void 0}}}u(h,"getTraps");function C(){let c=x(o);return c.history=[...a],c}u(C,"clone");function O(c){return o[c]instanceof Function?function(...d){let S=o[c](...d);return(S==null?void 0:S.constructor)===String?g(o[c](...d)):S}:o[c]}u(O,"wrapNative");function s(){for(;a.length>1;)a.pop();return o=a.at(-1),g(o,!1)}u(s,"undoAll");function p(c){if(!G(c))return g(o,!1);let d=a.length;return c>=d||c<1?(a=a.slice(0,1),o=a.at(-1),g(a.at(-1),!1)):(a=a.slice(0,d-c),o=a.at(-1),g(o,!1))}u(p,"undoSteps");function w(){return a.length===1?g(a[0]):(a.pop(),o=a.at(-1),g(o,!1))}u(w,"undoLast");function g(c,d=!0){return o!==c&&d&&a.push(c),o=c,n}u(g,"wrap");function N(c){Object.entries(c).forEach(([d,S])=>{let{enumerable:i,method:f,isGetter:b}=S;Object.defineProperty(t,d,b?{get(){return g(f(n).value)},enumerable:i}:{value(...I){return g(f(n,...I).value)},enumerable:i})})}u(N,"injectCustomMethods")}u(Ce,"instanceCreator");var U={},x=Q(Z,U);function Z(e,...r){return fe({initialstring:J(e,...r),customMethods:U})}u(Z,"CustomStringConstructor");export{Z as CustomStringConstructor,U as customMethods,x as default};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "stringweaver",
3
3
  "type": "module",
4
- "version": "1.0.2",
4
+ "version": "1.0.4",
5
5
  "private": false,
6
6
  "main": "./index.js",
7
7
  "sideEffects": false,
@@ -21,9 +21,6 @@
21
21
  "type": "git",
22
22
  "url": "https://github.com/KooiInc/js-stringweaver"
23
23
  },
24
- "devDependencies": {
25
- "esbuild": "latest"
26
- },
27
24
  "bugs": {
28
25
  "url": "https://github.com/KooiInc/js-stringweaver/issues"
29
26
  }
package/src/extensions.js CHANGED
@@ -39,12 +39,13 @@ function instanceCreator({initialstring, customMethods} = {}) {
39
39
  camelCase: { get() { return wrap(toCamelcase(getStringValue(actualValue))); }, enumerable },
40
40
  clone: { get() { return clone(); }, enumerable },
41
41
  constructor: { get() { return $S.constructor; }, enumerable },
42
- kebabCase: { get() { return wrap(toDashedNotation(getStringValue(actualValue))); }, enumerable },
43
42
  firstUp: { get() { return wrap(ucFirst(getStringValue(actualValue))); }, enumerable },
44
43
  history: {
45
44
  get() { return history; },
46
45
  set(value) { history = value; },
47
46
  enumerable },
47
+ empty: { get() {return actualValue.length < 1} },
48
+ kebabCase: { get() { return wrap(toDashedNotation(getStringValue(actualValue))); }, enumerable },
48
49
  quote: quotGetters(instance, wrap),
49
50
  snakeCase: { get() { return wrap(toSnakeCase(getStringValue(actualValue))); } },
50
51
  trimAll: { get() { return wrap(trimAll(actualValue)); }, enumerable },
@@ -14,7 +14,9 @@ export {
14
14
  };
15
15
 
16
16
  function resolveTemplateString(str, ...args) {
17
- return str.raw ? String.raw({ raw: str }, ...args) : str;
17
+ return str?.raw
18
+ ? String.raw({ raw: str }, ...args)
19
+ : getStringValue(str).length ? str : "";
18
20
  }
19
21
 
20
22
  function getStringValue(string) {
@@ -35,29 +37,26 @@ function isNumber(value) {
35
37
  return value?.constructor === Number && !Number.isNaN(value);
36
38
  }
37
39
 
38
- function isMutating(descriptor) {
39
- return /wrap\(|undo.*/i.test(descriptor.toString())
40
- }
41
-
42
- function getSWInformation() {
40
+ function getSWInformation(notChainable) {
43
41
  const firstLines = xString(decode());
44
42
  return firstLines.value.split(/\n/).concat(
45
43
  Object.entries(Object.getOwnPropertyDescriptors(firstLines))
46
44
  .map(([key, descriptr]) => {
47
45
  if (key === `quote`) { return `quote (Object. See [constructor].quoteInfo)`; }
46
+ const isChainable = !notChainable.find(k => k === key);
48
47
  return `${key} (${
49
48
  key === `value`
50
49
  ? `getter/setter`
51
50
  : key === `clone`
52
51
  ? `chainable getter`
53
52
  : key in String.prototype
54
- ? `method, String override`
53
+ ? `method (override)`
55
54
  : descriptr.value && descriptr.value.constructor === Function
56
- ? (isMutating(descriptr.value)
55
+ ? (isChainable
57
56
  ? `chainable method${key in customMethods ? ` *custom*` : ``}` : `method`)
58
57
  : descriptr.value
59
58
  ? `property`
60
- : descriptr.get ? (isMutating(descriptr.get)
59
+ : descriptr.get ? (isChainable
61
60
  ? `chainable getter${key in customMethods ? ` *custom*` : ``}`
62
61
  : `getter`) : `-`})`; })
63
62
  .sort( (a,b) => a.localeCompare(b) )
@@ -65,6 +64,7 @@ function getSWInformation() {
65
64
  }
66
65
 
67
66
  function createExtendedCTOR(ctor, customMethods) {
67
+ const notChainable = `constructor,history,indexOf,toString,value,valueOf,empty`.split(`,`);
68
68
  Object.defineProperties(ctor, {
69
69
  constructor: {
70
70
  get() { return ctor; },
@@ -86,7 +86,7 @@ function createExtendedCTOR(ctor, customMethods) {
86
86
  }
87
87
  },
88
88
  info: {
89
- get() { return getSWInformation(); }
89
+ get() { return getSWInformation(notChainable); }
90
90
  },
91
91
  keys: {
92
92
  get() {