| 129117 | var _linearJs = require("./linear.js"); |
| 129118 | var _initJs = require("./init.js"); |
| 129119 | function quantize() { |
| 129120 | var x0 = 0, x1 = 1, n = 1, domain = [ |
| 129121 | 0.5 |
| 129122 | ], range = [ |
| 129123 | 0, |
| 129124 | 1 |
| 129125 | ], unknown; |
| 129126 | function scale(x) { |
| 129127 | return x != null && x <= x ? range[(0, _d3Array.bisect)(domain, x, 0, n)] : unknown; |
| 129128 | } |
| 129129 | function rescale() { |
| 129130 | var i = -1; |
| 129131 | domain = new Array(n); |
| 129132 | while(++i < n)domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1); |
| 129133 | return scale; |
| 129134 | } |
| 129135 | scale.domain = function(_) { |
| 129136 | return arguments.length ? ([x0, x1] = _, x0 = +x0, x1 = +x1, rescale()) : [ |
| 129137 | x0, |
| 129138 | x1 |
| 129139 | ]; |
| 129140 | }; |
| 129141 | scale.range = function(_) { |
| 129142 | return arguments.length ? (n = (range = Array.from(_)).length - 1, rescale()) : range.slice(); |
| 129143 | }; |
| 129144 | scale.invertExtent = function(y) { |
| 129145 | var i = range.indexOf(y); |
| 129146 | return i < 0 ? [ |
| 129147 | NaN, |
| 129148 | NaN |
| 129149 | ] : i < 1 ? [ |
| 129150 | x0, |
| 129151 | domain[0] |
| 129152 | ] : i >= n ? [ |
| 129153 | domain[n - 1], |
| 129154 | x1 |
| 129155 | ] : [ |
| 129156 | domain[i - 1], |
| 129157 | domain[i] |
| 129158 | ]; |
| 129159 | }; |
| 129160 | scale.unknown = function(_) { |
| 129161 | return arguments.length ? (unknown = _, scale) : scale; |
| 129162 | }; |
| 129163 | scale.thresholds = function() { |
| 129164 | return domain.slice(); |
| 129165 | }; |
| 129166 | scale.copy = function() { |
| 129167 | return quantize().domain([ |
| 129168 | x0, |
| 129169 | x1 |
| 129170 | ]).range(range).unknown(unknown); |
| 129171 | }; |
| 129172 | return (0, _initJs.initRange).apply((0, _linearJs.linearish)(scale), arguments); |
| 129173 | } |
| 129174 | exports.default = quantize; |
| 129175 | |
| 129176 | },{"d3-array":"8JMcC","./linear.js":"2Mb1X","./init.js":"efWLG","@parcel/transformer-js/src/esmodule-helpers.js":"jA2du"}],"bXV4m":[function(require,module,exports) { |