@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.
- package/dist/editor/commands.d.ts +48 -0
- package/dist/editor/commands.d.ts.map +1 -0
- package/{src/editor/commands.ts → dist/editor/commands.js} +44 -91
- package/dist/editor/commands.js.map +1 -0
- package/dist/editor/factory.d.ts +10 -0
- package/dist/editor/factory.d.ts.map +1 -0
- package/{src/editor/factory.ts → dist/editor/factory.js} +11 -27
- package/dist/editor/factory.js.map +1 -0
- package/dist/editor/history.d.ts +29 -0
- package/dist/editor/history.d.ts.map +1 -0
- package/{src/editor/history.ts → dist/editor/history.js} +12 -42
- package/dist/editor/history.js.map +1 -0
- package/{src/editor/index.ts → dist/editor/index.d.ts} +1 -3
- package/dist/editor/index.d.ts.map +1 -0
- package/dist/editor/index.js +5 -0
- package/dist/editor/index.js.map +1 -0
- package/dist/editor/layout.d.ts +8 -0
- package/dist/editor/layout.d.ts.map +1 -0
- package/{src/editor/layout.ts → dist/editor/layout.js} +36 -90
- package/dist/editor/layout.js.map +1 -0
- package/dist/formats/circuit-json/serializer.d.ts +101 -0
- package/dist/formats/circuit-json/serializer.d.ts.map +1 -0
- package/{src/formats/circuit-json/serializer.ts → dist/formats/circuit-json/serializer.js} +352 -418
- package/dist/formats/circuit-json/serializer.js.map +1 -0
- package/dist/formats/document.d.ts +64 -0
- package/dist/formats/document.d.ts.map +1 -0
- package/{src/formats/document.ts → dist/formats/document.js} +43 -159
- package/dist/formats/document.js.map +1 -0
- package/dist/formats/interchange/parser.d.ts +3 -0
- package/dist/formats/interchange/parser.d.ts.map +1 -0
- package/{src/formats/interchange/parser.ts → dist/formats/interchange/parser.js} +157 -463
- package/dist/formats/interchange/parser.js.map +1 -0
- package/dist/formats/interchange/serializer.d.ts +9 -0
- package/dist/formats/interchange/serializer.d.ts.map +1 -0
- package/{src/formats/interchange/serializer.ts → dist/formats/interchange/serializer.js} +84 -186
- package/dist/formats/interchange/serializer.js.map +1 -0
- package/dist/formats/ltspice/catalog.d.ts +19 -0
- package/dist/formats/ltspice/catalog.d.ts.map +1 -0
- package/{src/formats/ltspice/catalog.ts → dist/formats/ltspice/catalog.js} +18 -52
- package/dist/formats/ltspice/catalog.js.map +1 -0
- package/dist/formats/ltspice/encoding.d.ts +2 -0
- package/dist/formats/ltspice/encoding.d.ts.map +1 -0
- package/{src/formats/ltspice/encoding.ts → dist/formats/ltspice/encoding.js} +17 -41
- package/dist/formats/ltspice/encoding.js.map +1 -0
- package/dist/formats/ltspice/parser.d.ts +3 -0
- package/dist/formats/ltspice/parser.d.ts.map +1 -0
- package/{src/formats/ltspice/parser.ts → dist/formats/ltspice/parser.js} +39 -141
- package/dist/formats/ltspice/parser.js.map +1 -0
- package/dist/formats/ltspice/serializer.d.ts +7 -0
- package/dist/formats/ltspice/serializer.d.ts.map +1 -0
- package/{src/formats/ltspice/serializer.ts → dist/formats/ltspice/serializer.js} +18 -45
- package/dist/formats/ltspice/serializer.js.map +1 -0
- package/dist/formats/schx/catalog.d.ts +19 -0
- package/dist/formats/schx/catalog.d.ts.map +1 -0
- package/{src/formats/schx/catalog.ts → dist/formats/schx/catalog.js} +48 -101
- package/dist/formats/schx/catalog.js.map +1 -0
- package/dist/formats/schx/parser.d.ts +3 -0
- package/dist/formats/schx/parser.d.ts.map +1 -0
- package/{src/formats/schx/parser.ts → dist/formats/schx/parser.js} +31 -86
- package/dist/formats/schx/parser.js.map +1 -0
- package/dist/formats/schx/runtime-descriptors.d.ts +3 -0
- package/dist/formats/schx/runtime-descriptors.d.ts.map +1 -0
- package/{src/formats/schx/runtime-descriptors.ts → dist/formats/schx/runtime-descriptors.js} +36 -123
- package/dist/formats/schx/runtime-descriptors.js.map +1 -0
- package/dist/formats/schx/serializer.d.ts +5 -0
- package/dist/formats/schx/serializer.d.ts.map +1 -0
- package/{src/formats/schx/serializer.ts → dist/formats/schx/serializer.js} +17 -42
- package/dist/formats/schx/serializer.js.map +1 -0
- package/dist/formats/schx/transforms.d.ts +4 -0
- package/dist/formats/schx/transforms.d.ts.map +1 -0
- package/{src/formats/schx/transforms.ts → dist/formats/schx/transforms.js} +6 -10
- package/dist/formats/schx/transforms.js.map +1 -0
- package/dist/formats/spice/parser.d.ts +3 -0
- package/dist/formats/spice/parser.d.ts.map +1 -0
- package/{src/formats/spice/parser.ts → dist/formats/spice/parser.js} +50 -96
- package/dist/formats/spice/parser.js.map +1 -0
- package/dist/formats/spice/serializer.d.ts +3 -0
- package/dist/formats/spice/serializer.d.ts.map +1 -0
- package/{src/formats/spice/serializer.ts → dist/formats/spice/serializer.js} +20 -16
- package/dist/formats/spice/serializer.js.map +1 -0
- package/dist/index.d.ts +47 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -0
- package/dist/model/connectivity.d.ts +16 -0
- package/dist/model/connectivity.d.ts.map +1 -0
- package/{src/model/connectivity.ts → dist/model/connectivity.js} +28 -63
- package/dist/model/connectivity.js.map +1 -0
- package/dist/model/netlist.d.ts +24 -0
- package/dist/model/netlist.d.ts.map +1 -0
- package/{src/model/netlist.ts → dist/model/netlist.js} +42 -110
- package/dist/model/netlist.js.map +1 -0
- package/dist/model/properties.d.ts +9 -0
- package/dist/model/properties.d.ts.map +1 -0
- package/{src/model/properties.ts → dist/model/properties.js} +10 -18
- package/dist/model/properties.js.map +1 -0
- package/dist/model/quantity.d.ts +3 -0
- package/dist/model/quantity.d.ts.map +1 -0
- package/{src/model/quantity.ts → dist/model/quantity.js} +7 -30
- package/dist/model/quantity.js.map +1 -0
- package/{src/model/types.ts → dist/model/types.d.ts} +17 -196
- package/dist/model/types.d.ts.map +1 -0
- package/dist/model/types.js +10 -0
- package/dist/model/types.js.map +1 -0
- package/dist/model/validation.d.ts +32 -0
- package/dist/model/validation.d.ts.map +1 -0
- package/{src/model/validation.ts → dist/model/validation.js} +172 -653
- package/dist/model/validation.js.map +1 -0
- package/dist/model/wires.d.ts +3 -0
- package/dist/model/wires.d.ts.map +1 -0
- package/{src/model/wires.ts → dist/model/wires.js} +10 -16
- package/dist/model/wires.js.map +1 -0
- package/dist/panel/extract.d.ts +5 -0
- package/dist/panel/extract.d.ts.map +1 -0
- package/{src/panel/extract.ts → dist/panel/extract.js} +146 -235
- package/dist/panel/extract.js.map +1 -0
- package/dist/panel/index.d.ts +6 -0
- package/dist/panel/index.d.ts.map +1 -0
- package/dist/panel/index.js +5 -0
- package/dist/panel/index.js.map +1 -0
- package/dist/panel/knobs.d.ts +7 -0
- package/dist/panel/knobs.d.ts.map +1 -0
- package/{src/panel/knobs.ts → dist/panel/knobs.js} +7 -18
- package/dist/panel/knobs.js.map +1 -0
- package/dist/panel/protocol.d.ts +9 -0
- package/dist/panel/protocol.d.ts.map +1 -0
- package/{src/panel/protocol.ts → dist/panel/protocol.js} +10 -26
- package/dist/panel/protocol.js.map +1 -0
- package/{src/panel/types.ts → dist/panel/types.d.ts} +50 -89
- package/dist/panel/types.d.ts.map +1 -0
- package/dist/panel/types.js +2 -0
- package/dist/panel/types.js.map +1 -0
- package/dist/preview/bounds.d.ts +12 -0
- package/dist/preview/bounds.d.ts.map +1 -0
- package/{src/preview/bounds.ts → dist/preview/bounds.js} +15 -29
- package/dist/preview/bounds.js.map +1 -0
- package/dist/preview/box-layout.d.ts +4 -0
- package/dist/preview/box-layout.d.ts.map +1 -0
- package/{src/preview/box-layout.ts → dist/preview/box-layout.js} +2 -6
- package/dist/preview/box-layout.js.map +1 -0
- package/dist/preview/colors.d.ts +3 -0
- package/dist/preview/colors.d.ts.map +1 -0
- package/{src/preview/colors.ts → dist/preview/colors.js} +3 -5
- package/dist/preview/colors.js.map +1 -0
- package/dist/preview/hanging.d.ts +8 -0
- package/dist/preview/hanging.d.ts.map +1 -0
- package/{src/preview/hanging.ts → dist/preview/hanging.js} +9 -28
- package/dist/preview/hanging.js.map +1 -0
- package/dist/preview/junctions.d.ts +3 -0
- package/dist/preview/junctions.d.ts.map +1 -0
- package/{src/preview/junctions.ts → dist/preview/junctions.js} +9 -24
- package/dist/preview/junctions.js.map +1 -0
- package/dist/preview/label-layout.d.ts +12 -0
- package/dist/preview/label-layout.d.ts.map +1 -0
- package/{src/preview/label-layout.ts → dist/preview/label-layout.js} +15 -36
- package/dist/preview/label-layout.js.map +1 -0
- package/dist/preview/ports.d.ts +17 -0
- package/dist/preview/ports.d.ts.map +1 -0
- package/{src/preview/ports.ts → dist/preview/ports.js} +10 -37
- package/dist/preview/ports.js.map +1 -0
- package/dist/preview/renderable-wires.d.ts +3 -0
- package/dist/preview/renderable-wires.d.ts.map +1 -0
- package/{src/preview/renderable-wires.ts → dist/preview/renderable-wires.js} +12 -29
- package/dist/preview/renderable-wires.js.map +1 -0
- package/dist/preview/routing.d.ts +4 -0
- package/dist/preview/routing.d.ts.map +1 -0
- package/dist/preview/routing.js +13 -0
- package/dist/preview/routing.js.map +1 -0
- package/dist/preview/snap.d.ts +9 -0
- package/dist/preview/snap.d.ts.map +1 -0
- package/{src/preview/snap.ts → dist/preview/snap.js} +9 -31
- package/dist/preview/snap.js.map +1 -0
- package/dist/preview/symbols/svg-content.d.ts +7 -0
- package/dist/preview/symbols/svg-content.d.ts.map +1 -0
- package/{src/preview/symbols/svg-content.ts → dist/preview/symbols/svg-content.js} +3 -6
- package/dist/preview/symbols/svg-content.js.map +1 -0
- package/dist/preview/symbols.d.ts +7 -0
- package/dist/preview/symbols.d.ts.map +1 -0
- package/{src/preview/symbols.ts → dist/preview/symbols.js} +18 -43
- package/dist/preview/symbols.js.map +1 -0
- package/dist/preview/wire-chains.d.ts +4 -0
- package/dist/preview/wire-chains.d.ts.map +1 -0
- package/{src/preview/wire-chains.ts → dist/preview/wire-chains.js} +37 -37
- package/dist/preview/wire-chains.js.map +1 -0
- package/package.json +3 -3
- package/src/index.ts +0 -255
- package/src/panel/index.ts +0 -39
- package/src/preview/routing.ts +0 -15
- package/src/preview/symbols/analog-switch.svg +0 -17
- package/src/preview/symbols/battery.svg +0 -16
- package/src/preview/symbols/bbd.svg +0 -21
- package/src/preview/symbols/bjt-npn.svg +0 -16
- package/src/preview/symbols/bjt-pnp.svg +0 -17
- package/src/preview/symbols/capacitor-electrolytic.svg +0 -13
- package/src/preview/symbols/capacitor.svg +0 -12
- package/src/preview/symbols/current-source.svg +0 -14
- package/src/preview/symbols/delay-ic.svg +0 -22
- package/src/preview/symbols/diode-schottky.svg +0 -12
- package/src/preview/symbols/diode-zener.svg +0 -12
- package/src/preview/symbols/diode.svg +0 -13
- package/src/preview/symbols/flipflop.svg +0 -20
- package/src/preview/symbols/ground.svg +0 -12
- package/src/preview/symbols/ic-block.svg +0 -20
- package/src/preview/symbols/ic.svg +0 -19
- package/src/preview/symbols/inductor.svg +0 -11
- package/src/preview/symbols/jack-input.svg +0 -16
- package/src/preview/symbols/jack-output.svg +0 -16
- package/src/preview/symbols/jfet-junction-n.svg +0 -17
- package/src/preview/symbols/jfet-n.svg +0 -17
- package/src/preview/symbols/jfet-p.svg +0 -17
- package/src/preview/symbols/label.svg +0 -8
- package/src/preview/symbols/led.svg +0 -18
- package/src/preview/symbols/mosfet-n.svg +0 -21
- package/src/preview/symbols/mosfet-p.svg +0 -21
- package/src/preview/symbols/named-wire.svg +0 -11
- package/src/preview/symbols/opamp.svg +0 -21
- package/src/preview/symbols/optocoupler.svg +0 -30
- package/src/preview/symbols/ota.svg +0 -20
- package/src/preview/symbols/pentode.svg +0 -25
- package/src/preview/symbols/photoresistor.svg +0 -19
- package/src/preview/symbols/port.svg +0 -8
- package/src/preview/symbols/potentiometer.svg +0 -15
- package/src/preview/symbols/power-amp.svg +0 -20
- package/src/preview/symbols/rail.svg +0 -11
- package/src/preview/symbols/regulator.svg +0 -13
- package/src/preview/symbols/relay.svg +0 -20
- package/src/preview/symbols/resistor.svg +0 -11
- package/src/preview/symbols/switch-3pdt.svg +0 -32
- package/src/preview/symbols/switch-rotary.svg +0 -23
- package/src/preview/symbols/switch-spdt.svg +0 -16
- package/src/preview/symbols/switch-spst.svg +0 -14
- package/src/preview/symbols/switch-toggle.svg +0 -14
- package/src/preview/symbols/transformer.svg +0 -17
- package/src/preview/symbols/triode.svg +0 -17
- package/src/preview/symbols/tube-diode.svg +0 -13
- package/src/preview/symbols/unsupported.svg +0 -8
- package/src/preview/symbols/variable-resistor.svg +0 -13
- package/src/preview/symbols/voltage-source.svg +0 -15
|
@@ -1,56 +1,9 @@
|
|
|
1
|
-
import { getPinNode, resolveConnectivity
|
|
2
|
-
import { isParsedQuantity, isPropertyObject } from '../../model/properties';
|
|
3
|
-
|
|
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
|
|
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
|
-
|
|
128
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
}
|
|
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
|
-
}
|
|
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"}
|