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