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

Function resolveTimeDomain

packages/core/src/scales/domain.ts:99–131  ·  view source on GitHub ↗
(
  values: readonly Date[],
  input: TimeDomainInput = "auto"
)

Source from the content-addressed store, hash-verified

97};
98
99export const resolveTimeDomain = (
100 values: readonly Date[],
101 input: TimeDomainInput = "auto"
102): [Date, Date] => {
103 const validTimes = values
104 .map((value) => value.valueOf())
105 .filter((value) => Number.isFinite(value));
106 const dataMin = new Date(validTimes.length > 0 ? Math.min(...validTimes) : 0);
107 const dataMax = new Date(validTimes.length > 0 ? Math.max(...validTimes) : 0);
108
109 let domain: [Date, Date];
110
111 if (input === "auto") {
112 domain = [dataMin, dataMax];
113 } else if (Array.isArray(input)) {
114 domain = [
115 resolveTimeInput(input[0], dataMin, dataMax, dataMin),
116 resolveTimeInput(input[1], dataMin, dataMax, dataMax)
117 ];
118 } else {
119 domain = [
120 resolveTimeInput(input.min, dataMin, dataMax, dataMin),
121 resolveTimeInput(input.max, dataMin, dataMax, dataMax)
122 ];
123 }
124
125 if (domain[0].valueOf() === domain[1].valueOf()) {
126 const center = domain[0].valueOf();
127 return [new Date(center - 1), new Date(center + 1)];
128 }
129
130 return domain;
131};
132
133export const tickStep = (
134 start: number,

Callers 2

scales.test.tsFile · 0.90
createTimeScaleFunction · 0.90

Calls 1

resolveTimeInputFunction · 0.85

Tested by

no test coverage detected