@razorpay/blade
Version:
The Design System that powers Razorpay
44 lines (34 loc) • 1.13 kB
JavaScript
import '../../d3-array/src/index.js';
import { initRange } from './init.js';
import { bisectRight } from '../../d3-array/src/bisect.js';
function threshold() {
var domain = [0.5],
range = [0, 1],
unknown,
n = 1;
function scale(x) {
return x != null && x <= x ? range[bisectRight(domain, x, 0, n)] : unknown;
}
scale.domain = function(_) {
return arguments.length ? (domain = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice();
};
scale.range = function(_) {
return arguments.length ? (range = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice();
};
scale.invertExtent = function(y) {
var i = range.indexOf(y);
return [domain[i - 1], domain[i]];
};
scale.unknown = function(_) {
return arguments.length ? (unknown = _, scale) : unknown;
};
scale.copy = function() {
return threshold()
.domain(domain)
.range(range)
.unknown(unknown);
};
return initRange.apply(scale, arguments);
}
export { threshold as default };
//# sourceMappingURL=threshold.js.map