@tscircuit/props 0.0.573 → 0.0.575
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 +23 -0
- package/dist/index.d.ts +46 -1
- package/dist/index.js +392 -378
- package/dist/index.js.map +1 -1
- package/lib/components/differentialpair.ts +26 -0
- package/lib/components/mosfet.ts +9 -0
- package/lib/index.ts +1 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -17253,10 +17253,20 @@ var traceProps = z64.union([
|
|
|
17253
17253
|
})
|
|
17254
17254
|
]);
|
|
17255
17255
|
|
|
17256
|
+
// lib/components/differentialpair.ts
|
|
17257
|
+
import { z as z65 } from "zod";
|
|
17258
|
+
var differentialPairProps = z65.object({
|
|
17259
|
+
name: z65.string().optional(),
|
|
17260
|
+
positiveConnection: z65.string(),
|
|
17261
|
+
negativeConnection: z65.string(),
|
|
17262
|
+
maxLengthSkew: z65.number().min(0).max(1).optional()
|
|
17263
|
+
});
|
|
17264
|
+
expectTypesMatch(true);
|
|
17265
|
+
|
|
17256
17266
|
// lib/components/footprint.ts
|
|
17257
17267
|
import { layer_ref as layer_ref5 } from "circuit-json";
|
|
17258
|
-
import { z as
|
|
17259
|
-
var footprintInsertionDirection =
|
|
17268
|
+
import { z as z66 } from "zod";
|
|
17269
|
+
var footprintInsertionDirection = z66.enum([
|
|
17260
17270
|
"from_above",
|
|
17261
17271
|
"from_left",
|
|
17262
17272
|
"from_right",
|
|
@@ -17264,11 +17274,11 @@ var footprintInsertionDirection = z65.enum([
|
|
|
17264
17274
|
"from_back"
|
|
17265
17275
|
]);
|
|
17266
17276
|
expectTypesMatch(true);
|
|
17267
|
-
var footprintProps =
|
|
17268
|
-
children:
|
|
17269
|
-
name:
|
|
17277
|
+
var footprintProps = z66.object({
|
|
17278
|
+
children: z66.any().optional(),
|
|
17279
|
+
name: z66.string().optional(),
|
|
17270
17280
|
originalLayer: layer_ref5.default("top").optional(),
|
|
17271
|
-
circuitJson:
|
|
17281
|
+
circuitJson: z66.array(z66.any()).optional(),
|
|
17272
17282
|
src: footprintProp.describe("Can be a footprint or kicad string").optional(),
|
|
17273
17283
|
insertionDirection: footprintInsertionDirection.optional().describe(
|
|
17274
17284
|
"Direction a cable or mating part is inserted into this footprint in its unrotated orientation."
|
|
@@ -17277,19 +17287,19 @@ var footprintProps = z65.object({
|
|
|
17277
17287
|
expectTypesMatch(true);
|
|
17278
17288
|
|
|
17279
17289
|
// lib/components/symbol.ts
|
|
17280
|
-
import { z as
|
|
17281
|
-
var symbolProps =
|
|
17282
|
-
originalFacingDirection:
|
|
17290
|
+
import { z as z67 } from "zod";
|
|
17291
|
+
var symbolProps = z67.object({
|
|
17292
|
+
originalFacingDirection: z67.enum(["up", "down", "left", "right"]).default("right").optional(),
|
|
17283
17293
|
width: distance.optional(),
|
|
17284
17294
|
height: distance.optional(),
|
|
17285
|
-
name:
|
|
17295
|
+
name: z67.string().optional()
|
|
17286
17296
|
});
|
|
17287
17297
|
expectTypesMatch(true);
|
|
17288
17298
|
|
|
17289
17299
|
// lib/components/battery.ts
|
|
17290
17300
|
import { voltage as voltage2 } from "circuit-json";
|
|
17291
|
-
import { z as
|
|
17292
|
-
var capacity =
|
|
17301
|
+
import { z as z68 } from "zod";
|
|
17302
|
+
var capacity = z68.number().or(z68.string().endsWith("mAh")).transform((v) => {
|
|
17293
17303
|
if (typeof v === "string") {
|
|
17294
17304
|
const valString = v.replace("mAh", "");
|
|
17295
17305
|
const num = Number.parseFloat(valString);
|
|
@@ -17303,14 +17313,14 @@ var capacity = z67.number().or(z67.string().endsWith("mAh")).transform((v) => {
|
|
|
17303
17313
|
var batteryProps = commonComponentProps.extend({
|
|
17304
17314
|
capacity: capacity.optional(),
|
|
17305
17315
|
voltage: voltage2.optional(),
|
|
17306
|
-
standard:
|
|
17316
|
+
standard: z68.enum(["AA", "AAA", "9V", "CR2032", "18650", "C"]).optional(),
|
|
17307
17317
|
schOrientation: schematicOrientation.optional()
|
|
17308
17318
|
});
|
|
17309
17319
|
var batteryPins = lrPolarPins;
|
|
17310
17320
|
expectTypesMatch(true);
|
|
17311
17321
|
|
|
17312
17322
|
// lib/components/mountedboard.ts
|
|
17313
|
-
import { z as
|
|
17323
|
+
import { z as z69 } from "zod";
|
|
17314
17324
|
var mountedboardProps = subcircuitGroupProps.extend({
|
|
17315
17325
|
manufacturerPartNumber: chipProps.shape.manufacturerPartNumber,
|
|
17316
17326
|
pinLabels: chipProps.shape.pinLabels,
|
|
@@ -17322,7 +17332,7 @@ var mountedboardProps = subcircuitGroupProps.extend({
|
|
|
17322
17332
|
internallyConnectedPins: chipProps.shape.internallyConnectedPins,
|
|
17323
17333
|
externallyConnectedPins: chipProps.shape.externallyConnectedPins,
|
|
17324
17334
|
boardToBoardDistance: distance.optional(),
|
|
17325
|
-
mountOrientation:
|
|
17335
|
+
mountOrientation: z69.enum(["faceDown", "faceUp"]).optional()
|
|
17326
17336
|
});
|
|
17327
17337
|
expectTypesMatch(true);
|
|
17328
17338
|
|
|
@@ -17330,29 +17340,29 @@ expectTypesMatch(true);
|
|
|
17330
17340
|
import { distance as distance20 } from "circuit-json";
|
|
17331
17341
|
|
|
17332
17342
|
// lib/common/pcbOrientation.ts
|
|
17333
|
-
import { z as
|
|
17334
|
-
var pcbOrientation =
|
|
17343
|
+
import { z as z70 } from "zod";
|
|
17344
|
+
var pcbOrientation = z70.enum(["vertical", "horizontal"]).describe(
|
|
17335
17345
|
"vertical means pins go 1->2 downward and horizontal means pins go 1->2 rightward"
|
|
17336
17346
|
);
|
|
17337
17347
|
expectTypesMatch(true);
|
|
17338
17348
|
|
|
17339
17349
|
// lib/components/pin-header.ts
|
|
17340
|
-
import { z as
|
|
17350
|
+
import { z as z71 } from "zod";
|
|
17341
17351
|
var pinHeaderProps = commonComponentProps.extend({
|
|
17342
|
-
pinCount:
|
|
17352
|
+
pinCount: z71.number(),
|
|
17343
17353
|
pitch: distance20.optional(),
|
|
17344
|
-
schFacingDirection:
|
|
17345
|
-
gender:
|
|
17346
|
-
showSilkscreenPinLabels:
|
|
17347
|
-
pcbPinLabels:
|
|
17348
|
-
doubleRow:
|
|
17349
|
-
rightAngle:
|
|
17354
|
+
schFacingDirection: z71.enum(["up", "down", "left", "right"]).optional(),
|
|
17355
|
+
gender: z71.enum(["male", "female", "unpopulated"]).optional().default("male"),
|
|
17356
|
+
showSilkscreenPinLabels: z71.boolean().optional(),
|
|
17357
|
+
pcbPinLabels: z71.record(z71.string(), z71.string()).optional(),
|
|
17358
|
+
doubleRow: z71.boolean().optional(),
|
|
17359
|
+
rightAngle: z71.boolean().optional(),
|
|
17350
17360
|
pcbOrientation: pcbOrientation.optional(),
|
|
17351
17361
|
holeDiameter: distance20.optional(),
|
|
17352
17362
|
platedDiameter: distance20.optional(),
|
|
17353
|
-
pinLabels:
|
|
17354
|
-
connections:
|
|
17355
|
-
facingDirection:
|
|
17363
|
+
pinLabels: z71.record(z71.string(), schematicPinLabel).or(z71.array(schematicPinLabel)).optional(),
|
|
17364
|
+
connections: z71.custom().pipe(z71.record(z71.string(), connectionTarget)).optional(),
|
|
17365
|
+
facingDirection: z71.enum(["left", "right"]).optional(),
|
|
17356
17366
|
schPinArrangement: schematicPinArrangement.optional(),
|
|
17357
17367
|
schPinStyle: schematicPinStyle.optional(),
|
|
17358
17368
|
schPinSpacing: distance20.optional(),
|
|
@@ -17362,29 +17372,29 @@ var pinHeaderProps = commonComponentProps.extend({
|
|
|
17362
17372
|
expectTypesMatch(true);
|
|
17363
17373
|
|
|
17364
17374
|
// lib/components/netalias.ts
|
|
17365
|
-
import { z as
|
|
17375
|
+
import { z as z72 } from "zod";
|
|
17366
17376
|
import { rotation as rotation3 } from "circuit-json";
|
|
17367
|
-
var netAliasProps =
|
|
17368
|
-
net:
|
|
17369
|
-
connection:
|
|
17377
|
+
var netAliasProps = z72.object({
|
|
17378
|
+
net: z72.string().optional(),
|
|
17379
|
+
connection: z72.string().optional(),
|
|
17370
17380
|
schX: distance.optional(),
|
|
17371
17381
|
schY: distance.optional(),
|
|
17372
17382
|
schRotation: rotation3.optional(),
|
|
17373
|
-
anchorSide:
|
|
17383
|
+
anchorSide: z72.enum(["left", "top", "right", "bottom"]).optional()
|
|
17374
17384
|
});
|
|
17375
17385
|
expectTypesMatch(true);
|
|
17376
17386
|
|
|
17377
17387
|
// lib/components/netlabel.ts
|
|
17378
|
-
import { z as
|
|
17388
|
+
import { z as z73 } from "zod";
|
|
17379
17389
|
import { rotation as rotation4 } from "circuit-json";
|
|
17380
|
-
var netLabelProps =
|
|
17381
|
-
net:
|
|
17382
|
-
connection:
|
|
17383
|
-
connectsTo:
|
|
17390
|
+
var netLabelProps = z73.object({
|
|
17391
|
+
net: z73.string().optional(),
|
|
17392
|
+
connection: z73.string().optional(),
|
|
17393
|
+
connectsTo: z73.string().or(z73.array(z73.string())).optional(),
|
|
17384
17394
|
schX: distance.optional(),
|
|
17385
17395
|
schY: distance.optional(),
|
|
17386
17396
|
schRotation: rotation4.optional(),
|
|
17387
|
-
anchorSide:
|
|
17397
|
+
anchorSide: z73.enum(["left", "top", "right", "bottom"]).optional()
|
|
17388
17398
|
});
|
|
17389
17399
|
expectTypesMatch(true);
|
|
17390
17400
|
|
|
@@ -17399,52 +17409,52 @@ expectTypesMatch(true);
|
|
|
17399
17409
|
|
|
17400
17410
|
// lib/components/analogsimulation.ts
|
|
17401
17411
|
import { ms } from "circuit-json";
|
|
17402
|
-
import { z as
|
|
17403
|
-
var spiceEngine =
|
|
17412
|
+
import { z as z75 } from "zod";
|
|
17413
|
+
var spiceEngine = z75.custom(
|
|
17404
17414
|
(value) => typeof value === "string"
|
|
17405
17415
|
);
|
|
17406
|
-
var spiceOptions =
|
|
17407
|
-
method:
|
|
17408
|
-
reltol:
|
|
17409
|
-
abstol:
|
|
17410
|
-
vntol:
|
|
17416
|
+
var spiceOptions = z75.object({
|
|
17417
|
+
method: z75.enum(["trap", "gear"]).optional(),
|
|
17418
|
+
reltol: z75.union([z75.number(), z75.string()]).optional(),
|
|
17419
|
+
abstol: z75.union([z75.number(), z75.string()]).optional(),
|
|
17420
|
+
vntol: z75.union([z75.number(), z75.string()]).optional()
|
|
17411
17421
|
});
|
|
17412
|
-
var analogSimulationProps =
|
|
17413
|
-
name:
|
|
17414
|
-
simulationType:
|
|
17422
|
+
var analogSimulationProps = z75.object({
|
|
17423
|
+
name: z75.string().optional(),
|
|
17424
|
+
simulationType: z75.literal("spice_transient_analysis").default("spice_transient_analysis"),
|
|
17415
17425
|
duration: ms.optional(),
|
|
17416
17426
|
startTime: ms.optional(),
|
|
17417
17427
|
timePerStep: ms.optional(),
|
|
17418
17428
|
spiceEngine: spiceEngine.optional(),
|
|
17419
17429
|
spiceOptions: spiceOptions.optional(),
|
|
17420
|
-
graphIndependentAxes:
|
|
17430
|
+
graphIndependentAxes: z75.boolean().optional()
|
|
17421
17431
|
});
|
|
17422
17432
|
expectTypesMatch(
|
|
17423
17433
|
true
|
|
17424
17434
|
);
|
|
17425
17435
|
|
|
17426
17436
|
// lib/components/autoroutingphase.ts
|
|
17427
|
-
import { z as
|
|
17428
|
-
var autoroutingPhaseProps =
|
|
17429
|
-
key:
|
|
17430
|
-
name:
|
|
17437
|
+
import { z as z76 } from "zod";
|
|
17438
|
+
var autoroutingPhaseProps = z76.object({
|
|
17439
|
+
key: z76.any().optional(),
|
|
17440
|
+
name: z76.string().optional(),
|
|
17431
17441
|
autorouter: autorouterProp.optional(),
|
|
17432
|
-
phaseIndex:
|
|
17442
|
+
phaseIndex: z76.number().optional(),
|
|
17433
17443
|
...routingTolerances.shape,
|
|
17434
|
-
region:
|
|
17435
|
-
shape:
|
|
17436
|
-
minX:
|
|
17437
|
-
maxX:
|
|
17438
|
-
minY:
|
|
17439
|
-
maxY:
|
|
17444
|
+
region: z76.object({
|
|
17445
|
+
shape: z76.literal("rect").optional(),
|
|
17446
|
+
minX: z76.number(),
|
|
17447
|
+
maxX: z76.number(),
|
|
17448
|
+
minY: z76.number(),
|
|
17449
|
+
maxY: z76.number()
|
|
17440
17450
|
}).optional(),
|
|
17441
|
-
connection:
|
|
17442
|
-
connections:
|
|
17443
|
-
reroute:
|
|
17451
|
+
connection: z76.string().optional(),
|
|
17452
|
+
connections: z76.array(z76.string()).optional(),
|
|
17453
|
+
reroute: z76.boolean().optional()
|
|
17444
17454
|
}).superRefine((value, ctx) => {
|
|
17445
17455
|
if (value.reroute !== void 0 && value.region === void 0 && value.connection === void 0 && value.connections === void 0) {
|
|
17446
17456
|
ctx.addIssue({
|
|
17447
|
-
code:
|
|
17457
|
+
code: z76.ZodIssueCode.custom,
|
|
17448
17458
|
message: "region, connection, or connections is required when reroute is provided",
|
|
17449
17459
|
path: ["region"]
|
|
17450
17460
|
});
|
|
@@ -17453,15 +17463,15 @@ var autoroutingPhaseProps = z75.object({
|
|
|
17453
17463
|
expectTypesMatch(true);
|
|
17454
17464
|
|
|
17455
17465
|
// lib/components/spicemodel.ts
|
|
17456
|
-
import { z as
|
|
17457
|
-
var spicemodelProps =
|
|
17458
|
-
source:
|
|
17459
|
-
spicePinMapping:
|
|
17466
|
+
import { z as z77 } from "zod";
|
|
17467
|
+
var spicemodelProps = z77.object({
|
|
17468
|
+
source: z77.string(),
|
|
17469
|
+
spicePinMapping: z77.record(z77.string(), z77.string()).optional()
|
|
17460
17470
|
});
|
|
17461
17471
|
expectTypesMatch(true);
|
|
17462
17472
|
|
|
17463
17473
|
// lib/components/transistor.ts
|
|
17464
|
-
import { z as
|
|
17474
|
+
import { z as z78 } from "zod";
|
|
17465
17475
|
var transistorPinsLabels = [
|
|
17466
17476
|
"pin1",
|
|
17467
17477
|
"pin2",
|
|
@@ -17474,7 +17484,7 @@ var transistorPinsLabels = [
|
|
|
17474
17484
|
"drain"
|
|
17475
17485
|
];
|
|
17476
17486
|
var transistorProps = commonComponentProps.extend({
|
|
17477
|
-
type:
|
|
17487
|
+
type: z78.enum(["npn", "pnp", "bjt", "jfet", "mosfet", "igbt"]),
|
|
17478
17488
|
connections: createConnectionsProp(transistorPinsLabels).optional()
|
|
17479
17489
|
});
|
|
17480
17490
|
var transistorPins = [
|
|
@@ -17488,7 +17498,7 @@ var transistorPins = [
|
|
|
17488
17498
|
expectTypesMatch(true);
|
|
17489
17499
|
|
|
17490
17500
|
// lib/components/mosfet.ts
|
|
17491
|
-
import { z as
|
|
17501
|
+
import { z as z79 } from "zod";
|
|
17492
17502
|
var mosfetPins = [
|
|
17493
17503
|
"pin1",
|
|
17494
17504
|
"drain",
|
|
@@ -17498,8 +17508,11 @@ var mosfetPins = [
|
|
|
17498
17508
|
"gate"
|
|
17499
17509
|
];
|
|
17500
17510
|
var mosfetProps = commonComponentProps.extend({
|
|
17501
|
-
channelType:
|
|
17502
|
-
mosfetMode:
|
|
17511
|
+
channelType: z79.enum(["n", "p"]),
|
|
17512
|
+
mosfetMode: z79.enum(["enhancement", "depletion"]),
|
|
17513
|
+
symbolDrainSide: z79.enum(["left", "right", "top", "bottom"]).optional(),
|
|
17514
|
+
symbolSourceSide: z79.enum(["left", "right", "top", "bottom"]).optional(),
|
|
17515
|
+
symbolGateSide: z79.enum(["left", "right", "top", "bottom"]).optional(),
|
|
17503
17516
|
connections: createConnectionsProp(mosfetPins).optional()
|
|
17504
17517
|
});
|
|
17505
17518
|
expectTypesMatch(true);
|
|
@@ -17521,20 +17534,20 @@ expectTypesMatch(true);
|
|
|
17521
17534
|
|
|
17522
17535
|
// lib/components/inductor.ts
|
|
17523
17536
|
import { inductance } from "circuit-json";
|
|
17524
|
-
import { z as
|
|
17537
|
+
import { z as z81 } from "zod";
|
|
17525
17538
|
var inductorPins = lrPins;
|
|
17526
17539
|
var inductorProps = commonComponentProps.extend({
|
|
17527
17540
|
inductance,
|
|
17528
|
-
maxCurrentRating:
|
|
17541
|
+
maxCurrentRating: z81.union([z81.string(), z81.number()]).optional(),
|
|
17529
17542
|
schOrientation: schematicOrientation.optional(),
|
|
17530
17543
|
connections: createConnectionsProp(inductorPins).optional()
|
|
17531
17544
|
});
|
|
17532
17545
|
expectTypesMatch(true);
|
|
17533
17546
|
|
|
17534
17547
|
// lib/components/diode.ts
|
|
17535
|
-
import { z as
|
|
17548
|
+
import { z as z82 } from "zod";
|
|
17536
17549
|
var diodePins = lrPolarPins;
|
|
17537
|
-
var diodeConnectionKeys =
|
|
17550
|
+
var diodeConnectionKeys = z82.enum([
|
|
17538
17551
|
"anode",
|
|
17539
17552
|
"cathode",
|
|
17540
17553
|
"pin1",
|
|
@@ -17542,13 +17555,13 @@ var diodeConnectionKeys = z81.enum([
|
|
|
17542
17555
|
"pos",
|
|
17543
17556
|
"neg"
|
|
17544
17557
|
]);
|
|
17545
|
-
var connectionTarget3 =
|
|
17546
|
-
var connectionsProp2 =
|
|
17547
|
-
var diodePinLabelsProp =
|
|
17548
|
-
|
|
17549
|
-
schematicPinLabel.or(
|
|
17558
|
+
var connectionTarget3 = z82.string().or(z82.array(z82.string()).readonly()).or(z82.array(z82.string()));
|
|
17559
|
+
var connectionsProp2 = z82.record(diodeConnectionKeys, connectionTarget3);
|
|
17560
|
+
var diodePinLabelsProp = z82.record(
|
|
17561
|
+
z82.enum(diodePins),
|
|
17562
|
+
schematicPinLabel.or(z82.array(schematicPinLabel).readonly()).or(z82.array(schematicPinLabel))
|
|
17550
17563
|
);
|
|
17551
|
-
var diodeVariant =
|
|
17564
|
+
var diodeVariant = z82.enum([
|
|
17552
17565
|
"standard",
|
|
17553
17566
|
"schottky",
|
|
17554
17567
|
"zener",
|
|
@@ -17559,12 +17572,12 @@ var diodeVariant = z81.enum([
|
|
|
17559
17572
|
var diodeProps = commonComponentProps.extend({
|
|
17560
17573
|
connections: connectionsProp2.optional(),
|
|
17561
17574
|
variant: diodeVariant.optional().default("standard"),
|
|
17562
|
-
standard:
|
|
17563
|
-
schottky:
|
|
17564
|
-
zener:
|
|
17565
|
-
avalanche:
|
|
17566
|
-
photo:
|
|
17567
|
-
tvs:
|
|
17575
|
+
standard: z82.boolean().optional(),
|
|
17576
|
+
schottky: z82.boolean().optional(),
|
|
17577
|
+
zener: z82.boolean().optional(),
|
|
17578
|
+
avalanche: z82.boolean().optional(),
|
|
17579
|
+
photo: z82.boolean().optional(),
|
|
17580
|
+
tvs: z82.boolean().optional(),
|
|
17568
17581
|
schOrientation: schematicOrientation.optional(),
|
|
17569
17582
|
pinLabels: diodePinLabelsProp.optional()
|
|
17570
17583
|
}).superRefine((data, ctx) => {
|
|
@@ -17578,11 +17591,11 @@ var diodeProps = commonComponentProps.extend({
|
|
|
17578
17591
|
].filter(Boolean).length;
|
|
17579
17592
|
if (enabledFlags > 1) {
|
|
17580
17593
|
ctx.addIssue({
|
|
17581
|
-
code:
|
|
17594
|
+
code: z82.ZodIssueCode.custom,
|
|
17582
17595
|
message: "Exactly one diode variant must be enabled",
|
|
17583
17596
|
path: []
|
|
17584
17597
|
});
|
|
17585
|
-
return
|
|
17598
|
+
return z82.INVALID;
|
|
17586
17599
|
}
|
|
17587
17600
|
}).transform((data) => {
|
|
17588
17601
|
const result = {
|
|
@@ -17628,34 +17641,34 @@ var diodeProps = commonComponentProps.extend({
|
|
|
17628
17641
|
expectTypesMatch(true);
|
|
17629
17642
|
|
|
17630
17643
|
// lib/components/led.ts
|
|
17631
|
-
import { z as
|
|
17644
|
+
import { z as z83 } from "zod";
|
|
17632
17645
|
var ledProps = commonComponentProps.extend({
|
|
17633
|
-
color:
|
|
17634
|
-
wavelength:
|
|
17635
|
-
schDisplayValue:
|
|
17646
|
+
color: z83.string().optional(),
|
|
17647
|
+
wavelength: z83.string().optional(),
|
|
17648
|
+
schDisplayValue: z83.string().optional(),
|
|
17636
17649
|
schOrientation: schematicOrientation.optional(),
|
|
17637
17650
|
connections: createConnectionsProp(lrPolarPins).optional(),
|
|
17638
|
-
laser:
|
|
17651
|
+
laser: z83.boolean().optional()
|
|
17639
17652
|
});
|
|
17640
17653
|
var ledPins = lrPolarPins;
|
|
17641
17654
|
|
|
17642
17655
|
// lib/components/switch.ts
|
|
17643
17656
|
import { ms as ms2, frequency as frequency3 } from "circuit-json";
|
|
17644
|
-
import { z as
|
|
17657
|
+
import { z as z84 } from "zod";
|
|
17645
17658
|
var switchProps = commonComponentProps.extend({
|
|
17646
|
-
type:
|
|
17647
|
-
isNormallyClosed:
|
|
17648
|
-
spst:
|
|
17649
|
-
spdt:
|
|
17650
|
-
dpst:
|
|
17651
|
-
dpdt:
|
|
17659
|
+
type: z84.enum(["spst", "spdt", "dpst", "dpdt"]).optional(),
|
|
17660
|
+
isNormallyClosed: z84.boolean().optional().default(false),
|
|
17661
|
+
spst: z84.boolean().optional(),
|
|
17662
|
+
spdt: z84.boolean().optional(),
|
|
17663
|
+
dpst: z84.boolean().optional(),
|
|
17664
|
+
dpdt: z84.boolean().optional(),
|
|
17652
17665
|
pinLabels: pinLabelsProp.optional(),
|
|
17653
17666
|
simSwitchFrequency: frequency3.optional(),
|
|
17654
17667
|
simCloseAt: ms2.optional(),
|
|
17655
17668
|
simOpenAt: ms2.optional(),
|
|
17656
|
-
simStartClosed:
|
|
17657
|
-
simStartOpen:
|
|
17658
|
-
connections:
|
|
17669
|
+
simStartClosed: z84.boolean().optional(),
|
|
17670
|
+
simStartOpen: z84.boolean().optional(),
|
|
17671
|
+
connections: z84.custom().pipe(z84.record(z84.string(), connectionTarget)).optional()
|
|
17659
17672
|
}).transform((props) => {
|
|
17660
17673
|
const updatedProps = { ...props };
|
|
17661
17674
|
if (updatedProps.dpdt) {
|
|
@@ -17687,33 +17700,33 @@ expectTypesMatch(true);
|
|
|
17687
17700
|
|
|
17688
17701
|
// lib/components/fabrication-note-text.ts
|
|
17689
17702
|
import { length as length4 } from "circuit-json";
|
|
17690
|
-
import { z as
|
|
17703
|
+
import { z as z85 } from "zod";
|
|
17691
17704
|
var fabricationNoteTextProps = pcbLayoutProps.extend({
|
|
17692
|
-
text:
|
|
17693
|
-
anchorAlignment:
|
|
17694
|
-
font:
|
|
17705
|
+
text: z85.string(),
|
|
17706
|
+
anchorAlignment: z85.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
17707
|
+
font: z85.enum(["tscircuit2024"]).optional(),
|
|
17695
17708
|
fontSize: length4.optional(),
|
|
17696
|
-
color:
|
|
17709
|
+
color: z85.string().optional()
|
|
17697
17710
|
});
|
|
17698
17711
|
expectTypesMatch(true);
|
|
17699
17712
|
|
|
17700
17713
|
// lib/components/fabrication-note-rect.ts
|
|
17701
17714
|
import { distance as distance21 } from "circuit-json";
|
|
17702
|
-
import { z as
|
|
17715
|
+
import { z as z86 } from "zod";
|
|
17703
17716
|
var fabricationNoteRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
17704
17717
|
width: distance21,
|
|
17705
17718
|
height: distance21,
|
|
17706
17719
|
strokeWidth: distance21.optional(),
|
|
17707
|
-
isFilled:
|
|
17708
|
-
hasStroke:
|
|
17709
|
-
isStrokeDashed:
|
|
17710
|
-
color:
|
|
17720
|
+
isFilled: z86.boolean().optional(),
|
|
17721
|
+
hasStroke: z86.boolean().optional(),
|
|
17722
|
+
isStrokeDashed: z86.boolean().optional(),
|
|
17723
|
+
color: z86.string().optional(),
|
|
17711
17724
|
cornerRadius: distance21.optional()
|
|
17712
17725
|
});
|
|
17713
17726
|
|
|
17714
17727
|
// lib/components/fabrication-note-path.ts
|
|
17715
17728
|
import { length as length5, route_hint_point as route_hint_point3 } from "circuit-json";
|
|
17716
|
-
import { z as
|
|
17729
|
+
import { z as z87 } from "zod";
|
|
17717
17730
|
var fabricationNotePathProps = pcbLayoutProps.omit({
|
|
17718
17731
|
pcbLeftEdgeX: true,
|
|
17719
17732
|
pcbRightEdgeX: true,
|
|
@@ -17725,15 +17738,15 @@ var fabricationNotePathProps = pcbLayoutProps.omit({
|
|
|
17725
17738
|
pcbOffsetY: true,
|
|
17726
17739
|
pcbRotation: true
|
|
17727
17740
|
}).extend({
|
|
17728
|
-
route:
|
|
17741
|
+
route: z87.array(route_hint_point3),
|
|
17729
17742
|
strokeWidth: length5.optional(),
|
|
17730
|
-
color:
|
|
17743
|
+
color: z87.string().optional()
|
|
17731
17744
|
});
|
|
17732
17745
|
|
|
17733
17746
|
// lib/components/fabrication-note-dimension.ts
|
|
17734
17747
|
import { distance as distance22, length as length6 } from "circuit-json";
|
|
17735
|
-
import { z as
|
|
17736
|
-
var dimensionTarget =
|
|
17748
|
+
import { z as z88 } from "zod";
|
|
17749
|
+
var dimensionTarget = z88.union([z88.string(), point]);
|
|
17737
17750
|
var fabricationNoteDimensionProps = pcbLayoutProps.omit({
|
|
17738
17751
|
pcbLeftEdgeX: true,
|
|
17739
17752
|
pcbRightEdgeX: true,
|
|
@@ -17747,54 +17760,54 @@ var fabricationNoteDimensionProps = pcbLayoutProps.omit({
|
|
|
17747
17760
|
}).extend({
|
|
17748
17761
|
from: dimensionTarget,
|
|
17749
17762
|
to: dimensionTarget,
|
|
17750
|
-
text:
|
|
17763
|
+
text: z88.string().optional(),
|
|
17751
17764
|
offset: distance22.optional(),
|
|
17752
|
-
font:
|
|
17765
|
+
font: z88.enum(["tscircuit2024"]).optional(),
|
|
17753
17766
|
fontSize: length6.optional(),
|
|
17754
|
-
color:
|
|
17767
|
+
color: z88.string().optional(),
|
|
17755
17768
|
arrowSize: distance22.optional(),
|
|
17756
|
-
units:
|
|
17757
|
-
outerEdgeToEdge:
|
|
17758
|
-
centerToCenter:
|
|
17759
|
-
innerEdgeToEdge:
|
|
17769
|
+
units: z88.enum(["in", "mm"]).optional(),
|
|
17770
|
+
outerEdgeToEdge: z88.literal(true).optional(),
|
|
17771
|
+
centerToCenter: z88.literal(true).optional(),
|
|
17772
|
+
innerEdgeToEdge: z88.literal(true).optional()
|
|
17760
17773
|
});
|
|
17761
17774
|
expectTypesMatch(true);
|
|
17762
17775
|
|
|
17763
17776
|
// lib/components/pcb-trace.ts
|
|
17764
17777
|
import { distance as distance23, route_hint_point as route_hint_point4 } from "circuit-json";
|
|
17765
|
-
import { z as
|
|
17766
|
-
var pcbTraceProps =
|
|
17767
|
-
layer:
|
|
17778
|
+
import { z as z89 } from "zod";
|
|
17779
|
+
var pcbTraceProps = z89.object({
|
|
17780
|
+
layer: z89.string().optional(),
|
|
17768
17781
|
thickness: distance23.optional(),
|
|
17769
|
-
route:
|
|
17782
|
+
route: z89.array(route_hint_point4)
|
|
17770
17783
|
});
|
|
17771
17784
|
|
|
17772
17785
|
// lib/components/via.ts
|
|
17773
17786
|
import { distance as distance24, layer_ref as layer_ref6 } from "circuit-json";
|
|
17774
|
-
import { z as
|
|
17787
|
+
import { z as z90 } from "zod";
|
|
17775
17788
|
var viaProps = commonLayoutProps.extend({
|
|
17776
|
-
name:
|
|
17789
|
+
name: z90.string().optional(),
|
|
17777
17790
|
fromLayer: layer_ref6.optional(),
|
|
17778
17791
|
toLayer: layer_ref6.optional(),
|
|
17779
17792
|
holeDiameter: distance24.optional(),
|
|
17780
17793
|
outerDiameter: distance24.optional(),
|
|
17781
|
-
layers:
|
|
17782
|
-
connectsTo:
|
|
17783
|
-
netIsAssignable:
|
|
17794
|
+
layers: z90.array(layer_ref6).optional(),
|
|
17795
|
+
connectsTo: z90.string().or(z90.array(z90.string())).optional(),
|
|
17796
|
+
netIsAssignable: z90.boolean().optional()
|
|
17784
17797
|
});
|
|
17785
17798
|
expectTypesMatch(true);
|
|
17786
17799
|
|
|
17787
17800
|
// lib/components/testpoint.ts
|
|
17788
17801
|
import { distance as distance25 } from "circuit-json";
|
|
17789
|
-
import { z as
|
|
17802
|
+
import { z as z91 } from "zod";
|
|
17790
17803
|
var testpointPins = ["pin1"];
|
|
17791
|
-
var testpointConnectionsProp =
|
|
17804
|
+
var testpointConnectionsProp = z91.object({
|
|
17792
17805
|
pin1: connectionTarget
|
|
17793
17806
|
}).strict();
|
|
17794
17807
|
var testpointProps = commonComponentProps.extend({
|
|
17795
17808
|
connections: testpointConnectionsProp.optional(),
|
|
17796
|
-
footprintVariant:
|
|
17797
|
-
padShape:
|
|
17809
|
+
footprintVariant: z91.enum(["pad", "through_hole"]).optional(),
|
|
17810
|
+
padShape: z91.enum(["rect", "circle"]).optional().default("circle"),
|
|
17798
17811
|
padDiameter: distance25.optional(),
|
|
17799
17812
|
holeDiameter: distance25.optional(),
|
|
17800
17813
|
width: distance25.optional(),
|
|
@@ -17806,45 +17819,45 @@ var testpointProps = commonComponentProps.extend({
|
|
|
17806
17819
|
expectTypesMatch(true);
|
|
17807
17820
|
|
|
17808
17821
|
// lib/components/breakoutpoint.ts
|
|
17809
|
-
import { z as
|
|
17822
|
+
import { z as z92 } from "zod";
|
|
17810
17823
|
var breakoutPointProps = pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
17811
|
-
connection:
|
|
17824
|
+
connection: z92.string()
|
|
17812
17825
|
});
|
|
17813
17826
|
expectTypesMatch(true);
|
|
17814
17827
|
|
|
17815
17828
|
// lib/components/pcb-keepout.ts
|
|
17816
17829
|
import { distance as distance26, layer_ref as layer_ref7 } from "circuit-json";
|
|
17817
|
-
import { z as
|
|
17818
|
-
var pcbKeepoutProps =
|
|
17830
|
+
import { z as z93 } from "zod";
|
|
17831
|
+
var pcbKeepoutProps = z93.union([
|
|
17819
17832
|
pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
17820
|
-
shape:
|
|
17833
|
+
shape: z93.literal("circle"),
|
|
17821
17834
|
radius: distance26,
|
|
17822
|
-
layers:
|
|
17835
|
+
layers: z93.array(layer_ref7).optional()
|
|
17823
17836
|
}),
|
|
17824
17837
|
pcbLayoutProps.extend({
|
|
17825
|
-
shape:
|
|
17838
|
+
shape: z93.literal("rect"),
|
|
17826
17839
|
width: distance26,
|
|
17827
17840
|
height: distance26,
|
|
17828
|
-
layers:
|
|
17841
|
+
layers: z93.array(layer_ref7).optional()
|
|
17829
17842
|
})
|
|
17830
17843
|
]);
|
|
17831
17844
|
|
|
17832
17845
|
// lib/components/courtyard-rect.ts
|
|
17833
17846
|
import { distance as distance27 } from "circuit-json";
|
|
17834
|
-
import { z as
|
|
17847
|
+
import { z as z94 } from "zod";
|
|
17835
17848
|
var courtyardRectProps = pcbLayoutProps.extend({
|
|
17836
17849
|
width: distance27,
|
|
17837
17850
|
height: distance27,
|
|
17838
17851
|
strokeWidth: distance27.optional(),
|
|
17839
|
-
isFilled:
|
|
17840
|
-
hasStroke:
|
|
17841
|
-
isStrokeDashed:
|
|
17842
|
-
color:
|
|
17852
|
+
isFilled: z94.boolean().optional(),
|
|
17853
|
+
hasStroke: z94.boolean().optional(),
|
|
17854
|
+
isStrokeDashed: z94.boolean().optional(),
|
|
17855
|
+
color: z94.string().optional()
|
|
17843
17856
|
});
|
|
17844
17857
|
|
|
17845
17858
|
// lib/components/courtyard-outline.ts
|
|
17846
17859
|
import { length as length7 } from "circuit-json";
|
|
17847
|
-
import { z as
|
|
17860
|
+
import { z as z95 } from "zod";
|
|
17848
17861
|
var courtyardOutlineProps = pcbLayoutProps.omit({
|
|
17849
17862
|
pcbLeftEdgeX: true,
|
|
17850
17863
|
pcbRightEdgeX: true,
|
|
@@ -17856,11 +17869,11 @@ var courtyardOutlineProps = pcbLayoutProps.omit({
|
|
|
17856
17869
|
pcbOffsetY: true,
|
|
17857
17870
|
pcbRotation: true
|
|
17858
17871
|
}).extend({
|
|
17859
|
-
outline:
|
|
17872
|
+
outline: z95.array(point),
|
|
17860
17873
|
strokeWidth: length7.optional(),
|
|
17861
|
-
isClosed:
|
|
17862
|
-
isStrokeDashed:
|
|
17863
|
-
color:
|
|
17874
|
+
isClosed: z95.boolean().optional(),
|
|
17875
|
+
isStrokeDashed: z95.boolean().optional(),
|
|
17876
|
+
color: z95.string().optional()
|
|
17864
17877
|
});
|
|
17865
17878
|
|
|
17866
17879
|
// lib/components/courtyard-circle.ts
|
|
@@ -17880,35 +17893,35 @@ var courtyardPillProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
|
17880
17893
|
});
|
|
17881
17894
|
|
|
17882
17895
|
// lib/components/copper-pour.ts
|
|
17883
|
-
import { z as
|
|
17896
|
+
import { z as z98 } from "zod";
|
|
17884
17897
|
import { layer_ref as layer_ref8 } from "circuit-json";
|
|
17885
|
-
var copperPourProps =
|
|
17886
|
-
name:
|
|
17898
|
+
var copperPourProps = z98.object({
|
|
17899
|
+
name: z98.string().optional(),
|
|
17887
17900
|
layer: layer_ref8,
|
|
17888
|
-
connectsTo:
|
|
17889
|
-
unbroken:
|
|
17901
|
+
connectsTo: z98.string(),
|
|
17902
|
+
unbroken: z98.boolean().optional(),
|
|
17890
17903
|
padMargin: distance.optional(),
|
|
17891
17904
|
traceMargin: distance.optional(),
|
|
17892
17905
|
clearance: distance.optional(),
|
|
17893
17906
|
boardEdgeMargin: distance.optional(),
|
|
17894
17907
|
cutoutMargin: distance.optional(),
|
|
17895
|
-
outline:
|
|
17896
|
-
coveredWithSolderMask:
|
|
17908
|
+
outline: z98.array(point).optional(),
|
|
17909
|
+
coveredWithSolderMask: z98.boolean().optional().default(true)
|
|
17897
17910
|
});
|
|
17898
17911
|
expectTypesMatch(true);
|
|
17899
17912
|
|
|
17900
17913
|
// lib/components/cadassembly.ts
|
|
17901
17914
|
import { layer_ref as layer_ref9 } from "circuit-json";
|
|
17902
|
-
import { z as
|
|
17903
|
-
var cadassemblyProps =
|
|
17915
|
+
import { z as z99 } from "zod";
|
|
17916
|
+
var cadassemblyProps = z99.object({
|
|
17904
17917
|
originalLayer: layer_ref9.default("top").optional(),
|
|
17905
|
-
children:
|
|
17918
|
+
children: z99.any().optional()
|
|
17906
17919
|
});
|
|
17907
17920
|
expectTypesMatch(true);
|
|
17908
17921
|
|
|
17909
17922
|
// lib/components/cadmodel.ts
|
|
17910
|
-
import { z as
|
|
17911
|
-
var pcbPosition =
|
|
17923
|
+
import { z as z100 } from "zod";
|
|
17924
|
+
var pcbPosition = z100.object({
|
|
17912
17925
|
pcbX: pcbCoordinate.optional(),
|
|
17913
17926
|
pcbY: pcbCoordinate.optional(),
|
|
17914
17927
|
pcbLeftEdgeX: pcbCoordinate.optional(),
|
|
@@ -17925,7 +17938,7 @@ var cadModelBaseWithUrl = cadModelBase.extend({
|
|
|
17925
17938
|
});
|
|
17926
17939
|
var cadModelObject = cadModelBaseWithUrl.merge(pcbPosition);
|
|
17927
17940
|
expectTypesMatch(true);
|
|
17928
|
-
var cadmodelProps =
|
|
17941
|
+
var cadmodelProps = z100.union([z100.null(), url, cadModelObject]);
|
|
17929
17942
|
|
|
17930
17943
|
// lib/components/power-source.ts
|
|
17931
17944
|
import { voltage as voltage3 } from "circuit-json";
|
|
@@ -17935,9 +17948,9 @@ var powerSourceProps = commonComponentProps.extend({
|
|
|
17935
17948
|
|
|
17936
17949
|
// lib/components/voltagesource.ts
|
|
17937
17950
|
import { frequency as frequency4, ms as ms3, rotation as rotation5, voltage as voltage4 } from "circuit-json";
|
|
17938
|
-
import { z as
|
|
17951
|
+
import { z as z101 } from "zod";
|
|
17939
17952
|
var voltageSourcePinLabels = ["pin1", "pin2", "pos", "neg"];
|
|
17940
|
-
var percentage =
|
|
17953
|
+
var percentage = z101.union([z101.string(), z101.number()]).transform((val) => {
|
|
17941
17954
|
if (typeof val === "string") {
|
|
17942
17955
|
if (val.endsWith("%")) {
|
|
17943
17956
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -17946,13 +17959,13 @@ var percentage = z100.union([z100.string(), z100.number()]).transform((val) => {
|
|
|
17946
17959
|
}
|
|
17947
17960
|
return val;
|
|
17948
17961
|
}).pipe(
|
|
17949
|
-
|
|
17962
|
+
z101.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
17950
17963
|
);
|
|
17951
17964
|
var voltageSourceProps = commonComponentProps.extend({
|
|
17952
17965
|
voltage: voltage4.optional(),
|
|
17953
17966
|
frequency: frequency4.optional(),
|
|
17954
17967
|
peakToPeakVoltage: voltage4.optional(),
|
|
17955
|
-
waveShape:
|
|
17968
|
+
waveShape: z101.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
|
|
17956
17969
|
phase: rotation5.optional(),
|
|
17957
17970
|
dutyCycle: percentage.optional(),
|
|
17958
17971
|
pulseDelay: ms3.optional(),
|
|
@@ -17967,9 +17980,9 @@ expectTypesMatch(true);
|
|
|
17967
17980
|
|
|
17968
17981
|
// lib/components/currentsource.ts
|
|
17969
17982
|
import { frequency as frequency5, rotation as rotation6, current } from "circuit-json";
|
|
17970
|
-
import { z as
|
|
17983
|
+
import { z as z102 } from "zod";
|
|
17971
17984
|
var currentSourcePinLabels = ["pin1", "pin2", "pos", "neg"];
|
|
17972
|
-
var percentage2 =
|
|
17985
|
+
var percentage2 = z102.union([z102.string(), z102.number()]).transform((val) => {
|
|
17973
17986
|
if (typeof val === "string") {
|
|
17974
17987
|
if (val.endsWith("%")) {
|
|
17975
17988
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -17978,13 +17991,13 @@ var percentage2 = z101.union([z101.string(), z101.number()]).transform((val) =>
|
|
|
17978
17991
|
}
|
|
17979
17992
|
return val;
|
|
17980
17993
|
}).pipe(
|
|
17981
|
-
|
|
17994
|
+
z102.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
17982
17995
|
);
|
|
17983
17996
|
var currentSourceProps = commonComponentProps.extend({
|
|
17984
17997
|
current: current.optional(),
|
|
17985
17998
|
frequency: frequency5.optional(),
|
|
17986
17999
|
peakToPeakCurrent: current.optional(),
|
|
17987
|
-
waveShape:
|
|
18000
|
+
waveShape: z102.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
|
|
17988
18001
|
phase: rotation6.optional(),
|
|
17989
18002
|
dutyCycle: percentage2.optional(),
|
|
17990
18003
|
connections: createConnectionsProp(currentSourcePinLabels).optional()
|
|
@@ -17993,21 +18006,21 @@ var currentSourcePins = lrPolarPins;
|
|
|
17993
18006
|
expectTypesMatch(true);
|
|
17994
18007
|
|
|
17995
18008
|
// lib/components/voltageprobe.ts
|
|
17996
|
-
import { z as
|
|
18009
|
+
import { z as z103 } from "zod";
|
|
17997
18010
|
var voltageProbeProps = commonComponentProps.omit({ name: true }).extend({
|
|
17998
|
-
name:
|
|
17999
|
-
connectsTo:
|
|
18000
|
-
referenceTo:
|
|
18001
|
-
color:
|
|
18002
|
-
graphDisplayName:
|
|
18003
|
-
graphCenter:
|
|
18004
|
-
graphVerticalOffset:
|
|
18005
|
-
graphVoltagePerDiv:
|
|
18011
|
+
name: z103.string().optional(),
|
|
18012
|
+
connectsTo: z103.string(),
|
|
18013
|
+
referenceTo: z103.string().optional(),
|
|
18014
|
+
color: z103.string().optional(),
|
|
18015
|
+
graphDisplayName: z103.string().optional(),
|
|
18016
|
+
graphCenter: z103.number().optional(),
|
|
18017
|
+
graphVerticalOffset: z103.number().or(z103.string()).optional(),
|
|
18018
|
+
graphVoltagePerDiv: z103.number().or(z103.string()).optional()
|
|
18006
18019
|
});
|
|
18007
18020
|
expectTypesMatch(true);
|
|
18008
18021
|
|
|
18009
18022
|
// lib/components/ammeter.ts
|
|
18010
|
-
import { z as
|
|
18023
|
+
import { z as z104 } from "zod";
|
|
18011
18024
|
var ammeterPinLabels = ["pin1", "pin2", "pos", "neg"];
|
|
18012
18025
|
var hasAmmeterConnectionPair = (connections) => {
|
|
18013
18026
|
return connections.pos !== void 0 && connections.neg !== void 0 || connections.pin1 !== void 0 && connections.pin2 !== void 0;
|
|
@@ -18017,57 +18030,57 @@ var ammeterProps = commonComponentProps.extend({
|
|
|
18017
18030
|
hasAmmeterConnectionPair,
|
|
18018
18031
|
"Ammeter connections must include either pos/neg or pin1/pin2"
|
|
18019
18032
|
),
|
|
18020
|
-
color:
|
|
18021
|
-
graphDisplayName:
|
|
18022
|
-
graphCenter:
|
|
18023
|
-
graphVerticalOffset:
|
|
18024
|
-
graphCurrentPerDiv:
|
|
18033
|
+
color: z104.string().optional(),
|
|
18034
|
+
graphDisplayName: z104.string().optional(),
|
|
18035
|
+
graphCenter: z104.number().optional(),
|
|
18036
|
+
graphVerticalOffset: z104.number().or(z104.string()).optional(),
|
|
18037
|
+
graphCurrentPerDiv: z104.number().or(z104.string()).optional()
|
|
18025
18038
|
});
|
|
18026
18039
|
var ammeterPins = ammeterPinLabels;
|
|
18027
18040
|
expectTypesMatch(true);
|
|
18028
18041
|
|
|
18029
18042
|
// lib/components/schematic-arc.ts
|
|
18030
18043
|
import { distance as distance30, point as point5, rotation as rotation7 } from "circuit-json";
|
|
18031
|
-
import { z as
|
|
18032
|
-
var schematicArcProps =
|
|
18044
|
+
import { z as z105 } from "zod";
|
|
18045
|
+
var schematicArcProps = z105.object({
|
|
18033
18046
|
center: point5,
|
|
18034
18047
|
radius: distance30,
|
|
18035
18048
|
startAngleDegrees: rotation7,
|
|
18036
18049
|
endAngleDegrees: rotation7,
|
|
18037
|
-
direction:
|
|
18050
|
+
direction: z105.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
|
|
18038
18051
|
strokeWidth: distance30.optional(),
|
|
18039
|
-
color:
|
|
18040
|
-
isDashed:
|
|
18052
|
+
color: z105.string().optional(),
|
|
18053
|
+
isDashed: z105.boolean().optional().default(false)
|
|
18041
18054
|
});
|
|
18042
18055
|
expectTypesMatch(true);
|
|
18043
18056
|
|
|
18044
18057
|
// lib/components/toolingrail.ts
|
|
18045
|
-
import { z as
|
|
18046
|
-
var toolingrailProps =
|
|
18047
|
-
children:
|
|
18058
|
+
import { z as z106 } from "zod";
|
|
18059
|
+
var toolingrailProps = z106.object({
|
|
18060
|
+
children: z106.any().optional()
|
|
18048
18061
|
});
|
|
18049
18062
|
expectTypesMatch(true);
|
|
18050
18063
|
|
|
18051
18064
|
// lib/components/schematic-box.ts
|
|
18052
18065
|
import { distance as distance31 } from "circuit-json";
|
|
18053
|
-
import { z as
|
|
18054
|
-
var schematicBoxProps =
|
|
18066
|
+
import { z as z107 } from "zod";
|
|
18067
|
+
var schematicBoxProps = z107.object({
|
|
18055
18068
|
schX: distance31.optional(),
|
|
18056
18069
|
schY: distance31.optional(),
|
|
18057
18070
|
width: distance31.optional(),
|
|
18058
18071
|
height: distance31.optional(),
|
|
18059
|
-
overlay:
|
|
18072
|
+
overlay: z107.array(z107.string()).optional(),
|
|
18060
18073
|
padding: distance31.optional(),
|
|
18061
18074
|
paddingLeft: distance31.optional(),
|
|
18062
18075
|
paddingRight: distance31.optional(),
|
|
18063
18076
|
paddingTop: distance31.optional(),
|
|
18064
18077
|
paddingBottom: distance31.optional(),
|
|
18065
|
-
title:
|
|
18078
|
+
title: z107.string().optional(),
|
|
18066
18079
|
titleAlignment: ninePointAnchor.default("top_left"),
|
|
18067
|
-
titleColor:
|
|
18080
|
+
titleColor: z107.string().optional(),
|
|
18068
18081
|
titleFontSize: distance31.optional(),
|
|
18069
|
-
titleInside:
|
|
18070
|
-
strokeStyle:
|
|
18082
|
+
titleInside: z107.boolean().default(false),
|
|
18083
|
+
strokeStyle: z107.enum(["solid", "dashed"]).default("solid")
|
|
18071
18084
|
}).refine(
|
|
18072
18085
|
(elm) => elm.width !== void 0 && elm.height !== void 0 || Array.isArray(elm.overlay) && elm.overlay.length > 0,
|
|
18073
18086
|
{
|
|
@@ -18083,15 +18096,15 @@ expectTypesMatch(true);
|
|
|
18083
18096
|
|
|
18084
18097
|
// lib/components/schematic-circle.ts
|
|
18085
18098
|
import { distance as distance32, point as point6 } from "circuit-json";
|
|
18086
|
-
import { z as
|
|
18087
|
-
var schematicCircleProps =
|
|
18099
|
+
import { z as z108 } from "zod";
|
|
18100
|
+
var schematicCircleProps = z108.object({
|
|
18088
18101
|
center: point6,
|
|
18089
18102
|
radius: distance32,
|
|
18090
18103
|
strokeWidth: distance32.optional(),
|
|
18091
|
-
color:
|
|
18092
|
-
isFilled:
|
|
18093
|
-
fillColor:
|
|
18094
|
-
isDashed:
|
|
18104
|
+
color: z108.string().optional(),
|
|
18105
|
+
isFilled: z108.boolean().optional().default(false),
|
|
18106
|
+
fillColor: z108.string().optional(),
|
|
18107
|
+
isDashed: z108.boolean().optional().default(false)
|
|
18095
18108
|
});
|
|
18096
18109
|
expectTypesMatch(
|
|
18097
18110
|
true
|
|
@@ -18099,32 +18112,32 @@ expectTypesMatch(
|
|
|
18099
18112
|
|
|
18100
18113
|
// lib/components/schematic-rect.ts
|
|
18101
18114
|
import { distance as distance33, rotation as rotation8 } from "circuit-json";
|
|
18102
|
-
import { z as
|
|
18103
|
-
var schematicRectProps =
|
|
18115
|
+
import { z as z109 } from "zod";
|
|
18116
|
+
var schematicRectProps = z109.object({
|
|
18104
18117
|
schX: distance33.optional(),
|
|
18105
18118
|
schY: distance33.optional(),
|
|
18106
18119
|
width: distance33,
|
|
18107
18120
|
height: distance33,
|
|
18108
18121
|
rotation: rotation8.default(0),
|
|
18109
18122
|
strokeWidth: distance33.optional(),
|
|
18110
|
-
color:
|
|
18111
|
-
isFilled:
|
|
18112
|
-
fillColor:
|
|
18113
|
-
isDashed:
|
|
18123
|
+
color: z109.string().optional(),
|
|
18124
|
+
isFilled: z109.boolean().optional().default(false),
|
|
18125
|
+
fillColor: z109.string().optional(),
|
|
18126
|
+
isDashed: z109.boolean().optional().default(false)
|
|
18114
18127
|
});
|
|
18115
18128
|
expectTypesMatch(true);
|
|
18116
18129
|
|
|
18117
18130
|
// lib/components/schematic-line.ts
|
|
18118
18131
|
import { distance as distance34 } from "circuit-json";
|
|
18119
|
-
import { z as
|
|
18120
|
-
var schematicLineProps =
|
|
18132
|
+
import { z as z110 } from "zod";
|
|
18133
|
+
var schematicLineProps = z110.object({
|
|
18121
18134
|
x1: distance34,
|
|
18122
18135
|
y1: distance34,
|
|
18123
18136
|
x2: distance34,
|
|
18124
18137
|
y2: distance34,
|
|
18125
18138
|
strokeWidth: distance34.optional(),
|
|
18126
|
-
color:
|
|
18127
|
-
isDashed:
|
|
18139
|
+
color: z110.string().optional(),
|
|
18140
|
+
isDashed: z110.boolean().optional().default(false),
|
|
18128
18141
|
dashLength: distance34.optional(),
|
|
18129
18142
|
dashGap: distance34.optional()
|
|
18130
18143
|
});
|
|
@@ -18132,11 +18145,11 @@ expectTypesMatch(true);
|
|
|
18132
18145
|
|
|
18133
18146
|
// lib/components/schematic-text.ts
|
|
18134
18147
|
import { distance as distance35, rotation as rotation9 } from "circuit-json";
|
|
18135
|
-
import { z as
|
|
18148
|
+
import { z as z112 } from "zod";
|
|
18136
18149
|
|
|
18137
18150
|
// lib/common/fivePointAnchor.ts
|
|
18138
|
-
import { z as
|
|
18139
|
-
var fivePointAnchor =
|
|
18151
|
+
import { z as z111 } from "zod";
|
|
18152
|
+
var fivePointAnchor = z111.enum([
|
|
18140
18153
|
"center",
|
|
18141
18154
|
"left",
|
|
18142
18155
|
"right",
|
|
@@ -18145,39 +18158,39 @@ var fivePointAnchor = z110.enum([
|
|
|
18145
18158
|
]);
|
|
18146
18159
|
|
|
18147
18160
|
// lib/components/schematic-text.ts
|
|
18148
|
-
var schematicTextProps =
|
|
18161
|
+
var schematicTextProps = z112.object({
|
|
18149
18162
|
schX: distance35.optional(),
|
|
18150
18163
|
schY: distance35.optional(),
|
|
18151
|
-
text:
|
|
18152
|
-
fontSize:
|
|
18153
|
-
anchor:
|
|
18154
|
-
color:
|
|
18164
|
+
text: z112.string(),
|
|
18165
|
+
fontSize: z112.number().default(1),
|
|
18166
|
+
anchor: z112.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
|
|
18167
|
+
color: z112.string().default("#000000"),
|
|
18155
18168
|
schRotation: rotation9.default(0)
|
|
18156
18169
|
});
|
|
18157
18170
|
expectTypesMatch(true);
|
|
18158
18171
|
|
|
18159
18172
|
// lib/components/schematic-path.ts
|
|
18160
18173
|
import { distance as distance36, point as point7 } from "circuit-json";
|
|
18161
|
-
import { z as
|
|
18162
|
-
var schematicPathProps =
|
|
18163
|
-
points:
|
|
18164
|
-
svgPath:
|
|
18174
|
+
import { z as z113 } from "zod";
|
|
18175
|
+
var schematicPathProps = z113.object({
|
|
18176
|
+
points: z113.array(point7).optional(),
|
|
18177
|
+
svgPath: z113.string().optional(),
|
|
18165
18178
|
strokeWidth: distance36.optional(),
|
|
18166
|
-
strokeColor:
|
|
18179
|
+
strokeColor: z113.string().optional(),
|
|
18167
18180
|
dashLength: distance36.optional(),
|
|
18168
18181
|
dashGap: distance36.optional(),
|
|
18169
|
-
isFilled:
|
|
18170
|
-
fillColor:
|
|
18182
|
+
isFilled: z113.boolean().optional().default(false),
|
|
18183
|
+
fillColor: z113.string().optional()
|
|
18171
18184
|
});
|
|
18172
18185
|
expectTypesMatch(true);
|
|
18173
18186
|
|
|
18174
18187
|
// lib/components/schematic-table.ts
|
|
18175
18188
|
import { distance as distance37 } from "circuit-json";
|
|
18176
|
-
import { z as
|
|
18177
|
-
var schematicTableProps =
|
|
18189
|
+
import { z as z114 } from "zod";
|
|
18190
|
+
var schematicTableProps = z114.object({
|
|
18178
18191
|
schX: distance37.optional(),
|
|
18179
18192
|
schY: distance37.optional(),
|
|
18180
|
-
children:
|
|
18193
|
+
children: z114.any().optional(),
|
|
18181
18194
|
cellPadding: distance37.optional(),
|
|
18182
18195
|
borderWidth: distance37.optional(),
|
|
18183
18196
|
anchor: ninePointAnchor.optional(),
|
|
@@ -18187,34 +18200,34 @@ expectTypesMatch(true);
|
|
|
18187
18200
|
|
|
18188
18201
|
// lib/components/schematic-row.ts
|
|
18189
18202
|
import { distance as distance38 } from "circuit-json";
|
|
18190
|
-
import { z as
|
|
18191
|
-
var schematicRowProps =
|
|
18192
|
-
children:
|
|
18203
|
+
import { z as z115 } from "zod";
|
|
18204
|
+
var schematicRowProps = z115.object({
|
|
18205
|
+
children: z115.any().optional(),
|
|
18193
18206
|
height: distance38.optional()
|
|
18194
18207
|
});
|
|
18195
18208
|
expectTypesMatch(true);
|
|
18196
18209
|
|
|
18197
18210
|
// lib/components/schematic-cell.ts
|
|
18198
18211
|
import { distance as distance39 } from "circuit-json";
|
|
18199
|
-
import { z as
|
|
18200
|
-
var schematicCellProps =
|
|
18201
|
-
children:
|
|
18202
|
-
horizontalAlign:
|
|
18203
|
-
verticalAlign:
|
|
18212
|
+
import { z as z116 } from "zod";
|
|
18213
|
+
var schematicCellProps = z116.object({
|
|
18214
|
+
children: z116.string().optional(),
|
|
18215
|
+
horizontalAlign: z116.enum(["left", "center", "right"]).optional(),
|
|
18216
|
+
verticalAlign: z116.enum(["top", "middle", "bottom"]).optional(),
|
|
18204
18217
|
fontSize: distance39.optional(),
|
|
18205
|
-
rowSpan:
|
|
18206
|
-
colSpan:
|
|
18218
|
+
rowSpan: z116.number().optional(),
|
|
18219
|
+
colSpan: z116.number().optional(),
|
|
18207
18220
|
width: distance39.optional(),
|
|
18208
|
-
text:
|
|
18221
|
+
text: z116.string().optional()
|
|
18209
18222
|
});
|
|
18210
18223
|
expectTypesMatch(true);
|
|
18211
18224
|
|
|
18212
18225
|
// lib/components/schematic-section.ts
|
|
18213
18226
|
import { distance as distance40 } from "circuit-json";
|
|
18214
|
-
import { z as
|
|
18215
|
-
var schematicSectionProps =
|
|
18216
|
-
displayName:
|
|
18217
|
-
name:
|
|
18227
|
+
import { z as z117 } from "zod";
|
|
18228
|
+
var schematicSectionProps = z117.object({
|
|
18229
|
+
displayName: z117.string().optional(),
|
|
18230
|
+
name: z117.string(),
|
|
18218
18231
|
sectionTitleFontSize: distance40.optional()
|
|
18219
18232
|
});
|
|
18220
18233
|
expectTypesMatch(
|
|
@@ -18222,51 +18235,51 @@ expectTypesMatch(
|
|
|
18222
18235
|
);
|
|
18223
18236
|
|
|
18224
18237
|
// lib/components/schematic-sheet.ts
|
|
18225
|
-
import { z as
|
|
18226
|
-
var schematicSheetProps =
|
|
18227
|
-
name:
|
|
18228
|
-
displayName:
|
|
18229
|
-
sheetIndex:
|
|
18230
|
-
children:
|
|
18238
|
+
import { z as z118 } from "zod";
|
|
18239
|
+
var schematicSheetProps = z118.object({
|
|
18240
|
+
name: z118.string(),
|
|
18241
|
+
displayName: z118.string(),
|
|
18242
|
+
sheetIndex: z118.number().optional(),
|
|
18243
|
+
children: z118.any().optional()
|
|
18231
18244
|
});
|
|
18232
18245
|
expectTypesMatch(true);
|
|
18233
18246
|
|
|
18234
18247
|
// lib/components/copper-text.ts
|
|
18235
18248
|
import { layer_ref as layer_ref10, length as length8 } from "circuit-json";
|
|
18236
|
-
import { z as
|
|
18249
|
+
import { z as z119 } from "zod";
|
|
18237
18250
|
var copperTextProps = pcbLayoutProps.extend({
|
|
18238
|
-
text:
|
|
18251
|
+
text: z119.string(),
|
|
18239
18252
|
anchorAlignment: ninePointAnchor.default("center"),
|
|
18240
|
-
font:
|
|
18253
|
+
font: z119.enum(["tscircuit2024"]).optional(),
|
|
18241
18254
|
fontSize: length8.optional(),
|
|
18242
|
-
layers:
|
|
18243
|
-
knockout:
|
|
18244
|
-
mirrored:
|
|
18255
|
+
layers: z119.array(layer_ref10).optional(),
|
|
18256
|
+
knockout: z119.boolean().optional(),
|
|
18257
|
+
mirrored: z119.boolean().optional()
|
|
18245
18258
|
});
|
|
18246
18259
|
|
|
18247
18260
|
// lib/components/silkscreen-text.ts
|
|
18248
18261
|
import { layer_ref as layer_ref11, length as length9 } from "circuit-json";
|
|
18249
|
-
import { z as
|
|
18262
|
+
import { z as z120 } from "zod";
|
|
18250
18263
|
var silkscreenTextProps = pcbLayoutProps.extend({
|
|
18251
|
-
text:
|
|
18264
|
+
text: z120.string(),
|
|
18252
18265
|
anchorAlignment: ninePointAnchor.default("center"),
|
|
18253
|
-
font:
|
|
18266
|
+
font: z120.enum(["tscircuit2024"]).optional(),
|
|
18254
18267
|
fontSize: length9.optional(),
|
|
18255
18268
|
/**
|
|
18256
18269
|
* If true, text will knock out underlying silkscreen
|
|
18257
18270
|
*/
|
|
18258
|
-
isKnockout:
|
|
18271
|
+
isKnockout: z120.boolean().optional(),
|
|
18259
18272
|
knockoutPadding: length9.optional(),
|
|
18260
18273
|
knockoutPaddingLeft: length9.optional(),
|
|
18261
18274
|
knockoutPaddingRight: length9.optional(),
|
|
18262
18275
|
knockoutPaddingTop: length9.optional(),
|
|
18263
18276
|
knockoutPaddingBottom: length9.optional(),
|
|
18264
|
-
layers:
|
|
18277
|
+
layers: z120.array(layer_ref11).optional()
|
|
18265
18278
|
});
|
|
18266
18279
|
|
|
18267
18280
|
// lib/components/silkscreen-path.ts
|
|
18268
18281
|
import { length as length10, route_hint_point as route_hint_point5 } from "circuit-json";
|
|
18269
|
-
import { z as
|
|
18282
|
+
import { z as z121 } from "zod";
|
|
18270
18283
|
var silkscreenPathProps = pcbLayoutProps.omit({
|
|
18271
18284
|
pcbLeftEdgeX: true,
|
|
18272
18285
|
pcbRightEdgeX: true,
|
|
@@ -18278,7 +18291,7 @@ var silkscreenPathProps = pcbLayoutProps.omit({
|
|
|
18278
18291
|
pcbOffsetY: true,
|
|
18279
18292
|
pcbRotation: true
|
|
18280
18293
|
}).extend({
|
|
18281
|
-
route:
|
|
18294
|
+
route: z121.array(route_hint_point5),
|
|
18282
18295
|
strokeWidth: length10.optional()
|
|
18283
18296
|
});
|
|
18284
18297
|
|
|
@@ -18300,10 +18313,10 @@ var silkscreenLineProps = pcbLayoutProps.omit({
|
|
|
18300
18313
|
|
|
18301
18314
|
// lib/components/silkscreen-rect.ts
|
|
18302
18315
|
import { distance as distance42 } from "circuit-json";
|
|
18303
|
-
import { z as
|
|
18316
|
+
import { z as z122 } from "zod";
|
|
18304
18317
|
var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
18305
|
-
filled:
|
|
18306
|
-
stroke:
|
|
18318
|
+
filled: z122.boolean().default(true).optional(),
|
|
18319
|
+
stroke: z122.enum(["dashed", "solid", "none"]).optional(),
|
|
18307
18320
|
strokeWidth: distance42.optional(),
|
|
18308
18321
|
width: distance42,
|
|
18309
18322
|
height: distance42,
|
|
@@ -18312,10 +18325,10 @@ var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
|
18312
18325
|
|
|
18313
18326
|
// lib/components/silkscreen-circle.ts
|
|
18314
18327
|
import { distance as distance43 } from "circuit-json";
|
|
18315
|
-
import { z as
|
|
18328
|
+
import { z as z123 } from "zod";
|
|
18316
18329
|
var silkscreenCircleProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
18317
|
-
isFilled:
|
|
18318
|
-
isOutline:
|
|
18330
|
+
isFilled: z123.boolean().optional(),
|
|
18331
|
+
isOutline: z123.boolean().optional(),
|
|
18319
18332
|
strokeWidth: distance43.optional(),
|
|
18320
18333
|
radius: distance43
|
|
18321
18334
|
});
|
|
@@ -18333,63 +18346,63 @@ expectTypesMatch(true);
|
|
|
18333
18346
|
|
|
18334
18347
|
// lib/components/trace-hint.ts
|
|
18335
18348
|
import { distance as distance44, layer_ref as layer_ref12, route_hint_point as route_hint_point6 } from "circuit-json";
|
|
18336
|
-
import { z as
|
|
18337
|
-
var routeHintPointProps =
|
|
18349
|
+
import { z as z125 } from "zod";
|
|
18350
|
+
var routeHintPointProps = z125.object({
|
|
18338
18351
|
x: distance44,
|
|
18339
18352
|
y: distance44,
|
|
18340
|
-
via:
|
|
18353
|
+
via: z125.boolean().optional(),
|
|
18341
18354
|
toLayer: layer_ref12.optional()
|
|
18342
18355
|
});
|
|
18343
|
-
var traceHintProps =
|
|
18344
|
-
for:
|
|
18356
|
+
var traceHintProps = z125.object({
|
|
18357
|
+
for: z125.string().optional().describe(
|
|
18345
18358
|
"Selector for the port you're targeting, not required if you're inside a trace"
|
|
18346
18359
|
),
|
|
18347
|
-
order:
|
|
18360
|
+
order: z125.number().optional(),
|
|
18348
18361
|
offset: route_hint_point6.or(routeHintPointProps).optional(),
|
|
18349
|
-
offsets:
|
|
18350
|
-
traceWidth:
|
|
18362
|
+
offsets: z125.array(route_hint_point6).or(z125.array(routeHintPointProps)).optional(),
|
|
18363
|
+
traceWidth: z125.number().optional()
|
|
18351
18364
|
});
|
|
18352
18365
|
|
|
18353
18366
|
// lib/components/port.ts
|
|
18354
|
-
import { z as
|
|
18367
|
+
import { z as z126 } from "zod";
|
|
18355
18368
|
var portProps = commonLayoutProps.extend({
|
|
18356
|
-
name:
|
|
18357
|
-
pinNumber:
|
|
18358
|
-
schStemLength:
|
|
18359
|
-
aliases:
|
|
18360
|
-
layer:
|
|
18361
|
-
layers:
|
|
18362
|
-
schX:
|
|
18363
|
-
schY:
|
|
18369
|
+
name: z126.string().optional(),
|
|
18370
|
+
pinNumber: z126.number().optional(),
|
|
18371
|
+
schStemLength: z126.number().optional(),
|
|
18372
|
+
aliases: z126.array(z126.string()).optional(),
|
|
18373
|
+
layer: z126.string().optional(),
|
|
18374
|
+
layers: z126.array(z126.string()).optional(),
|
|
18375
|
+
schX: z126.number().optional(),
|
|
18376
|
+
schY: z126.number().optional(),
|
|
18364
18377
|
direction: direction.optional(),
|
|
18365
|
-
connectsTo:
|
|
18378
|
+
connectsTo: z126.string().or(z126.array(z126.string())).optional(),
|
|
18366
18379
|
kicadPinMetadata: kicadPinMetadata.optional(),
|
|
18367
|
-
hasInversionCircle:
|
|
18380
|
+
hasInversionCircle: z126.boolean().optional()
|
|
18368
18381
|
});
|
|
18369
18382
|
|
|
18370
18383
|
// lib/components/pcb-note-text.ts
|
|
18371
18384
|
import { length as length11 } from "circuit-json";
|
|
18372
|
-
import { z as
|
|
18385
|
+
import { z as z127 } from "zod";
|
|
18373
18386
|
var pcbNoteTextProps = pcbLayoutProps.extend({
|
|
18374
|
-
text:
|
|
18375
|
-
anchorAlignment:
|
|
18376
|
-
font:
|
|
18387
|
+
text: z127.string(),
|
|
18388
|
+
anchorAlignment: z127.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
18389
|
+
font: z127.enum(["tscircuit2024"]).optional(),
|
|
18377
18390
|
fontSize: length11.optional(),
|
|
18378
|
-
color:
|
|
18391
|
+
color: z127.string().optional()
|
|
18379
18392
|
});
|
|
18380
18393
|
expectTypesMatch(true);
|
|
18381
18394
|
|
|
18382
18395
|
// lib/components/pcb-note-rect.ts
|
|
18383
18396
|
import { distance as distance45 } from "circuit-json";
|
|
18384
|
-
import { z as
|
|
18397
|
+
import { z as z128 } from "zod";
|
|
18385
18398
|
var pcbNoteRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
18386
18399
|
width: distance45,
|
|
18387
18400
|
height: distance45,
|
|
18388
18401
|
strokeWidth: distance45.optional(),
|
|
18389
|
-
isFilled:
|
|
18390
|
-
hasStroke:
|
|
18391
|
-
isStrokeDashed:
|
|
18392
|
-
color:
|
|
18402
|
+
isFilled: z128.boolean().optional(),
|
|
18403
|
+
hasStroke: z128.boolean().optional(),
|
|
18404
|
+
isStrokeDashed: z128.boolean().optional(),
|
|
18405
|
+
color: z128.string().optional(),
|
|
18393
18406
|
cornerRadius: distance45.optional()
|
|
18394
18407
|
});
|
|
18395
18408
|
expectTypesMatch(true);
|
|
@@ -18399,7 +18412,7 @@ import {
|
|
|
18399
18412
|
length as length12,
|
|
18400
18413
|
route_hint_point as route_hint_point7
|
|
18401
18414
|
} from "circuit-json";
|
|
18402
|
-
import { z as
|
|
18415
|
+
import { z as z129 } from "zod";
|
|
18403
18416
|
var pcbNotePathProps = pcbLayoutProps.omit({
|
|
18404
18417
|
pcbLeftEdgeX: true,
|
|
18405
18418
|
pcbRightEdgeX: true,
|
|
@@ -18411,15 +18424,15 @@ var pcbNotePathProps = pcbLayoutProps.omit({
|
|
|
18411
18424
|
pcbOffsetY: true,
|
|
18412
18425
|
pcbRotation: true
|
|
18413
18426
|
}).extend({
|
|
18414
|
-
route:
|
|
18427
|
+
route: z129.array(route_hint_point7),
|
|
18415
18428
|
strokeWidth: length12.optional(),
|
|
18416
|
-
color:
|
|
18429
|
+
color: z129.string().optional()
|
|
18417
18430
|
});
|
|
18418
18431
|
expectTypesMatch(true);
|
|
18419
18432
|
|
|
18420
18433
|
// lib/components/pcb-note-line.ts
|
|
18421
18434
|
import { distance as distance46 } from "circuit-json";
|
|
18422
|
-
import { z as
|
|
18435
|
+
import { z as z130 } from "zod";
|
|
18423
18436
|
var pcbNoteLineProps = pcbLayoutProps.omit({
|
|
18424
18437
|
pcbLeftEdgeX: true,
|
|
18425
18438
|
pcbRightEdgeX: true,
|
|
@@ -18436,15 +18449,15 @@ var pcbNoteLineProps = pcbLayoutProps.omit({
|
|
|
18436
18449
|
x2: distance46,
|
|
18437
18450
|
y2: distance46,
|
|
18438
18451
|
strokeWidth: distance46.optional(),
|
|
18439
|
-
color:
|
|
18440
|
-
isDashed:
|
|
18452
|
+
color: z130.string().optional(),
|
|
18453
|
+
isDashed: z130.boolean().optional()
|
|
18441
18454
|
});
|
|
18442
18455
|
expectTypesMatch(true);
|
|
18443
18456
|
|
|
18444
18457
|
// lib/components/pcb-note-dimension.ts
|
|
18445
18458
|
import { distance as distance47, length as length13 } from "circuit-json";
|
|
18446
|
-
import { z as
|
|
18447
|
-
var dimensionTarget2 =
|
|
18459
|
+
import { z as z131 } from "zod";
|
|
18460
|
+
var dimensionTarget2 = z131.union([z131.string(), point]);
|
|
18448
18461
|
var pcbNoteDimensionProps = pcbLayoutProps.omit({
|
|
18449
18462
|
pcbLeftEdgeX: true,
|
|
18450
18463
|
pcbRightEdgeX: true,
|
|
@@ -18458,101 +18471,101 @@ var pcbNoteDimensionProps = pcbLayoutProps.omit({
|
|
|
18458
18471
|
}).extend({
|
|
18459
18472
|
from: dimensionTarget2,
|
|
18460
18473
|
to: dimensionTarget2,
|
|
18461
|
-
text:
|
|
18474
|
+
text: z131.string().optional(),
|
|
18462
18475
|
offset: distance47.optional(),
|
|
18463
|
-
font:
|
|
18476
|
+
font: z131.enum(["tscircuit2024"]).optional(),
|
|
18464
18477
|
fontSize: length13.optional(),
|
|
18465
|
-
color:
|
|
18478
|
+
color: z131.string().optional(),
|
|
18466
18479
|
arrowSize: distance47.optional(),
|
|
18467
|
-
units:
|
|
18468
|
-
outerEdgeToEdge:
|
|
18469
|
-
centerToCenter:
|
|
18470
|
-
innerEdgeToEdge:
|
|
18480
|
+
units: z131.enum(["in", "mm"]).optional(),
|
|
18481
|
+
outerEdgeToEdge: z131.literal(true).optional(),
|
|
18482
|
+
centerToCenter: z131.literal(true).optional(),
|
|
18483
|
+
innerEdgeToEdge: z131.literal(true).optional()
|
|
18471
18484
|
});
|
|
18472
18485
|
expectTypesMatch(
|
|
18473
18486
|
true
|
|
18474
18487
|
);
|
|
18475
18488
|
|
|
18476
18489
|
// lib/platformConfig.ts
|
|
18477
|
-
import { z as
|
|
18478
|
-
var unvalidatedCircuitJson =
|
|
18479
|
-
var footprintLibraryResult =
|
|
18480
|
-
footprintCircuitJson:
|
|
18490
|
+
import { z as z132 } from "zod";
|
|
18491
|
+
var unvalidatedCircuitJson = z132.array(z132.any()).describe("Circuit JSON");
|
|
18492
|
+
var footprintLibraryResult = z132.object({
|
|
18493
|
+
footprintCircuitJson: z132.array(z132.any()),
|
|
18481
18494
|
cadModel: cadModelProp.optional()
|
|
18482
18495
|
});
|
|
18483
|
-
var pathToCircuitJsonFn =
|
|
18484
|
-
|
|
18485
|
-
|
|
18486
|
-
|
|
18487
|
-
).returns(
|
|
18496
|
+
var pathToCircuitJsonFn = z132.function().args(z132.string()).returns(z132.promise(footprintLibraryResult)).or(
|
|
18497
|
+
z132.function().args(
|
|
18498
|
+
z132.string(),
|
|
18499
|
+
z132.object({ resolvedPcbStyle: pcbStyle.optional() }).optional()
|
|
18500
|
+
).returns(z132.promise(footprintLibraryResult))
|
|
18488
18501
|
).describe("A function that takes a path and returns Circuit JSON");
|
|
18489
|
-
var footprintFileParserEntry =
|
|
18490
|
-
loadFromUrl:
|
|
18502
|
+
var footprintFileParserEntry = z132.object({
|
|
18503
|
+
loadFromUrl: z132.function().args(z132.string()).returns(z132.promise(footprintLibraryResult)).describe(
|
|
18491
18504
|
"A function that takes a footprint file URL and returns Circuit JSON"
|
|
18492
18505
|
)
|
|
18493
18506
|
});
|
|
18494
|
-
var spiceEngineSimulationResult =
|
|
18495
|
-
engineVersionString:
|
|
18507
|
+
var spiceEngineSimulationResult = z132.object({
|
|
18508
|
+
engineVersionString: z132.string().optional(),
|
|
18496
18509
|
simulationResultCircuitJson: unvalidatedCircuitJson
|
|
18497
18510
|
});
|
|
18498
|
-
var spiceEngineZod =
|
|
18499
|
-
simulate:
|
|
18511
|
+
var spiceEngineZod = z132.object({
|
|
18512
|
+
simulate: z132.function().args(z132.string()).returns(z132.promise(spiceEngineSimulationResult)).describe(
|
|
18500
18513
|
"A function that takes a SPICE string and returns a simulation result"
|
|
18501
18514
|
)
|
|
18502
18515
|
});
|
|
18503
|
-
var defaultSpiceEngine =
|
|
18516
|
+
var defaultSpiceEngine = z132.custom(
|
|
18504
18517
|
(value) => typeof value === "string"
|
|
18505
18518
|
);
|
|
18506
|
-
var autorouterInstance =
|
|
18507
|
-
run:
|
|
18508
|
-
getOutputSimpleRouteJson:
|
|
18519
|
+
var autorouterInstance = z132.object({
|
|
18520
|
+
run: z132.function().args().returns(z132.promise(z132.unknown())).describe("Run the autorouter"),
|
|
18521
|
+
getOutputSimpleRouteJson: z132.function().args().returns(z132.promise(z132.any())).describe("Get the resulting SimpleRouteJson")
|
|
18509
18522
|
});
|
|
18510
|
-
var autorouterDefinition =
|
|
18511
|
-
createAutorouter:
|
|
18523
|
+
var autorouterDefinition = z132.object({
|
|
18524
|
+
createAutorouter: z132.function().args(z132.any(), z132.any().optional()).returns(z132.union([autorouterInstance, z132.promise(autorouterInstance)])).describe("Create an autorouter instance")
|
|
18512
18525
|
});
|
|
18513
|
-
var platformFetch =
|
|
18514
|
-
var platformConfig =
|
|
18526
|
+
var platformFetch = z132.custom((value) => typeof value === "function").describe("A fetch-like function to use for platform requests");
|
|
18527
|
+
var platformConfig = z132.object({
|
|
18515
18528
|
partsEngine: partsEngine.optional(),
|
|
18516
18529
|
autorouter: autorouterProp.optional(),
|
|
18517
|
-
autorouterMap:
|
|
18530
|
+
autorouterMap: z132.record(z132.string(), autorouterDefinition).optional(),
|
|
18518
18531
|
registryApiUrl: url.optional(),
|
|
18519
18532
|
cloudAutorouterUrl: url.optional(),
|
|
18520
|
-
projectName:
|
|
18533
|
+
projectName: z132.string().optional(),
|
|
18521
18534
|
projectBaseUrl: url.optional(),
|
|
18522
|
-
version:
|
|
18535
|
+
version: z132.string().optional(),
|
|
18523
18536
|
url: url.optional(),
|
|
18524
|
-
printBoardInformationToSilkscreen:
|
|
18525
|
-
includeBoardFiles:
|
|
18537
|
+
printBoardInformationToSilkscreen: z132.boolean().optional(),
|
|
18538
|
+
includeBoardFiles: z132.array(z132.string()).describe(
|
|
18526
18539
|
'The board files to automatically build with "tsci build", defaults to ["**/*.circuit.tsx"]. Can be an array of files or globs'
|
|
18527
18540
|
).optional(),
|
|
18528
|
-
snapshotsDir:
|
|
18541
|
+
snapshotsDir: z132.string().describe(
|
|
18529
18542
|
'The directory where snapshots are stored for "tsci snapshot", defaults to "tests/__snapshots__"'
|
|
18530
18543
|
).optional(),
|
|
18531
18544
|
defaultSpiceEngine: defaultSpiceEngine.optional(),
|
|
18532
|
-
unitPreference:
|
|
18533
|
-
localCacheEngine:
|
|
18534
|
-
pcbDisabled:
|
|
18535
|
-
routingDisabled:
|
|
18536
|
-
schematicDisabled:
|
|
18537
|
-
partsEngineDisabled:
|
|
18538
|
-
drcChecksDisabled:
|
|
18539
|
-
netlistDrcChecksDisabled:
|
|
18540
|
-
routingDrcChecksDisabled:
|
|
18541
|
-
placementDrcChecksDisabled:
|
|
18542
|
-
pinSpecificationDrcChecksDisabled:
|
|
18543
|
-
spiceEngineMap:
|
|
18544
|
-
footprintLibraryMap:
|
|
18545
|
-
|
|
18546
|
-
|
|
18545
|
+
unitPreference: z132.enum(["mm", "in", "mil"]).optional(),
|
|
18546
|
+
localCacheEngine: z132.any().optional(),
|
|
18547
|
+
pcbDisabled: z132.boolean().optional(),
|
|
18548
|
+
routingDisabled: z132.boolean().optional(),
|
|
18549
|
+
schematicDisabled: z132.boolean().optional(),
|
|
18550
|
+
partsEngineDisabled: z132.boolean().optional(),
|
|
18551
|
+
drcChecksDisabled: z132.boolean().optional(),
|
|
18552
|
+
netlistDrcChecksDisabled: z132.boolean().optional(),
|
|
18553
|
+
routingDrcChecksDisabled: z132.boolean().optional(),
|
|
18554
|
+
placementDrcChecksDisabled: z132.boolean().optional(),
|
|
18555
|
+
pinSpecificationDrcChecksDisabled: z132.boolean().optional(),
|
|
18556
|
+
spiceEngineMap: z132.record(z132.string(), spiceEngineZod).optional(),
|
|
18557
|
+
footprintLibraryMap: z132.record(
|
|
18558
|
+
z132.string(),
|
|
18559
|
+
z132.union([
|
|
18547
18560
|
pathToCircuitJsonFn,
|
|
18548
|
-
|
|
18549
|
-
|
|
18550
|
-
|
|
18561
|
+
z132.record(
|
|
18562
|
+
z132.string(),
|
|
18563
|
+
z132.union([unvalidatedCircuitJson, pathToCircuitJsonFn])
|
|
18551
18564
|
)
|
|
18552
18565
|
])
|
|
18553
18566
|
).optional(),
|
|
18554
|
-
footprintFileParserMap:
|
|
18555
|
-
resolveProjectStaticFileImportUrl:
|
|
18567
|
+
footprintFileParserMap: z132.record(z132.string(), footprintFileParserEntry).optional(),
|
|
18568
|
+
resolveProjectStaticFileImportUrl: z132.function().args(z132.string()).returns(z132.promise(z132.string())).describe(
|
|
18556
18569
|
"A function that returns a string URL for static files for the project"
|
|
18557
18570
|
).optional(),
|
|
18558
18571
|
platformFetch: platformFetch.optional()
|
|
@@ -18631,6 +18644,7 @@ export {
|
|
|
18631
18644
|
currentSourceProps,
|
|
18632
18645
|
customDrcCheckFn,
|
|
18633
18646
|
cutoutProps,
|
|
18647
|
+
differentialPairProps,
|
|
18634
18648
|
diodePins,
|
|
18635
18649
|
diodeProps,
|
|
18636
18650
|
direction,
|