Spaces:
Build error
Build error
import array from "./array.js"; | |
import constant from "./constant.js"; | |
import offsetNone from "./offset/none.js"; | |
import orderNone from "./order/none.js"; | |
function stackValue(d, key) { | |
return d[key]; | |
} | |
function stackSeries(key) { | |
const series = []; | |
series.key = key; | |
return series; | |
} | |
export default function() { | |
var keys = constant([]), | |
order = orderNone, | |
offset = offsetNone, | |
value = stackValue; | |
function stack(data) { | |
var sz = Array.from(keys.apply(this, arguments), stackSeries), | |
i, n = sz.length, j = -1, | |
oz; | |
for (const d of data) { | |
for (i = 0, ++j; i < n; ++i) { | |
(sz[i][j] = [0, +value(d, sz[i].key, j, data)]).data = d; | |
} | |
} | |
for (i = 0, oz = array(order(sz)); i < n; ++i) { | |
sz[oz[i]].index = i; | |
} | |
offset(sz, oz); | |
return sz; | |
} | |
stack.keys = function(_) { | |
return arguments.length ? (keys = typeof _ === "function" ? _ : constant(Array.from(_)), stack) : keys; | |
}; | |
stack.value = function(_) { | |
return arguments.length ? (value = typeof _ === "function" ? _ : constant(+_), stack) : value; | |
}; | |
stack.order = function(_) { | |
return arguments.length ? (order = _ == null ? orderNone : typeof _ === "function" ? _ : constant(Array.from(_)), stack) : order; | |
}; | |
stack.offset = function(_) { | |
return arguments.length ? (offset = _ == null ? offsetNone : _, stack) : offset; | |
}; | |
return stack; | |
} | |