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_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\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"object_pattern\",\n \"named\": true\n },\n {\n \"type\": \"rest_pattern\",\n \"named\": true\n },\n {\n \"type\": \"subscript_expression\",\n \"named\": true\n },\n {\n \"type\": \"undefined\",\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_expression\",\n \"named\": true\n },\n {\n \"type\": \"generator_function\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\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\": \"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 \"type\": \"undefined\",\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 \"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 },\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 \"type\": \"private_property_identifier\",\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 \"type\": \"import\",\n \"named\": true\n }\n ]\n },\n \"optional_chain\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"optional_chain\",\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\": \"class_static_block\",\n \"named\": true\n },\n {\n \"type\": \"field_definition\",\n \"named\": true\n },\n {\n \"type\": \"method_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\": \"class_static_block\",\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\": \"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 \"type\": \"string\",\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\": \"string\",\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 \"type\": \"namespace_export\",\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\": \"field_definition\",\n \"named\": true,\n \"fields\": {\n \"decorator\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"decorator\",\n \"named\": true\n }\n ]\n },\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\": \"private_property_identifier\",\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\": \"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 \"kind\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"const\",\n \"named\": false\n },\n {\n \"type\": \"let\",\n \"named\": false\n },\n {\n \"type\": \"var\",\n \"named\": false\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 \"type\": \"undefined\",\n \"named\": true\n }\n ]\n },\n \"operator\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"in\",\n \"named\": false\n },\n {\n \"type\": \"of\",\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 \"type\": \"sequence_expression\",\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\": \"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\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \";\",\n \"named\": false\n },\n {\n \"type\": \"empty_statement\",\n \"named\": true\n },\n {\n \"type\": \"expression\",\n \"named\": true\n },\n {\n \"type\": \"sequence_expression\",\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\",\n \"named\": true\n },\n {\n \"type\": \"lexical_declaration\",\n \"named\": true\n },\n {\n \"type\": \"sequence_expression\",\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_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\": \"function_expression\",\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\",\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_attribute\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"object\",\n \"named\": true\n }\n ]\n }\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 \"type\": \"string\",\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\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"import_attribute\",\n \"named\": true\n },\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_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\": false,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"jsx_namespace_name\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\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\": \"html_character_reference\",\n \"named\": true\n },\n {\n \"type\": \"jsx_element\",\n \"named\": true\n },\n {\n \"type\": \"jsx_expression\",\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_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\": false,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"jsx_namespace_name\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\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\": \"member_expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"labeled_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 \"label\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"statement_identifier\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"lexical_declaration\",\n \"named\": true,\n \"fields\": {\n \"kind\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"const\",\n \"named\": false\n },\n {\n \"type\": \"let\",\n \"named\": false\n }\n ]\n }\n },\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 \"type\": \"import\",\n \"named\": true\n }\n ]\n },\n \"optional_chain\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"optional_chain\",\n \"named\": true\n }\n ]\n },\n \"property\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"private_property_identifier\",\n \"named\": true\n },\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\": \"private_property_identifier\",\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_export\",\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 \"type\": \"string\",\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\": \"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\": \"new_expression\",\n \"named\": true\n },\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\": \"private_property_identifier\",\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\": \"private_property_identifier\",\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\": \"assignment_pattern\",\n \"named\": true\n },\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 \"root\": 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\": \"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\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"object_pattern\",\n \"named\": true\n },\n {\n \"type\": \"subscript_expression\",\n \"named\": true\n },\n {\n \"type\": \"undefined\",\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 \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expression\",\n \"named\": true\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 \"type\": \"html_character_reference\",\n \"named\": true\n },\n {\n \"type\": \"string_fragment\",\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 \"optional_chain\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"optional_chain\",\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 \"body\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"statement\",\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 \"type\": \"sequence_expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"switch_default\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"statement\",\n \"named\": true\n }\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\": \"string_fragment\",\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\": \"`\",\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\": \"html_character_reference\",\n \"named\": true\n },\n {\n \"type\": \"html_comment\",\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\": \"meta\",\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\": \"optional_chain\",\n \"named\": true\n },\n {\n \"type\": \"private_property_identifier\",\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\": \"static get\",\n \"named\": false\n },\n {\n \"type\": \"string_fragment\",\n \"named\": true\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]";
Expand description
The content of the node-types.json
file for this grammar.