1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "TSDeclareFunction", 6 "function": { 7 "type": "ScriptFunction", 8 "id": { 9 "type": "Identifier", 10 "name": "foo", 11 "loc": { 12 "start": { 13 "line": 17, 14 "column": 10 15 }, 16 "end": { 17 "line": 17, 18 "column": 13 19 } 20 } 21 }, 22 "generator": false, 23 "async": false, 24 "expression": false, 25 "params": [ 26 { 27 "type": "ArrayPattern", 28 "elements": [ 29 { 30 "type": "Identifier", 31 "name": "x", 32 "loc": { 33 "start": { 34 "line": 17, 35 "column": 15 36 }, 37 "end": { 38 "line": 17, 39 "column": 16 40 } 41 } 42 } 43 ], 44 "typeAnnotation": { 45 "type": "TSTupleType", 46 "elementTypes": [ 47 { 48 "type": "TSNumberKeyword", 49 "loc": { 50 "start": { 51 "line": 17, 52 "column": 20 53 }, 54 "end": { 55 "line": 17, 56 "column": 26 57 } 58 } 59 } 60 ], 61 "loc": { 62 "start": { 63 "line": 17, 64 "column": 19 65 }, 66 "end": { 67 "line": 17, 68 "column": 27 69 } 70 } 71 }, 72 "optional": true, 73 "loc": { 74 "start": { 75 "line": 17, 76 "column": 14 77 }, 78 "end": { 79 "line": 17, 80 "column": 17 81 } 82 } 83 } 84 ], 85 "returnType": { 86 "type": "TSNumberKeyword", 87 "loc": { 88 "start": { 89 "line": 17, 90 "column": 31 91 }, 92 "end": { 93 "line": 17, 94 "column": 37 95 } 96 } 97 }, 98 "loc": { 99 "start": { 100 "line": 17, 101 "column": 1 102 }, 103 "end": { 104 "line": 17, 105 "column": 38 106 } 107 } 108 }, 109 "loc": { 110 "start": { 111 "line": 17, 112 "column": 1 113 }, 114 "end": { 115 "line": 17, 116 "column": 38 117 } 118 } 119 }, 120 { 121 "type": "FunctionDeclaration", 122 "function": { 123 "type": "ScriptFunction", 124 "id": { 125 "type": "Identifier", 126 "name": "foo", 127 "loc": { 128 "start": { 129 "line": 18, 130 "column": 10 131 }, 132 "end": { 133 "line": 18, 134 "column": 13 135 } 136 } 137 }, 138 "generator": false, 139 "async": false, 140 "expression": false, 141 "params": [ 142 { 143 "type": "RestElement", 144 "argument": { 145 "type": "Identifier", 146 "name": "a", 147 "typeAnnotation": { 148 "type": "TSArrayType", 149 "elementType": { 150 "type": "TSAnyKeyword", 151 "loc": { 152 "start": { 153 "line": 18, 154 "column": 19 155 }, 156 "end": { 157 "line": 18, 158 "column": 22 159 } 160 } 161 }, 162 "loc": { 163 "start": { 164 "line": 18, 165 "column": 19 166 }, 167 "end": { 168 "line": 18, 169 "column": 24 170 } 171 } 172 }, 173 "loc": { 174 "start": { 175 "line": 18, 176 "column": 17 177 }, 178 "end": { 179 "line": 18, 180 "column": 18 181 } 182 } 183 }, 184 "loc": { 185 "start": { 186 "line": 18, 187 "column": 14 188 }, 189 "end": { 190 "line": 18, 191 "column": 18 192 } 193 } 194 } 195 ], 196 "returnType": { 197 "type": "TSAnyKeyword", 198 "loc": { 199 "start": { 200 "line": 18, 201 "column": 28 202 }, 203 "end": { 204 "line": 18, 205 "column": 31 206 } 207 } 208 }, 209 "body": { 210 "type": "BlockStatement", 211 "statements": [], 212 "loc": { 213 "start": { 214 "line": 18, 215 "column": 32 216 }, 217 "end": { 218 "line": 18, 219 "column": 34 220 } 221 } 222 }, 223 "loc": { 224 "start": { 225 "line": 18, 226 "column": 1 227 }, 228 "end": { 229 "line": 18, 230 "column": 34 231 } 232 } 233 }, 234 "loc": { 235 "start": { 236 "line": 18, 237 "column": 1 238 }, 239 "end": { 240 "line": 18, 241 "column": 34 242 } 243 } 244 } 245 ], 246 "loc": { 247 "start": { 248 "line": 1, 249 "column": 1 250 }, 251 "end": { 252 "line": 18, 253 "column": 34 254 } 255 } 256} 257