schematex 0.5.2 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -1
- package/dist/ai/ai-sdk.cjs +23 -23
- package/dist/ai/ai-sdk.d.cts +4 -4
- package/dist/ai/ai-sdk.d.ts +4 -4
- package/dist/ai/ai-sdk.js +18 -18
- package/dist/ai/index.cjs +35 -27
- package/dist/ai/index.d.cts +4 -4
- package/dist/ai/index.d.ts +4 -4
- package/dist/ai/index.js +18 -18
- package/dist/{api-Cr_MxttI.d.ts → api-BEJTXyBA.d.cts} +3 -40
- package/dist/{api-C5SECOxZ.d.cts → api-DFrSR3lw.d.ts} +3 -40
- package/dist/browser.cjs +24 -24
- package/dist/browser.d.cts +3 -3
- package/dist/browser.d.ts +3 -3
- package/dist/browser.js +18 -18
- 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-4QPDZJAL.cjs → chunk-4XR7X7XW.cjs} +11569 -9045
- package/dist/chunk-4XR7X7XW.cjs.map +1 -0
- package/dist/{chunk-6OSUNBZY.js → chunk-522WB2EH.js} +135 -7
- package/dist/chunk-522WB2EH.js.map +1 -0
- package/dist/{chunk-QTNPMIO2.cjs → chunk-6JI6FWLZ.cjs} +341 -35
- package/dist/chunk-6JI6FWLZ.cjs.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-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-OK5ZS3LU.js → chunk-I2GQYOZ5.js} +11586 -9069
- package/dist/chunk-I2GQYOZ5.js.map +1 -0
- package/dist/{chunk-D7EHZFK4.cjs → chunk-L7POWM5B.cjs} +138 -2
- package/dist/chunk-L7POWM5B.cjs.map +1 -0
- package/dist/{chunk-2VNMKOUO.js → chunk-LRI4RH2N.js} +135 -3
- package/dist/chunk-LRI4RH2N.js.map +1 -0
- package/dist/{chunk-EPKIJEH7.js → chunk-MFAMNFPA.js} +63 -6
- package/dist/chunk-MFAMNFPA.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-OTSVMKII.js} +883 -12
- package/dist/chunk-OTSVMKII.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-3M6WB62Y.cjs → chunk-R6VX5YTJ.cjs} +139 -7
- package/dist/chunk-R6VX5YTJ.cjs.map +1 -0
- 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-HK56GQQP.cjs → chunk-SSLNPHCL.cjs} +886 -13
- package/dist/chunk-SSLNPHCL.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-SUIDD2C5.cjs → chunk-XNCOSVNG.cjs} +63 -6
- package/dist/chunk-XNCOSVNG.cjs.map +1 -0
- 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/{types-WTr9W5Ud.d.ts → diagnostics-B-ffSEhl.d.cts} +82 -2
- package/dist/{types-WTr9W5Ud.d.cts → diagnostics-B-ffSEhl.d.ts} +82 -2
- package/dist/diagrams/blockdiagram/index.cjs +5 -5
- package/dist/diagrams/blockdiagram/index.d.cts +1 -1
- package/dist/diagrams/blockdiagram/index.d.ts +1 -1
- package/dist/diagrams/blockdiagram/index.js +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-BD2yDfQM.d.cts → index-DPWdYfNx.d.ts} +60 -2
- package/dist/{index-C30zQWZI.d.ts → index-S0njakQ2.d.cts} +60 -2
- package/dist/index.cjs +344 -56
- 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 +284 -17
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +18 -18
- package/dist/react.d.cts +2 -2
- package/dist/react.d.ts +2 -2
- package/dist/react.js +17 -17
- package/dist/{tools-DlpuE76u.d.cts → tools-CeGGMCs7.d.cts} +12 -4
- package/dist/{tools-BHWaJPOl.d.ts → tools-kK_enDwb.d.ts} +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-EPKIJEH7.js.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-SUIDD2C5.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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { didYouMean } from './chunk-PIV2A3HG.js';
|
|
2
2
|
import { firstContentLine } from './chunk-2KTQ75LN.js';
|
|
3
|
-
import { resolveIndustrialTheme } from './chunk-
|
|
3
|
+
import { resolveIndustrialTheme } from './chunk-LRI4RH2N.js';
|
|
4
4
|
import { matchQuotedTitle } from './chunk-5IKOLUWK.js';
|
|
5
5
|
import { title, desc, el, defs, text, path, group, svgRoot, line } from './chunk-SYYBKDL7.js';
|
|
6
6
|
|
|
@@ -167,6 +167,7 @@ function parseSLDDSL(text2) {
|
|
|
167
167
|
const rawLines = text2.split("\n").map((l) => l.replace(/\r$/, ""));
|
|
168
168
|
const lines = joinBrackets(rawLines);
|
|
169
169
|
let title2;
|
|
170
|
+
let standard;
|
|
170
171
|
const nodes = [];
|
|
171
172
|
const nodeMap = /* @__PURE__ */ new Map();
|
|
172
173
|
const connections = [];
|
|
@@ -177,6 +178,23 @@ function parseSLDDSL(text2) {
|
|
|
177
178
|
if (/^sld\b/i.test(line2)) {
|
|
178
179
|
const t = matchQuotedTitle(line2);
|
|
179
180
|
if (t !== void 0) title2 = t;
|
|
181
|
+
const bracket = line2.match(/\[([^\]]*)\]/);
|
|
182
|
+
if (bracket) {
|
|
183
|
+
for (const [k, v] of splitAttrs(bracket[1])) {
|
|
184
|
+
if (k.toLowerCase() === "standard") {
|
|
185
|
+
const s = v.trim().toLowerCase();
|
|
186
|
+
if (s === "ansi" || s === "iec" || s === "abnt" || s === "as-nzs") {
|
|
187
|
+
standard = s;
|
|
188
|
+
} else {
|
|
189
|
+
throw new SLDParseError(
|
|
190
|
+
`Unknown standard "${v}". Valid: ansi, iec, abnt, as-nzs`,
|
|
191
|
+
i + 1,
|
|
192
|
+
line2
|
|
193
|
+
);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
180
198
|
continue;
|
|
181
199
|
}
|
|
182
200
|
const connMatch = line2.match(
|
|
@@ -241,7 +259,12 @@ function parseSLDDSL(text2) {
|
|
|
241
259
|
if (nodes.length === 0) {
|
|
242
260
|
throw new SLDParseError("SLD diagram has no nodes");
|
|
243
261
|
}
|
|
244
|
-
return { type: "sld", title: title2, nodes, connections };
|
|
262
|
+
return { type: "sld", title: title2, standard, nodes, connections };
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
// src/core/types.ts
|
|
266
|
+
function isIecFamily(standard) {
|
|
267
|
+
return standard === "iec" || standard === "abnt" || standard === "as-nzs";
|
|
245
268
|
}
|
|
246
269
|
|
|
247
270
|
// src/diagrams/sld/symbols.ts
|
|
@@ -642,7 +665,52 @@ function meterSymbol(label) {
|
|
|
642
665
|
lineEl(0, 12, 0, 14)
|
|
643
666
|
]);
|
|
644
667
|
}
|
|
645
|
-
function
|
|
668
|
+
function transformerSymbolIEC(type) {
|
|
669
|
+
const pieces = [
|
|
670
|
+
el("circle", { cx: 0, cy: -7, r: 11, class: "lt-sld-stroke" }),
|
|
671
|
+
el("circle", { cx: 0, cy: 7, r: 11, class: "lt-sld-stroke" }),
|
|
672
|
+
lineEl(0, -24, 0, -18),
|
|
673
|
+
lineEl(0, 18, 0, 24)
|
|
674
|
+
];
|
|
675
|
+
const { primary, secondary } = windingGlyphs(type);
|
|
676
|
+
if (primary) pieces.push(text({ x: 20, y: -10, class: "lt-sld-wdg", "text-anchor": "start" }, primary));
|
|
677
|
+
if (secondary) pieces.push(text({ x: 20, y: 14, class: "lt-sld-wdg", "text-anchor": "start" }, secondary));
|
|
678
|
+
return group({}, pieces);
|
|
679
|
+
}
|
|
680
|
+
function breakerSymbolIEC() {
|
|
681
|
+
return group({}, [
|
|
682
|
+
lineEl(0, -18, 0, -10),
|
|
683
|
+
lineEl(0, 10, 0, 18),
|
|
684
|
+
// open contact arm pivoting from the bottom terminal
|
|
685
|
+
line({ x1: -6, y1: 10, x2: 6, y2: -8, class: "lt-sld-stroke-thick" }),
|
|
686
|
+
// × at the fixed contact
|
|
687
|
+
line({ x1: -4, y1: -13, x2: 4, y2: -7, class: "lt-sld-stroke" }),
|
|
688
|
+
line({ x1: 4, y1: -13, x2: -4, y2: -7, class: "lt-sld-stroke" })
|
|
689
|
+
]);
|
|
690
|
+
}
|
|
691
|
+
function fuseSymbolIEC() {
|
|
692
|
+
return group({}, [
|
|
693
|
+
el("rect", { x: -5, y: -11, width: 10, height: 22, class: "lt-sld-fill" }),
|
|
694
|
+
lineEl(0, -11, 0, 11),
|
|
695
|
+
lineEl(0, -18, 0, -11),
|
|
696
|
+
lineEl(0, 11, 0, 18)
|
|
697
|
+
]);
|
|
698
|
+
}
|
|
699
|
+
function renderSymbol(type, detail, standard) {
|
|
700
|
+
if (isIecFamily(standard)) {
|
|
701
|
+
switch (type) {
|
|
702
|
+
case "transformer":
|
|
703
|
+
case "transformer_dy":
|
|
704
|
+
case "transformer_yd":
|
|
705
|
+
case "transformer_yy":
|
|
706
|
+
case "transformer_dd":
|
|
707
|
+
return transformerSymbolIEC(type);
|
|
708
|
+
case "breaker":
|
|
709
|
+
return breakerSymbolIEC();
|
|
710
|
+
case "fuse":
|
|
711
|
+
return fuseSymbolIEC();
|
|
712
|
+
}
|
|
713
|
+
}
|
|
646
714
|
switch (type) {
|
|
647
715
|
case "utility":
|
|
648
716
|
return utilitySymbol();
|
|
@@ -1149,8 +1217,21 @@ function buildCss(t) {
|
|
|
1149
1217
|
.lt-sld-symbol-text { font: 11px sans-serif; fill: ${t.text}; dominant-baseline: middle; }
|
|
1150
1218
|
.lt-sld-wdg { font: bold 10px sans-serif; fill: ${t.stroke}; dominant-baseline: middle; }
|
|
1151
1219
|
.lt-sld-bus-label { font: bold 11px sans-serif; fill: ${t.accent}; }
|
|
1220
|
+
.lt-sld-standard-badge { font: bold 10px sans-serif; fill: ${t.textMuted}; letter-spacing: 0.3px; }
|
|
1152
1221
|
`.trim();
|
|
1153
1222
|
}
|
|
1223
|
+
function standardBadge(standard) {
|
|
1224
|
+
switch (standard) {
|
|
1225
|
+
case "iec":
|
|
1226
|
+
return "Standard: IEC 60617";
|
|
1227
|
+
case "abnt":
|
|
1228
|
+
return "Norma: ABNT NBR 5410 (IEC 60364)";
|
|
1229
|
+
case "as-nzs":
|
|
1230
|
+
return "Standard: AS/NZS 3000 (IEC 60364)";
|
|
1231
|
+
default:
|
|
1232
|
+
return void 0;
|
|
1233
|
+
}
|
|
1234
|
+
}
|
|
1154
1235
|
function renderLabels(ln) {
|
|
1155
1236
|
const pieces = [];
|
|
1156
1237
|
const { node } = ln;
|
|
@@ -1258,6 +1339,15 @@ function renderSLD(ast, config) {
|
|
|
1258
1339
|
text({ x: 20, y: 22, class: "lt-sld-title" }, ast.title)
|
|
1259
1340
|
);
|
|
1260
1341
|
}
|
|
1342
|
+
const badge = standardBadge(ast.standard);
|
|
1343
|
+
if (badge) {
|
|
1344
|
+
children.push(
|
|
1345
|
+
text(
|
|
1346
|
+
{ x: width - 14, y: 22, class: "lt-sld-standard-badge", "text-anchor": "end" },
|
|
1347
|
+
badge
|
|
1348
|
+
)
|
|
1349
|
+
);
|
|
1350
|
+
}
|
|
1261
1351
|
const inner = [];
|
|
1262
1352
|
layout.bands.forEach((b, i) => {
|
|
1263
1353
|
inner.push(
|
|
@@ -1323,7 +1413,8 @@ function renderSLD(ast, config) {
|
|
|
1323
1413
|
group(attrs, [
|
|
1324
1414
|
renderSymbol(
|
|
1325
1415
|
ln.nodeType,
|
|
1326
|
-
ln.nodeType === "hub" ? ln.node.label ?? ln.node.id : ln.node.deviceNumber
|
|
1416
|
+
ln.nodeType === "hub" ? ln.node.label ?? ln.node.id : ln.node.deviceNumber,
|
|
1417
|
+
ast.standard
|
|
1327
1418
|
)
|
|
1328
1419
|
])
|
|
1329
1420
|
);
|
|
@@ -1344,6 +1435,42 @@ function renderSLD(ast, config) {
|
|
|
1344
1435
|
);
|
|
1345
1436
|
}
|
|
1346
1437
|
|
|
1438
|
+
// src/diagrams/sld/lint.ts
|
|
1439
|
+
function lintSLD(text2) {
|
|
1440
|
+
let ast;
|
|
1441
|
+
try {
|
|
1442
|
+
ast = parseSLDDSL(text2);
|
|
1443
|
+
} catch {
|
|
1444
|
+
return [];
|
|
1445
|
+
}
|
|
1446
|
+
return lintSLDAst(ast);
|
|
1447
|
+
}
|
|
1448
|
+
var ANSI_ONLY = {
|
|
1449
|
+
recloser: "recloser",
|
|
1450
|
+
sectionalizer: "sectionalizer",
|
|
1451
|
+
watthour_meter: "watt-hour meter",
|
|
1452
|
+
demand_meter: "demand meter"
|
|
1453
|
+
};
|
|
1454
|
+
function lintSLDAst(ast) {
|
|
1455
|
+
const out = [];
|
|
1456
|
+
if (!isIecFamily(ast.standard)) return out;
|
|
1457
|
+
const stdName = ast.standard === "abnt" ? "ABNT NBR 5410" : ast.standard === "as-nzs" ? "AS/NZS 3000" : "IEC 60617";
|
|
1458
|
+
const seen = /* @__PURE__ */ new Set();
|
|
1459
|
+
for (const node of ast.nodes) {
|
|
1460
|
+
const friendly = ANSI_ONLY[node.nodeType];
|
|
1461
|
+
if (!friendly || seen.has(node.nodeType)) continue;
|
|
1462
|
+
seen.add(node.nodeType);
|
|
1463
|
+
out.push({
|
|
1464
|
+
severity: "warning",
|
|
1465
|
+
code: "SLD_SYMBOL_NOT_IN_STANDARD",
|
|
1466
|
+
message: `device "${node.nodeType}" (${friendly}) has no symbol in ${stdName}; rendered with the ANSI/IEEE form`,
|
|
1467
|
+
hint: `${friendly} is a North-American utility convention. Confirm an equivalent device exists in ${stdName}, or model it with an IEC-native device.`,
|
|
1468
|
+
fatal: false
|
|
1469
|
+
});
|
|
1470
|
+
}
|
|
1471
|
+
return out;
|
|
1472
|
+
}
|
|
1473
|
+
|
|
1347
1474
|
// src/diagrams/sld/index.ts
|
|
1348
1475
|
var sld = {
|
|
1349
1476
|
type: "sld",
|
|
@@ -1352,12 +1479,13 @@ var sld = {
|
|
|
1352
1479
|
return first.startsWith("sld");
|
|
1353
1480
|
},
|
|
1354
1481
|
parse: parseSLDDSL,
|
|
1482
|
+
lint: lintSLD,
|
|
1355
1483
|
render(text2, config) {
|
|
1356
1484
|
const ast = parseSLDDSL(text2);
|
|
1357
1485
|
return renderSLD(ast, config);
|
|
1358
1486
|
}
|
|
1359
1487
|
};
|
|
1360
1488
|
|
|
1361
|
-
export { layoutSLD, parseSLDDSL, renderSLD, sld };
|
|
1362
|
-
//# sourceMappingURL=chunk-
|
|
1363
|
-
//# sourceMappingURL=chunk-
|
|
1489
|
+
export { geometryFor, layoutSLD, lintSLD, lintSLDAst, parseSLDDSL, renderSLD, renderSymbol, sld };
|
|
1490
|
+
//# sourceMappingURL=chunk-522WB2EH.js.map
|
|
1491
|
+
//# sourceMappingURL=chunk-522WB2EH.js.map
|