Comparing version 6.0.0 to 6.0.1
export type InterpolatedValue = string | RegExp | Pattern | number; | ||
export type PluginData = { | ||
flags?: string; | ||
captureTransfers?: Map<number | string, number>; | ||
captureTransfers?: Map<number, Array<number>>; | ||
hiddenCaptures?: Array<number>; | ||
@@ -9,3 +9,3 @@ }; | ||
pattern: string; | ||
captureTransfers?: Map<number | string, number>; | ||
captureTransfers?: Map<number, Array<number>>; | ||
hiddenCaptures?: Array<number>; | ||
@@ -50,3 +50,3 @@ }; | ||
flags?: string; | ||
captureTransfers?: Map<number | string, number>; | ||
captureTransfers?: Map<number, Array<number>>; | ||
hiddenCaptures?: Array<number>; | ||
@@ -56,3 +56,3 @@ }} PluginData | ||
pattern: string; | ||
captureTransfers?: Map<number | string, number>; | ||
captureTransfers?: Map<number, Array<number>>; | ||
hiddenCaptures?: Array<number>; | ||
@@ -59,0 +59,0 @@ }} PluginResult |
@@ -189,5 +189,4 @@ var __defProp = Object.defineProperty; | ||
newCaptureTransfers.set( | ||
// `to` can be a group number or name | ||
to >= addedCaptureNum ? to + 1 : to, | ||
from + (from >= addedCaptureNum ? 1 : 0) | ||
from.map((f) => f >= addedCaptureNum ? f + 1 : f) | ||
); | ||
@@ -194,0 +193,0 @@ }); |
export type InterpolatedValue = string | RegExp | Pattern | number; | ||
export type PluginData = { | ||
flags?: string; | ||
captureTransfers?: Map<number | string, number>; | ||
captureTransfers?: Map<number, Array<number>>; | ||
hiddenCaptures?: Array<number>; | ||
@@ -9,3 +9,3 @@ }; | ||
pattern: string; | ||
captureTransfers?: Map<number | string, number>; | ||
captureTransfers?: Map<number, Array<number>>; | ||
hiddenCaptures?: Array<number>; | ||
@@ -50,3 +50,3 @@ }; | ||
flags?: string; | ||
captureTransfers?: Map<number | string, number>; | ||
captureTransfers?: Map<number, Array<number>>; | ||
hiddenCaptures?: Array<number>; | ||
@@ -56,3 +56,3 @@ }} PluginData | ||
pattern: string; | ||
captureTransfers?: Map<number | string, number>; | ||
captureTransfers?: Map<number, Array<number>>; | ||
hiddenCaptures?: Array<number>; | ||
@@ -59,0 +59,0 @@ }} PluginResult |
@@ -162,5 +162,4 @@ // src/utils-internals.js | ||
newCaptureTransfers.set( | ||
// `to` can be a group number or name | ||
to >= addedCaptureNum ? to + 1 : to, | ||
from + (from >= addedCaptureNum ? 1 : 0) | ||
from.map((f) => f >= addedCaptureNum ? f + 1 : f) | ||
); | ||
@@ -167,0 +166,0 @@ }); |
@@ -1,2 +0,2 @@ | ||
var Regex=(()=>{var Z=Object.defineProperty;var Te=Object.getOwnPropertyDescriptor;var be=Object.getOwnPropertyNames;var Ue=Object.prototype.hasOwnProperty;var Re=(e,n)=>{for(var t in n)Z(e,t,{get:n[t],enumerable:!0})},xe=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of be(n))!Ue.call(e,s)&&s!==t&&Z(e,s,{get:()=>n[s],enumerable:!(r=Te(n,s))||r.enumerable});return e};var Fe=e=>xe(Z({},"__esModule",{value:!0}),e);var Xe={};Re(Xe,{pattern:()=>Q,regex:()=>We,rewrite:()=>Ke});var b=String.raw`\(\?(?:[:=!>A-Za-z\-]|<[=!]|\(DEFINE\))`;function V(e,n){for(let t=0;t<e.length;t++)e[t]>=n&&e[t]++}function U(e,n,t,r){return e.slice(0,n)+r+e.slice(n+t.length)}var g=Object.freeze({DEFAULT:"DEFAULT",CHAR_CLASS:"CHAR_CLASS"});function N(e,n,t,r){let s=new RegExp(String.raw`${n}|(?<$skip>\[\^?|\\?.)`,"gsu"),a=[!1],i=0,o="";for(let u of e.matchAll(s)){let{0:c,groups:{$skip:f}}=u;if(!f&&(!r||r===g.DEFAULT==!i)){t instanceof Function?o+=t(u,{context:i?g.CHAR_CLASS:g.DEFAULT,negated:a[a.length-1]}):o+=t;continue}c[0]==="["?(i++,a.push(c[1]==="^")):c==="]"&&i&&(i--,a.pop()),o+=c}return o}function k(e,n,t,r){N(e,n,t,r)}function H(e,n,t=0,r){if(!new RegExp(n,"su").test(e))return null;let s=new RegExp(`${n}|(?<$skip>\\\\?.)`,"gsu");s.lastIndex=t;let a=0,i;for(;i=s.exec(e);){let{0:o,groups:{$skip:u}}=i;if(!u&&(!r||r===g.DEFAULT==!a))return i;o==="["?a++:o==="]"&&a&&a--,s.lastIndex==i.index&&s.lastIndex++}return null}function j(e,n,t){return!!H(e,n,0,t)}function J(e,n){let t=/\\?./gsu;t.lastIndex=n;let r=e.length,s=0,a=1,i;for(;i=t.exec(e);){let[o]=i;if(o==="[")s++;else if(s)o==="]"&&s--;else if(o==="(")a++;else if(o===")"&&(a--,!a)){r=i.index;break}}return e.slice(n,r)}var oe=new RegExp(String.raw`(?<noncapturingStart>${b})|(?<capturingStart>\((?:\?<[^>]+>)?)|\\?.`,"gsu");function ae(e,n){let t=n?.hiddenCaptures??[],r=n?.captureTransfers??new Map;if(!/\(\?>/.test(e))return{pattern:e,captureTransfers:r,hiddenCaptures:t};let s="(?>",a="(?:(?=(",i=[0],o=[],u=0,c=0,f=NaN,m;do{m=!1;let l=0,C=0,h=!1,d;for(oe.lastIndex=Number.isNaN(f)?0:f+a.length;d=oe.exec(e);){let{0:S,index:w,groups:{capturingStart:O,noncapturingStart:_}}=d;if(S==="[")l++;else if(l)S==="]"&&l--;else if(S===s&&!h)f=w,h=!0;else if(h&&_)C++;else if(O)h?C++:(u++,i.push(u+c));else if(S===")"&&h){if(!C){c++;let I=u+c;if(e=`${e.slice(0,f)}${a}${e.slice(f+s.length,w)}))<$$${I}>)${e.slice(w+1)}`,m=!0,o.push(I),V(t,I),r.size){let A=new Map;r.forEach(($,L)=>{A.set(L>=I?L+1:L,$+($>=I?1:0))}),r=A}break}C--}}}while(m);return t.push(...o),e=N(e,String.raw`\\(?<backrefNum>[1-9]\d*)|<\$\$(?<wrappedBackrefNum>\d+)>`,({0:l,groups:{backrefNum:C,wrappedBackrefNum:h}})=>{if(C){let d=+C;if(d>i.length-1)throw new Error(`Backref "${l}" greater than number of captures`);return`\\${i[d]}`}return`\\${h}`},g.DEFAULT),{pattern:e,captureTransfers:r,hiddenCaptures:t}}var ie=String.raw`(?:[?*+]|\{\d+(?:,\d*)?\})`,X=new RegExp(String.raw` | ||
var Regex=(()=>{var Z=Object.defineProperty;var Te=Object.getOwnPropertyDescriptor;var be=Object.getOwnPropertyNames;var Ue=Object.prototype.hasOwnProperty;var Re=(e,n)=>{for(var t in n)Z(e,t,{get:n[t],enumerable:!0})},xe=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of be(n))!Ue.call(e,s)&&s!==t&&Z(e,s,{get:()=>n[s],enumerable:!(r=Te(n,s))||r.enumerable});return e};var Fe=e=>xe(Z({},"__esModule",{value:!0}),e);var Xe={};Re(Xe,{pattern:()=>Q,regex:()=>We,rewrite:()=>Ke});var b=String.raw`\(\?(?:[:=!>A-Za-z\-]|<[=!]|\(DEFINE\))`;function V(e,n){for(let t=0;t<e.length;t++)e[t]>=n&&e[t]++}function U(e,n,t,r){return e.slice(0,n)+r+e.slice(n+t.length)}var g=Object.freeze({DEFAULT:"DEFAULT",CHAR_CLASS:"CHAR_CLASS"});function N(e,n,t,r){let s=new RegExp(String.raw`${n}|(?<$skip>\[\^?|\\?.)`,"gsu"),a=[!1],i=0,o="";for(let u of e.matchAll(s)){let{0:c,groups:{$skip:f}}=u;if(!f&&(!r||r===g.DEFAULT==!i)){t instanceof Function?o+=t(u,{context:i?g.CHAR_CLASS:g.DEFAULT,negated:a[a.length-1]}):o+=t;continue}c[0]==="["?(i++,a.push(c[1]==="^")):c==="]"&&i&&(i--,a.pop()),o+=c}return o}function k(e,n,t,r){N(e,n,t,r)}function H(e,n,t=0,r){if(!new RegExp(n,"su").test(e))return null;let s=new RegExp(`${n}|(?<$skip>\\\\?.)`,"gsu");s.lastIndex=t;let a=0,i;for(;i=s.exec(e);){let{0:o,groups:{$skip:u}}=i;if(!u&&(!r||r===g.DEFAULT==!a))return i;o==="["?a++:o==="]"&&a&&a--,s.lastIndex==i.index&&s.lastIndex++}return null}function j(e,n,t){return!!H(e,n,0,t)}function J(e,n){let t=/\\?./gsu;t.lastIndex=n;let r=e.length,s=0,a=1,i;for(;i=t.exec(e);){let[o]=i;if(o==="[")s++;else if(s)o==="]"&&s--;else if(o==="(")a++;else if(o===")"&&(a--,!a)){r=i.index;break}}return e.slice(n,r)}var oe=new RegExp(String.raw`(?<noncapturingStart>${b})|(?<capturingStart>\((?:\?<[^>]+>)?)|\\?.`,"gsu");function ae(e,n){let t=n?.hiddenCaptures??[],r=n?.captureTransfers??new Map;if(!/\(\?>/.test(e))return{pattern:e,captureTransfers:r,hiddenCaptures:t};let s="(?>",a="(?:(?=(",i=[0],o=[],u=0,c=0,f=NaN,m;do{m=!1;let l=0,C=0,h=!1,d;for(oe.lastIndex=Number.isNaN(f)?0:f+a.length;d=oe.exec(e);){let{0:S,index:w,groups:{capturingStart:O,noncapturingStart:T}}=d;if(S==="[")l++;else if(l)S==="]"&&l--;else if(S===s&&!h)f=w,h=!0;else if(h&&T)C++;else if(O)h?C++:(u++,i.push(u+c));else if(S===")"&&h){if(!C){c++;let $=u+c;if(e=`${e.slice(0,f)}${a}${e.slice(f+s.length,w)}))<$$${$}>)${e.slice(w+1)}`,m=!0,o.push($),V(t,$),r.size){let A=new Map;r.forEach((D,L)=>{A.set(L>=$?L+1:L,D.map(I=>I>=$?I+1:I))}),r=A}break}C--}}}while(m);return t.push(...o),e=N(e,String.raw`\\(?<backrefNum>[1-9]\d*)|<\$\$(?<wrappedBackrefNum>\d+)>`,({0:l,groups:{backrefNum:C,wrappedBackrefNum:h}})=>{if(C){let d=+C;if(d>i.length-1)throw new Error(`Backref "${l}" greater than number of captures`);return`\\${i[d]}`}return`\\${h}`},g.DEFAULT),{pattern:e,captureTransfers:r,hiddenCaptures:t}}var ie=String.raw`(?:[?*+]|\{\d+(?:,\d*)?\})`,X=new RegExp(String.raw` | ||
\\(?: \d+ | ||
@@ -16,3 +16,3 @@ | c[A-Za-z] | ||
| \\?. | ||
`.replace(/\s+/g,""),"gsu");function ue(e){if(!new RegExp(`${ie}\\+`).test(e))return{pattern:e};let n=[],t=null,r=null,s="",a=0,i;for(X.lastIndex=0;i=X.exec(e);){let{0:o,index:u,groups:{qBase:c,qMod:f,invalidQ:m}}=i;if(o==="[")a||(r=u),a++;else if(o==="]")a?a--:r=null;else if(!a)if(f==="+"&&s&&!s.startsWith("(")){if(m)throw new Error(`Invalid quantifier "${o}"`);let l=-1;if(/^\{\d+\}$/.test(c))e=U(e,u+c.length,f,"");else{if(s===")"||s==="]"){let C=s===")"?t:r;if(C===null)throw new Error(`Invalid unmatched "${s}"`);e=`${e.slice(0,C)}(?>${e.slice(C,u)}${c})${e.slice(u+o.length)}`}else e=`${e.slice(0,u-s.length)}(?>${s}${c})${e.slice(u+o.length)}`;l+=4}X.lastIndex+=l}else o[0]==="("?n.push(u):o===")"&&(t=n.length?n.pop():null);s=o}return{pattern:e}}var D=class{#e;constructor(n){this.#e=n}toString(){return String(this.#e)}};function Q(e,...n){if(Array.isArray(e?.raw))return new D(e.raw.flatMap((t,r)=>r<e.raw.length-1?[t,n[r]]:t).join(""));if(!n.length)return new D(e===void 0?"":e);throw new Error(`Unexpected arguments: ${JSON.stringify([e,...n])}`)}var p={DEFAULT:"DEFAULT",CHAR_CLASS:"CHAR_CLASS",ENCLOSED_P:"ENCLOSED_P",ENCLOSED_U:"ENCLOSED_U",GROUP_NAME:"GROUP_NAME",INTERVAL_QUANTIFIER:"INTERVAL_QUANTIFIER",INVALID_INCOMPLETE_TOKEN:"INVALID_INCOMPLETE_TOKEN"},E={DEFAULT:"DEFAULT",ENCLOSED_P:"ENCLOSED_P",ENCLOSED_Q:"ENCLOSED_Q",ENCLOSED_U:"ENCLOSED_U",INVALID_INCOMPLETE_TOKEN:"INVALID_INCOMPLETE_TOKEN",RANGE:"RANGE"},q=new Set([p.ENCLOSED_P,p.ENCLOSED_U]),G=new Set([E.ENCLOSED_P,E.ENCLOSED_Q,E.ENCLOSED_U]),M=(()=>{try{new RegExp("(?i:)")}catch{return!1}return!0})(),fe=(()=>{try{new RegExp("","v")}catch{return!1}return!0})(),R="&!#$%*+,.:;<=>?@^`~",z=String.raw`\(\?<(?![=!])(?<captureName>[^>]+)>`,B=String.raw`\((?!\?)(?!(?<=\(\?\()DEFINE\))|${z}`;function pe(e,n){return N(e,String.raw`\\(?<num>[1-9]\d*)`,({groups:{num:t}})=>`\\${+t+n}`,g.DEFAULT)}var Oe=["Basic_Emoji","Emoji_Keycap_Sequence","RGI_Emoji_Modifier_Sequence","RGI_Emoji_Flag_Sequence","RGI_Emoji_Tag_Sequence","RGI_Emoji_ZWJ_Sequence","RGI_Emoji"].join("|"),Pe=new RegExp(String.raw` | ||
`.replace(/\s+/g,""),"gsu");function ue(e){if(!new RegExp(`${ie}\\+`).test(e))return{pattern:e};let n=[],t=null,r=null,s="",a=0,i;for(X.lastIndex=0;i=X.exec(e);){let{0:o,index:u,groups:{qBase:c,qMod:f,invalidQ:m}}=i;if(o==="[")a||(r=u),a++;else if(o==="]")a?a--:r=null;else if(!a)if(f==="+"&&s&&!s.startsWith("(")){if(m)throw new Error(`Invalid quantifier "${o}"`);let l=-1;if(/^\{\d+\}$/.test(c))e=U(e,u+c.length,f,"");else{if(s===")"||s==="]"){let C=s===")"?t:r;if(C===null)throw new Error(`Invalid unmatched "${s}"`);e=`${e.slice(0,C)}(?>${e.slice(C,u)}${c})${e.slice(u+o.length)}`}else e=`${e.slice(0,u-s.length)}(?>${s}${c})${e.slice(u+o.length)}`;l+=4}X.lastIndex+=l}else o[0]==="("?n.push(u):o===")"&&(t=n.length?n.pop():null);s=o}return{pattern:e}}var _=class{#e;constructor(n){this.#e=n}toString(){return String(this.#e)}};function Q(e,...n){if(Array.isArray(e?.raw))return new _(e.raw.flatMap((t,r)=>r<e.raw.length-1?[t,n[r]]:t).join(""));if(!n.length)return new _(e===void 0?"":e);throw new Error(`Unexpected arguments: ${JSON.stringify([e,...n])}`)}var p={DEFAULT:"DEFAULT",CHAR_CLASS:"CHAR_CLASS",ENCLOSED_P:"ENCLOSED_P",ENCLOSED_U:"ENCLOSED_U",GROUP_NAME:"GROUP_NAME",INTERVAL_QUANTIFIER:"INTERVAL_QUANTIFIER",INVALID_INCOMPLETE_TOKEN:"INVALID_INCOMPLETE_TOKEN"},E={DEFAULT:"DEFAULT",ENCLOSED_P:"ENCLOSED_P",ENCLOSED_Q:"ENCLOSED_Q",ENCLOSED_U:"ENCLOSED_U",INVALID_INCOMPLETE_TOKEN:"INVALID_INCOMPLETE_TOKEN",RANGE:"RANGE"},q=new Set([p.ENCLOSED_P,p.ENCLOSED_U]),G=new Set([E.ENCLOSED_P,E.ENCLOSED_Q,E.ENCLOSED_U]),M=(()=>{try{new RegExp("(?i:)")}catch{return!1}return!0})(),fe=(()=>{try{new RegExp("","v")}catch{return!1}return!0})(),R="&!#$%*+,.:;<=>?@^`~",z=String.raw`\(\?<(?![=!])(?<captureName>[^>]+)>`,B=String.raw`\((?!\?)(?!(?<=\(\?\()DEFINE\))|${z}`;function pe(e,n){return N(e,String.raw`\\(?<num>[1-9]\d*)`,({groups:{num:t}})=>`\\${+t+n}`,g.DEFAULT)}var Oe=["Basic_Emoji","Emoji_Keycap_Sequence","RGI_Emoji_Modifier_Sequence","RGI_Emoji_Flag_Sequence","RGI_Emoji_Tag_Sequence","RGI_Emoji_ZWJ_Sequence","RGI_Emoji"].join("|"),Pe=new RegExp(String.raw` | ||
\\(?: c[A-Za-z] | ||
@@ -42,3 +42,3 @@ | p\{(?<pStrProp>${Oe})\} | ||
| \\?. | ||
`.replace(/\s+/g,""),"gsu");function F(e,n){let{regexContext:t,charClassContext:r,charClassDepth:s,lastPos:a}={regexContext:p.DEFAULT,charClassContext:E.DEFAULT,charClassDepth:0,lastPos:0,...n};le.lastIndex=a;let i;for(;i=le.exec(e);){let{0:o,groups:{groupN:u,enclosedPU:c,enclosedQ:f,intervalQ:m,incompleteT:l}}=i;o==="["?(s++,t=p.CHAR_CLASS,r=E.DEFAULT):o==="]"&&t===p.CHAR_CLASS?(s&&s--,s||(t=p.DEFAULT),r=E.DEFAULT):t===p.CHAR_CLASS?l?r=E.INVALID_INCOMPLETE_TOKEN:o==="-"?r=E.RANGE:c?r=o[1]==="u"?E.ENCLOSED_U:E.ENCLOSED_P:f?r=E.ENCLOSED_Q:(o==="}"&&G.has(r)||r===E.INVALID_INCOMPLETE_TOKEN||r===E.RANGE)&&(r=E.DEFAULT):l?t=p.INVALID_INCOMPLETE_TOKEN:u?t=p.GROUP_NAME:c?t=o[1]==="u"?p.ENCLOSED_U:p.ENCLOSED_P:m?t=p.INTERVAL_QUANTIFIER:(o===">"&&t===p.GROUP_NAME||o==="}"&&(t===p.INTERVAL_QUANTIFIER||q.has(t))||t===p.INVALID_INCOMPLETE_TOKEN)&&(t=p.DEFAULT)}return{regexContext:t,charClassContext:r,charClassDepth:s,lastPos:e.length}}function ce(e,n,t){let r=0;for(let[s]of e.matchAll(new RegExp(`[${ee(n+t,g.CHAR_CLASS)}]`,"g")))if(r+=s===n?1:-1,r<0)return t;return r>0?n:""}function ge(e,n,t,r){let s={raw:[]},a=[],i;return e.raw.forEach((o,u)=>{let c=t(o,{...i,lastPos:0},r);if(s.raw.push(c.transformed),i=c.runningContext,u<e.raw.length-1){let f=n[u];if(f instanceof D){let m=t(f,{...i,lastPos:0},r);a.push(Q(m.transformed)),i=m.runningContext}else a.push(f)}}),{template:s,substitutions:a}}function Ee(e){return e.replace(/^\^/,"\\^^")}function W(e){return e.replace(new RegExp(`^([${R}])(?!\\1)`),(n,t,r)=>`\\${n}${r+1===e.length?"":n}`)}function y(e,n){return N(e,String.raw`\\0(?!\d)`,"\\x00",n)}var ke="&!#%,:;<=>@`~",Ge=new RegExp(String.raw` | ||
`.replace(/\s+/g,""),"gsu");function F(e,n){let{regexContext:t,charClassContext:r,charClassDepth:s,lastPos:a}={regexContext:p.DEFAULT,charClassContext:E.DEFAULT,charClassDepth:0,lastPos:0,...n};le.lastIndex=a;let i;for(;i=le.exec(e);){let{0:o,groups:{groupN:u,enclosedPU:c,enclosedQ:f,intervalQ:m,incompleteT:l}}=i;o==="["?(s++,t=p.CHAR_CLASS,r=E.DEFAULT):o==="]"&&t===p.CHAR_CLASS?(s&&s--,s||(t=p.DEFAULT),r=E.DEFAULT):t===p.CHAR_CLASS?l?r=E.INVALID_INCOMPLETE_TOKEN:o==="-"?r=E.RANGE:c?r=o[1]==="u"?E.ENCLOSED_U:E.ENCLOSED_P:f?r=E.ENCLOSED_Q:(o==="}"&&G.has(r)||r===E.INVALID_INCOMPLETE_TOKEN||r===E.RANGE)&&(r=E.DEFAULT):l?t=p.INVALID_INCOMPLETE_TOKEN:u?t=p.GROUP_NAME:c?t=o[1]==="u"?p.ENCLOSED_U:p.ENCLOSED_P:m?t=p.INTERVAL_QUANTIFIER:(o===">"&&t===p.GROUP_NAME||o==="}"&&(t===p.INTERVAL_QUANTIFIER||q.has(t))||t===p.INVALID_INCOMPLETE_TOKEN)&&(t=p.DEFAULT)}return{regexContext:t,charClassContext:r,charClassDepth:s,lastPos:e.length}}function ce(e,n,t){let r=0;for(let[s]of e.matchAll(new RegExp(`[${ee(n+t,g.CHAR_CLASS)}]`,"g")))if(r+=s===n?1:-1,r<0)return t;return r>0?n:""}function ge(e,n,t,r){let s={raw:[]},a=[],i;return e.raw.forEach((o,u)=>{let c=t(o,{...i,lastPos:0},r);if(s.raw.push(c.transformed),i=c.runningContext,u<e.raw.length-1){let f=n[u];if(f instanceof _){let m=t(f,{...i,lastPos:0},r);a.push(Q(m.transformed)),i=m.runningContext}else a.push(f)}}),{template:s,substitutions:a}}function Ee(e){return e.replace(/^\^/,"\\^^")}function W(e){return e.replace(new RegExp(`^([${R}])(?!\\1)`),(n,t,r)=>`\\${n}${r+1===e.length?"":n}`)}function y(e,n){return N(e,String.raw`\\0(?!\d)`,"\\x00",n)}var ke="&!#%,:;<=>@`~",Ge=new RegExp(String.raw` | ||
\[\^?-? | ||
@@ -77,3 +77,3 @@ | --?\] | ||
| \\?. | ||
`.replace(/\s+/g,""),"gsu");function Qe(e,n,t){if(!/\\g</.test(e))return{pattern:e,hiddenCaptures:t};let r=j(e,"\\\\(?:[1-9]|k<[^>]+>)",g.DEFAULT),s=r?"(":"(?:",a=new Map,i=[],o=[0],u=[],c=0,f=0,m=0,l=0,C=0,h;for(v.lastIndex=0;h=v.exec(e);){let{0:d,index:S,groups:{subroutineName:w,capturingStart:O,backrefNum:_,backrefName:I}}=h;if(d==="[")C++;else if(C)d==="]"&&C--;else if(w){if(!n.has(w))throw new Error(`Invalid named capture referenced by subroutine ${d}`);if(a.has(w))throw new Error(`Subroutine ${d} followed a recursive reference`);let A=n.get(w).contents,$=`${s}${A})`;r&&(m=0,f++,Se(t,u,c+f)),a.set(w,{unclosedGroupCount:ze($)}),i.push(w),e=U(e,S,d,$),v.lastIndex-=d.length-s.length}else if(O)a.size?(r&&(m++,f++,Se(t,u,c+f)),d!=="("&&(e=U(e,S,d,s),v.lastIndex-=d.length-s.length)):r&&(o.push(re(o)+1+f-l),l=f,c++);else if((_||I)&&a.size){let A=_?+_:n.get(I)?.groupNum,$=!1;for(let L of i){let T=n.get(L);if(A>=T.groupNum&&A<=T.groupNum+T.numCaptures){$=!0;break}}if($){let L=n.get(re(i)),T=c+f-m,P=`\\k<$$b${A}s${T}r${L.groupNum}c${L.numCaptures}>`;e=U(e,S,d,P),v.lastIndex+=P.length-d.length}}else if(d===")"&&a.size){let A=a.get(re(i));A.unclosedGroupCount--,A.unclosedGroupCount||a.delete(i.pop())}}return t.push(...u),r&&(e=N(e,String.raw`\\(?:(?<bNum>[1-9]\d*)|k<\$\$b(?<bNumSub>\d+)s(?<subNum>\d+)r(?<refNum>\d+)c(?<refCaps>\d+)>)`,({0:d,groups:{bNum:S,bNumSub:w,subNum:O,refNum:_,refCaps:I}})=>{if(S){let P=+S;if(P>o.length-1)throw new Error(`Backref "${d}" greater than number of captures`);return`\\${o[P]}`}let A=+w,$=+O,L=+_,T=+I;return A<L||A>L+T?`\\${o[A]}`:`\\${$-L+A}`},g.DEFAULT)),{pattern:e,hiddenCaptures:t}}var ne=new RegExp(String.raw`${z}|\(\?:\)|(?<invalid>\\?.)`,"gsu");function qe(e,n){let t=H(e,String.raw`\(\?\(DEFINE\)`,0,g.DEFAULT);if(!t)return e;let r=Ne(e,t);if(r.afterPos<e.length)throw new Error("DEFINE group allowed only at the end of a regex");if(r.afterPos>e.length)throw new Error("DEFINE group is unclosed");let s;for(ne.lastIndex=0;s=ne.exec(r.contents);){let{captureName:a,invalid:i}=s.groups;if(a){let o=Ne(r.contents,s),u;if(!n.get(a).isUnique)u=a;else{let c=Ie(o.contents,{includeContents:!1});for(let f of c.keys())if(!n.get(f).isUnique){u=f;break}}if(u)throw new Error(`Duplicate group name "${u}" within DEFINE`);ne.lastIndex=o.afterPos}else if(i)throw new Error("DEFINE group includes unsupported syntax at top level")}return e.slice(0,t.index)}function ze(e){let n=0;return k(e,"\\(",()=>n++,g.DEFAULT),n}function Be(e,n){let t=0,r=0,s;for(;s=H(e,B,r,g.DEFAULT);){let{0:a,index:i,groups:{captureName:o}}=s;if(t++,o===n)break;r=i+a.length}return t}function Ne(e,n){let t=n.index+n[0].length,r=J(e,t),s=t+r.length+1;return{contents:r,afterPos:s}}function Ie(e,{includeContents:n}){let t=new Map;return k(e,z,({0:r,index:s,groups:{captureName:a}})=>{if(t.has(a))t.get(a).isUnique=!1;else{let i={isUnique:!0};if(n){let o=J(e,s+r.length);Object.assign(i,{contents:o,groupNum:Be(e,a),numCaptures:x(o)})}t.set(a,i)}},g.DEFAULT),t}function re(e){return e[e.length-1]}function Se(e,n,t){n.push(t),V(e,t)}var We=(e,...n)=>{if(Array.isArray(e?.raw))return se({},e,...n);if((typeof e=="string"||e===void 0)&&!n.length)return se.bind(null,{flags:e??""});if({}.toString.call(e)==="[object Object]"&&!n.length)return se.bind(null,e);throw new Error(`Unexpected arguments: ${JSON.stringify([e,...n])}`)},se=(e,n,...t)=>{let r=$e(e),s=De(n,t,r),a=0,i="",o;s.template.raw.forEach((c,f)=>{let m=!!(s.template.raw[f]||s.template.raw[f+1]);a+=x(c),i+=y(c,g.CHAR_CLASS),o=F(i,o);let{regexContext:l,charClassContext:C}=o;if(f<s.template.raw.length-1){let h=s.substitutions[f];i+=Ze(h,r.flags,l,C,m,a),h instanceof RegExp?a+=x(h.source):h instanceof D&&(a+=x(String(h)))}});let u=_e(i,r);i=u.pattern;try{return r.subclass?new K(i,r.flags,{hiddenCaptures:u.hiddenCaptures}):new RegExp(i,r.flags)}catch(c){let f=c.message.replace(/ \/.+\/[a-z]*:/,"");throw c.message=`${f}: /${i}/${r.flags}`,c}};function Ke(e="",n){let t=$e(n);if(t.subclass)throw new Error("Cannot use option subclass");return{pattern:_e(De({raw:[e]},[],t).template.raw[0],t).pattern,flags:t.flags}}function $e(e){let n={flags:"",subclass:!1,plugins:[],unicodeSetsPlugin:he,disable:{},force:{},...e};if(/[nuvx]/.test(n.flags))throw new Error("Implicit flags v/u/x/n cannot be explicitly added");let t=n.force.v||(n.disable.v?!1:fe);return n.flags+=t?"v":"u",t&&(n.unicodeSetsPlugin=null),n}function De(e,n,t){let r=[];t.disable.x||r.push(we),t.disable.n||r.push(me);for(let s of r)({template:e,substitutions:n}=ge(e,n,s,t));return{template:e,substitutions:n}}function _e(e,{flags:n,plugins:t,unicodeSetsPlugin:r,disable:s}){let a=[];return[...t,...s.subroutines?[]:[Le],...s.atomic?[]:[ue,ae],...s.x?[]:[Ae],...r?[r]:[]].forEach(i=>{let o=i(e,{flags:n,hiddenCaptures:a});if(typeof o?.pattern!="string")throw new Error('Plugin must return an object with a string property "pattern"');e=o.pattern,o.hiddenCaptures&&(a=o.hiddenCaptures)}),{pattern:e,hiddenCaptures:a}}function Ze(e,n,t,r,s,a){if(e instanceof RegExp&&t!==p.DEFAULT)throw new Error("Cannot interpolate a RegExp at this position because the syntax context does not match");if(t===p.INVALID_INCOMPLETE_TOKEN||r===E.INVALID_INCOMPLETE_TOKEN)throw new Error("Interpolation preceded by invalid incomplete token");if(typeof e=="number"&&(t===p.ENCLOSED_U||r===E.ENCLOSED_U))return e.toString(16);let i=e instanceof D,o="";if(!(e instanceof RegExp)){e=String(e),i||(o=ee(e,t===p.CHAR_CLASS?g.CHAR_CLASS:g.DEFAULT));let u=de(o||e,t,r);if(u)throw new Error(`Unescaped stray "${u}" in the interpolated value would have side effects outside it`)}if(t===p.INTERVAL_QUANTIFIER||t===p.GROUP_NAME||q.has(t)||G.has(r))return i?String(e):o;if(t===p.CHAR_CLASS){if(i){if(j(String(e),"^-|^&&|-$|&&$"))throw new Error("Cannot use range or set operator at boundary of interpolated pattern; move the operation into the pattern or the operator outside of it");let u=Ee(W(e));return Y(e)?`[${u}]`:y(u)}return Y(o)?`[${o}]`:o}if(e instanceof RegExp){let u=Je(e,n),c=pe(u.value,a);return u.usedModifier?c:`(?:${c})`}return i?`(?:${e})`:s?`(?:${o})`:o}function Je(e,n){let t={i:null,m:null,s:null},r="\\n\\r\\u2028\\u2029",s=e.source;if(e.ignoreCase!==n.includes("i"))if(M)t.i=e.ignoreCase;else throw new Error("Pattern modifiers not supported, so flag i on the outer and interpolated regex must match");if(e.dotAll!==n.includes("s")&&(M?t.s=e.dotAll:s=N(s,"\\.",e.dotAll?"[^]":`[^${r}]`,g.DEFAULT)),e.multiline!==n.includes("m")&&(M?t.m=e.multiline:(s=N(s,"\\^",e.multiline?`(?<=^|[${r}])`:"(?<![^])",g.DEFAULT),s=N(s,"\\$",e.multiline?`(?=$|[${r}])`:"(?![^])",g.DEFAULT))),M){let a=Object.keys(t),i=a.filter(u=>t[u]===!0).join(""),o=a.filter(u=>t[u]===!1).join("");if(o&&(i+=`-${o}`),i)return{value:`(?${i}:${s})`,usedModifier:!0}}return{value:s}}return Fe(Xe);})(); | ||
`.replace(/\s+/g,""),"gsu");function Qe(e,n,t){if(!/\\g</.test(e))return{pattern:e,hiddenCaptures:t};let r=j(e,"\\\\(?:[1-9]|k<[^>]+>)",g.DEFAULT),s=r?"(":"(?:",a=new Map,i=[],o=[0],u=[],c=0,f=0,m=0,l=0,C=0,h;for(v.lastIndex=0;h=v.exec(e);){let{0:d,index:S,groups:{subroutineName:w,capturingStart:O,backrefNum:T,backrefName:$}}=h;if(d==="[")C++;else if(C)d==="]"&&C--;else if(w){if(!n.has(w))throw new Error(`Invalid named capture referenced by subroutine ${d}`);if(a.has(w))throw new Error(`Subroutine ${d} followed a recursive reference`);let A=n.get(w).contents,D=`${s}${A})`;r&&(m=0,f++,Se(t,u,c+f)),a.set(w,{unclosedGroupCount:ze(D)}),i.push(w),e=U(e,S,d,D),v.lastIndex-=d.length-s.length}else if(O)a.size?(r&&(m++,f++,Se(t,u,c+f)),d!=="("&&(e=U(e,S,d,s),v.lastIndex-=d.length-s.length)):r&&(o.push(re(o)+1+f-l),l=f,c++);else if((T||$)&&a.size){let A=T?+T:n.get($)?.groupNum,D=!1;for(let L of i){let I=n.get(L);if(A>=I.groupNum&&A<=I.groupNum+I.numCaptures){D=!0;break}}if(D){let L=n.get(re(i)),I=c+f-m,P=`\\k<$$b${A}s${I}r${L.groupNum}c${L.numCaptures}>`;e=U(e,S,d,P),v.lastIndex+=P.length-d.length}}else if(d===")"&&a.size){let A=a.get(re(i));A.unclosedGroupCount--,A.unclosedGroupCount||a.delete(i.pop())}}return t.push(...u),r&&(e=N(e,String.raw`\\(?:(?<bNum>[1-9]\d*)|k<\$\$b(?<bNumSub>\d+)s(?<subNum>\d+)r(?<refNum>\d+)c(?<refCaps>\d+)>)`,({0:d,groups:{bNum:S,bNumSub:w,subNum:O,refNum:T,refCaps:$}})=>{if(S){let P=+S;if(P>o.length-1)throw new Error(`Backref "${d}" greater than number of captures`);return`\\${o[P]}`}let A=+w,D=+O,L=+T,I=+$;return A<L||A>L+I?`\\${o[A]}`:`\\${D-L+A}`},g.DEFAULT)),{pattern:e,hiddenCaptures:t}}var ne=new RegExp(String.raw`${z}|\(\?:\)|(?<invalid>\\?.)`,"gsu");function qe(e,n){let t=H(e,String.raw`\(\?\(DEFINE\)`,0,g.DEFAULT);if(!t)return e;let r=Ne(e,t);if(r.afterPos<e.length)throw new Error("DEFINE group allowed only at the end of a regex");if(r.afterPos>e.length)throw new Error("DEFINE group is unclosed");let s;for(ne.lastIndex=0;s=ne.exec(r.contents);){let{captureName:a,invalid:i}=s.groups;if(a){let o=Ne(r.contents,s),u;if(!n.get(a).isUnique)u=a;else{let c=Ie(o.contents,{includeContents:!1});for(let f of c.keys())if(!n.get(f).isUnique){u=f;break}}if(u)throw new Error(`Duplicate group name "${u}" within DEFINE`);ne.lastIndex=o.afterPos}else if(i)throw new Error("DEFINE group includes unsupported syntax at top level")}return e.slice(0,t.index)}function ze(e){let n=0;return k(e,"\\(",()=>n++,g.DEFAULT),n}function Be(e,n){let t=0,r=0,s;for(;s=H(e,B,r,g.DEFAULT);){let{0:a,index:i,groups:{captureName:o}}=s;if(t++,o===n)break;r=i+a.length}return t}function Ne(e,n){let t=n.index+n[0].length,r=J(e,t),s=t+r.length+1;return{contents:r,afterPos:s}}function Ie(e,{includeContents:n}){let t=new Map;return k(e,z,({0:r,index:s,groups:{captureName:a}})=>{if(t.has(a))t.get(a).isUnique=!1;else{let i={isUnique:!0};if(n){let o=J(e,s+r.length);Object.assign(i,{contents:o,groupNum:Be(e,a),numCaptures:x(o)})}t.set(a,i)}},g.DEFAULT),t}function re(e){return e[e.length-1]}function Se(e,n,t){n.push(t),V(e,t)}var We=(e,...n)=>{if(Array.isArray(e?.raw))return se({},e,...n);if((typeof e=="string"||e===void 0)&&!n.length)return se.bind(null,{flags:e??""});if({}.toString.call(e)==="[object Object]"&&!n.length)return se.bind(null,e);throw new Error(`Unexpected arguments: ${JSON.stringify([e,...n])}`)},se=(e,n,...t)=>{let r=$e(e),s=De(n,t,r),a=0,i="",o;s.template.raw.forEach((c,f)=>{let m=!!(s.template.raw[f]||s.template.raw[f+1]);a+=x(c),i+=y(c,g.CHAR_CLASS),o=F(i,o);let{regexContext:l,charClassContext:C}=o;if(f<s.template.raw.length-1){let h=s.substitutions[f];i+=Ze(h,r.flags,l,C,m,a),h instanceof RegExp?a+=x(h.source):h instanceof _&&(a+=x(String(h)))}});let u=_e(i,r);i=u.pattern;try{return r.subclass?new K(i,r.flags,{hiddenCaptures:u.hiddenCaptures}):new RegExp(i,r.flags)}catch(c){let f=c.message.replace(/ \/.+\/[a-z]*:/,"");throw c.message=`${f}: /${i}/${r.flags}`,c}};function Ke(e="",n){let t=$e(n);if(t.subclass)throw new Error("Cannot use option subclass");return{pattern:_e(De({raw:[e]},[],t).template.raw[0],t).pattern,flags:t.flags}}function $e(e){let n={flags:"",subclass:!1,plugins:[],unicodeSetsPlugin:he,disable:{},force:{},...e};if(/[nuvx]/.test(n.flags))throw new Error("Implicit flags v/u/x/n cannot be explicitly added");let t=n.force.v||(n.disable.v?!1:fe);return n.flags+=t?"v":"u",t&&(n.unicodeSetsPlugin=null),n}function De(e,n,t){let r=[];t.disable.x||r.push(we),t.disable.n||r.push(me);for(let s of r)({template:e,substitutions:n}=ge(e,n,s,t));return{template:e,substitutions:n}}function _e(e,{flags:n,plugins:t,unicodeSetsPlugin:r,disable:s}){let a=[];return[...t,...s.subroutines?[]:[Le],...s.atomic?[]:[ue,ae],...s.x?[]:[Ae],...r?[r]:[]].forEach(i=>{let o=i(e,{flags:n,hiddenCaptures:a});if(typeof o?.pattern!="string")throw new Error('Plugin must return an object with a string property "pattern"');e=o.pattern,o.hiddenCaptures&&(a=o.hiddenCaptures)}),{pattern:e,hiddenCaptures:a}}function Ze(e,n,t,r,s,a){if(e instanceof RegExp&&t!==p.DEFAULT)throw new Error("Cannot interpolate a RegExp at this position because the syntax context does not match");if(t===p.INVALID_INCOMPLETE_TOKEN||r===E.INVALID_INCOMPLETE_TOKEN)throw new Error("Interpolation preceded by invalid incomplete token");if(typeof e=="number"&&(t===p.ENCLOSED_U||r===E.ENCLOSED_U))return e.toString(16);let i=e instanceof _,o="";if(!(e instanceof RegExp)){e=String(e),i||(o=ee(e,t===p.CHAR_CLASS?g.CHAR_CLASS:g.DEFAULT));let u=de(o||e,t,r);if(u)throw new Error(`Unescaped stray "${u}" in the interpolated value would have side effects outside it`)}if(t===p.INTERVAL_QUANTIFIER||t===p.GROUP_NAME||q.has(t)||G.has(r))return i?String(e):o;if(t===p.CHAR_CLASS){if(i){if(j(String(e),"^-|^&&|-$|&&$"))throw new Error("Cannot use range or set operator at boundary of interpolated pattern; move the operation into the pattern or the operator outside of it");let u=Ee(W(e));return Y(e)?`[${u}]`:y(u)}return Y(o)?`[${o}]`:o}if(e instanceof RegExp){let u=Je(e,n),c=pe(u.value,a);return u.usedModifier?c:`(?:${c})`}return i?`(?:${e})`:s?`(?:${o})`:o}function Je(e,n){let t={i:null,m:null,s:null},r="\\n\\r\\u2028\\u2029",s=e.source;if(e.ignoreCase!==n.includes("i"))if(M)t.i=e.ignoreCase;else throw new Error("Pattern modifiers not supported, so flag i on the outer and interpolated regex must match");if(e.dotAll!==n.includes("s")&&(M?t.s=e.dotAll:s=N(s,"\\.",e.dotAll?"[^]":`[^${r}]`,g.DEFAULT)),e.multiline!==n.includes("m")&&(M?t.m=e.multiline:(s=N(s,"\\^",e.multiline?`(?<=^|[${r}])`:"(?<![^])",g.DEFAULT),s=N(s,"\\$",e.multiline?`(?=$|[${r}])`:"(?![^])",g.DEFAULT))),M){let a=Object.keys(t),i=a.filter(u=>t[u]===!0).join(""),o=a.filter(u=>t[u]===!1).join("");if(o&&(i+=`-${o}`),i)return{value:`(?${i}:${s})`,usedModifier:!0}}return{value:s}}return Fe(Xe);})(); | ||
//# sourceMappingURL=regex.min.js.map |
{ | ||
"name": "regex", | ||
"version": "6.0.0", | ||
"version": "6.0.1", | ||
"description": "Regex template tag with extended syntax, context-aware interpolation, and always-on best practices", | ||
@@ -5,0 +5,0 @@ "author": "Steven Levithan", |
@@ -73,7 +73,6 @@ import {incrementIfAtLeast, noncapturingDelim, spliceStr} from './utils-internals.js'; | ||
const newCaptureTransfers = new Map(); | ||
captureTransfers.forEach((/** @type {number} */ from, /** @type {number | string} */ to) => { | ||
captureTransfers.forEach((from, to) => { | ||
newCaptureTransfers.set( | ||
// `to` can be a group number or name | ||
to >= addedCaptureNum ? to + 1 : to, | ||
from + (from >= addedCaptureNum ? 1 : 0) | ||
from.map(f => f >= addedCaptureNum ? f + 1 : f) | ||
); | ||
@@ -80,0 +79,0 @@ }); |
@@ -15,3 +15,3 @@ import {atomic, possessive} from './atomic.js'; | ||
flags?: string; | ||
captureTransfers?: Map<number | string, number>; | ||
captureTransfers?: Map<number, Array<number>>; | ||
hiddenCaptures?: Array<number>; | ||
@@ -21,3 +21,3 @@ }} PluginData | ||
pattern: string; | ||
captureTransfers?: Map<number | string, number>; | ||
captureTransfers?: Map<number, Array<number>>; | ||
hiddenCaptures?: Array<number>; | ||
@@ -24,0 +24,0 @@ }} PluginResult |
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
555301
5227