()
| 16899 | } |
| 16900 | |
| 16901 | function sequentialQuantile() { |
| 16902 | var domain = [], |
| 16903 | interpolator = identity$3; |
| 16904 | |
| 16905 | function scale(x) { |
| 16906 | if (x != null && !isNaN(x = +x)) return interpolator((bisect(domain, x, 1) - 1) / (domain.length - 1)); |
| 16907 | } |
| 16908 | |
| 16909 | scale.domain = function(_) { |
| 16910 | if (!arguments.length) return domain.slice(); |
| 16911 | domain = []; |
| 16912 | for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d); |
| 16913 | domain.sort(ascending$3); |
| 16914 | return scale; |
| 16915 | }; |
| 16916 | |
| 16917 | scale.interpolator = function(_) { |
| 16918 | return arguments.length ? (interpolator = _, scale) : interpolator; |
| 16919 | }; |
| 16920 | |
| 16921 | scale.range = function() { |
| 16922 | return domain.map((d, i) => interpolator(i / (domain.length - 1))); |
| 16923 | }; |
| 16924 | |
| 16925 | scale.quantiles = function(n) { |
| 16926 | return Array.from({length: n + 1}, (_, i) => quantile$1(domain, i / n)); |
| 16927 | }; |
| 16928 | |
| 16929 | scale.copy = function() { |
| 16930 | return sequentialQuantile(interpolator).domain(domain); |
| 16931 | }; |
| 16932 | |
| 16933 | return initInterpolator.apply(scale, arguments); |
| 16934 | } |
| 16935 | |
| 16936 | function transformer() { |
| 16937 | var x0 = 0, |
nothing calls this directly
no test coverage detected