From 6b20f86526444c885cbf1553ba49f4f2f4a6573e Mon Sep 17 00:00:00 2001 From: Steven Levithan Date: Mon, 16 Dec 2024 15:16:25 +0100 Subject: [PATCH 1/8] draft: investigating source of mismatches in js engine --- docs/references/engine-js-compat.md | 35 +- packages/engine-javascript/src/index.ts | 8 +- .../test/__records__/beancount.js.json | 476 ++++ .../test/__records__/beancount.json | 2010 +++++++++++++++++ .../engine-javascript/test/compare.test.ts | 54 +- .../engine-javascript/test/verify.test.ts | 5 - vitest.config.ts | 14 - 7 files changed, 2562 insertions(+), 40 deletions(-) create mode 100644 packages/engine-javascript/test/__records__/beancount.js.json create mode 100644 packages/engine-javascript/test/__records__/beancount.json diff --git a/docs/references/engine-js-compat.md b/docs/references/engine-js-compat.md index cef886af..df264fe8 100644 --- a/docs/references/engine-js-compat.md +++ b/docs/references/engine-js-compat.md @@ -2,9 +2,9 @@ Compatibility reference of all built-in grammars with the [JavaScript RegExp engine](/guide/regex-engines#javascript-regexp-engine-experimental). -> Generated on Wednesday, November 27, 2024 +> Generated on Monday, December 16, 2024 > -> Version `1.23.1` +> Version `1.24.2` > > Runtime: Node.js v22.11.0 @@ -12,9 +12,9 @@ Compatibility reference of all built-in grammars with the [JavaScript RegExp eng | | Count | | :-------------- | --------------------------: | -| Total Languages | 215 | -| Supported | [197](#supported-languages) | -| Mismatched | [12](#mismatched-languages) | +| Total Languages | 218 | +| Supported | [199](#supported-languages) | +| Mismatched | [13](#mismatched-languages) | | Unsupported | [6](#unsupported-languages) | ## Supported Languages @@ -43,9 +43,10 @@ In some edge cases, it's not guaranteed that the highlighting will be 100% the s | bibtex | ✅ OK | 19 | - | | | bicep | ✅ OK | 27 | - | | | blade | ✅ OK | 1126 | - | | +| bsl | ✅ OK | 96 | - | | | c | ✅ OK | 177 | - | | | cadence | ✅ OK | 71 | - | | -| cairo | ✅ OK | 80 | - | | +| cairo | ✅ OK | 236 | - | | | clarity | ✅ OK | 43 | - | | | clj | ✅ OK | 38 | - | | | clojure | ✅ OK | 38 | - | | @@ -55,14 +56,14 @@ In some edge cases, it's not guaranteed that the highlighting will be 100% the s | codeql | ✅ OK | 151 | - | | | coffee | ✅ OK | 469 | - | | | common-lisp | ✅ OK | 60 | - | | -| coq | ✅ OK | 25 | - | | +| coq | ✅ OK | 26 | - | | | crystal | ✅ OK | 1067 | - | | | css | ✅ OK | 141 | - | | | csv | ✅ OK | 1 | - | | | cue | ✅ OK | 85 | - | | | cypher | ✅ OK | 39 | - | | | d | ✅ OK | 270 | - | | -| dart | ✅ OK | 72 | - | | +| dart | ✅ OK | 76 | - | | | dax | ✅ OK | 23 | - | | | desktop | ✅ OK | 16 | - | | | diff | ✅ OK | 16 | - | | @@ -82,8 +83,8 @@ In some edge cases, it's not guaranteed that the highlighting will be 100% the s | fortran-free-form | ✅ OK | 328 | - | | | fsharp | ✅ OK | 239 | - | | | fsl | ✅ OK | 30 | - | | -| gdresource | ✅ OK | 157 | - | | -| gdscript | ✅ OK | 93 | - | | +| gdresource | ✅ OK | 159 | - | | +| gdscript | ✅ OK | 95 | - | | | gdshader | ✅ OK | 39 | - | | | genie | ✅ OK | 20 | - | | | gherkin | ✅ OK | 19 | - | | @@ -92,7 +93,7 @@ In some edge cases, it's not guaranteed that the highlighting will be 100% the s | glimmer-ts | ✅ OK | 676 | - | | | glsl | ✅ OK | 186 | - | | | gnuplot | ✅ OK | 82 | - | | -| go | ✅ OK | 123 | - | | +| go | ✅ OK | 125 | - | | | graphql | ✅ OK | 448 | - | | | groovy | ✅ OK | 133 | - | | | haml | ✅ OK | 562 | - | | @@ -122,7 +123,7 @@ In some edge cases, it's not guaranteed that the highlighting will be 100% the s | latex | ✅ OK | 283 | - | | | lean | ✅ OK | 32 | - | | | less | ✅ OK | 280 | - | | -| liquid | ✅ OK | 684 | - | | +| liquid | ✅ OK | 689 | - | | | log | ✅ OK | 30 | - | | | logo | ✅ OK | 9 | - | | | lua | ✅ OK | 278 | - | | @@ -130,9 +131,8 @@ In some edge cases, it's not guaranteed that the highlighting will be 100% the s | make | ✅ OK | 51 | - | | | marko | ✅ OK | 926 | - | | | matlab | ✅ OK | 88 | - | | -| mdc | ✅ OK | 783 | - | | | mdx | ✅ OK | 197 | - | | -| mermaid | ✅ OK | 129 | - | | +| mermaid | ✅ OK | 134 | - | | | mipsasm | ✅ OK | 17 | - | | | mojo | ✅ OK | 213 | - | | | move | ✅ OK | 120 | - | | @@ -159,7 +159,7 @@ In some edge cases, it's not guaranteed that the highlighting will be 100% the s | qmldir | ✅ OK | 7 | - | | | qss | ✅ OK | 31 | - | | | r | ✅ OK | 71 | - | | -| racket | ✅ OK | 69 | - | | +| racket | ✅ OK | 69 | - | 8 | | raku | ✅ OK | 52 | - | | | reg | ✅ OK | 9 | - | | | regexp | ✅ OK | 34 | - | | @@ -172,6 +172,7 @@ In some edge cases, it's not guaranteed that the highlighting will be 100% the s | scala | ✅ OK | 117 | - | | | scheme | ✅ OK | 34 | - | | | scss | ✅ OK | 234 | - | | +| sdbl | ✅ OK | 23 | - | | | shaderlab | ✅ OK | 87 | - | | | shellscript | ✅ OK | 148 | - | | | shellsession | ✅ OK | 150 | - | | @@ -187,9 +188,10 @@ In some edge cases, it's not guaranteed that the highlighting will be 100% the s | svelte | ✅ OK | 637 | - | | | system-verilog | ✅ OK | 102 | - | | | systemd | ✅ OK | 32 | - | | +| talonscript | ✅ OK | 44 | - | | | tasl | ✅ OK | 23 | - | | | tcl | ✅ OK | 34 | - | | -| templ | ✅ OK | 673 | - | | +| templ | ✅ OK | 675 | - | | | terraform | ✅ OK | 68 | - | | | tex | ✅ OK | 106 | - | | | toml | ✅ OK | 44 | - | | @@ -242,6 +244,7 @@ Languages that do not throw with the JavaScript RegExp engine, but will produce | kotlin | [🚧 Mismatch](https://textmate-grammars-themes.netlify.app/?grammar=kotlin) | 58 | - | 1953 | | kusto | [🚧 Mismatch](https://textmate-grammars-themes.netlify.app/?grammar=kusto) | 60 | - | 40 | | markdown | [🚧 Mismatch](https://textmate-grammars-themes.netlify.app/?grammar=markdown) | 118 | - | 915 | +| mdc | [🚧 Mismatch](https://textmate-grammars-themes.netlify.app/?grammar=mdc) | 783 | - | 702 | | nginx | [🚧 Mismatch](https://textmate-grammars-themes.netlify.app/?grammar=nginx) | 378 | - | 4 | | php | [🚧 Mismatch](https://textmate-grammars-themes.netlify.app/?grammar=php) | 1131 | - | 605 | | po | [🚧 Mismatch](https://textmate-grammars-themes.netlify.app/?grammar=po) | 23 | - | 423 | diff --git a/packages/engine-javascript/src/index.ts b/packages/engine-javascript/src/index.ts index 9428acaa..2c9e20c8 100644 --- a/packages/engine-javascript/src/index.ts +++ b/packages/engine-javascript/src/index.ts @@ -58,7 +58,11 @@ export function defaultJavaScriptRegexConstructor(pattern: string, options?: Oni hasIndices: true, rules: { allowOrphanBackrefs: true, + // Dropping unhandled `\G` anchors without erroring allows more grammars to pass but also + // allows some false positive and negative matches. It's mostly because this is true that + // the JS engine is marked as experimental allowUnhandledGAnchors: true, + // Improves search performance for generated regexes asciiWordBoundaries: true, }, ...options, @@ -118,15 +122,15 @@ export class JavaScriptScanner implements PatternScanner { captureIndices: match.indices!.map((indice) => { if (indice == null) { return { - end: MAX, start: MAX, + end: MAX, length: 0, } } return { start: indice[0] + offset, - length: indice[1] - indice[0], end: indice[1] + offset, + length: indice[1] - indice[0], } }), } diff --git a/packages/engine-javascript/test/__records__/beancount.js.json b/packages/engine-javascript/test/__records__/beancount.js.json new file mode 100644 index 00000000..18c8f1c2 --- /dev/null +++ b/packages/engine-javascript/test/__records__/beancount.js.json @@ -0,0 +1,476 @@ +[ + { + "constractor": [ + [ + ";.*", + "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", + "^\\s*(include)\\s+(\\\".*\\\")", + "^\\s*(option)\\s+(\\\".*\\\")\\s+(\\\".*\\\")", + "^\\s*(plugin)\\s*(\"(.*?)\")\\s*(\".*?\")?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(open|close|pad)\\b", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(custom)\\b", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(event)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(commodity)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?" + ] + ], + "executions": [ + { + "args": [ + "2012-11-03 * \"Transfer to pay credit card\"\n", + 0 + ], + "result": { + "index": 12, + "captureIndices": [ + { + "start": 0, + "end": 43, + "length": 43 + }, + { + "start": 0, + "end": 4, + "length": 4 + }, + { + "start": 4, + "end": 5, + "length": 1 + }, + { + "start": 5, + "end": 7, + "length": 2 + }, + { + "start": 7, + "end": 8, + "length": 1 + }, + { + "start": 8, + "end": 10, + "length": 2 + }, + { + "start": 11, + "end": 12, + "length": 1 + }, + { + "start": 13, + "end": 42, + "length": 29 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "args": [ + "2012-11-03 * \"Transfer to pay credit card\"\n", + 43 + ], + "result": null + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD\n", + 0 + ], + "result": null + }, + { + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 0 + ], + "result": null + }, + { + "args": [ + "2012-11-03 * \"Transfer to account in Canada\"\n", + 0 + ], + "result": { + "index": 12, + "captureIndices": [ + { + "start": 0, + "end": 45, + "length": 45 + }, + { + "start": 0, + "end": 4, + "length": 4 + }, + { + "start": 4, + "end": 5, + "length": 1 + }, + { + "start": 5, + "end": 7, + "length": 2 + }, + { + "start": 7, + "end": 8, + "length": 1 + }, + { + "start": 8, + "end": 10, + "length": 2 + }, + { + "start": 11, + "end": 12, + "length": 1 + }, + { + "start": 13, + "end": 44, + "length": 31 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "args": [ + "2012-11-03 * \"Transfer to account in Canada\"\n", + 45 + ], + "result": null + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 0 + ], + "result": null + }, + { + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 0 + ], + "result": null + }, + { + "args": [ + "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 82, + "length": 82 + } + ] + } + }, + { + "args": [ + "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", + 82 + ], + "result": null + }, + { + "args": [ + "2012-11-03 * \"Transfer to pay credit card\"\n", + 0 + ], + "result": { + "index": 12, + "captureIndices": [ + { + "start": 0, + "end": 43, + "length": 43 + }, + { + "start": 0, + "end": 4, + "length": 4 + }, + { + "start": 4, + "end": 5, + "length": 1 + }, + { + "start": 5, + "end": 7, + "length": 2 + }, + { + "start": 7, + "end": 8, + "length": 1 + }, + { + "start": 8, + "end": 10, + "length": 2 + }, + { + "start": 11, + "end": 12, + "length": 1 + }, + { + "start": 13, + "end": 42, + "length": 29 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "args": [ + "2012-11-03 * \"Transfer to pay credit card\"\n", + 43 + ], + "result": null + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD\n", + 0 + ], + "result": null + }, + { + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 0 + ], + "result": null + }, + { + "args": [ + "2012-11-03 * \"Transfer to account in Canada\"\n", + 0 + ], + "result": { + "index": 12, + "captureIndices": [ + { + "start": 0, + "end": 45, + "length": 45 + }, + { + "start": 0, + "end": 4, + "length": 4 + }, + { + "start": 4, + "end": 5, + "length": 1 + }, + { + "start": 5, + "end": 7, + "length": 2 + }, + { + "start": 7, + "end": 8, + "length": 1 + }, + { + "start": 8, + "end": 10, + "length": 2 + }, + { + "start": 11, + "end": 12, + "length": 1 + }, + { + "start": 13, + "end": 44, + "length": 31 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "args": [ + "2012-11-03 * \"Transfer to account in Canada\"\n", + 45 + ], + "result": null + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 0 + ], + "result": null + }, + { + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 0 + ], + "result": null + }, + { + "args": [ + "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 82, + "length": 82 + } + ] + } + }, + { + "args": [ + "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", + 82 + ], + "result": null + } + ] + }, + { + "constractor": [ + [ + "(?=(^\\s*$|^\\S))", + "(;.*)$", + "^\\s+(?=([A-Z!]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(#)([A-Za-z0-9\\-_/.]+)", + "(\\^)([A-Za-z0-9\\-_/.]+)", + "[^\\s]" + ] + ], + "executions": [ + { + "args": [ + "2012-11-03 * \"Transfer to pay credit card\"\n", + 43 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 43, + "end": 43, + "length": 0 + }, + { + "start": 43, + "end": 43, + "length": 0 + } + ] + } + }, + { + "args": [ + "2012-11-03 * \"Transfer to account in Canada\"\n", + 45 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 45, + "end": 45, + "length": 0 + }, + { + "start": 45, + "end": 45, + "length": 0 + } + ] + } + }, + { + "args": [ + "2012-11-03 * \"Transfer to pay credit card\"\n", + 43 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 43, + "end": 43, + "length": 0 + }, + { + "start": 43, + "end": 43, + "length": 0 + } + ] + } + }, + { + "args": [ + "2012-11-03 * \"Transfer to account in Canada\"\n", + 45 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 45, + "end": 45, + "length": 0 + }, + { + "start": 45, + "end": 45, + "length": 0 + } + ] + } + } + ] + } +] diff --git a/packages/engine-javascript/test/__records__/beancount.json b/packages/engine-javascript/test/__records__/beancount.json new file mode 100644 index 00000000..e0b96e2b --- /dev/null +++ b/packages/engine-javascript/test/__records__/beancount.json @@ -0,0 +1,2010 @@ +[ + { + "constractor": [ + [ + ";.*", + "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", + "^\\s*(include)\\s+(\\\".*\\\")", + "^\\s*(option)\\s+(\\\".*\\\")\\s+(\\\".*\\\")", + "^\\s*(plugin)\\s*(\"(.*?)\")\\s*(\".*?\")?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(open|close|pad)\\b", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(custom)\\b", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(event)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(commodity)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?" + ] + ], + "executions": [ + { + "args": [ + "2012-11-03 * \"Transfer to pay credit card\"\n", + 0 + ], + "result": { + "index": 12, + "captureIndices": [ + { + "start": 0, + "end": 43, + "length": 43 + }, + { + "start": 0, + "end": 4, + "length": 4 + }, + { + "start": 4, + "end": 5, + "length": 1 + }, + { + "start": 5, + "end": 7, + "length": 2 + }, + { + "start": 7, + "end": 8, + "length": 1 + }, + { + "start": 8, + "end": 10, + "length": 2 + }, + { + "start": 11, + "end": 12, + "length": 1 + }, + { + "start": 13, + "end": 42, + "length": 29 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "args": [ + "2012-11-03 * \"Transfer to account in Canada\"\n", + 0 + ], + "result": { + "index": 12, + "captureIndices": [ + { + "start": 0, + "end": 45, + "length": 45 + }, + { + "start": 0, + "end": 4, + "length": 4 + }, + { + "start": 4, + "end": 5, + "length": 1 + }, + { + "start": 5, + "end": 7, + "length": 2 + }, + { + "start": 7, + "end": 8, + "length": 1 + }, + { + "start": 8, + "end": 10, + "length": 2 + }, + { + "start": 11, + "end": 12, + "length": 1 + }, + { + "start": 13, + "end": 44, + "length": 31 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "args": [ + "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 82, + "length": 82 + } + ] + } + }, + { + "args": [ + "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", + 82 + ], + "result": null + }, + { + "args": [ + "2012-11-03 * \"Transfer to pay credit card\"\n", + 0 + ], + "result": { + "index": 12, + "captureIndices": [ + { + "start": 0, + "end": 43, + "length": 43 + }, + { + "start": 0, + "end": 4, + "length": 4 + }, + { + "start": 4, + "end": 5, + "length": 1 + }, + { + "start": 5, + "end": 7, + "length": 2 + }, + { + "start": 7, + "end": 8, + "length": 1 + }, + { + "start": 8, + "end": 10, + "length": 2 + }, + { + "start": 11, + "end": 12, + "length": 1 + }, + { + "start": 13, + "end": 42, + "length": 29 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "args": [ + "2012-11-03 * \"Transfer to account in Canada\"\n", + 0 + ], + "result": { + "index": 12, + "captureIndices": [ + { + "start": 0, + "end": 45, + "length": 45 + }, + { + "start": 0, + "end": 4, + "length": 4 + }, + { + "start": 4, + "end": 5, + "length": 1 + }, + { + "start": 5, + "end": 7, + "length": 2 + }, + { + "start": 7, + "end": 8, + "length": 1 + }, + { + "start": 8, + "end": 10, + "length": 2 + }, + { + "start": 11, + "end": 12, + "length": 1 + }, + { + "start": 13, + "end": 44, + "length": 31 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "args": [ + "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 82, + "length": 82 + } + ] + } + }, + { + "args": [ + "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", + 82 + ], + "result": null + } + ] + }, + { + "constractor": [ + [ + "(?=(^\\s*$|^\\S))", + "(;.*)$", + "^\\s+(?=([A-Z!]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(#)([A-Za-z0-9\\-_/.]+)", + "(\\^)([A-Za-z0-9\\-_/.]+)", + "[^\\s]" + ] + ], + "executions": [ + { + "args": [ + "2012-11-03 * \"Transfer to pay credit card\"\n", + 43 + ], + "result": null + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD\n", + 0 + ], + "result": { + "index": 2, + "captureIndices": [ + { + "start": 0, + "end": 2, + "length": 2 + }, + { + "start": 2, + "end": 3, + "length": 1 + } + ] + } + }, + { + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 0 + ], + "result": { + "index": 2, + "captureIndices": [ + { + "start": 0, + "end": 2, + "length": 2 + }, + { + "start": 2, + "end": 3, + "length": 1 + } + ] + } + }, + { + "args": [ + "2012-11-03 * \"Transfer to account in Canada\"\n", + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 0, + "end": 1, + "length": 1 + } + ] + } + }, + { + "args": [ + "2012-11-03 * \"Transfer to account in Canada\"\n", + 45 + ], + "result": null + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 0 + ], + "result": { + "index": 2, + "captureIndices": [ + { + "start": 0, + "end": 2, + "length": 2 + }, + { + "start": 2, + "end": 3, + "length": 1 + } + ] + } + }, + { + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 0 + ], + "result": { + "index": 2, + "captureIndices": [ + { + "start": 0, + "end": 2, + "length": 2 + }, + { + "start": 2, + "end": 3, + "length": 1 + } + ] + } + }, + { + "args": [ + "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 0, + "end": 1, + "length": 1 + } + ] + } + }, + { + "args": [ + "2012-11-03 * \"Transfer to pay credit card\"\n", + 43 + ], + "result": null + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD\n", + 0 + ], + "result": { + "index": 2, + "captureIndices": [ + { + "start": 0, + "end": 2, + "length": 2 + }, + { + "start": 2, + "end": 3, + "length": 1 + } + ] + } + }, + { + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 0 + ], + "result": { + "index": 2, + "captureIndices": [ + { + "start": 0, + "end": 2, + "length": 2 + }, + { + "start": 2, + "end": 3, + "length": 1 + } + ] + } + }, + { + "args": [ + "2012-11-03 * \"Transfer to account in Canada\"\n", + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 0, + "end": 1, + "length": 1 + } + ] + } + }, + { + "args": [ + "2012-11-03 * \"Transfer to account in Canada\"\n", + 45 + ], + "result": null + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 0 + ], + "result": { + "index": 2, + "captureIndices": [ + { + "start": 0, + "end": 2, + "length": 2 + }, + { + "start": 2, + "end": 3, + "length": 1 + } + ] + } + }, + { + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 0 + ], + "result": { + "index": 2, + "captureIndices": [ + { + "start": 0, + "end": 2, + "length": 2 + }, + { + "start": 2, + "end": 3, + "length": 1 + } + ] + } + }, + { + "args": [ + "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 0, + "end": 1, + "length": 1 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ] + ], + "executions": [ + { + "args": [ + " Assets:MyBank:Checking -400.00 USD\n", + 2 + ], + "result": { + "index": 4, + "captureIndices": [ + { + "start": 2, + "end": 9, + "length": 7 + }, + { + "start": 2, + "end": 8, + "length": 6 + }, + { + "start": 8, + "end": 9, + "length": 1 + } + ] + } + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD\n", + 25 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 36, + "end": 47, + "length": 11 + }, + { + "start": 36, + "end": 37, + "length": 1 + }, + { + "start": 37, + "end": 43, + "length": 6 + }, + { + "start": 44, + "end": 47, + "length": 3 + } + ] + } + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD\n", + 47 + ], + "result": null + }, + { + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 0, + "end": 3, + "length": 3 + } + ] + } + }, + { + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 2 + ], + "result": { + "index": 4, + "captureIndices": [ + { + "start": 2, + "end": 14, + "length": 12 + }, + { + "start": 2, + "end": 13, + "length": 11 + }, + { + "start": 13, + "end": 14, + "length": 1 + } + ] + } + }, + { + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 25 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 37, + "end": 47, + "length": 10 + }, + { + "start": 37, + "end": 37, + "length": 0 + }, + { + "start": 37, + "end": 43, + "length": 6 + }, + { + "start": 44, + "end": 47, + "length": 3 + } + ] + } + }, + { + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 47 + ], + "result": null + }, + { + "args": [ + "2012-11-03 * \"Transfer to account in Canada\"\n", + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 0, + "end": 1, + "length": 1 + } + ] + } + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 2 + ], + "result": { + "index": 4, + "captureIndices": [ + { + "start": 2, + "end": 9, + "length": 7 + }, + { + "start": 2, + "end": 8, + "length": 6 + }, + { + "start": 8, + "end": 9, + "length": 1 + } + ] + } + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 25 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 36, + "end": 47, + "length": 11 + }, + { + "start": 36, + "end": 37, + "length": 1 + }, + { + "start": 37, + "end": 43, + "length": 6 + }, + { + "start": 44, + "end": 47, + "length": 3 + } + ] + } + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 47 + ], + "result": { + "index": 8, + "captureIndices": [ + { + "start": 48, + "end": 49, + "length": 1 + } + ] + } + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 58 + ], + "result": null + }, + { + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 0, + "end": 3, + "length": 3 + } + ] + } + }, + { + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 2 + ], + "result": { + "index": 4, + "captureIndices": [ + { + "start": 2, + "end": 9, + "length": 7 + }, + { + "start": 2, + "end": 8, + "length": 6 + }, + { + "start": 8, + "end": 9, + "length": 1 + } + ] + } + }, + { + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 28 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 37, + "end": 47, + "length": 10 + }, + { + "start": 37, + "end": 37, + "length": 0 + }, + { + "start": 37, + "end": 43, + "length": 6 + }, + { + "start": 44, + "end": 47, + "length": 3 + } + ] + } + }, + { + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 47 + ], + "result": null + }, + { + "args": [ + "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 0, + "end": 1, + "length": 1 + } + ] + } + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD\n", + 2 + ], + "result": { + "index": 4, + "captureIndices": [ + { + "start": 2, + "end": 9, + "length": 7 + }, + { + "start": 2, + "end": 8, + "length": 6 + }, + { + "start": 8, + "end": 9, + "length": 1 + } + ] + } + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD\n", + 25 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 36, + "end": 47, + "length": 11 + }, + { + "start": 36, + "end": 37, + "length": 1 + }, + { + "start": 37, + "end": 43, + "length": 6 + }, + { + "start": 44, + "end": 47, + "length": 3 + } + ] + } + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD\n", + 47 + ], + "result": null + }, + { + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 0, + "end": 3, + "length": 3 + } + ] + } + }, + { + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 2 + ], + "result": { + "index": 4, + "captureIndices": [ + { + "start": 2, + "end": 14, + "length": 12 + }, + { + "start": 2, + "end": 13, + "length": 11 + }, + { + "start": 13, + "end": 14, + "length": 1 + } + ] + } + }, + { + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 25 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 37, + "end": 47, + "length": 10 + }, + { + "start": 37, + "end": 37, + "length": 0 + }, + { + "start": 37, + "end": 43, + "length": 6 + }, + { + "start": 44, + "end": 47, + "length": 3 + } + ] + } + }, + { + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 47 + ], + "result": null + }, + { + "args": [ + "2012-11-03 * \"Transfer to account in Canada\"\n", + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 0, + "end": 1, + "length": 1 + } + ] + } + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 2 + ], + "result": { + "index": 4, + "captureIndices": [ + { + "start": 2, + "end": 9, + "length": 7 + }, + { + "start": 2, + "end": 8, + "length": 6 + }, + { + "start": 8, + "end": 9, + "length": 1 + } + ] + } + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 25 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 36, + "end": 47, + "length": 11 + }, + { + "start": 36, + "end": 37, + "length": 1 + }, + { + "start": 37, + "end": 43, + "length": 6 + }, + { + "start": 44, + "end": 47, + "length": 3 + } + ] + } + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 47 + ], + "result": { + "index": 8, + "captureIndices": [ + { + "start": 48, + "end": 49, + "length": 1 + } + ] + } + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 58 + ], + "result": null + }, + { + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 0, + "end": 3, + "length": 3 + } + ] + } + }, + { + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 2 + ], + "result": { + "index": 4, + "captureIndices": [ + { + "start": 2, + "end": 9, + "length": 7 + }, + { + "start": 2, + "end": 8, + "length": 6 + }, + { + "start": 8, + "end": 9, + "length": 1 + } + ] + } + }, + { + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 28 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 37, + "end": 47, + "length": 10 + }, + { + "start": 37, + "end": 37, + "length": 0 + }, + { + "start": 37, + "end": 43, + "length": 6 + }, + { + "start": 44, + "end": 47, + "length": 3 + } + ] + } + }, + { + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 47 + ], + "result": null + }, + { + "args": [ + "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 0, + "end": 1, + "length": 1 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "\\s", + "(\\S+)([:]?)" + ] + ], + "executions": [ + { + "args": [ + " Assets:MyBank:Checking -400.00 USD\n", + 9 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 9, + "end": 24, + "length": 15 + }, + { + "start": 9, + "end": 24, + "length": 15 + }, + { + "start": 24, + "end": 24, + "length": 0 + } + ] + } + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD\n", + 24 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 24, + "end": 25, + "length": 1 + } + ] + } + }, + { + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 14 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 14, + "end": 24, + "length": 10 + }, + { + "start": 14, + "end": 24, + "length": 10 + }, + { + "start": 24, + "end": 24, + "length": 0 + } + ] + } + }, + { + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 24 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 24, + "end": 25, + "length": 1 + } + ] + } + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 9 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 9, + "end": 24, + "length": 15 + }, + { + "start": 9, + "end": 24, + "length": 15 + }, + { + "start": 24, + "end": 24, + "length": 0 + } + ] + } + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 24 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 24, + "end": 25, + "length": 1 + } + ] + } + }, + { + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 9 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 9, + "end": 27, + "length": 18 + }, + { + "start": 9, + "end": 27, + "length": 18 + }, + { + "start": 27, + "end": 27, + "length": 0 + } + ] + } + }, + { + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 27 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 27, + "end": 28, + "length": 1 + } + ] + } + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD\n", + 9 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 9, + "end": 24, + "length": 15 + }, + { + "start": 9, + "end": 24, + "length": 15 + }, + { + "start": 24, + "end": 24, + "length": 0 + } + ] + } + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD\n", + 24 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 24, + "end": 25, + "length": 1 + } + ] + } + }, + { + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 14 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 14, + "end": 24, + "length": 10 + }, + { + "start": 14, + "end": 24, + "length": 10 + }, + { + "start": 24, + "end": 24, + "length": 0 + } + ] + } + }, + { + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 24 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 24, + "end": 25, + "length": 1 + } + ] + } + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 9 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 9, + "end": 24, + "length": 15 + }, + { + "start": 9, + "end": 24, + "length": 15 + }, + { + "start": 24, + "end": 24, + "length": 0 + } + ] + } + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 24 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 24, + "end": 25, + "length": 1 + } + ] + } + }, + { + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 9 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 9, + "end": 27, + "length": 18 + }, + { + "start": 9, + "end": 27, + "length": 18 + }, + { + "start": 27, + "end": 27, + "length": 0 + } + ] + } + }, + { + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 27 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 27, + "end": 28, + "length": 1 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "([:]?)|(\\s)", + ";.*", + "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", + "^\\s*(include)\\s+(\\\".*\\\")", + "^\\s*(option)\\s+(\\\".*\\\")\\s+(\\\".*\\\")", + "^\\s*(plugin)\\s*(\"(.*?)\")\\s*(\".*?\")?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(open|close|pad)\\b", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(custom)\\b", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(event)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(commodity)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?", + "[^\\s]" + ] + ], + "executions": [ + { + "args": [ + " Assets:MyBank:Checking -400.00 USD\n", + 24 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 24, + "end": 24, + "length": 0 + }, + { + "start": 24, + "end": 24, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 24 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 24, + "end": 24, + "length": 0 + }, + { + "start": 24, + "end": 24, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 24 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 24, + "end": 24, + "length": 0 + }, + { + "start": 24, + "end": 24, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 27 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 27, + "end": 27, + "length": 0 + }, + { + "start": 27, + "end": 27, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD\n", + 24 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 24, + "end": 24, + "length": 0 + }, + { + "start": 24, + "end": 24, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 24 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 24, + "end": 24, + "length": 0 + }, + { + "start": 24, + "end": 24, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 24 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 24, + "end": 24, + "length": 0 + }, + { + "start": 24, + "end": 24, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 27 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 27, + "end": 27, + "length": 0 + }, + { + "start": 27, + "end": 27, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "(?=(;|\\n))", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "[^\\s]" + ] + ], + "executions": [ + { + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 49 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 50, + "end": 58, + "length": 8 + }, + { + "start": 50, + "end": 50, + "length": 0 + }, + { + "start": 50, + "end": 54, + "length": 4 + }, + { + "start": 55, + "end": 58, + "length": 3 + } + ] + } + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 58 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 58, + "end": 58, + "length": 0 + }, + { + "start": 58, + "end": 59, + "length": 1 + } + ] + } + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 49 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 50, + "end": 58, + "length": 8 + }, + { + "start": 50, + "end": 50, + "length": 0 + }, + { + "start": 50, + "end": 54, + "length": 4 + }, + { + "start": 55, + "end": 58, + "length": 3 + } + ] + } + }, + { + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 58 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 58, + "end": 58, + "length": 0 + }, + { + "start": 58, + "end": 59, + "length": 1 + } + ] + } + } + ] + } +] diff --git a/packages/engine-javascript/test/compare.test.ts b/packages/engine-javascript/test/compare.test.ts index b63f671e..eb138086 100644 --- a/packages/engine-javascript/test/compare.test.ts +++ b/packages/engine-javascript/test/compare.test.ts @@ -33,6 +33,36 @@ function createWasmOnigLibWrapper(): RegexEngine & { instances: Instance[] } { } } +function createJsOnigLibWrapper(): RegexEngine & { instances: Instance[] } { + const instances: Instance[] = [] + + const JsOnigScanner = createJavaScriptRegexEngine({ + forgiving: true, + }) + + return { + instances, + createScanner(patterns) { + const scanner = JsOnigScanner.createScanner(patterns) + const instance: Instance = { + constractor: [patterns], + executions: [], + } + instances.push(instance) + return { + findNextMatchSync(string: string | OnigString, startPosition: number) { + const result = scanner.findNextMatchSync(string, startPosition) + instance.executions.push({ args: [typeof string === 'string' ? string : string.content, startPosition], result }) + return result + }, + } + }, + createString(s) { + return JsOnigScanner.createString(s) + }, + } +} + export interface Cases { name: string skip?: boolean @@ -42,6 +72,22 @@ export interface Cases { } const cases: Cases[] = [ + { + name: 'beancount', + theme: () => import('../../shiki/src/themes/nord.mjs'), + lang: () => import('../../shiki/src/langs/beancount.mjs'), + cases: [ + `2012-11-03 * "Transfer to pay credit card" + Assets:MyBank:Checking -400.00 USD + Liabilities:CreditCard 400.00 USD + +2012-11-03 * "Transfer to account in Canada" + Assets:MyBank:Checking -400.00 USD @ 1.09 CAD + Assets:FR:SocGen:Checking 436.01 CAD + +; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices`, + ], + }, { name: 'json-basic', theme: () => import('../../shiki/src/themes/nord.mjs'), @@ -159,9 +205,7 @@ describe('cases', async () => { const run = c.c.skip ? it.skip : it run(c.c.name, async () => { const engineWasm = createWasmOnigLibWrapper() - const engineJs = createJavaScriptRegexEngine({ - forgiving: true, - }) + const engineJs = createJsOnigLibWrapper() const shiki1 = await createHighlighterCore({ langs: c.lang, @@ -190,6 +234,10 @@ describe('cases', async () => { .soft(JSON.stringify(engineWasm.instances, null, 2)) .toMatchFileSnapshot(`./__records__/${c.c.name}.json`) + await expect + .soft(JSON.stringify(engineJs.instances, null, 2)) + .toMatchFileSnapshot(`./__records__/${c.c.name}.js.json`) + // compare.forEach(([a, b]) => { // expect.soft(a).toEqual(b) // // await expect.soft(a) diff --git a/packages/engine-javascript/test/verify.test.ts b/packages/engine-javascript/test/verify.test.ts index 42bbdbd5..d1f89d36 100644 --- a/packages/engine-javascript/test/verify.test.ts +++ b/packages/engine-javascript/test/verify.test.ts @@ -7,11 +7,6 @@ import { describe, expect, it, onTestFailed } from 'vitest' import { JavaScriptScanner } from '../src' describe('verify', async () => { - if (+process.versions.node.split('.')[0] < 20) { - it('skip', () => {}) - return - } - const files = await fg('*.json', { cwd: fileURLToPath(new URL('./__records__', import.meta.url)), absolute: true, diff --git a/vitest.config.ts b/vitest.config.ts index c0e24f45..d6240c60 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -1,22 +1,8 @@ -import { existsSync } from 'node:fs' -import { fileURLToPath } from 'node:url' import tsconfigPaths from 'vite-tsconfig-paths' import { defineConfig } from 'vitest/config' import { wasmPlugin } from './packages/core/rollup.config.mjs' -const localOnigurumaToEs = fileURLToPath(new URL('../oniguruma-to-es/dist/index.mjs', import.meta.url)) - export default defineConfig({ - resolve: { - alias: { - // For local developement - ...existsSync(localOnigurumaToEs) - ? { - 'oniguruma-to-es': localOnigurumaToEs, - } - : {}, - }, - }, plugins: [ wasmPlugin(), tsconfigPaths(), From 9e00aa31377388d7de9790b0c650cee67e1401ca Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Tue, 17 Dec 2024 16:45:35 +0800 Subject: [PATCH 2/8] chore: update --- packages/engine-javascript/src/index.ts | 2 +- .../test/__records__/beancount.js.json | 44 +- .../test/__records__/beancount.json | 206 +- .../test/__records__/html-basic.js.json | 2453 +++++++++++++++++ .../test/__records__/html-basic.json | 170 +- .../test/__records__/json-basic.js.json | 1674 +++++++++++ .../test/__records__/json-basic.json | 274 +- .../test/__records__/jsonc.js.json | 431 +++ .../test/__records__/jsonc.json | 58 +- .../test/__records__/sql.js.json | 1116 ++++++++ .../test/__records__/sql.json | 82 +- .../test/__records__/toml.js.json | 751 +++++ .../test/__records__/toml.json | 94 +- .../test/__records__/ts-basic.js.json | 1189 ++++++++ .../test/__records__/ts-basic.json | 76 +- .../test/__records__/vue.js.json | 2253 +++++++++++++++ .../test/__records__/vue.json | 146 +- .../engine-javascript/test/compare.test.ts | 12 +- packages/engine-javascript/test/types.ts | 2 +- 19 files changed, 10675 insertions(+), 358 deletions(-) create mode 100644 packages/engine-javascript/test/__records__/html-basic.js.json create mode 100644 packages/engine-javascript/test/__records__/json-basic.js.json create mode 100644 packages/engine-javascript/test/__records__/jsonc.js.json create mode 100644 packages/engine-javascript/test/__records__/sql.js.json create mode 100644 packages/engine-javascript/test/__records__/toml.js.json create mode 100644 packages/engine-javascript/test/__records__/ts-basic.js.json create mode 100644 packages/engine-javascript/test/__records__/vue.js.json diff --git a/packages/engine-javascript/src/index.ts b/packages/engine-javascript/src/index.ts index 2c9e20c8..0e40cd9f 100644 --- a/packages/engine-javascript/src/index.ts +++ b/packages/engine-javascript/src/index.ts @@ -110,7 +110,7 @@ export class JavaScriptScanner implements PatternScanner { }) } - findNextMatchSync(string: string | RegexEngineString, startPosition: number): IOnigMatch | null { + findNextMatchSync(string: string | RegexEngineString, startPosition: number, _options: number): IOnigMatch | null { const str = typeof string === 'string' ? string : string.content diff --git a/packages/engine-javascript/test/__records__/beancount.js.json b/packages/engine-javascript/test/__records__/beancount.js.json index 18c8f1c2..5b77611e 100644 --- a/packages/engine-javascript/test/__records__/beancount.js.json +++ b/packages/engine-javascript/test/__records__/beancount.js.json @@ -21,6 +21,7 @@ { "args": [ "2012-11-03 * \"Transfer to pay credit card\"\n", + 0, 0 ], "result": { @@ -77,13 +78,15 @@ { "args": [ "2012-11-03 * \"Transfer to pay credit card\"\n", - 43 + 43, + 0 ], "result": null }, { "args": [ " Assets:MyBank:Checking -400.00 USD\n", + 0, 0 ], "result": null @@ -91,6 +94,7 @@ { "args": [ " Liabilities:CreditCard 400.00 USD\n", + 0, 0 ], "result": null @@ -98,6 +102,7 @@ { "args": [ "2012-11-03 * \"Transfer to account in Canada\"\n", + 0, 0 ], "result": { @@ -154,13 +159,15 @@ { "args": [ "2012-11-03 * \"Transfer to account in Canada\"\n", - 45 + 45, + 0 ], "result": null }, { "args": [ " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 0, 0 ], "result": null @@ -168,6 +175,7 @@ { "args": [ " Assets:FR:SocGen:Checking 436.01 CAD\n", + 0, 0 ], "result": null @@ -175,6 +183,7 @@ { "args": [ "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", + 0, 0 ], "result": { @@ -191,13 +200,15 @@ { "args": [ "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", - 82 + 82, + 0 ], "result": null }, { "args": [ "2012-11-03 * \"Transfer to pay credit card\"\n", + 0, 0 ], "result": { @@ -254,13 +265,15 @@ { "args": [ "2012-11-03 * \"Transfer to pay credit card\"\n", - 43 + 43, + 0 ], "result": null }, { "args": [ " Assets:MyBank:Checking -400.00 USD\n", + 0, 0 ], "result": null @@ -268,6 +281,7 @@ { "args": [ " Liabilities:CreditCard 400.00 USD\n", + 0, 0 ], "result": null @@ -275,6 +289,7 @@ { "args": [ "2012-11-03 * \"Transfer to account in Canada\"\n", + 0, 0 ], "result": { @@ -331,13 +346,15 @@ { "args": [ "2012-11-03 * \"Transfer to account in Canada\"\n", - 45 + 45, + 0 ], "result": null }, { "args": [ " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 0, 0 ], "result": null @@ -345,6 +362,7 @@ { "args": [ " Assets:FR:SocGen:Checking 436.01 CAD\n", + 0, 0 ], "result": null @@ -352,6 +370,7 @@ { "args": [ "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", + 0, 0 ], "result": { @@ -368,7 +387,8 @@ { "args": [ "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", - 82 + 82, + 0 ], "result": null } @@ -390,7 +410,8 @@ { "args": [ "2012-11-03 * \"Transfer to pay credit card\"\n", - 43 + 43, + 0 ], "result": { "index": 0, @@ -411,7 +432,8 @@ { "args": [ "2012-11-03 * \"Transfer to account in Canada\"\n", - 45 + 45, + 0 ], "result": { "index": 0, @@ -432,7 +454,8 @@ { "args": [ "2012-11-03 * \"Transfer to pay credit card\"\n", - 43 + 43, + 0 ], "result": { "index": 0, @@ -453,7 +476,8 @@ { "args": [ "2012-11-03 * \"Transfer to account in Canada\"\n", - 45 + 45, + 0 ], "result": { "index": 0, diff --git a/packages/engine-javascript/test/__records__/beancount.json b/packages/engine-javascript/test/__records__/beancount.json index e0b96e2b..e497dc9e 100644 --- a/packages/engine-javascript/test/__records__/beancount.json +++ b/packages/engine-javascript/test/__records__/beancount.json @@ -21,6 +21,7 @@ { "args": [ "2012-11-03 * \"Transfer to pay credit card\"\n", + 0, 0 ], "result": { @@ -77,6 +78,7 @@ { "args": [ "2012-11-03 * \"Transfer to account in Canada\"\n", + 0, 0 ], "result": { @@ -133,6 +135,7 @@ { "args": [ "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", + 0, 0 ], "result": { @@ -149,13 +152,15 @@ { "args": [ "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", - 82 + 82, + 0 ], "result": null }, { "args": [ "2012-11-03 * \"Transfer to pay credit card\"\n", + 0, 0 ], "result": { @@ -212,6 +217,7 @@ { "args": [ "2012-11-03 * \"Transfer to account in Canada\"\n", + 0, 0 ], "result": { @@ -268,6 +274,7 @@ { "args": [ "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", + 0, 0 ], "result": { @@ -284,7 +291,8 @@ { "args": [ "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", - 82 + 82, + 0 ], "result": null } @@ -306,13 +314,15 @@ { "args": [ "2012-11-03 * \"Transfer to pay credit card\"\n", - 43 + 43, + 0 ], "result": null }, { "args": [ " Assets:MyBank:Checking -400.00 USD\n", + 0, 0 ], "result": { @@ -334,6 +344,7 @@ { "args": [ " Liabilities:CreditCard 400.00 USD\n", + 0, 0 ], "result": { @@ -355,6 +366,7 @@ { "args": [ "2012-11-03 * \"Transfer to account in Canada\"\n", + 0, 0 ], "result": { @@ -376,13 +388,15 @@ { "args": [ "2012-11-03 * \"Transfer to account in Canada\"\n", - 45 + 45, + 0 ], "result": null }, { "args": [ " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 0, 0 ], "result": { @@ -404,6 +418,7 @@ { "args": [ " Assets:FR:SocGen:Checking 436.01 CAD\n", + 0, 0 ], "result": { @@ -425,6 +440,7 @@ { "args": [ "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", + 0, 0 ], "result": { @@ -446,13 +462,15 @@ { "args": [ "2012-11-03 * \"Transfer to pay credit card\"\n", - 43 + 43, + 0 ], "result": null }, { "args": [ " Assets:MyBank:Checking -400.00 USD\n", + 0, 0 ], "result": { @@ -474,6 +492,7 @@ { "args": [ " Liabilities:CreditCard 400.00 USD\n", + 0, 0 ], "result": { @@ -495,6 +514,7 @@ { "args": [ "2012-11-03 * \"Transfer to account in Canada\"\n", + 0, 0 ], "result": { @@ -516,13 +536,15 @@ { "args": [ "2012-11-03 * \"Transfer to account in Canada\"\n", - 45 + 45, + 0 ], "result": null }, { "args": [ " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 0, 0 ], "result": { @@ -544,6 +566,7 @@ { "args": [ " Assets:FR:SocGen:Checking 436.01 CAD\n", + 0, 0 ], "result": { @@ -565,6 +588,7 @@ { "args": [ "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", + 0, 0 ], "result": { @@ -604,7 +628,8 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD\n", - 2 + 2, + 0 ], "result": { "index": 4, @@ -630,7 +655,8 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD\n", - 25 + 25, + 0 ], "result": { "index": 5, @@ -661,13 +687,15 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD\n", - 47 + 47, + 0 ], "result": null }, { "args": [ " Liabilities:CreditCard 400.00 USD\n", + 0, 0 ], "result": { @@ -689,7 +717,8 @@ { "args": [ " Liabilities:CreditCard 400.00 USD\n", - 2 + 2, + 0 ], "result": { "index": 4, @@ -715,7 +744,8 @@ { "args": [ " Liabilities:CreditCard 400.00 USD\n", - 25 + 25, + 0 ], "result": { "index": 5, @@ -746,13 +776,15 @@ { "args": [ " Liabilities:CreditCard 400.00 USD\n", - 47 + 47, + 0 ], "result": null }, { "args": [ "2012-11-03 * \"Transfer to account in Canada\"\n", + 0, 0 ], "result": { @@ -774,7 +806,8 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", - 2 + 2, + 0 ], "result": { "index": 4, @@ -800,7 +833,8 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", - 25 + 25, + 0 ], "result": { "index": 5, @@ -831,7 +865,8 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", - 47 + 47, + 0 ], "result": { "index": 8, @@ -847,13 +882,15 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", - 58 + 58, + 0 ], "result": null }, { "args": [ " Assets:FR:SocGen:Checking 436.01 CAD\n", + 0, 0 ], "result": { @@ -875,7 +912,8 @@ { "args": [ " Assets:FR:SocGen:Checking 436.01 CAD\n", - 2 + 2, + 0 ], "result": { "index": 4, @@ -901,7 +939,8 @@ { "args": [ " Assets:FR:SocGen:Checking 436.01 CAD\n", - 28 + 28, + 0 ], "result": { "index": 5, @@ -932,13 +971,15 @@ { "args": [ " Assets:FR:SocGen:Checking 436.01 CAD\n", - 47 + 47, + 0 ], "result": null }, { "args": [ "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", + 0, 0 ], "result": { @@ -960,7 +1001,8 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD\n", - 2 + 2, + 0 ], "result": { "index": 4, @@ -986,7 +1028,8 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD\n", - 25 + 25, + 0 ], "result": { "index": 5, @@ -1017,13 +1060,15 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD\n", - 47 + 47, + 0 ], "result": null }, { "args": [ " Liabilities:CreditCard 400.00 USD\n", + 0, 0 ], "result": { @@ -1045,7 +1090,8 @@ { "args": [ " Liabilities:CreditCard 400.00 USD\n", - 2 + 2, + 0 ], "result": { "index": 4, @@ -1071,7 +1117,8 @@ { "args": [ " Liabilities:CreditCard 400.00 USD\n", - 25 + 25, + 0 ], "result": { "index": 5, @@ -1102,13 +1149,15 @@ { "args": [ " Liabilities:CreditCard 400.00 USD\n", - 47 + 47, + 0 ], "result": null }, { "args": [ "2012-11-03 * \"Transfer to account in Canada\"\n", + 0, 0 ], "result": { @@ -1130,7 +1179,8 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", - 2 + 2, + 0 ], "result": { "index": 4, @@ -1156,7 +1206,8 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", - 25 + 25, + 0 ], "result": { "index": 5, @@ -1187,7 +1238,8 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", - 47 + 47, + 0 ], "result": { "index": 8, @@ -1203,13 +1255,15 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", - 58 + 58, + 0 ], "result": null }, { "args": [ " Assets:FR:SocGen:Checking 436.01 CAD\n", + 0, 0 ], "result": { @@ -1231,7 +1285,8 @@ { "args": [ " Assets:FR:SocGen:Checking 436.01 CAD\n", - 2 + 2, + 0 ], "result": { "index": 4, @@ -1257,7 +1312,8 @@ { "args": [ " Assets:FR:SocGen:Checking 436.01 CAD\n", - 28 + 28, + 0 ], "result": { "index": 5, @@ -1288,13 +1344,15 @@ { "args": [ " Assets:FR:SocGen:Checking 436.01 CAD\n", - 47 + 47, + 0 ], "result": null }, { "args": [ "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", + 0, 0 ], "result": { @@ -1326,7 +1384,8 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD\n", - 9 + 9, + 0 ], "result": { "index": 1, @@ -1352,7 +1411,8 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD\n", - 24 + 24, + 0 ], "result": { "index": 0, @@ -1368,7 +1428,8 @@ { "args": [ " Liabilities:CreditCard 400.00 USD\n", - 14 + 14, + 0 ], "result": { "index": 1, @@ -1394,7 +1455,8 @@ { "args": [ " Liabilities:CreditCard 400.00 USD\n", - 24 + 24, + 0 ], "result": { "index": 0, @@ -1410,7 +1472,8 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", - 9 + 9, + 0 ], "result": { "index": 1, @@ -1436,7 +1499,8 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", - 24 + 24, + 0 ], "result": { "index": 0, @@ -1452,7 +1516,8 @@ { "args": [ " Assets:FR:SocGen:Checking 436.01 CAD\n", - 9 + 9, + 0 ], "result": { "index": 1, @@ -1478,7 +1543,8 @@ { "args": [ " Assets:FR:SocGen:Checking 436.01 CAD\n", - 27 + 27, + 0 ], "result": { "index": 0, @@ -1494,7 +1560,8 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD\n", - 9 + 9, + 0 ], "result": { "index": 1, @@ -1520,7 +1587,8 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD\n", - 24 + 24, + 0 ], "result": { "index": 0, @@ -1536,7 +1604,8 @@ { "args": [ " Liabilities:CreditCard 400.00 USD\n", - 14 + 14, + 0 ], "result": { "index": 1, @@ -1562,7 +1631,8 @@ { "args": [ " Liabilities:CreditCard 400.00 USD\n", - 24 + 24, + 0 ], "result": { "index": 0, @@ -1578,7 +1648,8 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", - 9 + 9, + 0 ], "result": { "index": 1, @@ -1604,7 +1675,8 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", - 24 + 24, + 0 ], "result": { "index": 0, @@ -1620,7 +1692,8 @@ { "args": [ " Assets:FR:SocGen:Checking 436.01 CAD\n", - 9 + 9, + 0 ], "result": { "index": 1, @@ -1646,7 +1719,8 @@ { "args": [ " Assets:FR:SocGen:Checking 436.01 CAD\n", - 27 + 27, + 0 ], "result": { "index": 0, @@ -1685,7 +1759,8 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD\n", - 24 + 24, + 0 ], "result": { "index": 0, @@ -1711,7 +1786,8 @@ { "args": [ " Liabilities:CreditCard 400.00 USD\n", - 24 + 24, + 0 ], "result": { "index": 0, @@ -1737,7 +1813,8 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", - 24 + 24, + 0 ], "result": { "index": 0, @@ -1763,7 +1840,8 @@ { "args": [ " Assets:FR:SocGen:Checking 436.01 CAD\n", - 27 + 27, + 0 ], "result": { "index": 0, @@ -1789,7 +1867,8 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD\n", - 24 + 24, + 0 ], "result": { "index": 0, @@ -1815,7 +1894,8 @@ { "args": [ " Liabilities:CreditCard 400.00 USD\n", - 24 + 24, + 0 ], "result": { "index": 0, @@ -1841,7 +1921,8 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", - 24 + 24, + 0 ], "result": { "index": 0, @@ -1867,7 +1948,8 @@ { "args": [ " Assets:FR:SocGen:Checking 436.01 CAD\n", - 27 + 27, + 0 ], "result": { "index": 0, @@ -1904,7 +1986,8 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", - 49 + 49, + 0 ], "result": { "index": 1, @@ -1935,7 +2018,8 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", - 58 + 58, + 0 ], "result": { "index": 0, @@ -1956,7 +2040,8 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", - 49 + 49, + 0 ], "result": { "index": 1, @@ -1987,7 +2072,8 @@ { "args": [ " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", - 58 + 58, + 0 ], "result": { "index": 0, diff --git a/packages/engine-javascript/test/__records__/html-basic.js.json b/packages/engine-javascript/test/__records__/html-basic.js.json new file mode 100644 index 00000000..bf769d1d --- /dev/null +++ b/packages/engine-javascript/test/__records__/html-basic.js.json @@ -0,0 +1,2453 @@ +[ + { + "constractor": [ + [ + "^(///)\\s*(?=<(reference|amd-dependency|amd-module)(\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\s*=\\s*((\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)))+\\s*/>\\s*$)", + "(?]|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^yield|[^\\._$0-9A-Za-z]yield|^throw|[^\\._$0-9A-Za-z]throw|^in|[^\\._$0-9A-Za-z]in|^of|[^\\._$0-9A-Za-z]of|^typeof|[^\\._$0-9A-Za-z]typeof|&&|\\|\\||\\*)\\s*(\\{)", + "\\{", + "([_$A-Za-z][_$0-9A-Za-z]*)\\s*(:)(?=\\s*\\{)", + "([_$A-Za-z][_$0-9A-Za-z]*)\\s*(:)", + "(?:*]|&&|\\|\\||\\?|\\*\\/|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^default|[^\\._$0-9A-Za-z]default|^yield|[^\\._$0-9A-Za-z]yield|^)\\s*(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))", + "(?:*]|&&|\\|\\||\\?|\\*\\/|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^default|[^\\._$0-9A-Za-z]default|^yield|[^\\._$0-9A-Za-z]yield|^)\\s*(?!<\\s*[_$A-Za-z][_$0-9A-Za-z]*((\\s+extends\\s+[^=>])|,))(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))", + "'", + "\"", + "(?=(([_$A-Za-z][_$0-9A-Za-z]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([_$A-Za-z][_$0-9A-Za-z]*)(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)?`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?\\s*(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?(`)", + "(?|&&|\\|\\||\\*\\/)\\s*(\\/)(?![\\/*])(?=(?:[^\\/\\\\\\[()]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\]|\\(([^)\\\\]|\\\\.)+\\))+\\/([dgimsuvy]+|(?![\\/\\*])|(?=\\/\\*))(?!\\s*[a-zA-Z0-9_$]))", + "((?)", + "(?:(?]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+)?\\s*=>)))", + "=>", + "(?<=[(=,])\\s*(async)?(?=\\s*((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*))?\\(\\s*((([{\\[]\\s*)?$)|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))))", + "(?<=[(=,]|=>|^return|[^\\._$0-9A-Za-z]return)\\s*(async)?(?=\\s*((((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*))?\\()|(<)|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)))\\s*$)", + "(?<=\\)|^)\\s*(:)(?=\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*=>)", + "(?:*]|&&|\\|\\||\\?|\\*\\/|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^default|[^\\._$0-9A-Za-z]default|^yield|[^\\._$0-9A-Za-z]yield|^)\\s*(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))", + "(?:*]|&&|\\|\\||\\?|\\*\\/|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^default|[^\\._$0-9A-Za-z]default|^yield|[^\\._$0-9A-Za-z]yield|^)\\s*(?!<\\s*[_$A-Za-z][_$0-9A-Za-z]*((\\s+extends\\s+[^=>])|,))(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))", + "(?!\\?\\.\\s*[^\\d])(\\?)(?!\\?)", + "(?>=|>>>=|\\|=", + "<<|>>>|>>", + "===|!==|==|!=", + "<=|>=|<>|<|>", + "(?<=[_$0-9A-Za-z])(!)\\s*(?:(/=)|(?:(/)(?![/*])))", + "!|&&|\\|\\||\\?\\?", + "\\&|~|\\^|\\|", + "=", + "--", + "\\+\\+", + "%|\\*|/|-|\\+", + "(?<=[_$0-9A-Za-z)\\]])\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)+(?:(/=)|(?:(/)(?![/*]))))", + "(?<=[_$0-9A-Za-z)\\]])\\s*(?:(/=)|(?:(/)(?![/*])))", + "(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))\\s*(?:(\\?\\.\\s*)|(!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)?\\())", + "(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))(<\\s*[{\\[(]\\s*$))", + "\\b(?]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\())|(?:(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\b(?!\\$)))", + "(?)))|((async\\s*)?(((<\\s*$)|([(]\\s*((([{\\[]\\s*)?$)|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+)?\\s*=>)))))", + "(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(\\#?[A-Z][_$\\dA-Z]*)(?![_$0-9A-Za-z])", + "(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*)", + "([A-Z][_$\\dA-Z]*)(?![_$0-9A-Za-z])", + "[_$A-Za-z][_$0-9A-Za-z]*", + ",", + "(?:(\\.)|(\\?\\.(?!\\s*[\\d])))", + ";", + "'", + "\"", + "(?=(([_$A-Za-z][_$0-9A-Za-z]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([_$A-Za-z][_$0-9A-Za-z]*)(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)?`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?\\s*(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?(`)", + "/\\*\\*(?!/)", + "(/\\*)(?:\\s*((@)internal)(?=\\s|(\\*/)))?", + "(^[ \\t]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)", + "\\A(#!).*(?=$)" + ] + ], + "executions": [ + { + "args": [ + "
bar
\n", + 0, + 0 + ], + "result": { + "index": 35, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 0, + "end": 1, + "length": 1 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 1, + "end": 4, + "length": 3 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4, + "end": 5, + "length": 1 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4, + "end": 5, + "length": 1 + } + ] + } + }, + { + "args": [ + "
bar
\n", + 0, + 0 + ], + "result": { + "index": 35, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 0, + "end": 1, + "length": 1 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 1, + "end": 4, + "length": 3 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4, + "end": 5, + "length": 1 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4, + "end": 5, + "length": 1 + } + ] + } + }, + { + "args": [ + "foobar\n", + 0, + 0 + ], + "result": { + "index": 77, + "captureIndices": [ + { + "start": 0, + "end": 1, + "length": 1 + } + ] + } + }, + { + "args": [ + "foobar\n", + 0, + 0 + ], + "result": { + "index": 77, + "captureIndices": [ + { + "start": 0, + "end": 1, + "length": 1 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "(?!(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))", + "(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))" + ] + ], + "executions": [ + { + "args": [ + "
bar
\n", + 0, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 0, + "end": 1, + "length": 1 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 1, + "end": 4, + "length": 3 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4, + "end": 5, + "length": 1 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4, + "end": 5, + "length": 1 + } + ] + } + }, + { + "args": [ + "
bar
\n", + 26, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 26, + "end": 26, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "args": [ + "
bar
\n", + 0, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 0, + "end": 1, + "length": 1 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 1, + "end": 4, + "length": 3 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4, + "end": 5, + "length": 1 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4, + "end": 5, + "length": 1 + } + ] + } + }, + { + "args": [ + "
bar
\n", + 26, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 26, + "end": 26, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "(/>)|(?:())", + "(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?)", + "(>)" + ] + ], + "executions": [ + { + "args": [ + "
bar
\n", + 0, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 0, + "end": 4, + "length": 4 + }, + { + "start": 0, + "end": 1, + "length": 1 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 1, + "end": 4, + "length": 3 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4, + "end": 5, + "length": 1 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4, + "end": 5, + "length": 1 + } + ] + } + }, + { + "args": [ + "
bar
\n", + 16, + 0 + ], + "result": { + "index": 2, + "captureIndices": [ + { + "start": 16, + "end": 17, + "length": 1 + }, + { + "start": 16, + "end": 17, + "length": 1 + } + ] + } + }, + { + "args": [ + "
bar
\n", + 20, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 20, + "end": 26, + "length": 6 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 20, + "end": 22, + "length": 2 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 22, + "end": 25, + "length": 3 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 25, + "end": 26, + "length": 1 + } + ] + } + }, + { + "args": [ + "
bar
\n", + 0, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 0, + "end": 4, + "length": 4 + }, + { + "start": 0, + "end": 1, + "length": 1 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 1, + "end": 4, + "length": 3 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4, + "end": 5, + "length": 1 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4, + "end": 5, + "length": 1 + } + ] + } + }, + { + "args": [ + "
bar
\n", + 16, + 0 + ], + "result": { + "index": 2, + "captureIndices": [ + { + "start": 16, + "end": 17, + "length": 1 + }, + { + "start": 16, + "end": 17, + "length": 1 + } + ] + } + }, + { + "args": [ + "
bar
\n", + 20, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 20, + "end": 26, + "length": 6 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 20, + "end": 22, + "length": 2 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 22, + "end": 25, + "length": 3 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 25, + "end": 26, + "length": 1 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "(?=[/]?>)", + "/\\*\\*(?!/)", + "(/\\*)(?:\\s*((@)internal)(?=\\s|(\\*/)))?", + "(^[ \\t]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)", + "<", + "\\s+" + ] + ], + "executions": [ + { + "args": [ + "
bar
\n", + 4, + 0 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 4, + "end": 5, + "length": 1 + } + ] + } + }, + { + "args": [ + "
bar
\n", + 16, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 16, + "end": 16, + "length": 0 + } + ] + } + }, + { + "args": [ + "
bar
\n", + 4, + 0 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 4, + "end": 5, + "length": 1 + } + ] + } + }, + { + "args": [ + "
bar
\n", + 16, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 16, + "end": 16, + "length": 0 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "(?=[/]?>)", + "/\\*\\*(?!/)", + "(/\\*)(?:\\s*((@)internal)(?=\\s|(\\*/)))?", + "(^[ \\t]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)", + "\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(:))?([_$A-Za-z][-_$0-9A-Za-z]*)(?=\\s|=|/?>|/\\*|//)", + "=(?=\\s*(?:'|\"|{|/\\*|//|\\n))", + "\"", + "'", + "\\{", + "\\S+" + ] + ], + "executions": [ + { + "args": [ + "
bar
\n", + 5, + 0 + ], + "result": { + "index": 4, + "captureIndices": [ + { + "start": 5, + "end": 10, + "length": 5 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 5, + "end": 10, + "length": 5 + } + ] + } + }, + { + "args": [ + "
bar
\n", + 10, + 0 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 10, + "end": 11, + "length": 1 + } + ] + } + }, + { + "args": [ + "
bar
\n", + 11, + 0 + ], + "result": { + "index": 6, + "captureIndices": [ + { + "start": 11, + "end": 12, + "length": 1 + } + ] + } + }, + { + "args": [ + "
bar
\n", + 16, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 16, + "end": 16, + "length": 0 + } + ] + } + }, + { + "args": [ + "
bar
\n", + 5, + 0 + ], + "result": { + "index": 4, + "captureIndices": [ + { + "start": 5, + "end": 10, + "length": 5 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 5, + "end": 10, + "length": 5 + } + ] + } + }, + { + "args": [ + "
bar
\n", + 10, + 0 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 10, + "end": 11, + "length": 1 + } + ] + } + }, + { + "args": [ + "
bar
\n", + 11, + 0 + ], + "result": { + "index": 6, + "captureIndices": [ + { + "start": 11, + "end": 12, + "length": 1 + } + ] + } + }, + { + "args": [ + "
bar
\n", + 16, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 16, + "end": 16, + "length": 0 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "\"", + "(&)([a-zA-Z0-9]+|#\\d+|#x[0-9a-fA-F]+)(;)" + ] + ], + "executions": [ + { + "args": [ + "
bar
\n", + 12, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 15, + "end": 16, + "length": 1 + } + ] + } + }, + { + "args": [ + "
bar
\n", + 12, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 15, + "end": 16, + "length": 1 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "(?=)", + "(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))", + "\\{", + "(&)([a-zA-Z0-9]+|#\\d+|#x[0-9a-fA-F]+)(;)" + ] + ], + "executions": [ + { + "args": [ + "
bar
\n", + 17, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 20, + "end": 20, + "length": 0 + } + ] + } + }, + { + "args": [ + "
bar
\n", + 17, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 20, + "end": 20, + "length": 0 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "^(///)\\s*(?=<(reference|amd-dependency|amd-module)(\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\s*=\\s*((\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)))+\\s*/>\\s*$)", + "(?]|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^yield|[^\\._$0-9A-Za-z]yield|^throw|[^\\._$0-9A-Za-z]throw|^in|[^\\._$0-9A-Za-z]in|^of|[^\\._$0-9A-Za-z]of|^typeof|[^\\._$0-9A-Za-z]typeof|&&|\\|\\||\\*)\\s*(\\{)", + "\\{", + "([_$A-Za-z][_$0-9A-Za-z]*)\\s*(:)(?=\\s*\\{)", + "([_$A-Za-z][_$0-9A-Za-z]*)\\s*(:)", + "(?:*]|&&|\\|\\||\\?|\\*\\/|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^default|[^\\._$0-9A-Za-z]default|^yield|[^\\._$0-9A-Za-z]yield|^)\\s*(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))", + "(?:*]|&&|\\|\\||\\?|\\*\\/|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^default|[^\\._$0-9A-Za-z]default|^yield|[^\\._$0-9A-Za-z]yield|^)\\s*(?!<\\s*[_$A-Za-z][_$0-9A-Za-z]*((\\s+extends\\s+[^=>])|,))(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))", + "'", + "\"", + "(?=(([_$A-Za-z][_$0-9A-Za-z]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([_$A-Za-z][_$0-9A-Za-z]*)(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)?`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?\\s*(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?(`)", + "(?|&&|\\|\\||\\*\\/)\\s*(\\/)(?![\\/*])(?=(?:[^\\/\\\\\\[()]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\]|\\(([^)\\\\]|\\\\.)+\\))+\\/([dgimsuvy]+|(?![\\/\\*])|(?=\\/\\*))(?!\\s*[a-zA-Z0-9_$]))", + "((?)", + "(?:(?]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+)?\\s*=>)))", + "=>", + "(?<=[(=,])\\s*(async)?(?=\\s*((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*))?\\(\\s*((([{\\[]\\s*)?$)|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))))", + "(?<=[(=,]|=>|^return|[^\\._$0-9A-Za-z]return)\\s*(async)?(?=\\s*((((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*))?\\()|(<)|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)))\\s*$)", + "(?<=\\)|^)\\s*(:)(?=\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*=>)", + "(?:*]|&&|\\|\\||\\?|\\*\\/|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^default|[^\\._$0-9A-Za-z]default|^yield|[^\\._$0-9A-Za-z]yield|^)\\s*(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))", + "(?:*]|&&|\\|\\||\\?|\\*\\/|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^default|[^\\._$0-9A-Za-z]default|^yield|[^\\._$0-9A-Za-z]yield|^)\\s*(?!<\\s*[_$A-Za-z][_$0-9A-Za-z]*((\\s+extends\\s+[^=>])|,))(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))", + "(?!\\?\\.\\s*[^\\d])(\\?)(?!\\?)", + "(?>=|>>>=|\\|=", + "<<|>>>|>>", + "===|!==|==|!=", + "<=|>=|<>|<|>", + "(?<=[_$0-9A-Za-z])(!)\\s*(?:(/=)|(?:(/)(?![/*])))", + "!|&&|\\|\\||\\?\\?", + "\\&|~|\\^|\\|", + "=", + "--", + "\\+\\+", + "%|\\*|/|-|\\+", + "(?<=[_$0-9A-Za-z)\\]])\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)+(?:(/=)|(?:(/)(?![/*]))))", + "(?<=[_$0-9A-Za-z)\\]])\\s*(?:(/=)|(?:(/)(?![/*])))", + "(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))\\s*(?:(\\?\\.\\s*)|(!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)?\\())", + "(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))(<\\s*[{\\[(]\\s*$))", + "\\b(?]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\())|(?:(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\b(?!\\$)))", + "(?)))|((async\\s*)?(((<\\s*$)|([(]\\s*((([{\\[]\\s*)?$)|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+)?\\s*=>)))))", + "(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(\\#?[A-Z][_$\\dA-Z]*)(?![_$0-9A-Za-z])", + "(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*)", + "([A-Z][_$\\dA-Z]*)(?![_$0-9A-Za-z])", + "[_$A-Za-z][_$0-9A-Za-z]*", + ",", + "(?:(\\.)|(\\?\\.(?!\\s*[\\d])))", + ";", + "'", + "\"", + "(?=(([_$A-Za-z][_$0-9A-Za-z]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([_$A-Za-z][_$0-9A-Za-z]*)(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)?`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?\\s*(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?(`)", + "/\\*\\*(?!/)", + "(/\\*)(?:\\s*((@)internal)(?=\\s|(\\*/)))?", + "(^[ \\t]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)", + "\\￿(#!).*(?=$)" + ] + ], + "executions": [ + { + "args": [ + "
bar
\n", + 26, + 0 + ], + "result": null + }, + { + "args": [ + "
bar
\n", + 26, + 0 + ], + "result": null + }, + { + "args": [ + "foobar\n", + 1, + 0 + ], + "result": { + "index": 79, + "captureIndices": [ + { + "start": 1, + "end": 2, + "length": 1 + } + ] + } + }, + { + "args": [ + "foobar\n", + 2, + 0 + ], + "result": { + "index": 115, + "captureIndices": [ + { + "start": 2, + "end": 9, + "length": 7 + }, + { + "start": 2, + "end": 9, + "length": 7 + } + ] + } + }, + { + "args": [ + "foobar\n", + 9, + 0 + ], + "result": { + "index": 116, + "captureIndices": [ + { + "start": 10, + "end": 14, + "length": 4 + } + ] + } + }, + { + "args": [ + "foobar\n", + 14, + 0 + ], + "result": { + "index": 77, + "captureIndices": [ + { + "start": 14, + "end": 15, + "length": 1 + } + ] + } + }, + { + "args": [ + "foobar\n", + 15, + 0 + ], + "result": { + "index": 34, + "captureIndices": [ + { + "start": 15, + "end": 15, + "length": 0 + }, + { + "start": 15, + "end": 16, + "length": 1 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 16, + "end": 20, + "length": 4 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 20, + "end": 21, + "length": 1 + } + ] + } + }, + { + "args": [ + "foobar\n", + 75, + 0 + ], + "result": null + }, + { + "args": [ + "foobar\n", + 1, + 0 + ], + "result": { + "index": 79, + "captureIndices": [ + { + "start": 1, + "end": 2, + "length": 1 + } + ] + } + }, + { + "args": [ + "foobar\n", + 2, + 0 + ], + "result": { + "index": 115, + "captureIndices": [ + { + "start": 2, + "end": 9, + "length": 7 + }, + { + "start": 2, + "end": 9, + "length": 7 + } + ] + } + }, + { + "args": [ + "foobar\n", + 9, + 0 + ], + "result": { + "index": 116, + "captureIndices": [ + { + "start": 10, + "end": 14, + "length": 4 + } + ] + } + }, + { + "args": [ + "foobar\n", + 14, + 0 + ], + "result": { + "index": 77, + "captureIndices": [ + { + "start": 14, + "end": 15, + "length": 1 + } + ] + } + }, + { + "args": [ + "foobar\n", + 15, + 0 + ], + "result": { + "index": 34, + "captureIndices": [ + { + "start": 15, + "end": 15, + "length": 0 + }, + { + "start": 15, + "end": 16, + "length": 1 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 16, + "end": 20, + "length": 4 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 20, + "end": 21, + "length": 1 + } + ] + } + }, + { + "args": [ + "foobar\n", + 75, + 0 + ], + "result": null + } + ] + }, + { + "constractor": [ + [ + "(?!(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))", + "(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?)" + ] + ], + "executions": [ + { + "args": [ + "foobar\n", + 15, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 15, + "end": 21, + "length": 6 + }, + { + "start": 15, + "end": 16, + "length": 1 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 16, + "end": 20, + "length": 4 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 20, + "end": 21, + "length": 1 + } + ] + } + }, + { + "args": [ + "foobar\n", + 75, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 75, + "end": 75, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "args": [ + "foobar\n", + 15, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 15, + "end": 21, + "length": 6 + }, + { + "start": 15, + "end": 16, + "length": 1 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 16, + "end": 20, + "length": 4 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 20, + "end": 21, + "length": 1 + } + ] + } + }, + { + "args": [ + "foobar\n", + 75, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 75, + "end": 75, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "()", + "(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?)", + "(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))", + "\\{", + "(&)([a-zA-Z0-9]+|#\\d+|#x[0-9a-fA-F]+)(;)" + ] + ], + "executions": [ + { + "args": [ + "foobar\n", + 21, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 21, + "end": 27, + "length": 6 + }, + { + "start": 21, + "end": 22, + "length": 1 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 22, + "end": 26, + "length": 4 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 26, + "end": 27, + "length": 1 + } + ] + } + }, + { + "args": [ + "foobar\n", + 27, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 27, + "end": 34, + "length": 7 + }, + { + "start": 27, + "end": 28, + "length": 1 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 28, + "end": 33, + "length": 5 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 33, + "end": 34, + "length": 1 + } + ] + } + }, + { + "args": [ + "foobar\n", + 34, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 37, + "end": 45, + "length": 8 + }, + { + "start": 37, + "end": 39, + "length": 2 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 39, + "end": 44, + "length": 5 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 44, + "end": 45, + "length": 1 + } + ] + } + }, + { + "args": [ + "foobar\n", + 45, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 45, + "end": 52, + "length": 7 + }, + { + "start": 45, + "end": 47, + "length": 2 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 47, + "end": 51, + "length": 4 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 51, + "end": 52, + "length": 1 + } + ] + } + }, + { + "args": [ + "foobar\n", + 52, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 52, + "end": 58, + "length": 6 + }, + { + "start": 52, + "end": 53, + "length": 1 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 53, + "end": 57, + "length": 4 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 57, + "end": 58, + "length": 1 + } + ] + } + }, + { + "args": [ + "foobar\n", + 58, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 61, + "end": 68, + "length": 7 + }, + { + "start": 61, + "end": 63, + "length": 2 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 63, + "end": 67, + "length": 4 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 67, + "end": 68, + "length": 1 + } + ] + } + }, + { + "args": [ + "foobar\n", + 68, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 68, + "end": 75, + "length": 7 + }, + { + "start": 68, + "end": 70, + "length": 2 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 70, + "end": 74, + "length": 4 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 74, + "end": 75, + "length": 1 + } + ] + } + }, + { + "args": [ + "foobar\n", + 21, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 21, + "end": 27, + "length": 6 + }, + { + "start": 21, + "end": 22, + "length": 1 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 22, + "end": 26, + "length": 4 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 26, + "end": 27, + "length": 1 + } + ] + } + }, + { + "args": [ + "foobar\n", + 27, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 27, + "end": 34, + "length": 7 + }, + { + "start": 27, + "end": 28, + "length": 1 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 28, + "end": 33, + "length": 5 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 33, + "end": 34, + "length": 1 + } + ] + } + }, + { + "args": [ + "foobar\n", + 34, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 37, + "end": 45, + "length": 8 + }, + { + "start": 37, + "end": 39, + "length": 2 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 39, + "end": 44, + "length": 5 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 44, + "end": 45, + "length": 1 + } + ] + } + }, + { + "args": [ + "foobar\n", + 45, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 45, + "end": 52, + "length": 7 + }, + { + "start": 45, + "end": 47, + "length": 2 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 47, + "end": 51, + "length": 4 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 51, + "end": 52, + "length": 1 + } + ] + } + }, + { + "args": [ + "foobar\n", + 52, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 52, + "end": 58, + "length": 6 + }, + { + "start": 52, + "end": 53, + "length": 1 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 53, + "end": 57, + "length": 4 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 57, + "end": 58, + "length": 1 + } + ] + } + }, + { + "args": [ + "foobar\n", + 58, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 61, + "end": 68, + "length": 7 + }, + { + "start": 61, + "end": 63, + "length": 2 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 63, + "end": 67, + "length": 4 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 67, + "end": 68, + "length": 1 + } + ] + } + }, + { + "args": [ + "foobar\n", + 68, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 68, + "end": 75, + "length": 7 + }, + { + "start": 68, + "end": 70, + "length": 2 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 70, + "end": 74, + "length": 4 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 74, + "end": 75, + "length": 1 + } + ] + } + } + ] + } +] diff --git a/packages/engine-javascript/test/__records__/html-basic.json b/packages/engine-javascript/test/__records__/html-basic.json index 12570d70..bf769d1d 100644 --- a/packages/engine-javascript/test/__records__/html-basic.json +++ b/packages/engine-javascript/test/__records__/html-basic.json @@ -137,6 +137,7 @@ { "args": [ "
bar
\n", + 0, 0 ], "result": { @@ -203,6 +204,7 @@ { "args": [ "
bar
\n", + 0, 0 ], "result": { @@ -269,6 +271,7 @@ { "args": [ "foobar\n", + 0, 0 ], "result": { @@ -285,6 +288,7 @@ { "args": [ "foobar\n", + 0, 0 ], "result": { @@ -311,6 +315,7 @@ { "args": [ "
bar
\n", + 0, 0 ], "result": { @@ -367,7 +372,8 @@ { "args": [ "
bar
\n", - 26 + 26, + 0 ], "result": { "index": 0, @@ -423,6 +429,7 @@ { "args": [ "
bar
\n", + 0, 0 ], "result": { @@ -479,7 +486,8 @@ { "args": [ "
bar
\n", - 26 + 26, + 0 ], "result": { "index": 0, @@ -546,6 +554,7 @@ { "args": [ "
bar
\n", + 0, 0 ], "result": { @@ -602,7 +611,8 @@ { "args": [ "
bar
\n", - 16 + 16, + 0 ], "result": { "index": 2, @@ -623,7 +633,8 @@ { "args": [ "
bar
\n", - 20 + 20, + 0 ], "result": { "index": 0, @@ -674,6 +685,7 @@ { "args": [ "
bar
\n", + 0, 0 ], "result": { @@ -730,7 +742,8 @@ { "args": [ "
bar
\n", - 16 + 16, + 0 ], "result": { "index": 2, @@ -751,7 +764,8 @@ { "args": [ "
bar
\n", - 20 + 20, + 0 ], "result": { "index": 0, @@ -816,7 +830,8 @@ { "args": [ "
bar
\n", - 4 + 4, + 0 ], "result": { "index": 5, @@ -832,7 +847,8 @@ { "args": [ "
bar
\n", - 16 + 16, + 0 ], "result": { "index": 0, @@ -848,7 +864,8 @@ { "args": [ "
bar
\n", - 4 + 4, + 0 ], "result": { "index": 5, @@ -864,7 +881,8 @@ { "args": [ "
bar
\n", - 16 + 16, + 0 ], "result": { "index": 0, @@ -898,7 +916,8 @@ { "args": [ "
bar
\n", - 5 + 5, + 0 ], "result": { "index": 4, @@ -929,7 +948,8 @@ { "args": [ "
bar
\n", - 10 + 10, + 0 ], "result": { "index": 5, @@ -945,7 +965,8 @@ { "args": [ "
bar
\n", - 11 + 11, + 0 ], "result": { "index": 6, @@ -961,7 +982,8 @@ { "args": [ "
bar
\n", - 16 + 16, + 0 ], "result": { "index": 0, @@ -977,7 +999,8 @@ { "args": [ "
bar
\n", - 5 + 5, + 0 ], "result": { "index": 4, @@ -1008,7 +1031,8 @@ { "args": [ "
bar
\n", - 10 + 10, + 0 ], "result": { "index": 5, @@ -1024,7 +1048,8 @@ { "args": [ "
bar
\n", - 11 + 11, + 0 ], "result": { "index": 6, @@ -1040,7 +1065,8 @@ { "args": [ "
bar
\n", - 16 + 16, + 0 ], "result": { "index": 0, @@ -1066,7 +1092,8 @@ { "args": [ "
bar
\n", - 12 + 12, + 0 ], "result": { "index": 0, @@ -1082,7 +1109,8 @@ { "args": [ "
bar
\n", - 12 + 12, + 0 ], "result": { "index": 0, @@ -1111,7 +1139,8 @@ { "args": [ "
bar
\n", - 17 + 17, + 0 ], "result": { "index": 0, @@ -1127,7 +1156,8 @@ { "args": [ "
bar
\n", - 17 + 17, + 0 ], "result": { "index": 0, @@ -1280,21 +1310,24 @@ { "args": [ "
bar
\n", - 26 + 26, + 0 ], "result": null }, { "args": [ "
bar
\n", - 26 + 26, + 0 ], "result": null }, { "args": [ "foobar\n", - 1 + 1, + 0 ], "result": { "index": 79, @@ -1310,7 +1343,8 @@ { "args": [ "foobar\n", - 2 + 2, + 0 ], "result": { "index": 115, @@ -1331,7 +1365,8 @@ { "args": [ "foobar\n", - 9 + 9, + 0 ], "result": { "index": 116, @@ -1347,7 +1382,8 @@ { "args": [ "foobar\n", - 14 + 14, + 0 ], "result": { "index": 77, @@ -1363,7 +1399,8 @@ { "args": [ "foobar\n", - 15 + 15, + 0 ], "result": { "index": 34, @@ -1409,14 +1446,16 @@ { "args": [ "foobar\n", - 75 + 75, + 0 ], "result": null }, { "args": [ "foobar\n", - 1 + 1, + 0 ], "result": { "index": 79, @@ -1432,7 +1471,8 @@ { "args": [ "foobar\n", - 2 + 2, + 0 ], "result": { "index": 115, @@ -1453,7 +1493,8 @@ { "args": [ "foobar\n", - 9 + 9, + 0 ], "result": { "index": 116, @@ -1469,7 +1510,8 @@ { "args": [ "foobar\n", - 14 + 14, + 0 ], "result": { "index": 77, @@ -1485,7 +1527,8 @@ { "args": [ "foobar\n", - 15 + 15, + 0 ], "result": { "index": 34, @@ -1531,7 +1574,8 @@ { "args": [ "foobar\n", - 75 + 75, + 0 ], "result": null } @@ -1548,7 +1592,8 @@ { "args": [ "foobar\n", - 15 + 15, + 0 ], "result": { "index": 1, @@ -1594,7 +1639,8 @@ { "args": [ "foobar\n", - 75 + 75, + 0 ], "result": { "index": 0, @@ -1640,7 +1686,8 @@ { "args": [ "foobar\n", - 15 + 15, + 0 ], "result": { "index": 1, @@ -1686,7 +1733,8 @@ { "args": [ "foobar\n", - 75 + 75, + 0 ], "result": { "index": 0, @@ -1745,7 +1793,8 @@ { "args": [ "foobar\n", - 21 + 21, + 0 ], "result": { "index": 1, @@ -1791,7 +1840,8 @@ { "args": [ "foobar\n", - 27 + 27, + 0 ], "result": { "index": 1, @@ -1837,7 +1887,8 @@ { "args": [ "foobar\n", - 34 + 34, + 0 ], "result": { "index": 0, @@ -1883,7 +1934,8 @@ { "args": [ "foobar\n", - 45 + 45, + 0 ], "result": { "index": 0, @@ -1929,7 +1981,8 @@ { "args": [ "foobar\n", - 52 + 52, + 0 ], "result": { "index": 1, @@ -1975,7 +2028,8 @@ { "args": [ "foobar\n", - 58 + 58, + 0 ], "result": { "index": 0, @@ -2021,7 +2075,8 @@ { "args": [ "foobar\n", - 68 + 68, + 0 ], "result": { "index": 0, @@ -2067,7 +2122,8 @@ { "args": [ "foobar\n", - 21 + 21, + 0 ], "result": { "index": 1, @@ -2113,7 +2169,8 @@ { "args": [ "foobar\n", - 27 + 27, + 0 ], "result": { "index": 1, @@ -2159,7 +2216,8 @@ { "args": [ "foobar\n", - 34 + 34, + 0 ], "result": { "index": 0, @@ -2205,7 +2263,8 @@ { "args": [ "foobar\n", - 45 + 45, + 0 ], "result": { "index": 0, @@ -2251,7 +2310,8 @@ { "args": [ "foobar\n", - 52 + 52, + 0 ], "result": { "index": 1, @@ -2297,7 +2357,8 @@ { "args": [ "foobar\n", - 58 + 58, + 0 ], "result": { "index": 0, @@ -2343,7 +2404,8 @@ { "args": [ "foobar\n", - 68 + 68, + 0 ], "result": { "index": 0, diff --git a/packages/engine-javascript/test/__records__/json-basic.js.json b/packages/engine-javascript/test/__records__/json-basic.js.json new file mode 100644 index 00000000..68f83c5f --- /dev/null +++ b/packages/engine-javascript/test/__records__/json-basic.js.json @@ -0,0 +1,1674 @@ +[ + { + "constractor": [ + [ + "\\b(?:true|false|null)\\b", + "-?(?:0|[1-9]\\d*)(?:(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)?", + "\"", + "\\[", + "\\{", + "/\\*\\*(?!/)", + "/\\*", + "(//).*$\\n?" + ] + ], + "executions": [ + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 0, + 0 + ], + "result": { + "index": 4, + "captureIndices": [ + { + "start": 0, + "end": 1, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 17, + 0 + ], + "result": null + }, + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 0, + 0 + ], + "result": { + "index": 4, + "captureIndices": [ + { + "start": 0, + "end": 1, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 17, + 0 + ], + "result": null + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 0, + 0 + ], + "result": { + "index": 3, + "captureIndices": [ + { + "start": 0, + "end": 1, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 56, + 0 + ], + "result": null + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 0, + 0 + ], + "result": { + "index": 3, + "captureIndices": [ + { + "start": 0, + "end": 1, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 56, + 0 + ], + "result": null + } + ] + }, + { + "constractor": [ + [ + "\\}", + "\"", + "/\\*\\*(?!/)", + "/\\*", + "(//).*$\\n?", + ":", + "[^\\s}]" + ] + ], + "executions": [ + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 1, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 1, + "end": 2, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 6, + 0 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 6, + "end": 7, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 8, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 8, + "end": 9, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 13, + 0 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 13, + "end": 14, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 15, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 15, + "end": 16, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 16, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 16, + "end": 17, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 1, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 1, + "end": 2, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 6, + 0 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 6, + "end": 7, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 8, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 8, + "end": 9, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 13, + 0 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 13, + "end": 14, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 15, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 15, + "end": 16, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 16, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 16, + "end": 17, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 54, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 54, + "end": 55, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 54, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 54, + "end": 55, + "length": 1 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "\"", + "\\\\(?:[\"\\\\/bfnrt]|u[0-9a-fA-F]{4})", + "\\\\." + ] + ], + "executions": [ + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 2, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 5, + "end": 6, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 9, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 12, + "end": 13, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 2, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 5, + "end": 6, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 9, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 12, + "end": 13, + "length": 1 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "(,)|(?=\\})", + "\\b(?:true|false|null)\\b", + "-?(?:0|[1-9]\\d*)(?:(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)?", + "\"", + "\\[", + "\\{", + "/\\*\\*(?!/)", + "/\\*", + "(//).*$\\n?", + "[^\\s,]" + ] + ], + "executions": [ + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 7, + 0 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 7, + "end": 8, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 14, + 0 + ], + "result": { + "index": 2, + "captureIndices": [ + { + "start": 14, + "end": 15, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 15, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 15, + "end": 15, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 16, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 16, + "end": 16, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 7, + 0 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 7, + "end": 8, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 14, + 0 + ], + "result": { + "index": 2, + "captureIndices": [ + { + "start": 14, + "end": 15, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 15, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 15, + "end": 15, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "args": [ + "{\"foo\":{\"bar\":1}}\n", + 16, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 16, + "end": 16, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "\\]", + "\\b(?:true|false|null)\\b", + "-?(?:0|[1-9]\\d*)(?:(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)?", + "\"", + "\\[", + "\\{", + "/\\*\\*(?!/)", + "/\\*", + "(//).*$\\n?", + ",", + "[^\\s\\]]" + ] + ], + "executions": [ + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 1, + 0 + ], + "result": { + "index": 10, + "captureIndices": [ + { + "start": 1, + "end": 2, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 2, + 0 + ], + "result": { + "index": 10, + "captureIndices": [ + { + "start": 2, + "end": 3, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 3, + 0 + ], + "result": { + "index": 10, + "captureIndices": [ + { + "start": 3, + "end": 4, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 4, + 0 + ], + "result": { + "index": 10, + "captureIndices": [ + { + "start": 4, + "end": 5, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 5, + 0 + ], + "result": { + "index": 10, + "captureIndices": [ + { + "start": 5, + "end": 6, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 6, + 0 + ], + "result": { + "index": 10, + "captureIndices": [ + { + "start": 6, + "end": 7, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 7, + 0 + ], + "result": { + "index": 10, + "captureIndices": [ + { + "start": 7, + "end": 8, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 8, + 0 + ], + "result": { + "index": 10, + "captureIndices": [ + { + "start": 8, + "end": 9, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 9, + 0 + ], + "result": { + "index": 10, + "captureIndices": [ + { + "start": 9, + "end": 10, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 10, + 0 + ], + "result": { + "index": 9, + "captureIndices": [ + { + "start": 10, + "end": 11, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 11, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 12, + "end": 16, + "length": 4 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 16, + 0 + ], + "result": { + "index": 9, + "captureIndices": [ + { + "start": 16, + "end": 17, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 17, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 18, + "end": 22, + "length": 4 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 22, + 0 + ], + "result": { + "index": 9, + "captureIndices": [ + { + "start": 22, + "end": 23, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 23, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 24, + "end": 29, + "length": 5 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 29, + 0 + ], + "result": { + "index": 9, + "captureIndices": [ + { + "start": 29, + "end": 30, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 30, + 0 + ], + "result": { + "index": 2, + "captureIndices": [ + { + "start": 31, + "end": 32, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 32, + 0 + ], + "result": { + "index": 9, + "captureIndices": [ + { + "start": 32, + "end": 33, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 33, + 0 + ], + "result": { + "index": 2, + "captureIndices": [ + { + "start": 34, + "end": 35, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 35, + 0 + ], + "result": { + "index": 9, + "captureIndices": [ + { + "start": 35, + "end": 36, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 36, + 0 + ], + "result": { + "index": 2, + "captureIndices": [ + { + "start": 37, + "end": 40, + "length": 3 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 40, + 0 + ], + "result": { + "index": 9, + "captureIndices": [ + { + "start": 40, + "end": 41, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 41, + 0 + ], + "result": { + "index": 3, + "captureIndices": [ + { + "start": 42, + "end": 43, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 47, + 0 + ], + "result": { + "index": 9, + "captureIndices": [ + { + "start": 47, + "end": 48, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 48, + 0 + ], + "result": { + "index": 4, + "captureIndices": [ + { + "start": 49, + "end": 50, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 50, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 50, + "end": 51, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 51, + 0 + ], + "result": { + "index": 9, + "captureIndices": [ + { + "start": 51, + "end": 52, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 52, + 0 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 53, + "end": 54, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 55, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 55, + "end": 56, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 1, + 0 + ], + "result": { + "index": 10, + "captureIndices": [ + { + "start": 1, + "end": 2, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 2, + 0 + ], + "result": { + "index": 10, + "captureIndices": [ + { + "start": 2, + "end": 3, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 3, + 0 + ], + "result": { + "index": 10, + "captureIndices": [ + { + "start": 3, + "end": 4, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 4, + 0 + ], + "result": { + "index": 10, + "captureIndices": [ + { + "start": 4, + "end": 5, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 5, + 0 + ], + "result": { + "index": 10, + "captureIndices": [ + { + "start": 5, + "end": 6, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 6, + 0 + ], + "result": { + "index": 10, + "captureIndices": [ + { + "start": 6, + "end": 7, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 7, + 0 + ], + "result": { + "index": 10, + "captureIndices": [ + { + "start": 7, + "end": 8, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 8, + 0 + ], + "result": { + "index": 10, + "captureIndices": [ + { + "start": 8, + "end": 9, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 9, + 0 + ], + "result": { + "index": 10, + "captureIndices": [ + { + "start": 9, + "end": 10, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 10, + 0 + ], + "result": { + "index": 9, + "captureIndices": [ + { + "start": 10, + "end": 11, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 11, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 12, + "end": 16, + "length": 4 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 16, + 0 + ], + "result": { + "index": 9, + "captureIndices": [ + { + "start": 16, + "end": 17, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 17, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 18, + "end": 22, + "length": 4 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 22, + 0 + ], + "result": { + "index": 9, + "captureIndices": [ + { + "start": 22, + "end": 23, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 23, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 24, + "end": 29, + "length": 5 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 29, + 0 + ], + "result": { + "index": 9, + "captureIndices": [ + { + "start": 29, + "end": 30, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 30, + 0 + ], + "result": { + "index": 2, + "captureIndices": [ + { + "start": 31, + "end": 32, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 32, + 0 + ], + "result": { + "index": 9, + "captureIndices": [ + { + "start": 32, + "end": 33, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 33, + 0 + ], + "result": { + "index": 2, + "captureIndices": [ + { + "start": 34, + "end": 35, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 35, + 0 + ], + "result": { + "index": 9, + "captureIndices": [ + { + "start": 35, + "end": 36, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 36, + 0 + ], + "result": { + "index": 2, + "captureIndices": [ + { + "start": 37, + "end": 40, + "length": 3 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 40, + 0 + ], + "result": { + "index": 9, + "captureIndices": [ + { + "start": 40, + "end": 41, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 41, + 0 + ], + "result": { + "index": 3, + "captureIndices": [ + { + "start": 42, + "end": 43, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 47, + 0 + ], + "result": { + "index": 9, + "captureIndices": [ + { + "start": 47, + "end": 48, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 48, + 0 + ], + "result": { + "index": 4, + "captureIndices": [ + { + "start": 49, + "end": 50, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 50, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 50, + "end": 51, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 51, + 0 + ], + "result": { + "index": 9, + "captureIndices": [ + { + "start": 51, + "end": 52, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 52, + 0 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 53, + "end": 54, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 55, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 55, + "end": 56, + "length": 1 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "\"", + "\\\\(?:[\"\\\\/bfnrt]|u[0-9a-fA-F]{4})", + "\\\\." + ] + ], + "executions": [ + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 43, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 46, + "end": 47, + "length": 1 + } + ] + } + }, + { + "args": [ + "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 43, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 46, + "end": 47, + "length": 1 + } + ] + } + } + ] + } +] diff --git a/packages/engine-javascript/test/__records__/json-basic.json b/packages/engine-javascript/test/__records__/json-basic.json index 40180a2c..68f83c5f 100644 --- a/packages/engine-javascript/test/__records__/json-basic.json +++ b/packages/engine-javascript/test/__records__/json-basic.json @@ -16,6 +16,7 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", + 0, 0 ], "result": { @@ -32,13 +33,15 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", - 17 + 17, + 0 ], "result": null }, { "args": [ "{\"foo\":{\"bar\":1}}\n", + 0, 0 ], "result": { @@ -55,13 +58,15 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", - 17 + 17, + 0 ], "result": null }, { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 0, 0 ], "result": { @@ -78,13 +83,15 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 56 + 56, + 0 ], "result": null }, { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", + 0, 0 ], "result": { @@ -101,7 +108,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 56 + 56, + 0 ], "result": null } @@ -123,7 +131,8 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", - 1 + 1, + 0 ], "result": { "index": 1, @@ -139,7 +148,8 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", - 6 + 6, + 0 ], "result": { "index": 5, @@ -155,7 +165,8 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", - 8 + 8, + 0 ], "result": { "index": 1, @@ -171,7 +182,8 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", - 13 + 13, + 0 ], "result": { "index": 5, @@ -187,7 +199,8 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", - 15 + 15, + 0 ], "result": { "index": 0, @@ -203,7 +216,8 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", - 16 + 16, + 0 ], "result": { "index": 0, @@ -219,7 +233,8 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", - 1 + 1, + 0 ], "result": { "index": 1, @@ -235,7 +250,8 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", - 6 + 6, + 0 ], "result": { "index": 5, @@ -251,7 +267,8 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", - 8 + 8, + 0 ], "result": { "index": 1, @@ -267,7 +284,8 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", - 13 + 13, + 0 ], "result": { "index": 5, @@ -283,7 +301,8 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", - 15 + 15, + 0 ], "result": { "index": 0, @@ -299,7 +318,8 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", - 16 + 16, + 0 ], "result": { "index": 0, @@ -315,7 +335,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 54 + 54, + 0 ], "result": { "index": 0, @@ -331,7 +352,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 54 + 54, + 0 ], "result": { "index": 0, @@ -358,7 +380,8 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", - 2 + 2, + 0 ], "result": { "index": 0, @@ -374,7 +397,8 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", - 9 + 9, + 0 ], "result": { "index": 0, @@ -390,7 +414,8 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", - 2 + 2, + 0 ], "result": { "index": 0, @@ -406,7 +431,8 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", - 9 + 9, + 0 ], "result": { "index": 0, @@ -440,7 +466,8 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", - 7 + 7, + 0 ], "result": { "index": 5, @@ -456,7 +483,8 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", - 14 + 14, + 0 ], "result": { "index": 2, @@ -472,7 +500,8 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", - 15 + 15, + 0 ], "result": { "index": 0, @@ -493,7 +522,8 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", - 16 + 16, + 0 ], "result": { "index": 0, @@ -514,7 +544,8 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", - 7 + 7, + 0 ], "result": { "index": 5, @@ -530,7 +561,8 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", - 14 + 14, + 0 ], "result": { "index": 2, @@ -546,7 +578,8 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", - 15 + 15, + 0 ], "result": { "index": 0, @@ -567,7 +600,8 @@ { "args": [ "{\"foo\":{\"bar\":1}}\n", - 16 + 16, + 0 ], "result": { "index": 0, @@ -607,7 +641,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 1 + 1, + 0 ], "result": { "index": 10, @@ -623,7 +658,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 2 + 2, + 0 ], "result": { "index": 10, @@ -639,7 +675,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 3 + 3, + 0 ], "result": { "index": 10, @@ -655,7 +692,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 4 + 4, + 0 ], "result": { "index": 10, @@ -671,7 +709,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 5 + 5, + 0 ], "result": { "index": 10, @@ -687,7 +726,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 6 + 6, + 0 ], "result": { "index": 10, @@ -703,7 +743,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 7 + 7, + 0 ], "result": { "index": 10, @@ -719,7 +760,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 8 + 8, + 0 ], "result": { "index": 10, @@ -735,7 +777,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 9 + 9, + 0 ], "result": { "index": 10, @@ -751,7 +794,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 10 + 10, + 0 ], "result": { "index": 9, @@ -767,7 +811,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 11 + 11, + 0 ], "result": { "index": 1, @@ -783,7 +828,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 16 + 16, + 0 ], "result": { "index": 9, @@ -799,7 +845,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 17 + 17, + 0 ], "result": { "index": 1, @@ -815,7 +862,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 22 + 22, + 0 ], "result": { "index": 9, @@ -831,7 +879,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 23 + 23, + 0 ], "result": { "index": 1, @@ -847,7 +896,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 29 + 29, + 0 ], "result": { "index": 9, @@ -863,7 +913,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 30 + 30, + 0 ], "result": { "index": 2, @@ -879,7 +930,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 32 + 32, + 0 ], "result": { "index": 9, @@ -895,7 +947,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 33 + 33, + 0 ], "result": { "index": 2, @@ -911,7 +964,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 35 + 35, + 0 ], "result": { "index": 9, @@ -927,7 +981,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 36 + 36, + 0 ], "result": { "index": 2, @@ -943,7 +998,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 40 + 40, + 0 ], "result": { "index": 9, @@ -959,7 +1015,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 41 + 41, + 0 ], "result": { "index": 3, @@ -975,7 +1032,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 47 + 47, + 0 ], "result": { "index": 9, @@ -991,7 +1049,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 48 + 48, + 0 ], "result": { "index": 4, @@ -1007,7 +1066,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 50 + 50, + 0 ], "result": { "index": 0, @@ -1023,7 +1083,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 51 + 51, + 0 ], "result": { "index": 9, @@ -1039,7 +1100,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 52 + 52, + 0 ], "result": { "index": 5, @@ -1055,7 +1117,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 55 + 55, + 0 ], "result": { "index": 0, @@ -1071,7 +1134,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 1 + 1, + 0 ], "result": { "index": 10, @@ -1087,7 +1151,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 2 + 2, + 0 ], "result": { "index": 10, @@ -1103,7 +1168,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 3 + 3, + 0 ], "result": { "index": 10, @@ -1119,7 +1185,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 4 + 4, + 0 ], "result": { "index": 10, @@ -1135,7 +1202,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 5 + 5, + 0 ], "result": { "index": 10, @@ -1151,7 +1219,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 6 + 6, + 0 ], "result": { "index": 10, @@ -1167,7 +1236,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 7 + 7, + 0 ], "result": { "index": 10, @@ -1183,7 +1253,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 8 + 8, + 0 ], "result": { "index": 10, @@ -1199,7 +1270,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 9 + 9, + 0 ], "result": { "index": 10, @@ -1215,7 +1287,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 10 + 10, + 0 ], "result": { "index": 9, @@ -1231,7 +1304,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 11 + 11, + 0 ], "result": { "index": 1, @@ -1247,7 +1321,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 16 + 16, + 0 ], "result": { "index": 9, @@ -1263,7 +1338,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 17 + 17, + 0 ], "result": { "index": 1, @@ -1279,7 +1355,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 22 + 22, + 0 ], "result": { "index": 9, @@ -1295,7 +1372,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 23 + 23, + 0 ], "result": { "index": 1, @@ -1311,7 +1389,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 29 + 29, + 0 ], "result": { "index": 9, @@ -1327,7 +1406,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 30 + 30, + 0 ], "result": { "index": 2, @@ -1343,7 +1423,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 32 + 32, + 0 ], "result": { "index": 9, @@ -1359,7 +1440,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 33 + 33, + 0 ], "result": { "index": 2, @@ -1375,7 +1457,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 35 + 35, + 0 ], "result": { "index": 9, @@ -1391,7 +1474,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 36 + 36, + 0 ], "result": { "index": 2, @@ -1407,7 +1491,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 40 + 40, + 0 ], "result": { "index": 9, @@ -1423,7 +1508,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 41 + 41, + 0 ], "result": { "index": 3, @@ -1439,7 +1525,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 47 + 47, + 0 ], "result": { "index": 9, @@ -1455,7 +1542,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 48 + 48, + 0 ], "result": { "index": 4, @@ -1471,7 +1559,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 50 + 50, + 0 ], "result": { "index": 0, @@ -1487,7 +1576,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 51 + 51, + 0 ], "result": { "index": 9, @@ -1503,7 +1593,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 52 + 52, + 0 ], "result": { "index": 5, @@ -1519,7 +1610,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 55 + 55, + 0 ], "result": { "index": 0, @@ -1546,7 +1638,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 43 + 43, + 0 ], "result": { "index": 0, @@ -1562,7 +1655,8 @@ { "args": [ "[undefined, null, true, false, 0, 1, 1.1, \"foo\", [], {}]\n", - 43 + 43, + 0 ], "result": { "index": 0, diff --git a/packages/engine-javascript/test/__records__/jsonc.js.json b/packages/engine-javascript/test/__records__/jsonc.js.json new file mode 100644 index 00000000..150ebc14 --- /dev/null +++ b/packages/engine-javascript/test/__records__/jsonc.js.json @@ -0,0 +1,431 @@ +[ + { + "constractor": [ + [ + "\\b(?:true|false|null)\\b", + "-?(?:0|[1-9]\\d*)(?:(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)?", + "\"", + "\\[", + "\\{", + "/\\*\\*(?!/)", + "/\\*", + "(//).*$\\n?" + ] + ], + "executions": [ + { + "args": [ + "// comment\n", + 0, + 0 + ], + "result": { + "index": 7, + "captureIndices": [ + { + "start": 0, + "end": 11, + "length": 11 + }, + { + "start": 0, + "end": 2, + "length": 2 + } + ] + } + }, + { + "args": [ + "// comment\n", + 11, + 0 + ], + "result": null + }, + { + "args": [ + "{\"foo\":\"bar\"}\n", + 0, + 0 + ], + "result": { + "index": 4, + "captureIndices": [ + { + "start": 0, + "end": 1, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":\"bar\"}\n", + 13, + 0 + ], + "result": null + }, + { + "args": [ + "// comment\n", + 0, + 0 + ], + "result": { + "index": 7, + "captureIndices": [ + { + "start": 0, + "end": 11, + "length": 11 + }, + { + "start": 0, + "end": 2, + "length": 2 + } + ] + } + }, + { + "args": [ + "// comment\n", + 11, + 0 + ], + "result": null + }, + { + "args": [ + "{\"foo\":\"bar\"}\n", + 0, + 0 + ], + "result": { + "index": 4, + "captureIndices": [ + { + "start": 0, + "end": 1, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":\"bar\"}\n", + 13, + 0 + ], + "result": null + } + ] + }, + { + "constractor": [ + [ + "\\}", + "\"", + "/\\*\\*(?!/)", + "/\\*", + "(//).*$\\n?", + ":", + "[^\\s}]" + ] + ], + "executions": [ + { + "args": [ + "{\"foo\":\"bar\"}\n", + 1, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 1, + "end": 2, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":\"bar\"}\n", + 6, + 0 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 6, + "end": 7, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":\"bar\"}\n", + 12, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 12, + "end": 13, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":\"bar\"}\n", + 1, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 1, + "end": 2, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":\"bar\"}\n", + 6, + 0 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 6, + "end": 7, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":\"bar\"}\n", + 12, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 12, + "end": 13, + "length": 1 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "\"", + "\\\\(?:[\"\\\\/bfnrt]|u[0-9a-fA-F]{4})", + "\\\\." + ] + ], + "executions": [ + { + "args": [ + "{\"foo\":\"bar\"}\n", + 2, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 5, + "end": 6, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":\"bar\"}\n", + 2, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 5, + "end": 6, + "length": 1 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "(,)|(?=\\})", + "\\b(?:true|false|null)\\b", + "-?(?:0|[1-9]\\d*)(?:(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)?", + "\"", + "\\[", + "\\{", + "/\\*\\*(?!/)", + "/\\*", + "(//).*$\\n?", + "[^\\s,]" + ] + ], + "executions": [ + { + "args": [ + "{\"foo\":\"bar\"}\n", + 7, + 0 + ], + "result": { + "index": 3, + "captureIndices": [ + { + "start": 7, + "end": 8, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":\"bar\"}\n", + 12, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 12, + "end": 12, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "args": [ + "{\"foo\":\"bar\"}\n", + 7, + 0 + ], + "result": { + "index": 3, + "captureIndices": [ + { + "start": 7, + "end": 8, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":\"bar\"}\n", + 12, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 12, + "end": 12, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "\"", + "\\\\(?:[\"\\\\/bfnrt]|u[0-9a-fA-F]{4})", + "\\\\." + ] + ], + "executions": [ + { + "args": [ + "{\"foo\":\"bar\"}\n", + 8, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 11, + "end": 12, + "length": 1 + } + ] + } + }, + { + "args": [ + "{\"foo\":\"bar\"}\n", + 8, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 11, + "end": 12, + "length": 1 + } + ] + } + } + ] + } +] diff --git a/packages/engine-javascript/test/__records__/jsonc.json b/packages/engine-javascript/test/__records__/jsonc.json index 1be3268d..150ebc14 100644 --- a/packages/engine-javascript/test/__records__/jsonc.json +++ b/packages/engine-javascript/test/__records__/jsonc.json @@ -16,6 +16,7 @@ { "args": [ "// comment\n", + 0, 0 ], "result": { @@ -37,13 +38,15 @@ { "args": [ "// comment\n", - 11 + 11, + 0 ], "result": null }, { "args": [ "{\"foo\":\"bar\"}\n", + 0, 0 ], "result": { @@ -60,13 +63,15 @@ { "args": [ "{\"foo\":\"bar\"}\n", - 13 + 13, + 0 ], "result": null }, { "args": [ "// comment\n", + 0, 0 ], "result": { @@ -88,13 +93,15 @@ { "args": [ "// comment\n", - 11 + 11, + 0 ], "result": null }, { "args": [ "{\"foo\":\"bar\"}\n", + 0, 0 ], "result": { @@ -111,7 +118,8 @@ { "args": [ "{\"foo\":\"bar\"}\n", - 13 + 13, + 0 ], "result": null } @@ -133,7 +141,8 @@ { "args": [ "{\"foo\":\"bar\"}\n", - 1 + 1, + 0 ], "result": { "index": 1, @@ -149,7 +158,8 @@ { "args": [ "{\"foo\":\"bar\"}\n", - 6 + 6, + 0 ], "result": { "index": 5, @@ -165,7 +175,8 @@ { "args": [ "{\"foo\":\"bar\"}\n", - 12 + 12, + 0 ], "result": { "index": 0, @@ -181,7 +192,8 @@ { "args": [ "{\"foo\":\"bar\"}\n", - 1 + 1, + 0 ], "result": { "index": 1, @@ -197,7 +209,8 @@ { "args": [ "{\"foo\":\"bar\"}\n", - 6 + 6, + 0 ], "result": { "index": 5, @@ -213,7 +226,8 @@ { "args": [ "{\"foo\":\"bar\"}\n", - 12 + 12, + 0 ], "result": { "index": 0, @@ -240,7 +254,8 @@ { "args": [ "{\"foo\":\"bar\"}\n", - 2 + 2, + 0 ], "result": { "index": 0, @@ -256,7 +271,8 @@ { "args": [ "{\"foo\":\"bar\"}\n", - 2 + 2, + 0 ], "result": { "index": 0, @@ -290,7 +306,8 @@ { "args": [ "{\"foo\":\"bar\"}\n", - 7 + 7, + 0 ], "result": { "index": 3, @@ -306,7 +323,8 @@ { "args": [ "{\"foo\":\"bar\"}\n", - 12 + 12, + 0 ], "result": { "index": 0, @@ -327,7 +345,8 @@ { "args": [ "{\"foo\":\"bar\"}\n", - 7 + 7, + 0 ], "result": { "index": 3, @@ -343,7 +362,8 @@ { "args": [ "{\"foo\":\"bar\"}\n", - 12 + 12, + 0 ], "result": { "index": 0, @@ -375,7 +395,8 @@ { "args": [ "{\"foo\":\"bar\"}\n", - 8 + 8, + 0 ], "result": { "index": 0, @@ -391,7 +412,8 @@ { "args": [ "{\"foo\":\"bar\"}\n", - 8 + 8, + 0 ], "result": { "index": 0, diff --git a/packages/engine-javascript/test/__records__/sql.js.json b/packages/engine-javascript/test/__records__/sql.js.json new file mode 100644 index 00000000..81843a8e --- /dev/null +++ b/packages/engine-javascript/test/__records__/sql.js.json @@ -0,0 +1,1116 @@ +[ + { + "constractor": [ + [ + "((?]?=|<>|<|>", + "-|\\+|/", + "\\|\\|", + "(?i)\\b(approx_count_distinct|approx_percentile_cont|approx_percentile_disc|avg|checksum_agg|count|count_big|group|grouping|grouping_id|max|min|sum|stdev|stdevp|var|varp)\\b\\s*\\(", + "(?i)\\b(cume_dist|first_value|lag|last_value|lead|percent_rank|percentile_cont|percentile_disc)\\b\\s*\\(", + "(?i)\\b(bit_count|get_bit|left_shift|right_shift|set_bit)\\b\\s*\\(", + "(?i)\\b(cast|convert|parse|try_cast|try_convert|try_parse)\\b\\s*\\(", + "(?i)\\b(collationproperty|tertiary_weights)\\b\\s*\\(", + "(?i)\\b(asymkey_id|asymkeyproperty|certproperty|cert_id|crypt_gen_random|decryptbyasymkey|decryptbycert|decryptbykey|decryptbykeyautoasymkey|decryptbykeyautocert|decryptbypassphrase|encryptbyasymkey|encryptbycert|encryptbykey|encryptbypassphrase|hashbytes|is_objectsigned|key_guid|key_id|key_name|signbyasymkey|signbycert|symkeyproperty|verifysignedbycert|verifysignedbyasymkey)\\b\\s*\\(", + "(?i)\\b(cursor_status)\\b\\s*\\(", + "(?i)\\b(sysdatetime|sysdatetimeoffset|sysutcdatetime|current_time(stamp)?|getdate|getutcdate|datename|datepart|day|month|year|datefromparts|datetime2fromparts|datetimefromparts|datetimeoffsetfromparts|smalldatetimefromparts|timefromparts|datediff|dateadd|datetrunc|eomonth|switchoffset|todatetimeoffset|isdate|date_bucket)\\b\\s*\\(", + "(?i)\\b(datalength|ident_current|ident_incr|ident_seed|identity|sql_variant_property)\\b\\s*\\(", + "(?i)\\b(coalesce|nullif)\\b\\s*\\(", + "(?\\s*$)", + "(?]|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^yield|[^\\._$0-9A-Za-z]yield|^throw|[^\\._$0-9A-Za-z]throw|^in|[^\\._$0-9A-Za-z]in|^of|[^\\._$0-9A-Za-z]of|^typeof|[^\\._$0-9A-Za-z]typeof|&&|\\|\\||\\*)\\s*(\\{)", + "\\{", + "([_$A-Za-z][_$0-9A-Za-z]*)\\s*(:)(?=\\s*\\{)", + "([_$A-Za-z][_$0-9A-Za-z]*)\\s*(:)", + "'", + "\"", + "(?=(([_$A-Za-z][_$0-9A-Za-z]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([_$A-Za-z][_$0-9A-Za-z]*)(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)?`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?\\s*(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?(`)", + "(?|&&|\\|\\||\\*\\/)\\s*(\\/)(?![\\/*])(?=(?:[^\\/\\\\\\[()]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\]|\\(([^)\\\\]|\\\\.)+\\))+\\/([dgimsuvy]+|(?![\\/\\*])|(?=\\/\\*))(?!\\s*[a-zA-Z0-9_$]))", + "((?)", + "(?:(?]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+)?\\s*=>)))", + "=>", + "(?<=[(=,])\\s*(async)?(?=\\s*((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*))?\\(\\s*((([{\\[]\\s*)?$)|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))))", + "(?<=[(=,]|=>|^return|[^\\._$0-9A-Za-z]return)\\s*(async)?(?=\\s*((((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*))?\\()|(<)|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)))\\s*$)", + "(?<=\\)|^)\\s*(:)(?=\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*=>)", + "\\s*(<)\\s*(const)\\s*(>)", + "(?:(?*?\\&\\|\\^]|[^_$0-9A-Za-z](?:\\+\\+|--)|[^+]\\+|[^\\-]-))\\s*(<)(?!)", + "(?!\\?\\.\\s*[^\\d])(\\?)(?!\\?)", + "(?>=|>>>=|\\|=", + "<<|>>>|>>", + "===|!==|==|!=", + "<=|>=|<>|<|>", + "(?<=[_$0-9A-Za-z])(!)\\s*(?:(/=)|(?:(/)(?![/*])))", + "!|&&|\\|\\||\\?\\?", + "\\&|~|\\^|\\|", + "=", + "--", + "\\+\\+", + "%|\\*|/|-|\\+", + "(?<=[_$0-9A-Za-z)\\]])\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)+(?:(/=)|(?:(/)(?![/*]))))", + "(?<=[_$0-9A-Za-z)\\]])\\s*(?:(/=)|(?:(/)(?![/*])))", + "(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))\\s*(?:(\\?\\.\\s*)|(!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)?\\())", + "(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))(<\\s*[{\\[(]\\s*$))", + "\\b(?]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\())|(?:(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\b(?!\\$)))", + "(?)))|((async\\s*)?(((<\\s*$)|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?[(]\\s*((([{\\[]\\s*)?$)|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+)?\\s*=>)))))", + "(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(\\#?[A-Z][_$\\dA-Z]*)(?![_$0-9A-Za-z])", + "(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*)", + "([A-Z][_$\\dA-Z]*)(?![_$0-9A-Za-z])", + "[_$A-Za-z][_$0-9A-Za-z]*", + ",", + "(?:(\\.)|(\\?\\.(?!\\s*[\\d])))", + ";", + "'", + "\"", + "(?=(([_$A-Za-z][_$0-9A-Za-z]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([_$A-Za-z][_$0-9A-Za-z]*)(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)?`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?\\s*(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?(`)", + "/\\*\\*(?!/)", + "(/\\*)(?:\\s*((@)internal)(?=\\s|(\\*/)))?", + "(^[ \\t]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)", + "\\A(#!).*(?=$)" + ] + ], + "executions": [ + { + "args": [ + "const foo: string = \"bar\"\n", + 0, + 0 + ], + "result": { + "index": 3, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 0, + "end": 5, + "length": 5 + } + ] + } + }, + { + "args": [ + "const foo: string = \"bar\"\n", + 0, + 0 + ], + "result": { + "index": 3, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 0, + "end": 5, + "length": 5 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "(?!(?)))|((async\\s*)?(((<\\s*$)|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?[(]\\s*((([{\\[]\\s*)?$)|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+)?\\s*=>)))))|(:\\s*((<)|([(]\\s*(([)])|(\\.\\.\\.)|([_$0-9A-Za-z]+\\s*(([:,?=])|([)]\\s*=>)))))))|(:\\s*(?]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?[(]\\s*((([{\\[]\\s*)?$)|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(<[^<>]*>)|[^<>(),=])+=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\s*)?(((<\\s*$)|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?[(]\\s*((([{\\[]\\s*)?$)|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+)?\\s*=>))))))", + "([_$A-Za-z][_$0-9A-Za-z]*)", + "(?\\s*$)", + "(?\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)?`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?\\s*(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?(`)", + "/\\*\\*(?!/)", + "(/\\*)(?:\\s*((@)internal)(?=\\s|(\\*/)))?", + "(^[ \\t]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)" + ] + ], + "executions": [ + { + "args": [ + "const foo: string = \"bar\"\n", + 9, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 9, + "end": 10, + "length": 1 + }, + { + "start": 9, + "end": 10, + "length": 1 + } + ] + } + }, + { + "args": [ + "const foo: string = \"bar\"\n", + 18, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 18, + "end": 18, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "args": [ + "const foo: string = \"bar\"\n", + 9, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 9, + "end": 10, + "length": 1 + }, + { + "start": 9, + "end": 10, + "length": 1 + } + ] + } + }, + { + "args": [ + "const foo: string = \"bar\"\n", + 18, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 18, + "end": 18, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "(?])|((?<=[}>\\])]|[_$A-Za-z])\\s*(?=\\{)))", + "/\\*\\*(?!/)", + "(/\\*)(?:\\s*((@)internal)(?=\\s|(\\*/)))?", + "(^[ \\t]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)", + "'", + "\"", + "(?=(([_$A-Za-z][_$0-9A-Za-z]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([_$A-Za-z][_$0-9A-Za-z]*)(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)?`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?\\s*(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?(`)", + "\\b(?))))))", + "\\(", + "(=>)(?=\\s*\\S)", + "=>", + "(?\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)?`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?\\s*(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?(`)", + "(?|&&|\\|\\||\\*\\/)\\s*(\\/)(?![\\/*])(?=(?:[^\\/\\\\\\[()]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\]|\\(([^)\\\\]|\\\\.)+\\))+\\/([dgimsuvy]+|(?![\\/\\*])|(?=\\/\\*))(?!\\s*[a-zA-Z0-9_$]))", + "((?)", + "(?:(?]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+)?\\s*=>)))", + "=>", + "(?<=[(=,])\\s*(async)?(?=\\s*((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*))?\\(\\s*((([{\\[]\\s*)?$)|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))))", + "(?<=[(=,]|=>|^return|[^\\._$0-9A-Za-z]return)\\s*(async)?(?=\\s*((((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*))?\\()|(<)|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)))\\s*$)", + "(?<=\\)|^)\\s*(:)(?=\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*=>)", + "\\s*(<)\\s*(const)\\s*(>)", + "(?:(?*?\\&\\|\\^]|[^_$0-9A-Za-z](?:\\+\\+|--)|[^+]\\+|[^\\-]-))\\s*(<)(?!)", + "(?!\\?\\.\\s*[^\\d])(\\?)(?!\\?)", + "(?>=|>>>=|\\|=", + "<<|>>>|>>", + "===|!==|==|!=", + "<=|>=|<>|<|>", + "(?<=[_$0-9A-Za-z])(!)\\s*(?:(/=)|(?:(/)(?![/*])))", + "!|&&|\\|\\||\\?\\?", + "\\&|~|\\^|\\|", + "=", + "--", + "\\+\\+", + "%|\\*|/|-|\\+", + "(?<=[_$0-9A-Za-z)\\]])\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)+(?:(/=)|(?:(/)(?![/*]))))", + "(?<=[_$0-9A-Za-z)\\]])\\s*(?:(/=)|(?:(/)(?![/*])))", + "(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))\\s*(?:(\\?\\.\\s*)|(!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)?\\())", + "(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))(<\\s*[{\\[(]\\s*$))", + "\\b(?]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\())|(?:(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\b(?!\\$)))", + "(?)))|((async\\s*)?(((<\\s*$)|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?[(]\\s*((([{\\[]\\s*)?$)|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+)?\\s*=>)))))", + "(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(\\#?[A-Z][_$\\dA-Z]*)(?![_$0-9A-Za-z])", + "(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*)", + "([A-Z][_$\\dA-Z]*)(?![_$0-9A-Za-z])", + "[_$A-Za-z][_$0-9A-Za-z]*", + ",", + "(?:(\\.)|(\\?\\.(?!\\s*[\\d])))" + ] + ], + "executions": [ + { + "args": [ + "const foo: string = \"bar\"\n", + 19, + 0 + ], + "result": { + "index": 2, + "captureIndices": [ + { + "start": 20, + "end": 21, + "length": 1 + } + ] + } + }, + { + "args": [ + "const foo: string = \"bar\"\n", + 25, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 25, + "end": 25, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "args": [ + "const foo: string = \"bar\"\n", + 19, + 0 + ], + "result": { + "index": 2, + "captureIndices": [ + { + "start": 20, + "end": 21, + "length": 1 + } + ] + } + }, + { + "args": [ + "const foo: string = \"bar\"\n", + 25, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 25, + "end": 25, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "(\")|((?:[^\\\\\\n])$)", + "\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\\{[0-9A-Fa-f]+\\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)" + ] + ], + "executions": [ + { + "args": [ + "const foo: string = \"bar\"\n", + 21, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 24, + "end": 25, + "length": 1 + }, + { + "start": 24, + "end": 25, + "length": 1 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "args": [ + "const foo: string = \"bar\"\n", + 21, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 24, + "end": 25, + "length": 1 + }, + { + "start": 24, + "end": 25, + "length": 1 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "^(///)\\s*(?=<(reference|amd-dependency|amd-module)(\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\s*=\\s*((\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)))+\\s*/>\\s*$)", + "(?]|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^yield|[^\\._$0-9A-Za-z]yield|^throw|[^\\._$0-9A-Za-z]throw|^in|[^\\._$0-9A-Za-z]in|^of|[^\\._$0-9A-Za-z]of|^typeof|[^\\._$0-9A-Za-z]typeof|&&|\\|\\||\\*)\\s*(\\{)", + "\\{", + "([_$A-Za-z][_$0-9A-Za-z]*)\\s*(:)(?=\\s*\\{)", + "([_$A-Za-z][_$0-9A-Za-z]*)\\s*(:)", + "'", + "\"", + "(?=(([_$A-Za-z][_$0-9A-Za-z]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([_$A-Za-z][_$0-9A-Za-z]*)(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)?`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?\\s*(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?(`)", + "(?|&&|\\|\\||\\*\\/)\\s*(\\/)(?![\\/*])(?=(?:[^\\/\\\\\\[()]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\]|\\(([^)\\\\]|\\\\.)+\\))+\\/([dgimsuvy]+|(?![\\/\\*])|(?=\\/\\*))(?!\\s*[a-zA-Z0-9_$]))", + "((?)", + "(?:(?]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+)?\\s*=>)))", + "=>", + "(?<=[(=,])\\s*(async)?(?=\\s*((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*))?\\(\\s*((([{\\[]\\s*)?$)|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))))", + "(?<=[(=,]|=>|^return|[^\\._$0-9A-Za-z]return)\\s*(async)?(?=\\s*((((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*))?\\()|(<)|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)))\\s*$)", + "(?<=\\)|^)\\s*(:)(?=\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*=>)", + "\\s*(<)\\s*(const)\\s*(>)", + "(?:(?*?\\&\\|\\^]|[^_$0-9A-Za-z](?:\\+\\+|--)|[^+]\\+|[^\\-]-))\\s*(<)(?!)", + "(?!\\?\\.\\s*[^\\d])(\\?)(?!\\?)", + "(?>=|>>>=|\\|=", + "<<|>>>|>>", + "===|!==|==|!=", + "<=|>=|<>|<|>", + "(?<=[_$0-9A-Za-z])(!)\\s*(?:(/=)|(?:(/)(?![/*])))", + "!|&&|\\|\\||\\?\\?", + "\\&|~|\\^|\\|", + "=", + "--", + "\\+\\+", + "%|\\*|/|-|\\+", + "(?<=[_$0-9A-Za-z)\\]])\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)+(?:(/=)|(?:(/)(?![/*]))))", + "(?<=[_$0-9A-Za-z)\\]])\\s*(?:(/=)|(?:(/)(?![/*])))", + "(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))\\s*(?:(\\?\\.\\s*)|(!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)?\\())", + "(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))(<\\s*[{\\[(]\\s*$))", + "\\b(?]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\())|(?:(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\b(?!\\$)))", + "(?)))|((async\\s*)?(((<\\s*$)|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?[(]\\s*((([{\\[]\\s*)?$)|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+)?\\s*=>)))))", + "(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(\\#?[A-Z][_$\\dA-Z]*)(?![_$0-9A-Za-z])", + "(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*)", + "([A-Z][_$\\dA-Z]*)(?![_$0-9A-Za-z])", + "[_$A-Za-z][_$0-9A-Za-z]*", + ",", + "(?:(\\.)|(\\?\\.(?!\\s*[\\d])))", + ";", + "'", + "\"", + "(?=(([_$A-Za-z][_$0-9A-Za-z]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([_$A-Za-z][_$0-9A-Za-z]*)(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)?`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?\\s*(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?(`)", + "/\\*\\*(?!/)", + "(/\\*)(?:\\s*((@)internal)(?=\\s|(\\*/)))?", + "(^[ \\t]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)", + "\\￿(#!).*(?=$)" + ] + ], + "executions": [ + { + "args": [ + "const foo: string = \"bar\"\n", + 25, + 0 + ], + "result": null + }, + { + "args": [ + "const foo: string = \"bar\"\n", + 25, + 0 + ], + "result": null + } + ] + } +] diff --git a/packages/engine-javascript/test/__records__/ts-basic.json b/packages/engine-javascript/test/__records__/ts-basic.json index 9a58f3c9..6304a49c 100644 --- a/packages/engine-javascript/test/__records__/ts-basic.json +++ b/packages/engine-javascript/test/__records__/ts-basic.json @@ -136,6 +136,7 @@ { "args": [ "const foo: string = \"bar\"\n", + 0, 0 ], "result": { @@ -167,6 +168,7 @@ { "args": [ "const foo: string = \"bar\"\n", + 0, 0 ], "result": { @@ -219,6 +221,7 @@ { "args": [ "const foo: string = \"bar\"\n", + 0, 0 ], "result": { @@ -250,7 +253,8 @@ { "args": [ "const foo: string = \"bar\"\n", - 6 + 6, + 0 ], "result": { "index": 5, @@ -271,7 +275,8 @@ { "args": [ "const foo: string = \"bar\"\n", - 18 + 18, + 0 ], "result": { "index": 6, @@ -292,7 +297,8 @@ { "args": [ "const foo: string = \"bar\"\n", - 25 + 25, + 0 ], "result": { "index": 0, @@ -343,6 +349,7 @@ { "args": [ "const foo: string = \"bar\"\n", + 0, 0 ], "result": { @@ -374,7 +381,8 @@ { "args": [ "const foo: string = \"bar\"\n", - 6 + 6, + 0 ], "result": { "index": 5, @@ -395,7 +403,8 @@ { "args": [ "const foo: string = \"bar\"\n", - 18 + 18, + 0 ], "result": { "index": 6, @@ -416,7 +425,8 @@ { "args": [ "const foo: string = \"bar\"\n", - 25 + 25, + 0 ], "result": { "index": 0, @@ -476,7 +486,8 @@ { "args": [ "const foo: string = \"bar\"\n", - 6 + 6, + 0 ], "result": { "index": 0, @@ -492,7 +503,8 @@ { "args": [ "const foo: string = \"bar\"\n", - 6 + 6, + 0 ], "result": { "index": 0, @@ -527,7 +539,8 @@ { "args": [ "const foo: string = \"bar\"\n", - 9 + 9, + 0 ], "result": { "index": 1, @@ -548,7 +561,8 @@ { "args": [ "const foo: string = \"bar\"\n", - 18 + 18, + 0 ], "result": { "index": 0, @@ -579,7 +593,8 @@ { "args": [ "const foo: string = \"bar\"\n", - 9 + 9, + 0 ], "result": { "index": 1, @@ -600,7 +615,8 @@ { "args": [ "const foo: string = \"bar\"\n", - 18 + 18, + 0 ], "result": { "index": 0, @@ -676,7 +692,8 @@ { "args": [ "const foo: string = \"bar\"\n", - 10 + 10, + 0 ], "result": { "index": 13, @@ -697,7 +714,8 @@ { "args": [ "const foo: string = \"bar\"\n", - 17 + 17, + 0 ], "result": { "index": 0, @@ -723,7 +741,8 @@ { "args": [ "const foo: string = \"bar\"\n", - 10 + 10, + 0 ], "result": { "index": 13, @@ -744,7 +763,8 @@ { "args": [ "const foo: string = \"bar\"\n", - 17 + 17, + 0 ], "result": { "index": 0, @@ -863,7 +883,8 @@ { "args": [ "const foo: string = \"bar\"\n", - 19 + 19, + 0 ], "result": { "index": 2, @@ -879,7 +900,8 @@ { "args": [ "const foo: string = \"bar\"\n", - 25 + 25, + 0 ], "result": { "index": 0, @@ -905,7 +927,8 @@ { "args": [ "const foo: string = \"bar\"\n", - 19 + 19, + 0 ], "result": { "index": 2, @@ -921,7 +944,8 @@ { "args": [ "const foo: string = \"bar\"\n", - 25 + 25, + 0 ], "result": { "index": 0, @@ -957,7 +981,8 @@ { "args": [ "const foo: string = \"bar\"\n", - 21 + 21, + 0 ], "result": { "index": 0, @@ -983,7 +1008,8 @@ { "args": [ "const foo: string = \"bar\"\n", - 21 + 21, + 0 ], "result": { "index": 0, @@ -1145,14 +1171,16 @@ { "args": [ "const foo: string = \"bar\"\n", - 25 + 25, + 0 ], "result": null }, { "args": [ "const foo: string = \"bar\"\n", - 25 + 25, + 0 ], "result": null } diff --git a/packages/engine-javascript/test/__records__/vue.js.json b/packages/engine-javascript/test/__records__/vue.js.json new file mode 100644 index 00000000..8d1378c9 --- /dev/null +++ b/packages/engine-javascript/test/__records__/vue.js.json @@ -0,0 +1,2253 @@ +[ + { + "constractor": [ + [ + "^(///)\\s*(?=<(reference|amd-dependency|amd-module)(\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\s*=\\s*((\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)))+\\s*/>\\s*$)", + "(?]|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^yield|[^\\._$0-9A-Za-z]yield|^throw|[^\\._$0-9A-Za-z]throw|^in|[^\\._$0-9A-Za-z]in|^of|[^\\._$0-9A-Za-z]of|^typeof|[^\\._$0-9A-Za-z]typeof|&&|\\|\\||\\*)\\s*(\\{)", + "\\{", + "([_$A-Za-z][_$0-9A-Za-z]*)\\s*(:)(?=\\s*\\{)", + "([_$A-Za-z][_$0-9A-Za-z]*)\\s*(:)", + "(?:*]|&&|\\|\\||\\?|\\*\\/|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^default|[^\\._$0-9A-Za-z]default|^yield|[^\\._$0-9A-Za-z]yield|^)\\s*(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))", + "(?:*]|&&|\\|\\||\\?|\\*\\/|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^default|[^\\._$0-9A-Za-z]default|^yield|[^\\._$0-9A-Za-z]yield|^)\\s*(?!<\\s*[_$A-Za-z][_$0-9A-Za-z]*((\\s+extends\\s+[^=>])|,))(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))", + "'", + "\"", + "(?=(([_$A-Za-z][_$0-9A-Za-z]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([_$A-Za-z][_$0-9A-Za-z]*)(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)?`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?\\s*(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?(`)", + "(?|&&|\\|\\||\\*\\/)\\s*(\\/)(?![\\/*])(?=(?:[^\\/\\\\\\[()]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\]|\\(([^)\\\\]|\\\\.)+\\))+\\/([dgimsuvy]+|(?![\\/\\*])|(?=\\/\\*))(?!\\s*[a-zA-Z0-9_$]))", + "((?)", + "(?:(?]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+)?\\s*=>)))", + "=>", + "(?<=[(=,])\\s*(async)?(?=\\s*((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*))?\\(\\s*((([{\\[]\\s*)?$)|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))))", + "(?<=[(=,]|=>|^return|[^\\._$0-9A-Za-z]return)\\s*(async)?(?=\\s*((((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*))?\\()|(<)|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)))\\s*$)", + "(?<=\\)|^)\\s*(:)(?=\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*=>)", + "(?:*]|&&|\\|\\||\\?|\\*\\/|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^default|[^\\._$0-9A-Za-z]default|^yield|[^\\._$0-9A-Za-z]yield|^)\\s*(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))", + "(?:*]|&&|\\|\\||\\?|\\*\\/|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^default|[^\\._$0-9A-Za-z]default|^yield|[^\\._$0-9A-Za-z]yield|^)\\s*(?!<\\s*[_$A-Za-z][_$0-9A-Za-z]*((\\s+extends\\s+[^=>])|,))(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))", + "(?!\\?\\.\\s*[^\\d])(\\?)(?!\\?)", + "(?>=|>>>=|\\|=", + "<<|>>>|>>", + "===|!==|==|!=", + "<=|>=|<>|<|>", + "(?<=[_$0-9A-Za-z])(!)\\s*(?:(/=)|(?:(/)(?![/*])))", + "!|&&|\\|\\||\\?\\?", + "\\&|~|\\^|\\|", + "=", + "--", + "\\+\\+", + "%|\\*|/|-|\\+", + "(?<=[_$0-9A-Za-z)\\]])\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)+(?:(/=)|(?:(/)(?![/*]))))", + "(?<=[_$0-9A-Za-z)\\]])\\s*(?:(/=)|(?:(/)(?![/*])))", + "(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))\\s*(?:(\\?\\.\\s*)|(!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)?\\())", + "(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))(<\\s*[{\\[(]\\s*$))", + "\\b(?]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\())|(?:(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\b(?!\\$)))", + "(?)))|((async\\s*)?(((<\\s*$)|([(]\\s*((([{\\[]\\s*)?$)|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+)?\\s*=>)))))", + "(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(\\#?[A-Z][_$\\dA-Z]*)(?![_$0-9A-Za-z])", + "(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*)", + "([A-Z][_$\\dA-Z]*)(?![_$0-9A-Za-z])", + "[_$A-Za-z][_$0-9A-Za-z]*", + ",", + "(?:(\\.)|(\\?\\.(?!\\s*[\\d])))", + ";", + "'", + "\"", + "(?=(([_$A-Za-z][_$0-9A-Za-z]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([_$A-Za-z][_$0-9A-Za-z]*)(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)?`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?\\s*(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?(`)", + "/\\*\\*(?!/)", + "(/\\*)(?:\\s*((@)internal)(?=\\s|(\\*/)))?", + "(^[ \\t]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)", + "\\A(#!).*(?=$)" + ] + ], + "executions": [ + { + "args": [ + "\n", + 9, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 9, + "end": 9, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "args": [ + "\n", + 9, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 9, + "end": 9, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "(/>)|(?:())", + "(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?)", + "(>)" + ] + ], + "executions": [ + { + "args": [ + "\n", + 0, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 9, + "length": 9 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 0, + "end": 2, + "length": 2 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 2, + "end": 8, + "length": 6 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 8, + "end": 9, + "length": 1 + } + ] + } + }, + { + "args": [ + "\n", + 0, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 9, + "length": 9 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 0, + "end": 2, + "length": 2 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 2, + "end": 8, + "length": 6 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 8, + "end": 9, + "length": 1 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "(?=[/]?>)", + "/\\*\\*(?!/)", + "(/\\*)(?:\\s*((@)internal)(?=\\s|(\\*/)))?", + "(^[ \\t]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)", + "<", + "\\s+" + ] + ], + "executions": [ + { + "args": [ + "\n", + 0, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + } + ] + } + }, + { + "args": [ + "\n", + 0, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "\\}", + "(?:*]|&&|\\|\\||\\?|\\*\\/|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^default|[^\\._$0-9A-Za-z]default|^yield|[^\\._$0-9A-Za-z]yield|^)\\s*(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))", + "(?:*]|&&|\\|\\||\\?|\\*\\/|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^default|[^\\._$0-9A-Za-z]default|^yield|[^\\._$0-9A-Za-z]yield|^)\\s*(?!<\\s*[_$A-Za-z][_$0-9A-Za-z]*((\\s+extends\\s+[^=>])|,))(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))", + "'", + "\"", + "(?=(([_$A-Za-z][_$0-9A-Za-z]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([_$A-Za-z][_$0-9A-Za-z]*)(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)?`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?\\s*(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?(`)", + "(?|&&|\\|\\||\\*\\/)\\s*(\\/)(?![\\/*])(?=(?:[^\\/\\\\\\[()]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\]|\\(([^)\\\\]|\\\\.)+\\))+\\/([dgimsuvy]+|(?![\\/\\*])|(?=\\/\\*))(?!\\s*[a-zA-Z0-9_$]))", + "((?)", + "(?:(?]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+)?\\s*=>)))", + "=>", + "(?<=[(=,])\\s*(async)?(?=\\s*((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*))?\\(\\s*((([{\\[]\\s*)?$)|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))))", + "(?<=[(=,]|=>|^return|[^\\._$0-9A-Za-z]return)\\s*(async)?(?=\\s*((((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*))?\\()|(<)|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)))\\s*$)", + "(?<=\\)|^)\\s*(:)(?=\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*=>)", + "(?:*]|&&|\\|\\||\\?|\\*\\/|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^default|[^\\._$0-9A-Za-z]default|^yield|[^\\._$0-9A-Za-z]yield|^)\\s*(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))", + "(?:*]|&&|\\|\\||\\?|\\*\\/|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^default|[^\\._$0-9A-Za-z]default|^yield|[^\\._$0-9A-Za-z]yield|^)\\s*(?!<\\s*[_$A-Za-z][_$0-9A-Za-z]*((\\s+extends\\s+[^=>])|,))(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))", + "(?!\\?\\.\\s*[^\\d])(\\?)(?!\\?)", + "(?>=|>>>=|\\|=", + "<<|>>>|>>", + "===|!==|==|!=", + "<=|>=|<>|<|>", + "(?<=[_$0-9A-Za-z])(!)\\s*(?:(/=)|(?:(/)(?![/*])))", + "!|&&|\\|\\||\\?\\?", + "\\&|~|\\^|\\|", + "=", + "--", + "\\+\\+", + "%|\\*|/|-|\\+", + "(?<=[_$0-9A-Za-z)\\]])\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)+(?:(/=)|(?:(/)(?![/*]))))", + "(?<=[_$0-9A-Za-z)\\]])\\s*(?:(/=)|(?:(/)(?![/*])))", + "(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))\\s*(?:(\\?\\.\\s*)|(!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)?\\())", + "(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))(<\\s*[{\\[(]\\s*$))", + "\\b(?]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\())|(?:(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\b(?!\\$)))", + "(?)))|((async\\s*)?(((<\\s*$)|([(]\\s*((([{\\[]\\s*)?$)|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+)?\\s*=>)))))", + "(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(\\#?[A-Z][_$\\dA-Z]*)(?![_$0-9A-Za-z])", + "(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*)", + "([A-Z][_$\\dA-Z]*)(?![_$0-9A-Za-z])", + "[_$A-Za-z][_$0-9A-Za-z]*", + ",", + "(?:(\\.)|(\\?\\.(?!\\s*[\\d])))" + ] + ], + "executions": [ + { + "args": [ + "import { ref } from 'vue'\n", + 8, + 0 + ], + "result": { + "index": 83, + "captureIndices": [ + { + "start": 9, + "end": 12, + "length": 3 + } + ] + } + }, + { + "args": [ + "import { ref } from 'vue'\n", + 12, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 13, + "end": 14, + "length": 1 + } + ] + } + }, + { + "args": [ + "import { ref } from 'vue'\n", + 8, + 0 + ], + "result": { + "index": 83, + "captureIndices": [ + { + "start": 9, + "end": 12, + "length": 3 + } + ] + } + }, + { + "args": [ + "import { ref } from 'vue'\n", + 12, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 13, + "end": 14, + "length": 1 + } + ] + } + }, + { + "args": [ + "
{{ foo }}
\n", + 6, + 0 + ], + "result": { + "index": 26, + "captureIndices": [ + { + "start": 6, + "end": 7, + "length": 1 + } + ] + } + }, + { + "args": [ + "
{{ foo }}
\n", + 13, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 13, + "end": 14, + "length": 1 + } + ] + } + }, + { + "args": [ + "
{{ foo }}
\n", + 6, + 0 + ], + "result": { + "index": 26, + "captureIndices": [ + { + "start": 6, + "end": 7, + "length": 1 + } + ] + } + }, + { + "args": [ + "
{{ foo }}
\n", + 13, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 13, + "end": 14, + "length": 1 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "^(///)\\s*(?=<(reference|amd-dependency|amd-module)(\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\s*=\\s*((\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)))+\\s*/>\\s*$)", + "(?]|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^yield|[^\\._$0-9A-Za-z]yield|^throw|[^\\._$0-9A-Za-z]throw|^in|[^\\._$0-9A-Za-z]in|^of|[^\\._$0-9A-Za-z]of|^typeof|[^\\._$0-9A-Za-z]typeof|&&|\\|\\||\\*)\\s*(\\{)", + "\\{", + "([_$A-Za-z][_$0-9A-Za-z]*)\\s*(:)(?=\\s*\\{)", + "([_$A-Za-z][_$0-9A-Za-z]*)\\s*(:)", + "(?:*]|&&|\\|\\||\\?|\\*\\/|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^default|[^\\._$0-9A-Za-z]default|^yield|[^\\._$0-9A-Za-z]yield|^)\\s*(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))", + "(?:*]|&&|\\|\\||\\?|\\*\\/|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^default|[^\\._$0-9A-Za-z]default|^yield|[^\\._$0-9A-Za-z]yield|^)\\s*(?!<\\s*[_$A-Za-z][_$0-9A-Za-z]*((\\s+extends\\s+[^=>])|,))(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))", + "'", + "\"", + "(?=(([_$A-Za-z][_$0-9A-Za-z]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([_$A-Za-z][_$0-9A-Za-z]*)(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)?`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?\\s*(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?(`)", + "(?|&&|\\|\\||\\*\\/)\\s*(\\/)(?![\\/*])(?=(?:[^\\/\\\\\\[()]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\]|\\(([^)\\\\]|\\\\.)+\\))+\\/([dgimsuvy]+|(?![\\/\\*])|(?=\\/\\*))(?!\\s*[a-zA-Z0-9_$]))", + "((?)", + "(?:(?]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+)?\\s*=>)))", + "=>", + "(?<=[(=,])\\s*(async)?(?=\\s*((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*))?\\(\\s*((([{\\[]\\s*)?$)|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))))", + "(?<=[(=,]|=>|^return|[^\\._$0-9A-Za-z]return)\\s*(async)?(?=\\s*((((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*))?\\()|(<)|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)))\\s*$)", + "(?<=\\)|^)\\s*(:)(?=\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*=>)", + "(?:*]|&&|\\|\\||\\?|\\*\\/|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^default|[^\\._$0-9A-Za-z]default|^yield|[^\\._$0-9A-Za-z]yield|^)\\s*(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))", + "(?:*]|&&|\\|\\||\\?|\\*\\/|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^default|[^\\._$0-9A-Za-z]default|^yield|[^\\._$0-9A-Za-z]yield|^)\\s*(?!<\\s*[_$A-Za-z][_$0-9A-Za-z]*((\\s+extends\\s+[^=>])|,))(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))", + "(?!\\?\\.\\s*[^\\d])(\\?)(?!\\?)", + "(?>=|>>>=|\\|=", + "<<|>>>|>>", + "===|!==|==|!=", + "<=|>=|<>|<|>", + "(?<=[_$0-9A-Za-z])(!)\\s*(?:(/=)|(?:(/)(?![/*])))", + "!|&&|\\|\\||\\?\\?", + "\\&|~|\\^|\\|", + "=", + "--", + "\\+\\+", + "%|\\*|/|-|\\+", + "(?<=[_$0-9A-Za-z)\\]])\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)+(?:(/=)|(?:(/)(?![/*]))))", + "(?<=[_$0-9A-Za-z)\\]])\\s*(?:(/=)|(?:(/)(?![/*])))", + "(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))\\s*(?:(\\?\\.\\s*)|(!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)?\\())", + "(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))(<\\s*[{\\[(]\\s*$))", + "\\b(?]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\())|(?:(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\b(?!\\$)))", + "(?)))|((async\\s*)?(((<\\s*$)|([(]\\s*((([{\\[]\\s*)?$)|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+)?\\s*=>)))))", + "(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(\\#?[A-Z][_$\\dA-Z]*)(?![_$0-9A-Za-z])", + "(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*)", + "([A-Z][_$\\dA-Z]*)(?![_$0-9A-Za-z])", + "[_$A-Za-z][_$0-9A-Za-z]*", + ",", + "(?:(\\.)|(\\?\\.(?!\\s*[\\d])))", + ";", + "'", + "\"", + "(?=(([_$A-Za-z][_$0-9A-Za-z]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([_$A-Za-z][_$0-9A-Za-z]*)(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)?`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?\\s*(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>|<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([<>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>(]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\s*)`)", + "([_$A-Za-z][_$0-9A-Za-z]*)?(`)", + "/\\*\\*(?!/)", + "(/\\*)(?:\\s*((@)internal)(?=\\s|(\\*/)))?", + "(^[ \\t]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)", + "\\￿(#!).*(?=$)" + ] + ], + "executions": [ + { + "args": [ + "\n", + 9, + 0 + ], + "result": null + }, + { + "args": [ + "\n", + 9, + 0 + ], + "result": null + }, + { + "args": [ + "\n", + 11, + 0 + ], + "result": null + }, + { + "args": [ + "\n", + 11, + 0 + ], + "result": null + } + ] + }, + { + "constractor": [ + [ + "(?!(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))", + "(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?)" + ] + ], + "executions": [ + { + "args": [ + "\n", + 11, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 11, + "end": 11, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "args": [ + "\n", + 11, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 11, + "end": 11, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "()", + "(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?)", + "(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))", + "\\{", + "(&)([a-zA-Z0-9]+|#\\d+|#x[0-9a-fA-F]+)(;)" + ] + ], + "executions": [ + { + "args": [ + "\n", + 0, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 11, + "length": 11 + }, + { + "start": 0, + "end": 2, + "length": 2 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 2, + "end": 10, + "length": 8 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 10, + "end": 11, + "length": 1 + } + ] + } + }, + { + "args": [ + "\n", + 0, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 11, + "length": 11 + }, + { + "start": 0, + "end": 2, + "length": 2 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 2, + "end": 10, + "length": 8 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + }, + { + "start": 10, + "end": 11, + "length": 1 + } + ] + } + } + ] + }, + { + "constractor": [ + [ + "\\}", + "/\\*\\*(?!/)", + "(/\\*)(?:\\s*((@)internal)(?=\\s|(\\*/)))?", + "(^[ \\t]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)", + "(?]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*))?[(])", + "(?=\\[)", + "(?=[\\'\\\"\\`])", + "(?=(\\b(?)))|((async\\s*)?(((<\\s*$)|([(]\\s*((([{\\[]\\s*)?$)|((\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*>)*>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^{}]|(\\{([^{}]|\\{[^{}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^()]|(\\(([^()]|\\([^()]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\([^()]+\\)|\\{[^{}]+\\})+)?\\s*=>))))))", + "(?:[_$A-Za-z][_$0-9A-Za-z]*)\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*:)", + "\\.\\.\\.", + "([_$A-Za-z][_$0-9A-Za-z]*)\\s*(?=,|\\}|$|\\/\\/|\\/\\*)", + "(?{{ foo }}\n", + 7, + 0 + ], + "result": { + "index": 13, + "captureIndices": [ + { + "start": 8, + "end": 12, + "length": 4 + }, + { + "start": 8, + "end": 11, + "length": 3 + } + ] + } + }, + { + "args": [ + "
{{ foo }}
\n", + 12, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 12, + "end": 13, + "length": 1 + } + ] + } + }, + { + "args": [ + "
{{ foo }}
\n", + 7, + 0 + ], + "result": { + "index": 13, + "captureIndices": [ + { + "start": 8, + "end": 12, + "length": 4 + }, + { + "start": 8, + "end": 11, + "length": 3 + } + ] + } + }, + { + "args": [ + "
{{ foo }}
\n", + 12, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 12, + "end": 13, + "length": 1 + } + ] + } + } + ] + } +] diff --git a/packages/engine-javascript/test/__records__/vue.json b/packages/engine-javascript/test/__records__/vue.json index 63861826..8d1378c9 100644 --- a/packages/engine-javascript/test/__records__/vue.json +++ b/packages/engine-javascript/test/__records__/vue.json @@ -137,6 +137,7 @@ { "args": [ "\n", - 9 + 9, + 0 ], "result": { "index": 0, @@ -483,6 +489,7 @@ { "args": [ "\n", - 9 + 9, + 0 ], "result": { "index": 0, @@ -606,6 +614,7 @@ { "args": [ "\n", + 0, 0 ], "result": { @@ -734,6 +745,7 @@ { "args": [ "\n", + 0, 0 ], "result": { @@ -876,7 +890,8 @@ { "args": [ "\n", + 0, 0 ], "result": { @@ -1111,13 +1137,15 @@ { "args": [ "\n", + 0, 0 ], "result": { @@ -1251,7 +1281,8 @@ { "args": [ "import { ref } from 'vue'\n", - 8 + 8, + 0 ], "result": { "index": 83, @@ -1267,7 +1298,8 @@ { "args": [ "import { ref } from 'vue'\n", - 12 + 12, + 0 ], "result": { "index": 0, @@ -1283,7 +1315,8 @@ { "args": [ "import { ref } from 'vue'\n", - 8 + 8, + 0 ], "result": { "index": 83, @@ -1299,7 +1332,8 @@ { "args": [ "import { ref } from 'vue'\n", - 12 + 12, + 0 ], "result": { "index": 0, @@ -1315,7 +1349,8 @@ { "args": [ "
{{ foo }}
\n", - 6 + 6, + 0 ], "result": { "index": 26, @@ -1331,7 +1366,8 @@ { "args": [ "
{{ foo }}
\n", - 13 + 13, + 0 ], "result": { "index": 0, @@ -1347,7 +1383,8 @@ { "args": [ "
{{ foo }}
\n", - 6 + 6, + 0 ], "result": { "index": 26, @@ -1363,7 +1400,8 @@ { "args": [ "
{{ foo }}
\n", - 13 + 13, + 0 ], "result": { "index": 0, @@ -1516,28 +1554,32 @@ { "args": [ "\n", - 9 + 9, + 0 ], "result": null }, { "args": [ "\n", - 9 + 9, + 0 ], "result": null }, { "args": [ "\n", - 11 + 11, + 0 ], "result": null }, { "args": [ "\n", - 11 + 11, + 0 ], "result": null } @@ -1554,6 +1596,7 @@ { "args": [ "\n", - 11 + 11, + 0 ], "result": { "index": 0, @@ -1646,6 +1690,7 @@ { "args": [ "\n", - 11 + 11, + 0 ], "result": { "index": 0, @@ -1751,13 +1797,15 @@ { "args": [ "\n", + 0, 0 ], "result": { @@ -1919,13 +1971,15 @@ { "args": [ "\n", + 0, 0 ], "result": { @@ -2115,7 +2173,8 @@ { "args": [ "
{{ foo }}
\n", - 7 + 7, + 0 ], "result": { "index": 13, @@ -2136,7 +2195,8 @@ { "args": [ "
{{ foo }}
\n", - 12 + 12, + 0 ], "result": { "index": 0, @@ -2152,7 +2212,8 @@ { "args": [ "
{{ foo }}
\n", - 7 + 7, + 0 ], "result": { "index": 13, @@ -2173,7 +2234,8 @@ { "args": [ "
{{ foo }}
\n", - 12 + 12, + 0 ], "result": { "index": 0, diff --git a/packages/engine-javascript/test/compare.test.ts b/packages/engine-javascript/test/compare.test.ts index eb138086..dc5c91c8 100644 --- a/packages/engine-javascript/test/compare.test.ts +++ b/packages/engine-javascript/test/compare.test.ts @@ -20,9 +20,9 @@ function createWasmOnigLibWrapper(): RegexEngine & { instances: Instance[] } { } instances.push(instance) return { - findNextMatchSync(string: string | OnigString, startPosition: number) { - const result = scanner.findNextMatchSync(string, startPosition) - instance.executions.push({ args: [typeof string === 'string' ? string : string.content, startPosition], result }) + findNextMatchSync(string: string | OnigString, startPosition: number, options) { + const result = scanner.findNextMatchSync(string, startPosition, options) + instance.executions.push({ args: [typeof string === 'string' ? string : string.content, startPosition, options], result }) return result }, } @@ -50,9 +50,9 @@ function createJsOnigLibWrapper(): RegexEngine & { instances: Instance[] } { } instances.push(instance) return { - findNextMatchSync(string: string | OnigString, startPosition: number) { - const result = scanner.findNextMatchSync(string, startPosition) - instance.executions.push({ args: [typeof string === 'string' ? string : string.content, startPosition], result }) + findNextMatchSync(string: string | OnigString, startPosition: number, options) { + const result = scanner.findNextMatchSync(string, startPosition, options) + instance.executions.push({ args: [typeof string === 'string' ? string : string.content, startPosition, options], result }) return result }, } diff --git a/packages/engine-javascript/test/types.ts b/packages/engine-javascript/test/types.ts index 81d763a8..37648fd8 100644 --- a/packages/engine-javascript/test/types.ts +++ b/packages/engine-javascript/test/types.ts @@ -6,6 +6,6 @@ export interface Instance { } export interface Executions { - args: [str: string, start: number] + args: [str: string, start: number, options: number] result: IOnigMatch | null } From 6b835d59e40d0e21005fc709edca4443ccfe8a2a Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Tue, 17 Dec 2024 16:59:25 +0800 Subject: [PATCH 3/8] chore: update --- .../{beancount.json => beancount.wasm.json} | 0 .../{html-basic.json => html-basic.wasm.json} | 0 .../{json-basic.json => json-basic.wasm.json} | 0 .../{jsonc.json => jsonc.wasm.json} | 0 .../test/__records__/markdown.js.json | 1467 +++++++++++++++++ .../{markdown.json => markdown.wasm.json} | 702 +++++++- .../__records__/{sql.json => sql.wasm.json} | 0 .../__records__/{toml.json => toml.wasm.json} | 0 .../{ts-basic.json => ts-basic.wasm.json} | 0 .../__records__/{vue.json => vue.wasm.json} | 0 .../engine-javascript/test/compare.test.ts | 55 +- .../engine-javascript/test/verify.test.ts | 4 +- 12 files changed, 2144 insertions(+), 84 deletions(-) rename packages/engine-javascript/test/__records__/{beancount.json => beancount.wasm.json} (100%) rename packages/engine-javascript/test/__records__/{html-basic.json => html-basic.wasm.json} (100%) rename packages/engine-javascript/test/__records__/{json-basic.json => json-basic.wasm.json} (100%) rename packages/engine-javascript/test/__records__/{jsonc.json => jsonc.wasm.json} (100%) create mode 100644 packages/engine-javascript/test/__records__/markdown.js.json rename packages/engine-javascript/test/__records__/{markdown.json => markdown.wasm.json} (57%) rename packages/engine-javascript/test/__records__/{sql.json => sql.wasm.json} (100%) rename packages/engine-javascript/test/__records__/{toml.json => toml.wasm.json} (100%) rename packages/engine-javascript/test/__records__/{ts-basic.json => ts-basic.wasm.json} (100%) rename packages/engine-javascript/test/__records__/{vue.json => vue.wasm.json} (100%) diff --git a/packages/engine-javascript/test/__records__/beancount.json b/packages/engine-javascript/test/__records__/beancount.wasm.json similarity index 100% rename from packages/engine-javascript/test/__records__/beancount.json rename to packages/engine-javascript/test/__records__/beancount.wasm.json diff --git a/packages/engine-javascript/test/__records__/html-basic.json b/packages/engine-javascript/test/__records__/html-basic.wasm.json similarity index 100% rename from packages/engine-javascript/test/__records__/html-basic.json rename to packages/engine-javascript/test/__records__/html-basic.wasm.json diff --git a/packages/engine-javascript/test/__records__/json-basic.json b/packages/engine-javascript/test/__records__/json-basic.wasm.json similarity index 100% rename from packages/engine-javascript/test/__records__/json-basic.json rename to packages/engine-javascript/test/__records__/json-basic.wasm.json diff --git a/packages/engine-javascript/test/__records__/jsonc.json b/packages/engine-javascript/test/__records__/jsonc.wasm.json similarity index 100% rename from packages/engine-javascript/test/__records__/jsonc.json rename to packages/engine-javascript/test/__records__/jsonc.wasm.json diff --git a/packages/engine-javascript/test/__records__/markdown.js.json b/packages/engine-javascript/test/__records__/markdown.js.json new file mode 100644 index 00000000..58e7d137 --- /dev/null +++ b/packages/engine-javascript/test/__records__/markdown.js.json @@ -0,0 +1,1467 @@ +[ + { + "constractor": [ + [ + "(^|\\￿)[ ]{0,3}([\\*\\-_])([ ]{0,2}\\2){2,}[ \\t]*$\\n?", + "(?:^|\\￿)[ ]{0,3}(#{1,6}\\s+(.*?)(\\s+#{1,6})?\\s*)$", + "(^|\\￿)[ ]{0,3}(>) ?", + "(^|\\￿)([ ]{0,3})([*+-])([ \\t])", + "(^|\\￿)([ ]{0,3})(\\d+[\\.)])([ \\t])", + "(^|\\￿)(\\s*)(`{3,}|~{3,})\\s*(?i:(markdown|md)((\\s+|:|,|\\{|\\?)[^`]*)?$)", + "(^|\\￿)(\\s*)(`{3,}|~{3,})\\s*(?=([^`]*)?$)", + "(^|\\￿)([ ]{4}|\\t)", + "\\s*(\\[)([^]]+?)(\\])(:)[ \\t]*(?:(<)((?:\\\\[<>]|[^<>\\n])*)(>)|(\\S+?))[ \\t]*(?:((\\().+?(\\)))|((\").+?(\"))|((').+?(')))?\\s*$", + "(^|\\￿)\\s*(