@dpuse/dpuse-tool-d3-visualiser 0.0.23 → 0.0.25
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.
- package/dist/{billboardJs-BTW-G9h0.js → billboardJs-DJFb72FS.js} +860 -830
- package/dist/billboardJs-DJFb72FS.js.map +1 -0
- package/dist/dpuse-tool-d3-visualiser.es.js +4 -4
- package/dist/{erdDiagram-BWtgbL8q.js → erdDiagram-BDV0xo6a.js} +454 -475
- package/dist/erdDiagram-BDV0xo6a.js.map +1 -0
- package/dist/link-RZgae8Z2.js +98 -0
- package/dist/link-RZgae8Z2.js.map +1 -0
- package/dist/{sankeyDiagram-DDZfWF8l.js → sankeyDiagram-DlIuwzOl.js} +2 -2
- package/dist/{sankeyDiagram-DDZfWF8l.js.map → sankeyDiagram-DlIuwzOl.js.map} +1 -1
- package/dist/{treeDiagram-C8jl6ALp.js → treeDiagram-Bi5VXDVy.js} +2 -2
- package/dist/{treeDiagram-C8jl6ALp.js.map → treeDiagram-Bi5VXDVy.js.map} +1 -1
- package/dist/types/src/erdDiagram.d.ts +2 -1
- package/package.json +1 -1
- package/dist/billboardJs-BTW-G9h0.js.map +0 -1
- package/dist/erdDiagram-BWtgbL8q.js.map +0 -1
- package/dist/linear-J4iYa1Bf.js +0 -34
- package/dist/linear-J4iYa1Bf.js.map +0 -1
- package/dist/link-20hHJfDf.js +0 -65
- package/dist/link-20hHJfDf.js.map +0 -1
- package/dist/point-BwTGxj8U.js +0 -40
- package/dist/point-BwTGxj8U.js.map +0 -1
|
@@ -1,52 +1,28 @@
|
|
|
1
1
|
import { t as e } from "./select-BIuoFcZG.js";
|
|
2
|
-
import { a as t, n, o as r, r as i, t as a } from "./point-BwTGxj8U.js";
|
|
3
|
-
import { t as o } from "./linear-J4iYa1Bf.js";
|
|
4
|
-
//#region node_modules/d3-shape/src/line.js
|
|
5
|
-
function s(e, s) {
|
|
6
|
-
var c = r(!0), l = null, u = o, d = null, f = t(p);
|
|
7
|
-
e = typeof e == "function" ? e : e === void 0 ? a : r(e), s = typeof s == "function" ? s : s === void 0 ? n : r(s);
|
|
8
|
-
function p(t) {
|
|
9
|
-
var n, r = (t = i(t)).length, a, o = !1, p;
|
|
10
|
-
for (l ?? (d = u(p = f())), n = 0; n <= r; ++n) !(n < r && c(a = t[n], n, t)) === o && ((o = !o) ? d.lineStart() : d.lineEnd()), o && d.point(+e(a, n, t), +s(a, n, t));
|
|
11
|
-
if (p) return d = null, p + "" || null;
|
|
12
|
-
}
|
|
13
|
-
return p.x = function(t) {
|
|
14
|
-
return arguments.length ? (e = typeof t == "function" ? t : r(+t), p) : e;
|
|
15
|
-
}, p.y = function(e) {
|
|
16
|
-
return arguments.length ? (s = typeof e == "function" ? e : r(+e), p) : s;
|
|
17
|
-
}, p.defined = function(e) {
|
|
18
|
-
return arguments.length ? (c = typeof e == "function" ? e : r(!!e), p) : c;
|
|
19
|
-
}, p.curve = function(e) {
|
|
20
|
-
return arguments.length ? (u = e, l != null && (d = u(l)), p) : u;
|
|
21
|
-
}, p.context = function(e) {
|
|
22
|
-
return arguments.length ? (e == null ? l = d = null : d = u(l = e), p) : l;
|
|
23
|
-
}, p;
|
|
24
|
-
}
|
|
25
|
-
//#endregion
|
|
26
2
|
//#region node_modules/@dagrejs/dagre/dist/dagre.esm.js
|
|
27
|
-
var
|
|
3
|
+
var t = Object.defineProperty, n = (e, n, r) => n in e ? t(e, n, {
|
|
28
4
|
enumerable: !0,
|
|
29
5
|
configurable: !0,
|
|
30
6
|
writable: !0,
|
|
31
|
-
value:
|
|
32
|
-
}) : e[
|
|
33
|
-
for (var
|
|
34
|
-
get:
|
|
7
|
+
value: r
|
|
8
|
+
}) : e[n] = r, r = (e, n) => {
|
|
9
|
+
for (var r in n) t(e, r, {
|
|
10
|
+
get: n[r],
|
|
35
11
|
enumerable: !0
|
|
36
12
|
});
|
|
37
|
-
},
|
|
38
|
-
|
|
39
|
-
Graph: () =>
|
|
40
|
-
alg: () =>
|
|
41
|
-
json: () =>
|
|
42
|
-
version: () =>
|
|
13
|
+
}, i = (e, t, r) => n(e, typeof t == "symbol" ? t : t + "", r), a = {};
|
|
14
|
+
r(a, {
|
|
15
|
+
Graph: () => c,
|
|
16
|
+
alg: () => b,
|
|
17
|
+
json: () => h,
|
|
18
|
+
version: () => m
|
|
43
19
|
});
|
|
44
|
-
var
|
|
45
|
-
for (var n in t)
|
|
20
|
+
var o = Object.defineProperty, s = (e, t) => {
|
|
21
|
+
for (var n in t) o(e, n, {
|
|
46
22
|
get: t[n],
|
|
47
23
|
enumerable: !0
|
|
48
24
|
});
|
|
49
|
-
},
|
|
25
|
+
}, c = class {
|
|
50
26
|
constructor(e) {
|
|
51
27
|
this._isDirected = !0, this._isMultigraph = !1, this._isCompound = !1, this._nodes = {}, this._in = {}, this._preds = {}, this._out = {}, this._sucs = {}, this._edgeObjs = {}, this._edgeLabels = {}, this._nodeCount = 0, this._edgeCount = 0, this._defaultNodeLabelFn = () => {}, this._defaultEdgeLabelFn = () => {}, e && (this._isDirected = "directed" in e ? e.directed : !0, this._isMultigraph = "multigraph" in e && e.multigraph, this._isCompound = "compound" in e && e.compound), this._isCompound && (this._parent = {}, this._children = {}, this._children["\0"] = {});
|
|
52
28
|
}
|
|
@@ -181,15 +157,15 @@ var p = Object.defineProperty, m = (e, t) => {
|
|
|
181
157
|
setEdge(e, t, n, r) {
|
|
182
158
|
let i, a, o, s, c = !1;
|
|
183
159
|
typeof e == "object" && e && "v" in e ? (i = e.v, a = e.w, o = e.name, arguments.length === 2 && (s = t, c = !0)) : (i = e, a = t, o = r, arguments.length > 2 && (s = n, c = !0)), i = "" + i, a = "" + a, o !== void 0 && (o = "" + o);
|
|
184
|
-
let
|
|
185
|
-
if (
|
|
160
|
+
let u = d(this._isDirected, i, a, o);
|
|
161
|
+
if (u in this._edgeLabels) return c && (this._edgeLabels[u] = s), this;
|
|
186
162
|
if (o !== void 0 && !this._isMultigraph) throw Error("Cannot set a named edge when isMultigraph = false");
|
|
187
|
-
this.setNode(i), this.setNode(a), this._edgeLabels[
|
|
188
|
-
let
|
|
189
|
-
return i =
|
|
163
|
+
this.setNode(i), this.setNode(a), this._edgeLabels[u] = c ? s : this._defaultEdgeLabelFn(i, a, o);
|
|
164
|
+
let p = f(this._isDirected, i, a, o);
|
|
165
|
+
return i = p.v, a = p.w, Object.freeze(p), this._edgeObjs[u] = p, l(this._preds[a], i), l(this._sucs[i], a), this._in[a][u] = p, this._out[i][u] = p, this._edgeCount++, this;
|
|
190
166
|
}
|
|
191
167
|
edge(e, t, n) {
|
|
192
|
-
let r = arguments.length === 1 ?
|
|
168
|
+
let r = arguments.length === 1 ? p(this._isDirected, e) : d(this._isDirected, e, t, n);
|
|
193
169
|
return this._edgeLabels[r];
|
|
194
170
|
}
|
|
195
171
|
edgeAsObj(e, t, n) {
|
|
@@ -197,13 +173,13 @@ var p = Object.defineProperty, m = (e, t) => {
|
|
|
197
173
|
return typeof r == "object" ? r : { label: r };
|
|
198
174
|
}
|
|
199
175
|
hasEdge(e, t, n) {
|
|
200
|
-
return (arguments.length === 1 ?
|
|
176
|
+
return (arguments.length === 1 ? p(this._isDirected, e) : d(this._isDirected, e, t, n)) in this._edgeLabels;
|
|
201
177
|
}
|
|
202
178
|
removeEdge(e, t, n) {
|
|
203
|
-
let r = arguments.length === 1 ?
|
|
179
|
+
let r = arguments.length === 1 ? p(this._isDirected, e) : d(this._isDirected, e, t, n), i = this._edgeObjs[r];
|
|
204
180
|
if (i) {
|
|
205
181
|
let e = i.v, t = i.w;
|
|
206
|
-
delete this._edgeLabels[r], delete this._edgeObjs[r],
|
|
182
|
+
delete this._edgeLabels[r], delete this._edgeObjs[r], u(this._preds[t], e), u(this._sucs[e], t), delete this._in[t][r], delete this._out[e][r], this._edgeCount--;
|
|
207
183
|
}
|
|
208
184
|
return this;
|
|
209
185
|
}
|
|
@@ -228,13 +204,13 @@ var p = Object.defineProperty, m = (e, t) => {
|
|
|
228
204
|
return n ? r.filter((e) => e.v === t && e.w === n || e.v === n && e.w === t) : r;
|
|
229
205
|
}
|
|
230
206
|
};
|
|
231
|
-
function
|
|
207
|
+
function l(e, t) {
|
|
232
208
|
e[t] ? e[t]++ : e[t] = 1;
|
|
233
209
|
}
|
|
234
|
-
function
|
|
210
|
+
function u(e, t) {
|
|
235
211
|
e[t] !== void 0 && !--e[t] && delete e[t];
|
|
236
212
|
}
|
|
237
|
-
function
|
|
213
|
+
function d(e, t, n, r) {
|
|
238
214
|
let i = "" + t, a = "" + n;
|
|
239
215
|
if (!e && i > a) {
|
|
240
216
|
let e = i;
|
|
@@ -242,7 +218,7 @@ function v(e, t, n, r) {
|
|
|
242
218
|
}
|
|
243
219
|
return i + "" + a + "" + (r === void 0 ? "\0" : r);
|
|
244
220
|
}
|
|
245
|
-
function
|
|
221
|
+
function f(e, t, n, r) {
|
|
246
222
|
let i = "" + t, a = "" + n;
|
|
247
223
|
if (!e && i > a) {
|
|
248
224
|
let e = i;
|
|
@@ -254,33 +230,33 @@ function ee(e, t, n, r) {
|
|
|
254
230
|
};
|
|
255
231
|
return r && (o.name = r), o;
|
|
256
232
|
}
|
|
257
|
-
function
|
|
258
|
-
return
|
|
233
|
+
function p(e, t) {
|
|
234
|
+
return d(e, t.v, t.w, t.name);
|
|
259
235
|
}
|
|
260
|
-
var
|
|
261
|
-
|
|
262
|
-
read: () =>
|
|
263
|
-
write: () =>
|
|
236
|
+
var m = "4.0.1", h = {};
|
|
237
|
+
s(h, {
|
|
238
|
+
read: () => y,
|
|
239
|
+
write: () => g
|
|
264
240
|
});
|
|
265
|
-
function
|
|
241
|
+
function g(e) {
|
|
266
242
|
let t = {
|
|
267
243
|
options: {
|
|
268
244
|
directed: e.isDirected(),
|
|
269
245
|
multigraph: e.isMultigraph(),
|
|
270
246
|
compound: e.isCompound()
|
|
271
247
|
},
|
|
272
|
-
nodes:
|
|
273
|
-
edges:
|
|
248
|
+
nodes: _(e),
|
|
249
|
+
edges: v(e)
|
|
274
250
|
}, n = e.graph();
|
|
275
251
|
return n !== void 0 && (t.value = structuredClone(n)), t;
|
|
276
252
|
}
|
|
277
|
-
function
|
|
253
|
+
function _(e) {
|
|
278
254
|
return e.nodes().map((t) => {
|
|
279
255
|
let n = e.node(t), r = e.parent(t), i = { v: t };
|
|
280
256
|
return n !== void 0 && (i.value = n), r !== void 0 && (i.parent = r), i;
|
|
281
257
|
});
|
|
282
258
|
}
|
|
283
|
-
function
|
|
259
|
+
function v(e) {
|
|
284
260
|
return e.edges().map((t) => {
|
|
285
261
|
let n = e.edge(t), r = {
|
|
286
262
|
v: t.v,
|
|
@@ -289,8 +265,8 @@ function ie(e) {
|
|
|
289
265
|
return t.name !== void 0 && (r.name = t.name), n !== void 0 && (r.value = n), r;
|
|
290
266
|
});
|
|
291
267
|
}
|
|
292
|
-
function
|
|
293
|
-
let t = new
|
|
268
|
+
function y(e) {
|
|
269
|
+
let t = new c(e.options);
|
|
294
270
|
return e.value !== void 0 && t.setGraph(e.value), e.nodes.forEach((e) => {
|
|
295
271
|
t.setNode(e.v, e.value), e.parent && t.setParent(e.v, e.parent);
|
|
296
272
|
}), e.edges.forEach((e) => {
|
|
@@ -301,30 +277,30 @@ function ae(e) {
|
|
|
301
277
|
}, e.value);
|
|
302
278
|
}), t;
|
|
303
279
|
}
|
|
304
|
-
var
|
|
305
|
-
|
|
306
|
-
CycleException: () =>
|
|
307
|
-
bellmanFord: () =>
|
|
308
|
-
components: () =>
|
|
309
|
-
dijkstra: () =>
|
|
310
|
-
dijkstraAll: () =>
|
|
311
|
-
findCycles: () =>
|
|
312
|
-
floydWarshall: () =>
|
|
313
|
-
isAcyclic: () =>
|
|
314
|
-
postorder: () =>
|
|
315
|
-
preorder: () =>
|
|
316
|
-
prim: () =>
|
|
317
|
-
shortestPaths: () =>
|
|
318
|
-
tarjan: () =>
|
|
319
|
-
topsort: () =>
|
|
280
|
+
var b = {};
|
|
281
|
+
s(b, {
|
|
282
|
+
CycleException: () => C,
|
|
283
|
+
bellmanFord: () => x,
|
|
284
|
+
components: () => ne,
|
|
285
|
+
dijkstra: () => S,
|
|
286
|
+
dijkstraAll: () => oe,
|
|
287
|
+
findCycles: () => ce,
|
|
288
|
+
floydWarshall: () => ue,
|
|
289
|
+
isAcyclic: () => fe,
|
|
290
|
+
postorder: () => ge,
|
|
291
|
+
preorder: () => _e,
|
|
292
|
+
prim: () => ve,
|
|
293
|
+
shortestPaths: () => ye,
|
|
294
|
+
tarjan: () => se,
|
|
295
|
+
topsort: () => w
|
|
320
296
|
});
|
|
321
|
-
var
|
|
322
|
-
function
|
|
323
|
-
return
|
|
297
|
+
var ee = () => 1;
|
|
298
|
+
function x(e, t, n, r) {
|
|
299
|
+
return te(e, String(t), n || ee, r || function(t) {
|
|
324
300
|
return e.outEdges(t);
|
|
325
301
|
});
|
|
326
302
|
}
|
|
327
|
-
function
|
|
303
|
+
function te(e, t, n, r) {
|
|
328
304
|
let i = {}, a, o = 0, s = e.nodes(), c = function(e) {
|
|
329
305
|
let t = n(e);
|
|
330
306
|
i[e.v].distance + t < i[e.w].distance && (i[e.w] = {
|
|
@@ -353,7 +329,7 @@ function ce(e, t, n, r) {
|
|
|
353
329
|
if (o === u - 1 && (a = !1, l(), a)) throw Error("The graph contains a negative weight cycle");
|
|
354
330
|
return i;
|
|
355
331
|
}
|
|
356
|
-
function
|
|
332
|
+
function ne(e) {
|
|
357
333
|
let t = {}, n = [], r;
|
|
358
334
|
function i(n) {
|
|
359
335
|
n in t || (t[n] = !0, r.push(n), e.successors(n).forEach(i), e.predecessors(n).forEach(i));
|
|
@@ -362,7 +338,7 @@ function le(e) {
|
|
|
362
338
|
r = [], i(e), r.length && n.push(r);
|
|
363
339
|
}), n;
|
|
364
340
|
}
|
|
365
|
-
var
|
|
341
|
+
var re = class {
|
|
366
342
|
constructor() {
|
|
367
343
|
this._arr = [], this._keyIndices = {};
|
|
368
344
|
}
|
|
@@ -418,14 +394,14 @@ var S = class {
|
|
|
418
394
|
let n = this._arr, r = this._keyIndices, i = n[e], a = n[t];
|
|
419
395
|
n[e] = a, n[t] = i, r[a.key] = e, r[i.key] = t;
|
|
420
396
|
}
|
|
421
|
-
},
|
|
422
|
-
function
|
|
423
|
-
return
|
|
397
|
+
}, ie = () => 1;
|
|
398
|
+
function S(e, t, n, r) {
|
|
399
|
+
return ae(e, String(t), n || ie, r || function(t) {
|
|
424
400
|
return e.outEdges(t);
|
|
425
401
|
});
|
|
426
402
|
}
|
|
427
|
-
function
|
|
428
|
-
let i = {}, a = new
|
|
403
|
+
function ae(e, t, n, r) {
|
|
404
|
+
let i = {}, a = new re(), o, s, c = function(e) {
|
|
429
405
|
let t = e.v === o ? e.w : e.v, r = i[t], c = n(e), l = s.distance + c;
|
|
430
406
|
if (c < 0) throw Error("dijkstra does not allow negative edge weights. Bad edge: " + e + " Weight: " + c);
|
|
431
407
|
l < r.distance && (r.distance = l, r.predecessor = o, a.decrease(t, l));
|
|
@@ -439,12 +415,12 @@ function de(e, t, n, r) {
|
|
|
439
415
|
}); a.size() > 0 && (o = a.removeMin(), s = i[o], s.distance !== Infinity);) r(o).forEach(c);
|
|
440
416
|
return i;
|
|
441
417
|
}
|
|
442
|
-
function
|
|
418
|
+
function oe(e, t, n) {
|
|
443
419
|
return e.nodes().reduce(function(r, i) {
|
|
444
|
-
return r[i] =
|
|
420
|
+
return r[i] = S(e, i, t, n), r;
|
|
445
421
|
}, {});
|
|
446
422
|
}
|
|
447
|
-
function
|
|
423
|
+
function se(e) {
|
|
448
424
|
let t = 0, n = [], r = {}, i = [];
|
|
449
425
|
function a(o) {
|
|
450
426
|
let s = r[o] = {
|
|
@@ -466,18 +442,18 @@ function pe(e) {
|
|
|
466
442
|
e in r || a(e);
|
|
467
443
|
}), i;
|
|
468
444
|
}
|
|
469
|
-
function
|
|
470
|
-
return
|
|
445
|
+
function ce(e) {
|
|
446
|
+
return se(e).filter(function(t) {
|
|
471
447
|
return t.length > 1 || t.length === 1 && e.hasEdge(t[0], t[0]);
|
|
472
448
|
});
|
|
473
449
|
}
|
|
474
|
-
var
|
|
475
|
-
function
|
|
476
|
-
return
|
|
450
|
+
var le = () => 1;
|
|
451
|
+
function ue(e, t, n) {
|
|
452
|
+
return de(e, t || le, n || function(t) {
|
|
477
453
|
return e.outEdges(t);
|
|
478
454
|
});
|
|
479
455
|
}
|
|
480
|
-
function
|
|
456
|
+
function de(e, t, n) {
|
|
481
457
|
let r = {}, i = e.nodes();
|
|
482
458
|
return i.forEach(function(e) {
|
|
483
459
|
r[e] = {}, r[e][e] = {
|
|
@@ -506,55 +482,55 @@ function _e(e, t, n) {
|
|
|
506
482
|
});
|
|
507
483
|
}), r;
|
|
508
484
|
}
|
|
509
|
-
var
|
|
485
|
+
var C = class extends Error {
|
|
510
486
|
constructor(...e) {
|
|
511
487
|
super(...e);
|
|
512
488
|
}
|
|
513
489
|
};
|
|
514
|
-
function
|
|
490
|
+
function w(e) {
|
|
515
491
|
let t = {}, n = {}, r = [];
|
|
516
492
|
function i(a) {
|
|
517
|
-
if (a in n) throw new
|
|
493
|
+
if (a in n) throw new C();
|
|
518
494
|
a in t || (n[a] = !0, t[a] = !0, e.predecessors(a).forEach(i), delete n[a], r.push(a));
|
|
519
495
|
}
|
|
520
|
-
if (e.sinks().forEach(i), Object.keys(t).length !== e.nodeCount()) throw new
|
|
496
|
+
if (e.sinks().forEach(i), Object.keys(t).length !== e.nodeCount()) throw new C();
|
|
521
497
|
return r;
|
|
522
498
|
}
|
|
523
|
-
function
|
|
499
|
+
function fe(e) {
|
|
524
500
|
try {
|
|
525
|
-
|
|
501
|
+
w(e);
|
|
526
502
|
} catch (e) {
|
|
527
|
-
if (e instanceof
|
|
503
|
+
if (e instanceof C) return !1;
|
|
528
504
|
throw e;
|
|
529
505
|
}
|
|
530
506
|
return !0;
|
|
531
507
|
}
|
|
532
|
-
function
|
|
508
|
+
function pe(e, t, n, r, i) {
|
|
533
509
|
Array.isArray(t) || (t = [t]);
|
|
534
510
|
let a = ((t) => (e.isDirected() ? e.successors(t) : e.neighbors(t)) ?? []), o = {};
|
|
535
511
|
return t.forEach(function(t) {
|
|
536
512
|
if (!e.hasNode(t)) throw Error("Graph does not have node: " + t);
|
|
537
|
-
i =
|
|
513
|
+
i = me(e, t, n === "post", o, a, r, i);
|
|
538
514
|
}), i;
|
|
539
515
|
}
|
|
540
|
-
function
|
|
516
|
+
function me(e, t, n, r, i, a, o) {
|
|
541
517
|
return t in r || (r[t] = !0, n || (o = a(o, t)), i(t).forEach(function(t) {
|
|
542
|
-
o =
|
|
518
|
+
o = me(e, t, n, r, i, a, o);
|
|
543
519
|
}), n && (o = a(o, t))), o;
|
|
544
520
|
}
|
|
545
|
-
function
|
|
546
|
-
return
|
|
521
|
+
function he(e, t, n) {
|
|
522
|
+
return pe(e, t, n, function(e, t) {
|
|
547
523
|
return e.push(t), e;
|
|
548
524
|
}, []);
|
|
549
525
|
}
|
|
550
|
-
function
|
|
551
|
-
return
|
|
526
|
+
function ge(e, t) {
|
|
527
|
+
return he(e, t, "post");
|
|
552
528
|
}
|
|
553
|
-
function
|
|
554
|
-
return
|
|
529
|
+
function _e(e, t) {
|
|
530
|
+
return he(e, t, "pre");
|
|
555
531
|
}
|
|
556
|
-
function
|
|
557
|
-
let n = new
|
|
532
|
+
function ve(e, t) {
|
|
533
|
+
let n = new c(), r = {}, i = new re(), a;
|
|
558
534
|
function o(e) {
|
|
559
535
|
let n = e.v === a ? e.w : e.v, o = i.priority(n);
|
|
560
536
|
if (o !== void 0) {
|
|
@@ -577,11 +553,11 @@ function Se(e, t) {
|
|
|
577
553
|
}
|
|
578
554
|
return n;
|
|
579
555
|
}
|
|
580
|
-
function
|
|
581
|
-
return
|
|
556
|
+
function ye(e, t, n, r) {
|
|
557
|
+
return be(e, t, n, r ?? ((t) => e.outEdges(t) ?? []));
|
|
582
558
|
}
|
|
583
|
-
function
|
|
584
|
-
if (n === void 0) return
|
|
559
|
+
function be(e, t, n, r) {
|
|
560
|
+
if (n === void 0) return S(e, t, n, r);
|
|
585
561
|
let i = !1, a = e.nodes();
|
|
586
562
|
for (let o = 0; o < a.length; o++) {
|
|
587
563
|
let s = r(a[o]);
|
|
@@ -592,17 +568,17 @@ function we(e, t, n, r) {
|
|
|
592
568
|
w: r === t.v ? t.w : t.v
|
|
593
569
|
}) < 0 && (i = !0);
|
|
594
570
|
}
|
|
595
|
-
if (i) return
|
|
571
|
+
if (i) return x(e, t, n, r);
|
|
596
572
|
}
|
|
597
|
-
return
|
|
573
|
+
return S(e, t, n, r);
|
|
598
574
|
}
|
|
599
|
-
function
|
|
575
|
+
function T(e, t, n, r) {
|
|
600
576
|
let i = r;
|
|
601
|
-
for (; e.hasNode(i);) i =
|
|
577
|
+
for (; e.hasNode(i);) i = A(r);
|
|
602
578
|
return n.dummy = t, e.setNode(i, n), i;
|
|
603
579
|
}
|
|
604
|
-
function
|
|
605
|
-
let t = new
|
|
580
|
+
function xe(e) {
|
|
581
|
+
let t = new c().setGraph(e.graph());
|
|
606
582
|
return e.nodes().forEach((n) => t.setNode(n, e.node(n))), e.edges().forEach((n) => {
|
|
607
583
|
let r = t.edge(n.v, n.w) || {
|
|
608
584
|
weight: 0,
|
|
@@ -614,15 +590,15 @@ function Te(e) {
|
|
|
614
590
|
});
|
|
615
591
|
}), t;
|
|
616
592
|
}
|
|
617
|
-
function
|
|
618
|
-
let t = new
|
|
593
|
+
function E(e) {
|
|
594
|
+
let t = new c({ multigraph: e.isMultigraph() }).setGraph(e.graph());
|
|
619
595
|
return e.nodes().forEach((n) => {
|
|
620
596
|
e.children(n).length || t.setNode(n, e.node(n));
|
|
621
597
|
}), e.edges().forEach((n) => {
|
|
622
598
|
t.setEdge(n, e.edge(n));
|
|
623
599
|
}), t;
|
|
624
600
|
}
|
|
625
|
-
function
|
|
601
|
+
function Se(e, t) {
|
|
626
602
|
let n = e.x, r = e.y, i = t.x - n, a = t.y - r, o = e.width / 2, s = e.height / 2;
|
|
627
603
|
if (!i && !a) throw Error("Not possible to find intersection inside of the rectangle");
|
|
628
604
|
let c, l;
|
|
@@ -631,25 +607,25 @@ function De(e, t) {
|
|
|
631
607
|
y: r + l
|
|
632
608
|
};
|
|
633
609
|
}
|
|
634
|
-
function
|
|
635
|
-
let t =
|
|
610
|
+
function D(e) {
|
|
611
|
+
let t = j(k(e) + 1).map(() => []);
|
|
636
612
|
return e.nodes().forEach((n) => {
|
|
637
613
|
let r = e.node(n), i = r.rank;
|
|
638
614
|
i !== void 0 && (t[i] || (t[i] = []), t[i][r.order] = n);
|
|
639
615
|
}), t;
|
|
640
616
|
}
|
|
641
|
-
function
|
|
617
|
+
function Ce(e) {
|
|
642
618
|
let t = e.nodes().map((t) => {
|
|
643
619
|
let n = e.node(t).rank;
|
|
644
620
|
return n === void 0 ? Number.MAX_VALUE : n;
|
|
645
|
-
}), n =
|
|
621
|
+
}), n = O(Math.min, t);
|
|
646
622
|
e.nodes().forEach((t) => {
|
|
647
623
|
let r = e.node(t);
|
|
648
624
|
Object.hasOwn(r, "rank") && (r.rank -= n);
|
|
649
625
|
});
|
|
650
626
|
}
|
|
651
|
-
function
|
|
652
|
-
let t = e.nodes().map((t) => e.node(t).rank).filter((e) => e !== void 0), n =
|
|
627
|
+
function we(e) {
|
|
628
|
+
let t = e.nodes().map((t) => e.node(t).rank).filter((e) => e !== void 0), n = O(Math.min, t), r = [];
|
|
653
629
|
e.nodes().forEach((t) => {
|
|
654
630
|
let i = e.node(t).rank - n;
|
|
655
631
|
r[i] || (r[i] = []), r[i].push(t);
|
|
@@ -659,14 +635,14 @@ function ke(e) {
|
|
|
659
635
|
t === void 0 && n % a !== 0 ? --i : t !== void 0 && i && t.forEach((t) => e.node(t).rank += i);
|
|
660
636
|
});
|
|
661
637
|
}
|
|
662
|
-
function
|
|
638
|
+
function Te(e, t, n, r) {
|
|
663
639
|
let i = {
|
|
664
640
|
width: 0,
|
|
665
641
|
height: 0
|
|
666
642
|
};
|
|
667
|
-
return arguments.length >= 4 && (i.rank = n, i.order = r),
|
|
643
|
+
return arguments.length >= 4 && (i.rank = n, i.order = r), T(e, "border", i, t);
|
|
668
644
|
}
|
|
669
|
-
function
|
|
645
|
+
function Ee(e, t = De) {
|
|
670
646
|
let n = [];
|
|
671
647
|
for (let r = 0; r < e.length; r += t) {
|
|
672
648
|
let i = e.slice(r, r + t);
|
|
@@ -674,18 +650,18 @@ function Ae(e, t = je) {
|
|
|
674
650
|
}
|
|
675
651
|
return n;
|
|
676
652
|
}
|
|
677
|
-
var
|
|
678
|
-
function
|
|
679
|
-
return t.length >
|
|
653
|
+
var De = 65535;
|
|
654
|
+
function O(e, t) {
|
|
655
|
+
return t.length > De ? e(...Ee(t).map((t) => e(...t))) : e(...t);
|
|
680
656
|
}
|
|
681
|
-
function
|
|
657
|
+
function k(e) {
|
|
682
658
|
let t = e.nodes().map((t) => {
|
|
683
659
|
let n = e.node(t).rank;
|
|
684
660
|
return n === void 0 ? Number.MIN_VALUE : n;
|
|
685
661
|
});
|
|
686
|
-
return
|
|
662
|
+
return O(Math.max, t);
|
|
687
663
|
}
|
|
688
|
-
function
|
|
664
|
+
function Oe(e, t) {
|
|
689
665
|
let n = {
|
|
690
666
|
lhs: [],
|
|
691
667
|
rhs: []
|
|
@@ -694,14 +670,14 @@ function Me(e, t) {
|
|
|
694
670
|
t(e) ? n.lhs.push(e) : n.rhs.push(e);
|
|
695
671
|
}), n;
|
|
696
672
|
}
|
|
697
|
-
function
|
|
673
|
+
function ke(e, t) {
|
|
698
674
|
return t();
|
|
699
675
|
}
|
|
700
|
-
var
|
|
701
|
-
function
|
|
702
|
-
return e + ("" + ++
|
|
676
|
+
var Ae = 0;
|
|
677
|
+
function A(e) {
|
|
678
|
+
return e + ("" + ++Ae);
|
|
703
679
|
}
|
|
704
|
-
function
|
|
680
|
+
function j(e, t, n = 1) {
|
|
705
681
|
t ?? (t = e, e = 0);
|
|
706
682
|
let r = (e) => e < t;
|
|
707
683
|
n < 0 && (r = (e) => t < e);
|
|
@@ -709,20 +685,20 @@ function P(e, t, n = 1) {
|
|
|
709
685
|
for (let t = e; r(t); t += n) i.push(t);
|
|
710
686
|
return i;
|
|
711
687
|
}
|
|
712
|
-
function
|
|
688
|
+
function M(e, t) {
|
|
713
689
|
let n = {};
|
|
714
690
|
for (let r of t) e[r] !== void 0 && (n[r] = e[r]);
|
|
715
691
|
return n;
|
|
716
692
|
}
|
|
717
|
-
function
|
|
693
|
+
function N(e, t) {
|
|
718
694
|
let n;
|
|
719
695
|
return n = typeof t == "string" ? (e) => e[t] : t, Object.entries(e).reduce((e, [t, r]) => (e[t] = n(r, t), e), {});
|
|
720
696
|
}
|
|
721
|
-
function
|
|
697
|
+
function je(e, t) {
|
|
722
698
|
return e.reduce((e, n, r) => (e[n] = t[r], e), {});
|
|
723
699
|
}
|
|
724
|
-
var
|
|
725
|
-
function
|
|
700
|
+
var P = "\0";
|
|
701
|
+
function Me(e, t, n) {
|
|
726
702
|
if (!(e && t && n && t.dummy === "edge" && n.dummy === "edge" && t.edgeObj && n.edgeObj && e[t.edgeObj.v] && e[n.edgeObj.v] && e[t.edgeObj.w] && e[n.edgeObj.w])) return 0;
|
|
727
703
|
let r = !0;
|
|
728
704
|
t.edgeObj.w === n.edgeObj.w && (r = !1);
|
|
@@ -731,67 +707,67 @@ function Ie(e, t, n) {
|
|
|
731
707
|
let s = a[1].order ?? NaN, c = o[1].order ?? NaN;
|
|
732
708
|
return isNaN(s - c) ? 0 : s - c;
|
|
733
709
|
}
|
|
734
|
-
var
|
|
710
|
+
var Ne = class {
|
|
735
711
|
constructor() {
|
|
736
|
-
|
|
712
|
+
i(this, "_sentinel");
|
|
737
713
|
let e = {};
|
|
738
714
|
e._next = e._prev = e, this._sentinel = e;
|
|
739
715
|
}
|
|
740
716
|
dequeue() {
|
|
741
717
|
let e = this._sentinel, t = e._prev;
|
|
742
|
-
if (t !== e) return
|
|
718
|
+
if (t !== e) return Pe(t), t;
|
|
743
719
|
}
|
|
744
720
|
enqueue(e) {
|
|
745
721
|
let t = this._sentinel;
|
|
746
|
-
e._prev && e._next &&
|
|
722
|
+
e._prev && e._next && Pe(e), e._next = t._next, t._next._prev = e, t._next = e, e._prev = t;
|
|
747
723
|
}
|
|
748
724
|
toString() {
|
|
749
725
|
let e = [], t = this._sentinel, n = t._prev;
|
|
750
|
-
for (; n !== t;) e.push(JSON.stringify(n,
|
|
726
|
+
for (; n !== t;) e.push(JSON.stringify(n, Fe)), n = n._prev;
|
|
751
727
|
return "[" + e.join(", ") + "]";
|
|
752
728
|
}
|
|
753
729
|
};
|
|
754
|
-
function
|
|
730
|
+
function Pe(e) {
|
|
755
731
|
e._prev._next = e._next, e._next._prev = e._prev, delete e._next, delete e._prev;
|
|
756
732
|
}
|
|
757
|
-
function
|
|
733
|
+
function Fe(e, t) {
|
|
758
734
|
if (e !== "_next" && e !== "_prev") return t;
|
|
759
735
|
}
|
|
760
|
-
var
|
|
761
|
-
function
|
|
736
|
+
var Ie = Ne, Le = () => 1;
|
|
737
|
+
function Re(e, t) {
|
|
762
738
|
if (e.nodeCount() <= 1) return [];
|
|
763
|
-
let n =
|
|
764
|
-
return
|
|
739
|
+
let n = Be(e, t || Le);
|
|
740
|
+
return ze(n.graph, n.buckets, n.zeroIdx).flatMap((t) => e.outEdges(t.v, t.w) || []);
|
|
765
741
|
}
|
|
766
|
-
function
|
|
742
|
+
function ze(e, t, n) {
|
|
767
743
|
let r = [], i = t[t.length - 1], a = t[0], o;
|
|
768
744
|
for (; e.nodeCount();) {
|
|
769
|
-
for (; o = a.dequeue();)
|
|
770
|
-
for (; o = i.dequeue();)
|
|
745
|
+
for (; o = a.dequeue();) F(e, t, n, o);
|
|
746
|
+
for (; o = i.dequeue();) F(e, t, n, o);
|
|
771
747
|
if (e.nodeCount()) {
|
|
772
748
|
for (let i = t.length - 2; i > 0; --i) if (o = t[i]?.dequeue(), o) {
|
|
773
|
-
r = r.concat(
|
|
749
|
+
r = r.concat(F(e, t, n, o, !0) || []);
|
|
774
750
|
break;
|
|
775
751
|
}
|
|
776
752
|
}
|
|
777
753
|
}
|
|
778
754
|
return r;
|
|
779
755
|
}
|
|
780
|
-
function
|
|
756
|
+
function F(e, t, n, r, i) {
|
|
781
757
|
let a = [], o = i ? a : void 0;
|
|
782
758
|
return (e.inEdges(r.v) || []).forEach((r) => {
|
|
783
759
|
let o = e.edge(r), s = e.node(r.v);
|
|
784
760
|
i && a.push({
|
|
785
761
|
v: r.v,
|
|
786
762
|
w: r.w
|
|
787
|
-
}), s.out -= o,
|
|
763
|
+
}), s.out -= o, I(t, n, s);
|
|
788
764
|
}), (e.outEdges(r.v) || []).forEach((r) => {
|
|
789
765
|
let i = e.edge(r), a = r.w, o = e.node(a);
|
|
790
|
-
o.in -= i,
|
|
766
|
+
o.in -= i, I(t, n, o);
|
|
791
767
|
}), e.removeNode(r.v), o;
|
|
792
768
|
}
|
|
793
|
-
function
|
|
794
|
-
let n = new
|
|
769
|
+
function Be(e, t) {
|
|
770
|
+
let n = new c(), r = 0, i = 0;
|
|
795
771
|
e.nodes().forEach((e) => {
|
|
796
772
|
n.setNode(e, {
|
|
797
773
|
v: e,
|
|
@@ -804,34 +780,34 @@ function We(e, t) {
|
|
|
804
780
|
let c = n.node(e.v), l = n.node(e.w);
|
|
805
781
|
i = Math.max(i, c.out += o), r = Math.max(r, l.in += o);
|
|
806
782
|
});
|
|
807
|
-
let a =
|
|
783
|
+
let a = Ve(i + r + 3).map(() => new Ie()), o = r + 1;
|
|
808
784
|
return n.nodes().forEach((e) => {
|
|
809
|
-
|
|
785
|
+
I(a, o, n.node(e));
|
|
810
786
|
}), {
|
|
811
787
|
graph: n,
|
|
812
788
|
buckets: a,
|
|
813
789
|
zeroIdx: o
|
|
814
790
|
};
|
|
815
791
|
}
|
|
816
|
-
function
|
|
792
|
+
function I(e, t, n) {
|
|
817
793
|
var r, i, a;
|
|
818
794
|
n.out ? n.in ? (a = e[n.out - n.in + t]) == null || a.enqueue(n) : (i = e[e.length - 1]) == null || i.enqueue(n) : (r = e[0]) == null || r.enqueue(n);
|
|
819
795
|
}
|
|
820
|
-
function
|
|
796
|
+
function Ve(e) {
|
|
821
797
|
let t = [];
|
|
822
798
|
for (let n = 0; n < e; n++) t.push(n);
|
|
823
799
|
return t;
|
|
824
800
|
}
|
|
825
|
-
function
|
|
826
|
-
(e.graph().acyclicer === "greedy" ?
|
|
801
|
+
function He(e, t) {
|
|
802
|
+
(e.graph().acyclicer === "greedy" ? Re(e, n(e)) : Ue(e, t ?? null)).forEach((t) => {
|
|
827
803
|
let n = e.edge(t);
|
|
828
|
-
e.removeEdge(t), n.forwardName = t.name, n.reversed = !0, e.setEdge(t.w, t.v, n,
|
|
804
|
+
e.removeEdge(t), n.forwardName = t.name, n.reversed = !0, e.setEdge(t.w, t.v, n, A("rev"));
|
|
829
805
|
});
|
|
830
806
|
function n(e) {
|
|
831
807
|
return (t) => e.edge(t).weight;
|
|
832
808
|
}
|
|
833
809
|
}
|
|
834
|
-
function
|
|
810
|
+
function Ue(e, t) {
|
|
835
811
|
let n = [], r = {}, i = {};
|
|
836
812
|
function a(t) {
|
|
837
813
|
Object.hasOwn(i, t) || (i[t] = !0, r[t] = !0, e.outEdges(t).forEach((e) => {
|
|
@@ -841,13 +817,13 @@ function qe(e, t) {
|
|
|
841
817
|
function o(a) {
|
|
842
818
|
var s;
|
|
843
819
|
Object.hasOwn(i, a) || (i[a] = !0, r[a] = !0, (s = e.outEdges(a)) == null || s.forEach((i) => {
|
|
844
|
-
Object.hasOwn(r, i.w) || t.node(a)?.rank > t.node(i.w)?.rank &&
|
|
820
|
+
Object.hasOwn(r, i.w) || t.node(a)?.rank > t.node(i.w)?.rank && Ge(e, i.w, i) ? n.push(i) : o(i.w);
|
|
845
821
|
}), delete r[a]);
|
|
846
822
|
}
|
|
847
823
|
let s = a;
|
|
848
824
|
return t && typeof t.node == "function" && (s = o), e.sources().forEach(s), e.nodes().forEach(s), n;
|
|
849
825
|
}
|
|
850
|
-
function
|
|
826
|
+
function We(e) {
|
|
851
827
|
e.edges().forEach((t) => {
|
|
852
828
|
let n = e.edge(t);
|
|
853
829
|
if (n.reversed) {
|
|
@@ -857,7 +833,7 @@ function Je(e) {
|
|
|
857
833
|
}
|
|
858
834
|
});
|
|
859
835
|
}
|
|
860
|
-
function
|
|
836
|
+
function Ge(e, t, n) {
|
|
861
837
|
let r = /* @__PURE__ */ new Set();
|
|
862
838
|
function i(t) {
|
|
863
839
|
if (e.sources().includes(t)) return !0;
|
|
@@ -867,10 +843,10 @@ function Ye(e, t, n) {
|
|
|
867
843
|
}
|
|
868
844
|
return i(t);
|
|
869
845
|
}
|
|
870
|
-
function
|
|
871
|
-
e.graph().dummyChains = [], e.edges().forEach((t) =>
|
|
846
|
+
function Ke(e) {
|
|
847
|
+
e.graph().dummyChains = [], e.edges().forEach((t) => qe(e, t));
|
|
872
848
|
}
|
|
873
|
-
function
|
|
849
|
+
function qe(e, t) {
|
|
874
850
|
let n = t.v, r = e.node(n).rank, i = t.w, a = e.node(i).rank, o = t.name, s = e.edge(t), c = s.labelRank;
|
|
875
851
|
if (a === r + 1) return;
|
|
876
852
|
e.removeEdge(t);
|
|
@@ -881,10 +857,10 @@ function Ze(e, t) {
|
|
|
881
857
|
edgeLabel: s,
|
|
882
858
|
edgeObj: t,
|
|
883
859
|
rank: r
|
|
884
|
-
}, l =
|
|
860
|
+
}, l = T(e, "edge", u, "_d"), r === c && (u.width = s.width, u.height = s.height, u.dummy = "edge-label", u.labelpos = s.labelpos), e.setEdge(n, l, { weight: s.weight }, o), d === 0 && e.graph().dummyChains.push(l), n = l;
|
|
885
861
|
e.setEdge(n, i, { weight: s.weight }, o);
|
|
886
862
|
}
|
|
887
|
-
function
|
|
863
|
+
function Je(e) {
|
|
888
864
|
e.graph().dummyChains.forEach((t) => {
|
|
889
865
|
let n = e.node(t), r = n.edgeLabel, i;
|
|
890
866
|
for (e.setEdge(n.edgeObj, r); n.dummy;) i = e.successors(t)[0], e.removeNode(t), r.points.push({
|
|
@@ -893,67 +869,67 @@ function Qe(e) {
|
|
|
893
869
|
}), n.dummy === "edge-label" && (r.x = n.x, r.y = n.y, r.width = n.width, r.height = n.height), t = i, n = e.node(t);
|
|
894
870
|
});
|
|
895
871
|
}
|
|
896
|
-
function
|
|
872
|
+
function L(e) {
|
|
897
873
|
let t = {};
|
|
898
874
|
function n(r) {
|
|
899
875
|
let i = e.node(r);
|
|
900
876
|
if (Object.hasOwn(t, r)) return i.rank;
|
|
901
877
|
t[r] = !0;
|
|
902
|
-
let a = e.outEdges(r), o = a ? a.map((t) => t == null ? Infinity : n(t.w) - e.edge(t).minlen) : [], s =
|
|
878
|
+
let a = e.outEdges(r), o = a ? a.map((t) => t == null ? Infinity : n(t.w) - e.edge(t).minlen) : [], s = O(Math.min, o);
|
|
903
879
|
return s === Infinity && (s = 0), i.rank = s;
|
|
904
880
|
}
|
|
905
881
|
e.sources().forEach(n);
|
|
906
882
|
}
|
|
907
|
-
function
|
|
883
|
+
function R(e, t) {
|
|
908
884
|
return e.node(t.w).rank - e.node(t.v).rank - e.edge(t).minlen;
|
|
909
885
|
}
|
|
910
|
-
var
|
|
911
|
-
function
|
|
912
|
-
let t = new
|
|
886
|
+
var z = Ye;
|
|
887
|
+
function Ye(e) {
|
|
888
|
+
let t = new c({ directed: !1 }), n = e.nodes();
|
|
913
889
|
if (n.length === 0) throw Error("Graph must have at least one node");
|
|
914
890
|
let r = n[0], i = e.nodeCount();
|
|
915
891
|
t.setNode(r, {});
|
|
916
892
|
let a, o;
|
|
917
|
-
for (;
|
|
893
|
+
for (; Xe(t, e) < i && (a = Ze(t, e), a);) o = t.hasNode(a.v) ? R(e, a) : -R(e, a), Qe(t, e, o);
|
|
918
894
|
return t;
|
|
919
895
|
}
|
|
920
|
-
function
|
|
896
|
+
function Xe(e, t) {
|
|
921
897
|
function n(r) {
|
|
922
898
|
let i = t.nodeEdges(r);
|
|
923
899
|
i && i.forEach((i) => {
|
|
924
900
|
let a = i.v, o = r === a ? i.w : a;
|
|
925
|
-
!e.hasNode(o) && !
|
|
901
|
+
!e.hasNode(o) && !R(t, i) && (e.setNode(o, {}), e.setEdge(r, o, {}), n(o));
|
|
926
902
|
});
|
|
927
903
|
}
|
|
928
904
|
return e.nodes().forEach(n), e.nodeCount();
|
|
929
905
|
}
|
|
930
|
-
function
|
|
906
|
+
function Ze(e, t) {
|
|
931
907
|
return t.edges().reduce((n, r) => {
|
|
932
908
|
let i = Infinity;
|
|
933
|
-
return e.hasNode(r.v) !== e.hasNode(r.w) && (i =
|
|
909
|
+
return e.hasNode(r.v) !== e.hasNode(r.w) && (i = R(t, r)), i < n[0] ? [i, r] : n;
|
|
934
910
|
}, [Infinity, null])[1];
|
|
935
911
|
}
|
|
936
|
-
function
|
|
912
|
+
function Qe(e, t, n) {
|
|
937
913
|
e.nodes().forEach((e) => t.node(e).rank += n);
|
|
938
914
|
}
|
|
939
|
-
var { preorder:
|
|
940
|
-
|
|
941
|
-
function
|
|
942
|
-
e =
|
|
943
|
-
let t =
|
|
944
|
-
|
|
915
|
+
var { preorder: $e, postorder: et } = b, tt = B;
|
|
916
|
+
B.initLowLimValues = U, B.initCutValues = V, B.calcCutValue = H, B.leaveEdge = G, B.enterEdge = K, B.exchangeEdges = q;
|
|
917
|
+
function B(e) {
|
|
918
|
+
e = xe(e), L(e);
|
|
919
|
+
let t = z(e);
|
|
920
|
+
U(t), V(t, e);
|
|
945
921
|
let n, r;
|
|
946
|
-
for (; n =
|
|
922
|
+
for (; n = G(t);) r = K(t, e, n), q(t, e, n, r);
|
|
947
923
|
}
|
|
948
|
-
function
|
|
949
|
-
let n =
|
|
950
|
-
n = n.slice(0, n.length - 1), n.forEach((n) =>
|
|
924
|
+
function V(e, t) {
|
|
925
|
+
let n = et(e, e.nodes());
|
|
926
|
+
n = n.slice(0, n.length - 1), n.forEach((n) => nt(e, t, n));
|
|
951
927
|
}
|
|
952
|
-
function
|
|
928
|
+
function nt(e, t, n) {
|
|
953
929
|
let r = e.node(n).parent, i = e.edge(n, r);
|
|
954
|
-
i.cutvalue =
|
|
930
|
+
i.cutvalue = H(e, t, n);
|
|
955
931
|
}
|
|
956
|
-
function
|
|
932
|
+
function H(e, t, n) {
|
|
957
933
|
let r = e.node(n).parent, i = !0, a = t.edge(n, r), o = 0;
|
|
958
934
|
a ||= (i = !1, t.edge(r, n)), o = a.weight;
|
|
959
935
|
let s = t.nodeEdges(n);
|
|
@@ -961,82 +937,82 @@ function G(e, t, n) {
|
|
|
961
937
|
let s = a.v === n, c = s ? a.w : a.v;
|
|
962
938
|
if (c !== r) {
|
|
963
939
|
let r = s === i, l = t.edge(a).weight;
|
|
964
|
-
if (o += r ? l : -l,
|
|
940
|
+
if (o += r ? l : -l, it(e, n, c)) {
|
|
965
941
|
let t = e.edge(n, c).cutvalue;
|
|
966
942
|
o += r ? -t : t;
|
|
967
943
|
}
|
|
968
944
|
}
|
|
969
945
|
}), o;
|
|
970
946
|
}
|
|
971
|
-
function
|
|
972
|
-
arguments.length < 2 && (t = e.nodes()[0]),
|
|
947
|
+
function U(e, t) {
|
|
948
|
+
arguments.length < 2 && (t = e.nodes()[0]), W(e, {}, 1, t);
|
|
973
949
|
}
|
|
974
|
-
function
|
|
950
|
+
function W(e, t, n, r, i) {
|
|
975
951
|
let a = n, o = e.node(r);
|
|
976
952
|
t[r] = !0;
|
|
977
953
|
let s = e.neighbors(r);
|
|
978
954
|
return s && s.forEach((i) => {
|
|
979
|
-
Object.hasOwn(t, i) || (n =
|
|
955
|
+
Object.hasOwn(t, i) || (n = W(e, t, n, i, r));
|
|
980
956
|
}), o.low = a, o.lim = n++, i ? o.parent = i : delete o.parent, n;
|
|
981
957
|
}
|
|
982
|
-
function
|
|
958
|
+
function G(e) {
|
|
983
959
|
return e.edges().find((t) => e.edge(t).cutvalue < 0);
|
|
984
960
|
}
|
|
985
|
-
function
|
|
961
|
+
function K(e, t, n) {
|
|
986
962
|
let r = n.v, i = n.w;
|
|
987
963
|
t.hasEdge(r, i) || (r = n.w, i = n.v);
|
|
988
964
|
let a = e.node(r), o = e.node(i), s = a, c = !1;
|
|
989
|
-
return a.lim > o.lim && (s = o, c = !0), t.edges().filter((t) => c ===
|
|
965
|
+
return a.lim > o.lim && (s = o, c = !0), t.edges().filter((t) => c === at(e, e.node(t.v), s) && c !== at(e, e.node(t.w), s)).reduce((e, n) => R(t, n) < R(t, e) ? n : e);
|
|
990
966
|
}
|
|
991
|
-
function
|
|
967
|
+
function q(e, t, n, r) {
|
|
992
968
|
let i = n.v, a = n.w;
|
|
993
|
-
e.removeEdge(i, a), e.setEdge(r.v, r.w, {}),
|
|
969
|
+
e.removeEdge(i, a), e.setEdge(r.v, r.w, {}), U(e), V(e, t), rt(e, t);
|
|
994
970
|
}
|
|
995
|
-
function
|
|
971
|
+
function rt(e, t) {
|
|
996
972
|
let n = e.nodes().find((t) => !e.node(t).parent);
|
|
997
973
|
if (!n) return;
|
|
998
|
-
let r =
|
|
974
|
+
let r = $e(e, [n]);
|
|
999
975
|
r = r.slice(1), r.forEach((n) => {
|
|
1000
976
|
let r = e.node(n).parent, i = t.edge(n, r), a = !1;
|
|
1001
977
|
i || (i = t.edge(r, n), a = !0), t.node(n).rank = t.node(r).rank + (a ? i.minlen : -i.minlen);
|
|
1002
978
|
});
|
|
1003
979
|
}
|
|
1004
|
-
function
|
|
980
|
+
function it(e, t, n) {
|
|
1005
981
|
return e.hasEdge(t, n);
|
|
1006
982
|
}
|
|
1007
|
-
function
|
|
983
|
+
function at(e, t, n) {
|
|
1008
984
|
return n.low <= t.lim && t.lim <= n.lim;
|
|
1009
985
|
}
|
|
1010
|
-
var
|
|
1011
|
-
function
|
|
986
|
+
var ot = st;
|
|
987
|
+
function st(e) {
|
|
1012
988
|
let t = e.graph().ranker;
|
|
1013
989
|
if (typeof t == "function") return t(e);
|
|
1014
990
|
switch (t) {
|
|
1015
991
|
case "network-simplex":
|
|
1016
|
-
|
|
992
|
+
ut(e);
|
|
1017
993
|
break;
|
|
1018
994
|
case "tight-tree":
|
|
1019
|
-
|
|
995
|
+
lt(e);
|
|
1020
996
|
break;
|
|
1021
997
|
case "longest-path":
|
|
1022
|
-
|
|
998
|
+
ct(e);
|
|
1023
999
|
break;
|
|
1024
1000
|
case "none": break;
|
|
1025
|
-
default:
|
|
1001
|
+
default: ut(e);
|
|
1026
1002
|
}
|
|
1027
1003
|
}
|
|
1028
|
-
var
|
|
1029
|
-
function
|
|
1030
|
-
|
|
1004
|
+
var ct = L;
|
|
1005
|
+
function lt(e) {
|
|
1006
|
+
L(e), z(e);
|
|
1031
1007
|
}
|
|
1032
|
-
function
|
|
1033
|
-
|
|
1008
|
+
function ut(e) {
|
|
1009
|
+
tt(e);
|
|
1034
1010
|
}
|
|
1035
|
-
var
|
|
1036
|
-
function
|
|
1037
|
-
let t =
|
|
1011
|
+
var dt = ft;
|
|
1012
|
+
function ft(e) {
|
|
1013
|
+
let t = mt(e), n = e.graph();
|
|
1038
1014
|
Array.isArray(n.dummyChains) && n.dummyChains.forEach((n) => {
|
|
1039
|
-
let r = e.node(n), i = r.edgeObj, a =
|
|
1015
|
+
let r = e.node(n), i = r.edgeObj, a = pt(e, t, i.v, i.w), o = a.path, s = a.lca, c = 0, l = o[c], u = !0;
|
|
1040
1016
|
for (; n !== i.w;) {
|
|
1041
1017
|
if (r = e.node(n), u) {
|
|
1042
1018
|
for (; (l = o[c]) !== s && e.node(l).maxRank < r.rank;) c++;
|
|
@@ -1050,7 +1026,7 @@ function yt(e) {
|
|
|
1050
1026
|
}
|
|
1051
1027
|
});
|
|
1052
1028
|
}
|
|
1053
|
-
function
|
|
1029
|
+
function pt(e, t, n, r) {
|
|
1054
1030
|
let i = [], a = [], o = Math.min(t[n].low, t[r].low), s = Math.max(t[n].lim, t[r].lim), c;
|
|
1055
1031
|
c = n;
|
|
1056
1032
|
do
|
|
@@ -1063,7 +1039,7 @@ function bt(e, t, n, r) {
|
|
|
1063
1039
|
lca: l
|
|
1064
1040
|
};
|
|
1065
1041
|
}
|
|
1066
|
-
function
|
|
1042
|
+
function mt(e) {
|
|
1067
1043
|
let t = {}, n = 0;
|
|
1068
1044
|
function r(i) {
|
|
1069
1045
|
let a = n;
|
|
@@ -1072,17 +1048,17 @@ function xt(e) {
|
|
|
1072
1048
|
lim: n++
|
|
1073
1049
|
};
|
|
1074
1050
|
}
|
|
1075
|
-
return e.children(
|
|
1051
|
+
return e.children(P).forEach(r), t;
|
|
1076
1052
|
}
|
|
1077
|
-
function
|
|
1078
|
-
let t =
|
|
1053
|
+
function ht(e) {
|
|
1054
|
+
let t = T(e, "root", {}, "_root"), n = _t(e), r = Object.values(n), i = O(Math.max, r) - 1, a = 2 * i + 1;
|
|
1079
1055
|
e.graph().nestingRoot = t, e.edges().forEach((t) => e.edge(t).minlen *= a);
|
|
1080
|
-
let o =
|
|
1081
|
-
e.children(
|
|
1082
|
-
|
|
1056
|
+
let o = vt(e) + 1;
|
|
1057
|
+
e.children(P).forEach((r) => {
|
|
1058
|
+
gt(e, t, a, o, i, n, r);
|
|
1083
1059
|
}), e.graph().nodeRankFactor = a;
|
|
1084
1060
|
}
|
|
1085
|
-
function
|
|
1061
|
+
function gt(e, t, n, r, i, a, o) {
|
|
1086
1062
|
let s = e.children(o);
|
|
1087
1063
|
if (!s.length) {
|
|
1088
1064
|
o !== t && e.setEdge(t, o, {
|
|
@@ -1091,9 +1067,9 @@ function Ct(e, t, n, r, i, a, o) {
|
|
|
1091
1067
|
});
|
|
1092
1068
|
return;
|
|
1093
1069
|
}
|
|
1094
|
-
let c =
|
|
1070
|
+
let c = Te(e, "_bt"), l = Te(e, "_bb"), u = e.node(o);
|
|
1095
1071
|
e.setParent(c, o), u.borderTop = c, e.setParent(l, o), u.borderBottom = l, s.forEach((s) => {
|
|
1096
|
-
|
|
1072
|
+
gt(e, t, n, r, i, a, s);
|
|
1097
1073
|
let u = e.node(s), d = u.borderTop ? u.borderTop : s, f = u.borderBottom ? u.borderBottom : s, p = u.borderTop ? r : 2 * r, m = d === f ? i - (a[o] ?? 0) + 1 : 1;
|
|
1098
1074
|
e.setEdge(c, d, {
|
|
1099
1075
|
weight: p,
|
|
@@ -1109,59 +1085,59 @@ function Ct(e, t, n, r, i, a, o) {
|
|
|
1109
1085
|
minlen: i + (a[o] ?? 0)
|
|
1110
1086
|
});
|
|
1111
1087
|
}
|
|
1112
|
-
function
|
|
1088
|
+
function _t(e) {
|
|
1113
1089
|
let t = {};
|
|
1114
1090
|
function n(r, i) {
|
|
1115
1091
|
let a = e.children(r);
|
|
1116
1092
|
a && a.length && a.forEach((e) => n(e, i + 1)), t[r] = i;
|
|
1117
1093
|
}
|
|
1118
|
-
return e.children(
|
|
1094
|
+
return e.children(P).forEach((e) => n(e, 1)), t;
|
|
1119
1095
|
}
|
|
1120
|
-
function
|
|
1096
|
+
function vt(e) {
|
|
1121
1097
|
return e.edges().reduce((t, n) => t + e.edge(n).weight, 0);
|
|
1122
1098
|
}
|
|
1123
|
-
function
|
|
1099
|
+
function yt(e) {
|
|
1124
1100
|
let t = e.graph();
|
|
1125
1101
|
e.removeNode(t.nestingRoot), delete t.nestingRoot, e.edges().forEach((t) => {
|
|
1126
1102
|
e.edge(t).nestingEdge && e.removeEdge(t);
|
|
1127
1103
|
});
|
|
1128
1104
|
}
|
|
1129
|
-
var
|
|
1130
|
-
function
|
|
1105
|
+
var bt = xt;
|
|
1106
|
+
function xt(e) {
|
|
1131
1107
|
function t(n) {
|
|
1132
1108
|
let r = e.children(n), i = e.node(n);
|
|
1133
1109
|
if (r.length && r.forEach(t), i && Object.hasOwn(i, "minRank")) {
|
|
1134
1110
|
i.borderLeft = [], i.borderRight = [];
|
|
1135
|
-
for (let t = i.minRank, r = i.maxRank + 1; t < r; ++t)
|
|
1111
|
+
for (let t = i.minRank, r = i.maxRank + 1; t < r; ++t) St(e, "borderLeft", "_bl", n, i, t), St(e, "borderRight", "_br", n, i, t);
|
|
1136
1112
|
}
|
|
1137
1113
|
}
|
|
1138
|
-
e.children(
|
|
1114
|
+
e.children(P).forEach(t);
|
|
1139
1115
|
}
|
|
1140
|
-
function
|
|
1116
|
+
function St(e, t, n, r, i, a) {
|
|
1141
1117
|
let o = {
|
|
1142
1118
|
width: 0,
|
|
1143
1119
|
height: 0,
|
|
1144
1120
|
rank: a,
|
|
1145
1121
|
borderType: t
|
|
1146
|
-
}, s = i[t][a - 1], c =
|
|
1122
|
+
}, s = i[t][a - 1], c = T(e, "border", o, n);
|
|
1147
1123
|
i[t][a] = c, e.setParent(c, r), s && e.setEdge(s, c, { weight: 1 });
|
|
1148
1124
|
}
|
|
1149
|
-
function
|
|
1125
|
+
function Ct(e) {
|
|
1150
1126
|
let t = e.graph().rankdir?.toLowerCase();
|
|
1151
|
-
(t === "lr" || t === "rl") &&
|
|
1127
|
+
(t === "lr" || t === "rl") && Tt(e);
|
|
1152
1128
|
}
|
|
1153
|
-
function
|
|
1129
|
+
function wt(e) {
|
|
1154
1130
|
let t = e.graph().rankdir?.toLowerCase();
|
|
1155
|
-
(t === "bt" || t === "rl") &&
|
|
1131
|
+
(t === "bt" || t === "rl") && Dt(e), (t === "lr" || t === "rl") && (Ot(e), Tt(e));
|
|
1156
1132
|
}
|
|
1157
|
-
function
|
|
1158
|
-
e.nodes().forEach((t) =>
|
|
1133
|
+
function Tt(e) {
|
|
1134
|
+
e.nodes().forEach((t) => Et(e.node(t))), e.edges().forEach((t) => Et(e.edge(t)));
|
|
1159
1135
|
}
|
|
1160
|
-
function
|
|
1136
|
+
function Et(e) {
|
|
1161
1137
|
let t = e.width;
|
|
1162
1138
|
e.width = e.height, e.height = t;
|
|
1163
1139
|
}
|
|
1164
|
-
function
|
|
1140
|
+
function Dt(e) {
|
|
1165
1141
|
e.nodes().forEach((t) => J(e.node(t))), e.edges().forEach((t) => {
|
|
1166
1142
|
var n;
|
|
1167
1143
|
let r = e.edge(t);
|
|
@@ -1171,7 +1147,7 @@ function Pt(e) {
|
|
|
1171
1147
|
function J(e) {
|
|
1172
1148
|
e.y = -e.y;
|
|
1173
1149
|
}
|
|
1174
|
-
function
|
|
1150
|
+
function Ot(e) {
|
|
1175
1151
|
e.nodes().forEach((t) => Y(e.node(t))), e.edges().forEach((t) => {
|
|
1176
1152
|
var n;
|
|
1177
1153
|
let r = e.edge(t);
|
|
@@ -1182,8 +1158,8 @@ function Y(e) {
|
|
|
1182
1158
|
let t = e.x;
|
|
1183
1159
|
e.x = e.y, e.y = t;
|
|
1184
1160
|
}
|
|
1185
|
-
function
|
|
1186
|
-
let n = {}, r = e.nodes().filter((t) => !e.children(t).length), i = r.map((t) => e.node(t).rank), a =
|
|
1161
|
+
function kt(e, t = null) {
|
|
1162
|
+
let n = {}, r = e.nodes().filter((t) => !e.children(t).length), i = r.map((t) => e.node(t).rank), a = j(O(Math.max, i) + 1).map(() => []);
|
|
1187
1163
|
function o(t) {
|
|
1188
1164
|
if (n[t]) return;
|
|
1189
1165
|
n[t] = !0;
|
|
@@ -1194,17 +1170,17 @@ function It(e, t = null) {
|
|
|
1194
1170
|
}
|
|
1195
1171
|
r.sort((t, n) => e.node(t).rank - e.node(n).rank).forEach(o);
|
|
1196
1172
|
function s(n, r) {
|
|
1197
|
-
return
|
|
1173
|
+
return Me(t, e.node(n), e.node(r));
|
|
1198
1174
|
}
|
|
1199
1175
|
return a;
|
|
1200
1176
|
}
|
|
1201
|
-
function
|
|
1177
|
+
function At(e, t) {
|
|
1202
1178
|
let n = 0;
|
|
1203
|
-
for (let r = 1; r < t.length; ++r) n +=
|
|
1179
|
+
for (let r = 1; r < t.length; ++r) n += jt(e, t[r - 1], t[r]);
|
|
1204
1180
|
return n;
|
|
1205
1181
|
}
|
|
1206
|
-
function
|
|
1207
|
-
let r =
|
|
1182
|
+
function jt(e, t, n) {
|
|
1183
|
+
let r = je(n, n.map((e, t) => t)), i = t.flatMap((t) => {
|
|
1208
1184
|
let n = e.outEdges(t);
|
|
1209
1185
|
return n ? n.map((t) => ({
|
|
1210
1186
|
pos: r[t.w],
|
|
@@ -1223,7 +1199,7 @@ function Rt(e, t, n) {
|
|
|
1223
1199
|
c += e.weight * n;
|
|
1224
1200
|
}), c;
|
|
1225
1201
|
}
|
|
1226
|
-
function
|
|
1202
|
+
function Mt(e, t = []) {
|
|
1227
1203
|
return t.map((t) => {
|
|
1228
1204
|
let n = e.inEdges(t);
|
|
1229
1205
|
if (!n || !n.length) return { v: t };
|
|
@@ -1246,7 +1222,7 @@ function zt(e, t = []) {
|
|
|
1246
1222
|
}
|
|
1247
1223
|
});
|
|
1248
1224
|
}
|
|
1249
|
-
function
|
|
1225
|
+
function Nt(e, t) {
|
|
1250
1226
|
let n = {};
|
|
1251
1227
|
return e.forEach((e, t) => {
|
|
1252
1228
|
let r = {
|
|
@@ -1260,13 +1236,13 @@ function Bt(e, t) {
|
|
|
1260
1236
|
}), t.edges().forEach((e) => {
|
|
1261
1237
|
let t = n[e.v], r = n[e.w];
|
|
1262
1238
|
t !== void 0 && r !== void 0 && (r.indegree++, t.out.push(r));
|
|
1263
|
-
}),
|
|
1239
|
+
}), Pt(Object.values(n).filter((e) => !e.indegree));
|
|
1264
1240
|
}
|
|
1265
|
-
function
|
|
1241
|
+
function Pt(e) {
|
|
1266
1242
|
let t = [];
|
|
1267
1243
|
function n(e) {
|
|
1268
1244
|
return (t) => {
|
|
1269
|
-
t.merged || (t.barycenter === void 0 || e.barycenter === void 0 || t.barycenter >= e.barycenter) &&
|
|
1245
|
+
t.merged || (t.barycenter === void 0 || e.barycenter === void 0 || t.barycenter >= e.barycenter) && Ft(e, t);
|
|
1270
1246
|
};
|
|
1271
1247
|
}
|
|
1272
1248
|
function r(t) {
|
|
@@ -1278,63 +1254,63 @@ function Vt(e) {
|
|
|
1278
1254
|
let i = e.pop();
|
|
1279
1255
|
t.push(i), i.in.reverse().forEach(n(i)), i.out.forEach(r(i));
|
|
1280
1256
|
}
|
|
1281
|
-
return t.filter((e) => !e.merged).map((e) =>
|
|
1257
|
+
return t.filter((e) => !e.merged).map((e) => M(e, [
|
|
1282
1258
|
"vs",
|
|
1283
1259
|
"i",
|
|
1284
1260
|
"barycenter",
|
|
1285
1261
|
"weight"
|
|
1286
1262
|
]));
|
|
1287
1263
|
}
|
|
1288
|
-
function
|
|
1264
|
+
function Ft(e, t) {
|
|
1289
1265
|
let n = 0, r = 0;
|
|
1290
1266
|
e.weight && (n += e.barycenter * e.weight, r += e.weight), t.weight && (n += t.barycenter * t.weight, r += t.weight), e.vs = t.vs.concat(e.vs), e.barycenter = n / r, e.weight = r, e.i = Math.min(t.i, e.i), t.merged = !0;
|
|
1291
1267
|
}
|
|
1292
|
-
function
|
|
1268
|
+
function It(e, t, n, r, i) {
|
|
1293
1269
|
let a = {}, o = null, s = null, c = i;
|
|
1294
1270
|
typeof t == "boolean" ? (c = t, a = {}) : t && (a = t, o = n ?? null, s = r ?? null);
|
|
1295
|
-
let l =
|
|
1296
|
-
u.sort(
|
|
1271
|
+
let l = Oe(e, (e) => Object.hasOwn(e, "barycenter")), u = l.lhs, d = l.rhs.sort((e, t) => t.i - e.i), f = [], p = 0, m = 0, h = 0;
|
|
1272
|
+
u.sort(Rt(s, o, !!c));
|
|
1297
1273
|
for (let [e, t] of Object.entries(a)) {
|
|
1298
1274
|
let n = u.findIndex((t) => t.vs[0] === e);
|
|
1299
1275
|
u.splice(n + 1, 0, t);
|
|
1300
1276
|
}
|
|
1301
|
-
h =
|
|
1302
|
-
h += e.vs.length, f.push(e.vs), p += e.barycenter * e.weight, m += e.weight, h =
|
|
1277
|
+
h = Lt(f, d, h), u.forEach((e) => {
|
|
1278
|
+
h += e.vs.length, f.push(e.vs), p += e.barycenter * e.weight, m += e.weight, h = Lt(f, d, h);
|
|
1303
1279
|
});
|
|
1304
1280
|
let g = { vs: f.flat(1) };
|
|
1305
1281
|
return m && (g.barycenter = p / m, g.weight = m), g;
|
|
1306
1282
|
}
|
|
1307
|
-
function
|
|
1283
|
+
function Lt(e, t, n) {
|
|
1308
1284
|
let r;
|
|
1309
1285
|
for (; t.length && (r = t[t.length - 1]).i <= n;) t.pop(), e.push(r.vs), n++;
|
|
1310
1286
|
return n;
|
|
1311
1287
|
}
|
|
1312
|
-
function
|
|
1288
|
+
function Rt(e, t, n) {
|
|
1313
1289
|
return (r, i) => {
|
|
1314
1290
|
if (r.barycenter < i.barycenter) return -1;
|
|
1315
1291
|
if (r.barycenter > i.barycenter) return 1;
|
|
1316
1292
|
if (e && (typeof r.vs[0] == "string" || typeof i.vs[0] == "string")) {
|
|
1317
|
-
let n =
|
|
1293
|
+
let n = Me(t, e.node(r.vs[0]), e.node(i.vs[0]));
|
|
1318
1294
|
if (n !== 0) return n;
|
|
1319
1295
|
}
|
|
1320
1296
|
return n ? i.i - r.i : r.i - i.i;
|
|
1321
1297
|
};
|
|
1322
1298
|
}
|
|
1323
|
-
function
|
|
1299
|
+
function zt(e, t, n, r, i) {
|
|
1324
1300
|
var a, o;
|
|
1325
1301
|
let s = null, c = i;
|
|
1326
1302
|
typeof r == "boolean" ? (c = r, s = null) : r !== void 0 && (s = r);
|
|
1327
1303
|
let l = e.children(t), u = e.node(t), d = u ? u.borderLeft : void 0, f = u ? u.borderRight : void 0, p = {};
|
|
1328
1304
|
d && (l = l.filter((e) => e !== d && e !== f));
|
|
1329
|
-
let m =
|
|
1305
|
+
let m = Mt(e, l);
|
|
1330
1306
|
m.forEach((t) => {
|
|
1331
1307
|
if (e.children(t.v).length) {
|
|
1332
|
-
let { result: r } =
|
|
1333
|
-
p[t.v] = r, Object.hasOwn(r, "barycenter") &&
|
|
1308
|
+
let { result: r } = zt(e, t.v, n, s, c);
|
|
1309
|
+
p[t.v] = r, Object.hasOwn(r, "barycenter") && Vt(t, r);
|
|
1334
1310
|
}
|
|
1335
1311
|
});
|
|
1336
|
-
let h =
|
|
1337
|
-
|
|
1312
|
+
let h = Nt(m, n);
|
|
1313
|
+
Bt(h, p);
|
|
1338
1314
|
let g = {}, _ = !1;
|
|
1339
1315
|
for (let t = 0; t < h.length; t++) for (let n = t + 1; n < h.length; n++) if (!(!h[t] || !h[n] || !((a = h[t]) != null && a.barycenter) || !((o = h[n]) != null && o.barycenter)) && h[t]?.barycenter === h[n].barycenter) {
|
|
1340
1316
|
let r = h[t]?.vs[0] ?? "", i = h[n]?.vs[0] ?? "", a = e.node(r), o = e.node(i);
|
|
@@ -1344,7 +1320,7 @@ function Kt(e, t, n, r, i) {
|
|
|
1344
1320
|
} else g[r] = h[n], h.splice(n, 1), n--;
|
|
1345
1321
|
else _ = !0;
|
|
1346
1322
|
}
|
|
1347
|
-
let v =
|
|
1323
|
+
let v = It(h, g, s, e, c);
|
|
1348
1324
|
if (d && f) {
|
|
1349
1325
|
v.vs = [
|
|
1350
1326
|
d,
|
|
@@ -1369,17 +1345,17 @@ function Kt(e, t, n, r, i) {
|
|
|
1369
1345
|
writable: !0
|
|
1370
1346
|
}), v;
|
|
1371
1347
|
}
|
|
1372
|
-
function
|
|
1348
|
+
function Bt(e, t) {
|
|
1373
1349
|
e.forEach((e) => {
|
|
1374
1350
|
e.vs = e.vs.flatMap((e) => t[e] ? t[e].vs : e);
|
|
1375
1351
|
});
|
|
1376
1352
|
}
|
|
1377
|
-
function
|
|
1353
|
+
function Vt(e, t) {
|
|
1378
1354
|
e.barycenter === void 0 ? (e.barycenter = t.barycenter, e.weight = t.weight) : (e.barycenter = (e.barycenter * e.weight + t.barycenter * t.weight) / (e.weight + t.weight), e.weight += t.weight);
|
|
1379
1355
|
}
|
|
1380
|
-
function
|
|
1356
|
+
function Ht(e, t, n, r) {
|
|
1381
1357
|
r ||= e.nodes();
|
|
1382
|
-
let i =
|
|
1358
|
+
let i = Ut(e), a = new c({ compound: !0 }).setGraph({ root: i }).setDefaultNodeLabel((t) => e.node(t));
|
|
1383
1359
|
return r.forEach((r) => {
|
|
1384
1360
|
let o = e.node(r), s = e.parent(r);
|
|
1385
1361
|
if (o.rank === t || o.minRank <= t && t <= o.maxRank) {
|
|
@@ -1395,12 +1371,12 @@ function Yt(e, t, n, r) {
|
|
|
1395
1371
|
}
|
|
1396
1372
|
}), a;
|
|
1397
1373
|
}
|
|
1398
|
-
function
|
|
1374
|
+
function Ut(e) {
|
|
1399
1375
|
let t;
|
|
1400
|
-
for (; e.hasNode(t =
|
|
1376
|
+
for (; e.hasNode(t = A("_root")););
|
|
1401
1377
|
return t;
|
|
1402
1378
|
}
|
|
1403
|
-
function
|
|
1379
|
+
function Wt(e, t, n) {
|
|
1404
1380
|
let r = {}, i;
|
|
1405
1381
|
n.forEach((n) => {
|
|
1406
1382
|
let a = e.parent(n), o, s;
|
|
@@ -1413,22 +1389,22 @@ function Zt(e, t, n) {
|
|
|
1413
1389
|
}
|
|
1414
1390
|
});
|
|
1415
1391
|
}
|
|
1416
|
-
function
|
|
1392
|
+
function Gt(e, t = {}, n = null) {
|
|
1417
1393
|
if (typeof t.customOrder == "function") {
|
|
1418
|
-
t.customOrder(e,
|
|
1394
|
+
t.customOrder(e, Gt);
|
|
1419
1395
|
return;
|
|
1420
1396
|
}
|
|
1421
|
-
let r =
|
|
1422
|
-
if (
|
|
1397
|
+
let r = k(e), i = Kt(e, j(1, r + 1), "inEdges"), a = Kt(e, j(r - 1, -1, -1), "outEdges"), o = kt(e, n);
|
|
1398
|
+
if (Jt(e, o), t.disableOptimalOrderHeuristic) return;
|
|
1423
1399
|
let s = Infinity, c, l = t.constraints || [];
|
|
1424
1400
|
for (let t = 0, r = 0; r < 4; ++t, ++r) {
|
|
1425
|
-
|
|
1426
|
-
let u =
|
|
1401
|
+
qt(t % 2 ? i : a, t % 4 >= 2, l, n), o = D(e);
|
|
1402
|
+
let u = At(e, o);
|
|
1427
1403
|
u < s ? (r = 0, c = Object.assign({}, o), s = u) : u === s && (c = structuredClone(o));
|
|
1428
1404
|
}
|
|
1429
|
-
|
|
1405
|
+
Jt(e, c);
|
|
1430
1406
|
}
|
|
1431
|
-
function
|
|
1407
|
+
function Kt(e, t, n) {
|
|
1432
1408
|
let r = /* @__PURE__ */ new Map(), i = (e, t) => {
|
|
1433
1409
|
r.has(e) || r.set(e, []), r.get(e).push(t);
|
|
1434
1410
|
};
|
|
@@ -1437,48 +1413,48 @@ function $t(e, t, n) {
|
|
|
1437
1413
|
if (typeof n.rank == "number" && i(n.rank, t), typeof n.minRank == "number" && typeof n.maxRank == "number") for (let e = n.minRank; e <= n.maxRank; e++) e !== n.rank && i(e, t);
|
|
1438
1414
|
}
|
|
1439
1415
|
return t.map(function(t) {
|
|
1440
|
-
return
|
|
1416
|
+
return Ht(e, t, n, r.get(t) || []);
|
|
1441
1417
|
});
|
|
1442
1418
|
}
|
|
1443
|
-
function
|
|
1444
|
-
let i = !0, a = new
|
|
1419
|
+
function qt(e, t, n, r) {
|
|
1420
|
+
let i = !0, a = new c();
|
|
1445
1421
|
e.forEach(function(e) {
|
|
1446
1422
|
n.forEach((e) => a.setEdge(e.left, e.right));
|
|
1447
|
-
let o = e.graph().root, { result: s, usedBias: c } =
|
|
1448
|
-
t && c && (i = !i), s.vs.forEach((t, n) => e.node(t).order = n),
|
|
1423
|
+
let o = e.graph().root, { result: s, usedBias: c } = zt(e, o, a, r, i);
|
|
1424
|
+
t && c && (i = !i), s.vs.forEach((t, n) => e.node(t).order = n), Wt(e, a, s.vs);
|
|
1449
1425
|
});
|
|
1450
1426
|
}
|
|
1451
|
-
function
|
|
1427
|
+
function Jt(e, t) {
|
|
1452
1428
|
Object.values(t).forEach((t) => t.forEach((t, n) => e.node(t).order = n));
|
|
1453
1429
|
}
|
|
1454
|
-
function
|
|
1430
|
+
function Yt(e, t) {
|
|
1455
1431
|
let n = {};
|
|
1456
1432
|
function r(t, r) {
|
|
1457
1433
|
let i = 0, a = 0, o = t.length, s = r[r.length - 1];
|
|
1458
1434
|
return r.forEach((t, c) => {
|
|
1459
|
-
let l =
|
|
1435
|
+
let l = Zt(e, t), u = l ? e.node(l).order : o;
|
|
1460
1436
|
(l || t === s) && (r.slice(a, c + 1).forEach((t) => {
|
|
1461
1437
|
let r = e.predecessors(t);
|
|
1462
1438
|
r && r.forEach((r) => {
|
|
1463
1439
|
let a = e.node(r), o = a.order;
|
|
1464
|
-
(o < i || u < o) && !(a.dummy && e.node(t).dummy) &&
|
|
1440
|
+
(o < i || u < o) && !(a.dummy && e.node(t).dummy) && Qt(n, r, t);
|
|
1465
1441
|
});
|
|
1466
1442
|
}), a = c + 1, i = u);
|
|
1467
1443
|
}), r;
|
|
1468
1444
|
}
|
|
1469
1445
|
return t.length && t.reduce(r), n;
|
|
1470
1446
|
}
|
|
1471
|
-
function
|
|
1447
|
+
function Xt(e, t) {
|
|
1472
1448
|
let n = {};
|
|
1473
1449
|
function r(t, r, i, a, o) {
|
|
1474
|
-
|
|
1450
|
+
j(r, i).forEach((r) => {
|
|
1475
1451
|
let i = t[r];
|
|
1476
1452
|
if (i !== void 0 && e.node(i).dummy) {
|
|
1477
1453
|
let t = e.predecessors(i);
|
|
1478
1454
|
t && t.forEach((t) => {
|
|
1479
1455
|
if (t === void 0) return;
|
|
1480
1456
|
let r = e.node(t);
|
|
1481
|
-
r.dummy && (r.order < a || r.order > o) &&
|
|
1457
|
+
r.dummy && (r.order < a || r.order > o) && Qt(n, t, i);
|
|
1482
1458
|
});
|
|
1483
1459
|
}
|
|
1484
1460
|
});
|
|
@@ -1499,13 +1475,13 @@ function rn(e, t) {
|
|
|
1499
1475
|
}
|
|
1500
1476
|
return t.length && t.reduce(i), n;
|
|
1501
1477
|
}
|
|
1502
|
-
function
|
|
1478
|
+
function Zt(e, t) {
|
|
1503
1479
|
if (e.node(t).dummy) {
|
|
1504
1480
|
let n = e.predecessors(t);
|
|
1505
1481
|
if (n) return n.find((t) => e.node(t).dummy);
|
|
1506
1482
|
}
|
|
1507
1483
|
}
|
|
1508
|
-
function
|
|
1484
|
+
function Qt(e, t, n) {
|
|
1509
1485
|
if (t > n) {
|
|
1510
1486
|
let e = t;
|
|
1511
1487
|
t = n, n = e;
|
|
@@ -1513,7 +1489,7 @@ function on(e, t, n) {
|
|
|
1513
1489
|
let r = e[t];
|
|
1514
1490
|
r || (e[t] = r = {}), r[n] = !0;
|
|
1515
1491
|
}
|
|
1516
|
-
function
|
|
1492
|
+
function $t(e, t, n) {
|
|
1517
1493
|
if (t > n) {
|
|
1518
1494
|
let e = t;
|
|
1519
1495
|
t = n, n = e;
|
|
@@ -1521,14 +1497,14 @@ function sn(e, t, n) {
|
|
|
1521
1497
|
let r = e[t];
|
|
1522
1498
|
return r !== void 0 && Object.hasOwn(r, n);
|
|
1523
1499
|
}
|
|
1524
|
-
function
|
|
1500
|
+
function en(e, t, n, r, i) {
|
|
1525
1501
|
let a = {}, o = {}, s = {};
|
|
1526
1502
|
return t.forEach((e) => {
|
|
1527
1503
|
e.forEach((e, t) => {
|
|
1528
1504
|
a[e] = e, o[e] = e, s[e] = t;
|
|
1529
1505
|
});
|
|
1530
1506
|
}), t.forEach((t) => {
|
|
1531
|
-
let c = -1, l = -1, u = !1, d = t, f = t.findIndex((t) => i?.includes(t) ||
|
|
1507
|
+
let c = -1, l = -1, u = !1, d = t, f = t.findIndex((t) => i?.includes(t) || un(t, e, i));
|
|
1532
1508
|
f > 0 && (d = [
|
|
1533
1509
|
t[f],
|
|
1534
1510
|
...t.slice(0, f),
|
|
@@ -1536,7 +1512,7 @@ function cn(e, t, n, r, i) {
|
|
|
1536
1512
|
], u = !0), d.forEach((t) => {
|
|
1537
1513
|
let d = r(t);
|
|
1538
1514
|
if (d && d.length) {
|
|
1539
|
-
i != null && i.includes(t) && (d = d.filter((t) =>
|
|
1515
|
+
i != null && i.includes(t) && (d = d.filter((t) => un(t, e, i)));
|
|
1540
1516
|
let r = d.sort((e, t) => {
|
|
1541
1517
|
let n = s[e], r = s[t];
|
|
1542
1518
|
return (n === void 0 ? 0 : n) - (r === void 0 ? 0 : r);
|
|
@@ -1545,7 +1521,7 @@ function cn(e, t, n, r, i) {
|
|
|
1545
1521
|
let i = r[e];
|
|
1546
1522
|
if (i === void 0) continue;
|
|
1547
1523
|
let d = s[i];
|
|
1548
|
-
if (d !== void 0 && o[t] === t && c < d && s[i] !== l &&
|
|
1524
|
+
if (d !== void 0 && o[t] === t && c < d && s[i] !== l && !$t(n, t, i)) {
|
|
1549
1525
|
let e = a[i];
|
|
1550
1526
|
e !== void 0 && (o[i] = t, o[t] = a[t] = e, c = d, u &&= (c = -1, l = s[i] ?? -1, !1));
|
|
1551
1527
|
}
|
|
@@ -1557,8 +1533,8 @@ function cn(e, t, n, r, i) {
|
|
|
1557
1533
|
align: o
|
|
1558
1534
|
};
|
|
1559
1535
|
}
|
|
1560
|
-
function
|
|
1561
|
-
let a = {}, o =
|
|
1536
|
+
function tn(e, t, n, r, i = !1) {
|
|
1537
|
+
let a = {}, o = nn(e, t, n, i), s = i ? "borderLeft" : "borderRight";
|
|
1562
1538
|
function c(e, t) {
|
|
1563
1539
|
let n = o.nodes().slice(), r = {}, i = n.pop();
|
|
1564
1540
|
for (; i;) {
|
|
@@ -1597,8 +1573,8 @@ function ln(e, t, n, r, i = !1) {
|
|
|
1597
1573
|
t !== void 0 && (a[e] = a[t] ?? 0);
|
|
1598
1574
|
}), a;
|
|
1599
1575
|
}
|
|
1600
|
-
function
|
|
1601
|
-
let i = new
|
|
1576
|
+
function nn(e, t, n, r) {
|
|
1577
|
+
let i = new c(), a = e.graph(), o = cn(a.nodesep, a.edgesep, r);
|
|
1602
1578
|
return t.forEach((t) => {
|
|
1603
1579
|
let r;
|
|
1604
1580
|
t.forEach((t) => {
|
|
@@ -1616,31 +1592,31 @@ function un(e, t, n, r) {
|
|
|
1616
1592
|
});
|
|
1617
1593
|
}), i;
|
|
1618
1594
|
}
|
|
1619
|
-
function
|
|
1595
|
+
function rn(e, t) {
|
|
1620
1596
|
return Object.values(t).reduce((t, n) => {
|
|
1621
1597
|
let r = -Infinity, i = Infinity;
|
|
1622
1598
|
Object.entries(n).forEach(([t, n]) => {
|
|
1623
|
-
let a =
|
|
1599
|
+
let a = ln(e, t) / 2;
|
|
1624
1600
|
r = Math.max(n + a, r), i = Math.min(n - a, i);
|
|
1625
1601
|
});
|
|
1626
1602
|
let a = r - i;
|
|
1627
1603
|
return a < t[0] && (t = [a, n]), t;
|
|
1628
1604
|
}, [Infinity, null])[1];
|
|
1629
1605
|
}
|
|
1630
|
-
function
|
|
1631
|
-
let n = Object.values(t), r =
|
|
1606
|
+
function an(e, t) {
|
|
1607
|
+
let n = Object.values(t), r = O(Math.min, n), i = O(Math.max, n);
|
|
1632
1608
|
["u", "d"].forEach((n) => {
|
|
1633
1609
|
["l", "r"].forEach((a) => {
|
|
1634
1610
|
let o = n + a, s = e[o];
|
|
1635
1611
|
if (!s || s === t) return;
|
|
1636
|
-
let c = Object.values(s), l = r -
|
|
1637
|
-
a !== "l" && (l = i -
|
|
1612
|
+
let c = Object.values(s), l = r - O(Math.min, c);
|
|
1613
|
+
a !== "l" && (l = i - O(Math.max, c)), l && (e[o] = N(s, (e) => e + l));
|
|
1638
1614
|
});
|
|
1639
1615
|
});
|
|
1640
1616
|
}
|
|
1641
|
-
function
|
|
1617
|
+
function on(e, t = void 0) {
|
|
1642
1618
|
let n = e.ul;
|
|
1643
|
-
return n ?
|
|
1619
|
+
return n ? N(n, (n, r) => {
|
|
1644
1620
|
if (t) {
|
|
1645
1621
|
let n = e[t.toLowerCase()];
|
|
1646
1622
|
if (n && n[r] !== void 0) return n[r];
|
|
@@ -1652,17 +1628,17 @@ function pn(e, t = void 0) {
|
|
|
1652
1628
|
return ((i[1] ?? 0) + (i[2] ?? 0)) / 2;
|
|
1653
1629
|
}) : {};
|
|
1654
1630
|
}
|
|
1655
|
-
function
|
|
1656
|
-
let n =
|
|
1631
|
+
function sn(e, t) {
|
|
1632
|
+
let n = D(e), r = Object.assign(Yt(e, n), Xt(e, n)), i = {}, a;
|
|
1657
1633
|
return ["u", "d"].forEach((o) => {
|
|
1658
1634
|
a = o === "u" ? n : Object.values(n).reverse(), ["l", "r"].forEach((n) => {
|
|
1659
1635
|
n === "r" && (a = a.map((e) => Object.values(e).reverse()));
|
|
1660
|
-
let s =
|
|
1661
|
-
n === "r" && (c =
|
|
1636
|
+
let s = en(e, a, r, (t) => (o === "u" ? e.predecessors(t) : e.successors(t)) || [], t), c = tn(e, a, s.root, s.align, n === "r");
|
|
1637
|
+
n === "r" && (c = N(c, (e) => -e)), i[o + n] = c;
|
|
1662
1638
|
});
|
|
1663
|
-
}),
|
|
1639
|
+
}), an(i, rn(e, i)), on(i, e.graph().align);
|
|
1664
1640
|
}
|
|
1665
|
-
function
|
|
1641
|
+
function cn(e, t, n) {
|
|
1666
1642
|
return (r, i, a) => {
|
|
1667
1643
|
let o = r.node(i), s = r.node(a), c = 0, l;
|
|
1668
1644
|
if (c += o.width / 2, Object.hasOwn(o, "labelpos")) switch (o.labelpos.toLowerCase()) {
|
|
@@ -1684,21 +1660,21 @@ function hn(e, t, n) {
|
|
|
1684
1660
|
return l && (c += n ? l : -l), c;
|
|
1685
1661
|
};
|
|
1686
1662
|
}
|
|
1687
|
-
function
|
|
1663
|
+
function ln(e, t) {
|
|
1688
1664
|
return e.node(t).width;
|
|
1689
1665
|
}
|
|
1690
|
-
function
|
|
1666
|
+
function un(e, t, n) {
|
|
1691
1667
|
if (!n) return !1;
|
|
1692
1668
|
let r = t.node(e)?.edgeObj;
|
|
1693
1669
|
if (!r || t.node(e).edgeLabel.reversed) return !1;
|
|
1694
1670
|
let i = n.indexOf(r?.v), a = n.indexOf(r?.w);
|
|
1695
1671
|
return i !== -1 && a !== -1 && i === (a + 1) % n.length || i === (a - 1) % n.length;
|
|
1696
1672
|
}
|
|
1697
|
-
function
|
|
1698
|
-
e =
|
|
1673
|
+
function dn(e, t) {
|
|
1674
|
+
e = E(e), fn(e), Object.entries(sn(e, t)).forEach(([t, n]) => e.node(t).x = n);
|
|
1699
1675
|
}
|
|
1700
|
-
function
|
|
1701
|
-
let t =
|
|
1676
|
+
function fn(e) {
|
|
1677
|
+
let t = D(e), n = e.graph(), r = n.ranksep, i = n.rankalign, a = 0;
|
|
1702
1678
|
t.forEach((t) => {
|
|
1703
1679
|
let n = t.reduce((t, n) => {
|
|
1704
1680
|
let r = e.node(n).height ?? 0;
|
|
@@ -1711,10 +1687,10 @@ function yn(e) {
|
|
|
1711
1687
|
});
|
|
1712
1688
|
}
|
|
1713
1689
|
var X = null, Z = null;
|
|
1714
|
-
function
|
|
1715
|
-
return
|
|
1690
|
+
function pn(e, t = {}) {
|
|
1691
|
+
return hn(e, ke, t), e;
|
|
1716
1692
|
}
|
|
1717
|
-
function
|
|
1693
|
+
function mn(e, t, n) {
|
|
1718
1694
|
let r = t;
|
|
1719
1695
|
for (; r !== void 0;) {
|
|
1720
1696
|
let t = e.parent(r);
|
|
@@ -1722,12 +1698,12 @@ function xn(e, t, n) {
|
|
|
1722
1698
|
r = t;
|
|
1723
1699
|
}
|
|
1724
1700
|
}
|
|
1725
|
-
function
|
|
1701
|
+
function hn(e, t, n) {
|
|
1726
1702
|
let r = e.nodes().filter((t) => e.children(t).length), i = {};
|
|
1727
1703
|
r.forEach((r) => {
|
|
1728
1704
|
let a = e.node(r);
|
|
1729
1705
|
if (a && a.rankdir) {
|
|
1730
|
-
let o = new
|
|
1706
|
+
let o = new c({
|
|
1731
1707
|
multigraph: !0,
|
|
1732
1708
|
compound: !0
|
|
1733
1709
|
});
|
|
@@ -1739,32 +1715,32 @@ function Sn(e, t, n) {
|
|
|
1739
1715
|
let i = e.parent(t);
|
|
1740
1716
|
i && i !== r && s.includes(i) && o.setParent(t, i);
|
|
1741
1717
|
});
|
|
1742
|
-
let
|
|
1718
|
+
let l = /* @__PURE__ */ new Set();
|
|
1743
1719
|
e.edges().forEach((t) => {
|
|
1744
|
-
let n =
|
|
1720
|
+
let n = mn(e, t.v, r), i = mn(e, t.w, r);
|
|
1745
1721
|
if (n && i && n !== i) {
|
|
1746
1722
|
let r = `${n}\0${i}`;
|
|
1747
|
-
|
|
1723
|
+
l.has(r) || (l.add(r), o.setEdge(n, i, { ...e.edge(t) }));
|
|
1748
1724
|
}
|
|
1749
|
-
}),
|
|
1750
|
-
let
|
|
1751
|
-
|
|
1752
|
-
let
|
|
1725
|
+
}), hn(o, t, n);
|
|
1726
|
+
let u = En(o);
|
|
1727
|
+
gn(u, t, n), _n(o, u);
|
|
1728
|
+
let d = Infinity, f = Infinity, p = -Infinity, m = -Infinity;
|
|
1753
1729
|
o.nodes().forEach((e) => {
|
|
1754
1730
|
if (e === r) return;
|
|
1755
1731
|
let t = o.node(e);
|
|
1756
|
-
t && typeof t.x == "number" && typeof t.y == "number" && typeof t.width == "number" && typeof t.height == "number" && (
|
|
1757
|
-
}), (!isFinite(
|
|
1758
|
-
let
|
|
1732
|
+
t && typeof t.x == "number" && typeof t.y == "number" && typeof t.width == "number" && typeof t.height == "number" && (d = Math.min(d, t.x - t.width / 2), p = Math.max(p, t.x + t.width / 2), f = Math.min(f, t.y - t.height / 2), m = Math.max(m, t.y + t.height / 2));
|
|
1733
|
+
}), (!isFinite(d) || !isFinite(f) || !isFinite(p) || !isFinite(m)) && (d = f = 0, p = m = 0);
|
|
1734
|
+
let h = p - d, g = m - f;
|
|
1759
1735
|
i[r] = {
|
|
1760
|
-
minX:
|
|
1761
|
-
minY:
|
|
1762
|
-
maxX:
|
|
1763
|
-
maxY:
|
|
1764
|
-
width:
|
|
1736
|
+
minX: d,
|
|
1737
|
+
minY: f,
|
|
1738
|
+
maxX: p,
|
|
1739
|
+
maxY: m,
|
|
1740
|
+
width: h,
|
|
1765
1741
|
height: g,
|
|
1766
|
-
offsetX:
|
|
1767
|
-
offsetY:
|
|
1742
|
+
offsetX: d,
|
|
1743
|
+
offsetY: f
|
|
1768
1744
|
}, a._dagreClusterSubgraph = o;
|
|
1769
1745
|
}
|
|
1770
1746
|
});
|
|
@@ -1780,35 +1756,35 @@ function Sn(e, t, n) {
|
|
|
1780
1756
|
let n = e.node(t);
|
|
1781
1757
|
n && n.rankdir && i[t] && s.set(t, (e.children(t) || []).filter((e) => e !== t));
|
|
1782
1758
|
});
|
|
1783
|
-
let
|
|
1759
|
+
let l = new Set([...s.values()].flat()), u = /* @__PURE__ */ new Map();
|
|
1784
1760
|
s.forEach((e, t) => {
|
|
1785
|
-
|
|
1761
|
+
l.has(t) || u.set(t, o(t));
|
|
1786
1762
|
});
|
|
1787
|
-
let
|
|
1788
|
-
for (let [t, n] of
|
|
1763
|
+
let d = new Set([...u.values()].flat()), f = (e) => {
|
|
1764
|
+
for (let [t, n] of u) if (n.includes(e)) return t;
|
|
1789
1765
|
return e;
|
|
1790
|
-
},
|
|
1766
|
+
}, p = [];
|
|
1791
1767
|
e.edges().forEach((t) => {
|
|
1792
|
-
(
|
|
1768
|
+
(d.has(t.v) || d.has(t.w)) && p.push({
|
|
1793
1769
|
edge: t,
|
|
1794
1770
|
label: e.edge(t)
|
|
1795
1771
|
});
|
|
1796
1772
|
});
|
|
1797
|
-
let
|
|
1798
|
-
|
|
1773
|
+
let m = /* @__PURE__ */ new Map();
|
|
1774
|
+
d.forEach((t) => {
|
|
1799
1775
|
let n = e.parent(t);
|
|
1800
|
-
|
|
1801
|
-
}),
|
|
1776
|
+
m.set(t, typeof n == "string" ? n : void 0);
|
|
1777
|
+
}), u.forEach((t, n) => {
|
|
1802
1778
|
let r = e.node(n), o = [];
|
|
1803
1779
|
t.forEach((t) => {
|
|
1804
1780
|
let n = e.node(t);
|
|
1805
1781
|
n && (o.push({
|
|
1806
1782
|
id: t,
|
|
1807
1783
|
node: n,
|
|
1808
|
-
parent:
|
|
1784
|
+
parent: m.get(t)
|
|
1809
1785
|
}), e.removeNode(t));
|
|
1810
1786
|
});
|
|
1811
|
-
let s =
|
|
1787
|
+
let s = p.filter(({ edge: e }) => t.includes(e.v) || t.includes(e.w)), c = i[n];
|
|
1812
1788
|
r && (a.push({
|
|
1813
1789
|
clusterId: n,
|
|
1814
1790
|
subgraph: r._dagreClusterSubgraph,
|
|
@@ -1818,20 +1794,20 @@ function Sn(e, t, n) {
|
|
|
1818
1794
|
removedEdges: s
|
|
1819
1795
|
}), r.width = c.width, r.height = c.height);
|
|
1820
1796
|
});
|
|
1821
|
-
let
|
|
1822
|
-
|
|
1823
|
-
let r =
|
|
1797
|
+
let h = /* @__PURE__ */ new Set();
|
|
1798
|
+
p.forEach(({ edge: t, label: n }) => {
|
|
1799
|
+
let r = f(t.v), i = f(t.w);
|
|
1824
1800
|
if (r !== i && e.hasNode(r) && e.hasNode(i)) {
|
|
1825
1801
|
let t = `${r}\0${i}`;
|
|
1826
|
-
|
|
1802
|
+
h.has(t) || (h.add(t), e.setEdge(r, i, {
|
|
1827
1803
|
...n,
|
|
1828
1804
|
width: 0,
|
|
1829
1805
|
height: 0
|
|
1830
1806
|
}));
|
|
1831
1807
|
}
|
|
1832
1808
|
});
|
|
1833
|
-
let g =
|
|
1834
|
-
|
|
1809
|
+
let g = En(e);
|
|
1810
|
+
gn(g, t, n), _n(e, g), h.forEach((t) => {
|
|
1835
1811
|
let n = t.indexOf("\0"), r = t.slice(0, n), i = t.slice(n + 1);
|
|
1836
1812
|
e.hasEdge(r, i) && e.removeEdge(r, i);
|
|
1837
1813
|
}), a.forEach(({ clusterId: t, subgraph: n, bounds: r, removedNodes: i, removedEdges: a }) => {
|
|
@@ -1860,10 +1836,10 @@ function Sn(e, t, n) {
|
|
|
1860
1836
|
}
|
|
1861
1837
|
});
|
|
1862
1838
|
}
|
|
1863
|
-
function
|
|
1864
|
-
n?.useDynamic === !1 && (X = null, Z = null), t(" makeSpaceForEdgeLabels", () =>
|
|
1839
|
+
function gn(e, t, n) {
|
|
1840
|
+
n?.useDynamic === !1 && (X = null, Z = null), t(" makeSpaceForEdgeLabels", () => Dn(e)), t(" removeSelfEdges", () => In(e)), t(" acyclic", () => He(e, X)), t(" nestingGraph.run", () => ht(e)), t(" rank", () => ot(E(e))), t(" injectEdgeLabelProxies", () => On(e)), t(" removeEmptyRanks", () => we(e)), t(" nestingGraph.cleanup", () => yt(e)), t(" normalizeRanks", () => Ce(e)), t(" assignRankMinMax", () => kn(e)), t(" removeEdgeLabelProxies", () => An(e)), t(" normalize.run", () => Ke(e)), t(" parentDummyChains", () => dt(e)), t(" addBorderSegments", () => bt(e)), t(" order", () => Gt(e, n, Z)), t(" insertSelfEdges", () => Ln(e)), t(" adjustCoordinateSystem", () => Ct(e)), t(" position", () => dn(e, n.corePath)), t(" positionSelfEdges", () => Rn(e)), Z = JSON.parse(JSON.stringify(e._nodes)), t(" removeBorderNodes", () => Fn(e)), t(" normalize.undo", () => Je(e)), t(" fixupEdgeLabelCoords", () => Nn(e)), t(" undoCoordinateSystem", () => wt(e)), t(" translateGraph", () => jn(e)), t(" assignNodeIntersects", () => Mn(e)), t(" reversePoints", () => Pn(e)), t(" acyclic.undo", () => We(e)), X = e;
|
|
1865
1841
|
}
|
|
1866
|
-
function
|
|
1842
|
+
function _n(e, t) {
|
|
1867
1843
|
e.nodes().forEach((n) => {
|
|
1868
1844
|
let r = e.node(n), i = t.node(n);
|
|
1869
1845
|
r && (r.x = i.x, r.y = i.y, r.order = i.order, r.rank = i.rank, t.children(n).length && (r.width = i.width, r.height = i.height));
|
|
@@ -1872,89 +1848,89 @@ function wn(e, t) {
|
|
|
1872
1848
|
r.points = i.points, Object.hasOwn(i, "x") && (r.x = i.x, r.y = i.y);
|
|
1873
1849
|
}), e.graph().width = t.graph().width, e.graph().height = t.graph().height;
|
|
1874
1850
|
}
|
|
1875
|
-
var
|
|
1851
|
+
var vn = [
|
|
1876
1852
|
"nodesep",
|
|
1877
1853
|
"edgesep",
|
|
1878
1854
|
"ranksep",
|
|
1879
1855
|
"marginx",
|
|
1880
1856
|
"marginy"
|
|
1881
|
-
],
|
|
1857
|
+
], yn = {
|
|
1882
1858
|
ranksep: 50,
|
|
1883
1859
|
edgesep: 20,
|
|
1884
1860
|
nodesep: 50,
|
|
1885
1861
|
rankdir: "TB",
|
|
1886
1862
|
rankalign: "center"
|
|
1887
|
-
},
|
|
1863
|
+
}, bn = [
|
|
1888
1864
|
"acyclicer",
|
|
1889
1865
|
"ranker",
|
|
1890
1866
|
"rankdir",
|
|
1891
1867
|
"align",
|
|
1892
1868
|
"rankalign"
|
|
1893
|
-
],
|
|
1869
|
+
], xn = [
|
|
1894
1870
|
"width",
|
|
1895
1871
|
"height",
|
|
1896
1872
|
"rank"
|
|
1897
|
-
],
|
|
1873
|
+
], Sn = {
|
|
1898
1874
|
width: 0,
|
|
1899
1875
|
height: 0
|
|
1900
|
-
},
|
|
1876
|
+
}, Cn = [
|
|
1901
1877
|
"minlen",
|
|
1902
1878
|
"weight",
|
|
1903
1879
|
"width",
|
|
1904
1880
|
"height",
|
|
1905
1881
|
"labeloffset"
|
|
1906
|
-
],
|
|
1882
|
+
], wn = {
|
|
1907
1883
|
minlen: 1,
|
|
1908
1884
|
weight: 1,
|
|
1909
1885
|
width: 0,
|
|
1910
1886
|
height: 0,
|
|
1911
1887
|
labeloffset: 10,
|
|
1912
1888
|
labelpos: "r"
|
|
1913
|
-
},
|
|
1914
|
-
function
|
|
1915
|
-
let t = new
|
|
1889
|
+
}, Tn = ["labelpos"];
|
|
1890
|
+
function En(e) {
|
|
1891
|
+
let t = new c({
|
|
1916
1892
|
multigraph: !0,
|
|
1917
1893
|
compound: !0
|
|
1918
1894
|
}), n = $(e.graph());
|
|
1919
|
-
return t.setGraph(Object.assign({},
|
|
1920
|
-
let r = Q($(e.node(n)),
|
|
1921
|
-
Object.keys(
|
|
1922
|
-
r[e] === void 0 && (r[e] =
|
|
1895
|
+
return t.setGraph(Object.assign({}, yn, Q(n, vn), M(n, bn))), e.nodes().forEach((n) => {
|
|
1896
|
+
let r = Q($(e.node(n)), xn);
|
|
1897
|
+
Object.keys(Sn).forEach((e) => {
|
|
1898
|
+
r[e] === void 0 && (r[e] = Sn[e]);
|
|
1923
1899
|
}), t.setNode(n, r);
|
|
1924
1900
|
let i = e.parent(n);
|
|
1925
1901
|
i !== void 0 && t.setParent(n, i);
|
|
1926
1902
|
}), e.edges().forEach((n) => {
|
|
1927
1903
|
let r = $(e.edge(n));
|
|
1928
|
-
t.setEdge(n, Object.assign({},
|
|
1904
|
+
t.setEdge(n, Object.assign({}, wn, Q(r, Cn), M(r, Tn)));
|
|
1929
1905
|
}), t;
|
|
1930
1906
|
}
|
|
1931
|
-
function
|
|
1907
|
+
function Dn(e) {
|
|
1932
1908
|
let t = e.graph();
|
|
1933
1909
|
t.ranksep /= 2, e.edges().forEach((n) => {
|
|
1934
1910
|
let r = e.edge(n);
|
|
1935
1911
|
r.minlen *= 2, (r.labelpos ?? "r").toLowerCase() !== "c" && (t.rankdir === "TB" || t.rankdir === "BT" ? r.width += r.labeloffset : r.height += r.labeloffset);
|
|
1936
1912
|
});
|
|
1937
1913
|
}
|
|
1938
|
-
function
|
|
1914
|
+
function On(e) {
|
|
1939
1915
|
e.edges().forEach((t) => {
|
|
1940
1916
|
let n = e.edge(t);
|
|
1941
1917
|
if (n.width && n.height) {
|
|
1942
1918
|
let n = e.node(t.v);
|
|
1943
|
-
|
|
1919
|
+
T(e, "edge-proxy", {
|
|
1944
1920
|
rank: (e.node(t.w).rank - n.rank) / 2 + n.rank,
|
|
1945
1921
|
e: t
|
|
1946
1922
|
}, "_ep");
|
|
1947
1923
|
}
|
|
1948
1924
|
});
|
|
1949
1925
|
}
|
|
1950
|
-
function
|
|
1926
|
+
function kn(e) {
|
|
1951
1927
|
let t = 0;
|
|
1952
1928
|
e.nodes().forEach((n) => {
|
|
1953
1929
|
let r = e.node(n);
|
|
1954
1930
|
r.borderTop && (r.minRank = e.node(r.borderTop).rank, r.maxRank = e.node(r.borderBottom).rank, t = Math.max(t, r.maxRank));
|
|
1955
1931
|
}), e.graph().maxRank = t;
|
|
1956
1932
|
}
|
|
1957
|
-
function
|
|
1933
|
+
function An(e) {
|
|
1958
1934
|
e.nodes().forEach((t) => {
|
|
1959
1935
|
let n = e.node(t);
|
|
1960
1936
|
if (n.dummy === "edge-proxy") {
|
|
@@ -1963,7 +1939,7 @@ function Ln(e) {
|
|
|
1963
1939
|
}
|
|
1964
1940
|
});
|
|
1965
1941
|
}
|
|
1966
|
-
function
|
|
1942
|
+
function jn(e) {
|
|
1967
1943
|
let t = Infinity, n = 0, r = Infinity, i = 0, a = e.graph(), o = a.marginx || 0, s = a.marginy || 0;
|
|
1968
1944
|
function c(e) {
|
|
1969
1945
|
let a = e.x, o = e.y, s = e.width, c = e.height;
|
|
@@ -1982,14 +1958,14 @@ function Rn(e) {
|
|
|
1982
1958
|
}), Object.hasOwn(i, "x") && (i.x -= t), Object.hasOwn(i, "y") && (i.y -= r);
|
|
1983
1959
|
}), a.width = n - t + o, a.height = i - r + s;
|
|
1984
1960
|
}
|
|
1985
|
-
function
|
|
1961
|
+
function Mn(e) {
|
|
1986
1962
|
e.edges().forEach((t) => {
|
|
1987
1963
|
if (t.v === t.w) return;
|
|
1988
1964
|
let n = e.edge(t), r = e.node(t.v), i = e.node(t.w), a, o;
|
|
1989
|
-
n.points ? (a = n.points[0], o = n.points[n.points.length - 1]) : (n.points = [], a = i, o = r), n.points.unshift(
|
|
1965
|
+
n.points ? (a = n.points[0], o = n.points[n.points.length - 1]) : (n.points = [], a = i, o = r), n.points.unshift(Se(r, a)), n.points.push(Se(i, o));
|
|
1990
1966
|
});
|
|
1991
1967
|
}
|
|
1992
|
-
function
|
|
1968
|
+
function Nn(e) {
|
|
1993
1969
|
e.edges().forEach((t) => {
|
|
1994
1970
|
let n = e.edge(t);
|
|
1995
1971
|
if (Object.hasOwn(n, "x")) switch ((n.labelpos === "l" || n.labelpos === "r") && (n.width -= n.labeloffset), n.labelpos) {
|
|
@@ -2002,13 +1978,13 @@ function Bn(e) {
|
|
|
2002
1978
|
}
|
|
2003
1979
|
});
|
|
2004
1980
|
}
|
|
2005
|
-
function
|
|
1981
|
+
function Pn(e) {
|
|
2006
1982
|
e.edges().forEach((t) => {
|
|
2007
1983
|
let n = e.edge(t);
|
|
2008
1984
|
n.reversed && n.points.reverse();
|
|
2009
1985
|
});
|
|
2010
1986
|
}
|
|
2011
|
-
function
|
|
1987
|
+
function Fn(e) {
|
|
2012
1988
|
e.nodes().forEach((t) => {
|
|
2013
1989
|
if (e.children(t).length) {
|
|
2014
1990
|
let n = e.node(t), r = e.node(n.borderTop), i = e.node(n.borderBottom), a = e.node(n.borderLeft[n.borderLeft.length - 1]), o = e.node(n.borderRight[n.borderRight.length - 1]);
|
|
@@ -2018,7 +1994,7 @@ function Hn(e) {
|
|
|
2018
1994
|
e.node(t).dummy === "border" && e.removeNode(t);
|
|
2019
1995
|
});
|
|
2020
1996
|
}
|
|
2021
|
-
function
|
|
1997
|
+
function In(e) {
|
|
2022
1998
|
e.edges().forEach((t) => {
|
|
2023
1999
|
if (t.v === t.w) {
|
|
2024
2000
|
let n = e.node(t.v);
|
|
@@ -2029,13 +2005,13 @@ function Un(e) {
|
|
|
2029
2005
|
}
|
|
2030
2006
|
});
|
|
2031
2007
|
}
|
|
2032
|
-
function
|
|
2033
|
-
|
|
2008
|
+
function Ln(e) {
|
|
2009
|
+
D(e).forEach((t) => {
|
|
2034
2010
|
let n = 0;
|
|
2035
2011
|
t.forEach((t, r) => {
|
|
2036
2012
|
let i = e.node(t);
|
|
2037
2013
|
typeof i.rank != "number" && (i.rank = 0), i.order = r + n, (i.selfEdges || []).forEach((t) => {
|
|
2038
|
-
|
|
2014
|
+
T(e, "selfedge", {
|
|
2039
2015
|
width: t.label.width,
|
|
2040
2016
|
height: t.label.height,
|
|
2041
2017
|
rank: i.rank,
|
|
@@ -2076,7 +2052,7 @@ function Wn(e) {
|
|
|
2076
2052
|
});
|
|
2077
2053
|
});
|
|
2078
2054
|
}
|
|
2079
|
-
function
|
|
2055
|
+
function Rn(e) {
|
|
2080
2056
|
e.nodes().forEach((t) => {
|
|
2081
2057
|
let n = e.node(t), r = (e) => typeof e == "number" && isFinite(e);
|
|
2082
2058
|
if (n.dummy === "selfedge") {
|
|
@@ -2149,7 +2125,7 @@ function Gn(e) {
|
|
|
2149
2125
|
});
|
|
2150
2126
|
}
|
|
2151
2127
|
function Q(e, t) {
|
|
2152
|
-
return
|
|
2128
|
+
return N(M(e, t), Number);
|
|
2153
2129
|
}
|
|
2154
2130
|
function $(e) {
|
|
2155
2131
|
let t = {};
|
|
@@ -2159,21 +2135,25 @@ function $(e) {
|
|
|
2159
2135
|
}
|
|
2160
2136
|
//#endregion
|
|
2161
2137
|
//#region src/erdDiagram.ts
|
|
2162
|
-
var
|
|
2138
|
+
var zn = 160, Bn = 50, Vn = 8, Hn = 24, Un = 6, Wn = {
|
|
2163
2139
|
child: {
|
|
2164
2140
|
fill: "#dae8fc",
|
|
2165
2141
|
stroke: "#6c8ebf"
|
|
2166
2142
|
},
|
|
2143
|
+
optional: {
|
|
2144
|
+
fill: "#f5f5f5",
|
|
2145
|
+
stroke: "#999999"
|
|
2146
|
+
},
|
|
2167
2147
|
primary: {
|
|
2168
2148
|
fill: "#d5e8d4",
|
|
2169
2149
|
stroke: "#82b366"
|
|
2170
2150
|
}
|
|
2171
|
-
},
|
|
2172
|
-
function
|
|
2173
|
-
let i = r.nodeWidth ??
|
|
2174
|
-
function
|
|
2151
|
+
}, Gn = "dpuse-tool-d3-erd-arrow";
|
|
2152
|
+
function Kn(t, n, r = {}) {
|
|
2153
|
+
let i = r.nodeWidth ?? zn, o = r.nodeHeight ?? Bn, s = r.padding ?? Vn, c = r.selfEdgeSize ?? Hn, l = r.cornerRadius ?? Un, u = r.nodeColors ?? Wn, d = r.orderConstraints ?? [];
|
|
2154
|
+
function f() {
|
|
2175
2155
|
e(n).selectAll("svg").remove();
|
|
2176
|
-
let r = new
|
|
2156
|
+
let r = new a.Graph();
|
|
2177
2157
|
r.setGraph({
|
|
2178
2158
|
rankdir: "TB",
|
|
2179
2159
|
nodesep: 40,
|
|
@@ -2181,52 +2161,51 @@ function Qn(t, n, r = {}) {
|
|
|
2181
2161
|
}), r.setDefaultEdgeLabel(() => ({}));
|
|
2182
2162
|
for (let e of t.nodes) r.setNode(e.id, {
|
|
2183
2163
|
width: i,
|
|
2184
|
-
height:
|
|
2164
|
+
height: o,
|
|
2185
2165
|
label: e.label,
|
|
2186
2166
|
typeId: e.typeId
|
|
2187
2167
|
});
|
|
2188
|
-
for (let e of t.edges) e.source
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
}) : r.
|
|
2192
|
-
|
|
2193
|
-
let { width: p = 0, height: m = 0 } = r.graph(), h = p + c * 2, g = m + c * 2, _ = e(n).append("svg").attr("viewBox", `0 0 ${String(h)} ${String(g)}`).attr("width", h).attr("height", g), v = _.append("g").attr("transform", `translate(${String(c)}, ${String(c)})`);
|
|
2194
|
-
_.append("defs").append("marker").attr("id", Zn).attr("viewBox", "0 0 10 10").attr("refX", 9).attr("refY", 5).attr("markerWidth", 6).attr("markerHeight", 6).attr("orient", "auto-start-reverse").append("path").attr("d", "M 0 0 L 10 5 L 0 10 z").attr("fill", "#6c8ebf");
|
|
2195
|
-
let ee = s().x((e) => e.x).y((e) => e.y).curve(o);
|
|
2196
|
-
v.append("g").attr("fill", "none").attr("stroke", "#6c8ebf").attr("stroke-width", 1.5).selectAll("path").data(r.edges()).join("path").attr("marker-end", `url(#${Zn})`).attr("d", (e) => e.v === e.w ? er(r.node(e.v), l) : ee($n(r.node(e.v), r.node(e.w))) ?? "");
|
|
2197
|
-
let y = v.append("g").selectAll("g").data(r.nodes()).join("g").attr("transform", (e) => {
|
|
2168
|
+
for (let e of t.edges) e.source !== e.target && r.setEdge(e.source, e.target);
|
|
2169
|
+
pn(r, { constraints: d });
|
|
2170
|
+
let { width: f = 0, height: p = 0 } = r.graph(), m = f + s * 2, h = p + s * 2, g = e(n).append("svg").attr("viewBox", `0 0 ${String(m)} ${String(h)}`).attr("width", m).attr("height", h), _ = g.append("g").attr("transform", `translate(${String(s)}, ${String(s)})`);
|
|
2171
|
+
g.append("defs").append("marker").attr("id", Gn).attr("viewBox", "0 0 10 10").attr("refX", 9).attr("refY", 5).attr("markerWidth", 6).attr("markerHeight", 6).attr("orient", "auto-start-reverse").append("path").attr("d", "M 0 0 L 10 5 L 0 10 z").attr("fill", "#6c8ebf"), _.append("g").attr("fill", "none").attr("stroke", "#6c8ebf").attr("stroke-width", 1.5).selectAll("path").data(t.edges).join("path").attr("marker-end", `url(#${Gn})`).attr("d", (e) => e.source === e.target ? Jn(r.node(e.source), c) : qn(r.node(e.source), r.node(e.target), l));
|
|
2172
|
+
let v = _.append("g").selectAll("g").data(r.nodes()).join("g").attr("transform", (e) => {
|
|
2198
2173
|
let t = r.node(e);
|
|
2199
2174
|
return `translate(${String((t.x ?? 0) - t.width / 2)}, ${String((t.y ?? 0) - t.height / 2)})`;
|
|
2200
2175
|
});
|
|
2201
|
-
|
|
2202
|
-
let
|
|
2203
|
-
if (
|
|
2204
|
-
return
|
|
2176
|
+
v.append("rect").attr("width", (e) => r.node(e).width).attr("height", (e) => r.node(e).height).attr("rx", l).attr("fill", (e) => u[r.node(e).typeId].fill).attr("stroke", (e) => u[r.node(e).typeId].stroke), v.append("text").attr("x", (e) => r.node(e).width / 2).attr("y", (e) => r.node(e).height / 2).attr("text-anchor", "middle").attr("dominant-baseline", "middle").attr("font-family", "Helvetica, Arial, sans-serif").attr("font-size", 14).attr("fill", "#000000").text((e) => r.node(e).label ?? "");
|
|
2177
|
+
let y = g.node();
|
|
2178
|
+
if (y == null) throw Error("Failed to create ERD diagram SVG element.");
|
|
2179
|
+
return y;
|
|
2205
2180
|
}
|
|
2206
|
-
let
|
|
2181
|
+
let p = f();
|
|
2207
2182
|
return {
|
|
2208
2183
|
resize: () => {
|
|
2209
|
-
|
|
2184
|
+
p = f();
|
|
2210
2185
|
},
|
|
2211
2186
|
get svg() {
|
|
2212
|
-
return
|
|
2187
|
+
return p;
|
|
2213
2188
|
}
|
|
2214
2189
|
};
|
|
2215
2190
|
}
|
|
2216
|
-
function
|
|
2217
|
-
|
|
2218
|
-
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
}
|
|
2225
|
-
|
|
2191
|
+
function qn(e, t, n) {
|
|
2192
|
+
let r = e.x ?? 0, i = (e.y ?? 0) + e.height / 2, a = t.x ?? 0, o = (t.y ?? 0) - t.height / 2;
|
|
2193
|
+
if (r === a) return `M ${String(r)} ${String(i)} L ${String(a)} ${String(o)}`;
|
|
2194
|
+
let s = (i + o) / 2, c = Math.sign(a - r), l = Math.max(0, Math.min(n, s - i, o - s, Math.abs(a - r) / 2));
|
|
2195
|
+
return [
|
|
2196
|
+
`M ${String(r)} ${String(i)}`,
|
|
2197
|
+
`L ${String(r)} ${String(s - l)}`,
|
|
2198
|
+
`Q ${String(r)} ${String(s)} ${String(r + c * l)} ${String(s)}`,
|
|
2199
|
+
`L ${String(a - c * l)} ${String(s)}`,
|
|
2200
|
+
`Q ${String(a)} ${String(s)} ${String(a)} ${String(s + l)}`,
|
|
2201
|
+
`L ${String(a)} ${String(o)}`
|
|
2202
|
+
].join(" ");
|
|
2203
|
+
}
|
|
2204
|
+
function Jn(e, t) {
|
|
2226
2205
|
let n = (e.x ?? 0) + e.width / 2, r = n + t, i = (e.y ?? 0) - e.height / 4, a = (e.y ?? 0) + e.height / 4;
|
|
2227
2206
|
return `M ${String(n)} ${String(i)} C ${String(r)} ${String(i)}, ${String(r)} ${String(a)}, ${String(n)} ${String(a)}`;
|
|
2228
2207
|
}
|
|
2229
2208
|
//#endregion
|
|
2230
|
-
export {
|
|
2209
|
+
export { Kn as renderErdDiagram };
|
|
2231
2210
|
|
|
2232
|
-
//# sourceMappingURL=erdDiagram-
|
|
2211
|
+
//# sourceMappingURL=erdDiagram-BDV0xo6a.js.map
|