oniguruma-to-es
Advanced tools
Comparing version 0.4.1 to 0.5.0
@@ -1,2 +0,2 @@ | ||
var OnigurumaToES=(()=>{var ce=Object.defineProperty;var Ft=Object.getOwnPropertyDescriptor;var Nt=Object.getOwnPropertyNames;var $t=Object.prototype.hasOwnProperty;var It=(e,t)=>{for(var r in t)ce(e,r,{get:t[r],enumerable:!0})},vt=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Nt(t))!$t.call(e,n)&&n!==r&&ce(e,n,{get:()=>t[n],enumerable:!(s=Ft(t,n))||s.enumerable});return e};var Pt=e=>vt(ce({},"__esModule",{value:!0}),e);var zr={};It(zr,{EmulatedRegExp:()=>ie,toDetails:()=>yt,toOnigurumaAst:()=>Wr,toRegExp:()=>qr});var w=String.fromCodePoint,f=String.raw,ve=(()=>{try{new RegExp("(?<n>)|(?<n>)")}catch{return!1}return!0})(),Pe=(()=>{try{new RegExp("(?i:)")}catch{return!1}return!0})(),Ge=(()=>{try{new RegExp("","v")}catch{return!1}return!0})();function O(e,{enable:t,disable:r}){return{dotAll:!r?.dotAll&&!!(t?.dotAll||e.dotAll),ignoreCase:!r?.ignoreCase&&!!(t?.ignoreCase||e.ignoreCase)}}function M(e,t,r){return e.has(t)||e.set(t,r),e.get(t)}function B(e,t){return e.alternatives.length===1&&e.alternatives[0].elements.length===1&&(!t||t(e.alternatives[0].elements[0]))}function V(e,t){return ue[e]>=ue[t]}function x(e,t){if(!e)throw new Error(t??"Value expected");return e}var ue={ES2018:2018,ES2024:2024,ES2025:2025},Gt={auto:"auto",ES2018:"ES2018",ES2024:"ES2024",ES2025:"ES2025"};function Z(e){if(e?.target!==void 0&&!Gt[e.target])throw new Error(`Unexpected target "${e.target}"`);let t={accuracy:"default",avoidSubclass:!1,flags:"",global:!1,hasIndices:!1,maxRecursionDepth:5,target:"auto",tmGrammar:!1,verbose:!1,...e};return t.target==="auto"&&(t.target=ve&&Pe?"ES2025":Ge?"ES2024":"ES2018"),t}var Lt=new Set([w(304),w(305)]);function pe(e){if(Lt.has(e))return[e];let t=new Set,r=e.toLowerCase(),s=r.toUpperCase(),n=Mt.get(r),o=Tt.get(r),a=Ot.get(r);return[...s].length===1&&t.add(s),a&&t.add(a),n&&t.add(n),t.add(r),o&&t.add(o),[...t]}var fe=new Set(["C","Other","Cc","Control","cntrl","Cf","Format","Cn","Unassigned","Co","Private_Use","Cs","Surrogate","L","Letter","LC","Cased_Letter","Ll","Lowercase_Letter","Lm","Modifier_Letter","Lo","Other_Letter","Lt","Titlecase_Letter","Lu","Uppercase_Letter","M","Mark","Combining_Mark","Mc","Spacing_Mark","Me","Enclosing_Mark","Mn","Nonspacing_Mark","N","Number","Nd","Decimal_Number","digit","Nl","Letter_Number","No","Other_Number","P","Punctuation","punct","Pc","Connector_Punctuation","Pd","Dash_Punctuation","Pe","Close_Punctuation","Pf","Final_Punctuation","Pi","Initial_Punctuation","Po","Other_Punctuation","Ps","Open_Punctuation","S","Symbol","Sc","Currency_Symbol","Sk","Modifier_Symbol","Sm","Math_Symbol","So","Other_Symbol","Z","Separator","Zl","Line_Separator","Zp","Paragraph_Separator","Zs","Space_Separator","ASCII","ASCII_Hex_Digit","AHex","Alphabetic","Alpha","Any","Assigned","Bidi_Control","Bidi_C","Bidi_Mirrored","Bidi_M","Case_Ignorable","CI","Cased","Changes_When_Casefolded","CWCF","Changes_When_Casemapped","CWCM","Changes_When_Lowercased","CWL","Changes_When_NFKC_Casefolded","CWKCF","Changes_When_Titlecased","CWT","Changes_When_Uppercased","CWU","Dash","Default_Ignorable_Code_Point","DI","Deprecated","Dep","Diacritic","Dia","Emoji","Emoji_Component","EComp","Emoji_Modifier","EMod","Emoji_Modifier_Base","EBase","Emoji_Presentation","EPres","Extended_Pictographic","ExtPict","Extender","Ext","Grapheme_Base","Gr_Base","Grapheme_Extend","Gr_Ext","Hex_Digit","Hex","IDS_Binary_Operator","IDSB","IDS_Trinary_Operator","IDST","ID_Continue","IDC","ID_Start","IDS","Ideographic","Ideo","Join_Control","Join_C","Logical_Order_Exception","LOE","Lowercase","Lower","Math","Noncharacter_Code_Point","NChar","Pattern_Syntax","Pat_Syn","Pattern_White_Space","Pat_WS","Quotation_Mark","QMark","Radical","Regional_Indicator","RI","Sentence_Terminal","STerm","Soft_Dotted","SD","Terminal_Punctuation","Term","Unified_Ideograph","UIdeo","Uppercase","Upper","Variation_Selector","VS","White_Space","space","XID_Continue","XIDC","XID_Start","XIDS"]),ge=new Map;for(let e of fe)ge.set(j(e),e);var Rt=new Set(["Basic_Emoji","Emoji_Keycap_Sequence","RGI_Emoji","RGI_Emoji_Flag_Sequence","RGI_Emoji_Modifier_Sequence","RGI_Emoji_Tag_Sequence","RGI_Emoji_ZWJ_Sequence"]),he=new Map;for(let e of Rt)he.set(j(e),e);var Le=new Set("Dogr Dogra Gong Gunjala_Gondi Hanifi_Rohingya Maka Makasar Medefaidrin Medf Old_Sogdian Rohg Sogd Sogdian Sogo Extended_Pictographic Elym Elymaic Hmnp Nand Nandinagari Nyiakeng_Puachue_Hmong Wancho Wcho Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi EBase EComp EMod EPres ExtPict Cpmn Cypro_Minoan Old_Uyghur Ougr Tangsa Tnsa Toto Vith Vithkuqi Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sunu Sunuwar Todhri Todr Tulu_Tigalari Tutg Unknown Zzzz".split(" ")),Tt=new Map([["s",w(383)],[w(383),"s"]]),Ot=new Map([[w(223),w(7838)],[w(107),w(8490)],[w(229),w(8491)],[w(969),w(8486)]]),Mt=new Map([v(453),v(456),v(459),v(498),...le(8072,8079),...le(8088,8095),...le(8104,8111),v(8124),v(8140),v(8188)]),J=new Map([["alnum",f`[\p{Alpha}\p{Nd}]`],["alpha",f`\p{Alpha}`],["ascii",f`\p{ASCII}`],["blank",f`[\p{Zs}\t]`],["cntrl",f`\p{cntrl}`],["digit",f`\p{Nd}`],["graph",f`[\P{space}&&\P{cntrl}&&\P{Cn}&&\P{Cs}]`],["lower",f`\p{Lower}`],["print",f`[[\P{space}&&\P{cntrl}&&\P{Cn}&&\P{Cs}]\p{Zs}]`],["punct",f`[\p{P}\p{S}]`],["space",f`\p{space}`],["upper",f`\p{Upper}`],["word",f`[\p{Alpha}\p{M}\p{Nd}\p{Pc}]`],["xdigit",f`\p{AHex}`]]),Re=new Set(["alnum","blank","graph","print","word","xdigit"]);function Ut(e,t){let r=[];for(let s=e;s<=t;s++)r.push(s);return r}function j(e){return e.replace(/[- _]+/g,"").toLowerCase()}function v(e){let t=w(e);return[t.toLowerCase(),t]}function le(e,t){return Ut(e,t).map(r=>v(r))}var de=new Set(["Lower","Lowercase","Upper","Uppercase","Ll","Lowercase_Letter","Lt","Titlecase_Letter","Lu","Uppercase_Letter"]);var g={Alternator:"Alternator",Assertion:"Assertion",Backreference:"Backreference",Character:"Character",CharacterClassClose:"CharacterClassClose",CharacterClassHyphen:"CharacterClassHyphen",CharacterClassIntersector:"CharacterClassIntersector",CharacterClassOpen:"CharacterClassOpen",CharacterSet:"CharacterSet",Directive:"Directive",GroupClose:"GroupClose",GroupOpen:"GroupOpen",Subroutine:"Subroutine",Quantifier:"Quantifier",VariableLengthCharacterSet:"VariableLengthCharacterSet",EscapedNumber:"EscapedNumber"},A={any:"any",digit:"digit",dot:"dot",hex:"hex",non_newline:"non_newline",posix:"posix",property:"property",space:"space",word:"word"},K={flags:"flags",keep:"keep"},_={atomic:"atomic",capturing:"capturing",group:"group",lookahead:"lookahead",lookbehind:"lookbehind"},Te=new Map([["a",7],["b",8],["e",27],["f",12],["n",10],["r",13],["t",9],["v",11]]),Ue=f`\[\^?\]?`,De=`c.? | C(?:-.?)?|${f`[pP]\{(?:\^?[\x20\w]+\})?`}|${f`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${f`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${f`o\{[^\}]*\}?`}|${f`\d{1,3}`}`,Be=/[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/,Y=new RegExp(f` | ||
var OnigurumaToES=(()=>{var ue=Object.defineProperty;var At=Object.getOwnPropertyDescriptor;var _t=Object.getOwnPropertyNames;var $t=Object.prototype.hasOwnProperty;var vt=(e,t)=>{for(var r in t)ue(e,r,{get:t[r],enumerable:!0})},Ft=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of _t(t))!$t.call(e,n)&&n!==r&&ue(e,n,{get:()=>t[n],enumerable:!(s=At(t,n))||s.enumerable});return e};var It=e=>Ft(ue({},"__esModule",{value:!0}),e);var Hr={};vt(Hr,{EmulatedRegExp:()=>X,toDetails:()=>bt,toOnigurumaAst:()=>Kr,toRegExp:()=>Wr});var k=String.fromCodePoint,f=String.raw,Ie=(()=>{try{new RegExp("(?<n>)|(?<n>)")}catch{return!1}return!0})(),Ge=(()=>{try{new RegExp("(?i:)")}catch{return!1}return!0})(),Pe=(()=>{try{new RegExp("","v")}catch{return!1}return!0})();function O(e,{enable:t,disable:r}){return{dotAll:!r?.dotAll&&!!(t?.dotAll||e.dotAll),ignoreCase:!r?.ignoreCase&&!!(t?.ignoreCase||e.ignoreCase)}}function U(e,t,r){return e.has(t)||e.set(t,r),e.get(t)}function B(e,t){return le[e]>=le[t]}function _(e,t){if(!e)throw new Error(t??"Value expected");return e}var le={ES2018:2018,ES2024:2024,ES2025:2025},Gt={auto:"auto",ES2018:"ES2018",ES2024:"ES2024",ES2025:"ES2025"};function J(e){if(e?.target!==void 0&&!Gt[e.target])throw new Error(`Unexpected target "${e.target}"`);let t={accuracy:"default",avoidSubclass:!1,flags:"",global:!1,hasIndices:!1,maxRecursionDepth:5,target:"auto",tmGrammar:!1,verbose:!1,...e};return t.target==="auto"&&(t.target=Ie&&Ge?"ES2025":Pe?"ES2024":"ES2018"),t}var Pt=new Set([k(304),k(305)]);function fe(e){if(Pt.has(e))return[e];let t=new Set,r=e.toLowerCase(),s=r.toUpperCase(),n=Tt.get(r),a=Mt.get(r),o=Rt.get(r);return[...s].length===1&&t.add(s),o&&t.add(o),n&&t.add(n),t.add(r),a&&t.add(a),[...t]}var ge=new Set(["C","Other","Cc","Control","cntrl","Cf","Format","Cn","Unassigned","Co","Private_Use","Cs","Surrogate","L","Letter","LC","Cased_Letter","Ll","Lowercase_Letter","Lm","Modifier_Letter","Lo","Other_Letter","Lt","Titlecase_Letter","Lu","Uppercase_Letter","M","Mark","Combining_Mark","Mc","Spacing_Mark","Me","Enclosing_Mark","Mn","Nonspacing_Mark","N","Number","Nd","Decimal_Number","digit","Nl","Letter_Number","No","Other_Number","P","Punctuation","punct","Pc","Connector_Punctuation","Pd","Dash_Punctuation","Pe","Close_Punctuation","Pf","Final_Punctuation","Pi","Initial_Punctuation","Po","Other_Punctuation","Ps","Open_Punctuation","S","Symbol","Sc","Currency_Symbol","Sk","Modifier_Symbol","Sm","Math_Symbol","So","Other_Symbol","Z","Separator","Zl","Line_Separator","Zp","Paragraph_Separator","Zs","Space_Separator","ASCII","ASCII_Hex_Digit","AHex","Alphabetic","Alpha","Any","Assigned","Bidi_Control","Bidi_C","Bidi_Mirrored","Bidi_M","Case_Ignorable","CI","Cased","Changes_When_Casefolded","CWCF","Changes_When_Casemapped","CWCM","Changes_When_Lowercased","CWL","Changes_When_NFKC_Casefolded","CWKCF","Changes_When_Titlecased","CWT","Changes_When_Uppercased","CWU","Dash","Default_Ignorable_Code_Point","DI","Deprecated","Dep","Diacritic","Dia","Emoji","Emoji_Component","EComp","Emoji_Modifier","EMod","Emoji_Modifier_Base","EBase","Emoji_Presentation","EPres","Extended_Pictographic","ExtPict","Extender","Ext","Grapheme_Base","Gr_Base","Grapheme_Extend","Gr_Ext","Hex_Digit","Hex","IDS_Binary_Operator","IDSB","IDS_Trinary_Operator","IDST","ID_Continue","IDC","ID_Start","IDS","Ideographic","Ideo","Join_Control","Join_C","Logical_Order_Exception","LOE","Lowercase","Lower","Math","Noncharacter_Code_Point","NChar","Pattern_Syntax","Pat_Syn","Pattern_White_Space","Pat_WS","Quotation_Mark","QMark","Radical","Regional_Indicator","RI","Sentence_Terminal","STerm","Soft_Dotted","SD","Terminal_Punctuation","Term","Unified_Ideograph","UIdeo","Uppercase","Upper","Variation_Selector","VS","White_Space","space","XID_Continue","XIDC","XID_Start","XIDS"]),he=new Map;for(let e of ge)he.set(V(e),e);var Nt=new Set(["Basic_Emoji","Emoji_Keycap_Sequence","RGI_Emoji","RGI_Emoji_Flag_Sequence","RGI_Emoji_Modifier_Sequence","RGI_Emoji_Tag_Sequence","RGI_Emoji_ZWJ_Sequence"]),de=new Map;for(let e of Nt)de.set(V(e),e);var Ne=new Set("Dogr Dogra Gong Gunjala_Gondi Hanifi_Rohingya Maka Makasar Medefaidrin Medf Old_Sogdian Rohg Sogd Sogdian Sogo Extended_Pictographic Elym Elymaic Hmnp Nand Nandinagari Nyiakeng_Puachue_Hmong Wancho Wcho Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi EBase EComp EMod EPres ExtPict Cpmn Cypro_Minoan Old_Uyghur Ougr Tangsa Tnsa Toto Vith Vithkuqi Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sunu Sunuwar Todhri Todr Tulu_Tigalari Tutg Unknown Zzzz".split(" ")),Mt=new Map([["s",k(383)],[k(383),"s"]]),Rt=new Map([[k(223),k(7838)],[k(107),k(8490)],[k(229),k(8491)],[k(969),k(8486)]]),Tt=new Map([G(453),G(456),G(459),G(498),...pe(8072,8079),...pe(8088,8095),...pe(8104,8111),G(8124),G(8140),G(8188)]),Y=new Map([["alnum",f`[\p{Alpha}\p{Nd}]`],["alpha",f`\p{Alpha}`],["ascii",f`\p{ASCII}`],["blank",f`[\p{Zs}\t]`],["cntrl",f`\p{cntrl}`],["digit",f`\p{Nd}`],["graph",f`[\P{space}&&\P{cntrl}&&\P{Cn}&&\P{Cs}]`],["lower",f`\p{Lower}`],["print",f`[[\P{space}&&\P{cntrl}&&\P{Cn}&&\P{Cs}]\p{Zs}]`],["punct",f`[\p{P}\p{S}]`],["space",f`\p{space}`],["upper",f`\p{Upper}`],["word",f`[\p{Alpha}\p{M}\p{Nd}\p{Pc}]`],["xdigit",f`\p{AHex}`]]),Me=new Set(["alnum","blank","graph","print","word","xdigit"]);function Ot(e,t){let r=[];for(let s=e;s<=t;s++)r.push(s);return r}function V(e){return e.replace(/[- _]+/g,"").toLowerCase()}function G(e){let t=k(e);return[t.toLowerCase(),t]}function pe(e,t){return Ot(e,t).map(r=>G(r))}var Ce=new Set(["Lower","Lowercase","Upper","Uppercase","Ll","Lowercase_Letter","Lt","Titlecase_Letter","Lu","Uppercase_Letter"]);var g={Alternator:"Alternator",Assertion:"Assertion",Backreference:"Backreference",Character:"Character",CharacterClassClose:"CharacterClassClose",CharacterClassHyphen:"CharacterClassHyphen",CharacterClassIntersector:"CharacterClassIntersector",CharacterClassOpen:"CharacterClassOpen",CharacterSet:"CharacterSet",Directive:"Directive",GroupClose:"GroupClose",GroupOpen:"GroupOpen",Subroutine:"Subroutine",Quantifier:"Quantifier",VariableLengthCharacterSet:"VariableLengthCharacterSet",EscapedNumber:"EscapedNumber"},E={any:"any",digit:"digit",dot:"dot",hex:"hex",non_newline:"non_newline",posix:"posix",property:"property",space:"space",word:"word"},j={flags:"flags",keep:"keep"},x={atomic:"atomic",capturing:"capturing",group:"group",lookahead:"lookahead",lookbehind:"lookbehind"},Re=new Map([["a",7],["b",8],["e",27],["f",12],["n",10],["r",13],["t",9],["v",11]]),Ue=f`\[\^?\]?`,De=`c.? | C(?:-.?)?|${f`[pP]\{(?:\^?[\x20\w]+\})?`}|${f`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${f`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${f`o\{[^\}]*\}?`}|${f`\d{1,3}`}`,Le=/[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/,ee=new RegExp(f` | ||
\\ (?: | ||
@@ -16,6 +16,6 @@ ${De} | ||
)?)? | ||
| ${Be.source} | ||
| ${Le.source} | ||
| ${Ue} | ||
| . | ||
`.replace(/\s+/g,""),"gsu"),Ce=new RegExp(f` | ||
`.replace(/\s+/g,""),"gsu"),me=new RegExp(f` | ||
\\ (?: | ||
@@ -29,32 +29,4 @@ ${De} | ||
| . | ||
`.replace(/\s+/g,""),"gsu");function H(e,t=""){if(typeof e!="string")throw new Error("String expected as pattern");if(!/^[imx]*$/.test(t))throw new Error(`Flags "${t}" unsupported in Oniguruma`);let r=[t.includes("x")],s={getCurrentModX:()=>r.at(-1),numOpenGroups:0,popModX(){r.pop()},pushModX(u){r.push(u)},replaceCurrentModX(u){r[r.length-1]=u}},n=[],o;for(Y.lastIndex=0;o=Y.exec(e);){let u=Dt(s,e,o[0],Y.lastIndex);u.tokens?n.push(...u.tokens):u.token&&n.push(u.token),u.lastIndex!==void 0&&(Y.lastIndex=u.lastIndex)}let a=[],i=0;n.forEach(u=>{u.type===g.GroupOpen&&(u.kind===_.capturing?(i++,u.number=i):u.raw==="("&&a.push(u))}),i||a.forEach((u,p)=>{u.kind=_.capturing,u.number=p+1});let c=i||a.length;return n=n.map(u=>u.type===g.EscapedNumber?zt(u,c):u).flat(),{tokens:n,flags:{ignoreCase:t.includes("i"),dotAll:t.includes("m"),extended:t.includes("x")}}}function Dt(e,t,r,s){let[n,o,a]=r;if(n==="["){let i=Bt(t,r,s);return{tokens:i.tokens,lastIndex:i.lastIndex}}if(n==="\\"){if("AbBGzZ".includes(o))return{token:m(g.Assertion,r,{kind:r})};if(/^\\g[<']/.test(r)){if(!/^\\g(?:<[^>]+>|'[^']+')$/.test(r))throw new Error(`Invalid group name "${r}"`);return{token:m(g.Subroutine,r)}}if(/^\\k[<']/.test(r)){if(!/^\\k(?:<[^>]+>|'[^']+')$/.test(r))throw new Error(`Invalid group name "${r}"`);return{token:m(g.Backreference,r)}}if(o==="K")return{token:m(g.Directive,r,{kind:K.keep})};if(o==="N")return{token:m(g.CharacterSet,r,{kind:A.non_newline})};if(o==="O")return{token:m(g.CharacterSet,r,{kind:A.any})};if("RX".includes(o))return{token:m(g.VariableLengthCharacterSet,r,{kind:r})};if("yY".includes(o))throw new Error(`Unsupported grapheme boundary "${r}"`);let i=Ve(r,{inCharClass:!1});return Array.isArray(i)?{tokens:i}:{token:i}}if(n==="("){if(a==="#"){if(t[s]!==")")throw new Error('Unclosed comment group "(?#"');return{lastIndex:s+1}}if("-imx".includes(a))return{token:Kt(r,e)};if(e.pushModX(e.getCurrentModX()),e.numOpenGroups++,r==="("||r==="(?:")return{token:m(g.GroupOpen,r,{kind:_.group})};if(r==="(?>")return{token:m(g.GroupOpen,r,{kind:_.atomic})};if(r==="(?="||r==="(?!"||r==="(?<="||r==="(?<!")return{token:m(g.GroupOpen,r,{kind:a==="<"?_.lookbehind:_.lookahead,negate:r.endsWith("!")})};if(a==="<"||a==="'")return{token:m(g.GroupOpen,r,{kind:_.capturing,name:r.slice(3,-1)})};throw a==="("?new Error(`Unsupported conditional "${r}"`):a==="~"?new Error(`Unsupported absence operator "${r}"`):r==="(?"?new Error("Invalid group"):new Error(`Unexpected group "${r}"`)}if(r===")"){if(e.popModX(),e.numOpenGroups--,e.numOpenGroups<0)throw new Error('Unmatched ")"');return{token:m(g.GroupClose,r)}}if(r==="#"&&e.getCurrentModX()){let i=t.indexOf(` | ||
`,s);return{lastIndex:i===-1?t.length:i}}if(/^\s$/.test(r)&&e.getCurrentModX()){let i=/\s+/y;return i.lastIndex=s,{lastIndex:i.exec(t)?i.lastIndex:s}}return r==="."?{token:m(g.CharacterSet,r,{kind:A.dot})}:r==="^"||r==="$"?{token:m(g.Assertion,r,{kind:r})}:r==="|"?{token:m(g.Alternator,r)}:Be.test(r)?{token:Ht(r)}:(je(r),{token:m(g.Character,r,{value:r.codePointAt(0)})})}function Bt(e,t,r){Me(t);let s=[m(g.CharacterClassOpen,t,{negate:t[1]==="^"})],n=1,o;for(Ce.lastIndex=r;o=Ce.exec(e);){let a=o[0];if(a[0]==="["&&a[1]!==":")Me(a),n++,s.push(m(g.CharacterClassOpen,a,{negate:a[1]==="^"}));else if(a==="]"){if(n--,s.push(m(g.CharacterClassClose,a)),!n)break}else{let i=Vt(a);Array.isArray(i)?s.push(...i):s.push(i)}}return{tokens:s,lastIndex:Ce.lastIndex||e.length}}function Vt(e){if(e[0]==="\\")return Ve(e,{inCharClass:!0});if(e[0]==="["){let t=/\[:(?<negate>\^?)(?<name>[a-z]+):\]/.exec(e);if(!t||!J.get(t.groups.name))throw new Error(`Invalid POSIX class "${e}"`);return m(g.CharacterSet,e,{kind:A.posix,negate:!!t.groups.negate,value:t.groups.name})}return e==="-"?m(g.CharacterClassHyphen,e):e==="&&"?m(g.CharacterClassIntersector,e):(je(e),m(g.Character,e,{value:e.codePointAt(0)}))}function Ve(e,{inCharClass:t}){let r=e[1];if(r==="c"||r==="C")return jt(e);if("dDhHsSwW".includes(r))return Qt(e);if(e.startsWith(f`\o{`))throw new Error(`Incomplete, invalid, or unsupported octal code point "${e}"`);if(/^\\[pP]\{/.test(e)){if(e.length===3)throw new Error("Incomplete or invalid Unicode property");return Wt(e)}if(/^\\x[89A-Fa-f]\p{AHex}/u.test(e))try{let s=e.split(/\\x/).slice(1).map(i=>parseInt(i,16)),n=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}).decode(new Uint8Array(s)),o=new TextEncoder;return[...n].map(i=>{let c=[...o.encode(i)].map(u=>`\\x${u.toString(16)}`).join("");return m(g.Character,c,{value:i.codePointAt(0)})})}catch{throw new Error(`Too short or invalid multibyte code "${e}"`)}if(r==="u"||r==="x")return m(g.Character,e,{value:qt(e)});if(Te.has(r))return m(g.Character,e,{value:Te.get(r)});if(/\d/.test(r))return m(g.EscapedNumber,e,{inCharClass:t});if(e==="\\")throw new Error(f`Incomplete escape "\"`);if(r==="M")throw new Error(`Unsupported meta "${e}"`);if([...e].length===2)return m(g.Character,e,{value:e.codePointAt(1)});throw new Error(`Unexpected escape "${e}"`)}function m(e,t,r){return{type:e,raw:t,...r}}function jt(e){let t=e[1]==="c"?e[2]:e[3];if(!t||!/[A-Za-z]/.test(t))throw new Error(`Unsupported control character "${e}"`);return m(g.Character,e,{value:t.toUpperCase().codePointAt(0)-64})}function Kt(e,t){let{on:r,off:s}=/^\(\?(?<on>[imx]*)(?:-(?<off>[imx\-]*))?/.exec(e).groups;s??="";let n=(t.getCurrentModX()||r.includes("x"))&&!s.includes("x"),o=Oe(r),a=Oe(s),i={};if(o&&(i.enable=o),a&&(i.disable=a),e.endsWith(")"))return t.replaceCurrentModX(n),m(g.Directive,e,{kind:K.flags,flags:i});if(e.endsWith(":")){t.pushModX(n),t.numOpenGroups++;let c=m(g.GroupOpen,e,{kind:_.group});return(o||a)&&(c.flags=i),c}throw new Error(`Unexpected flag modifier "${e}"`)}function Ht(e){let t={};if(e[0]==="{"){let{min:r,max:s}=/^\{(?<min>\d*)(?:,(?<max>\d*))?/.exec(e).groups,n=1e5;if(+r>n||+s>n)throw new Error("Quantifier value unsupported in Oniguruma");t.min=+r,t.max=s===void 0?+r:s===""?1/0:+s,t.greedy=!e.endsWith("?"),t.possessive=!1}else t.min=e[0]==="+"?1:0,t.max=e[0]==="?"?1:1/0,t.greedy=e[1]!=="?",t.possessive=e[1]==="+";return m(g.Quantifier,e,t)}function Qt(e){let t=e[1].toLowerCase();return m(g.CharacterSet,e,{kind:{d:A.digit,h:A.hex,s:A.space,w:A.word}[t],negate:e[1]!==t})}function Wt(e){let{p:t,neg:r,value:s}=/^\\(?<p>[pP])\{(?<neg>\^?)(?<value>[ \w]+)/.exec(e).groups,n=t==="P"&&!r||t==="p"&&!!r;return m(g.CharacterSet,e,{kind:A.property,negate:n,value:s})}function Oe(e){let t={};return e.includes("i")&&(t.ignoreCase=!0),e.includes("m")&&(t.dotAll=!0),e.includes("x")&&(t.extended=!0),Object.keys(t).length?t:null}function qt(e){if(/^(?:\\u(?!\p{AHex}{4})|\\x(?!\p{AHex}{1,2}|\{\p{AHex}{1,8}\}))/u.test(e))throw new Error(`Incomplete or invalid escape "${e}"`);let t=e[2]==="{"?/^\\x\{\s*(?<hex>\p{AHex}+)/u.exec(e).groups.hex:e.slice(2),r=parseInt(t,16);if(r>1310719)throw new Error(`Invalid out of range "${e}"`);if(r>1114111)throw new Error(`Invalid out of range in JS "${e}"`);return r}function zt(e,t){let{raw:r,inCharClass:s}=e,n=r.slice(1);if(!s&&(n!=="0"&&n.length===1||n[0]!=="0"&&+n<=t))return[m(g.Backreference,r)];let o=[],a=n.match(/^[0-7]+|\d/g);for(let i=0;i<a.length;i++){let c=a[i],u;if(i===0&&c!=="8"&&c!=="9"){if(u=parseInt(c,8),u>127)throw new Error(f`Octal encoded byte above 177 unsupported "${r}"`)}else u=c.codePointAt(0);o.push(m(g.Character,(i===0?"\\":"")+c,{value:u}))}return o}function Me(e){if(e.endsWith("]"))throw new Error(`Empty character class "${e}" unsupported in Oniguruma`)}function je(e){if([...e].length!==1)throw new Error(`Expected "${e}" to be a single code point`)}function N(e,t,r){let s=e.node;for(;s.parent;)s=s.parent;function n(a,i){for(let c=0;c<a.length;c++){let u=o(a[c],i,c,a);c=Math.max(-1,c+u)}}function o(a,i=null,c=null,u=null){let p=0,C=!1,d={node:a,parent:i,key:c,container:u,ast:s,remove(){x(u,"Container expected").splice(Math.max(0,c+p),1),p-=1},removeAllNextSiblings(){return x(u,"Container expected").splice(c+1)},removeAllPrevSiblings(){let b=c+p;return p-=b,x(u,"Container expected").splice(0,Math.max(0,b))},replaceWith(b){Xt(b,i),u?u[Math.max(0,c+p)]=b:i[c]=b},skip(){C=!0}},h=Ke(a).find(b=>!!r[b]),S=h&&r[h],L=typeof S=="function"?S:S?.enter,T=S?.exit;if(L?.(d,t),!C)switch(a.type){case l.Regex:o(a.pattern,a,"pattern"),o(a.flags,a,"flags");break;case l.Alternative:case l.CharacterClass:n(a.elements,a);break;case l.Assertion:$(a)&&n(a.alternatives,a);break;case l.Backreference:case l.Character:case l.CharacterSet:case l.Directive:case l.Flags:case l.Recursion:case l.Subroutine:case l.VariableLengthCharacterSet:break;case l.CapturingGroup:case l.Group:case l.Pattern:n(a.alternatives,a);break;case l.CharacterClassIntersection:n(a.classes,a);break;case l.CharacterClassRange:o(a.min,a,"min"),o(a.max,a,"max");break;case l.Quantifier:o(a.element,a,"element");break;default:throw new Error(`Unexpected node type "${a.type}"`)}return T?.(d,t),p}o(e.node,e.parent,e.key,e.container)}function Xt(e,t){"parent"in t&&(e.parent=t)}var l={Alternative:"Alternative",Assertion:"Assertion",Backreference:"Backreference",CapturingGroup:"CapturingGroup",Character:"Character",CharacterClass:"CharacterClass",CharacterClassIntersection:"CharacterClassIntersection",CharacterClassRange:"CharacterClassRange",CharacterSet:"CharacterSet",Directive:"Directive",Flags:"Flags",Group:"Group",Pattern:"Pattern",Quantifier:"Quantifier",Regex:"Regex",Subroutine:"Subroutine",VariableLengthCharacterSet:"VariableLengthCharacterSet",Recursion:"Recursion"},He={AnyGroup:"AnyGroup",AnyNode:"AnyNode"};function Ke(e){let{type:t}=e,r=[He.AnyNode];return($(e)||t===l.CapturingGroup||t===l.Group)&&r.push(He.AnyGroup),r.push(t),r}var E={line_end:"line_end",line_start:"line_start",lookahead:"lookahead",lookbehind:"lookbehind",search_start:"search_start",string_end:"string_end",string_end_newline:"string_end_newline",string_start:"string_start",word_boundary:"word_boundary"},k=A,W=K,Q={grapheme:"grapheme",newline:"newline"};function q({tokens:e,flags:t},r){let s={skipBackrefValidation:!1,skipPropertyNameValidation:!1,verbose:!1,...r},n={capturingGroups:[],current:0,hasNumberedRef:!1,namedGroupsByName:new Map,parent:null,skipBackrefValidation:s.skipBackrefValidation,skipPropertyNameValidation:s.skipPropertyNameValidation,subroutines:[],token:null,tokens:e,verbose:s.verbose,walk:o};function o(d,h){let S=e[n.current];switch(n.parent=d,n.token=S,n.current++,S.type){case g.Alternator:return P();case g.Assertion:return qe(S);case g.Backreference:return Zt(n);case g.Character:return ze(S.value);case g.CharacterClassHyphen:return Jt(n,h);case g.CharacterClassOpen:return Yt(n,h);case g.CharacterSet:return er(n);case g.Directive:return ir(S);case g.GroupOpen:return tr(n,h);case g.Quantifier:return rr(n);case g.Subroutine:return nr(n);case g.VariableLengthCharacterSet:return gr(S.kind);default:throw new Error(`Unexpected token type "${S.type}"`)}}let a=pr(ur(),cr(t)),i=a.pattern.alternatives[0];for(;n.current<e.length;){let d=o(i,{});d.type===l.Alternative?(a.pattern.alternatives.push(d),i=d):i.elements.push(d)}let{capturingGroups:c,hasNumberedRef:u,namedGroupsByName:p,subroutines:C}=n;if(u&&p.size)throw new Error("Numbered backref/subroutine not allowed when using named capture");for(let{ref:d}of C)if(typeof d=="number"){if(d>c.length)throw new Error("Subroutine uses a group number that's not defined")}else if(p.has(d)){if(p.get(d).length>1)throw new Error(f`Subroutine uses a duplicate group name "\g<${d}>"`)}else throw new Error(f`Subroutine uses a group name that's not defined "\g<${d}>"`);return N({node:a},null,{AnyNode({node:d,parent:h}){d.parent=h}}),a}function Zt(e){let{raw:t}=e.token,r=/^\\k[<']/.test(t),s=r?t.slice(3,-1):t.slice(1),n=(o,a=!1)=>{let i=e.capturingGroups.length,c=!1;if(o>i)if(e.skipBackrefValidation)c=!0;else throw new Error(`Not enough capturing groups defined to the left "${t}"`);return e.hasNumberedRef=!0,ee(a?i+1-o:o,{orphan:c})};if(r){let o=/^(?<sign>-?)0*(?<num>[1-9]\d*)$/.exec(s);if(o)return n(+o.groups.num,!!o.groups.sign);if(/[-+]/.test(s))throw new Error(`Invalid backref name "${t}"`);if(!e.namedGroupsByName.has(s))throw new Error(`Group name not defined to the left "${t}"`);return ee(s)}return n(+s)}function Jt(e,t){let{parent:r,tokens:s,walk:n}=e,o=r.elements.at(-1),a=s[e.current];if(o&&o.type!==l.CharacterClass&&o.type!==l.CharacterClassRange&&a&&a.type!==g.CharacterClassOpen&&a.type!==g.CharacterClassClose&&a.type!==g.CharacterClassIntersector){let i=n(r,t);if(o.type===l.Character&&i.type===l.Character)return r.elements.pop(),or(o,i);throw new Error("Invalid character class range")}return ze(45)}function Yt(e,t){let{token:r,tokens:s,verbose:n,walk:o}=e,a=me({negate:r.negate}),i=a.elements[0],c=Qe(s[e.current]);for(;c.type!==g.CharacterClassClose;){if(c.type===g.CharacterClassIntersector)i.classes.push(me({negate:!1,baseOnly:!0})),e.current++;else{let u=i.classes.at(-1);u.elements.push(o(u,t))}c=Qe(s[e.current])}if(n||mr(i),i.classes.length===1){let u=i.classes[0];u.negate=a.negate!==u.negate,a=u}return e.current++,a}function er({token:e,skipPropertyNameValidation:t}){let{kind:r,negate:s,value:n}=e;if(r===A.property){let a=j(n);if(Re.has(a))r=A.posix,n=a;else return re(n,{negate:s,skipPropertyNameValidation:t})}let o={type:l.CharacterSet,kind:x(k[r],`Unexpected character set kind "${r}"`)};return(r===A.digit||r===A.hex||r===A.posix||r===A.space||r===A.word)&&(o.negate=s,r===A.posix&&(o.value=n)),o}function tr(e,t){let{token:r,tokens:s,capturingGroups:n,namedGroupsByName:o,verbose:a,walk:i}=e,c=sr(r);c.type===l.CapturingGroup&&(n.push(c),c.name&&M(o,c.name,[]).push(c));let u=We(s[e.current]);for(;u.type!==g.GroupClose;){if(u.type===g.Alternator)c.alternatives.push(P()),e.current++;else{let p=c.alternatives.at(-1);p.elements.push(i(p,t))}u=We(s[e.current])}return a||(c=dr(c)),e.current++,c}function rr({token:e,parent:t}){let{min:r,max:s,greedy:n,possessive:o}=e,a=t.elements.at(-1);if(!a||a.type===l.Assertion||a.type===l.Directive)throw new Error("Quantifier requires a repeatable token");let i=lr(a,r,s,n,o);return t.elements.pop(),i}function nr(e){let{token:t,capturingGroups:r,subroutines:s}=e,n=t.raw.slice(3,-1),o=/^(?<sign>[-+]?)0*(?<num>[1-9]\d*)$/.exec(n);if(o){let i=+o.groups.num,c=r.length;if(e.hasNumberedRef=!0,n={"":i,"+":c+i,"-":c+1-i}[o.groups.sign],n<1)throw new Error("Invalid subroutine number")}else n==="0"&&(n=0);let a=fr(n);return s.push(a),a}function P(){return{type:l.Alternative,elements:[]}}function qe({type:e,kind:t,negate:r}){if(e===g.GroupOpen)return te({behind:t===_.lookbehind,negate:r});let s=x({"^":E.line_start,$:E.line_end,"\\A":E.string_start,"\\b":E.word_boundary,"\\B":E.word_boundary,"\\G":E.search_start,"\\z":E.string_end,"\\Z":E.string_end_newline}[t],`Unexpected assertion kind "${t}"`),n={type:l.Assertion,kind:s};return s===E.word_boundary&&(n.negate=t===f`\B`),n}function ee(e,t){let r=!!t?.orphan;return{type:l.Backreference,...r&&{orphan:r},ref:e}}function sr(e){let{kind:t,number:r,name:s,flags:n}=e;switch(t){case _.atomic:return I({atomic:!0});case _.capturing:return Ee(r,s);case _.group:return I({flags:n});case _.lookahead:case _.lookbehind:return qe(e);default:throw new Error(`Unexpected group kind "${t}"`)}}function Ee(e,t){let r=t!==void 0;if(r&&!Cr(t))throw new Error(`Group name "${t}" invalid in Oniguruma`);return{type:l.CapturingGroup,number:e,...r&&{name:t},alternatives:[P()]}}function ze(e){return{type:l.Character,value:e}}function me(e){let t={baseOnly:!1,negate:!1,...e};return{type:l.CharacterClass,negate:t.negate,elements:t.baseOnly?[]:[ar()]}}function ar(){return{type:l.CharacterClassIntersection,classes:[me({negate:!1,baseOnly:!0})]}}function or(e,t){if(t.value<e.value)throw new Error("Character class range out of order");return{type:l.CharacterClassRange,min:e,max:t}}function ir({kind:e,flags:t}){let r={type:l.Directive,kind:x(W[e],`Unexpected directive kind "${e}"`)};return e===K.flags&&(r.flags=t),r}function cr({ignoreCase:e,dotAll:t,extended:r}){return{type:l.Flags,ignoreCase:e,dotAll:t,extended:r}}function I(e){let t=e?.atomic,r=e?.flags;return{type:l.Group,...t&&{atomic:t},...r&&{flags:r},alternatives:[P()]}}function te(e){let t={behind:!1,negate:!1,...e};return{type:l.Assertion,kind:t.behind?E.lookbehind:E.lookahead,negate:t.negate,alternatives:[P()]}}function ur(){return{type:l.Pattern,alternatives:[P()]}}function lr(e,t,r,s,n){if(r<t)throw new Error("Quantifier range out of order");return{type:l.Quantifier,min:t,max:r,greedy:s,possessive:n,element:e}}function pr(e,t){return{type:l.Regex,pattern:e,flags:t}}function fr(e){return{type:l.Subroutine,ref:e}}function re(e,t){let r={negate:!1,skipPropertyNameValidation:!1,...t};return{type:l.CharacterSet,kind:k.property,value:r.skipPropertyNameValidation?e:hr(e),negate:r.negate}}function gr(e){return{type:l.VariableLengthCharacterSet,kind:x({"\\R":Q.newline,"\\X":Q.grapheme}[e],`Unexpected varcharset kind "${e}"`)}}function hr(e){let t=j(e);if(he.has(t))throw new Error(f`Unicode property "\p{${e}}" unsupported in Oniguruma`);let r=ge.get(t);return r||e.trim().replace(/\s+/g,"_").replace(/[A-Z][a-z]+(?=[A-Z])/g,"$&_").replace(/[A-Za-z]+/g,s=>s[0].toUpperCase()+s.slice(1).toLowerCase())}function dr(e){let t=e.alternatives[0].elements[0];return e.type===l.Group&&B(e,r=>r.type===l.Group)&&!(e.atomic&&t.flags)&&!(e.flags&&(t.atomic||t.flags))?(e.atomic?t.atomic=!0:e.flags&&(t.flags=e.flags),t):e}function $({type:e,kind:t}){return e===l.Assertion&&(t===E.lookahead||t===E.lookbehind)}function Cr(e){return!/^(?:[-\d]|$)/.test(e)}function mr(e){for(let t=0;t<e.classes.length;t++){let r=e.classes[t],s=r.elements[0];r.elements.length===1&&s.type===l.CharacterClass&&(e.classes[t]=s,s.negate=r.negate!==s.negate)}}function Qe(e){return x(e,"Unclosed character class")}function We(e){return x(e,"Unclosed group")}function Xe(e){let t=e.pattern.alternatives,r=t[0].elements[0];if(t.length>1||!r)return null;let s=B(e.pattern,a=>a.type===l.CapturingGroup||a.type===l.Group)&&r.alternatives.length===1,n=s?r.alternatives[0]:t[0],o=s?n.elements[0]:r;if(!o)return null;if((o.type===l.CapturingGroup||o.type===l.Group)&&o.alternatives.length===2&&o.alternatives[0].elements.length===1&&o.alternatives[1].elements.length===1){let a=o.alternatives[0].elements[0],i=o.alternatives[1].elements[0];if(a.kind===E.line_start&&i.kind===E.search_start||a.kind===E.search_start&&i.kind===E.line_start)return a.kind===E.line_start?o.alternatives.pop():o.alternatives.shift(),"line_or_search_start"}if(ne(o,{negate:!0}))return o.parent.elements.shift(),"not_search_start";for(let a=0;a<n.elements.length;a++){let i=n.elements[a];if(!we(i))break;if(ne(i,{negate:!0}))return n.elements.splice(a,1),"not_search_start"}return null}function ne(e,t){return $(e)&&e.negate===t.negate&&B(e,r=>r.kind===E.search_start)}function we(e){return e.type===l.Assertion||e.type===l.Directive||e.type===l.Quantifier&&!e.min}var Se=String.raw,Ze=Se`(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})`,Je=Se`\u{E0061}-\u{E007A}`,Ye=()=>new RegExp(Se`[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[${Je}]{2}[\u{E0030}-\u{E0039}${Je}]{1,3}\u{E007F}|${Ze}(?:\u200D${Ze})*`,"gu");function tt(e,t){let r={accuracy:"default",avoidSubclass:!1,bestEffortTarget:"ES2025",...t},s=r.avoidSubclass?null:Xe(e),n={accuracy:r.accuracy,flagDirectivesByAlt:new Map,minTargetEs2024:V(r.bestEffortTarget,"ES2024"),subroutineRefMap:new Map,supportedGNodes:new Set};N({node:e},n,rt);let o={dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},a={currentFlags:o,prevFlags:null,globalFlags:o,groupOriginByCopy:new Map,groupsByName:new Map,multiplexCapturesToLeftByRef:new Map,openRefs:new Map,reffedNodesByReferencer:new Map,subroutineRefMap:n.subroutineRefMap};N({node:e},a,nt);let i={groupsByName:a.groupsByName,highestOrphanBackref:0,numCapturesToLeft:0,reffedNodesByReferencer:a.reffedNodesByReferencer};return N({node:e},i,Er),s&&(e._strategy=s),e}var rt={Alternative:{enter({node:e,parent:t,key:r},{flagDirectivesByAlt:s}){let n=e.elements.filter(o=>o.kind===W.flags);for(let o=r+1;o<t.alternatives.length;o++){let a=t.alternatives[o];M(s,a,[]).push(...n)}},exit({node:e},{flagDirectivesByAlt:t}){if(t.get(e)?.length){let r=ot(t.get(e));if(r){let s=z(I({flags:r}),e.elements);s.parent=e,e.elements=[s]}}}},Assertion({node:e,ast:t,remove:r,replaceWith:s},{accuracy:n,supportedGNodes:o}){let{kind:a,negate:i}=e;if(a===E.line_end)s(F(f`(?=\z|\n)`));else if(a===E.line_start)s(F(f`(?<=\A|\n)`));else if(a===E.search_start){if(!o.has(e)&&n!=="loose")throw new Error(f`Uses "\G" in a way that's unsupported`);t.flags.sticky=!0,r()}else if(a===E.string_end_newline)s(F(f`(?=\n?\z)`));else if(a===E.word_boundary){let c=f`[\p{L}\p{N}\p{Pc}]`,u=`(?:(?<=${c})(?!${c})|(?<!${c})(?=${c}))`,p=`(?:(?<=${c})(?=${c})|(?<!${c})(?!${c}))`;s(F(i?p:u))}},CapturingGroup({node:e},{subroutineRefMap:t}){let{name:r,number:s}=e;if(r&&!_r(r))throw new Error(`Group name "${r}" invalid in JS`);t.set(r??s,e)},CharacterSet({node:e,replaceWith:t},{accuracy:r,minTargetEs2024:s}){let{kind:n,negate:o,value:a}=e;if(n===k.any)t(re("Any"));else if(n===k.hex)t(re("AHex",{negate:o}));else if(n===k.non_newline)t(F(f`[^\n]`));else if(n===k.posix)if(!s&&(a==="graph"||a==="print")){if(r==="strict")throw new Error(`POSIX class "${a}" requires min target ES2024 or non-strict accuracy`);let i={graph:"!-~",print:" -~"}[a];o&&(i=`\0-${w(i.codePointAt(0)-1)}${w(i.codePointAt(2)+1)}-\u{10FFFF}`),t(F(`[${i}]`))}else{let i=F(J.get(a));i.negate=o,t(i)}else if(n===k.property)fe.has(a)||(e.key="sc");else if(n===k.space){let i=F(`[ | ||
\v\f\r]`);i.negate=o,t(i)}},Directive(e,t){let{node:r,parent:s,ast:n,remove:o,replaceWith:a,removeAllPrevSiblings:i,removeAllNextSiblings:c}=e,{kind:u,flags:p}=r;if(u===W.flags)if(!p.enable&&!p.disable)o();else{let C=z(I({flags:p}),c());a(C),lt(C,e,t,rt)}else if(u===W.keep){if(s.parent!==n.pattern||n.pattern.alternatives.length>1)throw new Error(f`Uses "\K" in a way that's unsupported`);a(z(te({behind:!0}),i()))}},Flags({node:e,parent:t}){delete e.extended,Object.assign(e,{global:!1,hasIndices:!1,multiline:!1,sticky:e.sticky??!1}),t.options={disable:{x:!0,n:!0},force:{v:!0}}},Group({node:e}){if(!e.flags)return;let{enable:t,disable:r}=e.flags;t?.extended&&delete t.extended,r?.extended&&delete r.extended,t?.dotAll&&r?.dotAll&&delete t.dotAll,t?.ignoreCase&&r?.ignoreCase&&delete t.ignoreCase,t&&!Object.keys(t).length&&delete e.flags.enable,r&&!Object.keys(r).length&&delete e.flags.disable,!e.flags.enable&&!e.flags.disable&&delete e.flags},Pattern({node:e},{accuracy:t,supportedGNodes:r}){let s=[],n=!1,o=!1;for(let a of e.alternatives){let i=ct(a.elements);i?(n=!0,Array.isArray(i)?s.push(...i):s.push(i)):o=!0}if(n&&o&&t!=="loose")throw new Error(f`Uses "\G" in a way that's unsupported`);s.forEach(a=>r.add(a))},Quantifier({node:e}){if(e.element.type===l.Quantifier){let t=z(I(),[e.element]);t.parent=e,e.element=t}},VariableLengthCharacterSet({node:e,replaceWith:t},{accuracy:r,minTargetEs2024:s}){let{kind:n}=e;if(n===Q.newline)t(F(`(?>\r | ||
?|[ | ||
\v\f\x85\u2028\u2029])`));else if(n===Q.grapheme){if(r==="strict")throw new Error(f`Use of "\X" requires non-strict accuracy`);let o=s?f`\p{RGI_Emoji}`:Ye().source.replace(/\\u\{/g,"\\x{");t(F(f`(?>\r\n|${o}|\P{M}\p{M}*)`,{skipPropertyNameValidation:!0}))}else throw new Error(`Unexpected varcharset kind "${n}"`)}},nt={Backreference({node:e},{multiplexCapturesToLeftByRef:t,reffedNodesByReferencer:r}){let{orphan:s,ref:n}=e;s||r.set(e,[...t.get(n).map(({node:o})=>o)])},Recursion({node:e},{reffedNodesByReferencer:t}){let{ref:r}=e,s=e.parent;for(;(s=s.parent)&&!(s.type===l.CapturingGroup&&(s.name===r||s.number===r)););t.set(e,s)},CapturingGroup:{enter({node:e,replaceWith:t,skip:r},{groupOriginByCopy:s,groupsByName:n,multiplexCapturesToLeftByRef:o,openRefs:a,reffedNodesByReferencer:i}){let c=s.get(e),u=e.name??e.number;if(c&&a.has(u)){let C=et(u);i.set(C,a.get(u)),t(C),r();return}a.set(u,e);let p=M(o,u,[]);for(let C=0;C<p.length;C++){let d=p[C];if(c===d.node||c&&c===d.origin||e===d.origin){p.splice(C,1);break}}if(p.push({node:e,origin:c}),e.name){let C=M(n,e.name,new Map);for(let d of C.values())!d.hasDuplicateNameToRemove&&st(d.node,e,{ancestorsParticipate:!0})&&(d.hasDuplicateNameToRemove=!0);n.get(e.name).set(e,{node:e})}},exit({node:e},{openRefs:t}){t.delete(e.name??e.number)}},Group:{enter({node:e},t){t.prevFlags=t.currentFlags,e.flags&&(t.currentFlags=O(t.currentFlags,e.flags))},exit(e,t){t.currentFlags=t.prevFlags}},Subroutine(e,t){let{node:r,replaceWith:s}=e,{ref:n}=r,o=t.subroutineRefMap.get(n),a=n===0,i=a?et(n):at(o,t.groupOriginByCopy,null),c=i;if(!a){let u=ot(Sr(o,C=>C.type===l.Group&&!!C.flags)),p=u?O(t.globalFlags,u):t.globalFlags;wr(p,t.currentFlags)||(c=z(I({flags:Ar(p)}),[i]))}s(c),a||lt(c,e,t,nt)}},Er={Backreference({node:e,replaceWith:t},r){if(e.orphan){r.highestOrphanBackref=Math.max(r.highestOrphanBackref,e.ref);return}let n=r.reffedNodesByReferencer.get(e).filter(o=>st(o,e,{ancestorsParticipate:!1}));if(!n.length)t(te({negate:!0}));else if(n.length>1){let o=n.map(a=>se(P(),[ee(a.number)]));t(se(I(),o))}else e.ref=n[0].number},CapturingGroup({node:e},t){e.number=++t.numCapturesToLeft,e.name&&t.groupsByName.get(e.name).get(e).hasDuplicateNameToRemove&&delete e.name},Recursion({node:e},t){e.ref!==0&&(e.ref=t.reffedNodesByReferencer.get(e).number)},Regex:{exit({node:e},t){let r=Math.max(t.highestOrphanBackref-t.numCapturesToLeft,0);for(let s=0;s<r;s++){let n=Ee();e.pattern.alternatives.at(-1).elements.push(n)}}}};function se(e,t){return t.forEach(r=>r.parent=e),e[Ae(e)]=t,e}function wr(e,t){return e.dotAll===t.dotAll&&e.ignoreCase===t.ignoreCase}function st(e,t,{ancestorsParticipate:r}){let s=t;do{if(s.type===l.Pattern)return!1;if(s.type===l.Alternative)continue;if(s===e)return r;let n=it(s.parent);for(let o of n){if(o===s)break;if(o===e||ut(o,e))return!0}}while(s=s.parent);throw new Error("Unexpected path")}function at(e,t,r,s){let n=Array.isArray(e)?[]:{};for(let[o,a]of Object.entries(e))o==="parent"?n.parent=Array.isArray(r)?s:r:a&&typeof a=="object"?n[o]=at(a,t,n,r):(o==="type"&&a===l.CapturingGroup&&t.set(n,t.get(e)??e),n[o]=a);return n}function et(e){return{type:l.Recursion,ref:e}}function Sr(e,t){let r=[];for(;e=e.parent;)(!t||t(e))&&r.push(e);return r}function Ae(e){for(let t of["alternatives","classes","elements"])if(e[t])return t;return null}function ot(e){let t=["dotAll","ignoreCase"],r={enable:{},disable:{}};return e.forEach(({flags:s})=>{t.forEach(n=>{s.enable?.[n]&&(delete r.disable[n],r.enable[n]=!0),s.disable?.[n]&&(r.disable[n]=!0)})}),Object.keys(r.enable).length||delete r.enable,Object.keys(r.disable).length||delete r.disable,r.enable||r.disable?r:null}function Ar({dotAll:e,ignoreCase:t}){let r={};return(e||t)&&(r.enable={},e&&(r.enable.dotAll=!0),t&&(r.enable.ignoreCase=!0)),(!e||!t)&&(r.disable={},!e&&(r.disable.dotAll=!0),!t&&(r.disable.ignoreCase=!0)),r}function it(e){if(!e)throw new Error("Node expected");if(e.type===l.Quantifier)return[e.element];let t=Ae(e);return t&&e[t]}function ct(e){let t=e.find(r=>r.kind===E.search_start||ne(r,{negate:!1})||!we(r));if(!t)return null;if(t.kind===E.search_start)return t;if($(t))return t.alternatives[0].elements[0];if(t.type===l.Group||t.type===l.CapturingGroup){let r=[];for(let s of t.alternatives){let n=ct(s.elements);if(!n)return null;Array.isArray(n)?r.push(...n):r.push(n)}return r}return null}function ut(e,t){let r=it(e)??[];for(let s of r)if(s===t||ut(s,t))return!0;return!1}function _r(e){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(e)}function F(e,t){let r=!!t?.skipPropertyNameValidation,n=q(H(e),{skipPropertyNameValidation:r}).pattern.alternatives;return n.length>1||n[0].elements.length>1?se(I(),n):n[0].elements[0]}function z(e,t){let r=Ae(e);return e[r][0].parent=e,t&&se(e[r][0],t),e}function lt(e,{parent:t,key:r,container:s},n,o){N({node:e,parent:t,key:r,container:s},n,o)}function ft(e,t){let r=Z(t),s=V(r.target,"ES2024"),n=V(r.target,"ES2025"),o=r.maxRecursionDepth;if(o!==null&&(!Number.isInteger(o)||o<2||o>100))throw new Error("Invalid maxRecursionDepth; use 2-100 or null");let a=null,i=null;if(!n){let h=[e.flags.ignoreCase];N({node:e},{getCurrentModI:()=>h.at(-1),popModI(){h.pop()},pushModI(S){h.push(S)},setHasCasedChar(){h.at(-1)?a=!0:i=!0}},kr)}let c={dotAll:e.flags.dotAll,ignoreCase:!!((e.flags.ignoreCase||a)&&!i)},u=null,p={accuracy:r.accuracy,appliedGlobalFlags:c,captureFlagIMap:new Map,currentFlags:{dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},groupNames:new Set,inCharClass:!1,lastNode:u,maxRecursionDepth:o,useAppliedIgnoreCase:!!(!n&&a&&i),useDuplicateNames:n,useFlagMods:n,useFlagV:s,usePostEs2018Properties:s,verbose:r.verbose};function C(h){switch(p.lastNode=u,u=h,h.type){case l.Regex:return{pattern:C(h.pattern),flags:C(h.flags),options:{...h.options}};case l.Alternative:return h.elements.map(C).join("");case l.Assertion:return Nr(h,p,C);case l.Backreference:return $r(h,p);case l.CapturingGroup:return Ir(h,p,C);case l.Character:return vr(h,p);case l.CharacterClass:return Pr(h,p,C);case l.CharacterClassIntersection:if(!p.useFlagV)throw new Error("Use of class intersection requires min target ES2024");return h.classes.map(C).join("&&");case l.CharacterClassRange:return Gr(h,p);case l.CharacterSet:return Lr(h,p);case l.Flags:return Rr(h,p);case l.Group:return Tr(h,p,C);case l.Pattern:return h.alternatives.map(C).join("|");case l.Quantifier:return C(h.element)+Dr(h);case l.Recursion:return Or(h,p);default:throw new Error(`Unexpected node type "${h.type}"`)}}let d=C(e);return s||(delete d.options.force.v,d.options.disable.v=!0,d.options.unicodeSetsPlugin=null),d}var kr={AnyGroup:{enter({node:e},t){let r=t.getCurrentModI();t.pushModI(e.flags?O({ignoreCase:r},e.flags).ignoreCase:r)},exit(e,t){t.popModI()}},Backreference(e,t){t.setHasCasedChar()},Character({node:e},t){_e(w(e.value))&&t.setHasCasedChar()},CharacterClassRange({node:e,skip:t},r){t(),gt(e,{firstOnly:!0}).length&&r.setHasCasedChar()},CharacterSet({node:e},t){e.kind===k.property&&de.has(e.value)&&t.setHasCasedChar()}},yr=new Set(["$","(",")","*","+",".","?","[","\\","]","^","{","|","}"]),br=new Set(["-","\\","]","^"]),xr=new Set(["(",")","-","/","[","\\","]","^","{","|","}","!","#","$","%","&","*","+",",",".",":",";","<","=",">","?","@","`","~"]),pt=new Map([[9,f`\t`],[10,f`\n`],[11,f`\v`],[12,f`\f`],[13,f`\r`],[8232,f`\u2028`],[8233,f`\u2029`],[65279,f`\uFEFF`]]),Fr=/^\p{Cased}$/u;function _e(e){return Fr.test(e)}function Nr(e,t,r){let{kind:s,negate:n,alternatives:o}=e;if($(e))return`(?${`${s===E.lookahead?"":"<"}${n?"!":"="}`}${o.map(r).join("|")})`;if(s===E.string_end)return"$";if(s===E.string_start)return"^";throw new Error(`Unexpected assertion kind "${s}"`)}function $r({ref:e},t){if(typeof e!="number")throw new Error("Unexpected named backref in transformed AST");if(!t.useFlagMods&&t.accuracy==="strict"&&t.currentFlags.ignoreCase&&!t.captureFlagIMap.get(e))throw new Error("Use of case-insensitive backref to case-sensitive group requires target ES2025 or non-strict accuracy");return"\\"+e}function Ir({name:e,number:t,alternatives:r},s,n){return e&&(s.groupNames.has(e)?s.useDuplicateNames||(e=null):s.groupNames.add(e)),s.captureFlagIMap.set(t,s.currentFlags.ignoreCase),`(${e?`?<${e}>`:""}${r.map(n).join("|")})`}function vr({value:e},t){let r=w(e),s=U(e,{isAfterBackref:t.lastNode.type===l.Backreference,inCharClass:t.inCharClass,useFlagV:t.useFlagV});if(s!==r)return s;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&_e(r)){let n=pe(r);return t.inCharClass?n.join(""):n.length>1?`[${n.join("")}]`:n[0]}return r}function Pr({negate:e,parent:t,elements:r},s,n){if(!e&&(!s.useFlagV||!s.verbose)&&t.type===l.CharacterClass&&r[0].type!==l.CharacterClassIntersection||!s.verbose&&t.type===l.CharacterClassIntersection&&r.length===1&&r[0].type!==l.CharacterClassRange)return r.map(n).join("");if(!s.useFlagV&&t.type===l.CharacterClass)throw new Error("Use of nested character class requires min target ES2024");s.inCharClass=!0;let o=`[${e?"^":""}${r.map(n).join("")}]`;return s.inCharClass=!1,o}function Gr(e,t){let r=e.min.value,s=e.max.value,n={isAfterBackref:!1,inCharClass:!0,useFlagV:t.useFlagV},o=U(r,n),a=U(s,n),i="";if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase){let c=gt(e);Mr(c).forEach(p=>{i+=Array.isArray(p)?`${U(p[0],n)}-${U(p[1],n)}`:U(p,n)})}return`${o}-${a}${i}`}function Lr({kind:e,negate:t,value:r,key:s},n){if(e===k.dot)return n.currentFlags.dotAll?n.appliedGlobalFlags.dotAll||n.useFlagMods?".":"[^]":f`[^\n]`;if(e===k.digit)return t?f`\D`:f`\d`;if(e===k.property){if(!n.usePostEs2018Properties&&Le.has(r))throw new Error(`Unicode property "${r}" unavailable in target ES2018`);if(n.useAppliedIgnoreCase&&n.currentFlags.ignoreCase&&de.has(r))throw new Error(`Unicode property "${r}" can't be case-insensitive when other chars have specific case`);return`${t?f`\P`:f`\p`}{${s?`${s}=`:""}${r}}`}if(e===k.word)return t?f`\W`:f`\w`;throw new Error(`Unexpected character set kind "${e}"`)}function Rr(e,t){return(t.appliedGlobalFlags.ignoreCase?"i":"")+(e.dotAll?"s":"")+(e.sticky?"y":"")}function Tr({atomic:e,flags:t,parent:r,alternatives:s},n,o){let a=n.currentFlags;t&&(n.currentFlags=O(a,t));let i=s.map(o).join("|"),c=!n.verbose&&s.length===1&&r.type!==l.Quantifier&&!e&&(!n.useFlagMods||!t)?i:`(?${Ur(e,t,n.useFlagMods)}${i})`;return n.currentFlags=a,c}function Or({ref:e},t){let r=t.maxRecursionDepth;if(!r)throw new Error("Use of recursion disabled");if(t.accuracy==="strict")throw new Error("Use of recursion requires non-strict accuracy due to depth limit");return e===0?`(?R=${r})`:f`\g<${e}&R=${r}>`}function gt(e,t){let r=!!t?.firstOnly,s=e.min.value,n=e.max.value,o=[];if(s<65&&(n===65535||n>=131071)||s===65536&&n>=131071)return o;for(let a=s;a<=n;a++){let i=w(a);if(!_e(i))continue;let c=pe(i).filter(u=>{let p=u.codePointAt(0);return p<s||p>n});if(c.length&&(o.push(...c),r))break}return o}function U(e,{isAfterBackref:t,inCharClass:r,useFlagV:s}){if(pt.has(e))return pt.get(e);if(e<32||e>126&&e<160||e>262143||t&&Br(e))return e>255?`\\u{${e.toString(16).toUpperCase()}}`:`\\x${e.toString(16).toUpperCase().padStart(2,"0")}`;let n=r?s?xr:br:yr,o=w(e);return(n.has(o)?"\\":"")+o}function Mr(e){let t=e.map(n=>n.codePointAt(0)).sort((n,o)=>n-o),r=[],s=null;for(let n=0;n<t.length;n++)t[n+1]===t[n]+1?s??=t[n]:s===null?r.push(t[n]):(r.push([s,t[n]]),s=null);return r}function Ur(e,t,r){if(e)return">";let s="";if(t&&r){let{enable:n,disable:o}=t;s=(n?.ignoreCase?"i":"")+(n?.dotAll?"s":"")+(o?"-":"")+(o?.ignoreCase?"i":"")+(o?.dotAll?"s":"")}return`${s}:`}function Dr({min:e,max:t,greedy:r,possessive:s}){let n;return!e&&t===1?n="?":!e&&t===1/0?n="*":e===1&&t===1/0?n="+":e===t?n=`{${e}}`:n=`{${e},${t===1/0?"":t}}`,n+(s?"+":r?"":"?")}function Br(e){return e>47&&e<58}var y=Object.freeze({DEFAULT:"DEFAULT",CHAR_CLASS:"CHAR_CLASS"});function G(e,t,r,s){let n=new RegExp(String.raw`${t}|(?<$skip>\[\^?|\\?.)`,"gsu"),o=[!1],a=0,i="";for(let c of e.matchAll(n)){let{0:u,groups:{$skip:p}}=c;if(!p&&(!s||s===y.DEFAULT==!a)){r instanceof Function?i+=r(c,{context:a?y.CHAR_CLASS:y.DEFAULT,negated:o[o.length-1]}):i+=r;continue}u[0]==="["?(a++,o.push(u[1]==="^")):u==="]"&&a&&(a--,o.pop()),i+=u}return i}function ke(e,t,r,s){G(e,t,r,s)}function Vr(e,t,r=0,s){if(!new RegExp(t,"su").test(e))return null;let n=new RegExp(`${t}|(?<$skip>\\\\?.)`,"gsu");n.lastIndex=r;let o=0,a;for(;a=n.exec(e);){let{0:i,groups:{$skip:c}}=a;if(!c&&(!s||s===y.DEFAULT==!o))return a;i==="["?o++:i==="]"&&o&&o--,n.lastIndex==a.index&&n.lastIndex++}return null}function ae(e,t,r){return!!Vr(e,t,0,r)}function ht(e,t){let r=/\\?./gsu;r.lastIndex=t;let s=e.length,n=0,o=1,a;for(;a=r.exec(e);){let[i]=a;if(i==="[")n++;else if(n)i==="]"&&n--;else if(i==="(")o++;else if(i===")"&&(o--,!o)){s=a.index;break}}return e.slice(t,s)}var oe="$E$",X=class e extends RegExp{_captureMap;constructor(t,r,s){let n;s?.useEmulationGroups&&({expression:t,captureMap:n}=jr(t)),super(t,r),n?this._captureMap=n:t instanceof e&&(this._captureMap=t._captureMap)}exec(t){let r=RegExp.prototype.exec.call(this,t);if(!r||!this._captureMap)return r;let s=[...r];r.length=1;let n;this.hasIndices&&(n=[...r.indices],r.indices.length=1);for(let o=1;o<s.length;o++)this._captureMap[o]&&(r.push(s[o]),this.hasIndices&&r.indices.push(n[o]));return r}};function jr(e){let t=oe.replace(/\$/g,"\\$"),r=[!0];return e=G(e,String.raw`\((?:(?!\?)|\?<(?![=!])[^>]+>)(?<mark>${t})?`,({0:s,groups:{mark:n}})=>n?(r.push(!1),s.slice(0,-oe.length)):(r.push(!0),s),y.DEFAULT),{captureMap:r,expression:e}}var dt={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"},ye={DEFAULT:"DEFAULT",ENCLOSED_P:"ENCLOSED_P",ENCLOSED_Q:"ENCLOSED_Q",ENCLOSED_U:"ENCLOSED_U",INVALID_INCOMPLETE_TOKEN:"INVALID_INCOMPLETE_TOKEN",RANGE:"RANGE"},Hn=new Set([dt.ENCLOSED_P,dt.ENCLOSED_U]),Qn=new Set([ye.ENCLOSED_P,ye.ENCLOSED_Q,ye.ENCLOSED_U]),Wn=(()=>{try{new RegExp("(?i:)")}catch{return!1}return!0})(),qn=(()=>{try{new RegExp("","v")}catch{return!1}return!0})();var Kr=String.raw`\(\?<(?![=!])(?<captureName>[^>]+)>`,zn=String.raw`\((?!\?)(?!(?<=\(\?\()DEFINE\))|${Kr}`,Ct=String.raw`\(\?(?:[:=!>A-Za-z\-]|<[=!]|\(DEFINE\))`;var Hr=["Basic_Emoji","Emoji_Keycap_Sequence","RGI_Emoji_Modifier_Sequence","RGI_Emoji_Flag_Sequence","RGI_Emoji_Tag_Sequence","RGI_Emoji_ZWJ_Sequence","RGI_Emoji"].join("|"),Xn=new RegExp(String.raw` | ||
\\(?: c[A-Za-z] | ||
| p\{(?<pStrProp>${Hr})\} | ||
| [pP]\{[^\}]+\} | ||
| (?<qStrProp>q) | ||
| u(?:[A-Fa-f\d]{4}|\{[A-Fa-f\d]+\}) | ||
| x[A-Fa-f\d]{2} | ||
| . | ||
) | ||
| -- | ||
| && | ||
| . | ||
`.replace(/\s+/g,""),"gsu");var Zn=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 mt(e,t,r,s){return e.slice(0,t)+s+e.slice(t+r.length)}var Et=new RegExp(String.raw`(?<noncapturingStart>${Ct})|(?<capturingStart>\((?:\?<[^>]+>)?)|\\?.`,"gsu");function xe(e,t){if(!/\(\?>/.test(e))return e;let r="(?>",s=`(?:(?=(${t?.useEmulationGroups?oe:""}`,n=[0],o=0,a=0,i=NaN,c;do{c=!1;let u=0,p=0,C=!1,d;for(Et.lastIndex=Number.isNaN(i)?0:i+s.length;d=Et.exec(e);){let{0:h,index:S,groups:{capturingStart:L,noncapturingStart:T}}=d;if(h==="[")u++;else if(u)h==="]"&&u--;else if(h===r&&!C)i=S,C=!0;else if(C&&T)p++;else if(L)C?p++:(o++,n.push(o+a));else if(h===")"&&C){if(!p){a++,e=`${e.slice(0,i)}${s}${e.slice(i+r.length,S)}))<$$${a+o}>)${e.slice(S+1)}`,c=!0;break}p--}}}while(c);return e=G(e,String.raw`\\(?<backrefNum>[1-9]\d*)|<\$\$(?<wrappedBackrefNum>\d+)>`,({0:u,groups:{backrefNum:p,wrappedBackrefNum:C}})=>{if(p){let d=+p;if(d>n.length-1)throw new Error(`Backref "${u}" greater than number of captures`);return`\\${n[d]}`}return`\\${C}`},y.DEFAULT),e}var wt=String.raw`(?:[?*+]|\{\d+(?:,\d*)?\})`,be=new RegExp(String.raw` | ||
`.replace(/\s+/g,""),"gsu");function K(e,t=""){if(typeof e!="string")throw new Error("String expected as pattern");if(!/^[imxW]*$/.test(t))throw new Error(`Flags "${t}" unsupported`);let r=[t.includes("x")],s={getCurrentModX:()=>r.at(-1),numOpenGroups:0,popModX(){r.pop()},pushModX(u){r.push(u)},replaceCurrentModX(u){r[r.length-1]=u}},n=[],a;for(ee.lastIndex=0;a=ee.exec(e);){let u=Ut(s,e,a[0],ee.lastIndex);u.tokens?n.push(...u.tokens):u.token&&n.push(u.token),u.lastIndex!==void 0&&(ee.lastIndex=u.lastIndex)}let o=[],i=0;n.forEach(u=>{u.type===g.GroupOpen&&(u.kind===x.capturing?(i++,u.number=i):u.raw==="("&&o.push(u))}),i||o.forEach((u,p)=>{u.kind=x.capturing,u.number=p+1});let c=i||o.length;return n=n.map(u=>u.type===g.EscapedNumber?zt(u,c):u).flat(),{tokens:n,flags:{ignoreCase:t.includes("i"),dotAll:t.includes("m"),extended:t.includes("x"),wordIsAscii:t.includes("W")}}}function Ut(e,t,r,s){let[n,a,o]=r;if(n==="["){let i=Dt(t,r,s);return{tokens:i.tokens,lastIndex:i.lastIndex}}if(n==="\\"){if("AbBGzZ".includes(a))return{token:m(g.Assertion,r,{kind:r})};if(/^\\g[<']/.test(r)){if(!/^\\g(?:<[^>]+>|'[^']+')$/.test(r))throw new Error(`Invalid group name "${r}"`);return{token:m(g.Subroutine,r)}}if(/^\\k[<']/.test(r)){if(!/^\\k(?:<[^>]+>|'[^']+')$/.test(r))throw new Error(`Invalid group name "${r}"`);return{token:m(g.Backreference,r)}}if(a==="K")return{token:m(g.Directive,r,{kind:j.keep})};if(a==="N")return{token:m(g.CharacterSet,r,{kind:E.non_newline})};if(a==="O")return{token:m(g.CharacterSet,r,{kind:E.any})};if("RX".includes(a))return{token:m(g.VariableLengthCharacterSet,r,{kind:r})};if("yY".includes(a))throw new Error(`Unsupported grapheme boundary "${r}"`);let i=Be(r,{inCharClass:!1});return Array.isArray(i)?{tokens:i}:{token:i}}if(n==="("){if(o==="#"){if(t[s]!==")")throw new Error('Unclosed comment group "(?#"');return{lastIndex:s+1}}if("-imx".includes(o))return{token:Vt(r,e)};if(e.pushModX(e.getCurrentModX()),e.numOpenGroups++,r==="("||r==="(?:")return{token:m(g.GroupOpen,r,{kind:x.group})};if(r==="(?>")return{token:m(g.GroupOpen,r,{kind:x.atomic})};if(r==="(?="||r==="(?!"||r==="(?<="||r==="(?<!")return{token:m(g.GroupOpen,r,{kind:o==="<"?x.lookbehind:x.lookahead,negate:r.endsWith("!")})};if(o==="<"||o==="'")return{token:m(g.GroupOpen,r,{kind:x.capturing,name:r.slice(3,-1)})};throw o==="("?new Error(`Unsupported conditional "${r}"`):o==="~"?new Error(`Unsupported absence operator "${r}"`):r==="(?"?new Error("Invalid group"):new Error(`Unexpected group "${r}"`)}if(r===")"){if(e.popModX(),e.numOpenGroups--,e.numOpenGroups<0)throw new Error('Unmatched ")"');return{token:m(g.GroupClose,r)}}if(r==="#"&&e.getCurrentModX()){let i=t.indexOf(` | ||
`,s);return{lastIndex:i===-1?t.length:i}}if(/^\s$/.test(r)&&e.getCurrentModX()){let i=/\s+/y;return i.lastIndex=s,{lastIndex:i.exec(t)?i.lastIndex:s}}return r==="."?{token:m(g.CharacterSet,r,{kind:E.dot})}:r==="^"||r==="$"?{token:m(g.Assertion,r,{kind:r})}:r==="|"?{token:m(g.Alternator,r)}:Le.test(r)?{token:jt(r)}:(Ve(r),{token:m(g.Character,r,{value:r.codePointAt(0)})})}function Dt(e,t,r){Oe(t);let s=[m(g.CharacterClassOpen,t,{negate:t[1]==="^"})],n=1,a;for(me.lastIndex=r;a=me.exec(e);){let o=a[0];if(o[0]==="["&&o[1]!==":")Oe(o),n++,s.push(m(g.CharacterClassOpen,o,{negate:o[1]==="^"}));else if(o==="]"){if(n--,s.push(m(g.CharacterClassClose,o)),!n)break}else{let i=Lt(o);Array.isArray(i)?s.push(...i):s.push(i)}}return{tokens:s,lastIndex:me.lastIndex||e.length}}function Lt(e){if(e[0]==="\\")return Be(e,{inCharClass:!0});if(e[0]==="["){let t=/\[:(?<negate>\^?)(?<name>[a-z]+):\]/.exec(e);if(!t||!Y.get(t.groups.name))throw new Error(`Invalid POSIX class "${e}"`);return m(g.CharacterSet,e,{kind:E.posix,negate:!!t.groups.negate,value:t.groups.name})}return e==="-"?m(g.CharacterClassHyphen,e):e==="&&"?m(g.CharacterClassIntersector,e):(Ve(e),m(g.Character,e,{value:e.codePointAt(0)}))}function Be(e,{inCharClass:t}){let r=e[1];if(r==="c"||r==="C")return Bt(e);if("dDhHsSwW".includes(r))return Kt(e);if(e.startsWith(f`\o{`))throw new Error(`Incomplete, invalid, or unsupported octal code point "${e}"`);if(/^\\[pP]\{/.test(e)){if(e.length===3)throw new Error("Incomplete or invalid Unicode property");return Wt(e)}if(/^\\x[89A-Fa-f]\p{AHex}/u.test(e))try{let s=e.split(/\\x/).slice(1).map(i=>parseInt(i,16)),n=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}).decode(new Uint8Array(s)),a=new TextEncoder;return[...n].map(i=>{let c=[...a.encode(i)].map(u=>`\\x${u.toString(16)}`).join("");return m(g.Character,c,{value:i.codePointAt(0)})})}catch{throw new Error(`Too short or invalid multibyte code "${e}"`)}if(r==="u"||r==="x")return m(g.Character,e,{value:Ht(e)});if(Re.has(r))return m(g.Character,e,{value:Re.get(r)});if(/\d/.test(r))return m(g.EscapedNumber,e,{inCharClass:t});if(e==="\\")throw new Error(f`Incomplete escape "\"`);if(r==="M")throw new Error(`Unsupported meta "${e}"`);if([...e].length===2)return m(g.Character,e,{value:e.codePointAt(1)});throw new Error(`Unexpected escape "${e}"`)}function m(e,t,r){return{type:e,raw:t,...r}}function Bt(e){let t=e[1]==="c"?e[2]:e[3];if(!t||!/[A-Za-z]/.test(t))throw new Error(`Unsupported control character "${e}"`);return m(g.Character,e,{value:t.toUpperCase().codePointAt(0)-64})}function Vt(e,t){let{on:r,off:s}=/^\(\?(?<on>[imx]*)(?:-(?<off>[imx\-]*))?/.exec(e).groups;s??="";let n=(t.getCurrentModX()||r.includes("x"))&&!s.includes("x"),a=Te(r),o=Te(s),i={};if(a&&(i.enable=a),o&&(i.disable=o),e.endsWith(")"))return t.replaceCurrentModX(n),m(g.Directive,e,{kind:j.flags,flags:i});if(e.endsWith(":")){t.pushModX(n),t.numOpenGroups++;let c=m(g.GroupOpen,e,{kind:x.group});return(a||o)&&(c.flags=i),c}throw new Error(`Unexpected flag modifier "${e}"`)}function jt(e){let t={};if(e[0]==="{"){let{min:r,max:s}=/^\{(?<min>\d*)(?:,(?<max>\d*))?/.exec(e).groups,n=1e5;if(+r>n||+s>n)throw new Error("Quantifier value unsupported in Oniguruma");t.min=+r,t.max=s===void 0?+r:s===""?1/0:+s,t.greedy=!e.endsWith("?"),t.possessive=!1}else t.min=e[0]==="+"?1:0,t.max=e[0]==="?"?1:1/0,t.greedy=e[1]!=="?",t.possessive=e[1]==="+";return m(g.Quantifier,e,t)}function Kt(e){let t=e[1].toLowerCase();return m(g.CharacterSet,e,{kind:{d:E.digit,h:E.hex,s:E.space,w:E.word}[t],negate:e[1]!==t})}function Wt(e){let{p:t,neg:r,value:s}=/^\\(?<p>[pP])\{(?<neg>\^?)(?<value>[ \w]+)/.exec(e).groups,n=t==="P"&&!r||t==="p"&&!!r;return m(g.CharacterSet,e,{kind:E.property,negate:n,value:s})}function Te(e){let t={};return e.includes("i")&&(t.ignoreCase=!0),e.includes("m")&&(t.dotAll=!0),e.includes("x")&&(t.extended=!0),Object.keys(t).length?t:null}function Ht(e){if(/^(?:\\u(?!\p{AHex}{4})|\\x(?!\p{AHex}{1,2}|\{\p{AHex}{1,8}\}))/u.test(e))throw new Error(`Incomplete or invalid escape "${e}"`);let t=e[2]==="{"?/^\\x\{\s*(?<hex>\p{AHex}+)/u.exec(e).groups.hex:e.slice(2),r=parseInt(t,16);if(r>1310719)throw new Error(`Invalid out of range "${e}"`);if(r>1114111)throw new Error(`Invalid out of range in JS "${e}"`);return r}function zt(e,t){let{raw:r,inCharClass:s}=e,n=r.slice(1);if(!s&&(n!=="0"&&n.length===1||n[0]!=="0"&&+n<=t))return[m(g.Backreference,r)];let a=[],o=n.match(/^[0-7]+|\d/g);for(let i=0;i<o.length;i++){let c=o[i],u;if(i===0&&c!=="8"&&c!=="9"){if(u=parseInt(c,8),u>127)throw new Error(f`Octal encoded byte above 177 unsupported "${r}"`)}else u=c.codePointAt(0);a.push(m(g.Character,(i===0?"\\":"")+c,{value:u}))}return a}function Oe(e){if(e.endsWith("]"))throw new Error(`Empty character class "${e}" unsupported in Oniguruma`)}function Ve(e){if([...e].length!==1)throw new Error(`Expected "${e}" to be a single code point`)}function W({alternatives:e},t){return e.length===1&&e[0].elements.length===1&&(!t||t(e[0].elements[0]))}function v({type:e,kind:t}){return e===l.Assertion&&(t===w.lookahead||t===w.lookbehind)}function te({type:e,min:t}){return e===l.Assertion||e===l.Directive||e===l.Quantifier&&!t}function F(e,t,r){let s=e.node;for(;s.parent;)s=s.parent;function n(o,i){for(let c=0;c<o.length;c++){let u=a(o[c],i,c,o);c=Math.max(-1,c+u)}}function a(o,i=null,c=null,u=null){let p=0,h=!1,C={node:o,parent:i,key:c,container:u,ast:s,remove(){_(u,"Container expected").splice(Math.max(0,c+p),1),p-=1},removeAllNextSiblings(){return _(u,"Container expected").splice(c+1)},removeAllPrevSiblings(){let A=c+p;return p-=A,_(u,"Container expected").splice(0,Math.max(0,A))},replaceWith(A){qt(A,i),u?u[Math.max(0,c+p)]=A:i[c]=A},skip(){h=!0}},d=Qt(o).find(A=>!!r[A]),y=d&&r[d],N=typeof y=="function"?y:y?.enter,T=y?.exit;if(N?.(C,t),!h)switch(o.type){case l.Regex:a(o.pattern,o,"pattern"),a(o.flags,o,"flags");break;case l.Alternative:case l.CharacterClass:n(o.elements,o);break;case l.Assertion:v(o)&&n(o.alternatives,o);break;case l.Backreference:case l.Character:case l.CharacterSet:case l.Directive:case l.Flags:case l.Recursion:case l.Subroutine:case l.VariableLengthCharacterSet:break;case l.CapturingGroup:case l.Group:case l.Pattern:n(o.alternatives,o);break;case l.CharacterClassIntersection:n(o.classes,o);break;case l.CharacterClassRange:a(o.min,o,"min"),a(o.max,o,"max");break;case l.Quantifier:a(o.element,o,"element");break;default:throw new Error(`Unexpected node type "${o.type}"`)}return T?.(C,t),p}a(e.node,e.parent,e.key,e.container)}var je={AnyGroup:"AnyGroup",AnyNode:"AnyNode"};function Qt(e){let{type:t}=e,r=[je.AnyNode];return(t===l.CapturingGroup||t===l.Group||v(e))&&r.push(je.AnyGroup),r.push(t),r}function qt(e,t){"parent"in t&&(e.parent=t)}var l={Alternative:"Alternative",Assertion:"Assertion",Backreference:"Backreference",CapturingGroup:"CapturingGroup",Character:"Character",CharacterClass:"CharacterClass",CharacterClassIntersection:"CharacterClassIntersection",CharacterClassRange:"CharacterClassRange",CharacterSet:"CharacterSet",Directive:"Directive",Flags:"Flags",Group:"Group",Pattern:"Pattern",Quantifier:"Quantifier",Regex:"Regex",Subroutine:"Subroutine",VariableLengthCharacterSet:"VariableLengthCharacterSet",Recursion:"Recursion"},w={line_end:"line_end",line_start:"line_start",lookahead:"lookahead",lookbehind:"lookbehind",search_start:"search_start",string_end:"string_end",string_end_newline:"string_end_newline",string_start:"string_start",word_boundary:"word_boundary"},b=E,z=j,H={grapheme:"grapheme",newline:"newline"};function Q({tokens:e,flags:t},r){let s={skipBackrefValidation:!1,skipPropertyNameValidation:!1,verbose:!1,...r},n={capturingGroups:[],current:0,hasNumberedRef:!1,namedGroupsByName:new Map,parent:null,skipBackrefValidation:s.skipBackrefValidation,skipPropertyNameValidation:s.skipPropertyNameValidation,subroutines:[],token:null,tokens:e,verbose:s.verbose,walk:a};function a(C,d){let y=e[n.current];switch(n.parent=C,n.token=y,n.current++,y.type){case g.Alternator:return P();case g.Assertion:return He(y);case g.Backreference:return Xt(n);case g.Character:return ze(y.value);case g.CharacterClassHyphen:return Zt(n,d);case g.CharacterClassOpen:return Jt(n,d);case g.CharacterSet:return Yt(n);case g.Directive:return or(y);case g.GroupOpen:return er(n,d);case g.Quantifier:return tr(n);case g.Subroutine:return rr(n);case g.VariableLengthCharacterSet:return fr(y.kind);default:throw new Error(`Unexpected token type "${y.type}"`)}}let o=lr(cr(),ir(t)),i=o.pattern.alternatives[0];for(;n.current<e.length;){let C=a(i,{});C.type===l.Alternative?(o.pattern.alternatives.push(C),i=C):i.elements.push(C)}let{capturingGroups:c,hasNumberedRef:u,namedGroupsByName:p,subroutines:h}=n;if(u&&p.size)throw new Error("Numbered backref/subroutine not allowed when using named capture");for(let{ref:C}of h)if(typeof C=="number"){if(C>c.length)throw new Error("Subroutine uses a group number that's not defined")}else if(p.has(C)){if(p.get(C).length>1)throw new Error(f`Subroutine uses a duplicate group name "\g<${C}>"`)}else throw new Error(f`Subroutine uses a group name that's not defined "\g<${C}>"`);return F({node:o},null,{AnyNode({node:C,parent:d}){C.parent=d}}),o}function Xt(e){let{raw:t}=e.token,r=/^\\k[<']/.test(t),s=r?t.slice(3,-1):t.slice(1),n=(a,o=!1)=>{let i=e.capturingGroups.length,c=!1;if(a>i)if(e.skipBackrefValidation)c=!0;else throw new Error(`Not enough capturing groups defined to the left "${t}"`);return e.hasNumberedRef=!0,re(o?i+1-a:a,{orphan:c})};if(r){let a=/^(?<sign>-?)0*(?<num>[1-9]\d*)$/.exec(s);if(a)return n(+a.groups.num,!!a.groups.sign);if(/[-+]/.test(s))throw new Error(`Invalid backref name "${t}"`);if(!e.namedGroupsByName.has(s))throw new Error(`Group name not defined to the left "${t}"`);return re(s)}return n(+s)}function Zt(e,t){let{parent:r,tokens:s,walk:n}=e,a=r.elements.at(-1),o=s[e.current];if(a&&a.type!==l.CharacterClass&&a.type!==l.CharacterClassRange&&o&&o.type!==g.CharacterClassOpen&&o.type!==g.CharacterClassClose&&o.type!==g.CharacterClassIntersector){let i=n(r,t);if(a.type===l.Character&&i.type===l.Character)return r.elements.pop(),ar(a,i);throw new Error("Invalid character class range")}return ze(45)}function Jt(e,t){let{token:r,tokens:s,verbose:n,walk:a}=e,o=we({negate:r.negate}),i=o.elements[0],c=Ke(s[e.current]);for(;c.type!==g.CharacterClassClose;){if(c.type===g.CharacterClassIntersector)i.classes.push(we({negate:!1,baseOnly:!0})),e.current++;else{let u=i.classes.at(-1);u.elements.push(a(u,t))}c=Ke(s[e.current])}if(n||Cr(i),i.classes.length===1){let u=i.classes[0];u.negate=o.negate!==u.negate,o=u}return e.current++,o}function Yt({token:e,skipPropertyNameValidation:t}){let{kind:r,negate:s,value:n}=e;if(r===E.property){let a=V(n);if(Me.has(a))r=E.posix,n=a;else return se(n,{negate:s,skipPropertyNameValidation:t})}return r===E.posix?{type:l.CharacterSet,kind:b.posix,negate:s,value:n}:ye(r,{negate:s})}function er(e,t){let{token:r,tokens:s,capturingGroups:n,namedGroupsByName:a,verbose:o,walk:i}=e,c=nr(r);c.type===l.CapturingGroup&&(n.push(c),c.name&&U(a,c.name,[]).push(c));let u=We(s[e.current]);for(;u.type!==g.GroupClose;){if(u.type===g.Alternator)c.alternatives.push(P()),e.current++;else{let p=c.alternatives.at(-1);p.elements.push(i(p,t))}u=We(s[e.current])}return o||(c=hr(c)),e.current++,c}function tr({token:e,parent:t}){let{min:r,max:s,greedy:n,possessive:a}=e,o=t.elements.at(-1);if(!o||o.type===l.Assertion||o.type===l.Directive)throw new Error("Quantifier requires a repeatable token");let i=ur(o,r,s,n,a);return t.elements.pop(),i}function rr(e){let{token:t,capturingGroups:r,subroutines:s}=e,n=t.raw.slice(3,-1),a=/^(?<sign>[-+]?)0*(?<num>[1-9]\d*)$/.exec(n);if(a){let i=+a.groups.num,c=r.length;if(e.hasNumberedRef=!0,n={"":i,"+":c+i,"-":c+1-i}[a.groups.sign],n<1)throw new Error("Invalid subroutine number")}else n==="0"&&(n=0);let o=pr(n);return s.push(o),o}function P(){return{type:l.Alternative,elements:[]}}function He({type:e,kind:t,negate:r}){if(e===g.GroupOpen)return ne({behind:t===x.lookbehind,negate:r});let s=_({"^":w.line_start,$:w.line_end,"\\A":w.string_start,"\\b":w.word_boundary,"\\B":w.word_boundary,"\\G":w.search_start,"\\z":w.string_end,"\\Z":w.string_end_newline}[t],`Unexpected assertion kind "${t}"`),n={type:l.Assertion,kind:s};return s===w.word_boundary&&(n.negate=t===f`\B`),n}function re(e,t){let r=!!t?.orphan;return{type:l.Backreference,...r&&{orphan:r},ref:e}}function nr(e){let{kind:t,number:r,name:s,flags:n}=e;switch(t){case x.atomic:return I({atomic:!0});case x.capturing:return ke(r,s);case x.group:return I({flags:n});case x.lookahead:case x.lookbehind:return He(e);default:throw new Error(`Unexpected group kind "${t}"`)}}function ke(e,t){let r=t!==void 0;if(r&&!dr(t))throw new Error(`Group name "${t}" invalid in Oniguruma`);return{type:l.CapturingGroup,number:e,...r&&{name:t},alternatives:[P()]}}function ze(e){return{type:l.Character,value:e}}function we(e){let t={baseOnly:!1,negate:!1,...e};return{type:l.CharacterClass,negate:t.negate,elements:t.baseOnly?[]:[sr()]}}function sr(){return{type:l.CharacterClassIntersection,classes:[we({negate:!1,baseOnly:!0})]}}function ar(e,t){if(t.value<e.value)throw new Error("Character class range out of order");return{type:l.CharacterClassRange,min:e,max:t}}function ye(e,{negate:t}){let r={type:l.CharacterSet,kind:_(b[e],`Unexpected character set kind "${e}"`)};return(e===E.digit||e===E.hex||e===E.space||e===E.word)&&(r.negate=t),r}function or({kind:e,flags:t}){let r={type:l.Directive,kind:_(z[e],`Unexpected directive kind "${e}"`)};return e===j.flags&&(r.flags=t),r}function ir({ignoreCase:e,dotAll:t,extended:r,wordIsAscii:s}){return{type:l.Flags,ignoreCase:e,dotAll:t,extended:r,wordIsAscii:s}}function I(e){let t=e?.atomic,r=e?.flags;return{type:l.Group,...t&&{atomic:t},...r&&{flags:r},alternatives:[P()]}}function ne(e){let t={behind:!1,negate:!1,...e};return{type:l.Assertion,kind:t.behind?w.lookbehind:w.lookahead,negate:t.negate,alternatives:[P()]}}function cr(){return{type:l.Pattern,alternatives:[P()]}}function ur(e,t,r,s,n){if(r<t)throw new Error("Quantifier range out of order");return{type:l.Quantifier,min:t,max:r,greedy:s,possessive:n,element:e}}function lr(e,t){return{type:l.Regex,pattern:e,flags:t}}function pr(e){return{type:l.Subroutine,ref:e}}function se(e,t){let r={negate:!1,skipPropertyNameValidation:!1,...t};return{type:l.CharacterSet,kind:b.property,value:r.skipPropertyNameValidation?e:gr(e),negate:r.negate}}function fr(e){return{type:l.VariableLengthCharacterSet,kind:_({"\\R":H.newline,"\\X":H.grapheme}[e],`Unexpected varcharset kind "${e}"`)}}function gr(e){let t=V(e);if(de.has(t))throw new Error(f`Unicode property "\p{${e}}" unsupported in Oniguruma`);let r=he.get(t);return r||e.trim().replace(/\s+/g,"_").replace(/[A-Z][a-z]+(?=[A-Z])/g,"$&_").replace(/[A-Za-z]+/g,s=>s[0].toUpperCase()+s.slice(1).toLowerCase())}function hr(e){let t=e.alternatives[0].elements[0];return e.type===l.Group&&W(e,r=>r.type===l.Group)&&!(e.atomic&&t.flags)&&!(e.flags&&(t.atomic||t.flags))?(e.atomic?t.atomic=!0:e.flags&&(t.flags=e.flags),t):e}function dr(e){return!/^(?:[-\d]|$)/.test(e)}function Cr(e){for(let t=0;t<e.classes.length;t++){let r=e.classes[t],s=r.elements[0];r.elements.length===1&&s.type===l.CharacterClass&&(e.classes[t]=s,s.negate=r.negate!==s.negate)}}function Ke(e){return _(e,"Unclosed character class")}function We(e){return _(e,"Unclosed group")}var S=Object.freeze({DEFAULT:"DEFAULT",CHAR_CLASS:"CHAR_CLASS"});function M(e,t,r,s){let n=new RegExp(String.raw`${t}|(?<$skip>\[\^?|\\?.)`,"gsu"),a=[!1],o=0,i="";for(let c of e.matchAll(n)){let{0:u,groups:{$skip:p}}=c;if(!p&&(!s||s===S.DEFAULT==!o)){r instanceof Function?i+=r(c,{context:o?S.CHAR_CLASS:S.DEFAULT,negated:a[a.length-1]}):i+=r;continue}u[0]==="["?(o++,a.push(u[1]==="^")):u==="]"&&o&&(o--,a.pop()),i+=u}return i}function Qe(e,t,r,s){M(e,t,r,s)}function mr(e,t,r=0,s){if(!new RegExp(t,"su").test(e))return null;let n=new RegExp(`${t}|(?<$skip>\\\\?.)`,"gsu");n.lastIndex=r;let a=0,o;for(;o=n.exec(e);){let{0:i,groups:{$skip:c}}=o;if(!c&&(!s||s===S.DEFAULT==!a))return o;i==="["?a++:i==="]"&&a&&a--,n.lastIndex==o.index&&n.lastIndex++}return null}function ae(e,t,r){return!!mr(e,t,0,r)}function qe(e,t){let r=/\\?./gsu;r.lastIndex=t;let s=e.length,n=0,a=1,o;for(;o=r.exec(e);){let[i]=o;if(i==="[")n++;else if(n)i==="]"&&n--;else if(i==="(")a++;else if(i===")"&&(a--,!a)){s=o.index;break}}return e.slice(t,s)}var oe="$E$",q=class e extends RegExp{_captureMap;constructor(t,r,s){if(t instanceof RegExp&&s)throw new Error("Cannot provide options when copying regexp");let n;s?.useEmulationGroups&&({expression:t,captureMap:n}=wr(t)),super(t,r),n?this._captureMap=n:t instanceof e&&(this._captureMap=t._captureMap)}exec(t){let r=RegExp.prototype.exec.call(this,t);if(!r||!this._captureMap)return r;let s=[...r];r.length=1;let n;this.hasIndices&&(n=[...r.indices],r.indices.length=1);for(let a=1;a<s.length;a++)this._captureMap[a]&&(r.push(s[a]),this.hasIndices&&r.indices.push(n[a]));return r}};function wr(e){let t=oe.replace(/\$/g,"\\$"),r=[!0];return e=M(e,String.raw`\((?:(?!\?)|\?<(?![=!])[^>]+>)(?<mark>${t})?`,({0:s,groups:{mark:n}})=>n?(r.push(!1),s.slice(0,-oe.length)):(r.push(!0),s),S.DEFAULT),{captureMap:r,expression:e}}var Xe=String.raw`\(\?(?:[:=!>A-Za-z\-]|<[=!]|\(DEFINE\))`;function Ze(e,t,r,s){return e.slice(0,t)+s+e.slice(t+r.length)}var Je=new RegExp(String.raw`(?<noncapturingStart>${Xe})|(?<capturingStart>\((?:\?<[^>]+>)?)|\\?.`,"gsu");function be(e,t){if(!/\(\?>/.test(e))return e;let r="(?>",s=`(?:(?=(${t?.useEmulationGroups?oe:""}`,n=[0],a=0,o=0,i=NaN,c;do{c=!1;let u=0,p=0,h=!1,C;for(Je.lastIndex=Number.isNaN(i)?0:i+s.length;C=Je.exec(e);){let{0:d,index:y,groups:{capturingStart:N,noncapturingStart:T}}=C;if(d==="[")u++;else if(u)d==="]"&&u--;else if(d===r&&!h)i=y,h=!0;else if(h&&T)p++;else if(N)h?p++:(a++,n.push(a+o));else if(d===")"&&h){if(!p){o++,e=`${e.slice(0,i)}${s}${e.slice(i+r.length,y)}))<$$${o+a}>)${e.slice(y+1)}`,c=!0;break}p--}}}while(c);return e=M(e,String.raw`\\(?<backrefNum>[1-9]\d*)|<\$\$(?<wrappedBackrefNum>\d+)>`,({0:u,groups:{backrefNum:p,wrappedBackrefNum:h}})=>{if(p){let C=+p;if(C>n.length-1)throw new Error(`Backref "${u}" greater than number of captures`);return`\\${n[C]}`}return`\\${h}`},S.DEFAULT),e}var Ye=String.raw`(?:[?*+]|\{\d+(?:,\d*)?\})`,Ee=new RegExp(String.raw` | ||
\\(?: \d+ | ||
@@ -72,5 +44,8 @@ | c[A-Za-z] | ||
))? | ||
| (?<qBase>${wt})(?<qMod>[?+]?)(?<invalidQ>[?*+\{]?) | ||
| (?<qBase>${Ye})(?<qMod>[?+]?)(?<invalidQ>[?*+\{]?) | ||
| \\?. | ||
`.replace(/\s+/g,""),"gsu");function Fe(e){if(!new RegExp(`${wt}\\+`).test(e))return e;let t=[],r=null,s=null,n="",o=0,a;for(be.lastIndex=0;a=be.exec(e);){let{0:i,index:c,groups:{qBase:u,qMod:p,invalidQ:C}}=a;if(i==="[")o||(s=c),o++;else if(i==="]")o?o--:s=null;else if(!o)if(p==="+"&&n&&!n.startsWith("(")){if(C)throw new Error(`Invalid quantifier "${i}"`);let d=-1;if(/^\{\d+\}$/.test(u))e=mt(e,c+u.length,p,"");else{if(n===")"||n==="]"){let h=n===")"?r:s;if(h===null)throw new Error(`Invalid unmatched "${n}"`);e=`${e.slice(0,h)}(?>${e.slice(h,c)}${u})${e.slice(c+i.length)}`}else e=`${e.slice(0,c-n.length)}(?>${n}${u})${e.slice(c+i.length)}`;d+=4}be.lastIndex+=d}else i[0]==="("?t.push(c):i===")"&&(r=t.length?t.pop():null);n=i}return e}var Qr=String.raw`\\g<(?<gRNameOrNum>[^>&]+)&R=(?<gRDepth>[^>]+)>`,$e=String.raw`\(\?R=(?<rDepth>[^\)]+)\)|${Qr}`,Ie=String.raw`\(\?<(?![=!])(?<captureName>[^>]+)>`,R=new RegExp(String.raw`${Ie}|${$e}|\(\?|\\?.`,"gsu"),Ne="Cannot use multiple overlapping recursions";function kt(e){if(!new RegExp($e,"su").test(e))return e;if(ae(e,String.raw`\\[1-9]`,y.DEFAULT))throw new Error("Numbered backrefs cannot be used with recursion");if(ae(e,String.raw`\(\?\(DEFINE\)`,y.DEFAULT))throw new Error("DEFINE groups cannot be used with recursion");let t=new Map,r=[],s=!1,n=0,o=0,a;for(R.lastIndex=0;a=R.exec(e);){let{0:i,groups:{captureName:c,rDepth:u,gRNameOrNum:p,gRDepth:C}}=a;if(i==="[")n++;else if(n)i==="]"&&n--;else if(u){if(St(u),s)throw new Error(Ne);let d=e.slice(0,a.index),h=e.slice(R.lastIndex);if(ae(h,$e,y.DEFAULT))throw new Error(Ne);return At(d,h,+u,!1)}else if(p){St(C);let d=!1;for(let D of r)if(D.name===p||D.num===+p){if(d=!0,D.hasRecursedWithin)throw new Error(Ne);break}if(!d)throw new Error(`Recursive \\g cannot be used outside the referenced group "\\g<${p}&R=${C}>"`);let h=t.get(p),S=ht(e,h),L=e.slice(h,a.index),T=S.slice(L.length+i.length),b=At(L,T,+C,!0),bt=e.slice(0,h),xt=e.slice(h+S.length);e=`${bt}${b}${xt}`,R.lastIndex+=b.length-i.length-L.length-T.length,r.forEach(D=>D.hasRecursedWithin=!0),s=!0}else if(c)o++,t.set(String(o),R.lastIndex),t.set(c,R.lastIndex),r.push({num:o,name:c});else if(i.startsWith("(")){let d=i==="(";d&&(o++,t.set(String(o),R.lastIndex)),r.push(d?{num:o}:{})}else i===")"&&r.pop()}return e}function St(e){let t=`Max depth must be integer between 2 and 100; used ${e}`;if(!/^[1-9]\d*$/.test(e))throw new Error(t);if(e=+e,e<2||e>100)throw new Error(t)}function At(e,t,r,s){let n=new Set;s&&ke(e+t,Ie,({groups:{captureName:a}})=>{n.add(a)},y.DEFAULT);let o=r-1;return`${e}${_t(`(?:${e}`,o,s?n:null)}(?:)${_t(`${t})`,o,s?n:null,"backward")}${t}`}function _t(e,t,r,s="forward"){let o=i=>s==="backward"?t-i+2-1:i+2,a="";for(let i=0;i<t;i++){let c=o(i);a+=G(e,String.raw`${Ie}|\\k<(?<backref>[^>]+)>`,({0:u,groups:{captureName:p,backref:C}})=>{if(C&&r&&!r.has(C))return u;let d=`_$${c}`;return p?`(?<${p}${d}>`:`\\k<${C}${d}>`},y.DEFAULT)}return a}function yt(e,t){let r=Z(t),s=H(e,r.flags),n=q(s,{skipBackrefValidation:r.tmGrammar,verbose:r.verbose}),o=tt(n,{accuracy:r.accuracy,avoidSubclass:r.avoidSubclass,bestEffortTarget:r.target}),a=ft(o,r);e=Fe(kt(a.pattern));let i=xe(e,{useEmulationGroups:!r.avoidSubclass}),c=i!==e&&!r.avoidSubclass;e=i;let u={pattern:e,flags:`${r.hasIndices?"d":""}${r.global?"g":""}${a.flags}${a.options.disable.v?"u":"v"}`};return(c||o._strategy)&&(u.subclass={useEmulationGroups:c,strategy:o._strategy??null}),u}function Wr(e,t){return q(H(e,t?.flags))}function qr(e,t){let r=yt(e,t);return r.subclass?new ie(r.pattern,r.flags,r.subclass):new RegExp(r.pattern,r.flags)}var ie=class e extends X{#e;constructor(t,r,s){let n={useEmulationGroups:!1,strategy:null,...s};super(t,r,{useEmulationGroups:n.useEmulationGroups}),n.strategy?this.#e=n.strategy:t instanceof e&&(this.#e=t.#e)}exec(t){let r=super.exec,s=this.global||this.sticky,n=this.lastIndex,o=this.#e;if(o==="line_or_search_start"&&s&&this.lastIndex){this.lastIndex=0;let a=r.call(this,t.slice(n));return a&&(a.input=t,a.index+=n,this.lastIndex+=n),a}if(o==="not_search_start"){let a=r.call(this,t);if(a?.index===n){let i=s?this:new RegExp(this.source,`g${this.flags}`);i.lastIndex=a.index+1,a=r.call(i,t)}return a}return r.call(this,t)}};return Pt(zr);})(); | ||
`.replace(/\s+/g,""),"gsu");function xe(e){if(!new RegExp(`${Ye}\\+`).test(e))return e;let t=[],r=null,s=null,n="",a=0,o;for(Ee.lastIndex=0;o=Ee.exec(e);){let{0:i,index:c,groups:{qBase:u,qMod:p,invalidQ:h}}=o;if(i==="[")a||(s=c),a++;else if(i==="]")a?a--:s=null;else if(!a)if(p==="+"&&n&&!n.startsWith("(")){if(h)throw new Error(`Invalid quantifier "${i}"`);let C=-1;if(/^\{\d+\}$/.test(u))e=Ze(e,c+u.length,p,"");else{if(n===")"||n==="]"){let d=n===")"?r:s;if(d===null)throw new Error(`Invalid unmatched "${n}"`);e=`${e.slice(0,d)}(?>${e.slice(d,c)}${u})${e.slice(c+i.length)}`}else e=`${e.slice(0,c-n.length)}(?>${n}${u})${e.slice(c+i.length)}`;C+=4}Ee.lastIndex+=C}else i[0]==="("?t.push(c):i===")"&&(r=t.length?t.pop():null);n=i}return e}function et(e){let t=e.pattern.alternatives,r=t[0].elements[0];if(t.length>1||!r)return null;let s=W(e.pattern,o=>o.type===l.CapturingGroup||o.type===l.Group)&&r.alternatives.length===1,n=s?r.alternatives[0]:t[0],a=s?n.elements[0]:r;if(!a)return null;if((a.type===l.CapturingGroup||a.type===l.Group)&&a.alternatives.length===2&&a.alternatives[0].elements.length===1&&a.alternatives[1].elements.length===1){let o=a.alternatives[0].elements[0],i=a.alternatives[1].elements[0];if(o.kind===w.line_start&&i.kind===w.search_start||o.kind===w.search_start&&i.kind===w.line_start)return o.kind===w.line_start?a.alternatives.pop():a.alternatives.shift(),"line_or_search_start"}if(ie(a,{negate:!0}))return a.parent.elements.shift(),"not_search_start";for(let o=0;o<n.elements.length;o++){let i=n.elements[o];if(!te(i))break;if(ie(i,{negate:!0}))return n.elements.splice(o,1),"not_search_start"}return null}var X=class e extends q{#e;constructor(t,r,s){let n={useEmulationGroups:!1,strategy:null,...s};super(t,r,{useEmulationGroups:n.useEmulationGroups}),n.strategy?this.#e=n.strategy:t instanceof e&&(this.#e=t.#e)}exec(t){let r=super.exec,s=this.global||this.sticky,n=this.lastIndex,a=this.#e;if(a==="line_or_search_start"&&s&&this.lastIndex){this.lastIndex=0;let o=r.call(this,t.slice(n));return o&&(o.input=t,o.index+=n,this.lastIndex+=n),o}if(a==="not_search_start"){let o=r.call(this,t);if(o?.index===n){let i=s?this:new RegExp(this.source,`g${this.flags}`);i.lastIndex=o.index+1,o=r.call(i,t)}return o}return r.call(this,t)}};function ie(e,t){return v(e)&&e.negate===t.negate&&W(e,r=>r.kind===w.search_start)}var Se=String.raw,tt=Se`(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})`,rt=Se`\u{E0061}-\u{E007A}`,nt=()=>new RegExp(Se`[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[${rt}]{2}[\u{E0030}-\u{E0039}${rt}]{1,3}\u{E007F}|${tt}(?:\u200D${tt})*`,"gu");function at(e,t){let r={accuracy:"default",avoidSubclass:!1,bestEffortTarget:"ES2025",...t},s=r.avoidSubclass?null:et(e),n={accuracy:r.accuracy,flagDirectivesByAlt:new Map,minTargetEs2024:B(r.bestEffortTarget,"ES2024"),subroutineRefMap:new Map,supportedGNodes:new Set,wordIsAscii:e.flags.wordIsAscii};F({node:e},n,ot);let a={dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},o={currentFlags:a,prevFlags:null,globalFlags:a,groupOriginByCopy:new Map,groupsByName:new Map,multiplexCapturesToLeftByRef:new Map,openRefs:new Map,reffedNodesByReferencer:new Map,subroutineRefMap:n.subroutineRefMap};F({node:e},o,it);let i={groupsByName:o.groupsByName,highestOrphanBackref:0,numCapturesToLeft:0,reffedNodesByReferencer:o.reffedNodesByReferencer};return F({node:e},i,kr),s&&(e._strategy=s),e}var ot={Alternative:{enter({node:e,parent:t,key:r},{flagDirectivesByAlt:s}){let n=e.elements.filter(a=>a.kind===z.flags);for(let a=r+1;a<t.alternatives.length;a++){let o=t.alternatives[a];U(s,o,[]).push(...n)}},exit({node:e},{flagDirectivesByAlt:t}){if(t.get(e)?.length){let r=lt(t.get(e));if(r){let s=Z(I({flags:r}),e.elements);s.parent=e,e.elements=[s]}}}},Assertion({node:e,ast:t,remove:r,replaceWith:s},{accuracy:n,supportedGNodes:a,wordIsAscii:o}){let{kind:i,negate:c}=e;if(i===w.line_end)s($(f`(?=\z|\n)`));else if(i===w.line_start)s($(f`(?<=\A|\n)`));else if(i===w.search_start){if(!a.has(e)&&n!=="loose")throw new Error(f`Uses "\G" in a way that's unsupported`);t.flags.sticky=!0,r()}else if(i===w.string_end_newline)s($(f`(?=\n?\z)`));else if(i===w.word_boundary&&!o){let u=f`[\p{L}\p{N}\p{Pc}]`,p=`(?:(?<=${u})(?!${u})|(?<!${u})(?=${u}))`,h=`(?:(?<=${u})(?=${u})|(?<!${u})(?!${u}))`;s($(c?h:p))}},CapturingGroup({node:e},{subroutineRefMap:t}){let{name:r,number:s}=e;if(r&&!xr(r))throw new Error(`Group name "${r}" invalid in JS`);t.set(r??s,e)},CharacterSet({node:e,replaceWith:t},{accuracy:r,minTargetEs2024:s,wordIsAscii:n}){let{kind:a,negate:o,value:i}=e;if(a===b.any)t(se("Any"));else if(a===b.hex)t(se("AHex",{negate:o}));else if(a===b.non_newline)t($(f`[^\n]`));else if(a===b.posix)if(!s&&(i==="graph"||i==="print")){if(r==="strict")throw new Error(`POSIX class "${i}" requires min target ES2024 or non-strict accuracy`);let c={graph:"!-~",print:" -~"}[i];o&&(c=`\0-${k(c.codePointAt(0)-1)}${k(c.codePointAt(2)+1)}-\u{10FFFF}`),t($(`[${c}]`))}else if(i==="word"&&n)t(ye(b.word,{negate:o}));else{let c=$(Y.get(i));c.negate=o,t(c)}else if(a===b.property)ge.has(i)||(e.key="sc");else if(a===b.space){let c=$(`[ | ||
\v\f\r]`);c.negate=o,t(c)}},Directive(e,t){let{node:r,parent:s,ast:n,remove:a,replaceWith:o,removeAllPrevSiblings:i,removeAllNextSiblings:c}=e,{kind:u,flags:p}=r;if(u===z.flags)if(!p.enable&&!p.disable)a();else{let h=Z(I({flags:p}),c());o(h),ht(h,e,t,ot)}else if(u===z.keep){if(s.parent!==n.pattern||n.pattern.alternatives.length>1)throw new Error(f`Uses "\K" in a way that's unsupported`);o(Z(ne({behind:!0}),i()))}},Flags({node:e,parent:t}){delete e.extended,delete e.wordIsAscii,Object.assign(e,{global:!1,hasIndices:!1,multiline:!1,sticky:e.sticky??!1}),t.options={disable:{x:!0,n:!0},force:{v:!0}}},Group({node:e}){if(!e.flags)return;let{enable:t,disable:r}=e.flags;t?.extended&&delete t.extended,r?.extended&&delete r.extended,t?.dotAll&&r?.dotAll&&delete t.dotAll,t?.ignoreCase&&r?.ignoreCase&&delete t.ignoreCase,t&&!Object.keys(t).length&&delete e.flags.enable,r&&!Object.keys(r).length&&delete e.flags.disable,!e.flags.enable&&!e.flags.disable&&delete e.flags},Pattern({node:e},{accuracy:t,supportedGNodes:r}){let s=[],n=!1,a=!1;for(let o of e.alternatives){let i=ft(o.elements);i?(n=!0,Array.isArray(i)?s.push(...i):s.push(i)):a=!0}if(n&&a&&t!=="loose")throw new Error(f`Uses "\G" in a way that's unsupported`);s.forEach(o=>r.add(o))},Quantifier({node:e}){if(e.element.type===l.Quantifier){let t=Z(I(),[e.element]);t.parent=e,e.element=t}},VariableLengthCharacterSet({node:e,replaceWith:t},{accuracy:r,minTargetEs2024:s}){let{kind:n}=e;if(n===H.newline)t($(`(?>\r | ||
?|[ | ||
\v\f\x85\u2028\u2029])`));else if(n===H.grapheme){if(r==="strict")throw new Error(f`Use of "\X" requires non-strict accuracy`);let a=s?f`\p{RGI_Emoji}`:nt().source.replace(/\\u\{/g,"\\x{");t($(f`(?>\r\n|${a}|\P{M}\p{M}*)`,{skipPropertyNameValidation:!0}))}else throw new Error(`Unexpected varcharset kind "${n}"`)}},it={Backreference({node:e},{multiplexCapturesToLeftByRef:t,reffedNodesByReferencer:r}){let{orphan:s,ref:n}=e;s||r.set(e,[...t.get(n).map(({node:a})=>a)])},Recursion({node:e,parent:t},{reffedNodesByReferencer:r}){let{ref:s}=e,n=t;for(;(n=n.parent)&&!(n.type===l.CapturingGroup&&(n.name===s||n.number===s)););r.set(e,n)},CapturingGroup:{enter({node:e,replaceWith:t,skip:r},{groupOriginByCopy:s,groupsByName:n,multiplexCapturesToLeftByRef:a,openRefs:o,reffedNodesByReferencer:i}){let c=s.get(e),u=e.name??e.number;if(c&&o.has(u)){let h=st(u);i.set(h,o.get(u)),t(h),r();return}o.set(u,e);let p=U(a,u,[]);for(let h=0;h<p.length;h++){let C=p[h];if(c===C.node||c&&c===C.origin||e===C.origin){p.splice(h,1);break}}if(p.push({node:e,origin:c}),e.name){let h=U(n,e.name,new Map);for(let C of h.values())!C.hasDuplicateNameToRemove&&ct(C.node,e,{ancestorsParticipate:!0})&&(C.hasDuplicateNameToRemove=!0);n.get(e.name).set(e,{node:e})}},exit({node:e},{openRefs:t}){t.delete(e.name??e.number)}},Group:{enter({node:e},t){t.prevFlags=t.currentFlags,e.flags&&(t.currentFlags=O(t.currentFlags,e.flags))},exit(e,t){t.currentFlags=t.prevFlags}},Subroutine(e,t){let{node:r,replaceWith:s}=e,{ref:n}=r,a=t.subroutineRefMap.get(n),o=n===0,i=o?st(n):ut(a,t.groupOriginByCopy,null),c=i;if(!o){let u=lt(Er(a,h=>h.type===l.Group&&!!h.flags)),p=u?O(t.globalFlags,u):t.globalFlags;yr(p,t.currentFlags)||(c=Z(I({flags:br(p)}),[i]))}s(c),o||ht(c,e,t,it)}},kr={Backreference({node:e,replaceWith:t},r){if(e.orphan){r.highestOrphanBackref=Math.max(r.highestOrphanBackref,e.ref);return}let n=r.reffedNodesByReferencer.get(e).filter(a=>ct(a,e,{ancestorsParticipate:!1}));if(!n.length)t(ne({negate:!0}));else if(n.length>1){let a=n.map(o=>ce(P(),[re(o.number)]));t(ce(I(),a))}else e.ref=n[0].number},CapturingGroup({node:e},t){e.number=++t.numCapturesToLeft,e.name&&t.groupsByName.get(e.name).get(e).hasDuplicateNameToRemove&&delete e.name},Recursion({node:e},t){e.ref!==0&&(e.ref=t.reffedNodesByReferencer.get(e).number)},Regex:{exit({node:e},t){let r=Math.max(t.highestOrphanBackref-t.numCapturesToLeft,0);for(let s=0;s<r;s++){let n=ke();e.pattern.alternatives.at(-1).elements.push(n)}}}};function ce(e,t){return t.forEach(r=>r.parent=e),e[Ae(e)]=t,e}function yr(e,t){return e.dotAll===t.dotAll&&e.ignoreCase===t.ignoreCase}function ct(e,t,{ancestorsParticipate:r}){let s=t;do{if(s.type===l.Pattern)return!1;if(s.type===l.Alternative)continue;if(s===e)return r;let n=pt(s.parent);for(let a of n){if(a===s)break;if(a===e||gt(a,e))return!0}}while(s=s.parent);throw new Error("Unexpected path")}function ut(e,t,r,s){let n=Array.isArray(e)?[]:{};for(let[a,o]of Object.entries(e))a==="parent"?n.parent=Array.isArray(r)?s:r:o&&typeof o=="object"?n[a]=ut(o,t,n,r):(a==="type"&&o===l.CapturingGroup&&t.set(n,t.get(e)??e),n[a]=o);return n}function st(e){return{type:l.Recursion,ref:e}}function Er(e,t){let r=[];for(;e=e.parent;)(!t||t(e))&&r.push(e);return r}function Ae(e){for(let t of["alternatives","classes","elements"])if(e[t])return t;return null}function lt(e){let t=["dotAll","ignoreCase"],r={enable:{},disable:{}};return e.forEach(({flags:s})=>{t.forEach(n=>{s.enable?.[n]&&(delete r.disable[n],r.enable[n]=!0),s.disable?.[n]&&(r.disable[n]=!0)})}),Object.keys(r.enable).length||delete r.enable,Object.keys(r.disable).length||delete r.disable,r.enable||r.disable?r:null}function br({dotAll:e,ignoreCase:t}){let r={};return(e||t)&&(r.enable={},e&&(r.enable.dotAll=!0),t&&(r.enable.ignoreCase=!0)),(!e||!t)&&(r.disable={},!e&&(r.disable.dotAll=!0),!t&&(r.disable.ignoreCase=!0)),r}function pt(e){if(!e)throw new Error("Node expected");if(e.type===l.Quantifier)return[e.element];let t=Ae(e);return t&&e[t]}function ft(e){let t=e.find(r=>r.kind===w.search_start||ie(r,{negate:!1})||!te(r));if(!t)return null;if(t.kind===w.search_start)return t;if(v(t))return t.alternatives[0].elements[0];if(t.type===l.Group||t.type===l.CapturingGroup){let r=[];for(let s of t.alternatives){let n=ft(s.elements);if(!n)return null;Array.isArray(n)?r.push(...n):r.push(n)}return r}return null}function gt(e,t){let r=pt(e)??[];for(let s of r)if(s===t||gt(s,t))return!0;return!1}function xr(e){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(e)}function $(e,t){let r=!!t?.skipPropertyNameValidation,n=Q(K(e),{skipPropertyNameValidation:r}).pattern.alternatives;return n.length>1||n[0].elements.length>1?ce(I(),n):n[0].elements[0]}function Z(e,t){let r=Ae(e);return e[r][0].parent=e,t&&ce(e[r][0],t),e}function ht(e,{parent:t,key:r,container:s},n,a){F({node:e,parent:t,key:r,container:s},n,a)}function Ct(e,t){let r=J(t),s=B(r.target,"ES2024"),n=B(r.target,"ES2025"),a=r.maxRecursionDepth;if(a!==null&&(!Number.isInteger(a)||a<2||a>100))throw new Error("Invalid maxRecursionDepth; use 2-100 or null");let o=null,i=null;if(!n){let d=[e.flags.ignoreCase];F({node:e},{getCurrentModI:()=>d.at(-1),popModI(){d.pop()},pushModI(y){d.push(y)},setHasCasedChar(){d.at(-1)?o=!0:i=!0}},Sr)}let c={dotAll:e.flags.dotAll,ignoreCase:!!((e.flags.ignoreCase||o)&&!i)},u=null,p={accuracy:r.accuracy,appliedGlobalFlags:c,captureFlagIMap:new Map,currentFlags:{dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},groupNames:new Set,inCharClass:!1,lastNode:u,maxRecursionDepth:a,useAppliedIgnoreCase:!!(!n&&o&&i),useDuplicateNames:n,useFlagMods:n,useFlagV:s,usePostEs2018Properties:s,verbose:r.verbose};function h(d){switch(p.lastNode=u,u=d,d.type){case l.Regex:return{pattern:h(d.pattern),flags:h(d.flags),options:{...d.options}};case l.Alternative:return d.elements.map(h).join("");case l.Assertion:return Fr(d,p,h);case l.Backreference:return Ir(d,p);case l.CapturingGroup:return Gr(d,p,h);case l.Character:return Pr(d,p);case l.CharacterClass:return Nr(d,p,h);case l.CharacterClassIntersection:if(!p.useFlagV)throw new Error("Use of class intersection requires min target ES2024");return d.classes.map(h).join("&&");case l.CharacterClassRange:return Mr(d,p);case l.CharacterSet:return Rr(d,p);case l.Flags:return Tr(d,p);case l.Group:return Or(d,p,h);case l.Pattern:return d.alternatives.map(h).join("|");case l.Quantifier:return h(d.element)+Br(d);case l.Recursion:return Ur(d,p);default:throw new Error(`Unexpected node type "${d.type}"`)}}let C=h(e);return s||(delete C.options.force.v,C.options.disable.v=!0,C.options.unicodeSetsPlugin=null),C}var Sr={AnyGroup:{enter({node:e},t){let r=t.getCurrentModI();t.pushModI(e.flags?O({ignoreCase:r},e.flags).ignoreCase:r)},exit(e,t){t.popModI()}},Backreference(e,t){t.setHasCasedChar()},Character({node:e},t){_e(k(e.value))&&t.setHasCasedChar()},CharacterClassRange({node:e,skip:t},r){t(),mt(e,{firstOnly:!0}).length&&r.setHasCasedChar()},CharacterSet({node:e},t){e.kind===b.property&&Ce.has(e.value)&&t.setHasCasedChar()}},Ar=new Set(["$","(",")","*","+",".","?","[","\\","]","^","{","|","}"]),_r=new Set(["-","\\","]","^"]),$r=new Set(["(",")","-","/","[","\\","]","^","{","|","}","!","#","$","%","&","*","+",",",".",":",";","<","=",">","?","@","`","~"]),dt=new Map([[9,f`\t`],[10,f`\n`],[11,f`\v`],[12,f`\f`],[13,f`\r`],[8232,f`\u2028`],[8233,f`\u2029`],[65279,f`\uFEFF`]]),vr=/^\p{Cased}$/u;function _e(e){return vr.test(e)}function Fr(e,t,r){let{kind:s,negate:n,alternatives:a}=e;if(v(e))return`(?${`${s===w.lookahead?"":"<"}${n?"!":"="}`}${a.map(r).join("|")})`;if(s===w.string_end)return"$";if(s===w.string_start)return"^";if(s===w.word_boundary)return n?f`\B`:f`\b`;throw new Error(`Unexpected assertion kind "${s}"`)}function Ir({ref:e},t){if(typeof e!="number")throw new Error("Unexpected named backref in transformed AST");if(!t.useFlagMods&&t.accuracy==="strict"&&t.currentFlags.ignoreCase&&!t.captureFlagIMap.get(e))throw new Error("Use of case-insensitive backref to case-sensitive group requires target ES2025 or non-strict accuracy");return"\\"+e}function Gr({name:e,number:t,alternatives:r},s,n){return e&&(s.groupNames.has(e)?s.useDuplicateNames||(e=null):s.groupNames.add(e)),s.captureFlagIMap.set(t,s.currentFlags.ignoreCase),`(${e?`?<${e}>`:""}${r.map(n).join("|")})`}function Pr({value:e},t){let r=k(e),s=D(e,{isAfterBackref:t.lastNode.type===l.Backreference,inCharClass:t.inCharClass,useFlagV:t.useFlagV});if(s!==r)return s;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&_e(r)){let n=fe(r);return t.inCharClass?n.join(""):n.length>1?`[${n.join("")}]`:n[0]}return r}function Nr({negate:e,parent:t,elements:r},s,n){if(!e&&(!s.useFlagV||!s.verbose)&&t.type===l.CharacterClass&&r[0].type!==l.CharacterClassIntersection||!s.verbose&&t.type===l.CharacterClassIntersection&&r.length===1&&r[0].type!==l.CharacterClassRange)return r.map(n).join("");if(!s.useFlagV&&t.type===l.CharacterClass)throw new Error("Use of nested character class requires min target ES2024");s.inCharClass=!0;let a=`[${e?"^":""}${r.map(n).join("")}]`;return s.inCharClass=!1,a}function Mr(e,t){let r=e.min.value,s=e.max.value,n={isAfterBackref:!1,inCharClass:!0,useFlagV:t.useFlagV},a=D(r,n),o=D(s,n),i="";if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase){let c=mt(e);Dr(c).forEach(p=>{i+=Array.isArray(p)?`${D(p[0],n)}-${D(p[1],n)}`:D(p,n)})}return`${a}-${o}${i}`}function Rr({kind:e,negate:t,value:r,key:s},n){if(e===b.dot)return n.currentFlags.dotAll?n.appliedGlobalFlags.dotAll||n.useFlagMods?".":"[^]":f`[^\n]`;if(e===b.digit)return t?f`\D`:f`\d`;if(e===b.property){if(!n.usePostEs2018Properties&&Ne.has(r))throw new Error(`Unicode property "${r}" unavailable in target ES2018`);if(n.useAppliedIgnoreCase&&n.currentFlags.ignoreCase&&Ce.has(r))throw new Error(`Unicode property "${r}" can't be case-insensitive when other chars have specific case`);return`${t?f`\P`:f`\p`}{${s?`${s}=`:""}${r}}`}if(e===b.word)return t?f`\W`:f`\w`;throw new Error(`Unexpected character set kind "${e}"`)}function Tr(e,t){return(t.appliedGlobalFlags.ignoreCase?"i":"")+(e.dotAll?"s":"")+(e.sticky?"y":"")}function Or({atomic:e,flags:t,parent:r,alternatives:s},n,a){let o=n.currentFlags;t&&(n.currentFlags=O(o,t));let i=s.map(a).join("|"),c=!n.verbose&&s.length===1&&r.type!==l.Quantifier&&!e&&(!n.useFlagMods||!t)?i:`(?${Lr(e,t,n.useFlagMods)}${i})`;return n.currentFlags=o,c}function Ur({ref:e},t){let r=t.maxRecursionDepth;if(!r)throw new Error("Use of recursion disabled");if(t.accuracy==="strict")throw new Error("Use of recursion requires non-strict accuracy due to depth limit");return e===0?`(?R=${r})`:f`\g<${e}&R=${r}>`}function mt(e,t){let r=!!t?.firstOnly,s=e.min.value,n=e.max.value,a=[];if(s<65&&(n===65535||n>=131071)||s===65536&&n>=131071)return a;for(let o=s;o<=n;o++){let i=k(o);if(!_e(i))continue;let c=fe(i).filter(u=>{let p=u.codePointAt(0);return p<s||p>n});if(c.length&&(a.push(...c),r))break}return a}function D(e,{isAfterBackref:t,inCharClass:r,useFlagV:s}){if(dt.has(e))return dt.get(e);if(e<32||e>126&&e<160||e>262143||t&&Vr(e))return e>255?`\\u{${e.toString(16).toUpperCase()}}`:`\\x${e.toString(16).toUpperCase().padStart(2,"0")}`;let n=r?s?$r:_r:Ar,a=k(e);return(n.has(a)?"\\":"")+a}function Dr(e){let t=e.map(n=>n.codePointAt(0)).sort((n,a)=>n-a),r=[],s=null;for(let n=0;n<t.length;n++)t[n+1]===t[n]+1?s??=t[n]:s===null?r.push(t[n]):(r.push([s,t[n]]),s=null);return r}function Lr(e,t,r){if(e)return">";let s="";if(t&&r){let{enable:n,disable:a}=t;s=(n?.ignoreCase?"i":"")+(n?.dotAll?"s":"")+(a?"-":"")+(a?.ignoreCase?"i":"")+(a?.dotAll?"s":"")}return`${s}:`}function Br({min:e,max:t,greedy:r,possessive:s}){let n;return!e&&t===1?n="?":!e&&t===1/0?n="*":e===1&&t===1/0?n="+":e===t?n=`{${e}}`:n=`{${e},${t===1/0?"":t}}`,n+(s?"+":r?"":"?")}function Vr(e){return e>47&&e<58}var jr=String.raw`\\g<(?<gRNameOrNum>[^>&]+)&R=(?<gRDepth>[^>]+)>`,ve=String.raw`\(\?R=(?<rDepth>[^\)]+)\)|${jr}`,Fe=String.raw`\(\?<(?![=!])(?<captureName>[^>]+)>`,R=new RegExp(String.raw`${Fe}|${ve}|\(\?|\\?.`,"gsu"),$e="Cannot use multiple overlapping recursions";function Et(e){if(!new RegExp(ve,"su").test(e))return e;if(ae(e,String.raw`\\[1-9]`,S.DEFAULT))throw new Error("Numbered backrefs cannot be used with recursion");if(ae(e,String.raw`\(\?\(DEFINE\)`,S.DEFAULT))throw new Error("DEFINE groups cannot be used with recursion");let t=new Map,r=[],s=!1,n=0,a=0,o;for(R.lastIndex=0;o=R.exec(e);){let{0:i,groups:{captureName:c,rDepth:u,gRNameOrNum:p,gRDepth:h}}=o;if(i==="[")n++;else if(n)i==="]"&&n--;else if(u){if(wt(u),s)throw new Error($e);let C=e.slice(0,o.index),d=e.slice(R.lastIndex);if(ae(d,ve,S.DEFAULT))throw new Error($e);return kt(C,d,+u,!1)}else if(p){wt(h);let C=!1;for(let L of r)if(L.name===p||L.num===+p){if(C=!0,L.hasRecursedWithin)throw new Error($e);break}if(!C)throw new Error(`Recursive \\g cannot be used outside the referenced group "\\g<${p}&R=${h}>"`);let d=t.get(p),y=qe(e,d),N=e.slice(d,o.index),T=y.slice(N.length+i.length),A=kt(N,T,+h,!0),xt=e.slice(0,d),St=e.slice(d+y.length);e=`${xt}${A}${St}`,R.lastIndex+=A.length-i.length-N.length-T.length,r.forEach(L=>L.hasRecursedWithin=!0),s=!0}else if(c)a++,t.set(String(a),R.lastIndex),t.set(c,R.lastIndex),r.push({num:a,name:c});else if(i.startsWith("(")){let C=i==="(";C&&(a++,t.set(String(a),R.lastIndex)),r.push(C?{num:a}:{})}else i===")"&&r.pop()}return e}function wt(e){let t=`Max depth must be integer between 2 and 100; used ${e}`;if(!/^[1-9]\d*$/.test(e))throw new Error(t);if(e=+e,e<2||e>100)throw new Error(t)}function kt(e,t,r,s){let n=new Set;s&&Qe(e+t,Fe,({groups:{captureName:o}})=>{n.add(o)},S.DEFAULT);let a=r-1;return`${e}${yt(`(?:${e}`,a,s?n:null)}(?:)${yt(`${t})`,a,s?n:null,"backward")}${t}`}function yt(e,t,r,s="forward"){let a=i=>s==="backward"?t-i+2-1:i+2,o="";for(let i=0;i<t;i++){let c=a(i);o+=M(e,String.raw`${Fe}|\\k<(?<backref>[^>]+)>`,({0:u,groups:{captureName:p,backref:h}})=>{if(h&&r&&!r.has(h))return u;let C=`_$${c}`;return p?`(?<${p}${C}>`:`\\k<${h}${C}>`},S.DEFAULT)}return o}function bt(e,t){let r=J(t),s=K(e,r.flags),n=Q(s,{skipBackrefValidation:r.tmGrammar,verbose:r.verbose}),a=at(n,{accuracy:r.accuracy,avoidSubclass:r.avoidSubclass,bestEffortTarget:r.target}),o=Ct(a,r);e=xe(Et(o.pattern));let i=be(e,{useEmulationGroups:!r.avoidSubclass}),c=i!==e&&!r.avoidSubclass;e=i;let u={pattern:e,flags:`${r.hasIndices?"d":""}${r.global?"g":""}${o.flags}${o.options.disable.v?"u":"v"}`};return(c||a._strategy)&&(u.subclass={useEmulationGroups:c,strategy:a._strategy??null}),u}function Kr(e,t){return Q(K(e,t?.flags))}function Wr(e,t){let r=bt(e,t);return r.subclass?new X(r.pattern,r.flags,r.subclass):new RegExp(r.pattern,r.flags)}return It(Hr);})(); | ||
//# sourceMappingURL=index.min.js.map |
{ | ||
"name": "oniguruma-to-es", | ||
"version": "0.4.1", | ||
"version": "0.5.0", | ||
"description": "Convert Oniguruma patterns to native JavaScript RegExp", | ||
@@ -16,14 +16,2 @@ "author": "Steven Levithan", | ||
"types": "./types/index.d.ts", | ||
"scripts": { | ||
"bundle:global": "esbuild src/index.js --global-name=OnigurumaToES --bundle --minify --sourcemap --outfile=dist/index.min.js", | ||
"bundle:esm": "esbuild src/index.js --format=esm --bundle --sourcemap --outfile=dist/index.mjs", | ||
"types": "tsc src/index.js --rootDir src --declaration --allowJs --emitDeclarationOnly --outDir types", | ||
"prebuild": "rm -rf dist/* types/*", | ||
"build": "npm run bundle:global && npm run bundle:esm && npm run types", | ||
"pretest": "npm run build", | ||
"test": "jasmine", | ||
"onig:compare": "node scripts/onig-compare.js", | ||
"onig:match": "node scripts/onig-match.js", | ||
"prepare": "npm test" | ||
}, | ||
"files": [ | ||
@@ -47,3 +35,3 @@ "dist", | ||
"emoji-regex-xs": "^1.0.0", | ||
"regex": "^5.0.0", | ||
"regex": "^5.0.2", | ||
"regex-recursion": "^4.2.1" | ||
@@ -56,3 +44,14 @@ }, | ||
"vscode-oniguruma": "^2.0.1" | ||
}, | ||
"scripts": { | ||
"bundle:global": "esbuild src/index.js --global-name=OnigurumaToES --bundle --minify --sourcemap --outfile=dist/index.min.js", | ||
"bundle:esm": "esbuild src/index.js --format=esm --bundle --sourcemap --outfile=dist/index.mjs", | ||
"types": "tsc src/index.js --rootDir src --declaration --allowJs --emitDeclarationOnly --outDir types", | ||
"prebuild": "rm -rf dist/* types/*", | ||
"build": "pnpm run bundle:global && pnpm run bundle:esm && pnpm run types", | ||
"pretest": "pnpm run build", | ||
"test": "jasmine", | ||
"onig:compare": "node scripts/onig-compare.js", | ||
"onig:match": "node scripts/onig-match.js" | ||
} | ||
} | ||
} |
@@ -9,7 +9,7 @@ # Oniguruma-To-ES | ||
- Take advantage of Oniguruma's many extended regex featrures in JavaScript. | ||
- Take advantage of Oniguruma's many extended regex features in JavaScript. | ||
- Run regexes written for Oniguruma from JavaScript, such as those used in TextMate grammars (used by VS Code, [Shiki](https://shiki.matsu.io/) syntax highlighter, etc.). | ||
- Share regexes across your Ruby and JavaScript code. | ||
Compared to running the Oniguruma C library via WASM bindings using [vscode-oniguruma](https://github.com/microsoft/vscode-oniguruma), this library is **more than 96% smaller** and its regexes typically **run much faster** since they run as native JavaScript. | ||
Compared to running the Oniguruma C library via WASM bindings using [vscode-oniguruma](https://github.com/microsoft/vscode-oniguruma), this library is **less than 4% of the size** and its regexes often run much faster since they run as native JavaScript. | ||
@@ -76,3 +76,3 @@ ### [Try the demo REPL](https://slevithan.github.io/oniguruma-to-es/demo/) | ||
avoidSubclass?: boolean; | ||
flags?: OnigurumaFlags; | ||
flags?: string; | ||
global?: boolean; | ||
@@ -116,3 +116,3 @@ hasIndices?: boolean; | ||
options?: { | ||
flags?: OnigurumaFlags; | ||
flags?: string; | ||
} | ||
@@ -271,3 +271,3 @@ ): OnigurumaAst; | ||
<tr valign="top"> | ||
<th align="left" rowspan="3">Flags</th> | ||
<th align="left" rowspan="4">Flags</th> | ||
<td><code>i</code></td> | ||
@@ -304,2 +304,13 @@ <td><code>i</code></td> | ||
</tr> | ||
<tr valign="top"> | ||
<td><code>W</code></td> | ||
<td><code>W</code></td> | ||
<td align="middle">✅</td> | ||
<td align="middle">✅</td> | ||
<td> | ||
● Currently supported only as a top-level flag<br> | ||
✔ ASCII <code>[[:word:]]</code>, <code>\p{Word}</code><br> | ||
✔ ASCII <code>\b</code><br> | ||
</td> | ||
</tr> | ||
@@ -306,0 +317,0 @@ <tr valign="top"> |
export type OnigurumaToEsOptions = { | ||
accuracy?: "default" | "strict" | "loose"; | ||
avoidSubclass?: boolean; | ||
flags?: import("./tokenize.js").OnigurumaFlags; | ||
flags?: string; | ||
global?: boolean; | ||
@@ -12,24 +12,8 @@ hasIndices?: boolean; | ||
}; | ||
export type EmulatedRegExpOptions = { | ||
useEmulationGroups?: boolean; | ||
strategy?: string; | ||
}; | ||
import { EmulatedRegExp } from './subclass.js'; | ||
/** | ||
Works the same as JavaScript's native `RegExp` constructor in all contexts, but can be given | ||
results from `toDetails` to produce the same result as `toRegExp`. | ||
@class | ||
@augments RegExp | ||
@param {string | EmulatedRegExp} pattern | ||
@param {string} [flags] | ||
@param {EmulatedRegExpOptions} [options] | ||
*/ | ||
export class EmulatedRegExp extends RegExp { | ||
constructor(pattern: any, flags: any, options: any); | ||
#private; | ||
} | ||
/** | ||
@typedef {{ | ||
accuracy?: keyof Accuracy; | ||
avoidSubclass?: boolean; | ||
flags?: import('./tokenize.js').OnigurumaFlags; | ||
flags?: string; | ||
global?: boolean; | ||
@@ -42,6 +26,2 @@ hasIndices?: boolean; | ||
}} OnigurumaToEsOptions | ||
@typedef {{ | ||
useEmulationGroups?: boolean; | ||
strategy?: string; | ||
}} EmulatedRegExpOptions | ||
*/ | ||
@@ -55,3 +35,3 @@ /** | ||
flags: string; | ||
subclass?: EmulatedRegExpOptions; | ||
subclass?: import('./subclass.js').EmulatedRegExpOptions; | ||
}} | ||
@@ -62,3 +42,3 @@ */ | ||
flags: string; | ||
subclass?: EmulatedRegExpOptions; | ||
subclass?: import("./subclass.js").EmulatedRegExpOptions; | ||
}; | ||
@@ -69,3 +49,3 @@ /** | ||
@param {{ | ||
flags?: import('./tokenize.js').OnigurumaFlags; | ||
flags?: string; | ||
}} [options] | ||
@@ -75,3 +55,3 @@ @returns {import('./parse.js').OnigurumaAst} | ||
export function toOnigurumaAst(pattern: string, options?: { | ||
flags?: import("./tokenize.js").OnigurumaFlags; | ||
flags?: string; | ||
}): import("./parse.js").OnigurumaAst; | ||
@@ -85,1 +65,2 @@ /** | ||
export function toRegExp(pattern: string, options?: OnigurumaToEsOptions): RegExp | EmulatedRegExp; | ||
export { EmulatedRegExp }; |
@@ -86,6 +86,13 @@ export type OnigurumaAst = { | ||
}; | ||
export function createFlags({ ignoreCase, dotAll, extended }: { | ||
export function createCharacterSet(kind: any, { negate }: { | ||
negate: any; | ||
}): { | ||
type: string; | ||
kind: any; | ||
}; | ||
export function createFlags({ ignoreCase, dotAll, extended, wordIsAscii }: { | ||
ignoreCase: any; | ||
dotAll: any; | ||
extended: any; | ||
wordIsAscii: any; | ||
}): { | ||
@@ -96,2 +103,3 @@ type: string; | ||
extended: any; | ||
wordIsAscii: any; | ||
}; | ||
@@ -150,7 +158,2 @@ export function createGroup(options: any): { | ||
}; | ||
export function getAstTypeAliases(node: any): string[]; | ||
export function isLookaround({ type, kind }: { | ||
type: any; | ||
kind: any; | ||
}): boolean; | ||
/** | ||
@@ -157,0 +160,0 @@ @typedef {{ |
@@ -1,5 +0,1 @@ | ||
export type FlagI = "i" | ""; | ||
export type FlagM = "m" | ""; | ||
export type FlagX = "x" | ""; | ||
export type OnigurumaFlags = `${FlagI}${FlagM}${FlagX}` | `${FlagI}${FlagX}${FlagM}` | `${FlagM}${FlagI}${FlagX}` | `${FlagM}${FlagX}${FlagI}` | `${FlagX}${FlagI}${FlagM}` | `${FlagX}${FlagM}${FlagI}`; | ||
export type Token = { | ||
@@ -19,6 +15,2 @@ type: "Alternator" | "Assertion" | "Backreference" | "Character" | "CharacterClassClose" | "CharacterClassHyphen" | "CharacterClassIntersector" | "CharacterClassOpen" | "CharacterSet" | "Directive" | "GroupClose" | "GroupOpen" | "Subroutine" | "Quantifier" | "VariableLengthCharacterSet" | "EscapedNumber"; | ||
/** | ||
@typedef {'i' | ''} FlagI | ||
@typedef {'m' | ''} FlagM | ||
@typedef {'x' | ''} FlagX | ||
@typedef {`${FlagI}${FlagM}${FlagX}` | `${FlagI}${FlagX}${FlagM}` | `${FlagM}${FlagI}${FlagX}` | `${FlagM}${FlagX}${FlagI}` | `${FlagX}${FlagI}${FlagM}` | `${FlagX}${FlagM}${FlagI}`} OnigurumaFlags | ||
@typedef {{ | ||
@@ -40,6 +32,6 @@ type: keyof TokenTypes; | ||
@param {string} pattern | ||
@param {OnigurumaFlags} [flags] Oniguruma flags. Flag `m` is equivalent to JS flag `s`. | ||
@param {string} [flags] Oniguruma flags. Flag `m` is equivalent to JS flag `s`. | ||
@returns {TokenizerResult} | ||
*/ | ||
export function tokenize(pattern: string, flags?: OnigurumaFlags): TokenizerResult; | ||
export function tokenize(pattern: string, flags?: string): TokenizerResult; | ||
export namespace TokenCharacterSetKinds { | ||
@@ -46,0 +38,0 @@ let any: string; |
@@ -13,3 +13,2 @@ export const cp: any; | ||
export function getOrCreate(map: any, key: any, defaultValue: any): any; | ||
export function hasOnlyChild(node: any, kidFn: any): any; | ||
/** | ||
@@ -16,0 +15,0 @@ @param {keyof Target} target |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
18
984
663470
4044
Updatedregex@^5.0.2