32 lines
812 B
TypeScript
32 lines
812 B
TypeScript
|
/**
|
||
|
Works the same as JavaScript's native `RegExp` constructor in all contexts, but automatically
|
||
|
adjusts subpattern matches and indices (with flag `d`) to account for captures added as part of
|
||
|
emulating extended syntax.
|
||
|
*/
|
||
|
export class RegExpSubclass extends RegExp {
|
||
|
/**
|
||
|
@overload
|
||
|
@param {string} expression
|
||
|
@param {string} [flags]
|
||
|
@param {{
|
||
|
hiddenCaptures?: Array<number>;
|
||
|
}} [options]
|
||
|
*/
|
||
|
constructor(expression: string, flags?: string, options?: {
|
||
|
hiddenCaptures?: Array<number>;
|
||
|
});
|
||
|
/**
|
||
|
@overload
|
||
|
@param {RegExpSubclass} expression
|
||
|
@param {string} [flags]
|
||
|
*/
|
||
|
constructor(expression: RegExpSubclass, flags?: string);
|
||
|
/**
|
||
|
@private
|
||
|
@type {Map<number, {
|
||
|
hidden: true;
|
||
|
}>}
|
||
|
*/
|
||
|
private _captureMap;
|
||
|
}
|