@vessel-dsp/core 0.6.0 → 0.6.2

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 (238) hide show
  1. package/dist/editor/commands.d.ts +48 -0
  2. package/dist/editor/commands.d.ts.map +1 -0
  3. package/{src/editor/commands.ts → dist/editor/commands.js} +44 -91
  4. package/dist/editor/commands.js.map +1 -0
  5. package/dist/editor/factory.d.ts +10 -0
  6. package/dist/editor/factory.d.ts.map +1 -0
  7. package/{src/editor/factory.ts → dist/editor/factory.js} +11 -27
  8. package/dist/editor/factory.js.map +1 -0
  9. package/dist/editor/history.d.ts +29 -0
  10. package/dist/editor/history.d.ts.map +1 -0
  11. package/{src/editor/history.ts → dist/editor/history.js} +12 -42
  12. package/dist/editor/history.js.map +1 -0
  13. package/{src/editor/index.ts → dist/editor/index.d.ts} +1 -3
  14. package/dist/editor/index.d.ts.map +1 -0
  15. package/dist/editor/index.js +5 -0
  16. package/dist/editor/index.js.map +1 -0
  17. package/dist/editor/layout.d.ts +8 -0
  18. package/dist/editor/layout.d.ts.map +1 -0
  19. package/{src/editor/layout.ts → dist/editor/layout.js} +36 -90
  20. package/dist/editor/layout.js.map +1 -0
  21. package/dist/formats/circuit-json/serializer.d.ts +101 -0
  22. package/dist/formats/circuit-json/serializer.d.ts.map +1 -0
  23. package/{src/formats/circuit-json/serializer.ts → dist/formats/circuit-json/serializer.js} +352 -418
  24. package/dist/formats/circuit-json/serializer.js.map +1 -0
  25. package/dist/formats/document.d.ts +64 -0
  26. package/dist/formats/document.d.ts.map +1 -0
  27. package/{src/formats/document.ts → dist/formats/document.js} +43 -159
  28. package/dist/formats/document.js.map +1 -0
  29. package/dist/formats/interchange/parser.d.ts +3 -0
  30. package/dist/formats/interchange/parser.d.ts.map +1 -0
  31. package/{src/formats/interchange/parser.ts → dist/formats/interchange/parser.js} +157 -463
  32. package/dist/formats/interchange/parser.js.map +1 -0
  33. package/dist/formats/interchange/serializer.d.ts +9 -0
  34. package/dist/formats/interchange/serializer.d.ts.map +1 -0
  35. package/{src/formats/interchange/serializer.ts → dist/formats/interchange/serializer.js} +84 -186
  36. package/dist/formats/interchange/serializer.js.map +1 -0
  37. package/dist/formats/ltspice/catalog.d.ts +19 -0
  38. package/dist/formats/ltspice/catalog.d.ts.map +1 -0
  39. package/{src/formats/ltspice/catalog.ts → dist/formats/ltspice/catalog.js} +18 -52
  40. package/dist/formats/ltspice/catalog.js.map +1 -0
  41. package/dist/formats/ltspice/encoding.d.ts +2 -0
  42. package/dist/formats/ltspice/encoding.d.ts.map +1 -0
  43. package/{src/formats/ltspice/encoding.ts → dist/formats/ltspice/encoding.js} +17 -41
  44. package/dist/formats/ltspice/encoding.js.map +1 -0
  45. package/dist/formats/ltspice/parser.d.ts +3 -0
  46. package/dist/formats/ltspice/parser.d.ts.map +1 -0
  47. package/{src/formats/ltspice/parser.ts → dist/formats/ltspice/parser.js} +39 -141
  48. package/dist/formats/ltspice/parser.js.map +1 -0
  49. package/dist/formats/ltspice/serializer.d.ts +7 -0
  50. package/dist/formats/ltspice/serializer.d.ts.map +1 -0
  51. package/{src/formats/ltspice/serializer.ts → dist/formats/ltspice/serializer.js} +18 -45
  52. package/dist/formats/ltspice/serializer.js.map +1 -0
  53. package/dist/formats/schx/catalog.d.ts +19 -0
  54. package/dist/formats/schx/catalog.d.ts.map +1 -0
  55. package/{src/formats/schx/catalog.ts → dist/formats/schx/catalog.js} +48 -101
  56. package/dist/formats/schx/catalog.js.map +1 -0
  57. package/dist/formats/schx/parser.d.ts +3 -0
  58. package/dist/formats/schx/parser.d.ts.map +1 -0
  59. package/{src/formats/schx/parser.ts → dist/formats/schx/parser.js} +31 -86
  60. package/dist/formats/schx/parser.js.map +1 -0
  61. package/dist/formats/schx/runtime-descriptors.d.ts +3 -0
  62. package/dist/formats/schx/runtime-descriptors.d.ts.map +1 -0
  63. package/{src/formats/schx/runtime-descriptors.ts → dist/formats/schx/runtime-descriptors.js} +36 -123
  64. package/dist/formats/schx/runtime-descriptors.js.map +1 -0
  65. package/dist/formats/schx/serializer.d.ts +5 -0
  66. package/dist/formats/schx/serializer.d.ts.map +1 -0
  67. package/{src/formats/schx/serializer.ts → dist/formats/schx/serializer.js} +17 -42
  68. package/dist/formats/schx/serializer.js.map +1 -0
  69. package/dist/formats/schx/transforms.d.ts +4 -0
  70. package/dist/formats/schx/transforms.d.ts.map +1 -0
  71. package/{src/formats/schx/transforms.ts → dist/formats/schx/transforms.js} +6 -10
  72. package/dist/formats/schx/transforms.js.map +1 -0
  73. package/dist/formats/spice/parser.d.ts +3 -0
  74. package/dist/formats/spice/parser.d.ts.map +1 -0
  75. package/{src/formats/spice/parser.ts → dist/formats/spice/parser.js} +50 -96
  76. package/dist/formats/spice/parser.js.map +1 -0
  77. package/dist/formats/spice/serializer.d.ts +3 -0
  78. package/dist/formats/spice/serializer.d.ts.map +1 -0
  79. package/{src/formats/spice/serializer.ts → dist/formats/spice/serializer.js} +20 -16
  80. package/dist/formats/spice/serializer.js.map +1 -0
  81. package/dist/index.d.ts +47 -0
  82. package/dist/index.d.ts.map +1 -0
  83. package/dist/index.js +32 -0
  84. package/dist/index.js.map +1 -0
  85. package/dist/model/connectivity.d.ts +16 -0
  86. package/dist/model/connectivity.d.ts.map +1 -0
  87. package/{src/model/connectivity.ts → dist/model/connectivity.js} +28 -63
  88. package/dist/model/connectivity.js.map +1 -0
  89. package/dist/model/netlist.d.ts +24 -0
  90. package/dist/model/netlist.d.ts.map +1 -0
  91. package/{src/model/netlist.ts → dist/model/netlist.js} +42 -110
  92. package/dist/model/netlist.js.map +1 -0
  93. package/dist/model/properties.d.ts +9 -0
  94. package/dist/model/properties.d.ts.map +1 -0
  95. package/{src/model/properties.ts → dist/model/properties.js} +10 -18
  96. package/dist/model/properties.js.map +1 -0
  97. package/dist/model/quantity.d.ts +3 -0
  98. package/dist/model/quantity.d.ts.map +1 -0
  99. package/{src/model/quantity.ts → dist/model/quantity.js} +7 -30
  100. package/dist/model/quantity.js.map +1 -0
  101. package/{src/model/types.ts → dist/model/types.d.ts} +17 -196
  102. package/dist/model/types.d.ts.map +1 -0
  103. package/dist/model/types.js +10 -0
  104. package/dist/model/types.js.map +1 -0
  105. package/dist/model/validation.d.ts +32 -0
  106. package/dist/model/validation.d.ts.map +1 -0
  107. package/{src/model/validation.ts → dist/model/validation.js} +172 -653
  108. package/dist/model/validation.js.map +1 -0
  109. package/dist/model/wires.d.ts +3 -0
  110. package/dist/model/wires.d.ts.map +1 -0
  111. package/{src/model/wires.ts → dist/model/wires.js} +10 -16
  112. package/dist/model/wires.js.map +1 -0
  113. package/dist/panel/extract.d.ts +5 -0
  114. package/dist/panel/extract.d.ts.map +1 -0
  115. package/{src/panel/extract.ts → dist/panel/extract.js} +146 -235
  116. package/dist/panel/extract.js.map +1 -0
  117. package/dist/panel/index.d.ts +6 -0
  118. package/dist/panel/index.d.ts.map +1 -0
  119. package/dist/panel/index.js +5 -0
  120. package/dist/panel/index.js.map +1 -0
  121. package/dist/panel/knobs.d.ts +7 -0
  122. package/dist/panel/knobs.d.ts.map +1 -0
  123. package/{src/panel/knobs.ts → dist/panel/knobs.js} +7 -18
  124. package/dist/panel/knobs.js.map +1 -0
  125. package/dist/panel/protocol.d.ts +9 -0
  126. package/dist/panel/protocol.d.ts.map +1 -0
  127. package/{src/panel/protocol.ts → dist/panel/protocol.js} +10 -26
  128. package/dist/panel/protocol.js.map +1 -0
  129. package/{src/panel/types.ts → dist/panel/types.d.ts} +50 -89
  130. package/dist/panel/types.d.ts.map +1 -0
  131. package/dist/panel/types.js +2 -0
  132. package/dist/panel/types.js.map +1 -0
  133. package/dist/preview/bounds.d.ts +12 -0
  134. package/dist/preview/bounds.d.ts.map +1 -0
  135. package/{src/preview/bounds.ts → dist/preview/bounds.js} +15 -29
  136. package/dist/preview/bounds.js.map +1 -0
  137. package/dist/preview/box-layout.d.ts +4 -0
  138. package/dist/preview/box-layout.d.ts.map +1 -0
  139. package/{src/preview/box-layout.ts → dist/preview/box-layout.js} +2 -6
  140. package/dist/preview/box-layout.js.map +1 -0
  141. package/dist/preview/colors.d.ts +3 -0
  142. package/dist/preview/colors.d.ts.map +1 -0
  143. package/{src/preview/colors.ts → dist/preview/colors.js} +3 -5
  144. package/dist/preview/colors.js.map +1 -0
  145. package/dist/preview/hanging.d.ts +8 -0
  146. package/dist/preview/hanging.d.ts.map +1 -0
  147. package/{src/preview/hanging.ts → dist/preview/hanging.js} +9 -28
  148. package/dist/preview/hanging.js.map +1 -0
  149. package/dist/preview/junctions.d.ts +3 -0
  150. package/dist/preview/junctions.d.ts.map +1 -0
  151. package/{src/preview/junctions.ts → dist/preview/junctions.js} +9 -24
  152. package/dist/preview/junctions.js.map +1 -0
  153. package/dist/preview/label-layout.d.ts +12 -0
  154. package/dist/preview/label-layout.d.ts.map +1 -0
  155. package/{src/preview/label-layout.ts → dist/preview/label-layout.js} +15 -36
  156. package/dist/preview/label-layout.js.map +1 -0
  157. package/dist/preview/ports.d.ts +17 -0
  158. package/dist/preview/ports.d.ts.map +1 -0
  159. package/{src/preview/ports.ts → dist/preview/ports.js} +10 -37
  160. package/dist/preview/ports.js.map +1 -0
  161. package/dist/preview/renderable-wires.d.ts +3 -0
  162. package/dist/preview/renderable-wires.d.ts.map +1 -0
  163. package/{src/preview/renderable-wires.ts → dist/preview/renderable-wires.js} +12 -29
  164. package/dist/preview/renderable-wires.js.map +1 -0
  165. package/dist/preview/routing.d.ts +4 -0
  166. package/dist/preview/routing.d.ts.map +1 -0
  167. package/dist/preview/routing.js +13 -0
  168. package/dist/preview/routing.js.map +1 -0
  169. package/dist/preview/snap.d.ts +9 -0
  170. package/dist/preview/snap.d.ts.map +1 -0
  171. package/{src/preview/snap.ts → dist/preview/snap.js} +9 -31
  172. package/dist/preview/snap.js.map +1 -0
  173. package/dist/preview/symbols/svg-content.d.ts +7 -0
  174. package/dist/preview/symbols/svg-content.d.ts.map +1 -0
  175. package/{src/preview/symbols/svg-content.ts → dist/preview/symbols/svg-content.js} +3 -6
  176. package/dist/preview/symbols/svg-content.js.map +1 -0
  177. package/dist/preview/symbols.d.ts +7 -0
  178. package/dist/preview/symbols.d.ts.map +1 -0
  179. package/{src/preview/symbols.ts → dist/preview/symbols.js} +18 -43
  180. package/dist/preview/symbols.js.map +1 -0
  181. package/dist/preview/wire-chains.d.ts +4 -0
  182. package/dist/preview/wire-chains.d.ts.map +1 -0
  183. package/{src/preview/wire-chains.ts → dist/preview/wire-chains.js} +37 -37
  184. package/dist/preview/wire-chains.js.map +1 -0
  185. package/package.json +3 -3
  186. package/src/index.ts +0 -255
  187. package/src/panel/index.ts +0 -39
  188. package/src/preview/routing.ts +0 -15
  189. package/src/preview/symbols/analog-switch.svg +0 -17
  190. package/src/preview/symbols/battery.svg +0 -16
  191. package/src/preview/symbols/bbd.svg +0 -21
  192. package/src/preview/symbols/bjt-npn.svg +0 -16
  193. package/src/preview/symbols/bjt-pnp.svg +0 -17
  194. package/src/preview/symbols/capacitor-electrolytic.svg +0 -13
  195. package/src/preview/symbols/capacitor.svg +0 -12
  196. package/src/preview/symbols/current-source.svg +0 -14
  197. package/src/preview/symbols/delay-ic.svg +0 -22
  198. package/src/preview/symbols/diode-schottky.svg +0 -12
  199. package/src/preview/symbols/diode-zener.svg +0 -12
  200. package/src/preview/symbols/diode.svg +0 -13
  201. package/src/preview/symbols/flipflop.svg +0 -20
  202. package/src/preview/symbols/ground.svg +0 -12
  203. package/src/preview/symbols/ic-block.svg +0 -20
  204. package/src/preview/symbols/ic.svg +0 -19
  205. package/src/preview/symbols/inductor.svg +0 -11
  206. package/src/preview/symbols/jack-input.svg +0 -16
  207. package/src/preview/symbols/jack-output.svg +0 -16
  208. package/src/preview/symbols/jfet-junction-n.svg +0 -17
  209. package/src/preview/symbols/jfet-n.svg +0 -17
  210. package/src/preview/symbols/jfet-p.svg +0 -17
  211. package/src/preview/symbols/label.svg +0 -8
  212. package/src/preview/symbols/led.svg +0 -18
  213. package/src/preview/symbols/mosfet-n.svg +0 -21
  214. package/src/preview/symbols/mosfet-p.svg +0 -21
  215. package/src/preview/symbols/named-wire.svg +0 -11
  216. package/src/preview/symbols/opamp.svg +0 -21
  217. package/src/preview/symbols/optocoupler.svg +0 -30
  218. package/src/preview/symbols/ota.svg +0 -20
  219. package/src/preview/symbols/pentode.svg +0 -25
  220. package/src/preview/symbols/photoresistor.svg +0 -19
  221. package/src/preview/symbols/port.svg +0 -8
  222. package/src/preview/symbols/potentiometer.svg +0 -15
  223. package/src/preview/symbols/power-amp.svg +0 -20
  224. package/src/preview/symbols/rail.svg +0 -11
  225. package/src/preview/symbols/regulator.svg +0 -13
  226. package/src/preview/symbols/relay.svg +0 -20
  227. package/src/preview/symbols/resistor.svg +0 -11
  228. package/src/preview/symbols/switch-3pdt.svg +0 -32
  229. package/src/preview/symbols/switch-rotary.svg +0 -23
  230. package/src/preview/symbols/switch-spdt.svg +0 -16
  231. package/src/preview/symbols/switch-spst.svg +0 -14
  232. package/src/preview/symbols/switch-toggle.svg +0 -14
  233. package/src/preview/symbols/transformer.svg +0 -17
  234. package/src/preview/symbols/triode.svg +0 -17
  235. package/src/preview/symbols/tube-diode.svg +0 -13
  236. package/src/preview/symbols/unsupported.svg +0 -8
  237. package/src/preview/symbols/variable-resistor.svg +0 -13
  238. package/src/preview/symbols/voltage-source.svg +0 -15
