1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "TSTypeAliasDeclaration", 6 "id": { 7 "type": "Identifier", 8 "name": "Consumer", 9 "loc": { 10 "start": { 11 "line": 17, 12 "column": 6 13 }, 14 "end": { 15 "line": 17, 16 "column": 14 17 } 18 } 19 }, 20 "typeAnnotation": { 21 "type": "TSFunctionType", 22 "params": [ 23 { 24 "type": "Identifier", 25 "name": "x", 26 "typeAnnotation": { 27 "type": "TSTypeReference", 28 "typeName": { 29 "type": "Identifier", 30 "name": "T", 31 "loc": { 32 "start": { 33 "line": 17, 34 "column": 27 35 }, 36 "end": { 37 "line": 17, 38 "column": 28 39 } 40 } 41 }, 42 "loc": { 43 "start": { 44 "line": 17, 45 "column": 27 46 }, 47 "end": { 48 "line": 17, 49 "column": 28 50 } 51 } 52 }, 53 "loc": { 54 "start": { 55 "line": 17, 56 "column": 24 57 }, 58 "end": { 59 "line": 17, 60 "column": 25 61 } 62 } 63 } 64 ], 65 "returnType": { 66 "type": "TSVoidKeyword", 67 "loc": { 68 "start": { 69 "line": 17, 70 "column": 33 71 }, 72 "end": { 73 "line": 17, 74 "column": 37 75 } 76 } 77 }, 78 "loc": { 79 "start": { 80 "line": 17, 81 "column": 23 82 }, 83 "end": { 84 "line": 17, 85 "column": 37 86 } 87 } 88 }, 89 "typeParameters": { 90 "type": "TSTypeParameterDeclaration", 91 "params": [ 92 { 93 "type": "TSTypeParameter", 94 "name": { 95 "type": "Identifier", 96 "name": "T", 97 "loc": { 98 "start": { 99 "line": 17, 100 "column": 18 101 }, 102 "end": { 103 "line": 17, 104 "column": 19 105 } 106 } 107 }, 108 "in": true, 109 "out": false, 110 "loc": { 111 "start": { 112 "line": 17, 113 "column": 15 114 }, 115 "end": { 116 "line": 17, 117 "column": 20 118 } 119 } 120 } 121 ], 122 "loc": { 123 "start": { 124 "line": 17, 125 "column": 14 126 }, 127 "end": { 128 "line": 17, 129 "column": 20 130 } 131 } 132 }, 133 "loc": { 134 "start": { 135 "line": 17, 136 "column": 1 137 }, 138 "end": { 139 "line": 17, 140 "column": 38 141 } 142 } 143 } 144 ], 145 "loc": { 146 "start": { 147 "line": 1, 148 "column": 1 149 }, 150 "end": { 151 "line": 17, 152 "column": 38 153 } 154 } 155} 156