(scale, _, df)
| 110987 | } |
| 110988 | |
| 110989 | function configureDomain(scale, _, df) { |
| 110990 | // check raw domain, if provided use that and exit early |
| 110991 | var raw = rawDomain(scale, _.domainRaw, df); |
| 110992 | if (raw > -1) return raw; |
| 110993 | var domain = _.domain, |
| 110994 | type = scale.type, |
| 110995 | zero = _.zero || _.zero === undefined && includeZero(scale), |
| 110996 | n, |
| 110997 | mid; |
| 110998 | if (!domain) return 0; // adjust continuous domain for minimum pixel padding |
| 110999 | |
| 111000 | if (includePad(type) && _.padding && domain[0] !== (0, _vegaUtil.peek)(domain)) { |
| 111001 | domain = padDomain(type, domain, _.range, _.padding, _.exponent, _.constant); |
| 111002 | } // adjust domain based on zero, min, max settings |
| 111003 | |
| 111004 | |
| 111005 | if (zero || _.domainMin != null || _.domainMax != null || _.domainMid != null) { |
| 111006 | n = (domain = domain.slice()).length - 1 || 1; |
| 111007 | |
| 111008 | if (zero) { |
| 111009 | if (domain[0] > 0) domain[0] = 0; |
| 111010 | if (domain[n] < 0) domain[n] = 0; |
| 111011 | } |
| 111012 | |
| 111013 | if (_.domainMin != null) domain[0] = _.domainMin; |
| 111014 | if (_.domainMax != null) domain[n] = _.domainMax; |
| 111015 | |
| 111016 | if (_.domainMid != null) { |
| 111017 | mid = _.domainMid; |
| 111018 | |
| 111019 | if (mid < domain[0] || mid > domain[n]) { |
| 111020 | df.warn('Scale domainMid exceeds domain min or max.', mid); |
| 111021 | } |
| 111022 | |
| 111023 | domain.splice(n, 0, mid); |
| 111024 | } |
| 111025 | } // set the scale domain |
| 111026 | |
| 111027 | |
| 111028 | scale.domain(domainCheck(type, domain, df)); // if ordinal scale domain is defined, prevent implicit |
| 111029 | // domain construction as side-effect of scale lookup |
| 111030 | |
| 111031 | if (type === _vegaScale.Ordinal) { |
| 111032 | scale.unknown(_.domainImplicit ? _vegaScale.scaleImplicit : undefined); |
| 111033 | } // perform 'nice' adjustment as requested |
| 111034 | |
| 111035 | |
| 111036 | if (_.nice && scale.nice) { |
| 111037 | scale.nice(_.nice !== true && (0, _ticks.tickCount)(scale, _.nice) || null); |
| 111038 | } // return the cardinality of the domain |
| 111039 | |
| 111040 | |
| 111041 | return domain.length; |
| 111042 | } |
| 111043 | |
| 111044 | function rawDomain(scale, raw, df) { |
| 111045 | if (raw) { |
no test coverage detected