@tscircuit/props 0.0.682 → 0.0.683
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -9
- package/dist/index.d.ts +516 -481
- package/dist/index.js +1278 -1232
- package/dist/index.js.map +1 -1
- package/lib/assembly/board-mounting.ts +56 -0
- package/lib/assembly/index.ts +1 -0
- package/lib/assembly/motor.ts +11 -0
- package/lib/components/board.ts +26 -15
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -193,8 +193,16 @@ var assemblyMotorProps = z9.object({
|
|
|
193
193
|
displayName: z9.string().optional(),
|
|
194
194
|
standard: z9.enum(["nema8", "nema17", "nema23"]).optional(),
|
|
195
195
|
model: z9.string().trim().min(1).optional(),
|
|
196
|
-
shaftFacingDirection: cadModelAxisDirection.default("z+")
|
|
196
|
+
shaftFacingDirection: cadModelAxisDirection.default("z+"),
|
|
197
|
+
wireConnection: z9.enum(["none", "stubs", "jst-ph-6"]).optional()
|
|
197
198
|
}).superRefine((motor, context) => {
|
|
199
|
+
if (motor.model !== void 0 && motor.wireConnection !== void 0) {
|
|
200
|
+
context.addIssue({
|
|
201
|
+
code: z9.ZodIssueCode.custom,
|
|
202
|
+
message: "Set wireConnection in the custom model string, or use standard",
|
|
203
|
+
path: ["wireConnection"]
|
|
204
|
+
});
|
|
205
|
+
}
|
|
198
206
|
if (motor.standard === void 0 && motor.model === void 0) {
|
|
199
207
|
context.addIssue({
|
|
200
208
|
code: z9.ZodIssueCode.custom,
|
|
@@ -265,6 +273,42 @@ var assemblyScreenProps = z10.object({
|
|
|
265
273
|
});
|
|
266
274
|
expectTypesMatch(true);
|
|
267
275
|
|
|
276
|
+
// lib/assembly/board-mounting.ts
|
|
277
|
+
import { z as z11 } from "zod";
|
|
278
|
+
var identityPathPattern = "[A-Za-z_][A-Za-z0-9_-]*(?:\\.[A-Za-z_][A-Za-z0-9_-]*)*";
|
|
279
|
+
var referencePattern = "[A-Za-z_][A-Za-z0-9_-]*(?:\\.[A-Za-z_][A-Za-z0-9_-]*)+";
|
|
280
|
+
var reference = new RegExp(`^${referencePattern}$`);
|
|
281
|
+
var anchor = new RegExp(`^${identityPathPattern}$`);
|
|
282
|
+
var expression = new RegExp(
|
|
283
|
+
`^calc\\(\\s*(${referencePattern})\\s*(?:([+-])\\s*((?:\\d+(?:\\.\\d*)?|\\.\\d+))\\s*(degcw|degccw))?\\s*\\)$`
|
|
284
|
+
);
|
|
285
|
+
var boardMountRotation = z11.string().trim().superRefine((value, ctx) => {
|
|
286
|
+
if (reference.test(value)) return;
|
|
287
|
+
const match = expression.exec(value);
|
|
288
|
+
if (!match) {
|
|
289
|
+
ctx.addIssue({
|
|
290
|
+
code: z11.ZodIssueCode.custom,
|
|
291
|
+
message: "Expected a qualified mounting reference or calc(reference +/- Ndegcw|Ndegccw)"
|
|
292
|
+
});
|
|
293
|
+
return;
|
|
294
|
+
}
|
|
295
|
+
if (match[3] !== void 0 && !Number.isFinite(Number(match[3]))) {
|
|
296
|
+
ctx.addIssue({
|
|
297
|
+
code: z11.ZodIssueCode.custom,
|
|
298
|
+
message: "Mount rotation angle must be finite"
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
});
|
|
302
|
+
var boardMountRotationAnchor = z11.custom((value) => typeof value === "string", {
|
|
303
|
+
message: "Expected a board edge or component identity path"
|
|
304
|
+
}).transform((value) => value.trim()).refine((value) => anchor.test(value), {
|
|
305
|
+
message: "Expected a board edge or component identity path"
|
|
306
|
+
});
|
|
307
|
+
var boardMountOrientation = z11.enum([
|
|
308
|
+
"top_layer_toward_mount_face",
|
|
309
|
+
"bottom_layer_toward_mount_face"
|
|
310
|
+
]);
|
|
311
|
+
|
|
268
312
|
// lib/assembly/index.ts
|
|
269
313
|
var assemblyProps = {
|
|
270
314
|
device: assemblyDeviceProps,
|
|
@@ -275,16 +319,16 @@ var assemblyProps = {
|
|
|
275
319
|
};
|
|
276
320
|
|
|
277
321
|
// lib/enclosure/cutout-aperture.ts
|
|
278
|
-
import { z as
|
|
322
|
+
import { z as z12 } from "zod";
|
|
279
323
|
var enclosureCutoutApertureShapes = ["pill", "rect", "circle"];
|
|
280
|
-
var cutoutApertureBaseProps =
|
|
324
|
+
var cutoutApertureBaseProps = z12.object({
|
|
281
325
|
margin: distance.optional(),
|
|
282
326
|
widthDimensionOffset: distance.optional(),
|
|
283
327
|
heightDimensionOffset: distance.optional(),
|
|
284
328
|
depth: distance.optional()
|
|
285
329
|
});
|
|
286
330
|
var apertureOnlyProps = cutoutApertureBaseProps.shape;
|
|
287
|
-
var enclosureCutoutApertureProps =
|
|
331
|
+
var enclosureCutoutApertureProps = z12.discriminatedUnion("shape", [
|
|
288
332
|
pillShapeProps.extend(apertureOnlyProps),
|
|
289
333
|
rectShapeProps.extend(apertureOnlyProps),
|
|
290
334
|
circleShapeProps.extend(apertureOnlyProps)
|
|
@@ -292,10 +336,10 @@ var enclosureCutoutApertureProps = z11.discriminatedUnion("shape", [
|
|
|
292
336
|
expectTypesMatch(true);
|
|
293
337
|
|
|
294
338
|
// lib/enclosure/fdm/box.ts
|
|
295
|
-
import { z as
|
|
296
|
-
var enclosureFdmBoxProps =
|
|
297
|
-
name:
|
|
298
|
-
boardRef:
|
|
339
|
+
import { z as z13 } from "zod";
|
|
340
|
+
var enclosureFdmBoxProps = z13.object({
|
|
341
|
+
name: z13.string().optional(),
|
|
342
|
+
boardRef: z13.string().min(1),
|
|
299
343
|
width: distance.optional(),
|
|
300
344
|
height: distance.optional(),
|
|
301
345
|
depth: distance.optional(),
|
|
@@ -306,8 +350,8 @@ var enclosureFdmBoxProps = z12.object({
|
|
|
306
350
|
standoffHeight: distance.optional(),
|
|
307
351
|
topHeadroom: distance.optional(),
|
|
308
352
|
lidLipDepth: distance.optional(),
|
|
309
|
-
disableCutouts:
|
|
310
|
-
showHiddenEdges:
|
|
353
|
+
disableCutouts: z13.boolean().optional(),
|
|
354
|
+
showHiddenEdges: z13.boolean().optional()
|
|
311
355
|
});
|
|
312
356
|
expectTypesMatch(true);
|
|
313
357
|
|
|
@@ -320,8 +364,8 @@ var enclosureProps = {
|
|
|
320
364
|
};
|
|
321
365
|
|
|
322
366
|
// lib/common/portHints.ts
|
|
323
|
-
import { z as
|
|
324
|
-
var portHints =
|
|
367
|
+
import { z as z14 } from "zod";
|
|
368
|
+
var portHints = z14.array(z14.string().or(z14.number()));
|
|
325
369
|
expectTypesMatch(true);
|
|
326
370
|
|
|
327
371
|
// lib/common/layout.ts
|
|
@@ -331,20 +375,20 @@ import {
|
|
|
331
375
|
rotation as rotation2,
|
|
332
376
|
supplier_name
|
|
333
377
|
} from "circuit-json";
|
|
334
|
-
import { z as
|
|
378
|
+
import { z as z24 } from "zod";
|
|
335
379
|
|
|
336
380
|
// lib/common/footprintProp.ts
|
|
337
|
-
import { z as
|
|
338
|
-
var footprintProp =
|
|
381
|
+
import { z as z15 } from "zod";
|
|
382
|
+
var footprintProp = z15.custom((v) => true);
|
|
339
383
|
|
|
340
384
|
// lib/common/kicadFootprintMetadata.ts
|
|
341
385
|
import { distance as distance4, rotation } from "circuit-json";
|
|
342
|
-
import { z as
|
|
386
|
+
import { z as z17 } from "zod";
|
|
343
387
|
|
|
344
388
|
// lib/common/point.ts
|
|
345
389
|
import { distance as distance3 } from "circuit-json";
|
|
346
|
-
import { z as
|
|
347
|
-
var point =
|
|
390
|
+
import { z as z16 } from "zod";
|
|
391
|
+
var point = z16.object({
|
|
348
392
|
x: distance3,
|
|
349
393
|
y: distance3
|
|
350
394
|
});
|
|
@@ -354,25 +398,25 @@ var kicadAt = point.extend({
|
|
|
354
398
|
rotation: rotation.optional()
|
|
355
399
|
});
|
|
356
400
|
expectTypesMatch(true);
|
|
357
|
-
var kicadFont =
|
|
401
|
+
var kicadFont = z17.object({
|
|
358
402
|
size: point.optional(),
|
|
359
403
|
thickness: distance4.optional()
|
|
360
404
|
});
|
|
361
405
|
expectTypesMatch(true);
|
|
362
|
-
var kicadEffects =
|
|
406
|
+
var kicadEffects = z17.object({
|
|
363
407
|
font: kicadFont.optional()
|
|
364
408
|
});
|
|
365
409
|
expectTypesMatch(true);
|
|
366
|
-
var kicadProperty =
|
|
367
|
-
value:
|
|
410
|
+
var kicadProperty = z17.object({
|
|
411
|
+
value: z17.string(),
|
|
368
412
|
at: kicadAt.optional(),
|
|
369
|
-
layer:
|
|
370
|
-
uuid:
|
|
371
|
-
hide:
|
|
413
|
+
layer: z17.string().optional(),
|
|
414
|
+
uuid: z17.string().optional(),
|
|
415
|
+
hide: z17.boolean().optional(),
|
|
372
416
|
effects: kicadEffects.optional()
|
|
373
417
|
});
|
|
374
418
|
expectTypesMatch(true);
|
|
375
|
-
var kicadFootprintProperties =
|
|
419
|
+
var kicadFootprintProperties = z17.object({
|
|
376
420
|
Reference: kicadProperty.optional(),
|
|
377
421
|
Value: kicadProperty.optional(),
|
|
378
422
|
Datasheet: kicadProperty.optional(),
|
|
@@ -381,74 +425,74 @@ var kicadFootprintProperties = z16.object({
|
|
|
381
425
|
expectTypesMatch(
|
|
382
426
|
true
|
|
383
427
|
);
|
|
384
|
-
var kicadFootprintAttributes =
|
|
385
|
-
through_hole:
|
|
386
|
-
smd:
|
|
387
|
-
exclude_from_pos_files:
|
|
388
|
-
exclude_from_bom:
|
|
428
|
+
var kicadFootprintAttributes = z17.object({
|
|
429
|
+
through_hole: z17.boolean().optional(),
|
|
430
|
+
smd: z17.boolean().optional(),
|
|
431
|
+
exclude_from_pos_files: z17.boolean().optional(),
|
|
432
|
+
exclude_from_bom: z17.boolean().optional()
|
|
389
433
|
});
|
|
390
434
|
expectTypesMatch(
|
|
391
435
|
true
|
|
392
436
|
);
|
|
393
|
-
var kicadFootprintPad =
|
|
394
|
-
name:
|
|
395
|
-
type:
|
|
396
|
-
shape:
|
|
437
|
+
var kicadFootprintPad = z17.object({
|
|
438
|
+
name: z17.string(),
|
|
439
|
+
type: z17.string(),
|
|
440
|
+
shape: z17.string().optional(),
|
|
397
441
|
at: kicadAt.optional(),
|
|
398
442
|
size: point.optional(),
|
|
399
443
|
drill: distance4.optional(),
|
|
400
|
-
layers:
|
|
401
|
-
removeUnusedLayers:
|
|
402
|
-
uuid:
|
|
444
|
+
layers: z17.array(z17.string()).optional(),
|
|
445
|
+
removeUnusedLayers: z17.boolean().optional(),
|
|
446
|
+
uuid: z17.string().optional()
|
|
403
447
|
});
|
|
404
448
|
expectTypesMatch(true);
|
|
405
|
-
var kicadFootprintModel =
|
|
406
|
-
path:
|
|
449
|
+
var kicadFootprintModel = z17.object({
|
|
450
|
+
path: z17.string(),
|
|
407
451
|
offset: point3.optional(),
|
|
408
452
|
scale: point3.optional(),
|
|
409
453
|
rotate: point3.optional()
|
|
410
454
|
});
|
|
411
455
|
expectTypesMatch(true);
|
|
412
|
-
var kicadFootprintMetadata =
|
|
413
|
-
footprintName:
|
|
414
|
-
version:
|
|
415
|
-
generator:
|
|
416
|
-
generatorVersion:
|
|
417
|
-
layer:
|
|
456
|
+
var kicadFootprintMetadata = z17.object({
|
|
457
|
+
footprintName: z17.string().optional(),
|
|
458
|
+
version: z17.union([z17.number(), z17.string()]).optional(),
|
|
459
|
+
generator: z17.string().optional(),
|
|
460
|
+
generatorVersion: z17.union([z17.number(), z17.string()]).optional(),
|
|
461
|
+
layer: z17.string().optional(),
|
|
418
462
|
properties: kicadFootprintProperties.optional(),
|
|
419
463
|
attributes: kicadFootprintAttributes.optional(),
|
|
420
|
-
pads:
|
|
421
|
-
embeddedFonts:
|
|
464
|
+
pads: z17.array(kicadFootprintPad).optional(),
|
|
465
|
+
embeddedFonts: z17.boolean().optional(),
|
|
422
466
|
model: kicadFootprintModel.optional()
|
|
423
467
|
});
|
|
424
468
|
expectTypesMatch(true);
|
|
425
469
|
|
|
426
470
|
// lib/common/kicadSymbolMetadata.ts
|
|
427
471
|
import { distance as distance5 } from "circuit-json";
|
|
428
|
-
import { z as
|
|
429
|
-
var kicadSymbolPinNumbers =
|
|
430
|
-
hide:
|
|
472
|
+
import { z as z18 } from "zod";
|
|
473
|
+
var kicadSymbolPinNumbers = z18.object({
|
|
474
|
+
hide: z18.boolean().optional()
|
|
431
475
|
});
|
|
432
476
|
expectTypesMatch(true);
|
|
433
|
-
var kicadSymbolPinNames =
|
|
477
|
+
var kicadSymbolPinNames = z18.object({
|
|
434
478
|
offset: distance5.optional(),
|
|
435
|
-
hide:
|
|
479
|
+
hide: z18.boolean().optional()
|
|
436
480
|
});
|
|
437
481
|
expectTypesMatch(true);
|
|
438
|
-
var kicadSymbolEffects =
|
|
482
|
+
var kicadSymbolEffects = z18.object({
|
|
439
483
|
font: kicadFont.optional(),
|
|
440
|
-
justify:
|
|
441
|
-
hide:
|
|
484
|
+
justify: z18.union([z18.string(), z18.array(z18.string())]).optional(),
|
|
485
|
+
hide: z18.boolean().optional()
|
|
442
486
|
});
|
|
443
487
|
expectTypesMatch(true);
|
|
444
|
-
var kicadSymbolProperty =
|
|
445
|
-
value:
|
|
446
|
-
id:
|
|
488
|
+
var kicadSymbolProperty = z18.object({
|
|
489
|
+
value: z18.string(),
|
|
490
|
+
id: z18.union([z18.number(), z18.string()]).optional(),
|
|
447
491
|
at: kicadAt.optional(),
|
|
448
492
|
effects: kicadSymbolEffects.optional()
|
|
449
493
|
});
|
|
450
494
|
expectTypesMatch(true);
|
|
451
|
-
var kicadSymbolProperties =
|
|
495
|
+
var kicadSymbolProperties = z18.object({
|
|
452
496
|
Reference: kicadSymbolProperty.optional(),
|
|
453
497
|
Value: kicadSymbolProperty.optional(),
|
|
454
498
|
Footprint: kicadSymbolProperty.optional(),
|
|
@@ -458,55 +502,55 @@ var kicadSymbolProperties = z17.object({
|
|
|
458
502
|
ki_fp_filters: kicadSymbolProperty.optional()
|
|
459
503
|
});
|
|
460
504
|
expectTypesMatch(true);
|
|
461
|
-
var kicadSymbolMetadata =
|
|
462
|
-
symbolName:
|
|
463
|
-
extends:
|
|
505
|
+
var kicadSymbolMetadata = z18.object({
|
|
506
|
+
symbolName: z18.string().optional(),
|
|
507
|
+
extends: z18.string().optional(),
|
|
464
508
|
pinNumbers: kicadSymbolPinNumbers.optional(),
|
|
465
509
|
pinNames: kicadSymbolPinNames.optional(),
|
|
466
|
-
excludeFromSim:
|
|
467
|
-
inBom:
|
|
468
|
-
onBoard:
|
|
510
|
+
excludeFromSim: z18.boolean().optional(),
|
|
511
|
+
inBom: z18.boolean().optional(),
|
|
512
|
+
onBoard: z18.boolean().optional(),
|
|
469
513
|
properties: kicadSymbolProperties.optional(),
|
|
470
|
-
embeddedFonts:
|
|
514
|
+
embeddedFonts: z18.boolean().optional()
|
|
471
515
|
});
|
|
472
516
|
expectTypesMatch(true);
|
|
473
517
|
|
|
474
518
|
// lib/common/pcbStyle.ts
|
|
475
519
|
import { distance as distance6 } from "circuit-json";
|
|
476
|
-
import { z as
|
|
477
|
-
var pcbStyle =
|
|
520
|
+
import { z as z19 } from "zod";
|
|
521
|
+
var pcbStyle = z19.object({
|
|
478
522
|
silkscreenFontSize: distance6.optional(),
|
|
479
523
|
viaPadDiameter: distance6.optional(),
|
|
480
524
|
viaHoleDiameter: distance6.optional(),
|
|
481
|
-
silkscreenTextPosition:
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
offsetX:
|
|
485
|
-
offsetY:
|
|
525
|
+
silkscreenTextPosition: z19.union([
|
|
526
|
+
z19.enum(["centered", "outside", "none"]),
|
|
527
|
+
z19.object({
|
|
528
|
+
offsetX: z19.number(),
|
|
529
|
+
offsetY: z19.number()
|
|
486
530
|
})
|
|
487
531
|
]).optional(),
|
|
488
|
-
silkscreenTextVisibility:
|
|
532
|
+
silkscreenTextVisibility: z19.enum(["hidden", "visible", "inherit"]).optional()
|
|
489
533
|
});
|
|
490
534
|
expectTypesMatch(true);
|
|
491
535
|
|
|
492
536
|
// lib/common/pcbSx.ts
|
|
493
537
|
import { length as length2 } from "circuit-json";
|
|
494
|
-
import { z as
|
|
495
|
-
var pcbSxValue =
|
|
538
|
+
import { z as z20 } from "zod";
|
|
539
|
+
var pcbSxValue = z20.object({
|
|
496
540
|
fontSize: length2.optional(),
|
|
497
541
|
pcbX: pcbCoordinate.optional(),
|
|
498
542
|
pcbY: pcbCoordinate.optional(),
|
|
499
|
-
visibility:
|
|
543
|
+
visibility: z20.enum(["hidden", "visible", "inherit"]).optional()
|
|
500
544
|
});
|
|
501
|
-
var pcbSx =
|
|
502
|
-
|
|
545
|
+
var pcbSx = z20.record(
|
|
546
|
+
z20.string(),
|
|
503
547
|
pcbSxValue
|
|
504
548
|
);
|
|
505
549
|
expectTypesMatch(true);
|
|
506
550
|
|
|
507
551
|
// lib/common/pinAttributeMap.ts
|
|
508
|
-
import { z as
|
|
509
|
-
var pinCapability =
|
|
552
|
+
import { z as z21 } from "zod";
|
|
553
|
+
var pinCapability = z21.enum([
|
|
510
554
|
"i2c_sda",
|
|
511
555
|
"i2c_scl",
|
|
512
556
|
"spi_cs",
|
|
@@ -516,61 +560,61 @@ var pinCapability = z20.enum([
|
|
|
516
560
|
"uart_tx",
|
|
517
561
|
"uart_rx"
|
|
518
562
|
]);
|
|
519
|
-
var pinAttributeMap =
|
|
520
|
-
isInput:
|
|
521
|
-
isOutput:
|
|
522
|
-
isBidirectional:
|
|
523
|
-
isPassive:
|
|
524
|
-
canUseTriState:
|
|
525
|
-
isUsingTriState:
|
|
526
|
-
canUseOpenCollector:
|
|
527
|
-
isUsingOpenCollector:
|
|
528
|
-
canUseOpenEmitter:
|
|
529
|
-
isUsingOpenEmitter:
|
|
530
|
-
capabilities:
|
|
531
|
-
activeCapabilities:
|
|
563
|
+
var pinAttributeMap = z21.object({
|
|
564
|
+
isInput: z21.boolean().optional(),
|
|
565
|
+
isOutput: z21.boolean().optional(),
|
|
566
|
+
isBidirectional: z21.boolean().optional(),
|
|
567
|
+
isPassive: z21.boolean().optional(),
|
|
568
|
+
canUseTriState: z21.boolean().optional(),
|
|
569
|
+
isUsingTriState: z21.boolean().optional(),
|
|
570
|
+
canUseOpenCollector: z21.boolean().optional(),
|
|
571
|
+
isUsingOpenCollector: z21.boolean().optional(),
|
|
572
|
+
canUseOpenEmitter: z21.boolean().optional(),
|
|
573
|
+
isUsingOpenEmitter: z21.boolean().optional(),
|
|
574
|
+
capabilities: z21.array(pinCapability).optional(),
|
|
575
|
+
activeCapabilities: z21.array(pinCapability).optional(),
|
|
532
576
|
activeCapability: pinCapability.optional(),
|
|
533
|
-
providesPower:
|
|
534
|
-
requiresPower:
|
|
535
|
-
providesGround:
|
|
536
|
-
requiresGround:
|
|
537
|
-
providesVoltage:
|
|
538
|
-
requiresVoltage:
|
|
539
|
-
doNotConnect:
|
|
540
|
-
includeInBoardPinout:
|
|
541
|
-
highlightColor:
|
|
542
|
-
mustBeConnected:
|
|
543
|
-
canUseInternalPullup:
|
|
544
|
-
isUsingInternalPullup:
|
|
545
|
-
needsExternalPullup:
|
|
546
|
-
canUseInternalPulldown:
|
|
547
|
-
isUsingInternalPulldown:
|
|
548
|
-
needsExternalPulldown:
|
|
549
|
-
canUseOpenDrain:
|
|
550
|
-
isUsingOpenDrain:
|
|
551
|
-
canUsePushPull:
|
|
552
|
-
isUsingPushPull:
|
|
553
|
-
shouldHaveDecouplingCapacitor:
|
|
554
|
-
recommendedDecouplingCapacitorCapacitance:
|
|
555
|
-
isGpio:
|
|
577
|
+
providesPower: z21.boolean().optional(),
|
|
578
|
+
requiresPower: z21.boolean().optional(),
|
|
579
|
+
providesGround: z21.boolean().optional(),
|
|
580
|
+
requiresGround: z21.boolean().optional(),
|
|
581
|
+
providesVoltage: z21.union([z21.string(), z21.number()]).optional(),
|
|
582
|
+
requiresVoltage: z21.union([z21.string(), z21.number()]).optional(),
|
|
583
|
+
doNotConnect: z21.boolean().optional(),
|
|
584
|
+
includeInBoardPinout: z21.boolean().optional(),
|
|
585
|
+
highlightColor: z21.string().optional(),
|
|
586
|
+
mustBeConnected: z21.boolean().optional(),
|
|
587
|
+
canUseInternalPullup: z21.boolean().optional(),
|
|
588
|
+
isUsingInternalPullup: z21.boolean().optional(),
|
|
589
|
+
needsExternalPullup: z21.boolean().optional(),
|
|
590
|
+
canUseInternalPulldown: z21.boolean().optional(),
|
|
591
|
+
isUsingInternalPulldown: z21.boolean().optional(),
|
|
592
|
+
needsExternalPulldown: z21.boolean().optional(),
|
|
593
|
+
canUseOpenDrain: z21.boolean().optional(),
|
|
594
|
+
isUsingOpenDrain: z21.boolean().optional(),
|
|
595
|
+
canUsePushPull: z21.boolean().optional(),
|
|
596
|
+
isUsingPushPull: z21.boolean().optional(),
|
|
597
|
+
shouldHaveDecouplingCapacitor: z21.boolean().optional(),
|
|
598
|
+
recommendedDecouplingCapacitorCapacitance: z21.union([z21.string(), z21.number()]).optional(),
|
|
599
|
+
isGpio: z21.boolean().optional()
|
|
556
600
|
});
|
|
557
601
|
expectTypesMatch(true);
|
|
558
602
|
|
|
559
603
|
// lib/common/schStyle.ts
|
|
560
604
|
import { distance as distance7 } from "circuit-json";
|
|
561
|
-
import { z as
|
|
562
|
-
var schStyle =
|
|
563
|
-
defaultPassiveSize:
|
|
564
|
-
defaultCapacitorOrientation:
|
|
605
|
+
import { z as z22 } from "zod";
|
|
606
|
+
var schStyle = z22.object({
|
|
607
|
+
defaultPassiveSize: z22.union([z22.enum(["xs", "sm", "md"]), distance7]).optional(),
|
|
608
|
+
defaultCapacitorOrientation: z22.enum(["vertical", "none"]).optional()
|
|
565
609
|
});
|
|
566
610
|
expectTypesMatch(true);
|
|
567
611
|
|
|
568
612
|
// lib/common/symbolProp.ts
|
|
569
|
-
import { z as
|
|
570
|
-
var symbolProp =
|
|
613
|
+
import { z as z23 } from "zod";
|
|
614
|
+
var symbolProp = z23.custom((v) => true);
|
|
571
615
|
|
|
572
616
|
// lib/common/layout.ts
|
|
573
|
-
var pcbLayoutProps =
|
|
617
|
+
var pcbLayoutProps = z24.object({
|
|
574
618
|
pcbX: pcbCoordinate.optional(),
|
|
575
619
|
pcbY: pcbCoordinate.optional(),
|
|
576
620
|
pcbLeftEdgeX: pcbCoordinate.optional(),
|
|
@@ -580,14 +624,14 @@ var pcbLayoutProps = z23.object({
|
|
|
580
624
|
pcbOffsetX: distance8.optional(),
|
|
581
625
|
pcbOffsetY: distance8.optional(),
|
|
582
626
|
pcbRotation: rotation2.optional(),
|
|
583
|
-
pcbPositionAnchor:
|
|
584
|
-
pcbPositionMode:
|
|
627
|
+
pcbPositionAnchor: z24.string().optional(),
|
|
628
|
+
pcbPositionMode: z24.enum([
|
|
585
629
|
"relative_to_group_anchor",
|
|
586
630
|
"auto",
|
|
587
631
|
"relative_to_board_anchor",
|
|
588
632
|
"relative_to_component_anchor"
|
|
589
633
|
]).optional(),
|
|
590
|
-
shouldBeOnEdgeOfBoard:
|
|
634
|
+
shouldBeOnEdgeOfBoard: z24.boolean().optional(),
|
|
591
635
|
layer: layer_ref.optional(),
|
|
592
636
|
pcbMarginTop: distance8.optional(),
|
|
593
637
|
pcbMarginRight: distance8.optional(),
|
|
@@ -597,11 +641,11 @@ var pcbLayoutProps = z23.object({
|
|
|
597
641
|
pcbMarginY: distance8.optional(),
|
|
598
642
|
pcbStyle: pcbStyle.optional(),
|
|
599
643
|
pcbSx: pcbSx.optional(),
|
|
600
|
-
pcbRelative:
|
|
601
|
-
relative:
|
|
644
|
+
pcbRelative: z24.boolean().optional(),
|
|
645
|
+
relative: z24.boolean().optional()
|
|
602
646
|
});
|
|
603
647
|
expectTypesMatch(true);
|
|
604
|
-
var commonLayoutProps =
|
|
648
|
+
var commonLayoutProps = z24.object({
|
|
605
649
|
pcbX: pcbCoordinate.optional(),
|
|
606
650
|
pcbY: pcbCoordinate.optional(),
|
|
607
651
|
pcbLeftEdgeX: pcbCoordinate.optional(),
|
|
@@ -611,14 +655,14 @@ var commonLayoutProps = z23.object({
|
|
|
611
655
|
pcbOffsetX: distance8.optional(),
|
|
612
656
|
pcbOffsetY: distance8.optional(),
|
|
613
657
|
pcbRotation: rotation2.optional(),
|
|
614
|
-
pcbPositionAnchor:
|
|
615
|
-
pcbPositionMode:
|
|
658
|
+
pcbPositionAnchor: z24.string().optional(),
|
|
659
|
+
pcbPositionMode: z24.enum([
|
|
616
660
|
"relative_to_group_anchor",
|
|
617
661
|
"auto",
|
|
618
662
|
"relative_to_board_anchor",
|
|
619
663
|
"relative_to_component_anchor"
|
|
620
664
|
]).optional(),
|
|
621
|
-
shouldBeOnEdgeOfBoard:
|
|
665
|
+
shouldBeOnEdgeOfBoard: z24.boolean().optional(),
|
|
622
666
|
pcbMarginTop: distance8.optional(),
|
|
623
667
|
pcbMarginRight: distance8.optional(),
|
|
624
668
|
pcbMarginBottom: distance8.optional(),
|
|
@@ -640,45 +684,45 @@ var commonLayoutProps = z23.object({
|
|
|
640
684
|
footprint: footprintProp.optional(),
|
|
641
685
|
symbol: symbolProp.optional(),
|
|
642
686
|
schStyle: schStyle.optional(),
|
|
643
|
-
relative:
|
|
644
|
-
schRelative:
|
|
645
|
-
pcbRelative:
|
|
687
|
+
relative: z24.boolean().optional(),
|
|
688
|
+
schRelative: z24.boolean().optional(),
|
|
689
|
+
pcbRelative: z24.boolean().optional()
|
|
646
690
|
});
|
|
647
691
|
expectTypesMatch(true);
|
|
648
|
-
var supplierProps =
|
|
649
|
-
supplierPartNumbers:
|
|
692
|
+
var supplierProps = z24.object({
|
|
693
|
+
supplierPartNumbers: z24.record(supplier_name, z24.array(z24.string())).optional()
|
|
650
694
|
});
|
|
651
695
|
expectTypesMatch(true);
|
|
652
696
|
var commonComponentProps = commonLayoutProps.merge(supplierProps).extend({
|
|
653
|
-
key:
|
|
654
|
-
name:
|
|
655
|
-
displayName:
|
|
656
|
-
schSectionName:
|
|
697
|
+
key: z24.any().optional(),
|
|
698
|
+
name: z24.string(),
|
|
699
|
+
displayName: z24.string().optional(),
|
|
700
|
+
schSectionName: z24.string().optional().describe(
|
|
657
701
|
'This component will be drawn as part of this section e.g. "Power"'
|
|
658
702
|
),
|
|
659
|
-
schSheetName:
|
|
703
|
+
schSheetName: z24.string().optional().describe(
|
|
660
704
|
'This component will be drawn as part of this sheet e.g. "Main"'
|
|
661
705
|
),
|
|
662
706
|
datasheetUrl: url.optional(),
|
|
663
707
|
cadModel: cadModelProp.optional(),
|
|
664
708
|
kicadFootprintMetadata: kicadFootprintMetadata.optional(),
|
|
665
709
|
kicadSymbolMetadata: kicadSymbolMetadata.optional(),
|
|
666
|
-
children:
|
|
667
|
-
symbolName:
|
|
668
|
-
doNotPlace:
|
|
669
|
-
allowOffBoard:
|
|
710
|
+
children: z24.any().optional(),
|
|
711
|
+
symbolName: z24.string().optional(),
|
|
712
|
+
doNotPlace: z24.boolean().optional(),
|
|
713
|
+
allowOffBoard: z24.boolean().optional().describe(
|
|
670
714
|
"Allows the PCB component to hang off the board (e.g. for USB ports or displays)"
|
|
671
715
|
),
|
|
672
|
-
obstructsWithinBounds:
|
|
716
|
+
obstructsWithinBounds: z24.boolean().optional().describe(
|
|
673
717
|
"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"
|
|
674
718
|
),
|
|
675
|
-
showAsTranslucentModel:
|
|
719
|
+
showAsTranslucentModel: z24.boolean().optional().describe(
|
|
676
720
|
"Whether to show this component's CAD model as translucent in the 3D viewer."
|
|
677
721
|
),
|
|
678
|
-
pinAttributes:
|
|
679
|
-
mpn:
|
|
680
|
-
mfn:
|
|
681
|
-
manufacturerPartNumber:
|
|
722
|
+
pinAttributes: z24.record(z24.string(), pinAttributeMap).optional(),
|
|
723
|
+
mpn: z24.string().describe("Manufacturer Part Number").optional(),
|
|
724
|
+
mfn: z24.string().describe("Manufacturer Part Number").optional(),
|
|
725
|
+
manufacturerPartNumber: z24.string().optional()
|
|
682
726
|
});
|
|
683
727
|
expectTypesMatch(true);
|
|
684
728
|
var componentProps = commonComponentProps;
|
|
@@ -693,7 +737,7 @@ var lrPolarPins = [
|
|
|
693
737
|
"cathode",
|
|
694
738
|
"neg"
|
|
695
739
|
];
|
|
696
|
-
var distanceOrMultiplier = distance8.or(
|
|
740
|
+
var distanceOrMultiplier = distance8.or(z24.enum(["2x", "3x", "4x"]));
|
|
697
741
|
|
|
698
742
|
// lib/common/resolveManufacturerPartNumber.ts
|
|
699
743
|
var resolveManufacturerPartNumber = (props) => {
|
|
@@ -708,9 +752,9 @@ var resolveManufacturerPartNumber = (props) => {
|
|
|
708
752
|
|
|
709
753
|
// lib/common/pcbPath.ts
|
|
710
754
|
import { layer_ref as layer_ref2 } from "circuit-json";
|
|
711
|
-
import { z as
|
|
755
|
+
import { z as z25 } from "zod";
|
|
712
756
|
var basePcbPathPoint = point.extend({
|
|
713
|
-
via:
|
|
757
|
+
via: z25.boolean().optional(),
|
|
714
758
|
fromLayer: layer_ref2.optional(),
|
|
715
759
|
toLayer: layer_ref2.optional()
|
|
716
760
|
});
|
|
@@ -718,20 +762,20 @@ var pcbPathPoint = basePcbPathPoint.superRefine((value, ctx) => {
|
|
|
718
762
|
if (value.via) {
|
|
719
763
|
if (!value.toLayer) {
|
|
720
764
|
ctx.addIssue({
|
|
721
|
-
code:
|
|
765
|
+
code: z25.ZodIssueCode.custom,
|
|
722
766
|
message: "toLayer is required when via is true",
|
|
723
767
|
path: ["toLayer"]
|
|
724
768
|
});
|
|
725
769
|
}
|
|
726
770
|
} else if (value.fromLayer || value.toLayer) {
|
|
727
771
|
ctx.addIssue({
|
|
728
|
-
code:
|
|
772
|
+
code: z25.ZodIssueCode.custom,
|
|
729
773
|
message: "fromLayer/toLayer are only allowed when via is true",
|
|
730
774
|
path: ["via"]
|
|
731
775
|
});
|
|
732
776
|
}
|
|
733
777
|
});
|
|
734
|
-
var pcbPath =
|
|
778
|
+
var pcbPath = z25.array(z25.union([pcbPathPoint, z25.string()]));
|
|
735
779
|
expectTypesMatch(true);
|
|
736
780
|
expectTypesMatch(true);
|
|
737
781
|
|
|
@@ -16199,8 +16243,8 @@ var footprinterStringExamples = [
|
|
|
16199
16243
|
];
|
|
16200
16244
|
|
|
16201
16245
|
// lib/common/schematicOrientation.ts
|
|
16202
|
-
import { z as
|
|
16203
|
-
var schematicOrientation =
|
|
16246
|
+
import { z as z26 } from "zod";
|
|
16247
|
+
var schematicOrientation = z26.enum([
|
|
16204
16248
|
"vertical",
|
|
16205
16249
|
"horizontal",
|
|
16206
16250
|
"pos_top",
|
|
@@ -16219,32 +16263,32 @@ expectTypesMatch(
|
|
|
16219
16263
|
);
|
|
16220
16264
|
|
|
16221
16265
|
// lib/common/schematicPinDefinitions.ts
|
|
16222
|
-
import { z as
|
|
16223
|
-
var explicitPinSideDefinition =
|
|
16224
|
-
pins:
|
|
16225
|
-
direction:
|
|
16226
|
-
|
|
16227
|
-
|
|
16228
|
-
|
|
16229
|
-
|
|
16266
|
+
import { z as z27 } from "zod";
|
|
16267
|
+
var explicitPinSideDefinition = z27.object({
|
|
16268
|
+
pins: z27.array(z27.union([z27.number(), z27.string()])),
|
|
16269
|
+
direction: z27.union([
|
|
16270
|
+
z27.literal("top-to-bottom"),
|
|
16271
|
+
z27.literal("left-to-right"),
|
|
16272
|
+
z27.literal("bottom-to-top"),
|
|
16273
|
+
z27.literal("right-to-left")
|
|
16230
16274
|
])
|
|
16231
16275
|
});
|
|
16232
|
-
var pinSideDefinitionInput =
|
|
16233
|
-
var pinSideDefinitionWithDefaultDirection = (direction2) =>
|
|
16276
|
+
var pinSideDefinitionInput = z27.array(z27.union([z27.number(), z27.string()]));
|
|
16277
|
+
var pinSideDefinitionWithDefaultDirection = (direction2) => z27.union([explicitPinSideDefinition, pinSideDefinitionInput]).transform(
|
|
16234
16278
|
(value) => Array.isArray(value) ? {
|
|
16235
16279
|
pins: value,
|
|
16236
16280
|
direction: direction2
|
|
16237
16281
|
} : value
|
|
16238
16282
|
);
|
|
16239
|
-
var schematicPortArrangement =
|
|
16240
|
-
leftSize:
|
|
16241
|
-
topSize:
|
|
16242
|
-
rightSize:
|
|
16243
|
-
bottomSize:
|
|
16244
|
-
leftPinCount:
|
|
16245
|
-
rightPinCount:
|
|
16246
|
-
topPinCount:
|
|
16247
|
-
bottomPinCount:
|
|
16283
|
+
var schematicPortArrangement = z27.object({
|
|
16284
|
+
leftSize: z27.number().optional().describe("@deprecated, use leftPinCount"),
|
|
16285
|
+
topSize: z27.number().optional().describe("@deprecated, use topPinCount"),
|
|
16286
|
+
rightSize: z27.number().optional().describe("@deprecated, use rightPinCount"),
|
|
16287
|
+
bottomSize: z27.number().optional().describe("@deprecated, use bottomPinCount"),
|
|
16288
|
+
leftPinCount: z27.number().optional(),
|
|
16289
|
+
rightPinCount: z27.number().optional(),
|
|
16290
|
+
topPinCount: z27.number().optional(),
|
|
16291
|
+
bottomPinCount: z27.number().optional(),
|
|
16248
16292
|
leftSide: pinSideDefinitionWithDefaultDirection("top-to-bottom").optional(),
|
|
16249
16293
|
rightSide: pinSideDefinitionWithDefaultDirection("top-to-bottom").optional(),
|
|
16250
16294
|
topSide: pinSideDefinitionWithDefaultDirection("left-to-right").optional(),
|
|
@@ -16255,9 +16299,9 @@ expectTypesMatch(true);
|
|
|
16255
16299
|
|
|
16256
16300
|
// lib/common/schematicPinStyle.ts
|
|
16257
16301
|
import { distance as distance9 } from "circuit-json";
|
|
16258
|
-
import { z as
|
|
16259
|
-
var schematicPinStyle =
|
|
16260
|
-
|
|
16302
|
+
import { z as z28 } from "zod";
|
|
16303
|
+
var schematicPinStyle = z28.record(
|
|
16304
|
+
z28.object({
|
|
16261
16305
|
marginLeft: distance9.optional(),
|
|
16262
16306
|
marginRight: distance9.optional(),
|
|
16263
16307
|
marginTop: distance9.optional(),
|
|
@@ -16271,17 +16315,17 @@ var schematicPinStyle = z27.record(
|
|
|
16271
16315
|
expectTypesMatch(true);
|
|
16272
16316
|
|
|
16273
16317
|
// lib/common/schematicPinLabel.ts
|
|
16274
|
-
import { z as
|
|
16275
|
-
var schematicPinLabel =
|
|
16318
|
+
import { z as z29 } from "zod";
|
|
16319
|
+
var schematicPinLabel = z29.string().regex(/^[A-Za-z0-9_]+$/);
|
|
16276
16320
|
|
|
16277
16321
|
// lib/common/schematicSize.ts
|
|
16278
16322
|
import { distance as distance10 } from "circuit-json";
|
|
16279
|
-
import { z as
|
|
16280
|
-
var schematicSymbolSize =
|
|
16323
|
+
import { z as z30 } from "zod";
|
|
16324
|
+
var schematicSymbolSize = z30.enum(["xs", "sm", "default", "md"]).or(distance10.pipe(z30.number().finite())).describe("distance between pin1 and pin2 of the schematic symbol");
|
|
16281
16325
|
|
|
16282
16326
|
// lib/common/kicadPinMetadata.ts
|
|
16283
|
-
import { z as
|
|
16284
|
-
var kicadPinElectricalType =
|
|
16327
|
+
import { z as z31 } from "zod";
|
|
16328
|
+
var kicadPinElectricalType = z31.enum([
|
|
16285
16329
|
"input",
|
|
16286
16330
|
"output",
|
|
16287
16331
|
"bidirectional",
|
|
@@ -16295,7 +16339,7 @@ var kicadPinElectricalType = z30.enum([
|
|
|
16295
16339
|
"open_emitter",
|
|
16296
16340
|
"no_connect"
|
|
16297
16341
|
]);
|
|
16298
|
-
var kicadPinGraphicStyle =
|
|
16342
|
+
var kicadPinGraphicStyle = z31.enum([
|
|
16299
16343
|
"line",
|
|
16300
16344
|
"inverted",
|
|
16301
16345
|
"clock",
|
|
@@ -16306,7 +16350,7 @@ var kicadPinGraphicStyle = z30.enum([
|
|
|
16306
16350
|
"falling_edge_clock",
|
|
16307
16351
|
"nonlogic"
|
|
16308
16352
|
]);
|
|
16309
|
-
var kicadPinMetadata =
|
|
16353
|
+
var kicadPinMetadata = z31.object({
|
|
16310
16354
|
electricalType: kicadPinElectricalType.optional(),
|
|
16311
16355
|
graphicStyle: kicadPinGraphicStyle.optional(),
|
|
16312
16356
|
pinLength: distance.optional(),
|
|
@@ -16316,14 +16360,14 @@ var kicadPinMetadata = z30.object({
|
|
|
16316
16360
|
expectTypesMatch(true);
|
|
16317
16361
|
|
|
16318
16362
|
// lib/customDrc.ts
|
|
16319
|
-
import { z as
|
|
16320
|
-
var customDrcCheckFn =
|
|
16363
|
+
import { z as z32 } from "zod";
|
|
16364
|
+
var customDrcCheckFn = z32.custom(
|
|
16321
16365
|
(value) => typeof value === "function"
|
|
16322
16366
|
);
|
|
16323
16367
|
|
|
16324
16368
|
// lib/common/ninePointAnchor.ts
|
|
16325
|
-
import { z as
|
|
16326
|
-
var ninePointAnchor =
|
|
16369
|
+
import { z as z33 } from "zod";
|
|
16370
|
+
var ninePointAnchor = z33.enum([
|
|
16327
16371
|
"top_left",
|
|
16328
16372
|
"top_center",
|
|
16329
16373
|
"top_right",
|
|
@@ -16336,47 +16380,47 @@ var ninePointAnchor = z32.enum([
|
|
|
16336
16380
|
]);
|
|
16337
16381
|
|
|
16338
16382
|
// lib/components/board.ts
|
|
16339
|
-
import { z as
|
|
16383
|
+
import { z as z47 } from "zod";
|
|
16340
16384
|
|
|
16341
16385
|
// lib/components/group.ts
|
|
16342
16386
|
import {
|
|
16343
16387
|
length as length3,
|
|
16344
16388
|
distance as distance11
|
|
16345
16389
|
} from "circuit-json";
|
|
16346
|
-
import { z as
|
|
16390
|
+
import { z as z46 } from "zod";
|
|
16347
16391
|
|
|
16348
16392
|
// lib/manual-edits/manual-edit-events/base_manual_edit_event.ts
|
|
16349
|
-
import { z as
|
|
16350
|
-
var base_manual_edit_event =
|
|
16351
|
-
edit_event_id:
|
|
16352
|
-
in_progress:
|
|
16353
|
-
created_at:
|
|
16393
|
+
import { z as z34 } from "zod";
|
|
16394
|
+
var base_manual_edit_event = z34.object({
|
|
16395
|
+
edit_event_id: z34.string(),
|
|
16396
|
+
in_progress: z34.boolean().optional(),
|
|
16397
|
+
created_at: z34.number()
|
|
16354
16398
|
});
|
|
16355
16399
|
expectTypesMatch(
|
|
16356
16400
|
true
|
|
16357
16401
|
);
|
|
16358
16402
|
|
|
16359
16403
|
// lib/manual-edits/manual-edit-events/edit_pcb_component_location_event.ts
|
|
16360
|
-
import { z as
|
|
16404
|
+
import { z as z35 } from "zod";
|
|
16361
16405
|
var edit_pcb_component_location_event = base_manual_edit_event.extend({
|
|
16362
|
-
pcb_edit_event_type:
|
|
16363
|
-
edit_event_type:
|
|
16364
|
-
pcb_component_id:
|
|
16365
|
-
original_center:
|
|
16366
|
-
new_center:
|
|
16406
|
+
pcb_edit_event_type: z35.literal("edit_component_location").describe("deprecated"),
|
|
16407
|
+
edit_event_type: z35.literal("edit_pcb_component_location"),
|
|
16408
|
+
pcb_component_id: z35.string(),
|
|
16409
|
+
original_center: z35.object({ x: z35.number(), y: z35.number() }),
|
|
16410
|
+
new_center: z35.object({ x: z35.number(), y: z35.number() })
|
|
16367
16411
|
});
|
|
16368
16412
|
var edit_component_location_event = edit_pcb_component_location_event;
|
|
16369
16413
|
expectTypesMatch(true);
|
|
16370
16414
|
|
|
16371
16415
|
// lib/manual-edits/manual-edit-events/edit_trace_hint_event.ts
|
|
16372
|
-
import { z as
|
|
16416
|
+
import { z as z36 } from "zod";
|
|
16373
16417
|
var edit_trace_hint_event = base_manual_edit_event.extend({
|
|
16374
|
-
pcb_edit_event_type:
|
|
16375
|
-
edit_event_type:
|
|
16376
|
-
pcb_port_id:
|
|
16377
|
-
pcb_trace_hint_id:
|
|
16378
|
-
route:
|
|
16379
|
-
|
|
16418
|
+
pcb_edit_event_type: z36.literal("edit_trace_hint").describe("deprecated"),
|
|
16419
|
+
edit_event_type: z36.literal("edit_pcb_trace_hint").optional(),
|
|
16420
|
+
pcb_port_id: z36.string(),
|
|
16421
|
+
pcb_trace_hint_id: z36.string().optional(),
|
|
16422
|
+
route: z36.array(
|
|
16423
|
+
z36.object({ x: z36.number(), y: z36.number(), via: z36.boolean().optional() })
|
|
16380
16424
|
)
|
|
16381
16425
|
});
|
|
16382
16426
|
expectTypesMatch(
|
|
@@ -16384,38 +16428,38 @@ expectTypesMatch(
|
|
|
16384
16428
|
);
|
|
16385
16429
|
|
|
16386
16430
|
// lib/manual-edits/manual-edit-events/edit_schematic_component_location_event.ts
|
|
16387
|
-
import { z as
|
|
16431
|
+
import { z as z37 } from "zod";
|
|
16388
16432
|
var edit_schematic_component_location_event = base_manual_edit_event.extend({
|
|
16389
|
-
edit_event_type:
|
|
16390
|
-
schematic_component_id:
|
|
16391
|
-
original_center:
|
|
16392
|
-
new_center:
|
|
16433
|
+
edit_event_type: z37.literal("edit_schematic_component_location"),
|
|
16434
|
+
schematic_component_id: z37.string(),
|
|
16435
|
+
original_center: z37.object({ x: z37.number(), y: z37.number() }),
|
|
16436
|
+
new_center: z37.object({ x: z37.number(), y: z37.number() })
|
|
16393
16437
|
});
|
|
16394
16438
|
expectTypesMatch(true);
|
|
16395
16439
|
|
|
16396
16440
|
// lib/manual-edits/manual-edit-events/edit_pcb_group_location_event.ts
|
|
16397
|
-
import { z as
|
|
16441
|
+
import { z as z38 } from "zod";
|
|
16398
16442
|
var edit_pcb_group_location_event = base_manual_edit_event.extend({
|
|
16399
|
-
edit_event_type:
|
|
16400
|
-
pcb_group_id:
|
|
16401
|
-
original_center:
|
|
16402
|
-
new_center:
|
|
16443
|
+
edit_event_type: z38.literal("edit_pcb_group_location"),
|
|
16444
|
+
pcb_group_id: z38.string(),
|
|
16445
|
+
original_center: z38.object({ x: z38.number(), y: z38.number() }),
|
|
16446
|
+
new_center: z38.object({ x: z38.number(), y: z38.number() })
|
|
16403
16447
|
});
|
|
16404
16448
|
expectTypesMatch(true);
|
|
16405
16449
|
|
|
16406
16450
|
// lib/manual-edits/manual-edit-events/edit_schematic_group_location_event.ts
|
|
16407
|
-
import { z as
|
|
16451
|
+
import { z as z39 } from "zod";
|
|
16408
16452
|
var edit_schematic_group_location_event = base_manual_edit_event.extend({
|
|
16409
|
-
edit_event_type:
|
|
16410
|
-
schematic_group_id:
|
|
16411
|
-
original_center:
|
|
16412
|
-
new_center:
|
|
16453
|
+
edit_event_type: z39.literal("edit_schematic_group_location"),
|
|
16454
|
+
schematic_group_id: z39.string(),
|
|
16455
|
+
original_center: z39.object({ x: z39.number(), y: z39.number() }),
|
|
16456
|
+
new_center: z39.object({ x: z39.number(), y: z39.number() })
|
|
16413
16457
|
});
|
|
16414
16458
|
expectTypesMatch(true);
|
|
16415
16459
|
|
|
16416
16460
|
// lib/manual-edits/manual_edit_event.ts
|
|
16417
|
-
import { z as
|
|
16418
|
-
var manual_edit_event =
|
|
16461
|
+
import { z as z40 } from "zod";
|
|
16462
|
+
var manual_edit_event = z40.union([
|
|
16419
16463
|
edit_pcb_component_location_event,
|
|
16420
16464
|
edit_trace_hint_event,
|
|
16421
16465
|
edit_schematic_component_location_event
|
|
@@ -16423,33 +16467,33 @@ var manual_edit_event = z39.union([
|
|
|
16423
16467
|
expectTypesMatch(true);
|
|
16424
16468
|
|
|
16425
16469
|
// lib/manual-edits/manual_edits_file.ts
|
|
16426
|
-
import { z as
|
|
16470
|
+
import { z as z44 } from "zod";
|
|
16427
16471
|
|
|
16428
16472
|
// lib/manual-edits/manual_pcb_placement.ts
|
|
16429
|
-
import { z as
|
|
16473
|
+
import { z as z41 } from "zod";
|
|
16430
16474
|
import { point as point2 } from "circuit-json";
|
|
16431
|
-
var manual_pcb_placement =
|
|
16432
|
-
selector:
|
|
16433
|
-
relative_to:
|
|
16475
|
+
var manual_pcb_placement = z41.object({
|
|
16476
|
+
selector: z41.string(),
|
|
16477
|
+
relative_to: z41.string().optional().default("group_center").describe("Can be a selector or 'group_center'"),
|
|
16434
16478
|
center: point2
|
|
16435
16479
|
});
|
|
16436
16480
|
expectTypesMatch(true);
|
|
16437
16481
|
|
|
16438
16482
|
// lib/manual-edits/manual_trace_hint.ts
|
|
16439
|
-
import { z as
|
|
16483
|
+
import { z as z42 } from "zod";
|
|
16440
16484
|
import { route_hint_point } from "circuit-json";
|
|
16441
|
-
var manual_trace_hint =
|
|
16442
|
-
pcb_port_selector:
|
|
16443
|
-
offsets:
|
|
16485
|
+
var manual_trace_hint = z42.object({
|
|
16486
|
+
pcb_port_selector: z42.string(),
|
|
16487
|
+
offsets: z42.array(route_hint_point)
|
|
16444
16488
|
});
|
|
16445
16489
|
expectTypesMatch(true);
|
|
16446
16490
|
|
|
16447
16491
|
// lib/manual-edits/manual_schematic_placement.ts
|
|
16448
|
-
import { z as
|
|
16492
|
+
import { z as z43 } from "zod";
|
|
16449
16493
|
import { point as point4 } from "circuit-json";
|
|
16450
|
-
var manual_schematic_placement =
|
|
16451
|
-
selector:
|
|
16452
|
-
relative_to:
|
|
16494
|
+
var manual_schematic_placement = z43.object({
|
|
16495
|
+
selector: z43.string(),
|
|
16496
|
+
relative_to: z43.string().optional().default("group_center").describe("Can be a selector or 'group_center'"),
|
|
16453
16497
|
center: point4
|
|
16454
16498
|
});
|
|
16455
16499
|
expectTypesMatch(
|
|
@@ -16457,37 +16501,37 @@ expectTypesMatch(
|
|
|
16457
16501
|
);
|
|
16458
16502
|
|
|
16459
16503
|
// lib/manual-edits/manual_edits_file.ts
|
|
16460
|
-
var manual_edits_file =
|
|
16461
|
-
pcb_placements:
|
|
16462
|
-
manual_trace_hints:
|
|
16463
|
-
schematic_placements:
|
|
16504
|
+
var manual_edits_file = z44.object({
|
|
16505
|
+
pcb_placements: z44.array(manual_pcb_placement).optional(),
|
|
16506
|
+
manual_trace_hints: z44.array(manual_trace_hint).optional(),
|
|
16507
|
+
schematic_placements: z44.array(manual_schematic_placement).optional()
|
|
16464
16508
|
});
|
|
16465
16509
|
expectTypesMatch(true);
|
|
16466
16510
|
|
|
16467
16511
|
// lib/common/connectionsProp.ts
|
|
16468
|
-
import { z as
|
|
16469
|
-
var connectionTarget =
|
|
16512
|
+
import { z as z45 } from "zod";
|
|
16513
|
+
var connectionTarget = z45.string().or(z45.array(z45.string()).readonly()).or(z45.array(z45.string()));
|
|
16470
16514
|
var createConnectionsProp = (labels) => {
|
|
16471
|
-
return
|
|
16515
|
+
return z45.record(z45.enum(labels), connectionTarget);
|
|
16472
16516
|
};
|
|
16473
16517
|
|
|
16474
16518
|
// lib/components/group.ts
|
|
16475
|
-
var layoutConfig =
|
|
16476
|
-
layoutMode:
|
|
16477
|
-
position:
|
|
16478
|
-
grid:
|
|
16479
|
-
gridCols:
|
|
16480
|
-
gridRows:
|
|
16481
|
-
gridTemplateRows:
|
|
16482
|
-
gridTemplateColumns:
|
|
16483
|
-
gridTemplate:
|
|
16484
|
-
gridGap:
|
|
16485
|
-
gridRowGap:
|
|
16486
|
-
gridColumnGap:
|
|
16487
|
-
flex:
|
|
16488
|
-
flexDirection:
|
|
16489
|
-
alignItems:
|
|
16490
|
-
justifyContent:
|
|
16519
|
+
var layoutConfig = z46.object({
|
|
16520
|
+
layoutMode: z46.enum(["grid", "flex", "match-adapt", "relative", "none"]).optional(),
|
|
16521
|
+
position: z46.enum(["absolute", "relative"]).optional(),
|
|
16522
|
+
grid: z46.boolean().optional(),
|
|
16523
|
+
gridCols: z46.number().or(z46.string()).optional(),
|
|
16524
|
+
gridRows: z46.number().or(z46.string()).optional(),
|
|
16525
|
+
gridTemplateRows: z46.string().optional(),
|
|
16526
|
+
gridTemplateColumns: z46.string().optional(),
|
|
16527
|
+
gridTemplate: z46.string().optional(),
|
|
16528
|
+
gridGap: z46.number().or(z46.string()).optional(),
|
|
16529
|
+
gridRowGap: z46.number().or(z46.string()).optional(),
|
|
16530
|
+
gridColumnGap: z46.number().or(z46.string()).optional(),
|
|
16531
|
+
flex: z46.boolean().or(z46.string()).optional(),
|
|
16532
|
+
flexDirection: z46.enum(["row", "column"]).optional(),
|
|
16533
|
+
alignItems: z46.enum(["start", "center", "end", "stretch"]).optional(),
|
|
16534
|
+
justifyContent: z46.enum([
|
|
16491
16535
|
"start",
|
|
16492
16536
|
"center",
|
|
16493
16537
|
"end",
|
|
@@ -16496,16 +16540,16 @@ var layoutConfig = z45.object({
|
|
|
16496
16540
|
"space-around",
|
|
16497
16541
|
"space-evenly"
|
|
16498
16542
|
]).optional(),
|
|
16499
|
-
flexRow:
|
|
16500
|
-
flexColumn:
|
|
16501
|
-
gap:
|
|
16502
|
-
pack:
|
|
16503
|
-
packOrderStrategy:
|
|
16543
|
+
flexRow: z46.boolean().optional(),
|
|
16544
|
+
flexColumn: z46.boolean().optional(),
|
|
16545
|
+
gap: z46.number().or(z46.string()).optional(),
|
|
16546
|
+
pack: z46.boolean().optional().describe("Pack the contents of this group using a packing strategy"),
|
|
16547
|
+
packOrderStrategy: z46.enum([
|
|
16504
16548
|
"largest_to_smallest",
|
|
16505
16549
|
"first_to_last",
|
|
16506
16550
|
"highest_to_lowest_pin_count"
|
|
16507
16551
|
]).optional(),
|
|
16508
|
-
packPlacementStrategy:
|
|
16552
|
+
packPlacementStrategy: z46.enum(["shortest_connection_along_outline"]).optional(),
|
|
16509
16553
|
padding: length3.optional(),
|
|
16510
16554
|
paddingLeft: length3.optional(),
|
|
16511
16555
|
paddingRight: length3.optional(),
|
|
@@ -16515,17 +16559,17 @@ var layoutConfig = z45.object({
|
|
|
16515
16559
|
paddingY: length3.optional(),
|
|
16516
16560
|
width: length3.optional(),
|
|
16517
16561
|
height: length3.optional(),
|
|
16518
|
-
matchAdapt:
|
|
16519
|
-
matchAdaptTemplate:
|
|
16562
|
+
matchAdapt: z46.boolean().optional(),
|
|
16563
|
+
matchAdaptTemplate: z46.any().optional()
|
|
16520
16564
|
});
|
|
16521
16565
|
expectTypesMatch(true);
|
|
16522
|
-
var border =
|
|
16566
|
+
var border = z46.object({
|
|
16523
16567
|
strokeWidth: length3.optional(),
|
|
16524
|
-
dashed:
|
|
16525
|
-
solid:
|
|
16568
|
+
dashed: z46.boolean().optional(),
|
|
16569
|
+
solid: z46.boolean().optional()
|
|
16526
16570
|
});
|
|
16527
|
-
var pcbAnchorAlignmentAutocomplete =
|
|
16528
|
-
var routingTolerances =
|
|
16571
|
+
var pcbAnchorAlignmentAutocomplete = z46.custom((value) => typeof value === "string");
|
|
16572
|
+
var routingTolerances = z46.object({
|
|
16529
16573
|
minTraceWidth: length3.optional(),
|
|
16530
16574
|
minViaHoleEdgeToViaHoleEdgeClearance: length3.optional(),
|
|
16531
16575
|
minViaEdgeToPadEdgeClearance: length3.optional(),
|
|
@@ -16539,25 +16583,25 @@ var routingTolerances = z45.object({
|
|
|
16539
16583
|
minViaHoleDiameter: length3.optional(),
|
|
16540
16584
|
minViaPadDiameter: length3.optional()
|
|
16541
16585
|
});
|
|
16542
|
-
var autorouterConfig =
|
|
16586
|
+
var autorouterConfig = z46.object({
|
|
16543
16587
|
serverUrl: url.optional(),
|
|
16544
|
-
inputFormat:
|
|
16545
|
-
serverMode:
|
|
16546
|
-
serverCacheEnabled:
|
|
16547
|
-
cache:
|
|
16588
|
+
inputFormat: z46.enum(["simplified", "circuit-json"]).optional(),
|
|
16589
|
+
serverMode: z46.enum(["job", "solve-endpoint"]).optional(),
|
|
16590
|
+
serverCacheEnabled: z46.boolean().optional(),
|
|
16591
|
+
cache: z46.custom((v) => true).optional(),
|
|
16548
16592
|
traceClearance: length3.optional(),
|
|
16549
|
-
availableJumperTypes:
|
|
16550
|
-
allowViaInPad:
|
|
16593
|
+
availableJumperTypes: z46.array(z46.enum(["1206x4", "0603"])).optional(),
|
|
16594
|
+
allowViaInPad: z46.boolean().optional().describe(
|
|
16551
16595
|
"Allows the autorouter to place vias inside connected pads. Omitted or false keeps via-in-pad routing disabled."
|
|
16552
16596
|
),
|
|
16553
|
-
groupMode:
|
|
16554
|
-
algorithmFn:
|
|
16597
|
+
groupMode: z46.enum(["sequential_trace", "subcircuit", "sequential-trace"]).optional(),
|
|
16598
|
+
algorithmFn: z46.custom(
|
|
16555
16599
|
(v) => typeof v === "function" || v === void 0
|
|
16556
16600
|
).optional(),
|
|
16557
|
-
implicitBreakoutPointSolverFn:
|
|
16601
|
+
implicitBreakoutPointSolverFn: z46.custom(
|
|
16558
16602
|
(value) => typeof value === "function" || value === void 0
|
|
16559
16603
|
).optional(),
|
|
16560
|
-
preset:
|
|
16604
|
+
preset: z46.enum([
|
|
16561
16605
|
"sequential_trace",
|
|
16562
16606
|
"subcircuit",
|
|
16563
16607
|
"default",
|
|
@@ -16582,39 +16626,39 @@ var autorouterConfig = z45.object({
|
|
|
16582
16626
|
]).transform(
|
|
16583
16627
|
(preset) => preset === "single_layer_routing" ? "bus_lanes" : preset
|
|
16584
16628
|
).optional(),
|
|
16585
|
-
local:
|
|
16629
|
+
local: z46.boolean().optional()
|
|
16586
16630
|
});
|
|
16587
|
-
var autorouterPreset =
|
|
16588
|
-
|
|
16589
|
-
|
|
16590
|
-
|
|
16591
|
-
|
|
16592
|
-
|
|
16593
|
-
|
|
16594
|
-
|
|
16595
|
-
|
|
16596
|
-
|
|
16597
|
-
|
|
16598
|
-
|
|
16599
|
-
|
|
16631
|
+
var autorouterPreset = z46.union([
|
|
16632
|
+
z46.literal("sequential_trace"),
|
|
16633
|
+
z46.literal("subcircuit"),
|
|
16634
|
+
z46.literal("default"),
|
|
16635
|
+
z46.literal("auto"),
|
|
16636
|
+
z46.literal("auto_local"),
|
|
16637
|
+
z46.literal("auto_cloud"),
|
|
16638
|
+
z46.literal("auto_jumper"),
|
|
16639
|
+
z46.literal("tscircuit_beta"),
|
|
16640
|
+
z46.literal("krt"),
|
|
16641
|
+
z46.literal("freerouting"),
|
|
16642
|
+
z46.literal("simplify"),
|
|
16643
|
+
z46.literal("laser_prefab"),
|
|
16600
16644
|
// Prefabricated PCB with laser copper ablation
|
|
16601
|
-
|
|
16602
|
-
|
|
16603
|
-
|
|
16604
|
-
|
|
16605
|
-
|
|
16606
|
-
|
|
16607
|
-
|
|
16608
|
-
|
|
16609
|
-
|
|
16645
|
+
z46.literal("single_layer_fanout"),
|
|
16646
|
+
z46.literal("fanout"),
|
|
16647
|
+
z46.literal("dogbone"),
|
|
16648
|
+
z46.literal("bus_lanes"),
|
|
16649
|
+
z46.literal("single_layer_routing").transform(() => "bus_lanes"),
|
|
16650
|
+
z46.literal("auto-jumper"),
|
|
16651
|
+
z46.literal("sequential-trace"),
|
|
16652
|
+
z46.literal("auto-local"),
|
|
16653
|
+
z46.literal("auto-cloud")
|
|
16610
16654
|
]);
|
|
16611
|
-
var autorouterString =
|
|
16612
|
-
var autorouterProp =
|
|
16655
|
+
var autorouterString = z46.string();
|
|
16656
|
+
var autorouterProp = z46.union([
|
|
16613
16657
|
autorouterConfig,
|
|
16614
16658
|
autorouterPreset,
|
|
16615
16659
|
autorouterString
|
|
16616
16660
|
]);
|
|
16617
|
-
var autorouterEffortLevel =
|
|
16661
|
+
var autorouterEffortLevel = z46.enum([
|
|
16618
16662
|
"1x",
|
|
16619
16663
|
"1.5x",
|
|
16620
16664
|
"2x",
|
|
@@ -16622,12 +16666,12 @@ var autorouterEffortLevel = z45.enum([
|
|
|
16622
16666
|
"10x",
|
|
16623
16667
|
"100x"
|
|
16624
16668
|
]);
|
|
16625
|
-
var preflightRoutingCheckPolicy =
|
|
16669
|
+
var preflightRoutingCheckPolicy = z46.enum([
|
|
16626
16670
|
"none",
|
|
16627
16671
|
"basic",
|
|
16628
16672
|
"conservative"
|
|
16629
16673
|
]);
|
|
16630
|
-
var knownAutorouterVersion =
|
|
16674
|
+
var knownAutorouterVersion = z46.enum([
|
|
16631
16675
|
"beta_pipeline1",
|
|
16632
16676
|
"beta_pipeline3",
|
|
16633
16677
|
"beta_pipeline4",
|
|
@@ -16636,7 +16680,7 @@ var knownAutorouterVersion = z45.enum([
|
|
|
16636
16680
|
"beta_pipeline9",
|
|
16637
16681
|
"latest"
|
|
16638
16682
|
]);
|
|
16639
|
-
var autorouterVersion =
|
|
16683
|
+
var autorouterVersion = z46.custom(
|
|
16640
16684
|
(value) => typeof value === "string"
|
|
16641
16685
|
).transform((value) => {
|
|
16642
16686
|
const parsedAutorouterVersion = knownAutorouterVersion.safeParse(value);
|
|
@@ -16647,33 +16691,33 @@ var autorouterVersion = z45.custom(
|
|
|
16647
16691
|
return "latest";
|
|
16648
16692
|
});
|
|
16649
16693
|
var baseGroupProps = commonLayoutProps.extend({
|
|
16650
|
-
name:
|
|
16651
|
-
children:
|
|
16652
|
-
schTitle:
|
|
16653
|
-
schSheetName:
|
|
16654
|
-
key:
|
|
16655
|
-
showAsSchematicBox:
|
|
16656
|
-
connections:
|
|
16694
|
+
name: z46.string().optional(),
|
|
16695
|
+
children: z46.any().optional(),
|
|
16696
|
+
schTitle: z46.string().optional(),
|
|
16697
|
+
schSheetName: z46.string().optional().describe('This group will be drawn as part of this sheet e.g. "Main"'),
|
|
16698
|
+
key: z46.any().optional(),
|
|
16699
|
+
showAsSchematicBox: z46.boolean().optional(),
|
|
16700
|
+
connections: z46.record(z46.string(), connectionTarget.optional()).optional(),
|
|
16657
16701
|
schPinArrangement: schematicPinArrangement.optional(),
|
|
16658
16702
|
schPinSpacing: length3.optional(),
|
|
16659
16703
|
schPinStyle: schematicPinStyle.optional(),
|
|
16660
16704
|
...layoutConfig.shape,
|
|
16661
16705
|
grid: layoutConfig.shape.grid.describe("@deprecated use pcbGrid"),
|
|
16662
16706
|
flex: layoutConfig.shape.flex.describe("@deprecated use pcbFlex"),
|
|
16663
|
-
pcbGrid:
|
|
16664
|
-
pcbGridCols:
|
|
16665
|
-
pcbGridRows:
|
|
16666
|
-
pcbGridTemplateRows:
|
|
16667
|
-
pcbGridTemplateColumns:
|
|
16668
|
-
pcbGridTemplate:
|
|
16669
|
-
pcbGridGap:
|
|
16670
|
-
pcbGridRowGap:
|
|
16671
|
-
pcbGridColumnGap:
|
|
16672
|
-
pcbFlex:
|
|
16673
|
-
pcbFlexGap:
|
|
16674
|
-
pcbFlexDirection:
|
|
16675
|
-
pcbAlignItems:
|
|
16676
|
-
pcbJustifyContent:
|
|
16707
|
+
pcbGrid: z46.boolean().optional(),
|
|
16708
|
+
pcbGridCols: z46.number().or(z46.string()).optional(),
|
|
16709
|
+
pcbGridRows: z46.number().or(z46.string()).optional(),
|
|
16710
|
+
pcbGridTemplateRows: z46.string().optional(),
|
|
16711
|
+
pcbGridTemplateColumns: z46.string().optional(),
|
|
16712
|
+
pcbGridTemplate: z46.string().optional(),
|
|
16713
|
+
pcbGridGap: z46.number().or(z46.string()).optional(),
|
|
16714
|
+
pcbGridRowGap: z46.number().or(z46.string()).optional(),
|
|
16715
|
+
pcbGridColumnGap: z46.number().or(z46.string()).optional(),
|
|
16716
|
+
pcbFlex: z46.boolean().or(z46.string()).optional(),
|
|
16717
|
+
pcbFlexGap: z46.number().or(z46.string()).optional(),
|
|
16718
|
+
pcbFlexDirection: z46.enum(["row", "column"]).optional(),
|
|
16719
|
+
pcbAlignItems: z46.enum(["start", "center", "end", "stretch"]).optional(),
|
|
16720
|
+
pcbJustifyContent: z46.enum([
|
|
16677
16721
|
"start",
|
|
16678
16722
|
"center",
|
|
16679
16723
|
"end",
|
|
@@ -16682,25 +16726,25 @@ var baseGroupProps = commonLayoutProps.extend({
|
|
|
16682
16726
|
"space-around",
|
|
16683
16727
|
"space-evenly"
|
|
16684
16728
|
]).optional(),
|
|
16685
|
-
pcbFlexRow:
|
|
16686
|
-
pcbFlexColumn:
|
|
16687
|
-
pcbGap:
|
|
16688
|
-
pcbPack:
|
|
16689
|
-
pcbPackGap:
|
|
16690
|
-
schGrid:
|
|
16691
|
-
schGridCols:
|
|
16692
|
-
schGridRows:
|
|
16693
|
-
schGridTemplateRows:
|
|
16694
|
-
schGridTemplateColumns:
|
|
16695
|
-
schGridTemplate:
|
|
16696
|
-
schGridGap:
|
|
16697
|
-
schGridRowGap:
|
|
16698
|
-
schGridColumnGap:
|
|
16699
|
-
schFlex:
|
|
16700
|
-
schFlexGap:
|
|
16701
|
-
schFlexDirection:
|
|
16702
|
-
schAlignItems:
|
|
16703
|
-
schJustifyContent:
|
|
16729
|
+
pcbFlexRow: z46.boolean().optional(),
|
|
16730
|
+
pcbFlexColumn: z46.boolean().optional(),
|
|
16731
|
+
pcbGap: z46.number().or(z46.string()).optional(),
|
|
16732
|
+
pcbPack: z46.boolean().optional(),
|
|
16733
|
+
pcbPackGap: z46.number().or(z46.string()).optional(),
|
|
16734
|
+
schGrid: z46.boolean().optional(),
|
|
16735
|
+
schGridCols: z46.number().or(z46.string()).optional(),
|
|
16736
|
+
schGridRows: z46.number().or(z46.string()).optional(),
|
|
16737
|
+
schGridTemplateRows: z46.string().optional(),
|
|
16738
|
+
schGridTemplateColumns: z46.string().optional(),
|
|
16739
|
+
schGridTemplate: z46.string().optional(),
|
|
16740
|
+
schGridGap: z46.number().or(z46.string()).optional(),
|
|
16741
|
+
schGridRowGap: z46.number().or(z46.string()).optional(),
|
|
16742
|
+
schGridColumnGap: z46.number().or(z46.string()).optional(),
|
|
16743
|
+
schFlex: z46.boolean().or(z46.string()).optional(),
|
|
16744
|
+
schFlexGap: z46.number().or(z46.string()).optional(),
|
|
16745
|
+
schFlexDirection: z46.enum(["row", "column"]).optional(),
|
|
16746
|
+
schAlignItems: z46.enum(["start", "center", "end", "stretch"]).optional(),
|
|
16747
|
+
schJustifyContent: z46.enum([
|
|
16704
16748
|
"start",
|
|
16705
16749
|
"center",
|
|
16706
16750
|
"end",
|
|
@@ -16709,11 +16753,11 @@ var baseGroupProps = commonLayoutProps.extend({
|
|
|
16709
16753
|
"space-around",
|
|
16710
16754
|
"space-evenly"
|
|
16711
16755
|
]).optional(),
|
|
16712
|
-
schFlexRow:
|
|
16713
|
-
schFlexColumn:
|
|
16714
|
-
schGap:
|
|
16715
|
-
schPack:
|
|
16716
|
-
schMatchAdapt:
|
|
16756
|
+
schFlexRow: z46.boolean().optional(),
|
|
16757
|
+
schFlexColumn: z46.boolean().optional(),
|
|
16758
|
+
schGap: z46.number().or(z46.string()).optional(),
|
|
16759
|
+
schPack: z46.boolean().optional(),
|
|
16760
|
+
schMatchAdapt: z46.boolean().optional(),
|
|
16717
16761
|
pcbWidth: length3.optional(),
|
|
16718
16762
|
pcbHeight: length3.optional(),
|
|
16719
16763
|
minTraceWidth: length3.optional(),
|
|
@@ -16736,42 +16780,42 @@ var baseGroupProps = commonLayoutProps.extend({
|
|
|
16736
16780
|
pcbPaddingBottom: length3.optional(),
|
|
16737
16781
|
pcbAnchorAlignment: pcbAnchorAlignmentAutocomplete.optional()
|
|
16738
16782
|
});
|
|
16739
|
-
var partsEngine =
|
|
16783
|
+
var partsEngine = z46.custom((v) => "findPart" in v);
|
|
16740
16784
|
var subcircuitGroupProps = baseGroupProps.extend({
|
|
16741
16785
|
manualEdits: manual_edits_file.optional(),
|
|
16742
|
-
schAutoLayoutEnabled:
|
|
16743
|
-
schTraceAutoLabelEnabled:
|
|
16786
|
+
schAutoLayoutEnabled: z46.boolean().optional(),
|
|
16787
|
+
schTraceAutoLabelEnabled: z46.boolean().optional(),
|
|
16744
16788
|
schMaxTraceDistance: distance11.optional(),
|
|
16745
|
-
routingDisabled:
|
|
16746
|
-
placementDrcChecksDisabled:
|
|
16747
|
-
bomDisabled:
|
|
16789
|
+
routingDisabled: z46.boolean().optional(),
|
|
16790
|
+
placementDrcChecksDisabled: z46.boolean().optional(),
|
|
16791
|
+
bomDisabled: z46.boolean().optional(),
|
|
16748
16792
|
defaultTraceWidth: length3.optional(),
|
|
16749
16793
|
...routingTolerances.shape,
|
|
16750
16794
|
nominalTraceWidth: length3.optional(),
|
|
16751
16795
|
partsEngine: partsEngine.optional(),
|
|
16752
|
-
_subcircuitCachingEnabled:
|
|
16753
|
-
pcbRouteCache:
|
|
16796
|
+
_subcircuitCachingEnabled: z46.boolean().optional(),
|
|
16797
|
+
pcbRouteCache: z46.custom((v) => true).optional(),
|
|
16754
16798
|
autorouter: autorouterProp.optional(),
|
|
16755
16799
|
preflightRoutingCheckPolicy: preflightRoutingCheckPolicy.optional(),
|
|
16756
16800
|
autorouterEffortLevel: autorouterEffortLevel.optional(),
|
|
16757
16801
|
autorouterVersion: autorouterVersion.optional(),
|
|
16758
|
-
square:
|
|
16759
|
-
emptyArea:
|
|
16760
|
-
filledArea:
|
|
16802
|
+
square: z46.boolean().optional(),
|
|
16803
|
+
emptyArea: z46.string().optional(),
|
|
16804
|
+
filledArea: z46.string().optional(),
|
|
16761
16805
|
width: distance11.optional(),
|
|
16762
16806
|
height: distance11.optional(),
|
|
16763
|
-
outline:
|
|
16807
|
+
outline: z46.array(point).optional(),
|
|
16764
16808
|
outlineOffsetX: distance11.optional(),
|
|
16765
16809
|
outlineOffsetY: distance11.optional(),
|
|
16766
|
-
circuitJson:
|
|
16767
|
-
exposedNets:
|
|
16768
|
-
exposeNets:
|
|
16810
|
+
circuitJson: z46.array(z46.any()).optional(),
|
|
16811
|
+
exposedNets: z46.array(z46.string()).optional(),
|
|
16812
|
+
exposeNets: z46.boolean().optional()
|
|
16769
16813
|
});
|
|
16770
16814
|
var subcircuitGroupPropsWithBool = subcircuitGroupProps.extend({
|
|
16771
|
-
subcircuit:
|
|
16815
|
+
subcircuit: z46.literal(true)
|
|
16772
16816
|
});
|
|
16773
|
-
var groupProps =
|
|
16774
|
-
baseGroupProps.extend({ subcircuit:
|
|
16817
|
+
var groupProps = z46.discriminatedUnion("subcircuit", [
|
|
16818
|
+
baseGroupProps.extend({ subcircuit: z46.literal(false).optional() }),
|
|
16775
16819
|
subcircuitGroupPropsWithBool
|
|
16776
16820
|
]);
|
|
16777
16821
|
expectTypesMatch(true);
|
|
@@ -16781,25 +16825,25 @@ expectTypesMatch(true);
|
|
|
16781
16825
|
expectTypesMatch(true);
|
|
16782
16826
|
|
|
16783
16827
|
// lib/components/board.ts
|
|
16784
|
-
var boardColor =
|
|
16785
|
-
var boardOutlinePoint =
|
|
16828
|
+
var boardColor = z47.custom((value) => typeof value === "string");
|
|
16829
|
+
var boardOutlinePoint = z47.object({
|
|
16786
16830
|
...point.shape,
|
|
16787
|
-
isCastellatedHole:
|
|
16831
|
+
isCastellatedHole: z47.boolean().optional(),
|
|
16788
16832
|
holeDiameter: distance.optional(),
|
|
16789
16833
|
padDiameter: distance.optional(),
|
|
16790
|
-
connectsTo:
|
|
16834
|
+
connectsTo: z47.string().or(z47.array(z47.string())).optional()
|
|
16791
16835
|
}).superRefine((outlinePoint, ctx) => {
|
|
16792
16836
|
if (outlinePoint.isCastellatedHole) {
|
|
16793
16837
|
if (outlinePoint.holeDiameter === void 0) {
|
|
16794
16838
|
ctx.addIssue({
|
|
16795
|
-
code:
|
|
16839
|
+
code: z47.ZodIssueCode.custom,
|
|
16796
16840
|
path: ["holeDiameter"],
|
|
16797
16841
|
message: "holeDiameter is required for a castellated hole"
|
|
16798
16842
|
});
|
|
16799
16843
|
}
|
|
16800
16844
|
if (outlinePoint.padDiameter === void 0) {
|
|
16801
16845
|
ctx.addIssue({
|
|
16802
|
-
code:
|
|
16846
|
+
code: z47.ZodIssueCode.custom,
|
|
16803
16847
|
path: ["padDiameter"],
|
|
16804
16848
|
message: "padDiameter is required for a castellated hole"
|
|
16805
16849
|
});
|
|
@@ -16808,20 +16852,19 @@ var boardOutlinePoint = z46.object({
|
|
|
16808
16852
|
}
|
|
16809
16853
|
if (outlinePoint.holeDiameter !== void 0 || outlinePoint.padDiameter !== void 0 || outlinePoint.connectsTo !== void 0) {
|
|
16810
16854
|
ctx.addIssue({
|
|
16811
|
-
code:
|
|
16855
|
+
code: z47.ZodIssueCode.custom,
|
|
16812
16856
|
path: ["isCastellatedHole"],
|
|
16813
16857
|
message: "isCastellatedHole must be true when castellated hole props are provided"
|
|
16814
16858
|
});
|
|
16815
16859
|
}
|
|
16816
16860
|
});
|
|
16817
16861
|
var boardProps = subcircuitGroupProps.omit({ connections: true }).extend({
|
|
16818
|
-
mountedTo:
|
|
16819
|
-
|
|
16820
|
-
),
|
|
16821
|
-
|
|
16822
|
-
|
|
16823
|
-
|
|
16824
|
-
fabricatorPreset: z46.enum([
|
|
16862
|
+
mountedTo: z47.string().trim().min(1).optional().describe('e.g. "NEMA17.backface".'),
|
|
16863
|
+
mountGap: distance.pipe(z47.number().nonnegative().finite()).optional().describe('Clearance from the mounting face, e.g. "6mm".'),
|
|
16864
|
+
mountRotationAnchor: boardMountRotationAnchor.optional().describe('e.g. "J_USB" or "rightedge".'),
|
|
16865
|
+
mountRotation: boardMountRotation.optional().describe('e.g. "calc(NEMA17.wireside-90degcw)".'),
|
|
16866
|
+
mountOrientation: boardMountOrientation.optional().describe('e.g. "top_layer_toward_mount_face".'),
|
|
16867
|
+
fabricatorPreset: z47.enum([
|
|
16825
16868
|
"jlcpcb_economy",
|
|
16826
16869
|
"jlcpcb_standard",
|
|
16827
16870
|
"jlcpcb_economy_20260912",
|
|
@@ -16829,24 +16872,24 @@ var boardProps = subcircuitGroupProps.omit({ connections: true }).extend({
|
|
|
16829
16872
|
]).optional().describe(
|
|
16830
16873
|
"Fabricator preset, preserved as supplied. Omitted leaves the preset unset."
|
|
16831
16874
|
),
|
|
16832
|
-
material:
|
|
16833
|
-
layers:
|
|
16834
|
-
|
|
16835
|
-
|
|
16836
|
-
|
|
16837
|
-
|
|
16838
|
-
|
|
16839
|
-
|
|
16875
|
+
material: z47.enum(["fr4", "fr1", "flex"]).default("fr4"),
|
|
16876
|
+
layers: z47.union([
|
|
16877
|
+
z47.literal(1),
|
|
16878
|
+
z47.literal(2),
|
|
16879
|
+
z47.literal(4),
|
|
16880
|
+
z47.literal(6),
|
|
16881
|
+
z47.literal(8),
|
|
16882
|
+
z47.literal(10)
|
|
16840
16883
|
]).default(2),
|
|
16841
|
-
allowBlindAndBuriedVias:
|
|
16884
|
+
allowBlindAndBuriedVias: z47.boolean().default(false).describe(
|
|
16842
16885
|
"Whether the autorouter may generate blind and buried vias. Defaults to false, which restricts newly generated vias to the full board stack."
|
|
16843
16886
|
),
|
|
16844
|
-
routeRemaining:
|
|
16887
|
+
routeRemaining: z47.boolean().optional().describe(
|
|
16845
16888
|
"Whether to route remaining unrouted connections after explicit routing phases. Boolean values are preserved; omitted leaves the setting unset. No aliases or prop conflicts are introduced, and existing boards require no migration."
|
|
16846
16889
|
),
|
|
16847
|
-
defaultViaTenting:
|
|
16848
|
-
|
|
16849
|
-
|
|
16890
|
+
defaultViaTenting: z47.union([
|
|
16891
|
+
z47.boolean(),
|
|
16892
|
+
z47.enum([
|
|
16850
16893
|
"both_sides",
|
|
16851
16894
|
"top_and_bottom_tented",
|
|
16852
16895
|
"top_tented",
|
|
@@ -16865,46 +16908,46 @@ var boardProps = subcircuitGroupProps.omit({ connections: true }).extend({
|
|
|
16865
16908
|
boardAnchorPosition: point.optional(),
|
|
16866
16909
|
anchorAlignment: ninePointAnchor.optional(),
|
|
16867
16910
|
boardAnchorAlignment: ninePointAnchor.optional().describe("Prefer using anchorAlignment when possible"),
|
|
16868
|
-
outline:
|
|
16869
|
-
title:
|
|
16911
|
+
outline: z47.array(boardOutlinePoint).optional(),
|
|
16912
|
+
title: z47.string().optional(),
|
|
16870
16913
|
solderMaskColor: boardColor.optional(),
|
|
16871
16914
|
topSolderMaskColor: boardColor.optional(),
|
|
16872
16915
|
bottomSolderMaskColor: boardColor.optional(),
|
|
16873
16916
|
silkscreenColor: boardColor.optional(),
|
|
16874
16917
|
topSilkscreenColor: boardColor.optional(),
|
|
16875
16918
|
bottomSilkscreenColor: boardColor.optional(),
|
|
16876
|
-
doubleSidedAssembly:
|
|
16877
|
-
isViaInPadAllowed:
|
|
16919
|
+
doubleSidedAssembly: z47.boolean().optional().default(false),
|
|
16920
|
+
isViaInPadAllowed: z47.boolean().optional().describe(
|
|
16878
16921
|
"Allows intentional via-in-pad designs to pass DRC. Omitted or false keeps via-in-pad disallowed."
|
|
16879
16922
|
),
|
|
16880
|
-
automaticPoursEnabled:
|
|
16923
|
+
automaticPoursEnabled: z47.boolean().default(false).describe(
|
|
16881
16924
|
"Whether implicit copper pours should be generated automatically. Defaults to false."
|
|
16882
16925
|
),
|
|
16883
|
-
enableViaStitching:
|
|
16926
|
+
enableViaStitching: z47.boolean().default(false).describe(
|
|
16884
16927
|
"Whether to stitch copper pours on the same net across layers with vias. Defaults to false."
|
|
16885
16928
|
),
|
|
16886
|
-
viaStitchPitch: distance.pipe(
|
|
16929
|
+
viaStitchPitch: distance.pipe(z47.number().positive().finite()).optional().describe(
|
|
16887
16930
|
"Positive center-to-center stitching via spacing in millimeters or a unit string, parsed to millimeters. Omitted uses the solver default. Does not enable stitching by itself."
|
|
16888
16931
|
),
|
|
16889
|
-
schematicDisabled:
|
|
16932
|
+
schematicDisabled: z47.boolean().optional()
|
|
16890
16933
|
});
|
|
16891
16934
|
expectTypesMatch(true);
|
|
16892
16935
|
expectTypesMatch(true);
|
|
16893
16936
|
|
|
16894
16937
|
// lib/components/pcb-bend.ts
|
|
16895
16938
|
import { rotation as rotation3 } from "circuit-json";
|
|
16896
|
-
import { z as
|
|
16897
|
-
var finiteDistance = distance.pipe(
|
|
16898
|
-
var pcbBendProps =
|
|
16899
|
-
name:
|
|
16939
|
+
import { z as z48 } from "zod";
|
|
16940
|
+
var finiteDistance = distance.pipe(z48.number().finite());
|
|
16941
|
+
var pcbBendProps = z48.object({
|
|
16942
|
+
name: z48.string().optional(),
|
|
16900
16943
|
x1: finiteDistance,
|
|
16901
16944
|
y1: finiteDistance,
|
|
16902
16945
|
x2: finiteDistance,
|
|
16903
16946
|
y2: finiteDistance,
|
|
16904
|
-
bendAngle: rotation3.pipe(
|
|
16905
|
-
bendRadius: distance.pipe(
|
|
16906
|
-
tearReliefRadius: distance.pipe(
|
|
16907
|
-
bendSide:
|
|
16947
|
+
bendAngle: rotation3.pipe(z48.number().finite()),
|
|
16948
|
+
bendRadius: distance.pipe(z48.number().finite().positive()),
|
|
16949
|
+
tearReliefRadius: distance.pipe(z48.number().finite().positive()).optional(),
|
|
16950
|
+
bendSide: z48.enum(["left", "right"])
|
|
16908
16951
|
}).refine(({ x1, y1, x2, y2 }) => x1 !== x2 || y1 !== y2, {
|
|
16909
16952
|
message: "Bend centerline endpoints must be distinct",
|
|
16910
16953
|
path: ["x2"]
|
|
@@ -16912,83 +16955,83 @@ var pcbBendProps = z47.object({
|
|
|
16912
16955
|
expectTypesMatch(true);
|
|
16913
16956
|
|
|
16914
16957
|
// lib/components/pcb-soldermask-opening.ts
|
|
16915
|
-
import { z as
|
|
16916
|
-
var finiteDistance2 = distance.pipe(
|
|
16917
|
-
var positiveDistance2 = distance.pipe(
|
|
16958
|
+
import { z as z49 } from "zod";
|
|
16959
|
+
var finiteDistance2 = distance.pipe(z49.number().finite());
|
|
16960
|
+
var positiveDistance2 = distance.pipe(z49.number().finite().positive());
|
|
16918
16961
|
var openingBaseProps = pcbLayoutProps.omit({ layer: true }).extend({
|
|
16919
|
-
name:
|
|
16962
|
+
name: z49.string().optional(),
|
|
16920
16963
|
/** Face whose solder mask or flex coverlay is removed. Required. */
|
|
16921
|
-
layer:
|
|
16964
|
+
layer: z49.enum(["top", "bottom"])
|
|
16922
16965
|
});
|
|
16923
|
-
var pcbSoldermaskOpeningProps =
|
|
16966
|
+
var pcbSoldermaskOpeningProps = z49.discriminatedUnion("shape", [
|
|
16924
16967
|
openingBaseProps.extend({
|
|
16925
|
-
shape:
|
|
16968
|
+
shape: z49.literal("rect"),
|
|
16926
16969
|
width: positiveDistance2,
|
|
16927
16970
|
height: positiveDistance2,
|
|
16928
|
-
radius:
|
|
16929
|
-
points:
|
|
16971
|
+
radius: z49.never().optional(),
|
|
16972
|
+
points: z49.never().optional()
|
|
16930
16973
|
}),
|
|
16931
16974
|
openingBaseProps.extend({
|
|
16932
|
-
shape:
|
|
16975
|
+
shape: z49.literal("circle"),
|
|
16933
16976
|
radius: positiveDistance2,
|
|
16934
|
-
width:
|
|
16935
|
-
height:
|
|
16936
|
-
points:
|
|
16977
|
+
width: z49.never().optional(),
|
|
16978
|
+
height: z49.never().optional(),
|
|
16979
|
+
points: z49.never().optional()
|
|
16937
16980
|
}),
|
|
16938
16981
|
openingBaseProps.extend({
|
|
16939
|
-
shape:
|
|
16982
|
+
shape: z49.literal("polygon"),
|
|
16940
16983
|
/** Local vertices; pcbX/pcbY/pcbRotation place the implicitly closed boundary. */
|
|
16941
|
-
points:
|
|
16984
|
+
points: z49.array(z49.object({ x: finiteDistance2, y: finiteDistance2 })).min(3).refine((points) => {
|
|
16942
16985
|
const twiceArea = points.reduce((sum, point8, index) => {
|
|
16943
16986
|
const next = points[(index + 1) % points.length];
|
|
16944
16987
|
return sum + point8.x * next.y - next.x * point8.y;
|
|
16945
16988
|
}, 0);
|
|
16946
16989
|
return Number.isFinite(twiceArea) && twiceArea !== 0;
|
|
16947
16990
|
}, "Solder-mask opening must enclose a nonzero area"),
|
|
16948
|
-
width:
|
|
16949
|
-
height:
|
|
16950
|
-
radius:
|
|
16991
|
+
width: z49.never().optional(),
|
|
16992
|
+
height: z49.never().optional(),
|
|
16993
|
+
radius: z49.never().optional()
|
|
16951
16994
|
})
|
|
16952
16995
|
]);
|
|
16953
16996
|
|
|
16954
16997
|
// lib/components/pcb-stiffener.ts
|
|
16955
|
-
import { z as
|
|
16956
|
-
var positiveDistance3 = distance.pipe(
|
|
16957
|
-
var finiteDistance3 = distance.pipe(
|
|
16998
|
+
import { z as z50 } from "zod";
|
|
16999
|
+
var positiveDistance3 = distance.pipe(z50.number().finite().positive());
|
|
17000
|
+
var finiteDistance3 = distance.pipe(z50.number().finite());
|
|
16958
17001
|
var stiffenerBaseProps = pcbLayoutProps.omit({ layer: true }).extend({
|
|
16959
|
-
name:
|
|
17002
|
+
name: z50.string().optional(),
|
|
16960
17003
|
/** Board attachment face, not a copper-layer assignment. Required. */
|
|
16961
|
-
layer:
|
|
16962
|
-
material:
|
|
17004
|
+
layer: z50.enum(["top", "bottom"]),
|
|
17005
|
+
material: z50.enum(["fr4", "polyimide", "stainless_steel", "aluminum"]),
|
|
16963
17006
|
/** Stiffener material thickness only, excluding PCB and adhesive. */
|
|
16964
17007
|
thickness: positiveDistance3,
|
|
16965
17008
|
/** Nonnegative adhesive thickness; omission means unspecified, not zero. */
|
|
16966
|
-
adhesiveThickness: distance.pipe(
|
|
17009
|
+
adhesiveThickness: distance.pipe(z50.number().finite().nonnegative()).optional()
|
|
16967
17010
|
});
|
|
16968
|
-
var pcbStiffenerProps =
|
|
17011
|
+
var pcbStiffenerProps = z50.discriminatedUnion("shape", [
|
|
16969
17012
|
stiffenerBaseProps.extend({
|
|
16970
|
-
shape:
|
|
17013
|
+
shape: z50.literal("rect"),
|
|
16971
17014
|
width: positiveDistance3,
|
|
16972
17015
|
height: positiveDistance3,
|
|
16973
|
-
outline:
|
|
17016
|
+
outline: z50.never().optional()
|
|
16974
17017
|
}),
|
|
16975
17018
|
stiffenerBaseProps.extend({
|
|
16976
|
-
shape:
|
|
17019
|
+
shape: z50.literal("polygon"),
|
|
16977
17020
|
/** Local vertices transformed by pcbX/pcbY/pcbRotation; implicitly closed. */
|
|
16978
|
-
outline:
|
|
17021
|
+
outline: z50.array(z50.object({ x: finiteDistance3, y: finiteDistance3 })).min(3).refine((points) => {
|
|
16979
17022
|
const twiceArea = points.reduce((sum, p, i) => {
|
|
16980
17023
|
const next = points[(i + 1) % points.length];
|
|
16981
17024
|
return sum + p.x * next.y - next.x * p.y;
|
|
16982
17025
|
}, 0);
|
|
16983
17026
|
return Number.isFinite(twiceArea) && twiceArea !== 0;
|
|
16984
17027
|
}, "Stiffener outline must enclose a nonzero area"),
|
|
16985
|
-
width:
|
|
16986
|
-
height:
|
|
17028
|
+
width: z50.never().optional(),
|
|
17029
|
+
height: z50.never().optional()
|
|
16987
17030
|
})
|
|
16988
17031
|
]);
|
|
16989
17032
|
|
|
16990
17033
|
// lib/components/panel.ts
|
|
16991
|
-
import { z as
|
|
17034
|
+
import { z as z51 } from "zod";
|
|
16992
17035
|
var panelProps = baseGroupProps.omit({
|
|
16993
17036
|
width: true,
|
|
16994
17037
|
height: true,
|
|
@@ -16997,25 +17040,25 @@ var panelProps = baseGroupProps.omit({
|
|
|
16997
17040
|
}).extend({
|
|
16998
17041
|
width: distance.optional(),
|
|
16999
17042
|
height: distance.optional(),
|
|
17000
|
-
children:
|
|
17043
|
+
children: z51.any().optional(),
|
|
17001
17044
|
anchorAlignment: ninePointAnchor.optional(),
|
|
17002
|
-
noSolderMask:
|
|
17003
|
-
panelizationMethod:
|
|
17045
|
+
noSolderMask: z51.boolean().optional(),
|
|
17046
|
+
panelizationMethod: z51.enum(["tab-routing", "outline_routing", "none"]).optional(),
|
|
17004
17047
|
boardGap: distance.optional(),
|
|
17005
|
-
layoutMode:
|
|
17006
|
-
row:
|
|
17007
|
-
col:
|
|
17048
|
+
layoutMode: z51.enum(["grid", "pack", "none"]).optional(),
|
|
17049
|
+
row: z51.number().optional(),
|
|
17050
|
+
col: z51.number().optional(),
|
|
17008
17051
|
cellWidth: distance.optional(),
|
|
17009
17052
|
cellHeight: distance.optional(),
|
|
17010
17053
|
tabWidth: distance.optional(),
|
|
17011
17054
|
tabLength: distance.optional(),
|
|
17012
|
-
mouseBites:
|
|
17055
|
+
mouseBites: z51.boolean().optional(),
|
|
17013
17056
|
edgePadding: distance.optional(),
|
|
17014
17057
|
edgePaddingLeft: distance.optional(),
|
|
17015
17058
|
edgePaddingRight: distance.optional(),
|
|
17016
17059
|
edgePaddingTop: distance.optional(),
|
|
17017
17060
|
edgePaddingBottom: distance.optional(),
|
|
17018
|
-
_subcircuitCachingEnabled:
|
|
17061
|
+
_subcircuitCachingEnabled: z51.boolean().optional()
|
|
17019
17062
|
});
|
|
17020
17063
|
expectTypesMatch(true);
|
|
17021
17064
|
|
|
@@ -17026,23 +17069,23 @@ expectTypesMatch(true);
|
|
|
17026
17069
|
|
|
17027
17070
|
// lib/common/fanoutTracePath.ts
|
|
17028
17071
|
import { layer_ref as layer_ref5 } from "circuit-json";
|
|
17029
|
-
import { z as
|
|
17072
|
+
import { z as z53 } from "zod";
|
|
17030
17073
|
var coordinate = distance.refine(Number.isFinite, "Coordinate must be finite");
|
|
17031
17074
|
var positiveDistance4 = distance.refine(
|
|
17032
17075
|
(value) => Number.isFinite(value) && value > 0,
|
|
17033
17076
|
"Distance must be positive and finite"
|
|
17034
17077
|
);
|
|
17035
|
-
var routePoint =
|
|
17036
|
-
|
|
17037
|
-
route_type:
|
|
17078
|
+
var routePoint = z53.discriminatedUnion("route_type", [
|
|
17079
|
+
z53.object({
|
|
17080
|
+
route_type: z53.literal("wire"),
|
|
17038
17081
|
x: coordinate,
|
|
17039
17082
|
y: coordinate,
|
|
17040
17083
|
width: positiveDistance4,
|
|
17041
|
-
width_interpolation_mode:
|
|
17084
|
+
width_interpolation_mode: z53.enum(["linear", "quadratic"]).optional().describe("Interpolate width from this point to the next wire point."),
|
|
17042
17085
|
layer: layer_ref5
|
|
17043
17086
|
}),
|
|
17044
|
-
|
|
17045
|
-
route_type:
|
|
17087
|
+
z53.object({
|
|
17088
|
+
route_type: z53.literal("via"),
|
|
17046
17089
|
x: coordinate,
|
|
17047
17090
|
y: coordinate,
|
|
17048
17091
|
from_layer: layer_ref5,
|
|
@@ -17051,9 +17094,9 @@ var routePoint = z52.discriminatedUnion("route_type", [
|
|
|
17051
17094
|
via_hole_diameter: positiveDistance4.optional()
|
|
17052
17095
|
})
|
|
17053
17096
|
]);
|
|
17054
|
-
var fanoutTracePath =
|
|
17055
|
-
connection:
|
|
17056
|
-
route:
|
|
17097
|
+
var fanoutTracePath = z53.object({
|
|
17098
|
+
connection: z53.string().min(1),
|
|
17099
|
+
route: z53.array(routePoint).min(2).superRefine((route, ctx) => {
|
|
17057
17100
|
const first = route[0];
|
|
17058
17101
|
let layer = first?.route_type === "via" ? first.from_layer : first?.layer;
|
|
17059
17102
|
for (const [index, point8] of route.entries()) {
|
|
@@ -17080,16 +17123,16 @@ var fanoutTracePath = z52.object({
|
|
|
17080
17123
|
|
|
17081
17124
|
// lib/common/fanoutProps.ts
|
|
17082
17125
|
import { layer_ref as layer_ref6 } from "circuit-json";
|
|
17083
|
-
import { z as
|
|
17126
|
+
import { z as z55 } from "zod";
|
|
17084
17127
|
|
|
17085
17128
|
// lib/common/fanoutBoundaryPadding.ts
|
|
17086
|
-
import { z as
|
|
17129
|
+
import { z as z54 } from "zod";
|
|
17087
17130
|
var nonnegativeDistance = distance.refine((value) => value >= 0, {
|
|
17088
17131
|
message: "Fanout boundary padding cannot be negative"
|
|
17089
17132
|
});
|
|
17090
|
-
var fanoutBoundaryPadding =
|
|
17133
|
+
var fanoutBoundaryPadding = z54.union([
|
|
17091
17134
|
nonnegativeDistance,
|
|
17092
|
-
|
|
17135
|
+
z54.object({
|
|
17093
17136
|
top: nonnegativeDistance.optional(),
|
|
17094
17137
|
right: nonnegativeDistance.optional(),
|
|
17095
17138
|
bottom: nonnegativeDistance.optional(),
|
|
@@ -17116,32 +17159,32 @@ var canonicalBusFanoutDirectionValues = [
|
|
|
17116
17159
|
"leftside_top",
|
|
17117
17160
|
"center"
|
|
17118
17161
|
];
|
|
17119
|
-
var canonicalBusFanoutDirection =
|
|
17162
|
+
var canonicalBusFanoutDirection = z55.enum(
|
|
17120
17163
|
canonicalBusFanoutDirectionValues
|
|
17121
17164
|
);
|
|
17122
|
-
var busFanoutDirection =
|
|
17165
|
+
var busFanoutDirection = z55.union([
|
|
17123
17166
|
ninePointAnchor,
|
|
17124
17167
|
canonicalBusFanoutDirection,
|
|
17125
|
-
|
|
17126
|
-
direction:
|
|
17168
|
+
z55.object({
|
|
17169
|
+
direction: z55.union([ninePointAnchor, canonicalBusFanoutDirection])
|
|
17127
17170
|
})
|
|
17128
17171
|
]);
|
|
17129
|
-
var fanoutProps =
|
|
17130
|
-
busFanoutDirections:
|
|
17172
|
+
var fanoutProps = z55.object({
|
|
17173
|
+
busFanoutDirections: z55.record(busFanoutDirection).optional(),
|
|
17131
17174
|
fanoutBoundaryPadding: fanoutBoundaryPadding.optional(),
|
|
17132
|
-
fanoutRoutingLayers:
|
|
17133
|
-
fanoutPourNetMap:
|
|
17175
|
+
fanoutRoutingLayers: z55.array(layer_ref6).min(1).optional(),
|
|
17176
|
+
fanoutPourNetMap: z55.record(layer_ref6, z55.union([z55.string(), z55.array(z55.string()).min(1)])).optional()
|
|
17134
17177
|
});
|
|
17135
17178
|
expectTypesMatch(true);
|
|
17136
17179
|
|
|
17137
17180
|
// lib/components/breakout.ts
|
|
17138
|
-
import { z as
|
|
17181
|
+
import { z as z56 } from "zod";
|
|
17139
17182
|
var nonnegativeFanoutMargin = distance.refine((value) => value >= 0, {
|
|
17140
17183
|
message: "Fanout margin cannot be negative"
|
|
17141
17184
|
});
|
|
17142
17185
|
var breakoutProps = subcircuitGroupProps.extend({
|
|
17143
17186
|
autorouter: autorouterProp.default("fanout"),
|
|
17144
|
-
pcbTracePaths:
|
|
17187
|
+
pcbTracePaths: z56.array(fanoutTracePath).optional(),
|
|
17145
17188
|
padding: distance.optional(),
|
|
17146
17189
|
paddingLeft: distance.optional(),
|
|
17147
17190
|
paddingRight: distance.optional(),
|
|
@@ -17155,41 +17198,41 @@ expectTypesMatch(true);
|
|
|
17155
17198
|
// lib/components/chip.ts
|
|
17156
17199
|
import { distance as distance12, supplier_name as supplier_name2 } from "circuit-json";
|
|
17157
17200
|
import { isValidElement } from "react";
|
|
17158
|
-
import { z as
|
|
17159
|
-
var connectionTarget2 =
|
|
17160
|
-
var noConnectProp =
|
|
17161
|
-
var connectionsProp =
|
|
17162
|
-
var spicemodelElement =
|
|
17201
|
+
import { z as z57 } from "zod";
|
|
17202
|
+
var connectionTarget2 = z57.string().or(z57.array(z57.string()).readonly()).or(z57.array(z57.string()));
|
|
17203
|
+
var noConnectProp = z57.array(schematicPinLabel).readonly().or(z57.array(schematicPinLabel));
|
|
17204
|
+
var connectionsProp = z57.custom().pipe(z57.record(z57.string(), connectionTarget2));
|
|
17205
|
+
var spicemodelElement = z57.custom(
|
|
17163
17206
|
(v) => !!v && typeof v === "object" && "type" in v && "props" in v
|
|
17164
17207
|
);
|
|
17165
|
-
var internalCircuitElement =
|
|
17208
|
+
var internalCircuitElement = z57.custom(
|
|
17166
17209
|
(value) => isValidElement(value) && value.type === "internalcircuit"
|
|
17167
17210
|
);
|
|
17168
|
-
var pinLabelsProp =
|
|
17211
|
+
var pinLabelsProp = z57.record(
|
|
17169
17212
|
schematicPinLabel,
|
|
17170
|
-
schematicPinLabel.or(
|
|
17213
|
+
schematicPinLabel.or(z57.array(schematicPinLabel).readonly()).or(z57.array(schematicPinLabel))
|
|
17171
17214
|
);
|
|
17172
17215
|
expectTypesMatch(true);
|
|
17173
|
-
var pinCompatibleVariant =
|
|
17174
|
-
manufacturerPartNumber:
|
|
17175
|
-
supplierPartNumber:
|
|
17216
|
+
var pinCompatibleVariant = z57.object({
|
|
17217
|
+
manufacturerPartNumber: z57.string().optional(),
|
|
17218
|
+
supplierPartNumber: z57.record(supplier_name2, z57.array(z57.string())).optional()
|
|
17176
17219
|
});
|
|
17177
17220
|
var chipProps = commonComponentProps.extend({
|
|
17178
|
-
manufacturerPartNumber:
|
|
17221
|
+
manufacturerPartNumber: z57.string().optional(),
|
|
17179
17222
|
pinLabels: pinLabelsProp.optional(),
|
|
17180
|
-
showPinAliases:
|
|
17181
|
-
pcbPinLabels:
|
|
17182
|
-
internallyConnectedPins:
|
|
17183
|
-
externallyConnectedPins:
|
|
17223
|
+
showPinAliases: z57.boolean().optional(),
|
|
17224
|
+
pcbPinLabels: z57.record(z57.string(), z57.string()).optional(),
|
|
17225
|
+
internallyConnectedPins: z57.array(z57.array(z57.union([z57.string(), z57.number()]))).optional(),
|
|
17226
|
+
externallyConnectedPins: z57.array(z57.array(z57.string())).optional(),
|
|
17184
17227
|
schPinArrangement: schematicPortArrangement.optional(),
|
|
17185
17228
|
schPortArrangement: schematicPortArrangement.optional(),
|
|
17186
|
-
pinCompatibleVariants:
|
|
17229
|
+
pinCompatibleVariants: z57.array(pinCompatibleVariant).optional(),
|
|
17187
17230
|
schPinStyle: schematicPinStyle.optional(),
|
|
17188
17231
|
schPinSpacing: distance12.optional(),
|
|
17189
17232
|
schWidth: distance12.optional(),
|
|
17190
17233
|
schHeight: distance12.optional(),
|
|
17191
|
-
noSchematicRepresentation:
|
|
17192
|
-
schShowInternalCircuit:
|
|
17234
|
+
noSchematicRepresentation: z57.boolean().optional(),
|
|
17235
|
+
schShowInternalCircuit: z57.boolean().optional().default(false),
|
|
17193
17236
|
noConnect: noConnectProp.optional(),
|
|
17194
17237
|
connections: connectionsProp.optional(),
|
|
17195
17238
|
spiceModel: spicemodelElement.optional(),
|
|
@@ -17204,38 +17247,38 @@ expectTypesMatch(true);
|
|
|
17204
17247
|
|
|
17205
17248
|
// lib/components/jumper.ts
|
|
17206
17249
|
import { distance as distance13 } from "circuit-json";
|
|
17207
|
-
import { z as
|
|
17250
|
+
import { z as z58 } from "zod";
|
|
17208
17251
|
var jumperProps = commonComponentProps.extend({
|
|
17209
|
-
manufacturerPartNumber:
|
|
17210
|
-
pinLabels:
|
|
17211
|
-
|
|
17212
|
-
schematicPinLabel.or(
|
|
17252
|
+
manufacturerPartNumber: z58.string().optional(),
|
|
17253
|
+
pinLabels: z58.record(
|
|
17254
|
+
z58.number().or(schematicPinLabel),
|
|
17255
|
+
schematicPinLabel.or(z58.array(schematicPinLabel))
|
|
17213
17256
|
).optional(),
|
|
17214
17257
|
schPinStyle: schematicPinStyle.optional(),
|
|
17215
17258
|
schPinSpacing: distance13.optional(),
|
|
17216
17259
|
schWidth: distance13.optional(),
|
|
17217
17260
|
schHeight: distance13.optional(),
|
|
17218
|
-
schDirection:
|
|
17261
|
+
schDirection: z58.enum(["left", "right"]).optional(),
|
|
17219
17262
|
schPinArrangement: schematicPinArrangement.optional(),
|
|
17220
17263
|
schPortArrangement: schematicPortArrangement.optional(),
|
|
17221
|
-
pcbPinLabels:
|
|
17222
|
-
pinCount:
|
|
17223
|
-
internallyConnectedPins:
|
|
17224
|
-
connections:
|
|
17264
|
+
pcbPinLabels: z58.record(z58.string(), z58.string()).optional(),
|
|
17265
|
+
pinCount: z58.union([z58.literal(2), z58.literal(3)]).optional(),
|
|
17266
|
+
internallyConnectedPins: z58.array(z58.array(z58.union([z58.string(), z58.number()]))).optional(),
|
|
17267
|
+
connections: z58.custom().pipe(z58.record(z58.string(), connectionTarget)).optional()
|
|
17225
17268
|
});
|
|
17226
17269
|
expectTypesMatch(true);
|
|
17227
17270
|
|
|
17228
17271
|
// lib/components/solderjumper.ts
|
|
17229
|
-
import { z as
|
|
17272
|
+
import { z as z59 } from "zod";
|
|
17230
17273
|
var solderjumperProps = jumperProps.extend({
|
|
17231
|
-
bridgedPins:
|
|
17232
|
-
bridged:
|
|
17274
|
+
bridgedPins: z59.array(z59.array(z59.string())).optional(),
|
|
17275
|
+
bridged: z59.boolean().optional()
|
|
17233
17276
|
});
|
|
17234
17277
|
expectTypesMatch(true);
|
|
17235
17278
|
|
|
17236
17279
|
// lib/components/connector.ts
|
|
17237
|
-
import { z as
|
|
17238
|
-
var connectorStandard =
|
|
17280
|
+
import { z as z60 } from "zod";
|
|
17281
|
+
var connectorStandard = z60.enum([
|
|
17239
17282
|
"usb_c",
|
|
17240
17283
|
"m2",
|
|
17241
17284
|
"jst_sh",
|
|
@@ -17247,43 +17290,43 @@ var connectorStandard = z59.enum([
|
|
|
17247
17290
|
]);
|
|
17248
17291
|
var connectorProps = chipProps.extend({
|
|
17249
17292
|
standard: connectorStandard.optional(),
|
|
17250
|
-
pinCount:
|
|
17293
|
+
pinCount: z60.number().int().positive().optional()
|
|
17251
17294
|
});
|
|
17252
17295
|
expectTypesMatch(true);
|
|
17253
17296
|
|
|
17254
17297
|
// lib/components/interconnect.ts
|
|
17255
|
-
import { z as
|
|
17298
|
+
import { z as z61 } from "zod";
|
|
17256
17299
|
var interconnectProps = commonComponentProps.extend({
|
|
17257
|
-
standard:
|
|
17258
|
-
pinLabels:
|
|
17259
|
-
|
|
17260
|
-
schematicPinLabel.or(
|
|
17300
|
+
standard: z61.enum(["TSC0001_36P_XALT_2025_11", "0805", "0603", "1206"]).optional(),
|
|
17301
|
+
pinLabels: z61.record(
|
|
17302
|
+
z61.number().or(schematicPinLabel),
|
|
17303
|
+
schematicPinLabel.or(z61.array(schematicPinLabel))
|
|
17261
17304
|
).optional(),
|
|
17262
|
-
internallyConnectedPins:
|
|
17305
|
+
internallyConnectedPins: z61.array(z61.array(z61.union([z61.string(), z61.number()]))).optional()
|
|
17263
17306
|
});
|
|
17264
17307
|
expectTypesMatch(true);
|
|
17265
17308
|
|
|
17266
17309
|
// lib/components/fuse.ts
|
|
17267
|
-
import { z as
|
|
17310
|
+
import { z as z62 } from "zod";
|
|
17268
17311
|
var fusePinLabels = ["pin1", "pin2"];
|
|
17269
17312
|
var fuseProps = commonComponentProps.extend({
|
|
17270
|
-
currentRating:
|
|
17271
|
-
voltageRating:
|
|
17272
|
-
schShowRatings:
|
|
17313
|
+
currentRating: z62.union([z62.number(), z62.string()]),
|
|
17314
|
+
voltageRating: z62.union([z62.number(), z62.string()]).optional(),
|
|
17315
|
+
schShowRatings: z62.boolean().optional(),
|
|
17273
17316
|
schOrientation: schematicOrientation.optional(),
|
|
17274
|
-
connections:
|
|
17275
|
-
|
|
17276
|
-
|
|
17277
|
-
|
|
17278
|
-
|
|
17279
|
-
|
|
17317
|
+
connections: z62.record(
|
|
17318
|
+
z62.string(),
|
|
17319
|
+
z62.union([
|
|
17320
|
+
z62.string(),
|
|
17321
|
+
z62.array(z62.string()).readonly(),
|
|
17322
|
+
z62.array(z62.string())
|
|
17280
17323
|
])
|
|
17281
17324
|
).optional()
|
|
17282
17325
|
});
|
|
17283
17326
|
|
|
17284
17327
|
// lib/components/platedhole.ts
|
|
17285
17328
|
import { distance as distance14 } from "circuit-json";
|
|
17286
|
-
import { z as
|
|
17329
|
+
import { z as z63 } from "zod";
|
|
17287
17330
|
var DEFAULT_PIN_HEADER_HOLE_DIAMETER = "0.04in";
|
|
17288
17331
|
var DEFAULT_PIN_HEADER_OUTER_DIAMETER = "0.1in";
|
|
17289
17332
|
var inferPlatedHoleShapeAndDefaults = (rawProps) => {
|
|
@@ -17315,26 +17358,26 @@ var inferPlatedHoleShapeAndDefaults = (rawProps) => {
|
|
|
17315
17358
|
props.outerDiameter = DEFAULT_PIN_HEADER_OUTER_DIAMETER;
|
|
17316
17359
|
return props;
|
|
17317
17360
|
};
|
|
17318
|
-
var distanceHiddenUndefined =
|
|
17361
|
+
var distanceHiddenUndefined = z63.custom().transform((a) => {
|
|
17319
17362
|
if (a === void 0) return void 0;
|
|
17320
17363
|
return distance14.parse(a);
|
|
17321
17364
|
});
|
|
17322
|
-
var platedHolePropsByShape =
|
|
17365
|
+
var platedHolePropsByShape = z63.discriminatedUnion("shape", [
|
|
17323
17366
|
pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
17324
|
-
name:
|
|
17325
|
-
connectsTo:
|
|
17326
|
-
shape:
|
|
17367
|
+
name: z63.string().optional(),
|
|
17368
|
+
connectsTo: z63.string().or(z63.array(z63.string())).optional(),
|
|
17369
|
+
shape: z63.literal("circle"),
|
|
17327
17370
|
holeDiameter: distance14,
|
|
17328
17371
|
outerDiameter: distance14,
|
|
17329
17372
|
padDiameter: distance14.optional().describe("Diameter of the copper pad"),
|
|
17330
17373
|
portHints: portHints.optional(),
|
|
17331
17374
|
solderMaskMargin: distance14.optional(),
|
|
17332
|
-
coveredWithSolderMask:
|
|
17375
|
+
coveredWithSolderMask: z63.boolean().optional()
|
|
17333
17376
|
}),
|
|
17334
17377
|
pcbLayoutProps.omit({ layer: true }).extend({
|
|
17335
|
-
name:
|
|
17336
|
-
connectsTo:
|
|
17337
|
-
shape:
|
|
17378
|
+
name: z63.string().optional(),
|
|
17379
|
+
connectsTo: z63.string().or(z63.array(z63.string())).optional(),
|
|
17380
|
+
shape: z63.literal("oval"),
|
|
17338
17381
|
outerWidth: distance14,
|
|
17339
17382
|
outerHeight: distance14,
|
|
17340
17383
|
holeWidth: distanceHiddenUndefined,
|
|
@@ -17343,13 +17386,13 @@ var platedHolePropsByShape = z62.discriminatedUnion("shape", [
|
|
|
17343
17386
|
innerHeight: distance14.optional().describe("DEPRECATED use holeHeight"),
|
|
17344
17387
|
portHints: portHints.optional(),
|
|
17345
17388
|
solderMaskMargin: distance14.optional(),
|
|
17346
|
-
coveredWithSolderMask:
|
|
17389
|
+
coveredWithSolderMask: z63.boolean().optional()
|
|
17347
17390
|
}),
|
|
17348
17391
|
pcbLayoutProps.omit({ layer: true }).extend({
|
|
17349
|
-
name:
|
|
17350
|
-
connectsTo:
|
|
17351
|
-
shape:
|
|
17352
|
-
rectPad:
|
|
17392
|
+
name: z63.string().optional(),
|
|
17393
|
+
connectsTo: z63.string().or(z63.array(z63.string())).optional(),
|
|
17394
|
+
shape: z63.literal("pill"),
|
|
17395
|
+
rectPad: z63.boolean().optional(),
|
|
17353
17396
|
outerWidth: distance14,
|
|
17354
17397
|
outerHeight: distance14,
|
|
17355
17398
|
holeWidth: distanceHiddenUndefined,
|
|
@@ -17360,30 +17403,30 @@ var platedHolePropsByShape = z62.discriminatedUnion("shape", [
|
|
|
17360
17403
|
holeOffsetX: distance14.optional(),
|
|
17361
17404
|
holeOffsetY: distance14.optional(),
|
|
17362
17405
|
solderMaskMargin: distance14.optional(),
|
|
17363
|
-
coveredWithSolderMask:
|
|
17406
|
+
coveredWithSolderMask: z63.boolean().optional()
|
|
17364
17407
|
}),
|
|
17365
17408
|
pcbLayoutProps.omit({ layer: true }).extend({
|
|
17366
|
-
name:
|
|
17367
|
-
connectsTo:
|
|
17368
|
-
shape:
|
|
17409
|
+
name: z63.string().optional(),
|
|
17410
|
+
connectsTo: z63.string().or(z63.array(z63.string())).optional(),
|
|
17411
|
+
shape: z63.literal("circular_hole_with_rect_pad"),
|
|
17369
17412
|
holeDiameter: distance14,
|
|
17370
17413
|
rectPadWidth: distance14,
|
|
17371
17414
|
rectPadHeight: distance14,
|
|
17372
17415
|
rectBorderRadius: distance14.optional(),
|
|
17373
|
-
holeShape:
|
|
17374
|
-
padShape:
|
|
17416
|
+
holeShape: z63.literal("circle").optional(),
|
|
17417
|
+
padShape: z63.literal("rect").optional(),
|
|
17375
17418
|
portHints: portHints.optional(),
|
|
17376
17419
|
holeOffsetX: distance14.optional(),
|
|
17377
17420
|
holeOffsetY: distance14.optional(),
|
|
17378
17421
|
solderMaskMargin: distance14.optional(),
|
|
17379
|
-
coveredWithSolderMask:
|
|
17422
|
+
coveredWithSolderMask: z63.boolean().optional()
|
|
17380
17423
|
}),
|
|
17381
17424
|
pcbLayoutProps.omit({ layer: true }).extend({
|
|
17382
|
-
name:
|
|
17383
|
-
connectsTo:
|
|
17384
|
-
shape:
|
|
17385
|
-
holeShape:
|
|
17386
|
-
padShape:
|
|
17425
|
+
name: z63.string().optional(),
|
|
17426
|
+
connectsTo: z63.string().or(z63.array(z63.string())).optional(),
|
|
17427
|
+
shape: z63.literal("pill_hole_with_rect_pad"),
|
|
17428
|
+
holeShape: z63.literal("pill").optional(),
|
|
17429
|
+
padShape: z63.literal("rect").optional(),
|
|
17387
17430
|
holeWidth: distance14,
|
|
17388
17431
|
holeHeight: distance14,
|
|
17389
17432
|
rectPadWidth: distance14,
|
|
@@ -17393,22 +17436,22 @@ var platedHolePropsByShape = z62.discriminatedUnion("shape", [
|
|
|
17393
17436
|
holeOffsetX: distance14.optional(),
|
|
17394
17437
|
holeOffsetY: distance14.optional(),
|
|
17395
17438
|
solderMaskMargin: distance14.optional(),
|
|
17396
|
-
coveredWithSolderMask:
|
|
17439
|
+
coveredWithSolderMask: z63.boolean().optional()
|
|
17397
17440
|
}),
|
|
17398
17441
|
pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
17399
|
-
name:
|
|
17400
|
-
connectsTo:
|
|
17401
|
-
shape:
|
|
17402
|
-
holeShape:
|
|
17442
|
+
name: z63.string().optional(),
|
|
17443
|
+
connectsTo: z63.string().or(z63.array(z63.string())).optional(),
|
|
17444
|
+
shape: z63.literal("hole_with_polygon_pad"),
|
|
17445
|
+
holeShape: z63.enum(["circle", "oval", "pill", "rotated_pill"]),
|
|
17403
17446
|
holeDiameter: distance14.optional(),
|
|
17404
17447
|
holeWidth: distance14.optional(),
|
|
17405
17448
|
holeHeight: distance14.optional(),
|
|
17406
|
-
padOutline:
|
|
17449
|
+
padOutline: z63.array(point),
|
|
17407
17450
|
holeOffsetX: distance14,
|
|
17408
17451
|
holeOffsetY: distance14,
|
|
17409
17452
|
portHints: portHints.optional(),
|
|
17410
17453
|
solderMaskMargin: distance14.optional(),
|
|
17411
|
-
coveredWithSolderMask:
|
|
17454
|
+
coveredWithSolderMask: z63.boolean().optional()
|
|
17412
17455
|
})
|
|
17413
17456
|
]).transform((a) => {
|
|
17414
17457
|
if ("innerWidth" in a && a.innerWidth !== void 0) {
|
|
@@ -17419,7 +17462,7 @@ var platedHolePropsByShape = z62.discriminatedUnion("shape", [
|
|
|
17419
17462
|
}
|
|
17420
17463
|
return a;
|
|
17421
17464
|
});
|
|
17422
|
-
var platedHoleProps =
|
|
17465
|
+
var platedHoleProps = z63.preprocess(
|
|
17423
17466
|
inferPlatedHoleShapeAndDefaults,
|
|
17424
17467
|
platedHolePropsByShape
|
|
17425
17468
|
);
|
|
@@ -17427,7 +17470,7 @@ expectTypesMatch(true);
|
|
|
17427
17470
|
|
|
17428
17471
|
// lib/components/resistor.ts
|
|
17429
17472
|
import { resistance } from "circuit-json";
|
|
17430
|
-
import { z as
|
|
17473
|
+
import { z as z64 } from "zod";
|
|
17431
17474
|
var resistorPinLabels = ["pin1", "pin2", "pos", "neg"];
|
|
17432
17475
|
var resistorImperialFootprintNames = /* @__PURE__ */ new Set([
|
|
17433
17476
|
"01005",
|
|
@@ -17451,7 +17494,7 @@ var resistorFootprintProp = footprintProp.optional().transform(mapResistorFootpr
|
|
|
17451
17494
|
var resistorProps = commonComponentProps.extend({
|
|
17452
17495
|
footprint: resistorFootprintProp,
|
|
17453
17496
|
resistance,
|
|
17454
|
-
tolerance:
|
|
17497
|
+
tolerance: z64.union([z64.string(), z64.number()]).transform((val) => {
|
|
17455
17498
|
if (typeof val === "string") {
|
|
17456
17499
|
if (val.endsWith("%")) {
|
|
17457
17500
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -17460,12 +17503,12 @@ var resistorProps = commonComponentProps.extend({
|
|
|
17460
17503
|
}
|
|
17461
17504
|
return val;
|
|
17462
17505
|
}).pipe(
|
|
17463
|
-
|
|
17506
|
+
z64.number().min(0, "Tolerance must be non-negative").max(1, "Tolerance cannot be greater than 100%")
|
|
17464
17507
|
).optional(),
|
|
17465
|
-
pullupFor:
|
|
17466
|
-
pullupTo:
|
|
17467
|
-
pulldownFor:
|
|
17468
|
-
pulldownTo:
|
|
17508
|
+
pullupFor: z64.string().optional(),
|
|
17509
|
+
pullupTo: z64.string().optional(),
|
|
17510
|
+
pulldownFor: z64.string().optional(),
|
|
17511
|
+
pulldownTo: z64.string().optional(),
|
|
17469
17512
|
schOrientation: schematicOrientation.optional(),
|
|
17470
17513
|
schSize: schematicSymbolSize.optional(),
|
|
17471
17514
|
connections: createConnectionsProp(resistorPinLabels).optional()
|
|
@@ -17475,18 +17518,18 @@ expectTypesMatch(true);
|
|
|
17475
17518
|
|
|
17476
17519
|
// lib/components/potentiometer.ts
|
|
17477
17520
|
import { resistance as resistance2 } from "circuit-json";
|
|
17478
|
-
import { z as
|
|
17521
|
+
import { z as z65 } from "zod";
|
|
17479
17522
|
var potentiometerPinLabels = ["pin1", "pin2", "pin3"];
|
|
17480
17523
|
var potentiometerProps = commonComponentProps.extend({
|
|
17481
17524
|
maxResistance: resistance2,
|
|
17482
|
-
pinVariant:
|
|
17525
|
+
pinVariant: z65.enum(["two_pin", "three_pin"]).optional(),
|
|
17483
17526
|
connections: createConnectionsProp(potentiometerPinLabels).optional()
|
|
17484
17527
|
});
|
|
17485
17528
|
expectTypesMatch(true);
|
|
17486
17529
|
|
|
17487
17530
|
// lib/components/crystal.ts
|
|
17488
17531
|
import { capacitance, distance as distance15, frequency } from "circuit-json";
|
|
17489
|
-
import { z as
|
|
17532
|
+
import { z as z66 } from "zod";
|
|
17490
17533
|
var crystalPins = [
|
|
17491
17534
|
"pin1",
|
|
17492
17535
|
"left",
|
|
@@ -17499,8 +17542,8 @@ var crystalProps = commonComponentProps.extend({
|
|
|
17499
17542
|
frequency,
|
|
17500
17543
|
loadCapacitance: capacitance,
|
|
17501
17544
|
maxTraceLength: distance15.optional(),
|
|
17502
|
-
manufacturerPartNumber:
|
|
17503
|
-
pinVariant:
|
|
17545
|
+
manufacturerPartNumber: z66.string().optional(),
|
|
17546
|
+
pinVariant: z66.enum(["two_pin", "four_pin"]).optional(),
|
|
17504
17547
|
schOrientation: schematicOrientation.optional(),
|
|
17505
17548
|
connections: createConnectionsProp(crystalPins).optional()
|
|
17506
17549
|
});
|
|
@@ -17508,34 +17551,34 @@ expectTypesMatch(true);
|
|
|
17508
17551
|
|
|
17509
17552
|
// lib/components/resonator.ts
|
|
17510
17553
|
import { frequency as frequency2, capacitance as capacitance2 } from "circuit-json";
|
|
17511
|
-
import { z as
|
|
17554
|
+
import { z as z67 } from "zod";
|
|
17512
17555
|
var resonatorProps = commonComponentProps.extend({
|
|
17513
17556
|
frequency: frequency2,
|
|
17514
17557
|
loadCapacitance: capacitance2,
|
|
17515
|
-
pinVariant:
|
|
17558
|
+
pinVariant: z67.enum(["no_ground", "ground_pin", "two_ground_pins"]).optional()
|
|
17516
17559
|
});
|
|
17517
17560
|
expectTypesMatch(true);
|
|
17518
17561
|
|
|
17519
17562
|
// lib/components/stampboard.ts
|
|
17520
17563
|
import { distance as distance16 } from "circuit-json";
|
|
17521
|
-
import { z as
|
|
17564
|
+
import { z as z68 } from "zod";
|
|
17522
17565
|
var stampboardProps = boardProps.extend({
|
|
17523
|
-
leftPinCount:
|
|
17524
|
-
rightPinCount:
|
|
17525
|
-
topPinCount:
|
|
17526
|
-
bottomPinCount:
|
|
17527
|
-
leftPins:
|
|
17528
|
-
rightPins:
|
|
17529
|
-
topPins:
|
|
17530
|
-
bottomPins:
|
|
17566
|
+
leftPinCount: z68.number().optional(),
|
|
17567
|
+
rightPinCount: z68.number().optional(),
|
|
17568
|
+
topPinCount: z68.number().optional(),
|
|
17569
|
+
bottomPinCount: z68.number().optional(),
|
|
17570
|
+
leftPins: z68.array(z68.string()).optional(),
|
|
17571
|
+
rightPins: z68.array(z68.string()).optional(),
|
|
17572
|
+
topPins: z68.array(z68.string()).optional(),
|
|
17573
|
+
bottomPins: z68.array(z68.string()).optional(),
|
|
17531
17574
|
pinPitch: distance16.optional(),
|
|
17532
|
-
innerHoles:
|
|
17575
|
+
innerHoles: z68.boolean().optional()
|
|
17533
17576
|
});
|
|
17534
17577
|
expectTypesMatch(true);
|
|
17535
17578
|
|
|
17536
17579
|
// lib/components/capacitor.ts
|
|
17537
17580
|
import { capacitance as capacitance3, distance as distance17, voltage } from "circuit-json";
|
|
17538
|
-
import { z as
|
|
17581
|
+
import { z as z69 } from "zod";
|
|
17539
17582
|
var capacitorPinLabels = [
|
|
17540
17583
|
"pin1",
|
|
17541
17584
|
"pin2",
|
|
@@ -17547,12 +17590,12 @@ var capacitorPinLabels = [
|
|
|
17547
17590
|
var capacitorProps = commonComponentProps.extend({
|
|
17548
17591
|
capacitance: capacitance3,
|
|
17549
17592
|
maxVoltageRating: voltage.optional(),
|
|
17550
|
-
schShowRatings:
|
|
17551
|
-
polarized:
|
|
17552
|
-
decouplingFor:
|
|
17553
|
-
decouplingTo:
|
|
17554
|
-
bypassFor:
|
|
17555
|
-
bypassTo:
|
|
17593
|
+
schShowRatings: z69.boolean().optional().default(false),
|
|
17594
|
+
polarized: z69.boolean().optional().default(false),
|
|
17595
|
+
decouplingFor: z69.string().optional(),
|
|
17596
|
+
decouplingTo: z69.string().optional(),
|
|
17597
|
+
bypassFor: z69.string().optional(),
|
|
17598
|
+
bypassTo: z69.string().optional(),
|
|
17556
17599
|
maxDecouplingTraceLength: distance17.optional(),
|
|
17557
17600
|
schOrientation: schematicOrientation.optional(),
|
|
17558
17601
|
schSize: schematicSymbolSize.optional(),
|
|
@@ -17563,14 +17606,14 @@ expectTypesMatch(true);
|
|
|
17563
17606
|
|
|
17564
17607
|
// lib/components/net.ts
|
|
17565
17608
|
import { distance as distance18 } from "circuit-json";
|
|
17566
|
-
import { z as
|
|
17567
|
-
var netProps =
|
|
17568
|
-
name:
|
|
17569
|
-
connectsTo:
|
|
17570
|
-
routingPhaseIndex:
|
|
17571
|
-
highlightColor:
|
|
17572
|
-
isPowerNet:
|
|
17573
|
-
isGroundNet:
|
|
17609
|
+
import { z as z70 } from "zod";
|
|
17610
|
+
var netProps = z70.object({
|
|
17611
|
+
name: z70.string(),
|
|
17612
|
+
connectsTo: z70.string().or(z70.array(z70.string())).optional(),
|
|
17613
|
+
routingPhaseIndex: z70.number().nullable().optional(),
|
|
17614
|
+
highlightColor: z70.string().optional(),
|
|
17615
|
+
isPowerNet: z70.boolean().optional(),
|
|
17616
|
+
isGroundNet: z70.boolean().optional(),
|
|
17574
17617
|
nominalTraceWidth: distance18.optional()
|
|
17575
17618
|
});
|
|
17576
17619
|
expectTypesMatch(true);
|
|
@@ -17584,55 +17627,55 @@ var fiducialProps = commonComponentProps.extend({
|
|
|
17584
17627
|
expectTypesMatch(true);
|
|
17585
17628
|
|
|
17586
17629
|
// lib/components/constrainedlayout.ts
|
|
17587
|
-
import { z as
|
|
17588
|
-
var constrainedLayoutProps =
|
|
17589
|
-
name:
|
|
17590
|
-
pcbOnly:
|
|
17591
|
-
schOnly:
|
|
17630
|
+
import { z as z72 } from "zod";
|
|
17631
|
+
var constrainedLayoutProps = z72.object({
|
|
17632
|
+
name: z72.string().optional(),
|
|
17633
|
+
pcbOnly: z72.boolean().optional(),
|
|
17634
|
+
schOnly: z72.boolean().optional()
|
|
17592
17635
|
});
|
|
17593
17636
|
expectTypesMatch(true);
|
|
17594
17637
|
|
|
17595
17638
|
// lib/components/constraint.ts
|
|
17596
|
-
import { z as
|
|
17597
|
-
var pcbXDistConstraintProps =
|
|
17598
|
-
pcb:
|
|
17639
|
+
import { z as z73 } from "zod";
|
|
17640
|
+
var pcbXDistConstraintProps = z73.object({
|
|
17641
|
+
pcb: z73.literal(true).optional(),
|
|
17599
17642
|
xDist: distance,
|
|
17600
|
-
left:
|
|
17601
|
-
right:
|
|
17602
|
-
edgeToEdge:
|
|
17603
|
-
centerToCenter:
|
|
17643
|
+
left: z73.string(),
|
|
17644
|
+
right: z73.string(),
|
|
17645
|
+
edgeToEdge: z73.literal(true).optional(),
|
|
17646
|
+
centerToCenter: z73.literal(true).optional()
|
|
17604
17647
|
});
|
|
17605
17648
|
expectTypesMatch(
|
|
17606
17649
|
true
|
|
17607
17650
|
);
|
|
17608
|
-
var pcbYDistConstraintProps =
|
|
17609
|
-
pcb:
|
|
17651
|
+
var pcbYDistConstraintProps = z73.object({
|
|
17652
|
+
pcb: z73.literal(true).optional(),
|
|
17610
17653
|
yDist: distance,
|
|
17611
|
-
top:
|
|
17612
|
-
bottom:
|
|
17613
|
-
edgeToEdge:
|
|
17614
|
-
centerToCenter:
|
|
17654
|
+
top: z73.string(),
|
|
17655
|
+
bottom: z73.string(),
|
|
17656
|
+
edgeToEdge: z73.literal(true).optional(),
|
|
17657
|
+
centerToCenter: z73.literal(true).optional()
|
|
17615
17658
|
});
|
|
17616
17659
|
expectTypesMatch(
|
|
17617
17660
|
true
|
|
17618
17661
|
);
|
|
17619
|
-
var pcbSameYConstraintProps =
|
|
17620
|
-
pcb:
|
|
17621
|
-
sameY:
|
|
17622
|
-
for:
|
|
17662
|
+
var pcbSameYConstraintProps = z73.object({
|
|
17663
|
+
pcb: z73.literal(true).optional(),
|
|
17664
|
+
sameY: z73.literal(true).optional(),
|
|
17665
|
+
for: z73.array(z73.string())
|
|
17623
17666
|
});
|
|
17624
17667
|
expectTypesMatch(
|
|
17625
17668
|
true
|
|
17626
17669
|
);
|
|
17627
|
-
var pcbSameXConstraintProps =
|
|
17628
|
-
pcb:
|
|
17629
|
-
sameX:
|
|
17630
|
-
for:
|
|
17670
|
+
var pcbSameXConstraintProps = z73.object({
|
|
17671
|
+
pcb: z73.literal(true).optional(),
|
|
17672
|
+
sameX: z73.literal(true).optional(),
|
|
17673
|
+
for: z73.array(z73.string())
|
|
17631
17674
|
});
|
|
17632
17675
|
expectTypesMatch(
|
|
17633
17676
|
true
|
|
17634
17677
|
);
|
|
17635
|
-
var constraintProps =
|
|
17678
|
+
var constraintProps = z73.union([
|
|
17636
17679
|
pcbXDistConstraintProps,
|
|
17637
17680
|
pcbYDistConstraintProps,
|
|
17638
17681
|
pcbSameYConstraintProps,
|
|
@@ -17641,13 +17684,13 @@ var constraintProps = z72.union([
|
|
|
17641
17684
|
expectTypesMatch(true);
|
|
17642
17685
|
|
|
17643
17686
|
// lib/components/cutout.ts
|
|
17644
|
-
import { z as
|
|
17687
|
+
import { z as z74 } from "zod";
|
|
17645
17688
|
var rectCutoutProps = pcbLayoutProps.omit({
|
|
17646
17689
|
layer: true,
|
|
17647
17690
|
pcbRotation: true
|
|
17648
17691
|
}).extend({
|
|
17649
|
-
name:
|
|
17650
|
-
shape:
|
|
17692
|
+
name: z74.string().optional(),
|
|
17693
|
+
shape: z74.literal("rect"),
|
|
17651
17694
|
width: distance,
|
|
17652
17695
|
height: distance
|
|
17653
17696
|
});
|
|
@@ -17656,8 +17699,8 @@ var circleCutoutProps = pcbLayoutProps.omit({
|
|
|
17656
17699
|
layer: true,
|
|
17657
17700
|
pcbRotation: true
|
|
17658
17701
|
}).extend({
|
|
17659
|
-
name:
|
|
17660
|
-
shape:
|
|
17702
|
+
name: z74.string().optional(),
|
|
17703
|
+
shape: z74.literal("circle"),
|
|
17661
17704
|
radius: distance
|
|
17662
17705
|
});
|
|
17663
17706
|
expectTypesMatch(true);
|
|
@@ -17665,36 +17708,36 @@ var polygonCutoutProps = pcbLayoutProps.omit({
|
|
|
17665
17708
|
layer: true,
|
|
17666
17709
|
pcbRotation: true
|
|
17667
17710
|
}).extend({
|
|
17668
|
-
name:
|
|
17669
|
-
shape:
|
|
17670
|
-
points:
|
|
17711
|
+
name: z74.string().optional(),
|
|
17712
|
+
shape: z74.literal("polygon"),
|
|
17713
|
+
points: z74.array(point)
|
|
17671
17714
|
});
|
|
17672
17715
|
expectTypesMatch(true);
|
|
17673
|
-
var cutoutProps =
|
|
17716
|
+
var cutoutProps = z74.discriminatedUnion("shape", [
|
|
17674
17717
|
rectCutoutProps,
|
|
17675
17718
|
circleCutoutProps,
|
|
17676
17719
|
polygonCutoutProps
|
|
17677
17720
|
]);
|
|
17678
17721
|
|
|
17679
17722
|
// lib/components/drc-check.ts
|
|
17680
|
-
import { z as
|
|
17681
|
-
var drcCheckProps =
|
|
17682
|
-
name:
|
|
17723
|
+
import { z as z75 } from "zod";
|
|
17724
|
+
var drcCheckProps = z75.object({
|
|
17725
|
+
name: z75.string().optional(),
|
|
17683
17726
|
checkFn: customDrcCheckFn
|
|
17684
17727
|
});
|
|
17685
17728
|
expectTypesMatch(true);
|
|
17686
17729
|
|
|
17687
17730
|
// lib/components/smtpad.ts
|
|
17688
|
-
import { z as
|
|
17731
|
+
import { z as z76 } from "zod";
|
|
17689
17732
|
var rectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
17690
|
-
name:
|
|
17691
|
-
shape:
|
|
17733
|
+
name: z76.string().optional(),
|
|
17734
|
+
shape: z76.literal("rect"),
|
|
17692
17735
|
width: distance,
|
|
17693
17736
|
height: distance,
|
|
17694
17737
|
rectBorderRadius: distance.optional(),
|
|
17695
17738
|
cornerRadius: distance.optional(),
|
|
17696
17739
|
portHints: portHints.optional(),
|
|
17697
|
-
coveredWithSolderMask:
|
|
17740
|
+
coveredWithSolderMask: z76.boolean().optional(),
|
|
17698
17741
|
solderMaskMargin: distance.optional(),
|
|
17699
17742
|
solderMaskMarginLeft: distance.optional(),
|
|
17700
17743
|
solderMaskMarginRight: distance.optional(),
|
|
@@ -17704,14 +17747,14 @@ var rectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
|
17704
17747
|
});
|
|
17705
17748
|
expectTypesMatch(true);
|
|
17706
17749
|
var rotatedRectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
17707
|
-
name:
|
|
17708
|
-
shape:
|
|
17750
|
+
name: z76.string().optional(),
|
|
17751
|
+
shape: z76.literal("rotated_rect"),
|
|
17709
17752
|
width: distance,
|
|
17710
17753
|
height: distance,
|
|
17711
|
-
ccwRotation:
|
|
17754
|
+
ccwRotation: z76.number(),
|
|
17712
17755
|
cornerRadius: distance.optional(),
|
|
17713
17756
|
portHints: portHints.optional(),
|
|
17714
|
-
coveredWithSolderMask:
|
|
17757
|
+
coveredWithSolderMask: z76.boolean().optional(),
|
|
17715
17758
|
solderMaskMargin: distance.optional(),
|
|
17716
17759
|
solderMaskMarginLeft: distance.optional(),
|
|
17717
17760
|
solderMaskMarginRight: distance.optional(),
|
|
@@ -17721,51 +17764,51 @@ var rotatedRectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
|
17721
17764
|
});
|
|
17722
17765
|
expectTypesMatch(true);
|
|
17723
17766
|
var circleSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
17724
|
-
name:
|
|
17725
|
-
shape:
|
|
17767
|
+
name: z76.string().optional(),
|
|
17768
|
+
shape: z76.literal("circle"),
|
|
17726
17769
|
radius: distance,
|
|
17727
17770
|
portHints: portHints.optional(),
|
|
17728
|
-
coveredWithSolderMask:
|
|
17771
|
+
coveredWithSolderMask: z76.boolean().optional(),
|
|
17729
17772
|
solderMaskMargin: distance.optional(),
|
|
17730
17773
|
solderPasteMargin: distance.optional()
|
|
17731
17774
|
});
|
|
17732
17775
|
expectTypesMatch(true);
|
|
17733
17776
|
var pillSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
17734
|
-
name:
|
|
17735
|
-
shape:
|
|
17777
|
+
name: z76.string().optional(),
|
|
17778
|
+
shape: z76.literal("pill"),
|
|
17736
17779
|
width: distance,
|
|
17737
17780
|
height: distance,
|
|
17738
17781
|
radius: distance,
|
|
17739
17782
|
portHints: portHints.optional(),
|
|
17740
|
-
coveredWithSolderMask:
|
|
17783
|
+
coveredWithSolderMask: z76.boolean().optional(),
|
|
17741
17784
|
solderMaskMargin: distance.optional(),
|
|
17742
17785
|
solderPasteMargin: distance.optional()
|
|
17743
17786
|
});
|
|
17744
17787
|
expectTypesMatch(true);
|
|
17745
17788
|
var rotatedPillSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
17746
|
-
name:
|
|
17747
|
-
shape:
|
|
17789
|
+
name: z76.string().optional(),
|
|
17790
|
+
shape: z76.literal("rotated_pill"),
|
|
17748
17791
|
width: distance,
|
|
17749
17792
|
height: distance,
|
|
17750
17793
|
radius: distance,
|
|
17751
|
-
ccwRotation:
|
|
17794
|
+
ccwRotation: z76.number(),
|
|
17752
17795
|
portHints: portHints.optional(),
|
|
17753
|
-
coveredWithSolderMask:
|
|
17796
|
+
coveredWithSolderMask: z76.boolean().optional(),
|
|
17754
17797
|
solderMaskMargin: distance.optional(),
|
|
17755
17798
|
solderPasteMargin: distance.optional()
|
|
17756
17799
|
});
|
|
17757
17800
|
expectTypesMatch(true);
|
|
17758
17801
|
var polygonSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
17759
|
-
name:
|
|
17760
|
-
shape:
|
|
17761
|
-
points:
|
|
17802
|
+
name: z76.string().optional(),
|
|
17803
|
+
shape: z76.literal("polygon"),
|
|
17804
|
+
points: z76.array(point),
|
|
17762
17805
|
portHints: portHints.optional(),
|
|
17763
|
-
coveredWithSolderMask:
|
|
17806
|
+
coveredWithSolderMask: z76.boolean().optional(),
|
|
17764
17807
|
solderMaskMargin: distance.optional(),
|
|
17765
17808
|
solderPasteMargin: distance.optional()
|
|
17766
17809
|
});
|
|
17767
17810
|
expectTypesMatch(true);
|
|
17768
|
-
var smtPadProps =
|
|
17811
|
+
var smtPadProps = z76.discriminatedUnion("shape", [
|
|
17769
17812
|
circleSmtPadProps,
|
|
17770
17813
|
rectSmtPadProps,
|
|
17771
17814
|
rotatedRectSmtPadProps,
|
|
@@ -17776,63 +17819,63 @@ var smtPadProps = z75.discriminatedUnion("shape", [
|
|
|
17776
17819
|
expectTypesMatch(true);
|
|
17777
17820
|
|
|
17778
17821
|
// lib/components/solderpaste.ts
|
|
17779
|
-
import { z as
|
|
17822
|
+
import { z as z77 } from "zod";
|
|
17780
17823
|
var rectSolderPasteProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
17781
|
-
shape:
|
|
17824
|
+
shape: z77.literal("rect"),
|
|
17782
17825
|
width: distance,
|
|
17783
17826
|
height: distance
|
|
17784
17827
|
});
|
|
17785
17828
|
expectTypesMatch(true);
|
|
17786
17829
|
var circleSolderPasteProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
17787
|
-
shape:
|
|
17830
|
+
shape: z77.literal("circle"),
|
|
17788
17831
|
radius: distance
|
|
17789
17832
|
});
|
|
17790
17833
|
expectTypesMatch(true);
|
|
17791
|
-
var solderPasteProps =
|
|
17834
|
+
var solderPasteProps = z77.union([
|
|
17792
17835
|
circleSolderPasteProps,
|
|
17793
17836
|
rectSolderPasteProps
|
|
17794
17837
|
]);
|
|
17795
17838
|
expectTypesMatch(true);
|
|
17796
17839
|
|
|
17797
17840
|
// lib/components/hole.ts
|
|
17798
|
-
import { z as
|
|
17841
|
+
import { z as z78 } from "zod";
|
|
17799
17842
|
var circleHoleProps = pcbLayoutProps.extend({
|
|
17800
|
-
name:
|
|
17801
|
-
shape:
|
|
17843
|
+
name: z78.string().optional(),
|
|
17844
|
+
shape: z78.literal("circle").optional(),
|
|
17802
17845
|
diameter: distance.optional(),
|
|
17803
17846
|
radius: distance.optional(),
|
|
17804
17847
|
solderMaskMargin: distance.optional(),
|
|
17805
|
-
coveredWithSolderMask:
|
|
17848
|
+
coveredWithSolderMask: z78.boolean().optional()
|
|
17806
17849
|
}).transform((d) => ({
|
|
17807
17850
|
...d,
|
|
17808
17851
|
diameter: d.diameter ?? 2 * d.radius,
|
|
17809
17852
|
radius: d.radius ?? d.diameter / 2
|
|
17810
17853
|
}));
|
|
17811
17854
|
var pillHoleProps = pcbLayoutProps.extend({
|
|
17812
|
-
name:
|
|
17813
|
-
shape:
|
|
17855
|
+
name: z78.string().optional(),
|
|
17856
|
+
shape: z78.literal("pill"),
|
|
17814
17857
|
width: distance,
|
|
17815
17858
|
height: distance,
|
|
17816
17859
|
solderMaskMargin: distance.optional(),
|
|
17817
|
-
coveredWithSolderMask:
|
|
17860
|
+
coveredWithSolderMask: z78.boolean().optional()
|
|
17818
17861
|
});
|
|
17819
17862
|
var ovalHoleProps = pcbLayoutProps.extend({
|
|
17820
|
-
name:
|
|
17821
|
-
shape:
|
|
17863
|
+
name: z78.string().optional(),
|
|
17864
|
+
shape: z78.literal("oval"),
|
|
17822
17865
|
width: distance,
|
|
17823
17866
|
height: distance,
|
|
17824
17867
|
solderMaskMargin: distance.optional(),
|
|
17825
|
-
coveredWithSolderMask:
|
|
17868
|
+
coveredWithSolderMask: z78.boolean().optional()
|
|
17826
17869
|
});
|
|
17827
17870
|
var rectHoleProps = pcbLayoutProps.extend({
|
|
17828
|
-
name:
|
|
17829
|
-
shape:
|
|
17871
|
+
name: z78.string().optional(),
|
|
17872
|
+
shape: z78.literal("rect"),
|
|
17830
17873
|
width: distance,
|
|
17831
17874
|
height: distance,
|
|
17832
17875
|
solderMaskMargin: distance.optional(),
|
|
17833
|
-
coveredWithSolderMask:
|
|
17876
|
+
coveredWithSolderMask: z78.boolean().optional()
|
|
17834
17877
|
});
|
|
17835
|
-
var holeProps =
|
|
17878
|
+
var holeProps = z78.union([
|
|
17836
17879
|
circleHoleProps,
|
|
17837
17880
|
pillHoleProps,
|
|
17838
17881
|
ovalHoleProps,
|
|
@@ -17841,7 +17884,7 @@ var holeProps = z77.union([
|
|
|
17841
17884
|
expectTypesMatch(true);
|
|
17842
17885
|
|
|
17843
17886
|
// lib/components/antenna.ts
|
|
17844
|
-
import { z as
|
|
17887
|
+
import { z as z79 } from "zod";
|
|
17845
17888
|
var antennaShapes = [
|
|
17846
17889
|
"2.4ghz_quarter_wave_monopole",
|
|
17847
17890
|
"2.4ghz_meandered_monopole",
|
|
@@ -17849,7 +17892,7 @@ var antennaShapes = [
|
|
|
17849
17892
|
"2.4ghz_meandered_inverted_f",
|
|
17850
17893
|
"2.4ghz_folded_dipole"
|
|
17851
17894
|
];
|
|
17852
|
-
var antennaShape =
|
|
17895
|
+
var antennaShape = z79.enum(antennaShapes);
|
|
17853
17896
|
var antennaFrequencyBands = [
|
|
17854
17897
|
"2.4ghz",
|
|
17855
17898
|
"5ghz",
|
|
@@ -17857,7 +17900,7 @@ var antennaFrequencyBands = [
|
|
|
17857
17900
|
"dual_band_2.4ghz_5ghz",
|
|
17858
17901
|
"tri_band_2.4ghz_5ghz_6ghz"
|
|
17859
17902
|
];
|
|
17860
|
-
var antennaFrequencyBand =
|
|
17903
|
+
var antennaFrequencyBand = z79.enum(antennaFrequencyBands);
|
|
17861
17904
|
var antennaProps = commonComponentProps.extend({
|
|
17862
17905
|
antennaShape: antennaShape.optional(),
|
|
17863
17906
|
frequencyBand: antennaFrequencyBand.optional(),
|
|
@@ -17867,39 +17910,39 @@ expectTypesMatch(true);
|
|
|
17867
17910
|
|
|
17868
17911
|
// lib/components/trace.ts
|
|
17869
17912
|
import { distance as distance19, route_hint_point as route_hint_point2 } from "circuit-json";
|
|
17870
|
-
import { z as
|
|
17871
|
-
var portRef =
|
|
17872
|
-
|
|
17873
|
-
|
|
17913
|
+
import { z as z80 } from "zod";
|
|
17914
|
+
var portRef = z80.union([
|
|
17915
|
+
z80.string(),
|
|
17916
|
+
z80.custom(
|
|
17874
17917
|
(v) => typeof v === "object" && v !== null && "getPortSelector" in v && typeof v.getPortSelector === "function"
|
|
17875
17918
|
)
|
|
17876
17919
|
]);
|
|
17877
|
-
var baseTraceProps =
|
|
17878
|
-
key:
|
|
17879
|
-
name:
|
|
17880
|
-
displayName:
|
|
17920
|
+
var baseTraceProps = z80.object({
|
|
17921
|
+
key: z80.string().optional(),
|
|
17922
|
+
name: z80.string().optional(),
|
|
17923
|
+
displayName: z80.string().optional(),
|
|
17881
17924
|
thickness: distance19.optional(),
|
|
17882
17925
|
width: distance19.optional().describe("Alias for trace thickness"),
|
|
17883
|
-
schematicRouteHints:
|
|
17884
|
-
pcbRouteHints:
|
|
17885
|
-
pcbTeardrops:
|
|
17886
|
-
pcbTeardropStart:
|
|
17887
|
-
pcbTeardropEnd:
|
|
17888
|
-
pcbPathRelativeTo:
|
|
17926
|
+
schematicRouteHints: z80.array(point).optional(),
|
|
17927
|
+
pcbRouteHints: z80.array(route_hint_point2).optional(),
|
|
17928
|
+
pcbTeardrops: z80.boolean().optional().describe("Enable PCB trace teardrops."),
|
|
17929
|
+
pcbTeardropStart: z80.boolean().optional().describe("Teardrop at the start (from) of trace"),
|
|
17930
|
+
pcbTeardropEnd: z80.boolean().optional().describe("Teardrop at the end (to) of trace"),
|
|
17931
|
+
pcbPathRelativeTo: z80.string().optional(),
|
|
17889
17932
|
pcbPath: pcbPath.optional(),
|
|
17890
|
-
pcbPaths:
|
|
17891
|
-
routingPhaseIndex:
|
|
17892
|
-
pcbStraightLine:
|
|
17893
|
-
schDisplayLabel:
|
|
17894
|
-
schStroke:
|
|
17895
|
-
highlightColor:
|
|
17933
|
+
pcbPaths: z80.array(pcbPath).optional(),
|
|
17934
|
+
routingPhaseIndex: z80.number().nullable().optional(),
|
|
17935
|
+
pcbStraightLine: z80.boolean().optional().describe("Draw a straight pcb trace between the connected points"),
|
|
17936
|
+
schDisplayLabel: z80.string().optional(),
|
|
17937
|
+
schStroke: z80.string().optional(),
|
|
17938
|
+
highlightColor: z80.string().optional(),
|
|
17896
17939
|
maxLength: distance19.optional(),
|
|
17897
|
-
maxViaCount:
|
|
17898
|
-
connectsTo:
|
|
17940
|
+
maxViaCount: z80.number().int().nonnegative().optional().describe("Maximum number of vias allowed in the PCB trace route"),
|
|
17941
|
+
connectsTo: z80.string().or(z80.array(z80.string())).optional()
|
|
17899
17942
|
});
|
|
17900
|
-
var traceProps =
|
|
17943
|
+
var traceProps = z80.union([
|
|
17901
17944
|
baseTraceProps.extend({
|
|
17902
|
-
path:
|
|
17945
|
+
path: z80.array(portRef)
|
|
17903
17946
|
}),
|
|
17904
17947
|
baseTraceProps.extend({
|
|
17905
17948
|
from: portRef,
|
|
@@ -17917,31 +17960,31 @@ import {
|
|
|
17917
17960
|
layer_ref as layer_ref7,
|
|
17918
17961
|
resistance as resistance3
|
|
17919
17962
|
} from "circuit-json";
|
|
17920
|
-
import { z as
|
|
17921
|
-
var busProps =
|
|
17922
|
-
name:
|
|
17923
|
-
connections:
|
|
17924
|
-
routingPhaseIndex:
|
|
17925
|
-
maxLengthSkew: distance20.pipe(
|
|
17926
|
-
targetImpedance: resistance3.pipe(
|
|
17927
|
-
pcbTraceWidth: distance20.pipe(
|
|
17928
|
-
pcbAllowedLayers:
|
|
17963
|
+
import { z as z81 } from "zod";
|
|
17964
|
+
var busProps = z81.object({
|
|
17965
|
+
name: z81.string().optional(),
|
|
17966
|
+
connections: z81.array(z81.string()).min(1),
|
|
17967
|
+
routingPhaseIndex: z81.number().nullable().optional(),
|
|
17968
|
+
maxLengthSkew: distance20.pipe(z81.number().min(0).finite()).optional(),
|
|
17969
|
+
targetImpedance: resistance3.pipe(z81.number().positive().finite()).optional(),
|
|
17970
|
+
pcbTraceWidth: distance20.pipe(z81.number().positive().finite()).optional(),
|
|
17971
|
+
pcbAllowedLayers: z81.array(layer_ref7).min(1).optional(),
|
|
17929
17972
|
preferredLayer: layer_ref7.optional(),
|
|
17930
|
-
preferredLayers:
|
|
17973
|
+
preferredLayers: z81.array(layer_ref7).min(1).optional()
|
|
17931
17974
|
});
|
|
17932
17975
|
expectTypesMatch(true);
|
|
17933
17976
|
|
|
17934
17977
|
// lib/components/differentialpair.ts
|
|
17935
17978
|
import { distance as distance21, resistance as resistance4 } from "circuit-json";
|
|
17936
|
-
import { z as
|
|
17937
|
-
var differentialPairProps =
|
|
17938
|
-
name:
|
|
17939
|
-
positiveConnection:
|
|
17940
|
-
negativeConnection:
|
|
17941
|
-
maxLengthSkew: distance21.pipe(
|
|
17942
|
-
targetDifferentialImpedance: resistance4.pipe(
|
|
17943
|
-
pcbTraceGap: distance21.pipe(
|
|
17944
|
-
maxUncoupledLength: distance21.pipe(
|
|
17979
|
+
import { z as z82 } from "zod";
|
|
17980
|
+
var differentialPairProps = z82.object({
|
|
17981
|
+
name: z82.string().optional(),
|
|
17982
|
+
positiveConnection: z82.string(),
|
|
17983
|
+
negativeConnection: z82.string(),
|
|
17984
|
+
maxLengthSkew: distance21.pipe(z82.number().min(0).finite()).optional(),
|
|
17985
|
+
targetDifferentialImpedance: resistance4.pipe(z82.number().positive().finite()).optional(),
|
|
17986
|
+
pcbTraceGap: distance21.pipe(z82.number().positive().finite()).optional(),
|
|
17987
|
+
maxUncoupledLength: distance21.pipe(z82.number().min(0).finite()).optional()
|
|
17945
17988
|
});
|
|
17946
17989
|
expectTypesMatch(true);
|
|
17947
17990
|
|
|
@@ -17949,8 +17992,8 @@ expectTypesMatch(true);
|
|
|
17949
17992
|
import {
|
|
17950
17993
|
layer_ref as layer_ref8
|
|
17951
17994
|
} from "circuit-json";
|
|
17952
|
-
import { z as
|
|
17953
|
-
var footprintInsertionDirection =
|
|
17995
|
+
import { z as z83 } from "zod";
|
|
17996
|
+
var footprintInsertionDirection = z83.enum([
|
|
17954
17997
|
"from_left",
|
|
17955
17998
|
"from_right",
|
|
17956
17999
|
"from_top",
|
|
@@ -17968,11 +18011,11 @@ var footprintInsertionDirection = z82.enum([
|
|
|
17968
18011
|
"from_back"
|
|
17969
18012
|
]);
|
|
17970
18013
|
expectTypesMatch(true);
|
|
17971
|
-
var footprintProps =
|
|
17972
|
-
children:
|
|
17973
|
-
name:
|
|
18014
|
+
var footprintProps = z83.object({
|
|
18015
|
+
children: z83.any().optional(),
|
|
18016
|
+
name: z83.string().optional(),
|
|
17974
18017
|
originalLayer: layer_ref8.default("top").optional(),
|
|
17975
|
-
circuitJson:
|
|
18018
|
+
circuitJson: z83.array(z83.any()).optional(),
|
|
17976
18019
|
src: footprintProp.describe("Can be a footprint or kicad string").optional(),
|
|
17977
18020
|
insertionDirection: footprintInsertionDirection.optional().describe(
|
|
17978
18021
|
"Direction a cable or mating part is attached from, named for the side of the footprint it approaches from, in its unrotated orientation."
|
|
@@ -17984,19 +18027,19 @@ var footprintProps = z82.object({
|
|
|
17984
18027
|
expectTypesMatch(true);
|
|
17985
18028
|
|
|
17986
18029
|
// lib/components/symbol.ts
|
|
17987
|
-
import { z as
|
|
17988
|
-
var symbolProps =
|
|
17989
|
-
originalFacingDirection:
|
|
18030
|
+
import { z as z84 } from "zod";
|
|
18031
|
+
var symbolProps = z84.object({
|
|
18032
|
+
originalFacingDirection: z84.enum(["up", "down", "left", "right"]).default("right").optional(),
|
|
17990
18033
|
width: distance.optional(),
|
|
17991
18034
|
height: distance.optional(),
|
|
17992
|
-
name:
|
|
18035
|
+
name: z84.string().optional()
|
|
17993
18036
|
});
|
|
17994
18037
|
expectTypesMatch(true);
|
|
17995
18038
|
|
|
17996
18039
|
// lib/components/battery.ts
|
|
17997
18040
|
import { voltage as voltage2 } from "circuit-json";
|
|
17998
|
-
import { z as
|
|
17999
|
-
var capacity =
|
|
18041
|
+
import { z as z85 } from "zod";
|
|
18042
|
+
var capacity = z85.number().or(z85.string().endsWith("mAh")).transform((v) => {
|
|
18000
18043
|
if (typeof v === "string") {
|
|
18001
18044
|
const valString = v.replace("mAh", "");
|
|
18002
18045
|
const num = Number.parseFloat(valString);
|
|
@@ -18011,14 +18054,14 @@ var batteryPins = lrPolarPins;
|
|
|
18011
18054
|
var batteryProps = commonComponentProps.extend({
|
|
18012
18055
|
capacity: capacity.optional(),
|
|
18013
18056
|
voltage: voltage2.optional(),
|
|
18014
|
-
standard:
|
|
18057
|
+
standard: z85.enum(["AA", "AAA", "9V", "CR2032", "18650", "C"]).optional(),
|
|
18015
18058
|
schOrientation: schematicOrientation.optional(),
|
|
18016
18059
|
connections: createConnectionsProp(batteryPins).optional()
|
|
18017
18060
|
});
|
|
18018
18061
|
expectTypesMatch(true);
|
|
18019
18062
|
|
|
18020
18063
|
// lib/components/mountedboard.ts
|
|
18021
|
-
import { z as
|
|
18064
|
+
import { z as z86 } from "zod";
|
|
18022
18065
|
var mountedboardProps = subcircuitGroupProps.extend({
|
|
18023
18066
|
mpn: chipProps.shape.mpn,
|
|
18024
18067
|
mfn: chipProps.shape.mfn,
|
|
@@ -18032,7 +18075,7 @@ var mountedboardProps = subcircuitGroupProps.extend({
|
|
|
18032
18075
|
internallyConnectedPins: chipProps.shape.internallyConnectedPins,
|
|
18033
18076
|
externallyConnectedPins: chipProps.shape.externallyConnectedPins,
|
|
18034
18077
|
boardToBoardDistance: distance.optional(),
|
|
18035
|
-
mountOrientation:
|
|
18078
|
+
mountOrientation: z86.enum(["faceDown", "faceUp"]).optional()
|
|
18036
18079
|
});
|
|
18037
18080
|
expectTypesMatch(true);
|
|
18038
18081
|
|
|
@@ -18040,40 +18083,40 @@ expectTypesMatch(true);
|
|
|
18040
18083
|
import { distance as distance22 } from "circuit-json";
|
|
18041
18084
|
|
|
18042
18085
|
// lib/common/pcbOrientation.ts
|
|
18043
|
-
import { z as
|
|
18044
|
-
var pcbOrientation =
|
|
18086
|
+
import { z as z87 } from "zod";
|
|
18087
|
+
var pcbOrientation = z87.enum(["vertical", "horizontal"]).describe(
|
|
18045
18088
|
"vertical means pins go 1->2 downward and horizontal means pins go 1->2 rightward"
|
|
18046
18089
|
);
|
|
18047
18090
|
expectTypesMatch(true);
|
|
18048
18091
|
|
|
18049
18092
|
// lib/components/pin-header.ts
|
|
18050
|
-
import { z as
|
|
18093
|
+
import { z as z88 } from "zod";
|
|
18051
18094
|
var pinHeaderProps = commonComponentProps.extend({
|
|
18052
|
-
pinCount:
|
|
18095
|
+
pinCount: z88.number(),
|
|
18053
18096
|
pitch: distance22.optional(),
|
|
18054
|
-
schFacingDirection:
|
|
18055
|
-
gender:
|
|
18056
|
-
showSilkscreenPinLabels:
|
|
18057
|
-
pcbPinLabels:
|
|
18058
|
-
doubleRow:
|
|
18059
|
-
rightAngle:
|
|
18097
|
+
schFacingDirection: z88.enum(["up", "down", "left", "right"]).optional(),
|
|
18098
|
+
gender: z88.enum(["male", "female", "unpopulated"]).optional().default("male"),
|
|
18099
|
+
showSilkscreenPinLabels: z88.boolean().optional(),
|
|
18100
|
+
pcbPinLabels: z88.record(z88.string(), z88.string()).optional(),
|
|
18101
|
+
doubleRow: z88.boolean().optional(),
|
|
18102
|
+
rightAngle: z88.boolean().optional(),
|
|
18060
18103
|
pcbOrientation: pcbOrientation.optional(),
|
|
18061
18104
|
holeDiameter: distance22.optional(),
|
|
18062
18105
|
platedDiameter: distance22.optional(),
|
|
18063
|
-
pinLabels:
|
|
18064
|
-
connections:
|
|
18065
|
-
facingDirection:
|
|
18106
|
+
pinLabels: z88.record(z88.string(), schematicPinLabel).or(z88.array(schematicPinLabel)).optional(),
|
|
18107
|
+
connections: z88.custom().pipe(z88.record(z88.string(), connectionTarget)).optional(),
|
|
18108
|
+
facingDirection: z88.enum(["left", "right"]).optional(),
|
|
18066
18109
|
schPinArrangement: schematicPinArrangement.optional(),
|
|
18067
18110
|
schPinStyle: schematicPinStyle.optional(),
|
|
18068
18111
|
schPinSpacing: distance22.optional(),
|
|
18069
18112
|
schWidth: distance22.optional(),
|
|
18070
18113
|
schHeight: distance22.optional(),
|
|
18071
|
-
connectsFromAbove:
|
|
18072
|
-
connectsFromBelow:
|
|
18114
|
+
connectsFromAbove: z88.boolean().optional(),
|
|
18115
|
+
connectsFromBelow: z88.boolean().optional()
|
|
18073
18116
|
}).superRefine((props, ctx) => {
|
|
18074
18117
|
if (props.connectsFromAbove && props.connectsFromBelow) {
|
|
18075
18118
|
ctx.addIssue({
|
|
18076
|
-
code:
|
|
18119
|
+
code: z88.ZodIssueCode.custom,
|
|
18077
18120
|
message: "connectsFromAbove and connectsFromBelow are opposites; set at most one"
|
|
18078
18121
|
});
|
|
18079
18122
|
}
|
|
@@ -18084,30 +18127,30 @@ var pinHeaderProps = commonComponentProps.extend({
|
|
|
18084
18127
|
expectTypesMatch(true);
|
|
18085
18128
|
|
|
18086
18129
|
// lib/components/netalias.ts
|
|
18087
|
-
import { z as
|
|
18130
|
+
import { z as z89 } from "zod";
|
|
18088
18131
|
import { rotation as rotation4 } from "circuit-json";
|
|
18089
|
-
var netAliasProps =
|
|
18090
|
-
net:
|
|
18091
|
-
connection:
|
|
18132
|
+
var netAliasProps = z89.object({
|
|
18133
|
+
net: z89.string().optional(),
|
|
18134
|
+
connection: z89.string().optional(),
|
|
18092
18135
|
schX: distance.optional(),
|
|
18093
18136
|
schY: distance.optional(),
|
|
18094
18137
|
schRotation: rotation4.optional(),
|
|
18095
|
-
anchorSide:
|
|
18138
|
+
anchorSide: z89.enum(["left", "top", "right", "bottom"]).optional()
|
|
18096
18139
|
});
|
|
18097
18140
|
expectTypesMatch(true);
|
|
18098
18141
|
|
|
18099
18142
|
// lib/components/netlabel.ts
|
|
18100
|
-
import { z as
|
|
18143
|
+
import { z as z90 } from "zod";
|
|
18101
18144
|
import { rotation as rotation5 } from "circuit-json";
|
|
18102
|
-
var netLabelProps =
|
|
18103
|
-
net:
|
|
18104
|
-
connection:
|
|
18105
|
-
connectsTo:
|
|
18106
|
-
inline:
|
|
18145
|
+
var netLabelProps = z90.object({
|
|
18146
|
+
net: z90.string().optional(),
|
|
18147
|
+
connection: z90.string().optional(),
|
|
18148
|
+
connectsTo: z90.string().or(z90.array(z90.string())).optional(),
|
|
18149
|
+
inline: z90.boolean().optional(),
|
|
18107
18150
|
schX: distance.optional(),
|
|
18108
18151
|
schY: distance.optional(),
|
|
18109
18152
|
schRotation: rotation5.optional(),
|
|
18110
|
-
anchorSide:
|
|
18153
|
+
anchorSide: z90.enum(["left", "top", "right", "bottom"]).optional()
|
|
18111
18154
|
});
|
|
18112
18155
|
expectTypesMatch(true);
|
|
18113
18156
|
|
|
@@ -18122,32 +18165,32 @@ expectTypesMatch(true);
|
|
|
18122
18165
|
|
|
18123
18166
|
// lib/components/analogsimulation.ts
|
|
18124
18167
|
import { ms } from "circuit-json";
|
|
18125
|
-
import { z as
|
|
18126
|
-
var spiceEngine =
|
|
18168
|
+
import { z as z92 } from "zod";
|
|
18169
|
+
var spiceEngine = z92.custom(
|
|
18127
18170
|
(value) => typeof value === "string"
|
|
18128
18171
|
);
|
|
18129
|
-
var spiceOptions =
|
|
18130
|
-
method:
|
|
18131
|
-
reltol:
|
|
18132
|
-
abstol:
|
|
18133
|
-
vntol:
|
|
18172
|
+
var spiceOptions = z92.object({
|
|
18173
|
+
method: z92.enum(["trap", "gear"]).optional(),
|
|
18174
|
+
reltol: z92.union([z92.number(), z92.string()]).optional(),
|
|
18175
|
+
abstol: z92.union([z92.number(), z92.string()]).optional(),
|
|
18176
|
+
vntol: z92.union([z92.number(), z92.string()]).optional()
|
|
18134
18177
|
});
|
|
18135
18178
|
var analogAnalysisSimulationBaseProps = {
|
|
18136
|
-
name:
|
|
18179
|
+
name: z92.string().optional(),
|
|
18137
18180
|
spiceEngine: spiceEngine.optional(),
|
|
18138
18181
|
spiceOptions: spiceOptions.optional(),
|
|
18139
|
-
graphIndependentAxes:
|
|
18140
|
-
children:
|
|
18182
|
+
graphIndependentAxes: z92.boolean().optional(),
|
|
18183
|
+
children: z92.custom().optional()
|
|
18141
18184
|
};
|
|
18142
|
-
var analogSimulationProps =
|
|
18143
|
-
name:
|
|
18144
|
-
simulationType:
|
|
18185
|
+
var analogSimulationProps = z92.object({
|
|
18186
|
+
name: z92.string().optional(),
|
|
18187
|
+
simulationType: z92.literal("spice_transient_analysis").default("spice_transient_analysis"),
|
|
18145
18188
|
duration: ms.optional(),
|
|
18146
18189
|
startTime: ms.optional(),
|
|
18147
18190
|
timePerStep: ms.optional(),
|
|
18148
18191
|
spiceEngine: spiceEngine.optional(),
|
|
18149
18192
|
spiceOptions: spiceOptions.optional(),
|
|
18150
|
-
graphIndependentAxes:
|
|
18193
|
+
graphIndependentAxes: z92.boolean().optional()
|
|
18151
18194
|
});
|
|
18152
18195
|
expectTypesMatch(
|
|
18153
18196
|
true
|
|
@@ -18155,12 +18198,12 @@ expectTypesMatch(
|
|
|
18155
18198
|
|
|
18156
18199
|
// lib/components/analogtransientsimulation.ts
|
|
18157
18200
|
import { ms as ms2 } from "circuit-json";
|
|
18158
|
-
import { z as
|
|
18201
|
+
import { z as z93 } from "zod";
|
|
18159
18202
|
var positiveMilliseconds = ms2.refine(
|
|
18160
18203
|
(milliseconds) => milliseconds > 0,
|
|
18161
18204
|
"Time must be positive"
|
|
18162
18205
|
);
|
|
18163
|
-
var analogTransientSimulationProps =
|
|
18206
|
+
var analogTransientSimulationProps = z93.object({
|
|
18164
18207
|
...analogAnalysisSimulationBaseProps,
|
|
18165
18208
|
duration: positiveMilliseconds.default("10ms"),
|
|
18166
18209
|
startTime: ms2.default("0ms"),
|
|
@@ -18168,7 +18211,7 @@ var analogTransientSimulationProps = z92.object({
|
|
|
18168
18211
|
}).superRefine((simulation, context) => {
|
|
18169
18212
|
if (simulation.startTime < 0 || simulation.startTime > simulation.duration) {
|
|
18170
18213
|
context.addIssue({
|
|
18171
|
-
code:
|
|
18214
|
+
code: z93.ZodIssueCode.custom,
|
|
18172
18215
|
path: ["startTime"],
|
|
18173
18216
|
message: "startTime must be between zero and duration"
|
|
18174
18217
|
});
|
|
@@ -18177,19 +18220,19 @@ var analogTransientSimulationProps = z92.object({
|
|
|
18177
18220
|
expectTypesMatch(true);
|
|
18178
18221
|
|
|
18179
18222
|
// lib/components/analogdcoperatingpointsimulation.ts
|
|
18180
|
-
import { z as
|
|
18181
|
-
var analogDcOperatingPointSimulationProps =
|
|
18223
|
+
import { z as z94 } from "zod";
|
|
18224
|
+
var analogDcOperatingPointSimulationProps = z94.object({
|
|
18182
18225
|
...analogAnalysisSimulationBaseProps
|
|
18183
18226
|
});
|
|
18184
18227
|
expectTypesMatch(true);
|
|
18185
18228
|
|
|
18186
18229
|
// lib/components/analogdcsweepsimulation.ts
|
|
18187
18230
|
import { current, voltage as voltage3 } from "circuit-json";
|
|
18188
|
-
import { z as
|
|
18189
|
-
var dcSweepQuantity =
|
|
18190
|
-
var analogDcSweepSimulationProps =
|
|
18231
|
+
import { z as z95 } from "zod";
|
|
18232
|
+
var dcSweepQuantity = z95.union([voltage3, current]);
|
|
18233
|
+
var analogDcSweepSimulationProps = z95.object({
|
|
18191
18234
|
...analogAnalysisSimulationBaseProps,
|
|
18192
|
-
sweepSource:
|
|
18235
|
+
sweepSource: z95.string().min(1),
|
|
18193
18236
|
sweepStart: dcSweepQuantity,
|
|
18194
18237
|
sweepStop: dcSweepQuantity,
|
|
18195
18238
|
sweepStep: dcSweepQuantity.refine(
|
|
@@ -18199,7 +18242,7 @@ var analogDcSweepSimulationProps = z94.object({
|
|
|
18199
18242
|
}).superRefine((simulation, context) => {
|
|
18200
18243
|
if (Math.sign(simulation.sweepStop - simulation.sweepStart) !== Math.sign(simulation.sweepStep)) {
|
|
18201
18244
|
context.addIssue({
|
|
18202
|
-
code:
|
|
18245
|
+
code: z95.ZodIssueCode.custom,
|
|
18203
18246
|
path: ["sweepStep"],
|
|
18204
18247
|
message: "sweepStep must move from sweepStart toward sweepStop"
|
|
18205
18248
|
});
|
|
@@ -18209,10 +18252,10 @@ expectTypesMatch(true);
|
|
|
18209
18252
|
|
|
18210
18253
|
// lib/components/analogacsweepsimulation.ts
|
|
18211
18254
|
import { frequency as frequency3 } from "circuit-json";
|
|
18212
|
-
import { z as
|
|
18213
|
-
var analogAcSweepSimulationProps =
|
|
18255
|
+
import { z as z96 } from "zod";
|
|
18256
|
+
var analogAcSweepSimulationProps = z96.object({
|
|
18214
18257
|
...analogAnalysisSimulationBaseProps,
|
|
18215
|
-
sweepType:
|
|
18258
|
+
sweepType: z96.enum(["linear", "decade", "octave"]),
|
|
18216
18259
|
startFrequency: frequency3.refine(
|
|
18217
18260
|
(startFrequencyHz) => startFrequencyHz > 0,
|
|
18218
18261
|
"startFrequency must be positive"
|
|
@@ -18221,12 +18264,12 @@ var analogAcSweepSimulationProps = z95.object({
|
|
|
18221
18264
|
(stopFrequencyHz) => stopFrequencyHz > 0,
|
|
18222
18265
|
"stopFrequency must be positive"
|
|
18223
18266
|
),
|
|
18224
|
-
samplesPerInterval:
|
|
18225
|
-
sampleCount:
|
|
18267
|
+
samplesPerInterval: z96.number().int().positive().optional(),
|
|
18268
|
+
sampleCount: z96.number().int().positive().optional()
|
|
18226
18269
|
}).superRefine((simulation, context) => {
|
|
18227
18270
|
if (simulation.stopFrequency <= simulation.startFrequency) {
|
|
18228
18271
|
context.addIssue({
|
|
18229
|
-
code:
|
|
18272
|
+
code: z96.ZodIssueCode.custom,
|
|
18230
18273
|
path: ["stopFrequency"],
|
|
18231
18274
|
message: "stopFrequency must be greater than startFrequency"
|
|
18232
18275
|
});
|
|
@@ -18234,14 +18277,14 @@ var analogAcSweepSimulationProps = z95.object({
|
|
|
18234
18277
|
if (simulation.sweepType === "linear") {
|
|
18235
18278
|
if (simulation.sampleCount === void 0) {
|
|
18236
18279
|
context.addIssue({
|
|
18237
|
-
code:
|
|
18280
|
+
code: z96.ZodIssueCode.custom,
|
|
18238
18281
|
path: ["sampleCount"],
|
|
18239
18282
|
message: "sampleCount is required for a linear AC sweep"
|
|
18240
18283
|
});
|
|
18241
18284
|
}
|
|
18242
18285
|
if (simulation.samplesPerInterval !== void 0) {
|
|
18243
18286
|
context.addIssue({
|
|
18244
|
-
code:
|
|
18287
|
+
code: z96.ZodIssueCode.custom,
|
|
18245
18288
|
path: ["samplesPerInterval"],
|
|
18246
18289
|
message: "samplesPerInterval is only valid for decade or octave sweeps"
|
|
18247
18290
|
});
|
|
@@ -18250,14 +18293,14 @@ var analogAcSweepSimulationProps = z95.object({
|
|
|
18250
18293
|
}
|
|
18251
18294
|
if (simulation.samplesPerInterval === void 0) {
|
|
18252
18295
|
context.addIssue({
|
|
18253
|
-
code:
|
|
18296
|
+
code: z96.ZodIssueCode.custom,
|
|
18254
18297
|
path: ["samplesPerInterval"],
|
|
18255
18298
|
message: "samplesPerInterval is required for decade or octave sweeps"
|
|
18256
18299
|
});
|
|
18257
18300
|
}
|
|
18258
18301
|
if (simulation.sampleCount !== void 0) {
|
|
18259
18302
|
context.addIssue({
|
|
18260
|
-
code:
|
|
18303
|
+
code: z96.ZodIssueCode.custom,
|
|
18261
18304
|
path: ["sampleCount"],
|
|
18262
18305
|
message: "sampleCount is only valid for a linear sweep"
|
|
18263
18306
|
});
|
|
@@ -18273,43 +18316,43 @@ import {
|
|
|
18273
18316
|
resistance as resistance5,
|
|
18274
18317
|
voltage as voltage4
|
|
18275
18318
|
} from "circuit-json";
|
|
18276
|
-
import { z as
|
|
18277
|
-
var resistanceSweepQuantity = resistance5.pipe(
|
|
18278
|
-
var capacitanceSweepQuantity = capacitance4.pipe(
|
|
18279
|
-
var inductanceSweepQuantity = inductance.pipe(
|
|
18280
|
-
var voltageSweepQuantity = voltage4.pipe(
|
|
18281
|
-
var currentSweepQuantity = current2.pipe(
|
|
18319
|
+
import { z as z97 } from "zod";
|
|
18320
|
+
var resistanceSweepQuantity = resistance5.pipe(z97.number());
|
|
18321
|
+
var capacitanceSweepQuantity = capacitance4.pipe(z97.number());
|
|
18322
|
+
var inductanceSweepQuantity = inductance.pipe(z97.number());
|
|
18323
|
+
var voltageSweepQuantity = voltage4.pipe(z97.number());
|
|
18324
|
+
var currentSweepQuantity = current2.pipe(z97.number());
|
|
18282
18325
|
var createAnalogSweepCoordinateProps = (sweepQuantity) => ({
|
|
18283
|
-
name:
|
|
18284
|
-
values:
|
|
18326
|
+
name: z97.string().optional(),
|
|
18327
|
+
values: z97.array(sweepQuantity).min(1).optional(),
|
|
18285
18328
|
start: sweepQuantity.optional(),
|
|
18286
18329
|
stop: sweepQuantity.optional(),
|
|
18287
18330
|
step: sweepQuantity.optional()
|
|
18288
18331
|
});
|
|
18289
|
-
var analogResistanceSweepParameterProps =
|
|
18332
|
+
var analogResistanceSweepParameterProps = z97.object({
|
|
18290
18333
|
...createAnalogSweepCoordinateProps(resistanceSweepQuantity),
|
|
18291
|
-
parameterType:
|
|
18292
|
-
resistorRef:
|
|
18334
|
+
parameterType: z97.literal("resistance"),
|
|
18335
|
+
resistorRef: z97.string().min(1)
|
|
18293
18336
|
}).strict();
|
|
18294
|
-
var analogCapacitanceSweepParameterProps =
|
|
18337
|
+
var analogCapacitanceSweepParameterProps = z97.object({
|
|
18295
18338
|
...createAnalogSweepCoordinateProps(capacitanceSweepQuantity),
|
|
18296
|
-
parameterType:
|
|
18297
|
-
capacitorRef:
|
|
18339
|
+
parameterType: z97.literal("capacitance"),
|
|
18340
|
+
capacitorRef: z97.string().min(1)
|
|
18298
18341
|
}).strict();
|
|
18299
|
-
var analogInductanceSweepParameterProps =
|
|
18342
|
+
var analogInductanceSweepParameterProps = z97.object({
|
|
18300
18343
|
...createAnalogSweepCoordinateProps(inductanceSweepQuantity),
|
|
18301
|
-
parameterType:
|
|
18302
|
-
inductorRef:
|
|
18344
|
+
parameterType: z97.literal("inductance"),
|
|
18345
|
+
inductorRef: z97.string().min(1)
|
|
18303
18346
|
}).strict();
|
|
18304
|
-
var analogVoltageSweepParameterProps =
|
|
18347
|
+
var analogVoltageSweepParameterProps = z97.object({
|
|
18305
18348
|
...createAnalogSweepCoordinateProps(voltageSweepQuantity),
|
|
18306
|
-
parameterType:
|
|
18307
|
-
net:
|
|
18349
|
+
parameterType: z97.literal("voltage"),
|
|
18350
|
+
net: z97.string().min(1)
|
|
18308
18351
|
}).strict();
|
|
18309
|
-
var analogCurrentSweepParameterProps =
|
|
18352
|
+
var analogCurrentSweepParameterProps = z97.object({
|
|
18310
18353
|
...createAnalogSweepCoordinateProps(currentSweepQuantity),
|
|
18311
|
-
parameterType:
|
|
18312
|
-
currentSourceRef:
|
|
18354
|
+
parameterType: z97.literal("current"),
|
|
18355
|
+
currentSourceRef: z97.string().min(1)
|
|
18313
18356
|
}).strict();
|
|
18314
18357
|
var validateAnalogSweepCoordinates = (sweepCoordinates, context) => {
|
|
18315
18358
|
const hasExplicitSweepCoordinates = sweepCoordinates.values !== void 0;
|
|
@@ -18321,34 +18364,34 @@ var validateAnalogSweepCoordinates = (sweepCoordinates, context) => {
|
|
|
18321
18364
|
const hasRangeCoordinates = rangeCoordinateCount > 0;
|
|
18322
18365
|
if (hasExplicitSweepCoordinates === hasRangeCoordinates) {
|
|
18323
18366
|
context.addIssue({
|
|
18324
|
-
code:
|
|
18367
|
+
code: z97.ZodIssueCode.custom,
|
|
18325
18368
|
message: "Provide either values or start/stop/step"
|
|
18326
18369
|
});
|
|
18327
18370
|
return;
|
|
18328
18371
|
}
|
|
18329
18372
|
if (rangeCoordinateCount !== 0 && rangeCoordinateCount !== 3) {
|
|
18330
18373
|
context.addIssue({
|
|
18331
|
-
code:
|
|
18374
|
+
code: z97.ZodIssueCode.custom,
|
|
18332
18375
|
message: "start, stop, and step must be provided together"
|
|
18333
18376
|
});
|
|
18334
18377
|
return;
|
|
18335
18378
|
}
|
|
18336
18379
|
if (sweepCoordinates.step === 0) {
|
|
18337
18380
|
context.addIssue({
|
|
18338
|
-
code:
|
|
18381
|
+
code: z97.ZodIssueCode.custom,
|
|
18339
18382
|
path: ["step"],
|
|
18340
18383
|
message: "step must be nonzero"
|
|
18341
18384
|
});
|
|
18342
18385
|
}
|
|
18343
18386
|
if (sweepCoordinates.start !== void 0 && sweepCoordinates.stop !== void 0 && sweepCoordinates.step !== void 0 && Math.sign(sweepCoordinates.stop - sweepCoordinates.start) !== Math.sign(sweepCoordinates.step)) {
|
|
18344
18387
|
context.addIssue({
|
|
18345
|
-
code:
|
|
18388
|
+
code: z97.ZodIssueCode.custom,
|
|
18346
18389
|
path: ["step"],
|
|
18347
18390
|
message: "step must move from start toward stop"
|
|
18348
18391
|
});
|
|
18349
18392
|
}
|
|
18350
18393
|
};
|
|
18351
|
-
var analogSweepParameterProps =
|
|
18394
|
+
var analogSweepParameterProps = z97.discriminatedUnion("parameterType", [
|
|
18352
18395
|
analogResistanceSweepParameterProps,
|
|
18353
18396
|
analogCapacitanceSweepParameterProps,
|
|
18354
18397
|
analogInductanceSweepParameterProps,
|
|
@@ -18363,26 +18406,26 @@ expectTypesMatch(true);
|
|
|
18363
18406
|
expectTypesMatch(true);
|
|
18364
18407
|
|
|
18365
18408
|
// lib/components/autoroutingphase.ts
|
|
18366
|
-
import { z as
|
|
18367
|
-
var autoroutingPhaseProps =
|
|
18368
|
-
key:
|
|
18369
|
-
name:
|
|
18409
|
+
import { z as z98 } from "zod";
|
|
18410
|
+
var autoroutingPhaseProps = z98.object({
|
|
18411
|
+
key: z98.any().optional(),
|
|
18412
|
+
name: z98.string().optional(),
|
|
18370
18413
|
autorouter: autorouterProp.optional(),
|
|
18371
18414
|
algorithmFn: autorouterConfig.shape.algorithmFn,
|
|
18372
18415
|
preflightRoutingCheckPolicy: preflightRoutingCheckPolicy.optional(),
|
|
18373
|
-
phaseIndex:
|
|
18374
|
-
pcbTracePaths:
|
|
18416
|
+
phaseIndex: z98.number().optional(),
|
|
18417
|
+
pcbTracePaths: z98.array(fanoutTracePath).optional(),
|
|
18375
18418
|
...routingTolerances.shape,
|
|
18376
|
-
region:
|
|
18377
|
-
shape:
|
|
18378
|
-
minX:
|
|
18379
|
-
maxX:
|
|
18380
|
-
minY:
|
|
18381
|
-
maxY:
|
|
18419
|
+
region: z98.object({
|
|
18420
|
+
shape: z98.literal("rect").optional(),
|
|
18421
|
+
minX: z98.number(),
|
|
18422
|
+
maxX: z98.number(),
|
|
18423
|
+
minY: z98.number(),
|
|
18424
|
+
maxY: z98.number()
|
|
18382
18425
|
}).optional(),
|
|
18383
|
-
connection:
|
|
18384
|
-
connections:
|
|
18385
|
-
reroute:
|
|
18426
|
+
connection: z98.string().optional(),
|
|
18427
|
+
connections: z98.array(z98.string()).optional(),
|
|
18428
|
+
reroute: z98.boolean().optional(),
|
|
18386
18429
|
...fanoutProps.shape
|
|
18387
18430
|
}).superRefine((value, ctx) => {
|
|
18388
18431
|
const isSimplifyAutorouter = value.autorouter === "simplify" || typeof value.autorouter === "object" && value.autorouter?.preset === "simplify";
|
|
@@ -18393,7 +18436,7 @@ var autoroutingPhaseProps = z97.object({
|
|
|
18393
18436
|
}
|
|
18394
18437
|
if (value.reroute !== void 0 && !(isSimplifyAutorouter && value.reroute === true) && value.region === void 0 && value.connection === void 0 && value.connections === void 0) {
|
|
18395
18438
|
ctx.addIssue({
|
|
18396
|
-
code:
|
|
18439
|
+
code: z98.ZodIssueCode.custom,
|
|
18397
18440
|
message: "region, connection, or connections is required when reroute is provided",
|
|
18398
18441
|
path: ["region"]
|
|
18399
18442
|
});
|
|
@@ -18402,15 +18445,15 @@ var autoroutingPhaseProps = z97.object({
|
|
|
18402
18445
|
expectTypesMatch(true);
|
|
18403
18446
|
|
|
18404
18447
|
// lib/components/spicemodel.ts
|
|
18405
|
-
import { z as
|
|
18406
|
-
var spicemodelProps =
|
|
18407
|
-
source:
|
|
18408
|
-
spicePinMapping:
|
|
18448
|
+
import { z as z99 } from "zod";
|
|
18449
|
+
var spicemodelProps = z99.object({
|
|
18450
|
+
source: z99.string(),
|
|
18451
|
+
spicePinMapping: z99.record(z99.string(), z99.string()).optional()
|
|
18409
18452
|
});
|
|
18410
18453
|
expectTypesMatch(true);
|
|
18411
18454
|
|
|
18412
18455
|
// lib/components/transistor.ts
|
|
18413
|
-
import { z as
|
|
18456
|
+
import { z as z100 } from "zod";
|
|
18414
18457
|
var transistorPinsLabels = [
|
|
18415
18458
|
"pin1",
|
|
18416
18459
|
"pin2",
|
|
@@ -18423,7 +18466,7 @@ var transistorPinsLabels = [
|
|
|
18423
18466
|
"drain"
|
|
18424
18467
|
];
|
|
18425
18468
|
var transistorProps = commonComponentProps.extend({
|
|
18426
|
-
type:
|
|
18469
|
+
type: z100.enum(["npn", "pnp", "bjt", "jfet", "mosfet", "igbt"]),
|
|
18427
18470
|
connections: createConnectionsProp(transistorPinsLabels).optional()
|
|
18428
18471
|
});
|
|
18429
18472
|
var transistorPins = [
|
|
@@ -18437,7 +18480,7 @@ var transistorPins = [
|
|
|
18437
18480
|
expectTypesMatch(true);
|
|
18438
18481
|
|
|
18439
18482
|
// lib/components/mosfet.ts
|
|
18440
|
-
import { z as
|
|
18483
|
+
import { z as z101 } from "zod";
|
|
18441
18484
|
var mosfetPins = [
|
|
18442
18485
|
"pin1",
|
|
18443
18486
|
"drain",
|
|
@@ -18447,11 +18490,11 @@ var mosfetPins = [
|
|
|
18447
18490
|
"gate"
|
|
18448
18491
|
];
|
|
18449
18492
|
var mosfetProps = commonComponentProps.extend({
|
|
18450
|
-
channelType:
|
|
18451
|
-
mosfetMode:
|
|
18452
|
-
symbolDrainSide:
|
|
18453
|
-
symbolSourceSide:
|
|
18454
|
-
symbolGateSide:
|
|
18493
|
+
channelType: z101.enum(["n", "p"]),
|
|
18494
|
+
mosfetMode: z101.enum(["enhancement", "depletion"]),
|
|
18495
|
+
symbolDrainSide: z101.enum(["left", "right", "top", "bottom"]).optional(),
|
|
18496
|
+
symbolSourceSide: z101.enum(["left", "right", "top", "bottom"]).optional(),
|
|
18497
|
+
symbolGateSide: z101.enum(["left", "right", "top", "bottom"]).optional(),
|
|
18455
18498
|
connections: createConnectionsProp(mosfetPins).optional()
|
|
18456
18499
|
});
|
|
18457
18500
|
expectTypesMatch(true);
|
|
@@ -18473,29 +18516,29 @@ expectTypesMatch(true);
|
|
|
18473
18516
|
|
|
18474
18517
|
// lib/components/inductor.ts
|
|
18475
18518
|
import { inductance as inductance2 } from "circuit-json";
|
|
18476
|
-
import { z as
|
|
18519
|
+
import { z as z103 } from "zod";
|
|
18477
18520
|
var inductorPins = lrPins;
|
|
18478
18521
|
var inductorProps = commonComponentProps.extend({
|
|
18479
18522
|
inductance: inductance2,
|
|
18480
|
-
maxCurrentRating:
|
|
18523
|
+
maxCurrentRating: z103.union([z103.string(), z103.number()]).optional(),
|
|
18481
18524
|
schOrientation: schematicOrientation.optional(),
|
|
18482
18525
|
connections: createConnectionsProp(inductorPins).optional()
|
|
18483
18526
|
});
|
|
18484
18527
|
expectTypesMatch(true);
|
|
18485
18528
|
|
|
18486
18529
|
// lib/components/internal-circuit.ts
|
|
18487
|
-
import { z as
|
|
18488
|
-
var internalCircuitProps =
|
|
18489
|
-
children:
|
|
18530
|
+
import { z as z104 } from "zod";
|
|
18531
|
+
var internalCircuitProps = z104.object({
|
|
18532
|
+
children: z104.custom().optional()
|
|
18490
18533
|
});
|
|
18491
18534
|
expectTypesMatch(
|
|
18492
18535
|
true
|
|
18493
18536
|
);
|
|
18494
18537
|
|
|
18495
18538
|
// lib/components/diode.ts
|
|
18496
|
-
import { z as
|
|
18539
|
+
import { z as z105 } from "zod";
|
|
18497
18540
|
var diodePins = lrPolarPins;
|
|
18498
|
-
var diodeConnectionKeys =
|
|
18541
|
+
var diodeConnectionKeys = z105.enum([
|
|
18499
18542
|
"anode",
|
|
18500
18543
|
"cathode",
|
|
18501
18544
|
"pin1",
|
|
@@ -18503,13 +18546,13 @@ var diodeConnectionKeys = z104.enum([
|
|
|
18503
18546
|
"pos",
|
|
18504
18547
|
"neg"
|
|
18505
18548
|
]);
|
|
18506
|
-
var connectionTarget3 =
|
|
18507
|
-
var connectionsProp2 =
|
|
18508
|
-
var diodePinLabelsProp =
|
|
18509
|
-
|
|
18510
|
-
schematicPinLabel.or(
|
|
18549
|
+
var connectionTarget3 = z105.string().or(z105.array(z105.string()).readonly()).or(z105.array(z105.string()));
|
|
18550
|
+
var connectionsProp2 = z105.record(diodeConnectionKeys, connectionTarget3);
|
|
18551
|
+
var diodePinLabelsProp = z105.record(
|
|
18552
|
+
z105.enum(diodePins),
|
|
18553
|
+
schematicPinLabel.or(z105.array(schematicPinLabel).readonly()).or(z105.array(schematicPinLabel))
|
|
18511
18554
|
);
|
|
18512
|
-
var diodeVariant =
|
|
18555
|
+
var diodeVariant = z105.enum([
|
|
18513
18556
|
"standard",
|
|
18514
18557
|
"schottky",
|
|
18515
18558
|
"zener",
|
|
@@ -18520,12 +18563,12 @@ var diodeVariant = z104.enum([
|
|
|
18520
18563
|
var diodeProps = commonComponentProps.extend({
|
|
18521
18564
|
connections: connectionsProp2.optional(),
|
|
18522
18565
|
variant: diodeVariant.optional().default("standard"),
|
|
18523
|
-
standard:
|
|
18524
|
-
schottky:
|
|
18525
|
-
zener:
|
|
18526
|
-
avalanche:
|
|
18527
|
-
photo:
|
|
18528
|
-
tvs:
|
|
18566
|
+
standard: z105.boolean().optional(),
|
|
18567
|
+
schottky: z105.boolean().optional(),
|
|
18568
|
+
zener: z105.boolean().optional(),
|
|
18569
|
+
avalanche: z105.boolean().optional(),
|
|
18570
|
+
photo: z105.boolean().optional(),
|
|
18571
|
+
tvs: z105.boolean().optional(),
|
|
18529
18572
|
schOrientation: schematicOrientation.optional(),
|
|
18530
18573
|
schSize: schematicSymbolSize.optional(),
|
|
18531
18574
|
pinLabels: diodePinLabelsProp.optional()
|
|
@@ -18540,11 +18583,11 @@ var diodeProps = commonComponentProps.extend({
|
|
|
18540
18583
|
].filter(Boolean).length;
|
|
18541
18584
|
if (enabledFlags > 1) {
|
|
18542
18585
|
ctx.addIssue({
|
|
18543
|
-
code:
|
|
18586
|
+
code: z105.ZodIssueCode.custom,
|
|
18544
18587
|
message: "Exactly one diode variant must be enabled",
|
|
18545
18588
|
path: []
|
|
18546
18589
|
});
|
|
18547
|
-
return
|
|
18590
|
+
return z105.INVALID;
|
|
18548
18591
|
}
|
|
18549
18592
|
}).transform((data) => {
|
|
18550
18593
|
const result = {
|
|
@@ -18590,18 +18633,18 @@ var diodeProps = commonComponentProps.extend({
|
|
|
18590
18633
|
expectTypesMatch(true);
|
|
18591
18634
|
|
|
18592
18635
|
// lib/components/led.ts
|
|
18593
|
-
import { z as
|
|
18594
|
-
var legacyNumericLedPinLabelsProp =
|
|
18595
|
-
|
|
18596
|
-
schematicPinLabel.or(
|
|
18636
|
+
import { z as z106 } from "zod";
|
|
18637
|
+
var legacyNumericLedPinLabelsProp = z106.record(
|
|
18638
|
+
z106.enum(["1", "2"]),
|
|
18639
|
+
schematicPinLabel.or(z106.array(schematicPinLabel).readonly()).or(z106.array(schematicPinLabel))
|
|
18597
18640
|
).transform((pinLabels) => ({
|
|
18598
18641
|
...pinLabels["1"] === void 0 ? {} : { pin1: pinLabels["1"] },
|
|
18599
18642
|
...pinLabels["2"] === void 0 ? {} : { pin2: pinLabels["2"] }
|
|
18600
18643
|
}));
|
|
18601
18644
|
var ledProps = commonComponentProps.extend({
|
|
18602
|
-
color:
|
|
18603
|
-
wavelength:
|
|
18604
|
-
schDisplayValue:
|
|
18645
|
+
color: z106.string().optional(),
|
|
18646
|
+
wavelength: z106.string().optional(),
|
|
18647
|
+
schDisplayValue: z106.string().optional(),
|
|
18605
18648
|
schOrientation: schematicOrientation.optional(),
|
|
18606
18649
|
/** Select a compact schematic symbol; omitted, default, and md retain the standard symbol. */
|
|
18607
18650
|
schSize: schematicSymbolSize.optional(),
|
|
@@ -18609,28 +18652,28 @@ var ledProps = commonComponentProps.extend({
|
|
|
18609
18652
|
// wrappers, then normalized to the canonical pin1/pin2 representation.
|
|
18610
18653
|
pinLabels: diodePinLabelsProp.or(legacyNumericLedPinLabelsProp).optional(),
|
|
18611
18654
|
connections: createConnectionsProp(lrPolarPins).optional(),
|
|
18612
|
-
laser:
|
|
18655
|
+
laser: z106.boolean().optional()
|
|
18613
18656
|
});
|
|
18614
18657
|
var ledPins = lrPolarPins;
|
|
18615
18658
|
|
|
18616
18659
|
// lib/components/switch.ts
|
|
18617
18660
|
import { ms as ms3, frequency as frequency4 } from "circuit-json";
|
|
18618
|
-
import { z as
|
|
18661
|
+
import { z as z107 } from "zod";
|
|
18619
18662
|
var switchProps = commonComponentProps.extend({
|
|
18620
|
-
type:
|
|
18621
|
-
isNormallyClosed:
|
|
18622
|
-
spst:
|
|
18623
|
-
spdt:
|
|
18624
|
-
dpst:
|
|
18625
|
-
dpdt:
|
|
18663
|
+
type: z107.enum(["spst", "spdt", "dpst", "dpdt"]).optional(),
|
|
18664
|
+
isNormallyClosed: z107.boolean().optional().default(false),
|
|
18665
|
+
spst: z107.boolean().optional(),
|
|
18666
|
+
spdt: z107.boolean().optional(),
|
|
18667
|
+
dpst: z107.boolean().optional(),
|
|
18668
|
+
dpdt: z107.boolean().optional(),
|
|
18626
18669
|
pinLabels: pinLabelsProp.optional(),
|
|
18627
18670
|
noConnect: noConnectProp.optional(),
|
|
18628
18671
|
simSwitchFrequency: frequency4.optional(),
|
|
18629
18672
|
simCloseAt: ms3.optional(),
|
|
18630
18673
|
simOpenAt: ms3.optional(),
|
|
18631
|
-
simStartClosed:
|
|
18632
|
-
simStartOpen:
|
|
18633
|
-
connections:
|
|
18674
|
+
simStartClosed: z107.boolean().optional(),
|
|
18675
|
+
simStartOpen: z107.boolean().optional(),
|
|
18676
|
+
connections: z107.custom().pipe(z107.record(z107.string(), connectionTarget)).optional()
|
|
18634
18677
|
}).transform((props) => {
|
|
18635
18678
|
const updatedProps = { ...props };
|
|
18636
18679
|
if (updatedProps.dpdt) {
|
|
@@ -18662,33 +18705,33 @@ expectTypesMatch(true);
|
|
|
18662
18705
|
|
|
18663
18706
|
// lib/components/fabrication-note-text.ts
|
|
18664
18707
|
import { length as length4 } from "circuit-json";
|
|
18665
|
-
import { z as
|
|
18708
|
+
import { z as z108 } from "zod";
|
|
18666
18709
|
var fabricationNoteTextProps = pcbLayoutProps.extend({
|
|
18667
|
-
text:
|
|
18668
|
-
anchorAlignment:
|
|
18669
|
-
font:
|
|
18710
|
+
text: z108.string(),
|
|
18711
|
+
anchorAlignment: z108.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
18712
|
+
font: z108.enum(["tscircuit2024"]).optional(),
|
|
18670
18713
|
fontSize: length4.optional(),
|
|
18671
|
-
color:
|
|
18714
|
+
color: z108.string().optional()
|
|
18672
18715
|
});
|
|
18673
18716
|
expectTypesMatch(true);
|
|
18674
18717
|
|
|
18675
18718
|
// lib/components/fabrication-note-rect.ts
|
|
18676
18719
|
import { distance as distance23 } from "circuit-json";
|
|
18677
|
-
import { z as
|
|
18720
|
+
import { z as z109 } from "zod";
|
|
18678
18721
|
var fabricationNoteRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
18679
18722
|
width: distance23,
|
|
18680
18723
|
height: distance23,
|
|
18681
18724
|
strokeWidth: distance23.optional(),
|
|
18682
|
-
isFilled:
|
|
18683
|
-
hasStroke:
|
|
18684
|
-
isStrokeDashed:
|
|
18685
|
-
color:
|
|
18725
|
+
isFilled: z109.boolean().optional(),
|
|
18726
|
+
hasStroke: z109.boolean().optional(),
|
|
18727
|
+
isStrokeDashed: z109.boolean().optional(),
|
|
18728
|
+
color: z109.string().optional(),
|
|
18686
18729
|
cornerRadius: distance23.optional()
|
|
18687
18730
|
});
|
|
18688
18731
|
|
|
18689
18732
|
// lib/components/fabrication-note-path.ts
|
|
18690
18733
|
import { length as length5, route_hint_point as route_hint_point3 } from "circuit-json";
|
|
18691
|
-
import { z as
|
|
18734
|
+
import { z as z110 } from "zod";
|
|
18692
18735
|
var fabricationNotePathProps = pcbLayoutProps.omit({
|
|
18693
18736
|
pcbLeftEdgeX: true,
|
|
18694
18737
|
pcbRightEdgeX: true,
|
|
@@ -18700,15 +18743,15 @@ var fabricationNotePathProps = pcbLayoutProps.omit({
|
|
|
18700
18743
|
pcbOffsetY: true,
|
|
18701
18744
|
pcbRotation: true
|
|
18702
18745
|
}).extend({
|
|
18703
|
-
route:
|
|
18746
|
+
route: z110.array(route_hint_point3),
|
|
18704
18747
|
strokeWidth: length5.optional(),
|
|
18705
|
-
color:
|
|
18748
|
+
color: z110.string().optional()
|
|
18706
18749
|
});
|
|
18707
18750
|
|
|
18708
18751
|
// lib/components/fabrication-note-dimension.ts
|
|
18709
18752
|
import { distance as distance24, length as length6 } from "circuit-json";
|
|
18710
|
-
import { z as
|
|
18711
|
-
var dimensionTarget =
|
|
18753
|
+
import { z as z111 } from "zod";
|
|
18754
|
+
var dimensionTarget = z111.union([z111.string(), point]);
|
|
18712
18755
|
var fabricationNoteDimensionProps = pcbLayoutProps.omit({
|
|
18713
18756
|
pcbLeftEdgeX: true,
|
|
18714
18757
|
pcbRightEdgeX: true,
|
|
@@ -18722,44 +18765,44 @@ var fabricationNoteDimensionProps = pcbLayoutProps.omit({
|
|
|
18722
18765
|
}).extend({
|
|
18723
18766
|
from: dimensionTarget,
|
|
18724
18767
|
to: dimensionTarget,
|
|
18725
|
-
text:
|
|
18768
|
+
text: z111.string().optional(),
|
|
18726
18769
|
offset: distance24.optional(),
|
|
18727
|
-
offsetDirection:
|
|
18728
|
-
font:
|
|
18770
|
+
offsetDirection: z111.object({ x: z111.number().finite(), y: z111.number().finite() }).optional(),
|
|
18771
|
+
font: z111.enum(["tscircuit2024"]).optional(),
|
|
18729
18772
|
fontSize: length6.optional(),
|
|
18730
|
-
color:
|
|
18773
|
+
color: z111.string().optional(),
|
|
18731
18774
|
arrowSize: distance24.optional(),
|
|
18732
|
-
units:
|
|
18733
|
-
outerEdgeToEdge:
|
|
18734
|
-
centerToCenter:
|
|
18735
|
-
innerEdgeToEdge:
|
|
18775
|
+
units: z111.enum(["in", "mm"]).optional(),
|
|
18776
|
+
outerEdgeToEdge: z111.literal(true).optional(),
|
|
18777
|
+
centerToCenter: z111.literal(true).optional(),
|
|
18778
|
+
innerEdgeToEdge: z111.literal(true).optional()
|
|
18736
18779
|
});
|
|
18737
18780
|
expectTypesMatch(true);
|
|
18738
18781
|
|
|
18739
18782
|
// lib/components/pcb-trace.ts
|
|
18740
18783
|
import { distance as distance25, route_hint_point as route_hint_point4 } from "circuit-json";
|
|
18741
|
-
import { z as
|
|
18742
|
-
var pcbTraceProps =
|
|
18743
|
-
layer:
|
|
18784
|
+
import { z as z112 } from "zod";
|
|
18785
|
+
var pcbTraceProps = z112.object({
|
|
18786
|
+
layer: z112.string().optional(),
|
|
18744
18787
|
thickness: distance25.optional(),
|
|
18745
|
-
route:
|
|
18788
|
+
route: z112.array(route_hint_point4)
|
|
18746
18789
|
});
|
|
18747
18790
|
|
|
18748
18791
|
// lib/components/via.ts
|
|
18749
18792
|
import { distance as distance26, layer_ref as layer_ref9 } from "circuit-json";
|
|
18750
|
-
import { z as
|
|
18793
|
+
import { z as z113 } from "zod";
|
|
18751
18794
|
var viaProps = commonLayoutProps.extend({
|
|
18752
|
-
name:
|
|
18795
|
+
name: z113.string().optional(),
|
|
18753
18796
|
fromLayer: layer_ref9.optional(),
|
|
18754
18797
|
toLayer: layer_ref9.optional(),
|
|
18755
18798
|
holeDiameter: distance26.optional(),
|
|
18756
18799
|
outerDiameter: distance26.optional(),
|
|
18757
|
-
layers:
|
|
18758
|
-
connectsTo:
|
|
18759
|
-
netIsAssignable:
|
|
18760
|
-
tented:
|
|
18761
|
-
|
|
18762
|
-
|
|
18800
|
+
layers: z113.array(layer_ref9).optional(),
|
|
18801
|
+
connectsTo: z113.string().or(z113.array(z113.string())).optional(),
|
|
18802
|
+
netIsAssignable: z113.boolean().optional(),
|
|
18803
|
+
tented: z113.union([
|
|
18804
|
+
z113.boolean(),
|
|
18805
|
+
z113.enum([
|
|
18763
18806
|
"both_sides",
|
|
18764
18807
|
"top_and_bottom_tented",
|
|
18765
18808
|
"top_tented",
|
|
@@ -18778,15 +18821,15 @@ expectTypesMatch(true);
|
|
|
18778
18821
|
|
|
18779
18822
|
// lib/components/testpoint.ts
|
|
18780
18823
|
import { distance as distance27 } from "circuit-json";
|
|
18781
|
-
import { z as
|
|
18824
|
+
import { z as z114 } from "zod";
|
|
18782
18825
|
var testpointPins = ["pin1"];
|
|
18783
|
-
var testpointConnectionsProp =
|
|
18826
|
+
var testpointConnectionsProp = z114.object({
|
|
18784
18827
|
pin1: connectionTarget
|
|
18785
18828
|
}).strict();
|
|
18786
18829
|
var testpointProps = commonComponentProps.extend({
|
|
18787
18830
|
connections: testpointConnectionsProp.optional(),
|
|
18788
|
-
footprintVariant:
|
|
18789
|
-
padShape:
|
|
18831
|
+
footprintVariant: z114.enum(["pad", "through_hole"]).optional(),
|
|
18832
|
+
padShape: z114.enum(["rect", "circle"]).optional().default("circle"),
|
|
18790
18833
|
padDiameter: distance27.optional(),
|
|
18791
18834
|
holeDiameter: distance27.optional(),
|
|
18792
18835
|
width: distance27.optional(),
|
|
@@ -18798,42 +18841,42 @@ var testpointProps = commonComponentProps.extend({
|
|
|
18798
18841
|
expectTypesMatch(true);
|
|
18799
18842
|
|
|
18800
18843
|
// lib/components/breakoutpoint.ts
|
|
18801
|
-
import { z as
|
|
18844
|
+
import { z as z115 } from "zod";
|
|
18802
18845
|
var breakoutPointProps = pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
18803
|
-
connection:
|
|
18846
|
+
connection: z115.string()
|
|
18804
18847
|
});
|
|
18805
18848
|
expectTypesMatch(true);
|
|
18806
18849
|
|
|
18807
18850
|
// lib/components/pcb-keepout.ts
|
|
18808
18851
|
import { distance as distance28, layer_ref as layer_ref10 } from "circuit-json";
|
|
18809
|
-
import { z as
|
|
18810
|
-
var pcbKeepoutProps =
|
|
18852
|
+
import { z as z116 } from "zod";
|
|
18853
|
+
var pcbKeepoutProps = z116.union([
|
|
18811
18854
|
pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
18812
|
-
shape:
|
|
18855
|
+
shape: z116.literal("circle"),
|
|
18813
18856
|
radius: distance28,
|
|
18814
|
-
layers:
|
|
18857
|
+
layers: z116.array(layer_ref10).optional(),
|
|
18815
18858
|
/** Report keepout violations as warnings when true. Omit for normal enforcement. */
|
|
18816
|
-
warningOnly:
|
|
18859
|
+
warningOnly: z116.boolean().optional(),
|
|
18817
18860
|
/** Allow trace crossings without keepout diagnostics. False or omitted retains enforcement; copper pours remain excluded. */
|
|
18818
|
-
allowTraces:
|
|
18861
|
+
allowTraces: z116.boolean().optional(),
|
|
18819
18862
|
/** Allow components and their pads/plated holes without keepout diagnostics. False or omitted retains enforcement; copper pours remain excluded. */
|
|
18820
|
-
allowPlacements:
|
|
18821
|
-
excludeRefs:
|
|
18863
|
+
allowPlacements: z116.boolean().optional(),
|
|
18864
|
+
excludeRefs: z116.array(z116.string()).optional().describe(
|
|
18822
18865
|
'Component selectors excluded from the keepout, such as ".ANT1"'
|
|
18823
18866
|
)
|
|
18824
18867
|
}),
|
|
18825
18868
|
pcbLayoutProps.extend({
|
|
18826
|
-
shape:
|
|
18869
|
+
shape: z116.literal("rect"),
|
|
18827
18870
|
width: distance28,
|
|
18828
18871
|
height: distance28,
|
|
18829
|
-
layers:
|
|
18872
|
+
layers: z116.array(layer_ref10).optional(),
|
|
18830
18873
|
/** Report keepout violations as warnings when true. Omit for normal enforcement. */
|
|
18831
|
-
warningOnly:
|
|
18874
|
+
warningOnly: z116.boolean().optional(),
|
|
18832
18875
|
/** Allow trace crossings without keepout diagnostics. False or omitted retains enforcement; copper pours remain excluded. */
|
|
18833
|
-
allowTraces:
|
|
18876
|
+
allowTraces: z116.boolean().optional(),
|
|
18834
18877
|
/** Allow components and their pads/plated holes without keepout diagnostics. False or omitted retains enforcement; copper pours remain excluded. */
|
|
18835
|
-
allowPlacements:
|
|
18836
|
-
excludeRefs:
|
|
18878
|
+
allowPlacements: z116.boolean().optional(),
|
|
18879
|
+
excludeRefs: z116.array(z116.string()).optional().describe(
|
|
18837
18880
|
'Component selectors excluded from the keepout, such as ".ANT1"'
|
|
18838
18881
|
)
|
|
18839
18882
|
})
|
|
@@ -18841,20 +18884,20 @@ var pcbKeepoutProps = z115.union([
|
|
|
18841
18884
|
|
|
18842
18885
|
// lib/components/courtyard-rect.ts
|
|
18843
18886
|
import { distance as distance29 } from "circuit-json";
|
|
18844
|
-
import { z as
|
|
18887
|
+
import { z as z117 } from "zod";
|
|
18845
18888
|
var courtyardRectProps = pcbLayoutProps.extend({
|
|
18846
18889
|
width: distance29,
|
|
18847
18890
|
height: distance29,
|
|
18848
18891
|
strokeWidth: distance29.optional(),
|
|
18849
|
-
isFilled:
|
|
18850
|
-
hasStroke:
|
|
18851
|
-
isStrokeDashed:
|
|
18852
|
-
color:
|
|
18892
|
+
isFilled: z117.boolean().optional(),
|
|
18893
|
+
hasStroke: z117.boolean().optional(),
|
|
18894
|
+
isStrokeDashed: z117.boolean().optional(),
|
|
18895
|
+
color: z117.string().optional()
|
|
18853
18896
|
});
|
|
18854
18897
|
|
|
18855
18898
|
// lib/components/courtyard-outline.ts
|
|
18856
18899
|
import { length as length7 } from "circuit-json";
|
|
18857
|
-
import { z as
|
|
18900
|
+
import { z as z118 } from "zod";
|
|
18858
18901
|
var courtyardOutlineProps = pcbLayoutProps.omit({
|
|
18859
18902
|
pcbLeftEdgeX: true,
|
|
18860
18903
|
pcbRightEdgeX: true,
|
|
@@ -18866,11 +18909,11 @@ var courtyardOutlineProps = pcbLayoutProps.omit({
|
|
|
18866
18909
|
pcbOffsetY: true,
|
|
18867
18910
|
pcbRotation: true
|
|
18868
18911
|
}).extend({
|
|
18869
|
-
outline:
|
|
18912
|
+
outline: z118.array(point),
|
|
18870
18913
|
strokeWidth: length7.optional(),
|
|
18871
|
-
isClosed:
|
|
18872
|
-
isStrokeDashed:
|
|
18873
|
-
color:
|
|
18914
|
+
isClosed: z118.boolean().optional(),
|
|
18915
|
+
isStrokeDashed: z118.boolean().optional(),
|
|
18916
|
+
color: z118.string().optional()
|
|
18874
18917
|
});
|
|
18875
18918
|
|
|
18876
18919
|
// lib/components/courtyard-circle.ts
|
|
@@ -18890,16 +18933,16 @@ var courtyardPillProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
|
18890
18933
|
});
|
|
18891
18934
|
|
|
18892
18935
|
// lib/components/copper-pour.ts
|
|
18893
|
-
import { z as
|
|
18936
|
+
import { z as z121 } from "zod";
|
|
18894
18937
|
import { layer_ref as layer_ref11 } from "circuit-json";
|
|
18895
|
-
var copperPourProps =
|
|
18896
|
-
name:
|
|
18938
|
+
var copperPourProps = z121.object({
|
|
18939
|
+
name: z121.string().optional(),
|
|
18897
18940
|
layer: layer_ref11,
|
|
18898
|
-
connectsTo:
|
|
18899
|
-
crosshatch:
|
|
18900
|
-
crosshatchPitch: distance.pipe(
|
|
18901
|
-
crosshatchWidth: distance.pipe(
|
|
18902
|
-
unbroken:
|
|
18941
|
+
connectsTo: z121.string(),
|
|
18942
|
+
crosshatch: z121.boolean().optional(),
|
|
18943
|
+
crosshatchPitch: distance.pipe(z121.number().finite().positive()).optional(),
|
|
18944
|
+
crosshatchWidth: distance.pipe(z121.number().finite().positive()).optional(),
|
|
18945
|
+
unbroken: z121.boolean().optional().describe(
|
|
18903
18946
|
"Reserves the pour region during autorouting so unrelated traces do not split it. Vias may still cross the region using antipads."
|
|
18904
18947
|
),
|
|
18905
18948
|
padMargin: distance.optional(),
|
|
@@ -18907,13 +18950,13 @@ var copperPourProps = z120.object({
|
|
|
18907
18950
|
clearance: distance.optional(),
|
|
18908
18951
|
boardEdgeMargin: distance.optional(),
|
|
18909
18952
|
cutoutMargin: distance.optional(),
|
|
18910
|
-
useThermalReliefs:
|
|
18911
|
-
outline:
|
|
18912
|
-
coveredWithSolderMask:
|
|
18953
|
+
useThermalReliefs: z121.boolean().optional(),
|
|
18954
|
+
outline: z121.array(point).optional(),
|
|
18955
|
+
coveredWithSolderMask: z121.boolean().optional().default(true)
|
|
18913
18956
|
}).superRefine((props, ctx) => {
|
|
18914
18957
|
if (props.crosshatch && (props.crosshatchWidth ?? 0.25) >= (props.crosshatchPitch ?? 1)) {
|
|
18915
18958
|
ctx.addIssue({
|
|
18916
|
-
code:
|
|
18959
|
+
code: z121.ZodIssueCode.custom,
|
|
18917
18960
|
path: ["crosshatchWidth"],
|
|
18918
18961
|
message: "crosshatchWidth must be less than crosshatchPitch"
|
|
18919
18962
|
});
|
|
@@ -18923,16 +18966,16 @@ expectTypesMatch(true);
|
|
|
18923
18966
|
|
|
18924
18967
|
// lib/components/cadassembly.ts
|
|
18925
18968
|
import { layer_ref as layer_ref12 } from "circuit-json";
|
|
18926
|
-
import { z as
|
|
18927
|
-
var cadassemblyProps =
|
|
18969
|
+
import { z as z122 } from "zod";
|
|
18970
|
+
var cadassemblyProps = z122.object({
|
|
18928
18971
|
originalLayer: layer_ref12.default("top").optional(),
|
|
18929
|
-
children:
|
|
18972
|
+
children: z122.any().optional()
|
|
18930
18973
|
});
|
|
18931
18974
|
expectTypesMatch(true);
|
|
18932
18975
|
|
|
18933
18976
|
// lib/components/cadmodel.ts
|
|
18934
|
-
import { z as
|
|
18935
|
-
var pcbPosition =
|
|
18977
|
+
import { z as z123 } from "zod";
|
|
18978
|
+
var pcbPosition = z123.object({
|
|
18936
18979
|
pcbX: pcbCoordinate.optional(),
|
|
18937
18980
|
pcbY: pcbCoordinate.optional(),
|
|
18938
18981
|
pcbLeftEdgeX: pcbCoordinate.optional(),
|
|
@@ -18949,7 +18992,7 @@ var cadModelBaseWithUrl = cadModelBase.extend({
|
|
|
18949
18992
|
});
|
|
18950
18993
|
var cadModelObject = cadModelBaseWithUrl.merge(pcbPosition);
|
|
18951
18994
|
expectTypesMatch(true);
|
|
18952
|
-
var cadmodelProps =
|
|
18995
|
+
var cadmodelProps = z123.union([z123.null(), url, cadModelObject]);
|
|
18953
18996
|
|
|
18954
18997
|
// lib/components/power-source.ts
|
|
18955
18998
|
import { voltage as voltage5 } from "circuit-json";
|
|
@@ -18959,9 +19002,9 @@ var powerSourceProps = commonComponentProps.extend({
|
|
|
18959
19002
|
|
|
18960
19003
|
// lib/components/voltagesource.ts
|
|
18961
19004
|
import { frequency as frequency5, ms as ms4, rotation as rotation6, voltage as voltage6 } from "circuit-json";
|
|
18962
|
-
import { z as
|
|
19005
|
+
import { z as z124 } from "zod";
|
|
18963
19006
|
var voltageSourcePinLabels = ["pin1", "pin2", "pos", "neg"];
|
|
18964
|
-
var percentage =
|
|
19007
|
+
var percentage = z124.union([z124.string(), z124.number()]).transform((val) => {
|
|
18965
19008
|
if (typeof val === "string") {
|
|
18966
19009
|
if (val.endsWith("%")) {
|
|
18967
19010
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -18970,13 +19013,13 @@ var percentage = z123.union([z123.string(), z123.number()]).transform((val) => {
|
|
|
18970
19013
|
}
|
|
18971
19014
|
return val;
|
|
18972
19015
|
}).pipe(
|
|
18973
|
-
|
|
19016
|
+
z124.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
18974
19017
|
);
|
|
18975
19018
|
var voltageSourceProps = commonComponentProps.extend({
|
|
18976
19019
|
voltage: voltage6.optional(),
|
|
18977
19020
|
frequency: frequency5.optional(),
|
|
18978
19021
|
peakToPeakVoltage: voltage6.optional(),
|
|
18979
|
-
waveShape:
|
|
19022
|
+
waveShape: z124.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
|
|
18980
19023
|
phase: rotation6.optional(),
|
|
18981
19024
|
dutyCycle: percentage.optional(),
|
|
18982
19025
|
pulseDelay: ms4.optional(),
|
|
@@ -18993,9 +19036,9 @@ expectTypesMatch(true);
|
|
|
18993
19036
|
|
|
18994
19037
|
// lib/components/currentsource.ts
|
|
18995
19038
|
import { frequency as frequency6, rotation as rotation7, current as current3 } from "circuit-json";
|
|
18996
|
-
import { z as
|
|
19039
|
+
import { z as z125 } from "zod";
|
|
18997
19040
|
var currentSourcePinLabels = ["pin1", "pin2", "pos", "neg"];
|
|
18998
|
-
var percentage2 =
|
|
19041
|
+
var percentage2 = z125.union([z125.string(), z125.number()]).transform((val) => {
|
|
18999
19042
|
if (typeof val === "string") {
|
|
19000
19043
|
if (val.endsWith("%")) {
|
|
19001
19044
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -19004,13 +19047,13 @@ var percentage2 = z124.union([z124.string(), z124.number()]).transform((val) =>
|
|
|
19004
19047
|
}
|
|
19005
19048
|
return val;
|
|
19006
19049
|
}).pipe(
|
|
19007
|
-
|
|
19050
|
+
z125.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
19008
19051
|
);
|
|
19009
19052
|
var currentSourceProps = commonComponentProps.extend({
|
|
19010
19053
|
current: current3.optional(),
|
|
19011
19054
|
frequency: frequency6.optional(),
|
|
19012
19055
|
peakToPeakCurrent: current3.optional(),
|
|
19013
|
-
waveShape:
|
|
19056
|
+
waveShape: z125.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
|
|
19014
19057
|
phase: rotation7.optional(),
|
|
19015
19058
|
dutyCycle: percentage2.optional(),
|
|
19016
19059
|
acMagnitude: current3.optional(),
|
|
@@ -19021,21 +19064,21 @@ var currentSourcePins = lrPolarPins;
|
|
|
19021
19064
|
expectTypesMatch(true);
|
|
19022
19065
|
|
|
19023
19066
|
// lib/components/voltageprobe.ts
|
|
19024
|
-
import { z as
|
|
19067
|
+
import { z as z126 } from "zod";
|
|
19025
19068
|
var voltageProbeProps = commonComponentProps.omit({ name: true }).extend({
|
|
19026
|
-
name:
|
|
19027
|
-
connectsTo:
|
|
19028
|
-
referenceTo:
|
|
19029
|
-
color:
|
|
19030
|
-
graphDisplayName:
|
|
19031
|
-
graphCenter:
|
|
19032
|
-
graphVerticalOffset:
|
|
19033
|
-
graphVoltagePerDiv:
|
|
19069
|
+
name: z126.string().optional(),
|
|
19070
|
+
connectsTo: z126.string(),
|
|
19071
|
+
referenceTo: z126.string().optional(),
|
|
19072
|
+
color: z126.string().optional(),
|
|
19073
|
+
graphDisplayName: z126.string().optional(),
|
|
19074
|
+
graphCenter: z126.number().optional(),
|
|
19075
|
+
graphVerticalOffset: z126.number().or(z126.string()).optional(),
|
|
19076
|
+
graphVoltagePerDiv: z126.number().or(z126.string()).optional()
|
|
19034
19077
|
});
|
|
19035
19078
|
expectTypesMatch(true);
|
|
19036
19079
|
|
|
19037
19080
|
// lib/components/ammeter.ts
|
|
19038
|
-
import { z as
|
|
19081
|
+
import { z as z127 } from "zod";
|
|
19039
19082
|
var ammeterPinLabels = ["pin1", "pin2", "pos", "neg"];
|
|
19040
19083
|
var hasAmmeterConnectionPair = (connections) => {
|
|
19041
19084
|
return connections.pos !== void 0 && connections.neg !== void 0 || connections.pin1 !== void 0 && connections.pin2 !== void 0;
|
|
@@ -19045,64 +19088,64 @@ var ammeterProps = commonComponentProps.extend({
|
|
|
19045
19088
|
hasAmmeterConnectionPair,
|
|
19046
19089
|
"Ammeter connections must include either pos/neg or pin1/pin2"
|
|
19047
19090
|
),
|
|
19048
|
-
color:
|
|
19049
|
-
graphDisplayName:
|
|
19050
|
-
graphCenter:
|
|
19051
|
-
graphVerticalOffset:
|
|
19052
|
-
graphCurrentPerDiv:
|
|
19091
|
+
color: z127.string().optional(),
|
|
19092
|
+
graphDisplayName: z127.string().optional(),
|
|
19093
|
+
graphCenter: z127.number().optional(),
|
|
19094
|
+
graphVerticalOffset: z127.number().or(z127.string()).optional(),
|
|
19095
|
+
graphCurrentPerDiv: z127.number().or(z127.string()).optional()
|
|
19053
19096
|
});
|
|
19054
19097
|
var ammeterPins = ammeterPinLabels;
|
|
19055
19098
|
expectTypesMatch(true);
|
|
19056
19099
|
|
|
19057
19100
|
// lib/components/schematic-arc.ts
|
|
19058
19101
|
import { distance as distance32, point as point5, rotation as rotation8 } from "circuit-json";
|
|
19059
|
-
import { z as
|
|
19060
|
-
var schematicArcProps =
|
|
19102
|
+
import { z as z128 } from "zod";
|
|
19103
|
+
var schematicArcProps = z128.object({
|
|
19061
19104
|
center: point5,
|
|
19062
19105
|
radius: distance32,
|
|
19063
19106
|
startAngleDegrees: rotation8,
|
|
19064
19107
|
endAngleDegrees: rotation8,
|
|
19065
|
-
direction:
|
|
19108
|
+
direction: z128.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
|
|
19066
19109
|
strokeWidth: distance32.optional(),
|
|
19067
|
-
color:
|
|
19068
|
-
isDashed:
|
|
19110
|
+
color: z128.string().optional(),
|
|
19111
|
+
isDashed: z128.boolean().optional().default(false)
|
|
19069
19112
|
});
|
|
19070
19113
|
expectTypesMatch(true);
|
|
19071
19114
|
|
|
19072
19115
|
// lib/components/toolingrail.ts
|
|
19073
|
-
import { z as
|
|
19074
|
-
var toolingrailProps =
|
|
19075
|
-
children:
|
|
19116
|
+
import { z as z129 } from "zod";
|
|
19117
|
+
var toolingrailProps = z129.object({
|
|
19118
|
+
children: z129.any().optional()
|
|
19076
19119
|
});
|
|
19077
19120
|
expectTypesMatch(true);
|
|
19078
19121
|
|
|
19079
19122
|
// lib/components/schematic-box.ts
|
|
19080
19123
|
import { distance as distance33 } from "circuit-json";
|
|
19081
|
-
import { z as
|
|
19082
|
-
var schematicBoxProps =
|
|
19083
|
-
name:
|
|
19084
|
-
chipRef:
|
|
19124
|
+
import { z as z130 } from "zod";
|
|
19125
|
+
var schematicBoxProps = z130.object({
|
|
19126
|
+
name: z130.string().optional(),
|
|
19127
|
+
chipRef: z130.string().optional(),
|
|
19085
19128
|
pinLabels: pinLabelsProp.optional(),
|
|
19086
19129
|
schPinArrangement: schematicPinArrangement.optional(),
|
|
19087
19130
|
schPinStyle: schematicPinStyle.optional(),
|
|
19088
19131
|
schX: distance33.optional(),
|
|
19089
19132
|
schY: distance33.optional(),
|
|
19090
|
-
schSectionName:
|
|
19091
|
-
schSheetName:
|
|
19133
|
+
schSectionName: z130.string().optional(),
|
|
19134
|
+
schSheetName: z130.string().optional(),
|
|
19092
19135
|
width: distance33.optional(),
|
|
19093
19136
|
height: distance33.optional(),
|
|
19094
|
-
overlay:
|
|
19137
|
+
overlay: z130.array(z130.string()).optional(),
|
|
19095
19138
|
padding: distance33.optional(),
|
|
19096
19139
|
paddingLeft: distance33.optional(),
|
|
19097
19140
|
paddingRight: distance33.optional(),
|
|
19098
19141
|
paddingTop: distance33.optional(),
|
|
19099
19142
|
paddingBottom: distance33.optional(),
|
|
19100
|
-
title:
|
|
19143
|
+
title: z130.string().optional(),
|
|
19101
19144
|
titleAlignment: ninePointAnchor.default("top_left"),
|
|
19102
|
-
titleColor:
|
|
19145
|
+
titleColor: z130.string().optional(),
|
|
19103
19146
|
titleFontSize: distance33.optional(),
|
|
19104
|
-
titleInside:
|
|
19105
|
-
strokeStyle:
|
|
19147
|
+
titleInside: z130.boolean().default(false),
|
|
19148
|
+
strokeStyle: z130.enum(["solid", "dashed"]).default("solid")
|
|
19106
19149
|
}).refine(
|
|
19107
19150
|
(elm) => elm.width !== void 0 && elm.height !== void 0 || Array.isArray(elm.overlay) && elm.overlay.length > 0,
|
|
19108
19151
|
{
|
|
@@ -19118,21 +19161,21 @@ expectTypesMatch(true);
|
|
|
19118
19161
|
|
|
19119
19162
|
// lib/components/schematic-symbol.ts
|
|
19120
19163
|
import { rotation as rotation9 } from "circuit-json";
|
|
19121
|
-
import { z as
|
|
19122
|
-
var schematicSymbolConnections =
|
|
19164
|
+
import { z as z131 } from "zod";
|
|
19165
|
+
var schematicSymbolConnections = z131.custom().pipe(z131.record(z131.string(), connectionTarget)).refine((value) => Object.keys(value).length > 0, {
|
|
19123
19166
|
message: "connections must map at least one schematic symbol port"
|
|
19124
19167
|
});
|
|
19125
|
-
var schematicSymbolProps =
|
|
19126
|
-
name:
|
|
19127
|
-
displayName:
|
|
19128
|
-
chipRef:
|
|
19129
|
-
symbolName:
|
|
19168
|
+
var schematicSymbolProps = z131.object({
|
|
19169
|
+
name: z131.string().min(1),
|
|
19170
|
+
displayName: z131.string().optional(),
|
|
19171
|
+
chipRef: z131.string().min(1).optional(),
|
|
19172
|
+
symbolName: z131.string().min(1),
|
|
19130
19173
|
connections: schematicSymbolConnections.optional(),
|
|
19131
19174
|
schX: distance.optional(),
|
|
19132
19175
|
schY: distance.optional(),
|
|
19133
19176
|
schRotation: rotation9.optional(),
|
|
19134
|
-
schSectionName:
|
|
19135
|
-
schSheetName:
|
|
19177
|
+
schSectionName: z131.string().optional(),
|
|
19178
|
+
schSheetName: z131.string().optional()
|
|
19136
19179
|
});
|
|
19137
19180
|
expectTypesMatch(
|
|
19138
19181
|
true
|
|
@@ -19140,15 +19183,15 @@ expectTypesMatch(
|
|
|
19140
19183
|
|
|
19141
19184
|
// lib/components/schematic-circle.ts
|
|
19142
19185
|
import { distance as distance34, point as point6 } from "circuit-json";
|
|
19143
|
-
import { z as
|
|
19144
|
-
var schematicCircleProps =
|
|
19186
|
+
import { z as z132 } from "zod";
|
|
19187
|
+
var schematicCircleProps = z132.object({
|
|
19145
19188
|
center: point6,
|
|
19146
19189
|
radius: distance34,
|
|
19147
19190
|
strokeWidth: distance34.optional(),
|
|
19148
|
-
color:
|
|
19149
|
-
isFilled:
|
|
19150
|
-
fillColor:
|
|
19151
|
-
isDashed:
|
|
19191
|
+
color: z132.string().optional(),
|
|
19192
|
+
isFilled: z132.boolean().optional().default(false),
|
|
19193
|
+
fillColor: z132.string().optional(),
|
|
19194
|
+
isDashed: z132.boolean().optional().default(false)
|
|
19152
19195
|
});
|
|
19153
19196
|
expectTypesMatch(
|
|
19154
19197
|
true
|
|
@@ -19156,32 +19199,32 @@ expectTypesMatch(
|
|
|
19156
19199
|
|
|
19157
19200
|
// lib/components/schematic-rect.ts
|
|
19158
19201
|
import { distance as distance35, rotation as rotation10 } from "circuit-json";
|
|
19159
|
-
import { z as
|
|
19160
|
-
var schematicRectProps =
|
|
19202
|
+
import { z as z133 } from "zod";
|
|
19203
|
+
var schematicRectProps = z133.object({
|
|
19161
19204
|
schX: distance35.optional(),
|
|
19162
19205
|
schY: distance35.optional(),
|
|
19163
19206
|
width: distance35,
|
|
19164
19207
|
height: distance35,
|
|
19165
19208
|
rotation: rotation10.default(0),
|
|
19166
19209
|
strokeWidth: distance35.optional(),
|
|
19167
|
-
color:
|
|
19168
|
-
isFilled:
|
|
19169
|
-
fillColor:
|
|
19170
|
-
isDashed:
|
|
19210
|
+
color: z133.string().optional(),
|
|
19211
|
+
isFilled: z133.boolean().optional().default(false),
|
|
19212
|
+
fillColor: z133.string().optional(),
|
|
19213
|
+
isDashed: z133.boolean().optional().default(false)
|
|
19171
19214
|
});
|
|
19172
19215
|
expectTypesMatch(true);
|
|
19173
19216
|
|
|
19174
19217
|
// lib/components/schematic-line.ts
|
|
19175
19218
|
import { distance as distance36 } from "circuit-json";
|
|
19176
|
-
import { z as
|
|
19177
|
-
var schematicLineProps =
|
|
19219
|
+
import { z as z134 } from "zod";
|
|
19220
|
+
var schematicLineProps = z134.object({
|
|
19178
19221
|
x1: distance36,
|
|
19179
19222
|
y1: distance36,
|
|
19180
19223
|
x2: distance36,
|
|
19181
19224
|
y2: distance36,
|
|
19182
19225
|
strokeWidth: distance36.optional(),
|
|
19183
|
-
color:
|
|
19184
|
-
isDashed:
|
|
19226
|
+
color: z134.string().optional(),
|
|
19227
|
+
isDashed: z134.boolean().optional().default(false),
|
|
19185
19228
|
dashLength: distance36.optional(),
|
|
19186
19229
|
dashGap: distance36.optional()
|
|
19187
19230
|
});
|
|
@@ -19189,11 +19232,11 @@ expectTypesMatch(true);
|
|
|
19189
19232
|
|
|
19190
19233
|
// lib/components/schematic-text.ts
|
|
19191
19234
|
import { distance as distance37, rotation as rotation11 } from "circuit-json";
|
|
19192
|
-
import { z as
|
|
19235
|
+
import { z as z136 } from "zod";
|
|
19193
19236
|
|
|
19194
19237
|
// lib/common/fivePointAnchor.ts
|
|
19195
|
-
import { z as
|
|
19196
|
-
var fivePointAnchor =
|
|
19238
|
+
import { z as z135 } from "zod";
|
|
19239
|
+
var fivePointAnchor = z135.enum([
|
|
19197
19240
|
"center",
|
|
19198
19241
|
"left",
|
|
19199
19242
|
"right",
|
|
@@ -19202,39 +19245,39 @@ var fivePointAnchor = z134.enum([
|
|
|
19202
19245
|
]);
|
|
19203
19246
|
|
|
19204
19247
|
// lib/components/schematic-text.ts
|
|
19205
|
-
var schematicTextProps =
|
|
19248
|
+
var schematicTextProps = z136.object({
|
|
19206
19249
|
schX: distance37.optional(),
|
|
19207
19250
|
schY: distance37.optional(),
|
|
19208
|
-
text:
|
|
19209
|
-
fontSize:
|
|
19210
|
-
anchor:
|
|
19211
|
-
color:
|
|
19251
|
+
text: z136.string(),
|
|
19252
|
+
fontSize: z136.number().default(1),
|
|
19253
|
+
anchor: z136.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
|
|
19254
|
+
color: z136.string().default("#000000"),
|
|
19212
19255
|
schRotation: rotation11.default(0)
|
|
19213
19256
|
});
|
|
19214
19257
|
expectTypesMatch(true);
|
|
19215
19258
|
|
|
19216
19259
|
// lib/components/schematic-path.ts
|
|
19217
19260
|
import { distance as distance38, point as point7 } from "circuit-json";
|
|
19218
|
-
import { z as
|
|
19219
|
-
var schematicPathProps =
|
|
19220
|
-
points:
|
|
19221
|
-
svgPath:
|
|
19261
|
+
import { z as z137 } from "zod";
|
|
19262
|
+
var schematicPathProps = z137.object({
|
|
19263
|
+
points: z137.array(point7).optional(),
|
|
19264
|
+
svgPath: z137.string().optional(),
|
|
19222
19265
|
strokeWidth: distance38.optional(),
|
|
19223
|
-
strokeColor:
|
|
19266
|
+
strokeColor: z137.string().optional(),
|
|
19224
19267
|
dashLength: distance38.optional(),
|
|
19225
19268
|
dashGap: distance38.optional(),
|
|
19226
|
-
isFilled:
|
|
19227
|
-
fillColor:
|
|
19269
|
+
isFilled: z137.boolean().optional().default(false),
|
|
19270
|
+
fillColor: z137.string().optional()
|
|
19228
19271
|
});
|
|
19229
19272
|
expectTypesMatch(true);
|
|
19230
19273
|
|
|
19231
19274
|
// lib/components/schematic-table.ts
|
|
19232
19275
|
import { distance as distance39 } from "circuit-json";
|
|
19233
|
-
import { z as
|
|
19234
|
-
var schematicTableProps =
|
|
19276
|
+
import { z as z138 } from "zod";
|
|
19277
|
+
var schematicTableProps = z138.object({
|
|
19235
19278
|
schX: distance39.optional(),
|
|
19236
19279
|
schY: distance39.optional(),
|
|
19237
|
-
children:
|
|
19280
|
+
children: z138.any().optional(),
|
|
19238
19281
|
cellPadding: distance39.optional(),
|
|
19239
19282
|
borderWidth: distance39.optional(),
|
|
19240
19283
|
anchor: ninePointAnchor.optional(),
|
|
@@ -19244,34 +19287,34 @@ expectTypesMatch(true);
|
|
|
19244
19287
|
|
|
19245
19288
|
// lib/components/schematic-row.ts
|
|
19246
19289
|
import { distance as distance40 } from "circuit-json";
|
|
19247
|
-
import { z as
|
|
19248
|
-
var schematicRowProps =
|
|
19249
|
-
children:
|
|
19290
|
+
import { z as z139 } from "zod";
|
|
19291
|
+
var schematicRowProps = z139.object({
|
|
19292
|
+
children: z139.any().optional(),
|
|
19250
19293
|
height: distance40.optional()
|
|
19251
19294
|
});
|
|
19252
19295
|
expectTypesMatch(true);
|
|
19253
19296
|
|
|
19254
19297
|
// lib/components/schematic-cell.ts
|
|
19255
19298
|
import { distance as distance41 } from "circuit-json";
|
|
19256
|
-
import { z as
|
|
19257
|
-
var schematicCellProps =
|
|
19258
|
-
children:
|
|
19259
|
-
horizontalAlign:
|
|
19260
|
-
verticalAlign:
|
|
19299
|
+
import { z as z140 } from "zod";
|
|
19300
|
+
var schematicCellProps = z140.object({
|
|
19301
|
+
children: z140.string().optional(),
|
|
19302
|
+
horizontalAlign: z140.enum(["left", "center", "right"]).optional(),
|
|
19303
|
+
verticalAlign: z140.enum(["top", "middle", "bottom"]).optional(),
|
|
19261
19304
|
fontSize: distance41.optional(),
|
|
19262
|
-
rowSpan:
|
|
19263
|
-
colSpan:
|
|
19305
|
+
rowSpan: z140.number().optional(),
|
|
19306
|
+
colSpan: z140.number().optional(),
|
|
19264
19307
|
width: distance41.optional(),
|
|
19265
|
-
text:
|
|
19308
|
+
text: z140.string().optional()
|
|
19266
19309
|
});
|
|
19267
19310
|
expectTypesMatch(true);
|
|
19268
19311
|
|
|
19269
19312
|
// lib/components/schematic-section.ts
|
|
19270
19313
|
import { distance as distance42 } from "circuit-json";
|
|
19271
|
-
import { z as
|
|
19272
|
-
var schematicSectionProps =
|
|
19273
|
-
displayName:
|
|
19274
|
-
name:
|
|
19314
|
+
import { z as z141 } from "zod";
|
|
19315
|
+
var schematicSectionProps = z141.object({
|
|
19316
|
+
displayName: z141.string().optional(),
|
|
19317
|
+
name: z141.string(),
|
|
19275
19318
|
sectionTitleFontSize: distance42.optional()
|
|
19276
19319
|
});
|
|
19277
19320
|
expectTypesMatch(
|
|
@@ -19279,30 +19322,30 @@ expectTypesMatch(
|
|
|
19279
19322
|
);
|
|
19280
19323
|
|
|
19281
19324
|
// lib/components/schematic-sheet.ts
|
|
19282
|
-
import { z as
|
|
19325
|
+
import { z as z142 } from "zod";
|
|
19283
19326
|
import { distance as distance43 } from "circuit-json";
|
|
19284
|
-
var schematicSheetProps =
|
|
19285
|
-
name:
|
|
19286
|
-
displayName:
|
|
19287
|
-
sheetIndex:
|
|
19288
|
-
sheetSize:
|
|
19289
|
-
sheetWidth: distance43.pipe(
|
|
19290
|
-
sheetHeight: distance43.pipe(
|
|
19291
|
-
children:
|
|
19327
|
+
var schematicSheetProps = z142.object({
|
|
19328
|
+
name: z142.string().optional(),
|
|
19329
|
+
displayName: z142.string().optional(),
|
|
19330
|
+
sheetIndex: z142.number().optional(),
|
|
19331
|
+
sheetSize: z142.enum(["A4", "ANSI_B"]).default("A4"),
|
|
19332
|
+
sheetWidth: distance43.pipe(z142.number().positive()).optional(),
|
|
19333
|
+
sheetHeight: distance43.pipe(z142.number().positive()).optional(),
|
|
19334
|
+
children: z142.any().optional()
|
|
19292
19335
|
});
|
|
19293
19336
|
expectTypesMatch(true);
|
|
19294
19337
|
|
|
19295
19338
|
// lib/components/schematic-graphic.ts
|
|
19296
|
-
import { z as
|
|
19339
|
+
import { z as z143 } from "zod";
|
|
19297
19340
|
var nonemptyUrl = url.refine((value) => value.trim().length > 0, {
|
|
19298
19341
|
message: "imageUrl cannot be empty"
|
|
19299
19342
|
});
|
|
19300
19343
|
var positiveDistance5 = (fieldName) => distance.refine((value) => Number.isFinite(value) && value > 0, {
|
|
19301
19344
|
message: `${fieldName} must be a positive finite distance`
|
|
19302
19345
|
});
|
|
19303
|
-
var schematicGraphicProps =
|
|
19346
|
+
var schematicGraphicProps = z143.object({
|
|
19304
19347
|
imageUrl: nonemptyUrl.optional(),
|
|
19305
|
-
svgContent:
|
|
19348
|
+
svgContent: z143.string().refine((value) => value.trim().length > 0, {
|
|
19306
19349
|
message: "svgContent cannot be empty"
|
|
19307
19350
|
}).optional(),
|
|
19308
19351
|
width: positiveDistance5("width").optional(),
|
|
@@ -19310,7 +19353,7 @@ var schematicGraphicProps = z142.object({
|
|
|
19310
19353
|
}).superRefine(({ imageUrl, svgContent }, ctx) => {
|
|
19311
19354
|
if (imageUrl === void 0 && svgContent === void 0) {
|
|
19312
19355
|
ctx.addIssue({
|
|
19313
|
-
code:
|
|
19356
|
+
code: z143.ZodIssueCode.custom,
|
|
19314
19357
|
message: "At least one of imageUrl or svgContent is required"
|
|
19315
19358
|
});
|
|
19316
19359
|
}
|
|
@@ -19321,40 +19364,40 @@ expectTypesMatch(
|
|
|
19321
19364
|
|
|
19322
19365
|
// lib/components/copper-text.ts
|
|
19323
19366
|
import { layer_ref as layer_ref13, length as length8 } from "circuit-json";
|
|
19324
|
-
import { z as
|
|
19367
|
+
import { z as z144 } from "zod";
|
|
19325
19368
|
var copperTextProps = pcbLayoutProps.extend({
|
|
19326
|
-
text:
|
|
19369
|
+
text: z144.string(),
|
|
19327
19370
|
anchorAlignment: ninePointAnchor.default("center"),
|
|
19328
|
-
font:
|
|
19371
|
+
font: z144.enum(["tscircuit2024"]).optional(),
|
|
19329
19372
|
fontSize: length8.optional(),
|
|
19330
|
-
layers:
|
|
19331
|
-
knockout:
|
|
19332
|
-
mirrored:
|
|
19373
|
+
layers: z144.array(layer_ref13).optional(),
|
|
19374
|
+
knockout: z144.boolean().optional(),
|
|
19375
|
+
mirrored: z144.boolean().optional()
|
|
19333
19376
|
});
|
|
19334
19377
|
|
|
19335
19378
|
// lib/components/silkscreen-text.ts
|
|
19336
19379
|
import { layer_ref as layer_ref14, length as length9 } from "circuit-json";
|
|
19337
|
-
import { z as
|
|
19380
|
+
import { z as z145 } from "zod";
|
|
19338
19381
|
var silkscreenTextProps = pcbLayoutProps.extend({
|
|
19339
|
-
text:
|
|
19382
|
+
text: z145.string(),
|
|
19340
19383
|
anchorAlignment: ninePointAnchor.default("center"),
|
|
19341
|
-
font:
|
|
19384
|
+
font: z145.enum(["tscircuit2024"]).optional(),
|
|
19342
19385
|
fontSize: length9.optional(),
|
|
19343
19386
|
/**
|
|
19344
19387
|
* If true, text will knock out underlying silkscreen
|
|
19345
19388
|
*/
|
|
19346
|
-
isKnockout:
|
|
19389
|
+
isKnockout: z145.boolean().optional(),
|
|
19347
19390
|
knockoutPadding: length9.optional(),
|
|
19348
19391
|
knockoutPaddingLeft: length9.optional(),
|
|
19349
19392
|
knockoutPaddingRight: length9.optional(),
|
|
19350
19393
|
knockoutPaddingTop: length9.optional(),
|
|
19351
19394
|
knockoutPaddingBottom: length9.optional(),
|
|
19352
|
-
layers:
|
|
19395
|
+
layers: z145.array(layer_ref14).optional()
|
|
19353
19396
|
});
|
|
19354
19397
|
|
|
19355
19398
|
// lib/components/silkscreen-path.ts
|
|
19356
19399
|
import { length as length10, route_hint_point as route_hint_point5 } from "circuit-json";
|
|
19357
|
-
import { z as
|
|
19400
|
+
import { z as z146 } from "zod";
|
|
19358
19401
|
var silkscreenPathProps = pcbLayoutProps.omit({
|
|
19359
19402
|
pcbLeftEdgeX: true,
|
|
19360
19403
|
pcbRightEdgeX: true,
|
|
@@ -19366,7 +19409,7 @@ var silkscreenPathProps = pcbLayoutProps.omit({
|
|
|
19366
19409
|
pcbOffsetY: true,
|
|
19367
19410
|
pcbRotation: true
|
|
19368
19411
|
}).extend({
|
|
19369
|
-
route:
|
|
19412
|
+
route: z146.array(route_hint_point5),
|
|
19370
19413
|
strokeWidth: length10.optional()
|
|
19371
19414
|
});
|
|
19372
19415
|
|
|
@@ -19388,10 +19431,10 @@ var silkscreenLineProps = pcbLayoutProps.omit({
|
|
|
19388
19431
|
|
|
19389
19432
|
// lib/components/silkscreen-rect.ts
|
|
19390
19433
|
import { distance as distance45 } from "circuit-json";
|
|
19391
|
-
import { z as
|
|
19434
|
+
import { z as z147 } from "zod";
|
|
19392
19435
|
var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
19393
|
-
filled:
|
|
19394
|
-
stroke:
|
|
19436
|
+
filled: z147.boolean().default(true).optional(),
|
|
19437
|
+
stroke: z147.enum(["dashed", "solid", "none"]).optional(),
|
|
19395
19438
|
strokeWidth: distance45.optional(),
|
|
19396
19439
|
width: distance45,
|
|
19397
19440
|
height: distance45,
|
|
@@ -19400,10 +19443,10 @@ var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
|
19400
19443
|
|
|
19401
19444
|
// lib/components/silkscreen-circle.ts
|
|
19402
19445
|
import { distance as distance46 } from "circuit-json";
|
|
19403
|
-
import { z as
|
|
19446
|
+
import { z as z148 } from "zod";
|
|
19404
19447
|
var silkscreenCircleProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
19405
|
-
isFilled:
|
|
19406
|
-
isOutline:
|
|
19448
|
+
isFilled: z148.boolean().optional(),
|
|
19449
|
+
isOutline: z148.boolean().optional(),
|
|
19407
19450
|
strokeWidth: distance46.optional(),
|
|
19408
19451
|
radius: distance46
|
|
19409
19452
|
});
|
|
@@ -19421,69 +19464,69 @@ expectTypesMatch(true);
|
|
|
19421
19464
|
|
|
19422
19465
|
// lib/components/trace-hint.ts
|
|
19423
19466
|
import { distance as distance47, layer_ref as layer_ref15, route_hint_point as route_hint_point6 } from "circuit-json";
|
|
19424
|
-
import { z as
|
|
19425
|
-
var routeHintPointProps =
|
|
19467
|
+
import { z as z150 } from "zod";
|
|
19468
|
+
var routeHintPointProps = z150.object({
|
|
19426
19469
|
x: distance47,
|
|
19427
19470
|
y: distance47,
|
|
19428
|
-
via:
|
|
19471
|
+
via: z150.boolean().optional(),
|
|
19429
19472
|
toLayer: layer_ref15.optional()
|
|
19430
19473
|
});
|
|
19431
|
-
var traceHintProps =
|
|
19432
|
-
for:
|
|
19474
|
+
var traceHintProps = z150.object({
|
|
19475
|
+
for: z150.string().optional().describe(
|
|
19433
19476
|
"Selector for the port you're targeting, not required if you're inside a trace"
|
|
19434
19477
|
),
|
|
19435
|
-
order:
|
|
19478
|
+
order: z150.number().optional(),
|
|
19436
19479
|
offset: route_hint_point6.or(routeHintPointProps).optional(),
|
|
19437
|
-
offsets:
|
|
19438
|
-
traceWidth:
|
|
19480
|
+
offsets: z150.array(route_hint_point6).or(z150.array(routeHintPointProps)).optional(),
|
|
19481
|
+
traceWidth: z150.number().optional()
|
|
19439
19482
|
});
|
|
19440
19483
|
|
|
19441
19484
|
// lib/components/port.ts
|
|
19442
19485
|
import { distance as distance48 } from "circuit-json";
|
|
19443
|
-
import { z as
|
|
19486
|
+
import { z as z151 } from "zod";
|
|
19444
19487
|
var portProps = commonLayoutProps.extend({
|
|
19445
|
-
name:
|
|
19446
|
-
pinNumber:
|
|
19447
|
-
schStemLength:
|
|
19448
|
-
schPinLabelFontSize:
|
|
19488
|
+
name: z151.string().optional(),
|
|
19489
|
+
pinNumber: z151.number().optional(),
|
|
19490
|
+
schStemLength: z151.number().optional(),
|
|
19491
|
+
schPinLabelFontSize: z151.enum(["default", "sm"]).or(
|
|
19449
19492
|
distance48.refine((value) => Number.isFinite(value) && value > 0, {
|
|
19450
19493
|
message: "Schematic pin-label font size must be positive and finite"
|
|
19451
19494
|
})
|
|
19452
19495
|
).optional(),
|
|
19453
|
-
aliases:
|
|
19454
|
-
layer:
|
|
19455
|
-
layers:
|
|
19456
|
-
schX:
|
|
19457
|
-
schY:
|
|
19496
|
+
aliases: z151.array(z151.string()).optional(),
|
|
19497
|
+
layer: z151.string().optional(),
|
|
19498
|
+
layers: z151.array(z151.string()).optional(),
|
|
19499
|
+
schX: z151.number().optional(),
|
|
19500
|
+
schY: z151.number().optional(),
|
|
19458
19501
|
direction: direction.optional(),
|
|
19459
|
-
connectsTo:
|
|
19502
|
+
connectsTo: z151.string().or(z151.array(z151.string())).optional(),
|
|
19460
19503
|
kicadPinMetadata: kicadPinMetadata.optional(),
|
|
19461
|
-
hasInversionCircle:
|
|
19504
|
+
hasInversionCircle: z151.boolean().optional()
|
|
19462
19505
|
});
|
|
19463
19506
|
|
|
19464
19507
|
// lib/components/pcb-note-text.ts
|
|
19465
19508
|
import { length as length11 } from "circuit-json";
|
|
19466
|
-
import { z as
|
|
19509
|
+
import { z as z152 } from "zod";
|
|
19467
19510
|
var pcbNoteTextProps = pcbLayoutProps.extend({
|
|
19468
|
-
text:
|
|
19469
|
-
anchorAlignment:
|
|
19470
|
-
font:
|
|
19511
|
+
text: z152.string(),
|
|
19512
|
+
anchorAlignment: z152.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
19513
|
+
font: z152.enum(["tscircuit2024"]).optional(),
|
|
19471
19514
|
fontSize: length11.optional(),
|
|
19472
|
-
color:
|
|
19515
|
+
color: z152.string().optional()
|
|
19473
19516
|
});
|
|
19474
19517
|
expectTypesMatch(true);
|
|
19475
19518
|
|
|
19476
19519
|
// lib/components/pcb-note-rect.ts
|
|
19477
19520
|
import { distance as distance49 } from "circuit-json";
|
|
19478
|
-
import { z as
|
|
19521
|
+
import { z as z153 } from "zod";
|
|
19479
19522
|
var pcbNoteRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
19480
19523
|
width: distance49,
|
|
19481
19524
|
height: distance49,
|
|
19482
19525
|
strokeWidth: distance49.optional(),
|
|
19483
|
-
isFilled:
|
|
19484
|
-
hasStroke:
|
|
19485
|
-
isStrokeDashed:
|
|
19486
|
-
color:
|
|
19526
|
+
isFilled: z153.boolean().optional(),
|
|
19527
|
+
hasStroke: z153.boolean().optional(),
|
|
19528
|
+
isStrokeDashed: z153.boolean().optional(),
|
|
19529
|
+
color: z153.string().optional(),
|
|
19487
19530
|
cornerRadius: distance49.optional()
|
|
19488
19531
|
});
|
|
19489
19532
|
expectTypesMatch(true);
|
|
@@ -19493,7 +19536,7 @@ import {
|
|
|
19493
19536
|
length as length12,
|
|
19494
19537
|
route_hint_point as route_hint_point7
|
|
19495
19538
|
} from "circuit-json";
|
|
19496
|
-
import { z as
|
|
19539
|
+
import { z as z154 } from "zod";
|
|
19497
19540
|
var pcbNotePathProps = pcbLayoutProps.omit({
|
|
19498
19541
|
pcbLeftEdgeX: true,
|
|
19499
19542
|
pcbRightEdgeX: true,
|
|
@@ -19505,15 +19548,15 @@ var pcbNotePathProps = pcbLayoutProps.omit({
|
|
|
19505
19548
|
pcbOffsetY: true,
|
|
19506
19549
|
pcbRotation: true
|
|
19507
19550
|
}).extend({
|
|
19508
|
-
route:
|
|
19551
|
+
route: z154.array(route_hint_point7),
|
|
19509
19552
|
strokeWidth: length12.optional(),
|
|
19510
|
-
color:
|
|
19553
|
+
color: z154.string().optional()
|
|
19511
19554
|
});
|
|
19512
19555
|
expectTypesMatch(true);
|
|
19513
19556
|
|
|
19514
19557
|
// lib/components/pcb-note-line.ts
|
|
19515
19558
|
import { distance as distance50 } from "circuit-json";
|
|
19516
|
-
import { z as
|
|
19559
|
+
import { z as z155 } from "zod";
|
|
19517
19560
|
var pcbNoteLineProps = pcbLayoutProps.omit({
|
|
19518
19561
|
pcbLeftEdgeX: true,
|
|
19519
19562
|
pcbRightEdgeX: true,
|
|
@@ -19530,15 +19573,15 @@ var pcbNoteLineProps = pcbLayoutProps.omit({
|
|
|
19530
19573
|
x2: distance50,
|
|
19531
19574
|
y2: distance50,
|
|
19532
19575
|
strokeWidth: distance50.optional(),
|
|
19533
|
-
color:
|
|
19534
|
-
isDashed:
|
|
19576
|
+
color: z155.string().optional(),
|
|
19577
|
+
isDashed: z155.boolean().optional()
|
|
19535
19578
|
});
|
|
19536
19579
|
expectTypesMatch(true);
|
|
19537
19580
|
|
|
19538
19581
|
// lib/components/pcb-note-dimension.ts
|
|
19539
19582
|
import { distance as distance51, length as length13 } from "circuit-json";
|
|
19540
|
-
import { z as
|
|
19541
|
-
var dimensionTarget2 =
|
|
19583
|
+
import { z as z156 } from "zod";
|
|
19584
|
+
var dimensionTarget2 = z156.union([z156.string(), point]);
|
|
19542
19585
|
var pcbNoteDimensionProps = pcbLayoutProps.omit({
|
|
19543
19586
|
pcbLeftEdgeX: true,
|
|
19544
19587
|
pcbRightEdgeX: true,
|
|
@@ -19552,114 +19595,114 @@ var pcbNoteDimensionProps = pcbLayoutProps.omit({
|
|
|
19552
19595
|
}).extend({
|
|
19553
19596
|
from: dimensionTarget2,
|
|
19554
19597
|
to: dimensionTarget2,
|
|
19555
|
-
text:
|
|
19598
|
+
text: z156.string().optional(),
|
|
19556
19599
|
offset: distance51.optional(),
|
|
19557
|
-
offsetDirection:
|
|
19558
|
-
font:
|
|
19600
|
+
offsetDirection: z156.object({ x: z156.number().finite(), y: z156.number().finite() }).optional(),
|
|
19601
|
+
font: z156.enum(["tscircuit2024"]).optional(),
|
|
19559
19602
|
fontSize: length13.optional(),
|
|
19560
|
-
color:
|
|
19603
|
+
color: z156.string().optional(),
|
|
19561
19604
|
arrowSize: distance51.optional(),
|
|
19562
|
-
units:
|
|
19563
|
-
outerEdgeToEdge:
|
|
19564
|
-
centerToCenter:
|
|
19565
|
-
innerEdgeToEdge:
|
|
19605
|
+
units: z156.enum(["in", "mm"]).optional(),
|
|
19606
|
+
outerEdgeToEdge: z156.literal(true).optional(),
|
|
19607
|
+
centerToCenter: z156.literal(true).optional(),
|
|
19608
|
+
innerEdgeToEdge: z156.literal(true).optional()
|
|
19566
19609
|
});
|
|
19567
19610
|
expectTypesMatch(
|
|
19568
19611
|
true
|
|
19569
19612
|
);
|
|
19570
19613
|
|
|
19571
19614
|
// lib/platformConfig.ts
|
|
19572
|
-
import { z as
|
|
19573
|
-
var unvalidatedCircuitJson =
|
|
19574
|
-
var footprintLibraryResult =
|
|
19575
|
-
footprintCircuitJson:
|
|
19615
|
+
import { z as z157 } from "zod";
|
|
19616
|
+
var unvalidatedCircuitJson = z157.array(z157.any()).describe("Circuit JSON");
|
|
19617
|
+
var footprintLibraryResult = z157.object({
|
|
19618
|
+
footprintCircuitJson: z157.array(z157.any()),
|
|
19576
19619
|
cadModel: cadModelProp.optional()
|
|
19577
19620
|
});
|
|
19578
|
-
var pathToCircuitJsonFn =
|
|
19579
|
-
|
|
19580
|
-
|
|
19581
|
-
|
|
19582
|
-
).returns(
|
|
19621
|
+
var pathToCircuitJsonFn = z157.function().args(z157.string()).returns(z157.promise(footprintLibraryResult)).or(
|
|
19622
|
+
z157.function().args(
|
|
19623
|
+
z157.string(),
|
|
19624
|
+
z157.object({ resolvedPcbStyle: pcbStyle.optional() }).optional()
|
|
19625
|
+
).returns(z157.promise(footprintLibraryResult))
|
|
19583
19626
|
).describe("A function that takes a path and returns Circuit JSON");
|
|
19584
|
-
var footprintFileParserEntry =
|
|
19585
|
-
loadFromUrl:
|
|
19627
|
+
var footprintFileParserEntry = z157.object({
|
|
19628
|
+
loadFromUrl: z157.function().args(z157.string()).returns(z157.promise(footprintLibraryResult)).describe(
|
|
19586
19629
|
"A function that takes a footprint file URL and returns Circuit JSON"
|
|
19587
19630
|
)
|
|
19588
19631
|
});
|
|
19589
|
-
var spiceEngineSimulationResult =
|
|
19590
|
-
engineVersionString:
|
|
19632
|
+
var spiceEngineSimulationResult = z157.object({
|
|
19633
|
+
engineVersionString: z157.string().optional(),
|
|
19591
19634
|
simulationResultCircuitJson: unvalidatedCircuitJson
|
|
19592
19635
|
});
|
|
19593
|
-
var spiceEngineZod =
|
|
19594
|
-
simulate:
|
|
19636
|
+
var spiceEngineZod = z157.object({
|
|
19637
|
+
simulate: z157.function().args(z157.string()).returns(z157.promise(spiceEngineSimulationResult)).describe(
|
|
19595
19638
|
"A function that takes a SPICE string and returns a simulation result"
|
|
19596
19639
|
)
|
|
19597
19640
|
});
|
|
19598
|
-
var defaultSpiceEngine =
|
|
19641
|
+
var defaultSpiceEngine = z157.custom(
|
|
19599
19642
|
(value) => typeof value === "string"
|
|
19600
19643
|
);
|
|
19601
|
-
var autorouterInstance =
|
|
19602
|
-
run:
|
|
19603
|
-
getOutputSimpleRouteJson:
|
|
19644
|
+
var autorouterInstance = z157.object({
|
|
19645
|
+
run: z157.function().args().returns(z157.promise(z157.unknown())).describe("Run the autorouter"),
|
|
19646
|
+
getOutputSimpleRouteJson: z157.function().args().returns(z157.promise(z157.any())).describe("Get the resulting SimpleRouteJson")
|
|
19604
19647
|
});
|
|
19605
|
-
var autorouterDefinition =
|
|
19606
|
-
createAutorouter:
|
|
19648
|
+
var autorouterDefinition = z157.object({
|
|
19649
|
+
createAutorouter: z157.function().args(z157.any(), z157.any().optional()).returns(z157.union([autorouterInstance, z157.promise(autorouterInstance)])).describe("Create an autorouter instance")
|
|
19607
19650
|
});
|
|
19608
|
-
var platformFetch =
|
|
19609
|
-
var localCacheEngine =
|
|
19651
|
+
var platformFetch = z157.custom((value) => typeof value === "function").describe("A fetch-like function to use for platform requests");
|
|
19652
|
+
var localCacheEngine = z157.custom(
|
|
19610
19653
|
(value) => typeof value === "object" && value !== null && "getItem" in value && typeof value.getItem === "function" && "setItem" in value && typeof value.setItem === "function"
|
|
19611
19654
|
);
|
|
19612
|
-
var fabricatorEngine =
|
|
19655
|
+
var fabricatorEngine = z157.custom(
|
|
19613
19656
|
(value) => typeof value === "object" && value !== null && "runDrcChecks" in value && typeof value.runDrcChecks === "function"
|
|
19614
19657
|
);
|
|
19615
|
-
var platformConfig =
|
|
19658
|
+
var platformConfig = z157.object({
|
|
19616
19659
|
partsEngine: partsEngine.optional(),
|
|
19617
19660
|
fabricatorEngine: fabricatorEngine.optional(),
|
|
19618
19661
|
autorouter: autorouterProp.optional(),
|
|
19619
|
-
autorouterMap:
|
|
19620
|
-
allowLegacyAutorouters:
|
|
19662
|
+
autorouterMap: z157.record(z157.string(), autorouterDefinition).optional(),
|
|
19663
|
+
allowLegacyAutorouters: z157.boolean().optional(),
|
|
19621
19664
|
registryApiUrl: url.optional(),
|
|
19622
19665
|
cloudAutorouterUrl: url.optional(),
|
|
19623
|
-
projectName:
|
|
19666
|
+
projectName: z157.string().optional(),
|
|
19624
19667
|
projectBaseUrl: url.optional(),
|
|
19625
|
-
version:
|
|
19668
|
+
version: z157.string().optional(),
|
|
19626
19669
|
url: url.optional(),
|
|
19627
|
-
printBoardInformationToSilkscreen:
|
|
19628
|
-
includeBoardFiles:
|
|
19670
|
+
printBoardInformationToSilkscreen: z157.boolean().optional(),
|
|
19671
|
+
includeBoardFiles: z157.array(z157.string()).describe(
|
|
19629
19672
|
'The board files to automatically build with "tsci build", defaults to ["**/*.circuit.tsx"]. Can be an array of files or globs'
|
|
19630
19673
|
).optional(),
|
|
19631
|
-
snapshotsDir:
|
|
19674
|
+
snapshotsDir: z157.string().describe(
|
|
19632
19675
|
'The directory where snapshots are stored for "tsci snapshot", defaults to "tests/__snapshots__"'
|
|
19633
19676
|
).optional(),
|
|
19634
19677
|
defaultSpiceEngine: defaultSpiceEngine.optional(),
|
|
19635
|
-
unitPreference:
|
|
19678
|
+
unitPreference: z157.enum(["mm", "in", "mil"]).optional(),
|
|
19636
19679
|
localCacheEngine: localCacheEngine.optional(),
|
|
19637
|
-
useCloudAutorouter:
|
|
19638
|
-
enablePartOrientationAnalysis:
|
|
19639
|
-
pcbPackSolverTimeoutMs:
|
|
19640
|
-
pcbDisabled:
|
|
19641
|
-
routingDisabled:
|
|
19642
|
-
schematicDisabled:
|
|
19643
|
-
partsEngineDisabled:
|
|
19644
|
-
analogSimulationDisabled:
|
|
19645
|
-
drcChecksDisabled:
|
|
19646
|
-
netlistDrcChecksDisabled:
|
|
19647
|
-
routingDrcChecksDisabled:
|
|
19648
|
-
placementDrcChecksDisabled:
|
|
19649
|
-
pinSpecificationDrcChecksDisabled:
|
|
19650
|
-
spiceEngineMap:
|
|
19651
|
-
footprintLibraryMap:
|
|
19652
|
-
|
|
19653
|
-
|
|
19680
|
+
useCloudAutorouter: z157.boolean().optional(),
|
|
19681
|
+
enablePartOrientationAnalysis: z157.boolean().optional(),
|
|
19682
|
+
pcbPackSolverTimeoutMs: z157.number().finite().positive().optional(),
|
|
19683
|
+
pcbDisabled: z157.boolean().optional(),
|
|
19684
|
+
routingDisabled: z157.boolean().optional(),
|
|
19685
|
+
schematicDisabled: z157.boolean().optional(),
|
|
19686
|
+
partsEngineDisabled: z157.boolean().optional(),
|
|
19687
|
+
analogSimulationDisabled: z157.boolean().optional(),
|
|
19688
|
+
drcChecksDisabled: z157.boolean().optional(),
|
|
19689
|
+
netlistDrcChecksDisabled: z157.boolean().optional(),
|
|
19690
|
+
routingDrcChecksDisabled: z157.boolean().optional(),
|
|
19691
|
+
placementDrcChecksDisabled: z157.boolean().optional(),
|
|
19692
|
+
pinSpecificationDrcChecksDisabled: z157.boolean().optional(),
|
|
19693
|
+
spiceEngineMap: z157.record(z157.string(), spiceEngineZod).optional(),
|
|
19694
|
+
footprintLibraryMap: z157.record(
|
|
19695
|
+
z157.string(),
|
|
19696
|
+
z157.union([
|
|
19654
19697
|
pathToCircuitJsonFn,
|
|
19655
|
-
|
|
19656
|
-
|
|
19657
|
-
|
|
19698
|
+
z157.record(
|
|
19699
|
+
z157.string(),
|
|
19700
|
+
z157.union([unvalidatedCircuitJson, pathToCircuitJsonFn])
|
|
19658
19701
|
)
|
|
19659
19702
|
])
|
|
19660
19703
|
).optional(),
|
|
19661
|
-
footprintFileParserMap:
|
|
19662
|
-
resolveProjectStaticFileImportUrl:
|
|
19704
|
+
footprintFileParserMap: z157.record(z157.string(), footprintFileParserEntry).optional(),
|
|
19705
|
+
resolveProjectStaticFileImportUrl: z157.function().args(z157.string()).returns(z157.promise(z157.string())).describe(
|
|
19663
19706
|
"A function that returns a string URL for static files for the project"
|
|
19664
19707
|
).optional(),
|
|
19665
19708
|
platformFetch: platformFetch.optional()
|
|
@@ -19719,6 +19762,9 @@ export {
|
|
|
19719
19762
|
base_manual_edit_event,
|
|
19720
19763
|
batteryPins,
|
|
19721
19764
|
batteryProps,
|
|
19765
|
+
boardMountOrientation,
|
|
19766
|
+
boardMountRotation,
|
|
19767
|
+
boardMountRotationAnchor,
|
|
19722
19768
|
boardOutlinePoint,
|
|
19723
19769
|
boardProps,
|
|
19724
19770
|
border,
|