@@ -1,56 +1,9 @@
1
- import { getPinNode, resolveConnectivity, type Connectivity } from '../../model/connectivity';
2
- import { isParsedQuantity, isPropertyObject } from '../../model/properties';
3
- import type {
4
- CircuitDocument,
5
- CircuitDocumentDevice,
6
- Component,
7
- ControlApplicabilityPredicate,
8
- ControlContext,
9
- ControlGroup,
10
- DeviceInterface,
11
- DeviceInterfaceBinding,
12
- DeviceInterfaceControl,
13
- ControlInterface,
14
- ControlInterfaceBinding,
15
- ControlOutput,
16
- DocumentSource,
17
- PanelElementBinding,
18
- PanelElementPhysicalPlacement,
19
- PanelElementPlacement,
20
- PanelFace,
21
- PanelFaceGeometry,
22
- PanelGridLayout,
23
- PanelGridPosition,
24
- PanelPlacementMetadata,
25
- Point,
26
- PropertyValue,
27
- Terminal,
28
- VdspBuildDataObject,
29
- VdspBuildDataScalar,
30
- VdspBuildDataValue,
31
- Warning,
32
- Wire,
33
- } from '../../model/types';
34
-
35
- export type InterchangeSourceFormat = string;
36
-
37
- export type SerializeInterchangeYamlOptions = Readonly<{
38
- filename?: string;
39
- source?: DocumentSource | null;
40
- sourceFormat?: InterchangeSourceFormat | null;
41
- }>;
42
-
43
- type YamlScalar = string | number | boolean | null;
44
- type YamlValue = YamlScalar | readonly YamlValue[] | { readonly [key: string]: YamlValue };
45
- type MutableYamlObject = Record<string, YamlValue>;
46
-
47
- export function serializeInterchangeYaml(
48
- doc: CircuitDocument,
49
- options: SerializeInterchangeYamlOptions = {},
50
- ): string {
1
+ import { getPinNode, resolveConnectivity } from '../../model/connectivity.js';
2
+ import { isParsedQuantity, isPropertyObject } from '../../model/properties.js';
3
+ export function serializeInterchangeYaml(doc, options = {}) {
51
4
  const connectivity = resolveConnectivity(doc);
52
5
  const schema = hasV3OnlyFields(doc) ? 'circuit-interchange/v3' : 'circuit-interchange/v2';
53
- const root: MutableYamlObject = {
6
+ const root = {
54
7
  schema,
55
8
  metadata: {
56
9
  name: doc.metadata.name,
@@ -109,11 +62,9 @@ export function serializeInterchangeYaml(
109
62
  if (doc.boards !== undefined) {
110
63
  root.boards = doc.boards.map(buildDataObjectBlock);
111
64
  }
112
-
113
65
  return `${emitYaml(root, 0)}\n`;
114
66
  }
115
-
116
- function hasV3OnlyFields(doc: CircuitDocument): boolean {
67
+ function hasV3OnlyFields(doc) {
117
68
  return doc.mechanical !== undefined
118
69
  || doc.build !== undefined
119
70
  || doc.bom !== undefined
@@ -123,21 +74,15 @@ function hasV3OnlyFields(doc: CircuitDocument): boolean {
123
74
  || doc.boards !== undefined
124
75
  || hasV3PanelFields(doc.panel);
125
76
  }
126
-
127
- function hasV3PanelFields(panel: PanelPlacementMetadata | undefined): boolean {
128
- return panel?.faces.some((face) =>
129
- face.geometry !== undefined
130
- || face.elements.some((element) =>
131
- element.id !== undefined
77
+ function hasV3PanelFields(panel) {
78
+ return panel?.faces.some((face) => face.geometry !== undefined
79
+ || face.elements.some((element) => element.id !== undefined
132
80
  || element.physical !== undefined
133
81
  || element.kind === 'selector'
134
- || element.kind === 'footswitch'
135
- )
136
- ) ?? false;
82
+ || element.kind === 'footswitch')) ?? false;
137
83
  }
138
-
139
- function deviceBlock(device: CircuitDocumentDevice): MutableYamlObject {
140
- const out: MutableYamlObject = {
84
+ function deviceBlock(device) {
85
+ const out = {
141
86
  kind: device.kind,
142
87
  };
143
88
  if (device.id !== undefined) {
@@ -157,9 +102,8 @@ function deviceBlock(device: CircuitDocumentDevice): MutableYamlObject {
157
102
  }
158
103
  return out;
159
104
  }
160
-
161
- function controlGroupBlock(group: ControlGroup): MutableYamlObject {
162
- const out: MutableYamlObject = {
105
+ function controlGroupBlock(group) {
106
+ const out = {
163
107
  id: group.id,
164
108
  name: group.name,
165
109
  role: group.role,
@@ -172,9 +116,8 @@ function controlGroupBlock(group: ControlGroup): MutableYamlObject {
172
116
  }
173
117
  return out;
174
118
  }
175
-
176
- function controlContextBlock(context: ControlContext): MutableYamlObject {
177
- const out: MutableYamlObject = {
119
+ function controlContextBlock(context) {
120
+ const out = {
178
121
  id: context.id,
179
122
  name: context.name,
180
123
  role: context.role,
@@ -184,15 +127,13 @@ function controlContextBlock(context: ControlContext): MutableYamlObject {
184
127
  }
185
128
  return out;
186
129
  }
187
-
188
- function deviceInterfaceBlock(deviceInterface: DeviceInterface): MutableYamlObject {
130
+ function deviceInterfaceBlock(deviceInterface) {
189
131
  return {
190
132
  controls: deviceInterface.controls.map(deviceInterfaceControlBlock),
191
133
  };
192
134
  }
193
-
194
- function deviceInterfaceControlBlock(control: DeviceInterfaceControl): MutableYamlObject {
195
- const out: MutableYamlObject = {
135
+ function deviceInterfaceControlBlock(control) {
136
+ const out = {
196
137
  id: control.id,
197
138
  label: control.label,
198
139
  kind: control.kind,
@@ -215,9 +156,8 @@ function deviceInterfaceControlBlock(control: DeviceInterfaceControl): MutableYa
215
156
  }
216
157
  return out;
217
158
  }
218
-
219
- function deviceInterfaceBindingBlock(binding: DeviceInterfaceBinding): MutableYamlObject {
220
- const out: MutableYamlObject = {
159
+ function deviceInterfaceBindingBlock(binding) {
160
+ const out = {
221
161
  componentId: binding.componentId,
222
162
  };
223
163
  if (binding.controlId !== undefined) {
@@ -234,9 +174,8 @@ function deviceInterfaceBindingBlock(binding: DeviceInterfaceBinding): MutableYa
234
174
  }
235
175
  return out;
236
176
  }
237
-
238
- function controlApplicabilityPredicateBlock(predicate: ControlApplicabilityPredicate): MutableYamlObject {
239
- const out: MutableYamlObject = {};
177
+ function controlApplicabilityPredicateBlock(predicate) {
178
+ const out = {};
240
179
  if (predicate.allOf !== undefined) {
241
180
  out.allOf = predicate.allOf;
242
181
  }
@@ -245,9 +184,8 @@ function controlApplicabilityPredicateBlock(predicate: ControlApplicabilityPredi
245
184
  }
246
185
  return out;
247
186
  }
248
-
249
- function controlInterfaceBlock(controlInterface: ControlInterface): MutableYamlObject {
250
- const out: MutableYamlObject = {
187
+ function controlInterfaceBlock(controlInterface) {
188
+ const out = {
251
189
  id: controlInterface.id,
252
190
  name: controlInterface.name,
253
191
  role: controlInterface.role,
@@ -278,9 +216,8 @@ function controlInterfaceBlock(controlInterface: ControlInterface): MutableYamlO
278
216
  }
279
217
  return out;
280
218
  }
281
-
282
- function controlOutputBlock(controlOutput: ControlOutput): MutableYamlObject {
283
- const out: MutableYamlObject = {
219
+ function controlOutputBlock(controlOutput) {
220
+ const out = {
284
221
  id: controlOutput.id,
285
222
  name: controlOutput.name,
286
223
  role: controlOutput.role,
@@ -308,9 +245,8 @@ function controlOutputBlock(controlOutput: ControlOutput): MutableYamlObject {
308
245
  }
309
246
  return out;
310
247
  }
311
-
312
- function controlInterfaceBindingBlock(binding: ControlInterfaceBinding): MutableYamlObject {
313
- const out: MutableYamlObject = {};
248
+ function controlInterfaceBindingBlock(binding) {
249
+ const out = {};
314
250
  if (binding.sourceComponentId !== undefined) {
315
251
  out.sourceComponentId = binding.sourceComponentId;
316
252
  }
@@ -325,12 +261,8 @@ function controlInterfaceBindingBlock(binding: ControlInterfaceBinding): Mutable
325
261
  }
326
262
  return out;
327
263
  }
328
-
329
- function sourceBlock(
330
- documentSource: DocumentSource | undefined,
331
- options: SerializeInterchangeYamlOptions,
332
- ): MutableYamlObject {
333
- const source: MutableYamlObject = {};
264
+ function sourceBlock(documentSource, options) {
265
+ const source = {};
334
266
  for (const [key, value] of Object.entries(documentSource ?? {})) {
335
267
  source[key] = value;
336
268
  }
@@ -348,15 +280,13 @@ function sourceBlock(
348
280
  }
349
281
  return source;
350
282
  }
351
-
352
- function panelBlock(panel: PanelPlacementMetadata): MutableYamlObject {
283
+ function panelBlock(panel) {
353
284
  return {
354
285
  faces: panel.faces.map(panelFaceBlock),
355
286
  };
356
287
  }
357
-
358
- function panelFaceBlock(face: PanelFace): MutableYamlObject {
359
- const out: MutableYamlObject = {
288
+ function panelFaceBlock(face) {
289
+ const out = {
360
290
  id: face.id,
361
291
  };
362
292
  if (face.label !== undefined) {
@@ -369,9 +299,8 @@ function panelFaceBlock(face: PanelFace): MutableYamlObject {
369
299
  out.elements = face.elements.map(panelElementBlock);
370
300
  return out;
371
301
  }
372
-
373
- function panelLayoutBlock(layout: PanelGridLayout): MutableYamlObject {
374
- const out: MutableYamlObject = {
302
+ function panelLayoutBlock(layout) {
303
+ const out = {
375
304
  kind: layout.kind,
376
305
  rows: layout.rows,
377
306
  columns: layout.columns,
@@ -385,9 +314,8 @@ function panelLayoutBlock(layout: PanelGridLayout): MutableYamlObject {
385
314
  }
386
315
  return out;
387
316
  }
388
-
389
- function panelElementBlock(element: PanelElementPlacement): MutableYamlObject {
390
- const out: MutableYamlObject = {
317
+ function panelElementBlock(element) {
318
+ const out = {
391
319
  bind: panelElementBindingBlock(element.bind),
392
320
  kind: element.kind,
393
321
  grid: panelGridPositionBlock(element.grid),
@@ -406,17 +334,14 @@ function panelElementBlock(element: PanelElementPlacement): MutableYamlObject {
406
334
  }
407
335
  return out;
408
336
  }
409
-
410
- function panelFaceGeometryBlock(geometry: PanelFaceGeometry): MutableYamlObject {
337
+ function panelFaceGeometryBlock(geometry) {
411
338
  return buildDataObjectBlock(geometry);
412
339
  }
413
-
414
- function panelElementPhysicalBlock(physical: PanelElementPhysicalPlacement): MutableYamlObject {
340
+ function panelElementPhysicalBlock(physical) {
415
341
  return buildDataObjectBlock(physical);
416
342
  }
417
-
418
- function panelElementBindingBlock(binding: PanelElementBinding): MutableYamlObject {
419
- const out: MutableYamlObject = {
343
+ function panelElementBindingBlock(binding) {
344
+ const out = {
420
345
  componentId: binding.componentId,
421
346
  };
422
347
  if (binding.controlId !== undefined) {
@@ -430,9 +355,8 @@ function panelElementBindingBlock(binding: PanelElementBinding): MutableYamlObje
430
355
  }
431
356
  return out;
432
357
  }
433
-
434
- function panelGridPositionBlock(grid: PanelGridPosition): MutableYamlObject {
435
- const out: MutableYamlObject = {
358
+ function panelGridPositionBlock(grid) {
359
+ const out = {
436
360
  row: grid.row,
437
361
  column: grid.column,
438
362
  };
@@ -444,8 +368,7 @@ function panelGridPositionBlock(grid: PanelGridPosition): MutableYamlObject {
444
368
  }
445
369
  return out;
446
370
  }
447
-
448
- function componentBlock(component: Component, connectivity: Connectivity): MutableYamlObject {
371
+ function componentBlock(component, connectivity) {
449
372
  return {
450
373
  id: component.id,
451
374
  kind: component.kind,
@@ -458,12 +381,7 @@ function componentBlock(component: Component, connectivity: Connectivity): Mutab
458
381
  properties: propertiesBlock(component.properties),
459
382
  };
460
383
  }
461
-
462
- function terminalBlock(
463
- component: Component,
464
- terminal: Terminal,
465
- connectivity: Connectivity,
466
- ): MutableYamlObject {
384
+ function terminalBlock(component, terminal, connectivity) {
467
385
  return {
468
386
  name: terminal.name,
469
387
  node: getPinNode(connectivity, {
@@ -473,16 +391,14 @@ function terminalBlock(
473
391
  position: pointBlock(terminal.position),
474
392
  };
475
393
  }
476
-
477
- function propertiesBlock(properties: Readonly<Record<string, PropertyValue>>): MutableYamlObject {
478
- const out: MutableYamlObject = {};
394
+ function propertiesBlock(properties) {
395
+ const out = {};
479
396
  for (const [key, value] of Object.entries(properties)) {
480
397
  out[key] = propertyValueBlock(value);
481
398
  }
482
399
  return out;
483
400
  }
484
-
485
- function propertyValueBlock(value: PropertyValue): YamlValue {
401
+ function propertyValueBlock(value) {
486
402
  if (value === null || typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
487
403
  return value;
488
404
  }
@@ -501,29 +417,26 @@ function propertyValueBlock(value: PropertyValue): YamlValue {
501
417
  unit: value.unit,
502
418
  };
503
419
  }
504
-
505
- function nodeBlocks(connectivity: Connectivity): readonly MutableYamlObject[] {
420
+ function nodeBlocks(connectivity) {
506
421
  return Array.from(connectivity.nodeMembers.entries())
507
422
  .sort(([a], [b]) => a - b)
508
423
  .map(([id, members]) => ({
509
- id,
510
- role: id === connectivity.groundNodeId ? 'ground' : 'signal',
511
- members: members.map((member) => ({
512
- componentId: member.componentId,
513
- terminalName: member.terminalName,
514
- })),
515
- }));
516
- }
517
-
518
- function wireBlock(wire: Wire): MutableYamlObject {
424
+ id,
425
+ role: id === connectivity.groundNodeId ? 'ground' : 'signal',
426
+ members: members.map((member) => ({
427
+ componentId: member.componentId,
428
+ terminalName: member.terminalName,
429
+ })),
430
+ }));
431
+ }
432
+ function wireBlock(wire) {
519
433
  return {
520
434
  id: wire.id,
521
435
  points: wire.endpoints.map(pointBlock),
522
436
  };
523
437
  }
524
-
525
- function warningBlock(warning: Warning): MutableYamlObject {
526
- const out: MutableYamlObject = {
438
+ function warningBlock(warning) {
439
+ const out = {
527
440
  code: warning.code,
528
441
  message: warning.message,
529
442
  };
@@ -535,16 +448,14 @@ function warningBlock(warning: Warning): MutableYamlObject {
535
448
  }
536
449
  return out;
537
450
  }
538
-
539
- function pointBlock(point: Point): MutableYamlObject {
451
+ function pointBlock(point) {
540
452
  return {
541
453
  x: point.x,
542
454
  y: point.y,
543
455
  };
544
456
  }
545
-
546
- function buildDataObjectBlock(value: VdspBuildDataObject): MutableYamlObject {
547
- const out: MutableYamlObject = {};
457
+ function buildDataObjectBlock(value) {
458
+ const out = {};
548
459
  for (const [key, child] of Object.entries(value)) {
549
460
  if (child !== undefined) {
550
461
  out[key] = buildDataValueBlock(child);
@@ -552,8 +463,7 @@ function buildDataObjectBlock(value: VdspBuildDataObject): MutableYamlObject {
552
463
  }
553
464
  return out;
554
465
  }
555
-
556
- function buildDataValueBlock(value: VdspBuildDataValue): YamlValue {
466
+ function buildDataValueBlock(value) {
557
467
  if (isBuildDataScalar(value)) {
558
468
  return value;
559
469
  }
@@ -562,8 +472,7 @@ function buildDataValueBlock(value: VdspBuildDataValue): YamlValue {
562
472
  }
563
473
  return buildDataObjectBlock(value);
564
474
  }
565
-
566
- function emitYaml(value: YamlValue, indent: number): string {
475
+ function emitYaml(value, indent) {
567
476
  if (isScalar(value)) {
568
477
  return `${spaces(indent)}${formatScalar(value)}`;
569
478
  }
@@ -572,14 +481,12 @@ function emitYaml(value: YamlValue, indent: number): string {
572
481
  }
573
482
  return emitObject(value, indent);
574
483
  }
575
-
576
- function emitObject(value: { readonly [key: string]: YamlValue }, indent: number): string {
484
+ function emitObject(value, indent) {
577
485
  const entries = Object.entries(value);
578
486
  if (entries.length === 0) {
579
487
  return `${spaces(indent)}{}`;
580
488
  }
581
-
582
- const lines: string[] = [];
489
+ const lines = [];
583
490
  for (const [key, child] of entries) {
584
491
  if (isScalar(child)) {
585
492
  lines.push(`${spaces(indent)}${formatKey(key)}: ${formatScalar(child)}`);
@@ -588,7 +495,8 @@ function emitObject(value: { readonly [key: string]: YamlValue }, indent: number
588
495
  if (isYamlArray(child)) {
589
496
  if (child.length === 0) {
590
497
  lines.push(`${spaces(indent)}${formatKey(key)}: []`);
591
- } else {
498
+ }
499
+ else {
592
500
  lines.push(`${spaces(indent)}${formatKey(key)}:`);
593
501
  lines.push(emitArray(child, indent + 2));
594
502
  }
@@ -597,20 +505,19 @@ function emitObject(value: { readonly [key: string]: YamlValue }, indent: number
597
505
  const nestedEntries = Object.entries(child);
598
506
  if (nestedEntries.length === 0) {
599
507
  lines.push(`${spaces(indent)}${formatKey(key)}: {}`);
600
- } else {
508
+ }
509
+ else {
601
510
  lines.push(`${spaces(indent)}${formatKey(key)}:`);
602
511
  lines.push(emitObject(child, indent + 2));
603
512
  }
604
513
  }
605
514
  return lines.join('\n');
606
515
  }
607
-
608
- function emitArray(value: readonly YamlValue[], indent: number): string {
516
+ function emitArray(value, indent) {
609
517
  if (value.length === 0) {
610
518
  return `${spaces(indent)}[]`;
611
519
  }
612
-
613
- const lines: string[] = [];
520
+ const lines = [];
614
521
  for (const item of value) {
615
522
  if (isScalar(item)) {
616
523
  lines.push(`${spaces(indent)}- ${formatScalar(item)}`);
@@ -634,28 +541,22 @@ function emitArray(value: readonly YamlValue[], indent: number): string {
634
541
  }
635
542
  return lines.join('\n');
636
543
  }
637
-
638
- function isScalar(value: YamlValue): value is YamlScalar {
544
+ function isScalar(value) {
639
545
  return value === null || typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean';
640
546
  }
641
-
642
- function isYamlArray(value: YamlValue): value is readonly YamlValue[] {
547
+ function isYamlArray(value) {
643
548
  return Array.isArray(value);
644
549
  }
645
-
646
- function isBuildDataScalar(value: VdspBuildDataValue): value is VdspBuildDataScalar {
550
+ function isBuildDataScalar(value) {
647
551
  return value === null || typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean';
648
552
  }
649
-
650
- function isBuildDataArray(value: VdspBuildDataValue): value is readonly VdspBuildDataValue[] {
553
+ function isBuildDataArray(value) {
651
554
  return Array.isArray(value);
652
555
  }
653
-
654
- function formatKey(key: string): string {
556
+ function formatKey(key) {
655
557
  return isPlainScalar(key) ? key : JSON.stringify(key);
656
558
  }
657
-
658
- function formatScalar(value: YamlScalar): string {
559
+ function formatScalar(value) {
659
560
  if (value === null) {
660
561
  return 'null';
661
562
  }
@@ -667,23 +568,20 @@ function formatScalar(value: YamlScalar): string {
667
568
  }
668
569
  return JSON.stringify(value);
669
570
  }
670
-
671
- function isPlainScalar(value: string): boolean {
571
+ function isPlainScalar(value) {
672
572
  return /^[A-Za-z_][A-Za-z0-9_./\-]*$/.test(value);
673
573
  }
674
-
675
- function isReservedScalar(value: string): boolean {
574
+ function isReservedScalar(value) {
676
575
  const lower = value.toLowerCase();
677
576
  return lower === 'null' || lower === 'true' || lower === 'false';
678
577
  }
679
-
680
- function looksLikeNumber(value: string): boolean {
578
+ function looksLikeNumber(value) {
681
579
  // Quote values that look like bare numbers (would be parsed as numbers by YAML)
682
580
  // This includes scientific notation like "1e-12", "1.0e-7"
683
581
  // But NOT version strings like "v1" or "1.0" that are meant to be strings
684
582
  return /^-?(?:\d+\.\d*|\d*\.\d+|\d+)(?:[eE][+-]?\d+)?$/.test(value);
685
583
  }
686
-
687
- function spaces(count: number): string {
584
+ function spaces(count) {
688
585
  return ' '.repeat(count);
689
586
  }
587
+ //# sourceMappingURL=serializer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../../src/formats/interchange/serializer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { ComponentKind, Point } from '../../model/types';
2
+ export declare const LTSPICE_COORD_SCALE = 0.5;
3
+ export type LtspiceTerminalDef = Readonly<{
4
+ name: string;
5
+ local: Point;
6
+ }>;
7
+ export type LtspiceSymbolDef = Readonly<{
8
+ symbolName: string;
9
+ kind: ComponentKind;
10
+ terminals: readonly LtspiceTerminalDef[];
11
+ valueProperty: string | null;
12
+ modelFromValue: boolean;
13
+ modelFromSymbolPath?: boolean;
14
+ }>;
15
+ export declare function normalizeLtspiceSymbolName(symbolName: string): string;
16
+ export declare function extractModelFromSymbolPath(symbolName: string): string;
17
+ export declare function lookupLtspiceSymbolDef(symbolName: string): LtspiceSymbolDef | undefined;
18
+ export declare function mapLtspiceTerminal(local: Point, placement: Point, orientation: string): Point;
19
+ //# sourceMappingURL=catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/formats/ltspice/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAU9D,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC,CAAC;AAE1E,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACzC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,OAAO,CAAC;IAKxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC,CAAC;AAsFH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAIrE;AAID,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAIrE;AAOD,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CASvF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,GAAG,KAAK,CAyB7F"}