MCPcopy
hub / github.com/chart-kit/react-native-chart-kit / resolveNumericDomain

Function resolveNumericDomain

packages/core/src/scales/domain.ts:45–74  ·  view source on GitHub ↗
(
  values: readonly number[],
  input: NumericDomainInput = "auto"
)

Source from the content-addressed store, hash-verified

43};
44
45export const resolveNumericDomain = (
46 values: readonly number[],
47 input: NumericDomainInput = "auto"
48): [number, number] => {
49 const finite = finiteValues(values);
50 const dataMin = finite.length > 0 ? Math.min(...finite) : 0;
51 const dataMax = finite.length > 0 ? Math.max(...finite) : 0;
52
53 if (input === "auto") {
54 return expandDegenerateDomain([dataMin, dataMax]);
55 }
56
57 if (Array.isArray(input)) {
58 return expandDegenerateDomain([
59 resolveNumericDomainValue(input[0], dataMin, dataMax, dataMin),
60 resolveNumericDomainValue(input[1], dataMin, dataMax, dataMax)
61 ]);
62 }
63
64 let min = resolveNumericDomainValue(input.min, dataMin, dataMax, dataMin);
65 let max = resolveNumericDomainValue(input.max, dataMin, dataMax, dataMax);
66
67 if (input.includeZero) {
68 min = Math.min(min, 0);
69 max = Math.max(max, 0);
70 }
71
72 const domain = expandDegenerateDomain([min, max]);
73 return input.nice ? niceNumericDomain(domain) : domain;
74};
75
76const resolveTimeInput = (
77 value: TimeDomainValue | undefined,

Callers 4

scales.test.tsFile · 0.90
createLinearScaleFunction · 0.90
buildBarChartModelFunction · 0.90

Calls 4

finiteValuesFunction · 0.85
expandDegenerateDomainFunction · 0.85
niceNumericDomainFunction · 0.85

Tested by

no test coverage detected