@tscircuit/props 0.0.579 → 0.0.581
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -12
- package/dist/index.d.ts +548 -325
- package/dist/index.js +1059 -1002
- package/dist/index.js.map +1 -1
- package/lib/assembly/device.ts +15 -0
- package/lib/assembly/index.ts +7 -0
- package/lib/common/commonShape.ts +50 -0
- package/lib/enclosure/cutout-aperture.ts +63 -0
- package/lib/enclosure/index.ts +4 -1
- package/lib/index.ts +2 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -25,10 +25,58 @@ var calcString = z2.string().regex(/^calc\(.*\)$/);
|
|
|
25
25
|
var distance = baseDistance;
|
|
26
26
|
var pcbCoordinate = calcString.or(baseDistance);
|
|
27
27
|
|
|
28
|
-
// lib/
|
|
28
|
+
// lib/common/commonShape.ts
|
|
29
29
|
import { z as z3 } from "zod";
|
|
30
|
-
var
|
|
31
|
-
|
|
30
|
+
var pillShapeProps = z3.object({
|
|
31
|
+
shape: z3.literal("pill"),
|
|
32
|
+
width: distance,
|
|
33
|
+
height: distance
|
|
34
|
+
});
|
|
35
|
+
var rectShapeProps = z3.object({
|
|
36
|
+
shape: z3.literal("rect"),
|
|
37
|
+
width: distance,
|
|
38
|
+
height: distance
|
|
39
|
+
});
|
|
40
|
+
var circleShapeProps = z3.object({
|
|
41
|
+
shape: z3.literal("circle"),
|
|
42
|
+
radius: distance
|
|
43
|
+
});
|
|
44
|
+
var commonShapeProps = z3.discriminatedUnion("shape", [
|
|
45
|
+
pillShapeProps,
|
|
46
|
+
rectShapeProps,
|
|
47
|
+
circleShapeProps
|
|
48
|
+
]);
|
|
49
|
+
expectTypesMatch(true);
|
|
50
|
+
|
|
51
|
+
// lib/assembly/device.ts
|
|
52
|
+
import { z as z4 } from "zod";
|
|
53
|
+
var assemblyDeviceProps = z4.object({
|
|
54
|
+
name: z4.string().optional()
|
|
55
|
+
});
|
|
56
|
+
expectTypesMatch(true);
|
|
57
|
+
|
|
58
|
+
// lib/assembly/index.ts
|
|
59
|
+
var assemblyProps = {
|
|
60
|
+
device: assemblyDeviceProps
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
// lib/enclosure/cutout-aperture.ts
|
|
64
|
+
import { z as z5 } from "zod";
|
|
65
|
+
var enclosureCutoutApertureShapes = ["pill", "rect", "circle"];
|
|
66
|
+
var apertureOnlyProps = {
|
|
67
|
+
margin: distance.optional()
|
|
68
|
+
};
|
|
69
|
+
var enclosureCutoutApertureProps = z5.discriminatedUnion("shape", [
|
|
70
|
+
pillShapeProps.extend(apertureOnlyProps),
|
|
71
|
+
rectShapeProps.extend(apertureOnlyProps),
|
|
72
|
+
circleShapeProps.extend(apertureOnlyProps)
|
|
73
|
+
]);
|
|
74
|
+
expectTypesMatch(true);
|
|
75
|
+
|
|
76
|
+
// lib/enclosure/fdm/box.ts
|
|
77
|
+
import { z as z6 } from "zod";
|
|
78
|
+
var enclosureFdmBoxProps = z6.object({
|
|
79
|
+
boardRef: z6.string().min(1),
|
|
32
80
|
width: distance.optional(),
|
|
33
81
|
height: distance.optional(),
|
|
34
82
|
depth: distance.optional(),
|
|
@@ -38,14 +86,15 @@ expectTypesMatch(true);
|
|
|
38
86
|
|
|
39
87
|
// lib/enclosure/index.ts
|
|
40
88
|
var enclosureProps = {
|
|
89
|
+
cutoutaperture: enclosureCutoutApertureProps,
|
|
41
90
|
fdm: {
|
|
42
|
-
|
|
91
|
+
box: enclosureFdmBoxProps
|
|
43
92
|
}
|
|
44
93
|
};
|
|
45
94
|
|
|
46
95
|
// lib/common/portHints.ts
|
|
47
|
-
import { z as
|
|
48
|
-
var portHints =
|
|
96
|
+
import { z as z7 } from "zod";
|
|
97
|
+
var portHints = z7.array(z7.string().or(z7.number()));
|
|
49
98
|
expectTypesMatch(true);
|
|
50
99
|
|
|
51
100
|
// lib/common/layout.ts
|
|
@@ -55,34 +104,34 @@ import {
|
|
|
55
104
|
rotation as rotation2,
|
|
56
105
|
supplier_name
|
|
57
106
|
} from "circuit-json";
|
|
58
|
-
import { z as
|
|
107
|
+
import { z as z20 } from "zod";
|
|
59
108
|
|
|
60
109
|
// lib/common/cadModel.ts
|
|
61
|
-
import { z as
|
|
110
|
+
import { z as z10 } from "zod";
|
|
62
111
|
|
|
63
112
|
// lib/common/point3.ts
|
|
64
113
|
import { distance as distance2 } from "circuit-json";
|
|
65
|
-
import { z as
|
|
66
|
-
var point3 =
|
|
114
|
+
import { z as z8 } from "zod";
|
|
115
|
+
var point3 = z8.object({
|
|
67
116
|
x: distance2,
|
|
68
117
|
y: distance2,
|
|
69
118
|
z: distance2
|
|
70
119
|
});
|
|
71
120
|
|
|
72
121
|
// lib/common/url.ts
|
|
73
|
-
import { z as
|
|
74
|
-
var url =
|
|
122
|
+
import { z as z9 } from "zod";
|
|
123
|
+
var url = z9.preprocess((value) => {
|
|
75
124
|
if (value && typeof value === "object" && "default" in value) {
|
|
76
125
|
return value.default;
|
|
77
126
|
}
|
|
78
127
|
return value;
|
|
79
|
-
},
|
|
128
|
+
}, z9.string());
|
|
80
129
|
|
|
81
130
|
// lib/common/cadModel.ts
|
|
82
|
-
var rotationPoint3 =
|
|
83
|
-
x:
|
|
84
|
-
y:
|
|
85
|
-
z:
|
|
131
|
+
var rotationPoint3 = z10.object({
|
|
132
|
+
x: z10.union([z10.number(), z10.string()]),
|
|
133
|
+
y: z10.union([z10.number(), z10.string()]),
|
|
134
|
+
z: z10.union([z10.number(), z10.string()])
|
|
86
135
|
});
|
|
87
136
|
var cadModelAxisDirections = [
|
|
88
137
|
"x+",
|
|
@@ -92,17 +141,17 @@ var cadModelAxisDirections = [
|
|
|
92
141
|
"z+",
|
|
93
142
|
"z-"
|
|
94
143
|
];
|
|
95
|
-
var cadModelAxisDirection =
|
|
96
|
-
var cadModelBase =
|
|
97
|
-
rotationOffset:
|
|
144
|
+
var cadModelAxisDirection = z10.enum(cadModelAxisDirections);
|
|
145
|
+
var cadModelBase = z10.object({
|
|
146
|
+
rotationOffset: z10.number().or(rotationPoint3).optional(),
|
|
98
147
|
positionOffset: point3.optional(),
|
|
99
148
|
modelOriginPosition: point3.optional(),
|
|
100
149
|
size: point3.optional(),
|
|
101
150
|
modelUnitToMmScale: distance.optional(),
|
|
102
151
|
modelBoardNormalDirection: cadModelAxisDirection.optional(),
|
|
103
|
-
pcbRotationOffset:
|
|
152
|
+
pcbRotationOffset: z10.number().optional(),
|
|
104
153
|
zOffsetFromSurface: distance.optional(),
|
|
105
|
-
showAsTranslucentModel:
|
|
154
|
+
showAsTranslucentModel: z10.boolean().optional(),
|
|
106
155
|
stepUrl: url.optional()
|
|
107
156
|
});
|
|
108
157
|
expectTypesMatch(true);
|
|
@@ -126,12 +175,12 @@ var cadModelWrl = cadModelBase.extend({
|
|
|
126
175
|
wrlUrl: url
|
|
127
176
|
});
|
|
128
177
|
var cadModelJscad = cadModelBase.extend({
|
|
129
|
-
jscad:
|
|
178
|
+
jscad: z10.record(z10.any())
|
|
130
179
|
});
|
|
131
|
-
var cadModelProp =
|
|
132
|
-
|
|
180
|
+
var cadModelProp = z10.union([
|
|
181
|
+
z10.null(),
|
|
133
182
|
url,
|
|
134
|
-
|
|
183
|
+
z10.custom((v) => {
|
|
135
184
|
return v && typeof v === "object" && "type" in v && "props" in v;
|
|
136
185
|
}),
|
|
137
186
|
cadModelStl,
|
|
@@ -145,17 +194,17 @@ var cadModelProp = z7.union([
|
|
|
145
194
|
expectTypesMatch(true);
|
|
146
195
|
|
|
147
196
|
// lib/common/footprintProp.ts
|
|
148
|
-
import { z as
|
|
149
|
-
var footprintProp =
|
|
197
|
+
import { z as z11 } from "zod";
|
|
198
|
+
var footprintProp = z11.custom((v) => true);
|
|
150
199
|
|
|
151
200
|
// lib/common/kicadFootprintMetadata.ts
|
|
152
201
|
import { distance as distance4, rotation } from "circuit-json";
|
|
153
|
-
import { z as
|
|
202
|
+
import { z as z13 } from "zod";
|
|
154
203
|
|
|
155
204
|
// lib/common/point.ts
|
|
156
205
|
import { distance as distance3 } from "circuit-json";
|
|
157
|
-
import { z as
|
|
158
|
-
var point =
|
|
206
|
+
import { z as z12 } from "zod";
|
|
207
|
+
var point = z12.object({
|
|
159
208
|
x: distance3,
|
|
160
209
|
y: distance3
|
|
161
210
|
});
|
|
@@ -165,25 +214,25 @@ var kicadAt = point.extend({
|
|
|
165
214
|
rotation: rotation.optional()
|
|
166
215
|
});
|
|
167
216
|
expectTypesMatch(true);
|
|
168
|
-
var kicadFont =
|
|
217
|
+
var kicadFont = z13.object({
|
|
169
218
|
size: point.optional(),
|
|
170
219
|
thickness: distance4.optional()
|
|
171
220
|
});
|
|
172
221
|
expectTypesMatch(true);
|
|
173
|
-
var kicadEffects =
|
|
222
|
+
var kicadEffects = z13.object({
|
|
174
223
|
font: kicadFont.optional()
|
|
175
224
|
});
|
|
176
225
|
expectTypesMatch(true);
|
|
177
|
-
var kicadProperty =
|
|
178
|
-
value:
|
|
226
|
+
var kicadProperty = z13.object({
|
|
227
|
+
value: z13.string(),
|
|
179
228
|
at: kicadAt.optional(),
|
|
180
|
-
layer:
|
|
181
|
-
uuid:
|
|
182
|
-
hide:
|
|
229
|
+
layer: z13.string().optional(),
|
|
230
|
+
uuid: z13.string().optional(),
|
|
231
|
+
hide: z13.boolean().optional(),
|
|
183
232
|
effects: kicadEffects.optional()
|
|
184
233
|
});
|
|
185
234
|
expectTypesMatch(true);
|
|
186
|
-
var kicadFootprintProperties =
|
|
235
|
+
var kicadFootprintProperties = z13.object({
|
|
187
236
|
Reference: kicadProperty.optional(),
|
|
188
237
|
Value: kicadProperty.optional(),
|
|
189
238
|
Datasheet: kicadProperty.optional(),
|
|
@@ -192,74 +241,74 @@ var kicadFootprintProperties = z10.object({
|
|
|
192
241
|
expectTypesMatch(
|
|
193
242
|
true
|
|
194
243
|
);
|
|
195
|
-
var kicadFootprintAttributes =
|
|
196
|
-
through_hole:
|
|
197
|
-
smd:
|
|
198
|
-
exclude_from_pos_files:
|
|
199
|
-
exclude_from_bom:
|
|
244
|
+
var kicadFootprintAttributes = z13.object({
|
|
245
|
+
through_hole: z13.boolean().optional(),
|
|
246
|
+
smd: z13.boolean().optional(),
|
|
247
|
+
exclude_from_pos_files: z13.boolean().optional(),
|
|
248
|
+
exclude_from_bom: z13.boolean().optional()
|
|
200
249
|
});
|
|
201
250
|
expectTypesMatch(
|
|
202
251
|
true
|
|
203
252
|
);
|
|
204
|
-
var kicadFootprintPad =
|
|
205
|
-
name:
|
|
206
|
-
type:
|
|
207
|
-
shape:
|
|
253
|
+
var kicadFootprintPad = z13.object({
|
|
254
|
+
name: z13.string(),
|
|
255
|
+
type: z13.string(),
|
|
256
|
+
shape: z13.string().optional(),
|
|
208
257
|
at: kicadAt.optional(),
|
|
209
258
|
size: point.optional(),
|
|
210
259
|
drill: distance4.optional(),
|
|
211
|
-
layers:
|
|
212
|
-
removeUnusedLayers:
|
|
213
|
-
uuid:
|
|
260
|
+
layers: z13.array(z13.string()).optional(),
|
|
261
|
+
removeUnusedLayers: z13.boolean().optional(),
|
|
262
|
+
uuid: z13.string().optional()
|
|
214
263
|
});
|
|
215
264
|
expectTypesMatch(true);
|
|
216
|
-
var kicadFootprintModel =
|
|
217
|
-
path:
|
|
265
|
+
var kicadFootprintModel = z13.object({
|
|
266
|
+
path: z13.string(),
|
|
218
267
|
offset: point3.optional(),
|
|
219
268
|
scale: point3.optional(),
|
|
220
269
|
rotate: point3.optional()
|
|
221
270
|
});
|
|
222
271
|
expectTypesMatch(true);
|
|
223
|
-
var kicadFootprintMetadata =
|
|
224
|
-
footprintName:
|
|
225
|
-
version:
|
|
226
|
-
generator:
|
|
227
|
-
generatorVersion:
|
|
228
|
-
layer:
|
|
272
|
+
var kicadFootprintMetadata = z13.object({
|
|
273
|
+
footprintName: z13.string().optional(),
|
|
274
|
+
version: z13.union([z13.number(), z13.string()]).optional(),
|
|
275
|
+
generator: z13.string().optional(),
|
|
276
|
+
generatorVersion: z13.union([z13.number(), z13.string()]).optional(),
|
|
277
|
+
layer: z13.string().optional(),
|
|
229
278
|
properties: kicadFootprintProperties.optional(),
|
|
230
279
|
attributes: kicadFootprintAttributes.optional(),
|
|
231
|
-
pads:
|
|
232
|
-
embeddedFonts:
|
|
280
|
+
pads: z13.array(kicadFootprintPad).optional(),
|
|
281
|
+
embeddedFonts: z13.boolean().optional(),
|
|
233
282
|
model: kicadFootprintModel.optional()
|
|
234
283
|
});
|
|
235
284
|
expectTypesMatch(true);
|
|
236
285
|
|
|
237
286
|
// lib/common/kicadSymbolMetadata.ts
|
|
238
287
|
import { distance as distance5 } from "circuit-json";
|
|
239
|
-
import { z as
|
|
240
|
-
var kicadSymbolPinNumbers =
|
|
241
|
-
hide:
|
|
288
|
+
import { z as z14 } from "zod";
|
|
289
|
+
var kicadSymbolPinNumbers = z14.object({
|
|
290
|
+
hide: z14.boolean().optional()
|
|
242
291
|
});
|
|
243
292
|
expectTypesMatch(true);
|
|
244
|
-
var kicadSymbolPinNames =
|
|
293
|
+
var kicadSymbolPinNames = z14.object({
|
|
245
294
|
offset: distance5.optional(),
|
|
246
|
-
hide:
|
|
295
|
+
hide: z14.boolean().optional()
|
|
247
296
|
});
|
|
248
297
|
expectTypesMatch(true);
|
|
249
|
-
var kicadSymbolEffects =
|
|
298
|
+
var kicadSymbolEffects = z14.object({
|
|
250
299
|
font: kicadFont.optional(),
|
|
251
|
-
justify:
|
|
252
|
-
hide:
|
|
300
|
+
justify: z14.union([z14.string(), z14.array(z14.string())]).optional(),
|
|
301
|
+
hide: z14.boolean().optional()
|
|
253
302
|
});
|
|
254
303
|
expectTypesMatch(true);
|
|
255
|
-
var kicadSymbolProperty =
|
|
256
|
-
value:
|
|
257
|
-
id:
|
|
304
|
+
var kicadSymbolProperty = z14.object({
|
|
305
|
+
value: z14.string(),
|
|
306
|
+
id: z14.union([z14.number(), z14.string()]).optional(),
|
|
258
307
|
at: kicadAt.optional(),
|
|
259
308
|
effects: kicadSymbolEffects.optional()
|
|
260
309
|
});
|
|
261
310
|
expectTypesMatch(true);
|
|
262
|
-
var kicadSymbolProperties =
|
|
311
|
+
var kicadSymbolProperties = z14.object({
|
|
263
312
|
Reference: kicadSymbolProperty.optional(),
|
|
264
313
|
Value: kicadSymbolProperty.optional(),
|
|
265
314
|
Footprint: kicadSymbolProperty.optional(),
|
|
@@ -269,55 +318,55 @@ var kicadSymbolProperties = z11.object({
|
|
|
269
318
|
ki_fp_filters: kicadSymbolProperty.optional()
|
|
270
319
|
});
|
|
271
320
|
expectTypesMatch(true);
|
|
272
|
-
var kicadSymbolMetadata =
|
|
273
|
-
symbolName:
|
|
274
|
-
extends:
|
|
321
|
+
var kicadSymbolMetadata = z14.object({
|
|
322
|
+
symbolName: z14.string().optional(),
|
|
323
|
+
extends: z14.string().optional(),
|
|
275
324
|
pinNumbers: kicadSymbolPinNumbers.optional(),
|
|
276
325
|
pinNames: kicadSymbolPinNames.optional(),
|
|
277
|
-
excludeFromSim:
|
|
278
|
-
inBom:
|
|
279
|
-
onBoard:
|
|
326
|
+
excludeFromSim: z14.boolean().optional(),
|
|
327
|
+
inBom: z14.boolean().optional(),
|
|
328
|
+
onBoard: z14.boolean().optional(),
|
|
280
329
|
properties: kicadSymbolProperties.optional(),
|
|
281
|
-
embeddedFonts:
|
|
330
|
+
embeddedFonts: z14.boolean().optional()
|
|
282
331
|
});
|
|
283
332
|
expectTypesMatch(true);
|
|
284
333
|
|
|
285
334
|
// lib/common/pcbStyle.ts
|
|
286
335
|
import { distance as distance6 } from "circuit-json";
|
|
287
|
-
import { z as
|
|
288
|
-
var pcbStyle =
|
|
336
|
+
import { z as z15 } from "zod";
|
|
337
|
+
var pcbStyle = z15.object({
|
|
289
338
|
silkscreenFontSize: distance6.optional(),
|
|
290
339
|
viaPadDiameter: distance6.optional(),
|
|
291
340
|
viaHoleDiameter: distance6.optional(),
|
|
292
|
-
silkscreenTextPosition:
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
offsetX:
|
|
296
|
-
offsetY:
|
|
341
|
+
silkscreenTextPosition: z15.union([
|
|
342
|
+
z15.enum(["centered", "outside", "none"]),
|
|
343
|
+
z15.object({
|
|
344
|
+
offsetX: z15.number(),
|
|
345
|
+
offsetY: z15.number()
|
|
297
346
|
})
|
|
298
347
|
]).optional(),
|
|
299
|
-
silkscreenTextVisibility:
|
|
348
|
+
silkscreenTextVisibility: z15.enum(["hidden", "visible", "inherit"]).optional()
|
|
300
349
|
});
|
|
301
350
|
expectTypesMatch(true);
|
|
302
351
|
|
|
303
352
|
// lib/common/pcbSx.ts
|
|
304
353
|
import { length as length2 } from "circuit-json";
|
|
305
|
-
import { z as
|
|
306
|
-
var pcbSxValue =
|
|
354
|
+
import { z as z16 } from "zod";
|
|
355
|
+
var pcbSxValue = z16.object({
|
|
307
356
|
fontSize: length2.optional(),
|
|
308
357
|
pcbX: pcbCoordinate.optional(),
|
|
309
358
|
pcbY: pcbCoordinate.optional(),
|
|
310
|
-
visibility:
|
|
359
|
+
visibility: z16.enum(["hidden", "visible", "inherit"]).optional()
|
|
311
360
|
});
|
|
312
|
-
var pcbSx =
|
|
313
|
-
|
|
361
|
+
var pcbSx = z16.record(
|
|
362
|
+
z16.string(),
|
|
314
363
|
pcbSxValue
|
|
315
364
|
);
|
|
316
365
|
expectTypesMatch(true);
|
|
317
366
|
|
|
318
367
|
// lib/common/pinAttributeMap.ts
|
|
319
|
-
import { z as
|
|
320
|
-
var pinCapability =
|
|
368
|
+
import { z as z17 } from "zod";
|
|
369
|
+
var pinCapability = z17.enum([
|
|
321
370
|
"i2c_sda",
|
|
322
371
|
"i2c_scl",
|
|
323
372
|
"spi_cs",
|
|
@@ -327,51 +376,51 @@ var pinCapability = z14.enum([
|
|
|
327
376
|
"uart_tx",
|
|
328
377
|
"uart_rx"
|
|
329
378
|
]);
|
|
330
|
-
var pinAttributeMap =
|
|
331
|
-
capabilities:
|
|
332
|
-
activeCapabilities:
|
|
379
|
+
var pinAttributeMap = z17.object({
|
|
380
|
+
capabilities: z17.array(pinCapability).optional(),
|
|
381
|
+
activeCapabilities: z17.array(pinCapability).optional(),
|
|
333
382
|
activeCapability: pinCapability.optional(),
|
|
334
|
-
providesPower:
|
|
335
|
-
requiresPower:
|
|
336
|
-
providesGround:
|
|
337
|
-
requiresGround:
|
|
338
|
-
providesVoltage:
|
|
339
|
-
requiresVoltage:
|
|
340
|
-
doNotConnect:
|
|
341
|
-
includeInBoardPinout:
|
|
342
|
-
highlightColor:
|
|
343
|
-
mustBeConnected:
|
|
344
|
-
canUseInternalPullup:
|
|
345
|
-
isUsingInternalPullup:
|
|
346
|
-
needsExternalPullup:
|
|
347
|
-
canUseInternalPulldown:
|
|
348
|
-
isUsingInternalPulldown:
|
|
349
|
-
needsExternalPulldown:
|
|
350
|
-
canUseOpenDrain:
|
|
351
|
-
isUsingOpenDrain:
|
|
352
|
-
canUsePushPull:
|
|
353
|
-
isUsingPushPull:
|
|
354
|
-
shouldHaveDecouplingCapacitor:
|
|
355
|
-
recommendedDecouplingCapacitorCapacitance:
|
|
356
|
-
isGpio:
|
|
383
|
+
providesPower: z17.boolean().optional(),
|
|
384
|
+
requiresPower: z17.boolean().optional(),
|
|
385
|
+
providesGround: z17.boolean().optional(),
|
|
386
|
+
requiresGround: z17.boolean().optional(),
|
|
387
|
+
providesVoltage: z17.union([z17.string(), z17.number()]).optional(),
|
|
388
|
+
requiresVoltage: z17.union([z17.string(), z17.number()]).optional(),
|
|
389
|
+
doNotConnect: z17.boolean().optional(),
|
|
390
|
+
includeInBoardPinout: z17.boolean().optional(),
|
|
391
|
+
highlightColor: z17.string().optional(),
|
|
392
|
+
mustBeConnected: z17.boolean().optional(),
|
|
393
|
+
canUseInternalPullup: z17.boolean().optional(),
|
|
394
|
+
isUsingInternalPullup: z17.boolean().optional(),
|
|
395
|
+
needsExternalPullup: z17.boolean().optional(),
|
|
396
|
+
canUseInternalPulldown: z17.boolean().optional(),
|
|
397
|
+
isUsingInternalPulldown: z17.boolean().optional(),
|
|
398
|
+
needsExternalPulldown: z17.boolean().optional(),
|
|
399
|
+
canUseOpenDrain: z17.boolean().optional(),
|
|
400
|
+
isUsingOpenDrain: z17.boolean().optional(),
|
|
401
|
+
canUsePushPull: z17.boolean().optional(),
|
|
402
|
+
isUsingPushPull: z17.boolean().optional(),
|
|
403
|
+
shouldHaveDecouplingCapacitor: z17.boolean().optional(),
|
|
404
|
+
recommendedDecouplingCapacitorCapacitance: z17.union([z17.string(), z17.number()]).optional(),
|
|
405
|
+
isGpio: z17.boolean().optional()
|
|
357
406
|
});
|
|
358
407
|
expectTypesMatch(true);
|
|
359
408
|
|
|
360
409
|
// lib/common/schStyle.ts
|
|
361
410
|
import { distance as distance7 } from "circuit-json";
|
|
362
|
-
import { z as
|
|
363
|
-
var schStyle =
|
|
364
|
-
defaultPassiveSize:
|
|
365
|
-
defaultCapacitorOrientation:
|
|
411
|
+
import { z as z18 } from "zod";
|
|
412
|
+
var schStyle = z18.object({
|
|
413
|
+
defaultPassiveSize: z18.union([z18.enum(["xs", "sm", "md"]), distance7]).optional(),
|
|
414
|
+
defaultCapacitorOrientation: z18.enum(["vertical", "none"]).optional()
|
|
366
415
|
});
|
|
367
416
|
expectTypesMatch(true);
|
|
368
417
|
|
|
369
418
|
// lib/common/symbolProp.ts
|
|
370
|
-
import { z as
|
|
371
|
-
var symbolProp =
|
|
419
|
+
import { z as z19 } from "zod";
|
|
420
|
+
var symbolProp = z19.custom((v) => true);
|
|
372
421
|
|
|
373
422
|
// lib/common/layout.ts
|
|
374
|
-
var pcbLayoutProps =
|
|
423
|
+
var pcbLayoutProps = z20.object({
|
|
375
424
|
pcbX: pcbCoordinate.optional(),
|
|
376
425
|
pcbY: pcbCoordinate.optional(),
|
|
377
426
|
pcbLeftEdgeX: pcbCoordinate.optional(),
|
|
@@ -381,14 +430,14 @@ var pcbLayoutProps = z17.object({
|
|
|
381
430
|
pcbOffsetX: distance8.optional(),
|
|
382
431
|
pcbOffsetY: distance8.optional(),
|
|
383
432
|
pcbRotation: rotation2.optional(),
|
|
384
|
-
pcbPositionAnchor:
|
|
385
|
-
pcbPositionMode:
|
|
433
|
+
pcbPositionAnchor: z20.string().optional(),
|
|
434
|
+
pcbPositionMode: z20.enum([
|
|
386
435
|
"relative_to_group_anchor",
|
|
387
436
|
"auto",
|
|
388
437
|
"relative_to_board_anchor",
|
|
389
438
|
"relative_to_component_anchor"
|
|
390
439
|
]).optional(),
|
|
391
|
-
shouldBeOnEdgeOfBoard:
|
|
440
|
+
shouldBeOnEdgeOfBoard: z20.boolean().optional(),
|
|
392
441
|
layer: layer_ref.optional(),
|
|
393
442
|
pcbMarginTop: distance8.optional(),
|
|
394
443
|
pcbMarginRight: distance8.optional(),
|
|
@@ -398,11 +447,11 @@ var pcbLayoutProps = z17.object({
|
|
|
398
447
|
pcbMarginY: distance8.optional(),
|
|
399
448
|
pcbStyle: pcbStyle.optional(),
|
|
400
449
|
pcbSx: pcbSx.optional(),
|
|
401
|
-
pcbRelative:
|
|
402
|
-
relative:
|
|
450
|
+
pcbRelative: z20.boolean().optional(),
|
|
451
|
+
relative: z20.boolean().optional()
|
|
403
452
|
});
|
|
404
453
|
expectTypesMatch(true);
|
|
405
|
-
var commonLayoutProps =
|
|
454
|
+
var commonLayoutProps = z20.object({
|
|
406
455
|
pcbX: pcbCoordinate.optional(),
|
|
407
456
|
pcbY: pcbCoordinate.optional(),
|
|
408
457
|
pcbLeftEdgeX: pcbCoordinate.optional(),
|
|
@@ -412,14 +461,14 @@ var commonLayoutProps = z17.object({
|
|
|
412
461
|
pcbOffsetX: distance8.optional(),
|
|
413
462
|
pcbOffsetY: distance8.optional(),
|
|
414
463
|
pcbRotation: rotation2.optional(),
|
|
415
|
-
pcbPositionAnchor:
|
|
416
|
-
pcbPositionMode:
|
|
464
|
+
pcbPositionAnchor: z20.string().optional(),
|
|
465
|
+
pcbPositionMode: z20.enum([
|
|
417
466
|
"relative_to_group_anchor",
|
|
418
467
|
"auto",
|
|
419
468
|
"relative_to_board_anchor",
|
|
420
469
|
"relative_to_component_anchor"
|
|
421
470
|
]).optional(),
|
|
422
|
-
shouldBeOnEdgeOfBoard:
|
|
471
|
+
shouldBeOnEdgeOfBoard: z20.boolean().optional(),
|
|
423
472
|
pcbMarginTop: distance8.optional(),
|
|
424
473
|
pcbMarginRight: distance8.optional(),
|
|
425
474
|
pcbMarginBottom: distance8.optional(),
|
|
@@ -441,44 +490,44 @@ var commonLayoutProps = z17.object({
|
|
|
441
490
|
footprint: footprintProp.optional(),
|
|
442
491
|
symbol: symbolProp.optional(),
|
|
443
492
|
schStyle: schStyle.optional(),
|
|
444
|
-
relative:
|
|
445
|
-
schRelative:
|
|
446
|
-
pcbRelative:
|
|
493
|
+
relative: z20.boolean().optional(),
|
|
494
|
+
schRelative: z20.boolean().optional(),
|
|
495
|
+
pcbRelative: z20.boolean().optional()
|
|
447
496
|
});
|
|
448
497
|
expectTypesMatch(true);
|
|
449
|
-
var supplierProps =
|
|
450
|
-
supplierPartNumbers:
|
|
498
|
+
var supplierProps = z20.object({
|
|
499
|
+
supplierPartNumbers: z20.record(supplier_name, z20.array(z20.string())).optional()
|
|
451
500
|
});
|
|
452
501
|
expectTypesMatch(true);
|
|
453
502
|
var commonComponentProps = commonLayoutProps.merge(supplierProps).extend({
|
|
454
|
-
key:
|
|
455
|
-
name:
|
|
456
|
-
displayName:
|
|
457
|
-
schSectionName:
|
|
503
|
+
key: z20.any().optional(),
|
|
504
|
+
name: z20.string(),
|
|
505
|
+
displayName: z20.string().optional(),
|
|
506
|
+
schSectionName: z20.string().optional().describe(
|
|
458
507
|
'This component will be drawn as part of this section e.g. "Power"'
|
|
459
508
|
),
|
|
460
|
-
schSheetName:
|
|
509
|
+
schSheetName: z20.string().optional().describe(
|
|
461
510
|
'This component will be drawn as part of this sheet e.g. "Main"'
|
|
462
511
|
),
|
|
463
512
|
datasheetUrl: url.optional(),
|
|
464
513
|
cadModel: cadModelProp.optional(),
|
|
465
514
|
kicadFootprintMetadata: kicadFootprintMetadata.optional(),
|
|
466
515
|
kicadSymbolMetadata: kicadSymbolMetadata.optional(),
|
|
467
|
-
children:
|
|
468
|
-
symbolName:
|
|
469
|
-
doNotPlace:
|
|
470
|
-
allowOffBoard:
|
|
516
|
+
children: z20.any().optional(),
|
|
517
|
+
symbolName: z20.string().optional(),
|
|
518
|
+
doNotPlace: z20.boolean().optional(),
|
|
519
|
+
allowOffBoard: z20.boolean().optional().describe(
|
|
471
520
|
"Allows the PCB component to hang off the board (e.g. for USB ports or displays)"
|
|
472
521
|
),
|
|
473
|
-
obstructsWithinBounds:
|
|
522
|
+
obstructsWithinBounds: z20.boolean().optional().describe(
|
|
474
523
|
"Does this component take up all the space within its bounds on a layer. This is generally true except for when separated pin headers are being represented by a single component (in which case, chips can be placed between the pin headers) or for tall modules where chips fit underneath"
|
|
475
524
|
),
|
|
476
|
-
showAsTranslucentModel:
|
|
525
|
+
showAsTranslucentModel: z20.boolean().optional().describe(
|
|
477
526
|
"Whether to show this component's CAD model as translucent in the 3D viewer."
|
|
478
527
|
),
|
|
479
|
-
pinAttributes:
|
|
480
|
-
mfn:
|
|
481
|
-
manufacturerPartNumber:
|
|
528
|
+
pinAttributes: z20.record(z20.string(), pinAttributeMap).optional(),
|
|
529
|
+
mfn: z20.string().describe("Manufacturer Part Number").optional(),
|
|
530
|
+
manufacturerPartNumber: z20.string().optional()
|
|
482
531
|
});
|
|
483
532
|
expectTypesMatch(true);
|
|
484
533
|
var componentProps = commonComponentProps;
|
|
@@ -493,7 +542,7 @@ var lrPolarPins = [
|
|
|
493
542
|
"cathode",
|
|
494
543
|
"neg"
|
|
495
544
|
];
|
|
496
|
-
var distanceOrMultiplier = distance8.or(
|
|
545
|
+
var distanceOrMultiplier = distance8.or(z20.enum(["2x", "3x", "4x"]));
|
|
497
546
|
|
|
498
547
|
// lib/generated/kicad-autocomplete.ts
|
|
499
548
|
var kicadFootprintKeys = [
|
|
@@ -15959,8 +16008,8 @@ var footprinterStringExamples = [
|
|
|
15959
16008
|
];
|
|
15960
16009
|
|
|
15961
16010
|
// lib/common/schematicOrientation.ts
|
|
15962
|
-
import { z as
|
|
15963
|
-
var schematicOrientation =
|
|
16011
|
+
import { z as z21 } from "zod";
|
|
16012
|
+
var schematicOrientation = z21.enum([
|
|
15964
16013
|
"vertical",
|
|
15965
16014
|
"horizontal",
|
|
15966
16015
|
"pos_top",
|
|
@@ -15979,32 +16028,32 @@ expectTypesMatch(
|
|
|
15979
16028
|
);
|
|
15980
16029
|
|
|
15981
16030
|
// lib/common/schematicPinDefinitions.ts
|
|
15982
|
-
import { z as
|
|
15983
|
-
var explicitPinSideDefinition =
|
|
15984
|
-
pins:
|
|
15985
|
-
direction:
|
|
15986
|
-
|
|
15987
|
-
|
|
15988
|
-
|
|
15989
|
-
|
|
16031
|
+
import { z as z22 } from "zod";
|
|
16032
|
+
var explicitPinSideDefinition = z22.object({
|
|
16033
|
+
pins: z22.array(z22.union([z22.number(), z22.string()])),
|
|
16034
|
+
direction: z22.union([
|
|
16035
|
+
z22.literal("top-to-bottom"),
|
|
16036
|
+
z22.literal("left-to-right"),
|
|
16037
|
+
z22.literal("bottom-to-top"),
|
|
16038
|
+
z22.literal("right-to-left")
|
|
15990
16039
|
])
|
|
15991
16040
|
});
|
|
15992
|
-
var pinSideDefinitionInput =
|
|
15993
|
-
var pinSideDefinitionWithDefaultDirection = (direction2) =>
|
|
16041
|
+
var pinSideDefinitionInput = z22.array(z22.union([z22.number(), z22.string()]));
|
|
16042
|
+
var pinSideDefinitionWithDefaultDirection = (direction2) => z22.union([explicitPinSideDefinition, pinSideDefinitionInput]).transform(
|
|
15994
16043
|
(value) => Array.isArray(value) ? {
|
|
15995
16044
|
pins: value,
|
|
15996
16045
|
direction: direction2
|
|
15997
16046
|
} : value
|
|
15998
16047
|
);
|
|
15999
|
-
var schematicPortArrangement =
|
|
16000
|
-
leftSize:
|
|
16001
|
-
topSize:
|
|
16002
|
-
rightSize:
|
|
16003
|
-
bottomSize:
|
|
16004
|
-
leftPinCount:
|
|
16005
|
-
rightPinCount:
|
|
16006
|
-
topPinCount:
|
|
16007
|
-
bottomPinCount:
|
|
16048
|
+
var schematicPortArrangement = z22.object({
|
|
16049
|
+
leftSize: z22.number().optional().describe("@deprecated, use leftPinCount"),
|
|
16050
|
+
topSize: z22.number().optional().describe("@deprecated, use topPinCount"),
|
|
16051
|
+
rightSize: z22.number().optional().describe("@deprecated, use rightPinCount"),
|
|
16052
|
+
bottomSize: z22.number().optional().describe("@deprecated, use bottomPinCount"),
|
|
16053
|
+
leftPinCount: z22.number().optional(),
|
|
16054
|
+
rightPinCount: z22.number().optional(),
|
|
16055
|
+
topPinCount: z22.number().optional(),
|
|
16056
|
+
bottomPinCount: z22.number().optional(),
|
|
16008
16057
|
leftSide: pinSideDefinitionWithDefaultDirection("top-to-bottom").optional(),
|
|
16009
16058
|
rightSide: pinSideDefinitionWithDefaultDirection("top-to-bottom").optional(),
|
|
16010
16059
|
topSide: pinSideDefinitionWithDefaultDirection("left-to-right").optional(),
|
|
@@ -16015,9 +16064,9 @@ expectTypesMatch(true);
|
|
|
16015
16064
|
|
|
16016
16065
|
// lib/common/schematicPinStyle.ts
|
|
16017
16066
|
import { distance as distance9 } from "circuit-json";
|
|
16018
|
-
import { z as
|
|
16019
|
-
var schematicPinStyle =
|
|
16020
|
-
|
|
16067
|
+
import { z as z23 } from "zod";
|
|
16068
|
+
var schematicPinStyle = z23.record(
|
|
16069
|
+
z23.object({
|
|
16021
16070
|
marginLeft: distance9.optional(),
|
|
16022
16071
|
marginRight: distance9.optional(),
|
|
16023
16072
|
marginTop: distance9.optional(),
|
|
@@ -16031,17 +16080,17 @@ var schematicPinStyle = z20.record(
|
|
|
16031
16080
|
expectTypesMatch(true);
|
|
16032
16081
|
|
|
16033
16082
|
// lib/common/schematicPinLabel.ts
|
|
16034
|
-
import { z as
|
|
16035
|
-
var schematicPinLabel =
|
|
16083
|
+
import { z as z24 } from "zod";
|
|
16084
|
+
var schematicPinLabel = z24.string().regex(/^[A-Za-z0-9_]+$/);
|
|
16036
16085
|
|
|
16037
16086
|
// lib/common/schematicSize.ts
|
|
16038
16087
|
import { distance as distance10 } from "circuit-json";
|
|
16039
|
-
import { z as
|
|
16040
|
-
var schematicSymbolSize = distance10.or(
|
|
16088
|
+
import { z as z25 } from "zod";
|
|
16089
|
+
var schematicSymbolSize = distance10.or(z25.enum(["xs", "sm", "default", "md"])).describe("distance between pin1 and pin2 of the schematic symbol");
|
|
16041
16090
|
|
|
16042
16091
|
// lib/common/kicadPinMetadata.ts
|
|
16043
|
-
import { z as
|
|
16044
|
-
var kicadPinElectricalType =
|
|
16092
|
+
import { z as z26 } from "zod";
|
|
16093
|
+
var kicadPinElectricalType = z26.enum([
|
|
16045
16094
|
"input",
|
|
16046
16095
|
"output",
|
|
16047
16096
|
"bidirectional",
|
|
@@ -16055,7 +16104,7 @@ var kicadPinElectricalType = z23.enum([
|
|
|
16055
16104
|
"open_emitter",
|
|
16056
16105
|
"no_connect"
|
|
16057
16106
|
]);
|
|
16058
|
-
var kicadPinGraphicStyle =
|
|
16107
|
+
var kicadPinGraphicStyle = z26.enum([
|
|
16059
16108
|
"line",
|
|
16060
16109
|
"inverted",
|
|
16061
16110
|
"clock",
|
|
@@ -16066,7 +16115,7 @@ var kicadPinGraphicStyle = z23.enum([
|
|
|
16066
16115
|
"falling_edge_clock",
|
|
16067
16116
|
"nonlogic"
|
|
16068
16117
|
]);
|
|
16069
|
-
var kicadPinMetadata =
|
|
16118
|
+
var kicadPinMetadata = z26.object({
|
|
16070
16119
|
electricalType: kicadPinElectricalType.optional(),
|
|
16071
16120
|
graphicStyle: kicadPinGraphicStyle.optional(),
|
|
16072
16121
|
pinLength: distance.optional(),
|
|
@@ -16076,14 +16125,14 @@ var kicadPinMetadata = z23.object({
|
|
|
16076
16125
|
expectTypesMatch(true);
|
|
16077
16126
|
|
|
16078
16127
|
// lib/customDrc.ts
|
|
16079
|
-
import { z as
|
|
16080
|
-
var customDrcCheckFn =
|
|
16128
|
+
import { z as z27 } from "zod";
|
|
16129
|
+
var customDrcCheckFn = z27.custom(
|
|
16081
16130
|
(value) => typeof value === "function"
|
|
16082
16131
|
);
|
|
16083
16132
|
|
|
16084
16133
|
// lib/common/ninePointAnchor.ts
|
|
16085
|
-
import { z as
|
|
16086
|
-
var ninePointAnchor =
|
|
16134
|
+
import { z as z28 } from "zod";
|
|
16135
|
+
var ninePointAnchor = z28.enum([
|
|
16087
16136
|
"top_left",
|
|
16088
16137
|
"top_center",
|
|
16089
16138
|
"top_right",
|
|
@@ -16096,47 +16145,47 @@ var ninePointAnchor = z25.enum([
|
|
|
16096
16145
|
]);
|
|
16097
16146
|
|
|
16098
16147
|
// lib/components/board.ts
|
|
16099
|
-
import { z as
|
|
16148
|
+
import { z as z42 } from "zod";
|
|
16100
16149
|
|
|
16101
16150
|
// lib/components/group.ts
|
|
16102
16151
|
import {
|
|
16103
16152
|
length as length3,
|
|
16104
16153
|
distance as distance11
|
|
16105
16154
|
} from "circuit-json";
|
|
16106
|
-
import { z as
|
|
16155
|
+
import { z as z41 } from "zod";
|
|
16107
16156
|
|
|
16108
16157
|
// lib/manual-edits/manual-edit-events/base_manual_edit_event.ts
|
|
16109
|
-
import { z as
|
|
16110
|
-
var base_manual_edit_event =
|
|
16111
|
-
edit_event_id:
|
|
16112
|
-
in_progress:
|
|
16113
|
-
created_at:
|
|
16158
|
+
import { z as z29 } from "zod";
|
|
16159
|
+
var base_manual_edit_event = z29.object({
|
|
16160
|
+
edit_event_id: z29.string(),
|
|
16161
|
+
in_progress: z29.boolean().optional(),
|
|
16162
|
+
created_at: z29.number()
|
|
16114
16163
|
});
|
|
16115
16164
|
expectTypesMatch(
|
|
16116
16165
|
true
|
|
16117
16166
|
);
|
|
16118
16167
|
|
|
16119
16168
|
// lib/manual-edits/manual-edit-events/edit_pcb_component_location_event.ts
|
|
16120
|
-
import { z as
|
|
16169
|
+
import { z as z30 } from "zod";
|
|
16121
16170
|
var edit_pcb_component_location_event = base_manual_edit_event.extend({
|
|
16122
|
-
pcb_edit_event_type:
|
|
16123
|
-
edit_event_type:
|
|
16124
|
-
pcb_component_id:
|
|
16125
|
-
original_center:
|
|
16126
|
-
new_center:
|
|
16171
|
+
pcb_edit_event_type: z30.literal("edit_component_location").describe("deprecated"),
|
|
16172
|
+
edit_event_type: z30.literal("edit_pcb_component_location"),
|
|
16173
|
+
pcb_component_id: z30.string(),
|
|
16174
|
+
original_center: z30.object({ x: z30.number(), y: z30.number() }),
|
|
16175
|
+
new_center: z30.object({ x: z30.number(), y: z30.number() })
|
|
16127
16176
|
});
|
|
16128
16177
|
var edit_component_location_event = edit_pcb_component_location_event;
|
|
16129
16178
|
expectTypesMatch(true);
|
|
16130
16179
|
|
|
16131
16180
|
// lib/manual-edits/manual-edit-events/edit_trace_hint_event.ts
|
|
16132
|
-
import { z as
|
|
16181
|
+
import { z as z31 } from "zod";
|
|
16133
16182
|
var edit_trace_hint_event = base_manual_edit_event.extend({
|
|
16134
|
-
pcb_edit_event_type:
|
|
16135
|
-
edit_event_type:
|
|
16136
|
-
pcb_port_id:
|
|
16137
|
-
pcb_trace_hint_id:
|
|
16138
|
-
route:
|
|
16139
|
-
|
|
16183
|
+
pcb_edit_event_type: z31.literal("edit_trace_hint").describe("deprecated"),
|
|
16184
|
+
edit_event_type: z31.literal("edit_pcb_trace_hint").optional(),
|
|
16185
|
+
pcb_port_id: z31.string(),
|
|
16186
|
+
pcb_trace_hint_id: z31.string().optional(),
|
|
16187
|
+
route: z31.array(
|
|
16188
|
+
z31.object({ x: z31.number(), y: z31.number(), via: z31.boolean().optional() })
|
|
16140
16189
|
)
|
|
16141
16190
|
});
|
|
16142
16191
|
expectTypesMatch(
|
|
@@ -16144,38 +16193,38 @@ expectTypesMatch(
|
|
|
16144
16193
|
);
|
|
16145
16194
|
|
|
16146
16195
|
// lib/manual-edits/manual-edit-events/edit_schematic_component_location_event.ts
|
|
16147
|
-
import { z as
|
|
16196
|
+
import { z as z32 } from "zod";
|
|
16148
16197
|
var edit_schematic_component_location_event = base_manual_edit_event.extend({
|
|
16149
|
-
edit_event_type:
|
|
16150
|
-
schematic_component_id:
|
|
16151
|
-
original_center:
|
|
16152
|
-
new_center:
|
|
16198
|
+
edit_event_type: z32.literal("edit_schematic_component_location"),
|
|
16199
|
+
schematic_component_id: z32.string(),
|
|
16200
|
+
original_center: z32.object({ x: z32.number(), y: z32.number() }),
|
|
16201
|
+
new_center: z32.object({ x: z32.number(), y: z32.number() })
|
|
16153
16202
|
});
|
|
16154
16203
|
expectTypesMatch(true);
|
|
16155
16204
|
|
|
16156
16205
|
// lib/manual-edits/manual-edit-events/edit_pcb_group_location_event.ts
|
|
16157
|
-
import { z as
|
|
16206
|
+
import { z as z33 } from "zod";
|
|
16158
16207
|
var edit_pcb_group_location_event = base_manual_edit_event.extend({
|
|
16159
|
-
edit_event_type:
|
|
16160
|
-
pcb_group_id:
|
|
16161
|
-
original_center:
|
|
16162
|
-
new_center:
|
|
16208
|
+
edit_event_type: z33.literal("edit_pcb_group_location"),
|
|
16209
|
+
pcb_group_id: z33.string(),
|
|
16210
|
+
original_center: z33.object({ x: z33.number(), y: z33.number() }),
|
|
16211
|
+
new_center: z33.object({ x: z33.number(), y: z33.number() })
|
|
16163
16212
|
});
|
|
16164
16213
|
expectTypesMatch(true);
|
|
16165
16214
|
|
|
16166
16215
|
// lib/manual-edits/manual-edit-events/edit_schematic_group_location_event.ts
|
|
16167
|
-
import { z as
|
|
16216
|
+
import { z as z34 } from "zod";
|
|
16168
16217
|
var edit_schematic_group_location_event = base_manual_edit_event.extend({
|
|
16169
|
-
edit_event_type:
|
|
16170
|
-
schematic_group_id:
|
|
16171
|
-
original_center:
|
|
16172
|
-
new_center:
|
|
16218
|
+
edit_event_type: z34.literal("edit_schematic_group_location"),
|
|
16219
|
+
schematic_group_id: z34.string(),
|
|
16220
|
+
original_center: z34.object({ x: z34.number(), y: z34.number() }),
|
|
16221
|
+
new_center: z34.object({ x: z34.number(), y: z34.number() })
|
|
16173
16222
|
});
|
|
16174
16223
|
expectTypesMatch(true);
|
|
16175
16224
|
|
|
16176
16225
|
// lib/manual-edits/manual_edit_event.ts
|
|
16177
|
-
import { z as
|
|
16178
|
-
var manual_edit_event =
|
|
16226
|
+
import { z as z35 } from "zod";
|
|
16227
|
+
var manual_edit_event = z35.union([
|
|
16179
16228
|
edit_pcb_component_location_event,
|
|
16180
16229
|
edit_trace_hint_event,
|
|
16181
16230
|
edit_schematic_component_location_event
|
|
@@ -16183,33 +16232,33 @@ var manual_edit_event = z32.union([
|
|
|
16183
16232
|
expectTypesMatch(true);
|
|
16184
16233
|
|
|
16185
16234
|
// lib/manual-edits/manual_edits_file.ts
|
|
16186
|
-
import { z as
|
|
16235
|
+
import { z as z39 } from "zod";
|
|
16187
16236
|
|
|
16188
16237
|
// lib/manual-edits/manual_pcb_placement.ts
|
|
16189
|
-
import { z as
|
|
16238
|
+
import { z as z36 } from "zod";
|
|
16190
16239
|
import { point as point2 } from "circuit-json";
|
|
16191
|
-
var manual_pcb_placement =
|
|
16192
|
-
selector:
|
|
16193
|
-
relative_to:
|
|
16240
|
+
var manual_pcb_placement = z36.object({
|
|
16241
|
+
selector: z36.string(),
|
|
16242
|
+
relative_to: z36.string().optional().default("group_center").describe("Can be a selector or 'group_center'"),
|
|
16194
16243
|
center: point2
|
|
16195
16244
|
});
|
|
16196
16245
|
expectTypesMatch(true);
|
|
16197
16246
|
|
|
16198
16247
|
// lib/manual-edits/manual_trace_hint.ts
|
|
16199
|
-
import { z as
|
|
16248
|
+
import { z as z37 } from "zod";
|
|
16200
16249
|
import { route_hint_point } from "circuit-json";
|
|
16201
|
-
var manual_trace_hint =
|
|
16202
|
-
pcb_port_selector:
|
|
16203
|
-
offsets:
|
|
16250
|
+
var manual_trace_hint = z37.object({
|
|
16251
|
+
pcb_port_selector: z37.string(),
|
|
16252
|
+
offsets: z37.array(route_hint_point)
|
|
16204
16253
|
});
|
|
16205
16254
|
expectTypesMatch(true);
|
|
16206
16255
|
|
|
16207
16256
|
// lib/manual-edits/manual_schematic_placement.ts
|
|
16208
|
-
import { z as
|
|
16257
|
+
import { z as z38 } from "zod";
|
|
16209
16258
|
import { point as point4 } from "circuit-json";
|
|
16210
|
-
var manual_schematic_placement =
|
|
16211
|
-
selector:
|
|
16212
|
-
relative_to:
|
|
16259
|
+
var manual_schematic_placement = z38.object({
|
|
16260
|
+
selector: z38.string(),
|
|
16261
|
+
relative_to: z38.string().optional().default("group_center").describe("Can be a selector or 'group_center'"),
|
|
16213
16262
|
center: point4
|
|
16214
16263
|
});
|
|
16215
16264
|
expectTypesMatch(
|
|
@@ -16217,37 +16266,37 @@ expectTypesMatch(
|
|
|
16217
16266
|
);
|
|
16218
16267
|
|
|
16219
16268
|
// lib/manual-edits/manual_edits_file.ts
|
|
16220
|
-
var manual_edits_file =
|
|
16221
|
-
pcb_placements:
|
|
16222
|
-
manual_trace_hints:
|
|
16223
|
-
schematic_placements:
|
|
16269
|
+
var manual_edits_file = z39.object({
|
|
16270
|
+
pcb_placements: z39.array(manual_pcb_placement).optional(),
|
|
16271
|
+
manual_trace_hints: z39.array(manual_trace_hint).optional(),
|
|
16272
|
+
schematic_placements: z39.array(manual_schematic_placement).optional()
|
|
16224
16273
|
});
|
|
16225
16274
|
expectTypesMatch(true);
|
|
16226
16275
|
|
|
16227
16276
|
// lib/common/connectionsProp.ts
|
|
16228
|
-
import { z as
|
|
16229
|
-
var connectionTarget =
|
|
16277
|
+
import { z as z40 } from "zod";
|
|
16278
|
+
var connectionTarget = z40.string().or(z40.array(z40.string()).readonly()).or(z40.array(z40.string()));
|
|
16230
16279
|
var createConnectionsProp = (labels) => {
|
|
16231
|
-
return
|
|
16280
|
+
return z40.record(z40.enum(labels), connectionTarget);
|
|
16232
16281
|
};
|
|
16233
16282
|
|
|
16234
16283
|
// lib/components/group.ts
|
|
16235
|
-
var layoutConfig =
|
|
16236
|
-
layoutMode:
|
|
16237
|
-
position:
|
|
16238
|
-
grid:
|
|
16239
|
-
gridCols:
|
|
16240
|
-
gridRows:
|
|
16241
|
-
gridTemplateRows:
|
|
16242
|
-
gridTemplateColumns:
|
|
16243
|
-
gridTemplate:
|
|
16244
|
-
gridGap:
|
|
16245
|
-
gridRowGap:
|
|
16246
|
-
gridColumnGap:
|
|
16247
|
-
flex:
|
|
16248
|
-
flexDirection:
|
|
16249
|
-
alignItems:
|
|
16250
|
-
justifyContent:
|
|
16284
|
+
var layoutConfig = z41.object({
|
|
16285
|
+
layoutMode: z41.enum(["grid", "flex", "match-adapt", "relative", "none"]).optional(),
|
|
16286
|
+
position: z41.enum(["absolute", "relative"]).optional(),
|
|
16287
|
+
grid: z41.boolean().optional(),
|
|
16288
|
+
gridCols: z41.number().or(z41.string()).optional(),
|
|
16289
|
+
gridRows: z41.number().or(z41.string()).optional(),
|
|
16290
|
+
gridTemplateRows: z41.string().optional(),
|
|
16291
|
+
gridTemplateColumns: z41.string().optional(),
|
|
16292
|
+
gridTemplate: z41.string().optional(),
|
|
16293
|
+
gridGap: z41.number().or(z41.string()).optional(),
|
|
16294
|
+
gridRowGap: z41.number().or(z41.string()).optional(),
|
|
16295
|
+
gridColumnGap: z41.number().or(z41.string()).optional(),
|
|
16296
|
+
flex: z41.boolean().or(z41.string()).optional(),
|
|
16297
|
+
flexDirection: z41.enum(["row", "column"]).optional(),
|
|
16298
|
+
alignItems: z41.enum(["start", "center", "end", "stretch"]).optional(),
|
|
16299
|
+
justifyContent: z41.enum([
|
|
16251
16300
|
"start",
|
|
16252
16301
|
"center",
|
|
16253
16302
|
"end",
|
|
@@ -16256,16 +16305,16 @@ var layoutConfig = z38.object({
|
|
|
16256
16305
|
"space-around",
|
|
16257
16306
|
"space-evenly"
|
|
16258
16307
|
]).optional(),
|
|
16259
|
-
flexRow:
|
|
16260
|
-
flexColumn:
|
|
16261
|
-
gap:
|
|
16262
|
-
pack:
|
|
16263
|
-
packOrderStrategy:
|
|
16308
|
+
flexRow: z41.boolean().optional(),
|
|
16309
|
+
flexColumn: z41.boolean().optional(),
|
|
16310
|
+
gap: z41.number().or(z41.string()).optional(),
|
|
16311
|
+
pack: z41.boolean().optional().describe("Pack the contents of this group using a packing strategy"),
|
|
16312
|
+
packOrderStrategy: z41.enum([
|
|
16264
16313
|
"largest_to_smallest",
|
|
16265
16314
|
"first_to_last",
|
|
16266
16315
|
"highest_to_lowest_pin_count"
|
|
16267
16316
|
]).optional(),
|
|
16268
|
-
packPlacementStrategy:
|
|
16317
|
+
packPlacementStrategy: z41.enum(["shortest_connection_along_outline"]).optional(),
|
|
16269
16318
|
padding: length3.optional(),
|
|
16270
16319
|
paddingLeft: length3.optional(),
|
|
16271
16320
|
paddingRight: length3.optional(),
|
|
@@ -16275,17 +16324,17 @@ var layoutConfig = z38.object({
|
|
|
16275
16324
|
paddingY: length3.optional(),
|
|
16276
16325
|
width: length3.optional(),
|
|
16277
16326
|
height: length3.optional(),
|
|
16278
|
-
matchAdapt:
|
|
16279
|
-
matchAdaptTemplate:
|
|
16327
|
+
matchAdapt: z41.boolean().optional(),
|
|
16328
|
+
matchAdaptTemplate: z41.any().optional()
|
|
16280
16329
|
});
|
|
16281
16330
|
expectTypesMatch(true);
|
|
16282
|
-
var border =
|
|
16331
|
+
var border = z41.object({
|
|
16283
16332
|
strokeWidth: length3.optional(),
|
|
16284
|
-
dashed:
|
|
16285
|
-
solid:
|
|
16333
|
+
dashed: z41.boolean().optional(),
|
|
16334
|
+
solid: z41.boolean().optional()
|
|
16286
16335
|
});
|
|
16287
|
-
var pcbAnchorAlignmentAutocomplete =
|
|
16288
|
-
var routingTolerances =
|
|
16336
|
+
var pcbAnchorAlignmentAutocomplete = z41.custom((value) => typeof value === "string");
|
|
16337
|
+
var routingTolerances = z41.object({
|
|
16289
16338
|
minTraceWidth: length3.optional(),
|
|
16290
16339
|
minViaHoleEdgeToViaHoleEdgeClearance: length3.optional(),
|
|
16291
16340
|
minViaEdgeToPadEdgeClearance: length3.optional(),
|
|
@@ -16296,19 +16345,19 @@ var routingTolerances = z38.object({
|
|
|
16296
16345
|
minViaHoleDiameter: length3.optional(),
|
|
16297
16346
|
minViaPadDiameter: length3.optional()
|
|
16298
16347
|
});
|
|
16299
|
-
var autorouterConfig =
|
|
16348
|
+
var autorouterConfig = z41.object({
|
|
16300
16349
|
serverUrl: url.optional(),
|
|
16301
|
-
inputFormat:
|
|
16302
|
-
serverMode:
|
|
16303
|
-
serverCacheEnabled:
|
|
16304
|
-
cache:
|
|
16350
|
+
inputFormat: z41.enum(["simplified", "circuit-json"]).optional(),
|
|
16351
|
+
serverMode: z41.enum(["job", "solve-endpoint"]).optional(),
|
|
16352
|
+
serverCacheEnabled: z41.boolean().optional(),
|
|
16353
|
+
cache: z41.custom((v) => true).optional(),
|
|
16305
16354
|
traceClearance: length3.optional(),
|
|
16306
|
-
availableJumperTypes:
|
|
16307
|
-
groupMode:
|
|
16308
|
-
algorithmFn:
|
|
16355
|
+
availableJumperTypes: z41.array(z41.enum(["1206x4", "0603"])).optional(),
|
|
16356
|
+
groupMode: z41.enum(["sequential_trace", "subcircuit", "sequential-trace"]).optional(),
|
|
16357
|
+
algorithmFn: z41.custom(
|
|
16309
16358
|
(v) => typeof v === "function" || v === void 0
|
|
16310
16359
|
).optional(),
|
|
16311
|
-
preset:
|
|
16360
|
+
preset: z41.enum([
|
|
16312
16361
|
"sequential_trace",
|
|
16313
16362
|
"subcircuit",
|
|
16314
16363
|
"default",
|
|
@@ -16325,61 +16374,61 @@ var autorouterConfig = z38.object({
|
|
|
16325
16374
|
"auto-local",
|
|
16326
16375
|
"auto-cloud"
|
|
16327
16376
|
]).optional(),
|
|
16328
|
-
local:
|
|
16377
|
+
local: z41.boolean().optional()
|
|
16329
16378
|
});
|
|
16330
|
-
var autorouterPreset =
|
|
16331
|
-
|
|
16332
|
-
|
|
16333
|
-
|
|
16334
|
-
|
|
16335
|
-
|
|
16336
|
-
|
|
16337
|
-
|
|
16338
|
-
|
|
16339
|
-
|
|
16340
|
-
|
|
16341
|
-
|
|
16379
|
+
var autorouterPreset = z41.union([
|
|
16380
|
+
z41.literal("sequential_trace"),
|
|
16381
|
+
z41.literal("subcircuit"),
|
|
16382
|
+
z41.literal("default"),
|
|
16383
|
+
z41.literal("auto"),
|
|
16384
|
+
z41.literal("auto_local"),
|
|
16385
|
+
z41.literal("auto_cloud"),
|
|
16386
|
+
z41.literal("auto_jumper"),
|
|
16387
|
+
z41.literal("tscircuit_beta"),
|
|
16388
|
+
z41.literal("krt"),
|
|
16389
|
+
z41.literal("freerouting"),
|
|
16390
|
+
z41.literal("laser_prefab"),
|
|
16342
16391
|
// Prefabricated PCB with laser copper ablation
|
|
16343
|
-
|
|
16344
|
-
|
|
16345
|
-
|
|
16346
|
-
|
|
16392
|
+
z41.literal("auto-jumper"),
|
|
16393
|
+
z41.literal("sequential-trace"),
|
|
16394
|
+
z41.literal("auto-local"),
|
|
16395
|
+
z41.literal("auto-cloud")
|
|
16347
16396
|
]);
|
|
16348
|
-
var autorouterString =
|
|
16349
|
-
var autorouterProp =
|
|
16397
|
+
var autorouterString = z41.string();
|
|
16398
|
+
var autorouterProp = z41.union([
|
|
16350
16399
|
autorouterConfig,
|
|
16351
16400
|
autorouterPreset,
|
|
16352
16401
|
autorouterString
|
|
16353
16402
|
]);
|
|
16354
|
-
var autorouterEffortLevel =
|
|
16403
|
+
var autorouterEffortLevel = z41.enum(["1x", "2x", "5x", "10x", "100x"]);
|
|
16355
16404
|
var baseGroupProps = commonLayoutProps.extend({
|
|
16356
|
-
name:
|
|
16357
|
-
children:
|
|
16358
|
-
schTitle:
|
|
16359
|
-
schSheetName:
|
|
16360
|
-
key:
|
|
16361
|
-
showAsSchematicBox:
|
|
16362
|
-
connections:
|
|
16405
|
+
name: z41.string().optional(),
|
|
16406
|
+
children: z41.any().optional(),
|
|
16407
|
+
schTitle: z41.string().optional(),
|
|
16408
|
+
schSheetName: z41.string().optional().describe('This group will be drawn as part of this sheet e.g. "Main"'),
|
|
16409
|
+
key: z41.any().optional(),
|
|
16410
|
+
showAsSchematicBox: z41.boolean().optional(),
|
|
16411
|
+
connections: z41.record(z41.string(), connectionTarget.optional()).optional(),
|
|
16363
16412
|
schPinArrangement: schematicPinArrangement.optional(),
|
|
16364
16413
|
schPinSpacing: length3.optional(),
|
|
16365
16414
|
schPinStyle: schematicPinStyle.optional(),
|
|
16366
16415
|
...layoutConfig.shape,
|
|
16367
16416
|
grid: layoutConfig.shape.grid.describe("@deprecated use pcbGrid"),
|
|
16368
16417
|
flex: layoutConfig.shape.flex.describe("@deprecated use pcbFlex"),
|
|
16369
|
-
pcbGrid:
|
|
16370
|
-
pcbGridCols:
|
|
16371
|
-
pcbGridRows:
|
|
16372
|
-
pcbGridTemplateRows:
|
|
16373
|
-
pcbGridTemplateColumns:
|
|
16374
|
-
pcbGridTemplate:
|
|
16375
|
-
pcbGridGap:
|
|
16376
|
-
pcbGridRowGap:
|
|
16377
|
-
pcbGridColumnGap:
|
|
16378
|
-
pcbFlex:
|
|
16379
|
-
pcbFlexGap:
|
|
16380
|
-
pcbFlexDirection:
|
|
16381
|
-
pcbAlignItems:
|
|
16382
|
-
pcbJustifyContent:
|
|
16418
|
+
pcbGrid: z41.boolean().optional(),
|
|
16419
|
+
pcbGridCols: z41.number().or(z41.string()).optional(),
|
|
16420
|
+
pcbGridRows: z41.number().or(z41.string()).optional(),
|
|
16421
|
+
pcbGridTemplateRows: z41.string().optional(),
|
|
16422
|
+
pcbGridTemplateColumns: z41.string().optional(),
|
|
16423
|
+
pcbGridTemplate: z41.string().optional(),
|
|
16424
|
+
pcbGridGap: z41.number().or(z41.string()).optional(),
|
|
16425
|
+
pcbGridRowGap: z41.number().or(z41.string()).optional(),
|
|
16426
|
+
pcbGridColumnGap: z41.number().or(z41.string()).optional(),
|
|
16427
|
+
pcbFlex: z41.boolean().or(z41.string()).optional(),
|
|
16428
|
+
pcbFlexGap: z41.number().or(z41.string()).optional(),
|
|
16429
|
+
pcbFlexDirection: z41.enum(["row", "column"]).optional(),
|
|
16430
|
+
pcbAlignItems: z41.enum(["start", "center", "end", "stretch"]).optional(),
|
|
16431
|
+
pcbJustifyContent: z41.enum([
|
|
16383
16432
|
"start",
|
|
16384
16433
|
"center",
|
|
16385
16434
|
"end",
|
|
@@ -16388,25 +16437,25 @@ var baseGroupProps = commonLayoutProps.extend({
|
|
|
16388
16437
|
"space-around",
|
|
16389
16438
|
"space-evenly"
|
|
16390
16439
|
]).optional(),
|
|
16391
|
-
pcbFlexRow:
|
|
16392
|
-
pcbFlexColumn:
|
|
16393
|
-
pcbGap:
|
|
16394
|
-
pcbPack:
|
|
16395
|
-
pcbPackGap:
|
|
16396
|
-
schGrid:
|
|
16397
|
-
schGridCols:
|
|
16398
|
-
schGridRows:
|
|
16399
|
-
schGridTemplateRows:
|
|
16400
|
-
schGridTemplateColumns:
|
|
16401
|
-
schGridTemplate:
|
|
16402
|
-
schGridGap:
|
|
16403
|
-
schGridRowGap:
|
|
16404
|
-
schGridColumnGap:
|
|
16405
|
-
schFlex:
|
|
16406
|
-
schFlexGap:
|
|
16407
|
-
schFlexDirection:
|
|
16408
|
-
schAlignItems:
|
|
16409
|
-
schJustifyContent:
|
|
16440
|
+
pcbFlexRow: z41.boolean().optional(),
|
|
16441
|
+
pcbFlexColumn: z41.boolean().optional(),
|
|
16442
|
+
pcbGap: z41.number().or(z41.string()).optional(),
|
|
16443
|
+
pcbPack: z41.boolean().optional(),
|
|
16444
|
+
pcbPackGap: z41.number().or(z41.string()).optional(),
|
|
16445
|
+
schGrid: z41.boolean().optional(),
|
|
16446
|
+
schGridCols: z41.number().or(z41.string()).optional(),
|
|
16447
|
+
schGridRows: z41.number().or(z41.string()).optional(),
|
|
16448
|
+
schGridTemplateRows: z41.string().optional(),
|
|
16449
|
+
schGridTemplateColumns: z41.string().optional(),
|
|
16450
|
+
schGridTemplate: z41.string().optional(),
|
|
16451
|
+
schGridGap: z41.number().or(z41.string()).optional(),
|
|
16452
|
+
schGridRowGap: z41.number().or(z41.string()).optional(),
|
|
16453
|
+
schGridColumnGap: z41.number().or(z41.string()).optional(),
|
|
16454
|
+
schFlex: z41.boolean().or(z41.string()).optional(),
|
|
16455
|
+
schFlexGap: z41.number().or(z41.string()).optional(),
|
|
16456
|
+
schFlexDirection: z41.enum(["row", "column"]).optional(),
|
|
16457
|
+
schAlignItems: z41.enum(["start", "center", "end", "stretch"]).optional(),
|
|
16458
|
+
schJustifyContent: z41.enum([
|
|
16410
16459
|
"start",
|
|
16411
16460
|
"center",
|
|
16412
16461
|
"end",
|
|
@@ -16415,11 +16464,11 @@ var baseGroupProps = commonLayoutProps.extend({
|
|
|
16415
16464
|
"space-around",
|
|
16416
16465
|
"space-evenly"
|
|
16417
16466
|
]).optional(),
|
|
16418
|
-
schFlexRow:
|
|
16419
|
-
schFlexColumn:
|
|
16420
|
-
schGap:
|
|
16421
|
-
schPack:
|
|
16422
|
-
schMatchAdapt:
|
|
16467
|
+
schFlexRow: z41.boolean().optional(),
|
|
16468
|
+
schFlexColumn: z41.boolean().optional(),
|
|
16469
|
+
schGap: z41.number().or(z41.string()).optional(),
|
|
16470
|
+
schPack: z41.boolean().optional(),
|
|
16471
|
+
schMatchAdapt: z41.boolean().optional(),
|
|
16423
16472
|
pcbWidth: length3.optional(),
|
|
16424
16473
|
pcbHeight: length3.optional(),
|
|
16425
16474
|
minTraceWidth: length3.optional(),
|
|
@@ -16442,40 +16491,40 @@ var baseGroupProps = commonLayoutProps.extend({
|
|
|
16442
16491
|
pcbPaddingBottom: length3.optional(),
|
|
16443
16492
|
pcbAnchorAlignment: pcbAnchorAlignmentAutocomplete.optional()
|
|
16444
16493
|
});
|
|
16445
|
-
var partsEngine =
|
|
16494
|
+
var partsEngine = z41.custom((v) => "findPart" in v);
|
|
16446
16495
|
var subcircuitGroupProps = baseGroupProps.extend({
|
|
16447
16496
|
manualEdits: manual_edits_file.optional(),
|
|
16448
|
-
schAutoLayoutEnabled:
|
|
16449
|
-
schTraceAutoLabelEnabled:
|
|
16497
|
+
schAutoLayoutEnabled: z41.boolean().optional(),
|
|
16498
|
+
schTraceAutoLabelEnabled: z41.boolean().optional(),
|
|
16450
16499
|
schMaxTraceDistance: distance11.optional(),
|
|
16451
|
-
routingDisabled:
|
|
16452
|
-
bomDisabled:
|
|
16500
|
+
routingDisabled: z41.boolean().optional(),
|
|
16501
|
+
bomDisabled: z41.boolean().optional(),
|
|
16453
16502
|
defaultTraceWidth: length3.optional(),
|
|
16454
16503
|
...routingTolerances.shape,
|
|
16455
16504
|
nominalTraceWidth: length3.optional(),
|
|
16456
16505
|
partsEngine: partsEngine.optional(),
|
|
16457
|
-
_subcircuitCachingEnabled:
|
|
16458
|
-
pcbRouteCache:
|
|
16506
|
+
_subcircuitCachingEnabled: z41.boolean().optional(),
|
|
16507
|
+
pcbRouteCache: z41.custom((v) => true).optional(),
|
|
16459
16508
|
autorouter: autorouterProp.optional(),
|
|
16460
16509
|
autorouterEffortLevel: autorouterEffortLevel.optional(),
|
|
16461
|
-
autorouterVersion:
|
|
16462
|
-
square:
|
|
16463
|
-
emptyArea:
|
|
16464
|
-
filledArea:
|
|
16510
|
+
autorouterVersion: z41.enum(["v1", "v2", "v3", "v4", "v5", "v6", "latest"]).optional(),
|
|
16511
|
+
square: z41.boolean().optional(),
|
|
16512
|
+
emptyArea: z41.string().optional(),
|
|
16513
|
+
filledArea: z41.string().optional(),
|
|
16465
16514
|
width: distance11.optional(),
|
|
16466
16515
|
height: distance11.optional(),
|
|
16467
|
-
outline:
|
|
16516
|
+
outline: z41.array(point).optional(),
|
|
16468
16517
|
outlineOffsetX: distance11.optional(),
|
|
16469
16518
|
outlineOffsetY: distance11.optional(),
|
|
16470
|
-
circuitJson:
|
|
16471
|
-
exposedNets:
|
|
16472
|
-
exposeNets:
|
|
16519
|
+
circuitJson: z41.array(z41.any()).optional(),
|
|
16520
|
+
exposedNets: z41.array(z41.string()).optional(),
|
|
16521
|
+
exposeNets: z41.boolean().optional()
|
|
16473
16522
|
});
|
|
16474
16523
|
var subcircuitGroupPropsWithBool = subcircuitGroupProps.extend({
|
|
16475
|
-
subcircuit:
|
|
16524
|
+
subcircuit: z41.literal(true)
|
|
16476
16525
|
});
|
|
16477
|
-
var groupProps =
|
|
16478
|
-
baseGroupProps.extend({ subcircuit:
|
|
16526
|
+
var groupProps = z41.discriminatedUnion("subcircuit", [
|
|
16527
|
+
baseGroupProps.extend({ subcircuit: z41.literal(false).optional() }),
|
|
16479
16528
|
subcircuitGroupPropsWithBool
|
|
16480
16529
|
]);
|
|
16481
16530
|
expectTypesMatch(true);
|
|
@@ -16485,35 +16534,35 @@ expectTypesMatch(true);
|
|
|
16485
16534
|
expectTypesMatch(true);
|
|
16486
16535
|
|
|
16487
16536
|
// lib/components/board.ts
|
|
16488
|
-
var boardColor =
|
|
16537
|
+
var boardColor = z42.custom((value) => typeof value === "string");
|
|
16489
16538
|
var boardProps = subcircuitGroupProps.omit({ connections: true }).extend({
|
|
16490
|
-
material:
|
|
16491
|
-
layers:
|
|
16492
|
-
|
|
16493
|
-
|
|
16494
|
-
|
|
16495
|
-
|
|
16496
|
-
|
|
16539
|
+
material: z42.enum(["fr4", "fr1", "flex"]).default("fr4"),
|
|
16540
|
+
layers: z42.union([
|
|
16541
|
+
z42.literal(1),
|
|
16542
|
+
z42.literal(2),
|
|
16543
|
+
z42.literal(4),
|
|
16544
|
+
z42.literal(6),
|
|
16545
|
+
z42.literal(8)
|
|
16497
16546
|
]).default(2),
|
|
16498
16547
|
borderRadius: distance.optional(),
|
|
16499
16548
|
thickness: distance.optional(),
|
|
16500
16549
|
boardAnchorPosition: point.optional(),
|
|
16501
16550
|
anchorAlignment: ninePointAnchor.optional(),
|
|
16502
16551
|
boardAnchorAlignment: ninePointAnchor.optional().describe("Prefer using anchorAlignment when possible"),
|
|
16503
|
-
title:
|
|
16552
|
+
title: z42.string().optional(),
|
|
16504
16553
|
solderMaskColor: boardColor.optional(),
|
|
16505
16554
|
topSolderMaskColor: boardColor.optional(),
|
|
16506
16555
|
bottomSolderMaskColor: boardColor.optional(),
|
|
16507
16556
|
silkscreenColor: boardColor.optional(),
|
|
16508
16557
|
topSilkscreenColor: boardColor.optional(),
|
|
16509
16558
|
bottomSilkscreenColor: boardColor.optional(),
|
|
16510
|
-
doubleSidedAssembly:
|
|
16511
|
-
schematicDisabled:
|
|
16559
|
+
doubleSidedAssembly: z42.boolean().optional().default(false),
|
|
16560
|
+
schematicDisabled: z42.boolean().optional()
|
|
16512
16561
|
});
|
|
16513
16562
|
expectTypesMatch(true);
|
|
16514
16563
|
|
|
16515
16564
|
// lib/components/panel.ts
|
|
16516
|
-
import { z as
|
|
16565
|
+
import { z as z43 } from "zod";
|
|
16517
16566
|
var panelProps = baseGroupProps.omit({
|
|
16518
16567
|
width: true,
|
|
16519
16568
|
height: true,
|
|
@@ -16522,25 +16571,25 @@ var panelProps = baseGroupProps.omit({
|
|
|
16522
16571
|
}).extend({
|
|
16523
16572
|
width: distance.optional(),
|
|
16524
16573
|
height: distance.optional(),
|
|
16525
|
-
children:
|
|
16574
|
+
children: z43.any().optional(),
|
|
16526
16575
|
anchorAlignment: ninePointAnchor.optional(),
|
|
16527
|
-
noSolderMask:
|
|
16528
|
-
panelizationMethod:
|
|
16576
|
+
noSolderMask: z43.boolean().optional(),
|
|
16577
|
+
panelizationMethod: z43.enum(["tab-routing", "none"]).optional(),
|
|
16529
16578
|
boardGap: distance.optional(),
|
|
16530
|
-
layoutMode:
|
|
16531
|
-
row:
|
|
16532
|
-
col:
|
|
16579
|
+
layoutMode: z43.enum(["grid", "pack", "none"]).optional(),
|
|
16580
|
+
row: z43.number().optional(),
|
|
16581
|
+
col: z43.number().optional(),
|
|
16533
16582
|
cellWidth: distance.optional(),
|
|
16534
16583
|
cellHeight: distance.optional(),
|
|
16535
16584
|
tabWidth: distance.optional(),
|
|
16536
16585
|
tabLength: distance.optional(),
|
|
16537
|
-
mouseBites:
|
|
16586
|
+
mouseBites: z43.boolean().optional(),
|
|
16538
16587
|
edgePadding: distance.optional(),
|
|
16539
16588
|
edgePaddingLeft: distance.optional(),
|
|
16540
16589
|
edgePaddingRight: distance.optional(),
|
|
16541
16590
|
edgePaddingTop: distance.optional(),
|
|
16542
16591
|
edgePaddingBottom: distance.optional(),
|
|
16543
|
-
_subcircuitCachingEnabled:
|
|
16592
|
+
_subcircuitCachingEnabled: z43.boolean().optional()
|
|
16544
16593
|
});
|
|
16545
16594
|
expectTypesMatch(true);
|
|
16546
16595
|
|
|
@@ -16563,37 +16612,37 @@ expectTypesMatch(true);
|
|
|
16563
16612
|
|
|
16564
16613
|
// lib/components/chip.ts
|
|
16565
16614
|
import { distance as distance13, supplier_name as supplier_name2 } from "circuit-json";
|
|
16566
|
-
import { z as
|
|
16567
|
-
var connectionTarget2 =
|
|
16568
|
-
var noConnectProp =
|
|
16569
|
-
var connectionsProp =
|
|
16570
|
-
var spicemodelElement =
|
|
16615
|
+
import { z as z46 } from "zod";
|
|
16616
|
+
var connectionTarget2 = z46.string().or(z46.array(z46.string()).readonly()).or(z46.array(z46.string()));
|
|
16617
|
+
var noConnectProp = z46.array(schematicPinLabel).readonly().or(z46.array(schematicPinLabel));
|
|
16618
|
+
var connectionsProp = z46.custom().pipe(z46.record(z46.string(), connectionTarget2));
|
|
16619
|
+
var spicemodelElement = z46.custom(
|
|
16571
16620
|
(v) => !!v && typeof v === "object" && "type" in v && "props" in v
|
|
16572
16621
|
);
|
|
16573
|
-
var pinLabelsProp =
|
|
16622
|
+
var pinLabelsProp = z46.record(
|
|
16574
16623
|
schematicPinLabel,
|
|
16575
|
-
schematicPinLabel.or(
|
|
16624
|
+
schematicPinLabel.or(z46.array(schematicPinLabel).readonly()).or(z46.array(schematicPinLabel))
|
|
16576
16625
|
);
|
|
16577
16626
|
expectTypesMatch(true);
|
|
16578
|
-
var pinCompatibleVariant =
|
|
16579
|
-
manufacturerPartNumber:
|
|
16580
|
-
supplierPartNumber:
|
|
16627
|
+
var pinCompatibleVariant = z46.object({
|
|
16628
|
+
manufacturerPartNumber: z46.string().optional(),
|
|
16629
|
+
supplierPartNumber: z46.record(supplier_name2, z46.array(z46.string())).optional()
|
|
16581
16630
|
});
|
|
16582
16631
|
var chipProps = commonComponentProps.extend({
|
|
16583
|
-
manufacturerPartNumber:
|
|
16632
|
+
manufacturerPartNumber: z46.string().optional(),
|
|
16584
16633
|
pinLabels: pinLabelsProp.optional(),
|
|
16585
|
-
showPinAliases:
|
|
16586
|
-
pcbPinLabels:
|
|
16587
|
-
internallyConnectedPins:
|
|
16588
|
-
externallyConnectedPins:
|
|
16634
|
+
showPinAliases: z46.boolean().optional(),
|
|
16635
|
+
pcbPinLabels: z46.record(z46.string(), z46.string()).optional(),
|
|
16636
|
+
internallyConnectedPins: z46.array(z46.array(z46.union([z46.string(), z46.number()]))).optional(),
|
|
16637
|
+
externallyConnectedPins: z46.array(z46.array(z46.string())).optional(),
|
|
16589
16638
|
schPinArrangement: schematicPortArrangement.optional(),
|
|
16590
16639
|
schPortArrangement: schematicPortArrangement.optional(),
|
|
16591
|
-
pinCompatibleVariants:
|
|
16640
|
+
pinCompatibleVariants: z46.array(pinCompatibleVariant).optional(),
|
|
16592
16641
|
schPinStyle: schematicPinStyle.optional(),
|
|
16593
16642
|
schPinSpacing: distance13.optional(),
|
|
16594
16643
|
schWidth: distance13.optional(),
|
|
16595
16644
|
schHeight: distance13.optional(),
|
|
16596
|
-
noSchematicRepresentation:
|
|
16645
|
+
noSchematicRepresentation: z46.boolean().optional(),
|
|
16597
16646
|
noConnect: noConnectProp.optional(),
|
|
16598
16647
|
connections: connectionsProp.optional(),
|
|
16599
16648
|
spiceModel: spicemodelElement.optional()
|
|
@@ -16607,75 +16656,75 @@ expectTypesMatch(true);
|
|
|
16607
16656
|
|
|
16608
16657
|
// lib/components/jumper.ts
|
|
16609
16658
|
import { distance as distance14 } from "circuit-json";
|
|
16610
|
-
import { z as
|
|
16659
|
+
import { z as z47 } from "zod";
|
|
16611
16660
|
var jumperProps = commonComponentProps.extend({
|
|
16612
|
-
manufacturerPartNumber:
|
|
16613
|
-
pinLabels:
|
|
16614
|
-
|
|
16615
|
-
schematicPinLabel.or(
|
|
16661
|
+
manufacturerPartNumber: z47.string().optional(),
|
|
16662
|
+
pinLabels: z47.record(
|
|
16663
|
+
z47.number().or(schematicPinLabel),
|
|
16664
|
+
schematicPinLabel.or(z47.array(schematicPinLabel))
|
|
16616
16665
|
).optional(),
|
|
16617
16666
|
schPinStyle: schematicPinStyle.optional(),
|
|
16618
16667
|
schPinSpacing: distance14.optional(),
|
|
16619
16668
|
schWidth: distance14.optional(),
|
|
16620
16669
|
schHeight: distance14.optional(),
|
|
16621
|
-
schDirection:
|
|
16670
|
+
schDirection: z47.enum(["left", "right"]).optional(),
|
|
16622
16671
|
schPinArrangement: schematicPinArrangement.optional(),
|
|
16623
16672
|
schPortArrangement: schematicPortArrangement.optional(),
|
|
16624
|
-
pcbPinLabels:
|
|
16625
|
-
pinCount:
|
|
16626
|
-
internallyConnectedPins:
|
|
16627
|
-
connections:
|
|
16673
|
+
pcbPinLabels: z47.record(z47.string(), z47.string()).optional(),
|
|
16674
|
+
pinCount: z47.union([z47.literal(2), z47.literal(3)]).optional(),
|
|
16675
|
+
internallyConnectedPins: z47.array(z47.array(z47.union([z47.string(), z47.number()]))).optional(),
|
|
16676
|
+
connections: z47.custom().pipe(z47.record(z47.string(), connectionTarget)).optional()
|
|
16628
16677
|
});
|
|
16629
16678
|
expectTypesMatch(true);
|
|
16630
16679
|
|
|
16631
16680
|
// lib/components/solderjumper.ts
|
|
16632
|
-
import { z as
|
|
16681
|
+
import { z as z48 } from "zod";
|
|
16633
16682
|
var solderjumperProps = jumperProps.extend({
|
|
16634
|
-
bridgedPins:
|
|
16635
|
-
bridged:
|
|
16683
|
+
bridgedPins: z48.array(z48.array(z48.string())).optional(),
|
|
16684
|
+
bridged: z48.boolean().optional()
|
|
16636
16685
|
});
|
|
16637
16686
|
expectTypesMatch(true);
|
|
16638
16687
|
|
|
16639
16688
|
// lib/components/connector.ts
|
|
16640
|
-
import { z as
|
|
16689
|
+
import { z as z49 } from "zod";
|
|
16641
16690
|
var connectorProps = chipProps.extend({
|
|
16642
|
-
standard:
|
|
16691
|
+
standard: z49.enum(["usb_c", "m2"]).optional()
|
|
16643
16692
|
});
|
|
16644
16693
|
expectTypesMatch(true);
|
|
16645
16694
|
|
|
16646
16695
|
// lib/components/interconnect.ts
|
|
16647
|
-
import { z as
|
|
16696
|
+
import { z as z50 } from "zod";
|
|
16648
16697
|
var interconnectProps = commonComponentProps.extend({
|
|
16649
|
-
standard:
|
|
16650
|
-
pinLabels:
|
|
16651
|
-
|
|
16652
|
-
schematicPinLabel.or(
|
|
16698
|
+
standard: z50.enum(["TSC0001_36P_XALT_2025_11", "0805", "0603", "1206"]).optional(),
|
|
16699
|
+
pinLabels: z50.record(
|
|
16700
|
+
z50.number().or(schematicPinLabel),
|
|
16701
|
+
schematicPinLabel.or(z50.array(schematicPinLabel))
|
|
16653
16702
|
).optional(),
|
|
16654
|
-
internallyConnectedPins:
|
|
16703
|
+
internallyConnectedPins: z50.array(z50.array(z50.union([z50.string(), z50.number()]))).optional()
|
|
16655
16704
|
});
|
|
16656
16705
|
expectTypesMatch(true);
|
|
16657
16706
|
|
|
16658
16707
|
// lib/components/fuse.ts
|
|
16659
|
-
import { z as
|
|
16708
|
+
import { z as z51 } from "zod";
|
|
16660
16709
|
var fusePinLabels = ["pin1", "pin2"];
|
|
16661
16710
|
var fuseProps = commonComponentProps.extend({
|
|
16662
|
-
currentRating:
|
|
16663
|
-
voltageRating:
|
|
16664
|
-
schShowRatings:
|
|
16711
|
+
currentRating: z51.union([z51.number(), z51.string()]),
|
|
16712
|
+
voltageRating: z51.union([z51.number(), z51.string()]).optional(),
|
|
16713
|
+
schShowRatings: z51.boolean().optional(),
|
|
16665
16714
|
schOrientation: schematicOrientation.optional(),
|
|
16666
|
-
connections:
|
|
16667
|
-
|
|
16668
|
-
|
|
16669
|
-
|
|
16670
|
-
|
|
16671
|
-
|
|
16715
|
+
connections: z51.record(
|
|
16716
|
+
z51.string(),
|
|
16717
|
+
z51.union([
|
|
16718
|
+
z51.string(),
|
|
16719
|
+
z51.array(z51.string()).readonly(),
|
|
16720
|
+
z51.array(z51.string())
|
|
16672
16721
|
])
|
|
16673
16722
|
).optional()
|
|
16674
16723
|
});
|
|
16675
16724
|
|
|
16676
16725
|
// lib/components/platedhole.ts
|
|
16677
16726
|
import { distance as distance15 } from "circuit-json";
|
|
16678
|
-
import { z as
|
|
16727
|
+
import { z as z52 } from "zod";
|
|
16679
16728
|
var DEFAULT_PIN_HEADER_HOLE_DIAMETER = "0.04in";
|
|
16680
16729
|
var DEFAULT_PIN_HEADER_OUTER_DIAMETER = "0.1in";
|
|
16681
16730
|
var inferPlatedHoleShapeAndDefaults = (rawProps) => {
|
|
@@ -16707,26 +16756,26 @@ var inferPlatedHoleShapeAndDefaults = (rawProps) => {
|
|
|
16707
16756
|
props.outerDiameter = DEFAULT_PIN_HEADER_OUTER_DIAMETER;
|
|
16708
16757
|
return props;
|
|
16709
16758
|
};
|
|
16710
|
-
var distanceHiddenUndefined =
|
|
16759
|
+
var distanceHiddenUndefined = z52.custom().transform((a) => {
|
|
16711
16760
|
if (a === void 0) return void 0;
|
|
16712
16761
|
return distance15.parse(a);
|
|
16713
16762
|
});
|
|
16714
|
-
var platedHolePropsByShape =
|
|
16763
|
+
var platedHolePropsByShape = z52.discriminatedUnion("shape", [
|
|
16715
16764
|
pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
16716
|
-
name:
|
|
16717
|
-
connectsTo:
|
|
16718
|
-
shape:
|
|
16765
|
+
name: z52.string().optional(),
|
|
16766
|
+
connectsTo: z52.string().or(z52.array(z52.string())).optional(),
|
|
16767
|
+
shape: z52.literal("circle"),
|
|
16719
16768
|
holeDiameter: distance15,
|
|
16720
16769
|
outerDiameter: distance15,
|
|
16721
16770
|
padDiameter: distance15.optional().describe("Diameter of the copper pad"),
|
|
16722
16771
|
portHints: portHints.optional(),
|
|
16723
16772
|
solderMaskMargin: distance15.optional(),
|
|
16724
|
-
coveredWithSolderMask:
|
|
16773
|
+
coveredWithSolderMask: z52.boolean().optional()
|
|
16725
16774
|
}),
|
|
16726
16775
|
pcbLayoutProps.omit({ layer: true }).extend({
|
|
16727
|
-
name:
|
|
16728
|
-
connectsTo:
|
|
16729
|
-
shape:
|
|
16776
|
+
name: z52.string().optional(),
|
|
16777
|
+
connectsTo: z52.string().or(z52.array(z52.string())).optional(),
|
|
16778
|
+
shape: z52.literal("oval"),
|
|
16730
16779
|
outerWidth: distance15,
|
|
16731
16780
|
outerHeight: distance15,
|
|
16732
16781
|
holeWidth: distanceHiddenUndefined,
|
|
@@ -16735,13 +16784,13 @@ var platedHolePropsByShape = z49.discriminatedUnion("shape", [
|
|
|
16735
16784
|
innerHeight: distance15.optional().describe("DEPRECATED use holeHeight"),
|
|
16736
16785
|
portHints: portHints.optional(),
|
|
16737
16786
|
solderMaskMargin: distance15.optional(),
|
|
16738
|
-
coveredWithSolderMask:
|
|
16787
|
+
coveredWithSolderMask: z52.boolean().optional()
|
|
16739
16788
|
}),
|
|
16740
16789
|
pcbLayoutProps.omit({ layer: true }).extend({
|
|
16741
|
-
name:
|
|
16742
|
-
connectsTo:
|
|
16743
|
-
shape:
|
|
16744
|
-
rectPad:
|
|
16790
|
+
name: z52.string().optional(),
|
|
16791
|
+
connectsTo: z52.string().or(z52.array(z52.string())).optional(),
|
|
16792
|
+
shape: z52.literal("pill"),
|
|
16793
|
+
rectPad: z52.boolean().optional(),
|
|
16745
16794
|
outerWidth: distance15,
|
|
16746
16795
|
outerHeight: distance15,
|
|
16747
16796
|
holeWidth: distanceHiddenUndefined,
|
|
@@ -16752,30 +16801,30 @@ var platedHolePropsByShape = z49.discriminatedUnion("shape", [
|
|
|
16752
16801
|
holeOffsetX: distance15.optional(),
|
|
16753
16802
|
holeOffsetY: distance15.optional(),
|
|
16754
16803
|
solderMaskMargin: distance15.optional(),
|
|
16755
|
-
coveredWithSolderMask:
|
|
16804
|
+
coveredWithSolderMask: z52.boolean().optional()
|
|
16756
16805
|
}),
|
|
16757
16806
|
pcbLayoutProps.omit({ layer: true }).extend({
|
|
16758
|
-
name:
|
|
16759
|
-
connectsTo:
|
|
16760
|
-
shape:
|
|
16807
|
+
name: z52.string().optional(),
|
|
16808
|
+
connectsTo: z52.string().or(z52.array(z52.string())).optional(),
|
|
16809
|
+
shape: z52.literal("circular_hole_with_rect_pad"),
|
|
16761
16810
|
holeDiameter: distance15,
|
|
16762
16811
|
rectPadWidth: distance15,
|
|
16763
16812
|
rectPadHeight: distance15,
|
|
16764
16813
|
rectBorderRadius: distance15.optional(),
|
|
16765
|
-
holeShape:
|
|
16766
|
-
padShape:
|
|
16814
|
+
holeShape: z52.literal("circle").optional(),
|
|
16815
|
+
padShape: z52.literal("rect").optional(),
|
|
16767
16816
|
portHints: portHints.optional(),
|
|
16768
16817
|
holeOffsetX: distance15.optional(),
|
|
16769
16818
|
holeOffsetY: distance15.optional(),
|
|
16770
16819
|
solderMaskMargin: distance15.optional(),
|
|
16771
|
-
coveredWithSolderMask:
|
|
16820
|
+
coveredWithSolderMask: z52.boolean().optional()
|
|
16772
16821
|
}),
|
|
16773
16822
|
pcbLayoutProps.omit({ layer: true }).extend({
|
|
16774
|
-
name:
|
|
16775
|
-
connectsTo:
|
|
16776
|
-
shape:
|
|
16777
|
-
holeShape:
|
|
16778
|
-
padShape:
|
|
16823
|
+
name: z52.string().optional(),
|
|
16824
|
+
connectsTo: z52.string().or(z52.array(z52.string())).optional(),
|
|
16825
|
+
shape: z52.literal("pill_hole_with_rect_pad"),
|
|
16826
|
+
holeShape: z52.literal("pill").optional(),
|
|
16827
|
+
padShape: z52.literal("rect").optional(),
|
|
16779
16828
|
holeWidth: distance15,
|
|
16780
16829
|
holeHeight: distance15,
|
|
16781
16830
|
rectPadWidth: distance15,
|
|
@@ -16785,22 +16834,22 @@ var platedHolePropsByShape = z49.discriminatedUnion("shape", [
|
|
|
16785
16834
|
holeOffsetX: distance15.optional(),
|
|
16786
16835
|
holeOffsetY: distance15.optional(),
|
|
16787
16836
|
solderMaskMargin: distance15.optional(),
|
|
16788
|
-
coveredWithSolderMask:
|
|
16837
|
+
coveredWithSolderMask: z52.boolean().optional()
|
|
16789
16838
|
}),
|
|
16790
16839
|
pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
16791
|
-
name:
|
|
16792
|
-
connectsTo:
|
|
16793
|
-
shape:
|
|
16794
|
-
holeShape:
|
|
16840
|
+
name: z52.string().optional(),
|
|
16841
|
+
connectsTo: z52.string().or(z52.array(z52.string())).optional(),
|
|
16842
|
+
shape: z52.literal("hole_with_polygon_pad"),
|
|
16843
|
+
holeShape: z52.enum(["circle", "oval", "pill", "rotated_pill"]),
|
|
16795
16844
|
holeDiameter: distance15.optional(),
|
|
16796
16845
|
holeWidth: distance15.optional(),
|
|
16797
16846
|
holeHeight: distance15.optional(),
|
|
16798
|
-
padOutline:
|
|
16847
|
+
padOutline: z52.array(point),
|
|
16799
16848
|
holeOffsetX: distance15,
|
|
16800
16849
|
holeOffsetY: distance15,
|
|
16801
16850
|
portHints: portHints.optional(),
|
|
16802
16851
|
solderMaskMargin: distance15.optional(),
|
|
16803
|
-
coveredWithSolderMask:
|
|
16852
|
+
coveredWithSolderMask: z52.boolean().optional()
|
|
16804
16853
|
})
|
|
16805
16854
|
]).transform((a) => {
|
|
16806
16855
|
if ("innerWidth" in a && a.innerWidth !== void 0) {
|
|
@@ -16811,7 +16860,7 @@ var platedHolePropsByShape = z49.discriminatedUnion("shape", [
|
|
|
16811
16860
|
}
|
|
16812
16861
|
return a;
|
|
16813
16862
|
});
|
|
16814
|
-
var platedHoleProps =
|
|
16863
|
+
var platedHoleProps = z52.preprocess(
|
|
16815
16864
|
inferPlatedHoleShapeAndDefaults,
|
|
16816
16865
|
platedHolePropsByShape
|
|
16817
16866
|
);
|
|
@@ -16819,7 +16868,7 @@ expectTypesMatch(true);
|
|
|
16819
16868
|
|
|
16820
16869
|
// lib/components/resistor.ts
|
|
16821
16870
|
import { resistance } from "circuit-json";
|
|
16822
|
-
import { z as
|
|
16871
|
+
import { z as z53 } from "zod";
|
|
16823
16872
|
var resistorPinLabels = ["pin1", "pin2", "pos", "neg"];
|
|
16824
16873
|
var resistorImperialFootprintNames = /* @__PURE__ */ new Set([
|
|
16825
16874
|
"01005",
|
|
@@ -16843,7 +16892,7 @@ var resistorFootprintProp = footprintProp.optional().transform(mapResistorFootpr
|
|
|
16843
16892
|
var resistorProps = commonComponentProps.extend({
|
|
16844
16893
|
footprint: resistorFootprintProp,
|
|
16845
16894
|
resistance,
|
|
16846
|
-
tolerance:
|
|
16895
|
+
tolerance: z53.union([z53.string(), z53.number()]).transform((val) => {
|
|
16847
16896
|
if (typeof val === "string") {
|
|
16848
16897
|
if (val.endsWith("%")) {
|
|
16849
16898
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -16852,12 +16901,12 @@ var resistorProps = commonComponentProps.extend({
|
|
|
16852
16901
|
}
|
|
16853
16902
|
return val;
|
|
16854
16903
|
}).pipe(
|
|
16855
|
-
|
|
16904
|
+
z53.number().min(0, "Tolerance must be non-negative").max(1, "Tolerance cannot be greater than 100%")
|
|
16856
16905
|
).optional(),
|
|
16857
|
-
pullupFor:
|
|
16858
|
-
pullupTo:
|
|
16859
|
-
pulldownFor:
|
|
16860
|
-
pulldownTo:
|
|
16906
|
+
pullupFor: z53.string().optional(),
|
|
16907
|
+
pullupTo: z53.string().optional(),
|
|
16908
|
+
pulldownFor: z53.string().optional(),
|
|
16909
|
+
pulldownTo: z53.string().optional(),
|
|
16861
16910
|
schOrientation: schematicOrientation.optional(),
|
|
16862
16911
|
schSize: schematicSymbolSize.optional(),
|
|
16863
16912
|
connections: createConnectionsProp(resistorPinLabels).optional()
|
|
@@ -16867,18 +16916,18 @@ expectTypesMatch(true);
|
|
|
16867
16916
|
|
|
16868
16917
|
// lib/components/potentiometer.ts
|
|
16869
16918
|
import { resistance as resistance2 } from "circuit-json";
|
|
16870
|
-
import { z as
|
|
16919
|
+
import { z as z54 } from "zod";
|
|
16871
16920
|
var potentiometerPinLabels = ["pin1", "pin2", "pin3"];
|
|
16872
16921
|
var potentiometerProps = commonComponentProps.extend({
|
|
16873
16922
|
maxResistance: resistance2,
|
|
16874
|
-
pinVariant:
|
|
16923
|
+
pinVariant: z54.enum(["two_pin", "three_pin"]).optional(),
|
|
16875
16924
|
connections: createConnectionsProp(potentiometerPinLabels).optional()
|
|
16876
16925
|
});
|
|
16877
16926
|
expectTypesMatch(true);
|
|
16878
16927
|
|
|
16879
16928
|
// lib/components/crystal.ts
|
|
16880
16929
|
import { capacitance, distance as distance16, frequency } from "circuit-json";
|
|
16881
|
-
import { z as
|
|
16930
|
+
import { z as z55 } from "zod";
|
|
16882
16931
|
var crystalPins = [
|
|
16883
16932
|
"pin1",
|
|
16884
16933
|
"left",
|
|
@@ -16891,9 +16940,9 @@ var crystalProps = commonComponentProps.extend({
|
|
|
16891
16940
|
frequency,
|
|
16892
16941
|
loadCapacitance: capacitance,
|
|
16893
16942
|
maxTraceLength: distance16.optional(),
|
|
16894
|
-
manufacturerPartNumber:
|
|
16895
|
-
mpn:
|
|
16896
|
-
pinVariant:
|
|
16943
|
+
manufacturerPartNumber: z55.string().optional(),
|
|
16944
|
+
mpn: z55.string().optional(),
|
|
16945
|
+
pinVariant: z55.enum(["two_pin", "four_pin"]).optional(),
|
|
16897
16946
|
schOrientation: schematicOrientation.optional(),
|
|
16898
16947
|
connections: createConnectionsProp(crystalPins).optional()
|
|
16899
16948
|
});
|
|
@@ -16901,34 +16950,34 @@ expectTypesMatch(true);
|
|
|
16901
16950
|
|
|
16902
16951
|
// lib/components/resonator.ts
|
|
16903
16952
|
import { frequency as frequency2, capacitance as capacitance2 } from "circuit-json";
|
|
16904
|
-
import { z as
|
|
16953
|
+
import { z as z56 } from "zod";
|
|
16905
16954
|
var resonatorProps = commonComponentProps.extend({
|
|
16906
16955
|
frequency: frequency2,
|
|
16907
16956
|
loadCapacitance: capacitance2,
|
|
16908
|
-
pinVariant:
|
|
16957
|
+
pinVariant: z56.enum(["no_ground", "ground_pin", "two_ground_pins"]).optional()
|
|
16909
16958
|
});
|
|
16910
16959
|
expectTypesMatch(true);
|
|
16911
16960
|
|
|
16912
16961
|
// lib/components/stampboard.ts
|
|
16913
16962
|
import { distance as distance17 } from "circuit-json";
|
|
16914
|
-
import { z as
|
|
16963
|
+
import { z as z57 } from "zod";
|
|
16915
16964
|
var stampboardProps = boardProps.extend({
|
|
16916
|
-
leftPinCount:
|
|
16917
|
-
rightPinCount:
|
|
16918
|
-
topPinCount:
|
|
16919
|
-
bottomPinCount:
|
|
16920
|
-
leftPins:
|
|
16921
|
-
rightPins:
|
|
16922
|
-
topPins:
|
|
16923
|
-
bottomPins:
|
|
16965
|
+
leftPinCount: z57.number().optional(),
|
|
16966
|
+
rightPinCount: z57.number().optional(),
|
|
16967
|
+
topPinCount: z57.number().optional(),
|
|
16968
|
+
bottomPinCount: z57.number().optional(),
|
|
16969
|
+
leftPins: z57.array(z57.string()).optional(),
|
|
16970
|
+
rightPins: z57.array(z57.string()).optional(),
|
|
16971
|
+
topPins: z57.array(z57.string()).optional(),
|
|
16972
|
+
bottomPins: z57.array(z57.string()).optional(),
|
|
16924
16973
|
pinPitch: distance17.optional(),
|
|
16925
|
-
innerHoles:
|
|
16974
|
+
innerHoles: z57.boolean().optional()
|
|
16926
16975
|
});
|
|
16927
16976
|
expectTypesMatch(true);
|
|
16928
16977
|
|
|
16929
16978
|
// lib/components/capacitor.ts
|
|
16930
16979
|
import { capacitance as capacitance3, voltage } from "circuit-json";
|
|
16931
|
-
import { z as
|
|
16980
|
+
import { z as z58 } from "zod";
|
|
16932
16981
|
var capacitorPinLabels = [
|
|
16933
16982
|
"pin1",
|
|
16934
16983
|
"pin2",
|
|
@@ -16940,13 +16989,13 @@ var capacitorPinLabels = [
|
|
|
16940
16989
|
var capacitorProps = commonComponentProps.extend({
|
|
16941
16990
|
capacitance: capacitance3,
|
|
16942
16991
|
maxVoltageRating: voltage.optional(),
|
|
16943
|
-
schShowRatings:
|
|
16944
|
-
polarized:
|
|
16945
|
-
decouplingFor:
|
|
16946
|
-
decouplingTo:
|
|
16947
|
-
bypassFor:
|
|
16948
|
-
bypassTo:
|
|
16949
|
-
maxDecouplingTraceLength:
|
|
16992
|
+
schShowRatings: z58.boolean().optional().default(false),
|
|
16993
|
+
polarized: z58.boolean().optional().default(false),
|
|
16994
|
+
decouplingFor: z58.string().optional(),
|
|
16995
|
+
decouplingTo: z58.string().optional(),
|
|
16996
|
+
bypassFor: z58.string().optional(),
|
|
16997
|
+
bypassTo: z58.string().optional(),
|
|
16998
|
+
maxDecouplingTraceLength: z58.number().optional(),
|
|
16950
16999
|
schOrientation: schematicOrientation.optional(),
|
|
16951
17000
|
schSize: schematicSymbolSize.optional(),
|
|
16952
17001
|
connections: createConnectionsProp(capacitorPinLabels).optional()
|
|
@@ -16956,14 +17005,14 @@ expectTypesMatch(true);
|
|
|
16956
17005
|
|
|
16957
17006
|
// lib/components/net.ts
|
|
16958
17007
|
import { distance as distance18 } from "circuit-json";
|
|
16959
|
-
import { z as
|
|
16960
|
-
var netProps =
|
|
16961
|
-
name:
|
|
16962
|
-
connectsTo:
|
|
16963
|
-
routingPhaseIndex:
|
|
16964
|
-
highlightColor:
|
|
16965
|
-
isPowerNet:
|
|
16966
|
-
isGroundNet:
|
|
17008
|
+
import { z as z59 } from "zod";
|
|
17009
|
+
var netProps = z59.object({
|
|
17010
|
+
name: z59.string(),
|
|
17011
|
+
connectsTo: z59.string().or(z59.array(z59.string())).optional(),
|
|
17012
|
+
routingPhaseIndex: z59.number().nullable().optional(),
|
|
17013
|
+
highlightColor: z59.string().optional(),
|
|
17014
|
+
isPowerNet: z59.boolean().optional(),
|
|
17015
|
+
isGroundNet: z59.boolean().optional(),
|
|
16967
17016
|
nominalTraceWidth: distance18.optional()
|
|
16968
17017
|
});
|
|
16969
17018
|
expectTypesMatch(true);
|
|
@@ -16977,55 +17026,55 @@ var fiducialProps = commonComponentProps.extend({
|
|
|
16977
17026
|
expectTypesMatch(true);
|
|
16978
17027
|
|
|
16979
17028
|
// lib/components/constrainedlayout.ts
|
|
16980
|
-
import { z as
|
|
16981
|
-
var constrainedLayoutProps =
|
|
16982
|
-
name:
|
|
16983
|
-
pcbOnly:
|
|
16984
|
-
schOnly:
|
|
17029
|
+
import { z as z61 } from "zod";
|
|
17030
|
+
var constrainedLayoutProps = z61.object({
|
|
17031
|
+
name: z61.string().optional(),
|
|
17032
|
+
pcbOnly: z61.boolean().optional(),
|
|
17033
|
+
schOnly: z61.boolean().optional()
|
|
16985
17034
|
});
|
|
16986
17035
|
expectTypesMatch(true);
|
|
16987
17036
|
|
|
16988
17037
|
// lib/components/constraint.ts
|
|
16989
|
-
import { z as
|
|
16990
|
-
var pcbXDistConstraintProps =
|
|
16991
|
-
pcb:
|
|
17038
|
+
import { z as z62 } from "zod";
|
|
17039
|
+
var pcbXDistConstraintProps = z62.object({
|
|
17040
|
+
pcb: z62.literal(true).optional(),
|
|
16992
17041
|
xDist: distance,
|
|
16993
|
-
left:
|
|
16994
|
-
right:
|
|
16995
|
-
edgeToEdge:
|
|
16996
|
-
centerToCenter:
|
|
17042
|
+
left: z62.string(),
|
|
17043
|
+
right: z62.string(),
|
|
17044
|
+
edgeToEdge: z62.literal(true).optional(),
|
|
17045
|
+
centerToCenter: z62.literal(true).optional()
|
|
16997
17046
|
});
|
|
16998
17047
|
expectTypesMatch(
|
|
16999
17048
|
true
|
|
17000
17049
|
);
|
|
17001
|
-
var pcbYDistConstraintProps =
|
|
17002
|
-
pcb:
|
|
17050
|
+
var pcbYDistConstraintProps = z62.object({
|
|
17051
|
+
pcb: z62.literal(true).optional(),
|
|
17003
17052
|
yDist: distance,
|
|
17004
|
-
top:
|
|
17005
|
-
bottom:
|
|
17006
|
-
edgeToEdge:
|
|
17007
|
-
centerToCenter:
|
|
17053
|
+
top: z62.string(),
|
|
17054
|
+
bottom: z62.string(),
|
|
17055
|
+
edgeToEdge: z62.literal(true).optional(),
|
|
17056
|
+
centerToCenter: z62.literal(true).optional()
|
|
17008
17057
|
});
|
|
17009
17058
|
expectTypesMatch(
|
|
17010
17059
|
true
|
|
17011
17060
|
);
|
|
17012
|
-
var pcbSameYConstraintProps =
|
|
17013
|
-
pcb:
|
|
17014
|
-
sameY:
|
|
17015
|
-
for:
|
|
17061
|
+
var pcbSameYConstraintProps = z62.object({
|
|
17062
|
+
pcb: z62.literal(true).optional(),
|
|
17063
|
+
sameY: z62.literal(true).optional(),
|
|
17064
|
+
for: z62.array(z62.string())
|
|
17016
17065
|
});
|
|
17017
17066
|
expectTypesMatch(
|
|
17018
17067
|
true
|
|
17019
17068
|
);
|
|
17020
|
-
var pcbSameXConstraintProps =
|
|
17021
|
-
pcb:
|
|
17022
|
-
sameX:
|
|
17023
|
-
for:
|
|
17069
|
+
var pcbSameXConstraintProps = z62.object({
|
|
17070
|
+
pcb: z62.literal(true).optional(),
|
|
17071
|
+
sameX: z62.literal(true).optional(),
|
|
17072
|
+
for: z62.array(z62.string())
|
|
17024
17073
|
});
|
|
17025
17074
|
expectTypesMatch(
|
|
17026
17075
|
true
|
|
17027
17076
|
);
|
|
17028
|
-
var constraintProps =
|
|
17077
|
+
var constraintProps = z62.union([
|
|
17029
17078
|
pcbXDistConstraintProps,
|
|
17030
17079
|
pcbYDistConstraintProps,
|
|
17031
17080
|
pcbSameYConstraintProps,
|
|
@@ -17034,13 +17083,13 @@ var constraintProps = z59.union([
|
|
|
17034
17083
|
expectTypesMatch(true);
|
|
17035
17084
|
|
|
17036
17085
|
// lib/components/cutout.ts
|
|
17037
|
-
import { z as
|
|
17086
|
+
import { z as z63 } from "zod";
|
|
17038
17087
|
var rectCutoutProps = pcbLayoutProps.omit({
|
|
17039
17088
|
layer: true,
|
|
17040
17089
|
pcbRotation: true
|
|
17041
17090
|
}).extend({
|
|
17042
|
-
name:
|
|
17043
|
-
shape:
|
|
17091
|
+
name: z63.string().optional(),
|
|
17092
|
+
shape: z63.literal("rect"),
|
|
17044
17093
|
width: distance,
|
|
17045
17094
|
height: distance
|
|
17046
17095
|
});
|
|
@@ -17049,8 +17098,8 @@ var circleCutoutProps = pcbLayoutProps.omit({
|
|
|
17049
17098
|
layer: true,
|
|
17050
17099
|
pcbRotation: true
|
|
17051
17100
|
}).extend({
|
|
17052
|
-
name:
|
|
17053
|
-
shape:
|
|
17101
|
+
name: z63.string().optional(),
|
|
17102
|
+
shape: z63.literal("circle"),
|
|
17054
17103
|
radius: distance
|
|
17055
17104
|
});
|
|
17056
17105
|
expectTypesMatch(true);
|
|
@@ -17058,36 +17107,36 @@ var polygonCutoutProps = pcbLayoutProps.omit({
|
|
|
17058
17107
|
layer: true,
|
|
17059
17108
|
pcbRotation: true
|
|
17060
17109
|
}).extend({
|
|
17061
|
-
name:
|
|
17062
|
-
shape:
|
|
17063
|
-
points:
|
|
17110
|
+
name: z63.string().optional(),
|
|
17111
|
+
shape: z63.literal("polygon"),
|
|
17112
|
+
points: z63.array(point)
|
|
17064
17113
|
});
|
|
17065
17114
|
expectTypesMatch(true);
|
|
17066
|
-
var cutoutProps =
|
|
17115
|
+
var cutoutProps = z63.discriminatedUnion("shape", [
|
|
17067
17116
|
rectCutoutProps,
|
|
17068
17117
|
circleCutoutProps,
|
|
17069
17118
|
polygonCutoutProps
|
|
17070
17119
|
]);
|
|
17071
17120
|
|
|
17072
17121
|
// lib/components/drc-check.ts
|
|
17073
|
-
import { z as
|
|
17074
|
-
var drcCheckProps =
|
|
17075
|
-
name:
|
|
17122
|
+
import { z as z64 } from "zod";
|
|
17123
|
+
var drcCheckProps = z64.object({
|
|
17124
|
+
name: z64.string().optional(),
|
|
17076
17125
|
checkFn: customDrcCheckFn
|
|
17077
17126
|
});
|
|
17078
17127
|
expectTypesMatch(true);
|
|
17079
17128
|
|
|
17080
17129
|
// lib/components/smtpad.ts
|
|
17081
|
-
import { z as
|
|
17130
|
+
import { z as z65 } from "zod";
|
|
17082
17131
|
var rectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
17083
|
-
name:
|
|
17084
|
-
shape:
|
|
17132
|
+
name: z65.string().optional(),
|
|
17133
|
+
shape: z65.literal("rect"),
|
|
17085
17134
|
width: distance,
|
|
17086
17135
|
height: distance,
|
|
17087
17136
|
rectBorderRadius: distance.optional(),
|
|
17088
17137
|
cornerRadius: distance.optional(),
|
|
17089
17138
|
portHints: portHints.optional(),
|
|
17090
|
-
coveredWithSolderMask:
|
|
17139
|
+
coveredWithSolderMask: z65.boolean().optional(),
|
|
17091
17140
|
solderMaskMargin: distance.optional(),
|
|
17092
17141
|
solderMaskMarginLeft: distance.optional(),
|
|
17093
17142
|
solderMaskMarginRight: distance.optional(),
|
|
@@ -17096,14 +17145,14 @@ var rectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
|
17096
17145
|
});
|
|
17097
17146
|
expectTypesMatch(true);
|
|
17098
17147
|
var rotatedRectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
17099
|
-
name:
|
|
17100
|
-
shape:
|
|
17148
|
+
name: z65.string().optional(),
|
|
17149
|
+
shape: z65.literal("rotated_rect"),
|
|
17101
17150
|
width: distance,
|
|
17102
17151
|
height: distance,
|
|
17103
|
-
ccwRotation:
|
|
17152
|
+
ccwRotation: z65.number(),
|
|
17104
17153
|
cornerRadius: distance.optional(),
|
|
17105
17154
|
portHints: portHints.optional(),
|
|
17106
|
-
coveredWithSolderMask:
|
|
17155
|
+
coveredWithSolderMask: z65.boolean().optional(),
|
|
17107
17156
|
solderMaskMargin: distance.optional(),
|
|
17108
17157
|
solderMaskMarginLeft: distance.optional(),
|
|
17109
17158
|
solderMaskMarginRight: distance.optional(),
|
|
@@ -17112,35 +17161,35 @@ var rotatedRectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
|
17112
17161
|
});
|
|
17113
17162
|
expectTypesMatch(true);
|
|
17114
17163
|
var circleSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
17115
|
-
name:
|
|
17116
|
-
shape:
|
|
17164
|
+
name: z65.string().optional(),
|
|
17165
|
+
shape: z65.literal("circle"),
|
|
17117
17166
|
radius: distance,
|
|
17118
17167
|
portHints: portHints.optional(),
|
|
17119
|
-
coveredWithSolderMask:
|
|
17168
|
+
coveredWithSolderMask: z65.boolean().optional(),
|
|
17120
17169
|
solderMaskMargin: distance.optional()
|
|
17121
17170
|
});
|
|
17122
17171
|
expectTypesMatch(true);
|
|
17123
17172
|
var pillSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
17124
|
-
name:
|
|
17125
|
-
shape:
|
|
17173
|
+
name: z65.string().optional(),
|
|
17174
|
+
shape: z65.literal("pill"),
|
|
17126
17175
|
width: distance,
|
|
17127
17176
|
height: distance,
|
|
17128
17177
|
radius: distance,
|
|
17129
17178
|
portHints: portHints.optional(),
|
|
17130
|
-
coveredWithSolderMask:
|
|
17179
|
+
coveredWithSolderMask: z65.boolean().optional(),
|
|
17131
17180
|
solderMaskMargin: distance.optional()
|
|
17132
17181
|
});
|
|
17133
17182
|
expectTypesMatch(true);
|
|
17134
17183
|
var polygonSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
17135
|
-
name:
|
|
17136
|
-
shape:
|
|
17137
|
-
points:
|
|
17184
|
+
name: z65.string().optional(),
|
|
17185
|
+
shape: z65.literal("polygon"),
|
|
17186
|
+
points: z65.array(point),
|
|
17138
17187
|
portHints: portHints.optional(),
|
|
17139
|
-
coveredWithSolderMask:
|
|
17188
|
+
coveredWithSolderMask: z65.boolean().optional(),
|
|
17140
17189
|
solderMaskMargin: distance.optional()
|
|
17141
17190
|
});
|
|
17142
17191
|
expectTypesMatch(true);
|
|
17143
|
-
var smtPadProps =
|
|
17192
|
+
var smtPadProps = z65.discriminatedUnion("shape", [
|
|
17144
17193
|
circleSmtPadProps,
|
|
17145
17194
|
rectSmtPadProps,
|
|
17146
17195
|
rotatedRectSmtPadProps,
|
|
@@ -17150,63 +17199,63 @@ var smtPadProps = z62.discriminatedUnion("shape", [
|
|
|
17150
17199
|
expectTypesMatch(true);
|
|
17151
17200
|
|
|
17152
17201
|
// lib/components/solderpaste.ts
|
|
17153
|
-
import { z as
|
|
17202
|
+
import { z as z66 } from "zod";
|
|
17154
17203
|
var rectSolderPasteProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
17155
|
-
shape:
|
|
17204
|
+
shape: z66.literal("rect"),
|
|
17156
17205
|
width: distance,
|
|
17157
17206
|
height: distance
|
|
17158
17207
|
});
|
|
17159
17208
|
expectTypesMatch(true);
|
|
17160
17209
|
var circleSolderPasteProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
17161
|
-
shape:
|
|
17210
|
+
shape: z66.literal("circle"),
|
|
17162
17211
|
radius: distance
|
|
17163
17212
|
});
|
|
17164
17213
|
expectTypesMatch(true);
|
|
17165
|
-
var solderPasteProps =
|
|
17214
|
+
var solderPasteProps = z66.union([
|
|
17166
17215
|
circleSolderPasteProps,
|
|
17167
17216
|
rectSolderPasteProps
|
|
17168
17217
|
]);
|
|
17169
17218
|
expectTypesMatch(true);
|
|
17170
17219
|
|
|
17171
17220
|
// lib/components/hole.ts
|
|
17172
|
-
import { z as
|
|
17221
|
+
import { z as z67 } from "zod";
|
|
17173
17222
|
var circleHoleProps = pcbLayoutProps.extend({
|
|
17174
|
-
name:
|
|
17175
|
-
shape:
|
|
17223
|
+
name: z67.string().optional(),
|
|
17224
|
+
shape: z67.literal("circle").optional(),
|
|
17176
17225
|
diameter: distance.optional(),
|
|
17177
17226
|
radius: distance.optional(),
|
|
17178
17227
|
solderMaskMargin: distance.optional(),
|
|
17179
|
-
coveredWithSolderMask:
|
|
17228
|
+
coveredWithSolderMask: z67.boolean().optional()
|
|
17180
17229
|
}).transform((d) => ({
|
|
17181
17230
|
...d,
|
|
17182
17231
|
diameter: d.diameter ?? 2 * d.radius,
|
|
17183
17232
|
radius: d.radius ?? d.diameter / 2
|
|
17184
17233
|
}));
|
|
17185
17234
|
var pillHoleProps = pcbLayoutProps.extend({
|
|
17186
|
-
name:
|
|
17187
|
-
shape:
|
|
17235
|
+
name: z67.string().optional(),
|
|
17236
|
+
shape: z67.literal("pill"),
|
|
17188
17237
|
width: distance,
|
|
17189
17238
|
height: distance,
|
|
17190
17239
|
solderMaskMargin: distance.optional(),
|
|
17191
|
-
coveredWithSolderMask:
|
|
17240
|
+
coveredWithSolderMask: z67.boolean().optional()
|
|
17192
17241
|
});
|
|
17193
17242
|
var ovalHoleProps = pcbLayoutProps.extend({
|
|
17194
|
-
name:
|
|
17195
|
-
shape:
|
|
17243
|
+
name: z67.string().optional(),
|
|
17244
|
+
shape: z67.literal("oval"),
|
|
17196
17245
|
width: distance,
|
|
17197
17246
|
height: distance,
|
|
17198
17247
|
solderMaskMargin: distance.optional(),
|
|
17199
|
-
coveredWithSolderMask:
|
|
17248
|
+
coveredWithSolderMask: z67.boolean().optional()
|
|
17200
17249
|
});
|
|
17201
17250
|
var rectHoleProps = pcbLayoutProps.extend({
|
|
17202
|
-
name:
|
|
17203
|
-
shape:
|
|
17251
|
+
name: z67.string().optional(),
|
|
17252
|
+
shape: z67.literal("rect"),
|
|
17204
17253
|
width: distance,
|
|
17205
17254
|
height: distance,
|
|
17206
17255
|
solderMaskMargin: distance.optional(),
|
|
17207
|
-
coveredWithSolderMask:
|
|
17256
|
+
coveredWithSolderMask: z67.boolean().optional()
|
|
17208
17257
|
});
|
|
17209
|
-
var holeProps =
|
|
17258
|
+
var holeProps = z67.union([
|
|
17210
17259
|
circleHoleProps,
|
|
17211
17260
|
pillHoleProps,
|
|
17212
17261
|
ovalHoleProps,
|
|
@@ -17216,57 +17265,57 @@ expectTypesMatch(true);
|
|
|
17216
17265
|
|
|
17217
17266
|
// lib/components/trace.ts
|
|
17218
17267
|
import { distance as distance19, layer_ref as layer_ref4, route_hint_point as route_hint_point2 } from "circuit-json";
|
|
17219
|
-
import { z as
|
|
17220
|
-
var portRef =
|
|
17221
|
-
|
|
17222
|
-
|
|
17268
|
+
import { z as z68 } from "zod";
|
|
17269
|
+
var portRef = z68.union([
|
|
17270
|
+
z68.string(),
|
|
17271
|
+
z68.custom(
|
|
17223
17272
|
(v) => typeof v === "object" && v !== null && "getPortSelector" in v && typeof v.getPortSelector === "function"
|
|
17224
17273
|
)
|
|
17225
17274
|
]);
|
|
17226
17275
|
var pcbPathPoint = point.extend({
|
|
17227
|
-
via:
|
|
17276
|
+
via: z68.boolean().optional(),
|
|
17228
17277
|
fromLayer: layer_ref4.optional(),
|
|
17229
17278
|
toLayer: layer_ref4.optional()
|
|
17230
17279
|
}).superRefine((value, ctx) => {
|
|
17231
17280
|
if (value.via) {
|
|
17232
17281
|
if (!value.toLayer) {
|
|
17233
17282
|
ctx.addIssue({
|
|
17234
|
-
code:
|
|
17283
|
+
code: z68.ZodIssueCode.custom,
|
|
17235
17284
|
message: "toLayer is required when via is true",
|
|
17236
17285
|
path: ["toLayer"]
|
|
17237
17286
|
});
|
|
17238
17287
|
}
|
|
17239
17288
|
} else if (value.fromLayer || value.toLayer) {
|
|
17240
17289
|
ctx.addIssue({
|
|
17241
|
-
code:
|
|
17290
|
+
code: z68.ZodIssueCode.custom,
|
|
17242
17291
|
message: "fromLayer/toLayer are only allowed when via is true",
|
|
17243
17292
|
path: ["via"]
|
|
17244
17293
|
});
|
|
17245
17294
|
}
|
|
17246
17295
|
});
|
|
17247
|
-
var pcbPath =
|
|
17248
|
-
var baseTraceProps =
|
|
17249
|
-
key:
|
|
17250
|
-
name:
|
|
17251
|
-
displayName:
|
|
17296
|
+
var pcbPath = z68.array(z68.union([pcbPathPoint, z68.string()]));
|
|
17297
|
+
var baseTraceProps = z68.object({
|
|
17298
|
+
key: z68.string().optional(),
|
|
17299
|
+
name: z68.string().optional(),
|
|
17300
|
+
displayName: z68.string().optional(),
|
|
17252
17301
|
thickness: distance19.optional(),
|
|
17253
17302
|
width: distance19.optional().describe("Alias for trace thickness"),
|
|
17254
|
-
schematicRouteHints:
|
|
17255
|
-
pcbRouteHints:
|
|
17256
|
-
pcbPathRelativeTo:
|
|
17303
|
+
schematicRouteHints: z68.array(point).optional(),
|
|
17304
|
+
pcbRouteHints: z68.array(route_hint_point2).optional(),
|
|
17305
|
+
pcbPathRelativeTo: z68.string().optional(),
|
|
17257
17306
|
pcbPath: pcbPath.optional(),
|
|
17258
|
-
pcbPaths:
|
|
17259
|
-
routingPhaseIndex:
|
|
17260
|
-
pcbStraightLine:
|
|
17261
|
-
schDisplayLabel:
|
|
17262
|
-
schStroke:
|
|
17263
|
-
highlightColor:
|
|
17307
|
+
pcbPaths: z68.array(pcbPath).optional(),
|
|
17308
|
+
routingPhaseIndex: z68.number().nullable().optional(),
|
|
17309
|
+
pcbStraightLine: z68.boolean().optional().describe("Draw a straight pcb trace between the connected points"),
|
|
17310
|
+
schDisplayLabel: z68.string().optional(),
|
|
17311
|
+
schStroke: z68.string().optional(),
|
|
17312
|
+
highlightColor: z68.string().optional(),
|
|
17264
17313
|
maxLength: distance19.optional(),
|
|
17265
|
-
connectsTo:
|
|
17314
|
+
connectsTo: z68.string().or(z68.array(z68.string())).optional()
|
|
17266
17315
|
});
|
|
17267
|
-
var traceProps =
|
|
17316
|
+
var traceProps = z68.union([
|
|
17268
17317
|
baseTraceProps.extend({
|
|
17269
|
-
path:
|
|
17318
|
+
path: z68.array(portRef)
|
|
17270
17319
|
}),
|
|
17271
17320
|
baseTraceProps.extend({
|
|
17272
17321
|
from: portRef,
|
|
@@ -17279,19 +17328,19 @@ var traceProps = z65.union([
|
|
|
17279
17328
|
]);
|
|
17280
17329
|
|
|
17281
17330
|
// lib/components/differentialpair.ts
|
|
17282
|
-
import { z as
|
|
17283
|
-
var differentialPairProps =
|
|
17284
|
-
name:
|
|
17285
|
-
positiveConnection:
|
|
17286
|
-
negativeConnection:
|
|
17287
|
-
maxLengthSkew:
|
|
17331
|
+
import { z as z69 } from "zod";
|
|
17332
|
+
var differentialPairProps = z69.object({
|
|
17333
|
+
name: z69.string().optional(),
|
|
17334
|
+
positiveConnection: z69.string(),
|
|
17335
|
+
negativeConnection: z69.string(),
|
|
17336
|
+
maxLengthSkew: z69.number().min(0).max(1).optional()
|
|
17288
17337
|
});
|
|
17289
17338
|
expectTypesMatch(true);
|
|
17290
17339
|
|
|
17291
17340
|
// lib/components/footprint.ts
|
|
17292
17341
|
import { layer_ref as layer_ref5 } from "circuit-json";
|
|
17293
|
-
import { z as
|
|
17294
|
-
var footprintInsertionDirection =
|
|
17342
|
+
import { z as z70 } from "zod";
|
|
17343
|
+
var footprintInsertionDirection = z70.enum([
|
|
17295
17344
|
"from_above",
|
|
17296
17345
|
"from_left",
|
|
17297
17346
|
"from_right",
|
|
@@ -17299,11 +17348,11 @@ var footprintInsertionDirection = z67.enum([
|
|
|
17299
17348
|
"from_back"
|
|
17300
17349
|
]);
|
|
17301
17350
|
expectTypesMatch(true);
|
|
17302
|
-
var footprintProps =
|
|
17303
|
-
children:
|
|
17304
|
-
name:
|
|
17351
|
+
var footprintProps = z70.object({
|
|
17352
|
+
children: z70.any().optional(),
|
|
17353
|
+
name: z70.string().optional(),
|
|
17305
17354
|
originalLayer: layer_ref5.default("top").optional(),
|
|
17306
|
-
circuitJson:
|
|
17355
|
+
circuitJson: z70.array(z70.any()).optional(),
|
|
17307
17356
|
src: footprintProp.describe("Can be a footprint or kicad string").optional(),
|
|
17308
17357
|
insertionDirection: footprintInsertionDirection.optional().describe(
|
|
17309
17358
|
"Direction a cable or mating part is inserted into this footprint in its unrotated orientation."
|
|
@@ -17312,19 +17361,19 @@ var footprintProps = z67.object({
|
|
|
17312
17361
|
expectTypesMatch(true);
|
|
17313
17362
|
|
|
17314
17363
|
// lib/components/symbol.ts
|
|
17315
|
-
import { z as
|
|
17316
|
-
var symbolProps =
|
|
17317
|
-
originalFacingDirection:
|
|
17364
|
+
import { z as z71 } from "zod";
|
|
17365
|
+
var symbolProps = z71.object({
|
|
17366
|
+
originalFacingDirection: z71.enum(["up", "down", "left", "right"]).default("right").optional(),
|
|
17318
17367
|
width: distance.optional(),
|
|
17319
17368
|
height: distance.optional(),
|
|
17320
|
-
name:
|
|
17369
|
+
name: z71.string().optional()
|
|
17321
17370
|
});
|
|
17322
17371
|
expectTypesMatch(true);
|
|
17323
17372
|
|
|
17324
17373
|
// lib/components/battery.ts
|
|
17325
17374
|
import { voltage as voltage2 } from "circuit-json";
|
|
17326
|
-
import { z as
|
|
17327
|
-
var capacity =
|
|
17375
|
+
import { z as z72 } from "zod";
|
|
17376
|
+
var capacity = z72.number().or(z72.string().endsWith("mAh")).transform((v) => {
|
|
17328
17377
|
if (typeof v === "string") {
|
|
17329
17378
|
const valString = v.replace("mAh", "");
|
|
17330
17379
|
const num = Number.parseFloat(valString);
|
|
@@ -17338,14 +17387,14 @@ var capacity = z69.number().or(z69.string().endsWith("mAh")).transform((v) => {
|
|
|
17338
17387
|
var batteryProps = commonComponentProps.extend({
|
|
17339
17388
|
capacity: capacity.optional(),
|
|
17340
17389
|
voltage: voltage2.optional(),
|
|
17341
|
-
standard:
|
|
17390
|
+
standard: z72.enum(["AA", "AAA", "9V", "CR2032", "18650", "C"]).optional(),
|
|
17342
17391
|
schOrientation: schematicOrientation.optional()
|
|
17343
17392
|
});
|
|
17344
17393
|
var batteryPins = lrPolarPins;
|
|
17345
17394
|
expectTypesMatch(true);
|
|
17346
17395
|
|
|
17347
17396
|
// lib/components/mountedboard.ts
|
|
17348
|
-
import { z as
|
|
17397
|
+
import { z as z73 } from "zod";
|
|
17349
17398
|
var mountedboardProps = subcircuitGroupProps.extend({
|
|
17350
17399
|
manufacturerPartNumber: chipProps.shape.manufacturerPartNumber,
|
|
17351
17400
|
pinLabels: chipProps.shape.pinLabels,
|
|
@@ -17357,7 +17406,7 @@ var mountedboardProps = subcircuitGroupProps.extend({
|
|
|
17357
17406
|
internallyConnectedPins: chipProps.shape.internallyConnectedPins,
|
|
17358
17407
|
externallyConnectedPins: chipProps.shape.externallyConnectedPins,
|
|
17359
17408
|
boardToBoardDistance: distance.optional(),
|
|
17360
|
-
mountOrientation:
|
|
17409
|
+
mountOrientation: z73.enum(["faceDown", "faceUp"]).optional()
|
|
17361
17410
|
});
|
|
17362
17411
|
expectTypesMatch(true);
|
|
17363
17412
|
|
|
@@ -17365,29 +17414,29 @@ expectTypesMatch(true);
|
|
|
17365
17414
|
import { distance as distance20 } from "circuit-json";
|
|
17366
17415
|
|
|
17367
17416
|
// lib/common/pcbOrientation.ts
|
|
17368
|
-
import { z as
|
|
17369
|
-
var pcbOrientation =
|
|
17417
|
+
import { z as z74 } from "zod";
|
|
17418
|
+
var pcbOrientation = z74.enum(["vertical", "horizontal"]).describe(
|
|
17370
17419
|
"vertical means pins go 1->2 downward and horizontal means pins go 1->2 rightward"
|
|
17371
17420
|
);
|
|
17372
17421
|
expectTypesMatch(true);
|
|
17373
17422
|
|
|
17374
17423
|
// lib/components/pin-header.ts
|
|
17375
|
-
import { z as
|
|
17424
|
+
import { z as z75 } from "zod";
|
|
17376
17425
|
var pinHeaderProps = commonComponentProps.extend({
|
|
17377
|
-
pinCount:
|
|
17426
|
+
pinCount: z75.number(),
|
|
17378
17427
|
pitch: distance20.optional(),
|
|
17379
|
-
schFacingDirection:
|
|
17380
|
-
gender:
|
|
17381
|
-
showSilkscreenPinLabels:
|
|
17382
|
-
pcbPinLabels:
|
|
17383
|
-
doubleRow:
|
|
17384
|
-
rightAngle:
|
|
17428
|
+
schFacingDirection: z75.enum(["up", "down", "left", "right"]).optional(),
|
|
17429
|
+
gender: z75.enum(["male", "female", "unpopulated"]).optional().default("male"),
|
|
17430
|
+
showSilkscreenPinLabels: z75.boolean().optional(),
|
|
17431
|
+
pcbPinLabels: z75.record(z75.string(), z75.string()).optional(),
|
|
17432
|
+
doubleRow: z75.boolean().optional(),
|
|
17433
|
+
rightAngle: z75.boolean().optional(),
|
|
17385
17434
|
pcbOrientation: pcbOrientation.optional(),
|
|
17386
17435
|
holeDiameter: distance20.optional(),
|
|
17387
17436
|
platedDiameter: distance20.optional(),
|
|
17388
|
-
pinLabels:
|
|
17389
|
-
connections:
|
|
17390
|
-
facingDirection:
|
|
17437
|
+
pinLabels: z75.record(z75.string(), schematicPinLabel).or(z75.array(schematicPinLabel)).optional(),
|
|
17438
|
+
connections: z75.custom().pipe(z75.record(z75.string(), connectionTarget)).optional(),
|
|
17439
|
+
facingDirection: z75.enum(["left", "right"]).optional(),
|
|
17391
17440
|
schPinArrangement: schematicPinArrangement.optional(),
|
|
17392
17441
|
schPinStyle: schematicPinStyle.optional(),
|
|
17393
17442
|
schPinSpacing: distance20.optional(),
|
|
@@ -17397,29 +17446,29 @@ var pinHeaderProps = commonComponentProps.extend({
|
|
|
17397
17446
|
expectTypesMatch(true);
|
|
17398
17447
|
|
|
17399
17448
|
// lib/components/netalias.ts
|
|
17400
|
-
import { z as
|
|
17449
|
+
import { z as z76 } from "zod";
|
|
17401
17450
|
import { rotation as rotation3 } from "circuit-json";
|
|
17402
|
-
var netAliasProps =
|
|
17403
|
-
net:
|
|
17404
|
-
connection:
|
|
17451
|
+
var netAliasProps = z76.object({
|
|
17452
|
+
net: z76.string().optional(),
|
|
17453
|
+
connection: z76.string().optional(),
|
|
17405
17454
|
schX: distance.optional(),
|
|
17406
17455
|
schY: distance.optional(),
|
|
17407
17456
|
schRotation: rotation3.optional(),
|
|
17408
|
-
anchorSide:
|
|
17457
|
+
anchorSide: z76.enum(["left", "top", "right", "bottom"]).optional()
|
|
17409
17458
|
});
|
|
17410
17459
|
expectTypesMatch(true);
|
|
17411
17460
|
|
|
17412
17461
|
// lib/components/netlabel.ts
|
|
17413
|
-
import { z as
|
|
17462
|
+
import { z as z77 } from "zod";
|
|
17414
17463
|
import { rotation as rotation4 } from "circuit-json";
|
|
17415
|
-
var netLabelProps =
|
|
17416
|
-
net:
|
|
17417
|
-
connection:
|
|
17418
|
-
connectsTo:
|
|
17464
|
+
var netLabelProps = z77.object({
|
|
17465
|
+
net: z77.string().optional(),
|
|
17466
|
+
connection: z77.string().optional(),
|
|
17467
|
+
connectsTo: z77.string().or(z77.array(z77.string())).optional(),
|
|
17419
17468
|
schX: distance.optional(),
|
|
17420
17469
|
schY: distance.optional(),
|
|
17421
17470
|
schRotation: rotation4.optional(),
|
|
17422
|
-
anchorSide:
|
|
17471
|
+
anchorSide: z77.enum(["left", "top", "right", "bottom"]).optional()
|
|
17423
17472
|
});
|
|
17424
17473
|
expectTypesMatch(true);
|
|
17425
17474
|
|
|
@@ -17434,52 +17483,52 @@ expectTypesMatch(true);
|
|
|
17434
17483
|
|
|
17435
17484
|
// lib/components/analogsimulation.ts
|
|
17436
17485
|
import { ms } from "circuit-json";
|
|
17437
|
-
import { z as
|
|
17438
|
-
var spiceEngine =
|
|
17486
|
+
import { z as z79 } from "zod";
|
|
17487
|
+
var spiceEngine = z79.custom(
|
|
17439
17488
|
(value) => typeof value === "string"
|
|
17440
17489
|
);
|
|
17441
|
-
var spiceOptions =
|
|
17442
|
-
method:
|
|
17443
|
-
reltol:
|
|
17444
|
-
abstol:
|
|
17445
|
-
vntol:
|
|
17490
|
+
var spiceOptions = z79.object({
|
|
17491
|
+
method: z79.enum(["trap", "gear"]).optional(),
|
|
17492
|
+
reltol: z79.union([z79.number(), z79.string()]).optional(),
|
|
17493
|
+
abstol: z79.union([z79.number(), z79.string()]).optional(),
|
|
17494
|
+
vntol: z79.union([z79.number(), z79.string()]).optional()
|
|
17446
17495
|
});
|
|
17447
|
-
var analogSimulationProps =
|
|
17448
|
-
name:
|
|
17449
|
-
simulationType:
|
|
17496
|
+
var analogSimulationProps = z79.object({
|
|
17497
|
+
name: z79.string().optional(),
|
|
17498
|
+
simulationType: z79.literal("spice_transient_analysis").default("spice_transient_analysis"),
|
|
17450
17499
|
duration: ms.optional(),
|
|
17451
17500
|
startTime: ms.optional(),
|
|
17452
17501
|
timePerStep: ms.optional(),
|
|
17453
17502
|
spiceEngine: spiceEngine.optional(),
|
|
17454
17503
|
spiceOptions: spiceOptions.optional(),
|
|
17455
|
-
graphIndependentAxes:
|
|
17504
|
+
graphIndependentAxes: z79.boolean().optional()
|
|
17456
17505
|
});
|
|
17457
17506
|
expectTypesMatch(
|
|
17458
17507
|
true
|
|
17459
17508
|
);
|
|
17460
17509
|
|
|
17461
17510
|
// lib/components/autoroutingphase.ts
|
|
17462
|
-
import { z as
|
|
17463
|
-
var autoroutingPhaseProps =
|
|
17464
|
-
key:
|
|
17465
|
-
name:
|
|
17511
|
+
import { z as z80 } from "zod";
|
|
17512
|
+
var autoroutingPhaseProps = z80.object({
|
|
17513
|
+
key: z80.any().optional(),
|
|
17514
|
+
name: z80.string().optional(),
|
|
17466
17515
|
autorouter: autorouterProp.optional(),
|
|
17467
|
-
phaseIndex:
|
|
17516
|
+
phaseIndex: z80.number().optional(),
|
|
17468
17517
|
...routingTolerances.shape,
|
|
17469
|
-
region:
|
|
17470
|
-
shape:
|
|
17471
|
-
minX:
|
|
17472
|
-
maxX:
|
|
17473
|
-
minY:
|
|
17474
|
-
maxY:
|
|
17518
|
+
region: z80.object({
|
|
17519
|
+
shape: z80.literal("rect").optional(),
|
|
17520
|
+
minX: z80.number(),
|
|
17521
|
+
maxX: z80.number(),
|
|
17522
|
+
minY: z80.number(),
|
|
17523
|
+
maxY: z80.number()
|
|
17475
17524
|
}).optional(),
|
|
17476
|
-
connection:
|
|
17477
|
-
connections:
|
|
17478
|
-
reroute:
|
|
17525
|
+
connection: z80.string().optional(),
|
|
17526
|
+
connections: z80.array(z80.string()).optional(),
|
|
17527
|
+
reroute: z80.boolean().optional()
|
|
17479
17528
|
}).superRefine((value, ctx) => {
|
|
17480
17529
|
if (value.reroute !== void 0 && value.region === void 0 && value.connection === void 0 && value.connections === void 0) {
|
|
17481
17530
|
ctx.addIssue({
|
|
17482
|
-
code:
|
|
17531
|
+
code: z80.ZodIssueCode.custom,
|
|
17483
17532
|
message: "region, connection, or connections is required when reroute is provided",
|
|
17484
17533
|
path: ["region"]
|
|
17485
17534
|
});
|
|
@@ -17488,15 +17537,15 @@ var autoroutingPhaseProps = z77.object({
|
|
|
17488
17537
|
expectTypesMatch(true);
|
|
17489
17538
|
|
|
17490
17539
|
// lib/components/spicemodel.ts
|
|
17491
|
-
import { z as
|
|
17492
|
-
var spicemodelProps =
|
|
17493
|
-
source:
|
|
17494
|
-
spicePinMapping:
|
|
17540
|
+
import { z as z81 } from "zod";
|
|
17541
|
+
var spicemodelProps = z81.object({
|
|
17542
|
+
source: z81.string(),
|
|
17543
|
+
spicePinMapping: z81.record(z81.string(), z81.string()).optional()
|
|
17495
17544
|
});
|
|
17496
17545
|
expectTypesMatch(true);
|
|
17497
17546
|
|
|
17498
17547
|
// lib/components/transistor.ts
|
|
17499
|
-
import { z as
|
|
17548
|
+
import { z as z82 } from "zod";
|
|
17500
17549
|
var transistorPinsLabels = [
|
|
17501
17550
|
"pin1",
|
|
17502
17551
|
"pin2",
|
|
@@ -17509,7 +17558,7 @@ var transistorPinsLabels = [
|
|
|
17509
17558
|
"drain"
|
|
17510
17559
|
];
|
|
17511
17560
|
var transistorProps = commonComponentProps.extend({
|
|
17512
|
-
type:
|
|
17561
|
+
type: z82.enum(["npn", "pnp", "bjt", "jfet", "mosfet", "igbt"]),
|
|
17513
17562
|
connections: createConnectionsProp(transistorPinsLabels).optional()
|
|
17514
17563
|
});
|
|
17515
17564
|
var transistorPins = [
|
|
@@ -17523,7 +17572,7 @@ var transistorPins = [
|
|
|
17523
17572
|
expectTypesMatch(true);
|
|
17524
17573
|
|
|
17525
17574
|
// lib/components/mosfet.ts
|
|
17526
|
-
import { z as
|
|
17575
|
+
import { z as z83 } from "zod";
|
|
17527
17576
|
var mosfetPins = [
|
|
17528
17577
|
"pin1",
|
|
17529
17578
|
"drain",
|
|
@@ -17533,11 +17582,11 @@ var mosfetPins = [
|
|
|
17533
17582
|
"gate"
|
|
17534
17583
|
];
|
|
17535
17584
|
var mosfetProps = commonComponentProps.extend({
|
|
17536
|
-
channelType:
|
|
17537
|
-
mosfetMode:
|
|
17538
|
-
symbolDrainSide:
|
|
17539
|
-
symbolSourceSide:
|
|
17540
|
-
symbolGateSide:
|
|
17585
|
+
channelType: z83.enum(["n", "p"]),
|
|
17586
|
+
mosfetMode: z83.enum(["enhancement", "depletion"]),
|
|
17587
|
+
symbolDrainSide: z83.enum(["left", "right", "top", "bottom"]).optional(),
|
|
17588
|
+
symbolSourceSide: z83.enum(["left", "right", "top", "bottom"]).optional(),
|
|
17589
|
+
symbolGateSide: z83.enum(["left", "right", "top", "bottom"]).optional(),
|
|
17541
17590
|
connections: createConnectionsProp(mosfetPins).optional()
|
|
17542
17591
|
});
|
|
17543
17592
|
expectTypesMatch(true);
|
|
@@ -17559,20 +17608,20 @@ expectTypesMatch(true);
|
|
|
17559
17608
|
|
|
17560
17609
|
// lib/components/inductor.ts
|
|
17561
17610
|
import { inductance } from "circuit-json";
|
|
17562
|
-
import { z as
|
|
17611
|
+
import { z as z85 } from "zod";
|
|
17563
17612
|
var inductorPins = lrPins;
|
|
17564
17613
|
var inductorProps = commonComponentProps.extend({
|
|
17565
17614
|
inductance,
|
|
17566
|
-
maxCurrentRating:
|
|
17615
|
+
maxCurrentRating: z85.union([z85.string(), z85.number()]).optional(),
|
|
17567
17616
|
schOrientation: schematicOrientation.optional(),
|
|
17568
17617
|
connections: createConnectionsProp(inductorPins).optional()
|
|
17569
17618
|
});
|
|
17570
17619
|
expectTypesMatch(true);
|
|
17571
17620
|
|
|
17572
17621
|
// lib/components/diode.ts
|
|
17573
|
-
import { z as
|
|
17622
|
+
import { z as z86 } from "zod";
|
|
17574
17623
|
var diodePins = lrPolarPins;
|
|
17575
|
-
var diodeConnectionKeys =
|
|
17624
|
+
var diodeConnectionKeys = z86.enum([
|
|
17576
17625
|
"anode",
|
|
17577
17626
|
"cathode",
|
|
17578
17627
|
"pin1",
|
|
@@ -17580,13 +17629,13 @@ var diodeConnectionKeys = z83.enum([
|
|
|
17580
17629
|
"pos",
|
|
17581
17630
|
"neg"
|
|
17582
17631
|
]);
|
|
17583
|
-
var connectionTarget3 =
|
|
17584
|
-
var connectionsProp2 =
|
|
17585
|
-
var diodePinLabelsProp =
|
|
17586
|
-
|
|
17587
|
-
schematicPinLabel.or(
|
|
17632
|
+
var connectionTarget3 = z86.string().or(z86.array(z86.string()).readonly()).or(z86.array(z86.string()));
|
|
17633
|
+
var connectionsProp2 = z86.record(diodeConnectionKeys, connectionTarget3);
|
|
17634
|
+
var diodePinLabelsProp = z86.record(
|
|
17635
|
+
z86.enum(diodePins),
|
|
17636
|
+
schematicPinLabel.or(z86.array(schematicPinLabel).readonly()).or(z86.array(schematicPinLabel))
|
|
17588
17637
|
);
|
|
17589
|
-
var diodeVariant =
|
|
17638
|
+
var diodeVariant = z86.enum([
|
|
17590
17639
|
"standard",
|
|
17591
17640
|
"schottky",
|
|
17592
17641
|
"zener",
|
|
@@ -17597,12 +17646,12 @@ var diodeVariant = z83.enum([
|
|
|
17597
17646
|
var diodeProps = commonComponentProps.extend({
|
|
17598
17647
|
connections: connectionsProp2.optional(),
|
|
17599
17648
|
variant: diodeVariant.optional().default("standard"),
|
|
17600
|
-
standard:
|
|
17601
|
-
schottky:
|
|
17602
|
-
zener:
|
|
17603
|
-
avalanche:
|
|
17604
|
-
photo:
|
|
17605
|
-
tvs:
|
|
17649
|
+
standard: z86.boolean().optional(),
|
|
17650
|
+
schottky: z86.boolean().optional(),
|
|
17651
|
+
zener: z86.boolean().optional(),
|
|
17652
|
+
avalanche: z86.boolean().optional(),
|
|
17653
|
+
photo: z86.boolean().optional(),
|
|
17654
|
+
tvs: z86.boolean().optional(),
|
|
17606
17655
|
schOrientation: schematicOrientation.optional(),
|
|
17607
17656
|
pinLabels: diodePinLabelsProp.optional()
|
|
17608
17657
|
}).superRefine((data, ctx) => {
|
|
@@ -17616,11 +17665,11 @@ var diodeProps = commonComponentProps.extend({
|
|
|
17616
17665
|
].filter(Boolean).length;
|
|
17617
17666
|
if (enabledFlags > 1) {
|
|
17618
17667
|
ctx.addIssue({
|
|
17619
|
-
code:
|
|
17668
|
+
code: z86.ZodIssueCode.custom,
|
|
17620
17669
|
message: "Exactly one diode variant must be enabled",
|
|
17621
17670
|
path: []
|
|
17622
17671
|
});
|
|
17623
|
-
return
|
|
17672
|
+
return z86.INVALID;
|
|
17624
17673
|
}
|
|
17625
17674
|
}).transform((data) => {
|
|
17626
17675
|
const result = {
|
|
@@ -17666,34 +17715,34 @@ var diodeProps = commonComponentProps.extend({
|
|
|
17666
17715
|
expectTypesMatch(true);
|
|
17667
17716
|
|
|
17668
17717
|
// lib/components/led.ts
|
|
17669
|
-
import { z as
|
|
17718
|
+
import { z as z87 } from "zod";
|
|
17670
17719
|
var ledProps = commonComponentProps.extend({
|
|
17671
|
-
color:
|
|
17672
|
-
wavelength:
|
|
17673
|
-
schDisplayValue:
|
|
17720
|
+
color: z87.string().optional(),
|
|
17721
|
+
wavelength: z87.string().optional(),
|
|
17722
|
+
schDisplayValue: z87.string().optional(),
|
|
17674
17723
|
schOrientation: schematicOrientation.optional(),
|
|
17675
17724
|
connections: createConnectionsProp(lrPolarPins).optional(),
|
|
17676
|
-
laser:
|
|
17725
|
+
laser: z87.boolean().optional()
|
|
17677
17726
|
});
|
|
17678
17727
|
var ledPins = lrPolarPins;
|
|
17679
17728
|
|
|
17680
17729
|
// lib/components/switch.ts
|
|
17681
17730
|
import { ms as ms2, frequency as frequency3 } from "circuit-json";
|
|
17682
|
-
import { z as
|
|
17731
|
+
import { z as z88 } from "zod";
|
|
17683
17732
|
var switchProps = commonComponentProps.extend({
|
|
17684
|
-
type:
|
|
17685
|
-
isNormallyClosed:
|
|
17686
|
-
spst:
|
|
17687
|
-
spdt:
|
|
17688
|
-
dpst:
|
|
17689
|
-
dpdt:
|
|
17733
|
+
type: z88.enum(["spst", "spdt", "dpst", "dpdt"]).optional(),
|
|
17734
|
+
isNormallyClosed: z88.boolean().optional().default(false),
|
|
17735
|
+
spst: z88.boolean().optional(),
|
|
17736
|
+
spdt: z88.boolean().optional(),
|
|
17737
|
+
dpst: z88.boolean().optional(),
|
|
17738
|
+
dpdt: z88.boolean().optional(),
|
|
17690
17739
|
pinLabels: pinLabelsProp.optional(),
|
|
17691
17740
|
simSwitchFrequency: frequency3.optional(),
|
|
17692
17741
|
simCloseAt: ms2.optional(),
|
|
17693
17742
|
simOpenAt: ms2.optional(),
|
|
17694
|
-
simStartClosed:
|
|
17695
|
-
simStartOpen:
|
|
17696
|
-
connections:
|
|
17743
|
+
simStartClosed: z88.boolean().optional(),
|
|
17744
|
+
simStartOpen: z88.boolean().optional(),
|
|
17745
|
+
connections: z88.custom().pipe(z88.record(z88.string(), connectionTarget)).optional()
|
|
17697
17746
|
}).transform((props) => {
|
|
17698
17747
|
const updatedProps = { ...props };
|
|
17699
17748
|
if (updatedProps.dpdt) {
|
|
@@ -17725,33 +17774,33 @@ expectTypesMatch(true);
|
|
|
17725
17774
|
|
|
17726
17775
|
// lib/components/fabrication-note-text.ts
|
|
17727
17776
|
import { length as length4 } from "circuit-json";
|
|
17728
|
-
import { z as
|
|
17777
|
+
import { z as z89 } from "zod";
|
|
17729
17778
|
var fabricationNoteTextProps = pcbLayoutProps.extend({
|
|
17730
|
-
text:
|
|
17731
|
-
anchorAlignment:
|
|
17732
|
-
font:
|
|
17779
|
+
text: z89.string(),
|
|
17780
|
+
anchorAlignment: z89.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
17781
|
+
font: z89.enum(["tscircuit2024"]).optional(),
|
|
17733
17782
|
fontSize: length4.optional(),
|
|
17734
|
-
color:
|
|
17783
|
+
color: z89.string().optional()
|
|
17735
17784
|
});
|
|
17736
17785
|
expectTypesMatch(true);
|
|
17737
17786
|
|
|
17738
17787
|
// lib/components/fabrication-note-rect.ts
|
|
17739
17788
|
import { distance as distance21 } from "circuit-json";
|
|
17740
|
-
import { z as
|
|
17789
|
+
import { z as z90 } from "zod";
|
|
17741
17790
|
var fabricationNoteRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
17742
17791
|
width: distance21,
|
|
17743
17792
|
height: distance21,
|
|
17744
17793
|
strokeWidth: distance21.optional(),
|
|
17745
|
-
isFilled:
|
|
17746
|
-
hasStroke:
|
|
17747
|
-
isStrokeDashed:
|
|
17748
|
-
color:
|
|
17794
|
+
isFilled: z90.boolean().optional(),
|
|
17795
|
+
hasStroke: z90.boolean().optional(),
|
|
17796
|
+
isStrokeDashed: z90.boolean().optional(),
|
|
17797
|
+
color: z90.string().optional(),
|
|
17749
17798
|
cornerRadius: distance21.optional()
|
|
17750
17799
|
});
|
|
17751
17800
|
|
|
17752
17801
|
// lib/components/fabrication-note-path.ts
|
|
17753
17802
|
import { length as length5, route_hint_point as route_hint_point3 } from "circuit-json";
|
|
17754
|
-
import { z as
|
|
17803
|
+
import { z as z91 } from "zod";
|
|
17755
17804
|
var fabricationNotePathProps = pcbLayoutProps.omit({
|
|
17756
17805
|
pcbLeftEdgeX: true,
|
|
17757
17806
|
pcbRightEdgeX: true,
|
|
@@ -17763,15 +17812,15 @@ var fabricationNotePathProps = pcbLayoutProps.omit({
|
|
|
17763
17812
|
pcbOffsetY: true,
|
|
17764
17813
|
pcbRotation: true
|
|
17765
17814
|
}).extend({
|
|
17766
|
-
route:
|
|
17815
|
+
route: z91.array(route_hint_point3),
|
|
17767
17816
|
strokeWidth: length5.optional(),
|
|
17768
|
-
color:
|
|
17817
|
+
color: z91.string().optional()
|
|
17769
17818
|
});
|
|
17770
17819
|
|
|
17771
17820
|
// lib/components/fabrication-note-dimension.ts
|
|
17772
17821
|
import { distance as distance22, length as length6 } from "circuit-json";
|
|
17773
|
-
import { z as
|
|
17774
|
-
var dimensionTarget =
|
|
17822
|
+
import { z as z92 } from "zod";
|
|
17823
|
+
var dimensionTarget = z92.union([z92.string(), point]);
|
|
17775
17824
|
var fabricationNoteDimensionProps = pcbLayoutProps.omit({
|
|
17776
17825
|
pcbLeftEdgeX: true,
|
|
17777
17826
|
pcbRightEdgeX: true,
|
|
@@ -17785,54 +17834,54 @@ var fabricationNoteDimensionProps = pcbLayoutProps.omit({
|
|
|
17785
17834
|
}).extend({
|
|
17786
17835
|
from: dimensionTarget,
|
|
17787
17836
|
to: dimensionTarget,
|
|
17788
|
-
text:
|
|
17837
|
+
text: z92.string().optional(),
|
|
17789
17838
|
offset: distance22.optional(),
|
|
17790
|
-
font:
|
|
17839
|
+
font: z92.enum(["tscircuit2024"]).optional(),
|
|
17791
17840
|
fontSize: length6.optional(),
|
|
17792
|
-
color:
|
|
17841
|
+
color: z92.string().optional(),
|
|
17793
17842
|
arrowSize: distance22.optional(),
|
|
17794
|
-
units:
|
|
17795
|
-
outerEdgeToEdge:
|
|
17796
|
-
centerToCenter:
|
|
17797
|
-
innerEdgeToEdge:
|
|
17843
|
+
units: z92.enum(["in", "mm"]).optional(),
|
|
17844
|
+
outerEdgeToEdge: z92.literal(true).optional(),
|
|
17845
|
+
centerToCenter: z92.literal(true).optional(),
|
|
17846
|
+
innerEdgeToEdge: z92.literal(true).optional()
|
|
17798
17847
|
});
|
|
17799
17848
|
expectTypesMatch(true);
|
|
17800
17849
|
|
|
17801
17850
|
// lib/components/pcb-trace.ts
|
|
17802
17851
|
import { distance as distance23, route_hint_point as route_hint_point4 } from "circuit-json";
|
|
17803
|
-
import { z as
|
|
17804
|
-
var pcbTraceProps =
|
|
17805
|
-
layer:
|
|
17852
|
+
import { z as z93 } from "zod";
|
|
17853
|
+
var pcbTraceProps = z93.object({
|
|
17854
|
+
layer: z93.string().optional(),
|
|
17806
17855
|
thickness: distance23.optional(),
|
|
17807
|
-
route:
|
|
17856
|
+
route: z93.array(route_hint_point4)
|
|
17808
17857
|
});
|
|
17809
17858
|
|
|
17810
17859
|
// lib/components/via.ts
|
|
17811
17860
|
import { distance as distance24, layer_ref as layer_ref6 } from "circuit-json";
|
|
17812
|
-
import { z as
|
|
17861
|
+
import { z as z94 } from "zod";
|
|
17813
17862
|
var viaProps = commonLayoutProps.extend({
|
|
17814
|
-
name:
|
|
17863
|
+
name: z94.string().optional(),
|
|
17815
17864
|
fromLayer: layer_ref6.optional(),
|
|
17816
17865
|
toLayer: layer_ref6.optional(),
|
|
17817
17866
|
holeDiameter: distance24.optional(),
|
|
17818
17867
|
outerDiameter: distance24.optional(),
|
|
17819
|
-
layers:
|
|
17820
|
-
connectsTo:
|
|
17821
|
-
netIsAssignable:
|
|
17868
|
+
layers: z94.array(layer_ref6).optional(),
|
|
17869
|
+
connectsTo: z94.string().or(z94.array(z94.string())).optional(),
|
|
17870
|
+
netIsAssignable: z94.boolean().optional()
|
|
17822
17871
|
});
|
|
17823
17872
|
expectTypesMatch(true);
|
|
17824
17873
|
|
|
17825
17874
|
// lib/components/testpoint.ts
|
|
17826
17875
|
import { distance as distance25 } from "circuit-json";
|
|
17827
|
-
import { z as
|
|
17876
|
+
import { z as z95 } from "zod";
|
|
17828
17877
|
var testpointPins = ["pin1"];
|
|
17829
|
-
var testpointConnectionsProp =
|
|
17878
|
+
var testpointConnectionsProp = z95.object({
|
|
17830
17879
|
pin1: connectionTarget
|
|
17831
17880
|
}).strict();
|
|
17832
17881
|
var testpointProps = commonComponentProps.extend({
|
|
17833
17882
|
connections: testpointConnectionsProp.optional(),
|
|
17834
|
-
footprintVariant:
|
|
17835
|
-
padShape:
|
|
17883
|
+
footprintVariant: z95.enum(["pad", "through_hole"]).optional(),
|
|
17884
|
+
padShape: z95.enum(["rect", "circle"]).optional().default("circle"),
|
|
17836
17885
|
padDiameter: distance25.optional(),
|
|
17837
17886
|
holeDiameter: distance25.optional(),
|
|
17838
17887
|
width: distance25.optional(),
|
|
@@ -17844,45 +17893,45 @@ var testpointProps = commonComponentProps.extend({
|
|
|
17844
17893
|
expectTypesMatch(true);
|
|
17845
17894
|
|
|
17846
17895
|
// lib/components/breakoutpoint.ts
|
|
17847
|
-
import { z as
|
|
17896
|
+
import { z as z96 } from "zod";
|
|
17848
17897
|
var breakoutPointProps = pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
17849
|
-
connection:
|
|
17898
|
+
connection: z96.string()
|
|
17850
17899
|
});
|
|
17851
17900
|
expectTypesMatch(true);
|
|
17852
17901
|
|
|
17853
17902
|
// lib/components/pcb-keepout.ts
|
|
17854
17903
|
import { distance as distance26, layer_ref as layer_ref7 } from "circuit-json";
|
|
17855
|
-
import { z as
|
|
17856
|
-
var pcbKeepoutProps =
|
|
17904
|
+
import { z as z97 } from "zod";
|
|
17905
|
+
var pcbKeepoutProps = z97.union([
|
|
17857
17906
|
pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
17858
|
-
shape:
|
|
17907
|
+
shape: z97.literal("circle"),
|
|
17859
17908
|
radius: distance26,
|
|
17860
|
-
layers:
|
|
17909
|
+
layers: z97.array(layer_ref7).optional()
|
|
17861
17910
|
}),
|
|
17862
17911
|
pcbLayoutProps.extend({
|
|
17863
|
-
shape:
|
|
17912
|
+
shape: z97.literal("rect"),
|
|
17864
17913
|
width: distance26,
|
|
17865
17914
|
height: distance26,
|
|
17866
|
-
layers:
|
|
17915
|
+
layers: z97.array(layer_ref7).optional()
|
|
17867
17916
|
})
|
|
17868
17917
|
]);
|
|
17869
17918
|
|
|
17870
17919
|
// lib/components/courtyard-rect.ts
|
|
17871
17920
|
import { distance as distance27 } from "circuit-json";
|
|
17872
|
-
import { z as
|
|
17921
|
+
import { z as z98 } from "zod";
|
|
17873
17922
|
var courtyardRectProps = pcbLayoutProps.extend({
|
|
17874
17923
|
width: distance27,
|
|
17875
17924
|
height: distance27,
|
|
17876
17925
|
strokeWidth: distance27.optional(),
|
|
17877
|
-
isFilled:
|
|
17878
|
-
hasStroke:
|
|
17879
|
-
isStrokeDashed:
|
|
17880
|
-
color:
|
|
17926
|
+
isFilled: z98.boolean().optional(),
|
|
17927
|
+
hasStroke: z98.boolean().optional(),
|
|
17928
|
+
isStrokeDashed: z98.boolean().optional(),
|
|
17929
|
+
color: z98.string().optional()
|
|
17881
17930
|
});
|
|
17882
17931
|
|
|
17883
17932
|
// lib/components/courtyard-outline.ts
|
|
17884
17933
|
import { length as length7 } from "circuit-json";
|
|
17885
|
-
import { z as
|
|
17934
|
+
import { z as z99 } from "zod";
|
|
17886
17935
|
var courtyardOutlineProps = pcbLayoutProps.omit({
|
|
17887
17936
|
pcbLeftEdgeX: true,
|
|
17888
17937
|
pcbRightEdgeX: true,
|
|
@@ -17894,11 +17943,11 @@ var courtyardOutlineProps = pcbLayoutProps.omit({
|
|
|
17894
17943
|
pcbOffsetY: true,
|
|
17895
17944
|
pcbRotation: true
|
|
17896
17945
|
}).extend({
|
|
17897
|
-
outline:
|
|
17946
|
+
outline: z99.array(point),
|
|
17898
17947
|
strokeWidth: length7.optional(),
|
|
17899
|
-
isClosed:
|
|
17900
|
-
isStrokeDashed:
|
|
17901
|
-
color:
|
|
17948
|
+
isClosed: z99.boolean().optional(),
|
|
17949
|
+
isStrokeDashed: z99.boolean().optional(),
|
|
17950
|
+
color: z99.string().optional()
|
|
17902
17951
|
});
|
|
17903
17952
|
|
|
17904
17953
|
// lib/components/courtyard-circle.ts
|
|
@@ -17918,35 +17967,35 @@ var courtyardPillProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
|
17918
17967
|
});
|
|
17919
17968
|
|
|
17920
17969
|
// lib/components/copper-pour.ts
|
|
17921
|
-
import { z as
|
|
17970
|
+
import { z as z102 } from "zod";
|
|
17922
17971
|
import { layer_ref as layer_ref8 } from "circuit-json";
|
|
17923
|
-
var copperPourProps =
|
|
17924
|
-
name:
|
|
17972
|
+
var copperPourProps = z102.object({
|
|
17973
|
+
name: z102.string().optional(),
|
|
17925
17974
|
layer: layer_ref8,
|
|
17926
|
-
connectsTo:
|
|
17927
|
-
unbroken:
|
|
17975
|
+
connectsTo: z102.string(),
|
|
17976
|
+
unbroken: z102.boolean().optional(),
|
|
17928
17977
|
padMargin: distance.optional(),
|
|
17929
17978
|
traceMargin: distance.optional(),
|
|
17930
17979
|
clearance: distance.optional(),
|
|
17931
17980
|
boardEdgeMargin: distance.optional(),
|
|
17932
17981
|
cutoutMargin: distance.optional(),
|
|
17933
|
-
outline:
|
|
17934
|
-
coveredWithSolderMask:
|
|
17982
|
+
outline: z102.array(point).optional(),
|
|
17983
|
+
coveredWithSolderMask: z102.boolean().optional().default(true)
|
|
17935
17984
|
});
|
|
17936
17985
|
expectTypesMatch(true);
|
|
17937
17986
|
|
|
17938
17987
|
// lib/components/cadassembly.ts
|
|
17939
17988
|
import { layer_ref as layer_ref9 } from "circuit-json";
|
|
17940
|
-
import { z as
|
|
17941
|
-
var cadassemblyProps =
|
|
17989
|
+
import { z as z103 } from "zod";
|
|
17990
|
+
var cadassemblyProps = z103.object({
|
|
17942
17991
|
originalLayer: layer_ref9.default("top").optional(),
|
|
17943
|
-
children:
|
|
17992
|
+
children: z103.any().optional()
|
|
17944
17993
|
});
|
|
17945
17994
|
expectTypesMatch(true);
|
|
17946
17995
|
|
|
17947
17996
|
// lib/components/cadmodel.ts
|
|
17948
|
-
import { z as
|
|
17949
|
-
var pcbPosition =
|
|
17997
|
+
import { z as z104 } from "zod";
|
|
17998
|
+
var pcbPosition = z104.object({
|
|
17950
17999
|
pcbX: pcbCoordinate.optional(),
|
|
17951
18000
|
pcbY: pcbCoordinate.optional(),
|
|
17952
18001
|
pcbLeftEdgeX: pcbCoordinate.optional(),
|
|
@@ -17963,7 +18012,7 @@ var cadModelBaseWithUrl = cadModelBase.extend({
|
|
|
17963
18012
|
});
|
|
17964
18013
|
var cadModelObject = cadModelBaseWithUrl.merge(pcbPosition);
|
|
17965
18014
|
expectTypesMatch(true);
|
|
17966
|
-
var cadmodelProps =
|
|
18015
|
+
var cadmodelProps = z104.union([z104.null(), url, cadModelObject]);
|
|
17967
18016
|
|
|
17968
18017
|
// lib/components/power-source.ts
|
|
17969
18018
|
import { voltage as voltage3 } from "circuit-json";
|
|
@@ -17973,9 +18022,9 @@ var powerSourceProps = commonComponentProps.extend({
|
|
|
17973
18022
|
|
|
17974
18023
|
// lib/components/voltagesource.ts
|
|
17975
18024
|
import { frequency as frequency4, ms as ms3, rotation as rotation5, voltage as voltage4 } from "circuit-json";
|
|
17976
|
-
import { z as
|
|
18025
|
+
import { z as z105 } from "zod";
|
|
17977
18026
|
var voltageSourcePinLabels = ["pin1", "pin2", "pos", "neg"];
|
|
17978
|
-
var percentage =
|
|
18027
|
+
var percentage = z105.union([z105.string(), z105.number()]).transform((val) => {
|
|
17979
18028
|
if (typeof val === "string") {
|
|
17980
18029
|
if (val.endsWith("%")) {
|
|
17981
18030
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -17984,13 +18033,13 @@ var percentage = z102.union([z102.string(), z102.number()]).transform((val) => {
|
|
|
17984
18033
|
}
|
|
17985
18034
|
return val;
|
|
17986
18035
|
}).pipe(
|
|
17987
|
-
|
|
18036
|
+
z105.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
17988
18037
|
);
|
|
17989
18038
|
var voltageSourceProps = commonComponentProps.extend({
|
|
17990
18039
|
voltage: voltage4.optional(),
|
|
17991
18040
|
frequency: frequency4.optional(),
|
|
17992
18041
|
peakToPeakVoltage: voltage4.optional(),
|
|
17993
|
-
waveShape:
|
|
18042
|
+
waveShape: z105.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
|
|
17994
18043
|
phase: rotation5.optional(),
|
|
17995
18044
|
dutyCycle: percentage.optional(),
|
|
17996
18045
|
pulseDelay: ms3.optional(),
|
|
@@ -18005,9 +18054,9 @@ expectTypesMatch(true);
|
|
|
18005
18054
|
|
|
18006
18055
|
// lib/components/currentsource.ts
|
|
18007
18056
|
import { frequency as frequency5, rotation as rotation6, current } from "circuit-json";
|
|
18008
|
-
import { z as
|
|
18057
|
+
import { z as z106 } from "zod";
|
|
18009
18058
|
var currentSourcePinLabels = ["pin1", "pin2", "pos", "neg"];
|
|
18010
|
-
var percentage2 =
|
|
18059
|
+
var percentage2 = z106.union([z106.string(), z106.number()]).transform((val) => {
|
|
18011
18060
|
if (typeof val === "string") {
|
|
18012
18061
|
if (val.endsWith("%")) {
|
|
18013
18062
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -18016,13 +18065,13 @@ var percentage2 = z103.union([z103.string(), z103.number()]).transform((val) =>
|
|
|
18016
18065
|
}
|
|
18017
18066
|
return val;
|
|
18018
18067
|
}).pipe(
|
|
18019
|
-
|
|
18068
|
+
z106.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
18020
18069
|
);
|
|
18021
18070
|
var currentSourceProps = commonComponentProps.extend({
|
|
18022
18071
|
current: current.optional(),
|
|
18023
18072
|
frequency: frequency5.optional(),
|
|
18024
18073
|
peakToPeakCurrent: current.optional(),
|
|
18025
|
-
waveShape:
|
|
18074
|
+
waveShape: z106.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
|
|
18026
18075
|
phase: rotation6.optional(),
|
|
18027
18076
|
dutyCycle: percentage2.optional(),
|
|
18028
18077
|
connections: createConnectionsProp(currentSourcePinLabels).optional()
|
|
@@ -18031,21 +18080,21 @@ var currentSourcePins = lrPolarPins;
|
|
|
18031
18080
|
expectTypesMatch(true);
|
|
18032
18081
|
|
|
18033
18082
|
// lib/components/voltageprobe.ts
|
|
18034
|
-
import { z as
|
|
18083
|
+
import { z as z107 } from "zod";
|
|
18035
18084
|
var voltageProbeProps = commonComponentProps.omit({ name: true }).extend({
|
|
18036
|
-
name:
|
|
18037
|
-
connectsTo:
|
|
18038
|
-
referenceTo:
|
|
18039
|
-
color:
|
|
18040
|
-
graphDisplayName:
|
|
18041
|
-
graphCenter:
|
|
18042
|
-
graphVerticalOffset:
|
|
18043
|
-
graphVoltagePerDiv:
|
|
18085
|
+
name: z107.string().optional(),
|
|
18086
|
+
connectsTo: z107.string(),
|
|
18087
|
+
referenceTo: z107.string().optional(),
|
|
18088
|
+
color: z107.string().optional(),
|
|
18089
|
+
graphDisplayName: z107.string().optional(),
|
|
18090
|
+
graphCenter: z107.number().optional(),
|
|
18091
|
+
graphVerticalOffset: z107.number().or(z107.string()).optional(),
|
|
18092
|
+
graphVoltagePerDiv: z107.number().or(z107.string()).optional()
|
|
18044
18093
|
});
|
|
18045
18094
|
expectTypesMatch(true);
|
|
18046
18095
|
|
|
18047
18096
|
// lib/components/ammeter.ts
|
|
18048
|
-
import { z as
|
|
18097
|
+
import { z as z108 } from "zod";
|
|
18049
18098
|
var ammeterPinLabels = ["pin1", "pin2", "pos", "neg"];
|
|
18050
18099
|
var hasAmmeterConnectionPair = (connections) => {
|
|
18051
18100
|
return connections.pos !== void 0 && connections.neg !== void 0 || connections.pin1 !== void 0 && connections.pin2 !== void 0;
|
|
@@ -18055,57 +18104,57 @@ var ammeterProps = commonComponentProps.extend({
|
|
|
18055
18104
|
hasAmmeterConnectionPair,
|
|
18056
18105
|
"Ammeter connections must include either pos/neg or pin1/pin2"
|
|
18057
18106
|
),
|
|
18058
|
-
color:
|
|
18059
|
-
graphDisplayName:
|
|
18060
|
-
graphCenter:
|
|
18061
|
-
graphVerticalOffset:
|
|
18062
|
-
graphCurrentPerDiv:
|
|
18107
|
+
color: z108.string().optional(),
|
|
18108
|
+
graphDisplayName: z108.string().optional(),
|
|
18109
|
+
graphCenter: z108.number().optional(),
|
|
18110
|
+
graphVerticalOffset: z108.number().or(z108.string()).optional(),
|
|
18111
|
+
graphCurrentPerDiv: z108.number().or(z108.string()).optional()
|
|
18063
18112
|
});
|
|
18064
18113
|
var ammeterPins = ammeterPinLabels;
|
|
18065
18114
|
expectTypesMatch(true);
|
|
18066
18115
|
|
|
18067
18116
|
// lib/components/schematic-arc.ts
|
|
18068
18117
|
import { distance as distance30, point as point5, rotation as rotation7 } from "circuit-json";
|
|
18069
|
-
import { z as
|
|
18070
|
-
var schematicArcProps =
|
|
18118
|
+
import { z as z109 } from "zod";
|
|
18119
|
+
var schematicArcProps = z109.object({
|
|
18071
18120
|
center: point5,
|
|
18072
18121
|
radius: distance30,
|
|
18073
18122
|
startAngleDegrees: rotation7,
|
|
18074
18123
|
endAngleDegrees: rotation7,
|
|
18075
|
-
direction:
|
|
18124
|
+
direction: z109.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
|
|
18076
18125
|
strokeWidth: distance30.optional(),
|
|
18077
|
-
color:
|
|
18078
|
-
isDashed:
|
|
18126
|
+
color: z109.string().optional(),
|
|
18127
|
+
isDashed: z109.boolean().optional().default(false)
|
|
18079
18128
|
});
|
|
18080
18129
|
expectTypesMatch(true);
|
|
18081
18130
|
|
|
18082
18131
|
// lib/components/toolingrail.ts
|
|
18083
|
-
import { z as
|
|
18084
|
-
var toolingrailProps =
|
|
18085
|
-
children:
|
|
18132
|
+
import { z as z110 } from "zod";
|
|
18133
|
+
var toolingrailProps = z110.object({
|
|
18134
|
+
children: z110.any().optional()
|
|
18086
18135
|
});
|
|
18087
18136
|
expectTypesMatch(true);
|
|
18088
18137
|
|
|
18089
18138
|
// lib/components/schematic-box.ts
|
|
18090
18139
|
import { distance as distance31 } from "circuit-json";
|
|
18091
|
-
import { z as
|
|
18092
|
-
var schematicBoxProps =
|
|
18140
|
+
import { z as z111 } from "zod";
|
|
18141
|
+
var schematicBoxProps = z111.object({
|
|
18093
18142
|
schX: distance31.optional(),
|
|
18094
18143
|
schY: distance31.optional(),
|
|
18095
18144
|
width: distance31.optional(),
|
|
18096
18145
|
height: distance31.optional(),
|
|
18097
|
-
overlay:
|
|
18146
|
+
overlay: z111.array(z111.string()).optional(),
|
|
18098
18147
|
padding: distance31.optional(),
|
|
18099
18148
|
paddingLeft: distance31.optional(),
|
|
18100
18149
|
paddingRight: distance31.optional(),
|
|
18101
18150
|
paddingTop: distance31.optional(),
|
|
18102
18151
|
paddingBottom: distance31.optional(),
|
|
18103
|
-
title:
|
|
18152
|
+
title: z111.string().optional(),
|
|
18104
18153
|
titleAlignment: ninePointAnchor.default("top_left"),
|
|
18105
|
-
titleColor:
|
|
18154
|
+
titleColor: z111.string().optional(),
|
|
18106
18155
|
titleFontSize: distance31.optional(),
|
|
18107
|
-
titleInside:
|
|
18108
|
-
strokeStyle:
|
|
18156
|
+
titleInside: z111.boolean().default(false),
|
|
18157
|
+
strokeStyle: z111.enum(["solid", "dashed"]).default("solid")
|
|
18109
18158
|
}).refine(
|
|
18110
18159
|
(elm) => elm.width !== void 0 && elm.height !== void 0 || Array.isArray(elm.overlay) && elm.overlay.length > 0,
|
|
18111
18160
|
{
|
|
@@ -18121,15 +18170,15 @@ expectTypesMatch(true);
|
|
|
18121
18170
|
|
|
18122
18171
|
// lib/components/schematic-circle.ts
|
|
18123
18172
|
import { distance as distance32, point as point6 } from "circuit-json";
|
|
18124
|
-
import { z as
|
|
18125
|
-
var schematicCircleProps =
|
|
18173
|
+
import { z as z112 } from "zod";
|
|
18174
|
+
var schematicCircleProps = z112.object({
|
|
18126
18175
|
center: point6,
|
|
18127
18176
|
radius: distance32,
|
|
18128
18177
|
strokeWidth: distance32.optional(),
|
|
18129
|
-
color:
|
|
18130
|
-
isFilled:
|
|
18131
|
-
fillColor:
|
|
18132
|
-
isDashed:
|
|
18178
|
+
color: z112.string().optional(),
|
|
18179
|
+
isFilled: z112.boolean().optional().default(false),
|
|
18180
|
+
fillColor: z112.string().optional(),
|
|
18181
|
+
isDashed: z112.boolean().optional().default(false)
|
|
18133
18182
|
});
|
|
18134
18183
|
expectTypesMatch(
|
|
18135
18184
|
true
|
|
@@ -18137,32 +18186,32 @@ expectTypesMatch(
|
|
|
18137
18186
|
|
|
18138
18187
|
// lib/components/schematic-rect.ts
|
|
18139
18188
|
import { distance as distance33, rotation as rotation8 } from "circuit-json";
|
|
18140
|
-
import { z as
|
|
18141
|
-
var schematicRectProps =
|
|
18189
|
+
import { z as z113 } from "zod";
|
|
18190
|
+
var schematicRectProps = z113.object({
|
|
18142
18191
|
schX: distance33.optional(),
|
|
18143
18192
|
schY: distance33.optional(),
|
|
18144
18193
|
width: distance33,
|
|
18145
18194
|
height: distance33,
|
|
18146
18195
|
rotation: rotation8.default(0),
|
|
18147
18196
|
strokeWidth: distance33.optional(),
|
|
18148
|
-
color:
|
|
18149
|
-
isFilled:
|
|
18150
|
-
fillColor:
|
|
18151
|
-
isDashed:
|
|
18197
|
+
color: z113.string().optional(),
|
|
18198
|
+
isFilled: z113.boolean().optional().default(false),
|
|
18199
|
+
fillColor: z113.string().optional(),
|
|
18200
|
+
isDashed: z113.boolean().optional().default(false)
|
|
18152
18201
|
});
|
|
18153
18202
|
expectTypesMatch(true);
|
|
18154
18203
|
|
|
18155
18204
|
// lib/components/schematic-line.ts
|
|
18156
18205
|
import { distance as distance34 } from "circuit-json";
|
|
18157
|
-
import { z as
|
|
18158
|
-
var schematicLineProps =
|
|
18206
|
+
import { z as z114 } from "zod";
|
|
18207
|
+
var schematicLineProps = z114.object({
|
|
18159
18208
|
x1: distance34,
|
|
18160
18209
|
y1: distance34,
|
|
18161
18210
|
x2: distance34,
|
|
18162
18211
|
y2: distance34,
|
|
18163
18212
|
strokeWidth: distance34.optional(),
|
|
18164
|
-
color:
|
|
18165
|
-
isDashed:
|
|
18213
|
+
color: z114.string().optional(),
|
|
18214
|
+
isDashed: z114.boolean().optional().default(false),
|
|
18166
18215
|
dashLength: distance34.optional(),
|
|
18167
18216
|
dashGap: distance34.optional()
|
|
18168
18217
|
});
|
|
@@ -18170,11 +18219,11 @@ expectTypesMatch(true);
|
|
|
18170
18219
|
|
|
18171
18220
|
// lib/components/schematic-text.ts
|
|
18172
18221
|
import { distance as distance35, rotation as rotation9 } from "circuit-json";
|
|
18173
|
-
import { z as
|
|
18222
|
+
import { z as z116 } from "zod";
|
|
18174
18223
|
|
|
18175
18224
|
// lib/common/fivePointAnchor.ts
|
|
18176
|
-
import { z as
|
|
18177
|
-
var fivePointAnchor =
|
|
18225
|
+
import { z as z115 } from "zod";
|
|
18226
|
+
var fivePointAnchor = z115.enum([
|
|
18178
18227
|
"center",
|
|
18179
18228
|
"left",
|
|
18180
18229
|
"right",
|
|
@@ -18183,39 +18232,39 @@ var fivePointAnchor = z112.enum([
|
|
|
18183
18232
|
]);
|
|
18184
18233
|
|
|
18185
18234
|
// lib/components/schematic-text.ts
|
|
18186
|
-
var schematicTextProps =
|
|
18235
|
+
var schematicTextProps = z116.object({
|
|
18187
18236
|
schX: distance35.optional(),
|
|
18188
18237
|
schY: distance35.optional(),
|
|
18189
|
-
text:
|
|
18190
|
-
fontSize:
|
|
18191
|
-
anchor:
|
|
18192
|
-
color:
|
|
18238
|
+
text: z116.string(),
|
|
18239
|
+
fontSize: z116.number().default(1),
|
|
18240
|
+
anchor: z116.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
|
|
18241
|
+
color: z116.string().default("#000000"),
|
|
18193
18242
|
schRotation: rotation9.default(0)
|
|
18194
18243
|
});
|
|
18195
18244
|
expectTypesMatch(true);
|
|
18196
18245
|
|
|
18197
18246
|
// lib/components/schematic-path.ts
|
|
18198
18247
|
import { distance as distance36, point as point7 } from "circuit-json";
|
|
18199
|
-
import { z as
|
|
18200
|
-
var schematicPathProps =
|
|
18201
|
-
points:
|
|
18202
|
-
svgPath:
|
|
18248
|
+
import { z as z117 } from "zod";
|
|
18249
|
+
var schematicPathProps = z117.object({
|
|
18250
|
+
points: z117.array(point7).optional(),
|
|
18251
|
+
svgPath: z117.string().optional(),
|
|
18203
18252
|
strokeWidth: distance36.optional(),
|
|
18204
|
-
strokeColor:
|
|
18253
|
+
strokeColor: z117.string().optional(),
|
|
18205
18254
|
dashLength: distance36.optional(),
|
|
18206
18255
|
dashGap: distance36.optional(),
|
|
18207
|
-
isFilled:
|
|
18208
|
-
fillColor:
|
|
18256
|
+
isFilled: z117.boolean().optional().default(false),
|
|
18257
|
+
fillColor: z117.string().optional()
|
|
18209
18258
|
});
|
|
18210
18259
|
expectTypesMatch(true);
|
|
18211
18260
|
|
|
18212
18261
|
// lib/components/schematic-table.ts
|
|
18213
18262
|
import { distance as distance37 } from "circuit-json";
|
|
18214
|
-
import { z as
|
|
18215
|
-
var schematicTableProps =
|
|
18263
|
+
import { z as z118 } from "zod";
|
|
18264
|
+
var schematicTableProps = z118.object({
|
|
18216
18265
|
schX: distance37.optional(),
|
|
18217
18266
|
schY: distance37.optional(),
|
|
18218
|
-
children:
|
|
18267
|
+
children: z118.any().optional(),
|
|
18219
18268
|
cellPadding: distance37.optional(),
|
|
18220
18269
|
borderWidth: distance37.optional(),
|
|
18221
18270
|
anchor: ninePointAnchor.optional(),
|
|
@@ -18225,34 +18274,34 @@ expectTypesMatch(true);
|
|
|
18225
18274
|
|
|
18226
18275
|
// lib/components/schematic-row.ts
|
|
18227
18276
|
import { distance as distance38 } from "circuit-json";
|
|
18228
|
-
import { z as
|
|
18229
|
-
var schematicRowProps =
|
|
18230
|
-
children:
|
|
18277
|
+
import { z as z119 } from "zod";
|
|
18278
|
+
var schematicRowProps = z119.object({
|
|
18279
|
+
children: z119.any().optional(),
|
|
18231
18280
|
height: distance38.optional()
|
|
18232
18281
|
});
|
|
18233
18282
|
expectTypesMatch(true);
|
|
18234
18283
|
|
|
18235
18284
|
// lib/components/schematic-cell.ts
|
|
18236
18285
|
import { distance as distance39 } from "circuit-json";
|
|
18237
|
-
import { z as
|
|
18238
|
-
var schematicCellProps =
|
|
18239
|
-
children:
|
|
18240
|
-
horizontalAlign:
|
|
18241
|
-
verticalAlign:
|
|
18286
|
+
import { z as z120 } from "zod";
|
|
18287
|
+
var schematicCellProps = z120.object({
|
|
18288
|
+
children: z120.string().optional(),
|
|
18289
|
+
horizontalAlign: z120.enum(["left", "center", "right"]).optional(),
|
|
18290
|
+
verticalAlign: z120.enum(["top", "middle", "bottom"]).optional(),
|
|
18242
18291
|
fontSize: distance39.optional(),
|
|
18243
|
-
rowSpan:
|
|
18244
|
-
colSpan:
|
|
18292
|
+
rowSpan: z120.number().optional(),
|
|
18293
|
+
colSpan: z120.number().optional(),
|
|
18245
18294
|
width: distance39.optional(),
|
|
18246
|
-
text:
|
|
18295
|
+
text: z120.string().optional()
|
|
18247
18296
|
});
|
|
18248
18297
|
expectTypesMatch(true);
|
|
18249
18298
|
|
|
18250
18299
|
// lib/components/schematic-section.ts
|
|
18251
18300
|
import { distance as distance40 } from "circuit-json";
|
|
18252
|
-
import { z as
|
|
18253
|
-
var schematicSectionProps =
|
|
18254
|
-
displayName:
|
|
18255
|
-
name:
|
|
18301
|
+
import { z as z121 } from "zod";
|
|
18302
|
+
var schematicSectionProps = z121.object({
|
|
18303
|
+
displayName: z121.string().optional(),
|
|
18304
|
+
name: z121.string(),
|
|
18256
18305
|
sectionTitleFontSize: distance40.optional()
|
|
18257
18306
|
});
|
|
18258
18307
|
expectTypesMatch(
|
|
@@ -18260,51 +18309,51 @@ expectTypesMatch(
|
|
|
18260
18309
|
);
|
|
18261
18310
|
|
|
18262
18311
|
// lib/components/schematic-sheet.ts
|
|
18263
|
-
import { z as
|
|
18264
|
-
var schematicSheetProps =
|
|
18265
|
-
name:
|
|
18266
|
-
displayName:
|
|
18267
|
-
sheetIndex:
|
|
18268
|
-
children:
|
|
18312
|
+
import { z as z122 } from "zod";
|
|
18313
|
+
var schematicSheetProps = z122.object({
|
|
18314
|
+
name: z122.string(),
|
|
18315
|
+
displayName: z122.string(),
|
|
18316
|
+
sheetIndex: z122.number().optional(),
|
|
18317
|
+
children: z122.any().optional()
|
|
18269
18318
|
});
|
|
18270
18319
|
expectTypesMatch(true);
|
|
18271
18320
|
|
|
18272
18321
|
// lib/components/copper-text.ts
|
|
18273
18322
|
import { layer_ref as layer_ref10, length as length8 } from "circuit-json";
|
|
18274
|
-
import { z as
|
|
18323
|
+
import { z as z123 } from "zod";
|
|
18275
18324
|
var copperTextProps = pcbLayoutProps.extend({
|
|
18276
|
-
text:
|
|
18325
|
+
text: z123.string(),
|
|
18277
18326
|
anchorAlignment: ninePointAnchor.default("center"),
|
|
18278
|
-
font:
|
|
18327
|
+
font: z123.enum(["tscircuit2024"]).optional(),
|
|
18279
18328
|
fontSize: length8.optional(),
|
|
18280
|
-
layers:
|
|
18281
|
-
knockout:
|
|
18282
|
-
mirrored:
|
|
18329
|
+
layers: z123.array(layer_ref10).optional(),
|
|
18330
|
+
knockout: z123.boolean().optional(),
|
|
18331
|
+
mirrored: z123.boolean().optional()
|
|
18283
18332
|
});
|
|
18284
18333
|
|
|
18285
18334
|
// lib/components/silkscreen-text.ts
|
|
18286
18335
|
import { layer_ref as layer_ref11, length as length9 } from "circuit-json";
|
|
18287
|
-
import { z as
|
|
18336
|
+
import { z as z124 } from "zod";
|
|
18288
18337
|
var silkscreenTextProps = pcbLayoutProps.extend({
|
|
18289
|
-
text:
|
|
18338
|
+
text: z124.string(),
|
|
18290
18339
|
anchorAlignment: ninePointAnchor.default("center"),
|
|
18291
|
-
font:
|
|
18340
|
+
font: z124.enum(["tscircuit2024"]).optional(),
|
|
18292
18341
|
fontSize: length9.optional(),
|
|
18293
18342
|
/**
|
|
18294
18343
|
* If true, text will knock out underlying silkscreen
|
|
18295
18344
|
*/
|
|
18296
|
-
isKnockout:
|
|
18345
|
+
isKnockout: z124.boolean().optional(),
|
|
18297
18346
|
knockoutPadding: length9.optional(),
|
|
18298
18347
|
knockoutPaddingLeft: length9.optional(),
|
|
18299
18348
|
knockoutPaddingRight: length9.optional(),
|
|
18300
18349
|
knockoutPaddingTop: length9.optional(),
|
|
18301
18350
|
knockoutPaddingBottom: length9.optional(),
|
|
18302
|
-
layers:
|
|
18351
|
+
layers: z124.array(layer_ref11).optional()
|
|
18303
18352
|
});
|
|
18304
18353
|
|
|
18305
18354
|
// lib/components/silkscreen-path.ts
|
|
18306
18355
|
import { length as length10, route_hint_point as route_hint_point5 } from "circuit-json";
|
|
18307
|
-
import { z as
|
|
18356
|
+
import { z as z125 } from "zod";
|
|
18308
18357
|
var silkscreenPathProps = pcbLayoutProps.omit({
|
|
18309
18358
|
pcbLeftEdgeX: true,
|
|
18310
18359
|
pcbRightEdgeX: true,
|
|
@@ -18316,7 +18365,7 @@ var silkscreenPathProps = pcbLayoutProps.omit({
|
|
|
18316
18365
|
pcbOffsetY: true,
|
|
18317
18366
|
pcbRotation: true
|
|
18318
18367
|
}).extend({
|
|
18319
|
-
route:
|
|
18368
|
+
route: z125.array(route_hint_point5),
|
|
18320
18369
|
strokeWidth: length10.optional()
|
|
18321
18370
|
});
|
|
18322
18371
|
|
|
@@ -18338,10 +18387,10 @@ var silkscreenLineProps = pcbLayoutProps.omit({
|
|
|
18338
18387
|
|
|
18339
18388
|
// lib/components/silkscreen-rect.ts
|
|
18340
18389
|
import { distance as distance42 } from "circuit-json";
|
|
18341
|
-
import { z as
|
|
18390
|
+
import { z as z126 } from "zod";
|
|
18342
18391
|
var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
18343
|
-
filled:
|
|
18344
|
-
stroke:
|
|
18392
|
+
filled: z126.boolean().default(true).optional(),
|
|
18393
|
+
stroke: z126.enum(["dashed", "solid", "none"]).optional(),
|
|
18345
18394
|
strokeWidth: distance42.optional(),
|
|
18346
18395
|
width: distance42,
|
|
18347
18396
|
height: distance42,
|
|
@@ -18350,10 +18399,10 @@ var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
|
18350
18399
|
|
|
18351
18400
|
// lib/components/silkscreen-circle.ts
|
|
18352
18401
|
import { distance as distance43 } from "circuit-json";
|
|
18353
|
-
import { z as
|
|
18402
|
+
import { z as z127 } from "zod";
|
|
18354
18403
|
var silkscreenCircleProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
18355
|
-
isFilled:
|
|
18356
|
-
isOutline:
|
|
18404
|
+
isFilled: z127.boolean().optional(),
|
|
18405
|
+
isOutline: z127.boolean().optional(),
|
|
18357
18406
|
strokeWidth: distance43.optional(),
|
|
18358
18407
|
radius: distance43
|
|
18359
18408
|
});
|
|
@@ -18371,63 +18420,63 @@ expectTypesMatch(true);
|
|
|
18371
18420
|
|
|
18372
18421
|
// lib/components/trace-hint.ts
|
|
18373
18422
|
import { distance as distance44, layer_ref as layer_ref12, route_hint_point as route_hint_point6 } from "circuit-json";
|
|
18374
|
-
import { z as
|
|
18375
|
-
var routeHintPointProps =
|
|
18423
|
+
import { z as z129 } from "zod";
|
|
18424
|
+
var routeHintPointProps = z129.object({
|
|
18376
18425
|
x: distance44,
|
|
18377
18426
|
y: distance44,
|
|
18378
|
-
via:
|
|
18427
|
+
via: z129.boolean().optional(),
|
|
18379
18428
|
toLayer: layer_ref12.optional()
|
|
18380
18429
|
});
|
|
18381
|
-
var traceHintProps =
|
|
18382
|
-
for:
|
|
18430
|
+
var traceHintProps = z129.object({
|
|
18431
|
+
for: z129.string().optional().describe(
|
|
18383
18432
|
"Selector for the port you're targeting, not required if you're inside a trace"
|
|
18384
18433
|
),
|
|
18385
|
-
order:
|
|
18434
|
+
order: z129.number().optional(),
|
|
18386
18435
|
offset: route_hint_point6.or(routeHintPointProps).optional(),
|
|
18387
|
-
offsets:
|
|
18388
|
-
traceWidth:
|
|
18436
|
+
offsets: z129.array(route_hint_point6).or(z129.array(routeHintPointProps)).optional(),
|
|
18437
|
+
traceWidth: z129.number().optional()
|
|
18389
18438
|
});
|
|
18390
18439
|
|
|
18391
18440
|
// lib/components/port.ts
|
|
18392
|
-
import { z as
|
|
18441
|
+
import { z as z130 } from "zod";
|
|
18393
18442
|
var portProps = commonLayoutProps.extend({
|
|
18394
|
-
name:
|
|
18395
|
-
pinNumber:
|
|
18396
|
-
schStemLength:
|
|
18397
|
-
aliases:
|
|
18398
|
-
layer:
|
|
18399
|
-
layers:
|
|
18400
|
-
schX:
|
|
18401
|
-
schY:
|
|
18443
|
+
name: z130.string().optional(),
|
|
18444
|
+
pinNumber: z130.number().optional(),
|
|
18445
|
+
schStemLength: z130.number().optional(),
|
|
18446
|
+
aliases: z130.array(z130.string()).optional(),
|
|
18447
|
+
layer: z130.string().optional(),
|
|
18448
|
+
layers: z130.array(z130.string()).optional(),
|
|
18449
|
+
schX: z130.number().optional(),
|
|
18450
|
+
schY: z130.number().optional(),
|
|
18402
18451
|
direction: direction.optional(),
|
|
18403
|
-
connectsTo:
|
|
18452
|
+
connectsTo: z130.string().or(z130.array(z130.string())).optional(),
|
|
18404
18453
|
kicadPinMetadata: kicadPinMetadata.optional(),
|
|
18405
|
-
hasInversionCircle:
|
|
18454
|
+
hasInversionCircle: z130.boolean().optional()
|
|
18406
18455
|
});
|
|
18407
18456
|
|
|
18408
18457
|
// lib/components/pcb-note-text.ts
|
|
18409
18458
|
import { length as length11 } from "circuit-json";
|
|
18410
|
-
import { z as
|
|
18459
|
+
import { z as z131 } from "zod";
|
|
18411
18460
|
var pcbNoteTextProps = pcbLayoutProps.extend({
|
|
18412
|
-
text:
|
|
18413
|
-
anchorAlignment:
|
|
18414
|
-
font:
|
|
18461
|
+
text: z131.string(),
|
|
18462
|
+
anchorAlignment: z131.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
18463
|
+
font: z131.enum(["tscircuit2024"]).optional(),
|
|
18415
18464
|
fontSize: length11.optional(),
|
|
18416
|
-
color:
|
|
18465
|
+
color: z131.string().optional()
|
|
18417
18466
|
});
|
|
18418
18467
|
expectTypesMatch(true);
|
|
18419
18468
|
|
|
18420
18469
|
// lib/components/pcb-note-rect.ts
|
|
18421
18470
|
import { distance as distance45 } from "circuit-json";
|
|
18422
|
-
import { z as
|
|
18471
|
+
import { z as z132 } from "zod";
|
|
18423
18472
|
var pcbNoteRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
18424
18473
|
width: distance45,
|
|
18425
18474
|
height: distance45,
|
|
18426
18475
|
strokeWidth: distance45.optional(),
|
|
18427
|
-
isFilled:
|
|
18428
|
-
hasStroke:
|
|
18429
|
-
isStrokeDashed:
|
|
18430
|
-
color:
|
|
18476
|
+
isFilled: z132.boolean().optional(),
|
|
18477
|
+
hasStroke: z132.boolean().optional(),
|
|
18478
|
+
isStrokeDashed: z132.boolean().optional(),
|
|
18479
|
+
color: z132.string().optional(),
|
|
18431
18480
|
cornerRadius: distance45.optional()
|
|
18432
18481
|
});
|
|
18433
18482
|
expectTypesMatch(true);
|
|
@@ -18437,7 +18486,7 @@ import {
|
|
|
18437
18486
|
length as length12,
|
|
18438
18487
|
route_hint_point as route_hint_point7
|
|
18439
18488
|
} from "circuit-json";
|
|
18440
|
-
import { z as
|
|
18489
|
+
import { z as z133 } from "zod";
|
|
18441
18490
|
var pcbNotePathProps = pcbLayoutProps.omit({
|
|
18442
18491
|
pcbLeftEdgeX: true,
|
|
18443
18492
|
pcbRightEdgeX: true,
|
|
@@ -18449,15 +18498,15 @@ var pcbNotePathProps = pcbLayoutProps.omit({
|
|
|
18449
18498
|
pcbOffsetY: true,
|
|
18450
18499
|
pcbRotation: true
|
|
18451
18500
|
}).extend({
|
|
18452
|
-
route:
|
|
18501
|
+
route: z133.array(route_hint_point7),
|
|
18453
18502
|
strokeWidth: length12.optional(),
|
|
18454
|
-
color:
|
|
18503
|
+
color: z133.string().optional()
|
|
18455
18504
|
});
|
|
18456
18505
|
expectTypesMatch(true);
|
|
18457
18506
|
|
|
18458
18507
|
// lib/components/pcb-note-line.ts
|
|
18459
18508
|
import { distance as distance46 } from "circuit-json";
|
|
18460
|
-
import { z as
|
|
18509
|
+
import { z as z134 } from "zod";
|
|
18461
18510
|
var pcbNoteLineProps = pcbLayoutProps.omit({
|
|
18462
18511
|
pcbLeftEdgeX: true,
|
|
18463
18512
|
pcbRightEdgeX: true,
|
|
@@ -18474,15 +18523,15 @@ var pcbNoteLineProps = pcbLayoutProps.omit({
|
|
|
18474
18523
|
x2: distance46,
|
|
18475
18524
|
y2: distance46,
|
|
18476
18525
|
strokeWidth: distance46.optional(),
|
|
18477
|
-
color:
|
|
18478
|
-
isDashed:
|
|
18526
|
+
color: z134.string().optional(),
|
|
18527
|
+
isDashed: z134.boolean().optional()
|
|
18479
18528
|
});
|
|
18480
18529
|
expectTypesMatch(true);
|
|
18481
18530
|
|
|
18482
18531
|
// lib/components/pcb-note-dimension.ts
|
|
18483
18532
|
import { distance as distance47, length as length13 } from "circuit-json";
|
|
18484
|
-
import { z as
|
|
18485
|
-
var dimensionTarget2 =
|
|
18533
|
+
import { z as z135 } from "zod";
|
|
18534
|
+
var dimensionTarget2 = z135.union([z135.string(), point]);
|
|
18486
18535
|
var pcbNoteDimensionProps = pcbLayoutProps.omit({
|
|
18487
18536
|
pcbLeftEdgeX: true,
|
|
18488
18537
|
pcbRightEdgeX: true,
|
|
@@ -18496,101 +18545,101 @@ var pcbNoteDimensionProps = pcbLayoutProps.omit({
|
|
|
18496
18545
|
}).extend({
|
|
18497
18546
|
from: dimensionTarget2,
|
|
18498
18547
|
to: dimensionTarget2,
|
|
18499
|
-
text:
|
|
18548
|
+
text: z135.string().optional(),
|
|
18500
18549
|
offset: distance47.optional(),
|
|
18501
|
-
font:
|
|
18550
|
+
font: z135.enum(["tscircuit2024"]).optional(),
|
|
18502
18551
|
fontSize: length13.optional(),
|
|
18503
|
-
color:
|
|
18552
|
+
color: z135.string().optional(),
|
|
18504
18553
|
arrowSize: distance47.optional(),
|
|
18505
|
-
units:
|
|
18506
|
-
outerEdgeToEdge:
|
|
18507
|
-
centerToCenter:
|
|
18508
|
-
innerEdgeToEdge:
|
|
18554
|
+
units: z135.enum(["in", "mm"]).optional(),
|
|
18555
|
+
outerEdgeToEdge: z135.literal(true).optional(),
|
|
18556
|
+
centerToCenter: z135.literal(true).optional(),
|
|
18557
|
+
innerEdgeToEdge: z135.literal(true).optional()
|
|
18509
18558
|
});
|
|
18510
18559
|
expectTypesMatch(
|
|
18511
18560
|
true
|
|
18512
18561
|
);
|
|
18513
18562
|
|
|
18514
18563
|
// lib/platformConfig.ts
|
|
18515
|
-
import { z as
|
|
18516
|
-
var unvalidatedCircuitJson =
|
|
18517
|
-
var footprintLibraryResult =
|
|
18518
|
-
footprintCircuitJson:
|
|
18564
|
+
import { z as z136 } from "zod";
|
|
18565
|
+
var unvalidatedCircuitJson = z136.array(z136.any()).describe("Circuit JSON");
|
|
18566
|
+
var footprintLibraryResult = z136.object({
|
|
18567
|
+
footprintCircuitJson: z136.array(z136.any()),
|
|
18519
18568
|
cadModel: cadModelProp.optional()
|
|
18520
18569
|
});
|
|
18521
|
-
var pathToCircuitJsonFn =
|
|
18522
|
-
|
|
18523
|
-
|
|
18524
|
-
|
|
18525
|
-
).returns(
|
|
18570
|
+
var pathToCircuitJsonFn = z136.function().args(z136.string()).returns(z136.promise(footprintLibraryResult)).or(
|
|
18571
|
+
z136.function().args(
|
|
18572
|
+
z136.string(),
|
|
18573
|
+
z136.object({ resolvedPcbStyle: pcbStyle.optional() }).optional()
|
|
18574
|
+
).returns(z136.promise(footprintLibraryResult))
|
|
18526
18575
|
).describe("A function that takes a path and returns Circuit JSON");
|
|
18527
|
-
var footprintFileParserEntry =
|
|
18528
|
-
loadFromUrl:
|
|
18576
|
+
var footprintFileParserEntry = z136.object({
|
|
18577
|
+
loadFromUrl: z136.function().args(z136.string()).returns(z136.promise(footprintLibraryResult)).describe(
|
|
18529
18578
|
"A function that takes a footprint file URL and returns Circuit JSON"
|
|
18530
18579
|
)
|
|
18531
18580
|
});
|
|
18532
|
-
var spiceEngineSimulationResult =
|
|
18533
|
-
engineVersionString:
|
|
18581
|
+
var spiceEngineSimulationResult = z136.object({
|
|
18582
|
+
engineVersionString: z136.string().optional(),
|
|
18534
18583
|
simulationResultCircuitJson: unvalidatedCircuitJson
|
|
18535
18584
|
});
|
|
18536
|
-
var spiceEngineZod =
|
|
18537
|
-
simulate:
|
|
18585
|
+
var spiceEngineZod = z136.object({
|
|
18586
|
+
simulate: z136.function().args(z136.string()).returns(z136.promise(spiceEngineSimulationResult)).describe(
|
|
18538
18587
|
"A function that takes a SPICE string and returns a simulation result"
|
|
18539
18588
|
)
|
|
18540
18589
|
});
|
|
18541
|
-
var defaultSpiceEngine =
|
|
18590
|
+
var defaultSpiceEngine = z136.custom(
|
|
18542
18591
|
(value) => typeof value === "string"
|
|
18543
18592
|
);
|
|
18544
|
-
var autorouterInstance =
|
|
18545
|
-
run:
|
|
18546
|
-
getOutputSimpleRouteJson:
|
|
18593
|
+
var autorouterInstance = z136.object({
|
|
18594
|
+
run: z136.function().args().returns(z136.promise(z136.unknown())).describe("Run the autorouter"),
|
|
18595
|
+
getOutputSimpleRouteJson: z136.function().args().returns(z136.promise(z136.any())).describe("Get the resulting SimpleRouteJson")
|
|
18547
18596
|
});
|
|
18548
|
-
var autorouterDefinition =
|
|
18549
|
-
createAutorouter:
|
|
18597
|
+
var autorouterDefinition = z136.object({
|
|
18598
|
+
createAutorouter: z136.function().args(z136.any(), z136.any().optional()).returns(z136.union([autorouterInstance, z136.promise(autorouterInstance)])).describe("Create an autorouter instance")
|
|
18550
18599
|
});
|
|
18551
|
-
var platformFetch =
|
|
18552
|
-
var platformConfig =
|
|
18600
|
+
var platformFetch = z136.custom((value) => typeof value === "function").describe("A fetch-like function to use for platform requests");
|
|
18601
|
+
var platformConfig = z136.object({
|
|
18553
18602
|
partsEngine: partsEngine.optional(),
|
|
18554
18603
|
autorouter: autorouterProp.optional(),
|
|
18555
|
-
autorouterMap:
|
|
18604
|
+
autorouterMap: z136.record(z136.string(), autorouterDefinition).optional(),
|
|
18556
18605
|
registryApiUrl: url.optional(),
|
|
18557
18606
|
cloudAutorouterUrl: url.optional(),
|
|
18558
|
-
projectName:
|
|
18607
|
+
projectName: z136.string().optional(),
|
|
18559
18608
|
projectBaseUrl: url.optional(),
|
|
18560
|
-
version:
|
|
18609
|
+
version: z136.string().optional(),
|
|
18561
18610
|
url: url.optional(),
|
|
18562
|
-
printBoardInformationToSilkscreen:
|
|
18563
|
-
includeBoardFiles:
|
|
18611
|
+
printBoardInformationToSilkscreen: z136.boolean().optional(),
|
|
18612
|
+
includeBoardFiles: z136.array(z136.string()).describe(
|
|
18564
18613
|
'The board files to automatically build with "tsci build", defaults to ["**/*.circuit.tsx"]. Can be an array of files or globs'
|
|
18565
18614
|
).optional(),
|
|
18566
|
-
snapshotsDir:
|
|
18615
|
+
snapshotsDir: z136.string().describe(
|
|
18567
18616
|
'The directory where snapshots are stored for "tsci snapshot", defaults to "tests/__snapshots__"'
|
|
18568
18617
|
).optional(),
|
|
18569
18618
|
defaultSpiceEngine: defaultSpiceEngine.optional(),
|
|
18570
|
-
unitPreference:
|
|
18571
|
-
localCacheEngine:
|
|
18572
|
-
pcbDisabled:
|
|
18573
|
-
routingDisabled:
|
|
18574
|
-
schematicDisabled:
|
|
18575
|
-
partsEngineDisabled:
|
|
18576
|
-
drcChecksDisabled:
|
|
18577
|
-
netlistDrcChecksDisabled:
|
|
18578
|
-
routingDrcChecksDisabled:
|
|
18579
|
-
placementDrcChecksDisabled:
|
|
18580
|
-
pinSpecificationDrcChecksDisabled:
|
|
18581
|
-
spiceEngineMap:
|
|
18582
|
-
footprintLibraryMap:
|
|
18583
|
-
|
|
18584
|
-
|
|
18619
|
+
unitPreference: z136.enum(["mm", "in", "mil"]).optional(),
|
|
18620
|
+
localCacheEngine: z136.any().optional(),
|
|
18621
|
+
pcbDisabled: z136.boolean().optional(),
|
|
18622
|
+
routingDisabled: z136.boolean().optional(),
|
|
18623
|
+
schematicDisabled: z136.boolean().optional(),
|
|
18624
|
+
partsEngineDisabled: z136.boolean().optional(),
|
|
18625
|
+
drcChecksDisabled: z136.boolean().optional(),
|
|
18626
|
+
netlistDrcChecksDisabled: z136.boolean().optional(),
|
|
18627
|
+
routingDrcChecksDisabled: z136.boolean().optional(),
|
|
18628
|
+
placementDrcChecksDisabled: z136.boolean().optional(),
|
|
18629
|
+
pinSpecificationDrcChecksDisabled: z136.boolean().optional(),
|
|
18630
|
+
spiceEngineMap: z136.record(z136.string(), spiceEngineZod).optional(),
|
|
18631
|
+
footprintLibraryMap: z136.record(
|
|
18632
|
+
z136.string(),
|
|
18633
|
+
z136.union([
|
|
18585
18634
|
pathToCircuitJsonFn,
|
|
18586
|
-
|
|
18587
|
-
|
|
18588
|
-
|
|
18635
|
+
z136.record(
|
|
18636
|
+
z136.string(),
|
|
18637
|
+
z136.union([unvalidatedCircuitJson, pathToCircuitJsonFn])
|
|
18589
18638
|
)
|
|
18590
18639
|
])
|
|
18591
18640
|
).optional(),
|
|
18592
|
-
footprintFileParserMap:
|
|
18593
|
-
resolveProjectStaticFileImportUrl:
|
|
18641
|
+
footprintFileParserMap: z136.record(z136.string(), footprintFileParserEntry).optional(),
|
|
18642
|
+
resolveProjectStaticFileImportUrl: z136.function().args(z136.string()).returns(z136.promise(z136.string())).describe(
|
|
18594
18643
|
"A function that returns a string URL for static files for the project"
|
|
18595
18644
|
).optional(),
|
|
18596
18645
|
platformFetch: platformFetch.optional()
|
|
@@ -18616,6 +18665,8 @@ export {
|
|
|
18616
18665
|
ammeterPins,
|
|
18617
18666
|
ammeterProps,
|
|
18618
18667
|
analogSimulationProps,
|
|
18668
|
+
assemblyDeviceProps,
|
|
18669
|
+
assemblyProps,
|
|
18619
18670
|
autorouterConfig,
|
|
18620
18671
|
autorouterEffortLevel,
|
|
18621
18672
|
autorouterPreset,
|
|
@@ -18648,10 +18699,12 @@ export {
|
|
|
18648
18699
|
capacitorProps,
|
|
18649
18700
|
chipProps,
|
|
18650
18701
|
circleCutoutProps,
|
|
18702
|
+
circleShapeProps,
|
|
18651
18703
|
circleSmtPadProps,
|
|
18652
18704
|
circleSolderPasteProps,
|
|
18653
18705
|
commonComponentProps,
|
|
18654
18706
|
commonLayoutProps,
|
|
18707
|
+
commonShapeProps,
|
|
18655
18708
|
componentProps,
|
|
18656
18709
|
connectorProps,
|
|
18657
18710
|
constrainedLayoutProps,
|
|
@@ -18682,6 +18735,8 @@ export {
|
|
|
18682
18735
|
edit_schematic_component_location_event,
|
|
18683
18736
|
edit_schematic_group_location_event,
|
|
18684
18737
|
edit_trace_hint_event,
|
|
18738
|
+
enclosureCutoutApertureProps,
|
|
18739
|
+
enclosureCutoutApertureShapes,
|
|
18685
18740
|
enclosureFdmBoxProps,
|
|
18686
18741
|
enclosureProps,
|
|
18687
18742
|
explicitPinSideDefinition,
|
|
@@ -18759,6 +18814,7 @@ export {
|
|
|
18759
18814
|
pcbTraceProps,
|
|
18760
18815
|
pcbXDistConstraintProps,
|
|
18761
18816
|
pcbYDistConstraintProps,
|
|
18817
|
+
pillShapeProps,
|
|
18762
18818
|
pillSmtPadProps,
|
|
18763
18819
|
pinAttributeMap,
|
|
18764
18820
|
pinCapability,
|
|
@@ -18780,6 +18836,7 @@ export {
|
|
|
18780
18836
|
projectConfig,
|
|
18781
18837
|
pushButtonProps,
|
|
18782
18838
|
rectCutoutProps,
|
|
18839
|
+
rectShapeProps,
|
|
18783
18840
|
rectSmtPadProps,
|
|
18784
18841
|
rectSolderPasteProps,
|
|
18785
18842
|
resistorPinLabels,
|