(program [0, 0] - [42, 0] (import_statement [0, 0] - [0, 36] (import_clause [0, 7] - [0, 16] (named_imports [0, 7] - [0, 16] (import_specifier [0, 9] - [0, 14] name: (identifier [0, 9] - [0, 14])))) source: (string [0, 22] - [0, 35] (string_fragment [0, 23] - [0, 34]))) (lexical_declaration [2, 0] - [3, 55] (variable_declarator [2, 6] - [3, 54] name: (identifier [2, 6] - [2, 16]) value: (binary_expression [2, 19] - [3, 54] left: (call_expression [2, 19] - [2, 45] function: (member_expression [2, 19] - [2, 31] object: (member_expression [2, 19] - [2, 27] object: (identifier [2, 19] - [2, 23]) property: (property_identifier [2, 24] - [2, 27])) property: (property_identifier [2, 28] - [2, 31])) arguments: (arguments [2, 31] - [2, 45] (string [2, 32] - [2, 44] (string_fragment [2, 33] - [2, 43])))) right: (parenthesized_expression [3, 2] - [3, 54] (ternary_expression [3, 3] - [3, 53] condition: (member_expression [3, 3] - [3, 19] object: (meta_property [3, 3] - [3, 14]) property: (property_identifier [3, 15] - [3, 19])) consequence: (string [3, 22] - [3, 48] (string_fragment [3, 23] - [3, 47])) alternative: (string [3, 51] - [3, 53])))))) (export_statement [5, 0] - [16, 5] declaration: (lexical_declaration [5, 7] - [16, 5] (variable_declarator [5, 13] - [16, 4] name: (identifier [5, 13] - [5, 19]) value: (ternary_expression [5, 22] - [16, 4] condition: (identifier [5, 22] - [5, 32]) consequence: (new_expression [6, 4] - [10, 4] constructor: (identifier [6, 8] - [6, 13]) arguments: (arguments [6, 13] - [10, 4] (identifier [6, 14] - [6, 24]) (object [6, 26] - [10, 3] (pair [7, 4] - [7, 29] key: (property_identifier [7, 4] - [7, 22]) value: (false [7, 24] - [7, 29])) (pair [8, 4] - [8, 27] key: (property_identifier [8, 4] - [8, 24]) value: (number [8, 26] - [8, 27])) (pair [9, 4] - [9, 78] key: (property_identifier [9, 4] - [9, 17]) value: (arrow_function [9, 19] - [9, 78] parameters: (formal_parameters [9, 19] - [9, 26] (required_parameter [9, 20] - [9, 25] pattern: (identifier [9, 20] - [9, 25]))) body: (parenthesized_expression [9, 30] - [9, 78] (ternary_expression [9, 31] - [9, 77] condition: (binary_expression [9, 31] - [9, 40] left: (identifier [9, 31] - [9, 36]) right: (number [9, 39] - [9, 40])) consequence: (null [9, 43] - [9, 47]) alternative: (call_expression [9, 50] - [9, 77] function: (member_expression [9, 50] - [9, 58] object: (identifier [9, 50] - [9, 54]) property: (property_identifier [9, 55] - [9, 58])) arguments: (arguments [9, 58] - [9, 77] (binary_expression [9, 59] - [9, 70] left: (identifier [9, 59] - [9, 64]) right: (number [9, 67] - [9, 70])) (number [9, 72] - [9, 76])))))))))) alternative: (new_expression [11, 4] - [16, 4] constructor: (identifier [11, 8] - [11, 13]) arguments: (arguments [11, 13] - [16, 4] (object [11, 14] - [16, 3] (pair [12, 4] - [12, 21] key: (property_identifier [12, 4] - [12, 15]) value: (true [12, 17] - [12, 21])) (pair [13, 4] - [13, 29] key: (property_identifier [13, 4] - [13, 22]) value: (false [13, 24] - [13, 29])) (pair [14, 4] - [14, 27] key: (property_identifier [14, 4] - [14, 24]) value: (number [14, 26] - [14, 27])) (pair [15, 4] - [15, 29] key: (property_identifier [15, 4] - [15, 17]) value: (arrow_function [15, 19] - [15, 29] parameters: (formal_parameters [15, 19] - [15, 21]) body: (null [15, 25] - [15, 29])))))))))) (expression_statement [18, 0] - [22, 3] (call_expression [18, 0] - [22, 2] function: (member_expression [18, 0] - [18, 9] object: (identifier [18, 0] - [18, 6]) property: (property_identifier [18, 7] - [18, 9])) arguments: (arguments [18, 9] - [22, 2] (string [18, 10] - [18, 17] (string_fragment [18, 11] - [18, 16])) (arrow_function [18, 19] - [22, 1] parameters: (formal_parameters [18, 19] - [18, 24] (required_parameter [18, 20] - [18, 23] pattern: (identifier [18, 20] - [18, 23]))) body: (statement_block [18, 28] - [22, 1] (if_statement [19, 2] - [21, 3] condition: (parenthesized_expression [19, 5] - [19, 35] (call_expression [19, 6] - [19, 34] function: (member_expression [19, 6] - [19, 18] object: (member_expression [19, 6] - [19, 14] object: (identifier [19, 6] - [19, 10]) property: (property_identifier [19, 11] - [19, 14])) property: (property_identifier [19, 15] - [19, 18])) arguments: (arguments [19, 18] - [19, 34] (string [19, 19] - [19, 33] (string_fragment [19, 20] - [19, 32]))))) consequence: (statement_block [19, 36] - [21, 3] (expression_statement [20, 4] - [20, 62] (call_expression [20, 4] - [20, 61] function: (member_expression [20, 4] - [20, 16] object: (identifier [20, 4] - [20, 11]) property: (property_identifier [20, 12] - [20, 16])) arguments: (arguments [20, 16] - [20, 61] (string [20, 17] - [20, 47] (string_fragment [20, 18] - [20, 46])) (member_expression [20, 49] - [20, 60] object: (identifier [20, 49] - [20, 52]) property: (property_identifier [20, 53] - [20, 60])))))))))))) (export_statement [24, 0] - [41, 1] declaration: (function_declaration [24, 7] - [41, 1] name: (identifier [24, 22] - [24, 32]) parameters: (formal_parameters [24, 32] - [24, 34]) return_type: (type_annotation [24, 34] - [24, 49] (generic_type [24, 36] - [24, 49] name: (type_identifier [24, 36] - [24, 43]) type_arguments: (type_arguments [24, 43] - [24, 49] (predefined_type [24, 44] - [24, 48])))) body: (statement_block [24, 50] - [41, 1] (if_statement [25, 2] - [25, 26] condition: (parenthesized_expression [25, 5] - [25, 18] (unary_expression [25, 6] - [25, 17] argument: (identifier [25, 7] - [25, 17]))) consequence: (return_statement [25, 19] - [25, 26])) (comment [25, 27] - [25, 42]) (try_statement [26, 2] - [40, 3] body: (statement_block [26, 6] - [31, 3] (lexical_declaration [27, 4] - [27, 39] (variable_declarator [27, 10] - [27, 38] name: (identifier [27, 10] - [27, 16]) value: (await_expression [27, 19] - [27, 38] (call_expression [27, 25] - [27, 38] function: (member_expression [27, 25] - [27, 36] object: (identifier [27, 25] - [27, 31]) property: (property_identifier [27, 32] - [27, 36])) arguments: (arguments [27, 36] - [27, 38]))))) (if_statement [28, 4] - [30, 5] condition: (parenthesized_expression [28, 7] - [28, 26] (binary_expression [28, 8] - [28, 25] left: (identifier [28, 8] - [28, 14]) right: (string [28, 19] - [28, 25] (string_fragment [28, 20] - [28, 24])))) consequence: (statement_block [28, 27] - [30, 5] (throw_statement [29, 6] - [29, 61] (new_expression [29, 12] - [29, 60] constructor: (identifier [29, 16] - [29, 21]) arguments: (arguments [29, 21] - [29, 60] (template_string [29, 22] - [29, 59] (string_fragment [29, 23] - [29, 49]) (template_substitution [29, 49] - [29, 58] (identifier [29, 51] - [29, 57]))))))))) handler: (catch_clause [31, 4] - [40, 3] parameter: (identifier [31, 11] - [31, 16]) body: (statement_block [31, 18] - [40, 3] (if_statement [32, 4] - [36, 5] condition: (parenthesized_expression [32, 7] - [32, 31] (binary_expression [32, 8] - [32, 30] left: (identifier [32, 8] - [32, 13]) right: (identifier [32, 25] - [32, 30]))) consequence: (statement_block [32, 32] - [36, 5] (throw_statement [33, 6] - [35, 8] (new_expression [33, 12] - [35, 7] constructor: (identifier [33, 16] - [33, 21]) arguments: (arguments [33, 21] - [35, 7] (template_string [34, 8] - [34, 90] (string_fragment [34, 9] - [34, 73]) (template_substitution [34, 73] - [34, 89] (member_expression [34, 75] - [34, 88] object: (identifier [34, 75] - [34, 80]) property: (property_identifier [34, 81] - [34, 88]))))))))) (throw_statement [37, 4] - [39, 6] (new_expression [37, 10] - [39, 5] constructor: (identifier [37, 14] - [37, 19]) arguments: (arguments [37, 19] - [39, 5] (template_string [38, 6] - [38, 71] (string_fragment [38, 7] - [38, 70]))))))))))))