schematex 0.5.2 → 0.6.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/README.md +75 -1
- package/dist/ai/ai-sdk.cjs +22 -22
- package/dist/ai/ai-sdk.d.cts +3 -3
- package/dist/ai/ai-sdk.d.ts +3 -3
- package/dist/ai/ai-sdk.js +17 -17
- package/dist/ai/index.cjs +34 -26
- package/dist/ai/index.d.cts +4 -4
- package/dist/ai/index.d.ts +4 -4
- package/dist/ai/index.js +17 -17
- package/dist/{api-Cr_MxttI.d.ts → api-XWHHAhQI.d.ts} +3 -40
- package/dist/{api-C5SECOxZ.d.cts → api-qVDutqXH.d.cts} +3 -40
- package/dist/browser.cjs +23 -23
- package/dist/browser.d.cts +3 -3
- package/dist/browser.d.ts +3 -3
- package/dist/browser.js +17 -17
- package/dist/{chunk-4QPDZJAL.cjs → chunk-25ZON47K.cjs} +11484 -9030
- package/dist/chunk-25ZON47K.cjs.map +1 -0
- package/dist/{chunk-N7W5KZK7.cjs → chunk-2L4YXZAZ.cjs} +4 -4
- package/dist/{chunk-N7W5KZK7.cjs.map → chunk-2L4YXZAZ.cjs.map} +1 -1
- package/dist/{chunk-ZYRCPSBU.js → chunk-3IE7KZY4.js} +4 -4
- package/dist/{chunk-ZYRCPSBU.js.map → chunk-3IE7KZY4.js.map} +1 -1
- package/dist/{chunk-ZX74KJPM.js → chunk-3VB5AT4R.js} +3 -3
- package/dist/{chunk-ZX74KJPM.js.map → chunk-3VB5AT4R.js.map} +1 -1
- package/dist/{chunk-S2KJRHDZ.cjs → chunk-4UFR2LB6.cjs} +13 -13
- package/dist/{chunk-S2KJRHDZ.cjs.map → chunk-4UFR2LB6.cjs.map} +1 -1
- package/dist/{chunk-QTNPMIO2.cjs → chunk-6JI6FWLZ.cjs} +341 -35
- package/dist/chunk-6JI6FWLZ.cjs.map +1 -0
- package/dist/{chunk-OK5ZS3LU.js → chunk-7AFW2J6J.js} +11445 -8998
- package/dist/chunk-7AFW2J6J.js.map +1 -0
- package/dist/{chunk-UFTYX73U.js → chunk-7F76AWOI.js} +339 -35
- package/dist/chunk-7F76AWOI.js.map +1 -0
- package/dist/{chunk-BW4KGTV7.cjs → chunk-C5C5EF3W.cjs} +4 -4
- package/dist/{chunk-BW4KGTV7.cjs.map → chunk-C5C5EF3W.cjs.map} +1 -1
- package/dist/{chunk-VJGMEGMR.js → chunk-DOK7LKLO.js} +125 -13
- package/dist/chunk-DOK7LKLO.js.map +1 -0
- package/dist/{chunk-3M6WB62Y.cjs → chunk-ECD5XHBM.cjs} +139 -7
- package/dist/chunk-ECD5XHBM.cjs.map +1 -0
- package/dist/{chunk-L3CTXXVZ.js → chunk-FBS3PACU.js} +3 -3
- package/dist/{chunk-L3CTXXVZ.js.map → chunk-FBS3PACU.js.map} +1 -1
- package/dist/{chunk-QUKVGHN4.cjs → chunk-FKJBXGWP.cjs} +4 -4
- package/dist/{chunk-QUKVGHN4.cjs.map → chunk-FKJBXGWP.cjs.map} +1 -1
- package/dist/{chunk-SZK376QB.js → chunk-H4MT5TJP.js} +3 -3
- package/dist/{chunk-SZK376QB.js.map → chunk-H4MT5TJP.js.map} +1 -1
- package/dist/{chunk-3M6T7KB4.js → chunk-HAZALB7U.js} +3 -3
- package/dist/{chunk-3M6T7KB4.js.map → chunk-HAZALB7U.js.map} +1 -1
- package/dist/{chunk-VFZOPRQP.cjs → chunk-HWVBHU3O.cjs} +5 -5
- package/dist/{chunk-VFZOPRQP.cjs.map → chunk-HWVBHU3O.cjs.map} +1 -1
- package/dist/{chunk-D7EHZFK4.cjs → chunk-L7POWM5B.cjs} +138 -2
- package/dist/chunk-L7POWM5B.cjs.map +1 -0
- package/dist/{chunk-6OSUNBZY.js → chunk-LGABFD3L.js} +135 -7
- package/dist/chunk-LGABFD3L.js.map +1 -0
- package/dist/{chunk-2VNMKOUO.js → chunk-LRI4RH2N.js} +135 -3
- package/dist/chunk-LRI4RH2N.js.map +1 -0
- package/dist/{chunk-VDSYMSUY.js → chunk-MVIEIKOI.js} +3 -3
- package/dist/{chunk-VDSYMSUY.js.map → chunk-MVIEIKOI.js.map} +1 -1
- package/dist/{chunk-ZL5RB4UV.js → chunk-N5B242WY.js} +3 -3
- package/dist/{chunk-ZL5RB4UV.js.map → chunk-N5B242WY.js.map} +1 -1
- package/dist/{chunk-VKPCR7BG.js → chunk-P63S7P6N.js} +770 -12
- package/dist/chunk-P63S7P6N.js.map +1 -0
- package/dist/{chunk-YLEVMOK2.cjs → chunk-R66QG3XT.cjs} +5 -4
- package/dist/{chunk-YLEVMOK2.cjs.map → chunk-R66QG3XT.cjs.map} +1 -1
- package/dist/{chunk-I55HO32M.js → chunk-RJMCWT7Z.js} +3 -3
- package/dist/{chunk-I55HO32M.js.map → chunk-RJMCWT7Z.js.map} +1 -1
- package/dist/{chunk-TZTCIAYW.cjs → chunk-S3RMAXH5.cjs} +137 -25
- package/dist/chunk-S3RMAXH5.cjs.map +1 -0
- package/dist/{chunk-IBRW3UOA.js → chunk-TWLKXV2O.js} +3 -3
- package/dist/{chunk-IBRW3UOA.js.map → chunk-TWLKXV2O.js.map} +1 -1
- package/dist/{chunk-VCH7RI5H.js → chunk-UWA5MWCI.js} +4 -4
- package/dist/chunk-UWA5MWCI.js.map +1 -0
- package/dist/{chunk-RYVV5UVI.cjs → chunk-V4GILQR6.cjs} +4 -4
- package/dist/{chunk-RYVV5UVI.cjs.map → chunk-V4GILQR6.cjs.map} +1 -1
- package/dist/{chunk-QMTWG6JL.cjs → chunk-V4RO5KYY.cjs} +6 -4
- package/dist/chunk-V4RO5KYY.cjs.map +1 -0
- package/dist/{chunk-VZ5LDNHK.cjs → chunk-VTSH4YPT.cjs} +12 -12
- package/dist/{chunk-VZ5LDNHK.cjs.map → chunk-VTSH4YPT.cjs.map} +1 -1
- package/dist/{chunk-UUBNQV2T.cjs → chunk-WQDIZH2Z.cjs} +12 -12
- package/dist/{chunk-UUBNQV2T.cjs.map → chunk-WQDIZH2Z.cjs.map} +1 -1
- package/dist/{chunk-EGSUMHCS.cjs → chunk-YB4XJY5L.cjs} +12 -12
- package/dist/{chunk-EGSUMHCS.cjs.map → chunk-YB4XJY5L.cjs.map} +1 -1
- package/dist/{chunk-JHDR56XO.js → chunk-YS6CGUNH.js} +3 -3
- package/dist/{chunk-JHDR56XO.js.map → chunk-YS6CGUNH.js.map} +1 -1
- package/dist/{chunk-HK56GQQP.cjs → chunk-YVDUEUFV.cjs} +773 -13
- package/dist/chunk-YVDUEUFV.cjs.map +1 -0
- package/dist/{types-WTr9W5Ud.d.ts → diagnostics-DRxhodP6.d.cts} +74 -2
- package/dist/{types-WTr9W5Ud.d.cts → diagnostics-DRxhodP6.d.ts} +74 -2
- package/dist/diagrams/blockdiagram/index.d.cts +1 -1
- package/dist/diagrams/blockdiagram/index.d.ts +1 -1
- package/dist/diagrams/circuit/index.cjs +8 -8
- package/dist/diagrams/circuit/index.d.cts +1 -1
- package/dist/diagrams/circuit/index.d.ts +1 -1
- package/dist/diagrams/circuit/index.js +2 -2
- package/dist/diagrams/ecomap/index.cjs +7 -7
- package/dist/diagrams/ecomap/index.d.cts +1 -1
- package/dist/diagrams/ecomap/index.d.ts +1 -1
- package/dist/diagrams/ecomap/index.js +2 -2
- package/dist/diagrams/entity/index.cjs +6 -6
- package/dist/diagrams/entity/index.d.cts +1 -1
- package/dist/diagrams/entity/index.d.ts +1 -1
- package/dist/diagrams/entity/index.js +2 -2
- package/dist/diagrams/fishbone/index.cjs +8 -8
- package/dist/diagrams/fishbone/index.d.cts +1 -1
- package/dist/diagrams/fishbone/index.d.ts +1 -1
- package/dist/diagrams/fishbone/index.js +2 -2
- package/dist/diagrams/flowchart/index.cjs +8 -8
- package/dist/diagrams/flowchart/index.d.cts +2 -2
- package/dist/diagrams/flowchart/index.d.ts +2 -2
- package/dist/diagrams/flowchart/index.js +2 -2
- package/dist/diagrams/genogram/index.cjs +9 -9
- package/dist/diagrams/genogram/index.d.cts +1 -1
- package/dist/diagrams/genogram/index.d.ts +1 -1
- package/dist/diagrams/genogram/index.js +2 -2
- package/dist/diagrams/ladder/index.cjs +6 -6
- package/dist/diagrams/ladder/index.d.cts +1 -1
- package/dist/diagrams/ladder/index.d.ts +1 -1
- package/dist/diagrams/ladder/index.js +2 -2
- package/dist/diagrams/logic/index.cjs +6 -6
- package/dist/diagrams/logic/index.d.cts +1 -1
- package/dist/diagrams/logic/index.d.ts +1 -1
- package/dist/diagrams/logic/index.js +2 -2
- package/dist/diagrams/orgchart/index.cjs +7 -7
- package/dist/diagrams/orgchart/index.d.cts +1 -1
- package/dist/diagrams/orgchart/index.d.ts +1 -1
- package/dist/diagrams/orgchart/index.js +2 -2
- package/dist/diagrams/pedigree/index.cjs +7 -7
- package/dist/diagrams/pedigree/index.d.cts +1 -1
- package/dist/diagrams/pedigree/index.d.ts +1 -1
- package/dist/diagrams/pedigree/index.js +2 -2
- package/dist/diagrams/phylo/index.cjs +7 -7
- package/dist/diagrams/phylo/index.d.cts +1 -1
- package/dist/diagrams/phylo/index.d.ts +1 -1
- package/dist/diagrams/phylo/index.js +2 -2
- package/dist/diagrams/sld/index.cjs +14 -6
- package/dist/diagrams/sld/index.d.cts +14 -2
- package/dist/diagrams/sld/index.d.ts +14 -2
- package/dist/diagrams/sld/index.js +2 -2
- package/dist/diagrams/sociogram/index.cjs +6 -6
- package/dist/diagrams/sociogram/index.d.cts +1 -1
- package/dist/diagrams/sociogram/index.d.ts +1 -1
- package/dist/diagrams/sociogram/index.js +2 -2
- package/dist/diagrams/timing/index.d.cts +1 -1
- package/dist/diagrams/timing/index.d.ts +1 -1
- package/dist/diagrams/venn/index.cjs +9 -9
- package/dist/diagrams/venn/index.d.cts +1 -1
- package/dist/diagrams/venn/index.d.ts +1 -1
- package/dist/diagrams/venn/index.js +2 -2
- package/dist/{index-C30zQWZI.d.ts → index-BRIkOPnd.d.cts} +60 -2
- package/dist/{index-BD2yDfQM.d.cts → index-C7SN-FB3.d.ts} +60 -2
- package/dist/index.cjs +342 -54
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +38 -4
- package/dist/index.d.ts +38 -4
- package/dist/index.js +283 -16
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +17 -17
- package/dist/react.d.cts +2 -2
- package/dist/react.d.ts +2 -2
- package/dist/react.js +16 -16
- package/dist/{tools-BHWaJPOl.d.ts → tools-BVeUNdsU.d.ts} +12 -4
- package/dist/{tools-DlpuE76u.d.cts → tools-DdhP1kWY.d.cts} +12 -4
- package/package.json +1 -1
- package/dist/chunk-2VNMKOUO.js.map +0 -1
- package/dist/chunk-3M6WB62Y.cjs.map +0 -1
- package/dist/chunk-4QPDZJAL.cjs.map +0 -1
- package/dist/chunk-6OSUNBZY.js.map +0 -1
- package/dist/chunk-D7EHZFK4.cjs.map +0 -1
- package/dist/chunk-HK56GQQP.cjs.map +0 -1
- package/dist/chunk-OK5ZS3LU.js.map +0 -1
- package/dist/chunk-QMTWG6JL.cjs.map +0 -1
- package/dist/chunk-QTNPMIO2.cjs.map +0 -1
- package/dist/chunk-TZTCIAYW.cjs.map +0 -1
- package/dist/chunk-UFTYX73U.js.map +0 -1
- package/dist/chunk-VCH7RI5H.js.map +0 -1
- package/dist/chunk-VJGMEGMR.js.map +0 -1
- package/dist/chunk-VKPCR7BG.js.map +0 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var chunkSBB6C4OP_cjs = require('./chunk-SBB6C4OP.cjs');
|
|
4
4
|
var chunk3KRL2EGN_cjs = require('./chunk-3KRL2EGN.cjs');
|
|
5
|
-
var
|
|
5
|
+
var chunkL7POWM5B_cjs = require('./chunk-L7POWM5B.cjs');
|
|
6
6
|
var chunkNAGUZFXX_cjs = require('./chunk-NAGUZFXX.cjs');
|
|
7
7
|
var chunk3WNW5Y7P_cjs = require('./chunk-3WNW5Y7P.cjs');
|
|
8
8
|
|
|
@@ -169,6 +169,7 @@ function parseSLDDSL(text2) {
|
|
|
169
169
|
const rawLines = text2.split("\n").map((l) => l.replace(/\r$/, ""));
|
|
170
170
|
const lines = joinBrackets(rawLines);
|
|
171
171
|
let title2;
|
|
172
|
+
let standard;
|
|
172
173
|
const nodes = [];
|
|
173
174
|
const nodeMap = /* @__PURE__ */ new Map();
|
|
174
175
|
const connections = [];
|
|
@@ -179,6 +180,23 @@ function parseSLDDSL(text2) {
|
|
|
179
180
|
if (/^sld\b/i.test(line2)) {
|
|
180
181
|
const t = chunkNAGUZFXX_cjs.matchQuotedTitle(line2);
|
|
181
182
|
if (t !== void 0) title2 = t;
|
|
183
|
+
const bracket = line2.match(/\[([^\]]*)\]/);
|
|
184
|
+
if (bracket) {
|
|
185
|
+
for (const [k, v] of splitAttrs(bracket[1])) {
|
|
186
|
+
if (k.toLowerCase() === "standard") {
|
|
187
|
+
const s = v.trim().toLowerCase();
|
|
188
|
+
if (s === "ansi" || s === "iec" || s === "abnt" || s === "as-nzs") {
|
|
189
|
+
standard = s;
|
|
190
|
+
} else {
|
|
191
|
+
throw new SLDParseError(
|
|
192
|
+
`Unknown standard "${v}". Valid: ansi, iec, abnt, as-nzs`,
|
|
193
|
+
i + 1,
|
|
194
|
+
line2
|
|
195
|
+
);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
182
200
|
continue;
|
|
183
201
|
}
|
|
184
202
|
const connMatch = line2.match(
|
|
@@ -243,7 +261,12 @@ function parseSLDDSL(text2) {
|
|
|
243
261
|
if (nodes.length === 0) {
|
|
244
262
|
throw new SLDParseError("SLD diagram has no nodes");
|
|
245
263
|
}
|
|
246
|
-
return { type: "sld", title: title2, nodes, connections };
|
|
264
|
+
return { type: "sld", title: title2, standard, nodes, connections };
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
// src/core/types.ts
|
|
268
|
+
function isIecFamily(standard) {
|
|
269
|
+
return standard === "iec" || standard === "abnt" || standard === "as-nzs";
|
|
247
270
|
}
|
|
248
271
|
|
|
249
272
|
// src/diagrams/sld/symbols.ts
|
|
@@ -644,7 +667,52 @@ function meterSymbol(label) {
|
|
|
644
667
|
lineEl(0, 12, 0, 14)
|
|
645
668
|
]);
|
|
646
669
|
}
|
|
647
|
-
function
|
|
670
|
+
function transformerSymbolIEC(type) {
|
|
671
|
+
const pieces = [
|
|
672
|
+
chunk3WNW5Y7P_cjs.el("circle", { cx: 0, cy: -7, r: 11, class: "lt-sld-stroke" }),
|
|
673
|
+
chunk3WNW5Y7P_cjs.el("circle", { cx: 0, cy: 7, r: 11, class: "lt-sld-stroke" }),
|
|
674
|
+
lineEl(0, -24, 0, -18),
|
|
675
|
+
lineEl(0, 18, 0, 24)
|
|
676
|
+
];
|
|
677
|
+
const { primary, secondary } = windingGlyphs(type);
|
|
678
|
+
if (primary) pieces.push(chunk3WNW5Y7P_cjs.text({ x: 20, y: -10, class: "lt-sld-wdg", "text-anchor": "start" }, primary));
|
|
679
|
+
if (secondary) pieces.push(chunk3WNW5Y7P_cjs.text({ x: 20, y: 14, class: "lt-sld-wdg", "text-anchor": "start" }, secondary));
|
|
680
|
+
return chunk3WNW5Y7P_cjs.group({}, pieces);
|
|
681
|
+
}
|
|
682
|
+
function breakerSymbolIEC() {
|
|
683
|
+
return chunk3WNW5Y7P_cjs.group({}, [
|
|
684
|
+
lineEl(0, -18, 0, -10),
|
|
685
|
+
lineEl(0, 10, 0, 18),
|
|
686
|
+
// open contact arm pivoting from the bottom terminal
|
|
687
|
+
chunk3WNW5Y7P_cjs.line({ x1: -6, y1: 10, x2: 6, y2: -8, class: "lt-sld-stroke-thick" }),
|
|
688
|
+
// × at the fixed contact
|
|
689
|
+
chunk3WNW5Y7P_cjs.line({ x1: -4, y1: -13, x2: 4, y2: -7, class: "lt-sld-stroke" }),
|
|
690
|
+
chunk3WNW5Y7P_cjs.line({ x1: 4, y1: -13, x2: -4, y2: -7, class: "lt-sld-stroke" })
|
|
691
|
+
]);
|
|
692
|
+
}
|
|
693
|
+
function fuseSymbolIEC() {
|
|
694
|
+
return chunk3WNW5Y7P_cjs.group({}, [
|
|
695
|
+
chunk3WNW5Y7P_cjs.el("rect", { x: -5, y: -11, width: 10, height: 22, class: "lt-sld-fill" }),
|
|
696
|
+
lineEl(0, -11, 0, 11),
|
|
697
|
+
lineEl(0, -18, 0, -11),
|
|
698
|
+
lineEl(0, 11, 0, 18)
|
|
699
|
+
]);
|
|
700
|
+
}
|
|
701
|
+
function renderSymbol(type, detail, standard) {
|
|
702
|
+
if (isIecFamily(standard)) {
|
|
703
|
+
switch (type) {
|
|
704
|
+
case "transformer":
|
|
705
|
+
case "transformer_dy":
|
|
706
|
+
case "transformer_yd":
|
|
707
|
+
case "transformer_yy":
|
|
708
|
+
case "transformer_dd":
|
|
709
|
+
return transformerSymbolIEC(type);
|
|
710
|
+
case "breaker":
|
|
711
|
+
return breakerSymbolIEC();
|
|
712
|
+
case "fuse":
|
|
713
|
+
return fuseSymbolIEC();
|
|
714
|
+
}
|
|
715
|
+
}
|
|
648
716
|
switch (type) {
|
|
649
717
|
case "utility":
|
|
650
718
|
return utilitySymbol();
|
|
@@ -1151,8 +1219,21 @@ function buildCss(t) {
|
|
|
1151
1219
|
.lt-sld-symbol-text { font: 11px sans-serif; fill: ${t.text}; dominant-baseline: middle; }
|
|
1152
1220
|
.lt-sld-wdg { font: bold 10px sans-serif; fill: ${t.stroke}; dominant-baseline: middle; }
|
|
1153
1221
|
.lt-sld-bus-label { font: bold 11px sans-serif; fill: ${t.accent}; }
|
|
1222
|
+
.lt-sld-standard-badge { font: bold 10px sans-serif; fill: ${t.textMuted}; letter-spacing: 0.3px; }
|
|
1154
1223
|
`.trim();
|
|
1155
1224
|
}
|
|
1225
|
+
function standardBadge(standard) {
|
|
1226
|
+
switch (standard) {
|
|
1227
|
+
case "iec":
|
|
1228
|
+
return "Standard: IEC 60617";
|
|
1229
|
+
case "abnt":
|
|
1230
|
+
return "Norma: ABNT NBR 5410 (IEC 60364)";
|
|
1231
|
+
case "as-nzs":
|
|
1232
|
+
return "Standard: AS/NZS 3000 (IEC 60364)";
|
|
1233
|
+
default:
|
|
1234
|
+
return void 0;
|
|
1235
|
+
}
|
|
1236
|
+
}
|
|
1156
1237
|
function renderLabels(ln) {
|
|
1157
1238
|
const pieces = [];
|
|
1158
1239
|
const { node } = ln;
|
|
@@ -1226,7 +1307,7 @@ function renderLabels(ln) {
|
|
|
1226
1307
|
}
|
|
1227
1308
|
function renderSLD(ast, config) {
|
|
1228
1309
|
const layout = layoutSLD(ast);
|
|
1229
|
-
const t =
|
|
1310
|
+
const t = chunkL7POWM5B_cjs.resolveIndustrialTheme(config?.theme ?? "default");
|
|
1230
1311
|
const titleOffset = ast.title ? 34 : 12;
|
|
1231
1312
|
const width = Math.ceil(layout.width);
|
|
1232
1313
|
const height = Math.ceil(layout.height + titleOffset);
|
|
@@ -1260,6 +1341,15 @@ function renderSLD(ast, config) {
|
|
|
1260
1341
|
chunk3WNW5Y7P_cjs.text({ x: 20, y: 22, class: "lt-sld-title" }, ast.title)
|
|
1261
1342
|
);
|
|
1262
1343
|
}
|
|
1344
|
+
const badge = standardBadge(ast.standard);
|
|
1345
|
+
if (badge) {
|
|
1346
|
+
children.push(
|
|
1347
|
+
chunk3WNW5Y7P_cjs.text(
|
|
1348
|
+
{ x: width - 14, y: 22, class: "lt-sld-standard-badge", "text-anchor": "end" },
|
|
1349
|
+
badge
|
|
1350
|
+
)
|
|
1351
|
+
);
|
|
1352
|
+
}
|
|
1263
1353
|
const inner = [];
|
|
1264
1354
|
layout.bands.forEach((b, i) => {
|
|
1265
1355
|
inner.push(
|
|
@@ -1325,7 +1415,8 @@ function renderSLD(ast, config) {
|
|
|
1325
1415
|
chunk3WNW5Y7P_cjs.group(attrs, [
|
|
1326
1416
|
renderSymbol(
|
|
1327
1417
|
ln.nodeType,
|
|
1328
|
-
ln.nodeType === "hub" ? ln.node.label ?? ln.node.id : ln.node.deviceNumber
|
|
1418
|
+
ln.nodeType === "hub" ? ln.node.label ?? ln.node.id : ln.node.deviceNumber,
|
|
1419
|
+
ast.standard
|
|
1329
1420
|
)
|
|
1330
1421
|
])
|
|
1331
1422
|
);
|
|
@@ -1346,6 +1437,42 @@ function renderSLD(ast, config) {
|
|
|
1346
1437
|
);
|
|
1347
1438
|
}
|
|
1348
1439
|
|
|
1440
|
+
// src/diagrams/sld/lint.ts
|
|
1441
|
+
function lintSLD(text2) {
|
|
1442
|
+
let ast;
|
|
1443
|
+
try {
|
|
1444
|
+
ast = parseSLDDSL(text2);
|
|
1445
|
+
} catch {
|
|
1446
|
+
return [];
|
|
1447
|
+
}
|
|
1448
|
+
return lintSLDAst(ast);
|
|
1449
|
+
}
|
|
1450
|
+
var ANSI_ONLY = {
|
|
1451
|
+
recloser: "recloser",
|
|
1452
|
+
sectionalizer: "sectionalizer",
|
|
1453
|
+
watthour_meter: "watt-hour meter",
|
|
1454
|
+
demand_meter: "demand meter"
|
|
1455
|
+
};
|
|
1456
|
+
function lintSLDAst(ast) {
|
|
1457
|
+
const out = [];
|
|
1458
|
+
if (!isIecFamily(ast.standard)) return out;
|
|
1459
|
+
const stdName = ast.standard === "abnt" ? "ABNT NBR 5410" : ast.standard === "as-nzs" ? "AS/NZS 3000" : "IEC 60617";
|
|
1460
|
+
const seen = /* @__PURE__ */ new Set();
|
|
1461
|
+
for (const node of ast.nodes) {
|
|
1462
|
+
const friendly = ANSI_ONLY[node.nodeType];
|
|
1463
|
+
if (!friendly || seen.has(node.nodeType)) continue;
|
|
1464
|
+
seen.add(node.nodeType);
|
|
1465
|
+
out.push({
|
|
1466
|
+
severity: "warning",
|
|
1467
|
+
code: "SLD_SYMBOL_NOT_IN_STANDARD",
|
|
1468
|
+
message: `device "${node.nodeType}" (${friendly}) has no symbol in ${stdName}; rendered with the ANSI/IEEE form`,
|
|
1469
|
+
hint: `${friendly} is a North-American utility convention. Confirm an equivalent device exists in ${stdName}, or model it with an IEC-native device.`,
|
|
1470
|
+
fatal: false
|
|
1471
|
+
});
|
|
1472
|
+
}
|
|
1473
|
+
return out;
|
|
1474
|
+
}
|
|
1475
|
+
|
|
1349
1476
|
// src/diagrams/sld/index.ts
|
|
1350
1477
|
var sld = {
|
|
1351
1478
|
type: "sld",
|
|
@@ -1354,15 +1481,20 @@ var sld = {
|
|
|
1354
1481
|
return first.startsWith("sld");
|
|
1355
1482
|
},
|
|
1356
1483
|
parse: parseSLDDSL,
|
|
1484
|
+
lint: lintSLD,
|
|
1357
1485
|
render(text2, config) {
|
|
1358
1486
|
const ast = parseSLDDSL(text2);
|
|
1359
1487
|
return renderSLD(ast, config);
|
|
1360
1488
|
}
|
|
1361
1489
|
};
|
|
1362
1490
|
|
|
1491
|
+
exports.geometryFor = geometryFor;
|
|
1363
1492
|
exports.layoutSLD = layoutSLD;
|
|
1493
|
+
exports.lintSLD = lintSLD;
|
|
1494
|
+
exports.lintSLDAst = lintSLDAst;
|
|
1364
1495
|
exports.parseSLDDSL = parseSLDDSL;
|
|
1365
1496
|
exports.renderSLD = renderSLD;
|
|
1497
|
+
exports.renderSymbol = renderSymbol;
|
|
1366
1498
|
exports.sld = sld;
|
|
1367
|
-
//# sourceMappingURL=chunk-
|
|
1368
|
-
//# sourceMappingURL=chunk-
|
|
1499
|
+
//# sourceMappingURL=chunk-ECD5XHBM.cjs.map
|
|
1500
|
+
//# sourceMappingURL=chunk-ECD5XHBM.cjs.map
|