UNPKG

7.42 kBTypeScriptView Raw
1/** 获得 ticks 的方法 */
2export declare type TickMethod<T = number> = (min: T, max: T, n?: number, ...rest: any[]) => T[];
3/** nice domain 的方法 */
4export declare type NiceMethod<T = number> = TickMethod<T>;
5/** 插值器工厂 */
6export declare type Interpolate<T = number> = (a: T, b: T) => (t: number) => T;
7/** 所有支持的插值器工厂 */
8export declare type Interpolates = Interpolate<number> | Interpolate<string> | Interpolate<number | string>;
9/** 比较器 */
10export declare type Comparator = (a: any, b: any) => number;
11/** tickMethod 和 nice 需要使用的参数 */
12export declare type TickMethodOptions<T = number | Date> = [T, T, number, number?, boolean?];
13/** 通用的配置 */
14export declare type BaseOptions = {
15 /** 当需要映射的值不合法的时候,返回的值 */
16 unknown?: any;
17 /** 值域,默认为 [0, 1] */
18 range?: any[];
19 /** 定义域,默认为 [0, 1] */
20 domain?: any[];
21};
22/** 获得比例尺选项中定义域元素的类型 */
23export declare type Domain<O extends BaseOptions> = O['domain'][number];
24/** 获得比例尺选项中值域元素的类型 */
25export declare type Range<O extends BaseOptions> = O['range'][number];
26/** 获得比例尺选项中 unknown 的类型 */
27export declare type Unknown<O extends BaseOptions> = O['unknown'];
28/** Identity 比例尺的选项 */
29/** Identity 比例尺的选项 */
30export declare type IdentityOptions = {
31 /** 当需要映射的值不合法的时候,返回的值 */
32 unknown?: any;
33 /** 值域,默认为 [0, 1] */
34 range?: any[];
35 /** 定义域,默认为 [0, 1] */
36 domain?: any[];
37 /** tick 个数,默认值为 5 */
38 tickCount?: number;
39 /** 计算 ticks 的算法 */
40 tickMethod?: TickMethod<number>;
41};
42/** Constant 比例尺的选项 */
43export declare type ConstantOptions = {
44 /** 当需要映射的值不合法的时候,返回的值 */
45 unknown?: any;
46 /** 值域,默认为 [0, 1] */
47 range?: any[];
48 /** 定义域,默认为 [0, 1] */
49 domain?: any[];
50 /** tick 个数,默认值为 5 */
51 tickCount?: number;
52 /** 计算 ticks 的算法 */
53 tickMethod?: TickMethod<number>;
54};
55/** Constant 比例尺的选项 */
56export declare type ContinuousOptions = {
57 /** 当需要映射的值不合法的时候,返回的值 */
58 unknown?: any;
59 /** 值域,默认为 [0, 1] */
60 range?: (number | string)[];
61 /** 定义域,默认为 [0, 1] */
62 domain?: (number | Date)[];
63 /** tick 个数,默认值为 5 */
64 tickCount?: number;
65 /** 计算 ticks 的算法 */
66 tickMethod?: TickMethod<number | Date>;
67 /** 是否需要对定义域的范围进行优化 */
68 nice?: boolean;
69 /** 是否需要限制输入的范围在值域内 */
70 clamp?: boolean;
71 /** 是否需要对输出进行四舍五入 */
72 round?: boolean;
73 /** 插值器的工厂函数,返回一个对归一化后的输入在值域指定范围内插值的函数 */
74 interpolate?: Interpolates;
75};
76/** Linear 比例尺的选项 */
77export declare type LinearOptions = {
78 /** 当需要映射的值不合法的时候,返回的值 */
79 unknown?: any;
80 /** 值域,默认为 [0, 1] */
81 range?: (number | string)[];
82 /** 定义域,默认为 [0, 1] */
83 domain?: number[];
84 /** tick 个数,默认值为 5 */
85 tickCount?: number;
86 /** 计算 ticks 的算法 */
87 tickMethod?: TickMethod<number>;
88 /** 是否需要对定义域的范围进行优化 */
89 nice?: boolean;
90 /** 是否需要限制输入的范围在值域内 */
91 clamp?: boolean;
92 /** 是否需要对输出进行四舍五入 */
93 round?: boolean;
94 /** 插值器的工厂函数,返回一个对归一化后的输入在值域指定范围内插值的函数 */
95 interpolate?: Interpolates;
96};
97/** Pow 比例尺的选项 */
98export declare type PowOptions = LinearOptions & {
99 /** 指数 */
100 exponent?: number;
101};
102/** Sqrt 比例尺的选项 */
103export declare type SqrtOptions = LinearOptions;
104/** Log 比例尺的选项 */
105export declare type LogOptions = LinearOptions & {
106 /** 底数 */
107 base?: number;
108};
109/** time 比例尺的选项 */
110export declare type TimeOptions = {
111 /** 当需要映射的值不合法的时候,返回的值 */
112 unknown?: any;
113 /** 值域,默认为 [0, 1] */
114 range?: (number | string)[];
115 /** 定义域,默认为 [0, 1] */
116 domain?: Date[];
117 /** tick 个数,默认值为 5 */
118 tickCount?: number;
119 /** 计算 ticks 的算法 */
120 tickMethod?: TickMethod<Date>;
121 /** 是否需要对定义域的范围进行优化 */
122 nice?: boolean;
123 /** 是否需要限制输入的范围在值域内 */
124 clamp?: boolean;
125 /** 是否需要对输出进行四舍五入 */
126 round?: boolean;
127 /** 插值器的工厂函数,返回一个对归一化后的输入在值域指定范围内插值的函数 */
128 interpolate?: Interpolates;
129 /** getTick 的时间间隔 */
130 tickInterval?: number;
131 /** 格式化的形式 */
132 mask?: string;
133 /** 是否是 utc 时间 */
134 utc?: boolean;
135};
136/** OrdinalOptions 比例尺的选项 */
137export declare type OrdinalOptions = {
138 /** 当需要映射的值不合法的时候,返回的值 */
139 unknown?: any;
140 /** 值域,默认为 [0, 1] */
141 range?: any[];
142 /** 定义域,默认为 [0, 1] */
143 domain?: any[];
144 /** 比较器 */
145 compare?: Comparator;
146};
147/** 详细请参阅 scale/band.ts */
148export declare type BandOptions = {
149 /** 当需要映射的值不合法的时候,返回的值 */
150 unknown?: any;
151 /** 值域,默认为 [0, 1] */
152 range?: number[];
153 /** 定义域,默认为 [0, 1] */
154 domain?: any[];
155 /** 是否取整 */
156 round?: boolean;
157 /** 内部边距 */
158 paddingInner?: number;
159 /** 两侧边距 */
160 paddingOuter?: number;
161 /** 同时定义内部边距和两侧边距,如果该值大于 0,则 paddingInner 和 paddingOuter 无效 */
162 padding?: number;
163 /** 对齐,取值为 0 - 1 的整数,例如 0.5 表示居中 */
164 align?: number;
165 /** 比较器,用于对 domain 进行排序 */
166 compare?: Comparator;
167};
168/** Point 比例尺的选项 */
169export declare type PointOptions = Omit<BandOptions, 'paddingInner' | 'paddingOuter'>;
170/** Threshold 比例尺的选项 */
171export declare type ThresholdOptions = {
172 /** 当需要映射的值不合法的时候,返回的值 */
173 unknown?: any;
174 /** 值域,默认为 [0, 1] */
175 range?: any[];
176 /** 定义域,默认为 [0, 1] */
177 domain?: number[];
178};
179/** Quantize 比例尺的选项 */
180export declare type QuantizeOptions = {
181 /** 当需要映射的值不合法的时候,返回的值 */
182 unknown?: any;
183 /** 值域,默认为 [0, 1] */
184 range?: any[];
185 /** 定义域,默认为 [0, 1] */
186 domain?: number[];
187 /** 是否需要 nice */
188 nice?: boolean;
189 /** 期望的 tickCount */
190 tickCount?: number;
191 /** 计算 ticks 的算法 */
192 tickMethod?: TickMethod<number>;
193};
194/** Quantile 比例尺的选项 */
195export declare type QuantileOptions = {
196 /** 当需要映射的值不合法的时候,返回的值 */
197 unknown?: any;
198 /** 值域,默认为 [0, 1] */
199 range?: any[];
200 /** 定义域,默认为 [0, 1] */
201 domain?: number[];
202 /** 期望的 tickCount */
203 tickCount?: number;
204 /** 计算 ticks 的算法 */
205 tickMethod?: TickMethod<number>;
206};