77 lines
18 KiB
JavaScript
77 lines
18 KiB
JavaScript
var Regex=(()=>{var Z=Object.defineProperty;var xe=Object.getOwnPropertyDescriptor;var De=Object.getOwnPropertyNames;var be=Object.prototype.hasOwnProperty;var Te=(e,n)=>{for(var t in n)Z(e,t,{get:n[t],enumerable:!0})},Ue=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of De(n))!be.call(e,s)&&s!==t&&Z(e,s,{get:()=>n[s],enumerable:!(r=xe(n,s))||r.enumerable});return e};var Re=e=>Ue(Z({},"__esModule",{value:!0}),e);var Je={};Te(Je,{pattern:()=>H,regex:()=>We,rewrite:()=>Ke});var d=Object.freeze({DEFAULT:"DEFAULT",CHAR_CLASS:"CHAR_CLASS"});function C(e,n,t,r){let s=new RegExp(String.raw`${n}|(?<$skip>\[\^?|\\?.)`,"gsu"),o=[!1],i=0,a="";for(let u of e.matchAll(s)){let{0:c,groups:{$skip:p}}=u;if(!p&&(!r||r===d.DEFAULT==!i)){t instanceof Function?a+=t(u,{context:i?d.CHAR_CLASS:d.DEFAULT,negated:o[o.length-1]}):a+=t;continue}c[0]==="["?(i++,o.push(c[1]==="^")):c==="]"&&i&&(i--,o.pop()),a+=c}return a}function P(e,n,t,r){C(e,n,t,r)}function V(e,n,t=0,r){if(!new RegExp(n,"su").test(e))return null;let s=new RegExp(`${n}|(?<$skip>\\\\?.)`,"gsu");s.lastIndex=t;let o=0,i;for(;i=s.exec(e);){let{0:a,groups:{$skip:u}}=i;if(!u&&(!r||r===d.DEFAULT==!o))return i;a==="["?o++:a==="]"&&o&&o--,s.lastIndex==i.index&&s.lastIndex++}return null}function j(e,n,t){return!!V(e,n,0,t)}function J(e,n){let t=/\\?./gsu;t.lastIndex=n;let r=e.length,s=0,o=1,i;for(;i=t.exec(e);){let[a]=i;if(a==="[")s++;else if(s)a==="]"&&s--;else if(a==="(")o++;else if(a===")"&&(o--,!o)){r=i.index;break}}return e.slice(n,r)}var x="$E$",Q=class e extends RegExp{_captureMap;_namesByIndex;constructor(n,t,r){if(n instanceof RegExp&&r)throw new Error("Cannot provide options when copying a regexp");let s=!!r?.useEmulationGroups,o=s?Fe(n):null;super(o?.expression||n,t);let i=s?o:n instanceof e?n:null;i&&(this._captureMap=i._captureMap,this._namesByIndex=i._namesByIndex)}exec(n){let t=RegExp.prototype.exec.call(this,n);if(!t||!this._captureMap)return t;let r=[...t];t.length=1;let s;this.hasIndices&&(s=[...t.indices],t.indices.length=1);for(let o=1;o<r.length;o++)if(this._captureMap[o].exclude){let i=this._captureMap[o].transfer;if(i&&t.length>i){t[i]=r[o];let a=this._namesByIndex[i];a&&(t.groups[a]=r[o],this.hasIndices&&(t.indices.groups[a]=s[o])),this.hasIndices&&(t.indices[i]=s[o])}}else t.push(r[o]),this.hasIndices&&t.indices.push(s[o]);return t}};function Fe(e){let n=x.replace(/\$/g,"\\$"),t=[{exclude:!1}],r={0:""},s=0;return e=C(e,String.raw`\((?:(?!\?)|\?<(?![=!])(?<name>[^>]+)>)(?<mark>(?:\$(?<transfer>[1-9]\d*))?${n})?`,({0:o,groups:{name:i,mark:a,transfer:u}})=>a?(t.push({exclude:!0,transfer:u&&+u}),o.slice(0,-a.length)):(s++,i&&(r[s]=i),t.push({exclude:!1}),o),d.DEFAULT),{_captureMap:t,_namesByIndex:r,expression:e}}var D=String.raw`\(\?(?:[:=!>A-Za-z\-]|<[=!]|\(DEFINE\))`;function b(e,n,t,r){return e.slice(0,n)+r+e.slice(n+t.length)}var oe=new RegExp(String.raw`(?<noncapturingStart>${D})|(?<capturingStart>\((?:\?<[^>]+>)?)|\\?.`,"gsu");function ae(e,n){if(!/\(\?>/.test(e))return e;let t="(?>",r=`(?:(?=(${n?.useEmulationGroups?x:""}`,s=[0],o=0,i=0,a=NaN,u;do{u=!1;let c=0,p=0,E=!1,l;for(oe.lastIndex=Number.isNaN(a)?0:a+r.length;l=oe.exec(e);){let{0:g,index:A,groups:{capturingStart:h,noncapturingStart:S}}=l;if(g==="[")c++;else if(c)g==="]"&&c--;else if(g===t&&!E)a=A,E=!0;else if(E&&S)p++;else if(h)E?p++:(o++,s.push(o+i));else if(g===")"&&E){if(!p){i++,e=`${e.slice(0,a)}${r}${e.slice(a+t.length,A)}))<$$${i+o}>)${e.slice(A+1)}`,u=!0;break}p--}}}while(u);return e=C(e,String.raw`\\(?<backrefNum>[1-9]\d*)|<\$\$(?<wrappedBackrefNum>\d+)>`,({0:c,groups:{backrefNum:p,wrappedBackrefNum:E}})=>{if(p){let l=+p;if(l>s.length-1)throw new Error(`Backref "${c}" greater than number of captures`);return`\\${s[l]}`}return`\\${E}`},d.DEFAULT),e}var ie=String.raw`(?:[?*+]|\{\d+(?:,\d*)?\})`,X=new RegExp(String.raw`
|
|
\\(?: \d+
|
|
| c[A-Za-z]
|
|
| [gk]<[^>]+>
|
|
| [pPu]\{[^\}]+\}
|
|
| u[A-Fa-f\d]{4}
|
|
| x[A-Fa-f\d]{2}
|
|
)
|
|
| \((?: \? (?: [:=!>]
|
|
| <(?:[=!]|[^>]+>)
|
|
| [A-Za-z\-]+:
|
|
| \(DEFINE\)
|
|
))?
|
|
| (?<qBase>${ie})(?<qMod>[?+]?)(?<invalidQ>[?*+\{]?)
|
|
| \\?.
|
|
`.replace(/\s+/g,""),"gsu");function ue(e){if(!new RegExp(`${ie}\\+`).test(e))return e;let n=[],t=null,r=null,s="",o=0,i;for(X.lastIndex=0;i=X.exec(e);){let{0:a,index:u,groups:{qBase:c,qMod:p,invalidQ:E}}=i;if(a==="[")o||(r=u),o++;else if(a==="]")o?o--:r=null;else if(!o)if(p==="+"&&s&&!s.startsWith("(")){if(E)throw new Error(`Invalid quantifier "${a}"`);let l=-1;if(/^\{\d+\}$/.test(c))e=b(e,u+c.length,p,"");else{if(s===")"||s==="]"){let g=s===")"?t:r;if(g===null)throw new Error(`Invalid unmatched "${s}"`);e=`${e.slice(0,g)}(?>${e.slice(g,u)}${c})${e.slice(u+a.length)}`}else e=`${e.slice(0,u-s.length)}(?>${s}${c})${e.slice(u+a.length)}`;l+=4}X.lastIndex+=l}else a[0]==="("?n.push(u):a===")"&&(t=n.length?n.pop():null);s=a}return e}var I=class{#e;constructor(n){this.#e=n}toString(){return String(this.#e)}};function H(e,...n){if(Array.isArray(e?.raw))return new I(e.raw.flatMap((t,r)=>r<e.raw.length-1?[t,n[r]]:t).join(""));if(!n.length)return new I(e===void 0?"":e);throw new Error(`Unexpected arguments: ${JSON.stringify([e,...n])}`)}var f={DEFAULT:"DEFAULT",CHAR_CLASS:"CHAR_CLASS",ENCLOSED_P:"ENCLOSED_P",ENCLOSED_U:"ENCLOSED_U",GROUP_NAME:"GROUP_NAME",INTERVAL_QUANTIFIER:"INTERVAL_QUANTIFIER",INVALID_INCOMPLETE_TOKEN:"INVALID_INCOMPLETE_TOKEN"},m={DEFAULT:"DEFAULT",ENCLOSED_P:"ENCLOSED_P",ENCLOSED_Q:"ENCLOSED_Q",ENCLOSED_U:"ENCLOSED_U",INVALID_INCOMPLETE_TOKEN:"INVALID_INCOMPLETE_TOKEN",RANGE:"RANGE"},q=new Set([f.ENCLOSED_P,f.ENCLOSED_U]),k=new Set([m.ENCLOSED_P,m.ENCLOSED_Q,m.ENCLOSED_U]),G=(()=>{try{new RegExp("(?i:)")}catch{return!1}return!0})(),fe=(()=>{try{new RegExp("","v")}catch{return!1}return!0})(),T="&!#$%*+,.:;<=>?@^`~",B=String.raw`\(\?<(?![=!])(?<captureName>[^>]+)>`,W=String.raw`\((?!\?)(?!(?<=\(\?\()DEFINE\))|${B}`;function pe(e,n){return C(e,String.raw`\\(?<num>[1-9]\d*)`,({groups:{num:t}})=>`\\${+t+n}`,d.DEFAULT)}var Oe=["Basic_Emoji","Emoji_Keycap_Sequence","RGI_Emoji_Modifier_Sequence","RGI_Emoji_Flag_Sequence","RGI_Emoji_Tag_Sequence","RGI_Emoji_ZWJ_Sequence","RGI_Emoji"].join("|"),Pe=new RegExp(String.raw`
|
|
\\(?: c[A-Za-z]
|
|
| p\{(?<pStrProp>${Oe})\}
|
|
| [pP]\{[^\}]+\}
|
|
| (?<qStrProp>q)
|
|
| u(?:[A-Fa-f\d]{4}|\{[A-Fa-f\d]+\})
|
|
| x[A-Fa-f\d]{2}
|
|
| .
|
|
)
|
|
| --
|
|
| &&
|
|
| .
|
|
`.replace(/\s+/g,""),"gsu");function Y(e){let n=!1,t;for(let{0:r,groups:s}of e.matchAll(Pe)){if(s.pStrProp||s.qStrProp||r==="["&&n)return!0;if(["-","--","&&"].includes(r))n=!1;else if(r!=="["&&r!=="]"){if(n||t==="]")return!0;n=!0}t=r}return!1}function U(e){let n=0;return P(e,W,()=>n++,d.DEFAULT),n}function ee(e,n){return n===d.CHAR_CLASS?e.replace(new RegExp(String.raw`[()\[\]{}|\\/\-${T}]`,"g"),"\\$&"):e.replace(/[()\[\]{}|\\^$*+?.]/g,"\\$&")}function de(e,n,t){let r=e.replace(/\\./gsu,"");if(r.endsWith("\\"))return"\\";if(n===f.DEFAULT)return ce(r,"(",")");if(n===f.CHAR_CLASS&&!k.has(t))return ce(r,"[","]");if(n===f.INTERVAL_QUANTIFIER||q.has(n)||k.has(t)){if(r.includes("}"))return"}"}else if(n===f.GROUP_NAME&&r.includes(">"))return">";return""}var le=new RegExp(String.raw`
|
|
(?<groupN>\(\?<(?![=!])|\\[gk]<)
|
|
| (?<enclosedPU>\\[pPu]\{)
|
|
| (?<enclosedQ>\\q\{)
|
|
| (?<intervalQ>\{)
|
|
| (?<incompleteT>\\(?: $
|
|
| c(?![A-Za-z])
|
|
| u(?![A-Fa-f\d]{4})[A-Fa-f\d]{0,3}
|
|
| x(?![A-Fa-f\d]{2})[A-Fa-f\d]?
|
|
)
|
|
)
|
|
| --
|
|
| \\?.
|
|
`.replace(/\s+/g,""),"gsu");function R(e,n){let{regexContext:t,charClassContext:r,charClassDepth:s,lastPos:o}={regexContext:f.DEFAULT,charClassContext:m.DEFAULT,charClassDepth:0,lastPos:0,...n};le.lastIndex=o;let i;for(;i=le.exec(e);){let{0:a,groups:{groupN:u,enclosedPU:c,enclosedQ:p,intervalQ:E,incompleteT:l}}=i;a==="["?(s++,t=f.CHAR_CLASS,r=m.DEFAULT):a==="]"&&t===f.CHAR_CLASS?(s&&s--,s||(t=f.DEFAULT),r=m.DEFAULT):t===f.CHAR_CLASS?l?r=m.INVALID_INCOMPLETE_TOKEN:a==="-"?r=m.RANGE:c?r=a[1]==="u"?m.ENCLOSED_U:m.ENCLOSED_P:p?r=m.ENCLOSED_Q:(a==="}"&&k.has(r)||r===m.INVALID_INCOMPLETE_TOKEN||r===m.RANGE)&&(r=m.DEFAULT):l?t=f.INVALID_INCOMPLETE_TOKEN:u?t=f.GROUP_NAME:c?t=a[1]==="u"?f.ENCLOSED_U:f.ENCLOSED_P:E?t=f.INTERVAL_QUANTIFIER:(a===">"&&t===f.GROUP_NAME||a==="}"&&(t===f.INTERVAL_QUANTIFIER||q.has(t))||t===f.INVALID_INCOMPLETE_TOKEN)&&(t=f.DEFAULT)}return{regexContext:t,charClassContext:r,charClassDepth:s,lastPos:e.length}}function ce(e,n,t){let r=0;for(let[s]of e.matchAll(new RegExp(`[${ee(n+t,d.CHAR_CLASS)}]`,"g")))if(r+=s===n?1:-1,r<0)return t;return r>0?n:""}function ge(e,n,t,r){let s={raw:[]},o=[],i;return e.raw.forEach((a,u)=>{let c=t(a,{...i,lastPos:0},r);if(s.raw.push(c.transformed),i=c.runningContext,u<e.raw.length-1){let p=n[u];if(p instanceof I){let E=t(p,{...i,lastPos:0},r);o.push(H(E.transformed)),i=E.runningContext}else o.push(p)}}),{template:s,substitutions:o}}function Ee(e){return e.replace(/^\^/,"\\^^")}function K(e){return e.replace(new RegExp(`^([${T}])(?!\\1)`),(n,t,r)=>`\\${n}${r+1===e.length?"":n}`)}function M(e,n){return C(e,String.raw`\\0(?!\d)`,"\\x00",n)}var ke="&!#%,:;<=>@`~",Ge=new RegExp(String.raw`
|
|
\[\^?-?
|
|
| --?\]
|
|
| (?<dp>[${T}])\k<dp>
|
|
| --
|
|
| \\(?<vOnlyEscape>[${ke}])
|
|
| \\[pPu]\{[^}]+\}
|
|
| \\?.
|
|
`.replace(/\s+/g,""),"gsu");function me(e){let n='Invalid unescaped "-" in character class',t=!1,r="";for(let{0:s,groups:{dp:o,vOnlyEscape:i}}of e.matchAll(Ge)){if(s[0]==="["){if(t)throw new Error("Invalid nested character class when flag v not supported; possibly from interpolation");if(s.endsWith("-"))throw new Error(n);t=!0}else if(s.endsWith("]")){if(s[0]==="-")throw new Error(n);t=!1}else if(t){if(s==="&&"||s==="--")throw new Error(`Invalid set operator "${s}" when flag v not supported`);if(o)throw new Error(`Invalid double punctuator "${s}", reserved by flag v`);if("(){}/|".includes(s))throw new Error(`Invalid unescaped "${s}" in character class`);if(i){r+=i;continue}}r+=s}return r}var Me=new RegExp(String.raw`
|
|
${D}
|
|
| \(\?<
|
|
| (?<backrefNum>\\[1-9]\d*)
|
|
| \\?.
|
|
`.replace(/\s+/g,""),"gsu");function he(e,n){e=String(e);let t="",r="";for(let{0:s,groups:{backrefNum:o}}of e.matchAll(Me)){t+=s,n=R(t,n);let{regexContext:i}=n;if(i===f.DEFAULT)if(s==="(")r+="(?:";else{if(o)throw new Error(`Invalid decimal escape "${s}" with implicit flag n; replace with named backreference`);r+=s}else r+=s}return{transformed:r,runningContext:n}}var Ce=/^\s$/,ye=/^\\[\s#]$/,te=/^[ \t]$/,ve=/^\\[ \t]$/,Ve=new RegExp(String.raw`
|
|
\\(?: [gk]<
|
|
| [pPu]\{
|
|
| c[A-Za-z]
|
|
| u[A-Fa-f\d]{4}
|
|
| x[A-Fa-f\d]{2}
|
|
| 0\d+
|
|
)
|
|
| \[\^
|
|
| ${D}
|
|
| \(\?<
|
|
| (?<dp>[${T}])\k<dp>
|
|
| --
|
|
| \\?.
|
|
`.replace(/\s+/g,""),"gsu");function Ae(e,n,t){e=String(e);let r=!1,s=!1,o=!1,i="",a="",u="",c="",p=!1,E=(l,g)=>{let A={prefix:!0,postfix:!1,...g};return l=(p&&A.prefix?"(?:)":"")+l+(A.postfix?"(?:)":""),p=!1,l};for(let{0:l,index:g}of e.matchAll(Ve)){if(o){l===`
|
|
`&&(o=!1,p=!0);continue}if(r){if(Ce.test(l))continue;r=!1,p=!0}else if(s){if(te.test(l))continue;s=!1}i+=l,n=R(i,n);let{regexContext:A,charClassContext:h}=n;if(l==="-"&&A===f.CHAR_CLASS&&c===m.RANGE&&(t.flags.includes("v")||t.unicodeSetsPlugin))throw new Error("Invalid unescaped hyphen as the end value for a range");if(A===f.DEFAULT&&/^(?:[?*+]|\?\?)$/.test(l)||A===f.INTERVAL_QUANTIFIER&&l==="{")a+=E(l,{prefix:!1,postfix:u==="("&&l==="?"});else if(A===f.DEFAULT)Ce.test(l)?r=!0:l.startsWith("#")?o=!0:ye.test(l)?a+=E(l[1],{prefix:!1}):a+=E(l);else if(A===f.CHAR_CLASS&&l!=="["&&l!=="[^")if(te.test(l)&&(h===m.DEFAULT||h===m.ENCLOSED_Q||h===m.RANGE))s=!0;else{if(h===m.INVALID_INCOMPLETE_TOKEN)throw new Error(`Invalid incomplete token in character class: "${l}"`);if(ve.test(l)&&(h===m.DEFAULT||h===m.ENCLOSED_Q))a+=E(l[1],{prefix:!1});else if(h===m.DEFAULT){let S=e[g+1]??"",N=M(l);(te.test(S)||l==="^")&&(N=K(N)),a+=E(N)}else a+=E(l)}else a+=E(l);r||s||o||(u=l,c=h)}return{transformed:a,runningContext:n}}function we(e){let n=String.raw`\(\?:\)`;e=C(e,`(?:${n}){2,}`,"(?:)",d.DEFAULT);let t=x.replace(/\$/g,"\\$");return e=C(e,String.raw`(?:${n}(?=[)|.[$\\]|\((?!DEFINE)|$)|(?<=[()|.\]^>]|\\[bBdDfnrsStvwW]|\(\?(?:[:=!]|<[=!])|^)${n}(?![?*+{]))(?!${t})`,"",d.DEFAULT),e}function Se(e,n){let t=Ie(e,{includeContents:!0}),r=Qe(e,t,!!n?.useEmulationGroups);return He(r,t)}var je=String.raw`\\g<(?<subroutineName>[^>&]+)>`,y=new RegExp(String.raw`
|
|
${je}
|
|
| (?<capturingStart>${W})
|
|
| \\(?<backrefNum>[1-9]\d*)
|
|
| \\k<(?<backrefName>[^>]+)>
|
|
| \\?.
|
|
`.replace(/\s+/g,""),"gsu");function Qe(e,n,t){if(!/\\g</.test(e))return e;let r=j(e,"\\\\(?:[1-9]|k<[^>]+>)",d.DEFAULT),s=r?`(${t?x:""}`:"(?:",o=new Map,i=[],a=[0],u=0,c=0,p=0,E=0,l=0,g=e,A;for(y.lastIndex=0;A=y.exec(g);){let{0:h,index:S,groups:{subroutineName:N,capturingStart:z,backrefNum:F,backrefName:v}}=A;if(h==="[")l++;else if(l)h==="]"&&l--;else if(N){if(!n.has(N))throw new Error(`Invalid named capture referenced by subroutine ${h}`);if(o.has(N))throw new Error(`Subroutine ${h} followed a recursive reference`);let w=n.get(N).contents,$=`${s}${w})`;r&&(p=0,c++),o.set(N,{unclosedGroupCount:qe($)}),i.push(N),g=b(g,S,h,$),y.lastIndex-=h.length-s.length}else if(z)o.size?(r&&(p++,c++),h!=="("&&(g=b(g,S,h,s),y.lastIndex-=h.length-s.length)):r&&(a.push(re(a)+1+c-E),E=c,u++);else if((F||v)&&o.size){let w=F?+F:n.get(v)?.groupNum,$=!1;for(let L of i){let _=n.get(L);if(w>=_.groupNum&&w<=_.groupNum+_.numCaptures){$=!0;break}}if($){let L=n.get(re(i)),_=u+c-p,O=`\\k<$$b${w}s${_}r${L.groupNum}c${L.numCaptures}>`;g=b(g,S,h,O),y.lastIndex+=O.length-h.length}}else if(h===")"&&o.size){let w=o.get(re(i));w.unclosedGroupCount--,w.unclosedGroupCount||o.delete(i.pop())}}return r&&(g=C(g,String.raw`\\(?:(?<bNum>[1-9]\d*)|k<\$\$b(?<bNumSub>\d+)s(?<subNum>\d+)r(?<refNum>\d+)c(?<refCaps>\d+)>)`,({0:h,groups:{bNum:S,bNumSub:N,subNum:z,refNum:F,refCaps:v}})=>{if(S){let O=+S;if(O>a.length-1)throw new Error(`Backref "${h}" greater than number of captures`);return`\\${a[O]}`}let w=+N,$=+z,L=+F,_=+v;return w<L||w>L+_?`\\${a[w]}`:`\\${$-L+w}`},d.DEFAULT)),g}var ne=new RegExp(String.raw`${B}|\(\?:\)|(?<invalid>\\?.)`,"gsu");function He(e,n){let t=V(e,String.raw`\(\?\(DEFINE\)`,0,d.DEFAULT);if(!t)return e;let r=Ne(e,t);if(r.afterPos<e.length)throw new Error("DEFINE group allowed only at the end of a regex");if(r.afterPos>e.length)throw new Error("DEFINE group is unclosed");let s;for(ne.lastIndex=0;s=ne.exec(r.contents);){let{captureName:o,invalid:i}=s.groups;if(o){let a=Ne(r.contents,s),u;if(!n.get(o).isUnique)u=o;else{let c=Ie(a.contents,{includeContents:!1});for(let p of c.keys())if(!n.get(p).isUnique){u=p;break}}if(u)throw new Error(`Duplicate group name "${u}" within DEFINE`);ne.lastIndex=a.afterPos}else if(i)throw new Error("DEFINE group includes unsupported syntax at top level")}return e.slice(0,t.index)}function qe(e){let n=0;return P(e,"\\(",()=>n++,d.DEFAULT),n}function Be(e,n){let t=0,r=0,s;for(;s=V(e,W,r,d.DEFAULT);){let{0:o,index:i,groups:{captureName:a}}=s;if(t++,a===n)break;r=i+o.length}return t}function Ne(e,n){let t=n.index+n[0].length,r=J(e,t),s=t+r.length+1;return{contents:r,afterPos:s}}function Ie(e,{includeContents:n}){let t=new Map;return P(e,B,({0:r,index:s,groups:{captureName:o}})=>{if(t.has(o))t.get(o).isUnique=!1;else{let i={isUnique:!0};if(n){let a=J(e,s+r.length);Object.assign(i,{contents:a,groupNum:Be(e,o),numCaptures:U(a)})}t.set(o,i)}},d.DEFAULT),t}function re(e){return e[e.length-1]}var We=(e,...n)=>{if(Array.isArray(e?.raw))return se({},e,...n);if((typeof e=="string"||e===void 0)&&!n.length)return se.bind(null,{flags:e??""});if({}.toString.call(e)==="[object Object]"&&!n.length)return se.bind(null,e);throw new Error(`Unexpected arguments: ${JSON.stringify([e,...n])}`)},se=(e,n,...t)=>{let r=Le(e),s=$e(n,t,r),o=0,i="",a;s.template.raw.forEach((u,c)=>{let p=!!(s.template.raw[c]||s.template.raw[c+1]);o+=U(u),i+=M(u,d.CHAR_CLASS),a=R(i,a);let{regexContext:E,charClassContext:l}=a;if(c<s.template.raw.length-1){let g=s.substitutions[c];i+=ze(g,r.flags,E,l,p,o),g instanceof RegExp?o+=U(g.source):g instanceof I&&(o+=U(String(g)))}}),i=_e(i,r);try{return r.subclass?new Q(i,r.flags,{useEmulationGroups:!0}):new RegExp(i,r.flags)}catch(u){let c=u.message.replace(/ \/.+\/[a-z]*:/,"");throw u.message=`${c}: /${i}/${r.flags}`,u}};function Ke(e="",n){let t=Le(n);if(t.subclass)throw new Error("Cannot use option subclass");return{expression:_e($e({raw:[e]},[],t).template.raw[0],t),flags:t.flags}}function Le(e){let n={flags:"",subclass:!1,plugins:[],unicodeSetsPlugin:me,disable:{},force:{},...e};if(/[nuvx]/.test(n.flags))throw new Error("Implicit flags v/u/x/n cannot be explicitly added");let t=n.force.v||(n.disable.v?!1:fe);return n.flags+=t?"v":"u",t&&(n.unicodeSetsPlugin=null),n}function $e(e,n,t){let r=[];t.disable.x||r.push(Ae),t.disable.n||r.push(he);for(let s of r)({template:e,substitutions:n}=ge(e,n,s,t));return{template:e,substitutions:n}}function _e(e,n){let{flags:t,plugins:r,unicodeSetsPlugin:s,disable:o,subclass:i}=n;return[...r,...o.subroutines?[]:[Se],...o.atomic?[]:[ue,ae],...o.x?[]:[we],...s?[s]:[]].forEach(a=>e=a(e,{flags:t,useEmulationGroups:i})),e}function ze(e,n,t,r,s,o){if(e instanceof RegExp&&t!==f.DEFAULT)throw new Error("Cannot interpolate a RegExp at this position because the syntax context does not match");if(t===f.INVALID_INCOMPLETE_TOKEN||r===m.INVALID_INCOMPLETE_TOKEN)throw new Error("Interpolation preceded by invalid incomplete token");if(typeof e=="number"&&(t===f.ENCLOSED_U||r===m.ENCLOSED_U))return e.toString(16);let i=e instanceof I,a="";if(!(e instanceof RegExp)){e=String(e),i||(a=ee(e,t===f.CHAR_CLASS?d.CHAR_CLASS:d.DEFAULT));let u=de(a||e,t,r);if(u)throw new Error(`Unescaped stray "${u}" in the interpolated value would have side effects outside it`)}if(t===f.INTERVAL_QUANTIFIER||t===f.GROUP_NAME||q.has(t)||k.has(r))return i?String(e):a;if(t===f.CHAR_CLASS){if(i){if(j(String(e),"^-|^&&|-$|&&$"))throw new Error("Cannot use range or set operator at boundary of interpolated pattern; move the operation into the pattern or the operator outside of it");let u=Ee(K(e));return Y(e)?`[${u}]`:M(u)}return Y(a)?`[${a}]`:a}if(e instanceof RegExp){let u=Ze(e,n),c=pe(u.value,o);return u.usedModifier?c:`(?:${c})`}return i?`(?:${e})`:s?`(?:${a})`:a}function Ze(e,n){let t={i:null,m:null,s:null},r="\\n\\r\\u2028\\u2029",s=e.source;if(e.ignoreCase!==n.includes("i"))if(G)t.i=e.ignoreCase;else throw new Error("Pattern modifiers not supported, so flag i on the outer and interpolated regex must match");if(e.dotAll!==n.includes("s")&&(G?t.s=e.dotAll:s=C(s,"\\.",e.dotAll?"[^]":`[^${r}]`,d.DEFAULT)),e.multiline!==n.includes("m")&&(G?t.m=e.multiline:(s=C(s,"\\^",e.multiline?`(?<=^|[${r}])`:"(?<![^])",d.DEFAULT),s=C(s,"\\$",e.multiline?`(?=$|[${r}])`:"(?![^])",d.DEFAULT))),G){let o=Object.keys(t),i=o.filter(u=>t[u]===!0).join(""),a=o.filter(u=>t[u]===!1).join("");if(a&&(i+=`-${a}`),i)return{value:`(?${i}:${s})`,usedModifier:!0}}return{value:s}}return Re(Je);})();
|
|
//# sourceMappingURL=regex.min.js.map
|