From 2e56cef0c59b6f2de41691b9c6cc3c47e85b6264 Mon Sep 17 00:00:00 2001 From: Alan Christopher Thomas Date: Tue, 14 May 2019 16:02:53 -0500 Subject: [PATCH] Allow build subs parameter to accept objects (#35351) --- types/xregexp/index.d.ts | 4 ++-- types/xregexp/xregexp-tests.ts | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) 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);