@antv/layout 1.2.13 → 1.2.14-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/dist/85db61ddc757dae66e04.worker.js +2 -0
  2. package/dist/85db61ddc757dae66e04.worker.js.map +1 -0
  3. package/dist/index.min.js +1 -1
  4. package/dist/index.min.js.map +1 -1
  5. package/lib/{dagre → antv-dagre}/acyclic.d.ts +1 -1
  6. package/lib/antv-dagre/acyclic.js +61 -0
  7. package/lib/antv-dagre/acyclic.js.map +1 -0
  8. package/lib/{dagre → antv-dagre}/add-border-segments.js +12 -12
  9. package/lib/antv-dagre/add-border-segments.js.map +1 -0
  10. package/lib/{dagre → antv-dagre}/coordinate-system.d.ts +2 -1
  11. package/lib/antv-dagre/coordinate-system.js +65 -0
  12. package/lib/antv-dagre/coordinate-system.js.map +1 -0
  13. package/lib/{dagre → antv-dagre}/data/list.d.ts +1 -1
  14. package/lib/{dagre → antv-dagre}/data/list.js +20 -22
  15. package/lib/antv-dagre/data/list.js.map +1 -0
  16. package/lib/{dagre → antv-dagre}/greedy-fas.d.ts +2 -2
  17. package/lib/antv-dagre/greedy-fas.js +136 -0
  18. package/lib/antv-dagre/greedy-fas.js.map +1 -0
  19. package/lib/{dagre → antv-dagre}/layout.d.ts +2 -1
  20. package/lib/{dagre → antv-dagre}/layout.js +125 -127
  21. package/lib/antv-dagre/layout.js.map +1 -0
  22. package/lib/{dagre → antv-dagre}/nesting-graph.js +36 -37
  23. package/lib/antv-dagre/nesting-graph.js.map +1 -0
  24. package/lib/{dagre → antv-dagre}/normalize.d.ts +2 -2
  25. package/lib/{dagre → antv-dagre}/normalize.js +24 -24
  26. package/lib/antv-dagre/normalize.js.map +1 -0
  27. package/lib/{dagre → antv-dagre}/order/add-subgraph-constraints.js +9 -9
  28. package/lib/antv-dagre/order/add-subgraph-constraints.js.map +1 -0
  29. package/lib/{dagre → antv-dagre}/order/barycenter.d.ts +2 -2
  30. package/lib/{dagre → antv-dagre}/order/barycenter.js +8 -8
  31. package/lib/antv-dagre/order/barycenter.js.map +1 -0
  32. package/lib/{dagre → antv-dagre}/order/build-layer-graph.js +18 -22
  33. package/lib/antv-dagre/order/build-layer-graph.js.map +1 -0
  34. package/lib/antv-dagre/order/cross-count.d.ts +3 -0
  35. package/lib/{dagre → antv-dagre}/order/cross-count.js +17 -17
  36. package/lib/antv-dagre/order/cross-count.js.map +1 -0
  37. package/lib/{dagre → antv-dagre}/order/index.d.ts +1 -1
  38. package/lib/{dagre → antv-dagre}/order/index.js +35 -35
  39. package/lib/antv-dagre/order/index.js.map +1 -0
  40. package/lib/{dagre → antv-dagre}/order/init-data-order.js +8 -9
  41. package/lib/antv-dagre/order/init-data-order.js.map +1 -0
  42. package/lib/antv-dagre/order/init-order.js +47 -0
  43. package/lib/antv-dagre/order/init-order.js.map +1 -0
  44. package/lib/{dagre → antv-dagre}/order/resolve-conflicts.d.ts +3 -3
  45. package/lib/{dagre → antv-dagre}/order/resolve-conflicts.js +32 -35
  46. package/lib/antv-dagre/order/resolve-conflicts.js.map +1 -0
  47. package/lib/{dagre → antv-dagre}/order/sort-subgraph.js +20 -20
  48. package/lib/antv-dagre/order/sort-subgraph.js.map +1 -0
  49. package/lib/{dagre → antv-dagre}/order/sort.d.ts +2 -2
  50. package/lib/{dagre → antv-dagre}/order/sort.js +19 -19
  51. package/lib/antv-dagre/order/sort.js.map +1 -0
  52. package/lib/{dagre → antv-dagre}/parent-dummy-chains.js +28 -28
  53. package/lib/antv-dagre/parent-dummy-chains.js.map +1 -0
  54. package/lib/{dagre → antv-dagre}/position/bk.d.ts +5 -4
  55. package/lib/{dagre → antv-dagre}/position/bk.js +140 -143
  56. package/lib/antv-dagre/position/bk.js.map +1 -0
  57. package/lib/{dagre → antv-dagre}/position/index.d.ts +2 -1
  58. package/lib/antv-dagre/position/index.js +51 -0
  59. package/lib/antv-dagre/position/index.js.map +1 -0
  60. package/lib/{dagre → antv-dagre}/rank/feasible-tree.d.ts +2 -2
  61. package/lib/{dagre → antv-dagre}/rank/feasible-tree.js +32 -32
  62. package/lib/antv-dagre/rank/feasible-tree.js.map +1 -0
  63. package/lib/antv-dagre/rank/index.d.ts +2 -0
  64. package/lib/{dagre → antv-dagre}/rank/index.js +10 -10
  65. package/lib/antv-dagre/rank/index.js.map +1 -0
  66. package/lib/{dagre → antv-dagre}/rank/network-simplex.d.ts +2 -2
  67. package/lib/{dagre → antv-dagre}/rank/network-simplex.js +70 -71
  68. package/lib/antv-dagre/rank/network-simplex.js.map +1 -0
  69. package/lib/{dagre → antv-dagre}/rank/util.d.ts +2 -2
  70. package/lib/{dagre → antv-dagre}/rank/util.js +31 -31
  71. package/lib/antv-dagre/rank/util.js.map +1 -0
  72. package/lib/antv-dagre/types.d.ts +2 -0
  73. package/lib/antv-dagre/types.js +2 -0
  74. package/lib/antv-dagre/types.js.map +1 -0
  75. package/lib/{dagre → antv-dagre}/util.d.ts +1 -1
  76. package/lib/{dagre → antv-dagre}/util.js +90 -98
  77. package/lib/antv-dagre/util.js.map +1 -0
  78. package/lib/antv-dagre.d.ts +50 -0
  79. package/lib/antv-dagre.js +538 -0
  80. package/lib/antv-dagre.js.map +1 -0
  81. package/lib/bundle-entry.d.ts +2 -18
  82. package/lib/bundle-entry.js +2 -18
  83. package/lib/bundle-entry.js.map +1 -1
  84. package/lib/bundle-supervisor.d.ts +4 -22
  85. package/lib/bundle-supervisor.js +54 -53
  86. package/lib/bundle-supervisor.js.map +1 -1
  87. package/lib/bundle-worker.d.ts +1 -1
  88. package/lib/bundle-worker.js +31 -33
  89. package/lib/bundle-worker.js.map +1 -1
  90. package/lib/circular.d.ts +1 -1
  91. package/lib/circular.js +124 -140
  92. package/lib/circular.js.map +1 -1
  93. package/lib/comboCombined.d.ts +1 -1
  94. package/lib/comboCombined.js +254 -284
  95. package/lib/comboCombined.js.map +1 -1
  96. package/lib/concentric.d.ts +1 -1
  97. package/lib/concentric.js +166 -176
  98. package/lib/concentric.js.map +1 -1
  99. package/lib/d3Force/forceInBox.js +75 -77
  100. package/lib/d3Force/forceInBox.js.map +1 -1
  101. package/lib/d3Force/index.d.ts +2 -2
  102. package/lib/d3Force/index.js +196 -222
  103. package/lib/d3Force/index.js.map +1 -1
  104. package/lib/dagre.d.ts +13 -24
  105. package/lib/dagre.js +57 -542
  106. package/lib/dagre.js.map +1 -1
  107. package/lib/exports.d.ts +17 -0
  108. package/lib/exports.js +17 -0
  109. package/lib/exports.js.map +1 -0
  110. package/lib/force/forceNBody.js +42 -45
  111. package/lib/force/forceNBody.js.map +1 -1
  112. package/lib/force/index.d.ts +1 -1
  113. package/lib/force/index.js +282 -309
  114. package/lib/force/index.js.map +1 -1
  115. package/lib/force/types.d.ts +5 -5
  116. package/lib/forceAtlas2/body.d.ts +1 -1
  117. package/lib/forceAtlas2/body.js +29 -31
  118. package/lib/forceAtlas2/body.js.map +1 -1
  119. package/lib/forceAtlas2/index.d.ts +1 -1
  120. package/lib/forceAtlas2/index.js +206 -218
  121. package/lib/forceAtlas2/index.js.map +1 -1
  122. package/lib/forceAtlas2/quad.d.ts +2 -2
  123. package/lib/forceAtlas2/quad.js +40 -42
  124. package/lib/forceAtlas2/quad.js.map +1 -1
  125. package/lib/forceAtlas2/quadTree.js +16 -17
  126. package/lib/forceAtlas2/quadTree.js.map +1 -1
  127. package/lib/fruchterman.d.ts +1 -1
  128. package/lib/fruchterman.js +185 -205
  129. package/lib/fruchterman.js.map +1 -1
  130. package/lib/grid.d.ts +1 -1
  131. package/lib/grid.js +197 -207
  132. package/lib/grid.js.map +1 -1
  133. package/lib/index.d.ts +1 -15
  134. package/lib/index.js +1 -15
  135. package/lib/index.js.map +1 -1
  136. package/lib/mds.d.ts +1 -1
  137. package/lib/mds.js +68 -78
  138. package/lib/mds.js.map +1 -1
  139. package/lib/radial/index.d.ts +1 -1
  140. package/lib/radial/index.js +177 -184
  141. package/lib/radial/index.js.map +1 -1
  142. package/lib/radial/mds.d.ts +1 -1
  143. package/lib/radial/mds.js +15 -13
  144. package/lib/radial/mds.js.map +1 -1
  145. package/lib/radial/radial-nonoverlap-force.d.ts +2 -2
  146. package/lib/radial/radial-nonoverlap-force.js +36 -37
  147. package/lib/radial/radial-nonoverlap-force.js.map +1 -1
  148. package/lib/random.d.ts +1 -1
  149. package/lib/random.js +53 -66
  150. package/lib/random.js.map +1 -1
  151. package/lib/registry.d.ts +2 -2
  152. package/lib/registry.js +3 -1
  153. package/lib/registry.js.map +1 -1
  154. package/lib/supervisor.d.ts +2 -3
  155. package/lib/supervisor.js +57 -56
  156. package/lib/supervisor.js.map +1 -1
  157. package/lib/types.d.ts +20 -75
  158. package/lib/types.js.map +1 -1
  159. package/lib/util/array.js +1 -1
  160. package/lib/util/array.js.map +1 -1
  161. package/lib/util/common.d.ts +1 -1
  162. package/lib/util/common.js +7 -8
  163. package/lib/util/common.js.map +1 -1
  164. package/lib/util/function.js +23 -25
  165. package/lib/util/function.js.map +1 -1
  166. package/lib/util/index.d.ts +0 -2
  167. package/lib/util/index.js +0 -2
  168. package/lib/util/index.js.map +1 -1
  169. package/lib/util/math.d.ts +1 -26
  170. package/lib/util/math.js +41 -149
  171. package/lib/util/math.js.map +1 -1
  172. package/lib/util/object.d.ts +1 -1
  173. package/lib/util/object.js +13 -13
  174. package/lib/util/object.js.map +1 -1
  175. package/lib/util/size.d.ts +3 -0
  176. package/lib/util/size.js +12 -0
  177. package/lib/util/size.js.map +1 -0
  178. package/lib/worker.js +30 -31
  179. package/lib/worker.js.map +1 -1
  180. package/package.json +9 -5
  181. package/dist/aa1bb0ccc06b11cf79c1.worker.js +0 -2
  182. package/dist/aa1bb0ccc06b11cf79c1.worker.js.map +0 -1
  183. package/lib/dagre/acyclic.js +0 -62
  184. package/lib/dagre/acyclic.js.map +0 -1
  185. package/lib/dagre/add-border-segments.js.map +0 -1
  186. package/lib/dagre/coordinate-system.js +0 -65
  187. package/lib/dagre/coordinate-system.js.map +0 -1
  188. package/lib/dagre/data/list.js.map +0 -1
  189. package/lib/dagre/greedy-fas.js +0 -147
  190. package/lib/dagre/greedy-fas.js.map +0 -1
  191. package/lib/dagre/layout.js.map +0 -1
  192. package/lib/dagre/nesting-graph.js.map +0 -1
  193. package/lib/dagre/normalize.js.map +0 -1
  194. package/lib/dagre/order/add-subgraph-constraints.js.map +0 -1
  195. package/lib/dagre/order/barycenter.js.map +0 -1
  196. package/lib/dagre/order/build-layer-graph.js.map +0 -1
  197. package/lib/dagre/order/cross-count.d.ts +0 -3
  198. package/lib/dagre/order/cross-count.js.map +0 -1
  199. package/lib/dagre/order/index.js.map +0 -1
  200. package/lib/dagre/order/init-data-order.js.map +0 -1
  201. package/lib/dagre/order/init-order.js +0 -50
  202. package/lib/dagre/order/init-order.js.map +0 -1
  203. package/lib/dagre/order/resolve-conflicts.js.map +0 -1
  204. package/lib/dagre/order/sort-subgraph.js.map +0 -1
  205. package/lib/dagre/order/sort.js.map +0 -1
  206. package/lib/dagre/parent-dummy-chains.js.map +0 -1
  207. package/lib/dagre/position/bk.js.map +0 -1
  208. package/lib/dagre/position/index.js +0 -54
  209. package/lib/dagre/position/index.js.map +0 -1
  210. package/lib/dagre/rank/feasible-tree.js.map +0 -1
  211. package/lib/dagre/rank/index.d.ts +0 -2
  212. package/lib/dagre/rank/index.js.map +0 -1
  213. package/lib/dagre/rank/network-simplex.js.map +0 -1
  214. package/lib/dagre/rank/util.js.map +0 -1
  215. package/lib/dagre/util.js.map +0 -1
  216. package/lib/util/gpu.d.ts +0 -45
  217. package/lib/util/gpu.js +0 -214
  218. package/lib/util/gpu.js.map +0 -1
  219. package/lib/util/number.d.ts +0 -1
  220. package/lib/util/number.js +0 -5
  221. package/lib/util/number.js.map +0 -1
  222. package/lib/util/string.d.ts +0 -1
  223. package/lib/util/string.js +0 -15
  224. package/lib/util/string.js.map +0 -1
  225. /package/lib/{dagre → antv-dagre}/add-border-segments.d.ts +0 -0
  226. /package/lib/{dagre → antv-dagre}/nesting-graph.d.ts +0 -0
  227. /package/lib/{dagre → antv-dagre}/order/add-subgraph-constraints.d.ts +0 -0
  228. /package/lib/{dagre → antv-dagre}/order/build-layer-graph.d.ts +0 -0
  229. /package/lib/{dagre → antv-dagre}/order/init-data-order.d.ts +0 -0
  230. /package/lib/{dagre → antv-dagre}/order/init-order.d.ts +0 -0
  231. /package/lib/{dagre → antv-dagre}/order/sort-subgraph.d.ts +0 -0
  232. /package/lib/{dagre → antv-dagre}/parent-dummy-chains.d.ts +0 -0
