scale.ts 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. import {
  2. LinearOptions,
  3. OrdinalOptions,
  4. IdentityOptions,
  5. BandOptions,
  6. PointOptions,
  7. TimeOptions,
  8. LogOptions,
  9. PowOptions,
  10. ThresholdOptions,
  11. QuantileOptions,
  12. QuantizeOptions,
  13. SqrtOptions,
  14. SequentialOptions,
  15. ConstantOptions,
  16. } from '@antv/scale';
  17. import { ScaleComponent } from '../runtime';
  18. import { Palette } from './palette';
  19. export type Scale =
  20. | LinearScale
  21. | OrdinalScale
  22. | IdentityScale
  23. | BandScale
  24. | PointScale
  25. | TimeScale
  26. | LogScale
  27. | PowScale
  28. | SqrtScale
  29. | ThresholdScale
  30. | QuantizeScale
  31. | QuantileScale
  32. | SequentialScale
  33. | CustomScale
  34. | ConstantScale;
  35. export type ScaleTypes =
  36. | 'linear'
  37. | 'ordinal'
  38. | 'identity'
  39. | 'band'
  40. | 'point'
  41. | 'time'
  42. | 'log'
  43. | 'pow'
  44. | 'sqrt'
  45. | 'threshold'
  46. | 'quantize'
  47. | 'quantile'
  48. | 'sequential'
  49. | 'constant'
  50. | ScaleComponent;
  51. export type BaseScale<T extends ScaleTypes, O> = {
  52. type?: T;
  53. palette?: Palette['type'] | string;
  54. rangeMax?: number;
  55. rangeMin?: number;
  56. domainMax?: number;
  57. domainMin?: number;
  58. key?: string;
  59. facet?: boolean;
  60. independent?: boolean;
  61. zero?: boolean;
  62. offset?: (t: number) => number;
  63. relations?: [any, any][];
  64. } & O;
  65. export type LinearScale = BaseScale<'linear', LinearOptions>;
  66. export type OrdinalScale = BaseScale<'ordinal', OrdinalOptions>;
  67. export type IdentityScale = BaseScale<'identity', IdentityOptions>;
  68. export type BandScale = BaseScale<'band', BandOptions>;
  69. export type PointScale = BaseScale<'point', PointOptions>;
  70. export type TimeScale = BaseScale<'time', TimeOptions>;
  71. export type LogScale = BaseScale<'log', LogOptions>;
  72. export type PowScale = BaseScale<'pow', PowOptions>;
  73. export type SqrtScale = BaseScale<'sqrt', SqrtOptions>;
  74. export type ThresholdScale = BaseScale<'threshold', ThresholdOptions>;
  75. export type QuantileScale = BaseScale<'quantile', QuantileOptions>;
  76. export type QuantizeScale = BaseScale<'quantize', QuantizeOptions>;
  77. export type SequentialScale = BaseScale<'sequential', SequentialOptions>;
  78. export type ConstantScale = BaseScale<'constant', ConstantOptions>;
  79. export type CustomScale = BaseScale<ScaleComponent, { [key: string]: any }>;