@vessel-dsp/core 0.6.4 → 0.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/README.md +10 -2
  2. package/dist/editor/commands.d.ts +13 -13
  3. package/dist/editor/commands.d.ts.map +1 -1
  4. package/dist/editor/commands.js +44 -29
  5. package/dist/editor/commands.js.map +1 -1
  6. package/dist/editor/factory.d.ts +1 -1
  7. package/dist/editor/factory.d.ts.map +1 -1
  8. package/dist/editor/factory.js +51 -51
  9. package/dist/editor/factory.js.map +1 -1
  10. package/dist/editor/history.d.ts +7 -7
  11. package/dist/editor/history.d.ts.map +1 -1
  12. package/dist/editor/history.js +20 -12
  13. package/dist/editor/history.js.map +1 -1
  14. package/dist/editor/index.d.ts +8 -8
  15. package/dist/editor/index.d.ts.map +1 -1
  16. package/dist/editor/index.js +4 -4
  17. package/dist/editor/index.js.map +1 -1
  18. package/dist/editor/layout.d.ts +1 -1
  19. package/dist/editor/layout.d.ts.map +1 -1
  20. package/dist/editor/layout.js +11 -6
  21. package/dist/editor/layout.js.map +1 -1
  22. package/dist/formats/circuit-json/serializer.d.ts +15 -15
  23. package/dist/formats/circuit-json/serializer.d.ts.map +1 -1
  24. package/dist/formats/circuit-json/serializer.js +486 -394
  25. package/dist/formats/circuit-json/serializer.js.map +1 -1
  26. package/dist/formats/document.d.ts +6 -6
  27. package/dist/formats/document.d.ts.map +1 -1
  28. package/dist/formats/document.js +112 -92
  29. package/dist/formats/document.js.map +1 -1
  30. package/dist/formats/interchange/parser.d.ts +1 -1
  31. package/dist/formats/interchange/parser.d.ts.map +1 -1
  32. package/dist/formats/interchange/parser.js +463 -286
  33. package/dist/formats/interchange/parser.js.map +1 -1
  34. package/dist/formats/interchange/serializer.d.ts +1 -1
  35. package/dist/formats/interchange/serializer.d.ts.map +1 -1
  36. package/dist/formats/interchange/serializer.js +41 -28
  37. package/dist/formats/interchange/serializer.js.map +1 -1
  38. package/dist/formats/ltspice/catalog.d.ts +1 -1
  39. package/dist/formats/ltspice/catalog.d.ts.map +1 -1
  40. package/dist/formats/ltspice/catalog.js +150 -48
  41. package/dist/formats/ltspice/catalog.js.map +1 -1
  42. package/dist/formats/ltspice/encoding.js +12 -40
  43. package/dist/formats/ltspice/encoding.js.map +1 -1
  44. package/dist/formats/ltspice/parser.d.ts +1 -1
  45. package/dist/formats/ltspice/parser.d.ts.map +1 -1
  46. package/dist/formats/ltspice/parser.js +122 -75
  47. package/dist/formats/ltspice/parser.js.map +1 -1
  48. package/dist/formats/ltspice/serializer.d.ts +1 -1
  49. package/dist/formats/ltspice/serializer.d.ts.map +1 -1
  50. package/dist/formats/ltspice/serializer.js +69 -47
  51. package/dist/formats/ltspice/serializer.js.map +1 -1
  52. package/dist/formats/schx/catalog.d.ts +1 -1
  53. package/dist/formats/schx/catalog.d.ts.map +1 -1
  54. package/dist/formats/schx/catalog.js +499 -254
  55. package/dist/formats/schx/catalog.js.map +1 -1
  56. package/dist/formats/schx/parser.d.ts +1 -1
  57. package/dist/formats/schx/parser.d.ts.map +1 -1
  58. package/dist/formats/schx/parser.js +40 -38
  59. package/dist/formats/schx/parser.js.map +1 -1
  60. package/dist/formats/schx/runtime-descriptors.d.ts +1 -1
  61. package/dist/formats/schx/runtime-descriptors.d.ts.map +1 -1
  62. package/dist/formats/schx/runtime-descriptors.js +239 -201
  63. package/dist/formats/schx/runtime-descriptors.js.map +1 -1
  64. package/dist/formats/schx/serializer.d.ts +2 -2
  65. package/dist/formats/schx/serializer.d.ts.map +1 -1
  66. package/dist/formats/schx/serializer.js +106 -106
  67. package/dist/formats/schx/serializer.js.map +1 -1
  68. package/dist/formats/schx/transforms.d.ts +1 -1
  69. package/dist/formats/schx/transforms.d.ts.map +1 -1
  70. package/dist/formats/schx/transforms.js +16 -8
  71. package/dist/formats/schx/transforms.js.map +1 -1
  72. package/dist/formats/spice/parser.d.ts +1 -1
  73. package/dist/formats/spice/parser.d.ts.map +1 -1
  74. package/dist/formats/spice/parser.js +105 -56
  75. package/dist/formats/spice/parser.js.map +1 -1
  76. package/dist/formats/spice/serializer.d.ts +1 -1
  77. package/dist/formats/spice/serializer.js +14 -12
  78. package/dist/formats/spice/serializer.js.map +1 -1
  79. package/dist/index.d.ts +47 -46
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +32 -31
  82. package/dist/index.js.map +1 -1
  83. package/dist/model/connectivity.d.ts +1 -1
  84. package/dist/model/connectivity.d.ts.map +1 -1
  85. package/dist/model/connectivity.js +22 -7
  86. package/dist/model/connectivity.js.map +1 -1
  87. package/dist/model/netlist.d.ts +3 -3
  88. package/dist/model/netlist.d.ts.map +1 -1
  89. package/dist/model/netlist.js +117 -100
  90. package/dist/model/netlist.js.map +1 -1
  91. package/dist/model/properties.d.ts +1 -1
  92. package/dist/model/properties.d.ts.map +1 -1
  93. package/dist/model/properties.js +16 -16
  94. package/dist/model/properties.js.map +1 -1
  95. package/dist/model/quantity.d.ts +1 -1
  96. package/dist/model/quantity.d.ts.map +1 -1
  97. package/dist/model/quantity.js +35 -35
  98. package/dist/model/quantity.js.map +1 -1
  99. package/dist/model/types.d.ts +61 -33
  100. package/dist/model/types.d.ts.map +1 -1
  101. package/dist/model/types.js +1 -1
  102. package/dist/model/types.js.map +1 -1
  103. package/dist/model/validation.d.ts +5 -5
  104. package/dist/model/validation.d.ts.map +1 -1
  105. package/dist/model/validation.js +668 -331
  106. package/dist/model/validation.js.map +1 -1
  107. package/dist/model/wires.d.ts +1 -1
  108. package/dist/model/wires.d.ts.map +1 -1
  109. package/dist/model/wires.js +4 -1
  110. package/dist/model/wires.js.map +1 -1
  111. package/dist/panel/extract.d.ts +2 -2
  112. package/dist/panel/extract.d.ts.map +1 -1
  113. package/dist/panel/extract.js +327 -225
  114. package/dist/panel/extract.js.map +1 -1
  115. package/dist/panel/index.d.ts +7 -7
  116. package/dist/panel/index.d.ts.map +1 -1
  117. package/dist/panel/index.js +5 -5
  118. package/dist/panel/index.js.map +1 -1
  119. package/dist/panel/knobs.d.ts +4 -4
  120. package/dist/panel/knobs.d.ts.map +1 -1
  121. package/dist/panel/knobs.js +1 -1
  122. package/dist/panel/knobs.js.map +1 -1
  123. package/dist/panel/placement.d.ts +1 -1
  124. package/dist/panel/placement.d.ts.map +1 -1
  125. package/dist/panel/placement.js +11 -9
  126. package/dist/panel/placement.js.map +1 -1
  127. package/dist/panel/protocol.d.ts +1 -1
  128. package/dist/panel/protocol.d.ts.map +1 -1
  129. package/dist/panel/protocol.js +32 -23
  130. package/dist/panel/protocol.js.map +1 -1
  131. package/dist/panel/types.d.ts +18 -18
  132. package/dist/panel/types.d.ts.map +1 -1
  133. package/dist/panel/types.js.map +1 -1
  134. package/dist/preview/bounds.d.ts +1 -1
  135. package/dist/preview/bounds.d.ts.map +1 -1
  136. package/dist/preview/bounds.js +3 -3
  137. package/dist/preview/bounds.js.map +1 -1
  138. package/dist/preview/box-layout.d.ts +2 -2
  139. package/dist/preview/box-layout.js.map +1 -1
  140. package/dist/preview/colors.d.ts +1 -1
  141. package/dist/preview/colors.js +35 -35
  142. package/dist/preview/colors.js.map +1 -1
  143. package/dist/preview/hanging.d.ts +1 -1
  144. package/dist/preview/hanging.d.ts.map +1 -1
  145. package/dist/preview/hanging.js +4 -1
  146. package/dist/preview/hanging.js.map +1 -1
  147. package/dist/preview/junctions.d.ts +1 -1
  148. package/dist/preview/junctions.d.ts.map +1 -1
  149. package/dist/preview/junctions.js.map +1 -1
  150. package/dist/preview/label-layout.d.ts.map +1 -1
  151. package/dist/preview/label-layout.js +4 -4
  152. package/dist/preview/label-layout.js.map +1 -1
  153. package/dist/preview/ports.d.ts +1 -1
  154. package/dist/preview/ports.d.ts.map +1 -1
  155. package/dist/preview/ports.js +2 -1
  156. package/dist/preview/ports.js.map +1 -1
  157. package/dist/preview/renderable-wires.d.ts +1 -1
  158. package/dist/preview/renderable-wires.d.ts.map +1 -1
  159. package/dist/preview/renderable-wires.js +3 -1
  160. package/dist/preview/renderable-wires.js.map +1 -1
  161. package/dist/preview/routing.d.ts +1 -1
  162. package/dist/preview/routing.js +1 -1
  163. package/dist/preview/routing.js.map +1 -1
  164. package/dist/preview/snap.d.ts +1 -1
  165. package/dist/preview/snap.d.ts.map +1 -1
  166. package/dist/preview/snap.js +11 -3
  167. package/dist/preview/snap.js.map +1 -1
  168. package/dist/preview/symbols/svg-content.d.ts.map +1 -1
  169. package/dist/preview/symbols/svg-content.js +200 -50
  170. package/dist/preview/symbols/svg-content.js.map +1 -1
  171. package/dist/preview/symbols.d.ts +2 -2
  172. package/dist/preview/symbols.d.ts.map +1 -1
  173. package/dist/preview/symbols.js +100 -97
  174. package/dist/preview/symbols.js.map +1 -1
  175. package/dist/preview/wire-chains.d.ts +1 -1
  176. package/dist/preview/wire-chains.d.ts.map +1 -1
  177. package/dist/preview/wire-chains.js.map +1 -1
  178. package/dist/profiles.d.ts +600 -0
  179. package/dist/profiles.d.ts.map +1 -0
  180. package/dist/profiles.js +118 -0
  181. package/dist/profiles.js.map +1 -0
  182. package/package.json +54 -54
