diff --git a/types/xregexp/index.d.ts b/types/xregexp/index.d.ts index 35cd7cf970..6a1afd1f94 100644 --- a/types/xregexp/index.d.ts +++ b/types/xregexp/index.d.ts @@ -49,7 +49,7 @@ declare namespace OuterXRegExp { // begin API definitions function addToken(regex: RegExp, handler: (matchArr: RegExpExecArray, scope: string) => string, options?: TokenOpts): void; - function build(pattern: string, subs: string[], flags?: string): RegExp; + function build(pattern: string, subs: string[] | {[name: string]: RegExp}, flags?: string): RegExp; function cache(pattern: string, flags?: string): RegExp; function escape(str: string): string; function exec(str: string, regex: RegExp, pos?: number, sticky?: boolean): RegExpExecArray; @@ -92,7 +92,7 @@ declare namespace OuterXRegExp { // begin API definitions function addToken(regex: RegExp, handler: (matchArr: RegExpExecArray, scope: string) => string, options?: TokenOpts): void; - function build(pattern: string, subs: string[], flags?: string): RegExp; + function build(pattern: string, subs: string[] | {[name: string]: RegExp}, flags?: string): RegExp; function cache(pattern: string, flags?: string): RegExp; function escape(str: string): string; function exec(str: string, regex: RegExp, pos?: number, sticky?: boolean): RegExpExecArray; diff --git a/types/xregexp/xregexp-tests.ts b/types/xregexp/xregexp-tests.ts index 1dc60bce27..5a9ee3dd08 100644 --- a/types/xregexp/xregexp-tests.ts +++ b/types/xregexp/xregexp-tests.ts @@ -22,6 +22,7 @@ var bool: boolean; var strArr: string[]; var strArrArr: string[][]; var pattern: string; +var subs: { [name: string]: RegExp }; var flags: string; var right: string; var left: string; @@ -68,6 +69,8 @@ XRegExp.addToken(regex, (arr, scope) => { regex = XRegExp.build(pattern, strArr, flags); regex = XRegExp.build(pattern, strArr); +regex = XRegExp.build(pattern, subs, flags); +regex = XRegExp.build(pattern, subs); regex = XRegExp.cache(pattern); regex = XRegExp.cache(pattern, flags);