@oxide/design-system 1.7.7--canary.c74e439.0 → 1.7.7--canary.2a63c1e.0
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/components/dist/asciidoc.css +42 -0
- package/components/dist/index.d.ts +0 -3
- package/components/dist/index.js +145 -1807
- package/components/dist/index.js.map +1 -1
- package/package.json +5 -3
- package/components/dist/architecture-I3QFYML2-YZWO3N3B.js +0 -14
- package/components/dist/architecture-I3QFYML2-YZWO3N3B.js.map +0 -1
- package/components/dist/architectureDiagram-UYN6MBPD-HXPGIDN7.js +0 -8846
- package/components/dist/architectureDiagram-UYN6MBPD-HXPGIDN7.js.map +0 -1
- package/components/dist/blockDiagram-ZHA2E4KO-OAYYKCLF.js +0 -3721
- package/components/dist/blockDiagram-ZHA2E4KO-OAYYKCLF.js.map +0 -1
- package/components/dist/c4Diagram-6F5ED5ID-TBHFK2XY.js +0 -2599
- package/components/dist/c4Diagram-6F5ED5ID-TBHFK2XY.js.map +0 -1
- package/components/dist/chunk-2DDKDUUO.js +0 -439
- package/components/dist/chunk-2DDKDUUO.js.map +0 -1
- package/components/dist/chunk-2NHDMTP7.js +0 -26905
- package/components/dist/chunk-2NHDMTP7.js.map +0 -1
- package/components/dist/chunk-4IJS44L3.js +0 -22
- package/components/dist/chunk-4IJS44L3.js.map +0 -1
- package/components/dist/chunk-562WOS3Z.js +0 -1109
- package/components/dist/chunk-562WOS3Z.js.map +0 -1
- package/components/dist/chunk-6UD2HOKB.js +0 -17082
- package/components/dist/chunk-6UD2HOKB.js.map +0 -1
- package/components/dist/chunk-76BOQ7BT.js +0 -63
- package/components/dist/chunk-76BOQ7BT.js.map +0 -1
- package/components/dist/chunk-7I5DT373.js +0 -97
- package/components/dist/chunk-7I5DT373.js.map +0 -1
- package/components/dist/chunk-BPREMNVP.js +0 -1875
- package/components/dist/chunk-BPREMNVP.js.map +0 -1
- package/components/dist/chunk-BVYAEHG3.js +0 -122
- package/components/dist/chunk-BVYAEHG3.js.map +0 -1
- package/components/dist/chunk-BW7DFBOS.js +0 -152
- package/components/dist/chunk-BW7DFBOS.js.map +0 -1
- package/components/dist/chunk-EZG2MNHW.js +0 -59
- package/components/dist/chunk-EZG2MNHW.js.map +0 -1
- package/components/dist/chunk-G6QWNAHJ.js +0 -43
- package/components/dist/chunk-G6QWNAHJ.js.map +0 -1
- package/components/dist/chunk-H72D3HRR.js +0 -1244
- package/components/dist/chunk-H72D3HRR.js.map +0 -1
- package/components/dist/chunk-K532NZMW.js +0 -46
- package/components/dist/chunk-K532NZMW.js.map +0 -1
- package/components/dist/chunk-LC3BX2KL.js +0 -25
- package/components/dist/chunk-LC3BX2KL.js.map +0 -1
- package/components/dist/chunk-LQ2ABR7F.js +0 -5665
- package/components/dist/chunk-LQ2ABR7F.js.map +0 -1
- package/components/dist/chunk-M6L3MM6K.js +0 -22
- package/components/dist/chunk-M6L3MM6K.js.map +0 -1
- package/components/dist/chunk-MWA4PRRW.js +0 -122
- package/components/dist/chunk-MWA4PRRW.js.map +0 -1
- package/components/dist/chunk-ND3FLKHU.js +0 -570
- package/components/dist/chunk-ND3FLKHU.js.map +0 -1
- package/components/dist/chunk-NIVHLOPB.js +0 -2621
- package/components/dist/chunk-NIVHLOPB.js.map +0 -1
- package/components/dist/chunk-R6F6FFK7.js +0 -65
- package/components/dist/chunk-R6F6FFK7.js.map +0 -1
- package/components/dist/chunk-RN5R3L7O.js +0 -2041
- package/components/dist/chunk-RN5R3L7O.js.map +0 -1
- package/components/dist/chunk-RWDBBMDN.js +0 -10910
- package/components/dist/chunk-RWDBBMDN.js.map +0 -1
- package/components/dist/chunk-T7HPDS4Z.js +0 -573
- package/components/dist/chunk-T7HPDS4Z.js.map +0 -1
- package/components/dist/chunk-TG4YEU4Q.js +0 -23
- package/components/dist/chunk-TG4YEU4Q.js.map +0 -1
- package/components/dist/chunk-U5WCXBW2.js +0 -48
- package/components/dist/chunk-U5WCXBW2.js.map +0 -1
- package/components/dist/chunk-V6PWN6OH.js +0 -1875
- package/components/dist/chunk-V6PWN6OH.js.map +0 -1
- package/components/dist/chunk-VLTHNCSD.js +0 -48
- package/components/dist/chunk-VLTHNCSD.js.map +0 -1
- package/components/dist/chunk-WDK4G4UR.js +0 -2791
- package/components/dist/chunk-WDK4G4UR.js.map +0 -1
- package/components/dist/chunk-WLVQWTC6.js +0 -77
- package/components/dist/chunk-WLVQWTC6.js.map +0 -1
- package/components/dist/chunk-YDLS5R4M.js +0 -48
- package/components/dist/chunk-YDLS5R4M.js.map +0 -1
- package/components/dist/chunk-YGFBWU2Q.js +0 -7
- package/components/dist/chunk-YGFBWU2Q.js.map +0 -1
- package/components/dist/chunk-ZBL4CWCH.js +0 -2120
- package/components/dist/chunk-ZBL4CWCH.js.map +0 -1
- package/components/dist/classDiagram-LNE6IOMH-VRQHEQWM.js +0 -40
- package/components/dist/classDiagram-LNE6IOMH-VRQHEQWM.js.map +0 -1
- package/components/dist/classDiagram-v2-MQ7JQ4JX-5GB4NXXM.js +0 -40
- package/components/dist/classDiagram-v2-MQ7JQ4JX-5GB4NXXM.js.map +0 -1
- package/components/dist/dagre-4EVJKHTY-XW45LMKR.js +0 -734
- package/components/dist/dagre-4EVJKHTY-XW45LMKR.js.map +0 -1
- package/components/dist/diagram-QW4FP2JN-J2YMUPB5.js +0 -226
- package/components/dist/diagram-QW4FP2JN-J2YMUPB5.js.map +0 -1
- package/components/dist/erDiagram-6RL3IURR-HQULDVJI.js +0 -1381
- package/components/dist/erDiagram-6RL3IURR-HQULDVJI.js.map +0 -1
- package/components/dist/flowDiagram-7ASYPVHJ-2542732I.js +0 -2349
- package/components/dist/flowDiagram-7ASYPVHJ-2542732I.js.map +0 -1
- package/components/dist/ganttDiagram-NTVNEXSI-V66YQQB3.js +0 -2413
- package/components/dist/ganttDiagram-NTVNEXSI-V66YQQB3.js.map +0 -1
- package/components/dist/gitGraph-YCYPL57B-AAXPWQN7.js +0 -14
- package/components/dist/gitGraph-YCYPL57B-AAXPWQN7.js.map +0 -1
- package/components/dist/gitGraphDiagram-NRZ2UAAF-5DU6QMYZ.js +0 -1763
- package/components/dist/gitGraphDiagram-NRZ2UAAF-5DU6QMYZ.js.map +0 -1
- package/components/dist/info-46DW6VJ7-43TTIEYF.js +0 -14
- package/components/dist/info-46DW6VJ7-43TTIEYF.js.map +0 -1
- package/components/dist/infoDiagram-A4XQUW5V-UZERSQDI.js +0 -54
- package/components/dist/infoDiagram-A4XQUW5V-UZERSQDI.js.map +0 -1
- package/components/dist/journeyDiagram-G5WM74LC-RVKMRGRW.js +0 -1244
- package/components/dist/journeyDiagram-G5WM74LC-RVKMRGRW.js.map +0 -1
- package/components/dist/kanban-definition-QRCXZQQD-NWU5I3TK.js +0 -1119
- package/components/dist/kanban-definition-QRCXZQQD-NWU5I3TK.js.map +0 -1
- package/components/dist/katex-WNZY3CE5.js +0 -14484
- package/components/dist/katex-WNZY3CE5.js.map +0 -1
- package/components/dist/mindmap-definition-GWI6TPTV-MISEH6LG.js +0 -6013
- package/components/dist/mindmap-definition-GWI6TPTV-MISEH6LG.js.map +0 -1
- package/components/dist/packet-W2GHVCYJ-FBZCFIPR.js +0 -14
- package/components/dist/packet-W2GHVCYJ-FBZCFIPR.js.map +0 -1
- package/components/dist/pie-BEWT4RHE-UFFBBCXM.js +0 -14
- package/components/dist/pie-BEWT4RHE-UFFBBCXM.js.map +0 -1
- package/components/dist/pieDiagram-YF2LJOPJ-IXEVHPCM.js +0 -223
- package/components/dist/pieDiagram-YF2LJOPJ-IXEVHPCM.js.map +0 -1
- package/components/dist/quadrantDiagram-OS5C2QUG-MW26UCZV.js +0 -1408
- package/components/dist/quadrantDiagram-OS5C2QUG-MW26UCZV.js.map +0 -1
- package/components/dist/requirementDiagram-MIRIMTAZ-BX24AAHL.js +0 -1175
- package/components/dist/requirementDiagram-MIRIMTAZ-BX24AAHL.js.map +0 -1
- package/components/dist/sankeyDiagram-Y46BX6SQ-5RKUGG63.js +0 -1278
- package/components/dist/sankeyDiagram-Y46BX6SQ-5RKUGG63.js.map +0 -1
- package/components/dist/sequenceDiagram-G6AWOVSC-2T3JBUZ2.js +0 -3529
- package/components/dist/sequenceDiagram-G6AWOVSC-2T3JBUZ2.js.map +0 -1
- package/components/dist/stateDiagram-MAYHULR4-HZ5EGLPA.js +0 -505
- package/components/dist/stateDiagram-MAYHULR4-HZ5EGLPA.js.map +0 -1
- package/components/dist/stateDiagram-v2-4JROLMXI-DN2FEZV3.js +0 -40
- package/components/dist/stateDiagram-v2-4JROLMXI-DN2FEZV3.js.map +0 -1
- package/components/dist/timeline-definition-U7ZMHBDA-GB6AKKW4.js +0 -1260
- package/components/dist/timeline-definition-U7ZMHBDA-GB6AKKW4.js.map +0 -1
- package/components/dist/xychartDiagram-6QU3TZC5-BFFLEHUP.js +0 -1877
- package/components/dist/xychartDiagram-6QU3TZC5-BFFLEHUP.js.map +0 -1
|
@@ -1,1381 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
layout
|
|
3
|
-
} from "./chunk-RN5R3L7O.js";
|
|
4
|
-
import {
|
|
5
|
-
Graph
|
|
6
|
-
} from "./chunk-2DDKDUUO.js";
|
|
7
|
-
import {
|
|
8
|
-
utils_default
|
|
9
|
-
} from "./chunk-T7HPDS4Z.js";
|
|
10
|
-
import "./chunk-7I5DT373.js";
|
|
11
|
-
import {
|
|
12
|
-
__name,
|
|
13
|
-
basis_default,
|
|
14
|
-
clear,
|
|
15
|
-
configureSvgSize,
|
|
16
|
-
getAccDescription,
|
|
17
|
-
getAccTitle,
|
|
18
|
-
getConfig2,
|
|
19
|
-
getDiagramTitle,
|
|
20
|
-
line_default,
|
|
21
|
-
log,
|
|
22
|
-
parseGenericTypes,
|
|
23
|
-
select_default,
|
|
24
|
-
setAccDescription,
|
|
25
|
-
setAccTitle,
|
|
26
|
-
setDiagramTitle
|
|
27
|
-
} from "./chunk-RWDBBMDN.js";
|
|
28
|
-
import "./chunk-ZBL4CWCH.js";
|
|
29
|
-
import "./chunk-BVYAEHG3.js";
|
|
30
|
-
import "./chunk-562WOS3Z.js";
|
|
31
|
-
import "./chunk-K532NZMW.js";
|
|
32
|
-
|
|
33
|
-
// node_modules/uuid/dist/esm-node/regex.js
|
|
34
|
-
var regex_default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
|
|
35
|
-
|
|
36
|
-
// node_modules/uuid/dist/esm-node/validate.js
|
|
37
|
-
function validate(uuid) {
|
|
38
|
-
return typeof uuid === "string" && regex_default.test(uuid);
|
|
39
|
-
}
|
|
40
|
-
var validate_default = validate;
|
|
41
|
-
|
|
42
|
-
// node_modules/uuid/dist/esm-node/stringify.js
|
|
43
|
-
var byteToHex = [];
|
|
44
|
-
for (let i = 0; i < 256; ++i) {
|
|
45
|
-
byteToHex.push((i + 256).toString(16).slice(1));
|
|
46
|
-
}
|
|
47
|
-
function unsafeStringify(arr, offset = 0) {
|
|
48
|
-
return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// node_modules/uuid/dist/esm-node/parse.js
|
|
52
|
-
function parse(uuid) {
|
|
53
|
-
if (!validate_default(uuid)) {
|
|
54
|
-
throw TypeError("Invalid UUID");
|
|
55
|
-
}
|
|
56
|
-
let v;
|
|
57
|
-
const arr = new Uint8Array(16);
|
|
58
|
-
arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;
|
|
59
|
-
arr[1] = v >>> 16 & 255;
|
|
60
|
-
arr[2] = v >>> 8 & 255;
|
|
61
|
-
arr[3] = v & 255;
|
|
62
|
-
arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;
|
|
63
|
-
arr[5] = v & 255;
|
|
64
|
-
arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;
|
|
65
|
-
arr[7] = v & 255;
|
|
66
|
-
arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;
|
|
67
|
-
arr[9] = v & 255;
|
|
68
|
-
arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 1099511627776 & 255;
|
|
69
|
-
arr[11] = v / 4294967296 & 255;
|
|
70
|
-
arr[12] = v >>> 24 & 255;
|
|
71
|
-
arr[13] = v >>> 16 & 255;
|
|
72
|
-
arr[14] = v >>> 8 & 255;
|
|
73
|
-
arr[15] = v & 255;
|
|
74
|
-
return arr;
|
|
75
|
-
}
|
|
76
|
-
var parse_default = parse;
|
|
77
|
-
|
|
78
|
-
// node_modules/uuid/dist/esm-node/v35.js
|
|
79
|
-
function stringToBytes(str) {
|
|
80
|
-
str = unescape(encodeURIComponent(str));
|
|
81
|
-
const bytes = [];
|
|
82
|
-
for (let i = 0; i < str.length; ++i) {
|
|
83
|
-
bytes.push(str.charCodeAt(i));
|
|
84
|
-
}
|
|
85
|
-
return bytes;
|
|
86
|
-
}
|
|
87
|
-
var DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8";
|
|
88
|
-
var URL = "6ba7b811-9dad-11d1-80b4-00c04fd430c8";
|
|
89
|
-
function v35(name, version, hashfunc) {
|
|
90
|
-
function generateUUID(value, namespace, buf, offset) {
|
|
91
|
-
var _namespace;
|
|
92
|
-
if (typeof value === "string") {
|
|
93
|
-
value = stringToBytes(value);
|
|
94
|
-
}
|
|
95
|
-
if (typeof namespace === "string") {
|
|
96
|
-
namespace = parse_default(namespace);
|
|
97
|
-
}
|
|
98
|
-
if (((_namespace = namespace) === null || _namespace === void 0 ? void 0 : _namespace.length) !== 16) {
|
|
99
|
-
throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");
|
|
100
|
-
}
|
|
101
|
-
let bytes = new Uint8Array(16 + value.length);
|
|
102
|
-
bytes.set(namespace);
|
|
103
|
-
bytes.set(value, namespace.length);
|
|
104
|
-
bytes = hashfunc(bytes);
|
|
105
|
-
bytes[6] = bytes[6] & 15 | version;
|
|
106
|
-
bytes[8] = bytes[8] & 63 | 128;
|
|
107
|
-
if (buf) {
|
|
108
|
-
offset = offset || 0;
|
|
109
|
-
for (let i = 0; i < 16; ++i) {
|
|
110
|
-
buf[offset + i] = bytes[i];
|
|
111
|
-
}
|
|
112
|
-
return buf;
|
|
113
|
-
}
|
|
114
|
-
return unsafeStringify(bytes);
|
|
115
|
-
}
|
|
116
|
-
try {
|
|
117
|
-
generateUUID.name = name;
|
|
118
|
-
} catch (err) {
|
|
119
|
-
}
|
|
120
|
-
generateUUID.DNS = DNS;
|
|
121
|
-
generateUUID.URL = URL;
|
|
122
|
-
return generateUUID;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
// node_modules/uuid/dist/esm-node/sha1.js
|
|
126
|
-
import crypto from "crypto";
|
|
127
|
-
function sha1(bytes) {
|
|
128
|
-
if (Array.isArray(bytes)) {
|
|
129
|
-
bytes = Buffer.from(bytes);
|
|
130
|
-
} else if (typeof bytes === "string") {
|
|
131
|
-
bytes = Buffer.from(bytes, "utf8");
|
|
132
|
-
}
|
|
133
|
-
return crypto.createHash("sha1").update(bytes).digest();
|
|
134
|
-
}
|
|
135
|
-
var sha1_default = sha1;
|
|
136
|
-
|
|
137
|
-
// node_modules/uuid/dist/esm-node/v5.js
|
|
138
|
-
var v5 = v35("v5", 80, sha1_default);
|
|
139
|
-
var v5_default = v5;
|
|
140
|
-
|
|
141
|
-
// node_modules/mermaid/dist/chunks/mermaid.core/erDiagram-6RL3IURR.mjs
|
|
142
|
-
var parser = function() {
|
|
143
|
-
var o = /* @__PURE__ */ __name(function(k, v, o2, l) {
|
|
144
|
-
for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v)
|
|
145
|
-
;
|
|
146
|
-
return o2;
|
|
147
|
-
}, "o"), $V0 = [6, 8, 10, 20, 22, 24, 26, 27, 28], $V1 = [1, 10], $V2 = [1, 11], $V3 = [1, 12], $V4 = [1, 13], $V5 = [1, 14], $V6 = [1, 15], $V7 = [1, 21], $V8 = [1, 22], $V9 = [1, 23], $Va = [1, 24], $Vb = [1, 25], $Vc = [6, 8, 10, 13, 15, 18, 19, 20, 22, 24, 26, 27, 28, 41, 42, 43, 44, 45], $Vd = [1, 34], $Ve = [27, 28, 46, 47], $Vf = [41, 42, 43, 44, 45], $Vg = [17, 34], $Vh = [1, 54], $Vi = [1, 53], $Vj = [17, 34, 36, 38];
|
|
148
|
-
var parser2 = {
|
|
149
|
-
trace: /* @__PURE__ */ __name(function trace() {
|
|
150
|
-
}, "trace"),
|
|
151
|
-
yy: {},
|
|
152
|
-
symbols_: { "error": 2, "start": 3, "ER_DIAGRAM": 4, "document": 5, "EOF": 6, "line": 7, "SPACE": 8, "statement": 9, "NEWLINE": 10, "entityName": 11, "relSpec": 12, ":": 13, "role": 14, "BLOCK_START": 15, "attributes": 16, "BLOCK_STOP": 17, "SQS": 18, "SQE": 19, "title": 20, "title_value": 21, "acc_title": 22, "acc_title_value": 23, "acc_descr": 24, "acc_descr_value": 25, "acc_descr_multiline_value": 26, "ALPHANUM": 27, "ENTITY_NAME": 28, "attribute": 29, "attributeType": 30, "attributeName": 31, "attributeKeyTypeList": 32, "attributeComment": 33, "ATTRIBUTE_WORD": 34, "attributeKeyType": 35, "COMMA": 36, "ATTRIBUTE_KEY": 37, "COMMENT": 38, "cardinality": 39, "relType": 40, "ZERO_OR_ONE": 41, "ZERO_OR_MORE": 42, "ONE_OR_MORE": 43, "ONLY_ONE": 44, "MD_PARENT": 45, "NON_IDENTIFYING": 46, "IDENTIFYING": 47, "WORD": 48, "$accept": 0, "$end": 1 },
|
|
153
|
-
terminals_: { 2: "error", 4: "ER_DIAGRAM", 6: "EOF", 8: "SPACE", 10: "NEWLINE", 13: ":", 15: "BLOCK_START", 17: "BLOCK_STOP", 18: "SQS", 19: "SQE", 20: "title", 21: "title_value", 22: "acc_title", 23: "acc_title_value", 24: "acc_descr", 25: "acc_descr_value", 26: "acc_descr_multiline_value", 27: "ALPHANUM", 28: "ENTITY_NAME", 34: "ATTRIBUTE_WORD", 36: "COMMA", 37: "ATTRIBUTE_KEY", 38: "COMMENT", 41: "ZERO_OR_ONE", 42: "ZERO_OR_MORE", 43: "ONE_OR_MORE", 44: "ONLY_ONE", 45: "MD_PARENT", 46: "NON_IDENTIFYING", 47: "IDENTIFYING", 48: "WORD" },
|
|
154
|
-
productions_: [0, [3, 3], [5, 0], [5, 2], [7, 2], [7, 1], [7, 1], [7, 1], [9, 5], [9, 4], [9, 3], [9, 1], [9, 7], [9, 6], [9, 4], [9, 2], [9, 2], [9, 2], [9, 1], [11, 1], [11, 1], [16, 1], [16, 2], [29, 2], [29, 3], [29, 3], [29, 4], [30, 1], [31, 1], [32, 1], [32, 3], [35, 1], [33, 1], [12, 3], [39, 1], [39, 1], [39, 1], [39, 1], [39, 1], [40, 1], [40, 1], [14, 1], [14, 1], [14, 1]],
|
|
155
|
-
performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {
|
|
156
|
-
var $0 = $$.length - 1;
|
|
157
|
-
switch (yystate) {
|
|
158
|
-
case 1:
|
|
159
|
-
break;
|
|
160
|
-
case 2:
|
|
161
|
-
this.$ = [];
|
|
162
|
-
break;
|
|
163
|
-
case 3:
|
|
164
|
-
$$[$0 - 1].push($$[$0]);
|
|
165
|
-
this.$ = $$[$0 - 1];
|
|
166
|
-
break;
|
|
167
|
-
case 4:
|
|
168
|
-
case 5:
|
|
169
|
-
this.$ = $$[$0];
|
|
170
|
-
break;
|
|
171
|
-
case 6:
|
|
172
|
-
case 7:
|
|
173
|
-
this.$ = [];
|
|
174
|
-
break;
|
|
175
|
-
case 8:
|
|
176
|
-
yy.addEntity($$[$0 - 4]);
|
|
177
|
-
yy.addEntity($$[$0 - 2]);
|
|
178
|
-
yy.addRelationship($$[$0 - 4], $$[$0], $$[$0 - 2], $$[$0 - 3]);
|
|
179
|
-
break;
|
|
180
|
-
case 9:
|
|
181
|
-
yy.addEntity($$[$0 - 3]);
|
|
182
|
-
yy.addAttributes($$[$0 - 3], $$[$0 - 1]);
|
|
183
|
-
break;
|
|
184
|
-
case 10:
|
|
185
|
-
yy.addEntity($$[$0 - 2]);
|
|
186
|
-
break;
|
|
187
|
-
case 11:
|
|
188
|
-
yy.addEntity($$[$0]);
|
|
189
|
-
break;
|
|
190
|
-
case 12:
|
|
191
|
-
yy.addEntity($$[$0 - 6], $$[$0 - 4]);
|
|
192
|
-
yy.addAttributes($$[$0 - 6], $$[$0 - 1]);
|
|
193
|
-
break;
|
|
194
|
-
case 13:
|
|
195
|
-
yy.addEntity($$[$0 - 5], $$[$0 - 3]);
|
|
196
|
-
break;
|
|
197
|
-
case 14:
|
|
198
|
-
yy.addEntity($$[$0 - 3], $$[$0 - 1]);
|
|
199
|
-
break;
|
|
200
|
-
case 15:
|
|
201
|
-
case 16:
|
|
202
|
-
this.$ = $$[$0].trim();
|
|
203
|
-
yy.setAccTitle(this.$);
|
|
204
|
-
break;
|
|
205
|
-
case 17:
|
|
206
|
-
case 18:
|
|
207
|
-
this.$ = $$[$0].trim();
|
|
208
|
-
yy.setAccDescription(this.$);
|
|
209
|
-
break;
|
|
210
|
-
case 19:
|
|
211
|
-
case 43:
|
|
212
|
-
this.$ = $$[$0];
|
|
213
|
-
break;
|
|
214
|
-
case 20:
|
|
215
|
-
case 41:
|
|
216
|
-
case 42:
|
|
217
|
-
this.$ = $$[$0].replace(/"/g, "");
|
|
218
|
-
break;
|
|
219
|
-
case 21:
|
|
220
|
-
case 29:
|
|
221
|
-
this.$ = [$$[$0]];
|
|
222
|
-
break;
|
|
223
|
-
case 22:
|
|
224
|
-
$$[$0].push($$[$0 - 1]);
|
|
225
|
-
this.$ = $$[$0];
|
|
226
|
-
break;
|
|
227
|
-
case 23:
|
|
228
|
-
this.$ = { attributeType: $$[$0 - 1], attributeName: $$[$0] };
|
|
229
|
-
break;
|
|
230
|
-
case 24:
|
|
231
|
-
this.$ = { attributeType: $$[$0 - 2], attributeName: $$[$0 - 1], attributeKeyTypeList: $$[$0] };
|
|
232
|
-
break;
|
|
233
|
-
case 25:
|
|
234
|
-
this.$ = { attributeType: $$[$0 - 2], attributeName: $$[$0 - 1], attributeComment: $$[$0] };
|
|
235
|
-
break;
|
|
236
|
-
case 26:
|
|
237
|
-
this.$ = { attributeType: $$[$0 - 3], attributeName: $$[$0 - 2], attributeKeyTypeList: $$[$0 - 1], attributeComment: $$[$0] };
|
|
238
|
-
break;
|
|
239
|
-
case 27:
|
|
240
|
-
case 28:
|
|
241
|
-
case 31:
|
|
242
|
-
this.$ = $$[$0];
|
|
243
|
-
break;
|
|
244
|
-
case 30:
|
|
245
|
-
$$[$0 - 2].push($$[$0]);
|
|
246
|
-
this.$ = $$[$0 - 2];
|
|
247
|
-
break;
|
|
248
|
-
case 32:
|
|
249
|
-
this.$ = $$[$0].replace(/"/g, "");
|
|
250
|
-
break;
|
|
251
|
-
case 33:
|
|
252
|
-
this.$ = { cardA: $$[$0], relType: $$[$0 - 1], cardB: $$[$0 - 2] };
|
|
253
|
-
break;
|
|
254
|
-
case 34:
|
|
255
|
-
this.$ = yy.Cardinality.ZERO_OR_ONE;
|
|
256
|
-
break;
|
|
257
|
-
case 35:
|
|
258
|
-
this.$ = yy.Cardinality.ZERO_OR_MORE;
|
|
259
|
-
break;
|
|
260
|
-
case 36:
|
|
261
|
-
this.$ = yy.Cardinality.ONE_OR_MORE;
|
|
262
|
-
break;
|
|
263
|
-
case 37:
|
|
264
|
-
this.$ = yy.Cardinality.ONLY_ONE;
|
|
265
|
-
break;
|
|
266
|
-
case 38:
|
|
267
|
-
this.$ = yy.Cardinality.MD_PARENT;
|
|
268
|
-
break;
|
|
269
|
-
case 39:
|
|
270
|
-
this.$ = yy.Identification.NON_IDENTIFYING;
|
|
271
|
-
break;
|
|
272
|
-
case 40:
|
|
273
|
-
this.$ = yy.Identification.IDENTIFYING;
|
|
274
|
-
break;
|
|
275
|
-
}
|
|
276
|
-
}, "anonymous"),
|
|
277
|
-
table: [{ 3: 1, 4: [1, 2] }, { 1: [3] }, o($V0, [2, 2], { 5: 3 }), { 6: [1, 4], 7: 5, 8: [1, 6], 9: 7, 10: [1, 8], 11: 9, 20: $V1, 22: $V2, 24: $V3, 26: $V4, 27: $V5, 28: $V6 }, o($V0, [2, 7], { 1: [2, 1] }), o($V0, [2, 3]), { 9: 16, 11: 9, 20: $V1, 22: $V2, 24: $V3, 26: $V4, 27: $V5, 28: $V6 }, o($V0, [2, 5]), o($V0, [2, 6]), o($V0, [2, 11], { 12: 17, 39: 20, 15: [1, 18], 18: [1, 19], 41: $V7, 42: $V8, 43: $V9, 44: $Va, 45: $Vb }), { 21: [1, 26] }, { 23: [1, 27] }, { 25: [1, 28] }, o($V0, [2, 18]), o($Vc, [2, 19]), o($Vc, [2, 20]), o($V0, [2, 4]), { 11: 29, 27: $V5, 28: $V6 }, { 16: 30, 17: [1, 31], 29: 32, 30: 33, 34: $Vd }, { 11: 35, 27: $V5, 28: $V6 }, { 40: 36, 46: [1, 37], 47: [1, 38] }, o($Ve, [2, 34]), o($Ve, [2, 35]), o($Ve, [2, 36]), o($Ve, [2, 37]), o($Ve, [2, 38]), o($V0, [2, 15]), o($V0, [2, 16]), o($V0, [2, 17]), { 13: [1, 39] }, { 17: [1, 40] }, o($V0, [2, 10]), { 16: 41, 17: [2, 21], 29: 32, 30: 33, 34: $Vd }, { 31: 42, 34: [1, 43] }, { 34: [2, 27] }, { 19: [1, 44] }, { 39: 45, 41: $V7, 42: $V8, 43: $V9, 44: $Va, 45: $Vb }, o($Vf, [2, 39]), o($Vf, [2, 40]), { 14: 46, 27: [1, 49], 28: [1, 48], 48: [1, 47] }, o($V0, [2, 9]), { 17: [2, 22] }, o($Vg, [2, 23], { 32: 50, 33: 51, 35: 52, 37: $Vh, 38: $Vi }), o([17, 34, 37, 38], [2, 28]), o($V0, [2, 14], { 15: [1, 55] }), o([27, 28], [2, 33]), o($V0, [2, 8]), o($V0, [2, 41]), o($V0, [2, 42]), o($V0, [2, 43]), o($Vg, [2, 24], { 33: 56, 36: [1, 57], 38: $Vi }), o($Vg, [2, 25]), o($Vj, [2, 29]), o($Vg, [2, 32]), o($Vj, [2, 31]), { 16: 58, 17: [1, 59], 29: 32, 30: 33, 34: $Vd }, o($Vg, [2, 26]), { 35: 60, 37: $Vh }, { 17: [1, 61] }, o($V0, [2, 13]), o($Vj, [2, 30]), o($V0, [2, 12])],
|
|
278
|
-
defaultActions: { 34: [2, 27], 41: [2, 22] },
|
|
279
|
-
parseError: /* @__PURE__ */ __name(function parseError(str, hash) {
|
|
280
|
-
if (hash.recoverable) {
|
|
281
|
-
this.trace(str);
|
|
282
|
-
} else {
|
|
283
|
-
var error = new Error(str);
|
|
284
|
-
error.hash = hash;
|
|
285
|
-
throw error;
|
|
286
|
-
}
|
|
287
|
-
}, "parseError"),
|
|
288
|
-
parse: /* @__PURE__ */ __name(function parse2(input) {
|
|
289
|
-
var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;
|
|
290
|
-
var args = lstack.slice.call(arguments, 1);
|
|
291
|
-
var lexer2 = Object.create(this.lexer);
|
|
292
|
-
var sharedState = { yy: {} };
|
|
293
|
-
for (var k in this.yy) {
|
|
294
|
-
if (Object.prototype.hasOwnProperty.call(this.yy, k)) {
|
|
295
|
-
sharedState.yy[k] = this.yy[k];
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
lexer2.setInput(input, sharedState.yy);
|
|
299
|
-
sharedState.yy.lexer = lexer2;
|
|
300
|
-
sharedState.yy.parser = this;
|
|
301
|
-
if (typeof lexer2.yylloc == "undefined") {
|
|
302
|
-
lexer2.yylloc = {};
|
|
303
|
-
}
|
|
304
|
-
var yyloc = lexer2.yylloc;
|
|
305
|
-
lstack.push(yyloc);
|
|
306
|
-
var ranges = lexer2.options && lexer2.options.ranges;
|
|
307
|
-
if (typeof sharedState.yy.parseError === "function") {
|
|
308
|
-
this.parseError = sharedState.yy.parseError;
|
|
309
|
-
} else {
|
|
310
|
-
this.parseError = Object.getPrototypeOf(this).parseError;
|
|
311
|
-
}
|
|
312
|
-
function popStack(n) {
|
|
313
|
-
stack.length = stack.length - 2 * n;
|
|
314
|
-
vstack.length = vstack.length - n;
|
|
315
|
-
lstack.length = lstack.length - n;
|
|
316
|
-
}
|
|
317
|
-
__name(popStack, "popStack");
|
|
318
|
-
function lex() {
|
|
319
|
-
var token;
|
|
320
|
-
token = tstack.pop() || lexer2.lex() || EOF;
|
|
321
|
-
if (typeof token !== "number") {
|
|
322
|
-
if (token instanceof Array) {
|
|
323
|
-
tstack = token;
|
|
324
|
-
token = tstack.pop();
|
|
325
|
-
}
|
|
326
|
-
token = self.symbols_[token] || token;
|
|
327
|
-
}
|
|
328
|
-
return token;
|
|
329
|
-
}
|
|
330
|
-
__name(lex, "lex");
|
|
331
|
-
var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;
|
|
332
|
-
while (true) {
|
|
333
|
-
state = stack[stack.length - 1];
|
|
334
|
-
if (this.defaultActions[state]) {
|
|
335
|
-
action = this.defaultActions[state];
|
|
336
|
-
} else {
|
|
337
|
-
if (symbol === null || typeof symbol == "undefined") {
|
|
338
|
-
symbol = lex();
|
|
339
|
-
}
|
|
340
|
-
action = table[state] && table[state][symbol];
|
|
341
|
-
}
|
|
342
|
-
if (typeof action === "undefined" || !action.length || !action[0]) {
|
|
343
|
-
var errStr = "";
|
|
344
|
-
expected = [];
|
|
345
|
-
for (p in table[state]) {
|
|
346
|
-
if (this.terminals_[p] && p > TERROR) {
|
|
347
|
-
expected.push("'" + this.terminals_[p] + "'");
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
if (lexer2.showPosition) {
|
|
351
|
-
errStr = "Parse error on line " + (yylineno + 1) + ":\n" + lexer2.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'";
|
|
352
|
-
} else {
|
|
353
|
-
errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == EOF ? "end of input" : "'" + (this.terminals_[symbol] || symbol) + "'");
|
|
354
|
-
}
|
|
355
|
-
this.parseError(errStr, {
|
|
356
|
-
text: lexer2.match,
|
|
357
|
-
token: this.terminals_[symbol] || symbol,
|
|
358
|
-
line: lexer2.yylineno,
|
|
359
|
-
loc: yyloc,
|
|
360
|
-
expected
|
|
361
|
-
});
|
|
362
|
-
}
|
|
363
|
-
if (action[0] instanceof Array && action.length > 1) {
|
|
364
|
-
throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol);
|
|
365
|
-
}
|
|
366
|
-
switch (action[0]) {
|
|
367
|
-
case 1:
|
|
368
|
-
stack.push(symbol);
|
|
369
|
-
vstack.push(lexer2.yytext);
|
|
370
|
-
lstack.push(lexer2.yylloc);
|
|
371
|
-
stack.push(action[1]);
|
|
372
|
-
symbol = null;
|
|
373
|
-
if (!preErrorSymbol) {
|
|
374
|
-
yyleng = lexer2.yyleng;
|
|
375
|
-
yytext = lexer2.yytext;
|
|
376
|
-
yylineno = lexer2.yylineno;
|
|
377
|
-
yyloc = lexer2.yylloc;
|
|
378
|
-
if (recovering > 0) {
|
|
379
|
-
recovering--;
|
|
380
|
-
}
|
|
381
|
-
} else {
|
|
382
|
-
symbol = preErrorSymbol;
|
|
383
|
-
preErrorSymbol = null;
|
|
384
|
-
}
|
|
385
|
-
break;
|
|
386
|
-
case 2:
|
|
387
|
-
len = this.productions_[action[1]][1];
|
|
388
|
-
yyval.$ = vstack[vstack.length - len];
|
|
389
|
-
yyval._$ = {
|
|
390
|
-
first_line: lstack[lstack.length - (len || 1)].first_line,
|
|
391
|
-
last_line: lstack[lstack.length - 1].last_line,
|
|
392
|
-
first_column: lstack[lstack.length - (len || 1)].first_column,
|
|
393
|
-
last_column: lstack[lstack.length - 1].last_column
|
|
394
|
-
};
|
|
395
|
-
if (ranges) {
|
|
396
|
-
yyval._$.range = [
|
|
397
|
-
lstack[lstack.length - (len || 1)].range[0],
|
|
398
|
-
lstack[lstack.length - 1].range[1]
|
|
399
|
-
];
|
|
400
|
-
}
|
|
401
|
-
r = this.performAction.apply(yyval, [
|
|
402
|
-
yytext,
|
|
403
|
-
yyleng,
|
|
404
|
-
yylineno,
|
|
405
|
-
sharedState.yy,
|
|
406
|
-
action[1],
|
|
407
|
-
vstack,
|
|
408
|
-
lstack
|
|
409
|
-
].concat(args));
|
|
410
|
-
if (typeof r !== "undefined") {
|
|
411
|
-
return r;
|
|
412
|
-
}
|
|
413
|
-
if (len) {
|
|
414
|
-
stack = stack.slice(0, -1 * len * 2);
|
|
415
|
-
vstack = vstack.slice(0, -1 * len);
|
|
416
|
-
lstack = lstack.slice(0, -1 * len);
|
|
417
|
-
}
|
|
418
|
-
stack.push(this.productions_[action[1]][0]);
|
|
419
|
-
vstack.push(yyval.$);
|
|
420
|
-
lstack.push(yyval._$);
|
|
421
|
-
newState = table[stack[stack.length - 2]][stack[stack.length - 1]];
|
|
422
|
-
stack.push(newState);
|
|
423
|
-
break;
|
|
424
|
-
case 3:
|
|
425
|
-
return true;
|
|
426
|
-
}
|
|
427
|
-
}
|
|
428
|
-
return true;
|
|
429
|
-
}, "parse")
|
|
430
|
-
};
|
|
431
|
-
var lexer = /* @__PURE__ */ function() {
|
|
432
|
-
var lexer2 = {
|
|
433
|
-
EOF: 1,
|
|
434
|
-
parseError: /* @__PURE__ */ __name(function parseError(str, hash) {
|
|
435
|
-
if (this.yy.parser) {
|
|
436
|
-
this.yy.parser.parseError(str, hash);
|
|
437
|
-
} else {
|
|
438
|
-
throw new Error(str);
|
|
439
|
-
}
|
|
440
|
-
}, "parseError"),
|
|
441
|
-
// resets the lexer, sets new input
|
|
442
|
-
setInput: /* @__PURE__ */ __name(function(input, yy) {
|
|
443
|
-
this.yy = yy || this.yy || {};
|
|
444
|
-
this._input = input;
|
|
445
|
-
this._more = this._backtrack = this.done = false;
|
|
446
|
-
this.yylineno = this.yyleng = 0;
|
|
447
|
-
this.yytext = this.matched = this.match = "";
|
|
448
|
-
this.conditionStack = ["INITIAL"];
|
|
449
|
-
this.yylloc = {
|
|
450
|
-
first_line: 1,
|
|
451
|
-
first_column: 0,
|
|
452
|
-
last_line: 1,
|
|
453
|
-
last_column: 0
|
|
454
|
-
};
|
|
455
|
-
if (this.options.ranges) {
|
|
456
|
-
this.yylloc.range = [0, 0];
|
|
457
|
-
}
|
|
458
|
-
this.offset = 0;
|
|
459
|
-
return this;
|
|
460
|
-
}, "setInput"),
|
|
461
|
-
// consumes and returns one char from the input
|
|
462
|
-
input: /* @__PURE__ */ __name(function() {
|
|
463
|
-
var ch = this._input[0];
|
|
464
|
-
this.yytext += ch;
|
|
465
|
-
this.yyleng++;
|
|
466
|
-
this.offset++;
|
|
467
|
-
this.match += ch;
|
|
468
|
-
this.matched += ch;
|
|
469
|
-
var lines = ch.match(/(?:\r\n?|\n).*/g);
|
|
470
|
-
if (lines) {
|
|
471
|
-
this.yylineno++;
|
|
472
|
-
this.yylloc.last_line++;
|
|
473
|
-
} else {
|
|
474
|
-
this.yylloc.last_column++;
|
|
475
|
-
}
|
|
476
|
-
if (this.options.ranges) {
|
|
477
|
-
this.yylloc.range[1]++;
|
|
478
|
-
}
|
|
479
|
-
this._input = this._input.slice(1);
|
|
480
|
-
return ch;
|
|
481
|
-
}, "input"),
|
|
482
|
-
// unshifts one char (or a string) into the input
|
|
483
|
-
unput: /* @__PURE__ */ __name(function(ch) {
|
|
484
|
-
var len = ch.length;
|
|
485
|
-
var lines = ch.split(/(?:\r\n?|\n)/g);
|
|
486
|
-
this._input = ch + this._input;
|
|
487
|
-
this.yytext = this.yytext.substr(0, this.yytext.length - len);
|
|
488
|
-
this.offset -= len;
|
|
489
|
-
var oldLines = this.match.split(/(?:\r\n?|\n)/g);
|
|
490
|
-
this.match = this.match.substr(0, this.match.length - 1);
|
|
491
|
-
this.matched = this.matched.substr(0, this.matched.length - 1);
|
|
492
|
-
if (lines.length - 1) {
|
|
493
|
-
this.yylineno -= lines.length - 1;
|
|
494
|
-
}
|
|
495
|
-
var r = this.yylloc.range;
|
|
496
|
-
this.yylloc = {
|
|
497
|
-
first_line: this.yylloc.first_line,
|
|
498
|
-
last_line: this.yylineno + 1,
|
|
499
|
-
first_column: this.yylloc.first_column,
|
|
500
|
-
last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len
|
|
501
|
-
};
|
|
502
|
-
if (this.options.ranges) {
|
|
503
|
-
this.yylloc.range = [r[0], r[0] + this.yyleng - len];
|
|
504
|
-
}
|
|
505
|
-
this.yyleng = this.yytext.length;
|
|
506
|
-
return this;
|
|
507
|
-
}, "unput"),
|
|
508
|
-
// When called from action, caches matched text and appends it on next action
|
|
509
|
-
more: /* @__PURE__ */ __name(function() {
|
|
510
|
-
this._more = true;
|
|
511
|
-
return this;
|
|
512
|
-
}, "more"),
|
|
513
|
-
// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.
|
|
514
|
-
reject: /* @__PURE__ */ __name(function() {
|
|
515
|
-
if (this.options.backtrack_lexer) {
|
|
516
|
-
this._backtrack = true;
|
|
517
|
-
} else {
|
|
518
|
-
return this.parseError("Lexical error on line " + (this.yylineno + 1) + ". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n" + this.showPosition(), {
|
|
519
|
-
text: "",
|
|
520
|
-
token: null,
|
|
521
|
-
line: this.yylineno
|
|
522
|
-
});
|
|
523
|
-
}
|
|
524
|
-
return this;
|
|
525
|
-
}, "reject"),
|
|
526
|
-
// retain first n characters of the match
|
|
527
|
-
less: /* @__PURE__ */ __name(function(n) {
|
|
528
|
-
this.unput(this.match.slice(n));
|
|
529
|
-
}, "less"),
|
|
530
|
-
// displays already matched input, i.e. for error messages
|
|
531
|
-
pastInput: /* @__PURE__ */ __name(function() {
|
|
532
|
-
var past = this.matched.substr(0, this.matched.length - this.match.length);
|
|
533
|
-
return (past.length > 20 ? "..." : "") + past.substr(-20).replace(/\n/g, "");
|
|
534
|
-
}, "pastInput"),
|
|
535
|
-
// displays upcoming input, i.e. for error messages
|
|
536
|
-
upcomingInput: /* @__PURE__ */ __name(function() {
|
|
537
|
-
var next = this.match;
|
|
538
|
-
if (next.length < 20) {
|
|
539
|
-
next += this._input.substr(0, 20 - next.length);
|
|
540
|
-
}
|
|
541
|
-
return (next.substr(0, 20) + (next.length > 20 ? "..." : "")).replace(/\n/g, "");
|
|
542
|
-
}, "upcomingInput"),
|
|
543
|
-
// displays the character position where the lexing error occurred, i.e. for error messages
|
|
544
|
-
showPosition: /* @__PURE__ */ __name(function() {
|
|
545
|
-
var pre = this.pastInput();
|
|
546
|
-
var c = new Array(pre.length + 1).join("-");
|
|
547
|
-
return pre + this.upcomingInput() + "\n" + c + "^";
|
|
548
|
-
}, "showPosition"),
|
|
549
|
-
// test the lexed token: return FALSE when not a match, otherwise return token
|
|
550
|
-
test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {
|
|
551
|
-
var token, lines, backup;
|
|
552
|
-
if (this.options.backtrack_lexer) {
|
|
553
|
-
backup = {
|
|
554
|
-
yylineno: this.yylineno,
|
|
555
|
-
yylloc: {
|
|
556
|
-
first_line: this.yylloc.first_line,
|
|
557
|
-
last_line: this.last_line,
|
|
558
|
-
first_column: this.yylloc.first_column,
|
|
559
|
-
last_column: this.yylloc.last_column
|
|
560
|
-
},
|
|
561
|
-
yytext: this.yytext,
|
|
562
|
-
match: this.match,
|
|
563
|
-
matches: this.matches,
|
|
564
|
-
matched: this.matched,
|
|
565
|
-
yyleng: this.yyleng,
|
|
566
|
-
offset: this.offset,
|
|
567
|
-
_more: this._more,
|
|
568
|
-
_input: this._input,
|
|
569
|
-
yy: this.yy,
|
|
570
|
-
conditionStack: this.conditionStack.slice(0),
|
|
571
|
-
done: this.done
|
|
572
|
-
};
|
|
573
|
-
if (this.options.ranges) {
|
|
574
|
-
backup.yylloc.range = this.yylloc.range.slice(0);
|
|
575
|
-
}
|
|
576
|
-
}
|
|
577
|
-
lines = match[0].match(/(?:\r\n?|\n).*/g);
|
|
578
|
-
if (lines) {
|
|
579
|
-
this.yylineno += lines.length;
|
|
580
|
-
}
|
|
581
|
-
this.yylloc = {
|
|
582
|
-
first_line: this.yylloc.last_line,
|
|
583
|
-
last_line: this.yylineno + 1,
|
|
584
|
-
first_column: this.yylloc.last_column,
|
|
585
|
-
last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length
|
|
586
|
-
};
|
|
587
|
-
this.yytext += match[0];
|
|
588
|
-
this.match += match[0];
|
|
589
|
-
this.matches = match;
|
|
590
|
-
this.yyleng = this.yytext.length;
|
|
591
|
-
if (this.options.ranges) {
|
|
592
|
-
this.yylloc.range = [this.offset, this.offset += this.yyleng];
|
|
593
|
-
}
|
|
594
|
-
this._more = false;
|
|
595
|
-
this._backtrack = false;
|
|
596
|
-
this._input = this._input.slice(match[0].length);
|
|
597
|
-
this.matched += match[0];
|
|
598
|
-
token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);
|
|
599
|
-
if (this.done && this._input) {
|
|
600
|
-
this.done = false;
|
|
601
|
-
}
|
|
602
|
-
if (token) {
|
|
603
|
-
return token;
|
|
604
|
-
} else if (this._backtrack) {
|
|
605
|
-
for (var k in backup) {
|
|
606
|
-
this[k] = backup[k];
|
|
607
|
-
}
|
|
608
|
-
return false;
|
|
609
|
-
}
|
|
610
|
-
return false;
|
|
611
|
-
}, "test_match"),
|
|
612
|
-
// return next match in input
|
|
613
|
-
next: /* @__PURE__ */ __name(function() {
|
|
614
|
-
if (this.done) {
|
|
615
|
-
return this.EOF;
|
|
616
|
-
}
|
|
617
|
-
if (!this._input) {
|
|
618
|
-
this.done = true;
|
|
619
|
-
}
|
|
620
|
-
var token, match, tempMatch, index;
|
|
621
|
-
if (!this._more) {
|
|
622
|
-
this.yytext = "";
|
|
623
|
-
this.match = "";
|
|
624
|
-
}
|
|
625
|
-
var rules = this._currentRules();
|
|
626
|
-
for (var i = 0; i < rules.length; i++) {
|
|
627
|
-
tempMatch = this._input.match(this.rules[rules[i]]);
|
|
628
|
-
if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {
|
|
629
|
-
match = tempMatch;
|
|
630
|
-
index = i;
|
|
631
|
-
if (this.options.backtrack_lexer) {
|
|
632
|
-
token = this.test_match(tempMatch, rules[i]);
|
|
633
|
-
if (token !== false) {
|
|
634
|
-
return token;
|
|
635
|
-
} else if (this._backtrack) {
|
|
636
|
-
match = false;
|
|
637
|
-
continue;
|
|
638
|
-
} else {
|
|
639
|
-
return false;
|
|
640
|
-
}
|
|
641
|
-
} else if (!this.options.flex) {
|
|
642
|
-
break;
|
|
643
|
-
}
|
|
644
|
-
}
|
|
645
|
-
}
|
|
646
|
-
if (match) {
|
|
647
|
-
token = this.test_match(match, rules[index]);
|
|
648
|
-
if (token !== false) {
|
|
649
|
-
return token;
|
|
650
|
-
}
|
|
651
|
-
return false;
|
|
652
|
-
}
|
|
653
|
-
if (this._input === "") {
|
|
654
|
-
return this.EOF;
|
|
655
|
-
} else {
|
|
656
|
-
return this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), {
|
|
657
|
-
text: "",
|
|
658
|
-
token: null,
|
|
659
|
-
line: this.yylineno
|
|
660
|
-
});
|
|
661
|
-
}
|
|
662
|
-
}, "next"),
|
|
663
|
-
// return next match that has a token
|
|
664
|
-
lex: /* @__PURE__ */ __name(function lex() {
|
|
665
|
-
var r = this.next();
|
|
666
|
-
if (r) {
|
|
667
|
-
return r;
|
|
668
|
-
} else {
|
|
669
|
-
return this.lex();
|
|
670
|
-
}
|
|
671
|
-
}, "lex"),
|
|
672
|
-
// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)
|
|
673
|
-
begin: /* @__PURE__ */ __name(function begin(condition) {
|
|
674
|
-
this.conditionStack.push(condition);
|
|
675
|
-
}, "begin"),
|
|
676
|
-
// pop the previously active lexer condition state off the condition stack
|
|
677
|
-
popState: /* @__PURE__ */ __name(function popState() {
|
|
678
|
-
var n = this.conditionStack.length - 1;
|
|
679
|
-
if (n > 0) {
|
|
680
|
-
return this.conditionStack.pop();
|
|
681
|
-
} else {
|
|
682
|
-
return this.conditionStack[0];
|
|
683
|
-
}
|
|
684
|
-
}, "popState"),
|
|
685
|
-
// produce the lexer rule set which is active for the currently active lexer condition state
|
|
686
|
-
_currentRules: /* @__PURE__ */ __name(function _currentRules() {
|
|
687
|
-
if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {
|
|
688
|
-
return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
|
|
689
|
-
} else {
|
|
690
|
-
return this.conditions["INITIAL"].rules;
|
|
691
|
-
}
|
|
692
|
-
}, "_currentRules"),
|
|
693
|
-
// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available
|
|
694
|
-
topState: /* @__PURE__ */ __name(function topState(n) {
|
|
695
|
-
n = this.conditionStack.length - 1 - Math.abs(n || 0);
|
|
696
|
-
if (n >= 0) {
|
|
697
|
-
return this.conditionStack[n];
|
|
698
|
-
} else {
|
|
699
|
-
return "INITIAL";
|
|
700
|
-
}
|
|
701
|
-
}, "topState"),
|
|
702
|
-
// alias for begin(condition)
|
|
703
|
-
pushState: /* @__PURE__ */ __name(function pushState(condition) {
|
|
704
|
-
this.begin(condition);
|
|
705
|
-
}, "pushState"),
|
|
706
|
-
// return the number of states currently on the stack
|
|
707
|
-
stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {
|
|
708
|
-
return this.conditionStack.length;
|
|
709
|
-
}, "stateStackSize"),
|
|
710
|
-
options: { "case-insensitive": true },
|
|
711
|
-
performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {
|
|
712
|
-
var YYSTATE = YY_START;
|
|
713
|
-
switch ($avoiding_name_collisions) {
|
|
714
|
-
case 0:
|
|
715
|
-
this.begin("acc_title");
|
|
716
|
-
return 22;
|
|
717
|
-
break;
|
|
718
|
-
case 1:
|
|
719
|
-
this.popState();
|
|
720
|
-
return "acc_title_value";
|
|
721
|
-
break;
|
|
722
|
-
case 2:
|
|
723
|
-
this.begin("acc_descr");
|
|
724
|
-
return 24;
|
|
725
|
-
break;
|
|
726
|
-
case 3:
|
|
727
|
-
this.popState();
|
|
728
|
-
return "acc_descr_value";
|
|
729
|
-
break;
|
|
730
|
-
case 4:
|
|
731
|
-
this.begin("acc_descr_multiline");
|
|
732
|
-
break;
|
|
733
|
-
case 5:
|
|
734
|
-
this.popState();
|
|
735
|
-
break;
|
|
736
|
-
case 6:
|
|
737
|
-
return "acc_descr_multiline_value";
|
|
738
|
-
break;
|
|
739
|
-
case 7:
|
|
740
|
-
return 10;
|
|
741
|
-
break;
|
|
742
|
-
case 8:
|
|
743
|
-
break;
|
|
744
|
-
case 9:
|
|
745
|
-
return 8;
|
|
746
|
-
break;
|
|
747
|
-
case 10:
|
|
748
|
-
return 28;
|
|
749
|
-
break;
|
|
750
|
-
case 11:
|
|
751
|
-
return 48;
|
|
752
|
-
break;
|
|
753
|
-
case 12:
|
|
754
|
-
return 4;
|
|
755
|
-
break;
|
|
756
|
-
case 13:
|
|
757
|
-
this.begin("block");
|
|
758
|
-
return 15;
|
|
759
|
-
break;
|
|
760
|
-
case 14:
|
|
761
|
-
return 36;
|
|
762
|
-
break;
|
|
763
|
-
case 15:
|
|
764
|
-
break;
|
|
765
|
-
case 16:
|
|
766
|
-
return 37;
|
|
767
|
-
break;
|
|
768
|
-
case 17:
|
|
769
|
-
return 34;
|
|
770
|
-
break;
|
|
771
|
-
case 18:
|
|
772
|
-
return 34;
|
|
773
|
-
break;
|
|
774
|
-
case 19:
|
|
775
|
-
return 38;
|
|
776
|
-
break;
|
|
777
|
-
case 20:
|
|
778
|
-
break;
|
|
779
|
-
case 21:
|
|
780
|
-
this.popState();
|
|
781
|
-
return 17;
|
|
782
|
-
break;
|
|
783
|
-
case 22:
|
|
784
|
-
return yy_.yytext[0];
|
|
785
|
-
break;
|
|
786
|
-
case 23:
|
|
787
|
-
return 18;
|
|
788
|
-
break;
|
|
789
|
-
case 24:
|
|
790
|
-
return 19;
|
|
791
|
-
break;
|
|
792
|
-
case 25:
|
|
793
|
-
return 41;
|
|
794
|
-
break;
|
|
795
|
-
case 26:
|
|
796
|
-
return 43;
|
|
797
|
-
break;
|
|
798
|
-
case 27:
|
|
799
|
-
return 43;
|
|
800
|
-
break;
|
|
801
|
-
case 28:
|
|
802
|
-
return 43;
|
|
803
|
-
break;
|
|
804
|
-
case 29:
|
|
805
|
-
return 41;
|
|
806
|
-
break;
|
|
807
|
-
case 30:
|
|
808
|
-
return 41;
|
|
809
|
-
break;
|
|
810
|
-
case 31:
|
|
811
|
-
return 42;
|
|
812
|
-
break;
|
|
813
|
-
case 32:
|
|
814
|
-
return 42;
|
|
815
|
-
break;
|
|
816
|
-
case 33:
|
|
817
|
-
return 42;
|
|
818
|
-
break;
|
|
819
|
-
case 34:
|
|
820
|
-
return 42;
|
|
821
|
-
break;
|
|
822
|
-
case 35:
|
|
823
|
-
return 42;
|
|
824
|
-
break;
|
|
825
|
-
case 36:
|
|
826
|
-
return 43;
|
|
827
|
-
break;
|
|
828
|
-
case 37:
|
|
829
|
-
return 42;
|
|
830
|
-
break;
|
|
831
|
-
case 38:
|
|
832
|
-
return 43;
|
|
833
|
-
break;
|
|
834
|
-
case 39:
|
|
835
|
-
return 44;
|
|
836
|
-
break;
|
|
837
|
-
case 40:
|
|
838
|
-
return 44;
|
|
839
|
-
break;
|
|
840
|
-
case 41:
|
|
841
|
-
return 44;
|
|
842
|
-
break;
|
|
843
|
-
case 42:
|
|
844
|
-
return 44;
|
|
845
|
-
break;
|
|
846
|
-
case 43:
|
|
847
|
-
return 41;
|
|
848
|
-
break;
|
|
849
|
-
case 44:
|
|
850
|
-
return 42;
|
|
851
|
-
break;
|
|
852
|
-
case 45:
|
|
853
|
-
return 43;
|
|
854
|
-
break;
|
|
855
|
-
case 46:
|
|
856
|
-
return 45;
|
|
857
|
-
break;
|
|
858
|
-
case 47:
|
|
859
|
-
return 46;
|
|
860
|
-
break;
|
|
861
|
-
case 48:
|
|
862
|
-
return 47;
|
|
863
|
-
break;
|
|
864
|
-
case 49:
|
|
865
|
-
return 47;
|
|
866
|
-
break;
|
|
867
|
-
case 50:
|
|
868
|
-
return 46;
|
|
869
|
-
break;
|
|
870
|
-
case 51:
|
|
871
|
-
return 46;
|
|
872
|
-
break;
|
|
873
|
-
case 52:
|
|
874
|
-
return 46;
|
|
875
|
-
break;
|
|
876
|
-
case 53:
|
|
877
|
-
return 27;
|
|
878
|
-
break;
|
|
879
|
-
case 54:
|
|
880
|
-
return yy_.yytext[0];
|
|
881
|
-
break;
|
|
882
|
-
case 55:
|
|
883
|
-
return 6;
|
|
884
|
-
break;
|
|
885
|
-
}
|
|
886
|
-
}, "anonymous"),
|
|
887
|
-
rules: [/^(?:accTitle\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*\{\s*)/i, /^(?:[\}])/i, /^(?:[^\}]*)/i, /^(?:[\n]+)/i, /^(?:\s+)/i, /^(?:[\s]+)/i, /^(?:"[^"%\r\n\v\b\\]+")/i, /^(?:"[^"]*")/i, /^(?:erDiagram\b)/i, /^(?:\{)/i, /^(?:,)/i, /^(?:\s+)/i, /^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i, /^(?:(.*?)[~](.*?)*[~])/i, /^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i, /^(?:"[^"]*")/i, /^(?:[\n]+)/i, /^(?:\})/i, /^(?:.)/i, /^(?:\[)/i, /^(?:\])/i, /^(?:one or zero\b)/i, /^(?:one or more\b)/i, /^(?:one or many\b)/i, /^(?:1\+)/i, /^(?:\|o\b)/i, /^(?:zero or one\b)/i, /^(?:zero or more\b)/i, /^(?:zero or many\b)/i, /^(?:0\+)/i, /^(?:\}o\b)/i, /^(?:many\(0\))/i, /^(?:many\(1\))/i, /^(?:many\b)/i, /^(?:\}\|)/i, /^(?:one\b)/i, /^(?:only one\b)/i, /^(?:1\b)/i, /^(?:\|\|)/i, /^(?:o\|)/i, /^(?:o\{)/i, /^(?:\|\{)/i, /^(?:\s*u\b)/i, /^(?:\.\.)/i, /^(?:--)/i, /^(?:to\b)/i, /^(?:optionally to\b)/i, /^(?:\.-)/i, /^(?:-\.)/i, /^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i, /^(?:.)/i, /^(?:$)/i],
|
|
888
|
-
conditions: { "acc_descr_multiline": { "rules": [5, 6], "inclusive": false }, "acc_descr": { "rules": [3], "inclusive": false }, "acc_title": { "rules": [1], "inclusive": false }, "block": { "rules": [14, 15, 16, 17, 18, 19, 20, 21, 22], "inclusive": false }, "INITIAL": { "rules": [0, 2, 4, 7, 8, 9, 10, 11, 12, 13, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55], "inclusive": true } }
|
|
889
|
-
};
|
|
890
|
-
return lexer2;
|
|
891
|
-
}();
|
|
892
|
-
parser2.lexer = lexer;
|
|
893
|
-
function Parser() {
|
|
894
|
-
this.yy = {};
|
|
895
|
-
}
|
|
896
|
-
__name(Parser, "Parser");
|
|
897
|
-
Parser.prototype = parser2;
|
|
898
|
-
parser2.Parser = Parser;
|
|
899
|
-
return new Parser();
|
|
900
|
-
}();
|
|
901
|
-
parser.parser = parser;
|
|
902
|
-
var erDiagram_default = parser;
|
|
903
|
-
var entities = /* @__PURE__ */ new Map();
|
|
904
|
-
var relationships = [];
|
|
905
|
-
var Cardinality = {
|
|
906
|
-
ZERO_OR_ONE: "ZERO_OR_ONE",
|
|
907
|
-
ZERO_OR_MORE: "ZERO_OR_MORE",
|
|
908
|
-
ONE_OR_MORE: "ONE_OR_MORE",
|
|
909
|
-
ONLY_ONE: "ONLY_ONE",
|
|
910
|
-
MD_PARENT: "MD_PARENT"
|
|
911
|
-
};
|
|
912
|
-
var Identification = {
|
|
913
|
-
NON_IDENTIFYING: "NON_IDENTIFYING",
|
|
914
|
-
IDENTIFYING: "IDENTIFYING"
|
|
915
|
-
};
|
|
916
|
-
var addEntity = /* @__PURE__ */ __name(function(name, alias = void 0) {
|
|
917
|
-
if (!entities.has(name)) {
|
|
918
|
-
entities.set(name, { attributes: [], alias });
|
|
919
|
-
log.info("Added new entity :", name);
|
|
920
|
-
} else if (!entities.get(name).alias && alias) {
|
|
921
|
-
entities.get(name).alias = alias;
|
|
922
|
-
log.info(`Add alias '${alias}' to entity '${name}'`);
|
|
923
|
-
}
|
|
924
|
-
return entities.get(name);
|
|
925
|
-
}, "addEntity");
|
|
926
|
-
var getEntities = /* @__PURE__ */ __name(() => entities, "getEntities");
|
|
927
|
-
var addAttributes = /* @__PURE__ */ __name(function(entityName, attribs) {
|
|
928
|
-
let entity = addEntity(entityName);
|
|
929
|
-
let i;
|
|
930
|
-
for (i = attribs.length - 1; i >= 0; i--) {
|
|
931
|
-
entity.attributes.push(attribs[i]);
|
|
932
|
-
log.debug("Added attribute ", attribs[i].attributeName);
|
|
933
|
-
}
|
|
934
|
-
}, "addAttributes");
|
|
935
|
-
var addRelationship = /* @__PURE__ */ __name(function(entA, rolA, entB, rSpec) {
|
|
936
|
-
let rel = {
|
|
937
|
-
entityA: entA,
|
|
938
|
-
roleA: rolA,
|
|
939
|
-
entityB: entB,
|
|
940
|
-
relSpec: rSpec
|
|
941
|
-
};
|
|
942
|
-
relationships.push(rel);
|
|
943
|
-
log.debug("Added new relationship :", rel);
|
|
944
|
-
}, "addRelationship");
|
|
945
|
-
var getRelationships = /* @__PURE__ */ __name(() => relationships, "getRelationships");
|
|
946
|
-
var clear2 = /* @__PURE__ */ __name(function() {
|
|
947
|
-
entities = /* @__PURE__ */ new Map();
|
|
948
|
-
relationships = [];
|
|
949
|
-
clear();
|
|
950
|
-
}, "clear");
|
|
951
|
-
var erDb_default = {
|
|
952
|
-
Cardinality,
|
|
953
|
-
Identification,
|
|
954
|
-
getConfig: /* @__PURE__ */ __name(() => getConfig2().er, "getConfig"),
|
|
955
|
-
addEntity,
|
|
956
|
-
addAttributes,
|
|
957
|
-
getEntities,
|
|
958
|
-
addRelationship,
|
|
959
|
-
getRelationships,
|
|
960
|
-
clear: clear2,
|
|
961
|
-
setAccTitle,
|
|
962
|
-
getAccTitle,
|
|
963
|
-
setAccDescription,
|
|
964
|
-
getAccDescription,
|
|
965
|
-
setDiagramTitle,
|
|
966
|
-
getDiagramTitle
|
|
967
|
-
};
|
|
968
|
-
var ERMarkers = {
|
|
969
|
-
ONLY_ONE_START: "ONLY_ONE_START",
|
|
970
|
-
ONLY_ONE_END: "ONLY_ONE_END",
|
|
971
|
-
ZERO_OR_ONE_START: "ZERO_OR_ONE_START",
|
|
972
|
-
ZERO_OR_ONE_END: "ZERO_OR_ONE_END",
|
|
973
|
-
ONE_OR_MORE_START: "ONE_OR_MORE_START",
|
|
974
|
-
ONE_OR_MORE_END: "ONE_OR_MORE_END",
|
|
975
|
-
ZERO_OR_MORE_START: "ZERO_OR_MORE_START",
|
|
976
|
-
ZERO_OR_MORE_END: "ZERO_OR_MORE_END",
|
|
977
|
-
MD_PARENT_END: "MD_PARENT_END",
|
|
978
|
-
MD_PARENT_START: "MD_PARENT_START"
|
|
979
|
-
};
|
|
980
|
-
var insertMarkers = /* @__PURE__ */ __name(function(elem, conf2) {
|
|
981
|
-
let marker;
|
|
982
|
-
elem.append("defs").append("marker").attr("id", ERMarkers.MD_PARENT_START).attr("refX", 0).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z");
|
|
983
|
-
elem.append("defs").append("marker").attr("id", ERMarkers.MD_PARENT_END).attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z");
|
|
984
|
-
elem.append("defs").append("marker").attr("id", ERMarkers.ONLY_ONE_START).attr("refX", 0).attr("refY", 9).attr("markerWidth", 18).attr("markerHeight", 18).attr("orient", "auto").append("path").attr("stroke", conf2.stroke).attr("fill", "none").attr("d", "M9,0 L9,18 M15,0 L15,18");
|
|
985
|
-
elem.append("defs").append("marker").attr("id", ERMarkers.ONLY_ONE_END).attr("refX", 18).attr("refY", 9).attr("markerWidth", 18).attr("markerHeight", 18).attr("orient", "auto").append("path").attr("stroke", conf2.stroke).attr("fill", "none").attr("d", "M3,0 L3,18 M9,0 L9,18");
|
|
986
|
-
marker = elem.append("defs").append("marker").attr("id", ERMarkers.ZERO_OR_ONE_START).attr("refX", 0).attr("refY", 9).attr("markerWidth", 30).attr("markerHeight", 18).attr("orient", "auto");
|
|
987
|
-
marker.append("circle").attr("stroke", conf2.stroke).attr("fill", "white").attr("cx", 21).attr("cy", 9).attr("r", 6);
|
|
988
|
-
marker.append("path").attr("stroke", conf2.stroke).attr("fill", "none").attr("d", "M9,0 L9,18");
|
|
989
|
-
marker = elem.append("defs").append("marker").attr("id", ERMarkers.ZERO_OR_ONE_END).attr("refX", 30).attr("refY", 9).attr("markerWidth", 30).attr("markerHeight", 18).attr("orient", "auto");
|
|
990
|
-
marker.append("circle").attr("stroke", conf2.stroke).attr("fill", "white").attr("cx", 9).attr("cy", 9).attr("r", 6);
|
|
991
|
-
marker.append("path").attr("stroke", conf2.stroke).attr("fill", "none").attr("d", "M21,0 L21,18");
|
|
992
|
-
elem.append("defs").append("marker").attr("id", ERMarkers.ONE_OR_MORE_START).attr("refX", 18).attr("refY", 18).attr("markerWidth", 45).attr("markerHeight", 36).attr("orient", "auto").append("path").attr("stroke", conf2.stroke).attr("fill", "none").attr("d", "M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27");
|
|
993
|
-
elem.append("defs").append("marker").attr("id", ERMarkers.ONE_OR_MORE_END).attr("refX", 27).attr("refY", 18).attr("markerWidth", 45).attr("markerHeight", 36).attr("orient", "auto").append("path").attr("stroke", conf2.stroke).attr("fill", "none").attr("d", "M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18");
|
|
994
|
-
marker = elem.append("defs").append("marker").attr("id", ERMarkers.ZERO_OR_MORE_START).attr("refX", 18).attr("refY", 18).attr("markerWidth", 57).attr("markerHeight", 36).attr("orient", "auto");
|
|
995
|
-
marker.append("circle").attr("stroke", conf2.stroke).attr("fill", "white").attr("cx", 48).attr("cy", 18).attr("r", 6);
|
|
996
|
-
marker.append("path").attr("stroke", conf2.stroke).attr("fill", "none").attr("d", "M0,18 Q18,0 36,18 Q18,36 0,18");
|
|
997
|
-
marker = elem.append("defs").append("marker").attr("id", ERMarkers.ZERO_OR_MORE_END).attr("refX", 39).attr("refY", 18).attr("markerWidth", 57).attr("markerHeight", 36).attr("orient", "auto");
|
|
998
|
-
marker.append("circle").attr("stroke", conf2.stroke).attr("fill", "white").attr("cx", 9).attr("cy", 18).attr("r", 6);
|
|
999
|
-
marker.append("path").attr("stroke", conf2.stroke).attr("fill", "none").attr("d", "M21,18 Q39,0 57,18 Q39,36 21,18");
|
|
1000
|
-
return;
|
|
1001
|
-
}, "insertMarkers");
|
|
1002
|
-
var erMarkers_default = {
|
|
1003
|
-
ERMarkers,
|
|
1004
|
-
insertMarkers
|
|
1005
|
-
};
|
|
1006
|
-
var BAD_ID_CHARS_REGEXP = /[^\dA-Za-z](\W)*/g;
|
|
1007
|
-
var conf = {};
|
|
1008
|
-
var entityNameIds = /* @__PURE__ */ new Map();
|
|
1009
|
-
var setConf = /* @__PURE__ */ __name(function(cnf) {
|
|
1010
|
-
const keys = Object.keys(cnf);
|
|
1011
|
-
for (const key of keys) {
|
|
1012
|
-
conf[key] = cnf[key];
|
|
1013
|
-
}
|
|
1014
|
-
}, "setConf");
|
|
1015
|
-
var drawAttributes = /* @__PURE__ */ __name((groupNode, entityTextNode, attributes) => {
|
|
1016
|
-
const heightPadding = conf.entityPadding / 3;
|
|
1017
|
-
const widthPadding = conf.entityPadding / 3;
|
|
1018
|
-
const attrFontSize = conf.fontSize * 0.85;
|
|
1019
|
-
const labelBBox = entityTextNode.node().getBBox();
|
|
1020
|
-
const attributeNodes = [];
|
|
1021
|
-
let hasKeyType = false;
|
|
1022
|
-
let hasComment = false;
|
|
1023
|
-
let maxTypeWidth = 0;
|
|
1024
|
-
let maxNameWidth = 0;
|
|
1025
|
-
let maxKeyWidth = 0;
|
|
1026
|
-
let maxCommentWidth = 0;
|
|
1027
|
-
let cumulativeHeight = labelBBox.height + heightPadding * 2;
|
|
1028
|
-
let attrNum = 1;
|
|
1029
|
-
attributes.forEach((item) => {
|
|
1030
|
-
if (item.attributeKeyTypeList !== void 0 && item.attributeKeyTypeList.length > 0) {
|
|
1031
|
-
hasKeyType = true;
|
|
1032
|
-
}
|
|
1033
|
-
if (item.attributeComment !== void 0) {
|
|
1034
|
-
hasComment = true;
|
|
1035
|
-
}
|
|
1036
|
-
});
|
|
1037
|
-
attributes.forEach((item) => {
|
|
1038
|
-
const attrPrefix = `${entityTextNode.node().id}-attr-${attrNum}`;
|
|
1039
|
-
let nodeHeight = 0;
|
|
1040
|
-
const attributeType = parseGenericTypes(item.attributeType);
|
|
1041
|
-
const typeNode = groupNode.append("text").classed("er entityLabel", true).attr("id", `${attrPrefix}-type`).attr("x", 0).attr("y", 0).style("dominant-baseline", "middle").style("text-anchor", "left").style("font-family", getConfig2().fontFamily).style("font-size", attrFontSize + "px").text(attributeType);
|
|
1042
|
-
const nameNode = groupNode.append("text").classed("er entityLabel", true).attr("id", `${attrPrefix}-name`).attr("x", 0).attr("y", 0).style("dominant-baseline", "middle").style("text-anchor", "left").style("font-family", getConfig2().fontFamily).style("font-size", attrFontSize + "px").text(item.attributeName);
|
|
1043
|
-
const attributeNode = {};
|
|
1044
|
-
attributeNode.tn = typeNode;
|
|
1045
|
-
attributeNode.nn = nameNode;
|
|
1046
|
-
const typeBBox = typeNode.node().getBBox();
|
|
1047
|
-
const nameBBox = nameNode.node().getBBox();
|
|
1048
|
-
maxTypeWidth = Math.max(maxTypeWidth, typeBBox.width);
|
|
1049
|
-
maxNameWidth = Math.max(maxNameWidth, nameBBox.width);
|
|
1050
|
-
nodeHeight = Math.max(typeBBox.height, nameBBox.height);
|
|
1051
|
-
if (hasKeyType) {
|
|
1052
|
-
const keyTypeNodeText = item.attributeKeyTypeList !== void 0 ? item.attributeKeyTypeList.join(",") : "";
|
|
1053
|
-
const keyTypeNode = groupNode.append("text").classed("er entityLabel", true).attr("id", `${attrPrefix}-key`).attr("x", 0).attr("y", 0).style("dominant-baseline", "middle").style("text-anchor", "left").style("font-family", getConfig2().fontFamily).style("font-size", attrFontSize + "px").text(keyTypeNodeText);
|
|
1054
|
-
attributeNode.kn = keyTypeNode;
|
|
1055
|
-
const keyTypeBBox = keyTypeNode.node().getBBox();
|
|
1056
|
-
maxKeyWidth = Math.max(maxKeyWidth, keyTypeBBox.width);
|
|
1057
|
-
nodeHeight = Math.max(nodeHeight, keyTypeBBox.height);
|
|
1058
|
-
}
|
|
1059
|
-
if (hasComment) {
|
|
1060
|
-
const commentNode = groupNode.append("text").classed("er entityLabel", true).attr("id", `${attrPrefix}-comment`).attr("x", 0).attr("y", 0).style("dominant-baseline", "middle").style("text-anchor", "left").style("font-family", getConfig2().fontFamily).style("font-size", attrFontSize + "px").text(item.attributeComment || "");
|
|
1061
|
-
attributeNode.cn = commentNode;
|
|
1062
|
-
const commentNodeBBox = commentNode.node().getBBox();
|
|
1063
|
-
maxCommentWidth = Math.max(maxCommentWidth, commentNodeBBox.width);
|
|
1064
|
-
nodeHeight = Math.max(nodeHeight, commentNodeBBox.height);
|
|
1065
|
-
}
|
|
1066
|
-
attributeNode.height = nodeHeight;
|
|
1067
|
-
attributeNodes.push(attributeNode);
|
|
1068
|
-
cumulativeHeight += nodeHeight + heightPadding * 2;
|
|
1069
|
-
attrNum += 1;
|
|
1070
|
-
});
|
|
1071
|
-
let widthPaddingFactor = 4;
|
|
1072
|
-
if (hasKeyType) {
|
|
1073
|
-
widthPaddingFactor += 2;
|
|
1074
|
-
}
|
|
1075
|
-
if (hasComment) {
|
|
1076
|
-
widthPaddingFactor += 2;
|
|
1077
|
-
}
|
|
1078
|
-
const maxWidth = maxTypeWidth + maxNameWidth + maxKeyWidth + maxCommentWidth;
|
|
1079
|
-
const bBox = {
|
|
1080
|
-
width: Math.max(
|
|
1081
|
-
conf.minEntityWidth,
|
|
1082
|
-
Math.max(
|
|
1083
|
-
labelBBox.width + conf.entityPadding * 2,
|
|
1084
|
-
maxWidth + widthPadding * widthPaddingFactor
|
|
1085
|
-
)
|
|
1086
|
-
),
|
|
1087
|
-
height: attributes.length > 0 ? cumulativeHeight : Math.max(conf.minEntityHeight, labelBBox.height + conf.entityPadding * 2)
|
|
1088
|
-
};
|
|
1089
|
-
if (attributes.length > 0) {
|
|
1090
|
-
const spareColumnWidth = Math.max(
|
|
1091
|
-
0,
|
|
1092
|
-
(bBox.width - maxWidth - widthPadding * widthPaddingFactor) / (widthPaddingFactor / 2)
|
|
1093
|
-
);
|
|
1094
|
-
entityTextNode.attr(
|
|
1095
|
-
"transform",
|
|
1096
|
-
"translate(" + bBox.width / 2 + "," + (heightPadding + labelBBox.height / 2) + ")"
|
|
1097
|
-
);
|
|
1098
|
-
let heightOffset = labelBBox.height + heightPadding * 2;
|
|
1099
|
-
let attribStyle = "attributeBoxOdd";
|
|
1100
|
-
attributeNodes.forEach((attributeNode) => {
|
|
1101
|
-
const alignY = heightOffset + heightPadding + attributeNode.height / 2;
|
|
1102
|
-
attributeNode.tn.attr("transform", "translate(" + widthPadding + "," + alignY + ")");
|
|
1103
|
-
const typeRect = groupNode.insert("rect", "#" + attributeNode.tn.node().id).classed(`er ${attribStyle}`, true).attr("x", 0).attr("y", heightOffset).attr("width", maxTypeWidth + widthPadding * 2 + spareColumnWidth).attr("height", attributeNode.height + heightPadding * 2);
|
|
1104
|
-
const nameXOffset = parseFloat(typeRect.attr("x")) + parseFloat(typeRect.attr("width"));
|
|
1105
|
-
attributeNode.nn.attr(
|
|
1106
|
-
"transform",
|
|
1107
|
-
"translate(" + (nameXOffset + widthPadding) + "," + alignY + ")"
|
|
1108
|
-
);
|
|
1109
|
-
const nameRect = groupNode.insert("rect", "#" + attributeNode.nn.node().id).classed(`er ${attribStyle}`, true).attr("x", nameXOffset).attr("y", heightOffset).attr("width", maxNameWidth + widthPadding * 2 + spareColumnWidth).attr("height", attributeNode.height + heightPadding * 2);
|
|
1110
|
-
let keyTypeAndCommentXOffset = parseFloat(nameRect.attr("x")) + parseFloat(nameRect.attr("width"));
|
|
1111
|
-
if (hasKeyType) {
|
|
1112
|
-
attributeNode.kn.attr(
|
|
1113
|
-
"transform",
|
|
1114
|
-
"translate(" + (keyTypeAndCommentXOffset + widthPadding) + "," + alignY + ")"
|
|
1115
|
-
);
|
|
1116
|
-
const keyTypeRect = groupNode.insert("rect", "#" + attributeNode.kn.node().id).classed(`er ${attribStyle}`, true).attr("x", keyTypeAndCommentXOffset).attr("y", heightOffset).attr("width", maxKeyWidth + widthPadding * 2 + spareColumnWidth).attr("height", attributeNode.height + heightPadding * 2);
|
|
1117
|
-
keyTypeAndCommentXOffset = parseFloat(keyTypeRect.attr("x")) + parseFloat(keyTypeRect.attr("width"));
|
|
1118
|
-
}
|
|
1119
|
-
if (hasComment) {
|
|
1120
|
-
attributeNode.cn.attr(
|
|
1121
|
-
"transform",
|
|
1122
|
-
"translate(" + (keyTypeAndCommentXOffset + widthPadding) + "," + alignY + ")"
|
|
1123
|
-
);
|
|
1124
|
-
groupNode.insert("rect", "#" + attributeNode.cn.node().id).classed(`er ${attribStyle}`, "true").attr("x", keyTypeAndCommentXOffset).attr("y", heightOffset).attr("width", maxCommentWidth + widthPadding * 2 + spareColumnWidth).attr("height", attributeNode.height + heightPadding * 2);
|
|
1125
|
-
}
|
|
1126
|
-
heightOffset += attributeNode.height + heightPadding * 2;
|
|
1127
|
-
attribStyle = attribStyle === "attributeBoxOdd" ? "attributeBoxEven" : "attributeBoxOdd";
|
|
1128
|
-
});
|
|
1129
|
-
} else {
|
|
1130
|
-
bBox.height = Math.max(conf.minEntityHeight, cumulativeHeight);
|
|
1131
|
-
entityTextNode.attr("transform", "translate(" + bBox.width / 2 + "," + bBox.height / 2 + ")");
|
|
1132
|
-
}
|
|
1133
|
-
return bBox;
|
|
1134
|
-
}, "drawAttributes");
|
|
1135
|
-
var drawEntities = /* @__PURE__ */ __name(function(svgNode, entities2, graph) {
|
|
1136
|
-
const keys = [...entities2.keys()];
|
|
1137
|
-
let firstOne;
|
|
1138
|
-
keys.forEach(function(entityName) {
|
|
1139
|
-
const entityId = generateId(entityName, "entity");
|
|
1140
|
-
entityNameIds.set(entityName, entityId);
|
|
1141
|
-
const groupNode = svgNode.append("g").attr("id", entityId);
|
|
1142
|
-
firstOne = firstOne === void 0 ? entityId : firstOne;
|
|
1143
|
-
const textId = "text-" + entityId;
|
|
1144
|
-
const textNode = groupNode.append("text").classed("er entityLabel", true).attr("id", textId).attr("x", 0).attr("y", 0).style("dominant-baseline", "middle").style("text-anchor", "middle").style("font-family", getConfig2().fontFamily).style("font-size", conf.fontSize + "px").text(entities2.get(entityName).alias ?? entityName);
|
|
1145
|
-
const { width: entityWidth, height: entityHeight } = drawAttributes(
|
|
1146
|
-
groupNode,
|
|
1147
|
-
textNode,
|
|
1148
|
-
entities2.get(entityName).attributes
|
|
1149
|
-
);
|
|
1150
|
-
const rectNode = groupNode.insert("rect", "#" + textId).classed("er entityBox", true).attr("x", 0).attr("y", 0).attr("width", entityWidth).attr("height", entityHeight);
|
|
1151
|
-
const rectBBox = rectNode.node().getBBox();
|
|
1152
|
-
graph.setNode(entityId, {
|
|
1153
|
-
width: rectBBox.width,
|
|
1154
|
-
height: rectBBox.height,
|
|
1155
|
-
shape: "rect",
|
|
1156
|
-
id: entityId
|
|
1157
|
-
});
|
|
1158
|
-
});
|
|
1159
|
-
return firstOne;
|
|
1160
|
-
}, "drawEntities");
|
|
1161
|
-
var adjustEntities = /* @__PURE__ */ __name(function(svgNode, graph) {
|
|
1162
|
-
graph.nodes().forEach(function(v) {
|
|
1163
|
-
if (v !== void 0 && graph.node(v) !== void 0) {
|
|
1164
|
-
svgNode.select("#" + v).attr(
|
|
1165
|
-
"transform",
|
|
1166
|
-
"translate(" + (graph.node(v).x - graph.node(v).width / 2) + "," + (graph.node(v).y - graph.node(v).height / 2) + " )"
|
|
1167
|
-
);
|
|
1168
|
-
}
|
|
1169
|
-
});
|
|
1170
|
-
}, "adjustEntities");
|
|
1171
|
-
var getEdgeName = /* @__PURE__ */ __name(function(rel) {
|
|
1172
|
-
return (rel.entityA + rel.roleA + rel.entityB).replace(/\s/g, "");
|
|
1173
|
-
}, "getEdgeName");
|
|
1174
|
-
var addRelationships = /* @__PURE__ */ __name(function(relationships2, g) {
|
|
1175
|
-
relationships2.forEach(function(r) {
|
|
1176
|
-
g.setEdge(
|
|
1177
|
-
entityNameIds.get(r.entityA),
|
|
1178
|
-
entityNameIds.get(r.entityB),
|
|
1179
|
-
{ relationship: r },
|
|
1180
|
-
getEdgeName(r)
|
|
1181
|
-
);
|
|
1182
|
-
});
|
|
1183
|
-
return relationships2;
|
|
1184
|
-
}, "addRelationships");
|
|
1185
|
-
var relCnt = 0;
|
|
1186
|
-
var drawRelationshipFromLayout = /* @__PURE__ */ __name(function(svg, rel, g, insert, diagObj) {
|
|
1187
|
-
relCnt++;
|
|
1188
|
-
const edge = g.edge(
|
|
1189
|
-
entityNameIds.get(rel.entityA),
|
|
1190
|
-
entityNameIds.get(rel.entityB),
|
|
1191
|
-
getEdgeName(rel)
|
|
1192
|
-
);
|
|
1193
|
-
const lineFunction = line_default().x(function(d) {
|
|
1194
|
-
return d.x;
|
|
1195
|
-
}).y(function(d) {
|
|
1196
|
-
return d.y;
|
|
1197
|
-
}).curve(basis_default);
|
|
1198
|
-
const svgPath = svg.insert("path", "#" + insert).classed("er relationshipLine", true).attr("d", lineFunction(edge.points)).style("stroke", conf.stroke).style("fill", "none");
|
|
1199
|
-
if (rel.relSpec.relType === diagObj.db.Identification.NON_IDENTIFYING) {
|
|
1200
|
-
svgPath.attr("stroke-dasharray", "8,8");
|
|
1201
|
-
}
|
|
1202
|
-
let url = "";
|
|
1203
|
-
if (conf.arrowMarkerAbsolute) {
|
|
1204
|
-
url = window.location.protocol + "//" + window.location.host + window.location.pathname + window.location.search;
|
|
1205
|
-
url = url.replace(/\(/g, "\\(");
|
|
1206
|
-
url = url.replace(/\)/g, "\\)");
|
|
1207
|
-
}
|
|
1208
|
-
switch (rel.relSpec.cardA) {
|
|
1209
|
-
case diagObj.db.Cardinality.ZERO_OR_ONE:
|
|
1210
|
-
svgPath.attr("marker-end", "url(" + url + "#" + erMarkers_default.ERMarkers.ZERO_OR_ONE_END + ")");
|
|
1211
|
-
break;
|
|
1212
|
-
case diagObj.db.Cardinality.ZERO_OR_MORE:
|
|
1213
|
-
svgPath.attr("marker-end", "url(" + url + "#" + erMarkers_default.ERMarkers.ZERO_OR_MORE_END + ")");
|
|
1214
|
-
break;
|
|
1215
|
-
case diagObj.db.Cardinality.ONE_OR_MORE:
|
|
1216
|
-
svgPath.attr("marker-end", "url(" + url + "#" + erMarkers_default.ERMarkers.ONE_OR_MORE_END + ")");
|
|
1217
|
-
break;
|
|
1218
|
-
case diagObj.db.Cardinality.ONLY_ONE:
|
|
1219
|
-
svgPath.attr("marker-end", "url(" + url + "#" + erMarkers_default.ERMarkers.ONLY_ONE_END + ")");
|
|
1220
|
-
break;
|
|
1221
|
-
case diagObj.db.Cardinality.MD_PARENT:
|
|
1222
|
-
svgPath.attr("marker-end", "url(" + url + "#" + erMarkers_default.ERMarkers.MD_PARENT_END + ")");
|
|
1223
|
-
break;
|
|
1224
|
-
}
|
|
1225
|
-
switch (rel.relSpec.cardB) {
|
|
1226
|
-
case diagObj.db.Cardinality.ZERO_OR_ONE:
|
|
1227
|
-
svgPath.attr(
|
|
1228
|
-
"marker-start",
|
|
1229
|
-
"url(" + url + "#" + erMarkers_default.ERMarkers.ZERO_OR_ONE_START + ")"
|
|
1230
|
-
);
|
|
1231
|
-
break;
|
|
1232
|
-
case diagObj.db.Cardinality.ZERO_OR_MORE:
|
|
1233
|
-
svgPath.attr(
|
|
1234
|
-
"marker-start",
|
|
1235
|
-
"url(" + url + "#" + erMarkers_default.ERMarkers.ZERO_OR_MORE_START + ")"
|
|
1236
|
-
);
|
|
1237
|
-
break;
|
|
1238
|
-
case diagObj.db.Cardinality.ONE_OR_MORE:
|
|
1239
|
-
svgPath.attr(
|
|
1240
|
-
"marker-start",
|
|
1241
|
-
"url(" + url + "#" + erMarkers_default.ERMarkers.ONE_OR_MORE_START + ")"
|
|
1242
|
-
);
|
|
1243
|
-
break;
|
|
1244
|
-
case diagObj.db.Cardinality.ONLY_ONE:
|
|
1245
|
-
svgPath.attr("marker-start", "url(" + url + "#" + erMarkers_default.ERMarkers.ONLY_ONE_START + ")");
|
|
1246
|
-
break;
|
|
1247
|
-
case diagObj.db.Cardinality.MD_PARENT:
|
|
1248
|
-
svgPath.attr("marker-start", "url(" + url + "#" + erMarkers_default.ERMarkers.MD_PARENT_START + ")");
|
|
1249
|
-
break;
|
|
1250
|
-
}
|
|
1251
|
-
const len = svgPath.node().getTotalLength();
|
|
1252
|
-
const labelPoint = svgPath.node().getPointAtLength(len * 0.5);
|
|
1253
|
-
const labelId = "rel" + relCnt;
|
|
1254
|
-
const labelText = rel.roleA.split(/<br ?\/>/g);
|
|
1255
|
-
const labelNode = svg.append("text").classed("er relationshipLabel", true).attr("id", labelId).attr("x", labelPoint.x).attr("y", labelPoint.y).style("text-anchor", "middle").style("dominant-baseline", "middle").style("font-family", getConfig2().fontFamily).style("font-size", conf.fontSize + "px");
|
|
1256
|
-
if (labelText.length == 1) {
|
|
1257
|
-
labelNode.text(rel.roleA);
|
|
1258
|
-
} else {
|
|
1259
|
-
const firstShift = -(labelText.length - 1) * 0.5;
|
|
1260
|
-
labelText.forEach((txt, i) => {
|
|
1261
|
-
labelNode.append("tspan").attr("x", labelPoint.x).attr("dy", `${i === 0 ? firstShift : 1}em`).text(txt);
|
|
1262
|
-
});
|
|
1263
|
-
}
|
|
1264
|
-
const labelBBox = labelNode.node().getBBox();
|
|
1265
|
-
svg.insert("rect", "#" + labelId).classed("er relationshipLabelBox", true).attr("x", labelPoint.x - labelBBox.width / 2).attr("y", labelPoint.y - labelBBox.height / 2).attr("width", labelBBox.width).attr("height", labelBBox.height);
|
|
1266
|
-
}, "drawRelationshipFromLayout");
|
|
1267
|
-
var draw = /* @__PURE__ */ __name(function(text, id, _version, diagObj) {
|
|
1268
|
-
conf = getConfig2().er;
|
|
1269
|
-
log.info("Drawing ER diagram");
|
|
1270
|
-
const securityLevel = getConfig2().securityLevel;
|
|
1271
|
-
let sandboxElement;
|
|
1272
|
-
if (securityLevel === "sandbox") {
|
|
1273
|
-
sandboxElement = select_default("#i" + id);
|
|
1274
|
-
}
|
|
1275
|
-
const root = securityLevel === "sandbox" ? select_default(sandboxElement.nodes()[0].contentDocument.body) : select_default("body");
|
|
1276
|
-
const svg = root.select(`[id='${id}']`);
|
|
1277
|
-
erMarkers_default.insertMarkers(svg, conf);
|
|
1278
|
-
let g;
|
|
1279
|
-
g = new Graph({
|
|
1280
|
-
multigraph: true,
|
|
1281
|
-
directed: true,
|
|
1282
|
-
compound: false
|
|
1283
|
-
}).setGraph({
|
|
1284
|
-
rankdir: conf.layoutDirection,
|
|
1285
|
-
marginx: 20,
|
|
1286
|
-
marginy: 20,
|
|
1287
|
-
nodesep: 100,
|
|
1288
|
-
edgesep: 100,
|
|
1289
|
-
ranksep: 100
|
|
1290
|
-
}).setDefaultEdgeLabel(function() {
|
|
1291
|
-
return {};
|
|
1292
|
-
});
|
|
1293
|
-
const firstEntity = drawEntities(svg, diagObj.db.getEntities(), g);
|
|
1294
|
-
const relationships2 = addRelationships(diagObj.db.getRelationships(), g);
|
|
1295
|
-
layout(g);
|
|
1296
|
-
adjustEntities(svg, g);
|
|
1297
|
-
relationships2.forEach(function(rel) {
|
|
1298
|
-
drawRelationshipFromLayout(svg, rel, g, firstEntity, diagObj);
|
|
1299
|
-
});
|
|
1300
|
-
const padding = conf.diagramPadding;
|
|
1301
|
-
utils_default.insertTitle(svg, "entityTitleText", conf.titleTopMargin, diagObj.db.getDiagramTitle());
|
|
1302
|
-
const svgBounds = svg.node().getBBox();
|
|
1303
|
-
const width = svgBounds.width + padding * 2;
|
|
1304
|
-
const height = svgBounds.height + padding * 2;
|
|
1305
|
-
configureSvgSize(svg, height, width, conf.useMaxWidth);
|
|
1306
|
-
svg.attr("viewBox", `${svgBounds.x - padding} ${svgBounds.y - padding} ${width} ${height}`);
|
|
1307
|
-
}, "draw");
|
|
1308
|
-
var MERMAID_ERDIAGRAM_UUID = "28e9f9db-3c8d-5aa5-9faf-44286ae5937c";
|
|
1309
|
-
function generateId(str = "", prefix = "") {
|
|
1310
|
-
const simplifiedStr = str.replace(BAD_ID_CHARS_REGEXP, "");
|
|
1311
|
-
return `${strWithHyphen(prefix)}${strWithHyphen(simplifiedStr)}${v5_default(
|
|
1312
|
-
str,
|
|
1313
|
-
MERMAID_ERDIAGRAM_UUID
|
|
1314
|
-
)}`;
|
|
1315
|
-
}
|
|
1316
|
-
__name(generateId, "generateId");
|
|
1317
|
-
function strWithHyphen(str = "") {
|
|
1318
|
-
return str.length > 0 ? `${str}-` : "";
|
|
1319
|
-
}
|
|
1320
|
-
__name(strWithHyphen, "strWithHyphen");
|
|
1321
|
-
var erRenderer_default = {
|
|
1322
|
-
setConf,
|
|
1323
|
-
draw
|
|
1324
|
-
};
|
|
1325
|
-
var getStyles = /* @__PURE__ */ __name((options) => `
|
|
1326
|
-
.entityBox {
|
|
1327
|
-
fill: ${options.mainBkg};
|
|
1328
|
-
stroke: ${options.nodeBorder};
|
|
1329
|
-
}
|
|
1330
|
-
|
|
1331
|
-
.attributeBoxOdd {
|
|
1332
|
-
fill: ${options.attributeBackgroundColorOdd};
|
|
1333
|
-
stroke: ${options.nodeBorder};
|
|
1334
|
-
}
|
|
1335
|
-
|
|
1336
|
-
.attributeBoxEven {
|
|
1337
|
-
fill: ${options.attributeBackgroundColorEven};
|
|
1338
|
-
stroke: ${options.nodeBorder};
|
|
1339
|
-
}
|
|
1340
|
-
|
|
1341
|
-
.relationshipLabelBox {
|
|
1342
|
-
fill: ${options.tertiaryColor};
|
|
1343
|
-
opacity: 0.7;
|
|
1344
|
-
background-color: ${options.tertiaryColor};
|
|
1345
|
-
rect {
|
|
1346
|
-
opacity: 0.5;
|
|
1347
|
-
}
|
|
1348
|
-
}
|
|
1349
|
-
|
|
1350
|
-
.relationshipLine {
|
|
1351
|
-
stroke: ${options.lineColor};
|
|
1352
|
-
}
|
|
1353
|
-
|
|
1354
|
-
.entityTitleText {
|
|
1355
|
-
text-anchor: middle;
|
|
1356
|
-
font-size: 18px;
|
|
1357
|
-
fill: ${options.textColor};
|
|
1358
|
-
}
|
|
1359
|
-
#MD_PARENT_START {
|
|
1360
|
-
fill: #f5f5f5 !important;
|
|
1361
|
-
stroke: ${options.lineColor} !important;
|
|
1362
|
-
stroke-width: 1;
|
|
1363
|
-
}
|
|
1364
|
-
#MD_PARENT_END {
|
|
1365
|
-
fill: #f5f5f5 !important;
|
|
1366
|
-
stroke: ${options.lineColor} !important;
|
|
1367
|
-
stroke-width: 1;
|
|
1368
|
-
}
|
|
1369
|
-
|
|
1370
|
-
`, "getStyles");
|
|
1371
|
-
var styles_default = getStyles;
|
|
1372
|
-
var diagram = {
|
|
1373
|
-
parser: erDiagram_default,
|
|
1374
|
-
db: erDb_default,
|
|
1375
|
-
renderer: erRenderer_default,
|
|
1376
|
-
styles: styles_default
|
|
1377
|
-
};
|
|
1378
|
-
export {
|
|
1379
|
-
diagram
|
|
1380
|
-
};
|
|
1381
|
-
//# sourceMappingURL=erDiagram-6RL3IURR-HQULDVJI.js.map
|