@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,6 +1,6 @@
1
- import { slack } from "./util";
2
- import { minBy } from "../util";
3
- import { Graph } from "@antv/graphlib";
1
+ import { Graph } from '@antv/graphlib';
2
+ import { minBy } from '../util';
3
+ import { slack } from './util';
4
4
  /*
5
5
  * Constructs a spanning tree with tight edges and adjusted the input node's
6
6
  * ranks to achieve this. A tight edge is one that is has a length that matches
@@ -26,16 +26,16 @@ import { Graph } from "@antv/graphlib";
26
26
  * Returns a tree (undirected graph) that is constructed using only "tight"
27
27
  * edges.
28
28
  */
29
- var feasibleTree = function (g) {
30
- var t = new Graph({
29
+ const feasibleTree = (g) => {
30
+ const t = new Graph({
31
31
  tree: [],
32
32
  });
33
33
  // Choose arbitrary node from which to start our tree
34
- var start = g.getAllNodes()[0];
35
- var size = g.getAllNodes().length;
34
+ const start = g.getAllNodes()[0];
35
+ const size = g.getAllNodes().length;
36
36
  t.addNode(start);
37
- var edge;
38
- var delta;
37
+ let edge;
38
+ let delta;
39
39
  while (tightTree(t, g) < size) {
40
40
  edge = findMinSlackEdge(t, g);
41
41
  delta = t.hasNode(edge.source) ? slack(g, edge) : -slack(g, edge);
@@ -47,11 +47,11 @@ var feasibleTree = function (g) {
47
47
  * Finds a maximal tree of tight edges and returns the number of nodes in the
48
48
  * tree.
49
49
  */
50
- var tightTree = function (t, g) {
51
- var dfs = function (v) {
52
- g.getRelatedEdges(v, "both").forEach(function (e) {
53
- var edgeV = e.source;
54
- var w = v === edgeV ? e.target : edgeV;
50
+ const tightTree = (t, g) => {
51
+ const dfs = (v) => {
52
+ g.getRelatedEdges(v, 'both').forEach((e) => {
53
+ const edgeV = e.source;
54
+ const w = v === edgeV ? e.target : edgeV;
55
55
  if (!t.hasNode(w) && !slack(g, e)) {
56
56
  t.addNode({
57
57
  id: w,
@@ -67,7 +67,7 @@ var tightTree = function (t, g) {
67
67
  }
68
68
  });
69
69
  };
70
- t.getAllNodes().forEach(function (n) { return dfs(n.id); });
70
+ t.getAllNodes().forEach((n) => dfs(n.id));
71
71
  return t.getAllNodes().length;
72
72
  };
73
73
  /*
@@ -95,14 +95,14 @@ var tightTree = function (t, g) {
95
95
  * Returns a tree (undirected graph) that is constructed using only "tight"
96
96
  * edges.
97
97
  */
98
- var feasibleTreeWithLayer = function (g) {
99
- var t = new Graph({ tree: [] });
98
+ const feasibleTreeWithLayer = (g) => {
99
+ const t = new Graph({ tree: [] });
100
100
  // Choose arbitrary node from which to start our tree
101
- var start = g.getAllNodes()[0];
102
- var size = g.getAllNodes().length;
101
+ const start = g.getAllNodes()[0];
102
+ const size = g.getAllNodes().length;
103
103
  t.addNode(start);
104
- var edge;
105
- var delta;
104
+ let edge;
105
+ let delta;
106
106
  while (tightTreeWithLayer(t, g) < size) {
107
107
  edge = findMinSlackEdge(t, g);
108
108
  delta = t.hasNode(edge.source) ? slack(g, edge) : -slack(g, edge);
@@ -114,12 +114,12 @@ var feasibleTreeWithLayer = function (g) {
114
114
  * Finds a maximal tree of tight edges and returns the number of nodes in the
115
115
  * tree.
116
116
  */
117
- var tightTreeWithLayer = function (t, g) {
118
- var dfs = function (v) {
117
+ const tightTreeWithLayer = (t, g) => {
118
+ const dfs = (v) => {
119
119
  var _a;
120
- (_a = g.getRelatedEdges(v, "both")) === null || _a === void 0 ? void 0 : _a.forEach(function (e) {
121
- var edgeV = e.source;
122
- var w = v === edgeV ? e.target : edgeV;
120
+ (_a = g.getRelatedEdges(v, 'both')) === null || _a === void 0 ? void 0 : _a.forEach((e) => {
121
+ const edgeV = e.source;
122
+ const w = v === edgeV ? e.target : edgeV;
123
123
  // 对于指定layer的,直接加入tight-tree,不参与调整
124
124
  if (!t.hasNode(w) &&
125
125
  (g.getNode(w).data.layer !== undefined || !slack(g, e))) {
@@ -137,24 +137,24 @@ var tightTreeWithLayer = function (t, g) {
137
137
  }
138
138
  });
139
139
  };
140
- t.getAllNodes().forEach(function (n) { return dfs(n.id); });
140
+ t.getAllNodes().forEach((n) => dfs(n.id));
141
141
  return t.getAllNodes().length;
142
142
  };
143
143
  /*
144
144
  * Finds the edge with the smallest slack that is incident on tree and returns
145
145
  * it.
146
146
  */
147
- var findMinSlackEdge = function (t, g) {
148
- return minBy(g.getAllEdges(), function (e) {
147
+ const findMinSlackEdge = (t, g) => {
148
+ return minBy(g.getAllEdges(), (e) => {
149
149
  if (t.hasNode(e.source) !== t.hasNode(e.target)) {
150
150
  return slack(g, e);
151
151
  }
152
152
  return Infinity;
153
153
  });
154
154
  };
155
- var shiftRanks = function (t, g, delta) {
156
- t.getAllNodes().forEach(function (tn) {
157
- var v = g.getNode(tn.id);
155
+ const shiftRanks = (t, g, delta) => {
156
+ t.getAllNodes().forEach((tn) => {
157
+ const v = g.getNode(tn.id);
158
158
  if (!v.data.rank)
159
159
  v.data.rank = 0;
160
160
  v.data.rank += delta;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feasible-tree.js","sourceRoot":"","sources":["../../../src/antv-dagre/rank/feasible-tree.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Graph as IGraph } from '../../types';
2
+ export declare const rank: (g: IGraph, ranker: 'network-simplex' | 'tight-tree' | 'longest-path') => void;
@@ -1,6 +1,6 @@
1
- import { longestPath, longestPathWithLayer } from "./util";
2
- import { feasibleTreeWithLayer as feasibleTree } from "./feasible-tree";
3
- import { networkSimplex } from "./network-simplex";
1
+ import { feasibleTreeWithLayer as feasibleTree } from './feasible-tree';
2
+ import { networkSimplex } from './network-simplex';
3
+ import { longestPath, longestPathWithLayer } from './util';
4
4
  /*
5
5
  * Assigns a rank to each node in the input graph that respects the "minlen"
6
6
  * constraint specified on edges between nodes.
@@ -20,15 +20,15 @@ import { networkSimplex } from "./network-simplex";
20
20
  * algorithm. Ranks can start at any index (including negative), we'll
21
21
  * fix them up later.
22
22
  */
23
- export var rank = function (g, ranker) {
23
+ export const rank = (g, ranker) => {
24
24
  switch (ranker) {
25
- case "network-simplex":
25
+ case 'network-simplex':
26
26
  networkSimplexRanker(g);
27
27
  break;
28
- case "tight-tree":
28
+ case 'tight-tree':
29
29
  tightTreeRanker(g);
30
30
  break;
31
- case "longest-path":
31
+ case 'longest-path':
32
32
  longestPathRanker(g);
33
33
  break;
34
34
  // default: networkSimplexRanker(g);
@@ -37,12 +37,12 @@ export var rank = function (g, ranker) {
37
37
  }
38
38
  };
39
39
  // A fast and simple ranker, but results are far from optimal.
40
- var longestPathRanker = longestPath;
41
- var tightTreeRanker = function (g) {
40
+ const longestPathRanker = longestPath;
41
+ const tightTreeRanker = (g) => {
42
42
  longestPathWithLayer(g);
43
43
  feasibleTree(g);
44
44
  };
45
- var networkSimplexRanker = function (g) {
45
+ const networkSimplexRanker = (g) => {
46
46
  networkSimplex(g);
47
47
  };
48
48
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/antv-dagre/rank/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAE3D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAClB,CAAS,EACT,MAAyD,EACzD,EAAE;IACF,QAAQ,MAAM,EAAE;QACd,KAAK,iBAAiB;YACpB,oBAAoB,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM;QACR,KAAK,YAAY;YACf,eAAe,CAAC,CAAC,CAAC,CAAC;YACnB,MAAM;QACR,KAAK,cAAc;YACjB,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM;QACR,oCAAoC;QACpC;YACE,eAAe,CAAC,CAAC,CAAC,CAAC;KACtB;AACH,CAAC,CAAC;AAEF,8DAA8D;AAC9D,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAEtC,MAAM,eAAe,GAAG,CAAC,CAAS,EAAE,EAAE;IACpC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACxB,YAAY,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,CAAS,EAAE,EAAE;IACzC,cAAc,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { Edge, ID } from "@antv/graphlib";
2
- import { EdgeData, Graph as IGraph } from "../../types";
1
+ import { Edge, ID } from '@antv/graphlib';
2
+ import { EdgeData, Graph as IGraph } from '../../types';
3
3
  export declare const networkSimplex: (og: IGraph) => void;
4
4
  export declare const initCutValues: (t: IGraph, g: IGraph) => void;
5
5
  export declare const calcCutValue: (t: IGraph, g: IGraph, child: ID) => number;
@@ -1,6 +1,6 @@
1
- import { feasibleTree } from "./feasible-tree";
2
- import { slack, longestPath as initRank } from "./util";
3
- import { dfs, minBy, simplify } from "../util";
1
+ import { dfs, minBy, simplify } from '../util';
2
+ import { feasibleTree } from './feasible-tree';
3
+ import { longestPath as initRank, slack } from './util';
4
4
  /*
5
5
  * The network simplex algorithm assigns ranks to each node in the input graph
6
6
  * and iteratively improves the ranking to reduce the length of edges.
@@ -34,14 +34,14 @@ import { dfs, minBy, simplify } from "../util";
34
34
  * for Drawing Directed Graphs." The structure of the file roughly follows the
35
35
  * structure of the overall algorithm.
36
36
  */
37
- export var networkSimplex = function (og) {
38
- var g = simplify(og);
37
+ export const networkSimplex = (og) => {
38
+ const g = simplify(og);
39
39
  initRank(g);
40
- var t = feasibleTree(g);
40
+ const t = feasibleTree(g);
41
41
  initLowLimValues(t);
42
42
  initCutValues(t, g);
43
- var e;
44
- var f;
43
+ let e;
44
+ let f;
45
45
  while ((e = leaveEdge(t))) {
46
46
  f = enterEdge(t, g, e);
47
47
  exchangeEdges(t, g, e, f);
@@ -50,56 +50,56 @@ export var networkSimplex = function (og) {
50
50
  /*
51
51
  * Initializes cut values for all edges in the tree.
52
52
  */
53
- export var initCutValues = function (t, g) {
54
- var vs = dfs(t, t.getAllNodes(), "post", false);
53
+ export const initCutValues = (t, g) => {
54
+ let vs = dfs(t, t.getAllNodes(), 'post', false);
55
55
  vs = vs.slice(0, (vs === null || vs === void 0 ? void 0 : vs.length) - 1);
56
- vs.forEach(function (v) {
56
+ vs.forEach((v) => {
57
57
  assignCutValue(t, g, v);
58
58
  });
59
59
  };
60
- var assignCutValue = function (t, g, child) {
61
- var childLab = t.getNode(child);
62
- var parent = childLab.data.parent;
60
+ const assignCutValue = (t, g, child) => {
61
+ const childLab = t.getNode(child);
62
+ const parent = childLab.data.parent;
63
63
  // FIXME: use undirected edge?
64
- var edge = t
65
- .getRelatedEdges(child, "both")
66
- .find(function (e) { return e.target === parent || e.source === parent; });
64
+ const edge = t
65
+ .getRelatedEdges(child, 'both')
66
+ .find((e) => e.target === parent || e.source === parent);
67
67
  edge.data.cutvalue = calcCutValue(t, g, child);
68
68
  };
69
69
  /*
70
70
  * Given the tight tree, its graph, and a child in the graph calculate and
71
71
  * return the cut value for the edge between the child and its parent.
72
72
  */
73
- export var calcCutValue = function (t, g, child) {
74
- var childLab = t.getNode(child);
75
- var parent = childLab.data.parent;
73
+ export const calcCutValue = (t, g, child) => {
74
+ const childLab = t.getNode(child);
75
+ const parent = childLab.data.parent;
76
76
  // True if the child is on the tail end of the edge in the directed graph
77
- var childIsTail = true;
77
+ let childIsTail = true;
78
78
  // The graph's view of the tree edge we're inspecting
79
- var graphEdge = g
80
- .getRelatedEdges(child, "out")
81
- .find(function (e) { return e.target === parent; });
79
+ let graphEdge = g
80
+ .getRelatedEdges(child, 'out')
81
+ .find((e) => e.target === parent);
82
82
  // The accumulated cut value for the edge between this node and its parent
83
- var cutValue = 0;
83
+ let cutValue = 0;
84
84
  if (!graphEdge) {
85
85
  childIsTail = false;
86
86
  graphEdge = g
87
- .getRelatedEdges(parent, "out")
88
- .find(function (e) { return e.target === child; });
87
+ .getRelatedEdges(parent, 'out')
88
+ .find((e) => e.target === child);
89
89
  }
90
90
  cutValue = graphEdge.data.weight;
91
- g.getRelatedEdges(child, "both").forEach(function (e) {
92
- var isOutEdge = e.source === child;
93
- var other = isOutEdge ? e.target : e.source;
91
+ g.getRelatedEdges(child, 'both').forEach((e) => {
92
+ const isOutEdge = e.source === child;
93
+ const other = isOutEdge ? e.target : e.source;
94
94
  if (other !== parent) {
95
- var pointsToHead = isOutEdge === childIsTail;
96
- var otherWeight = e.data.weight;
95
+ const pointsToHead = isOutEdge === childIsTail;
96
+ const otherWeight = e.data.weight;
97
97
  cutValue += pointsToHead ? otherWeight : -otherWeight;
98
98
  if (isTreeEdge(t, child, other)) {
99
99
  // FIXME: use undirected edge?
100
- var otherCutValue = t
101
- .getRelatedEdges(child, "both")
102
- .find(function (e) { return e.source === other || e.target === other; }).data
100
+ const otherCutValue = t
101
+ .getRelatedEdges(child, 'both')
102
+ .find((e) => e.source === other || e.target === other).data
103
103
  .cutvalue;
104
104
  cutValue += pointsToHead ? -otherCutValue : otherCutValue;
105
105
  }
@@ -107,17 +107,16 @@ export var calcCutValue = function (t, g, child) {
107
107
  });
108
108
  return cutValue;
109
109
  };
110
- export var initLowLimValues = function (tree, root) {
111
- if (root === void 0) { root = tree.getAllNodes()[0].id; }
110
+ export const initLowLimValues = (tree, root = tree.getAllNodes()[0].id) => {
112
111
  dfsAssignLowLim(tree, {}, 1, root);
113
112
  };
114
- var dfsAssignLowLim = function (tree, visited, nextLim, v, parent) {
113
+ const dfsAssignLowLim = (tree, visited, nextLim, v, parent) => {
115
114
  var _a;
116
- var low = nextLim;
117
- var useNextLim = nextLim;
118
- var label = tree.getNode(v);
115
+ const low = nextLim;
116
+ let useNextLim = nextLim;
117
+ const label = tree.getNode(v);
119
118
  visited[v] = true;
120
- (_a = tree.getNeighbors(v)) === null || _a === void 0 ? void 0 : _a.forEach(function (w) {
119
+ (_a = tree.getNeighbors(v)) === null || _a === void 0 ? void 0 : _a.forEach((w) => {
121
120
  if (!visited[w.id]) {
122
121
  useNextLim = dfsAssignLowLim(tree, visited, useNextLim, w.id, v);
123
122
  }
@@ -133,36 +132,36 @@ var dfsAssignLowLim = function (tree, visited, nextLim, v, parent) {
133
132
  }
134
133
  return useNextLim;
135
134
  };
136
- export var leaveEdge = function (tree) {
137
- return tree.getAllEdges().find(function (e) {
135
+ export const leaveEdge = (tree) => {
136
+ return tree.getAllEdges().find((e) => {
138
137
  return e.data.cutvalue < 0;
139
138
  });
140
139
  };
141
- export var enterEdge = function (t, g, edge) {
142
- var v = edge.source;
143
- var w = edge.target;
140
+ export const enterEdge = (t, g, edge) => {
141
+ let v = edge.source;
142
+ let w = edge.target;
144
143
  // For the rest of this function we assume that v is the tail and w is the
145
144
  // head, so if we don't have this edge in the graph we should flip it to
146
145
  // match the correct orientation.
147
- if (!g.getRelatedEdges(v, "out").find(function (e) { return e.target === w; })) {
146
+ if (!g.getRelatedEdges(v, 'out').find((e) => e.target === w)) {
148
147
  v = edge.target;
149
148
  w = edge.source;
150
149
  }
151
- var vLabel = t.getNode(v);
152
- var wLabel = t.getNode(w);
153
- var tailLabel = vLabel;
154
- var flip = false;
150
+ const vLabel = t.getNode(v);
151
+ const wLabel = t.getNode(w);
152
+ let tailLabel = vLabel;
153
+ let flip = false;
155
154
  // If the root is in the tail of the edge then we need to flip the logic that
156
155
  // checks for the head and tail nodes in the candidates function below.
157
156
  if (vLabel.data.lim > wLabel.data.lim) {
158
157
  tailLabel = wLabel;
159
158
  flip = true;
160
159
  }
161
- var candidates = g.getAllEdges().filter(function (edge) {
160
+ const candidates = g.getAllEdges().filter((edge) => {
162
161
  return (flip === isDescendant(t.getNode(edge.source), tailLabel) &&
163
162
  flip !== isDescendant(t.getNode(edge.target), tailLabel));
164
163
  });
165
- return minBy(candidates, function (edge) {
164
+ return minBy(candidates, (edge) => {
166
165
  return slack(g, edge);
167
166
  });
168
167
  };
@@ -173,16 +172,16 @@ export var enterEdge = function (t, g, edge) {
173
172
  * @param e edge to remove
174
173
  * @param f edge to add
175
174
  */
176
- export var exchangeEdges = function (t, g, e, f) {
175
+ export const exchangeEdges = (t, g, e, f) => {
177
176
  // FIXME: use undirected edge?
178
- var existed = t
179
- .getRelatedEdges(e.source, "both")
180
- .find(function (edge) { return edge.source === e.target || edge.target === e.target; });
177
+ const existed = t
178
+ .getRelatedEdges(e.source, 'both')
179
+ .find((edge) => edge.source === e.target || edge.target === e.target);
181
180
  if (existed) {
182
181
  t.removeEdge(existed.id);
183
182
  }
184
183
  t.addEdge({
185
- id: "e" + Math.random(),
184
+ id: `e${Math.random()}`,
186
185
  source: f.source,
187
186
  target: f.target,
188
187
  data: {},
@@ -191,20 +190,20 @@ export var exchangeEdges = function (t, g, e, f) {
191
190
  initCutValues(t, g);
192
191
  updateRanks(t, g);
193
192
  };
194
- var updateRanks = function (t, g) {
195
- var root = t.getAllNodes().find(function (v) {
193
+ const updateRanks = (t, g) => {
194
+ const root = t.getAllNodes().find((v) => {
196
195
  return !v.data.parent;
197
196
  });
198
- var vs = dfs(t, root, "pre", false);
197
+ let vs = dfs(t, root, 'pre', false);
199
198
  vs = vs.slice(1);
200
- vs.forEach(function (v) {
201
- var parent = t.getNode(v).data.parent;
202
- var edge = g.getRelatedEdges(v, "out").find(function (e) { return e.target === parent; });
199
+ vs.forEach((v) => {
200
+ const parent = t.getNode(v).data.parent;
201
+ let edge = g.getRelatedEdges(v, 'out').find((e) => e.target === parent);
203
202
  // let edge = g.edgeFromArgs(v, parent);
204
- var flipped = false;
203
+ let flipped = false;
205
204
  if (!edge && g.hasNode(parent)) {
206
205
  // edge = g.edgeFromArgs(parent, v)!;
207
- edge = g.getRelatedEdges(parent, "out").find(function (e) { return e.target === v; });
206
+ edge = g.getRelatedEdges(parent, 'out').find((e) => e.target === v);
208
207
  flipped = true;
209
208
  }
210
209
  g.getNode(v).data.rank =
@@ -215,17 +214,17 @@ var updateRanks = function (t, g) {
215
214
  /*
216
215
  * Returns true if the edge is in the tree.
217
216
  */
218
- var isTreeEdge = function (tree, u, v) {
217
+ const isTreeEdge = (tree, u, v) => {
219
218
  // FIXME: use undirected edge?
220
219
  return tree
221
- .getRelatedEdges(u, "both")
222
- .find(function (e) { return e.source === v || e.target === v; });
220
+ .getRelatedEdges(u, 'both')
221
+ .find((e) => e.source === v || e.target === v);
223
222
  };
224
223
  /*
225
224
  * Returns true if the specified node is descendant of the root node per the
226
225
  * assigned low and lim attributes in the tree.
227
226
  */
228
- var isDescendant = function (vLabel, rootLabel) {
227
+ const isDescendant = (vLabel, rootLabel) => {
229
228
  return (rootLabel.data.low <= vLabel.data.lim &&
230
229
  vLabel.data.lim <= rootLabel.data.lim);
231
230
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network-simplex.js","sourceRoot":"","sources":["../../../src/antv-dagre/rank/network-simplex.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { Edge } from "@antv/graphlib";
2
- import { EdgeData, Graph } from "../../types";
1
+ import { Edge } from '@antv/graphlib';
2
+ import { EdgeData, Graph } from '../../types';
3
3
  declare const longestPath: (g: Graph) => void;
4
4
  declare const longestPathWithLayer: (g: Graph) => void;
5
5
  declare const slack: (g: Graph, e: Edge<EdgeData>) => number;
@@ -19,22 +19,22 @@
19
19
  *
20
20
  * 1. Each node will be assign an (unnormalized) "rank" property.
21
21
  */
22
- var longestPath = function (g) {
23
- var visited = {};
24
- var dfs = function (v) {
22
+ const longestPath = (g) => {
23
+ const visited = {};
24
+ const dfs = (v) => {
25
25
  var _a;
26
- var label = g.getNode(v);
26
+ const label = g.getNode(v);
27
27
  if (!label)
28
28
  return 0;
29
29
  if (visited[v]) {
30
30
  return label.data.rank;
31
31
  }
32
32
  visited[v] = true;
33
- var rank;
34
- (_a = g.getRelatedEdges(v, "out")) === null || _a === void 0 ? void 0 : _a.forEach(function (e) {
35
- var wRank = dfs(e.target);
36
- var minLen = e.data.minlen;
37
- var r = wRank - minLen;
33
+ let rank;
34
+ (_a = g.getRelatedEdges(v, 'out')) === null || _a === void 0 ? void 0 : _a.forEach((e) => {
35
+ const wRank = dfs(e.target);
36
+ const minLen = e.data.minlen;
37
+ const r = wRank - minLen;
38
38
  if (r) {
39
39
  if (rank === undefined || r < rank) {
40
40
  rank = r;
@@ -48,27 +48,27 @@ var longestPath = function (g) {
48
48
  return rank;
49
49
  };
50
50
  g.getAllNodes()
51
- .filter(function (n) { return g.getRelatedEdges(n.id, "in").length === 0; })
52
- .forEach(function (source) { return dfs(source.id); });
51
+ .filter((n) => g.getRelatedEdges(n.id, 'in').length === 0)
52
+ .forEach((source) => dfs(source.id));
53
53
  };
54
- var longestPathWithLayer = function (g) {
54
+ const longestPathWithLayer = (g) => {
55
55
  // 用longest path,找出最深的点
56
- var visited = {};
57
- var minRank;
58
- var dfs = function (v) {
56
+ const visited = {};
57
+ let minRank;
58
+ const dfs = (v) => {
59
59
  var _a;
60
- var label = g.getNode(v);
60
+ const label = g.getNode(v);
61
61
  if (!label)
62
62
  return 0;
63
63
  if (visited[v]) {
64
64
  return label.data.rank;
65
65
  }
66
66
  visited[v] = true;
67
- var rank;
68
- (_a = g.getRelatedEdges(v, "out")) === null || _a === void 0 ? void 0 : _a.forEach(function (e) {
69
- var wRank = dfs(e.target);
70
- var minLen = e.data.minlen;
71
- var r = wRank - minLen;
67
+ let rank;
68
+ (_a = g.getRelatedEdges(v, 'out')) === null || _a === void 0 ? void 0 : _a.forEach((e) => {
69
+ const wRank = dfs(e.target);
70
+ const minLen = e.data.minlen;
71
+ const r = wRank - minLen;
72
72
  if (r) {
73
73
  if (rank === undefined || r < rank) {
74
74
  rank = r;
@@ -85,8 +85,8 @@ var longestPathWithLayer = function (g) {
85
85
  return rank;
86
86
  };
87
87
  g.getAllNodes()
88
- .filter(function (n) { return g.getRelatedEdges(n.id, "in").length === 0; })
89
- .forEach(function (source) {
88
+ .filter((n) => g.getRelatedEdges(n.id, 'in').length === 0)
89
+ .forEach((source) => {
90
90
  if (source)
91
91
  dfs(source.id);
92
92
  });
@@ -95,11 +95,11 @@ var longestPathWithLayer = function (g) {
95
95
  }
96
96
  // minRank += 1; // NOTE: 最小的层级是dummy root,+1
97
97
  // forward一遍,赋值层级
98
- var forwardVisited = {};
99
- var dfsForward = function (v, nextRank) {
98
+ const forwardVisited = {};
99
+ const dfsForward = (v, nextRank) => {
100
100
  var _a;
101
- var label = g.getNode(v);
102
- var currRank = !isNaN(label.data.layer) ? label.data.layer : nextRank;
101
+ const label = g.getNode(v);
102
+ const currRank = !isNaN(label.data.layer) ? label.data.layer : nextRank;
103
103
  // 没有指定,取最大值
104
104
  if (label.data.rank === undefined || label.data.rank < currRank) {
105
105
  label.data.rank = currRank;
@@ -108,13 +108,13 @@ var longestPathWithLayer = function (g) {
108
108
  return;
109
109
  forwardVisited[v] = true;
110
110
  // DFS遍历子节点
111
- (_a = g.getRelatedEdges(v, "out")) === null || _a === void 0 ? void 0 : _a.forEach(function (e) {
111
+ (_a = g.getRelatedEdges(v, 'out')) === null || _a === void 0 ? void 0 : _a.forEach((e) => {
112
112
  dfsForward(e.target, currRank + e.data.minlen);
113
113
  });
114
114
  };
115
115
  // 指定层级的,更新下游
116
- g.getAllNodes().forEach(function (n) {
117
- var label = n.data;
116
+ g.getAllNodes().forEach((n) => {
117
+ const label = n.data;
118
118
  if (!label)
119
119
  return;
120
120
  if (!isNaN(label.layer)) {
@@ -129,7 +129,7 @@ var longestPathWithLayer = function (g) {
129
129
  * Returns the amount of slack for the given edge. The slack is defined as the
130
130
  * difference between the length of the edge and its minimum length.
131
131
  */
132
- var slack = function (g, e) {
132
+ const slack = (g, e) => {
133
133
  return (g.getNode(e.target).data.rank -
134
134
  g.getNode(e.source).data.rank -
135
135
  e.data.minlen);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/antv-dagre/rank/util.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,GAAG,CAAC,CAAQ,EAAE,EAAE;IAC/B,MAAM,OAAO,GAAwB,EAAE,CAAC;IAExC,MAAM,GAAG,GAAG,CAAC,CAAK,EAAE,EAAE;;QACpB,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC;QAC5B,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,CAAC;QACrB,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAK,CAAC;SACzB;QACD,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAElB,IAAI,IAAY,CAAC;QAEjB,MAAA,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,0CAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACzC,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAO,CAAC;YAC9B,MAAM,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC;YACzB,IAAI,CAAC,EAAE;gBACL,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,IAAI,EAAE;oBAClC,IAAI,GAAG,CAAC,CAAC;iBACV;aACF;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAK,EAAE;YACV,IAAI,GAAG,CAAC,CAAC;SACV;QAED,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,CAAC,CAAC,WAAW,EAAE;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;SACzD,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,CAAQ,EAAE,EAAE;IACxC,uBAAuB;IACvB,MAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,IAAI,OAAe,CAAC;IAEpB,MAAM,GAAG,GAAG,CAAC,CAAK,EAAE,EAAE;;QACpB,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC;QAC5B,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,CAAC;QACrB,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAK,CAAC;SACzB;QACD,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAElB,IAAI,IAAY,CAAC;QAEjB,MAAA,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,0CAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACzC,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAO,CAAC;YAC9B,MAAM,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC;YACzB,IAAI,CAAC,EAAE;gBACL,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,IAAI,EAAE;oBAClC,IAAI,GAAG,CAAC,CAAC;iBACV;aACF;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAK,EAAE;YACV,IAAI,GAAG,CAAC,CAAC;SACV;QAED,IAAI,OAAO,KAAK,SAAS,IAAI,IAAI,GAAG,OAAO,EAAE;YAC3C,OAAO,GAAG,IAAI,CAAC;SAChB;QAED,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,CAAC,CAAC,WAAW,EAAE;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;SACzD,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAClB,IAAI,MAAM;YAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEL,IAAI,OAAQ,KAAK,SAAS,EAAE;QAC1B,OAAO,GAAG,CAAC,CAAC;KACb;IAED,6CAA6C;IAE7C,iBAAiB;IACjB,MAAM,cAAc,GAA4B,EAAE,CAAC;IACnD,MAAM,UAAU,GAAG,CAAC,CAAK,EAAE,QAAgB,EAAE,EAAE;;QAC7C,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC;QAE5B,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QAE1E,YAAY;QACZ,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,IAAK,GAAG,QAAQ,EAAE;YAChE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;SAC5B;QAED,IAAI,cAAc,CAAC,CAAC,CAAC;YAAE,OAAO;QAC9B,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAEzB,WAAW;QACX,MAAA,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,0CAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACzC,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,aAAa;IACb,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5B,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAM,CAAC,EAAE;YACxB,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,KAAM,CAAC,CAAC,CAAC,2BAA2B;SAC5D;aAAM;YACL,KAAK,CAAC,IAAK,IAAI,OAAO,CAAC;SACxB;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,KAAK,GAAG,CAAC,CAAQ,EAAE,CAAiB,EAAE,EAAE;IAC5C,OAAO,CACL,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAK;QAC9B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAK;QAC9B,CAAC,CAAC,IAAI,CAAC,MAAO,CACf,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type DagreRankdir = 'TB' | 'BT' | 'LR' | 'RL' | 'tb' | 'lr' | 'rl' | 'bt';
2
+ export type DagreAlign = 'UL' | 'UR' | 'DL' | 'DR';
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/antv-dagre/types.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- import { ID, Graph, Node } from '@antv/graphlib';
1
+ import { Graph, ID, Node } from '@antv/graphlib';
2
2
  import { EdgeData, Graph as IGraph, NodeData } from '../types';
3
3
  export declare const addDummyNode: (g: IGraph, type: string, data: NodeData, name: string) => ID;
4
4
  export declare const simplify: (g: IGraph) => Graph<NodeData, EdgeData>;