(codeTokens: Array<BabylonToken>, code: string)
| 155 | * @returns {Array} |
| 156 | */ |
| 157 | export function buildTokenList(codeTokens: Array<BabylonToken>, code: string): Array<BabylonToken> { |
| 158 | let prevPos = 0; |
| 159 | let result = []; |
| 160 | |
| 161 | for (let i = 0; i < codeTokens.length; i++) { |
| 162 | let token = processToken(codeTokens[i], code); |
| 163 | |
| 164 | let pos = token.start; |
| 165 | if (prevPos !== pos) { |
| 166 | let value = code.substring(prevPos, pos); |
| 167 | result[result.length] = { |
| 168 | type: 'Whitespace', |
| 169 | value, |
| 170 | sourceCode: value, |
| 171 | start: prevPos, |
| 172 | end: pos, |
| 173 | }; |
| 174 | } |
| 175 | result[result.length] = token; |
| 176 | |
| 177 | prevPos = token.end; |
| 178 | } |
| 179 | |
| 180 | return result; |
| 181 | } |
| 182 | |
| 183 | /** |
| 184 | * Babylon token types. |
no test coverage detected
searching dependent graphs…