stringweaver 1.0.4 → 1.0.6

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 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
- `):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,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};
2
+ var _=Object.defineProperty;var v=Object.getOwnPropertySymbols;var ge=Object.prototype.hasOwnProperty,pe=Object.prototype.propertyIsEnumerable;var T=Math.pow,F=(e,t,r)=>t in e?_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,B=(e,t)=>{for(var r in t||(t={}))ge.call(t,r)&&F(e,r,t[r]);if(v)for(var r of v(t))pe.call(t,r)&&F(e,r,t[r]);return e};var u=(e,t)=>_(e,"name",{value:t,configurable:!0});var z=me();function me(e=""){return e=(e==null?void 0:e.constructor)===String?e:"",function(f,...m){return O(f,C(m))};function t(f,m){return m&&e.length>0?String(e):`{${f}}`}u(t,"invalidate");function r(f){return(f==null?void 0:f.constructor)===String||(f==null?void 0:f.constructor)===Number&&!Number.isNaN(f)}u(r,"isStringOrNumber");function n(f,m){let y=f in m;return y&&r(m[f])?String(m[f]):t(f,y)}u(n,"replacement");function o(f){return(...m)=>{let y=m.find(E=>E.key);return n(y?y.key:"_",f)}}u(o,"getReplacerLambda");function s(f,m){return f.replace(new RegExp("\\{(?<key>[a-z_\\d]+)}","gim"),o(m))}u(s,"replace");function a(f){let m=[];return Object.entries(f).forEach(([y,E])=>{E.forEach((p,I)=>{var l;return(l=m[I])!=null||(m[I]={}),m[I][y]=p})}),m}u(a,"convertTokensFromArrayValues");function i(f){return f.length===1&&Object.values(f[0]).every(Array.isArray)}u(i,"isMultiLineWithArrays");function C(f){return i(f)?a(f[0]):f}u(C,"processTokens");function O(f,m){return m!=null&&m.length?m.filter(y=>y).map(y=>(y==null?void 0:y.constructor)===Object?s(f,y):"").join(""):f}u(O,"interpolate")}u(me,"interpolateFactory");var{randomString:P,uuid4:M}=de();function de(){let e=E(),t=u(()=>e?[...crypto.getRandomValues(new Uint32Array(1))].shift()/T(2,32):Math.random(),"getRandomValue"),r=u(({min:c=0,max:g=Number.MAX_SAFE_INTEGER}={})=>Math.floor(t()*(g-c+1)+c),"randomNr"),n=u((c=0,g=10,b)=>(b||[])instanceof Function?[...Array(g)].map((w,L)=>c+L).map(b):[...Array(g)].map((w,L)=>c+L),"range"),o=u(c=>String.fromCharCode(c),"map2Chrs"),s="!?@#$%^&*=+_;-".split(""),a=RegExp(`[${s.map(c=>`\\${c}`).join("")}]`,"g"),i=u(c=>{let g=c.length;for(;g--;){let b=r({max:g});[c[g],c[b]]=[c[b],c[g]]}return c},"shuffle"),C=i(n(65,26,o)),O=i(n(97,26,o)),m={UCLC:i(C.concat(O)),UC:C,LC:O,Nrs:i(n()),Sym:i(s)},y=u(c=>Object.entries(c).reduce((g,[b,w])=>w?[...g,...m[b]]:g,O),"getChars2Use");function E(){try{return window&&"crypto"in window}catch(c){return!1}}u(E,"checkBrowserCrypto");function p(){return e&&crypto.randomUUID?crypto.randomUUID():[...new Uint8Array(16)].map(c=>r({max:255})).map((c,g)=>`${(g===8?c&63|128:g===6?c&15|64:c).toString(16).padStart(2,"0")}${~[3,5,7,9].indexOf(g)?"-":""}`).join("")}u(p,"uuid4");function I(c,g,b){return/[a-z]/i.test(c)&&(g&&b?/\d/.test(c)&&a.test(c):g?/\d/.test(c):b?a.test(c):!0)}u(I,"strTest");function l(c){let g=[...c],b=g.findIndex(w=>/[a-z]/i.test(w));return[g[0],g[b]]=[g[b],g[0]],g.join("")}u(l,"alphaSwap");function h({len:c=12,includeUppercase:g=!0,includeNumbers:b,includeSymbols:w,startAlphabetic:L}={}){c=c<6?6:c;let x=i(y({UC:g,Nrs:b,Sym:w}));for(;x.length<c;)x=[...x,...i(x)];let A=x.slice(0,c).join("");if(!(b||w))return A;for(let V=0;V<x.length;V+=1)if(A=x.slice(V,V+c).join(""),I(A,b,w))return L&&!/^[a-z]/i.test(A)?l(A):A;return h({len:c,includeUppercase:g,includeNumbers:b,includeSymbols:w,startAlphabetic:L})}return u(h,"randomString"),{randomString:h,uuid4:p}}u(de,"randomStringGeneratorFactory");var Y=he;function he(e,...t){t=e.raw?t:[t];try{return be(e,...t)}catch(r){let n=X();return`Error creating Regular Expression from string "${e.raw||e}" with flags ${n}
3
+ RegExp error message: "${r.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,...t){let r=X(...t);t=[];let n=e.raw||[e];return new RegExp((t.length&&n.reduce((o,s,a)=>o.concat(t[a-1]||"").concat(s),"")||(n==null?void 0:n.join(""))).split(`
4
+ `).map(o=>o.replace(/\s|\/\/.*$/g,"").trim().replace(/(@s!)/g," ")).join(""),r)}u(be,"regExp");function J(e,...t){return e!=null&&e.raw?String.raw({raw:e},...t):d(e).length?e:""}u(J,"resolveTemplateString");function d(e){return(e==null?void 0:e.value)||(e==null?void 0:e.constructor)===String&&e||""}u(d,"getStringValue");function Se(e,t,r){return e===String&&r?(t==null?void 0:t.constructor)!==Z&&(t==null?void 0:t.constructor)!==e:(t==null?void 0:t.constructor)!==e}u(Se,"checkType");function G(e,t,r=!0){return Array.isArray(t)&&t.length>0&&!t.find(n=>Se(e,n,r))}u(G,"isArrayOf");function N(e){return(e==null?void 0:e.constructor)===Number&&!Number.isNaN(e)}u(N,"isNumber");function ye(e){let t=$(we());return t.value.split(/\n/).concat(Object.entries(Object.getOwnPropertyDescriptors(t)).map(([r,n])=>{if(r==="quote")return"quote (Object. See [constructor].quoteInfo)";let o=!e.find(s=>s===r);return`${r} (${r==="value"?"getter/setter":r==="clone"?"chainable getter":r==="notEmpty"?"chainable getter|undefined":r in String.prototype?`${n.get?"getter":"method"} (override)`:n.value&&n.value.constructor===Function?o?`chainable method${r in U?" *custom*":""}`:"method":n.value?"property":n.get?o?`chainable getter${r in U?" *custom*":""}`:"getter":"-"})`}).sort((r,n)=>r.localeCompare(n)))}u(ye,"getSWInformation");function Q(e,t){let r="constructor,history,indexOf,toString,value,valueOf,empty".split(",");return Object.defineProperties(e,{constructor:{get(){return e},enumerable:!1},format:{value(n,...o){return $(n).format(...o)}},addCustom:{value({name:n,method:o,enumerable:s=!1,isGetter:a=!1}={}){if($``[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&&(t[n]={method:o,enumerable:s,isGetter:a})}},info:{get(){return ye(r)}},keys:{get(){return Object.keys(Object.getOwnPropertyDescriptors($``)).sort((n,o)=>n.localeCompare(o)).map(n=>!/constructor|toString|valueOf/.test(n)&&n in t?`${n} *custom*`:n)}},quoteInfo:{get(){let n=B({},W());return delete n.re,Object.entries(n).sort((o,s)=>o[0].localeCompare(s[0])).reduce((o,[s,a])=>{let i=a.constructor===Function?"(start:string[, end:string])":` (${a.join(" [instance value] ")})`;return[...o,`[instance].quote.${s}${i}`]},[])}},uuid4:{get(){return $(M())}},randomString:{value:u(function({len:n,includeUppercase:o,includeNumbers:s,includeSymbols:a,startAlphabetic:i}={}){return $(P({len:n,includeUppercase:o,includeNumbers:s,includeSymbols:a,startAlphabetic:i}))},"value")},regExp:{value:Y}}),e}u(Q,"createExtendedCTOR");function K(e,t){return new RegExp(e.replace(new RegExp("\\p{S}|\\p{P}","gu"),r=>`\\${r}`),t)}u(K,"escapeRE");function we(){return atob`Rm9yIHRoZSByZWNvcmQ6CltjbV0gY2hhaW5hYmxlIGdldHRlcnMvbWV0aG9kcyBtb2RpZnkgdGhlIGluc3RhbmNlIHN0cmluZwpbY21dIGluZGV4T2Ygb3ZlcnJpZGVzIHJldHVybiBbdW5kZWZpbmVkXSBpZiBub3RoaW5nIHdhcyBmb3VuZCAoc28gb25lIGNhbiB1c2UgW2xhc3RJXWluZGV4T2YoW3NvbWUgc3RyaW5nIHZhbHVlXSkgPz8gMApbY21dIGluY2x1ZGVzIGluZm9ybWF0aW9uIGZvciBjdXN0b20gbWV0aG9kcy9nZXR0ZXJzIGlmIGFwcGxpY2FibGU=`.replace(/\[cm\]/g,"\u2714")}u(we,"decode");function W(){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:u((n,o)=>(n=d(n),o=d(o),[d(n),o.length?o:n]),"custom"),double:['"','"'],guillemets:["\xAB","\xBB"],guillemetsInward:["\xBB","\xAB"],guillemetsSingle:["\u2039","\u203A"],guillemetsSingleInward:["\u203A","\u2039"],single:["'","'"],squareBrackets:["[","]"]},r=Object.values(t).filter(n=>Array.isArray(n)).map(n=>n.map(o=>`\\${o}`).join("")).join("");return t.re=RegExp(`^[${r}]|[${r}]$`,"g"),t}u(W,"defineQuotingStyles");var S=W();function j(e,t,r){return e=d(e),e.length>0?t(e):r||e}u(j,"checkAndRun");function q(e,...t){return j(e,()=>`${z(e,...t)}`)}u(q,"format");function R(e){return j(e,()=>`${e[0].toUpperCase()}${e.slice(1)}`)}u(R,"ucFirst");function k(e,t,r){return!t&&!r?e:([t,r]=G(String,[t,r!=null?r:""])?[t,r]:["",""],`${t}${e}${r||t}`)}u(k,"surroundWith");function ee(e){return j(e,()=>e.replace(/\s/g,"").replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`).replace(/-{2,}/g,"-").replace(/[^a-z-]/g,"").replace(/^-|-$/,""))}u(ee,"toDashedNotation");function te(e){return j(e,()=>e.replace(/\s/g,"").replace(/[A-Z]/g,t=>`_${t.toLowerCase()}`).replace(/_{2,}/g,"_").replace(/[^a-z_]/g,"").replace(/^_|_$/,""))}u(te,"toSnakeCase");function re(e){return j(e,()=>[...e.toLowerCase()].slice(1).reduce((t,r)=>t+(new RegExp("\\p{L}|[-']","u").test(t.at(-1))?r.toLowerCase():r.toUpperCase()),e[0].toUpperCase()))}u(re,"wordsFirstUp");function ne(e){return j(e,()=>e.toLowerCase().trim().split(/[- ]/).filter(t=>t&&t.length>0).map((t,r)=>r>0&&`${R(t)}`||t).join(""))}u(ne,"toCamelcase");function oe(e,{at:t,html:r=!1,wordBoundary:n=!1}={}){return j(e,()=>{var i,C;if(e.length<=t)return e;let o=e.slice(0,t-1),s=r?"&hellip;":"...",a=n&&(C=(i=[...o.matchAll(new RegExp("\\p{Pe}|\\p{Z}","gu"))].at(-1))==null?void 0:i.index)!=null?C:o.length;return(n?o.slice(0,a+1).trim():o)+s})}u(oe,"truncate");function D(e,t){return j(e,()=>{let r=e.split(/\n/).map(n=>n.trim().replace(/\s{2,}/g," "));return t?r.join(`
5
+ `):r.filter(n=>n.length>0).join(`
6
+ `)})}u(D,"trimAll");function ue(e,{replacements:t={},caseSensitive:r=!1}={}){e=d(e);let n=Object.entries(t).flat(),o=G(String,n)&&(r==null?void 0:r.constructor)===Boolean,s=`g${r?"":"i"}`;if(o&&(n=n.map(a=>d(a)).filter(a=>n.length>0),n.length))for(;n.length;){let[a,i]=[n.shift(),n.shift()],C=K(a,s);e=e.replace(C,i)}return e}u(ue,"replaceWords");function ce(e,t,r){e=d(e),r=N(r)?r:0;let n=e.indexOf(t,r||0);return n<0?void 0:n}u(ce,"indexOf");function le(e,t,r){e=d(e),r=N(r)?r:e.length;let n=e.lastIndexOf(t,r);return n<0?void 0:n}u(le,"lastIndexOf");function H(e,{value:t,values:r,at:n=0}={}){e=d(e),n=N(n)?n:0;let o=d(r);return r=d(t).length?t:o.length?o:G(String,r)?r.map(s=>d(s)).join(""):[],r.length<=1?e:e.length===0?`${r}${e}`:`${e.slice(0,n)}${r}${e.slice(n)}`}u(H,"insert");function ae(e,...t){return t=G(String,t)&&t,t?H(d(e),{values:t,at:0}):d(e)}u(ae,"prefix");function ie(e,...t){return t=G(String,t)&&t,t&&t.length>0?`${d(e)}`.concat(t.join("")):d(e)}u(ie,"append");function se(e,t){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(r,n){return e.enclose(r,n!=null?n:r)},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 t(`${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=Ce;function Ce({initialstring:e,customMethods:t}={}){let r={},n=new Proxy(r,C(r)),o=(e==null?void 0:e.constructor)===String?e:"",s=[o],a=!1,i=!1;return Object.defineProperties(r,{append:{value(...l){return p(ie(o,...l))},enumerable:a,configurable:i},enclose:{value(l,h){return p(k(o,l,h))},enumerable:a,configurable:i},format:{value(...l){return p(q(o,...l))},enumerable:a,configurable:i},indexOf:{value(l){return ce(o,l)},enumerable:a,configurable:i},interpolate:{value(...l){return p(q(o,...l))},enumerable:a,configurable:i},insert:{value({value:l,values:h,at:c}={}){return p(H(o,{value:l,values:h,at:c}))},enumerable:a},lastIndexOf:{value(l){return le(o,l)},enumerable:a,configurable:i},prefix:{value(...l){return p(ae(o,...l))},enumerable:a,configurable:i},replaceWords:{value({caseSensitive:l=!1,replacements:h={}}={}){return p(ue(o,{replacements:h,caseSensitive:l}))},enumerable:a,configurable:i},toString:{value(){return o},enumerable:a,configurable:i},truncate:{value({at:l,html:h=!1,wordBoundary:c=!1}={}){return p(oe(o,{at:l,html:h,wordBoundary:c}))},enumerable:a,configurable:i},valueOf:{value(){return o},enumerable:a,configurable:i},undoLast:{value(l){return y(l)},enumerable:a,configurable:i},camelCase:{get(){return p(ne(d(o)))},enumerable:a,configurable:i},clone:{get(){return O()},enumerable:a,configurable:i},constructor:{get(){return $.constructor},enumerable:a,configurable:i},firstUp:{get(){return p(R(d(o)))},enumerable:a,configurable:i},history:{get(){return s},set(l){s=l},enumerable:a,configurable:i},empty:{get(){return o.length<1}},notEmpty:{get(){return o.length<1?void 0:n}},kebabCase:{get(){return p(ee(d(o)))},enumerable:a,configurable:i},quote:se(n,p),snakeCase:{get(){return p(te(d(o)))}},trimAll:{get(){return p(D(o))},enumerable:a,configurable:i},trimAllKeepLF:{get(){return p(D(o,!0))},enumerable:a,configurable:i},undoAll:{get(){return m()},enumerable:a,configurable:i},undo:{get(){return E()},enumerable:a,configurable:i},wordsUCFirst:{get(){return p(re(d(o)))},enumerable:a,configurable:i},value:{get(){return o},set(l){o=d(l).length?l:o,s.push(o)},enumerable:a,configurable:i}}),I(t),Object.freeze(n);function C(l){return{get(h,c){return c in l?l[c]:c in String.prototype?f(c):void 0}}}u(C,"getTraps");function O(){let l=$(o);return l.history=[...s],l}u(O,"clone");function f(l){return o[l]instanceof Function?function(...h){let c=o[l](...h);return(c==null?void 0:c.constructor)===String?p(o[l](...h)):c}:o[l]}u(f,"wrapNative");function m(){for(;s.length>1;)s.pop();return o=s.at(-1),p(o,!1)}u(m,"undoAll");function y(l){if(!N(l))return p(o,!1);let h=s.length;return l>=h||l<1?(s=s.slice(0,1),o=s.at(-1),p(s.at(-1),!1)):(s=s.slice(0,h-l),o=s.at(-1),p(o,!1))}u(y,"undoSteps");function E(){return s.length===1?p(s[0]):(s.pop(),o=s.at(-1),p(o,!1))}u(E,"undoLast");function p(l,h=!0){return o!==l&&h&&s.push(l),o=l,n}u(p,"wrap");function I(l){Object.entries(l).forEach(([h,c])=>{let{enumerable:g,method:b,isGetter:w}=c;Object.defineProperty(r,h,w?{get(){return p(b(n).value)},enumerable:g,configurable:i}:{value(...x){return p(b(n,...x).value)},enumerable:g})})}u(I,"injectCustomMethods")}u(Ce,"instanceCreator");var U={},$=Q(Z,U);function Z(e,...t){return fe({initialstring:J(e,...t),customMethods:U})}u(Z,"CustomStringConstructor");export{Z as CustomStringConstructor,U as customMethods,$ as default};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "stringweaver",
3
3
  "type": "module",
4
- "version": "1.0.4",
4
+ "version": "1.0.6",
5
5
  "private": false,
6
6
  "main": "./index.js",
7
7
  "sideEffects": false,
package/src/extensions.js CHANGED
@@ -13,52 +13,53 @@ function instanceCreator({initialstring, customMethods} = {}) {
13
13
  let instance = new Proxy(customStringExtensions, getTraps(customStringExtensions));
14
14
  let actualValue = initialstring?.constructor === String ? initialstring : ``;
15
15
  let history = [actualValue];
16
- const enumerable = false;
16
+ const enumerable = false, configurable = false;
17
17
 
18
18
  Object.defineProperties(customStringExtensions, {
19
- append: { value(...strings) { return wrap(append(actualValue, ...strings)); }, enumerable },
20
- enclose: { value(start, end) { return wrap(surroundWith(actualValue, start, end)); }, enumerable },
21
- format: { value(...tokens) { return wrap(format(actualValue, ...tokens)); }, enumerable },
22
- indexOf: { value(str) { return indexOf(actualValue, str); }, enumerable },
23
- interpolate: { value(...tokens) { return wrap(format(actualValue, ...tokens)); }, enumerable },
19
+ append: { value(...strings) { return wrap(append(actualValue, ...strings)); }, enumerable, configurable },
20
+ enclose: { value(start, end) { return wrap(surroundWith(actualValue, start, end)); }, enumerable, configurable },
21
+ format: { value(...tokens) { return wrap(format(actualValue, ...tokens)); }, enumerable, configurable },
22
+ indexOf: { value(str) { return indexOf(actualValue, str); }, enumerable, configurable },
23
+ interpolate: { value(...tokens) { return wrap(format(actualValue, ...tokens)); }, enumerable, configurable },
24
24
  insert: { value({ value, values, at } = {}) {
25
25
  return wrap(insert(actualValue, { value, values, at }));
26
26
  }, enumerable
27
27
  },
28
- lastIndexOf: { value(str) { return lastIndexOf(actualValue, str); }, enumerable },
29
- prefix: { value(...strings) { return wrap(prefix(actualValue, ...strings)); }, enumerable },
28
+ lastIndexOf: { value(str) { return lastIndexOf(actualValue, str); }, enumerable, configurable },
29
+ prefix: { value(...strings) { return wrap(prefix(actualValue, ...strings)); }, enumerable, configurable },
30
30
  replaceWords: { value({caseSensitive = false, replacements = {}} = {}) {
31
31
  return wrap(replaceWords(actualValue, {replacements, caseSensitive}));
32
- }, enumerable },
33
- toString: { value() { return actualValue; }, enumerable },
32
+ }, enumerable, configurable },
33
+ toString: { value() { return actualValue; }, enumerable, configurable },
34
34
  truncate: { value({at, html = false, wordBoundary = false} = {}) {
35
- return wrap(truncate(actualValue, {at, html, wordBoundary})); }, enumerable },
36
- valueOf: { value() { return actualValue; }, enumerable },
37
- undoLast: { value(nSteps) { return undoSteps(nSteps); }, enumerable },
35
+ return wrap(truncate(actualValue, {at, html, wordBoundary})); }, enumerable, configurable },
36
+ valueOf: { value() { return actualValue; }, enumerable, configurable },
37
+ undoLast: { value(nSteps) { return undoSteps(nSteps); }, enumerable, configurable },
38
38
 
39
- camelCase: { get() { return wrap(toCamelcase(getStringValue(actualValue))); }, enumerable },
40
- clone: { get() { return clone(); }, enumerable },
41
- constructor: { get() { return $S.constructor; }, enumerable },
42
- firstUp: { get() { return wrap(ucFirst(getStringValue(actualValue))); }, enumerable },
39
+ camelCase: { get() { return wrap(toCamelcase(getStringValue(actualValue))); }, enumerable, configurable },
40
+ clone: { get() { return clone(); }, enumerable, configurable },
41
+ constructor: { get() { return $S.constructor; }, enumerable, configurable },
42
+ firstUp: { get() { return wrap(ucFirst(getStringValue(actualValue))); }, enumerable, configurable },
43
43
  history: {
44
44
  get() { return history; },
45
45
  set(value) { history = value; },
46
- enumerable },
47
- empty: { get() {return actualValue.length < 1} },
48
- kebabCase: { get() { return wrap(toDashedNotation(getStringValue(actualValue))); }, enumerable },
46
+ enumerable, configurable },
47
+ empty: { get() { return actualValue.length < 1; } },
48
+ notEmpty: { get() { return actualValue.length < 1 ? undefined: instance; } },
49
+ kebabCase: { get() { return wrap(toDashedNotation(getStringValue(actualValue))); }, enumerable, configurable },
49
50
  quote: quotGetters(instance, wrap),
50
51
  snakeCase: { get() { return wrap(toSnakeCase(getStringValue(actualValue))); } },
51
- trimAll: { get() { return wrap(trimAll(actualValue)); }, enumerable },
52
- trimAllKeepLF: { get() { return wrap(trimAll(actualValue, true)); }, enumerable },
53
- undoAll: { get() { return undoAll(); }, enumerable },
54
- undo: { get() { return undoLast(); }, enumerable },
55
- wordsUCFirst: { get() { return wrap(wordsFirstUp(getStringValue(actualValue))); }, enumerable },
52
+ trimAll: { get() { return wrap(trimAll(actualValue)); }, enumerable, configurable },
53
+ trimAllKeepLF: { get() { return wrap(trimAll(actualValue, true)); }, enumerable, configurable },
54
+ undoAll: { get() { return undoAll(); }, enumerable, configurable },
55
+ undo: { get() { return undoLast(); }, enumerable, configurable },
56
+ wordsUCFirst: { get() { return wrap(wordsFirstUp(getStringValue(actualValue))); }, enumerable, configurable },
56
57
  value: {
57
58
  get() { return actualValue; },
58
59
  set(value) {
59
60
  actualValue = getStringValue(value).length ? value : actualValue;
60
61
  history.push(actualValue);
61
- }, enumerable },
62
+ }, enumerable, configurable },
62
63
  });
63
64
 
64
65
  injectCustomMethods(customMethods);
@@ -136,7 +137,7 @@ function instanceCreator({initialstring, customMethods} = {}) {
136
137
  Object.entries(customMethods).forEach(([methodName, methodContainer]) => {
137
138
  const {enumerable, method, isGetter} = methodContainer;
138
139
  const descriptor = isGetter
139
- ? { get() { return wrap(method(instance).value); }, enumerable }
140
+ ? { get() { return wrap(method(instance).value); }, enumerable, configurable }
140
141
  : { value(...args) { return wrap(method(instance, ...args).value); }, enumerable, };
141
142
 
142
143
  Object.defineProperty(customStringExtensions, methodName, descriptor);
@@ -44,21 +44,24 @@ function getSWInformation(notChainable) {
44
44
  .map(([key, descriptr]) => {
45
45
  if (key === `quote`) { return `quote (Object. See [constructor].quoteInfo)`; }
46
46
  const isChainable = !notChainable.find(k => k === key);
47
+
47
48
  return `${key} (${
48
49
  key === `value`
49
50
  ? `getter/setter`
50
51
  : key === `clone`
51
52
  ? `chainable getter`
52
- : key in String.prototype
53
- ? `method (override)`
54
- : descriptr.value && descriptr.value.constructor === Function
55
- ? (isChainable
56
- ? `chainable method${key in customMethods ? ` *custom*` : ``}` : `method`)
57
- : descriptr.value
58
- ? `property`
59
- : descriptr.get ? (isChainable
60
- ? `chainable getter${key in customMethods ? ` *custom*` : ``}`
61
- : `getter`) : `-`})`; })
53
+ : key === `notEmpty`
54
+ ? `chainable getter|undefined`
55
+ : key in String.prototype
56
+ ? `${descriptr.get ? `getter` : `method`} (override)`
57
+ : descriptr.value && descriptr.value.constructor === Function
58
+ ? (isChainable
59
+ ? `chainable method${key in customMethods ? ` *custom*` : ``}` : `method`)
60
+ : descriptr.value
61
+ ? `property`
62
+ : descriptr.get ? (isChainable
63
+ ? `chainable getter${key in customMethods ? ` *custom*` : ``}`
64
+ : `getter`) : `-`})`; })
62
65
  .sort( (a,b) => a.localeCompare(b) )
63
66
  );
64
67
  }
@@ -107,7 +110,7 @@ function createExtendedCTOR(ctor, customMethods) {
107
110
  }
108
111
  },
109
112
  uuid4: {
110
- get() { return uuid4(); }
113
+ get() { return xString(uuid4()); }
111
114
  },
112
115
  randomString: {
113
116
  value: function({len, includeUppercase, includeNumbers, includeSymbols, startAlphabetic} = {}) {