UNPKG

1.69 kBTypeScriptView Raw
1import { BaseOptions, Domain, Range, Unknown } from '../types';
2export declare abstract class Base<O extends BaseOptions> {
3 /**
4 * 将定义域里面的一个值,根据转换规则,转换为值域的一个值。
5 * 如果该值不合法,则返回 options.unknown
6 * @param x 需要转换的值
7 */
8 abstract map(x: Domain<O>): Range<O> | Unknown<O>;
9 /**
10 * 将值域里的一个值,据转换规则,逆向转换为定义域里的一个值或者一个区间
11 * @param x 需要转换的值
12 */
13 abstract invert(x: Range<O>): Domain<O> | Domain<O>[] | Unknown<O>;
14 /**
15 * 克隆一个新的比例尺,可以用于更新选项
16 */
17 abstract clone(): Base<O>;
18 /**
19 * 子类需要覆盖的默认配置
20 */
21 protected abstract getDefaultOptions(): Partial<O>;
22 /**
23 * 比例尺的选项,用于配置数据映射的规则和 ticks 的生成方式
24 */
25 protected options: O;
26 /**
27 * 构造函数,根据自定义的选项和默认选项生成当前选项
28 * @param options 需要自定义配置的选项
29 */
30 constructor(options?: O);
31 /**
32 * 返回当前的所有选项
33 * @returns 当前的所有选项
34 */
35 getOptions(): O;
36 /**
37 * 更新选项和比例尺的内部状态
38 * @param updateOptions 需要更新的选项
39 */
40 update(updateOptions?: Partial<O>): void;
41 /**
42 * 根据需要更新 options 和更新后的 options 更新 scale 的内部状态,
43 * 在函数内部可以用 this.options 获得更新后的 options
44 * @param options 需要更新的 options
45 */
46 protected rescale(options?: Partial<O>): void;
47}