@tscircuit/props 0.0.538 → 0.0.539
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 +13 -0
- package/dist/index.d.ts +41 -9
- package/dist/index.js +304 -291
- package/dist/index.js.map +1 -1
- package/lib/components/chip.ts +10 -0
- package/lib/components/spicemodel.ts +15 -0
- package/lib/index.ts +1 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -16541,6 +16541,9 @@ import { z as z42 } from "zod";
|
|
|
16541
16541
|
var connectionTarget2 = z42.string().or(z42.array(z42.string()).readonly()).or(z42.array(z42.string()));
|
|
16542
16542
|
var noConnectProp = z42.array(schematicPinLabel).readonly().or(z42.array(schematicPinLabel));
|
|
16543
16543
|
var connectionsProp = z42.custom().pipe(z42.record(z42.string(), connectionTarget2));
|
|
16544
|
+
var spicemodelElement = z42.custom(
|
|
16545
|
+
(v) => !!v && typeof v === "object" && "type" in v && "props" in v
|
|
16546
|
+
);
|
|
16544
16547
|
var pinLabelsProp = z42.record(
|
|
16545
16548
|
schematicPinLabel,
|
|
16546
16549
|
schematicPinLabel.or(z42.array(schematicPinLabel).readonly()).or(z42.array(schematicPinLabel))
|
|
@@ -16566,7 +16569,8 @@ var chipProps = commonComponentProps.extend({
|
|
|
16566
16569
|
schHeight: distance13.optional(),
|
|
16567
16570
|
noSchematicRepresentation: z42.boolean().optional(),
|
|
16568
16571
|
noConnect: noConnectProp.optional(),
|
|
16569
|
-
connections: connectionsProp.optional()
|
|
16572
|
+
connections: connectionsProp.optional(),
|
|
16573
|
+
spiceModel: spicemodelElement.optional()
|
|
16570
16574
|
});
|
|
16571
16575
|
var bugProps = chipProps;
|
|
16572
16576
|
expectTypesMatch(true);
|
|
@@ -17416,8 +17420,16 @@ var autoroutingPhaseProps = z75.object({
|
|
|
17416
17420
|
});
|
|
17417
17421
|
expectTypesMatch(true);
|
|
17418
17422
|
|
|
17419
|
-
// lib/components/
|
|
17423
|
+
// lib/components/spicemodel.ts
|
|
17420
17424
|
import { z as z76 } from "zod";
|
|
17425
|
+
var spicemodelProps = z76.object({
|
|
17426
|
+
source: z76.string(),
|
|
17427
|
+
spicePinMapping: z76.record(z76.string(), z76.string()).optional()
|
|
17428
|
+
});
|
|
17429
|
+
expectTypesMatch(true);
|
|
17430
|
+
|
|
17431
|
+
// lib/components/transistor.ts
|
|
17432
|
+
import { z as z77 } from "zod";
|
|
17421
17433
|
var transistorPinsLabels = [
|
|
17422
17434
|
"pin1",
|
|
17423
17435
|
"pin2",
|
|
@@ -17430,7 +17442,7 @@ var transistorPinsLabels = [
|
|
|
17430
17442
|
"drain"
|
|
17431
17443
|
];
|
|
17432
17444
|
var transistorProps = commonComponentProps.extend({
|
|
17433
|
-
type:
|
|
17445
|
+
type: z77.enum(["npn", "pnp", "bjt", "jfet", "mosfet", "igbt"]),
|
|
17434
17446
|
connections: createConnectionsProp(transistorPinsLabels).optional()
|
|
17435
17447
|
});
|
|
17436
17448
|
var transistorPins = [
|
|
@@ -17444,10 +17456,10 @@ var transistorPins = [
|
|
|
17444
17456
|
expectTypesMatch(true);
|
|
17445
17457
|
|
|
17446
17458
|
// lib/components/mosfet.ts
|
|
17447
|
-
import { z as
|
|
17459
|
+
import { z as z78 } from "zod";
|
|
17448
17460
|
var mosfetProps = commonComponentProps.extend({
|
|
17449
|
-
channelType:
|
|
17450
|
-
mosfetMode:
|
|
17461
|
+
channelType: z78.enum(["n", "p"]),
|
|
17462
|
+
mosfetMode: z78.enum(["enhancement", "depletion"])
|
|
17451
17463
|
});
|
|
17452
17464
|
var mosfetPins = [
|
|
17453
17465
|
"pin1",
|
|
@@ -17476,19 +17488,19 @@ expectTypesMatch(true);
|
|
|
17476
17488
|
|
|
17477
17489
|
// lib/components/inductor.ts
|
|
17478
17490
|
import { inductance } from "circuit-json";
|
|
17479
|
-
import { z as
|
|
17491
|
+
import { z as z80 } from "zod";
|
|
17480
17492
|
var inductorPins = lrPins;
|
|
17481
17493
|
var inductorProps = commonComponentProps.extend({
|
|
17482
17494
|
inductance,
|
|
17483
|
-
maxCurrentRating:
|
|
17495
|
+
maxCurrentRating: z80.union([z80.string(), z80.number()]).optional(),
|
|
17484
17496
|
schOrientation: schematicOrientation.optional(),
|
|
17485
17497
|
connections: createConnectionsProp(inductorPins).optional()
|
|
17486
17498
|
});
|
|
17487
17499
|
expectTypesMatch(true);
|
|
17488
17500
|
|
|
17489
17501
|
// lib/components/diode.ts
|
|
17490
|
-
import { z as
|
|
17491
|
-
var diodeConnectionKeys =
|
|
17502
|
+
import { z as z81 } from "zod";
|
|
17503
|
+
var diodeConnectionKeys = z81.enum([
|
|
17492
17504
|
"anode",
|
|
17493
17505
|
"cathode",
|
|
17494
17506
|
"pin1",
|
|
@@ -17496,9 +17508,9 @@ var diodeConnectionKeys = z80.enum([
|
|
|
17496
17508
|
"pos",
|
|
17497
17509
|
"neg"
|
|
17498
17510
|
]);
|
|
17499
|
-
var connectionTarget3 =
|
|
17500
|
-
var connectionsProp2 =
|
|
17501
|
-
var diodeVariant =
|
|
17511
|
+
var connectionTarget3 = z81.string().or(z81.array(z81.string()).readonly()).or(z81.array(z81.string()));
|
|
17512
|
+
var connectionsProp2 = z81.record(diodeConnectionKeys, connectionTarget3);
|
|
17513
|
+
var diodeVariant = z81.enum([
|
|
17502
17514
|
"standard",
|
|
17503
17515
|
"schottky",
|
|
17504
17516
|
"zener",
|
|
@@ -17509,12 +17521,12 @@ var diodeVariant = z80.enum([
|
|
|
17509
17521
|
var diodeProps = commonComponentProps.extend({
|
|
17510
17522
|
connections: connectionsProp2.optional(),
|
|
17511
17523
|
variant: diodeVariant.optional().default("standard"),
|
|
17512
|
-
standard:
|
|
17513
|
-
schottky:
|
|
17514
|
-
zener:
|
|
17515
|
-
avalanche:
|
|
17516
|
-
photo:
|
|
17517
|
-
tvs:
|
|
17524
|
+
standard: z81.boolean().optional(),
|
|
17525
|
+
schottky: z81.boolean().optional(),
|
|
17526
|
+
zener: z81.boolean().optional(),
|
|
17527
|
+
avalanche: z81.boolean().optional(),
|
|
17528
|
+
photo: z81.boolean().optional(),
|
|
17529
|
+
tvs: z81.boolean().optional(),
|
|
17518
17530
|
schOrientation: schematicOrientation.optional()
|
|
17519
17531
|
}).superRefine((data, ctx) => {
|
|
17520
17532
|
const enabledFlags = [
|
|
@@ -17527,11 +17539,11 @@ var diodeProps = commonComponentProps.extend({
|
|
|
17527
17539
|
].filter(Boolean).length;
|
|
17528
17540
|
if (enabledFlags > 1) {
|
|
17529
17541
|
ctx.addIssue({
|
|
17530
|
-
code:
|
|
17542
|
+
code: z81.ZodIssueCode.custom,
|
|
17531
17543
|
message: "Exactly one diode variant must be enabled",
|
|
17532
17544
|
path: []
|
|
17533
17545
|
});
|
|
17534
|
-
return
|
|
17546
|
+
return z81.INVALID;
|
|
17535
17547
|
}
|
|
17536
17548
|
}).transform((data) => {
|
|
17537
17549
|
const result = {
|
|
@@ -17578,33 +17590,33 @@ var diodePins = lrPolarPins;
|
|
|
17578
17590
|
expectTypesMatch(true);
|
|
17579
17591
|
|
|
17580
17592
|
// lib/components/led.ts
|
|
17581
|
-
import { z as
|
|
17593
|
+
import { z as z82 } from "zod";
|
|
17582
17594
|
var ledProps = commonComponentProps.extend({
|
|
17583
|
-
color:
|
|
17584
|
-
wavelength:
|
|
17585
|
-
schDisplayValue:
|
|
17595
|
+
color: z82.string().optional(),
|
|
17596
|
+
wavelength: z82.string().optional(),
|
|
17597
|
+
schDisplayValue: z82.string().optional(),
|
|
17586
17598
|
schOrientation: schematicOrientation.optional(),
|
|
17587
17599
|
connections: createConnectionsProp(lrPolarPins).optional(),
|
|
17588
|
-
laser:
|
|
17600
|
+
laser: z82.boolean().optional()
|
|
17589
17601
|
});
|
|
17590
17602
|
var ledPins = lrPolarPins;
|
|
17591
17603
|
|
|
17592
17604
|
// lib/components/switch.ts
|
|
17593
17605
|
import { ms as ms2, frequency as frequency3 } from "circuit-json";
|
|
17594
|
-
import { z as
|
|
17606
|
+
import { z as z83 } from "zod";
|
|
17595
17607
|
var switchProps = commonComponentProps.extend({
|
|
17596
|
-
type:
|
|
17597
|
-
isNormallyClosed:
|
|
17598
|
-
spst:
|
|
17599
|
-
spdt:
|
|
17600
|
-
dpst:
|
|
17601
|
-
dpdt:
|
|
17608
|
+
type: z83.enum(["spst", "spdt", "dpst", "dpdt"]).optional(),
|
|
17609
|
+
isNormallyClosed: z83.boolean().optional().default(false),
|
|
17610
|
+
spst: z83.boolean().optional(),
|
|
17611
|
+
spdt: z83.boolean().optional(),
|
|
17612
|
+
dpst: z83.boolean().optional(),
|
|
17613
|
+
dpdt: z83.boolean().optional(),
|
|
17602
17614
|
simSwitchFrequency: frequency3.optional(),
|
|
17603
17615
|
simCloseAt: ms2.optional(),
|
|
17604
17616
|
simOpenAt: ms2.optional(),
|
|
17605
|
-
simStartClosed:
|
|
17606
|
-
simStartOpen:
|
|
17607
|
-
connections:
|
|
17617
|
+
simStartClosed: z83.boolean().optional(),
|
|
17618
|
+
simStartOpen: z83.boolean().optional(),
|
|
17619
|
+
connections: z83.custom().pipe(z83.record(z83.string(), connectionTarget)).optional()
|
|
17608
17620
|
}).transform((props) => {
|
|
17609
17621
|
const updatedProps = { ...props };
|
|
17610
17622
|
if (updatedProps.dpdt) {
|
|
@@ -17636,33 +17648,33 @@ expectTypesMatch(true);
|
|
|
17636
17648
|
|
|
17637
17649
|
// lib/components/fabrication-note-text.ts
|
|
17638
17650
|
import { length as length4 } from "circuit-json";
|
|
17639
|
-
import { z as
|
|
17651
|
+
import { z as z84 } from "zod";
|
|
17640
17652
|
var fabricationNoteTextProps = pcbLayoutProps.extend({
|
|
17641
|
-
text:
|
|
17642
|
-
anchorAlignment:
|
|
17643
|
-
font:
|
|
17653
|
+
text: z84.string(),
|
|
17654
|
+
anchorAlignment: z84.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
17655
|
+
font: z84.enum(["tscircuit2024"]).optional(),
|
|
17644
17656
|
fontSize: length4.optional(),
|
|
17645
|
-
color:
|
|
17657
|
+
color: z84.string().optional()
|
|
17646
17658
|
});
|
|
17647
17659
|
expectTypesMatch(true);
|
|
17648
17660
|
|
|
17649
17661
|
// lib/components/fabrication-note-rect.ts
|
|
17650
17662
|
import { distance as distance20 } from "circuit-json";
|
|
17651
|
-
import { z as
|
|
17663
|
+
import { z as z85 } from "zod";
|
|
17652
17664
|
var fabricationNoteRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
17653
17665
|
width: distance20,
|
|
17654
17666
|
height: distance20,
|
|
17655
17667
|
strokeWidth: distance20.optional(),
|
|
17656
|
-
isFilled:
|
|
17657
|
-
hasStroke:
|
|
17658
|
-
isStrokeDashed:
|
|
17659
|
-
color:
|
|
17668
|
+
isFilled: z85.boolean().optional(),
|
|
17669
|
+
hasStroke: z85.boolean().optional(),
|
|
17670
|
+
isStrokeDashed: z85.boolean().optional(),
|
|
17671
|
+
color: z85.string().optional(),
|
|
17660
17672
|
cornerRadius: distance20.optional()
|
|
17661
17673
|
});
|
|
17662
17674
|
|
|
17663
17675
|
// lib/components/fabrication-note-path.ts
|
|
17664
17676
|
import { length as length5, route_hint_point as route_hint_point3 } from "circuit-json";
|
|
17665
|
-
import { z as
|
|
17677
|
+
import { z as z86 } from "zod";
|
|
17666
17678
|
var fabricationNotePathProps = pcbLayoutProps.omit({
|
|
17667
17679
|
pcbLeftEdgeX: true,
|
|
17668
17680
|
pcbRightEdgeX: true,
|
|
@@ -17674,15 +17686,15 @@ var fabricationNotePathProps = pcbLayoutProps.omit({
|
|
|
17674
17686
|
pcbOffsetY: true,
|
|
17675
17687
|
pcbRotation: true
|
|
17676
17688
|
}).extend({
|
|
17677
|
-
route:
|
|
17689
|
+
route: z86.array(route_hint_point3),
|
|
17678
17690
|
strokeWidth: length5.optional(),
|
|
17679
|
-
color:
|
|
17691
|
+
color: z86.string().optional()
|
|
17680
17692
|
});
|
|
17681
17693
|
|
|
17682
17694
|
// lib/components/fabrication-note-dimension.ts
|
|
17683
17695
|
import { distance as distance21, length as length6 } from "circuit-json";
|
|
17684
|
-
import { z as
|
|
17685
|
-
var dimensionTarget =
|
|
17696
|
+
import { z as z87 } from "zod";
|
|
17697
|
+
var dimensionTarget = z87.union([z87.string(), point]);
|
|
17686
17698
|
var fabricationNoteDimensionProps = pcbLayoutProps.omit({
|
|
17687
17699
|
pcbLeftEdgeX: true,
|
|
17688
17700
|
pcbRightEdgeX: true,
|
|
@@ -17696,54 +17708,54 @@ var fabricationNoteDimensionProps = pcbLayoutProps.omit({
|
|
|
17696
17708
|
}).extend({
|
|
17697
17709
|
from: dimensionTarget,
|
|
17698
17710
|
to: dimensionTarget,
|
|
17699
|
-
text:
|
|
17711
|
+
text: z87.string().optional(),
|
|
17700
17712
|
offset: distance21.optional(),
|
|
17701
|
-
font:
|
|
17713
|
+
font: z87.enum(["tscircuit2024"]).optional(),
|
|
17702
17714
|
fontSize: length6.optional(),
|
|
17703
|
-
color:
|
|
17715
|
+
color: z87.string().optional(),
|
|
17704
17716
|
arrowSize: distance21.optional(),
|
|
17705
|
-
units:
|
|
17706
|
-
outerEdgeToEdge:
|
|
17707
|
-
centerToCenter:
|
|
17708
|
-
innerEdgeToEdge:
|
|
17717
|
+
units: z87.enum(["in", "mm"]).optional(),
|
|
17718
|
+
outerEdgeToEdge: z87.literal(true).optional(),
|
|
17719
|
+
centerToCenter: z87.literal(true).optional(),
|
|
17720
|
+
innerEdgeToEdge: z87.literal(true).optional()
|
|
17709
17721
|
});
|
|
17710
17722
|
expectTypesMatch(true);
|
|
17711
17723
|
|
|
17712
17724
|
// lib/components/pcb-trace.ts
|
|
17713
17725
|
import { distance as distance22, route_hint_point as route_hint_point4 } from "circuit-json";
|
|
17714
|
-
import { z as
|
|
17715
|
-
var pcbTraceProps =
|
|
17716
|
-
layer:
|
|
17726
|
+
import { z as z88 } from "zod";
|
|
17727
|
+
var pcbTraceProps = z88.object({
|
|
17728
|
+
layer: z88.string().optional(),
|
|
17717
17729
|
thickness: distance22.optional(),
|
|
17718
|
-
route:
|
|
17730
|
+
route: z88.array(route_hint_point4)
|
|
17719
17731
|
});
|
|
17720
17732
|
|
|
17721
17733
|
// lib/components/via.ts
|
|
17722
17734
|
import { distance as distance23, layer_ref as layer_ref6 } from "circuit-json";
|
|
17723
|
-
import { z as
|
|
17735
|
+
import { z as z89 } from "zod";
|
|
17724
17736
|
var viaProps = commonLayoutProps.extend({
|
|
17725
|
-
name:
|
|
17737
|
+
name: z89.string().optional(),
|
|
17726
17738
|
fromLayer: layer_ref6.optional(),
|
|
17727
17739
|
toLayer: layer_ref6.optional(),
|
|
17728
17740
|
holeDiameter: distance23.optional(),
|
|
17729
17741
|
outerDiameter: distance23.optional(),
|
|
17730
|
-
layers:
|
|
17731
|
-
connectsTo:
|
|
17732
|
-
netIsAssignable:
|
|
17742
|
+
layers: z89.array(layer_ref6).optional(),
|
|
17743
|
+
connectsTo: z89.string().or(z89.array(z89.string())).optional(),
|
|
17744
|
+
netIsAssignable: z89.boolean().optional()
|
|
17733
17745
|
});
|
|
17734
17746
|
expectTypesMatch(true);
|
|
17735
17747
|
|
|
17736
17748
|
// lib/components/testpoint.ts
|
|
17737
17749
|
import { distance as distance24 } from "circuit-json";
|
|
17738
|
-
import { z as
|
|
17750
|
+
import { z as z90 } from "zod";
|
|
17739
17751
|
var testpointPins = ["pin1"];
|
|
17740
|
-
var testpointConnectionsProp =
|
|
17752
|
+
var testpointConnectionsProp = z90.object({
|
|
17741
17753
|
pin1: connectionTarget
|
|
17742
17754
|
}).strict();
|
|
17743
17755
|
var testpointProps = commonComponentProps.extend({
|
|
17744
17756
|
connections: testpointConnectionsProp.optional(),
|
|
17745
|
-
footprintVariant:
|
|
17746
|
-
padShape:
|
|
17757
|
+
footprintVariant: z90.enum(["pad", "through_hole"]).optional(),
|
|
17758
|
+
padShape: z90.enum(["rect", "circle"]).optional().default("circle"),
|
|
17747
17759
|
padDiameter: distance24.optional(),
|
|
17748
17760
|
holeDiameter: distance24.optional(),
|
|
17749
17761
|
width: distance24.optional(),
|
|
@@ -17755,45 +17767,45 @@ var testpointProps = commonComponentProps.extend({
|
|
|
17755
17767
|
expectTypesMatch(true);
|
|
17756
17768
|
|
|
17757
17769
|
// lib/components/breakoutpoint.ts
|
|
17758
|
-
import { z as
|
|
17770
|
+
import { z as z91 } from "zod";
|
|
17759
17771
|
var breakoutPointProps = pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
17760
|
-
connection:
|
|
17772
|
+
connection: z91.string()
|
|
17761
17773
|
});
|
|
17762
17774
|
expectTypesMatch(true);
|
|
17763
17775
|
|
|
17764
17776
|
// lib/components/pcb-keepout.ts
|
|
17765
17777
|
import { distance as distance25, layer_ref as layer_ref7 } from "circuit-json";
|
|
17766
|
-
import { z as
|
|
17767
|
-
var pcbKeepoutProps =
|
|
17778
|
+
import { z as z92 } from "zod";
|
|
17779
|
+
var pcbKeepoutProps = z92.union([
|
|
17768
17780
|
pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
17769
|
-
shape:
|
|
17781
|
+
shape: z92.literal("circle"),
|
|
17770
17782
|
radius: distance25,
|
|
17771
|
-
layers:
|
|
17783
|
+
layers: z92.array(layer_ref7).optional()
|
|
17772
17784
|
}),
|
|
17773
17785
|
pcbLayoutProps.extend({
|
|
17774
|
-
shape:
|
|
17786
|
+
shape: z92.literal("rect"),
|
|
17775
17787
|
width: distance25,
|
|
17776
17788
|
height: distance25,
|
|
17777
|
-
layers:
|
|
17789
|
+
layers: z92.array(layer_ref7).optional()
|
|
17778
17790
|
})
|
|
17779
17791
|
]);
|
|
17780
17792
|
|
|
17781
17793
|
// lib/components/courtyard-rect.ts
|
|
17782
17794
|
import { distance as distance26 } from "circuit-json";
|
|
17783
|
-
import { z as
|
|
17795
|
+
import { z as z93 } from "zod";
|
|
17784
17796
|
var courtyardRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
17785
17797
|
width: distance26,
|
|
17786
17798
|
height: distance26,
|
|
17787
17799
|
strokeWidth: distance26.optional(),
|
|
17788
|
-
isFilled:
|
|
17789
|
-
hasStroke:
|
|
17790
|
-
isStrokeDashed:
|
|
17791
|
-
color:
|
|
17800
|
+
isFilled: z93.boolean().optional(),
|
|
17801
|
+
hasStroke: z93.boolean().optional(),
|
|
17802
|
+
isStrokeDashed: z93.boolean().optional(),
|
|
17803
|
+
color: z93.string().optional()
|
|
17792
17804
|
});
|
|
17793
17805
|
|
|
17794
17806
|
// lib/components/courtyard-outline.ts
|
|
17795
17807
|
import { length as length7 } from "circuit-json";
|
|
17796
|
-
import { z as
|
|
17808
|
+
import { z as z94 } from "zod";
|
|
17797
17809
|
var courtyardOutlineProps = pcbLayoutProps.omit({
|
|
17798
17810
|
pcbLeftEdgeX: true,
|
|
17799
17811
|
pcbRightEdgeX: true,
|
|
@@ -17805,11 +17817,11 @@ var courtyardOutlineProps = pcbLayoutProps.omit({
|
|
|
17805
17817
|
pcbOffsetY: true,
|
|
17806
17818
|
pcbRotation: true
|
|
17807
17819
|
}).extend({
|
|
17808
|
-
outline:
|
|
17820
|
+
outline: z94.array(point),
|
|
17809
17821
|
strokeWidth: length7.optional(),
|
|
17810
|
-
isClosed:
|
|
17811
|
-
isStrokeDashed:
|
|
17812
|
-
color:
|
|
17822
|
+
isClosed: z94.boolean().optional(),
|
|
17823
|
+
isStrokeDashed: z94.boolean().optional(),
|
|
17824
|
+
color: z94.string().optional()
|
|
17813
17825
|
});
|
|
17814
17826
|
|
|
17815
17827
|
// lib/components/courtyard-circle.ts
|
|
@@ -17829,35 +17841,35 @@ var courtyardPillProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
|
17829
17841
|
});
|
|
17830
17842
|
|
|
17831
17843
|
// lib/components/copper-pour.ts
|
|
17832
|
-
import { z as
|
|
17844
|
+
import { z as z97 } from "zod";
|
|
17833
17845
|
import { layer_ref as layer_ref8 } from "circuit-json";
|
|
17834
|
-
var copperPourProps =
|
|
17835
|
-
name:
|
|
17846
|
+
var copperPourProps = z97.object({
|
|
17847
|
+
name: z97.string().optional(),
|
|
17836
17848
|
layer: layer_ref8,
|
|
17837
|
-
connectsTo:
|
|
17838
|
-
unbroken:
|
|
17849
|
+
connectsTo: z97.string(),
|
|
17850
|
+
unbroken: z97.boolean().optional(),
|
|
17839
17851
|
padMargin: distance.optional(),
|
|
17840
17852
|
traceMargin: distance.optional(),
|
|
17841
17853
|
clearance: distance.optional(),
|
|
17842
17854
|
boardEdgeMargin: distance.optional(),
|
|
17843
17855
|
cutoutMargin: distance.optional(),
|
|
17844
|
-
outline:
|
|
17845
|
-
coveredWithSolderMask:
|
|
17856
|
+
outline: z97.array(point).optional(),
|
|
17857
|
+
coveredWithSolderMask: z97.boolean().optional().default(true)
|
|
17846
17858
|
});
|
|
17847
17859
|
expectTypesMatch(true);
|
|
17848
17860
|
|
|
17849
17861
|
// lib/components/cadassembly.ts
|
|
17850
17862
|
import { layer_ref as layer_ref9 } from "circuit-json";
|
|
17851
|
-
import { z as
|
|
17852
|
-
var cadassemblyProps =
|
|
17863
|
+
import { z as z98 } from "zod";
|
|
17864
|
+
var cadassemblyProps = z98.object({
|
|
17853
17865
|
originalLayer: layer_ref9.default("top").optional(),
|
|
17854
|
-
children:
|
|
17866
|
+
children: z98.any().optional()
|
|
17855
17867
|
});
|
|
17856
17868
|
expectTypesMatch(true);
|
|
17857
17869
|
|
|
17858
17870
|
// lib/components/cadmodel.ts
|
|
17859
|
-
import { z as
|
|
17860
|
-
var pcbPosition =
|
|
17871
|
+
import { z as z99 } from "zod";
|
|
17872
|
+
var pcbPosition = z99.object({
|
|
17861
17873
|
pcbX: pcbCoordinate.optional(),
|
|
17862
17874
|
pcbY: pcbCoordinate.optional(),
|
|
17863
17875
|
pcbLeftEdgeX: pcbCoordinate.optional(),
|
|
@@ -17874,7 +17886,7 @@ var cadModelBaseWithUrl = cadModelBase.extend({
|
|
|
17874
17886
|
});
|
|
17875
17887
|
var cadModelObject = cadModelBaseWithUrl.merge(pcbPosition);
|
|
17876
17888
|
expectTypesMatch(true);
|
|
17877
|
-
var cadmodelProps =
|
|
17889
|
+
var cadmodelProps = z99.union([z99.null(), url, cadModelObject]);
|
|
17878
17890
|
|
|
17879
17891
|
// lib/components/power-source.ts
|
|
17880
17892
|
import { voltage as voltage3 } from "circuit-json";
|
|
@@ -17884,9 +17896,9 @@ var powerSourceProps = commonComponentProps.extend({
|
|
|
17884
17896
|
|
|
17885
17897
|
// lib/components/voltagesource.ts
|
|
17886
17898
|
import { frequency as frequency4, rotation as rotation5, voltage as voltage4 } from "circuit-json";
|
|
17887
|
-
import { z as
|
|
17899
|
+
import { z as z100 } from "zod";
|
|
17888
17900
|
var voltageSourcePinLabels = ["pin1", "pin2", "pos", "neg"];
|
|
17889
|
-
var percentage =
|
|
17901
|
+
var percentage = z100.union([z100.string(), z100.number()]).transform((val) => {
|
|
17890
17902
|
if (typeof val === "string") {
|
|
17891
17903
|
if (val.endsWith("%")) {
|
|
17892
17904
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -17895,13 +17907,13 @@ var percentage = z99.union([z99.string(), z99.number()]).transform((val) => {
|
|
|
17895
17907
|
}
|
|
17896
17908
|
return val;
|
|
17897
17909
|
}).pipe(
|
|
17898
|
-
|
|
17910
|
+
z100.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
17899
17911
|
);
|
|
17900
17912
|
var voltageSourceProps = commonComponentProps.extend({
|
|
17901
17913
|
voltage: voltage4.optional(),
|
|
17902
17914
|
frequency: frequency4.optional(),
|
|
17903
17915
|
peakToPeakVoltage: voltage4.optional(),
|
|
17904
|
-
waveShape:
|
|
17916
|
+
waveShape: z100.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
|
|
17905
17917
|
phase: rotation5.optional(),
|
|
17906
17918
|
dutyCycle: percentage.optional(),
|
|
17907
17919
|
connections: createConnectionsProp(voltageSourcePinLabels).optional()
|
|
@@ -17911,9 +17923,9 @@ expectTypesMatch(true);
|
|
|
17911
17923
|
|
|
17912
17924
|
// lib/components/currentsource.ts
|
|
17913
17925
|
import { frequency as frequency5, rotation as rotation6, current } from "circuit-json";
|
|
17914
|
-
import { z as
|
|
17926
|
+
import { z as z101 } from "zod";
|
|
17915
17927
|
var currentSourcePinLabels = ["pin1", "pin2", "pos", "neg"];
|
|
17916
|
-
var percentage2 =
|
|
17928
|
+
var percentage2 = z101.union([z101.string(), z101.number()]).transform((val) => {
|
|
17917
17929
|
if (typeof val === "string") {
|
|
17918
17930
|
if (val.endsWith("%")) {
|
|
17919
17931
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -17922,13 +17934,13 @@ var percentage2 = z100.union([z100.string(), z100.number()]).transform((val) =>
|
|
|
17922
17934
|
}
|
|
17923
17935
|
return val;
|
|
17924
17936
|
}).pipe(
|
|
17925
|
-
|
|
17937
|
+
z101.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
17926
17938
|
);
|
|
17927
17939
|
var currentSourceProps = commonComponentProps.extend({
|
|
17928
17940
|
current: current.optional(),
|
|
17929
17941
|
frequency: frequency5.optional(),
|
|
17930
17942
|
peakToPeakCurrent: current.optional(),
|
|
17931
|
-
waveShape:
|
|
17943
|
+
waveShape: z101.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
|
|
17932
17944
|
phase: rotation6.optional(),
|
|
17933
17945
|
dutyCycle: percentage2.optional(),
|
|
17934
17946
|
connections: createConnectionsProp(currentSourcePinLabels).optional()
|
|
@@ -17937,57 +17949,57 @@ var currentSourcePins = lrPolarPins;
|
|
|
17937
17949
|
expectTypesMatch(true);
|
|
17938
17950
|
|
|
17939
17951
|
// lib/components/voltageprobe.ts
|
|
17940
|
-
import { z as
|
|
17952
|
+
import { z as z102 } from "zod";
|
|
17941
17953
|
var voltageProbeProps = commonComponentProps.omit({ name: true }).extend({
|
|
17942
|
-
name:
|
|
17943
|
-
connectsTo:
|
|
17944
|
-
referenceTo:
|
|
17945
|
-
color:
|
|
17954
|
+
name: z102.string().optional(),
|
|
17955
|
+
connectsTo: z102.string(),
|
|
17956
|
+
referenceTo: z102.string().optional(),
|
|
17957
|
+
color: z102.string().optional()
|
|
17946
17958
|
});
|
|
17947
17959
|
expectTypesMatch(true);
|
|
17948
17960
|
|
|
17949
17961
|
// lib/components/schematic-arc.ts
|
|
17950
17962
|
import { distance as distance29, point as point5, rotation as rotation7 } from "circuit-json";
|
|
17951
|
-
import { z as
|
|
17952
|
-
var schematicArcProps =
|
|
17963
|
+
import { z as z103 } from "zod";
|
|
17964
|
+
var schematicArcProps = z103.object({
|
|
17953
17965
|
center: point5,
|
|
17954
17966
|
radius: distance29,
|
|
17955
17967
|
startAngleDegrees: rotation7,
|
|
17956
17968
|
endAngleDegrees: rotation7,
|
|
17957
|
-
direction:
|
|
17969
|
+
direction: z103.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
|
|
17958
17970
|
strokeWidth: distance29.optional(),
|
|
17959
|
-
color:
|
|
17960
|
-
isDashed:
|
|
17971
|
+
color: z103.string().optional(),
|
|
17972
|
+
isDashed: z103.boolean().optional().default(false)
|
|
17961
17973
|
});
|
|
17962
17974
|
expectTypesMatch(true);
|
|
17963
17975
|
|
|
17964
17976
|
// lib/components/toolingrail.ts
|
|
17965
|
-
import { z as
|
|
17966
|
-
var toolingrailProps =
|
|
17967
|
-
children:
|
|
17977
|
+
import { z as z104 } from "zod";
|
|
17978
|
+
var toolingrailProps = z104.object({
|
|
17979
|
+
children: z104.any().optional()
|
|
17968
17980
|
});
|
|
17969
17981
|
expectTypesMatch(true);
|
|
17970
17982
|
|
|
17971
17983
|
// lib/components/schematic-box.ts
|
|
17972
17984
|
import { distance as distance30 } from "circuit-json";
|
|
17973
|
-
import { z as
|
|
17974
|
-
var schematicBoxProps =
|
|
17985
|
+
import { z as z105 } from "zod";
|
|
17986
|
+
var schematicBoxProps = z105.object({
|
|
17975
17987
|
schX: distance30.optional(),
|
|
17976
17988
|
schY: distance30.optional(),
|
|
17977
17989
|
width: distance30.optional(),
|
|
17978
17990
|
height: distance30.optional(),
|
|
17979
|
-
overlay:
|
|
17991
|
+
overlay: z105.array(z105.string()).optional(),
|
|
17980
17992
|
padding: distance30.optional(),
|
|
17981
17993
|
paddingLeft: distance30.optional(),
|
|
17982
17994
|
paddingRight: distance30.optional(),
|
|
17983
17995
|
paddingTop: distance30.optional(),
|
|
17984
17996
|
paddingBottom: distance30.optional(),
|
|
17985
|
-
title:
|
|
17997
|
+
title: z105.string().optional(),
|
|
17986
17998
|
titleAlignment: ninePointAnchor.default("top_left"),
|
|
17987
|
-
titleColor:
|
|
17999
|
+
titleColor: z105.string().optional(),
|
|
17988
18000
|
titleFontSize: distance30.optional(),
|
|
17989
|
-
titleInside:
|
|
17990
|
-
strokeStyle:
|
|
18001
|
+
titleInside: z105.boolean().default(false),
|
|
18002
|
+
strokeStyle: z105.enum(["solid", "dashed"]).default("solid")
|
|
17991
18003
|
}).refine(
|
|
17992
18004
|
(elm) => elm.width !== void 0 && elm.height !== void 0 || Array.isArray(elm.overlay) && elm.overlay.length > 0,
|
|
17993
18005
|
{
|
|
@@ -18003,15 +18015,15 @@ expectTypesMatch(true);
|
|
|
18003
18015
|
|
|
18004
18016
|
// lib/components/schematic-circle.ts
|
|
18005
18017
|
import { distance as distance31, point as point6 } from "circuit-json";
|
|
18006
|
-
import { z as
|
|
18007
|
-
var schematicCircleProps =
|
|
18018
|
+
import { z as z106 } from "zod";
|
|
18019
|
+
var schematicCircleProps = z106.object({
|
|
18008
18020
|
center: point6,
|
|
18009
18021
|
radius: distance31,
|
|
18010
18022
|
strokeWidth: distance31.optional(),
|
|
18011
|
-
color:
|
|
18012
|
-
isFilled:
|
|
18013
|
-
fillColor:
|
|
18014
|
-
isDashed:
|
|
18023
|
+
color: z106.string().optional(),
|
|
18024
|
+
isFilled: z106.boolean().optional().default(false),
|
|
18025
|
+
fillColor: z106.string().optional(),
|
|
18026
|
+
isDashed: z106.boolean().optional().default(false)
|
|
18015
18027
|
});
|
|
18016
18028
|
expectTypesMatch(
|
|
18017
18029
|
true
|
|
@@ -18019,43 +18031,43 @@ expectTypesMatch(
|
|
|
18019
18031
|
|
|
18020
18032
|
// lib/components/schematic-rect.ts
|
|
18021
18033
|
import { distance as distance32, rotation as rotation8 } from "circuit-json";
|
|
18022
|
-
import { z as
|
|
18023
|
-
var schematicRectProps =
|
|
18034
|
+
import { z as z107 } from "zod";
|
|
18035
|
+
var schematicRectProps = z107.object({
|
|
18024
18036
|
schX: distance32.optional(),
|
|
18025
18037
|
schY: distance32.optional(),
|
|
18026
18038
|
width: distance32,
|
|
18027
18039
|
height: distance32,
|
|
18028
18040
|
rotation: rotation8.default(0),
|
|
18029
18041
|
strokeWidth: distance32.optional(),
|
|
18030
|
-
color:
|
|
18031
|
-
isFilled:
|
|
18032
|
-
fillColor:
|
|
18033
|
-
isDashed:
|
|
18042
|
+
color: z107.string().optional(),
|
|
18043
|
+
isFilled: z107.boolean().optional().default(false),
|
|
18044
|
+
fillColor: z107.string().optional(),
|
|
18045
|
+
isDashed: z107.boolean().optional().default(false),
|
|
18034
18046
|
cornerRadius: distance32.optional()
|
|
18035
18047
|
});
|
|
18036
18048
|
expectTypesMatch(true);
|
|
18037
18049
|
|
|
18038
18050
|
// lib/components/schematic-line.ts
|
|
18039
18051
|
import { distance as distance33 } from "circuit-json";
|
|
18040
|
-
import { z as
|
|
18041
|
-
var schematicLineProps =
|
|
18052
|
+
import { z as z108 } from "zod";
|
|
18053
|
+
var schematicLineProps = z108.object({
|
|
18042
18054
|
x1: distance33,
|
|
18043
18055
|
y1: distance33,
|
|
18044
18056
|
x2: distance33,
|
|
18045
18057
|
y2: distance33,
|
|
18046
18058
|
strokeWidth: distance33.optional(),
|
|
18047
|
-
color:
|
|
18048
|
-
isDashed:
|
|
18059
|
+
color: z108.string().optional(),
|
|
18060
|
+
isDashed: z108.boolean().optional().default(false)
|
|
18049
18061
|
});
|
|
18050
18062
|
expectTypesMatch(true);
|
|
18051
18063
|
|
|
18052
18064
|
// lib/components/schematic-text.ts
|
|
18053
18065
|
import { distance as distance34, rotation as rotation9 } from "circuit-json";
|
|
18054
|
-
import { z as
|
|
18066
|
+
import { z as z110 } from "zod";
|
|
18055
18067
|
|
|
18056
18068
|
// lib/common/fivePointAnchor.ts
|
|
18057
|
-
import { z as
|
|
18058
|
-
var fivePointAnchor =
|
|
18069
|
+
import { z as z109 } from "zod";
|
|
18070
|
+
var fivePointAnchor = z109.enum([
|
|
18059
18071
|
"center",
|
|
18060
18072
|
"left",
|
|
18061
18073
|
"right",
|
|
@@ -18064,37 +18076,37 @@ var fivePointAnchor = z108.enum([
|
|
|
18064
18076
|
]);
|
|
18065
18077
|
|
|
18066
18078
|
// lib/components/schematic-text.ts
|
|
18067
|
-
var schematicTextProps =
|
|
18079
|
+
var schematicTextProps = z110.object({
|
|
18068
18080
|
schX: distance34.optional(),
|
|
18069
18081
|
schY: distance34.optional(),
|
|
18070
|
-
text:
|
|
18071
|
-
fontSize:
|
|
18072
|
-
anchor:
|
|
18073
|
-
color:
|
|
18082
|
+
text: z110.string(),
|
|
18083
|
+
fontSize: z110.number().default(1),
|
|
18084
|
+
anchor: z110.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
|
|
18085
|
+
color: z110.string().default("#000000"),
|
|
18074
18086
|
schRotation: rotation9.default(0)
|
|
18075
18087
|
});
|
|
18076
18088
|
expectTypesMatch(true);
|
|
18077
18089
|
|
|
18078
18090
|
// lib/components/schematic-path.ts
|
|
18079
18091
|
import { distance as distance35, point as point8 } from "circuit-json";
|
|
18080
|
-
import { z as
|
|
18081
|
-
var schematicPathProps =
|
|
18082
|
-
points:
|
|
18083
|
-
svgPath:
|
|
18092
|
+
import { z as z111 } from "zod";
|
|
18093
|
+
var schematicPathProps = z111.object({
|
|
18094
|
+
points: z111.array(point8).optional(),
|
|
18095
|
+
svgPath: z111.string().optional(),
|
|
18084
18096
|
strokeWidth: distance35.optional(),
|
|
18085
|
-
strokeColor:
|
|
18086
|
-
isFilled:
|
|
18087
|
-
fillColor:
|
|
18097
|
+
strokeColor: z111.string().optional(),
|
|
18098
|
+
isFilled: z111.boolean().optional().default(false),
|
|
18099
|
+
fillColor: z111.string().optional()
|
|
18088
18100
|
});
|
|
18089
18101
|
expectTypesMatch(true);
|
|
18090
18102
|
|
|
18091
18103
|
// lib/components/schematic-table.ts
|
|
18092
18104
|
import { distance as distance36 } from "circuit-json";
|
|
18093
|
-
import { z as
|
|
18094
|
-
var schematicTableProps =
|
|
18105
|
+
import { z as z112 } from "zod";
|
|
18106
|
+
var schematicTableProps = z112.object({
|
|
18095
18107
|
schX: distance36.optional(),
|
|
18096
18108
|
schY: distance36.optional(),
|
|
18097
|
-
children:
|
|
18109
|
+
children: z112.any().optional(),
|
|
18098
18110
|
cellPadding: distance36.optional(),
|
|
18099
18111
|
borderWidth: distance36.optional(),
|
|
18100
18112
|
anchor: ninePointAnchor.optional(),
|
|
@@ -18104,33 +18116,33 @@ expectTypesMatch(true);
|
|
|
18104
18116
|
|
|
18105
18117
|
// lib/components/schematic-row.ts
|
|
18106
18118
|
import { distance as distance37 } from "circuit-json";
|
|
18107
|
-
import { z as
|
|
18108
|
-
var schematicRowProps =
|
|
18109
|
-
children:
|
|
18119
|
+
import { z as z113 } from "zod";
|
|
18120
|
+
var schematicRowProps = z113.object({
|
|
18121
|
+
children: z113.any().optional(),
|
|
18110
18122
|
height: distance37.optional()
|
|
18111
18123
|
});
|
|
18112
18124
|
expectTypesMatch(true);
|
|
18113
18125
|
|
|
18114
18126
|
// lib/components/schematic-cell.ts
|
|
18115
18127
|
import { distance as distance38 } from "circuit-json";
|
|
18116
|
-
import { z as
|
|
18117
|
-
var schematicCellProps =
|
|
18118
|
-
children:
|
|
18119
|
-
horizontalAlign:
|
|
18120
|
-
verticalAlign:
|
|
18128
|
+
import { z as z114 } from "zod";
|
|
18129
|
+
var schematicCellProps = z114.object({
|
|
18130
|
+
children: z114.string().optional(),
|
|
18131
|
+
horizontalAlign: z114.enum(["left", "center", "right"]).optional(),
|
|
18132
|
+
verticalAlign: z114.enum(["top", "middle", "bottom"]).optional(),
|
|
18121
18133
|
fontSize: distance38.optional(),
|
|
18122
|
-
rowSpan:
|
|
18123
|
-
colSpan:
|
|
18134
|
+
rowSpan: z114.number().optional(),
|
|
18135
|
+
colSpan: z114.number().optional(),
|
|
18124
18136
|
width: distance38.optional(),
|
|
18125
|
-
text:
|
|
18137
|
+
text: z114.string().optional()
|
|
18126
18138
|
});
|
|
18127
18139
|
expectTypesMatch(true);
|
|
18128
18140
|
|
|
18129
18141
|
// lib/components/schematic-section.ts
|
|
18130
|
-
import { z as
|
|
18131
|
-
var schematicSectionProps =
|
|
18132
|
-
displayName:
|
|
18133
|
-
name:
|
|
18142
|
+
import { z as z115 } from "zod";
|
|
18143
|
+
var schematicSectionProps = z115.object({
|
|
18144
|
+
displayName: z115.string().optional(),
|
|
18145
|
+
name: z115.string()
|
|
18134
18146
|
});
|
|
18135
18147
|
expectTypesMatch(
|
|
18136
18148
|
true
|
|
@@ -18138,40 +18150,40 @@ expectTypesMatch(
|
|
|
18138
18150
|
|
|
18139
18151
|
// lib/components/copper-text.ts
|
|
18140
18152
|
import { layer_ref as layer_ref10, length as length8 } from "circuit-json";
|
|
18141
|
-
import { z as
|
|
18153
|
+
import { z as z116 } from "zod";
|
|
18142
18154
|
var copperTextProps = pcbLayoutProps.extend({
|
|
18143
|
-
text:
|
|
18155
|
+
text: z116.string(),
|
|
18144
18156
|
anchorAlignment: ninePointAnchor.default("center"),
|
|
18145
|
-
font:
|
|
18157
|
+
font: z116.enum(["tscircuit2024"]).optional(),
|
|
18146
18158
|
fontSize: length8.optional(),
|
|
18147
|
-
layers:
|
|
18148
|
-
knockout:
|
|
18149
|
-
mirrored:
|
|
18159
|
+
layers: z116.array(layer_ref10).optional(),
|
|
18160
|
+
knockout: z116.boolean().optional(),
|
|
18161
|
+
mirrored: z116.boolean().optional()
|
|
18150
18162
|
});
|
|
18151
18163
|
|
|
18152
18164
|
// lib/components/silkscreen-text.ts
|
|
18153
18165
|
import { layer_ref as layer_ref11, length as length9 } from "circuit-json";
|
|
18154
|
-
import { z as
|
|
18166
|
+
import { z as z117 } from "zod";
|
|
18155
18167
|
var silkscreenTextProps = pcbLayoutProps.extend({
|
|
18156
|
-
text:
|
|
18168
|
+
text: z117.string(),
|
|
18157
18169
|
anchorAlignment: ninePointAnchor.default("center"),
|
|
18158
|
-
font:
|
|
18170
|
+
font: z117.enum(["tscircuit2024"]).optional(),
|
|
18159
18171
|
fontSize: length9.optional(),
|
|
18160
18172
|
/**
|
|
18161
18173
|
* If true, text will knock out underlying silkscreen
|
|
18162
18174
|
*/
|
|
18163
|
-
isKnockout:
|
|
18175
|
+
isKnockout: z117.boolean().optional(),
|
|
18164
18176
|
knockoutPadding: length9.optional(),
|
|
18165
18177
|
knockoutPaddingLeft: length9.optional(),
|
|
18166
18178
|
knockoutPaddingRight: length9.optional(),
|
|
18167
18179
|
knockoutPaddingTop: length9.optional(),
|
|
18168
18180
|
knockoutPaddingBottom: length9.optional(),
|
|
18169
|
-
layers:
|
|
18181
|
+
layers: z117.array(layer_ref11).optional()
|
|
18170
18182
|
});
|
|
18171
18183
|
|
|
18172
18184
|
// lib/components/silkscreen-path.ts
|
|
18173
18185
|
import { length as length10, route_hint_point as route_hint_point5 } from "circuit-json";
|
|
18174
|
-
import { z as
|
|
18186
|
+
import { z as z118 } from "zod";
|
|
18175
18187
|
var silkscreenPathProps = pcbLayoutProps.omit({
|
|
18176
18188
|
pcbLeftEdgeX: true,
|
|
18177
18189
|
pcbRightEdgeX: true,
|
|
@@ -18183,7 +18195,7 @@ var silkscreenPathProps = pcbLayoutProps.omit({
|
|
|
18183
18195
|
pcbOffsetY: true,
|
|
18184
18196
|
pcbRotation: true
|
|
18185
18197
|
}).extend({
|
|
18186
|
-
route:
|
|
18198
|
+
route: z118.array(route_hint_point5),
|
|
18187
18199
|
strokeWidth: length10.optional()
|
|
18188
18200
|
});
|
|
18189
18201
|
|
|
@@ -18205,10 +18217,10 @@ var silkscreenLineProps = pcbLayoutProps.omit({
|
|
|
18205
18217
|
|
|
18206
18218
|
// lib/components/silkscreen-rect.ts
|
|
18207
18219
|
import { distance as distance40 } from "circuit-json";
|
|
18208
|
-
import { z as
|
|
18220
|
+
import { z as z119 } from "zod";
|
|
18209
18221
|
var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
18210
|
-
filled:
|
|
18211
|
-
stroke:
|
|
18222
|
+
filled: z119.boolean().default(true).optional(),
|
|
18223
|
+
stroke: z119.enum(["dashed", "solid", "none"]).optional(),
|
|
18212
18224
|
strokeWidth: distance40.optional(),
|
|
18213
18225
|
width: distance40,
|
|
18214
18226
|
height: distance40,
|
|
@@ -18217,73 +18229,73 @@ var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
|
18217
18229
|
|
|
18218
18230
|
// lib/components/silkscreen-circle.ts
|
|
18219
18231
|
import { distance as distance41 } from "circuit-json";
|
|
18220
|
-
import { z as
|
|
18232
|
+
import { z as z120 } from "zod";
|
|
18221
18233
|
var silkscreenCircleProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
18222
|
-
isFilled:
|
|
18223
|
-
isOutline:
|
|
18234
|
+
isFilled: z120.boolean().optional(),
|
|
18235
|
+
isOutline: z120.boolean().optional(),
|
|
18224
18236
|
strokeWidth: distance41.optional(),
|
|
18225
18237
|
radius: distance41
|
|
18226
18238
|
});
|
|
18227
18239
|
|
|
18228
18240
|
// lib/components/trace-hint.ts
|
|
18229
18241
|
import { distance as distance42, layer_ref as layer_ref12, route_hint_point as route_hint_point6 } from "circuit-json";
|
|
18230
|
-
import { z as
|
|
18231
|
-
var routeHintPointProps =
|
|
18242
|
+
import { z as z121 } from "zod";
|
|
18243
|
+
var routeHintPointProps = z121.object({
|
|
18232
18244
|
x: distance42,
|
|
18233
18245
|
y: distance42,
|
|
18234
|
-
via:
|
|
18246
|
+
via: z121.boolean().optional(),
|
|
18235
18247
|
toLayer: layer_ref12.optional()
|
|
18236
18248
|
});
|
|
18237
|
-
var traceHintProps =
|
|
18238
|
-
for:
|
|
18249
|
+
var traceHintProps = z121.object({
|
|
18250
|
+
for: z121.string().optional().describe(
|
|
18239
18251
|
"Selector for the port you're targeting, not required if you're inside a trace"
|
|
18240
18252
|
),
|
|
18241
|
-
order:
|
|
18253
|
+
order: z121.number().optional(),
|
|
18242
18254
|
offset: route_hint_point6.or(routeHintPointProps).optional(),
|
|
18243
|
-
offsets:
|
|
18244
|
-
traceWidth:
|
|
18255
|
+
offsets: z121.array(route_hint_point6).or(z121.array(routeHintPointProps)).optional(),
|
|
18256
|
+
traceWidth: z121.number().optional()
|
|
18245
18257
|
});
|
|
18246
18258
|
|
|
18247
18259
|
// lib/components/port.ts
|
|
18248
|
-
import { z as
|
|
18260
|
+
import { z as z122 } from "zod";
|
|
18249
18261
|
var portProps = commonLayoutProps.extend({
|
|
18250
|
-
name:
|
|
18251
|
-
pinNumber:
|
|
18252
|
-
schStemLength:
|
|
18253
|
-
aliases:
|
|
18254
|
-
layer:
|
|
18255
|
-
layers:
|
|
18256
|
-
schX:
|
|
18257
|
-
schY:
|
|
18262
|
+
name: z122.string().optional(),
|
|
18263
|
+
pinNumber: z122.number().optional(),
|
|
18264
|
+
schStemLength: z122.number().optional(),
|
|
18265
|
+
aliases: z122.array(z122.string()).optional(),
|
|
18266
|
+
layer: z122.string().optional(),
|
|
18267
|
+
layers: z122.array(z122.string()).optional(),
|
|
18268
|
+
schX: z122.number().optional(),
|
|
18269
|
+
schY: z122.number().optional(),
|
|
18258
18270
|
direction: direction.optional(),
|
|
18259
|
-
connectsTo:
|
|
18271
|
+
connectsTo: z122.string().or(z122.array(z122.string())).optional(),
|
|
18260
18272
|
kicadPinMetadata: kicadPinMetadata.optional(),
|
|
18261
|
-
hasInversionCircle:
|
|
18273
|
+
hasInversionCircle: z122.boolean().optional()
|
|
18262
18274
|
});
|
|
18263
18275
|
|
|
18264
18276
|
// lib/components/pcb-note-text.ts
|
|
18265
18277
|
import { length as length11 } from "circuit-json";
|
|
18266
|
-
import { z as
|
|
18278
|
+
import { z as z123 } from "zod";
|
|
18267
18279
|
var pcbNoteTextProps = pcbLayoutProps.extend({
|
|
18268
|
-
text:
|
|
18269
|
-
anchorAlignment:
|
|
18270
|
-
font:
|
|
18280
|
+
text: z123.string(),
|
|
18281
|
+
anchorAlignment: z123.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
18282
|
+
font: z123.enum(["tscircuit2024"]).optional(),
|
|
18271
18283
|
fontSize: length11.optional(),
|
|
18272
|
-
color:
|
|
18284
|
+
color: z123.string().optional()
|
|
18273
18285
|
});
|
|
18274
18286
|
expectTypesMatch(true);
|
|
18275
18287
|
|
|
18276
18288
|
// lib/components/pcb-note-rect.ts
|
|
18277
18289
|
import { distance as distance43 } from "circuit-json";
|
|
18278
|
-
import { z as
|
|
18290
|
+
import { z as z124 } from "zod";
|
|
18279
18291
|
var pcbNoteRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
18280
18292
|
width: distance43,
|
|
18281
18293
|
height: distance43,
|
|
18282
18294
|
strokeWidth: distance43.optional(),
|
|
18283
|
-
isFilled:
|
|
18284
|
-
hasStroke:
|
|
18285
|
-
isStrokeDashed:
|
|
18286
|
-
color:
|
|
18295
|
+
isFilled: z124.boolean().optional(),
|
|
18296
|
+
hasStroke: z124.boolean().optional(),
|
|
18297
|
+
isStrokeDashed: z124.boolean().optional(),
|
|
18298
|
+
color: z124.string().optional(),
|
|
18287
18299
|
cornerRadius: distance43.optional()
|
|
18288
18300
|
});
|
|
18289
18301
|
expectTypesMatch(true);
|
|
@@ -18293,7 +18305,7 @@ import {
|
|
|
18293
18305
|
length as length12,
|
|
18294
18306
|
route_hint_point as route_hint_point7
|
|
18295
18307
|
} from "circuit-json";
|
|
18296
|
-
import { z as
|
|
18308
|
+
import { z as z125 } from "zod";
|
|
18297
18309
|
var pcbNotePathProps = pcbLayoutProps.omit({
|
|
18298
18310
|
pcbLeftEdgeX: true,
|
|
18299
18311
|
pcbRightEdgeX: true,
|
|
@@ -18305,15 +18317,15 @@ var pcbNotePathProps = pcbLayoutProps.omit({
|
|
|
18305
18317
|
pcbOffsetY: true,
|
|
18306
18318
|
pcbRotation: true
|
|
18307
18319
|
}).extend({
|
|
18308
|
-
route:
|
|
18320
|
+
route: z125.array(route_hint_point7),
|
|
18309
18321
|
strokeWidth: length12.optional(),
|
|
18310
|
-
color:
|
|
18322
|
+
color: z125.string().optional()
|
|
18311
18323
|
});
|
|
18312
18324
|
expectTypesMatch(true);
|
|
18313
18325
|
|
|
18314
18326
|
// lib/components/pcb-note-line.ts
|
|
18315
18327
|
import { distance as distance44 } from "circuit-json";
|
|
18316
|
-
import { z as
|
|
18328
|
+
import { z as z126 } from "zod";
|
|
18317
18329
|
var pcbNoteLineProps = pcbLayoutProps.omit({
|
|
18318
18330
|
pcbLeftEdgeX: true,
|
|
18319
18331
|
pcbRightEdgeX: true,
|
|
@@ -18330,15 +18342,15 @@ var pcbNoteLineProps = pcbLayoutProps.omit({
|
|
|
18330
18342
|
x2: distance44,
|
|
18331
18343
|
y2: distance44,
|
|
18332
18344
|
strokeWidth: distance44.optional(),
|
|
18333
|
-
color:
|
|
18334
|
-
isDashed:
|
|
18345
|
+
color: z126.string().optional(),
|
|
18346
|
+
isDashed: z126.boolean().optional()
|
|
18335
18347
|
});
|
|
18336
18348
|
expectTypesMatch(true);
|
|
18337
18349
|
|
|
18338
18350
|
// lib/components/pcb-note-dimension.ts
|
|
18339
18351
|
import { distance as distance45, length as length13 } from "circuit-json";
|
|
18340
|
-
import { z as
|
|
18341
|
-
var dimensionTarget2 =
|
|
18352
|
+
import { z as z127 } from "zod";
|
|
18353
|
+
var dimensionTarget2 = z127.union([z127.string(), point]);
|
|
18342
18354
|
var pcbNoteDimensionProps = pcbLayoutProps.omit({
|
|
18343
18355
|
pcbLeftEdgeX: true,
|
|
18344
18356
|
pcbRightEdgeX: true,
|
|
@@ -18352,101 +18364,101 @@ var pcbNoteDimensionProps = pcbLayoutProps.omit({
|
|
|
18352
18364
|
}).extend({
|
|
18353
18365
|
from: dimensionTarget2,
|
|
18354
18366
|
to: dimensionTarget2,
|
|
18355
|
-
text:
|
|
18367
|
+
text: z127.string().optional(),
|
|
18356
18368
|
offset: distance45.optional(),
|
|
18357
|
-
font:
|
|
18369
|
+
font: z127.enum(["tscircuit2024"]).optional(),
|
|
18358
18370
|
fontSize: length13.optional(),
|
|
18359
|
-
color:
|
|
18371
|
+
color: z127.string().optional(),
|
|
18360
18372
|
arrowSize: distance45.optional(),
|
|
18361
|
-
units:
|
|
18362
|
-
outerEdgeToEdge:
|
|
18363
|
-
centerToCenter:
|
|
18364
|
-
innerEdgeToEdge:
|
|
18373
|
+
units: z127.enum(["in", "mm"]).optional(),
|
|
18374
|
+
outerEdgeToEdge: z127.literal(true).optional(),
|
|
18375
|
+
centerToCenter: z127.literal(true).optional(),
|
|
18376
|
+
innerEdgeToEdge: z127.literal(true).optional()
|
|
18365
18377
|
});
|
|
18366
18378
|
expectTypesMatch(
|
|
18367
18379
|
true
|
|
18368
18380
|
);
|
|
18369
18381
|
|
|
18370
18382
|
// lib/platformConfig.ts
|
|
18371
|
-
import { z as
|
|
18372
|
-
var unvalidatedCircuitJson =
|
|
18373
|
-
var footprintLibraryResult =
|
|
18374
|
-
footprintCircuitJson:
|
|
18383
|
+
import { z as z128 } from "zod";
|
|
18384
|
+
var unvalidatedCircuitJson = z128.array(z128.any()).describe("Circuit JSON");
|
|
18385
|
+
var footprintLibraryResult = z128.object({
|
|
18386
|
+
footprintCircuitJson: z128.array(z128.any()),
|
|
18375
18387
|
cadModel: cadModelProp.optional()
|
|
18376
18388
|
});
|
|
18377
|
-
var pathToCircuitJsonFn =
|
|
18378
|
-
|
|
18379
|
-
|
|
18380
|
-
|
|
18381
|
-
).returns(
|
|
18389
|
+
var pathToCircuitJsonFn = z128.function().args(z128.string()).returns(z128.promise(footprintLibraryResult)).or(
|
|
18390
|
+
z128.function().args(
|
|
18391
|
+
z128.string(),
|
|
18392
|
+
z128.object({ resolvedPcbStyle: pcbStyle.optional() }).optional()
|
|
18393
|
+
).returns(z128.promise(footprintLibraryResult))
|
|
18382
18394
|
).describe("A function that takes a path and returns Circuit JSON");
|
|
18383
|
-
var footprintFileParserEntry =
|
|
18384
|
-
loadFromUrl:
|
|
18395
|
+
var footprintFileParserEntry = z128.object({
|
|
18396
|
+
loadFromUrl: z128.function().args(z128.string()).returns(z128.promise(footprintLibraryResult)).describe(
|
|
18385
18397
|
"A function that takes a footprint file URL and returns Circuit JSON"
|
|
18386
18398
|
)
|
|
18387
18399
|
});
|
|
18388
|
-
var spiceEngineSimulationResult =
|
|
18389
|
-
engineVersionString:
|
|
18400
|
+
var spiceEngineSimulationResult = z128.object({
|
|
18401
|
+
engineVersionString: z128.string().optional(),
|
|
18390
18402
|
simulationResultCircuitJson: unvalidatedCircuitJson
|
|
18391
18403
|
});
|
|
18392
|
-
var spiceEngineZod =
|
|
18393
|
-
simulate:
|
|
18404
|
+
var spiceEngineZod = z128.object({
|
|
18405
|
+
simulate: z128.function().args(z128.string()).returns(z128.promise(spiceEngineSimulationResult)).describe(
|
|
18394
18406
|
"A function that takes a SPICE string and returns a simulation result"
|
|
18395
18407
|
)
|
|
18396
18408
|
});
|
|
18397
|
-
var defaultSpiceEngine =
|
|
18409
|
+
var defaultSpiceEngine = z128.custom(
|
|
18398
18410
|
(value) => typeof value === "string"
|
|
18399
18411
|
);
|
|
18400
|
-
var autorouterInstance =
|
|
18401
|
-
run:
|
|
18402
|
-
getOutputSimpleRouteJson:
|
|
18412
|
+
var autorouterInstance = z128.object({
|
|
18413
|
+
run: z128.function().args().returns(z128.promise(z128.unknown())).describe("Run the autorouter"),
|
|
18414
|
+
getOutputSimpleRouteJson: z128.function().args().returns(z128.promise(z128.any())).describe("Get the resulting SimpleRouteJson")
|
|
18403
18415
|
});
|
|
18404
|
-
var autorouterDefinition =
|
|
18405
|
-
createAutorouter:
|
|
18416
|
+
var autorouterDefinition = z128.object({
|
|
18417
|
+
createAutorouter: z128.function().args(z128.any(), z128.any().optional()).returns(z128.union([autorouterInstance, z128.promise(autorouterInstance)])).describe("Create an autorouter instance")
|
|
18406
18418
|
});
|
|
18407
|
-
var platformFetch =
|
|
18408
|
-
var platformConfig =
|
|
18419
|
+
var platformFetch = z128.custom((value) => typeof value === "function").describe("A fetch-like function to use for platform requests");
|
|
18420
|
+
var platformConfig = z128.object({
|
|
18409
18421
|
partsEngine: partsEngine.optional(),
|
|
18410
18422
|
autorouter: autorouterProp.optional(),
|
|
18411
|
-
autorouterMap:
|
|
18423
|
+
autorouterMap: z128.record(z128.string(), autorouterDefinition).optional(),
|
|
18412
18424
|
registryApiUrl: url.optional(),
|
|
18413
18425
|
cloudAutorouterUrl: url.optional(),
|
|
18414
|
-
projectName:
|
|
18426
|
+
projectName: z128.string().optional(),
|
|
18415
18427
|
projectBaseUrl: url.optional(),
|
|
18416
|
-
version:
|
|
18428
|
+
version: z128.string().optional(),
|
|
18417
18429
|
url: url.optional(),
|
|
18418
|
-
printBoardInformationToSilkscreen:
|
|
18419
|
-
includeBoardFiles:
|
|
18430
|
+
printBoardInformationToSilkscreen: z128.boolean().optional(),
|
|
18431
|
+
includeBoardFiles: z128.array(z128.string()).describe(
|
|
18420
18432
|
'The board files to automatically build with "tsci build", defaults to ["**/*.circuit.tsx"]. Can be an array of files or globs'
|
|
18421
18433
|
).optional(),
|
|
18422
|
-
snapshotsDir:
|
|
18434
|
+
snapshotsDir: z128.string().describe(
|
|
18423
18435
|
'The directory where snapshots are stored for "tsci snapshot", defaults to "tests/__snapshots__"'
|
|
18424
18436
|
).optional(),
|
|
18425
18437
|
defaultSpiceEngine: defaultSpiceEngine.optional(),
|
|
18426
|
-
unitPreference:
|
|
18427
|
-
localCacheEngine:
|
|
18428
|
-
pcbDisabled:
|
|
18429
|
-
routingDisabled:
|
|
18430
|
-
schematicDisabled:
|
|
18431
|
-
partsEngineDisabled:
|
|
18432
|
-
drcChecksDisabled:
|
|
18433
|
-
netlistDrcChecksDisabled:
|
|
18434
|
-
routingDrcChecksDisabled:
|
|
18435
|
-
placementDrcChecksDisabled:
|
|
18436
|
-
pinSpecificationDrcChecksDisabled:
|
|
18437
|
-
spiceEngineMap:
|
|
18438
|
-
footprintLibraryMap:
|
|
18439
|
-
|
|
18440
|
-
|
|
18438
|
+
unitPreference: z128.enum(["mm", "in", "mil"]).optional(),
|
|
18439
|
+
localCacheEngine: z128.any().optional(),
|
|
18440
|
+
pcbDisabled: z128.boolean().optional(),
|
|
18441
|
+
routingDisabled: z128.boolean().optional(),
|
|
18442
|
+
schematicDisabled: z128.boolean().optional(),
|
|
18443
|
+
partsEngineDisabled: z128.boolean().optional(),
|
|
18444
|
+
drcChecksDisabled: z128.boolean().optional(),
|
|
18445
|
+
netlistDrcChecksDisabled: z128.boolean().optional(),
|
|
18446
|
+
routingDrcChecksDisabled: z128.boolean().optional(),
|
|
18447
|
+
placementDrcChecksDisabled: z128.boolean().optional(),
|
|
18448
|
+
pinSpecificationDrcChecksDisabled: z128.boolean().optional(),
|
|
18449
|
+
spiceEngineMap: z128.record(z128.string(), spiceEngineZod).optional(),
|
|
18450
|
+
footprintLibraryMap: z128.record(
|
|
18451
|
+
z128.string(),
|
|
18452
|
+
z128.union([
|
|
18441
18453
|
pathToCircuitJsonFn,
|
|
18442
|
-
|
|
18443
|
-
|
|
18444
|
-
|
|
18454
|
+
z128.record(
|
|
18455
|
+
z128.string(),
|
|
18456
|
+
z128.union([unvalidatedCircuitJson, pathToCircuitJsonFn])
|
|
18445
18457
|
)
|
|
18446
18458
|
])
|
|
18447
18459
|
).optional(),
|
|
18448
|
-
footprintFileParserMap:
|
|
18449
|
-
resolveProjectStaticFileImportUrl:
|
|
18460
|
+
footprintFileParserMap: z128.record(z128.string(), footprintFileParserEntry).optional(),
|
|
18461
|
+
resolveProjectStaticFileImportUrl: z128.function().args(z128.string()).returns(z128.promise(z128.string())).describe(
|
|
18450
18462
|
"A function that returns a string URL for static files for the project"
|
|
18451
18463
|
).optional(),
|
|
18452
18464
|
platformFetch: platformFetch.optional()
|
|
@@ -18666,6 +18678,7 @@ export {
|
|
|
18666
18678
|
smtPadProps,
|
|
18667
18679
|
solderPasteProps,
|
|
18668
18680
|
solderjumperProps,
|
|
18681
|
+
spicemodelProps,
|
|
18669
18682
|
stampboardProps,
|
|
18670
18683
|
subcircuitGroupProps,
|
|
18671
18684
|
subcircuitGroupPropsWithBool,
|