maybeTuple.js 665 B

12345678910111213141516171819
  1. import { deepMix } from '@antv/util';
  2. import { column, isObject } from './utils/helper';
  3. /**
  4. * Add 3 constant encode for size channel.
  5. * This is useful for point geometry.
  6. */
  7. export const MaybeTuple = () => {
  8. return (I, mark) => {
  9. const { data } = mark;
  10. if (!Array.isArray(data) || data.some(isObject))
  11. return [I, mark];
  12. const position = Array.isArray(data[0]) ? data : [data];
  13. const X = position.map((d) => d[0]);
  14. const Y = position.map((d) => d[1]);
  15. return [I, deepMix({}, mark, { encode: { x: column(X), y: column(Y) } })];
  16. };
  17. };
  18. MaybeTuple.props = {};
  19. //# sourceMappingURL=maybeTuple.js.map