JsModule { bom_token: missing (optional), interpreter_token: missing (optional), directives: JsDirectiveList [], items: JsModuleItemList [ TsTypeAliasDeclaration { type_token: TYPE_KW@0..5 "type" [] [Whitespace(" ")], binding_identifier: TsIdentifierBinding { name_token: IDENT@5..7 "A" [] [Whitespace(" ")], }, type_parameters: missing (optional), eq_token: EQ@7..9 "=" [] [Whitespace(" ")], ty: TsObjectType { l_curly_token: L_CURLY@9..11 "{" [] [Whitespace(" ")], members: TsTypeMemberList [ TsGetterSignatureTypeMember { get_token: GET_KW@11..15 "get" [] [Whitespace(" ")], name: JsLiteralMemberName { value: IDENT@15..16 "a" [] [], }, l_paren_token: L_PAREN@16..17 "(" [] [], r_paren_token: R_PAREN@17..18 ")" [] [], type_annotation: TsTypeAnnotation { colon_token: COLON@18..20 ":" [] [Whitespace(" ")], ty: TsNumberType { number_token: NUMBER_KW@20..27 "number" [] [Whitespace(" ")], }, }, separator_token: missing (optional), }, ], r_curly_token: R_CURLY@27..28 "}" [] [], }, semicolon_token: missing (optional), }, TsTypeAliasDeclaration { type_token: TYPE_KW@28..34 "type" [Newline("\n")] [Whitespace(" ")], binding_identifier: TsIdentifierBinding { name_token: IDENT@34..36 "B" [] [Whitespace(" ")], }, type_parameters: missing (optional), eq_token: EQ@36..38 "=" [] [Whitespace(" ")], ty: TsObjectType { l_curly_token: L_CURLY@38..40 "{" [] [Whitespace(" ")], members: TsTypeMemberList [ TsGetterSignatureTypeMember { get_token: GET_KW@40..44 "get" [] [Whitespace(" ")], name: JsLiteralMemberName { value: IDENT@44..45 "a" [] [], }, l_paren_token: L_PAREN@45..46 "(" [] [], r_paren_token: R_PAREN@46..48 ")" [] [Whitespace(" ")], type_annotation: missing (optional), separator_token: missing (optional), }, ], r_curly_token: R_CURLY@48..49 "}" [] [], }, semicolon_token: missing (optional), }, TsTypeAliasDeclaration { type_token: TYPE_KW@49..108 "type" [Newline("\n"), Comments("// members that look ..."), Newline("\n")] [Whitespace(" ")], binding_identifier: TsIdentifierBinding { name_token: IDENT@108..110 "C" [] [Whitespace(" ")], }, type_parameters: missing (optional), eq_token: EQ@110..112 "=" [] [Whitespace(" ")], ty: TsObjectType { l_curly_token: L_CURLY@112..114 "{" [] [Whitespace(" ")], members: TsTypeMemberList [ TsMethodSignatureTypeMember { name: JsLiteralMemberName { value: IDENT@114..117 "get" [] [], }, optional_token: missing (optional), type_parameters: missing (optional), parameters: JsParameters { l_paren_token: L_PAREN@117..118 "(" [] [], items: JsParameterList [], r_paren_token: R_PAREN@118..119 ")" [] [], }, return_type_annotation: TsReturnTypeAnnotation { colon_token: COLON@119..121 ":" [] [Whitespace(" ")], ty: TsNumberType { number_token: NUMBER_KW@121..128 "number" [] [Whitespace(" ")], }, }, separator_token: missing (optional), }, ], r_curly_token: R_CURLY@128..129 "}" [] [], }, semicolon_token: missing (optional), }, TsTypeAliasDeclaration { type_token: TYPE_KW@129..135 "type" [Newline("\n")] [Whitespace(" ")], binding_identifier: TsIdentifierBinding { name_token: IDENT@135..137 "D" [] [Whitespace(" ")], }, type_parameters: missing (optional), eq_token: EQ@137..139 "=" [] [Whitespace(" ")], ty: TsObjectType { l_curly_token: L_CURLY@139..141 "{" [] [Whitespace(" ")], members: TsTypeMemberList [ TsPropertySignatureTypeMember { readonly_token: missing (optional), name: JsLiteralMemberName { value: IDENT@141..144 "get" [] [], }, optional_token: missing (optional), type_annotation: TsTypeAnnotation { colon_token: COLON@144..146 ":" [] [Whitespace(" ")], ty: TsNumberType { number_token: NUMBER_KW@146..153 "number" [] [Whitespace(" ")], }, }, separator_token: missing (optional), }, ], r_curly_token: R_CURLY@153..154 "}" [] [], }, semicolon_token: missing (optional), }, TsTypeAliasDeclaration { type_token: TYPE_KW@154..160 "type" [Newline("\n")] [Whitespace(" ")], binding_identifier: TsIdentifierBinding { name_token: IDENT@160..162 "E" [] [Whitespace(" ")], }, type_parameters: missing (optional), eq_token: EQ@162..164 "=" [] [Whitespace(" ")], ty: TsObjectType { l_curly_token: L_CURLY@164..166 "{" [] [Whitespace(" ")], members: TsTypeMemberList [ TsPropertySignatureTypeMember { readonly_token: missing (optional), name: JsLiteralMemberName { value: IDENT@166..170 "get" [] [Whitespace(" ")], }, optional_token: missing (optional), type_annotation: missing (optional), separator_token: missing (optional), }, ], r_curly_token: R_CURLY@170..171 "}" [] [], }, semicolon_token: missing (optional), }, ], eof_token: EOF@171..172 "" [Newline("\n")] [], } 0: JS_MODULE@0..172 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..171 0: TS_TYPE_ALIAS_DECLARATION@0..28 0: TYPE_KW@0..5 "type" [] [Whitespace(" ")] 1: TS_IDENTIFIER_BINDING@5..7 0: IDENT@5..7 "A" [] [Whitespace(" ")] 2: (empty) 3: EQ@7..9 "=" [] [Whitespace(" ")] 4: TS_OBJECT_TYPE@9..28 0: L_CURLY@9..11 "{" [] [Whitespace(" ")] 1: TS_TYPE_MEMBER_LIST@11..27 0: TS_GETTER_SIGNATURE_TYPE_MEMBER@11..27 0: GET_KW@11..15 "get" [] [Whitespace(" ")] 1: JS_LITERAL_MEMBER_NAME@15..16 0: IDENT@15..16 "a" [] [] 2: L_PAREN@16..17 "(" [] [] 3: R_PAREN@17..18 ")" [] [] 4: TS_TYPE_ANNOTATION@18..27 0: COLON@18..20 ":" [] [Whitespace(" ")] 1: TS_NUMBER_TYPE@20..27 0: NUMBER_KW@20..27 "number" [] [Whitespace(" ")] 5: (empty) 2: R_CURLY@27..28 "}" [] [] 5: (empty) 1: TS_TYPE_ALIAS_DECLARATION@28..49 0: TYPE_KW@28..34 "type" [Newline("\n")] [Whitespace(" ")] 1: TS_IDENTIFIER_BINDING@34..36 0: IDENT@34..36 "B" [] [Whitespace(" ")] 2: (empty) 3: EQ@36..38 "=" [] [Whitespace(" ")] 4: TS_OBJECT_TYPE@38..49 0: L_CURLY@38..40 "{" [] [Whitespace(" ")] 1: TS_TYPE_MEMBER_LIST@40..48 0: TS_GETTER_SIGNATURE_TYPE_MEMBER@40..48 0: GET_KW@40..44 "get" [] [Whitespace(" ")] 1: JS_LITERAL_MEMBER_NAME@44..45 0: IDENT@44..45 "a" [] [] 2: L_PAREN@45..46 "(" [] [] 3: R_PAREN@46..48 ")" [] [Whitespace(" ")] 4: (empty) 5: (empty) 2: R_CURLY@48..49 "}" [] [] 5: (empty) 2: TS_TYPE_ALIAS_DECLARATION@49..129 0: TYPE_KW@49..108 "type" [Newline("\n"), Comments("// members that look ..."), Newline("\n")] [Whitespace(" ")] 1: TS_IDENTIFIER_BINDING@108..110 0: IDENT@108..110 "C" [] [Whitespace(" ")] 2: (empty) 3: EQ@110..112 "=" [] [Whitespace(" ")] 4: TS_OBJECT_TYPE@112..129 0: L_CURLY@112..114 "{" [] [Whitespace(" ")] 1: TS_TYPE_MEMBER_LIST@114..128 0: TS_METHOD_SIGNATURE_TYPE_MEMBER@114..128 0: JS_LITERAL_MEMBER_NAME@114..117 0: IDENT@114..117 "get" [] [] 1: (empty) 2: (empty) 3: JS_PARAMETERS@117..119 0: L_PAREN@117..118 "(" [] [] 1: JS_PARAMETER_LIST@118..118 2: R_PAREN@118..119 ")" [] [] 4: TS_RETURN_TYPE_ANNOTATION@119..128 0: COLON@119..121 ":" [] [Whitespace(" ")] 1: TS_NUMBER_TYPE@121..128 0: NUMBER_KW@121..128 "number" [] [Whitespace(" ")] 5: (empty) 2: R_CURLY@128..129 "}" [] [] 5: (empty) 3: TS_TYPE_ALIAS_DECLARATION@129..154 0: TYPE_KW@129..135 "type" [Newline("\n")] [Whitespace(" ")] 1: TS_IDENTIFIER_BINDING@135..137 0: IDENT@135..137 "D" [] [Whitespace(" ")] 2: (empty) 3: EQ@137..139 "=" [] [Whitespace(" ")] 4: TS_OBJECT_TYPE@139..154 0: L_CURLY@139..141 "{" [] [Whitespace(" ")] 1: TS_TYPE_MEMBER_LIST@141..153 0: TS_PROPERTY_SIGNATURE_TYPE_MEMBER@141..153 0: (empty) 1: JS_LITERAL_MEMBER_NAME@141..144 0: IDENT@141..144 "get" [] [] 2: (empty) 3: TS_TYPE_ANNOTATION@144..153 0: COLON@144..146 ":" [] [Whitespace(" ")] 1: TS_NUMBER_TYPE@146..153 0: NUMBER_KW@146..153 "number" [] [Whitespace(" ")] 4: (empty) 2: R_CURLY@153..154 "}" [] [] 5: (empty) 4: TS_TYPE_ALIAS_DECLARATION@154..171 0: TYPE_KW@154..160 "type" [Newline("\n")] [Whitespace(" ")] 1: TS_IDENTIFIER_BINDING@160..162 0: IDENT@160..162 "E" [] [Whitespace(" ")] 2: (empty) 3: EQ@162..164 "=" [] [Whitespace(" ")] 4: TS_OBJECT_TYPE@164..171 0: L_CURLY@164..166 "{" [] [Whitespace(" ")] 1: TS_TYPE_MEMBER_LIST@166..170 0: TS_PROPERTY_SIGNATURE_TYPE_MEMBER@166..170 0: (empty) 1: JS_LITERAL_MEMBER_NAME@166..170 0: IDENT@166..170 "get" [] [Whitespace(" ")] 2: (empty) 3: (empty) 4: (empty) 2: R_CURLY@170..171 "}" [] [] 5: (empty) 4: EOF@171..172 "" [Newline("\n")] []