(program [0, 0] - [39, 0] (import_statement [0, 0] - [0, 54] (import_clause [0, 12] - [0, 29] (named_imports [0, 12] - [0, 29] (import_specifier [0, 14] - [0, 21] name: (identifier [0, 14] - [0, 21])) (import_specifier [0, 23] - [0, 27] name: (identifier [0, 23] - [0, 27])))) source: (string [0, 35] - [0, 53] (string_fragment [0, 36] - [0, 52]))) (export_statement [2, 0] - [2, 66] declaration: (type_alias_declaration [2, 7] - [2, 66] name: (type_identifier [2, 12] - [2, 22]) value: (union_type [2, 25] - [2, 65] (union_type [2, 25] - [2, 53] (union_type [2, 25] - [2, 43] (literal_type [2, 25] - [2, 35] (string [2, 25] - [2, 35] (string_fragment [2, 26] - [2, 34]))) (literal_type [2, 38] - [2, 43] (string [2, 38] - [2, 43] (string_fragment [2, 39] - [2, 42])))) (literal_type [2, 46] - [2, 53] (string [2, 46] - [2, 53] (string_fragment [2, 47] - [2, 52])))) (literal_type [2, 56] - [2, 65] (string [2, 56] - [2, 65] (string_fragment [2, 57] - [2, 64])))))) (export_statement [4, 0] - [30, 1] declaration: (function_declaration [4, 7] - [30, 1] name: (identifier [4, 16] - [4, 35]) parameters: (formal_parameters [4, 35] - [4, 47] (required_parameter [4, 36] - [4, 46] pattern: (identifier [4, 36] - [4, 37]) type: (type_annotation [4, 37] - [4, 46] (type_identifier [4, 39] - [4, 46])))) return_type: (type_annotation [4, 47] - [4, 59] (type_identifier [4, 49] - [4, 59])) body: (statement_block [4, 60] - [30, 1] (lexical_declaration [5, 2] - [5, 46] (variable_declarator [5, 8] - [5, 45] name: (identifier [5, 8] - [5, 14]) value: (binary_expression [5, 17] - [5, 45] left: (call_expression [5, 17] - [5, 39] function: (member_expression [5, 17] - [5, 29] object: (member_expression [5, 17] - [5, 22] object: (identifier [5, 17] - [5, 18]) property: (property_identifier [5, 19] - [5, 22])) property: (property_identifier [5, 23] - [5, 29])) arguments: (arguments [5, 29] - [5, 39] (string [5, 30] - [5, 38] (string_fragment [5, 31] - [5, 37])))) right: (string [5, 43] - [5, 45])))) (lexical_declaration [6, 2] - [6, 53] (variable_declarator [6, 8] - [6, 52] name: (identifier [6, 8] - [6, 17]) value: (binary_expression [6, 20] - [6, 52] left: (call_expression [6, 20] - [6, 46] function: (member_expression [6, 20] - [6, 32] object: (member_expression [6, 20] - [6, 25] object: (identifier [6, 20] - [6, 21]) property: (property_identifier [6, 22] - [6, 25])) property: (property_identifier [6, 26] - [6, 32])) arguments: (arguments [6, 32] - [6, 46] (string [6, 33] - [6, 45] (string_fragment [6, 34] - [6, 44])))) right: (string [6, 50] - [6, 52])))) (if_statement [8, 2] - [10, 3] condition: (parenthesized_expression [8, 5] - [8, 50] (binary_expression [8, 6] - [8, 49] left: (call_expression [8, 6] - [8, 38] function: (member_expression [8, 6] - [8, 18] object: (member_expression [8, 6] - [8, 11] object: (identifier [8, 6] - [8, 7]) property: (property_identifier [8, 8] - [8, 11])) property: (property_identifier [8, 12] - [8, 18])) arguments: (arguments [8, 18] - [8, 38] (string [8, 19] - [8, 37] (string_fragment [8, 20] - [8, 36])))) right: (string [8, 43] - [8, 49] (string_fragment [8, 44] - [8, 48])))) consequence: (statement_block [8, 51] - [10, 3] (return_statement [9, 4] - [9, 22] (string [9, 11] - [9, 21] (string_fragment [9, 12] - [9, 20]))))) (if_statement [12, 2] - [22, 3] condition: (parenthesized_expression [12, 5] - [15, 3] (binary_expression [13, 4] - [14, 36] left: (binary_expression [13, 4] - [13, 69] left: (call_expression [13, 4] - [13, 39] function: (member_expression [13, 4] - [13, 19] object: (identifier [13, 4] - [13, 10]) property: (property_identifier [13, 11] - [13, 19])) arguments: (arguments [13, 19] - [13, 39] (string [13, 20] - [13, 38] (string_fragment [13, 21] - [13, 37])))) right: (call_expression [13, 43] - [13, 69] function: (member_expression [13, 43] - [13, 61] object: (identifier [13, 43] - [13, 52]) property: (property_identifier [13, 53] - [13, 61])) arguments: (arguments [13, 61] - [13, 69] (string [13, 62] - [13, 68] (string_fragment [13, 63] - [13, 67]))))) right: (call_expression [14, 4] - [14, 36] function: (member_expression [14, 4] - [14, 22] object: (identifier [14, 4] - [14, 13]) property: (property_identifier [14, 14] - [14, 22])) arguments: (arguments [14, 22] - [14, 36] (string [14, 23] - [14, 35] (string_fragment [14, 24] - [14, 34])))))) consequence: (statement_block [15, 4] - [22, 3] (comment [16, 4] - [16, 86]) (if_statement [17, 4] - [19, 5] condition: (parenthesized_expression [17, 7] - [17, 44] (call_expression [17, 8] - [17, 43] function: (member_expression [17, 8] - [17, 23] object: (identifier [17, 8] - [17, 14]) property: (property_identifier [17, 15] - [17, 23])) arguments: (arguments [17, 23] - [17, 43] (string [17, 24] - [17, 42] (string_fragment [17, 25] - [17, 41]))))) consequence: (statement_block [17, 45] - [19, 5] (return_statement [18, 6] - [18, 19] (string [18, 13] - [18, 18] (string_fragment [18, 14] - [18, 17]))))) (comment [20, 4] - [20, 81]) (return_statement [21, 4] - [21, 19] (string [21, 11] - [21, 18] (string_fragment [21, 12] - [21, 17]))))) (if_statement [24, 2] - [26, 3] condition: (parenthesized_expression [24, 5] - [24, 35] (call_expression [24, 6] - [24, 34] function: (member_expression [24, 6] - [24, 21] object: (identifier [24, 6] - [24, 12]) property: (property_identifier [24, 13] - [24, 21])) arguments: (arguments [24, 21] - [24, 34] (string [24, 22] - [24, 33] (string_fragment [24, 23] - [24, 32]))))) consequence: (statement_block [24, 36] - [26, 3] (return_statement [25, 4] - [25, 21] (string [25, 11] - [25, 20] (string_fragment [25, 12] - [25, 19]))))) (comment [28, 2] - [28, 35]) (return_statement [29, 2] - [29, 15] (string [29, 9] - [29, 14] (string_fragment [29, 10] - [29, 13])))))) (export_statement [32, 0] - [38, 1] declaration: (function_declaration [32, 7] - [38, 1] name: (identifier [32, 16] - [32, 34]) parameters: (formal_parameters [32, 34] - [32, 36]) body: (statement_block [32, 37] - [38, 1] (return_statement [33, 2] - [37, 4] (arrow_function [33, 9] - [37, 3] parameters: (formal_parameters [33, 15] - [33, 39] (required_parameter [33, 16] - [33, 26] pattern: (identifier [33, 16] - [33, 17]) type: (type_annotation [33, 17] - [33, 26] (type_identifier [33, 19] - [33, 26]))) (required_parameter [33, 28] - [33, 38] pattern: (identifier [33, 28] - [33, 32]) type: (type_annotation [33, 32] - [33, 38] (type_identifier [33, 34] - [33, 38])))) body: (statement_block [33, 43] - [37, 3] (lexical_declaration [34, 4] - [34, 46] (variable_declarator [34, 10] - [34, 45] name: (identifier [34, 10] - [34, 20]) value: (call_expression [34, 23] - [34, 45] function: (identifier [34, 23] - [34, 42]) arguments: (arguments [34, 42] - [34, 45] (identifier [34, 43] - [34, 44]))))) (expression_statement [35, 4] - [35, 36] (call_expression [35, 4] - [35, 35] function: (member_expression [35, 4] - [35, 9] object: (identifier [35, 4] - [35, 5]) property: (property_identifier [35, 6] - [35, 9])) arguments: (arguments [35, 9] - [35, 35] (string [35, 10] - [35, 22] (string_fragment [35, 11] - [35, 21])) (identifier [35, 24] - [35, 34])))) (expression_statement [36, 4] - [36, 17] (await_expression [36, 4] - [36, 16] (call_expression [36, 10] - [36, 16] function: (identifier [36, 10] - [36, 14]) arguments: (arguments [36, 14] - [36, 16])))))))))))