(objs)
| 124 | * } |
| 125 | */ |
| 126 | function aggregate(objs) { |
| 127 | const ret = {}; |
| 128 | for (let obj of objs) { |
| 129 | for (let key in obj) { |
| 130 | if (!(key in ret)) ret[key] = []; |
| 131 | ret[key] = ret[key].concat(obj[key]); |
| 132 | } |
| 133 | } |
| 134 | return ret; |
| 135 | } |
| 136 | |
| 137 | async function sleep(sec) { |
| 138 | return new Promise(resolve => setTimeout(resolve, sec * 1000)); |