File size: 654 Bytes
bc20498 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
import {linearish} from "./linear.js";
import number from "./number.js";
export default function identity(domain) {
var unknown;
function scale(x) {
return x == null || isNaN(x = +x) ? unknown : x;
}
scale.invert = scale;
scale.domain = scale.range = function(_) {
return arguments.length ? (domain = Array.from(_, number), scale) : domain.slice();
};
scale.unknown = function(_) {
return arguments.length ? (unknown = _, scale) : unknown;
};
scale.copy = function() {
return identity(domain).unknown(unknown);
};
domain = arguments.length ? Array.from(domain, number) : [0, 1];
return linearish(scale);
}
|