Constant tree_sitter_mozjs::NODE_TYPES[][src]

pub const NODE_TYPES: &str = "[\n  {\n    \"type\": \"declaration\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"class_declaration\",\n        \"named\": true\n      },\n      {\n        \"type\": \"function_declaration\",\n        \"named\": true\n      },\n      {\n        \"type\": \"generator_function_declaration\",\n        \"named\": true\n      },\n      {\n        \"type\": \"lexical_declaration\",\n        \"named\": true\n      },\n      {\n        \"type\": \"variable_declaration\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"expression\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"assignment_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"augmented_assignment_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"await_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"binary_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"jsx_element\",\n        \"named\": true\n      },\n      {\n        \"type\": \"jsx_fragment\",\n        \"named\": true\n      },\n      {\n        \"type\": \"jsx_self_closing_element\",\n        \"named\": true\n      },\n      {\n        \"type\": \"new_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"primary_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"ternary_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"unary_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"update_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"yield_expression\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"pattern\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"array_pattern\",\n        \"named\": true\n      },\n      {\n        \"type\": \"identifier\",\n        \"named\": true\n      },\n      {\n        \"type\": \"object_pattern\",\n        \"named\": true\n      },\n      {\n        \"type\": \"rest_pattern\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"primary_expression\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"array\",\n        \"named\": true\n      },\n      {\n        \"type\": \"arrow_function\",\n        \"named\": true\n      },\n      {\n        \"type\": \"call_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"class\",\n        \"named\": true\n      },\n      {\n        \"type\": \"false\",\n        \"named\": true\n      },\n      {\n        \"type\": \"function\",\n        \"named\": true\n      },\n      {\n        \"type\": \"generator_function\",\n        \"named\": true\n      },\n      {\n        \"type\": \"identifier\",\n        \"named\": true\n      },\n      {\n        \"type\": \"import\",\n        \"named\": true\n      },\n      {\n        \"type\": \"member_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"meta_property\",\n        \"named\": true\n      },\n      {\n        \"type\": \"null\",\n        \"named\": true\n      },\n      {\n        \"type\": \"number\",\n        \"named\": true\n      },\n      {\n        \"type\": \"object\",\n        \"named\": true\n      },\n      {\n        \"type\": \"parenthesized_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"regex\",\n        \"named\": true\n      },\n      {\n        \"type\": \"string\",\n        \"named\": true\n      },\n      {\n        \"type\": \"subscript_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"super\",\n        \"named\": true\n      },\n      {\n        \"type\": \"template_string\",\n        \"named\": true\n      },\n      {\n        \"type\": \"this\",\n        \"named\": true\n      },\n      {\n        \"type\": \"true\",\n        \"named\": true\n      },\n      {\n        \"type\": \"undefined\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"statement\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"break_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"continue_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"debugger_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"declaration\",\n        \"named\": true\n      },\n      {\n        \"type\": \"do_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"empty_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"export_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"expression_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"for_in_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"for_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"if_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"import_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"labeled_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"preproc\",\n        \"named\": true\n      },\n      {\n        \"type\": \"return_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"statement_block\",\n        \"named\": true\n      },\n      {\n        \"type\": \"switch_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"throw_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"try_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"while_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"with_statement\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"arguments\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"spread_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"array\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"spread_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"array_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"assignment_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pattern\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"arrow_function\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"statement_block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"parameter\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"parameters\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"formal_parameters\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"assignment_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"left\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array_pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"member_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"object_pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscript_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"right\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"assignment_pattern\",\n    \"named\": true,\n    \"fields\": {\n      \"left\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          }\n        ]\n      },\n      \"right\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"augmented_assignment_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"left\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"member_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscript_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"right\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"await_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"binary_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"left\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"!=\",\n            \"named\": false\n          },\n          {\n            \"type\": \"!==\",\n            \"named\": false\n          },\n          {\n            \"type\": \"%\",\n            \"named\": false\n          },\n          {\n            \"type\": \"&\",\n            \"named\": false\n          },\n          {\n            \"type\": \"&&\",\n            \"named\": false\n          },\n          {\n            \"type\": \"*\",\n            \"named\": false\n          },\n          {\n            \"type\": \"**\",\n            \"named\": false\n          },\n          {\n            \"type\": \"+\",\n            \"named\": false\n          },\n          {\n            \"type\": \"-\",\n            \"named\": false\n          },\n          {\n            \"type\": \"/\",\n            \"named\": false\n          },\n          {\n            \"type\": \"<\",\n            \"named\": false\n          },\n          {\n            \"type\": \"<<\",\n            \"named\": false\n          },\n          {\n            \"type\": \"<=\",\n            \"named\": false\n          },\n          {\n            \"type\": \"==\",\n            \"named\": false\n          },\n          {\n            \"type\": \"===\",\n            \"named\": false\n          },\n          {\n            \"type\": \">\",\n            \"named\": false\n          },\n          {\n            \"type\": \">=\",\n            \"named\": false\n          },\n          {\n            \"type\": \">>\",\n            \"named\": false\n          },\n          {\n            \"type\": \">>>\",\n            \"named\": false\n          },\n          {\n            \"type\": \"??\",\n            \"named\": false\n          },\n          {\n            \"type\": \"^\",\n            \"named\": false\n          },\n          {\n            \"type\": \"in\",\n            \"named\": false\n          },\n          {\n            \"type\": \"instanceof\",\n            \"named\": false\n          },\n          {\n            \"type\": \"|\",\n            \"named\": false\n          },\n          {\n            \"type\": \"||\",\n            \"named\": false\n          }\n        ]\n      },\n      \"right\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"break_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"label\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"statement_identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"call_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"arguments\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"arguments\",\n            \"named\": true\n          },\n          {\n            \"type\": \"template_string\",\n            \"named\": true\n          }\n        ]\n      },\n      \"function\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"catch_clause\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"statement_block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"parameter\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"array_pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"object_pattern\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"class\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"class_body\",\n            \"named\": true\n          }\n        ]\n      },\n      \"decorator\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"decorator\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"class_heritage\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"class_body\",\n    \"named\": true,\n    \"fields\": {\n      \"member\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"method_definition\",\n            \"named\": true\n          },\n          {\n            \"type\": \"public_field_definition\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"class_declaration\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"class_body\",\n            \"named\": true\n          }\n        ]\n      },\n      \"decorator\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"decorator\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"class_heritage\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"class_heritage\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"computed_property_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"continue_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"label\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"statement_identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"debugger_statement\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"decorator\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"member_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"do_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"statement\",\n            \"named\": true\n          }\n        ]\n      },\n      \"condition\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"else_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"empty_statement\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"export_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"export_specifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"export_specifier\",\n    \"named\": true,\n    \"fields\": {\n      \"alias\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"export_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"declaration\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"declaration\",\n            \"named\": true\n          }\n        ]\n      },\n      \"decorator\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"decorator\",\n            \"named\": true\n          }\n        ]\n      },\n      \"source\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"string\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"export_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"expression_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequence_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"finally_clause\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"statement_block\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"for_in_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"statement\",\n            \"named\": true\n          }\n        ]\n      },\n      \"left\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array_pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"member_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"object_pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscript_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"right\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sequence_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"for_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"statement\",\n            \"named\": true\n          }\n        ]\n      },\n      \"condition\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"empty_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"expression_statement\",\n            \"named\": true\n          }\n        ]\n      },\n      \"increment\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sequence_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"initializer\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"empty_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"expression_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lexical_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"formal_parameters\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"assignment_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pattern\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"statement_block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"parameters\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"formal_parameters\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"function_declaration\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"statement_block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"parameters\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"formal_parameters\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"generator_function\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"statement_block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"parameters\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"formal_parameters\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"generator_function_declaration\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"statement_block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"parameters\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"formal_parameters\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"if_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"alternative\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"else_clause\",\n            \"named\": true\n          }\n        ]\n      },\n      \"condition\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"consequence\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"statement\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"import\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"import_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"named_imports\",\n          \"named\": true\n        },\n        {\n          \"type\": \"namespace_import\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"import_specifier\",\n    \"named\": true,\n    \"fields\": {\n      \"alias\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"import_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"source\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"string\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"import_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"jsx_attribute\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"jsx_element\",\n          \"named\": true\n        },\n        {\n          \"type\": \"jsx_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"jsx_fragment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"jsx_namespace_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"jsx_self_closing_element\",\n          \"named\": true\n        },\n        {\n          \"type\": \"property_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"jsx_closing_element\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"jsx_namespace_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"nested_identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"jsx_element\",\n    \"named\": true,\n    \"fields\": {\n      \"close_tag\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"jsx_closing_element\",\n            \"named\": true\n          }\n        ]\n      },\n      \"open_tag\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"jsx_opening_element\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"jsx_element\",\n          \"named\": true\n        },\n        {\n          \"type\": \"jsx_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"jsx_fragment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"jsx_self_closing_element\",\n          \"named\": true\n        },\n        {\n          \"type\": \"jsx_text\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"jsx_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequence_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"spread_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"jsx_fragment\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"jsx_element\",\n          \"named\": true\n        },\n        {\n          \"type\": \"jsx_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"jsx_fragment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"jsx_self_closing_element\",\n          \"named\": true\n        },\n        {\n          \"type\": \"jsx_text\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"jsx_namespace_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"jsx_opening_element\",\n    \"named\": true,\n    \"fields\": {\n      \"attribute\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"jsx_attribute\",\n            \"named\": true\n          },\n          {\n            \"type\": \"jsx_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"jsx_namespace_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"nested_identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"jsx_self_closing_element\",\n    \"named\": true,\n    \"fields\": {\n      \"attribute\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"jsx_attribute\",\n            \"named\": true\n          },\n          {\n            \"type\": \"jsx_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"jsx_namespace_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"nested_identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"labeled_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"label\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"statement_identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"lexical_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"variable_declarator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"member_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"object\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"property\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"property_identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"meta_property\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"method_definition\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"statement_block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"decorator\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"decorator\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"computed_property_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"property_identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          }\n        ]\n      },\n      \"parameters\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"formal_parameters\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"named_imports\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"import_specifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"namespace_import\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"nested_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"nested_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"new_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"arguments\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"arguments\",\n            \"named\": true\n          }\n        ]\n      },\n      \"constructor\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"primary_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"object\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"method_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pair\",\n          \"named\": true\n        },\n        {\n          \"type\": \"shorthand_property_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"spread_element\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"object_assignment_pattern\",\n    \"named\": true,\n    \"fields\": {\n      \"left\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array_pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"object_pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"shorthand_property_identifier_pattern\",\n            \"named\": true\n          }\n        ]\n      },\n      \"right\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"object_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"object_assignment_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pair_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rest_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"shorthand_property_identifier_pattern\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"pair\",\n    \"named\": true,\n    \"fields\": {\n      \"key\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"computed_property_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"property_identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"pair_pattern\",\n    \"named\": true,\n    \"fields\": {\n      \"key\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"computed_property_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"property_identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"parenthesized_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequence_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"program\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"hash_bang_line\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"public_field_definition\",\n    \"named\": true,\n    \"fields\": {\n      \"property\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"computed_property_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"property_identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"regex\",\n    \"named\": true,\n    \"fields\": {\n      \"flags\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"regex_flags\",\n            \"named\": true\n          }\n        ]\n      },\n      \"pattern\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"regex_pattern\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"rest_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"object_pattern\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"return_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequence_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sequence_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"left\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"right\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sequence_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"spread_element\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"statement_block\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"string\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"escape_sequence\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"subscript_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"index\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sequence_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"object\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"switch_body\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"switch_case\",\n          \"named\": true\n        },\n        {\n          \"type\": \"switch_default\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"switch_case\",\n    \"named\": true,\n    \"fields\": {\n      \"value\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sequence_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"switch_default\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"switch_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"switch_body\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"template_string\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"escape_sequence\",\n          \"named\": true\n        },\n        {\n          \"type\": \"template_substitution\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"template_substitution\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequence_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ternary_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"alternative\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"condition\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"consequence\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"throw_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sequence_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"try_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"statement_block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"finalizer\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"finally_clause\",\n            \"named\": true\n          }\n        ]\n      },\n      \"handler\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"catch_clause\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"unary_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"argument\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"!\",\n            \"named\": false\n          },\n          {\n            \"type\": \"+\",\n            \"named\": false\n          },\n          {\n            \"type\": \"-\",\n            \"named\": false\n          },\n          {\n            \"type\": \"delete\",\n            \"named\": false\n          },\n          {\n            \"type\": \"typeof\",\n            \"named\": false\n          },\n          {\n            \"type\": \"void\",\n            \"named\": false\n          },\n          {\n            \"type\": \"~\",\n            \"named\": false\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"update_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"argument\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"++\",\n            \"named\": false\n          },\n          {\n            \"type\": \"--\",\n            \"named\": false\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"variable_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"variable_declarator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"variable_declarator\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array_pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"object_pattern\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"while_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"statement\",\n            \"named\": true\n          }\n        ]\n      },\n      \"condition\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"with_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"statement\",\n            \"named\": true\n          }\n        ]\n      },\n      \"object\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"yield_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"!\",\n    \"named\": false\n  },\n  {\n    \"type\": \"!=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"!==\",\n    \"named\": false\n  },\n  {\n    \"type\": \"\\\"\",\n    \"named\": false\n  },\n  {\n    \"type\": \"${\",\n    \"named\": false\n  },\n  {\n    \"type\": \"%\",\n    \"named\": false\n  },\n  {\n    \"type\": \"%=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"&\",\n    \"named\": false\n  },\n  {\n    \"type\": \"&&\",\n    \"named\": false\n  },\n  {\n    \"type\": \"&&=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"&=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"\'\",\n    \"named\": false\n  },\n  {\n    \"type\": \"(\",\n    \"named\": false\n  },\n  {\n    \"type\": \")\",\n    \"named\": false\n  },\n  {\n    \"type\": \"*\",\n    \"named\": false\n  },\n  {\n    \"type\": \"**\",\n    \"named\": false\n  },\n  {\n    \"type\": \"**=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"*=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"+\",\n    \"named\": false\n  },\n  {\n    \"type\": \"++\",\n    \"named\": false\n  },\n  {\n    \"type\": \"+=\",\n    \"named\": false\n  },\n  {\n    \"type\": \",\",\n    \"named\": false\n  },\n  {\n    \"type\": \"-\",\n    \"named\": false\n  },\n  {\n    \"type\": \"--\",\n    \"named\": false\n  },\n  {\n    \"type\": \"-=\",\n    \"named\": false\n  },\n  {\n    \"type\": \".\",\n    \"named\": false\n  },\n  {\n    \"type\": \"...\",\n    \"named\": false\n  },\n  {\n    \"type\": \"/\",\n    \"named\": false\n  },\n  {\n    \"type\": \"/=\",\n    \"named\": false\n  },\n  {\n    \"type\": \":\",\n    \"named\": false\n  },\n  {\n    \"type\": \";\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<<\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<<=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"==\",\n    \"named\": false\n  },\n  {\n    \"type\": \"===\",\n    \"named\": false\n  },\n  {\n    \"type\": \"=>\",\n    \"named\": false\n  },\n  {\n    \"type\": \">\",\n    \"named\": false\n  },\n  {\n    \"type\": \">=\",\n    \"named\": false\n  },\n  {\n    \"type\": \">>\",\n    \"named\": false\n  },\n  {\n    \"type\": \">>=\",\n    \"named\": false\n  },\n  {\n    \"type\": \">>>\",\n    \"named\": false\n  },\n  {\n    \"type\": \">>>=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"?\",\n    \"named\": false\n  },\n  {\n    \"type\": \"?.\",\n    \"named\": false\n  },\n  {\n    \"type\": \"??\",\n    \"named\": false\n  },\n  {\n    \"type\": \"??=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"@\",\n    \"named\": false\n  },\n  {\n    \"type\": \"[\",\n    \"named\": false\n  },\n  {\n    \"type\": \"]\",\n    \"named\": false\n  },\n  {\n    \"type\": \"^\",\n    \"named\": false\n  },\n  {\n    \"type\": \"^=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"`\",\n    \"named\": false\n  },\n  {\n    \"type\": \"as\",\n    \"named\": false\n  },\n  {\n    \"type\": \"async\",\n    \"named\": false\n  },\n  {\n    \"type\": \"await\",\n    \"named\": false\n  },\n  {\n    \"type\": \"break\",\n    \"named\": false\n  },\n  {\n    \"type\": \"case\",\n    \"named\": false\n  },\n  {\n    \"type\": \"catch\",\n    \"named\": false\n  },\n  {\n    \"type\": \"class\",\n    \"named\": false\n  },\n  {\n    \"type\": \"comment\",\n    \"named\": true\n  },\n  {\n    \"type\": \"const\",\n    \"named\": false\n  },\n  {\n    \"type\": \"continue\",\n    \"named\": false\n  },\n  {\n    \"type\": \"debugger\",\n    \"named\": false\n  },\n  {\n    \"type\": \"default\",\n    \"named\": false\n  },\n  {\n    \"type\": \"delete\",\n    \"named\": false\n  },\n  {\n    \"type\": \"do\",\n    \"named\": false\n  },\n  {\n    \"type\": \"else\",\n    \"named\": false\n  },\n  {\n    \"type\": \"escape_sequence\",\n    \"named\": true\n  },\n  {\n    \"type\": \"export\",\n    \"named\": false\n  },\n  {\n    \"type\": \"extends\",\n    \"named\": false\n  },\n  {\n    \"type\": \"false\",\n    \"named\": true\n  },\n  {\n    \"type\": \"finally\",\n    \"named\": false\n  },\n  {\n    \"type\": \"for\",\n    \"named\": false\n  },\n  {\n    \"type\": \"from\",\n    \"named\": false\n  },\n  {\n    \"type\": \"function\",\n    \"named\": false\n  },\n  {\n    \"type\": \"get\",\n    \"named\": false\n  },\n  {\n    \"type\": \"hash_bang_line\",\n    \"named\": true\n  },\n  {\n    \"type\": \"identifier\",\n    \"named\": true\n  },\n  {\n    \"type\": \"if\",\n    \"named\": false\n  },\n  {\n    \"type\": \"import\",\n    \"named\": false\n  },\n  {\n    \"type\": \"in\",\n    \"named\": false\n  },\n  {\n    \"type\": \"instanceof\",\n    \"named\": false\n  },\n  {\n    \"type\": \"jsx_text\",\n    \"named\": true\n  },\n  {\n    \"type\": \"let\",\n    \"named\": false\n  },\n  {\n    \"type\": \"new\",\n    \"named\": false\n  },\n  {\n    \"type\": \"null\",\n    \"named\": true\n  },\n  {\n    \"type\": \"number\",\n    \"named\": true\n  },\n  {\n    \"type\": \"of\",\n    \"named\": false\n  },\n  {\n    \"type\": \"preproc\",\n    \"named\": true\n  },\n  {\n    \"type\": \"property_identifier\",\n    \"named\": true\n  },\n  {\n    \"type\": \"regex_flags\",\n    \"named\": true\n  },\n  {\n    \"type\": \"regex_pattern\",\n    \"named\": true\n  },\n  {\n    \"type\": \"return\",\n    \"named\": false\n  },\n  {\n    \"type\": \"set\",\n    \"named\": false\n  },\n  {\n    \"type\": \"shorthand_property_identifier\",\n    \"named\": true\n  },\n  {\n    \"type\": \"shorthand_property_identifier_pattern\",\n    \"named\": true\n  },\n  {\n    \"type\": \"statement_identifier\",\n    \"named\": true\n  },\n  {\n    \"type\": \"static\",\n    \"named\": false\n  },\n  {\n    \"type\": \"super\",\n    \"named\": true\n  },\n  {\n    \"type\": \"switch\",\n    \"named\": false\n  },\n  {\n    \"type\": \"target\",\n    \"named\": false\n  },\n  {\n    \"type\": \"this\",\n    \"named\": true\n  },\n  {\n    \"type\": \"throw\",\n    \"named\": false\n  },\n  {\n    \"type\": \"true\",\n    \"named\": true\n  },\n  {\n    \"type\": \"try\",\n    \"named\": false\n  },\n  {\n    \"type\": \"typeof\",\n    \"named\": false\n  },\n  {\n    \"type\": \"undefined\",\n    \"named\": true\n  },\n  {\n    \"type\": \"var\",\n    \"named\": false\n  },\n  {\n    \"type\": \"void\",\n    \"named\": false\n  },\n  {\n    \"type\": \"while\",\n    \"named\": false\n  },\n  {\n    \"type\": \"with\",\n    \"named\": false\n  },\n  {\n    \"type\": \"yield\",\n    \"named\": false\n  },\n  {\n    \"type\": \"{\",\n    \"named\": false\n  },\n  {\n    \"type\": \"|\",\n    \"named\": false\n  },\n  {\n    \"type\": \"|=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"||\",\n    \"named\": false\n  },\n  {\n    \"type\": \"||=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"}\",\n    \"named\": false\n  },\n  {\n    \"type\": \"~\",\n    \"named\": false\n  }\n]";

The content of the node-types.json file for this grammar.