UNPKG

1.28 kBTypeScriptView Raw
1import { OrdinalOptions, Domain, Range } from '../types';
2import { Base } from './base';
3declare type Transform = (x: any) => any;
4export declare const defaultUnknown: unique symbol;
5/**
6 * Ordinal 比例尺
7 *
8 * 该比例尺具有离散的域和范围,例如将一组命名类别映射到一组颜色
9 *
10 * - 使用 for 替代一些基于 map 的遍历,for 循环性能远高于 forEach, map
11 * - 阻止无意义的更新,只有到用户调用 map、invert 或者 update 之后才会进行相应的更新
12 * - 两个 map 只初始化一次,在之后的更新中复用他们,这样我们避免了重复 new Map 带来的性能问题
13 * 在大量调用 update 函数场景下,较 d3-scale 效率有质的提高
14 */
15export declare class Ordinal<O extends OrdinalOptions = OrdinalOptions> extends Base<O> {
16 private domainIndexMap;
17 private rangeIndexMap;
18 protected sortedDomain: O['domain'];
19 protected domainKey: Transform;
20 protected rangeKey: Transform;
21 protected getDefaultOptions(): O;
22 constructor(options?: OrdinalOptions);
23 map(x: Domain<O>): any;
24 invert(y: Range<O>): any;
25 protected rescale(options?: Partial<O>): void;
26 clone(): Ordinal<O>;
27 protected getRange(): any[];
28 getDomain(): O["domain"];
29}
30export {};