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