@@ -1,23 +1,23 @@
1
- import { parseQuantity } from '../../model/quantity.js';
2
- import { splitWiresAtJunctions } from '../../model/wires.js';
3
- import { extractModelFromSymbolPath, lookupLtspiceSymbolDef, LTSPICE_COORD_SCALE, mapLtspiceTerminal, normalizeLtspiceSymbolName, } from './catalog.js';
4
- import { decodeLtspiceBytes } from './encoding.js';
1
+ import { parseQuantity } from "../../model/quantity.js";
2
+ import { splitWiresAtJunctions } from "../../model/wires.js";
3
+ import { extractModelFromSymbolPath, lookupLtspiceSymbolDef, LTSPICE_COORD_SCALE, mapLtspiceTerminal, normalizeLtspiceSymbolName, } from "./catalog.js";
4
+ import { decodeLtspiceBytes } from "./encoding.js";
5
5
  const IGNORED_KEYWORDS = new Set([
6
- 'WINDOW',
7
- 'LINE',
8
- 'RECTANGLE',
9
- 'CIRCLE',
10
- 'ARC',
11
- 'DATAFLAG',
12
- 'BUSTAP',
6
+ "WINDOW",
7
+ "LINE",
8
+ "RECTANGLE",
9
+ "CIRCLE",
10
+ "ARC",
11
+ "DATAFLAG",
12
+ "BUSTAP",
13
13
  ]);
