stringweaver 1.4.4 → 1.4.5
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.
- package/Bundle/index.min.js +2 -2
- package/Bundle/index.min.js.map +3 -3
- package/package.json +1 -1
- package/src/helpers.js +12 -9
- package/src/instanceMethods.js +1 -1
- package/tests/UnitTests.js +13 -14
package/Bundle/index.min.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*© KooiInc 2026-2031*/
|
|
2
|
-
var E=be(),G=Q(),pe=Q("");function Q(e,t={}){let{useSymbolicExtensions:r}=t;return e=E(e,String,Number)?String(e):void 0,r&&de(),function(s,...l){return $(s,O(l))};function n(s,l){return l&&E(e,String,Number)?String(e):`{${s}}`}function o(s,l){let S=s in l;return S&&E(l[s],String,Number)?String(l[s]):n(s,S)}function u(s){return(...l)=>{let S=l.find(c=>c.key);return o(S?S.key:"_",s)}}function h(s,l){return s.replace(/\{(?<key>[a-z_\d]+)}/gim,u(l))}function m(s){let l=[];return Object.entries(s).forEach(([S,c])=>{c.forEach((i,p)=>(l[p]??={},l[p][S]=i))}),l}function y(s){return s.length===1&&Object.values(s[0]).every(Array.isArray)}function O(s){return y(s)?m(s[0]):s}function $(s,l){let S=l?.length?l.filter(c=>E(c,Object)).map((c,i)=>h(s,{...c,index:i+1})).join(""):s;return E(e,void 0)?S:S.replace(/\{[a-z_\d].+\}/gim,String(e))}}function de(){return String.prototype[Symbol.for("interpolate")]||Object.defineProperties(String.prototype,{[Symbol.for("interpolate")]:{value(...e){return G(this,...e)}},[Symbol.for("interpolate$")]:{value(...e){return pe(this,...e)}}}),[Symbol.for("interpolate"),Symbol.for("interpolate$")]}function be(){let e=new Intl.Collator("en",{sensitivity:"base"}),t=o=>typeof o=="function"?o?.name||o?.constructor?.name:"noCTOR";function r(o,u){return u===Number&&(Number.isNaN(o)||!Number.isFinite(o))?!1:e.compare(Object.prototype.toString.call(o),`[object ${t(u)}]`)===0||o?.name===u?.name}function n(o,...u){if(u.length>1){for(let h of u)if(r(o,h))return!0;return!1}return r(o,u?.shift())}return n}var R=Object.defineProperties(J,{escape:{value:Ie,enumerable:!0}});function J(e,...t){let{flags:r,cleanedArgs:n}=Se(...t);return we(new RegExp($e(he(e,...n)),r))}function he(e,...t){return L(t)?e.raw.reduce((r,n,o)=>r.concat(t[o-1]||"").concat(n),""):e.raw.join("")}function Se(...e){let t=_(ye(e.at(-1)));return{flags:t,cleanedArgs:L(t)?e.slice(0,-1):e}}function ye(e){return P(e,Array)?e.join(""):""}function we(e){let t=new Proxy(Object.defineProperties({},{re:{get(){return e},enumerable:!1},toString:{value:()=>e.toString(),enumerable:!1},valueOf:{value:()=>e,enumerable:!1},flags:{value(r){return e=je(r,e),t},enumerable:!1},clone:{get(){return Ce(t)},enumerable:!1}}),ve(e));return t}function L(e){return e?.length>0}function P(e,t){return e?.constructor===t}function Oe(e,t,r){let n=Reflect.get(r,t);return{fromInstance:Reflect.get(e,t),fromRegExpMethod:P(n,Function)?n.bind(e.re):e.re[t]}}function ve(e){return{get(t,r){let{fromInstance:n,fromRegExpMethod:o}=Oe(t,r,e);switch(!0){case!!n:return n;default:return o}}}}function Ce(e){let t=e.re.source,r=L(e.re.flags)?[...e.re.flags]:[];return J`${t} ${r}`}function _(e,t){return t=(t??"").replace(/^-r\|/,""),e=t.concat(P(e,String)&&L(e)?e:""),[...new Set([...e])].join("").replace(/[^dgimsuvy]/g,"")}function je(e,t){switch(!0){case(!P(e,String)||!L(e)):return t;case e==="-r":return t=new RegExp(t.source);case e.startsWith("-r|"):return t=new RegExp(t.source,_(e));default:return t=new RegExp(t.source,_(t.flags,e))}}function Ie(e){switch(!0){case(e?.constructor!==String||!L(e)):return"";case!!RegExp.escape:return RegExp.escape(e);default:return(`\\x${e.at(0)}`+e.slice(1).replace(/\p{S}|\p{P}/gu,t=>`\\${t}`)).replace(/ |\\x /g,"\\x20")}}function $e(e){return e.replace(/\/\*(?:[^*]|\*+[^*\/])*\*+\/|(?<!:|\\\|')\/\/.*/gm,"").replace(/\s/g,"").trim().replace(/<!([^>]\d+)>/g,(t,r)=>String.fromCharCode(+r)??t)}var{randomString:ee,uuid4:te}=xe();function xe(){let e=S(),t=()=>e?[...crypto.getRandomValues(new Uint32Array(1))].shift()/2**32:Math.random(),r=({min:a=0,max:f=Number.MAX_SAFE_INTEGER}={})=>Math.floor(t()*(f-a+1)+a),n=(a=0,f=10,d)=>(d||[])instanceof Function?[...Array(f)].map((v,C)=>a+C).map(d):[...Array(f)].map((v,C)=>a+C),o=a=>String.fromCharCode(a),u="!?@#$%^&*=+_;-".split(""),h=RegExp(`[${u.map(a=>`\\${a}`).join("")}]`,"g"),m=a=>{let f=a.length;for(;f--;){let d=r({max:f});[a[f],a[d]]=[a[d],a[f]]}return a},y=m(n(65,26,o)),O=m(n(97,26,o)),s={UCLC:m(y.concat(O)),UC:y,LC:O,Nrs:m(n()),Sym:m(u)},l=a=>Object.entries(a).reduce((f,[d,v])=>v?[...f,...s[d]]:f,O);function S(){try{return window&&"crypto"in window}catch{return!1}}function c(){return e&&crypto.randomUUID?crypto.randomUUID():[...new Uint8Array(16)].map(a=>r({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("")}function i(a,f,d){return/[a-z]/i.test(a)&&(f&&d?/\d/.test(a)&&h.test(a):f?/\d/.test(a):d?h.test(a):!0)}function p(a){let f=[...a],d=f.findIndex(v=>/[a-z]/i.test(v));return[f[0],f[d]]=[f[d],f[0]],f.join("")}function q({len:a=12,includeUppercase:f=!0,includeNumbers:d,includeSymbols:v,startAlphabetic:C}={}){a=a<6?6:a;let j=m(l({UC:f,Nrs:d,Sym:v}));for(;j.length<a;)j=[...j,...m(j)];let x=j.slice(0,a).join("");if(!(d||v))return x;for(let D=0;D<j.length;D+=1)if(x=j.slice(D,D+a).join(""),i(x,d,v))return C&&!/^[a-z]/i.test(x)?p(x):x;return q({len:a,includeUppercase:f,includeNumbers:d,includeSymbols:v,startAlphabetic:C})}return{randomString:q,uuid4:c}}var b=Re(),re=/symbol|anchor|big|blink|bold|fixed|fontsize|fontcolor|italics|link|small|strike|sup|sub/i;function Re(){let e={backtick:["`","`"],parentheses:["(",")"],curlyBrackets:["{","}"],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"],double:['"','"'],guillemets:["\xAB","\xBB"],guillemetsInward:["\xBB","\xAB"],guillemetsSingle:["\u2039","\u203A"],guillemetsSingleInward:["\u203A","\u2039"],single:["'","'"],squareBrackets:["[","]"]};return e.re=z([...new Set(Object.values(e).filter(t=>Array.isArray(t)).flat())].join(""),"g"),e}function z(e,t){return new RegExp(e.replace(/\p{S}|\p{P}/gu,r=>`\\${r}`),t)}function g(e){return e?.value||e?.constructor===String&&e||""}function N(e,t,r=!0){return Array.isArray(t)&&t.length>0&&!t.find(n=>Le(e,n,r))}function V(e){return e?.constructor===Number&&!Number.isNaN(e)}function U(e,t){return`${e} (${t})`}function Le(e,t,r){return e===String&&r?t?.constructor!==w&&t?.constructor!==e:t?.constructor!==e}function ne(e,...t){return e?.raw?String.raw({raw:e},...t):g(e).length?e:""}function Ne(e,t){return Object.entries(Object.getOwnPropertyDescriptors(e.value)).sort((r,n)=>r[0].localeCompare(n[0])).reduce((r,[n])=>{if(n==="remove")return[...r,"[instance].quote.remove (only predefined)"];if(n==="custom")return[...r,"[instance].quote.custom(start:string, end:string)"];let o=t("[instance]").quote[n];return[...r,`[instance].quote.${n} ( ${o} )`]},[])}function W(e,t){return t=t??function(r){return r},{value:{get backtick(){return e.enclose(...b.backtick)},get parentheses(){return e.enclose(...b.parentheses)},get curlyBrackets(){return e.enclose(...b.curlyBrackets)},get curlyDouble(){return e.enclose(...b.curlyDouble)},get curlyDoubleInward(){return e.enclose(...b.curlyDoubleInward)},get curlyDoubleEqual(){return e.enclose(...b.curlyDoubleEqual)},get curlyLHDoubleInward(){return e.enclose(...b.curlyLHDoubleInward)},get curlyLHSingle(){return e.enclose(...b.curlyLHSingle)},get curlyLHSingleInward(){return e.enclose(...b.curlyLHSingleInward)},get curlySingle(){return e.enclose(...b.curlySingle)},get curlySingleEqual(){return e.enclose(...b.curlySingleEqual)},get curlySingleInward(){return e.enclose(...b.curlySingleInward)},get custom(){return(r,n)=>e.enclose(r,n??r)},get double(){return e.enclose(...b.double)},get guillemets(){return e.enclose(...b.guillemets)},get guillemetsInward(){return e.enclose(...b.guillemetsInward)},get guillemetsSingle(){return e.enclose(...b.guillemetsSingle)},get guillemetsSingleInward(){return e.enclose(...b.guillemetsSingleInward)},get remove(){return t(`${e.value.replace(b.re,"")}`)},get single(){return e.enclose(...b.single)},get squareBrackets(){return e.enclose(...b.squareBrackets)}},enumerable:!1,configurable:!1}}function M(e,t){return{get full(){return t(e.value.toUpperCase())},get none(){return t(e.value.toLowerCase())},get camel(){return t(T(e.value))},get snake(){return t(H(e.value))},get first(){return t(A(e.value))},get kebab(){return t(F(e.value))},get words(){return t(Z(e.value))},get dashed(){return t(F(e.value))}}}function oe(e,t){let r=Ne(W(e()),e),n=()=>Ve("constructor,history,indexOf,toString,value,valueOf,empty".split(","),t);Symbol.toSB=Symbol("toStringBuilder"),Object.defineProperty(String.prototype,Symbol.toSB,{get(){return e(this)},enumerable:!1,configurable:!1}),Object.defineProperties(e,{create:{get(){return e()},enumerable:!1},constructor:{get(){return e},enumerable:!1},format:{value(o,...u){return w(o).format(...u)}},addCustom:{value({name:o,method:u,enumerable:h=!1,isGetter:m=!1}={}){if(w``[o])return console.error(`addCustom: the property "${o}" exists and can not be redefined`),`addCustom: the property "${o}" exists and can not be redefined`;if(typeof o=="string"&&typeof u=="function"&&u.length>0)return t[o]={method:u,enumerable:h,isGetter:m},`addCustom: the ${m?"getter":"method"} named "${o}" is added`}},info:{get(){return n()}},keys:{get(){return Object.keys(Object.getOwnPropertyDescriptors(w``)).sort((o,u)=>o.localeCompare(u)).map(o=>!/constructor|toString|valueOf/.test(o)&&Object.hasOwn(t,o)?`${o} *custom*`:o)}},quoteInfo:{value:r},uuid4:{get(){return w(te())}},randomString:{value:function({len:o,includeUppercase:u,includeNumbers:h,includeSymbols:m,startAlphabetic:y}={}){return w(ee({len:o,includeUppercase:u,includeNumbers:h,includeSymbols:m,startAlphabetic:y}))}},regExp:{value:R}})}function Ve(e,t){let r=w(Ee()),n=qe();return r.split(/\n/).concat(Object.entries(Object.getOwnPropertyDescriptors(r)).sort(([o],[u])=>o.localeCompare(u)).map(([o,u])=>{let h=!e.find(i=>i===o),m=Object.hasOwn(u,"get"),y=Object.hasOwn(u,"value"),O=Object.hasOwn(String.prototype,o),$=!O&&Object.hasOwn(n,o),s=Object.hasOwn(t,o)?" *custom*":"",l=m&&h?`chainable getter${s}`:"getter",S=y&&h?`chainable method${s}`:"method",c=O&&`${u.get?"getter":"method"} (override)`;switch(!0){case $:return U(o,n[o]);case O:return U(o,c);case y:return U(o,S);case m:return U(o,l)}}))}function qe(){return{value:"getter/setter",clone:"chainable getter",notEmpty:"chainable getter|undefined",quote:"Object. See [constructor].quoteInfo",capitalize:`getter. Object with chainable getters: [${Object.keys(M()).join(", ")}]`}}function Ee(){return atob("Rm9yIHRoZSByZWNvcmQ6CltjbV0gY2hhaW5hYmxlIGdldHRlcnMvbWV0aG9kcyBtb2RpZnkgdGhlIGluc3RhbmNlIHN0cmluZwpbY21dIGluZGV4T2Ygb3ZlcnJpZGVzIHJldHVybnMgW3VuZGVmaW5lZF0gaWYgbm90aGluZyB3YXMgZm91bmQgKHNvIG9uZSBjYW4gdXNlIFtsYXN0SV1pbmRleE9mKFtzb21lIHN0cmluZyB2YWx1ZV0pID8/IDAKW2NtXSBpbmNsdWRlcyBpbmZvcm1hdGlvbiBmb3IgY3VzdG9tIG1ldGhvZHMvZ2V0dGVycyBpZiBhcHBsaWNhYmxl").replace(/\[cm]/g,"\u2714")}function I(e,t,r){return e=g(e),e.length>0?t(e):r||e}function Y(e,...t){return I(e,()=>`${G(e,...t)}`)}function ue(e,t,r){return!t&&!r?e:([t,r]=N(String,[t,r??""])?[t,r]:["",""],`${t}${e}${r||t}`)}function A(e){return I(e,()=>`${e[0].toUpperCase()}${e.slice(1).toLowerCase()}`)}function F(e){let t="";for(let r of[...e])switch(!0){case!/[a-z _]/i.test(r):break;case/[ _]/.test(r):t+="-";break;case r===r.toUpperCase():t+=`-${r.toLowerCase()}`;break;default:t+=r}return t.replace(/-{2,}/g,"-").replace(/^-|-$/g,"")}function H(e){let t="";for(let r of[...e])switch(!0){case!/[a-z _-]/i.test(r):break;case/[ -]/.test(r):t+="_";break;case r===r.toUpperCase():t+=`_${r.toLowerCase()}`;break;default:t+=r}return t.replace(/_{2,}/g,"_").replace(/^_|_$/g,"")}function T(e){return I(e,()=>e.toLowerCase().trim().split(/[-\s]/).filter(t=>t&&t.length>0).map((t,r)=>r>0&&`${A(t)}`||t).join(""))}function Z(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 ce(e,t,r){return I(e,()=>!r&&!t?e.trim():(r=R.escape(r||t),t=R.escape(t),e.replace(R`^(${t})+ | (${r})+$`.flags("gm"),"")))}function Fe(e){return[...e.matchAll(/\p{Pe}|\p{Z}/gu)].at(-1)?.index??e.length}function le(e,{at:t,html:r=!1,wordBoundary:n=!1}={}){return r=r?.constructor===Boolean&&r||!1,n=n?.constructor===Boolean&&n||!1,I(e,()=>{if(e.length<=t)return e;let o=e.slice(0,t-1),u=r?"…":"...",h=n?Fe(o):o.length;return(n?o.slice(0,h+1).trim():o)+u})}function K(e,t=!1){return t=t?.constructor===Boolean&&t||!1,I(e,()=>{let r=e.replace(/\n/gm,"#LF#").split(/#LF#/).map(n=>n.trim().replace(/\s{2,}/g,o=>o[0]));return t?r.join("#LF#").replace(/#LF#/g,`
|
|
2
|
+
var q=be(),G=Q(),me=Q("");function Q(e,t={}){let{useSymbolicExtensions:r}=t;return e=q(e,String,Number)?String(e):void 0,r&&de(),function(s,...l){return I(s,O(l))};function n(s,l){return l&&q(e,String,Number)?String(e):`{${s}}`}function o(s,l){let S=s in l;return S&&q(l[s],String,Number)?String(l[s]):n(s,S)}function u(s){return(...l)=>{let S=l.find(c=>c.key);return o(S?S.key:"_",s)}}function h(s,l){return s.replace(/\{(?<key>[a-z_\d]+)}/gim,u(l))}function p(s){let l=[];return Object.entries(s).forEach(([S,c])=>{c.forEach((i,m)=>(l[m]??={},l[m][S]=i))}),l}function y(s){return s.length===1&&Object.values(s[0]).every(Array.isArray)}function O(s){return y(s)?p(s[0]):s}function I(s,l){let S=l?.length?l.filter(c=>q(c,Object)).map((c,i)=>h(s,{...c,index:i+1})).join(""):s;return q(e,void 0)?S:S.replace(/\{[a-z_\d].+\}/gim,String(e))}}function de(){return String.prototype[Symbol.for("interpolate")]||Object.defineProperties(String.prototype,{[Symbol.for("interpolate")]:{value(...e){return G(this,...e)}},[Symbol.for("interpolate$")]:{value(...e){return me(this,...e)}}}),[Symbol.for("interpolate"),Symbol.for("interpolate$")]}function be(){let e=new Intl.Collator("en",{sensitivity:"base"}),t=o=>typeof o=="function"?o?.name||o?.constructor?.name:"noCTOR";function r(o,u){return u===Number&&(Number.isNaN(o)||!Number.isFinite(o))?!1:e.compare(Object.prototype.toString.call(o),`[object ${t(u)}]`)===0||o?.name===u?.name}function n(o,...u){if(u.length>1){for(let h of u)if(r(o,h))return!0;return!1}return r(o,u?.shift())}return n}var R=Object.defineProperties(J,{escape:{value:$e,enumerable:!0}});function J(e,...t){let{flags:r,cleanedArgs:n}=Se(...t);return we(new RegExp(Ie(he(e,...n)),r))}function he(e,...t){return L(t)?e.raw.reduce((r,n,o)=>r.concat(t[o-1]||"").concat(n),""):e.raw.join("")}function Se(...e){let t=_(ye(e.at(-1)));return{flags:t,cleanedArgs:L(t)?e.slice(0,-1):e}}function ye(e){return P(e,Array)?e.join(""):""}function we(e){let t=new Proxy(Object.defineProperties({},{re:{get(){return e},enumerable:!1},toString:{value:()=>e.toString(),enumerable:!1},valueOf:{value:()=>e,enumerable:!1},flags:{value(r){return e=je(r,e),t},enumerable:!1},clone:{get(){return Ce(t)},enumerable:!1}}),ve(e));return t}function L(e){return e?.length>0}function P(e,t){return e?.constructor===t}function Oe(e,t,r){let n=Reflect.get(r,t);return{fromInstance:Reflect.get(e,t),fromRegExpMethod:P(n,Function)?n.bind(e.re):e.re[t]}}function ve(e){return{get(t,r){let{fromInstance:n,fromRegExpMethod:o}=Oe(t,r,e);switch(!0){case!!n:return n;default:return o}}}}function Ce(e){let t=e.re.source,r=L(e.re.flags)?[...e.re.flags]:[];return J`${t} ${r}`}function _(e,t){return t=(t??"").replace(/^-r\|/,""),e=t.concat(P(e,String)&&L(e)?e:""),[...new Set([...e])].join("").replace(/[^dgimsuvy]/g,"")}function je(e,t){switch(!0){case(!P(e,String)||!L(e)):return t;case e==="-r":return t=new RegExp(t.source);case e.startsWith("-r|"):return t=new RegExp(t.source,_(e));default:return t=new RegExp(t.source,_(t.flags,e))}}function $e(e){switch(!0){case(e?.constructor!==String||!L(e)):return"";case!!RegExp.escape:return RegExp.escape(e);default:return(`\\x${e.at(0)}`+e.slice(1).replace(/\p{S}|\p{P}/gu,t=>`\\${t}`)).replace(/ |\\x /g,"\\x20")}}function Ie(e){return e.replace(/\/\*(?:[^*]|\*+[^*\/])*\*+\/|(?<!:|\\\|')\/\/.*/gm,"").replace(/\s/g,"").trim().replace(/<!([^>]\d+)>/g,(t,r)=>String.fromCharCode(+r)??t)}var{randomString:ee,uuid4:te}=xe();function xe(){let e=S(),t=()=>e?[...crypto.getRandomValues(new Uint32Array(1))].shift()/2**32:Math.random(),r=({min:a=0,max:f=Number.MAX_SAFE_INTEGER}={})=>Math.floor(t()*(f-a+1)+a),n=(a=0,f=10,d)=>(d||[])instanceof Function?[...Array(f)].map((v,C)=>a+C).map(d):[...Array(f)].map((v,C)=>a+C),o=a=>String.fromCharCode(a),u="!?@#$%^&*=+_;-".split(""),h=RegExp(`[${u.map(a=>`\\${a}`).join("")}]`,"g"),p=a=>{let f=a.length;for(;f--;){let d=r({max:f});[a[f],a[d]]=[a[d],a[f]]}return a},y=p(n(65,26,o)),O=p(n(97,26,o)),s={UCLC:p(y.concat(O)),UC:y,LC:O,Nrs:p(n()),Sym:p(u)},l=a=>Object.entries(a).reduce((f,[d,v])=>v?[...f,...s[d]]:f,O);function S(){try{return window&&"crypto"in window}catch{return!1}}function c(){return e&&crypto.randomUUID?crypto.randomUUID():[...new Uint8Array(16)].map(a=>r({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("")}function i(a,f,d){return/[a-z]/i.test(a)&&(f&&d?/\d/.test(a)&&h.test(a):f?/\d/.test(a):d?h.test(a):!0)}function m(a){let f=[...a],d=f.findIndex(v=>/[a-z]/i.test(v));return[f[0],f[d]]=[f[d],f[0]],f.join("")}function V({len:a=12,includeUppercase:f=!0,includeNumbers:d,includeSymbols:v,startAlphabetic:C}={}){a=a<6?6:a;let j=p(l({UC:f,Nrs:d,Sym:v}));for(;j.length<a;)j=[...j,...p(j)];let x=j.slice(0,a).join("");if(!(d||v))return x;for(let D=0;D<j.length;D+=1)if(x=j.slice(D,D+a).join(""),i(x,d,v))return C&&!/^[a-z]/i.test(x)?m(x):x;return V({len:a,includeUppercase:f,includeNumbers:d,includeSymbols:v,startAlphabetic:C})}return{randomString:V,uuid4:c}}var b=Re(),re=/symbol|anchor|big|blink|bold|fixed|fontsize|fontcolor|italics|link|small|strike|sup|sub/i;function Re(){let e={backtick:["`","`"],parentheses:["(",")"],curlyBrackets:["{","}"],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"],double:['"','"'],guillemets:["\xAB","\xBB"],guillemetsInward:["\xBB","\xAB"],guillemetsSingle:["\u2039","\u203A"],guillemetsSingleInward:["\u203A","\u2039"],single:["'","'"],squareBrackets:["[","]"]};return e.re=new RegExp(`[${z([...new Set(Object.values(e).filter(t=>Array.isArray(t)).flat())].join(""))}]`,"g"),e}function z(e){return e.replace(/\p{S}|\p{P}/gu,t=>`\\${t}`)}function g(e){return e?.value||e?.constructor===String&&e||""}function N(e,t,r=!0){return Array.isArray(t)&&t.length>0&&!t.find(n=>Le(e,n,r))}function E(e){return e?.constructor===Number&&!Number.isNaN(e)}function U(e,t){return`${e} (${t})`}function Le(e,t,r){return e===String&&r?t?.constructor!==w&&t?.constructor!==e:t?.constructor!==e}function ne(e,...t){return e?.raw?String.raw({raw:e},...t):g(e).length?e:""}function Ne(e,t){return Object.entries(Object.getOwnPropertyDescriptors(e.value)).sort((r,n)=>r[0].localeCompare(n[0])).reduce((r,[n])=>{if(n==="remove")return[...r,"[instance].quote.remove (only predefined)"];if(n==="custom")return[...r,"[instance].quote.custom(start:string, end:string)"];let o=t("[instance]").quote[n];return[...r,`[instance].quote.${n} ( ${o} )`]},[])}function W(e,t){return t=t??function(r){return r},{value:{get backtick(){return e.enclose(...b.backtick)},get parentheses(){return e.enclose(...b.parentheses)},get curlyBrackets(){return e.enclose(...b.curlyBrackets)},get curlyDouble(){return e.enclose(...b.curlyDouble)},get curlyDoubleInward(){return e.enclose(...b.curlyDoubleInward)},get curlyDoubleEqual(){return e.enclose(...b.curlyDoubleEqual)},get curlyLHDoubleInward(){return e.enclose(...b.curlyLHDoubleInward)},get curlyLHSingle(){return e.enclose(...b.curlyLHSingle)},get curlyLHSingleInward(){return e.enclose(...b.curlyLHSingleInward)},get curlySingle(){return e.enclose(...b.curlySingle)},get curlySingleEqual(){return e.enclose(...b.curlySingleEqual)},get curlySingleInward(){return e.enclose(...b.curlySingleInward)},get custom(){return(r,n)=>e.enclose(r,n??r)},get double(){return e.enclose(...b.double)},get guillemets(){return e.enclose(...b.guillemets)},get guillemetsInward(){return e.enclose(...b.guillemetsInward)},get guillemetsSingle(){return e.enclose(...b.guillemetsSingle)},get guillemetsSingleInward(){return e.enclose(...b.guillemetsSingleInward)},get remove(){return t(`${e.value.replace(b.re,"")}`)},get single(){return e.enclose(...b.single)},get squareBrackets(){return e.enclose(...b.squareBrackets)}},enumerable:!1,configurable:!1}}function M(e,t){return{get full(){return t(e.value.toUpperCase())},get none(){return t(e.value.toLowerCase())},get camel(){return t(T(e.value))},get snake(){return t(H(e.value))},get first(){return t(A(e.value))},get kebab(){return t(F(e.value))},get words(){return t(Z(e.value))},get dashed(){return t(F(e.value))}}}function oe(e,t){let r=Ne(W(e()),e),n=()=>Ee("constructor,history,indexOf,toString,value,valueOf,empty".split(","),t);Symbol.toSB=Symbol("toStringBuilder"),Object.defineProperty(String.prototype,Symbol.toSB,{get(){return e(this)},enumerable:!1,configurable:!1}),Object.defineProperties(e,{create:{get(){return e()},enumerable:!1},constructor:{get(){return e},enumerable:!1},format:{value(o,...u){return w(o).format(...u)}},addCustom:{value({name:o,method:u,enumerable:h=!1,isGetter:p=!1}={}){if(w``[o])return console.error(`addCustom: the property "${o}" exists and can not be redefined`),`addCustom: the property "${o}" exists and can not be redefined`;if(typeof o=="string"&&typeof u=="function"&&u.length>0)return t[o]={method:u,enumerable:h,isGetter:p},`addCustom: the ${p?"getter":"method"} named "${o}" is added`}},info:{get(){return n()}},keys:{get(){return Object.keys(Object.getOwnPropertyDescriptors(w``)).sort((o,u)=>o.localeCompare(u)).map(o=>!/constructor|toString|valueOf/.test(o)&&Object.hasOwn(t,o)?`${o} *custom*`:o)}},quoteInfo:{value:r},uuid4:{get(){return w(te())}},randomString:{value:function({len:o,includeUppercase:u,includeNumbers:h,includeSymbols:p,startAlphabetic:y}={}){return w(ee({len:o,includeUppercase:u,includeNumbers:h,includeSymbols:p,startAlphabetic:y}))}},regExp:{value:R}})}function Ee(e,t){let r=w(qe()),n=Ve();return r.split(/\n/).concat(Object.entries(Object.getOwnPropertyDescriptors(r)).sort(([o],[u])=>o.localeCompare(u)).map(([o,u])=>{let h=!e.find(i=>i===o),p=Object.hasOwn(u,"get"),y=Object.hasOwn(u,"value"),O=Object.hasOwn(String.prototype,o),I=!O&&Object.hasOwn(n,o),s=Object.hasOwn(t,o)?" *custom*":"",l=p&&h?`chainable getter${s}`:"getter",S=y&&h?`chainable method${s}`:"method",c=O&&`${u.get?"getter":"method"} (override)`;switch(!0){case I:return U(o,n[o]);case O:return U(o,c);case y:return U(o,S);case p:return U(o,l)}}))}function Ve(){return{value:"getter/setter",clone:"chainable getter",notEmpty:"chainable getter|undefined",quote:"Object. See [constructor].quoteInfo",capitalize:`getter. Object with chainable getters: [${Object.keys(M()).join(", ")}]`}}function qe(){return atob("Rm9yIHRoZSByZWNvcmQ6CltjbV0gY2hhaW5hYmxlIGdldHRlcnMvbWV0aG9kcyBtb2RpZnkgdGhlIGluc3RhbmNlIHN0cmluZwpbY21dIGluZGV4T2Ygb3ZlcnJpZGVzIHJldHVybnMgW3VuZGVmaW5lZF0gaWYgbm90aGluZyB3YXMgZm91bmQgKHNvIG9uZSBjYW4gdXNlIFtsYXN0SV1pbmRleE9mKFtzb21lIHN0cmluZyB2YWx1ZV0pID8/IDAKW2NtXSBpbmNsdWRlcyBpbmZvcm1hdGlvbiBmb3IgY3VzdG9tIG1ldGhvZHMvZ2V0dGVycyBpZiBhcHBsaWNhYmxl").replace(/\[cm]/g,"\u2714")}function $(e,t,r){return e=g(e),e.length>0?t(e):r||e}function Y(e,...t){return $(e,()=>`${G(e,...t)}`)}function ue(e,t,r){return!t&&!r?e:([t,r]=N(String,[t,r??""])?[t,r]:["",""],`${t}${e}${r||t}`)}function A(e){return $(e,()=>`${e[0].toUpperCase()}${e.slice(1).toLowerCase()}`)}function F(e){let t="";for(let r of[...e])switch(!0){case!/[a-z _]/i.test(r):break;case/[ _]/.test(r):t+="-";break;case r===r.toUpperCase():t+=`-${r.toLowerCase()}`;break;default:t+=r}return t.replace(/-{2,}/g,"-").replace(/^-|-$/g,"")}function H(e){let t="";for(let r of[...e])switch(!0){case!/[a-z _-]/i.test(r):break;case/[ -]/.test(r):t+="_";break;case r===r.toUpperCase():t+=`_${r.toLowerCase()}`;break;default:t+=r}return t.replace(/_{2,}/g,"_").replace(/^_|_$/g,"")}function T(e){return $(e,()=>e.toLowerCase().trim().split(/[-\s]/).filter(t=>t&&t.length>0).map((t,r)=>r>0&&`${A(t)}`||t).join(""))}function Z(e){return $(e,()=>[...e.toLowerCase()].slice(1).reduce((t,r)=>t+(/\p{L}|[-']/u.test(t.at(-1))?r.toLowerCase():r.toUpperCase()),e[0].toUpperCase()))}function ce(e,t,r){return $(e,()=>!r&&!t?e.trim():(r=R.escape(r||t),t=R.escape(t),e.replace(R`^(${t})+ | (${r})+$`.flags("gm"),"")))}function Fe(e){return[...e.matchAll(/\p{Pe}|\p{Z}/gu)].at(-1)?.index??e.length}function le(e,{at:t,html:r=!1,wordBoundary:n=!1}={}){return r=r?.constructor===Boolean&&r||!1,n=n?.constructor===Boolean&&n||!1,$(e,()=>{if(e.length<=t)return e;let o=e.slice(0,t-1),u=r?"…":"...",h=n?Fe(o):o.length;return(n?o.slice(0,h+1).trim():o)+u})}function K(e,t=!1){return t=t?.constructor===Boolean&&t||!1,$(e,()=>{let r=e.replace(/\n/gm,"#LF#").split(/#LF#/).map(n=>n.trim().replace(/\s{2,}/g,o=>o[0]));return t?r.join("#LF#").replace(/#LF#/g,`
|
|
3
3
|
`).trim():r.filter(n=>n.length>0).join(`
|
|
4
|
-
`)})}function ae(e,{replacements:t={},caseSensitive:r=!1}={}){e=g(e);let n=Object.entries(t).flat(),o=N(String,n)&&r?.constructor===Boolean,u=`g${r?"":"i"}`;if(!o)return e;for(;n.length;){let[h,
|
|
4
|
+
`)})}function ae(e,{replacements:t={},caseSensitive:r=!1}={}){e=g(e);let n=Object.entries(t).flat(),o=N(String,n)&&r?.constructor===Boolean,u=`g${r?"":"i"}`;if(!o)return e;for(;n.length;){let[h,p]=[n.shift(),n.shift()],y=new RegExp(z(h),u);e=e.replace(y,p)}return e}function ie(e,t,r=0){e=g(e),r=E(r)&&r||0;let n=e.indexOf(t,r||0);return n<0?void 0:n}function se(e,t,r=0){e=g(e),r=E(r)&&r||e.length;let n=e.lastIndexOf(t,r);return n<0?void 0:n}function k(e,{value:t,values:r,at:n=0}={}){e=g(e),n=E(n)&&n||0;let o=g(r);return r=g(t).length?t:o.length?o:N(String,r)?r.map(u=>g(u)).join(""):[],r.length<=1?e:e.length===0?`${r}${e}`:`${e.slice(0,n)}${r}${e.slice(n)}`}function fe(e,...t){return t=N(String,t)&&t,t?k(g(e),{values:t,at:0}):g(e)}function ge(e,...t){return t=N(String,t)&&t,t&&t.length>0?`${g(e)}`.concat(t.join("")):g(e)}var pe=Ae;function Ae({initialstring:e}={}){let t=Object.create(null,{}),r=new Proxy(t,h(t)),n=g(e),o=[n],u={configurable:!1,enumerable:!1};return Object.defineProperties(t,{append:{...u,value(...c){return l(ge(n,...c))}},enclose:{...u,value(c,i){return l(ue(n,c,i))}},format:{...u,value(...c){return l(Y(n,...c))}},indexOf:{...u,value(c){return ie(n,c)}},interpolate:{...u,value(...c){return l(Y(n,...c))}},insert:{...u,value({value:c,values:i,at:m}={}){return l(k(n,{value:c,values:i,at:m}))}},lastIndexOf:{...u,value(c){return se(n,c)}},prefix:{...u,value(...c){return l(fe(n,...c))}},replaceWords:{...u,value({caseSensitive:c=!1,replacements:i={}}={}){return l(ae(n,{replacements:i??{},caseSensitive:c}))}},toString:{...u,value(){return n}},trim:{...u,value(c,i){return l(ce(n,c,i))}},truncate:{...u,value({at:c,html:i=!1,wordBoundary:m=!1}={}){return l(le(n,{at:c,html:i,wordBoundary:m}))}},valueOf:{...u,value(){return n}},undoLast:{...u,value(c){return I(c)}},camelCase:{...u,get(){return l(T(g(n)))}},capitalize:{...u,value:M(r,l)},clone:{...u,get(){return X(r,B)}},firstUp:{...u,get(){return l(A(g(n)))}},history:{...u,get(){return o},set(c){o=c}},empty:{...u,get(){return n.length<1}},notEmpty:{...u,get(){return n.length<1?void 0:r}},kebabCase:{...u,get(){return l(F(g(n)))}},quote:W(r,l),snakeCase:{...u,get(){return l(H(g(n)))}},trimAll:{...u,get(){return l(K(n))}},trimAllKeepLF:{...u,get(){return l(K(n,!0))}},undoAll:{...u,get(){return O()}},undo:{...u,get(){return s()}},wordsUCFirst:{...u,get(){return l(Z(g(n)))}},value:{...u,get(){return n},set(c){let i=g(c);i.length&&(n=i,o.push(i))}}}),S(B),r;function h(c){return{get(i,m){switch(!0){case m===Symbol.for("myType"):return"stringWeaver instance (Proxy)";case Object.hasOwn(c,m):return c[m];case p(String(m)):return y(m);default:return y(m)}}}}function p(c){return!re.test(c)&&Object.hasOwn(String.prototype,c)}function y(c){return typeof n[c]=="function"?function(...i){let m=n[c](...i);return m?.constructor===String?l(n[c](...i)):m}:n[c]}function O(){for(;o.length>1;)o.pop();return n=o.at(-1),l(n,!1)}function I(c){if(!E(c))return l(n,!1);let i=o.length;return c>=i||c<1?(o=o.slice(0,1),n=o.at(-1),l(o.at(-1),!1)):(o=o.slice(0,i-c),n=o.at(-1),l(n,!1))}function s(){return o.length===1?l(o[0]):(o.pop(),n=o.at(-1),l(n,!1))}function l(c,i=!0){return n!==c&&i&&o.push(c),n=c,r}function S(c){Object.entries(c).forEach(([i,m])=>{let{enumerable:V,method:a,isGetter:f}=m,d=!1;Object.defineProperty(t,i,f?{get(){return l(a(r).value)},enumerable:V,configurable:d}:{value(...C){return l(a(r,...C).value)},enumerable:V,configurable:d})})}}var B=Object.create(null,{});oe(w,B);function w(e,...t){let r=pe({initialstring:ne(e,...t)});return Object.defineProperty(r,"constructor",{get(){return w},enumerable:!1}),Object.freeze(r)}function X(e){let t=w(e.value);return t.history=[...e.history],t}var tt=w;export{tt as default};
|
|
5
5
|
//# sourceMappingURL=index.min.js.map
|
package/Bundle/index.min.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/factories/splatESBundle.js", "../src/Factories/regExpFromMultilineStringFactory.js", "../src/Factories/randomStringFactory.js", "../src/helpers.js", "../src/instanceMethods.js", "../src/instanceCreator.js", "../src/CTORCreator.js", "../index.js"],
|
|
4
|
-
"sourcesContent": ["const IS = typeCheckFactory();\r\nconst interpolateDefault = interpolateFactory();\r\nconst interpolateClear = interpolateFactory(\"\");\r\n\r\nexport {\r\n interpolateDefault as default,\r\n interpolateClear,\r\n addSymbolicStringExtensions,\r\n interpolateFactory,\r\n};\r\n\r\n/**\r\n * Factory function to create an interpolate function with a default replacer.\r\n * @param {string|number} defaultReplacer - Default value to use for missing tokens.\r\n * @returns {Function} - The interpolation function.\r\n */\r\nfunction interpolateFactory(defaultReplacer, specs = {}) {\r\n const {useSymbolicExtensions} = specs;\r\n defaultReplacer = IS(defaultReplacer, String, Number) ?\r\n String(defaultReplacer) : undefined;\r\n \r\n if (!!useSymbolicExtensions) {\r\n addSymbolicStringExtensions();\r\n }\r\n \r\n /**\r\n * Main interpolation function.\r\n * @param {string} str - The string with placeholders.\r\n * @param {...object} tokens - Objects containing replacement values.\r\n * @returns {string} - The interpolated string.\r\n */\r\n return function(str, ...tokens) {\r\n return interpolate(str, processTokens(tokens));\r\n }\r\n \r\n /**\r\n * Handle invalid keys by returning the default replacer or the key in braces.\r\n * @param {string} key - The placeholder key.\r\n * @param {boolean} keyExists - Flag indicating if the key exists in the token.\r\n * @returns {string} - The replacement value.\r\n */\r\n function invalidate(key, keyExists) {\r\n if (keyExists && IS(defaultReplacer, String, Number)) {\r\n return String(defaultReplacer);\r\n }\r\n \r\n return `{${key}}`;\r\n }\r\n \r\n /**\r\n * Get the replacement value for a key from the token.\r\n * @param {string} key - The placeholder key.\r\n * @param {object} token - The token object containing replacement values.\r\n * @returns {string} - The replacement value.\r\n */\r\n function replacement(key, token) {\r\n const isValid = key in token;\r\n return isValid && IS(token[key], String, Number) ? String(token[key]) : invalidate(key, isValid);\r\n }\r\n \r\n /**\r\n * Create a lambda function for replacing placeholders in the string.\r\n * @param {object} token - The token object containing replacement values.\r\n * @returns {Function} - The replacer lambda function.\r\n */\r\n function getReplacerLambda(token) {\r\n return (...args) => {\r\n const replacementObject = args.find(a => a.key);\r\n return replacement((replacementObject ? replacementObject.key : `_`), token);\r\n };\r\n }\r\n \r\n /**\r\n * Replace placeholders in the string with values from the token.\r\n * @param {string} str - The string with placeholders.\r\n * @param {object} token - The token object containing replacement values.\r\n * @returns {string} - The interpolated string.\r\n */\r\n function replace(str, token) {\r\n return str.replace(/\\{(?<key>[a-z_\\d]+)}/gim, getReplacerLambda(token));\r\n }\r\n \r\n /**\r\n * Convert token object to array of token Objects\r\n * when it's values are arrays of values.\r\n * @param {object} tokenObject - The token object containing arrays of values.\r\n * @returns {object[]} - Array of token objects.\r\n */\r\n function convertTokensFromArrayValues(tokenObject) {\r\n const converted = [];\r\n \r\n Object.entries(tokenObject).forEach(([key, value]) => {\r\n value.forEach((v, i) => (converted[i] ??= {}, converted[i][key] = v));\r\n });\r\n \r\n return converted;\r\n }\r\n \r\n /**\r\n * Check if single token and its values are arrays.\r\n * @param {object[]} tokens - The tokens to check.\r\n * @returns {boolean} - True if tokens contains one Object\r\n * and all it's values are of type Array.\r\n */\r\n function isMultiLineWithArrays(tokens) {\r\n return tokens.length === 1 && Object.values(tokens[0]).every(Array.isArray);\r\n }\r\n \r\n /**\r\n * Process tokens to handle multi-line formats.\r\n * @param {object[]} tokens - The tokens to process.\r\n * @returns {object[]} - Processed tokens.\r\n */\r\n function processTokens(tokens) {\r\n return isMultiLineWithArrays(tokens) ? convertTokensFromArrayValues(tokens[0]) : tokens;\r\n }\r\n \r\n /**\r\n * Interpolate the string with the given tokens.\r\n * @param {string} str - The string with placeholders.\r\n * @param {object[]} tokens - The tokens containing replacement values.\r\n * @returns {string} - The interpolated string.\r\n */\r\n function interpolate(str, tokens) {\r\n const injected = !tokens?.length ? str : tokens\r\n .filter(token => IS(token, Object))\r\n .map((token, i) => replace(str, {...token, index: i + 1}))\r\n .join(``);\r\n \r\n return IS(defaultReplacer, undefined)\r\n ? injected : injected.replace(/\\{[a-z_\\d].+\\}/gim, String(defaultReplacer));\r\n }\r\n}\r\n\r\n/**\r\n * Extend String.prototype using the above two\r\n * interpolate methods.\r\n * Note: Symbols are unique, so there is no risk the\r\n * methods will conflict with native String methods or\r\n * methods in other ES libraries.\r\n * @returns {symbol[]}\r\n */\r\nfunction addSymbolicStringExtensions() {\r\n if (!String.prototype[Symbol.for(`interpolate`)]) {\r\n Object.defineProperties(String.prototype, {\r\n [Symbol.for(`interpolate`)]: {\r\n value(...args) {\r\n return interpolateDefault(this, ...args);\r\n }\r\n },\r\n [Symbol.for(`interpolate$`)]: {\r\n value(...args) {\r\n return interpolateClear(this, ...args);\r\n }\r\n },\r\n });\r\n }\r\n \r\n return [Symbol.for(\"interpolate\"), Symbol.for(`interpolate$`)];\r\n}\r\n\r\n/**\r\n * Simple 'type' checking factory\r\n * @returns {function(*, ...[*]): (boolean|*)}\r\n */\r\nfunction typeCheckFactory() {\r\n const collate = new Intl.Collator(`en`, {sensitivity: 'base'});\r\n const nameOf = type2Check => typeof type2Check === `function`\r\n ? type2Check?.name || type2Check?.constructor?.name : `noCTOR`;\r\n \r\n /**\r\n * check obj to be of [type2Check]\r\n * @param {*} obj\r\n * @param {*} type2Check\r\n * @returns {boolean}\r\n */\r\n function checkSingleType(obj, type2Check) {\r\n if (type2Check === Number && (Number.isNaN(obj) || !Number.isFinite(obj))) {\r\n return false;\r\n }\r\n \r\n return 0 === collate.compare(\r\n Object.prototype.toString.call(obj),\r\n `[object ${nameOf(type2Check)}]`\r\n ) || obj?.name === type2Check?.name;\r\n }\r\n \r\n /**\r\n *\r\n * @param {*} obj\r\n * @param {*[]} type2Check\r\n * @returns {boolean}\r\n */\r\n function checkType(obj, ...type2Check) {\r\n if (type2Check.length > 1) {\r\n for (const chkType of type2Check) {\r\n if (checkSingleType(obj, chkType)) { return true; }\r\n }\r\n \r\n return false;\r\n }\r\n \r\n return checkSingleType(obj, type2Check?.shift());\r\n }\r\n \r\n return checkType;\r\n}\r\n", "export default Object.defineProperties(instanceCreator, {escape: {value: escape4RE, enumerable: true}});\r\n\r\nfunction instanceCreator(regExStr, ...args) {\r\n const {flags, cleanedArgs} = maybeFlags(...args);\r\n return createInstance(\r\n new RegExp(cleanup(createRegExpStringFromInput(regExStr, ...cleanedArgs)), flags)\r\n );\r\n}\r\n\r\nfunction createRegExpStringFromInput(regExStr, ...cleanedArgs) {\r\n return !hasLength(cleanedArgs) ? regExStr.raw.join(``) :\r\n regExStr.raw.reduce((a, v, i) => a.concat(cleanedArgs[i - 1] || ``).concat(v), ``);\r\n}\r\n\r\nfunction maybeFlags(...args) {\r\n const flags = cleanupFlags(getFlags(args.at(-1)));\r\n return { flags, cleanedArgs: hasLength(flags) ? args.slice(0, -1) : args };\r\n}\r\n\r\nfunction getFlags(maybeFlags) { return isOfType(maybeFlags, Array) ? maybeFlags.join(``) : ``; }\r\n\r\nfunction createInstance(regExp) {\r\n const instance = new Proxy( Object.defineProperties({}, {\r\n re: { get() { return regExp; }, enumerable: false },\r\n toString: {value: () => regExp.toString(), enumerable: false},\r\n valueOf: {value: () => regExp, enumerable: false},\r\n flags: { value(flags) { regExp = modifyFlags(flags, regExp); return instance; }, enumerable: false },\r\n clone: { get() { return clone(instance); }, enumerable: false },\r\n }), getterTrap(regExp) );\r\n \r\n return instance;\r\n}\r\n\r\nfunction hasLength(variable) { return variable?.length > 0; }\r\n\r\nfunction isOfType(any, CTOR) { return any?.constructor === CTOR; }\r\n\r\nfunction maybeProp(target, key, regExp) {\r\n const fromRegExp = Reflect.get(regExp, key);\r\n return {\r\n fromInstance: Reflect.get(target, key),\r\n fromRegExpMethod: isOfType(fromRegExp, Function) ? fromRegExp.bind(target.re) : target.re[key]\r\n }\r\n}\r\n\r\nfunction getterTrap(regExp) {\r\n return {\r\n get(target, key) {\r\n const {fromInstance, fromRegExpMethod} = maybeProp(target, key, regExp);\r\n switch (true) {\r\n case !!fromInstance: return fromInstance;\r\n default: return fromRegExpMethod;\r\n }\r\n },\r\n };\r\n}\r\n\r\nfunction clone(instance) {\r\n const source = instance.re.source;\r\n const flags = hasLength(instance.re.flags) ? [...instance.re.flags] : [];\r\n return instanceCreator`${source} ${flags}`;\r\n}\r\n\r\nfunction cleanupFlags(flags, currentFlags) {\r\n currentFlags = (currentFlags ?? ``).replace(/^-r\\|/, ``);\r\n flags = currentFlags.concat(isOfType(flags, String) && hasLength(flags) ? flags : ``);\r\n return [...new Set([...flags])].join(``).replace(/[^dgimsuvy]/g, ``);\r\n}\r\n\r\nfunction modifyFlags(flags, regExp) {\r\n switch (true) {\r\n case !isOfType(flags, String) || !hasLength(flags): return regExp;\r\n case flags === `-r`: return regExp = new RegExp(regExp.source);\r\n case flags.startsWith(`-r|`): return regExp = new RegExp(regExp.source, cleanupFlags(flags));\r\n default: return regExp = new RegExp(regExp.source, cleanupFlags(regExp.flags, flags));\r\n }\r\n}\r\n\r\nfunction escape4RE(string2Escape) {\r\n switch (true) {\r\n case string2Escape?.constructor !== String || !hasLength(string2Escape): return ``;\r\n case !!RegExp.escape: return RegExp.escape(string2Escape);\r\n default: return (`\\\\x${string2Escape.at(0)}` +\r\n string2Escape.slice(1).replace(/\\p{S}|\\p{P}/gu, a => `\\\\${a}`))\r\n .replace(/ |\\\\x /g, `\\\\x20`); }\r\n}\r\n\r\nfunction cleanup(str) {\r\n return str\r\n .replace(/\\/\\*(?:[^*]|\\*+[^*\\/])*\\*+\\/|(?<!:|\\\\\\|')\\/\\/.*/gm, ``)\r\n .replace(/\\s/g, ``)\r\n .trim().replace(/<!([^>]\\d+)>/g, (a, b) => String.fromCharCode(+b) ?? a);\r\n}\r\n", "const { randomString, uuid4 } = randomStringGeneratorFactory();\r\nexport { randomString as default, randomString, uuid4 };\r\n\r\nfunction randomStringGeneratorFactory() {\r\n const hasCrypto = checkBrowserCrypto();\r\n const getRandomValue = () => hasCrypto\r\n ? [...crypto.getRandomValues(new Uint32Array(1))].shift() / 2**32\r\n : Math.random();\r\n const randomNr = ({min = 0, max = Number.MAX_SAFE_INTEGER} = {}) =>\r\n Math.floor( getRandomValue() * (max - min + 1) + min );\r\n const range = (start = 0, len = 10, reMap) => (reMap || []) instanceof Function\r\n ? [...Array(len)].map((_, i) => start + i).map(reMap)\r\n : [...Array(len)].map((_, i) => start + i);\r\n const map2Chrs = v => String.fromCharCode(v);\r\n const symbols = `!?@#$%^&*=+_;-`.split(``);\r\n const symRE = RegExp(`[${symbols.map(v => `\\\\${v}`).join(``)}]`, `g`);\r\n const shuffle = array => {\r\n let i = array.length;\r\n while (i--) {\r\n const ri = randomNr( { max: i } );\r\n [array[i], array[ri]] = [array[ri], array[i]];\r\n }\r\n\r\n return array;\r\n };\r\n const UC = shuffle(range(65, 26, map2Chrs));\r\n const LC = shuffle(range(97, 26, map2Chrs));\r\n const UCLC = shuffle(UC.concat(LC));\r\n const allChars = { UCLC, UC, LC, Nrs: shuffle(range()), Sym: shuffle(symbols), };\r\n const getChars2Use = use => Object.entries(use)\r\n .reduce( (acc, [key, value]) => value ? [...acc, ...allChars[key]] : acc, LC );\r\n\r\n function checkBrowserCrypto() {\r\n try { return window && `crypto` in window }\r\n catch(_) { return false; }\r\n }\r\n\r\n function uuid4() {\r\n // Note: randomUUID only in secure context (https)\r\n return hasCrypto && crypto.randomUUID\r\n ? crypto.randomUUID()\r\n : [...new Uint8Array(16)]\r\n .map(_ => randomNr({max: 255}))\r\n .map( (v, i) => `${\r\n (i === 8 ? v & 0b00111111 | 0b10000000 : i === 6 ? v & 0b00001111 | 0b01000000 : v)\r\n .toString(16).padStart(2, `0`)}${~[3,5,7,9].indexOf(i) ? `-` : ``}` )\r\n .join(``);\r\n }\r\n\r\n function strTest(strFound, numbers, symbols) {\r\n return /[a-z]/i.test(strFound) && (\r\n numbers && symbols ? /\\d/.test(strFound) && symRE.test(strFound)\r\n : numbers ? /\\d/.test(strFound)\r\n : symbols ? symRE.test(strFound)\r\n : true);\r\n }\r\n\r\n function alphaSwap(strFound) {\r\n const chars = [...strFound];\r\n const idx = chars.findIndex(v => /[a-z]/i.test(v));\r\n [chars[0], chars[idx]] = [chars[idx], chars[0]];\r\n return chars.join(``);\r\n }\r\n\r\n function randomString( {len = 12, includeUppercase = true, includeNumbers, includeSymbols, startAlphabetic} = {} ) {\r\n len = len < 6 ? 6 : len;\r\n let chrs2Use = shuffle( getChars2Use( { UC: includeUppercase, Nrs: includeNumbers, Sym: includeSymbols } ) );\r\n\r\n while (chrs2Use.length < len) { chrs2Use = [...chrs2Use, ...shuffle(chrs2Use)]; }\r\n\r\n let strFound = chrs2Use.slice(0, len).join(``);\r\n\r\n if (!(includeNumbers || includeSymbols)) { return strFound; }\r\n\r\n for (let i = 0; i < chrs2Use.length; i += 1) {\r\n strFound = chrs2Use.slice(i, i + len).join(``);\r\n\r\n if (strTest(strFound, includeNumbers, includeSymbols)) {\r\n return startAlphabetic && !/^[a-z]/i.test(strFound) ? alphaSwap(strFound) : strFound;\r\n }\r\n }\r\n\r\n return randomString({len, includeUppercase, includeNumbers, includeSymbols, startAlphabetic});\r\n }\r\n\r\n return { randomString, uuid4 };\r\n}\r\n", "import interpolate from \"./factories/splatESBundle.js\";\r\nimport createRegExp from \"./Factories/regExpFromMultilineStringFactory.js\";\r\nimport {default as randomString, uuid4} from \"./Factories/randomStringFactory.js\";\r\nimport {CustomStringConstructor} from \"./CTORCreator.js\";\r\nimport {parseCamelcase, parseKebabCase, parseSnakeCase, ucFirst, wordsFirstUp} from \"./instanceMethods.js\";\r\nconst quotingStyles = defineQuotingStyles();\r\nconst deprecatedRE = /symbol|anchor|big|blink|bold|fixed|fontsize|fontcolor|italics|link|small|strike|sup|sub/i\r\n\r\nexport {\r\n capitalizerFactory, createExtendedCTOR, createRegExp, defineQuotingStyles,\r\n deprecatedRE, getStringValue, escapeRE, infoValue, interpolate, isArrayOf, isNumber,\r\n randomString, resolveTemplateString, retrieveQuotInfo, quotGetters4Instance, uuid4,\r\n};\r\n\r\nfunction defineQuotingStyles() {\r\n // see https://en.wikipedia.org/wiki/Quotation_mark\r\n const quots = {\r\n backtick: [\"`\", \"`\"],\r\n parentheses: [`(`, `)`],\r\n curlyBrackets: [`{`, `}`],\r\n curlyDoubleInward: [`\u201D`, `\u201C`],\r\n curlyDouble: [`\u201C`, `\u201D`],\r\n curlyDoubleEqual: [`\u201C`, `\u201C`],\r\n curlyLHDouble: [`\u201E`, `\u201D`],\r\n curlyLHDoubleInward: [`\u201E`, `\u201C`],\r\n curlyLHSingle: [`\u201A`, `\u2019`],\r\n curlyLHSingleInward: [`\u201A`, `\u2018`],\r\n curlySingle: [`\u201B`, `\u2019`],\r\n curlySingleEqual: [`\u201B`, `\u201B`],\r\n curlySingleInward: [`\u2019`, `\u201B`],\r\n double: [`\"`, `\"`],\r\n guillemets: [`\u00AB`, `\u00BB`],\r\n guillemetsInward: [`\u00BB`, `\u00AB`],\r\n guillemetsSingle: [`\u2039`, `\u203A`],\r\n guillemetsSingleInward: [`\u203A`, `\u2039`],\r\n single: [`'`, `'`],\r\n squareBrackets: [`[`, `]`],\r\n };\r\n quots.re = escapeRE([...new Set(\r\n Object.values(quots)\r\n .filter(v => Array.isArray(v))\r\n .flat())].join(``), \"g\");\r\n return quots;\r\n}\r\n\r\nfunction escapeRE(reString, modifiers) {\r\n return new RegExp(reString.replace(/\\p{S}|\\p{P}/gu, a => `\\\\${a}`), modifiers);\r\n}\r\n\r\n\r\nfunction getStringValue(string) {\r\n return string?.value || (string?.constructor === String && string) || ``;\r\n}\r\n\r\nfunction isArrayOf(type, value, includeInstances = true) {\r\n return Array.isArray(value) && value.length > 0 &&\r\n !value.find(v => checkType(type, v, includeInstances));\r\n}\r\n\r\nfunction isNumber(value) {\r\n return value?.constructor === Number && !Number.isNaN(value);\r\n}\r\n\r\nfunction infoValue(key, infoValue) {\r\n return `${key} (${infoValue})`;\r\n}\r\n\r\nfunction checkType(type, item, includeInstances) {\r\n return type === String && includeInstances\r\n ? item?.constructor !== CustomStringConstructor && item?.constructor !== type\r\n : item?.constructor !== type;\r\n}\r\n\r\nfunction resolveTemplateString(str, ...args) {\r\n return str?.raw\r\n ? String.raw({ raw: str }, ...args)\r\n : getStringValue(str).length ? str : \"\";\r\n}\r\n\r\nfunction retrieveQuotInfo(instanceQuotGetters4Info, ctor) {\r\n return Object.entries(Object.getOwnPropertyDescriptors(instanceQuotGetters4Info.value))\r\n .sort( (a,b) => a[0].localeCompare(b[0]) )\r\n .reduce((acc, [k,]) => {\r\n if (k === `remove`) { return [...acc, `[instance].quote.remove (only predefined)`]; }\r\n if (k === `custom`) { return [...acc, `[instance].quote.custom(start:string, end:string)`]; }\r\n\r\n const val = ctor(`[instance]`).quote[k];\r\n return [...acc, `[instance].quote.${k} ( ${val} )`];\r\n }, []);\r\n}\r\n\r\nfunction quotGetters4Instance(instance, wrap) {\r\n wrap = wrap ?? function(me) { return me; };\r\n return {\r\n value: {\r\n get backtick() { return instance.enclose(...quotingStyles.backtick); },\r\n get parentheses() { return instance.enclose(...quotingStyles.parentheses); },\r\n get curlyBrackets() { return instance.enclose(...quotingStyles.curlyBrackets); },\r\n get curlyDouble() { return instance.enclose(...quotingStyles.curlyDouble); },\r\n get curlyDoubleInward() { return instance.enclose(...quotingStyles.curlyDoubleInward); },\r\n get curlyDoubleEqual() { return instance.enclose(...quotingStyles.curlyDoubleEqual); },\r\n get curlyLHDoubleInward() { return instance.enclose(...quotingStyles.curlyLHDoubleInward); },\r\n get curlyLHSingle() { return instance.enclose(...quotingStyles.curlyLHSingle); },\r\n get curlyLHSingleInward() { return instance.enclose(...quotingStyles.curlyLHSingleInward); },\r\n get curlySingle() { return instance.enclose(...quotingStyles.curlySingle); },\r\n get curlySingleEqual() { return instance.enclose(...quotingStyles.curlySingleEqual); },\r\n get curlySingleInward() { return instance.enclose(...quotingStyles.curlySingleInward); },\r\n get custom() { return (start, end) => instance.enclose(...[start, end ?? start]); },\r\n get double() { return instance.enclose(...quotingStyles.double); },\r\n get guillemets() { return instance.enclose(...quotingStyles.guillemets); },\r\n get guillemetsInward() { return instance.enclose(...quotingStyles.guillemetsInward); },\r\n get guillemetsSingle() { return instance.enclose(...quotingStyles.guillemetsSingle); },\r\n get guillemetsSingleInward() { return instance.enclose(...quotingStyles.guillemetsSingleInward); },\r\n get remove() { return wrap(`${instance.value.replace(quotingStyles.re, ``)}`); },\r\n get single() { return instance.enclose(...quotingStyles.single); },\r\n get squareBrackets() { return instance.enclose(...quotingStyles.squareBrackets); },\r\n },\r\n enumerable: false,\r\n configurable: false,\r\n };\r\n}\r\n\r\nfunction capitalizerFactory(instance, wrap) {\r\n return {\r\n get full() {\r\n return wrap(instance.value.toUpperCase());\r\n },\r\n get none() {\r\n return wrap(instance.value.toLowerCase());\r\n },\r\n get camel() {\r\n return wrap(parseCamelcase(instance.value));\r\n },\r\n get snake() {\r\n return wrap(parseSnakeCase(instance.value));\r\n },\r\n get first() {\r\n return wrap(ucFirst(instance.value));\r\n },\r\n get kebab() {\r\n return wrap(parseKebabCase(instance.value));\r\n },\r\n get words() {\r\n return wrap(wordsFirstUp(instance.value));\r\n },\r\n get dashed() {\r\n return wrap(parseKebabCase(instance.value));\r\n },\r\n }\r\n}\r\n\r\nfunction createExtendedCTOR(ctor, customMethods) {\r\n const quoteInfo = retrieveQuotInfo(quotGetters4Instance(ctor()), ctor);\r\n const swInfo = () => getSWInformation(`constructor,history,indexOf,toString,value,valueOf,empty`.split(`,`), customMethods);\r\n Symbol.toSB = Symbol(`toStringBuilder`);\r\n Object.defineProperty(\r\n String.prototype,\r\n Symbol.toSB, {\r\n get() { return ctor(this); },\r\n enumerable: false,\r\n configurable: false\r\n }\r\n );\r\n\r\n Object.defineProperties(ctor, {\r\n create: {\r\n get() { return ctor(); },\r\n enumerable: false\r\n },\r\n constructor: {\r\n get() { return ctor; },\r\n enumerable: false,\r\n },\r\n format: {\r\n value(str, ...tokens) {\r\n return CustomStringConstructor(str).format(...tokens);\r\n }\r\n },\r\n addCustom: {\r\n value( { name, method, enumerable = false, isGetter = false } = {} ) {\r\n if (CustomStringConstructor``[name]) {\r\n console.error(`addCustom: the property \"${name}\" exists and can not be redefined`);\r\n return `addCustom: the property \"${name}\" exists and can not be redefined`;\r\n }\r\n\r\n if (typeof name === `string` && typeof method === `function` && method.length > 0) {\r\n customMethods[name] = {method, enumerable, isGetter};\r\n return `addCustom: the ${isGetter ? `getter` : `method`} named \"${name}\" is added`;\r\n }\r\n }\r\n },\r\n info: { get() { return swInfo(); } },\r\n keys: {\r\n get() {\r\n return Object.keys(Object.getOwnPropertyDescriptors(CustomStringConstructor``))\r\n .sort( (a,b) => a.localeCompare(b) )\r\n .map(v => !/constructor|toString|valueOf/.test(v) && Object.hasOwn(customMethods, v) ? `${v} *custom*` : v);\r\n }\r\n },\r\n quoteInfo: { value: quoteInfo },\r\n uuid4: { get() { return CustomStringConstructor(uuid4()); } },\r\n randomString: {\r\n value: function({len, includeUppercase, includeNumbers, includeSymbols, startAlphabetic} = {}) {\r\n return CustomStringConstructor(randomString({len, includeUppercase, includeNumbers, includeSymbols, startAlphabetic}));\r\n }\r\n },\r\n regExp: { value: createRegExp }\r\n });\r\n\r\n return;\r\n}\r\n\r\nfunction getSWInformation(notChainable, customMethods) {\r\n const firstLines = CustomStringConstructor(getInfoPrefix());\r\n const plainValues = getPlainValues();\r\n\r\n return firstLines.split(/\\n/)\r\n .concat(\r\n Object.entries(Object.getOwnPropertyDescriptors(firstLines))\r\n .sort(([keyA], [keyB]) => keyA.localeCompare(keyB))\r\n .map(([key, descriptr]) => {\r\n const isChainable = !notChainable.find(k => k === key);\r\n const isGetter = Object.hasOwn(descriptr, `get`);\r\n const isMethod = Object.hasOwn(descriptr, `value`);\r\n const isNative = Object.hasOwn(String.prototype, key);\r\n const isPlainValue = !isNative && Object.hasOwn(plainValues, key);\r\n const custom = Object.hasOwn(customMethods, key) ? ` *custom*` : ``;\r\n const getter = isGetter && isChainable ? `chainable getter${custom}` : `getter`;\r\n const method = isMethod && isChainable ? `chainable method${custom}` : `method`;\r\n const native = isNative && `${descriptr.get ? `getter` : `method`} (override)`;\r\n\r\n switch (true) {\r\n case isPlainValue: return infoValue(key, plainValues[key]);\r\n case isNative: return infoValue(key, native);\r\n case isMethod: return infoValue(key, method);\r\n case isGetter: return infoValue(key, getter);\r\n }\r\n }\r\n )\r\n );\r\n}\r\n\r\nfunction getPlainValues() {\r\n const capitalizerKeys = Object.keys(capitalizerFactory());\r\n return {\r\n value: `getter/setter`,\r\n clone: `chainable getter`,\r\n notEmpty: `chainable getter|undefined`,\r\n quote: `Object. See [constructor].quoteInfo`,\r\n capitalize: `getter. Object with chainable getters: [${capitalizerKeys.join(`, `)}]`,\r\n };\r\n}\r\n\r\nfunction getInfoPrefix() {\r\n return atob(\r\n `Rm9yIHRoZSByZWNvcmQ6CltjbV0gY2hhaW5hYmxlIGdldHRlcnMvbWV0aG9kcyBtb2RpZnkgdGhlIGluc3RhbmNlIHN0cmluZwpbY21d`+\r\n `IGluZGV4T2Ygb3ZlcnJpZGVzIHJldHVybnMgW3VuZGVmaW5lZF0gaWYgbm90aGluZyB3YXMgZm91bmQgKHNvIG9uZSBjYW4gdXNlIFtsYXN0`+\r\n `SV1pbmRleE9mKFtzb21lIHN0cmluZyB2YWx1ZV0pID8/IDAKW2NtXSBpbmNsdWRlcyBpbmZvcm1hdGlvbiBmb3IgY3VzdG9tIG1ldGhv`+\r\n `ZHMvZ2V0dGVycyBpZiBhcHBsaWNhYmxl`).replace(/\\[cm]/g, `\\u2714`);\r\n}\r\n", "import { customMethods, clone, } from \"./CTORCreator.js\";\r\n\r\nimport {\r\n createRegExp as $RE, getStringValue, isArrayOf, interpolate,\r\n isNumber, escapeRE, quotGetters4Instance as quotGetters,\r\n} from \"./helpers.js\";\r\n\r\nexport {\r\n format,\r\n ucFirst,\r\n truncate,\r\n trimAll,\r\n replaceWords,\r\n indexOf,\r\n lastIndexOf,\r\n insert,\r\n append,\r\n isNumber,\r\n prefix,\r\n getStringValue,\r\n parseCamelcase,\r\n wordsFirstUp,\r\n parseKebabCase,\r\n parseSnakeCase,\r\n quotGetters,\r\n surroundWith,\r\n customMethods,\r\n clone,\r\n trim,\r\n};\r\n\r\nfunction checkAndRun(string, fn, or) {\r\n string = getStringValue(string);\r\n return string.length > 0 ? fn(string) : or || string;\r\n}\r\n\r\nfunction format(string, ...tokens) {\r\n return checkAndRun(string, () => `${interpolate(string, ...tokens)}`);\r\n}\r\n\r\nfunction surroundWith(string, start, end) {\r\n if (!start && !end) {\r\n return string;\r\n }\r\n [start, end] = isArrayOf(String, [start, end ?? ``]) ? [start, end] : [``, ``];\r\n return `${start}${string}${end || start}`;\r\n}\r\n\r\nfunction ucFirst(string) {\r\n return checkAndRun(string, () => `${string[0].toUpperCase()}${string.slice(1).toLowerCase()}`);\r\n}\r\n\r\nfunction parseKebabCase(str) {\r\n let result = ``;\r\n\r\n for (const s of [...str]) {\r\n switch(true) {\r\n case !/[a-z _]/i.test(s): break;\r\n case /[ _]/.test(s): result += `-`; break;\r\n case s === s.toUpperCase(): result += `-${s.toLowerCase()}`; break;\r\n default: result += s;\r\n }\r\n }\r\n\r\n return result.replace(/-{2,}/g, `-`).replace(/^-|-$/g, ``);\r\n}\r\n\r\nfunction parseSnakeCase(str) {\r\n let result = ``;\r\n\r\n for (const s of [...str]) {\r\n switch(true) {\r\n case !/[a-z _-]/i.test(s): break;\r\n case /[ -]/.test(s): result += `_`; break;\r\n case s === s.toUpperCase(): result += `_${s.toLowerCase()}`; break;\r\n default: result += s;\r\n }\r\n }\r\n\r\n return result.replace(/_{2,}/g, `_`).replace(/^_|_$/g, ``);\r\n}\r\n\r\nfunction parseCamelcase(string) {\r\n return checkAndRun(string, () =>\r\n string.toLowerCase()\r\n .trim()\r\n .split(/[-\\s]/)\r\n .filter(l => l && l.length > 0)\r\n .map( (str, i) => i > 0 && `${ucFirst(str)}` || str)\r\n .join(``)\r\n );\r\n}\r\n\r\nfunction wordsFirstUp(string) {\r\n return checkAndRun(string, () => [...string.toLowerCase()].slice(1).reduce( (acc, v) =>\r\n acc + ( !/\\p{L}|[-']/u.test(acc.at(-1)) ? v.toUpperCase() : v.toLowerCase() ),\r\n string[0].toUpperCase()\r\n ));\r\n}\r\n\r\nfunction trim(string, start, end) {\r\n return checkAndRun(string, () => {\r\n if (!end && !start) { return string.trim(); }\r\n\r\n end = $RE.escape(end || start);\r\n start = $RE.escape(start);\r\n\r\n return string.replace($RE`^(${start})+ | (${end})+$`.flags(`gm`), ``);\r\n });\r\n}\r\n\r\nfunction getWordBoundary(string) {\r\n const match = [...string.matchAll(/\\p{Pe}|\\p{Z}/gu)].at(-1);\r\n return match?.index ?? string.length;\r\n}\r\n\r\nfunction truncate(string, {at, html = false, wordBoundary = false} = {} ) {\r\n html = html?.constructor === Boolean && html || false;\r\n wordBoundary = wordBoundary?.constructor === Boolean && wordBoundary || false;\r\n return checkAndRun(string, () => {\r\n if (string.length <= at) { return string; }\r\n\r\n const subString = string.slice(0, at - 1);\r\n const endwith = html ? \"…\" : `...`;\r\n const boundary = wordBoundary\r\n ? getWordBoundary(subString)\r\n : subString.length;\r\n\r\n return (wordBoundary\r\n ? subString.slice(0, boundary+1).trim()\r\n : subString) + endwith;\r\n }\r\n );\r\n}\r\n\r\nfunction trimAll(string, keepLines = false) {\r\n keepLines = keepLines?.constructor === Boolean && keepLines || false;\r\n return checkAndRun(string, () => {\r\n const lines = string.replace(/\\n/gm, `#LF#`)\r\n .split(/#LF#/)\r\n .map(line => line.trim().replace(/\\s{2,}/g, a => a[0]) );\r\n return keepLines\r\n ? lines.join(`#LF#`).replace(/#LF#/g, `\\n`).trim()\r\n : lines.filter(l => l.length > 0).join(`\\n`);\r\n });\r\n}\r\n\r\nfunction replaceWords(string, { replacements = {}, caseSensitive = false} = {}) {\r\n string = getStringValue(string);\r\n let replacements2Array = Object.entries(replacements).flat();\r\n const cando = isArrayOf(String, replacements2Array) && caseSensitive?.constructor === Boolean;\r\n const modifiers = `g${!caseSensitive ? 'i' : ''}`;\r\n\r\n if (!cando) { return string; }\r\n\r\n while (replacements2Array.length) {\r\n const [initial, replacement] = [replacements2Array.shift(), replacements2Array.shift()];\r\n const re = escapeRE(initial, modifiers);\r\n string = string.replace(re, replacement);\r\n }\r\n\r\n return string;\r\n}\r\n\r\n// SEE https://youtu.be/99Zacm7SsWQ?t=2101\r\nfunction indexOf(string, findMe, fromIndex = 0) {\r\n string = getStringValue(string);\r\n fromIndex = isNumber(fromIndex) && fromIndex || 0;\r\n const index = string.indexOf(findMe, fromIndex || 0);\r\n return index < 0 ? undefined : index;\r\n}\r\n\r\nfunction lastIndexOf(string, findMe, beforeIndex = 0) {\r\n string = getStringValue(string);\r\n beforeIndex = isNumber(beforeIndex) && beforeIndex || string.length;\r\n const index = string.lastIndexOf(findMe, beforeIndex);\r\n return index < 0 ? undefined : index;\r\n}\r\n\r\nfunction insert(string, { value, values, at = 0 } = {}) {\r\n string = getStringValue(string);\r\n at = isNumber(at) && at || 0;\r\n const valuesMaybeValue = getStringValue(values);\r\n values = getStringValue(value).length\r\n ? value\r\n : valuesMaybeValue.length\r\n ? valuesMaybeValue\r\n : isArrayOf(String, values)\r\n ? values.map(v => getStringValue(v)).join(``)\r\n : [];\r\n\r\n return values.length <= 1\r\n ? string\r\n : string.length === 0\r\n ? `${values}${string}`\r\n : `${string.slice(0, at)}${values}${string.slice(at)}`;\r\n}\r\n\r\nfunction prefix(string, ...strings) {\r\n strings = isArrayOf(String, strings) && strings;\r\n return strings ? insert(getStringValue(string), {values: strings, at: 0}) : getStringValue(string);\r\n}\r\n\r\nfunction append(string, ...strings2Append) {\r\n strings2Append = isArrayOf(String, strings2Append) && strings2Append;\r\n\r\n if (strings2Append && strings2Append.length > 0) {\r\n return `${getStringValue(string)}`.concat(strings2Append.join(``))\r\n }\r\n\r\n return getStringValue(string);\r\n}\r\n", "import {\r\n format,\r\n ucFirst,\r\n truncate,\r\n trimAll,\r\n replaceWords,\r\n indexOf,\r\n lastIndexOf,\r\n insert,\r\n append,\r\n prefix,\r\n getStringValue,\r\n quotGetters,\r\n surroundWith,\r\n parseCamelcase,\r\n wordsFirstUp,\r\n parseKebabCase,\r\n parseSnakeCase,\r\n customMethods,\r\n isNumber,\r\n clone,\r\n trim,\r\n} from \"./instanceMethods.js\";\r\n\r\nimport { capitalizerFactory, deprecatedRE } from \"./helpers.js\";\r\n\r\nexport default instanceCreator;\r\n\r\nfunction instanceCreator({initialstring} = {}) {\r\n let customStringExtensions = Object.create(null, { });\r\n let instance = new Proxy(customStringExtensions, getTraps(customStringExtensions));\r\n let actualValue = getStringValue(initialstring);\r\n let history = [actualValue];\r\n const defaultDescriptorProps = {configurable: false, enumerable: false};\r\n\r\n Object.defineProperties( customStringExtensions, {\r\n // methods\r\n append: { ...defaultDescriptorProps, value(...strings) { return wrap(append(actualValue, ...strings)); } },\r\n enclose: { ...defaultDescriptorProps, value(start, end) { return wrap(surroundWith(actualValue, start, end)); } },\r\n format: { ...defaultDescriptorProps, value(...tokens) { return wrap(format(actualValue, ...tokens)); } },\r\n indexOf: { ...defaultDescriptorProps, value(str) { return indexOf(actualValue, str); } },\r\n interpolate: { ...defaultDescriptorProps, value(...tokens) { return wrap(format(actualValue, ...tokens)); } },\r\n insert: { ...defaultDescriptorProps, value({ value, values, at } = {}) {\r\n return wrap(insert(actualValue, { value, values, at }));\r\n }\r\n },\r\n lastIndexOf: { ...defaultDescriptorProps, value(str) { return lastIndexOf(actualValue, str); } },\r\n prefix: { ...defaultDescriptorProps, value(...strings) { return wrap(prefix(actualValue, ...strings)); } },\r\n replaceWords: { ...defaultDescriptorProps, value({caseSensitive = false, replacements = {}} = {}) {\r\n return wrap(replaceWords(actualValue, { replacements: replacements ?? {}, caseSensitive }));\r\n } },\r\n toString: { ...defaultDescriptorProps, value() { return actualValue; } },\r\n trim: {...defaultDescriptorProps, value(start, end) { return wrap(trim(actualValue, start, end)); } },\r\n truncate: { ...defaultDescriptorProps, value({at, html = false, wordBoundary = false} = {}) {\r\n return wrap(truncate(actualValue, {at, html, wordBoundary})); } },\r\n valueOf: { ...defaultDescriptorProps, value() { return actualValue; } },\r\n undoLast: { ...defaultDescriptorProps, value(nSteps) { return undoSteps(nSteps); } },\r\n\r\n // getters\r\n camelCase: { ...defaultDescriptorProps, get() { return wrap(parseCamelcase(getStringValue(actualValue))); } },\r\n capitalize: { ...defaultDescriptorProps, value: capitalizerFactory(instance, wrap) },\r\n clone: { ...defaultDescriptorProps, get() { return clone(instance, customMethods); } },\r\n firstUp: { ...defaultDescriptorProps, get() { return wrap(ucFirst(getStringValue(actualValue))); } },\r\n history: { ...defaultDescriptorProps, get() { return history; }, set(value) { history = value; } },\r\n empty: { ...defaultDescriptorProps, get() { return actualValue.length < 1; } },\r\n notEmpty: { ...defaultDescriptorProps, get() { return actualValue.length < 1 ? undefined: instance; } },\r\n kebabCase: { ...defaultDescriptorProps, get() { return wrap(parseKebabCase(getStringValue(actualValue))); } },\r\n quote: quotGetters(instance, wrap),\r\n snakeCase: { ...defaultDescriptorProps, get() { return wrap(parseSnakeCase(getStringValue(actualValue))); } },\r\n trimAll: { ...defaultDescriptorProps, get() { return wrap(trimAll(actualValue)); } },\r\n trimAllKeepLF: { ...defaultDescriptorProps, get() { return wrap(trimAll(actualValue, true)); } },\r\n undoAll: { ...defaultDescriptorProps, get() { return undoAll(); } },\r\n undo: { ...defaultDescriptorProps, get() { return undoLast(); } },\r\n wordsUCFirst: { ...defaultDescriptorProps, get() { return wrap(wordsFirstUp(getStringValue(actualValue))); } },\r\n value: { ...defaultDescriptorProps,\r\n get() { return actualValue; },\r\n set(value) {\r\n const nwValue = getStringValue(value);\r\n if (nwValue.length) {\r\n actualValue = nwValue;\r\n history.push(nwValue);\r\n }\r\n }\r\n },\r\n });\r\n\r\n injectCustomMethods(customMethods);\r\n\r\n return instance;\r\n\r\n function getTraps(customExtensions) {\r\n return {\r\n get( target, key ) {\r\n switch(true) {\r\n case key === Symbol.for(\"myType\"): return `stringWeaver instance (Proxy)`;\r\n case Object.hasOwn(customExtensions, key): return customExtensions[key];\r\n case canWrapNative(String(key)): return wrapNative(key);\r\n default: return wrapNative(key);\r\n }\r\n },\r\n };\r\n }\r\n\r\n function canWrapNative(key) {\r\n return !deprecatedRE.test(key) && Object.hasOwn(String.prototype, key);\r\n }\r\n\r\n function wrapNative(key) {\r\n return typeof actualValue[key] === `function`\r\n ? function(...args) {\r\n const result = actualValue[key](...args);\r\n return result?.constructor === String ? wrap(actualValue[key](...args)) : result;\r\n }\r\n : actualValue[key];\r\n }\r\n\r\n function undoAll() {\r\n while (history.length > 1) { history.pop(); }\r\n actualValue = history.at(-1);\r\n return wrap(actualValue, false);\r\n }\r\n\r\n function undoSteps(steps) {\r\n if (!isNumber(steps)) {\r\n return wrap(actualValue, false);\r\n }\r\n\r\n const historyLen = history.length;\r\n\r\n if (steps >= historyLen || steps < 1) {\r\n history = history.slice(0, 1);\r\n actualValue = history.at(-1);\r\n return wrap(history.at(-1), false);\r\n }\r\n\r\n history = history.slice(0, historyLen - steps);\r\n\r\n actualValue = history.at(-1);\r\n return wrap(actualValue, false);\r\n }\r\n\r\n function undoLast() {\r\n if (history.length === 1) {\r\n return wrap(history[0]);\r\n }\r\n\r\n history.pop();\r\n actualValue = history.at(-1);\r\n return wrap(actualValue, false);\r\n }\r\n\r\n function wrap(result, pushHistory = true) {\r\n const changed = actualValue !== result;\r\n changed && pushHistory && history.push(result);\r\n actualValue = result;\r\n return instance;\r\n }\r\n\r\n function injectCustomMethods(customMethods) {\r\n Object.entries(customMethods).forEach(([methodName, methodContainer]) => {\r\n const {enumerable, method, isGetter} = methodContainer;\r\n const configurable = false\r\n const descriptor = isGetter\r\n ? { get() { return wrap(method(instance).value); }, enumerable, configurable }\r\n : { value(...args) { return wrap(method(instance, ...args).value); }, enumerable, configurable };\r\n\r\n Object.defineProperty(customStringExtensions, methodName, descriptor);\r\n });\r\n }\r\n}\r\n", "import createInstance from \"./instanceCreator.js\";\r\nimport { createExtendedCTOR, resolveTemplateString, } from \"./helpers.js\";\r\nconst customMethods = Object.create(null, {});\r\n\r\nexport { customMethods, CustomStringConstructor, clone, };\r\n\r\ncreateExtendedCTOR(CustomStringConstructor, customMethods);\r\n\r\nfunction CustomStringConstructor(str, ...args) {\r\n const instance = createInstance({initialstring: resolveTemplateString(str, ...args)});\r\n Object.defineProperty( instance,\r\n `constructor`, { get() { return CustomStringConstructor; }, enumerable: false}\r\n );\r\n return Object.freeze(instance);\r\n}\r\n\r\nfunction clone(instance) {\r\n const newInstance = CustomStringConstructor(instance.value);\r\n newInstance.history = [...instance.history];\r\n return newInstance;\r\n}\r\n", "import { CustomStringConstructor as defaultStringCTOR} from \"./src/CTORCreator.js\";\r\n\r\nexport default defaultStringCTOR;\r\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["IS", "typeCheckFactory", "interpolateDefault", "interpolateFactory", "interpolateClear", "interpolateFactory", "defaultReplacer", "specs", "useSymbolicExtensions", "IS", "addSymbolicStringExtensions", "str", "tokens", "interpolate", "processTokens", "invalidate", "key", "keyExists", "replacement", "token", "isValid", "getReplacerLambda", "args", "replacementObject", "a", "replace", "convertTokensFromArrayValues", "tokenObject", "converted", "value", "v", "i", "isMultiLineWithArrays", "injected", "interpolateDefault", "interpolateClear", "typeCheckFactory", "collate", "nameOf", "type2Check", "checkSingleType", "obj", "checkType", "chkType", "regExpFromMultilineStringFactory_default", "instanceCreator", "escape4RE", "regExStr", "args", "flags", "cleanedArgs", "maybeFlags", "createInstance", "cleanup", "createRegExpStringFromInput", "hasLength", "a", "v", "i", "cleanupFlags", "getFlags", "isOfType", "regExp", "instance", "modifyFlags", "clone", "getterTrap", "variable", "any", "CTOR", "maybeProp", "target", "key", "fromRegExp", "fromInstance", "fromRegExpMethod", "source", "currentFlags", "string2Escape", "str", "b", "randomString", "uuid4", "randomStringGeneratorFactory", "randomStringGeneratorFactory", "hasCrypto", "checkBrowserCrypto", "getRandomValue", "randomNr", "min", "max", "range", "start", "len", "reMap", "_", "i", "map2Chrs", "v", "symbols", "symRE", "shuffle", "array", "ri", "UC", "LC", "allChars", "getChars2Use", "use", "acc", "key", "value", "uuid4", "strTest", "strFound", "numbers", "alphaSwap", "chars", "idx", "randomString", "includeUppercase", "includeNumbers", "includeSymbols", "startAlphabetic", "chrs2Use", "quotingStyles", "defineQuotingStyles", "deprecatedRE", "defineQuotingStyles", "quots", "
|
|
4
|
+
"sourcesContent": ["const IS = typeCheckFactory();\r\nconst interpolateDefault = interpolateFactory();\r\nconst interpolateClear = interpolateFactory(\"\");\r\n\r\nexport {\r\n interpolateDefault as default,\r\n interpolateClear,\r\n addSymbolicStringExtensions,\r\n interpolateFactory,\r\n};\r\n\r\n/**\r\n * Factory function to create an interpolate function with a default replacer.\r\n * @param {string|number} defaultReplacer - Default value to use for missing tokens.\r\n * @returns {Function} - The interpolation function.\r\n */\r\nfunction interpolateFactory(defaultReplacer, specs = {}) {\r\n const {useSymbolicExtensions} = specs;\r\n defaultReplacer = IS(defaultReplacer, String, Number) ?\r\n String(defaultReplacer) : undefined;\r\n \r\n if (!!useSymbolicExtensions) {\r\n addSymbolicStringExtensions();\r\n }\r\n \r\n /**\r\n * Main interpolation function.\r\n * @param {string} str - The string with placeholders.\r\n * @param {...object} tokens - Objects containing replacement values.\r\n * @returns {string} - The interpolated string.\r\n */\r\n return function(str, ...tokens) {\r\n return interpolate(str, processTokens(tokens));\r\n }\r\n \r\n /**\r\n * Handle invalid keys by returning the default replacer or the key in braces.\r\n * @param {string} key - The placeholder key.\r\n * @param {boolean} keyExists - Flag indicating if the key exists in the token.\r\n * @returns {string} - The replacement value.\r\n */\r\n function invalidate(key, keyExists) {\r\n if (keyExists && IS(defaultReplacer, String, Number)) {\r\n return String(defaultReplacer);\r\n }\r\n \r\n return `{${key}}`;\r\n }\r\n \r\n /**\r\n * Get the replacement value for a key from the token.\r\n * @param {string} key - The placeholder key.\r\n * @param {object} token - The token object containing replacement values.\r\n * @returns {string} - The replacement value.\r\n */\r\n function replacement(key, token) {\r\n const isValid = key in token;\r\n return isValid && IS(token[key], String, Number) ? String(token[key]) : invalidate(key, isValid);\r\n }\r\n \r\n /**\r\n * Create a lambda function for replacing placeholders in the string.\r\n * @param {object} token - The token object containing replacement values.\r\n * @returns {Function} - The replacer lambda function.\r\n */\r\n function getReplacerLambda(token) {\r\n return (...args) => {\r\n const replacementObject = args.find(a => a.key);\r\n return replacement((replacementObject ? replacementObject.key : `_`), token);\r\n };\r\n }\r\n \r\n /**\r\n * Replace placeholders in the string with values from the token.\r\n * @param {string} str - The string with placeholders.\r\n * @param {object} token - The token object containing replacement values.\r\n * @returns {string} - The interpolated string.\r\n */\r\n function replace(str, token) {\r\n return str.replace(/\\{(?<key>[a-z_\\d]+)}/gim, getReplacerLambda(token));\r\n }\r\n \r\n /**\r\n * Convert token object to array of token Objects\r\n * when it's values are arrays of values.\r\n * @param {object} tokenObject - The token object containing arrays of values.\r\n * @returns {object[]} - Array of token objects.\r\n */\r\n function convertTokensFromArrayValues(tokenObject) {\r\n const converted = [];\r\n \r\n Object.entries(tokenObject).forEach(([key, value]) => {\r\n value.forEach((v, i) => (converted[i] ??= {}, converted[i][key] = v));\r\n });\r\n \r\n return converted;\r\n }\r\n \r\n /**\r\n * Check if single token and its values are arrays.\r\n * @param {object[]} tokens - The tokens to check.\r\n * @returns {boolean} - True if tokens contains one Object\r\n * and all it's values are of type Array.\r\n */\r\n function isMultiLineWithArrays(tokens) {\r\n return tokens.length === 1 && Object.values(tokens[0]).every(Array.isArray);\r\n }\r\n \r\n /**\r\n * Process tokens to handle multi-line formats.\r\n * @param {object[]} tokens - The tokens to process.\r\n * @returns {object[]} - Processed tokens.\r\n */\r\n function processTokens(tokens) {\r\n return isMultiLineWithArrays(tokens) ? convertTokensFromArrayValues(tokens[0]) : tokens;\r\n }\r\n \r\n /**\r\n * Interpolate the string with the given tokens.\r\n * @param {string} str - The string with placeholders.\r\n * @param {object[]} tokens - The tokens containing replacement values.\r\n * @returns {string} - The interpolated string.\r\n */\r\n function interpolate(str, tokens) {\r\n const injected = !tokens?.length ? str : tokens\r\n .filter(token => IS(token, Object))\r\n .map((token, i) => replace(str, {...token, index: i + 1}))\r\n .join(``);\r\n \r\n return IS(defaultReplacer, undefined)\r\n ? injected : injected.replace(/\\{[a-z_\\d].+\\}/gim, String(defaultReplacer));\r\n }\r\n}\r\n\r\n/**\r\n * Extend String.prototype using the above two\r\n * interpolate methods.\r\n * Note: Symbols are unique, so there is no risk the\r\n * methods will conflict with native String methods or\r\n * methods in other ES libraries.\r\n * @returns {symbol[]}\r\n */\r\nfunction addSymbolicStringExtensions() {\r\n if (!String.prototype[Symbol.for(`interpolate`)]) {\r\n Object.defineProperties(String.prototype, {\r\n [Symbol.for(`interpolate`)]: {\r\n value(...args) {\r\n return interpolateDefault(this, ...args);\r\n }\r\n },\r\n [Symbol.for(`interpolate$`)]: {\r\n value(...args) {\r\n return interpolateClear(this, ...args);\r\n }\r\n },\r\n });\r\n }\r\n \r\n return [Symbol.for(\"interpolate\"), Symbol.for(`interpolate$`)];\r\n}\r\n\r\n/**\r\n * Simple 'type' checking factory\r\n * @returns {function(*, ...[*]): (boolean|*)}\r\n */\r\nfunction typeCheckFactory() {\r\n const collate = new Intl.Collator(`en`, {sensitivity: 'base'});\r\n const nameOf = type2Check => typeof type2Check === `function`\r\n ? type2Check?.name || type2Check?.constructor?.name : `noCTOR`;\r\n \r\n /**\r\n * check obj to be of [type2Check]\r\n * @param {*} obj\r\n * @param {*} type2Check\r\n * @returns {boolean}\r\n */\r\n function checkSingleType(obj, type2Check) {\r\n if (type2Check === Number && (Number.isNaN(obj) || !Number.isFinite(obj))) {\r\n return false;\r\n }\r\n \r\n return 0 === collate.compare(\r\n Object.prototype.toString.call(obj),\r\n `[object ${nameOf(type2Check)}]`\r\n ) || obj?.name === type2Check?.name;\r\n }\r\n \r\n /**\r\n *\r\n * @param {*} obj\r\n * @param {*[]} type2Check\r\n * @returns {boolean}\r\n */\r\n function checkType(obj, ...type2Check) {\r\n if (type2Check.length > 1) {\r\n for (const chkType of type2Check) {\r\n if (checkSingleType(obj, chkType)) { return true; }\r\n }\r\n \r\n return false;\r\n }\r\n \r\n return checkSingleType(obj, type2Check?.shift());\r\n }\r\n \r\n return checkType;\r\n}\r\n", "export default Object.defineProperties(instanceCreator, {escape: {value: escape4RE, enumerable: true}});\r\n\r\nfunction instanceCreator(regExStr, ...args) {\r\n const {flags, cleanedArgs} = maybeFlags(...args);\r\n return createInstance(\r\n new RegExp(cleanup(createRegExpStringFromInput(regExStr, ...cleanedArgs)), flags)\r\n );\r\n}\r\n\r\nfunction createRegExpStringFromInput(regExStr, ...cleanedArgs) {\r\n return !hasLength(cleanedArgs) ? regExStr.raw.join(``) :\r\n regExStr.raw.reduce((a, v, i) => a.concat(cleanedArgs[i - 1] || ``).concat(v), ``);\r\n}\r\n\r\nfunction maybeFlags(...args) {\r\n const flags = cleanupFlags(getFlags(args.at(-1)));\r\n return { flags, cleanedArgs: hasLength(flags) ? args.slice(0, -1) : args };\r\n}\r\n\r\nfunction getFlags(maybeFlags) { return isOfType(maybeFlags, Array) ? maybeFlags.join(``) : ``; }\r\n\r\nfunction createInstance(regExp) {\r\n const instance = new Proxy( Object.defineProperties({}, {\r\n re: { get() { return regExp; }, enumerable: false },\r\n toString: {value: () => regExp.toString(), enumerable: false},\r\n valueOf: {value: () => regExp, enumerable: false},\r\n flags: { value(flags) { regExp = modifyFlags(flags, regExp); return instance; }, enumerable: false },\r\n clone: { get() { return clone(instance); }, enumerable: false },\r\n }), getterTrap(regExp) );\r\n \r\n return instance;\r\n}\r\n\r\nfunction hasLength(variable) { return variable?.length > 0; }\r\n\r\nfunction isOfType(any, CTOR) { return any?.constructor === CTOR; }\r\n\r\nfunction maybeProp(target, key, regExp) {\r\n const fromRegExp = Reflect.get(regExp, key);\r\n return {\r\n fromInstance: Reflect.get(target, key),\r\n fromRegExpMethod: isOfType(fromRegExp, Function) ? fromRegExp.bind(target.re) : target.re[key]\r\n }\r\n}\r\n\r\nfunction getterTrap(regExp) {\r\n return {\r\n get(target, key) {\r\n const {fromInstance, fromRegExpMethod} = maybeProp(target, key, regExp);\r\n switch (true) {\r\n case !!fromInstance: return fromInstance;\r\n default: return fromRegExpMethod;\r\n }\r\n },\r\n };\r\n}\r\n\r\nfunction clone(instance) {\r\n const source = instance.re.source;\r\n const flags = hasLength(instance.re.flags) ? [...instance.re.flags] : [];\r\n return instanceCreator`${source} ${flags}`;\r\n}\r\n\r\nfunction cleanupFlags(flags, currentFlags) {\r\n currentFlags = (currentFlags ?? ``).replace(/^-r\\|/, ``);\r\n flags = currentFlags.concat(isOfType(flags, String) && hasLength(flags) ? flags : ``);\r\n return [...new Set([...flags])].join(``).replace(/[^dgimsuvy]/g, ``);\r\n}\r\n\r\nfunction modifyFlags(flags, regExp) {\r\n switch (true) {\r\n case !isOfType(flags, String) || !hasLength(flags): return regExp;\r\n case flags === `-r`: return regExp = new RegExp(regExp.source);\r\n case flags.startsWith(`-r|`): return regExp = new RegExp(regExp.source, cleanupFlags(flags));\r\n default: return regExp = new RegExp(regExp.source, cleanupFlags(regExp.flags, flags));\r\n }\r\n}\r\n\r\nfunction escape4RE(string2Escape) {\r\n switch (true) {\r\n case string2Escape?.constructor !== String || !hasLength(string2Escape): return ``;\r\n case !!RegExp.escape: return RegExp.escape(string2Escape);\r\n default: return (`\\\\x${string2Escape.at(0)}` +\r\n string2Escape.slice(1).replace(/\\p{S}|\\p{P}/gu, a => `\\\\${a}`))\r\n .replace(/ |\\\\x /g, `\\\\x20`); }\r\n}\r\n\r\nfunction cleanup(str) {\r\n return str\r\n .replace(/\\/\\*(?:[^*]|\\*+[^*\\/])*\\*+\\/|(?<!:|\\\\\\|')\\/\\/.*/gm, ``)\r\n .replace(/\\s/g, ``)\r\n .trim().replace(/<!([^>]\\d+)>/g, (a, b) => String.fromCharCode(+b) ?? a);\r\n}\r\n", "const { randomString, uuid4 } = randomStringGeneratorFactory();\r\nexport { randomString as default, randomString, uuid4 };\r\n\r\nfunction randomStringGeneratorFactory() {\r\n const hasCrypto = checkBrowserCrypto();\r\n const getRandomValue = () => hasCrypto\r\n ? [...crypto.getRandomValues(new Uint32Array(1))].shift() / 2**32\r\n : Math.random();\r\n const randomNr = ({min = 0, max = Number.MAX_SAFE_INTEGER} = {}) =>\r\n Math.floor( getRandomValue() * (max - min + 1) + min );\r\n const range = (start = 0, len = 10, reMap) => (reMap || []) instanceof Function\r\n ? [...Array(len)].map((_, i) => start + i).map(reMap)\r\n : [...Array(len)].map((_, i) => start + i);\r\n const map2Chrs = v => String.fromCharCode(v);\r\n const symbols = `!?@#$%^&*=+_;-`.split(``);\r\n const symRE = RegExp(`[${symbols.map(v => `\\\\${v}`).join(``)}]`, `g`);\r\n const shuffle = array => {\r\n let i = array.length;\r\n while (i--) {\r\n const ri = randomNr( { max: i } );\r\n [array[i], array[ri]] = [array[ri], array[i]];\r\n }\r\n\r\n return array;\r\n };\r\n const UC = shuffle(range(65, 26, map2Chrs));\r\n const LC = shuffle(range(97, 26, map2Chrs));\r\n const UCLC = shuffle(UC.concat(LC));\r\n const allChars = { UCLC, UC, LC, Nrs: shuffle(range()), Sym: shuffle(symbols), };\r\n const getChars2Use = use => Object.entries(use)\r\n .reduce( (acc, [key, value]) => value ? [...acc, ...allChars[key]] : acc, LC );\r\n\r\n function checkBrowserCrypto() {\r\n try { return window && `crypto` in window }\r\n catch(_) { return false; }\r\n }\r\n\r\n function uuid4() {\r\n // Note: randomUUID only in secure context (https)\r\n return hasCrypto && crypto.randomUUID\r\n ? crypto.randomUUID()\r\n : [...new Uint8Array(16)]\r\n .map(_ => randomNr({max: 255}))\r\n .map( (v, i) => `${\r\n (i === 8 ? v & 0b00111111 | 0b10000000 : i === 6 ? v & 0b00001111 | 0b01000000 : v)\r\n .toString(16).padStart(2, `0`)}${~[3,5,7,9].indexOf(i) ? `-` : ``}` )\r\n .join(``);\r\n }\r\n\r\n function strTest(strFound, numbers, symbols) {\r\n return /[a-z]/i.test(strFound) && (\r\n numbers && symbols ? /\\d/.test(strFound) && symRE.test(strFound)\r\n : numbers ? /\\d/.test(strFound)\r\n : symbols ? symRE.test(strFound)\r\n : true);\r\n }\r\n\r\n function alphaSwap(strFound) {\r\n const chars = [...strFound];\r\n const idx = chars.findIndex(v => /[a-z]/i.test(v));\r\n [chars[0], chars[idx]] = [chars[idx], chars[0]];\r\n return chars.join(``);\r\n }\r\n\r\n function randomString( {len = 12, includeUppercase = true, includeNumbers, includeSymbols, startAlphabetic} = {} ) {\r\n len = len < 6 ? 6 : len;\r\n let chrs2Use = shuffle( getChars2Use( { UC: includeUppercase, Nrs: includeNumbers, Sym: includeSymbols } ) );\r\n\r\n while (chrs2Use.length < len) { chrs2Use = [...chrs2Use, ...shuffle(chrs2Use)]; }\r\n\r\n let strFound = chrs2Use.slice(0, len).join(``);\r\n\r\n if (!(includeNumbers || includeSymbols)) { return strFound; }\r\n\r\n for (let i = 0; i < chrs2Use.length; i += 1) {\r\n strFound = chrs2Use.slice(i, i + len).join(``);\r\n\r\n if (strTest(strFound, includeNumbers, includeSymbols)) {\r\n return startAlphabetic && !/^[a-z]/i.test(strFound) ? alphaSwap(strFound) : strFound;\r\n }\r\n }\r\n\r\n return randomString({len, includeUppercase, includeNumbers, includeSymbols, startAlphabetic});\r\n }\r\n\r\n return { randomString, uuid4 };\r\n}\r\n", "import interpolate from \"./factories/splatESBundle.js\";\r\nimport createRegExp from \"./Factories/regExpFromMultilineStringFactory.js\";\r\nimport {default as randomString, uuid4} from \"./Factories/randomStringFactory.js\";\r\nimport {CustomStringConstructor} from \"./CTORCreator.js\";\r\nimport {parseCamelcase, parseKebabCase, parseSnakeCase, ucFirst, wordsFirstUp} from \"./instanceMethods.js\";\r\nconst quotingStyles = defineQuotingStyles();\r\nconst deprecatedRE = /symbol|anchor|big|blink|bold|fixed|fontsize|fontcolor|italics|link|small|strike|sup|sub/i\r\n\r\nexport {\r\n capitalizerFactory, createExtendedCTOR, createRegExp, defineQuotingStyles,\r\n deprecatedRE, getStringValue, escape4RE as escapeRE, infoValue, interpolate, isArrayOf,\r\n isNumber, randomString, resolveTemplateString, retrieveQuotInfo, quotGetters4Instance,\r\n quotingStyles, uuid4,\r\n};\r\n\r\nfunction defineQuotingStyles() {\r\n // see https://en.wikipedia.org/wiki/Quotation_mark\r\n const quots = {\r\n backtick: [\"`\", \"`\"],\r\n parentheses: [`(`, `)`],\r\n curlyBrackets: [`{`, `}`],\r\n curlyDoubleInward: [`\u201D`, `\u201C`],\r\n curlyDouble: [`\u201C`, `\u201D`],\r\n curlyDoubleEqual: [`\u201C`, `\u201C`],\r\n curlyLHDouble: [`\u201E`, `\u201D`],\r\n curlyLHDoubleInward: [`\u201E`, `\u201C`],\r\n curlyLHSingle: [`\u201A`, `\u2019`],\r\n curlyLHSingleInward: [`\u201A`, `\u2018`],\r\n curlySingle: [`\u201B`, `\u2019`],\r\n curlySingleEqual: [`\u201B`, `\u201B`],\r\n curlySingleInward: [`\u2019`, `\u201B`],\r\n double: [`\"`, `\"`],\r\n guillemets: [`\u00AB`, `\u00BB`],\r\n guillemetsInward: [`\u00BB`, `\u00AB`],\r\n guillemetsSingle: [`\u2039`, `\u203A`],\r\n guillemetsSingleInward: [`\u203A`, `\u2039`],\r\n single: [`'`, `'`],\r\n squareBrackets: [`[`, `]`],\r\n };\r\n quots.re = new RegExp(`[${\r\n escape4RE([...new Set(\r\n Object.values(quots)\r\n .filter(v => Array.isArray(v))\r\n .flat())].join(``))\r\n }]`, \"g\");\r\n return quots;\r\n}\r\n\r\nfunction escape4RE(str2Escape) {\r\n return str2Escape.replace(/\\p{S}|\\p{P}/gu, a => `\\\\${a}`);\r\n}\r\n\r\nfunction getStringValue(string) {\r\n return string?.value || (string?.constructor === String && string) || ``;\r\n}\r\n\r\nfunction isArrayOf(type, value, includeInstances = true) {\r\n return Array.isArray(value) && value.length > 0 &&\r\n !value.find(v => checkType(type, v, includeInstances));\r\n}\r\n\r\nfunction isNumber(value) {\r\n return value?.constructor === Number && !Number.isNaN(value);\r\n}\r\n\r\nfunction infoValue(key, infoValue) {\r\n return `${key} (${infoValue})`;\r\n}\r\n\r\nfunction checkType(type, item, includeInstances) {\r\n return type === String && includeInstances\r\n ? item?.constructor !== CustomStringConstructor && item?.constructor !== type\r\n : item?.constructor !== type;\r\n}\r\n\r\nfunction resolveTemplateString(str, ...args) {\r\n return str?.raw\r\n ? String.raw({ raw: str }, ...args)\r\n : getStringValue(str).length ? str : \"\";\r\n}\r\n\r\nfunction retrieveQuotInfo(instanceQuotGetters4Info, ctor) {\r\n return Object.entries(Object.getOwnPropertyDescriptors(instanceQuotGetters4Info.value))\r\n .sort( (a,b) => a[0].localeCompare(b[0]) )\r\n .reduce((acc, [k,]) => {\r\n if (k === `remove`) { return [...acc, `[instance].quote.remove (only predefined)`]; }\r\n if (k === `custom`) { return [...acc, `[instance].quote.custom(start:string, end:string)`]; }\r\n\r\n const val = ctor(`[instance]`).quote[k];\r\n return [...acc, `[instance].quote.${k} ( ${val} )`];\r\n }, []);\r\n}\r\n\r\nfunction quotGetters4Instance(instance, wrap) {\r\n wrap = wrap ?? function(me) { return me; };\r\n\r\n return {\r\n value: {\r\n get backtick() { return instance.enclose(...quotingStyles.backtick); },\r\n get parentheses() { return instance.enclose(...quotingStyles.parentheses); },\r\n get curlyBrackets() { return instance.enclose(...quotingStyles.curlyBrackets); },\r\n get curlyDouble() { return instance.enclose(...quotingStyles.curlyDouble); },\r\n get curlyDoubleInward() { return instance.enclose(...quotingStyles.curlyDoubleInward); },\r\n get curlyDoubleEqual() { return instance.enclose(...quotingStyles.curlyDoubleEqual); },\r\n get curlyLHDoubleInward() { return instance.enclose(...quotingStyles.curlyLHDoubleInward); },\r\n get curlyLHSingle() { return instance.enclose(...quotingStyles.curlyLHSingle); },\r\n get curlyLHSingleInward() { return instance.enclose(...quotingStyles.curlyLHSingleInward); },\r\n get curlySingle() { return instance.enclose(...quotingStyles.curlySingle); },\r\n get curlySingleEqual() { return instance.enclose(...quotingStyles.curlySingleEqual); },\r\n get curlySingleInward() { return instance.enclose(...quotingStyles.curlySingleInward); },\r\n get custom() { return (start, end) => instance.enclose(...[start, end ?? start]); },\r\n get double() { return instance.enclose(...quotingStyles.double); },\r\n get guillemets() { return instance.enclose(...quotingStyles.guillemets); },\r\n get guillemetsInward() { return instance.enclose(...quotingStyles.guillemetsInward); },\r\n get guillemetsSingle() { return instance.enclose(...quotingStyles.guillemetsSingle); },\r\n get guillemetsSingleInward() { return instance.enclose(...quotingStyles.guillemetsSingleInward); },\r\n get remove() { return wrap(`${instance.value.replace(quotingStyles.re, ``)}`); },\r\n get single() { return instance.enclose(...quotingStyles.single); },\r\n get squareBrackets() { return instance.enclose(...quotingStyles.squareBrackets); },\r\n },\r\n enumerable: false,\r\n configurable: false,\r\n };\r\n}\r\n\r\nfunction capitalizerFactory(instance, wrap) {\r\n return {\r\n get full() {\r\n return wrap(instance.value.toUpperCase());\r\n },\r\n get none() {\r\n return wrap(instance.value.toLowerCase());\r\n },\r\n get camel() {\r\n return wrap(parseCamelcase(instance.value));\r\n },\r\n get snake() {\r\n return wrap(parseSnakeCase(instance.value));\r\n },\r\n get first() {\r\n return wrap(ucFirst(instance.value));\r\n },\r\n get kebab() {\r\n return wrap(parseKebabCase(instance.value));\r\n },\r\n get words() {\r\n return wrap(wordsFirstUp(instance.value));\r\n },\r\n get dashed() {\r\n return wrap(parseKebabCase(instance.value));\r\n },\r\n }\r\n}\r\n\r\nfunction createExtendedCTOR(ctor, customMethods) {\r\n const quoteInfo = retrieveQuotInfo(quotGetters4Instance(ctor()), ctor);\r\n const swInfo = () => getSWInformation(`constructor,history,indexOf,toString,value,valueOf,empty`.split(`,`), customMethods);\r\n Symbol.toSB = Symbol(`toStringBuilder`);\r\n Object.defineProperty(\r\n String.prototype,\r\n Symbol.toSB, {\r\n get() { return ctor(this); },\r\n enumerable: false,\r\n configurable: false\r\n }\r\n );\r\n\r\n Object.defineProperties(ctor, {\r\n create: {\r\n get() { return ctor(); },\r\n enumerable: false\r\n },\r\n constructor: {\r\n get() { return ctor; },\r\n enumerable: false,\r\n },\r\n format: {\r\n value(str, ...tokens) {\r\n return CustomStringConstructor(str).format(...tokens);\r\n }\r\n },\r\n addCustom: {\r\n value( { name, method, enumerable = false, isGetter = false } = {} ) {\r\n if (CustomStringConstructor``[name]) {\r\n console.error(`addCustom: the property \"${name}\" exists and can not be redefined`);\r\n return `addCustom: the property \"${name}\" exists and can not be redefined`;\r\n }\r\n\r\n if (typeof name === `string` && typeof method === `function` && method.length > 0) {\r\n customMethods[name] = {method, enumerable, isGetter};\r\n return `addCustom: the ${isGetter ? `getter` : `method`} named \"${name}\" is added`;\r\n }\r\n }\r\n },\r\n info: { get() { return swInfo(); } },\r\n keys: {\r\n get() {\r\n return Object.keys(Object.getOwnPropertyDescriptors(CustomStringConstructor``))\r\n .sort( (a,b) => a.localeCompare(b) )\r\n .map(v => !/constructor|toString|valueOf/.test(v) && Object.hasOwn(customMethods, v) ? `${v} *custom*` : v);\r\n }\r\n },\r\n quoteInfo: { value: quoteInfo },\r\n uuid4: { get() { return CustomStringConstructor(uuid4()); } },\r\n randomString: {\r\n value: function({len, includeUppercase, includeNumbers, includeSymbols, startAlphabetic} = {}) {\r\n return CustomStringConstructor(randomString({len, includeUppercase, includeNumbers, includeSymbols, startAlphabetic}));\r\n }\r\n },\r\n regExp: { value: createRegExp }\r\n });\r\n\r\n return;\r\n}\r\n\r\nfunction getSWInformation(notChainable, customMethods) {\r\n const firstLines = CustomStringConstructor(getInfoPrefix());\r\n const plainValues = getPlainValues();\r\n\r\n return firstLines.split(/\\n/)\r\n .concat(\r\n Object.entries(Object.getOwnPropertyDescriptors(firstLines))\r\n .sort(([keyA], [keyB]) => keyA.localeCompare(keyB))\r\n .map(([key, descriptr]) => {\r\n const isChainable = !notChainable.find(k => k === key);\r\n const isGetter = Object.hasOwn(descriptr, `get`);\r\n const isMethod = Object.hasOwn(descriptr, `value`);\r\n const isNative = Object.hasOwn(String.prototype, key);\r\n const isPlainValue = !isNative && Object.hasOwn(plainValues, key);\r\n const custom = Object.hasOwn(customMethods, key) ? ` *custom*` : ``;\r\n const getter = isGetter && isChainable ? `chainable getter${custom}` : `getter`;\r\n const method = isMethod && isChainable ? `chainable method${custom}` : `method`;\r\n const native = isNative && `${descriptr.get ? `getter` : `method`} (override)`;\r\n\r\n switch (true) {\r\n case isPlainValue: return infoValue(key, plainValues[key]);\r\n case isNative: return infoValue(key, native);\r\n case isMethod: return infoValue(key, method);\r\n case isGetter: return infoValue(key, getter);\r\n }\r\n }\r\n )\r\n );\r\n}\r\n\r\nfunction getPlainValues() {\r\n const capitalizerKeys = Object.keys(capitalizerFactory());\r\n return {\r\n value: `getter/setter`,\r\n clone: `chainable getter`,\r\n notEmpty: `chainable getter|undefined`,\r\n quote: `Object. See [constructor].quoteInfo`,\r\n capitalize: `getter. Object with chainable getters: [${capitalizerKeys.join(`, `)}]`,\r\n };\r\n}\r\n\r\nfunction getInfoPrefix() {\r\n return atob(\r\n `Rm9yIHRoZSByZWNvcmQ6CltjbV0gY2hhaW5hYmxlIGdldHRlcnMvbWV0aG9kcyBtb2RpZnkgdGhlIGluc3RhbmNlIHN0cmluZwpbY21d`+\r\n `IGluZGV4T2Ygb3ZlcnJpZGVzIHJldHVybnMgW3VuZGVmaW5lZF0gaWYgbm90aGluZyB3YXMgZm91bmQgKHNvIG9uZSBjYW4gdXNlIFtsYXN0`+\r\n `SV1pbmRleE9mKFtzb21lIHN0cmluZyB2YWx1ZV0pID8/IDAKW2NtXSBpbmNsdWRlcyBpbmZvcm1hdGlvbiBmb3IgY3VzdG9tIG1ldGhv`+\r\n `ZHMvZ2V0dGVycyBpZiBhcHBsaWNhYmxl`).replace(/\\[cm]/g, `\\u2714`);\r\n}\r\n", "import { customMethods, clone, } from \"./CTORCreator.js\";\r\n\r\nimport {\r\n createRegExp as $RE, getStringValue, isArrayOf, interpolate,\r\n isNumber, escapeRE, quotGetters4Instance as quotGetters,\r\n} from \"./helpers.js\";\r\n\r\nexport {\r\n format,\r\n ucFirst,\r\n truncate,\r\n trimAll,\r\n replaceWords,\r\n indexOf,\r\n lastIndexOf,\r\n insert,\r\n append,\r\n isNumber,\r\n prefix,\r\n getStringValue,\r\n parseCamelcase,\r\n wordsFirstUp,\r\n parseKebabCase,\r\n parseSnakeCase,\r\n quotGetters,\r\n surroundWith,\r\n customMethods,\r\n clone,\r\n trim,\r\n};\r\n\r\nfunction checkAndRun(string, fn, or) {\r\n string = getStringValue(string);\r\n return string.length > 0 ? fn(string) : or || string;\r\n}\r\n\r\nfunction format(string, ...tokens) {\r\n return checkAndRun(string, () => `${interpolate(string, ...tokens)}`);\r\n}\r\n\r\nfunction surroundWith(string, start, end) {\r\n if (!start && !end) {\r\n return string;\r\n }\r\n [start, end] = isArrayOf(String, [start, end ?? ``]) ? [start, end] : [``, ``];\r\n return `${start}${string}${end || start}`;\r\n}\r\n\r\nfunction ucFirst(string) {\r\n return checkAndRun(string, () => `${string[0].toUpperCase()}${string.slice(1).toLowerCase()}`);\r\n}\r\n\r\nfunction parseKebabCase(str) {\r\n let result = ``;\r\n\r\n for (const s of [...str]) {\r\n switch(true) {\r\n case !/[a-z _]/i.test(s): break;\r\n case /[ _]/.test(s): result += `-`; break;\r\n case s === s.toUpperCase(): result += `-${s.toLowerCase()}`; break;\r\n default: result += s;\r\n }\r\n }\r\n\r\n return result.replace(/-{2,}/g, `-`).replace(/^-|-$/g, ``);\r\n}\r\n\r\nfunction parseSnakeCase(str) {\r\n let result = ``;\r\n\r\n for (const s of [...str]) {\r\n switch(true) {\r\n case !/[a-z _-]/i.test(s): break;\r\n case /[ -]/.test(s): result += `_`; break;\r\n case s === s.toUpperCase(): result += `_${s.toLowerCase()}`; break;\r\n default: result += s;\r\n }\r\n }\r\n\r\n return result.replace(/_{2,}/g, `_`).replace(/^_|_$/g, ``);\r\n}\r\n\r\nfunction parseCamelcase(string) {\r\n return checkAndRun(string, () =>\r\n string.toLowerCase()\r\n .trim()\r\n .split(/[-\\s]/)\r\n .filter(l => l && l.length > 0)\r\n .map( (str, i) => i > 0 && `${ucFirst(str)}` || str)\r\n .join(``)\r\n );\r\n}\r\n\r\nfunction wordsFirstUp(string) {\r\n return checkAndRun(string, () => [...string.toLowerCase()].slice(1).reduce( (acc, v) =>\r\n acc + ( !/\\p{L}|[-']/u.test(acc.at(-1)) ? v.toUpperCase() : v.toLowerCase() ),\r\n string[0].toUpperCase()\r\n ));\r\n}\r\n\r\nfunction trim(string, start, end) {\r\n return checkAndRun(string, () => {\r\n if (!end && !start) { return string.trim(); }\r\n\r\n end = $RE.escape(end || start);\r\n start = $RE.escape(start);\r\n\r\n return string.replace($RE`^(${start})+ | (${end})+$`.flags(`gm`), ``);\r\n });\r\n}\r\n\r\nfunction getWordBoundary(string) {\r\n const match = [...string.matchAll(/\\p{Pe}|\\p{Z}/gu)].at(-1);\r\n return match?.index ?? string.length;\r\n}\r\n\r\nfunction truncate(string, {at, html = false, wordBoundary = false} = {} ) {\r\n html = html?.constructor === Boolean && html || false;\r\n wordBoundary = wordBoundary?.constructor === Boolean && wordBoundary || false;\r\n return checkAndRun(string, () => {\r\n if (string.length <= at) { return string; }\r\n\r\n const subString = string.slice(0, at - 1);\r\n const endwith = html ? \"…\" : `...`;\r\n const boundary = wordBoundary\r\n ? getWordBoundary(subString)\r\n : subString.length;\r\n\r\n return (wordBoundary\r\n ? subString.slice(0, boundary+1).trim()\r\n : subString) + endwith;\r\n }\r\n );\r\n}\r\n\r\nfunction trimAll(string, keepLines = false) {\r\n keepLines = keepLines?.constructor === Boolean && keepLines || false;\r\n return checkAndRun(string, () => {\r\n const lines = string.replace(/\\n/gm, `#LF#`)\r\n .split(/#LF#/)\r\n .map(line => line.trim().replace(/\\s{2,}/g, a => a[0]) );\r\n return keepLines\r\n ? lines.join(`#LF#`).replace(/#LF#/g, `\\n`).trim()\r\n : lines.filter(l => l.length > 0).join(`\\n`);\r\n });\r\n}\r\n\r\nfunction replaceWords(string, { replacements = {}, caseSensitive = false} = {}) {\r\n string = getStringValue(string);\r\n let replacements2Array = Object.entries(replacements).flat();\r\n const cando = isArrayOf(String, replacements2Array) && caseSensitive?.constructor === Boolean;\r\n const modifiers = `g${!caseSensitive ? 'i' : ''}`;\r\n\r\n if (!cando) { return string; }\r\n\r\n while (replacements2Array.length) {\r\n const [initial, replacement] = [replacements2Array.shift(), replacements2Array.shift()];\r\n const re = new RegExp(escapeRE(initial), modifiers);\r\n string = string.replace(re, replacement);\r\n }\r\n\r\n return string;\r\n}\r\n\r\n// SEE https://youtu.be/99Zacm7SsWQ?t=2101\r\nfunction indexOf(string, findMe, fromIndex = 0) {\r\n string = getStringValue(string);\r\n fromIndex = isNumber(fromIndex) && fromIndex || 0;\r\n const index = string.indexOf(findMe, fromIndex || 0);\r\n return index < 0 ? undefined : index;\r\n}\r\n\r\nfunction lastIndexOf(string, findMe, beforeIndex = 0) {\r\n string = getStringValue(string);\r\n beforeIndex = isNumber(beforeIndex) && beforeIndex || string.length;\r\n const index = string.lastIndexOf(findMe, beforeIndex);\r\n return index < 0 ? undefined : index;\r\n}\r\n\r\nfunction insert(string, { value, values, at = 0 } = {}) {\r\n string = getStringValue(string);\r\n at = isNumber(at) && at || 0;\r\n const valuesMaybeValue = getStringValue(values);\r\n values = getStringValue(value).length\r\n ? value\r\n : valuesMaybeValue.length\r\n ? valuesMaybeValue\r\n : isArrayOf(String, values)\r\n ? values.map(v => getStringValue(v)).join(``)\r\n : [];\r\n\r\n return values.length <= 1\r\n ? string\r\n : string.length === 0\r\n ? `${values}${string}`\r\n : `${string.slice(0, at)}${values}${string.slice(at)}`;\r\n}\r\n\r\nfunction prefix(string, ...strings) {\r\n strings = isArrayOf(String, strings) && strings;\r\n return strings ? insert(getStringValue(string), {values: strings, at: 0}) : getStringValue(string);\r\n}\r\n\r\nfunction append(string, ...strings2Append) {\r\n strings2Append = isArrayOf(String, strings2Append) && strings2Append;\r\n\r\n if (strings2Append && strings2Append.length > 0) {\r\n return `${getStringValue(string)}`.concat(strings2Append.join(``))\r\n }\r\n\r\n return getStringValue(string);\r\n}\r\n", "import {\r\n format,\r\n ucFirst,\r\n truncate,\r\n trimAll,\r\n replaceWords,\r\n indexOf,\r\n lastIndexOf,\r\n insert,\r\n append,\r\n prefix,\r\n getStringValue,\r\n quotGetters,\r\n surroundWith,\r\n parseCamelcase,\r\n wordsFirstUp,\r\n parseKebabCase,\r\n parseSnakeCase,\r\n customMethods,\r\n isNumber,\r\n clone,\r\n trim,\r\n} from \"./instanceMethods.js\";\r\n\r\nimport { capitalizerFactory, deprecatedRE } from \"./helpers.js\";\r\n\r\nexport default instanceCreator;\r\n\r\nfunction instanceCreator({initialstring} = {}) {\r\n let customStringExtensions = Object.create(null, { });\r\n let instance = new Proxy(customStringExtensions, getTraps(customStringExtensions));\r\n let actualValue = getStringValue(initialstring);\r\n let history = [actualValue];\r\n const defaultDescriptorProps = {configurable: false, enumerable: false};\r\n\r\n Object.defineProperties( customStringExtensions, {\r\n // methods\r\n append: { ...defaultDescriptorProps, value(...strings) { return wrap(append(actualValue, ...strings)); } },\r\n enclose: { ...defaultDescriptorProps, value(start, end) { return wrap(surroundWith(actualValue, start, end)); } },\r\n format: { ...defaultDescriptorProps, value(...tokens) { return wrap(format(actualValue, ...tokens)); } },\r\n indexOf: { ...defaultDescriptorProps, value(str) { return indexOf(actualValue, str); } },\r\n interpolate: { ...defaultDescriptorProps, value(...tokens) { return wrap(format(actualValue, ...tokens)); } },\r\n insert: { ...defaultDescriptorProps, value({ value, values, at } = {}) {\r\n return wrap(insert(actualValue, { value, values, at }));\r\n }\r\n },\r\n lastIndexOf: { ...defaultDescriptorProps, value(str) { return lastIndexOf(actualValue, str); } },\r\n prefix: { ...defaultDescriptorProps, value(...strings) { return wrap(prefix(actualValue, ...strings)); } },\r\n replaceWords: { ...defaultDescriptorProps, value({caseSensitive = false, replacements = {}} = {}) {\r\n return wrap(replaceWords(actualValue, { replacements: replacements ?? {}, caseSensitive }));\r\n } },\r\n toString: { ...defaultDescriptorProps, value() { return actualValue; } },\r\n trim: {...defaultDescriptorProps, value(start, end) { return wrap(trim(actualValue, start, end)); } },\r\n truncate: { ...defaultDescriptorProps, value({at, html = false, wordBoundary = false} = {}) {\r\n return wrap(truncate(actualValue, {at, html, wordBoundary})); } },\r\n valueOf: { ...defaultDescriptorProps, value() { return actualValue; } },\r\n undoLast: { ...defaultDescriptorProps, value(nSteps) { return undoSteps(nSteps); } },\r\n\r\n // getters\r\n camelCase: { ...defaultDescriptorProps, get() { return wrap(parseCamelcase(getStringValue(actualValue))); } },\r\n capitalize: { ...defaultDescriptorProps, value: capitalizerFactory(instance, wrap) },\r\n clone: { ...defaultDescriptorProps, get() { return clone(instance, customMethods); } },\r\n firstUp: { ...defaultDescriptorProps, get() { return wrap(ucFirst(getStringValue(actualValue))); } },\r\n history: { ...defaultDescriptorProps, get() { return history; }, set(value) { history = value; } },\r\n empty: { ...defaultDescriptorProps, get() { return actualValue.length < 1; } },\r\n notEmpty: { ...defaultDescriptorProps, get() { return actualValue.length < 1 ? undefined: instance; } },\r\n kebabCase: { ...defaultDescriptorProps, get() { return wrap(parseKebabCase(getStringValue(actualValue))); } },\r\n quote: quotGetters(instance, wrap),\r\n snakeCase: { ...defaultDescriptorProps, get() { return wrap(parseSnakeCase(getStringValue(actualValue))); } },\r\n trimAll: { ...defaultDescriptorProps, get() { return wrap(trimAll(actualValue)); } },\r\n trimAllKeepLF: { ...defaultDescriptorProps, get() { return wrap(trimAll(actualValue, true)); } },\r\n undoAll: { ...defaultDescriptorProps, get() { return undoAll(); } },\r\n undo: { ...defaultDescriptorProps, get() { return undoLast(); } },\r\n wordsUCFirst: { ...defaultDescriptorProps, get() { return wrap(wordsFirstUp(getStringValue(actualValue))); } },\r\n value: { ...defaultDescriptorProps,\r\n get() { return actualValue; },\r\n set(value) {\r\n const nwValue = getStringValue(value);\r\n if (nwValue.length) {\r\n actualValue = nwValue;\r\n history.push(nwValue);\r\n }\r\n }\r\n },\r\n });\r\n\r\n injectCustomMethods(customMethods);\r\n\r\n return instance;\r\n\r\n function getTraps(customExtensions) {\r\n return {\r\n get( target, key ) {\r\n switch(true) {\r\n case key === Symbol.for(\"myType\"): return `stringWeaver instance (Proxy)`;\r\n case Object.hasOwn(customExtensions, key): return customExtensions[key];\r\n case canWrapNative(String(key)): return wrapNative(key);\r\n default: return wrapNative(key);\r\n }\r\n },\r\n };\r\n }\r\n\r\n function canWrapNative(key) {\r\n return !deprecatedRE.test(key) && Object.hasOwn(String.prototype, key);\r\n }\r\n\r\n function wrapNative(key) {\r\n return typeof actualValue[key] === `function`\r\n ? function(...args) {\r\n const result = actualValue[key](...args);\r\n return result?.constructor === String ? wrap(actualValue[key](...args)) : result;\r\n }\r\n : actualValue[key];\r\n }\r\n\r\n function undoAll() {\r\n while (history.length > 1) { history.pop(); }\r\n actualValue = history.at(-1);\r\n return wrap(actualValue, false);\r\n }\r\n\r\n function undoSteps(steps) {\r\n if (!isNumber(steps)) {\r\n return wrap(actualValue, false);\r\n }\r\n\r\n const historyLen = history.length;\r\n\r\n if (steps >= historyLen || steps < 1) {\r\n history = history.slice(0, 1);\r\n actualValue = history.at(-1);\r\n return wrap(history.at(-1), false);\r\n }\r\n\r\n history = history.slice(0, historyLen - steps);\r\n\r\n actualValue = history.at(-1);\r\n return wrap(actualValue, false);\r\n }\r\n\r\n function undoLast() {\r\n if (history.length === 1) {\r\n return wrap(history[0]);\r\n }\r\n\r\n history.pop();\r\n actualValue = history.at(-1);\r\n return wrap(actualValue, false);\r\n }\r\n\r\n function wrap(result, pushHistory = true) {\r\n const changed = actualValue !== result;\r\n changed && pushHistory && history.push(result);\r\n actualValue = result;\r\n return instance;\r\n }\r\n\r\n function injectCustomMethods(customMethods) {\r\n Object.entries(customMethods).forEach(([methodName, methodContainer]) => {\r\n const {enumerable, method, isGetter} = methodContainer;\r\n const configurable = false\r\n const descriptor = isGetter\r\n ? { get() { return wrap(method(instance).value); }, enumerable, configurable }\r\n : { value(...args) { return wrap(method(instance, ...args).value); }, enumerable, configurable };\r\n\r\n Object.defineProperty(customStringExtensions, methodName, descriptor);\r\n });\r\n }\r\n}\r\n", "import createInstance from \"./instanceCreator.js\";\r\nimport { createExtendedCTOR, resolveTemplateString, } from \"./helpers.js\";\r\nconst customMethods = Object.create(null, {});\r\n\r\nexport { customMethods, CustomStringConstructor, clone, };\r\n\r\ncreateExtendedCTOR(CustomStringConstructor, customMethods);\r\n\r\nfunction CustomStringConstructor(str, ...args) {\r\n const instance = createInstance({initialstring: resolveTemplateString(str, ...args)});\r\n Object.defineProperty( instance,\r\n `constructor`, { get() { return CustomStringConstructor; }, enumerable: false}\r\n );\r\n return Object.freeze(instance);\r\n}\r\n\r\nfunction clone(instance) {\r\n const newInstance = CustomStringConstructor(instance.value);\r\n newInstance.history = [...instance.history];\r\n return newInstance;\r\n}\r\n", "import { CustomStringConstructor as defaultStringCTOR} from \"./src/CTORCreator.js\";\r\n\r\nexport default defaultStringCTOR;\r\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["IS", "typeCheckFactory", "interpolateDefault", "interpolateFactory", "interpolateClear", "interpolateFactory", "defaultReplacer", "specs", "useSymbolicExtensions", "IS", "addSymbolicStringExtensions", "str", "tokens", "interpolate", "processTokens", "invalidate", "key", "keyExists", "replacement", "token", "isValid", "getReplacerLambda", "args", "replacementObject", "a", "replace", "convertTokensFromArrayValues", "tokenObject", "converted", "value", "v", "i", "isMultiLineWithArrays", "injected", "interpolateDefault", "interpolateClear", "typeCheckFactory", "collate", "nameOf", "type2Check", "checkSingleType", "obj", "checkType", "chkType", "regExpFromMultilineStringFactory_default", "instanceCreator", "escape4RE", "regExStr", "args", "flags", "cleanedArgs", "maybeFlags", "createInstance", "cleanup", "createRegExpStringFromInput", "hasLength", "a", "v", "i", "cleanupFlags", "getFlags", "isOfType", "regExp", "instance", "modifyFlags", "clone", "getterTrap", "variable", "any", "CTOR", "maybeProp", "target", "key", "fromRegExp", "fromInstance", "fromRegExpMethod", "source", "currentFlags", "string2Escape", "str", "b", "randomString", "uuid4", "randomStringGeneratorFactory", "randomStringGeneratorFactory", "hasCrypto", "checkBrowserCrypto", "getRandomValue", "randomNr", "min", "max", "range", "start", "len", "reMap", "_", "i", "map2Chrs", "v", "symbols", "symRE", "shuffle", "array", "ri", "UC", "LC", "allChars", "getChars2Use", "use", "acc", "key", "value", "uuid4", "strTest", "strFound", "numbers", "alphaSwap", "chars", "idx", "randomString", "includeUppercase", "includeNumbers", "includeSymbols", "startAlphabetic", "chrs2Use", "quotingStyles", "defineQuotingStyles", "deprecatedRE", "defineQuotingStyles", "quots", "escape4RE", "v", "str2Escape", "a", "getStringValue", "string", "isArrayOf", "type", "value", "includeInstances", "checkType", "isNumber", "infoValue", "key", "item", "CustomStringConstructor", "resolveTemplateString", "str", "args", "retrieveQuotInfo", "instanceQuotGetters4Info", "ctor", "b", "acc", "k", "val", "quotGetters4Instance", "instance", "wrap", "me", "quotingStyles", "start", "end", "capitalizerFactory", "parseCamelcase", "parseSnakeCase", "ucFirst", "parseKebabCase", "wordsFirstUp", "createExtendedCTOR", "customMethods", "quoteInfo", "swInfo", "getSWInformation", "tokens", "name", "method", "enumerable", "isGetter", "uuid4", "len", "includeUppercase", "includeNumbers", "includeSymbols", "startAlphabetic", "randomString", "regExpFromMultilineStringFactory_default", "notChainable", "firstLines", "getInfoPrefix", "plainValues", "getPlainValues", "keyA", "keyB", "descriptr", "isChainable", "isMethod", "isNative", "isPlainValue", "custom", "getter", "native", "checkAndRun", "string", "fn", "or", "getStringValue", "format", "tokens", "interpolateDefault", "surroundWith", "start", "end", "isArrayOf", "ucFirst", "parseKebabCase", "str", "result", "s", "parseSnakeCase", "parseCamelcase", "l", "i", "wordsFirstUp", "acc", "v", "trim", "regExpFromMultilineStringFactory_default", "getWordBoundary", "truncate", "at", "html", "wordBoundary", "subString", "endwith", "boundary", "trimAll", "keepLines", "lines", "line", "a", "replaceWords", "replacements", "caseSensitive", "replacements2Array", "cando", "modifiers", "initial", "replacement", "re", "escape4RE", "indexOf", "findMe", "fromIndex", "isNumber", "index", "lastIndexOf", "beforeIndex", "insert", "value", "values", "valuesMaybeValue", "prefix", "strings", "append", "strings2Append", "instanceCreator_default", "instanceCreator", "initialstring", "customStringExtensions", "instance", "getTraps", "actualValue", "getStringValue", "history", "defaultDescriptorProps", "strings", "wrap", "append", "start", "end", "surroundWith", "tokens", "format", "str", "indexOf", "value", "values", "at", "insert", "lastIndexOf", "prefix", "caseSensitive", "replacements", "replaceWords", "trim", "html", "wordBoundary", "truncate", "nSteps", "undoSteps", "parseCamelcase", "capitalizerFactory", "clone", "customMethods", "ucFirst", "parseKebabCase", "quotGetters4Instance", "parseSnakeCase", "trimAll", "undoAll", "undoLast", "wordsFirstUp", "nwValue", "injectCustomMethods", "customExtensions", "target", "key", "canWrapNative", "wrapNative", "deprecatedRE", "args", "result", "steps", "isNumber", "historyLen", "pushHistory", "methodName", "methodContainer", "enumerable", "method", "isGetter", "configurable", "customMethods", "createExtendedCTOR", "CustomStringConstructor", "customMethods", "str", "args", "instance", "instanceCreator_default", "resolveTemplateString", "clone", "newInstance", "index_default", "CustomStringConstructor"]
|
|
7
7
|
}
|
package/package.json
CHANGED
package/src/helpers.js
CHANGED
|
@@ -8,8 +8,9 @@ const deprecatedRE = /symbol|anchor|big|blink|bold|fixed|fontsize|fontcolor|ital
|
|
|
8
8
|
|
|
9
9
|
export {
|
|
10
10
|
capitalizerFactory, createExtendedCTOR, createRegExp, defineQuotingStyles,
|
|
11
|
-
deprecatedRE, getStringValue, escapeRE, infoValue, interpolate, isArrayOf,
|
|
12
|
-
randomString, resolveTemplateString, retrieveQuotInfo, quotGetters4Instance,
|
|
11
|
+
deprecatedRE, getStringValue, escape4RE as escapeRE, infoValue, interpolate, isArrayOf,
|
|
12
|
+
isNumber, randomString, resolveTemplateString, retrieveQuotInfo, quotGetters4Instance,
|
|
13
|
+
quotingStyles, uuid4,
|
|
13
14
|
};
|
|
14
15
|
|
|
15
16
|
function defineQuotingStyles() {
|
|
@@ -36,18 +37,19 @@ function defineQuotingStyles() {
|
|
|
36
37
|
single: [`'`, `'`],
|
|
37
38
|
squareBrackets: [`[`, `]`],
|
|
38
39
|
};
|
|
39
|
-
quots.re =
|
|
40
|
-
|
|
41
|
-
.
|
|
42
|
-
|
|
40
|
+
quots.re = new RegExp(`[${
|
|
41
|
+
escape4RE([...new Set(
|
|
42
|
+
Object.values(quots)
|
|
43
|
+
.filter(v => Array.isArray(v))
|
|
44
|
+
.flat())].join(``))
|
|
45
|
+
}]`, "g");
|
|
43
46
|
return quots;
|
|
44
47
|
}
|
|
45
48
|
|
|
46
|
-
function
|
|
47
|
-
return
|
|
49
|
+
function escape4RE(str2Escape) {
|
|
50
|
+
return str2Escape.replace(/\p{S}|\p{P}/gu, a => `\\${a}`);
|
|
48
51
|
}
|
|
49
52
|
|
|
50
|
-
|
|
51
53
|
function getStringValue(string) {
|
|
52
54
|
return string?.value || (string?.constructor === String && string) || ``;
|
|
53
55
|
}
|
|
@@ -91,6 +93,7 @@ function retrieveQuotInfo(instanceQuotGetters4Info, ctor) {
|
|
|
91
93
|
|
|
92
94
|
function quotGetters4Instance(instance, wrap) {
|
|
93
95
|
wrap = wrap ?? function(me) { return me; };
|
|
96
|
+
|
|
94
97
|
return {
|
|
95
98
|
value: {
|
|
96
99
|
get backtick() { return instance.enclose(...quotingStyles.backtick); },
|
package/src/instanceMethods.js
CHANGED
|
@@ -155,7 +155,7 @@ function replaceWords(string, { replacements = {}, caseSensitive = false} = {})
|
|
|
155
155
|
|
|
156
156
|
while (replacements2Array.length) {
|
|
157
157
|
const [initial, replacement] = [replacements2Array.shift(), replacements2Array.shift()];
|
|
158
|
-
const re = escapeRE(initial, modifiers);
|
|
158
|
+
const re = new RegExp(escapeRE(initial), modifiers);
|
|
159
159
|
string = string.replace(re, replacement);
|
|
160
160
|
}
|
|
161
161
|
|
package/tests/UnitTests.js
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
import assert from 'node:assert';
|
|
6
6
|
import {describe, it} from 'node:test';
|
|
7
|
-
import {default as $S
|
|
8
|
-
import {quotingStyles, isArrayOf, quotGetters4Instance} from "../src/
|
|
7
|
+
import {default as $S} from "../index.js";
|
|
8
|
+
import {quotingStyles, isArrayOf, quotGetters4Instance} from "../src/helpers.js";
|
|
9
9
|
|
|
10
10
|
describe(`Basics constructor`, () => {
|
|
11
11
|
describe(`Instantiation`, () => {
|
|
@@ -49,8 +49,8 @@ describe(`Basics constructor`, () => {
|
|
|
49
49
|
"isValue": true
|
|
50
50
|
},
|
|
51
51
|
"info": {
|
|
52
|
-
"isGetter":
|
|
53
|
-
"isValue":
|
|
52
|
+
"isGetter": true,
|
|
53
|
+
"isValue": false,
|
|
54
54
|
},
|
|
55
55
|
"keys": {
|
|
56
56
|
"isGetter": true,
|
|
@@ -77,8 +77,7 @@ describe(`Basics constructor`, () => {
|
|
|
77
77
|
|
|
78
78
|
it(`Symbolic String extension in place`, () => {
|
|
79
79
|
const test = `hello world`[Symbol.toSB];
|
|
80
|
-
assert.strictEqual(test.constructor,
|
|
81
|
-
assert.strictEqual(test.value, `hello world`);
|
|
80
|
+
assert.strictEqual(test.constructor, $S);
|
|
82
81
|
});
|
|
83
82
|
|
|
84
83
|
it(`constructor can be used as regular function`, () => {
|
|
@@ -143,18 +142,18 @@ describe(`Basics constructor`, () => {
|
|
|
143
142
|
|
|
144
143
|
describe(`Instantiation by Symbolic String extensions`, () => {
|
|
145
144
|
it(`creates an instance from a plain string`, () => {
|
|
146
|
-
assert.strictEqual("Hello world"[Symbol.toSB].constructor,
|
|
145
|
+
assert.strictEqual("Hello world"[Symbol.toSB].constructor, $S);
|
|
147
146
|
assert.strictEqual("Hello world"[Symbol.toSB].value, `Hello world`);
|
|
148
147
|
});
|
|
149
148
|
|
|
150
149
|
it(`creates an instance from a template string`, () => {
|
|
151
150
|
const wrld = `world`;
|
|
152
|
-
assert.strictEqual(`Hello ${wrld}`[Symbol.toSB].constructor,
|
|
151
|
+
assert.strictEqual(`Hello ${wrld}`[Symbol.toSB].constructor, $S);
|
|
153
152
|
assert.strictEqual(`Hello ${wrld}`[Symbol.toSB].wordsUCFirst.value, `Hello World`);
|
|
154
153
|
});
|
|
155
154
|
|
|
156
155
|
it(`creates an instance from an empty string`, () => {
|
|
157
|
-
assert.strictEqual(``[Symbol.toSB].constructor,
|
|
156
|
+
assert.strictEqual(``[Symbol.toSB].constructor, $S);
|
|
158
157
|
assert.strictEqual(``[Symbol.toSB].append(`!!!`).value, `!!!`);
|
|
159
158
|
});
|
|
160
159
|
});
|
|
@@ -162,7 +161,7 @@ describe(`Basics constructor`, () => {
|
|
|
162
161
|
|
|
163
162
|
describe(`Constructor static methods`, () => {
|
|
164
163
|
it(`$S.constructor as expected`, () => {
|
|
165
|
-
assert.strictEqual($S.constructor,
|
|
164
|
+
assert.strictEqual($S.constructor, $S);
|
|
166
165
|
});
|
|
167
166
|
|
|
168
167
|
it(`$S.keys delivers all keys`, () => {
|
|
@@ -673,7 +672,7 @@ describe(`Instance methods, setters & getters (alphabetically ordered)`, () => {
|
|
|
673
672
|
});
|
|
674
673
|
|
|
675
674
|
it(`[instance].constructor is CustomStringConstructor`, () => {
|
|
676
|
-
assert.deepStrictEqual($S``.constructor,
|
|
675
|
+
assert.deepStrictEqual($S``.constructor, $S);
|
|
677
676
|
assert.strictEqual($S``.constructor.name, `CustomStringConstructor`);
|
|
678
677
|
});
|
|
679
678
|
|
|
@@ -961,7 +960,7 @@ describe(`Instance methods, setters & getters (alphabetically ordered)`, () => {
|
|
|
961
960
|
it(`quotingStyles.re is what we expect`, () => {
|
|
962
961
|
assert.deepStrictEqual(
|
|
963
962
|
quotingStyles.re,
|
|
964
|
-
|
|
963
|
+
/[\`\(\)\{\}\”\“\„\‚\’\‘\‛\"\«\»\‹\›\'\[\]]/g,
|
|
965
964
|
);
|
|
966
965
|
});
|
|
967
966
|
|
|
@@ -1006,8 +1005,8 @@ describe(`Instance methods, setters & getters (alphabetically ordered)`, () => {
|
|
|
1006
1005
|
|
|
1007
1006
|
it(`toString as expected`, () => {
|
|
1008
1007
|
const hi = $S`stringified`;
|
|
1009
|
-
assert.strictEqual(hi.constructor,
|
|
1010
|
-
assert.notStrictEqual(hi.toString().constructor,
|
|
1008
|
+
assert.strictEqual(hi.constructor, $S);
|
|
1009
|
+
assert.notStrictEqual(hi.toString().constructor, $S);
|
|
1011
1010
|
assert.strictEqual(hi.toString(), `stringified`);
|
|
1012
1011
|
assert.strictEqual(String(hi), `stringified`);
|
|
1013
1012
|
assert(`${hi}`, `stringified`);
|