(base, tuple, index)
| 116178 | collect(aggr._prev); |
| 116179 | collect(curr); // iterate over key cross-product, create cells as needed |
| 116180 | function generate(base, tuple, index) { |
| 116181 | const name = dims[index], v = vals[index++]; |
| 116182 | for(const k in v){ |
| 116183 | const key = base ? base + "|" + k : k; |
| 116184 | tuple[name] = v[k]; |
| 116185 | if (index < n) generate(key, tuple, index); |
| 116186 | else if (!curr[key]) aggr.cell(key, tuple); |
| 116187 | } |
| 116188 | } |
| 116189 | generate("", {}, 0); |
| 116190 | }, |
| 116191 | init (_) { |