@@ -1,21 +1,20 @@
1
- import { __assign, __read, __spreadArray } from "tslib";
2
1
  import { Graph } from '@antv/graphlib';
3
2
  import { isNumber } from '@antv/util';
4
- var safeSort = function (valueA, valueB) {
3
+ const safeSort = (valueA, valueB) => {
5
4
  return Number(valueA) - Number(valueB);
6
5
  };
7
6
  /*
8
7
  * Adds a dummy node to the graph and return v.
9
8
  */
10
- export var addDummyNode = function (g, type, data, name) {
11
- var v;
9
+ export const addDummyNode = (g, type, data, name) => {
10
+ let v;
12
11
  do {
13
- v = "" + name + Math.random();
12
+ v = `${name}${Math.random()}`;
14
13
  } while (g.hasNode(v));
15
14
  data.dummy = type;
16
15
  g.addNode({
17
16
  id: v,
18
- data: data,
17
+ data,
19
18
  });
20
19
  return v;
21
20
  };
@@ -23,15 +22,15 @@ export var addDummyNode = function (g, type, data, name) {
23
22
  * Returns a new graph with only simple edges. Handles aggregation of data
24
23
  * associated with multi-edges.
25
24
  */
26
- export var simplify = function (g) {
27
- var simplified = new Graph();
28
- g.getAllNodes().forEach(function (v) {
29
- simplified.addNode(__assign({}, v));
25
+ export const simplify = (g) => {
26
+ const simplified = new Graph();
27
+ g.getAllNodes().forEach((v) => {
28
+ simplified.addNode(Object.assign({}, v));
30
29
  });
31
- g.getAllEdges().forEach(function (e) {
32
- var edge = simplified
30
+ g.getAllEdges().forEach((e) => {
31
+ const edge = simplified
33
32
  .getRelatedEdges(e.source, 'out')
34
- .find(function (edge) { return edge.target === e.target; });
33
+ .find((edge) => edge.target === e.target);
35
34
  if (!edge) {
36
35
  simplified.addEdge({
37
36
  id: e.id,
@@ -44,70 +43,70 @@ export var simplify = function (g) {
44
43
  });
45
44
  }
46
45
  else {
47
- simplified.updateEdgeData(edge === null || edge === void 0 ? void 0 : edge.id, __assign(__assign({}, edge.data), { weight: edge.data.weight + e.data.weight || 0, minlen: Math.max(edge.data.minlen, e.data.minlen || 1) }));
46
+ simplified.updateEdgeData(edge === null || edge === void 0 ? void 0 : edge.id, Object.assign(Object.assign({}, edge.data), { weight: edge.data.weight + e.data.weight || 0, minlen: Math.max(edge.data.minlen, e.data.minlen || 1) }));
48
47
  }
49
48
  });
50
49
  return simplified;
51
50
  };
52
- export var asNonCompoundGraph = function (g) {
53
- var simplified = new Graph();
54
- g.getAllNodes().forEach(function (node) {
51
+ export const asNonCompoundGraph = (g) => {
52
+ const simplified = new Graph();
53
+ g.getAllNodes().forEach((node) => {
55
54
  if (!g.getChildren(node.id).length) {
56
- simplified.addNode(__assign({}, node));
55
+ simplified.addNode(Object.assign({}, node));
57
56
  }
58
57
  });
59
- g.getAllEdges().forEach(function (edge) {
58
+ g.getAllEdges().forEach((edge) => {
60
59
  simplified.addEdge(edge);
61
60
  });
62
61
  return simplified;
63
62
  };
64
- export var zipObject = function (keys, values) {
65
- return keys === null || keys === void 0 ? void 0 : keys.reduce(function (obj, key, i) {
63
+ export const zipObject = (keys, values) => {
64
+ return keys === null || keys === void 0 ? void 0 : keys.reduce((obj, key, i) => {
66
65
  obj[key] = values[i];
67
66
  return obj;
68
67
  }, {});
69
68
  };
70
- export var successorWeights = function (g) {
71
- var weightsMap = {};
72
- g.getAllNodes().forEach(function (node) {
73
- var sucs = {};
74
- g.getRelatedEdges(node.id, 'out').forEach(function (e) {
69
+ export const successorWeights = (g) => {
70
+ const weightsMap = {};
71
+ g.getAllNodes().forEach((node) => {
72
+ const sucs = {};
73
+ g.getRelatedEdges(node.id, 'out').forEach((e) => {
75
74
  sucs[e.target] = (sucs[e.target] || 0) + (e.data.weight || 0);
76
75
  });
77
76
  weightsMap[node.id] = sucs;
78
77
  });
79
78
  return weightsMap;
80
79
  };
81
- export var predecessorWeights = function (g) {
82
- var nodes = g.getAllNodes();
83
- var weightMap = nodes.map(function (v) {
84
- var preds = {};
85
- g.getRelatedEdges(v.id, 'in').forEach(function (e) {
80
+ export const predecessorWeights = (g) => {
81
+ const nodes = g.getAllNodes();
82
+ const weightMap = nodes.map((v) => {
83
+ const preds = {};
84
+ g.getRelatedEdges(v.id, 'in').forEach((e) => {
86
85
  preds[e.source] = (preds[e.source] || 0) + e.data.weight;
87
86
  });
88
87
  return preds;
89
88
  });
90
- return zipObject(nodes.map(function (n) { return n.id; }), weightMap);
89
+ return zipObject(nodes.map((n) => n.id), weightMap);
91
90
  };
92
91
  /*
93
92
  * Finds where a line starting at point ({x, y}) would intersect a rectangle
94
93
  * ({x, y, width, height}) if it were pointing at the rectangle's center.
95
94
  */
96
- export var intersectRect = function (rect, point) {
97
- var x = Number(rect.x);
98
- var y = Number(rect.y);
95
+ export const intersectRect = (rect, point) => {
96
+ const x = Number(rect.x);
97
+ const y = Number(rect.y);
99
98
  // Rectangle intersection algorithm from:
100
99
  // http://math.stackexchange.com/questions/108113/find-edge-between-two-boxes
101
- var dx = Number(point.x) - x;
102
- var dy = Number(point.y) - y;
103
- var w = Number(rect.width) / 2;
104
- var h = Number(rect.height) / 2;
100
+ const dx = Number(point.x) - x;
101
+ const dy = Number(point.y) - y;
102
+ let w = Number(rect.width) / 2;
103
+ let h = Number(rect.height) / 2;
105
104
  if (!dx && !dy) {
106
105
  // completely overlapped directly, then return points its self
107
106
  return { x: 0, y: 0 };
108
107
  }
109
- var sx;
110
- var sy;
108
+ let sx;
109
+ let sy;
111
110
  if (Math.abs(dy) * w > Math.abs(dx) * h) {
112
111
  // Intersection is top or bottom of rect.
113
112
  if (dy < 0) {
@@ -130,23 +129,21 @@ export var intersectRect = function (rect, point) {
130
129
  * Given a DAG with each node assigned "rank" and "order" properties, this
131
130
  * const will produce a matrix with the ids of each node.
132
131
  */
133
- export var buildLayerMatrix = function (g) {
134
- var layeringNodes = [];
135
- var rankMax = maxRank(g) + 1;
136
- for (var i = 0; i < rankMax; i++) {
132
+ export const buildLayerMatrix = (g) => {
133
+ const layeringNodes = [];
134
+ const rankMax = maxRank(g) + 1;
135
+ for (let i = 0; i < rankMax; i++) {
137
136
  layeringNodes.push([]);
138
137
  }
139
138
  // const layering = _.map(_.range(maxRank(g) + 1), function() { return []; });
140
- g.getAllNodes().forEach(function (node) {
141
- var rank = node.data.rank;
139
+ g.getAllNodes().forEach((node) => {
140
+ const rank = node.data.rank;
142
141
  if (rank !== undefined && layeringNodes[rank]) {
143
142
  layeringNodes[rank].push(node.id);
144
143
  }
145
144
  });
146
- for (var i = 0; i < rankMax; i++) {
147
- layeringNodes[i] = layeringNodes[i].sort(function (va, vb) {
148
- return safeSort(g.getNode(va).data.order, g.getNode(vb).data.order);
149
- });
145
+ for (let i = 0; i < rankMax; i++) {
146
+ layeringNodes[i] = layeringNodes[i].sort((va, vb) => safeSort(g.getNode(va).data.order, g.getNode(vb).data.order));
150
147
  }
151
148
  return layeringNodes;
152
149
  };
@@ -154,45 +151,44 @@ export var buildLayerMatrix = function (g) {
154
151
  * Adjusts the ranks for all nodes in the graph such that all nodes v have
155
152
  * rank(v) >= 0 and at least one node w has rank(w) = 0.
156
153
  */
157
- export var normalizeRanks = function (g) {
158
- var nodeRanks = g
154
+ export const normalizeRanks = (g) => {
155
+ const nodeRanks = g
159
156
  .getAllNodes()
160
- .filter(function (v) { return v.data.rank !== undefined; })
161
- .map(function (v) { return v.data.rank; });
162
- var min = Math.min.apply(Math, __spreadArray([], __read(nodeRanks)));
163
- g.getAllNodes().forEach(function (v) {
157
+ .filter((v) => v.data.rank !== undefined)
158
+ .map((v) => v.data.rank);
159
+ const min = Math.min(...nodeRanks);
160
+ g.getAllNodes().forEach((v) => {
164
161
  if (v.data.hasOwnProperty('rank') && min !== Infinity) {
165
162
  v.data.rank -= min;
166
163
  }
167
164
  });
168
165
  };
169
- export var removeEmptyRanks = function (g, nodeRankFactor) {
170
- if (nodeRankFactor === void 0) { nodeRankFactor = 0; }
166
+ export const removeEmptyRanks = (g, nodeRankFactor = 0) => {
171
167
  // Ranks may not start at 0, so we need to offset them
172
- var nodes = g.getAllNodes();
173
- var nodeRanks = nodes
174
- .filter(function (v) { return v.data.rank !== undefined; })
175
- .map(function (v) { return v.data.rank; });
176
- var offset = Math.min.apply(Math, __spreadArray([], __read(nodeRanks)));
177
- var layers = [];
178
- nodes.forEach(function (v) {
179
- var rank = (v.data.rank || 0) - offset;
168
+ const nodes = g.getAllNodes();
169
+ const nodeRanks = nodes
170
+ .filter((v) => v.data.rank !== undefined)
171
+ .map((v) => v.data.rank);
172
+ const offset = Math.min(...nodeRanks);
173
+ const layers = [];
174
+ nodes.forEach((v) => {
175
+ const rank = (v.data.rank || 0) - offset;
180
176
  if (!layers[rank]) {
181
177
  layers[rank] = [];
182
178
  }
183
179
  layers[rank].push(v.id);
184
180
  });
185
- var delta = 0;
186
- for (var i = 0; i < layers.length; i++) {
187
- var vs = layers[i];
181
+ let delta = 0;
182
+ for (let i = 0; i < layers.length; i++) {
183
+ const vs = layers[i];
188
184
  if (vs === undefined) {
189
185
  if (i % nodeRankFactor !== 0) {
190
186
  delta -= 1;
191
187
  }
192
188
  }
193
189
  else if (delta) {
194
- vs === null || vs === void 0 ? void 0 : vs.forEach(function (v) {
195
- var node = g.getNode(v);
190
+ vs === null || vs === void 0 ? void 0 : vs.forEach((v) => {
191
+ const node = g.getNode(v);
196
192
  if (node) {
197
193
  node.data.rank = node.data.rank || 0;
198
194
  node.data.rank += delta;
@@ -201,8 +197,8 @@ export var removeEmptyRanks = function (g, nodeRankFactor) {
201
197
  }
202
198
  }
203
199
  };
204
- export var addBorderNode = function (g, prefix, rank, order) {
205
- var node = {
200
+ export const addBorderNode = (g, prefix, rank, order) => {
201
+ const node = {
206
202
  width: 0,
207
203
  height: 0,
208
204
  };
@@ -212,10 +208,10 @@ export var addBorderNode = function (g, prefix, rank, order) {
212
208
  }
213
209
  return addDummyNode(g, 'border', node, prefix);
214
210
  };
215
- export var maxRank = function (g) {
216
- var maxRank;
217
- g.getAllNodes().forEach(function (v) {
218
- var rank = v.data.rank;
211
+ export const maxRank = (g) => {
212
+ let maxRank;
213
+ g.getAllNodes().forEach((v) => {
214
+ const rank = v.data.rank;
219
215
  if (rank !== undefined) {
220
216
  if (maxRank === undefined || rank > maxRank) {
221
217
  maxRank = rank;
@@ -232,9 +228,9 @@ export var maxRank = function (g) {
232
228
  * const returns true for an entry it goes into `lhs`. Otherwise it goes
233
229
  * into `rhs.
234
230
  */
235
- export var partition = function (collection, fn) {
236
- var result = { lhs: [], rhs: [] };
237
- collection === null || collection === void 0 ? void 0 : collection.forEach(function (value) {
231
+ export const partition = (collection, fn) => {
232
+ const result = { lhs: [], rhs: [] };
233
+ collection === null || collection === void 0 ? void 0 : collection.forEach((value) => {
238
234
  if (fn(value)) {
239
235
  result.lhs.push(value);
240
236
  }
@@ -244,22 +240,20 @@ export var partition = function (collection, fn) {
244
240
  });
245
241
  return result;
246
242
  };
247
- export var minBy = function (array, func) {
248
- return array.reduce(function (a, b) {
249
- var valA = func(a);
250
- var valB = func(b);
243
+ export const minBy = (array, func) => {
244
+ return array.reduce((a, b) => {
245
+ const valA = func(a);
246
+ const valB = func(b);
251
247
  return valA > valB ? b : a;
252
248
  });
253
249
  };
254
- var doDFS = function (graph, node, postorder, visited, navigator, result) {
250
+ const doDFS = (graph, node, postorder, visited, navigator, result) => {
255
251
  if (!visited.includes(node.id)) {
256
252
  visited.push(node.id);
257
253
  if (!postorder) {
258
254
  result.push(node.id);
259
255
  }
260
- navigator(node.id).forEach(function (n) {
261
- return doDFS(graph, n, postorder, visited, navigator, result);
262
- });
256
+ navigator(node.id).forEach((n) => doDFS(graph, n, postorder, visited, navigator, result));
263
257
  if (postorder) {
264
258
  result.push(node.id);
265
259
  }
@@ -269,16 +263,14 @@ var doDFS = function (graph, node, postorder, visited, navigator, result) {
269
263
  * @description DFS traversal.
270
264
  * @description.zh-CN DFS 遍历。
271
265
  */
272
- export var dfs = function (graph, node, order, isDirected) {
273
- var nodes = Array.isArray(node) ? node : [node];
274
- var navigator = function (n) {
275
- return (isDirected ? graph.getSuccessors(n) : graph.getNeighbors(n));
276
- };
277
- var results = [];
278
- var visited = [];
279
- nodes.forEach(function (node) {
266
+ export const dfs = (graph, node, order, isDirected) => {
267
+ const nodes = Array.isArray(node) ? node : [node];
268
+ const navigator = (n) => (isDirected ? graph.getSuccessors(n) : graph.getNeighbors(n));
269
+ const results = [];
270
+ const visited = [];
271
+ nodes.forEach((node) => {
280
272
  if (!graph.hasNode(node.id)) {
281
- throw new Error("Graph does not have node: " + node);
273
+ throw new Error(`Graph does not have node: ${node}`);
282
274
  }
283
275
  else {
284
276
  doDFS(graph, node, order === 'post', visited, navigator, results);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/antv-dagre/util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import { ID } from '@antv/graphlib';
2
+ import type { DagreAlign, DagreRankdir } from './antv-dagre/types';
3
+ import type { Graph as IGraph, Layout, LayoutMapping, Node, OutNode, PointTuple } from './types';
4
+ export interface AntVDagreLayoutOptions {
5
+ rankdir?: DagreRankdir;
6
+ ranker?: 'network-simplex' | 'tight-tree' | 'longest-path';
7
+ align?: DagreAlign;
8
+ begin?: PointTuple;
9
+ nodeSize?: number | number[] | ((nodeData: Node) => number);
10
+ nodesep?: number;
11
+ ranksep?: number;
12
+ controlPoints?: boolean;
13
+ sortByCombo?: boolean;
14
+ edgeLabelSpace?: boolean;
15
+ nodeOrder?: string[];
16
+ radial?: boolean;
17
+ focusNode?: ID | Node | null;
18
+ preset?: OutNode[];
19
+ nodesepFunc?: (d?: Node) => number;
20
+ ranksepFunc?: (d?: Node) => number;
21
+ }
22
+ /**
23
+ * Layout arranging the nodes in a circle.
24
+ *
25
+ * @example
26
+ * // Assign layout options when initialization.
27
+ * const layout = new CircularLayout({ radius: 10 });
28
+ * const positions = await layout.execute(graph); // { nodes: [], edges: [] }
29
+ *
30
+ * // Or use different options later.
31
+ * const layout = new CircularLayout({ radius: 10 });
32
+ * const positions = await layout.execute(graph, { radius: 20 }); // { nodes: [], edges: [] }
33
+ *
34
+ * // If you want to assign the positions directly to the nodes, use assign method.
35
+ * await layout.assign(graph, { radius: 20 });
36
+ */
37
+ export declare class AntVDagreLayout implements Layout<AntVDagreLayoutOptions> {
38
+ options: AntVDagreLayoutOptions;
39
+ id: string;
40
+ constructor(options?: AntVDagreLayoutOptions);
41
+ /**
42
+ * Return the positions of nodes and edges(if needed).
43
+ */
44
+ execute(graph: IGraph, options?: AntVDagreLayoutOptions): Promise<LayoutMapping>;
45
+ /**
46
+ * To directly assign the positions to the nodes.
47
+ */
48
+ assign(graph: IGraph, options?: AntVDagreLayoutOptions): Promise<void>;
49
+ private genericDagreLayout;
50
+ }