format.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import { each, isArray, isString } from '@antv/util';
  2. var regexTags = /[MLHVQTCSAZ]([^MLHVQTCSAZ]*)/gi;
  3. var regexDot = /[^\s,]+/gi;
  4. export function parseRadius(radius) {
  5. var r1 = 0;
  6. var r2 = 0;
  7. var r3 = 0;
  8. var r4 = 0;
  9. if (isArray(radius)) {
  10. if (radius.length === 1) {
  11. r1 = r2 = r3 = r4 = radius[0];
  12. }
  13. else if (radius.length === 2) {
  14. r1 = r3 = radius[0];
  15. r2 = r4 = radius[1];
  16. }
  17. else if (radius.length === 3) {
  18. r1 = radius[0];
  19. r2 = r4 = radius[1];
  20. r3 = radius[2];
  21. }
  22. else {
  23. r1 = radius[0];
  24. r2 = radius[1];
  25. r3 = radius[2];
  26. r4 = radius[3];
  27. }
  28. }
  29. else {
  30. r1 = r2 = r3 = r4 = radius;
  31. }
  32. return {
  33. r1: r1,
  34. r2: r2,
  35. r3: r3,
  36. r4: r4,
  37. };
  38. }
  39. export function parsePath(path) {
  40. path = path || [];
  41. if (isArray(path)) {
  42. return path;
  43. }
  44. if (isString(path)) {
  45. path = path.match(regexTags);
  46. each(path, function (item, index) {
  47. item = item.match(regexDot);
  48. if (item[0].length > 1) {
  49. var tag = item[0].charAt(0);
  50. item.splice(1, 0, item[0].substr(1));
  51. item[0] = tag;
  52. }
  53. each(item, function (sub, i) {
  54. if (!isNaN(sub)) {
  55. item[i] = +sub;
  56. }
  57. });
  58. path[index] = item;
  59. });
  60. return path;
  61. }
  62. }
  63. //# sourceMappingURL=format.js.map