* Merge any added blocks into the statements list
(
node: ts.Node,
previousStatements: ts.NodeArray<ts.Node> | ts.Node[],
newStatements: ts.Statement[],
)
| 1205 | * Merge any added blocks into the statements list |
| 1206 | */ |
| 1207 | private flattenBlocks( |
| 1208 | node: ts.Node, |
| 1209 | previousStatements: ts.NodeArray<ts.Node> | ts.Node[], |
| 1210 | newStatements: ts.Statement[], |
| 1211 | ): ts.Statement[] { |
| 1212 | if (newStatements.length !== previousStatements.length) { |
| 1213 | this.onError( |
| 1214 | node, |
| 1215 | `Invalid output statements, had length ${previousStatements.length} new length ${newStatements.length}`, |
| 1216 | ); |
| 1217 | } |
| 1218 | |
| 1219 | const out: ts.Statement[] = []; |
| 1220 | |
| 1221 | for (let i = 0; i < previousStatements.length; i++) { |
| 1222 | const oldStatement = previousStatements[i]; |
| 1223 | const newStatement = newStatements[i]; |
| 1224 | |
| 1225 | if (ts.isBlock(newStatement) && !ts.isBlock(oldStatement)) { |
| 1226 | // We created a block, merge its content into the statements |
| 1227 | out.push(...newStatement.statements); |
| 1228 | } else { |
| 1229 | out.push(newStatement); |
| 1230 | } |
| 1231 | } |
| 1232 | |
| 1233 | return out; |
| 1234 | } |
| 1235 | |
| 1236 | private doUpdateSourceFileNode( |
| 1237 | node: ts.SourceFile, |
no test coverage detected