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