Return iterable of RegExpExecArray from RegExp#[Symbol.matchAll]

This commit is contained in:
lionel-rowe 2024-11-16 17:19:24 +08:00
Родитель b3c67d3202
Коммит 11944f3fe6
Не найден ключ, соответствующий данной подписи
3 изменённых файлов: 37 добавлений и 37 удалений

2
src/lib/es2020.symbol.wellknown.d.ts поставляемый
Просмотреть файл

@ -19,5 +19,5 @@ interface RegExp {
* containing the results of that search.
* @param string A string to search within.
*/
[Symbol.matchAll](str: string): RegExpStringIterator<RegExpMatchArray>;
[Symbol.matchAll](str: string): RegExpStringIterator<RegExpExecArray>;
}

Просмотреть файл

@ -2,12 +2,12 @@
=== regexMatchAll-esnext.ts ===
const matches = /\w/g[Symbol.matchAll]("matchAll");
>matches : RegExpStringIterator<RegExpMatchArray>
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>/\w/g[Symbol.matchAll]("matchAll") : RegExpStringIterator<RegExpMatchArray>
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>/\w/g[Symbol.matchAll] : (str: string) => RegExpStringIterator<RegExpMatchArray>
> : ^ ^^ ^^^^^
>matches : RegExpStringIterator<RegExpExecArray>
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>/\w/g[Symbol.matchAll]("matchAll") : RegExpStringIterator<RegExpExecArray>
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>/\w/g[Symbol.matchAll] : (str: string) => RegExpStringIterator<RegExpExecArray>
> : ^ ^^ ^^^^^
>/\w/g : RegExp
> : ^^^^^^
>Symbol.matchAll : unique symbol
@ -20,24 +20,24 @@ const matches = /\w/g[Symbol.matchAll]("matchAll");
> : ^^^^^^^^^^
const array = [...matches];
>array : RegExpMatchArray[]
> : ^^^^^^^^^^^^^^^^^^
>[...matches] : RegExpMatchArray[]
> : ^^^^^^^^^^^^^^^^^^
>...matches : RegExpMatchArray
> : ^^^^^^^^^^^^^^^^
>matches : RegExpStringIterator<RegExpMatchArray>
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>array : RegExpExecArray[]
> : ^^^^^^^^^^^^^^^^^
>[...matches] : RegExpExecArray[]
> : ^^^^^^^^^^^^^^^^^
>...matches : RegExpExecArray
> : ^^^^^^^^^^^^^^^
>matches : RegExpStringIterator<RegExpExecArray>
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
const { index, input } = array[0];
>index : number
> : ^^^^^^
>input : string
> : ^^^^^^
>array[0] : RegExpMatchArray
> : ^^^^^^^^^^^^^^^^
>array : RegExpMatchArray[]
> : ^^^^^^^^^^^^^^^^^^
>array[0] : RegExpExecArray
> : ^^^^^^^^^^^^^^^
>array : RegExpExecArray[]
> : ^^^^^^^^^^^^^^^^^
>0 : 0
> : ^

Просмотреть файл

@ -2,12 +2,12 @@
=== regexMatchAll.ts ===
const matches = /\w/g[Symbol.matchAll]("matchAll");
>matches : RegExpStringIterator<RegExpMatchArray>
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>/\w/g[Symbol.matchAll]("matchAll") : RegExpStringIterator<RegExpMatchArray>
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>/\w/g[Symbol.matchAll] : (str: string) => RegExpStringIterator<RegExpMatchArray>
> : ^ ^^ ^^^^^
>matches : RegExpStringIterator<RegExpExecArray>
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>/\w/g[Symbol.matchAll]("matchAll") : RegExpStringIterator<RegExpExecArray>
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>/\w/g[Symbol.matchAll] : (str: string) => RegExpStringIterator<RegExpExecArray>
> : ^ ^^ ^^^^^
>/\w/g : RegExp
> : ^^^^^^
>Symbol.matchAll : unique symbol
@ -20,24 +20,24 @@ const matches = /\w/g[Symbol.matchAll]("matchAll");
> : ^^^^^^^^^^
const array = [...matches];
>array : RegExpMatchArray[]
> : ^^^^^^^^^^^^^^^^^^
>[...matches] : RegExpMatchArray[]
> : ^^^^^^^^^^^^^^^^^^
>...matches : RegExpMatchArray
> : ^^^^^^^^^^^^^^^^
>matches : RegExpStringIterator<RegExpMatchArray>
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>array : RegExpExecArray[]
> : ^^^^^^^^^^^^^^^^^
>[...matches] : RegExpExecArray[]
> : ^^^^^^^^^^^^^^^^^
>...matches : RegExpExecArray
> : ^^^^^^^^^^^^^^^
>matches : RegExpStringIterator<RegExpExecArray>
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
const { index, input } = array[0];
>index : number
> : ^^^^^^
>input : string
> : ^^^^^^
>array[0] : RegExpMatchArray
> : ^^^^^^^^^^^^^^^^
>array : RegExpMatchArray[]
> : ^^^^^^^^^^^^^^^^^^
>array[0] : RegExpExecArray
> : ^^^^^^^^^^^^^^^
>array : RegExpExecArray[]
> : ^^^^^^^^^^^^^^^^^
>0 : 0
> : ^