Last active
August 13, 2024 20:54
-
-
Save conartist6/b28c27bdbf94167abbcad439a0d8052b to your computer and use it in GitHub Desktop.
JSON grammar with hoisting
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import { readFileSync } from 'node:fs'; | |
| import { streamParse, Context, AgastContext } from 'bablr/enhanceable'; | |
| import { evaluateReturnAsync } from '@bablr/agast-helpers/tree'; | |
| import * as language from './z_2.json.grammar.fast.js'; | |
| import { buildFullyQualifiedSpamMatcher } from '@bablr/agast-vm-helpers'; | |
| const input = readFileSync(`${import.meta.dirname}/z_3_fixture.json`, 'utf-8'); | |
| const matcher = buildFullyQualifiedSpamMatcher({}, language.canonicalURL, 'Expression'); | |
| const ctx = Context.from(AgastContext.create(), language); | |
| await evaluateReturnAsync(streamParse(ctx, matcher, input)); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "private": true, | |
| "devDependencies": { | |
| "bablr": "0.4.4" | |
| "@bablr/agast-helpers": "0.3.2", | |
| "@bablr/agast-vm-helpers": "0.3.2", | |
| "@bablr/boot": "0.4.0", | |
| "@bablr/cli": "0.4.6", | |
| "@bablr/helpers": "0.18.2" | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import { i } from '@bablr/boot/shorthand.macro'; | |
| import { triviaEnhancer } from '@bablr/helpers/trivia'; | |
| import * as productions from '@bablr/helpers/productions'; | |
| import { buildString, buildBoolean } from '@bablr/agast-vm-helpers'; | |
| import { Node, CoveredBy, AllowEmpty, InjectFrom, Attributes } from '@bablr/helpers/decorators'; | |
| export const canonicalURL = 'https://github.com/bablr-lang/language-en-json'; | |
| export const escapables = new Map( | |
| Object.entries({ | |
| b: '\b', | |
| f: '\f', | |
| n: '\n', | |
| r: '\r', | |
| t: '\t', | |
| '\\': '\\', | |
| '/': '/', | |
| }), | |
| ); | |
| const s = [ | |
| i`match(/[ \n\r\t]/)`, | |
| i`eat(<#*Space>)`, | |
| i`eat(<> 'root')`, | |
| i`eat(<Any> null [ | |
| <Array '['> | |
| <Object '{'> | |
| <String '"'> | |
| <Number /-?\d/ span='Number'> | |
| <Null 'null'> | |
| <Boolean /true|false/> | |
| ])`, | |
| i`eat(<~*Punctuator '[' balanced=']'> 'openToken')`, | |
| i`eat(<List> 'elements[]' { | |
| element: <Expression> | |
| separator: <~*Punctuator ','> | |
| allowTrailingSeparator: false | |
| })`, | |
| i`eat(<~*Punctuator ']' balancer> 'closeToken')`, | |
| i`eat(<~*Punctuator '{' balanced='}'> 'openToken')`, | |
| i`eat(<List> 'properties[]' { | |
| element: <Property> | |
| separator: <~*Punctuator ','> | |
| allowTrailingSeparator: false | |
| })`, | |
| i`eat(<~*Punctuator '}' balancer> 'closeToken')`, | |
| i`eat(<String> 'key')`, | |
| i`eat(<~*Punctuator ':'> 'sigilToken')`, | |
| i`eat(<Expression> 'value')`, | |
| i`eat(<~*Punctuator '"' balanced='"' balancedSpan='String'> 'openToken')`, | |
| i`eat(<*StringContent> 'content')`, | |
| i`eat(<~*Punctuator '"' balancer> 'closeToken')`, | |
| i`match('\\')`, | |
| i`eat(<@EscapeSequence>)`, | |
| i`eatMatch(/[^\r\n\\"]+/)`, | |
| i`fail()`, | |
| i`eat(<~*Punctuator '\\' openSpan='Escape'> 'sigilToken')`, | |
| i`match(/[\\/bfnrt"]/)`, | |
| i`match('u')`, | |
| i`eat(<EscapeCode closeSpan='Escape'> 'value')`, | |
| i`eat(<~*Keyword 'u'> 'typeToken')`, | |
| i`eat(<Digits> 'digits[]')`, | |
| i`eat(<Integer> 'wholePart' { noDoubleZero: true matchSign: '-' })`, | |
| i`eatMatch(<~*Punctuator '.'> 'fractionalSeparatorToken')`, | |
| i`eat(<Integer> 'fractionalPart')`, | |
| i`eat(null 'fractionalPart')`, | |
| i`eatMatch(<~*Punctuator /[eE]/> 'exponentSeparatorToken')`, | |
| i`eat(<Integer> 'exponentPart' { matchSign: /[+-]/ })`, | |
| i`eat(null 'exponentPart')`, | |
| i`eat(null 'signToken')`, | |
| i`eatMatch(/\d+/)`, | |
| i`eat(<~*Keyword /true|false/> 'sigilToken')`, | |
| i`eat(<~*Keyword 'null'> 'sigilToken')`, | |
| i`eat(/[ \t\r\n]+/)`, | |
| ]; | |
| export const grammar = triviaEnhancer( | |
| { | |
| triviaIsAllowed: (s) => s.span === 'Bare', | |
| *eatMatchTrivia() { | |
| if (yield s[0]) { | |
| yield s[1]; | |
| } | |
| }, | |
| }, | |
| class JSONGrammar { | |
| *[Symbol.for('@bablr/fragment')]() { | |
| yield s[2]; | |
| } | |
| @CoveredBy('Element') | |
| *Expression() { | |
| yield s[3]; | |
| } | |
| @CoveredBy('Expression') | |
| @Node | |
| *Array() { | |
| yield s[4]; | |
| yield s[5]; | |
| yield s[6]; | |
| } | |
| @CoveredBy('Expression') | |
| @Node | |
| *Object() { | |
| yield s[7]; | |
| yield s[8]; | |
| yield s[9]; | |
| } | |
| @Node | |
| *Property() { | |
| yield s[10]; | |
| yield s[11]; | |
| yield s[12]; | |
| } | |
| @CoveredBy('Language') | |
| @Node | |
| *String() { | |
| yield s[13]; | |
| yield s[14]; | |
| yield s[15]; | |
| } | |
| @AllowEmpty | |
| @Node | |
| *StringContent() { | |
| let esc, lit; | |
| do { | |
| esc = (yield s[16]) && (yield s[17]); | |
| lit = yield s[18]; | |
| } while (esc || lit); | |
| } | |
| @Attributes(['cooked']) | |
| @Node | |
| *EscapeSequence({ state: { span }, ctx }) { | |
| if (!span.startsWith('String')) { | |
| yield s[19]; | |
| } | |
| yield s[20]; | |
| let match, cooked; | |
| if ((match = yield s[21])) { | |
| const match_ = ctx.sourceTextFor(match); | |
| yield i`eat(<~*Keyword ${buildString(match_)} closeSpan='Escape'> 'value')`; | |
| cooked = escapables.get(match_) || match_; | |
| } else if (yield s[22]) { | |
| const codeNode = yield s[23]; | |
| cooked = parseInt( | |
| codeNode.properties.digits.map((digit) => ctx.sourceTextFor(digit)).join(''), | |
| 16, | |
| ); | |
| } else { | |
| yield s[19]; | |
| } | |
| yield i`bindAttribute(cooked ${buildString(cooked.toString(10))})`; | |
| } | |
| @Node | |
| *EscapeCode() { | |
| yield s[24]; | |
| yield s[25]; | |
| } | |
| @CoveredBy('Expression') | |
| @Node | |
| *Number() { | |
| yield s[26]; | |
| let fs = yield s[27]; | |
| if (fs) { | |
| yield s[28]; | |
| } else { | |
| yield s[29]; | |
| } | |
| let es = yield s[30]; | |
| if (es) { | |
| yield s[31]; | |
| } else { | |
| yield s[32]; | |
| } | |
| } | |
| @Node | |
| *Integer({ value: props, ctx }) { | |
| const { matchSign = null, noDoubleZero = false } = (props && ctx.unbox(props)) || {}; | |
| if (matchSign) { | |
| yield i`eatMatch(<~*Punctuator ${matchSign}> 'signToken')`; | |
| } else { | |
| yield s[33]; | |
| } | |
| yield i`eat(<*UnsignedInteger noDoubleZero=${buildBoolean(noDoubleZero)}> 'value')`; | |
| } | |
| @Node | |
| *UnsignedInteger({ value: props, ctx }) { | |
| const { noDoubleZero = false } = (props && ctx.unbox(props)) || {}; | |
| let [firstDigit] = ctx.allTerminalsFor(yield i`eat(/\d/)`); | |
| if (!noDoubleZero || firstDigit.value !== '0') { | |
| yield s[34]; | |
| } | |
| } | |
| @CoveredBy('Expression') | |
| @Node | |
| *Boolean() { | |
| yield s[35]; | |
| } | |
| @CoveredBy('Expression') | |
| @Node | |
| *Null() { | |
| yield s[36]; | |
| } | |
| @Node | |
| *Space() { | |
| yield s[37]; | |
| } | |
| @Node | |
| @InjectFrom(productions) | |
| *Keyword() {} | |
| @Node | |
| @InjectFrom(productions) | |
| *Punctuator() {} | |
| @AllowEmpty | |
| @InjectFrom(productions) | |
| *List() {} | |
| @InjectFrom(productions) | |
| *Any() {} | |
| }, | |
| ); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* @macrome | |
| * @generatedby @bablr/macrome-generator-bablr | |
| * @generatedfrom ./z_1.json.grammar.fast.macro.js#e0742bdbccd1335aa70856535e91987ca784206f | |
| * This file is autogenerated. Please do not edit it directly. | |
| * When editing run `npx macrome watch` then change the file this is generated from. | |
| */ | |
| import _applyDecs from "@babel/runtime/helpers/applyDecs2305"; | |
| import { interpolateArray as _interpolateArray, interpolateArrayChildren as _interpolateArrayChildren, interpolateString as _interpolateString } from "@bablr/agast-helpers/template"; | |
| import * as _l from "@bablr/agast-vm-helpers/languages"; | |
| import * as _t from "@bablr/agast-helpers/shorthand"; | |
| let _initProto, _ExpressionDecs, _ArrayDecs, _ObjectDecs, _StringDecs, _EscapeSequenceDecs, _NumberDecs, _BooleanDecs, _NullDecs, _KeywordDecs, _PunctuatorDecs, _ListDecs, _AnyDecs; | |
| import { triviaEnhancer } from '@bablr/helpers/trivia'; | |
| import * as productions from '@bablr/helpers/productions'; | |
| import { buildString, buildBoolean } from '@bablr/agast-vm-helpers'; | |
| import { Node, CoveredBy, AllowEmpty, InjectFrom, Attributes } from '@bablr/helpers/decorators'; | |
| export const canonicalURL = 'https://github.com/bablr-lang/language-en-json'; | |
| export const escapables = new Map(Object.entries({ | |
| b: '\b', | |
| f: '\f', | |
| n: '\n', | |
| r: '\r', | |
| t: '\t', | |
| '\\': '\\', | |
| '/': '/' | |
| })); | |
| const s = [_t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "match"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"), | |
| alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], { | |
| elements: [_t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Regex, "Punctuator", "["), | |
| elements: [_t.node(_l.Regex, "Character", [_t.lit(" ")], {}, {}), _t.node(_l.Regex, "Character", [_t.embedded(_t.s_e_node(_l.CSTML, "Escape", [_t.lit("\\n")], {}, { | |
| cooked: "\n" | |
| }))], {}, {}), _t.node(_l.Regex, "Character", [_t.embedded(_t.s_e_node(_l.CSTML, "Escape", [_t.lit("\\r")], {}, { | |
| cooked: "\r" | |
| }))], {}, {}), _t.node(_l.Regex, "Character", [_t.embedded(_t.s_e_node(_l.CSTML, "Escape", [_t.lit("\\t")], {}, { | |
| cooked: "\t" | |
| }))], {}, {})], | |
| closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]") | |
| }, { | |
| negate: false | |
| })] | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [_t.ref`triviaToken`, _t.ref`tokenToken`], { | |
| triviaToken: _t.s_i_node(_l.CSTML, "Punctuator", "#"), | |
| tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*") | |
| }, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Space"), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [], {}, {}), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("root")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [], {}, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Any"), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.Instruction, "Null", [_t.ref`sigilToken`], { | |
| sigilToken: _t.s_i_node(_l.Instruction, "Keyword", "null") | |
| }, {}), _t.node(_l.Instruction, "Array", [_t.ref`openToken`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`elements[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "["), | |
| elements: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [], {}, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Array"), | |
| intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("[")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [], {}, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Object"), | |
| intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("{")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [], {}, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "String"), | |
| intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("\"")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [], {}, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Number"), | |
| intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"), | |
| alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.ref`elements[]`], { | |
| elements: [_t.node(_l.Regex, "Quantifier", [_t.ref`element`, _t.ref`value`], { | |
| element: _t.node(_l.Regex, "Character", [_t.lit("-")], {}, {}), | |
| value: _t.s_i_node(_l.Regex, "Keyword", "?") | |
| }, { | |
| min: 0, | |
| max: 1, | |
| greedy: true | |
| }), _t.node(_l.Regex, "DigitCharacterSet", [_t.ref`escapeToken`, _t.ref`value`], { | |
| escapeToken: _t.s_i_node(_l.Regex, "Punctuator", "\\"), | |
| value: _t.s_i_node(_l.Regex, "Keyword", "d") | |
| }, {})] | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/") | |
| }, {}), | |
| attributes: [_t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], { | |
| key: _t.node(_l.Spamex, "Literal", [_t.lit("span")], {}, {}), | |
| mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="), | |
| value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("Number")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}) | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [], {}, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Null"), | |
| intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("null")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [], {}, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Boolean"), | |
| intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`separators[]`, _t.ref`alternatives[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"), | |
| alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`], { | |
| elements: [_t.node(_l.Regex, "Character", [_t.lit("t")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("r")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("u")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("e")], {}, {})] | |
| }, {}), _t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`], { | |
| elements: [_t.node(_l.Regex, "Character", [_t.lit("f")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("a")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("l")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("s")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("e")], {}, {})] | |
| }, {})], | |
| separators: [_t.s_i_node(_l.Regex, "Punctuator", "|")], | |
| closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/") | |
| }, {}), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", "]") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], { | |
| intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"), | |
| tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*") | |
| }, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"), | |
| intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("[")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}), | |
| attributes: [_t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], { | |
| key: _t.node(_l.Spamex, "Literal", [_t.lit("balanced")], {}, {}), | |
| mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="), | |
| value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("]")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}) | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("openToken")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [], {}, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "List"), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("elements[]")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}), _t.node(_l.Instruction, "Object", [_t.ref`openToken`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`properties[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`properties[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`properties[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "{"), | |
| properties: [_t.node(_l.Instruction, "Property", [_t.ref`key`, _t.ref`mapToken`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`value`], { | |
| key: _t.node(_l.Instruction, "Literal", [_t.lit("element")], {}, {}), | |
| mapToken: _t.s_i_node(_l.Instruction, "Punctuator", ":"), | |
| value: _t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [], {}, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Expression"), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Property", [_t.ref`key`, _t.ref`mapToken`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`value`], { | |
| key: _t.node(_l.Instruction, "Literal", [_t.lit("separator")], {}, {}), | |
| mapToken: _t.s_i_node(_l.Instruction, "Punctuator", ":"), | |
| value: _t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], { | |
| intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"), | |
| tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*") | |
| }, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"), | |
| intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit(",")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Property", [_t.ref`key`, _t.ref`mapToken`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`value`], { | |
| key: _t.node(_l.Instruction, "Literal", [_t.lit("allowTrailingSeparator")], {}, {}), | |
| mapToken: _t.s_i_node(_l.Instruction, "Punctuator", ":"), | |
| value: _t.node(_l.Instruction, "Boolean", [_t.ref`sigilToken`], { | |
| sigilToken: _t.s_i_node(_l.Instruction, "Keyword", "false") | |
| }, {}) | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", "}") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], { | |
| intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"), | |
| tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*") | |
| }, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"), | |
| intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("]")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}), | |
| attributes: [_t.node(_l.Spamex, "BooleanAttribute", [_t.ref`key`], { | |
| key: _t.node(_l.Spamex, "Literal", [_t.lit("balancer")], {}, {}) | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("closeToken")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], { | |
| intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"), | |
| tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*") | |
| }, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"), | |
| intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("{")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}), | |
| attributes: [_t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], { | |
| key: _t.node(_l.Spamex, "Literal", [_t.lit("balanced")], {}, {}), | |
| mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="), | |
| value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("}")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}) | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("openToken")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [], {}, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "List"), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("properties[]")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}), _t.node(_l.Instruction, "Object", [_t.ref`openToken`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`properties[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`properties[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`properties[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit("\n ")], {}, {})), _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "{"), | |
| properties: [_t.node(_l.Instruction, "Property", [_t.ref`key`, _t.ref`mapToken`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`value`], { | |
| key: _t.node(_l.Instruction, "Literal", [_t.lit("element")], {}, {}), | |
| mapToken: _t.s_i_node(_l.Instruction, "Punctuator", ":"), | |
| value: _t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [], {}, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Property"), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Property", [_t.ref`key`, _t.ref`mapToken`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`value`], { | |
| key: _t.node(_l.Instruction, "Literal", [_t.lit("separator")], {}, {}), | |
| mapToken: _t.s_i_node(_l.Instruction, "Punctuator", ":"), | |
| value: _t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], { | |
| intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"), | |
| tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*") | |
| }, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"), | |
| intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit(",")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Property", [_t.ref`key`, _t.ref`mapToken`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`value`], { | |
| key: _t.node(_l.Instruction, "Literal", [_t.lit("allowTrailingSeparator")], {}, {}), | |
| mapToken: _t.s_i_node(_l.Instruction, "Punctuator", ":"), | |
| value: _t.node(_l.Instruction, "Boolean", [_t.ref`sigilToken`], { | |
| sigilToken: _t.s_i_node(_l.Instruction, "Keyword", "false") | |
| }, {}) | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", "}") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], { | |
| intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"), | |
| tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*") | |
| }, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"), | |
| intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("}")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}), | |
| attributes: [_t.node(_l.Spamex, "BooleanAttribute", [_t.ref`key`], { | |
| key: _t.node(_l.Spamex, "Literal", [_t.lit("balancer")], {}, {}) | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("closeToken")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [], {}, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "String"), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("key")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], { | |
| intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"), | |
| tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*") | |
| }, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"), | |
| intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit(":")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("sigilToken")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [], {}, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Expression"), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("value")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], { | |
| intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"), | |
| tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*") | |
| }, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"), | |
| intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("\"")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}), | |
| attributes: [_t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], { | |
| key: _t.node(_l.Spamex, "Literal", [_t.lit("balanced")], {}, {}), | |
| mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="), | |
| value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("\"")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}) | |
| }, {}), _t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], { | |
| key: _t.node(_l.Spamex, "Literal", [_t.lit("balancedSpan")], {}, {}), | |
| mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="), | |
| value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("String")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}) | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("openToken")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], { | |
| tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*") | |
| }, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "StringContent"), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("content")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], { | |
| intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"), | |
| tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*") | |
| }, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"), | |
| intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("\"")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}), | |
| attributes: [_t.node(_l.Spamex, "BooleanAttribute", [_t.ref`key`], { | |
| key: _t.node(_l.Spamex, "Literal", [_t.lit("balancer")], {}, {}) | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("closeToken")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "match"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.embedded(_t.s_e_node(_l.CSTML, "Escape", [_t.lit("\\\\")], {}, { | |
| cooked: "\\" | |
| }))], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [_t.ref`escapeToken`], { | |
| escapeToken: _t.s_i_node(_l.CSTML, "Punctuator", "@") | |
| }, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "EscapeSequence"), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eatMatch"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"), | |
| alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], { | |
| elements: [_t.node(_l.Regex, "Quantifier", [_t.ref`element`, _t.ref`value`], { | |
| element: _t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`negateToken`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Regex, "Punctuator", "["), | |
| negateToken: _t.s_i_node(_l.Regex, "Keyword", "^"), | |
| elements: [_t.node(_l.Regex, "Character", [_t.embedded(_t.s_e_node(_l.CSTML, "Escape", [_t.lit("\\r")], {}, { | |
| cooked: "\r" | |
| }))], {}, {}), _t.node(_l.Regex, "Character", [_t.embedded(_t.s_e_node(_l.CSTML, "Escape", [_t.lit("\\n")], {}, { | |
| cooked: "\n" | |
| }))], {}, {}), _t.node(_l.Regex, "Character", [_t.embedded(_t.s_e_node(_l.CSTML, "Escape", [_t.lit("\\\\")], {}, { | |
| cooked: "\\" | |
| }))], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("\"")], {}, {})], | |
| closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]") | |
| }, { | |
| negate: true | |
| }), | |
| value: _t.s_i_node(_l.Regex, "Keyword", "+") | |
| }, { | |
| min: 1, | |
| max: Infinity, | |
| greedy: true | |
| })] | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "fail"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], { | |
| intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"), | |
| tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*") | |
| }, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"), | |
| intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.embedded(_t.s_e_node(_l.CSTML, "Escape", [_t.lit("\\\\")], {}, { | |
| cooked: "\\" | |
| }))], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}), | |
| attributes: [_t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], { | |
| key: _t.node(_l.Spamex, "Literal", [_t.lit("openSpan")], {}, {}), | |
| mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="), | |
| value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("Escape")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}) | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("sigilToken")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "match"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"), | |
| alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], { | |
| elements: [_t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Regex, "Punctuator", "["), | |
| elements: [_t.node(_l.Regex, "Character", [_t.embedded(_t.s_e_node(_l.CSTML, "Escape", [_t.lit("\\\\")], {}, { | |
| cooked: "\\" | |
| }))], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("/")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("b")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("f")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("n")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("r")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("t")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("\"")], {}, {})], | |
| closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]") | |
| }, { | |
| negate: false | |
| })] | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "match"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("u")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [], {}, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "EscapeCode"), | |
| attributes: [_t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], { | |
| key: _t.node(_l.Spamex, "Literal", [_t.lit("closeSpan")], {}, {}), | |
| mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="), | |
| value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("Escape")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}) | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("value")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], { | |
| intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"), | |
| tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*") | |
| }, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Keyword"), | |
| intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("u")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("typeToken")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [], {}, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Digits"), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("digits[]")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [], {}, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Integer"), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("wholePart")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}), _t.node(_l.Instruction, "Object", [_t.ref`openToken`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`properties[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`properties[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "{"), | |
| properties: [_t.node(_l.Instruction, "Property", [_t.ref`key`, _t.ref`mapToken`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`value`], { | |
| key: _t.node(_l.Instruction, "Literal", [_t.lit("noDoubleZero")], {}, {}), | |
| mapToken: _t.s_i_node(_l.Instruction, "Punctuator", ":"), | |
| value: _t.node(_l.Instruction, "Boolean", [_t.ref`sigilToken`], { | |
| sigilToken: _t.s_i_node(_l.Instruction, "Keyword", "true") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Property", [_t.ref`key`, _t.ref`mapToken`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`value`], { | |
| key: _t.node(_l.Instruction, "Literal", [_t.lit("matchSign")], {}, {}), | |
| mapToken: _t.s_i_node(_l.Instruction, "Punctuator", ":"), | |
| value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("-")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}) | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", "}") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eatMatch"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], { | |
| intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"), | |
| tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*") | |
| }, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"), | |
| intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit(".")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("fractionalSeparatorToken")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [], {}, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Integer"), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("fractionalPart")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Instruction, "Null", [_t.ref`sigilToken`], { | |
| sigilToken: _t.s_i_node(_l.Instruction, "Keyword", "null") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("fractionalPart")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eatMatch"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], { | |
| intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"), | |
| tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*") | |
| }, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"), | |
| intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"), | |
| alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], { | |
| elements: [_t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Regex, "Punctuator", "["), | |
| elements: [_t.node(_l.Regex, "Character", [_t.lit("e")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("E")], {}, {})], | |
| closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]") | |
| }, { | |
| negate: false | |
| })] | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/") | |
| }, {}), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("exponentSeparatorToken")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [], {}, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Integer"), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("exponentPart")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}), _t.node(_l.Instruction, "Object", [_t.ref`openToken`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`properties[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "{"), | |
| properties: [_t.node(_l.Instruction, "Property", [_t.ref`key`, _t.ref`mapToken`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`value`], { | |
| key: _t.node(_l.Instruction, "Literal", [_t.lit("matchSign")], {}, {}), | |
| mapToken: _t.s_i_node(_l.Instruction, "Punctuator", ":"), | |
| value: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"), | |
| alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], { | |
| elements: [_t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Regex, "Punctuator", "["), | |
| elements: [_t.node(_l.Regex, "Character", [_t.lit("+")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("-")], {}, {})], | |
| closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]") | |
| }, { | |
| negate: false | |
| })] | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/") | |
| }, {}) | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", "}") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Instruction, "Null", [_t.ref`sigilToken`], { | |
| sigilToken: _t.s_i_node(_l.Instruction, "Keyword", "null") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("exponentPart")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Instruction, "Null", [_t.ref`sigilToken`], { | |
| sigilToken: _t.s_i_node(_l.Instruction, "Keyword", "null") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("signToken")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eatMatch"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"), | |
| alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], { | |
| elements: [_t.node(_l.Regex, "Quantifier", [_t.ref`element`, _t.ref`value`], { | |
| element: _t.node(_l.Regex, "DigitCharacterSet", [_t.ref`escapeToken`, _t.ref`value`], { | |
| escapeToken: _t.s_i_node(_l.Regex, "Punctuator", "\\"), | |
| value: _t.s_i_node(_l.Regex, "Keyword", "d") | |
| }, {}), | |
| value: _t.s_i_node(_l.Regex, "Keyword", "+") | |
| }, { | |
| min: 1, | |
| max: Infinity, | |
| greedy: true | |
| })] | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], { | |
| intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"), | |
| tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*") | |
| }, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Keyword"), | |
| intrinsicValue: _t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`separators[]`, _t.ref`alternatives[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"), | |
| alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`], { | |
| elements: [_t.node(_l.Regex, "Character", [_t.lit("t")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("r")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("u")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("e")], {}, {})] | |
| }, {}), _t.node(_l.Regex, "Alternative", [_t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`], { | |
| elements: [_t.node(_l.Regex, "Character", [_t.lit("f")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("a")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("l")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("s")], {}, {}), _t.node(_l.Regex, "Character", [_t.lit("e")], {}, {})] | |
| }, {})], | |
| separators: [_t.s_i_node(_l.Regex, "Punctuator", "|")], | |
| closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/") | |
| }, {}), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("sigilToken")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], { | |
| intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"), | |
| tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*") | |
| }, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Keyword"), | |
| intrinsicValue: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("null")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}), | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("sigilToken")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}), _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"), | |
| alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], { | |
| elements: [_t.node(_l.Regex, "Quantifier", [_t.ref`element`, _t.ref`value`], { | |
| element: _t.node(_l.Regex, "CharacterClass", [_t.ref`openToken`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`elements[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Regex, "Punctuator", "["), | |
| elements: [_t.node(_l.Regex, "Character", [_t.lit(" ")], {}, {}), _t.node(_l.Regex, "Character", [_t.embedded(_t.s_e_node(_l.CSTML, "Escape", [_t.lit("\\t")], {}, { | |
| cooked: "\t" | |
| }))], {}, {}), _t.node(_l.Regex, "Character", [_t.embedded(_t.s_e_node(_l.CSTML, "Escape", [_t.lit("\\r")], {}, { | |
| cooked: "\r" | |
| }))], {}, {}), _t.node(_l.Regex, "Character", [_t.embedded(_t.s_e_node(_l.CSTML, "Escape", [_t.lit("\\n")], {}, { | |
| cooked: "\n" | |
| }))], {}, {})], | |
| closeToken: _t.s_i_node(_l.Regex, "Punctuator", "]") | |
| }, { | |
| negate: false | |
| }), | |
| value: _t.s_i_node(_l.Regex, "Keyword", "+") | |
| }, { | |
| min: 1, | |
| max: Infinity, | |
| greedy: true | |
| })] | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {})]; | |
| export const grammar = triviaEnhancer({ | |
| triviaIsAllowed: s => s.span === 'Bare', | |
| *eatMatchTrivia() { | |
| if (yield s[0]) { | |
| yield s[1]; | |
| } | |
| } | |
| }, class JSONGrammar { | |
| static { | |
| [_initProto] = _applyDecs(this, [[_ExpressionDecs, 2, "Expression"], [_ArrayDecs, 2, "Array"], [_ObjectDecs, 2, "Object"], [Node, 2, "Property"], [_StringDecs, 2, "String"], [[AllowEmpty, Node], 2, "StringContent"], [_EscapeSequenceDecs, 2, "EscapeSequence"], [Node, 2, "EscapeCode"], [_NumberDecs, 2, "Number"], [Node, 2, "Integer"], [Node, 2, "UnsignedInteger"], [_BooleanDecs, 2, "Boolean"], [_NullDecs, 2, "Null"], [Node, 2, "Space"], [_KeywordDecs, 2, "Keyword"], [_PunctuatorDecs, 2, "Punctuator"], [_ListDecs, 2, "List"], [_AnyDecs, 2, "Any"]], []).e; | |
| } | |
| constructor() { | |
| _initProto(this); | |
| } | |
| *[(_ExpressionDecs = CoveredBy('Element'), _ArrayDecs = [CoveredBy('Expression'), Node], _ObjectDecs = [CoveredBy('Expression'), Node], _StringDecs = [CoveredBy('Language'), Node], _EscapeSequenceDecs = [Attributes(['cooked']), Node], _NumberDecs = [CoveredBy('Expression'), Node], _BooleanDecs = [CoveredBy('Expression'), Node], _NullDecs = [CoveredBy('Expression'), Node], _KeywordDecs = [Node, InjectFrom(productions)], _PunctuatorDecs = [Node, InjectFrom(productions)], _ListDecs = [AllowEmpty, InjectFrom(productions)], _AnyDecs = InjectFrom(productions), Symbol.for('@bablr/fragment'))]() { | |
| yield s[2]; | |
| } | |
| *Expression() { | |
| yield s[3]; | |
| } | |
| *Array() { | |
| yield s[4]; | |
| yield s[5]; | |
| yield s[6]; | |
| } | |
| *Object() { | |
| yield s[7]; | |
| yield s[8]; | |
| yield s[9]; | |
| } | |
| *Property() { | |
| yield s[10]; | |
| yield s[11]; | |
| yield s[12]; | |
| } | |
| *String() { | |
| yield s[13]; | |
| yield s[14]; | |
| yield s[15]; | |
| } | |
| *StringContent() { | |
| let esc, lit; | |
| do { | |
| esc = (yield s[16]) && (yield s[17]); | |
| lit = yield s[18]; | |
| } while (esc || lit); | |
| } | |
| *EscapeSequence({ | |
| state: { | |
| span | |
| }, | |
| ctx | |
| }) { | |
| if (!span.startsWith('String')) { | |
| yield s[19]; | |
| } | |
| yield s[20]; | |
| let match, cooked; | |
| if (match = yield s[21]) { | |
| const match_ = ctx.sourceTextFor(match); | |
| yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], { | |
| intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"), | |
| tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*") | |
| }, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Keyword"), | |
| intrinsicValue: buildString(match_), | |
| attributes: [_t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], { | |
| key: _t.node(_l.Spamex, "Literal", [_t.lit("closeSpan")], {}, {}), | |
| mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="), | |
| value: _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("Escape")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {}) | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("value")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}); | |
| cooked = escapables.get(match_) || match_; | |
| } else if (yield s[22]) { | |
| const codeNode = yield s[23]; | |
| cooked = parseInt(codeNode.properties.digits.map(digit => ctx.sourceTextFor(digit)).join(''), 16); | |
| } else { | |
| yield s[19]; | |
| } | |
| yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "bindAttribute"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), ..._interpolateArrayChildren(buildString(cooked.toString(10)), _t.ref`values[]`, _t.embedded(_t.t_node(_l.Comment, null, [_t.embedded(_t.t_node('Space', 'Space', [_t.lit(' ')]))]))), _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.s_node(_l.Instruction, "Identifier", "cooked"), ..._interpolateArray(buildString(cooked.toString(10)))], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}); | |
| } | |
| *EscapeCode() { | |
| yield s[24]; | |
| yield s[25]; | |
| } | |
| *Number() { | |
| yield s[26]; | |
| let fs = yield s[27]; | |
| if (fs) { | |
| yield s[28]; | |
| } else { | |
| yield s[29]; | |
| } | |
| let es = yield s[30]; | |
| if (es) { | |
| yield s[31]; | |
| } else { | |
| yield s[32]; | |
| } | |
| } | |
| *Integer({ | |
| value: props, | |
| ctx | |
| }) { | |
| const { | |
| matchSign = null, | |
| noDoubleZero = false | |
| } = props && ctx.unbox(props) || {}; | |
| if (matchSign) { | |
| yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eatMatch"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`intrinsicValue`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [_t.ref`intrinsicToken`, _t.ref`tokenToken`], { | |
| intrinsicToken: _t.s_i_node(_l.CSTML, "Punctuator", "~"), | |
| tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*") | |
| }, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "Punctuator"), | |
| intrinsicValue: matchSign, | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("signToken")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}); | |
| } else { | |
| yield s[33]; | |
| } | |
| yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Spamex, "NodeMatcher", [_t.ref`openToken`, _t.ref`flags`, _t.ref`type`, _t.embedded(_t.s_t_node(_l.Space, "Space", [_t.lit(" ")], {}, {})), _t.ref`attributes[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Spamex, "Punctuator", "<"), | |
| flags: _t.node(_l.CSTML, "Flags", [_t.ref`tokenToken`], { | |
| tokenToken: _t.s_i_node(_l.CSTML, "Punctuator", "*") | |
| }, {}), | |
| type: _t.s_node(_l.Spamex, "Identifier", "UnsignedInteger"), | |
| attributes: [_t.node(_l.Spamex, "MappingAttribute", [_t.ref`key`, _t.ref`mapToken`, _t.ref`value`], { | |
| key: _t.node(_l.Spamex, "Literal", [_t.lit("noDoubleZero")], {}, {}), | |
| mapToken: _t.s_i_node(_l.Spamex, "Punctuator", "="), | |
| value: buildBoolean(noDoubleZero) | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Spamex, "Punctuator", ">") | |
| }, {}), _t.node(_l.CSTML, "String", [_t.ref`openToken`, _t.ref`content`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.CSTML, "Punctuator", "'"), | |
| content: _t.node(_l.CSTML, "Content", [_t.lit("value")], {}, {}), | |
| closeToken: _t.s_i_node(_l.CSTML, "Punctuator", "'") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {}); | |
| } | |
| *UnsignedInteger({ | |
| value: props, | |
| ctx | |
| }) { | |
| const { | |
| noDoubleZero = false | |
| } = props && ctx.unbox(props) || {}; | |
| let [firstDigit] = ctx.allTerminalsFor(yield _t.node(_l.Instruction, "Call", [_t.ref`verb`, _t.ref`arguments`], { | |
| verb: _t.s_node(_l.Instruction, "Identifier", "eat"), | |
| arguments: _t.node(_l.Instruction, "Tuple", [_t.ref`openToken`, _t.ref`values[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Instruction, "Punctuator", "("), | |
| values: [_t.node(_l.Regex, "Pattern", [_t.ref`openToken`, _t.ref`alternatives[]`, _t.ref`closeToken`], { | |
| openToken: _t.s_i_node(_l.Regex, "Punctuator", "/"), | |
| alternatives: [_t.node(_l.Regex, "Alternative", [_t.ref`elements[]`], { | |
| elements: [_t.node(_l.Regex, "DigitCharacterSet", [_t.ref`escapeToken`, _t.ref`value`], { | |
| escapeToken: _t.s_i_node(_l.Regex, "Punctuator", "\\"), | |
| value: _t.s_i_node(_l.Regex, "Keyword", "d") | |
| }, {})] | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Regex, "Punctuator", "/") | |
| }, {})], | |
| closeToken: _t.s_i_node(_l.Instruction, "Punctuator", ")") | |
| }, {}) | |
| }, {})); | |
| if (!noDoubleZero || firstDigit.value !== '0') { | |
| yield s[34]; | |
| } | |
| } | |
| *Boolean() { | |
| yield s[35]; | |
| } | |
| *Null() { | |
| yield s[36]; | |
| } | |
| *Space() { | |
| yield s[37]; | |
| } | |
| *Keyword() {} | |
| *Punctuator() {} | |
| *List() {} | |
| *Any() {} | |
| }); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| [ | |
| { | |
| "type": "declaration", | |
| "named": true, | |
| "subtypes": [ | |
| { | |
| "type": "abstract_class_declaration", | |
| "named": true | |
| }, | |
| { | |
| "type": "ambient_declaration", | |
| "named": true | |
| }, | |
| { | |
| "type": "class_declaration", | |
| "named": true | |
| }, | |
| { | |
| "type": "enum_declaration", | |
| "named": true | |
| }, | |
| { | |
| "type": "function_declaration", | |
| "named": true | |
| }, | |
| { | |
| "type": "function_signature", | |
| "named": true | |
| }, | |
| { | |
| "type": "generator_function_declaration", | |
| "named": true | |
| }, | |
| { | |
| "type": "import_alias", | |
| "named": true | |
| }, | |
| { | |
| "type": "interface_declaration", | |
| "named": true | |
| }, | |
| { | |
| "type": "internal_module", | |
| "named": true | |
| }, | |
| { | |
| "type": "lexical_declaration", | |
| "named": true | |
| }, | |
| { | |
| "type": "module", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_alias_declaration", | |
| "named": true | |
| }, | |
| { | |
| "type": "variable_declaration", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "expression", | |
| "named": true, | |
| "subtypes": [ | |
| { | |
| "type": "as_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "assignment_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "augmented_assignment_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "await_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "binary_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "glimmer_template", | |
| "named": true | |
| }, | |
| { | |
| "type": "instantiation_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "internal_module", | |
| "named": true | |
| }, | |
| { | |
| "type": "new_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "primary_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "satisfies_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "ternary_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_assertion", | |
| "named": true | |
| }, | |
| { | |
| "type": "unary_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "update_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "yield_expression", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "pattern", | |
| "named": true, | |
| "subtypes": [ | |
| { | |
| "type": "array_pattern", | |
| "named": true | |
| }, | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "member_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "non_null_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "object_pattern", | |
| "named": true | |
| }, | |
| { | |
| "type": "rest_pattern", | |
| "named": true | |
| }, | |
| { | |
| "type": "subscript_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "undefined", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "primary_expression", | |
| "named": true, | |
| "subtypes": [ | |
| { | |
| "type": "array", | |
| "named": true | |
| }, | |
| { | |
| "type": "arrow_function", | |
| "named": true | |
| }, | |
| { | |
| "type": "call_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "class", | |
| "named": true | |
| }, | |
| { | |
| "type": "false", | |
| "named": true | |
| }, | |
| { | |
| "type": "function_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "generator_function", | |
| "named": true | |
| }, | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "member_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "meta_property", | |
| "named": true | |
| }, | |
| { | |
| "type": "non_null_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "null", | |
| "named": true | |
| }, | |
| { | |
| "type": "number", | |
| "named": true | |
| }, | |
| { | |
| "type": "object", | |
| "named": true | |
| }, | |
| { | |
| "type": "parenthesized_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "regex", | |
| "named": true | |
| }, | |
| { | |
| "type": "string", | |
| "named": true | |
| }, | |
| { | |
| "type": "subscript_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "super", | |
| "named": true | |
| }, | |
| { | |
| "type": "template_string", | |
| "named": true | |
| }, | |
| { | |
| "type": "this", | |
| "named": true | |
| }, | |
| { | |
| "type": "true", | |
| "named": true | |
| }, | |
| { | |
| "type": "undefined", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "primary_type", | |
| "named": true, | |
| "subtypes": [ | |
| { | |
| "type": "array_type", | |
| "named": true | |
| }, | |
| { | |
| "type": "conditional_type", | |
| "named": true | |
| }, | |
| { | |
| "type": "const", | |
| "named": false | |
| }, | |
| { | |
| "type": "existential_type", | |
| "named": true | |
| }, | |
| { | |
| "type": "flow_maybe_type", | |
| "named": true | |
| }, | |
| { | |
| "type": "generic_type", | |
| "named": true | |
| }, | |
| { | |
| "type": "index_type_query", | |
| "named": true | |
| }, | |
| { | |
| "type": "intersection_type", | |
| "named": true | |
| }, | |
| { | |
| "type": "literal_type", | |
| "named": true | |
| }, | |
| { | |
| "type": "lookup_type", | |
| "named": true | |
| }, | |
| { | |
| "type": "nested_type_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "object_type", | |
| "named": true | |
| }, | |
| { | |
| "type": "parenthesized_type", | |
| "named": true | |
| }, | |
| { | |
| "type": "predefined_type", | |
| "named": true | |
| }, | |
| { | |
| "type": "template_literal_type", | |
| "named": true | |
| }, | |
| { | |
| "type": "this_type", | |
| "named": true | |
| }, | |
| { | |
| "type": "tuple_type", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_query", | |
| "named": true | |
| }, | |
| { | |
| "type": "union_type", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "statement", | |
| "named": true, | |
| "subtypes": [ | |
| { | |
| "type": "break_statement", | |
| "named": true | |
| }, | |
| { | |
| "type": "continue_statement", | |
| "named": true | |
| }, | |
| { | |
| "type": "debugger_statement", | |
| "named": true | |
| }, | |
| { | |
| "type": "declaration", | |
| "named": true | |
| }, | |
| { | |
| "type": "do_statement", | |
| "named": true | |
| }, | |
| { | |
| "type": "empty_statement", | |
| "named": true | |
| }, | |
| { | |
| "type": "export_statement", | |
| "named": true | |
| }, | |
| { | |
| "type": "expression_statement", | |
| "named": true | |
| }, | |
| { | |
| "type": "for_in_statement", | |
| "named": true | |
| }, | |
| { | |
| "type": "for_statement", | |
| "named": true | |
| }, | |
| { | |
| "type": "if_statement", | |
| "named": true | |
| }, | |
| { | |
| "type": "import_statement", | |
| "named": true | |
| }, | |
| { | |
| "type": "labeled_statement", | |
| "named": true | |
| }, | |
| { | |
| "type": "return_statement", | |
| "named": true | |
| }, | |
| { | |
| "type": "statement_block", | |
| "named": true | |
| }, | |
| { | |
| "type": "switch_statement", | |
| "named": true | |
| }, | |
| { | |
| "type": "throw_statement", | |
| "named": true | |
| }, | |
| { | |
| "type": "try_statement", | |
| "named": true | |
| }, | |
| { | |
| "type": "while_statement", | |
| "named": true | |
| }, | |
| { | |
| "type": "with_statement", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "type", | |
| "named": true, | |
| "subtypes": [ | |
| { | |
| "type": "call_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "constructor_type", | |
| "named": true | |
| }, | |
| { | |
| "type": "function_type", | |
| "named": true | |
| }, | |
| { | |
| "type": "infer_type", | |
| "named": true | |
| }, | |
| { | |
| "type": "member_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "primary_type", | |
| "named": true | |
| }, | |
| { | |
| "type": "readonly_type", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "abstract_class_declaration", | |
| "named": true, | |
| "fields": { | |
| "body": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "class_body", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "decorator": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "decorator", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "name": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type_identifier", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type_parameters": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_parameters", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| "children": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "class_heritage", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "abstract_method_signature", | |
| "named": true, | |
| "fields": { | |
| "name": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "computed_property_name", | |
| "named": true | |
| }, | |
| { | |
| "type": "number", | |
| "named": true | |
| }, | |
| { | |
| "type": "private_property_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "property_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "string", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "parameters": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "formal_parameters", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "return_type": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "asserts_annotation", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_annotation", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_predicate_annotation", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type_parameters": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_parameters", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "accessibility_modifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "override_modifier", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "accessibility_modifier", | |
| "named": true, | |
| "fields": {} | |
| }, | |
| { | |
| "type": "adding_type_annotation", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "ambient_declaration", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "declaration", | |
| "named": true | |
| }, | |
| { | |
| "type": "property_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "statement_block", | |
| "named": true | |
| }, | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "arguments", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "spread_element", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "array", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "spread_element", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "array_pattern", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "assignment_pattern", | |
| "named": true | |
| }, | |
| { | |
| "type": "pattern", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "array_type", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "primary_type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "arrow_function", | |
| "named": true, | |
| "fields": { | |
| "body": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "statement_block", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "parameter": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "parameters": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "formal_parameters", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "return_type": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "asserts_annotation", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_annotation", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_predicate_annotation", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type_parameters": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_parameters", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "as_expression", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "asserts", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "this", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_predicate", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "asserts_annotation", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "asserts", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "assignment_expression", | |
| "named": true, | |
| "fields": { | |
| "left": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "array_pattern", | |
| "named": true | |
| }, | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "member_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "non_null_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "object_pattern", | |
| "named": true | |
| }, | |
| { | |
| "type": "parenthesized_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "subscript_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "undefined", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "right": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "assignment_pattern", | |
| "named": true, | |
| "fields": { | |
| "left": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "pattern", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "right": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "augmented_assignment_expression", | |
| "named": true, | |
| "fields": { | |
| "left": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "member_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "non_null_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "parenthesized_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "subscript_expression", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "operator": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "%=", | |
| "named": false | |
| }, | |
| { | |
| "type": "&&=", | |
| "named": false | |
| }, | |
| { | |
| "type": "&=", | |
| "named": false | |
| }, | |
| { | |
| "type": "**=", | |
| "named": false | |
| }, | |
| { | |
| "type": "*=", | |
| "named": false | |
| }, | |
| { | |
| "type": "+=", | |
| "named": false | |
| }, | |
| { | |
| "type": "-=", | |
| "named": false | |
| }, | |
| { | |
| "type": "/=", | |
| "named": false | |
| }, | |
| { | |
| "type": "<<=", | |
| "named": false | |
| }, | |
| { | |
| "type": ">>=", | |
| "named": false | |
| }, | |
| { | |
| "type": ">>>=", | |
| "named": false | |
| }, | |
| { | |
| "type": "??=", | |
| "named": false | |
| }, | |
| { | |
| "type": "^=", | |
| "named": false | |
| }, | |
| { | |
| "type": "|=", | |
| "named": false | |
| }, | |
| { | |
| "type": "||=", | |
| "named": false | |
| } | |
| ] | |
| }, | |
| "right": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "await_expression", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "binary_expression", | |
| "named": true, | |
| "fields": { | |
| "left": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "private_property_identifier", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "operator": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "!=", | |
| "named": false | |
| }, | |
| { | |
| "type": "!==", | |
| "named": false | |
| }, | |
| { | |
| "type": "%", | |
| "named": false | |
| }, | |
| { | |
| "type": "&", | |
| "named": false | |
| }, | |
| { | |
| "type": "&&", | |
| "named": false | |
| }, | |
| { | |
| "type": "*", | |
| "named": false | |
| }, | |
| { | |
| "type": "**", | |
| "named": false | |
| }, | |
| { | |
| "type": "+", | |
| "named": false | |
| }, | |
| { | |
| "type": "-", | |
| "named": false | |
| }, | |
| { | |
| "type": "/", | |
| "named": false | |
| }, | |
| { | |
| "type": "<", | |
| "named": false | |
| }, | |
| { | |
| "type": "<<", | |
| "named": false | |
| }, | |
| { | |
| "type": "<=", | |
| "named": false | |
| }, | |
| { | |
| "type": "==", | |
| "named": false | |
| }, | |
| { | |
| "type": "===", | |
| "named": false | |
| }, | |
| { | |
| "type": ">", | |
| "named": false | |
| }, | |
| { | |
| "type": ">=", | |
| "named": false | |
| }, | |
| { | |
| "type": ">>", | |
| "named": false | |
| }, | |
| { | |
| "type": ">>>", | |
| "named": false | |
| }, | |
| { | |
| "type": "??", | |
| "named": false | |
| }, | |
| { | |
| "type": "^", | |
| "named": false | |
| }, | |
| { | |
| "type": "in", | |
| "named": false | |
| }, | |
| { | |
| "type": "instanceof", | |
| "named": false | |
| }, | |
| { | |
| "type": "|", | |
| "named": false | |
| }, | |
| { | |
| "type": "||", | |
| "named": false | |
| } | |
| ] | |
| }, | |
| "right": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "break_statement", | |
| "named": true, | |
| "fields": { | |
| "label": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "statement_identifier", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "call_expression", | |
| "named": true, | |
| "fields": { | |
| "arguments": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "arguments", | |
| "named": true | |
| }, | |
| { | |
| "type": "template_string", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "function": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "import", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type_arguments": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_arguments", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "call_signature", | |
| "named": true, | |
| "fields": { | |
| "parameters": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "formal_parameters", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "return_type": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "asserts_annotation", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_annotation", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_predicate_annotation", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type_parameters": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_parameters", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "catch_clause", | |
| "named": true, | |
| "fields": { | |
| "body": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "statement_block", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "parameter": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "array_pattern", | |
| "named": true | |
| }, | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "object_pattern", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_annotation", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "class", | |
| "named": true, | |
| "fields": { | |
| "body": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "class_body", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "decorator": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "decorator", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "name": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_identifier", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type_parameters": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_parameters", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| "children": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "class_heritage", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "class_body", | |
| "named": true, | |
| "fields": { | |
| "decorator": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "decorator", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "abstract_method_signature", | |
| "named": true | |
| }, | |
| { | |
| "type": "class_static_block", | |
| "named": true | |
| }, | |
| { | |
| "type": "index_signature", | |
| "named": true | |
| }, | |
| { | |
| "type": "method_definition", | |
| "named": true | |
| }, | |
| { | |
| "type": "method_signature", | |
| "named": true | |
| }, | |
| { | |
| "type": "public_field_definition", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "class_declaration", | |
| "named": true, | |
| "fields": { | |
| "body": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "class_body", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "decorator": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "decorator", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "name": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type_identifier", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type_parameters": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_parameters", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| "children": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "class_heritage", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "class_heritage", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "extends_clause", | |
| "named": true | |
| }, | |
| { | |
| "type": "implements_clause", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "class_static_block", | |
| "named": true, | |
| "fields": { | |
| "body": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "statement_block", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "computed_property_name", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "conditional_type", | |
| "named": true, | |
| "fields": { | |
| "alternative": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "consequence": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "left": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "right": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "constraint", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "construct_signature", | |
| "named": true, | |
| "fields": { | |
| "parameters": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "formal_parameters", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_annotation", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type_parameters": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_parameters", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "constructor_type", | |
| "named": true, | |
| "fields": { | |
| "parameters": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "formal_parameters", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type_parameters": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_parameters", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "continue_statement", | |
| "named": true, | |
| "fields": { | |
| "label": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "statement_identifier", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "debugger_statement", | |
| "named": true, | |
| "fields": {} | |
| }, | |
| { | |
| "type": "decorator", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "call_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "member_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "parenthesized_expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "default_type", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "do_statement", | |
| "named": true, | |
| "fields": { | |
| "body": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "statement", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "parenthesized_expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "else_clause", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "statement", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "empty_statement", | |
| "named": true, | |
| "fields": {} | |
| }, | |
| { | |
| "type": "enum_assignment", | |
| "named": true, | |
| "fields": { | |
| "name": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "computed_property_name", | |
| "named": true | |
| }, | |
| { | |
| "type": "number", | |
| "named": true | |
| }, | |
| { | |
| "type": "private_property_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "property_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "string", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "value": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "enum_body", | |
| "named": true, | |
| "fields": { | |
| "name": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "computed_property_name", | |
| "named": true | |
| }, | |
| { | |
| "type": "number", | |
| "named": true | |
| }, | |
| { | |
| "type": "private_property_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "property_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "string", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "enum_assignment", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "enum_declaration", | |
| "named": true, | |
| "fields": { | |
| "body": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "enum_body", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "name": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "existential_type", | |
| "named": true, | |
| "fields": {} | |
| }, | |
| { | |
| "type": "export_clause", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "export_specifier", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "export_specifier", | |
| "named": true, | |
| "fields": { | |
| "alias": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "string", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "name": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "string", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "export_statement", | |
| "named": true, | |
| "fields": { | |
| "declaration": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "declaration", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "decorator": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "decorator", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "source": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "string", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "value": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| "children": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "export_clause", | |
| "named": true | |
| }, | |
| { | |
| "type": "expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "namespace_export", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "expression_statement", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "sequence_expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "extends_clause", | |
| "named": true, | |
| "fields": { | |
| "type_arguments": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_arguments", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "value": { | |
| "multiple": true, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "extends_type_clause", | |
| "named": true, | |
| "fields": { | |
| "type": { | |
| "multiple": true, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "generic_type", | |
| "named": true | |
| }, | |
| { | |
| "type": "nested_type_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_identifier", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "finally_clause", | |
| "named": true, | |
| "fields": { | |
| "body": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "statement_block", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "flow_maybe_type", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "primary_type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "for_in_statement", | |
| "named": true, | |
| "fields": { | |
| "body": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "statement", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "kind": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "const", | |
| "named": false | |
| }, | |
| { | |
| "type": "let", | |
| "named": false | |
| }, | |
| { | |
| "type": "var", | |
| "named": false | |
| } | |
| ] | |
| }, | |
| "left": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "array_pattern", | |
| "named": true | |
| }, | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "member_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "non_null_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "object_pattern", | |
| "named": true | |
| }, | |
| { | |
| "type": "parenthesized_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "subscript_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "undefined", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "operator": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "in", | |
| "named": false | |
| }, | |
| { | |
| "type": "of", | |
| "named": false | |
| } | |
| ] | |
| }, | |
| "right": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "sequence_expression", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "value": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "for_statement", | |
| "named": true, | |
| "fields": { | |
| "body": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "statement", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "empty_statement", | |
| "named": true | |
| }, | |
| { | |
| "type": "expression_statement", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "increment": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "sequence_expression", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "initializer": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "empty_statement", | |
| "named": true | |
| }, | |
| { | |
| "type": "expression_statement", | |
| "named": true | |
| }, | |
| { | |
| "type": "lexical_declaration", | |
| "named": true | |
| }, | |
| { | |
| "type": "variable_declaration", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "formal_parameters", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "optional_parameter", | |
| "named": true | |
| }, | |
| { | |
| "type": "required_parameter", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "function_declaration", | |
| "named": true, | |
| "fields": { | |
| "body": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "statement_block", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "name": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "parameters": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "formal_parameters", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "return_type": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "asserts_annotation", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_annotation", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_predicate_annotation", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type_parameters": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_parameters", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function_expression", | |
| "named": true, | |
| "fields": { | |
| "body": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "statement_block", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "name": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "parameters": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "formal_parameters", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "return_type": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "asserts_annotation", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_annotation", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_predicate_annotation", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type_parameters": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_parameters", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function_signature", | |
| "named": true, | |
| "fields": { | |
| "name": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "parameters": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "formal_parameters", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "return_type": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "asserts_annotation", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_annotation", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_predicate_annotation", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type_parameters": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_parameters", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function_type", | |
| "named": true, | |
| "fields": { | |
| "parameters": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "formal_parameters", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "return_type": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "asserts", | |
| "named": true | |
| }, | |
| { | |
| "type": "type", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_predicate", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type_parameters": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_parameters", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "generator_function", | |
| "named": true, | |
| "fields": { | |
| "body": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "statement_block", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "name": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "parameters": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "formal_parameters", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "return_type": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "asserts_annotation", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_annotation", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_predicate_annotation", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type_parameters": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_parameters", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "generator_function_declaration", | |
| "named": true, | |
| "fields": { | |
| "body": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "statement_block", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "name": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "parameters": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "formal_parameters", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "return_type": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "asserts_annotation", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_annotation", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_predicate_annotation", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type_parameters": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_parameters", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "generic_type", | |
| "named": true, | |
| "fields": { | |
| "name": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "nested_type_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_identifier", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type_arguments": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type_arguments", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "glimmer_template", | |
| "named": true, | |
| "fields": { | |
| "close_tag": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "glimmer_closing_tag", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "open_tag": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "glimmer_opening_tag", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "identifier", | |
| "named": true, | |
| "fields": {} | |
| }, | |
| { | |
| "type": "if_statement", | |
| "named": true, | |
| "fields": { | |
| "alternative": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "else_clause", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "parenthesized_expression", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "consequence": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "statement", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "implements_clause", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "import", | |
| "named": true, | |
| "fields": {} | |
| }, | |
| { | |
| "type": "import_alias", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "nested_identifier", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "import_attribute", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "object", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "import_clause", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "named_imports", | |
| "named": true | |
| }, | |
| { | |
| "type": "namespace_import", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "import_require_clause", | |
| "named": true, | |
| "fields": { | |
| "source": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "string", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "import_specifier", | |
| "named": true, | |
| "fields": { | |
| "alias": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "name": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "string", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "import_statement", | |
| "named": true, | |
| "fields": { | |
| "source": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "string", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "import_attribute", | |
| "named": true | |
| }, | |
| { | |
| "type": "import_clause", | |
| "named": true | |
| }, | |
| { | |
| "type": "import_require_clause", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "index_signature", | |
| "named": true, | |
| "fields": { | |
| "index_type": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "name": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "sign": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "+", | |
| "named": false | |
| }, | |
| { | |
| "type": "-", | |
| "named": false | |
| } | |
| ] | |
| }, | |
| "type": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "adding_type_annotation", | |
| "named": true | |
| }, | |
| { | |
| "type": "omitting_type_annotation", | |
| "named": true | |
| }, | |
| { | |
| "type": "opting_type_annotation", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_annotation", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| "children": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "mapped_type_clause", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "index_type_query", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "primary_type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "infer_type", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_identifier", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "instantiation_expression", | |
| "named": true, | |
| "fields": { | |
| "function": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "import", | |
| "named": true | |
| }, | |
| { | |
| "type": "member_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "subscript_expression", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type_arguments": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type_arguments", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| "children": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "interface_body", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "call_signature", | |
| "named": true | |
| }, | |
| { | |
| "type": "construct_signature", | |
| "named": true | |
| }, | |
| { | |
| "type": "export_statement", | |
| "named": true | |
| }, | |
| { | |
| "type": "index_signature", | |
| "named": true | |
| }, | |
| { | |
| "type": "method_signature", | |
| "named": true | |
| }, | |
| { | |
| "type": "property_signature", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "interface_declaration", | |
| "named": true, | |
| "fields": { | |
| "body": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "interface_body", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "name": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type_identifier", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type_parameters": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_parameters", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| "children": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "extends_type_clause", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "internal_module", | |
| "named": true, | |
| "fields": { | |
| "body": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "statement_block", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "name": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "nested_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "string", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "intersection_type", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "jsx_attribute", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "jsx_element", | |
| "named": true | |
| }, | |
| { | |
| "type": "jsx_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "jsx_namespace_name", | |
| "named": true | |
| }, | |
| { | |
| "type": "jsx_self_closing_element", | |
| "named": true | |
| }, | |
| { | |
| "type": "property_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "string", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "jsx_closing_element", | |
| "named": true, | |
| "fields": { | |
| "name": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "jsx_namespace_name", | |
| "named": true | |
| }, | |
| { | |
| "type": "member_expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "jsx_element", | |
| "named": true, | |
| "fields": { | |
| "close_tag": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "jsx_closing_element", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "open_tag": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "jsx_opening_element", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "html_character_reference", | |
| "named": true | |
| }, | |
| { | |
| "type": "jsx_element", | |
| "named": true | |
| }, | |
| { | |
| "type": "jsx_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "jsx_self_closing_element", | |
| "named": true | |
| }, | |
| { | |
| "type": "jsx_text", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "jsx_expression", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "sequence_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "spread_element", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "jsx_namespace_name", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "jsx_opening_element", | |
| "named": true, | |
| "fields": { | |
| "attribute": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "jsx_attribute", | |
| "named": true | |
| }, | |
| { | |
| "type": "jsx_expression", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "name": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "jsx_namespace_name", | |
| "named": true | |
| }, | |
| { | |
| "type": "member_expression", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type_arguments": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_arguments", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "jsx_self_closing_element", | |
| "named": true, | |
| "fields": { | |
| "attribute": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "jsx_attribute", | |
| "named": true | |
| }, | |
| { | |
| "type": "jsx_expression", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "name": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "jsx_namespace_name", | |
| "named": true | |
| }, | |
| { | |
| "type": "member_expression", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type_arguments": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_arguments", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "jsx_text", | |
| "named": true, | |
| "fields": {} | |
| }, | |
| { | |
| "type": "labeled_statement", | |
| "named": true, | |
| "fields": { | |
| "body": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "statement", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "label": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "statement_identifier", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "lexical_declaration", | |
| "named": true, | |
| "fields": { | |
| "kind": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "const", | |
| "named": false | |
| }, | |
| { | |
| "type": "let", | |
| "named": false | |
| } | |
| ] | |
| } | |
| }, | |
| "children": { | |
| "multiple": true, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "variable_declarator", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "literal_type", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "false", | |
| "named": true | |
| }, | |
| { | |
| "type": "null", | |
| "named": true | |
| }, | |
| { | |
| "type": "number", | |
| "named": true | |
| }, | |
| { | |
| "type": "string", | |
| "named": true | |
| }, | |
| { | |
| "type": "true", | |
| "named": true | |
| }, | |
| { | |
| "type": "unary_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "undefined", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "lookup_type", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "mapped_type_clause", | |
| "named": true, | |
| "fields": { | |
| "alias": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "name": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type_identifier", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "member_expression", | |
| "named": true, | |
| "fields": { | |
| "object": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "import", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "optional_chain": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "optional_chain", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "property": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "private_property_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "property_identifier", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "meta_property", | |
| "named": true, | |
| "fields": {} | |
| }, | |
| { | |
| "type": "method_definition", | |
| "named": true, | |
| "fields": { | |
| "body": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "statement_block", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "name": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "computed_property_name", | |
| "named": true | |
| }, | |
| { | |
| "type": "number", | |
| "named": true | |
| }, | |
| { | |
| "type": "private_property_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "property_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "string", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "parameters": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "formal_parameters", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "return_type": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "asserts_annotation", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_annotation", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_predicate_annotation", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type_parameters": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_parameters", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "accessibility_modifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "override_modifier", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "method_signature", | |
| "named": true, | |
| "fields": { | |
| "name": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "computed_property_name", | |
| "named": true | |
| }, | |
| { | |
| "type": "number", | |
| "named": true | |
| }, | |
| { | |
| "type": "private_property_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "property_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "string", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "parameters": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "formal_parameters", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "return_type": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "asserts_annotation", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_annotation", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_predicate_annotation", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type_parameters": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_parameters", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "accessibility_modifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "override_modifier", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "module", | |
| "named": true, | |
| "fields": { | |
| "body": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "statement_block", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "name": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "nested_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "string", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "named_imports", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "import_specifier", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "namespace_export", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "string", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "namespace_import", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "nested_identifier", | |
| "named": true, | |
| "fields": { | |
| "object": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "member_expression", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "property": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "property_identifier", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "nested_type_identifier", | |
| "named": true, | |
| "fields": { | |
| "module": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "nested_identifier", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "name": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type_identifier", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "new_expression", | |
| "named": true, | |
| "fields": { | |
| "arguments": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "arguments", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "constructor": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "primary_expression", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type_arguments": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_arguments", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "non_null_expression", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "object", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "method_definition", | |
| "named": true | |
| }, | |
| { | |
| "type": "pair", | |
| "named": true | |
| }, | |
| { | |
| "type": "shorthand_property_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "spread_element", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "object_assignment_pattern", | |
| "named": true, | |
| "fields": { | |
| "left": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "array_pattern", | |
| "named": true | |
| }, | |
| { | |
| "type": "object_pattern", | |
| "named": true | |
| }, | |
| { | |
| "type": "shorthand_property_identifier_pattern", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "right": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "object_pattern", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "object_assignment_pattern", | |
| "named": true | |
| }, | |
| { | |
| "type": "pair_pattern", | |
| "named": true | |
| }, | |
| { | |
| "type": "rest_pattern", | |
| "named": true | |
| }, | |
| { | |
| "type": "shorthand_property_identifier_pattern", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "object_type", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "call_signature", | |
| "named": true | |
| }, | |
| { | |
| "type": "construct_signature", | |
| "named": true | |
| }, | |
| { | |
| "type": "export_statement", | |
| "named": true | |
| }, | |
| { | |
| "type": "index_signature", | |
| "named": true | |
| }, | |
| { | |
| "type": "method_signature", | |
| "named": true | |
| }, | |
| { | |
| "type": "property_signature", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "omitting_type_annotation", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "opting_type_annotation", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "optional_chain", | |
| "named": true, | |
| "fields": {} | |
| }, | |
| { | |
| "type": "optional_parameter", | |
| "named": true, | |
| "fields": { | |
| "decorator": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "decorator", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "name": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "pattern": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "pattern", | |
| "named": true | |
| }, | |
| { | |
| "type": "this", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_annotation", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "value": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "accessibility_modifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "override_modifier", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "optional_type", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "override_modifier", | |
| "named": true, | |
| "fields": {} | |
| }, | |
| { | |
| "type": "pair", | |
| "named": true, | |
| "fields": { | |
| "key": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "computed_property_name", | |
| "named": true | |
| }, | |
| { | |
| "type": "number", | |
| "named": true | |
| }, | |
| { | |
| "type": "private_property_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "property_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "string", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "value": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "pair_pattern", | |
| "named": true, | |
| "fields": { | |
| "key": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "computed_property_name", | |
| "named": true | |
| }, | |
| { | |
| "type": "number", | |
| "named": true | |
| }, | |
| { | |
| "type": "private_property_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "property_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "string", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "value": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "assignment_pattern", | |
| "named": true | |
| }, | |
| { | |
| "type": "pattern", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "parenthesized_expression", | |
| "named": true, | |
| "fields": { | |
| "type": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_annotation", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "call_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "member_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "sequence_expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "parenthesized_type", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "predefined_type", | |
| "named": true, | |
| "fields": {} | |
| }, | |
| { | |
| "type": "program", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "hash_bang_line", | |
| "named": true | |
| }, | |
| { | |
| "type": "statement", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "property_signature", | |
| "named": true, | |
| "fields": { | |
| "name": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "computed_property_name", | |
| "named": true | |
| }, | |
| { | |
| "type": "number", | |
| "named": true | |
| }, | |
| { | |
| "type": "private_property_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "property_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "string", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_annotation", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "accessibility_modifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "override_modifier", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "public_field_definition", | |
| "named": true, | |
| "fields": { | |
| "decorator": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "decorator", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "name": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "computed_property_name", | |
| "named": true | |
| }, | |
| { | |
| "type": "number", | |
| "named": true | |
| }, | |
| { | |
| "type": "private_property_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "property_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "string", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_annotation", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "value": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "accessibility_modifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "override_modifier", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "readonly_type", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "regex", | |
| "named": true, | |
| "fields": { | |
| "flags": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "regex_flags", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "pattern": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "regex_pattern", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "required_parameter", | |
| "named": true, | |
| "fields": { | |
| "decorator": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "decorator", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "name": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "rest_pattern", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "pattern": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "pattern", | |
| "named": true | |
| }, | |
| { | |
| "type": "this", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_annotation", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "value": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "accessibility_modifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "override_modifier", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "rest_pattern", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "array_pattern", | |
| "named": true | |
| }, | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "member_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "non_null_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "object_pattern", | |
| "named": true | |
| }, | |
| { | |
| "type": "subscript_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "undefined", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "rest_type", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "return_statement", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "sequence_expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "satisfies_expression", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "sequence_expression", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "spread_element", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "statement_block", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "statement", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "string", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "escape_sequence", | |
| "named": true | |
| }, | |
| { | |
| "type": "html_character_reference", | |
| "named": true | |
| }, | |
| { | |
| "type": "string_fragment", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "subscript_expression", | |
| "named": true, | |
| "fields": { | |
| "index": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "number", | |
| "named": true | |
| }, | |
| { | |
| "type": "predefined_type", | |
| "named": true | |
| }, | |
| { | |
| "type": "sequence_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "string", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "object": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "optional_chain": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "optional_chain", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "switch_body", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "switch_case", | |
| "named": true | |
| }, | |
| { | |
| "type": "switch_default", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "switch_case", | |
| "named": true, | |
| "fields": { | |
| "body": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "statement", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "value": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "sequence_expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "switch_default", | |
| "named": true, | |
| "fields": { | |
| "body": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "statement", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "switch_statement", | |
| "named": true, | |
| "fields": { | |
| "body": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "switch_body", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "value": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "parenthesized_expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "template_literal_type", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "string_fragment", | |
| "named": true | |
| }, | |
| { | |
| "type": "template_type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "template_string", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "escape_sequence", | |
| "named": true | |
| }, | |
| { | |
| "type": "string_fragment", | |
| "named": true | |
| }, | |
| { | |
| "type": "template_substitution", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "template_substitution", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "sequence_expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "template_type", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "infer_type", | |
| "named": true | |
| }, | |
| { | |
| "type": "primary_type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "ternary_expression", | |
| "named": true, | |
| "fields": { | |
| "alternative": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "consequence": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "throw_statement", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "sequence_expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "try_statement", | |
| "named": true, | |
| "fields": { | |
| "body": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "statement_block", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "finalizer": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "finally_clause", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "handler": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "catch_clause", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "tuple_type", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "optional_parameter", | |
| "named": true | |
| }, | |
| { | |
| "type": "optional_type", | |
| "named": true | |
| }, | |
| { | |
| "type": "required_parameter", | |
| "named": true | |
| }, | |
| { | |
| "type": "rest_type", | |
| "named": true | |
| }, | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "type_alias_declaration", | |
| "named": true, | |
| "fields": { | |
| "name": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type_identifier", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type_parameters": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_parameters", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "value": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "type_annotation", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "type_arguments", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "type_assertion", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "type_arguments", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "type_parameter", | |
| "named": true, | |
| "fields": { | |
| "constraint": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "constraint", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "name": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type_identifier", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "value": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "default_type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "type_parameters", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type_parameter", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "type_predicate", | |
| "named": true, | |
| "fields": { | |
| "name": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "this", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "type_predicate_annotation", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type_predicate", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "type_query", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "call_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "instantiation_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "member_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "subscript_expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "this", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "unary_expression", | |
| "named": true, | |
| "fields": { | |
| "argument": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| }, | |
| { | |
| "type": "number", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "operator": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "!", | |
| "named": false | |
| }, | |
| { | |
| "type": "+", | |
| "named": false | |
| }, | |
| { | |
| "type": "-", | |
| "named": false | |
| }, | |
| { | |
| "type": "delete", | |
| "named": false | |
| }, | |
| { | |
| "type": "typeof", | |
| "named": false | |
| }, | |
| { | |
| "type": "void", | |
| "named": false | |
| }, | |
| { | |
| "type": "~", | |
| "named": false | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "union_type", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "type", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "update_expression", | |
| "named": true, | |
| "fields": { | |
| "argument": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "operator": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "++", | |
| "named": false | |
| }, | |
| { | |
| "type": "--", | |
| "named": false | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "variable_declaration", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": true, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "variable_declarator", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "variable_declarator", | |
| "named": true, | |
| "fields": { | |
| "name": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "array_pattern", | |
| "named": true | |
| }, | |
| { | |
| "type": "identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "object_pattern", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "type": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "type_annotation", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "value": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "while_statement", | |
| "named": true, | |
| "fields": { | |
| "body": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "statement", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "parenthesized_expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "with_statement", | |
| "named": true, | |
| "fields": { | |
| "body": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "statement", | |
| "named": true | |
| } | |
| ] | |
| }, | |
| "object": { | |
| "multiple": false, | |
| "required": true, | |
| "types": [ | |
| { | |
| "type": "parenthesized_expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "yield_expression", | |
| "named": true, | |
| "fields": {}, | |
| "children": { | |
| "multiple": false, | |
| "required": false, | |
| "types": [ | |
| { | |
| "type": "expression", | |
| "named": true | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "!", | |
| "named": false | |
| }, | |
| { | |
| "type": "!=", | |
| "named": false | |
| }, | |
| { | |
| "type": "!==", | |
| "named": false | |
| }, | |
| { | |
| "type": "\"", | |
| "named": false | |
| }, | |
| { | |
| "type": "${", | |
| "named": false | |
| }, | |
| { | |
| "type": "%", | |
| "named": false | |
| }, | |
| { | |
| "type": "%=", | |
| "named": false | |
| }, | |
| { | |
| "type": "&", | |
| "named": false | |
| }, | |
| { | |
| "type": "&&", | |
| "named": false | |
| }, | |
| { | |
| "type": "&&=", | |
| "named": false | |
| }, | |
| { | |
| "type": "&=", | |
| "named": false | |
| }, | |
| { | |
| "type": "'", | |
| "named": false | |
| }, | |
| { | |
| "type": "(", | |
| "named": false | |
| }, | |
| { | |
| "type": ")", | |
| "named": false | |
| }, | |
| { | |
| "type": "*", | |
| "named": false | |
| }, | |
| { | |
| "type": "**", | |
| "named": false | |
| }, | |
| { | |
| "type": "**=", | |
| "named": false | |
| }, | |
| { | |
| "type": "*=", | |
| "named": false | |
| }, | |
| { | |
| "type": "+", | |
| "named": false | |
| }, | |
| { | |
| "type": "++", | |
| "named": false | |
| }, | |
| { | |
| "type": "+=", | |
| "named": false | |
| }, | |
| { | |
| "type": "+?:", | |
| "named": false | |
| }, | |
| { | |
| "type": ",", | |
| "named": false | |
| }, | |
| { | |
| "type": "-", | |
| "named": false | |
| }, | |
| { | |
| "type": "--", | |
| "named": false | |
| }, | |
| { | |
| "type": "-=", | |
| "named": false | |
| }, | |
| { | |
| "type": "-?:", | |
| "named": false | |
| }, | |
| { | |
| "type": ".", | |
| "named": false | |
| }, | |
| { | |
| "type": "...", | |
| "named": false | |
| }, | |
| { | |
| "type": "/", | |
| "named": false | |
| }, | |
| { | |
| "type": "/=", | |
| "named": false | |
| }, | |
| { | |
| "type": "/>", | |
| "named": false | |
| }, | |
| { | |
| "type": ":", | |
| "named": false | |
| }, | |
| { | |
| "type": ";", | |
| "named": false | |
| }, | |
| { | |
| "type": "<", | |
| "named": false | |
| }, | |
| { | |
| "type": "</", | |
| "named": false | |
| }, | |
| { | |
| "type": "<<", | |
| "named": false | |
| }, | |
| { | |
| "type": "<<=", | |
| "named": false | |
| }, | |
| { | |
| "type": "<=", | |
| "named": false | |
| }, | |
| { | |
| "type": "=", | |
| "named": false | |
| }, | |
| { | |
| "type": "==", | |
| "named": false | |
| }, | |
| { | |
| "type": "===", | |
| "named": false | |
| }, | |
| { | |
| "type": "=>", | |
| "named": false | |
| }, | |
| { | |
| "type": ">", | |
| "named": false | |
| }, | |
| { | |
| "type": ">=", | |
| "named": false | |
| }, | |
| { | |
| "type": ">>", | |
| "named": false | |
| }, | |
| { | |
| "type": ">>=", | |
| "named": false | |
| }, | |
| { | |
| "type": ">>>", | |
| "named": false | |
| }, | |
| { | |
| "type": ">>>=", | |
| "named": false | |
| }, | |
| { | |
| "type": "?", | |
| "named": false | |
| }, | |
| { | |
| "type": "?.", | |
| "named": false | |
| }, | |
| { | |
| "type": "?:", | |
| "named": false | |
| }, | |
| { | |
| "type": "??", | |
| "named": false | |
| }, | |
| { | |
| "type": "??=", | |
| "named": false | |
| }, | |
| { | |
| "type": "@", | |
| "named": false | |
| }, | |
| { | |
| "type": "[", | |
| "named": false | |
| }, | |
| { | |
| "type": "]", | |
| "named": false | |
| }, | |
| { | |
| "type": "^", | |
| "named": false | |
| }, | |
| { | |
| "type": "^=", | |
| "named": false | |
| }, | |
| { | |
| "type": "`", | |
| "named": false | |
| }, | |
| { | |
| "type": "abstract", | |
| "named": false | |
| }, | |
| { | |
| "type": "accessor", | |
| "named": false | |
| }, | |
| { | |
| "type": "any", | |
| "named": false | |
| }, | |
| { | |
| "type": "as", | |
| "named": false | |
| }, | |
| { | |
| "type": "assert", | |
| "named": false | |
| }, | |
| { | |
| "type": "asserts", | |
| "named": false | |
| }, | |
| { | |
| "type": "async", | |
| "named": false | |
| }, | |
| { | |
| "type": "await", | |
| "named": false | |
| }, | |
| { | |
| "type": "boolean", | |
| "named": false | |
| }, | |
| { | |
| "type": "break", | |
| "named": false | |
| }, | |
| { | |
| "type": "case", | |
| "named": false | |
| }, | |
| { | |
| "type": "catch", | |
| "named": false | |
| }, | |
| { | |
| "type": "class", | |
| "named": false | |
| }, | |
| { | |
| "type": "comment", | |
| "named": true | |
| }, | |
| { | |
| "type": "const", | |
| "named": false | |
| }, | |
| { | |
| "type": "continue", | |
| "named": false | |
| }, | |
| { | |
| "type": "debugger", | |
| "named": false | |
| }, | |
| { | |
| "type": "declare", | |
| "named": false | |
| }, | |
| { | |
| "type": "default", | |
| "named": false | |
| }, | |
| { | |
| "type": "delete", | |
| "named": false | |
| }, | |
| { | |
| "type": "do", | |
| "named": false | |
| }, | |
| { | |
| "type": "else", | |
| "named": false | |
| }, | |
| { | |
| "type": "enum", | |
| "named": false | |
| }, | |
| { | |
| "type": "escape_sequence", | |
| "named": true | |
| }, | |
| { | |
| "type": "export", | |
| "named": false | |
| }, | |
| { | |
| "type": "extends", | |
| "named": false | |
| }, | |
| { | |
| "type": "false", | |
| "named": true | |
| }, | |
| { | |
| "type": "finally", | |
| "named": false | |
| }, | |
| { | |
| "type": "for", | |
| "named": false | |
| }, | |
| { | |
| "type": "from", | |
| "named": false | |
| }, | |
| { | |
| "type": "function", | |
| "named": false | |
| }, | |
| { | |
| "type": "get", | |
| "named": false | |
| }, | |
| { | |
| "type": "glimmer_closing_tag", | |
| "named": true | |
| }, | |
| { | |
| "type": "glimmer_opening_tag", | |
| "named": true | |
| }, | |
| { | |
| "type": "global", | |
| "named": false | |
| }, | |
| { | |
| "type": "hash_bang_line", | |
| "named": true | |
| }, | |
| { | |
| "type": "html_character_reference", | |
| "named": true | |
| }, | |
| { | |
| "type": "html_comment", | |
| "named": true | |
| }, | |
| { | |
| "type": "if", | |
| "named": false | |
| }, | |
| { | |
| "type": "implements", | |
| "named": false | |
| }, | |
| { | |
| "type": "import", | |
| "named": false | |
| }, | |
| { | |
| "type": "in", | |
| "named": false | |
| }, | |
| { | |
| "type": "infer", | |
| "named": false | |
| }, | |
| { | |
| "type": "instanceof", | |
| "named": false | |
| }, | |
| { | |
| "type": "interface", | |
| "named": false | |
| }, | |
| { | |
| "type": "is", | |
| "named": false | |
| }, | |
| { | |
| "type": "keyof", | |
| "named": false | |
| }, | |
| { | |
| "type": "let", | |
| "named": false | |
| }, | |
| { | |
| "type": "module", | |
| "named": false | |
| }, | |
| { | |
| "type": "namespace", | |
| "named": false | |
| }, | |
| { | |
| "type": "never", | |
| "named": false | |
| }, | |
| { | |
| "type": "new", | |
| "named": false | |
| }, | |
| { | |
| "type": "null", | |
| "named": true | |
| }, | |
| { | |
| "type": "number", | |
| "named": false | |
| }, | |
| { | |
| "type": "number", | |
| "named": true | |
| }, | |
| { | |
| "type": "object", | |
| "named": false | |
| }, | |
| { | |
| "type": "of", | |
| "named": false | |
| }, | |
| { | |
| "type": "override", | |
| "named": false | |
| }, | |
| { | |
| "type": "private", | |
| "named": false | |
| }, | |
| { | |
| "type": "private_property_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "property_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "protected", | |
| "named": false | |
| }, | |
| { | |
| "type": "public", | |
| "named": false | |
| }, | |
| { | |
| "type": "readonly", | |
| "named": false | |
| }, | |
| { | |
| "type": "regex_flags", | |
| "named": true | |
| }, | |
| { | |
| "type": "regex_pattern", | |
| "named": true | |
| }, | |
| { | |
| "type": "require", | |
| "named": false | |
| }, | |
| { | |
| "type": "return", | |
| "named": false | |
| }, | |
| { | |
| "type": "satisfies", | |
| "named": false | |
| }, | |
| { | |
| "type": "set", | |
| "named": false | |
| }, | |
| { | |
| "type": "shorthand_property_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "shorthand_property_identifier_pattern", | |
| "named": true | |
| }, | |
| { | |
| "type": "statement_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "static", | |
| "named": false | |
| }, | |
| { | |
| "type": "string", | |
| "named": false | |
| }, | |
| { | |
| "type": "string_fragment", | |
| "named": true | |
| }, | |
| { | |
| "type": "super", | |
| "named": true | |
| }, | |
| { | |
| "type": "switch", | |
| "named": false | |
| }, | |
| { | |
| "type": "symbol", | |
| "named": false | |
| }, | |
| { | |
| "type": "target", | |
| "named": false | |
| }, | |
| { | |
| "type": "this", | |
| "named": true | |
| }, | |
| { | |
| "type": "this_type", | |
| "named": true | |
| }, | |
| { | |
| "type": "throw", | |
| "named": false | |
| }, | |
| { | |
| "type": "true", | |
| "named": true | |
| }, | |
| { | |
| "type": "try", | |
| "named": false | |
| }, | |
| { | |
| "type": "type", | |
| "named": false | |
| }, | |
| { | |
| "type": "type_identifier", | |
| "named": true | |
| }, | |
| { | |
| "type": "typeof", | |
| "named": false | |
| }, | |
| { | |
| "type": "undefined", | |
| "named": true | |
| }, | |
| { | |
| "type": "unique symbol", | |
| "named": false | |
| }, | |
| { | |
| "type": "unknown", | |
| "named": false | |
| }, | |
| { | |
| "type": "using", | |
| "named": false | |
| }, | |
| { | |
| "type": "var", | |
| "named": false | |
| }, | |
| { | |
| "type": "void", | |
| "named": false | |
| }, | |
| { | |
| "type": "while", | |
| "named": false | |
| }, | |
| { | |
| "type": "with", | |
| "named": false | |
| }, | |
| { | |
| "type": "yield", | |
| "named": false | |
| }, | |
| { | |
| "type": "{", | |
| "named": false | |
| }, | |
| { | |
| "type": "{|", | |
| "named": false | |
| }, | |
| { | |
| "type": "|", | |
| "named": false | |
| }, | |
| { | |
| "type": "|=", | |
| "named": false | |
| }, | |
| { | |
| "type": "||", | |
| "named": false | |
| }, | |
| { | |
| "type": "||=", | |
| "named": false | |
| }, | |
| { | |
| "type": "|}", | |
| "named": false | |
| }, | |
| { | |
| "type": "}", | |
| "named": false | |
| }, | |
| { | |
| "type": "~", | |
| "named": false | |
| } | |
| ] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment