helper.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.isObject = exports.maybeColumnOf = exports.columnOf = exports.constant = exports.nonConstantColumn = exports.visualColumn = exports.inferredColumn = exports.column = void 0;
  4. function column(value, field) {
  5. if (value === null)
  6. return undefined;
  7. return { type: 'column', value, field };
  8. }
  9. exports.column = column;
  10. function inferredColumn(value, field) {
  11. const c = column(value, field);
  12. return Object.assign(Object.assign({}, c), { inferred: true });
  13. }
  14. exports.inferredColumn = inferredColumn;
  15. function visualColumn(value, field) {
  16. if (value === null)
  17. return undefined;
  18. return { type: 'column', value, field, visual: true };
  19. }
  20. exports.visualColumn = visualColumn;
  21. function nonConstantColumn(value, field) {
  22. const c = column(value, field);
  23. return Object.assign(Object.assign({}, c), { constant: false });
  24. }
  25. exports.nonConstantColumn = nonConstantColumn;
  26. function constant(I, value) {
  27. const array = [];
  28. for (const i of I)
  29. array[i] = value;
  30. return array;
  31. }
  32. exports.constant = constant;
  33. function columnOf(encode, key) {
  34. const channel = encode[key];
  35. if (!channel)
  36. return [null, null];
  37. const { value, field = null } = channel;
  38. return [value, field];
  39. }
  40. exports.columnOf = columnOf;
  41. function maybeColumnOf(encode, ...K) {
  42. for (const key of K) {
  43. if (typeof key === 'string') {
  44. const [KV, fv] = columnOf(encode, key);
  45. if (KV !== null)
  46. return [KV, fv];
  47. }
  48. else {
  49. return [key, null];
  50. }
  51. }
  52. return [null, null];
  53. }
  54. exports.maybeColumnOf = maybeColumnOf;
  55. function isObject(d) {
  56. if (d instanceof Date)
  57. return false;
  58. return typeof d === 'object';
  59. }
  60. exports.isObject = isObject;
  61. //# sourceMappingURL=helper.js.map