stringweaver 1.0.1 → 1.0.3

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 D=le();function le(e=""){return e=e?.constructor===String?e:"",function(s,...p){return j(s,$(p))};function t(s,p){return p&&e.length>0?String(e):`{${s}}`}function r(s){return s?.constructor===String||s?.constructor===Number&&!Number.isNaN(s)}function o(s,p){let b=s in p;return b&&r(p[s])?String(p[s]):t(s,b)}function n(s){return(...p)=>{let b=p.find(g=>g.key);return o(b?b.key:"_",s)}}function i(s,p){return s.replace(/\{(?<key>[a-z_\d]+)}/gim,n(p))}function c(s){let p=[];return Object.entries(s).forEach(([b,g])=>{g.forEach((A,u)=>(p[u]??={},p[u][b]=A))}),p}function y(s){return s.length===1&&Object.values(s[0]).every(Array.isArray)}function $(s){return y(s)?c(s[0]):s}function j(s,p){return p?.length?p.filter(b=>b).map(b=>b?.constructor===Object?i(s,b):"").join(""):s}}var{randomString:H,uuid4:F}=ie();function ie(){let e=g(),t=()=>e?[...crypto.getRandomValues(new Uint32Array(1))].shift()/2**32:Math.random(),r=({min:l=0,max:a=Number.MAX_SAFE_INTEGER}={})=>Math.floor(t()*(a-l+1)+l),o=(l=0,a=10,d)=>(d||[])instanceof Function?[...Array(a)].map((w,x)=>l+x).map(d):[...Array(a)].map((w,x)=>l+x),n=l=>String.fromCharCode(l),i="!?@#$%^&*=+_;-".split(""),c=RegExp(`[${i.map(l=>`\\${l}`).join("")}]`,"g"),y=l=>{let a=l.length;for(;a--;){let d=r({max:a});[l[a],l[d]]=[l[d],l[a]]}return l},$=y(o(65,26,n)),j=y(o(97,26,n)),p={UCLC:y($.concat(j)),UC:$,LC:j,Nrs:y(o()),Sym:y(i)},b=l=>Object.entries(l).reduce((a,[d,w])=>w?[...a,...p[d]]:a,j);function g(){try{return window&&"crypto"in window}catch{return!1}}function A(){return e&&crypto.randomUUID?crypto.randomUUID():[...new Uint8Array(16)].map(l=>r({max:255})).map((l,a)=>`${(a===8?l&63|128:a===6?l&15|64:l).toString(16).padStart(2,"0")}${~[3,5,7,9].indexOf(a)?"-":""}`).join("")}function u(l,a,d){return/[a-z]/i.test(l)&&(a&&d?/\d/.test(l)&&c.test(l):a?/\d/.test(l):d?c.test(l):!0)}function m(l){let a=[...l],d=a.findIndex(w=>/[a-z]/i.test(w));return[a[0],a[d]]=[a[d],a[0]],a.join("")}function S({len:l=12,includeUppercase:a=!0,includeNumbers:d,includeSymbols:w,startAlphabetic:x}={}){l=l<6?6:l;let O=y(b({UC:a,Nrs:d,Sym:w}));for(;O.length<l;)O=[...O,...y(O)];let v=O.slice(0,l).join("");if(!(d||w))return v;for(let G=0;G<O.length;G+=1)if(v=O.slice(G,G+l).join(""),u(v,d,w))return x&&!/^[a-z]/i.test(v)?m(v):v;return S({len:l,includeUppercase:a,includeNumbers:d,includeSymbols:w,startAlphabetic:x})}return{randomString:S,uuid4:A}}var _=ae;function ae(e,...t){t=e.raw?t:[t];try{return se(e,...t)}catch(r){let o=T();return`Error creating Regular Expression from string "${e.raw||e}" with flags ${o}
3
- RegExp error message: "${r.message}"`}}function T(...e){return e.length>0?Array.isArray(e.slice(-1))?e.pop().join(""):e.join(""):""}function se(e,...t){let r=T(...t);t=[];let o=e.raw||[e];return new RegExp((t.length&&o.reduce((n,i,c)=>n.concat(t[c-1]||"").concat(i),"")||o?.join("")).split(`
4
- `).map(n=>n.replace(/\s|\/\/.*$/g,"").trim().replace(/(@s!)/g," ")).join(""),r)}function z(e,...t){return e.raw?String.raw({raw:e},...t):e}function f(e){return e?.value||e?.constructor===String&&e||""}function ge(e,t,r){return e===String&&r?t?.constructor!==U&&t?.constructor!==e:t?.constructor!==e}function E(e,t,r=!0){return Array.isArray(t)&&t.length>0&&!t.find(o=>ge(e,o,r))}function L(e){return e?.constructor===Number&&!Number.isNaN(e)}function B(e){return/wrap\(|undo.*/i.test(e.toString())}function fe(){let e=C(pe());return e.value.split(/\n/).concat(Object.entries(Object.getOwnPropertyDescriptors(e)).map(([t,r])=>t==="quote"?"quote (Object. See [constructor].quoteInfo)":`${t} (${t==="value"?"getter/setter":t==="clone"?"chainable getter":t in String.prototype?"method, String override":r.value&&r.value.constructor===Function?B(r.value)?`chainable method${t in R?" *custom*":""}`:"method":r.value?"property":r.get?B(r.get)?`chainable getter${t in R?" *custom*":""}`:"getter":"-"})`).sort((t,r)=>t.localeCompare(r)))}function k(e,t){return Object.defineProperties(e,{constructor:{get(){return e},enumerable:!1},format:{value(r,...o){return C(r).format(...o)}},addCustom:{value({name:r,method:o,enumerable:n=!1,isGetter:i=!1}={}){if(C``[r])return console.error(`addCustom: the property "${r}" exists and can not be redefined`);r?.constructor===String&&o?.constructor===Function&&o.length>0&&(t[r]={method:o,enumerable:n,isGetter:i})}},info:{get(){return fe()}},keys:{get(){return Object.keys(Object.getOwnPropertyDescriptors(C``)).sort((r,o)=>r.localeCompare(o)).map(r=>!/constructor|toString|valueOf/.test(r)&&r in t?`${r} *custom*`:r)}},quoteInfo:{get(){let r={...N()};return delete r.re,Object.entries(r).sort((o,n)=>o[0].localeCompare(n[0])).reduce((o,[n,i])=>{let c=i.constructor===Function?"(start:string[, end:string])":` (${i.join(" [instance value] ")})`;return[...o,`[instance].quote.${n}${c}`]},[])}},uuid4:{get(){return F()}},randomString:{value:function({len:r,includeUppercase:o,includeNumbers:n,includeSymbols:i,startAlphabetic:c}={}){return C(H({len:r,includeUppercase:o,includeNumbers:n,includeSymbols:i,startAlphabetic:c}))}},regExp:{value:_}}),e}function M(e,t){return new RegExp(e.replace(/\p{S}|\p{P}/gu,r=>`\\${r}`),t)}function pe(){return atob`Rm9yIHRoZSByZWNvcmQ6CltjbV0gY2hhaW5hYmxlIGdldHRlcnMvbWV0aG9kcyBtb2RpZnkgdGhlIGluc3RhbmNlIHN0cmluZwpbY21dIGluZGV4T2Ygb3ZlcnJpZGVzIHJldHVybiBbdW5kZWZpbmVkXSBpZiBub3RoaW5nIHdhcyBmb3VuZCAoc28gb25lIGNhbiB1c2UgW2xhc3RJXWluZGV4T2YoW3NvbWUgc3RyaW5nIHZhbHVlXSkgPz8gMApbY21dIGluY2x1ZGVzIGluZm9ybWF0aW9uIGZvciBjdXN0b20gbWV0aG9kcy9nZXR0ZXJzIGlmIGFwcGxpY2FibGU=`.replace(/\[cm\]/g,"\u2714")}function N(){let t={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:(o,n)=>(o=f(o),n=f(n),[f(o),n.length?n:o]),double:['"','"'],guillemets:["\xAB","\xBB"],guillemetsInward:["\xBB","\xAB"],guillemetsSingle:["\u2039","\u203A"],guillemetsSingleInward:["\u203A","\u2039"],single:["'","'"],squareBrackets:["[","]"]},r=Object.values(t).filter(o=>Array.isArray(o)).map(o=>o.map(n=>`\\${n}`).join("")).join("");return t.re=RegExp(`^[${r}]|[${r}]$`,"g"),t}var h=N();function I(e,t,r){return e=f(e),e.length>0?t(e):r||e}function V(e,...t){return I(e,()=>`${D(e,...t)}`)}function W(e){return I(e,()=>`${e[0].toUpperCase()}${e.slice(1)}`)}function P(e,t,r){return!t&&!r?e:([t,r]=E(String,[t,r??""])?[t,r]:["",""],`${t}${e}${r||t}`)}function Y(e){return I(e,()=>e.replace(/\s/g,"").replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`).replace(/-{2,}/g,"-").replace(/[^a-z-]/g,"").replace(/^-|-$/,""))}function X(e){return I(e,()=>e.replace(/\s/g,"").replace(/[A-Z]/g,t=>`_${t.toLowerCase()}`).replace(/_{2,}/g,"_").replace(/[^a-z_]/g,"").replace(/^_|_$/,""))}function J(e){return I(e,()=>[...e.toLowerCase()].slice(1).reduce((t,r)=>t+(/\p{L}|[-']/u.test(t.at(-1))?r.toLowerCase():r.toUpperCase()),e[0].toUpperCase()))}function Q(e){return I(e,()=>e.toLowerCase().trim().split(/[- ]/).filter(t=>t&&t.length>0).map((t,r)=>r>0&&`${W(t)}`||t).join(""))}function K(e,{at:t,html:r=!1,wordBoundary:o=!1}={}){return I(e,()=>{if(e.length<=t)return e;let n=e.slice(0,t-1),i=r?"&hellip;":"...",c=o?[...n.matchAll(/\p{Pe}|\p{Z}/gu)].at(-1)?.index??n.length:n.length;return(o?n.slice(0,c+1).trim():n)+i})}function Z(e,t){return I(e,()=>{let r=e.split(/\n/).map(o=>o.trim().replace(/\s{2,}/g," "));return t?r.join(`
5
- `):r.filter(o=>o.length>0).join(`
6
- `)})}function ee(e,{replacements:t={},caseSensitive:r=!1}={}){e=f(e);let o=Object.entries(t).flat(),n=E(String,o)&&r?.constructor===Boolean,i=`g${r?"":"i"}`;if(n&&(o=o.map(c=>f(c)).filter(c=>o.length>0),o.length))for(;o.length;){let[c,y]=[o.shift(),o.shift()],$=M(c,i);e=e.replace($,y)}return e}function te(e,t,r){e=f(e),r=L(r)?r:0;let o=e.indexOf(t,r||0);return o<0?void 0:o}function re(e,t,r){e=f(e),r=L(r)?r:e.length;let o=e.lastIndexOf(t,r);return o<0?void 0:o}function q(e,{value:t,values:r,at:o=0}={}){e=f(e),o=L(o)?o:0;let n=f(r);return r=f(t).length?t:n.length?n:E(String,r)?r.map(i=>f(i)).join(""):[],r.length<=1?e:e.length===0?`${r}${e}`:`${e.slice(0,o)}${r}${e.slice(o)}`}function ne(e,...t){return t=E(String,t)&&t,t?q(f(e),{values:t,at:0}):f(e)}function oe(e,...t){return t=E(String,t)&&t,t&&t.length>0?`${f(e)}`.concat(t.join("")):f(e)}function ue(e,t){return{value:{get backtick(){return e.enclose(...h.backtick)},get bracket(){return e.enclose(...h.bracket)},get curlyDouble(){return e.enclose(...h.curlyDouble)},get curlyDoubleInward(){return e.enclose(...h.curlyDoubleInward)},get curlyDoubleEqual(){return e.enclose(...h.curlyDoubleEqual)},get curlyLHDoubleInward(){return e.enclose(...h.curlyLHDoubleInward)},get curlyLHSingle(){return e.enclose(...h.curlyLHSingle)},get curlyLHSingleInward(){return e.enclose(...h.curlyLHSingleInward)},get curlySingle(){return e.enclose(...h.curlySingle)},get curlySingleEqual(){return e.enclose(...h.curlySingleEqual)},get curlySingleInward(){return e.enclose(...h.curlySingleInward)},custom(r,o){return e.enclose(r,o??r)},get double(){return e.enclose(...h.double)},get guillemets(){return e.enclose(...h.guillemets)},get guillemetsInward(){return e.enclose(...h.guillemetsInward)},get guillemetsSingle(){return e.enclose(...h.guillemetsSingle)},get guillemetsSingleInward(){return e.enclose(...h.guillemetsSingleInward)},get remove(){return t(`${e.value.replace(h.re,"")}`)},get single(){return e.enclose(...h.single)},get squareBrackets(){return e.enclose(...h.squareBrackets)}},enumerable:!1}}var ce=me;function me({initialstring:e,customMethods:t}={}){let r={},o=new Proxy(r,y(r)),n=e?.constructor===String?e:"",i=[n],c=!1;return Object.defineProperties(r,{append:{value(...u){return g(oe(n,...u))},enumerable:c},enclose:{value(u,m){return g(P(n,u,m))},enumerable:c},format:{value(...u){return g(V(n,...u))},enumerable:c},indexOf:{value(u){return te(n,u)},enumerable:c},interpolate:{value(...u){return g(V(n,...u))},enumerable:c},insert:{value({value:u,values:m,at:S}={}){return g(q(n,{value:u,values:m,at:S}))},enumerable:c},lastIndexOf:{value(u){return re(n,u)},enumerable:c},prefix:{value(...u){return g(ne(n,...u))},enumerable:c},replaceWords:{value({caseSensitive:u=!1,replacements:m={}}={}){return g(ee(n,{replacements:m,caseSensitive:u}))},enumerable:c},toString:{value(){return n},enumerable:c},truncate:{value({at:u,html:m=!1,wordBoundary:S=!1}={}){return g(K(n,{at:u,html:m,wordBoundary:S}))},enumerable:c},valueOf:{value(){return n},enumerable:c},undoLast:{value(u){return p(u)},enumerable:c},camelCase:{get(){return g(Q(f(n)))},enumerable:c},clone:{get(){return $()},enumerable:c},constructor:{get(){return C.constructor},enumerable:c},kebabCase:{get(){return g(Y(f(n)))},enumerable:c},firstUp:{get(){return g(W(f(n)))},enumerable:c},history:{get(){return i},set(u){i=u},enumerable:c},quote:ue(o,g),snakeCase:{get(){return g(X(f(n)))}},trimAll:{get(){return g(Z(n))},enumerable:c},trimAllKeepLF:{get(){return g(Z(n,!0))},enumerable:c},undoAll:{get(){return s()},enumerable:c},undo:{get(){return b()},enumerable:c},wordsUCFirst:{get(){return g(J(f(n)))},enumerable:c},value:{get(){return n},set(u){n=f(u).length?u:n,i.push(n)},enumerable:c}}),A(t),Object.freeze(o);function y(u){return{get(m,S){return S in u?u[S]:S in String.prototype?j(S):void 0}}}function $(){let u=C(n);return u.history=[...i],u}function j(u){return n[u]instanceof Function?function(...m){let S=n[u](...m);return S?.constructor===String?g(n[u](...m)):S}:n[u]}function s(){for(;i.length>1;)i.pop();return n=i.at(-1),g(n,!1)}function p(u){if(!L(u))return g(n,!1);let m=i.length;return u>=m||u<1?(i=i.slice(0,1),n=i.at(-1),g(i.at(-1),!1)):(i=i.slice(0,m-u),n=i.at(-1),g(n,!1))}function b(){return i.length===1?g(i[0]):(i.pop(),n=i.at(-1),g(n,!1))}function g(u,m=!0){return n!==u&&m&&i.push(u),n=u,o}function A(u){Object.entries(u).forEach(([m,S])=>{let{enumerable:l,method:a,isGetter:d}=S;Object.defineProperty(r,m,d?{get(){return g(a(o).value)},enumerable:l}:{value(...x){return g(a(o,...x).value)},enumerable:l})})}}var R={},C=k(U,R);function U(e,...t){return ce({initialstring:z(e,...t),customMethods:R})}export{U as CustomStringConstructor,R as customMethods,C as default};
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 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(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: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(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,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(be,"regExp");var Se="constructor,history,indexOf,toString,value,valueOf".split(",");function J(e,...r){return e.raw?String.raw({raw:e},...r):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 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 we(){let e=x(Ce());return e.value.split(/\n/).concat(Object.entries(Object.getOwnPropertyDescriptors(e)).map(([r,t])=>{if(r==="quote")return"quote (Object. See [constructor].quoteInfo)";let n=!Se.find(o=>o===r);return`${r} (${r==="value"?"getter/setter":r==="clone"?"chainable getter":r in String.prototype?"method (override)":t.value&&t.value.constructor===Function?n?`chainable method${r in U?" *custom*":""}`:"method":t.value?"property":t.get?n?`chainable getter${r in U?" *custom*":""}`:"getter":"-"})`}).sort((r,t)=>r.localeCompare(t)))}u(we,"getSWInformation");function Q(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 M()}},randomString:{value:u(function({len:t,includeUppercase:n,includeNumbers:o,includeSymbols:i,startAlphabetic:l}={}){return x(P({len:t,includeUppercase:n,includeNumbers:o,includeSymbols:i,startAlphabetic:l}))},"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 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 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 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(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
+ `):t.filter(n=>n.length>0).join(`
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,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(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(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 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(...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(se,"quotGetters");var fe=$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(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:b}={}){return g(H(o,{value:c,values:d,at:b}))},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:b=!1}={}){return g(oe(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(ne(m(o)))},enumerable:l},clone:{get(){return C()},enumerable:l},constructor:{get(){return x.constructor},enumerable:l},kebabCase:{get(){return g(ee(m(o)))},enumerable:l},firstUp:{get(){return g(R(m(o)))},enumerable:l},history:{get(){return i},set(c){i=c},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 y()},enumerable:l},wordsUCFirst:{get(){return g(te(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=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/README.md CHANGED
@@ -8,4 +8,4 @@
8
8
 
9
9
  A "stringbuilder" library
10
10
 
11
- <a target="_blank" href="https://kooiinc.github.io/js-stringweaver/Examples">Examples</a>
11
+ Documentation by <a target="_blank" href="https://kooiinc.github.io/js-stringweaver/Examples">Example</a>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "stringweaver",
3
3
  "type": "module",
4
- "version": "1.0.1",
4
+ "version": "1.0.3",
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
  }
@@ -13,6 +13,8 @@ export {
13
13
  escapeRE,
14
14
  };
15
15
 
16
+ const immutables = `constructor,history,indexOf,toString,value,valueOf`.split(`,`);
17
+
16
18
  function resolveTemplateString(str, ...args) {
17
19
  return str.raw ? String.raw({ raw: str }, ...args) : str;
18
20
  }
@@ -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
40
  function getSWInformation() {
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 = !immutables.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) )