14
14
  export function parseLtspiceAsc(source) {
15
- const text = typeof source === 'string' ? source : decodeLtspiceBytes(source);
16
- const normalized = text.replace(/^/, '').replace(/\r\n/g, '\n');
17
- const lines = normalized.split('\n');
18
- const firstLine = lines.find((line) => line.trim().length > 0)?.trim() ?? '';
19
- if (!firstLine.toUpperCase().startsWith('VERSION ')) {
20
- throw new Error('not an LTspice ASC schematic: missing Version header');
15
+ const text = typeof source === "string" ? source : decodeLtspiceBytes(source);
16
+ const normalized = text.replace(/^/, "").replace(/\r\n/g, "\n");
17
+ const lines = normalized.split("\n");
18
+ const firstLine = lines.find((line) => line.trim().length > 0)?.trim() ?? "";
19
+ if (!firstLine.toUpperCase().startsWith("VERSION ")) {
20
+ throw new Error("not an LTspice ASC schematic: missing Version header");
21
21
  }
22
22
  const warnings = [];
23
23
  const wires = [];
@@ -27,63 +27,63 @@ export function parseLtspiceAsc(source) {
27
27
  const directives = [];
28
28
  const texts = [];
29
29
  let currentSymbol = null;
30
- let version = '';
31
- let sheet = '';
30
+ let version = "";
31
+ let sheet = "";
32
32
  lines.forEach((line, lineIndex) => {
33
33
  const trimmed = line.trim();
34
34
  if (trimmed.length === 0) {
35
35
  return;
36
36
  }
37
37
  const tokens = trimmed.split(/\s+/);
38
- const keyword = (tokens[0] ?? '').toUpperCase();
38
+ const keyword = (tokens[0] ?? "").toUpperCase();
39
39
  switch (keyword) {
40
- case 'VERSION':
41
- version = tokens.slice(1).join(' ');
40
+ case "VERSION":
41
+ version = tokens.slice(1).join(" ");
42
42
  break;
43
- case 'SHEET':
44
- sheet = tokens.slice(1).join(' ');
43
+ case "SHEET":
44
+ sheet = tokens.slice(1).join(" ");
45
45
  break;
46
- case 'WIRE': {
46
+ case "WIRE": {
47
47
  const wire = parseWire(tokens, wires.length, lineIndex, warnings);
48
48
  if (wire !== null) {
49
49
  wires.push(wire);
50
50
  }
51
51
  break;
52
52
  }
53
- case 'FLAG': {
53
+ case "FLAG": {
54
54
  const flag = parseFlag(tokens, lineIndex, warnings);
55
55
  if (flag !== null) {
56
56
  flags.push(flag);
57
57
  }
58
58
  break;
59
59
  }
60
- case 'IOPIN': {
60
+ case "IOPIN": {
61
61
  const iopin = parseIoPin(tokens, lineIndex, warnings);
62
62
  if (iopin !== null) {
63
63
  iopins.set(pointKey(iopin.point), iopin.polarity);
64
64
  }
65
65
  break;
66
66
  }
67
- case 'SYMBOL': {
67
+ case "SYMBOL": {
68
68
  currentSymbol = parseSymbol(tokens, symbols.length, lineIndex, warnings);
69
69
  if (currentSymbol !== null) {
70
70
  symbols.push(currentSymbol);
71
71
  }
72
72
  break;
73
73
  }
74
- case 'SYMATTR': {
74
+ case "SYMATTR": {
75
75
  parseSymbolAttribute(tokens, currentSymbol, lineIndex, warnings);
76
76
  break;
77
77
  }
78
- case 'TEXT': {
78
+ case "TEXT": {
79
79
  parseText(tokens, lineIndex, warnings, directives, texts);
80
80
  break;
81
81
  }
82
82
  default:
83
83
  if (!IGNORED_KEYWORDS.has(keyword)) {
84
84
  warnings.push({
85
- code: 'unknown-ltspice-line',
86
- message: `Line ${lineIndex + 1}: unsupported LTspice command "${tokens[0] ?? ''}"`,
85
+ code: "unknown-ltspice-line",
86
+ message: `Line ${lineIndex + 1}: unsupported LTspice command "${tokens[0] ?? ""}"`,
87
87
  });
88
88
  }
89
89
  break;
@@ -95,7 +95,11 @@ export function parseLtspiceAsc(source) {
95
95
  ...flags.map((flag) => buildFlagComponent(flag, iopins.get(pointKey(flag.point)), usedIds)),
96
96
  ...texts.map((text, index) => buildTextComponent(text, index, usedIds)),
97
97
  ];
98
- const metadata = { name: '', description: '', partNumber: '' };
98
+ const metadata = {
99
+ name: "",
100
+ description: "",
101
+ partNumber: "",
102
+ };
99
103
  return {
100
104
  metadata,
101
105
  components,
@@ -107,91 +111,130 @@ export function parseLtspiceAsc(source) {
107
111
  }
108
112
  function parseWire(tokens, wireCount, lineIndex, warnings) {
109
113
  if (tokens.length < 5) {
110
- warnings.push({ code: 'invalid-wire', message: `Line ${lineIndex + 1}: WIRE requires four coordinates` });
114
+ warnings.push({
115
+ code: "invalid-wire",
116
+ message: `Line ${lineIndex + 1}: WIRE requires four coordinates`,
117
+ });
111
118
  return null;
112
119
  }
113
120
  const a = parsePoint(tokens[1], tokens[2]);
114
121
  const b = parsePoint(tokens[3], tokens[4]);
115
122
  if (a === null || b === null) {
116
- warnings.push({ code: 'invalid-wire', message: `Line ${lineIndex + 1}: WIRE has malformed coordinates` });
123
+ warnings.push({
124
+ code: "invalid-wire",
125
+ message: `Line ${lineIndex + 1}: WIRE has malformed coordinates`,
126
+ });
117
127
  return null;
118
128
  }
119
129
  return { id: `wire-${wireCount + 1}`, endpoints: [a, b] };
120
130
  }
121
131
  function parseFlag(tokens, lineIndex, warnings) {
122
132
  if (tokens.length < 4) {
123
- warnings.push({ code: 'invalid-flag', message: `Line ${lineIndex + 1}: FLAG requires x, y, and name` });
133
+ warnings.push({
134
+ code: "invalid-flag",
135
+ message: `Line ${lineIndex + 1}: FLAG requires x, y, and name`,
136
+ });
124
137
  return null;
125
138
  }
126
139
  const point = parsePoint(tokens[1], tokens[2]);
127
140
  if (point === null) {
128
- warnings.push({ code: 'invalid-flag', message: `Line ${lineIndex + 1}: FLAG has malformed coordinates` });
141
+ warnings.push({
142
+ code: "invalid-flag",
143
+ message: `Line ${lineIndex + 1}: FLAG has malformed coordinates`,
144
+ });
129
145
  return null;
130
146
  }
131
- return { point, name: tokens.slice(3).join(' ') };
147
+ return { point, name: tokens.slice(3).join(" ") };
132
148
  }
133
149
  function parseIoPin(tokens, lineIndex, warnings) {
134
150
  if (tokens.length < 4) {
135
- warnings.push({ code: 'invalid-iopin', message: `Line ${lineIndex + 1}: IOPIN requires x, y, and polarity` });
151
+ warnings.push({
152
+ code: "invalid-iopin",
153
+ message: `Line ${lineIndex + 1}: IOPIN requires x, y, and polarity`,
154
+ });
136
155
  return null;
137
156
  }
138
157
  const point = parsePoint(tokens[1], tokens[2]);
139
158
  if (point === null) {
140
- warnings.push({ code: 'invalid-iopin', message: `Line ${lineIndex + 1}: IOPIN has malformed coordinates` });
159
+ warnings.push({
160
+ code: "invalid-iopin",
161
+ message: `Line ${lineIndex + 1}: IOPIN has malformed coordinates`,
162
+ });
141
163
  return null;
142
164
  }
143
- return { point, polarity: tokens.slice(3).join(' ') };
165
+ return { point, polarity: tokens.slice(3).join(" ") };
144
166
  }
145
167
  function parseSymbol(tokens, symbolCount, lineIndex, warnings) {
146
168
  if (tokens.length < 5) {
147
- warnings.push({ code: 'invalid-symbol', message: `Line ${lineIndex + 1}: SYMBOL requires name, x, y, and orientation` });
169
+ warnings.push({
170
+ code: "invalid-symbol",
171
+ message: `Line ${lineIndex + 1}: SYMBOL requires name, x, y, and orientation`,
172
+ });
148
173
  return null;
149
174
  }
150
175
  const placement = parsePoint(tokens[2], tokens[3]);
151
176
  if (placement === null) {
152
- warnings.push({ code: 'invalid-symbol', message: `Line ${lineIndex + 1}: SYMBOL has malformed coordinates` });
177
+ warnings.push({
178
+ code: "invalid-symbol",
179
+ message: `Line ${lineIndex + 1}: SYMBOL has malformed coordinates`,
180
+ });
153
181
  return null;
154
182
  }
155
183
  return {
156
- sourceName: tokens[1] ?? '',
184
+ sourceName: tokens[1] ?? "",
157
185
  placement,
158
- orientation: tokens[4] ?? 'R0',
186
+ orientation: tokens[4] ?? "R0",
159
187
  index: symbolCount,
160
188
  attrs: new Map(),
161
189
  };
162
190
  }
163
191
  function parseSymbolAttribute(tokens, currentSymbol, lineIndex, warnings) {
164
192
  if (currentSymbol === null) {
165
- warnings.push({ code: 'orphan-symbol-attribute', message: `Line ${lineIndex + 1}: SYMATTR without preceding SYMBOL` });
193
+ warnings.push({
194
+ code: "orphan-symbol-attribute",
195
+ message: `Line ${lineIndex + 1}: SYMATTR without preceding SYMBOL`,
196
+ });
166
197
  return;
167
198
  }
168
199
  if (tokens.length < 3) {
169
- warnings.push({ code: 'invalid-symbol-attribute', message: `Line ${lineIndex + 1}: SYMATTR requires key and value` });
200
+ warnings.push({
201
+ code: "invalid-symbol-attribute",
202
+ message: `Line ${lineIndex + 1}: SYMATTR requires key and value`,
203
+ });
170
204
  return;
171
205
  }
172
- currentSymbol.attrs.set(tokens[1] ?? '', tokens.slice(2).join(' '));
206
+ currentSymbol.attrs.set(tokens[1] ?? "", tokens.slice(2).join(" "));
173
207
  }
174
208
  function parseText(tokens, lineIndex, warnings, directives, texts) {
175
209
  if (tokens.length < 6) {
176
- warnings.push({ code: 'invalid-text', message: `Line ${lineIndex + 1}: TEXT requires x, y, alignment, size, and text` });
210
+ warnings.push({
211
+ code: "invalid-text",
212
+ message: `Line ${lineIndex + 1}: TEXT requires x, y, alignment, size, and text`,
213
+ });
177
214
  return;
178
215
  }
179
216
  const point = parsePoint(tokens[1], tokens[2]);
180
217
  if (point === null) {
181
- warnings.push({ code: 'invalid-text', message: `Line ${lineIndex + 1}: TEXT has malformed coordinates` });
218
+ warnings.push({
219
+ code: "invalid-text",
220
+ message: `Line ${lineIndex + 1}: TEXT has malformed coordinates`,
221
+ });
182
222
  return;
183
223
  }
184
- const raw = tokens.slice(5).join(' ');
185
- if (raw.startsWith('!')) {
224
+ const raw = tokens.slice(5).join(" ");
225
+ if (raw.startsWith("!")) {
186
226
  directives.push(decodeText(raw.slice(1).trim()));
187
227
  return;
188
228
  }
189
- texts.push({ point, text: decodeText(raw.startsWith(';') ? raw.slice(1).trim() : raw) });
229
+ texts.push({
230
+ point,
231
+ text: decodeText(raw.startsWith(";") ? raw.slice(1).trim() : raw),
232
+ });
190
233
  }
191
234
  function buildSymbolComponent(symbol, usedIds, warnings) {
192
235
  const normalizedName = normalizeLtspiceSymbolName(symbol.sourceName);
193
236
  const def = lookupLtspiceSymbolDef(symbol.sourceName);
194
- const baseName = getAttr(symbol.attrs, 'InstName') ?? `${normalizedName}${symbol.index + 1}`;
237
+ const baseName = getAttr(symbol.attrs, "InstName") ?? `${normalizedName}${symbol.index + 1}`;
195
238
  const id = uniqueId(baseName, usedIds);
196
239
  const terminals = (def?.terminals ?? []).map((terminal) => ({
197
240
  name: terminal.name,
@@ -199,27 +242,27 @@ function buildSymbolComponent(symbol, usedIds, warnings) {
199
242
  }));
200
243
  if (def === undefined) {
201
244
  warnings.push({
202
- code: 'unknown-ltspice-symbol',
245
+ code: "unknown-ltspice-symbol",
203
246
  message: `${id}: unsupported LTspice symbol "${symbol.sourceName}"`,
204
247
  componentId: id,
205
248
  });
206
249
  }
207
250
  return {
208
251
  id,
209
- kind: def?.kind ?? 'unsupported',
252
+ kind: def?.kind ?? "unsupported",
210
253
  name: baseName,
211
254
  origin: symbol.placement,
212
255
  rotation: rotationFromLtspiceOrientation(symbol.orientation),
213
- flipped: symbol.orientation.toUpperCase().startsWith('M'),
256
+ flipped: symbol.orientation.toUpperCase().startsWith("M"),
214
257
  terminals,
215
258
  properties: buildProperties(symbol.attrs, def, symbol.sourceName),
216
259
  sourceTypeName: `ltspice:${normalizedName}`,
217
260
  };
218
261
  }
219
262
  function buildFlagComponent(flag, polarity, usedIds) {
220
- const isGround = flag.name === '0';
263
+ const isGround = flag.name === "0";
221
264
  const isJack = polarity !== undefined;
222
- const baseName = isGround ? 'GND' : flag.name;
265
+ const baseName = isGround ? "GND" : flag.name;
223
266
  const properties = { Name: flag.name };
224
267
  if (polarity !== undefined) {
225
268
  properties.polarity = polarity;
@@ -227,31 +270,33 @@ function buildFlagComponent(flag, polarity, usedIds) {
227
270
  }
228
271
  return {
229
272
  id: uniqueId(baseName, usedIds),
230
- kind: isJack ? 'jack' : isGround ? 'ground' : 'named-wire',
273
+ kind: isJack ? "jack" : isGround ? "ground" : "named-wire",
231
274
  name: baseName,
232
275
  origin: flag.point,
233
276
  rotation: 0,
234
277
  flipped: false,
235
- terminals: [{ name: isJack ? 'tip' : 't', position: flag.point }],
278
+ terminals: [{ name: isJack ? "tip" : "t", position: flag.point }],
236
279
  properties,
237
- sourceTypeName: isJack ? ltspiceJackSourceType(polarity) : 'ltspice:FLAG',
280
+ sourceTypeName: isJack ? ltspiceJackSourceType(polarity) : "ltspice:FLAG",
238
281
  };
239
282
  }
240
283
  function ltspiceJackSourceType(polarity) {
241
- return polarity?.toLowerCase() === 'out' ? 'ltspice:OutputJack' : 'ltspice:InputJack';
284
+ return polarity?.toLowerCase() === "out"
285
+ ? "ltspice:OutputJack"
286
+ : "ltspice:InputJack";
242
287
  }
243
288
  function buildTextComponent(text, index, usedIds) {
244
289
  const id = uniqueId(`TEXT${index + 1}`, usedIds);
245
290
  return {
246
291
  id,
247
- kind: 'label',
292
+ kind: "label",
248
293
  name: id,
249
294
  origin: text.point,
250
295
  rotation: 0,
251
296
  flipped: false,
252
297
  terminals: [],
253
298
  properties: { Text: text.text },
254
- sourceTypeName: 'ltspice:TEXT',
299
+ sourceTypeName: "ltspice:TEXT",
255
300
  };
256
301
  }
257
302
  function buildProperties(attrs, def, rawSymbolName) {
@@ -259,7 +304,7 @@ function buildProperties(attrs, def, rawSymbolName) {
259
304
  for (const [key, value] of attrs) {
260
305
  properties[key] = value;
261
306
  }
262
- const value = getAttr(attrs, 'Value');
307
+ const value = getAttr(attrs, "Value");
263
308
  if (value !== null && def !== undefined) {
264
309
  if (def.valueProperty !== null) {
265
310
  properties[def.valueProperty] = parseQuantity(value) ?? value;
@@ -282,7 +327,7 @@ function getAttr(attrs, wanted) {
282
327
  return null;
283
328
  }
284
329
  function buildRawAttributes(version, sheet) {
285
- const attrs = { format: 'ltspice-asc' };
330
+ const attrs = { format: "ltspice-asc" };
286
331
  if (version.length > 0) {
287
332
  attrs.version = version;
288
333
  }
@@ -292,8 +337,8 @@ function buildRawAttributes(version, sheet) {
292
337
  return attrs;
293
338
  }
294
339
  function parsePoint(xText, yText) {
295
- const x = Number.parseInt(xText ?? '', 10);
296
- const y = Number.parseInt(yText ?? '', 10);
340
+ const x = Number.parseInt(xText ?? "", 10);
341
+ const y = Number.parseInt(yText ?? "", 10);
297
342
  if (!Number.isFinite(x) || !Number.isFinite(y)) {
298
343
  return null;
299
344
  }
@@ -305,24 +350,26 @@ function pointKey(point) {
305
350
  return `${point.x},${point.y}`;
306
351
  }
307
352
  function uniqueId(baseName, usedIds) {
308
- const sanitized = baseName.replace(/\s+/g, '-').replace(/[^A-Za-z0-9_-]/g, '');
309
- const base = sanitized.length > 0 ? sanitized : 'component';
353
+ const sanitized = baseName
354
+ .replace(/\s+/g, "-")
355
+ .replace(/[^A-Za-z0-9_-]/g, "");
356
+ const base = sanitized.length > 0 ? sanitized : "component";
310
357
  const count = usedIds.get(base) ?? 0;
311
358
  usedIds.set(base, count + 1);
312
359
  return count === 0 ? base : `${base}-${count + 1}`;
313
360
  }
314
361
  function decodeText(text) {
315
- return text.replaceAll('\\n', '\n');
362
+ return text.replaceAll("\\n", "\n");
316
363
  }
317
364
  function rotationFromLtspiceOrientation(orientation) {
318
365
  const match = orientation.toUpperCase().match(/[MR](0|90|180|270)$/);
319
- if (match?.[1] === '90') {
366
+ if (match?.[1] === "90") {
320
367
  return 1;
321
368
  }
322
- if (match?.[1] === '180') {
369
+ if (match?.[1] === "180") {
323
370
  return 2;
324
371
  }
325
- if (match?.[1] === '270') {
372
+ if (match?.[1] === "270") {
326
373
  return 3;
327
374
  }
328
375
  return 0;
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/formats/ltspice/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/formats/ltspice/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAUrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EACN,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,GAE1B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAoBhD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAS;IACxC,QAAQ;IACR,MAAM;IACN,WAAW;IACX,QAAQ;IACR,KAAK;IACL,UAAU;IACV,QAAQ;CACR,CAAC,CAAC;AAEH,MAAM,UAAU,eAAe,CAAC,MAA2B;IAC1D,MAAM,IAAI,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC7E,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,IAAI,aAAa,GAAgC,IAAI,CAAC;IACtD,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,KAAK,GAAG,EAAE,CAAC;IAEf,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;QACR,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAEhD,QAAQ,OAAO,EAAE,CAAC;YACjB,KAAK,SAAS;gBACb,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM;YACP,KAAK,OAAO;gBACX,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM;YACP,KAAK,MAAM,CAAC,CAAC,CAAC;gBACb,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAClE,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBACnB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;gBACD,MAAM;YACP,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACb,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBACpD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBACnB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;gBACD,MAAM;YACP,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACd,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBACtD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACpB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACnD,CAAC;gBACD,MAAM;YACP,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACf,aAAa,GAAG,WAAW,CAC1B,MAAM,EACN,OAAO,CAAC,MAAM,EACd,SAAS,EACT,QAAQ,CACR,CAAC;gBACF,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;oBAC5B,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC7B,CAAC;gBACD,MAAM;YACP,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBAChB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBACjE,MAAM;YACP,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACb,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC1D,MAAM;YACP,CAAC;YACD;gBACC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACpC,QAAQ,CAAC,IAAI,CAAC;wBACb,IAAI,EAAE,sBAAsB;wBAC5B,OAAO,EAAE,QAAQ,SAAS,GAAG,CAAC,kCAAkC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG;qBAClF,CAAC,CAAC;gBACJ,CAAC;gBACD,MAAM;QACR,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,MAAM,UAAU,GAAG;QAClB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC3E,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACrB,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CACnE;QACD,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;KACvE,CAAC;IACF,MAAM,QAAQ,GAAqB;QAClC,IAAI,EAAE,EAAE;QACR,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,EAAE;KACd,CAAC;IAEF,OAAO;QACN,QAAQ;QACR,UAAU;QACV,KAAK,EAAE,qBAAqB,CAAC,KAAK,CAAC;QACnC,UAAU;QACV,QAAQ;QACR,aAAa,EAAE,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC;KACjD,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CACjB,MAAyB,EACzB,SAAiB,EACjB,SAAiB,EACjB,QAAmB;IAEnB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,QAAQ,SAAS,GAAG,CAAC,kCAAkC;SAChE,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,QAAQ,SAAS,GAAG,CAAC,kCAAkC;SAChE,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,QAAQ,SAAS,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED,SAAS,SAAS,CACjB,MAAyB,EACzB,SAAiB,EACjB,QAAmB;IAEnB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,QAAQ,SAAS,GAAG,CAAC,gCAAgC;SAC9D,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,QAAQ,SAAS,GAAG,CAAC,kCAAkC;SAChE,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACnD,CAAC;AAED,SAAS,UAAU,CAClB,MAAyB,EACzB,SAAiB,EACjB,QAAmB;IAEnB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,QAAQ,SAAS,GAAG,CAAC,qCAAqC;SACnE,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,QAAQ,SAAS,GAAG,CAAC,mCAAmC;SACjE,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,WAAW,CACnB,MAAyB,EACzB,WAAmB,EACnB,SAAiB,EACjB,QAAmB;IAEnB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,QAAQ,SAAS,GAAG,CAAC,+CAA+C;SAC7E,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,QAAQ,SAAS,GAAG,CAAC,oCAAoC;SAClE,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO;QACN,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE;QAC3B,SAAS;QACT,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI;QAC9B,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,IAAI,GAAG,EAAkB;KAChC,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC5B,MAAyB,EACzB,aAA0C,EAC1C,SAAiB,EACjB,QAAmB;IAEnB,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAC5B,QAAQ,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,QAAQ,SAAS,GAAG,CAAC,oCAAoC;SAClE,CAAC,CAAC;QACH,OAAO;IACR,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,QAAQ,SAAS,GAAG,CAAC,kCAAkC;SAChE,CAAC,CAAC;QACH,OAAO;IACR,CAAC;IACD,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,SAAS,CACjB,MAAyB,EACzB,SAAiB,EACjB,QAAmB,EACnB,UAAoB,EACpB,KAAoB;IAEpB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,QAAQ,SAAS,GAAG,CAAC,iDAAiD;SAC/E,CAAC,CAAC;QACH,OAAO;IACR,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,QAAQ,SAAS,GAAG,CAAC,kCAAkC;SAChE,CAAC,CAAC;QACH,OAAO;IACR,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACjD,OAAO;IACR,CAAC;IACD,KAAK,CAAC,IAAI,CAAC;QACV,KAAK;QACL,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;KACjE,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC5B,MAA4B,EAC5B,OAA4B,EAC5B,QAAmB;IAEnB,MAAM,cAAc,GAAG,0BAA0B,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACrE,MAAM,GAAG,GAAG,sBAAsB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,QAAQ,GACb,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,GAAG,cAAc,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;IAC7E,MAAM,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC3D,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,QAAQ,EAAE,kBAAkB,CAC3B,QAAQ,CAAC,KAAK,EACd,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,WAAW,CAClB;KACD,CAAC,CAAC,CAAC;IAEJ,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,wBAAwB;YAC9B,OAAO,EAAE,GAAG,EAAE,iCAAiC,MAAM,CAAC,UAAU,GAAG;YACnE,WAAW,EAAE,EAAE;SACf,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACN,EAAE;QACF,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,aAAa;QAChC,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,MAAM,CAAC,SAAS;QACxB,QAAQ,EAAE,8BAA8B,CAAC,MAAM,CAAC,WAAW,CAAC;QAC5D,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QACzD,SAAS;QACT,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;QACjE,cAAc,EAAE,WAAW,cAAc,EAAE;KAC3C,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAC1B,IAAiB,EACjB,QAA4B,EAC5B,OAA4B;IAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC;IACnC,MAAM,MAAM,GAAG,QAAQ,KAAK,SAAS,CAAC;IACtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAC9C,MAAM,UAAU,GAAkC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACtE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5B,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC/B,UAAU,CAAC,SAAS,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,OAAO;QACN,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC/B,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY;QAC1D,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,IAAI,CAAC,KAAK;QAClB,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QACjE,UAAU;QACV,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc;KACzE,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,QAA4B;IAC1D,OAAO,QAAQ,EAAE,WAAW,EAAE,KAAK,KAAK;QACvC,CAAC,CAAC,oBAAoB;QACtB,CAAC,CAAC,mBAAmB,CAAC;AACxB,CAAC;AAED,SAAS,kBAAkB,CAC1B,IAAiB,EACjB,KAAa,EACb,OAA4B;IAE5B,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,KAAK,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO;QACN,EAAE;QACF,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,IAAI,CAAC,KAAK;QAClB,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;QAC/B,cAAc,EAAE,cAAc;KAC9B,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACvB,KAAkC,EAClC,GAAiC,EACjC,aAAqB;IAErB,MAAM,UAAU,GAAkC,EAAE,CAAC;IACrD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QAClC,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACzC,IAAI,GAAG,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YAChC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;QAC/D,CAAC;QACD,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;YACxB,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;QAC1B,CAAC;IACF,CAAC;IAED,IAAI,GAAG,EAAE,mBAAmB,KAAK,IAAI,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACzE,UAAU,CAAC,KAAK,GAAG,0BAA0B,CAAC,aAAa,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,SAAS,OAAO,CACf,KAAkC,EAClC,MAAc;IAEd,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QAClC,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,kBAAkB,CAC1B,OAAe,EACf,KAAa;IAEb,MAAM,KAAK,GAA2B,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IAChE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAClB,KAAyB,EACzB,KAAyB;IAEzB,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACb,CAAC;IACD,6EAA6E;IAC7E,4EAA4E;IAC5E,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,mBAAmB,EAAE,CAAC,EAAE,CAAC,GAAG,mBAAmB,EAAE,CAAC;AACnE,CAAC;AAED,SAAS,QAAQ,CAAC,KAAY;IAC7B,OAAO,GAAG,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,QAAQ,CAAC,QAAgB,EAAE,OAA4B;IAC/D,MAAM,SAAS,GAAG,QAAQ;SACxB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;IAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAC7B,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,8BAA8B,CACtC,WAAmB;IAEnB,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACrE,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACzB,OAAO,CAAC,CAAC;IACV,CAAC;IACD,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC;IACV,CAAC;IACD,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC;IACV,CAAC;IACD,OAAO,CAAC,CAAC;AACV,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { CircuitDocument } from '../../model/types';
1
+ import type { CircuitDocument } from "../../model/types";
2
2
  export type SerializeLtspiceAscOptions = Readonly<{
3
3
  version?: string;
4
4
  sheet?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../../src/formats/ltspice/serializer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAmD,MAAM,mBAAmB,CAAC;AAG1G,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAAC;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAeH,wBAAgB,mBAAmB,CAC/B,GAAG,EAAE,eAAe,EACpB,OAAO,GAAE,0BAA+B,GACzC,MAAM,CAkBR"}
1
+ {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../../src/formats/ltspice/serializer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,eAAe,EAMf,MAAM,mBAAmB,CAAC;AAG3B,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,CAAC,CAAC;AAeH,wBAAgB,mBAAmB,CAClC,GAAG,EAAE,eAAe,EACpB,OAAO,GAAE,0BAA+B,GACtC,MAAM,CAkBR"}