@tscircuit/props 0.0.574 → 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 +17 -0
- package/dist/index.d.ts +31 -1
- package/dist/index.js +392 -381
- package/dist/index.js.map +1 -1
- package/lib/components/differentialpair.ts +26 -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,11 +17508,11 @@ var mosfetPins = [
|
|
|
17498
17508
|
"gate"
|
|
17499
17509
|
];
|
|
17500
17510
|
var mosfetProps = commonComponentProps.extend({
|
|
17501
|
-
channelType:
|
|
17502
|
-
mosfetMode:
|
|
17503
|
-
symbolDrainSide:
|
|
17504
|
-
symbolSourceSide:
|
|
17505
|
-
symbolGateSide:
|
|
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(),
|
|
17506
17516
|
connections: createConnectionsProp(mosfetPins).optional()
|
|
17507
17517
|
});
|
|
17508
17518
|
expectTypesMatch(true);
|
|
@@ -17524,20 +17534,20 @@ expectTypesMatch(true);
|
|
|
17524
17534
|
|
|
17525
17535
|
// lib/components/inductor.ts
|
|
17526
17536
|
import { inductance } from "circuit-json";
|
|
17527
|
-
import { z as
|
|
17537
|
+
import { z as z81 } from "zod";
|
|
17528
17538
|
var inductorPins = lrPins;
|
|
17529
17539
|
var inductorProps = commonComponentProps.extend({
|
|
17530
17540
|
inductance,
|
|
17531
|
-
maxCurrentRating:
|
|
17541
|
+
maxCurrentRating: z81.union([z81.string(), z81.number()]).optional(),
|
|
17532
17542
|
schOrientation: schematicOrientation.optional(),
|
|
17533
17543
|
connections: createConnectionsProp(inductorPins).optional()
|
|
17534
17544
|
});
|
|
17535
17545
|
expectTypesMatch(true);
|
|
17536
17546
|
|
|
17537
17547
|
// lib/components/diode.ts
|
|
17538
|
-
import { z as
|
|
17548
|
+
import { z as z82 } from "zod";
|
|
17539
17549
|
var diodePins = lrPolarPins;
|
|
17540
|
-
var diodeConnectionKeys =
|
|
17550
|
+
var diodeConnectionKeys = z82.enum([
|
|
17541
17551
|
"anode",
|
|
17542
17552
|
"cathode",
|
|
17543
17553
|
"pin1",
|
|
@@ -17545,13 +17555,13 @@ var diodeConnectionKeys = z81.enum([
|
|
|
17545
17555
|
"pos",
|
|
17546
17556
|
"neg"
|
|
17547
17557
|
]);
|
|
17548
|
-
var connectionTarget3 =
|
|
17549
|
-
var connectionsProp2 =
|
|
17550
|
-
var diodePinLabelsProp =
|
|
17551
|
-
|
|
17552
|
-
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))
|
|
17553
17563
|
);
|
|
17554
|
-
var diodeVariant =
|
|
17564
|
+
var diodeVariant = z82.enum([
|
|
17555
17565
|
"standard",
|
|
17556
17566
|
"schottky",
|
|
17557
17567
|
"zener",
|
|
@@ -17562,12 +17572,12 @@ var diodeVariant = z81.enum([
|
|
|
17562
17572
|
var diodeProps = commonComponentProps.extend({
|
|
17563
17573
|
connections: connectionsProp2.optional(),
|
|
17564
17574
|
variant: diodeVariant.optional().default("standard"),
|
|
17565
|
-
standard:
|
|
17566
|
-
schottky:
|
|
17567
|
-
zener:
|
|
17568
|
-
avalanche:
|
|
17569
|
-
photo:
|
|
17570
|
-
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(),
|
|
17571
17581
|
schOrientation: schematicOrientation.optional(),
|
|
17572
17582
|
pinLabels: diodePinLabelsProp.optional()
|
|
17573
17583
|
}).superRefine((data, ctx) => {
|
|
@@ -17581,11 +17591,11 @@ var diodeProps = commonComponentProps.extend({
|
|
|
17581
17591
|
].filter(Boolean).length;
|
|
17582
17592
|
if (enabledFlags > 1) {
|
|
17583
17593
|
ctx.addIssue({
|
|
17584
|
-
code:
|
|
17594
|
+
code: z82.ZodIssueCode.custom,
|
|
17585
17595
|
message: "Exactly one diode variant must be enabled",
|
|
17586
17596
|
path: []
|
|
17587
17597
|
});
|
|
17588
|
-
return
|
|
17598
|
+
return z82.INVALID;
|
|
17589
17599
|
}
|
|
17590
17600
|
}).transform((data) => {
|
|
17591
17601
|
const result = {
|
|
@@ -17631,34 +17641,34 @@ var diodeProps = commonComponentProps.extend({
|
|
|
17631
17641
|
expectTypesMatch(true);
|
|
17632
17642
|
|
|
17633
17643
|
// lib/components/led.ts
|
|
17634
|
-
import { z as
|
|
17644
|
+
import { z as z83 } from "zod";
|
|
17635
17645
|
var ledProps = commonComponentProps.extend({
|
|
17636
|
-
color:
|
|
17637
|
-
wavelength:
|
|
17638
|
-
schDisplayValue:
|
|
17646
|
+
color: z83.string().optional(),
|
|
17647
|
+
wavelength: z83.string().optional(),
|
|
17648
|
+
schDisplayValue: z83.string().optional(),
|
|
17639
17649
|
schOrientation: schematicOrientation.optional(),
|
|
17640
17650
|
connections: createConnectionsProp(lrPolarPins).optional(),
|
|
17641
|
-
laser:
|
|
17651
|
+
laser: z83.boolean().optional()
|
|
17642
17652
|
});
|
|
17643
17653
|
var ledPins = lrPolarPins;
|
|
17644
17654
|
|
|
17645
17655
|
// lib/components/switch.ts
|
|
17646
17656
|
import { ms as ms2, frequency as frequency3 } from "circuit-json";
|
|
17647
|
-
import { z as
|
|
17657
|
+
import { z as z84 } from "zod";
|
|
17648
17658
|
var switchProps = commonComponentProps.extend({
|
|
17649
|
-
type:
|
|
17650
|
-
isNormallyClosed:
|
|
17651
|
-
spst:
|
|
17652
|
-
spdt:
|
|
17653
|
-
dpst:
|
|
17654
|
-
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(),
|
|
17655
17665
|
pinLabels: pinLabelsProp.optional(),
|
|
17656
17666
|
simSwitchFrequency: frequency3.optional(),
|
|
17657
17667
|
simCloseAt: ms2.optional(),
|
|
17658
17668
|
simOpenAt: ms2.optional(),
|
|
17659
|
-
simStartClosed:
|
|
17660
|
-
simStartOpen:
|
|
17661
|
-
connections:
|
|
17669
|
+
simStartClosed: z84.boolean().optional(),
|
|
17670
|
+
simStartOpen: z84.boolean().optional(),
|
|
17671
|
+
connections: z84.custom().pipe(z84.record(z84.string(), connectionTarget)).optional()
|
|
17662
17672
|
}).transform((props) => {
|
|
17663
17673
|
const updatedProps = { ...props };
|
|
17664
17674
|
if (updatedProps.dpdt) {
|
|
@@ -17690,33 +17700,33 @@ expectTypesMatch(true);
|
|
|
17690
17700
|
|
|
17691
17701
|
// lib/components/fabrication-note-text.ts
|
|
17692
17702
|
import { length as length4 } from "circuit-json";
|
|
17693
|
-
import { z as
|
|
17703
|
+
import { z as z85 } from "zod";
|
|
17694
17704
|
var fabricationNoteTextProps = pcbLayoutProps.extend({
|
|
17695
|
-
text:
|
|
17696
|
-
anchorAlignment:
|
|
17697
|
-
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(),
|
|
17698
17708
|
fontSize: length4.optional(),
|
|
17699
|
-
color:
|
|
17709
|
+
color: z85.string().optional()
|
|
17700
17710
|
});
|
|
17701
17711
|
expectTypesMatch(true);
|
|
17702
17712
|
|
|
17703
17713
|
// lib/components/fabrication-note-rect.ts
|
|
17704
17714
|
import { distance as distance21 } from "circuit-json";
|
|
17705
|
-
import { z as
|
|
17715
|
+
import { z as z86 } from "zod";
|
|
17706
17716
|
var fabricationNoteRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
17707
17717
|
width: distance21,
|
|
17708
17718
|
height: distance21,
|
|
17709
17719
|
strokeWidth: distance21.optional(),
|
|
17710
|
-
isFilled:
|
|
17711
|
-
hasStroke:
|
|
17712
|
-
isStrokeDashed:
|
|
17713
|
-
color:
|
|
17720
|
+
isFilled: z86.boolean().optional(),
|
|
17721
|
+
hasStroke: z86.boolean().optional(),
|
|
17722
|
+
isStrokeDashed: z86.boolean().optional(),
|
|
17723
|
+
color: z86.string().optional(),
|
|
17714
17724
|
cornerRadius: distance21.optional()
|
|
17715
17725
|
});
|
|
17716
17726
|
|
|
17717
17727
|
// lib/components/fabrication-note-path.ts
|
|
17718
17728
|
import { length as length5, route_hint_point as route_hint_point3 } from "circuit-json";
|
|
17719
|
-
import { z as
|
|
17729
|
+
import { z as z87 } from "zod";
|
|
17720
17730
|
var fabricationNotePathProps = pcbLayoutProps.omit({
|
|
17721
17731
|
pcbLeftEdgeX: true,
|
|
17722
17732
|
pcbRightEdgeX: true,
|
|
@@ -17728,15 +17738,15 @@ var fabricationNotePathProps = pcbLayoutProps.omit({
|
|
|
17728
17738
|
pcbOffsetY: true,
|
|
17729
17739
|
pcbRotation: true
|
|
17730
17740
|
}).extend({
|
|
17731
|
-
route:
|
|
17741
|
+
route: z87.array(route_hint_point3),
|
|
17732
17742
|
strokeWidth: length5.optional(),
|
|
17733
|
-
color:
|
|
17743
|
+
color: z87.string().optional()
|
|
17734
17744
|
});
|
|
17735
17745
|
|
|
17736
17746
|
// lib/components/fabrication-note-dimension.ts
|
|
17737
17747
|
import { distance as distance22, length as length6 } from "circuit-json";
|
|
17738
|
-
import { z as
|
|
17739
|
-
var dimensionTarget =
|
|
17748
|
+
import { z as z88 } from "zod";
|
|
17749
|
+
var dimensionTarget = z88.union([z88.string(), point]);
|
|
17740
17750
|
var fabricationNoteDimensionProps = pcbLayoutProps.omit({
|
|
17741
17751
|
pcbLeftEdgeX: true,
|
|
17742
17752
|
pcbRightEdgeX: true,
|
|
@@ -17750,54 +17760,54 @@ var fabricationNoteDimensionProps = pcbLayoutProps.omit({
|
|
|
17750
17760
|
}).extend({
|
|
17751
17761
|
from: dimensionTarget,
|
|
17752
17762
|
to: dimensionTarget,
|
|
17753
|
-
text:
|
|
17763
|
+
text: z88.string().optional(),
|
|
17754
17764
|
offset: distance22.optional(),
|
|
17755
|
-
font:
|
|
17765
|
+
font: z88.enum(["tscircuit2024"]).optional(),
|
|
17756
17766
|
fontSize: length6.optional(),
|
|
17757
|
-
color:
|
|
17767
|
+
color: z88.string().optional(),
|
|
17758
17768
|
arrowSize: distance22.optional(),
|
|
17759
|
-
units:
|
|
17760
|
-
outerEdgeToEdge:
|
|
17761
|
-
centerToCenter:
|
|
17762
|
-
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()
|
|
17763
17773
|
});
|
|
17764
17774
|
expectTypesMatch(true);
|
|
17765
17775
|
|
|
17766
17776
|
// lib/components/pcb-trace.ts
|
|
17767
17777
|
import { distance as distance23, route_hint_point as route_hint_point4 } from "circuit-json";
|
|
17768
|
-
import { z as
|
|
17769
|
-
var pcbTraceProps =
|
|
17770
|
-
layer:
|
|
17778
|
+
import { z as z89 } from "zod";
|
|
17779
|
+
var pcbTraceProps = z89.object({
|
|
17780
|
+
layer: z89.string().optional(),
|
|
17771
17781
|
thickness: distance23.optional(),
|
|
17772
|
-
route:
|
|
17782
|
+
route: z89.array(route_hint_point4)
|
|
17773
17783
|
});
|
|
17774
17784
|
|
|
17775
17785
|
// lib/components/via.ts
|
|
17776
17786
|
import { distance as distance24, layer_ref as layer_ref6 } from "circuit-json";
|
|
17777
|
-
import { z as
|
|
17787
|
+
import { z as z90 } from "zod";
|
|
17778
17788
|
var viaProps = commonLayoutProps.extend({
|
|
17779
|
-
name:
|
|
17789
|
+
name: z90.string().optional(),
|
|
17780
17790
|
fromLayer: layer_ref6.optional(),
|
|
17781
17791
|
toLayer: layer_ref6.optional(),
|
|
17782
17792
|
holeDiameter: distance24.optional(),
|
|
17783
17793
|
outerDiameter: distance24.optional(),
|
|
17784
|
-
layers:
|
|
17785
|
-
connectsTo:
|
|
17786
|
-
netIsAssignable:
|
|
17794
|
+
layers: z90.array(layer_ref6).optional(),
|
|
17795
|
+
connectsTo: z90.string().or(z90.array(z90.string())).optional(),
|
|
17796
|
+
netIsAssignable: z90.boolean().optional()
|
|
17787
17797
|
});
|
|
17788
17798
|
expectTypesMatch(true);
|
|
17789
17799
|
|
|
17790
17800
|
// lib/components/testpoint.ts
|
|
17791
17801
|
import { distance as distance25 } from "circuit-json";
|
|
17792
|
-
import { z as
|
|
17802
|
+
import { z as z91 } from "zod";
|
|
17793
17803
|
var testpointPins = ["pin1"];
|
|
17794
|
-
var testpointConnectionsProp =
|
|
17804
|
+
var testpointConnectionsProp = z91.object({
|
|
17795
17805
|
pin1: connectionTarget
|
|
17796
17806
|
}).strict();
|
|
17797
17807
|
var testpointProps = commonComponentProps.extend({
|
|
17798
17808
|
connections: testpointConnectionsProp.optional(),
|
|
17799
|
-
footprintVariant:
|
|
17800
|
-
padShape:
|
|
17809
|
+
footprintVariant: z91.enum(["pad", "through_hole"]).optional(),
|
|
17810
|
+
padShape: z91.enum(["rect", "circle"]).optional().default("circle"),
|
|
17801
17811
|
padDiameter: distance25.optional(),
|
|
17802
17812
|
holeDiameter: distance25.optional(),
|
|
17803
17813
|
width: distance25.optional(),
|
|
@@ -17809,45 +17819,45 @@ var testpointProps = commonComponentProps.extend({
|
|
|
17809
17819
|
expectTypesMatch(true);
|
|
17810
17820
|
|
|
17811
17821
|
// lib/components/breakoutpoint.ts
|
|
17812
|
-
import { z as
|
|
17822
|
+
import { z as z92 } from "zod";
|
|
17813
17823
|
var breakoutPointProps = pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
17814
|
-
connection:
|
|
17824
|
+
connection: z92.string()
|
|
17815
17825
|
});
|
|
17816
17826
|
expectTypesMatch(true);
|
|
17817
17827
|
|
|
17818
17828
|
// lib/components/pcb-keepout.ts
|
|
17819
17829
|
import { distance as distance26, layer_ref as layer_ref7 } from "circuit-json";
|
|
17820
|
-
import { z as
|
|
17821
|
-
var pcbKeepoutProps =
|
|
17830
|
+
import { z as z93 } from "zod";
|
|
17831
|
+
var pcbKeepoutProps = z93.union([
|
|
17822
17832
|
pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
17823
|
-
shape:
|
|
17833
|
+
shape: z93.literal("circle"),
|
|
17824
17834
|
radius: distance26,
|
|
17825
|
-
layers:
|
|
17835
|
+
layers: z93.array(layer_ref7).optional()
|
|
17826
17836
|
}),
|
|
17827
17837
|
pcbLayoutProps.extend({
|
|
17828
|
-
shape:
|
|
17838
|
+
shape: z93.literal("rect"),
|
|
17829
17839
|
width: distance26,
|
|
17830
17840
|
height: distance26,
|
|
17831
|
-
layers:
|
|
17841
|
+
layers: z93.array(layer_ref7).optional()
|
|
17832
17842
|
})
|
|
17833
17843
|
]);
|
|
17834
17844
|
|
|
17835
17845
|
// lib/components/courtyard-rect.ts
|
|
17836
17846
|
import { distance as distance27 } from "circuit-json";
|
|
17837
|
-
import { z as
|
|
17847
|
+
import { z as z94 } from "zod";
|
|
17838
17848
|
var courtyardRectProps = pcbLayoutProps.extend({
|
|
17839
17849
|
width: distance27,
|
|
17840
17850
|
height: distance27,
|
|
17841
17851
|
strokeWidth: distance27.optional(),
|
|
17842
|
-
isFilled:
|
|
17843
|
-
hasStroke:
|
|
17844
|
-
isStrokeDashed:
|
|
17845
|
-
color:
|
|
17852
|
+
isFilled: z94.boolean().optional(),
|
|
17853
|
+
hasStroke: z94.boolean().optional(),
|
|
17854
|
+
isStrokeDashed: z94.boolean().optional(),
|
|
17855
|
+
color: z94.string().optional()
|
|
17846
17856
|
});
|
|
17847
17857
|
|
|
17848
17858
|
// lib/components/courtyard-outline.ts
|
|
17849
17859
|
import { length as length7 } from "circuit-json";
|
|
17850
|
-
import { z as
|
|
17860
|
+
import { z as z95 } from "zod";
|
|
17851
17861
|
var courtyardOutlineProps = pcbLayoutProps.omit({
|
|
17852
17862
|
pcbLeftEdgeX: true,
|
|
17853
17863
|
pcbRightEdgeX: true,
|
|
@@ -17859,11 +17869,11 @@ var courtyardOutlineProps = pcbLayoutProps.omit({
|
|
|
17859
17869
|
pcbOffsetY: true,
|
|
17860
17870
|
pcbRotation: true
|
|
17861
17871
|
}).extend({
|
|
17862
|
-
outline:
|
|
17872
|
+
outline: z95.array(point),
|
|
17863
17873
|
strokeWidth: length7.optional(),
|
|
17864
|
-
isClosed:
|
|
17865
|
-
isStrokeDashed:
|
|
17866
|
-
color:
|
|
17874
|
+
isClosed: z95.boolean().optional(),
|
|
17875
|
+
isStrokeDashed: z95.boolean().optional(),
|
|
17876
|
+
color: z95.string().optional()
|
|
17867
17877
|
});
|
|
17868
17878
|
|
|
17869
17879
|
// lib/components/courtyard-circle.ts
|
|
@@ -17883,35 +17893,35 @@ var courtyardPillProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
|
17883
17893
|
});
|
|
17884
17894
|
|
|
17885
17895
|
// lib/components/copper-pour.ts
|
|
17886
|
-
import { z as
|
|
17896
|
+
import { z as z98 } from "zod";
|
|
17887
17897
|
import { layer_ref as layer_ref8 } from "circuit-json";
|
|
17888
|
-
var copperPourProps =
|
|
17889
|
-
name:
|
|
17898
|
+
var copperPourProps = z98.object({
|
|
17899
|
+
name: z98.string().optional(),
|
|
17890
17900
|
layer: layer_ref8,
|
|
17891
|
-
connectsTo:
|
|
17892
|
-
unbroken:
|
|
17901
|
+
connectsTo: z98.string(),
|
|
17902
|
+
unbroken: z98.boolean().optional(),
|
|
17893
17903
|
padMargin: distance.optional(),
|
|
17894
17904
|
traceMargin: distance.optional(),
|
|
17895
17905
|
clearance: distance.optional(),
|
|
17896
17906
|
boardEdgeMargin: distance.optional(),
|
|
17897
17907
|
cutoutMargin: distance.optional(),
|
|
17898
|
-
outline:
|
|
17899
|
-
coveredWithSolderMask:
|
|
17908
|
+
outline: z98.array(point).optional(),
|
|
17909
|
+
coveredWithSolderMask: z98.boolean().optional().default(true)
|
|
17900
17910
|
});
|
|
17901
17911
|
expectTypesMatch(true);
|
|
17902
17912
|
|
|
17903
17913
|
// lib/components/cadassembly.ts
|
|
17904
17914
|
import { layer_ref as layer_ref9 } from "circuit-json";
|
|
17905
|
-
import { z as
|
|
17906
|
-
var cadassemblyProps =
|
|
17915
|
+
import { z as z99 } from "zod";
|
|
17916
|
+
var cadassemblyProps = z99.object({
|
|
17907
17917
|
originalLayer: layer_ref9.default("top").optional(),
|
|
17908
|
-
children:
|
|
17918
|
+
children: z99.any().optional()
|
|
17909
17919
|
});
|
|
17910
17920
|
expectTypesMatch(true);
|
|
17911
17921
|
|
|
17912
17922
|
// lib/components/cadmodel.ts
|
|
17913
|
-
import { z as
|
|
17914
|
-
var pcbPosition =
|
|
17923
|
+
import { z as z100 } from "zod";
|
|
17924
|
+
var pcbPosition = z100.object({
|
|
17915
17925
|
pcbX: pcbCoordinate.optional(),
|
|
17916
17926
|
pcbY: pcbCoordinate.optional(),
|
|
17917
17927
|
pcbLeftEdgeX: pcbCoordinate.optional(),
|
|
@@ -17928,7 +17938,7 @@ var cadModelBaseWithUrl = cadModelBase.extend({
|
|
|
17928
17938
|
});
|
|
17929
17939
|
var cadModelObject = cadModelBaseWithUrl.merge(pcbPosition);
|
|
17930
17940
|
expectTypesMatch(true);
|
|
17931
|
-
var cadmodelProps =
|
|
17941
|
+
var cadmodelProps = z100.union([z100.null(), url, cadModelObject]);
|
|
17932
17942
|
|
|
17933
17943
|
// lib/components/power-source.ts
|
|
17934
17944
|
import { voltage as voltage3 } from "circuit-json";
|
|
@@ -17938,9 +17948,9 @@ var powerSourceProps = commonComponentProps.extend({
|
|
|
17938
17948
|
|
|
17939
17949
|
// lib/components/voltagesource.ts
|
|
17940
17950
|
import { frequency as frequency4, ms as ms3, rotation as rotation5, voltage as voltage4 } from "circuit-json";
|
|
17941
|
-
import { z as
|
|
17951
|
+
import { z as z101 } from "zod";
|
|
17942
17952
|
var voltageSourcePinLabels = ["pin1", "pin2", "pos", "neg"];
|
|
17943
|
-
var percentage =
|
|
17953
|
+
var percentage = z101.union([z101.string(), z101.number()]).transform((val) => {
|
|
17944
17954
|
if (typeof val === "string") {
|
|
17945
17955
|
if (val.endsWith("%")) {
|
|
17946
17956
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -17949,13 +17959,13 @@ var percentage = z100.union([z100.string(), z100.number()]).transform((val) => {
|
|
|
17949
17959
|
}
|
|
17950
17960
|
return val;
|
|
17951
17961
|
}).pipe(
|
|
17952
|
-
|
|
17962
|
+
z101.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
17953
17963
|
);
|
|
17954
17964
|
var voltageSourceProps = commonComponentProps.extend({
|
|
17955
17965
|
voltage: voltage4.optional(),
|
|
17956
17966
|
frequency: frequency4.optional(),
|
|
17957
17967
|
peakToPeakVoltage: voltage4.optional(),
|
|
17958
|
-
waveShape:
|
|
17968
|
+
waveShape: z101.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
|
|
17959
17969
|
phase: rotation5.optional(),
|
|
17960
17970
|
dutyCycle: percentage.optional(),
|
|
17961
17971
|
pulseDelay: ms3.optional(),
|
|
@@ -17970,9 +17980,9 @@ expectTypesMatch(true);
|
|
|
17970
17980
|
|
|
17971
17981
|
// lib/components/currentsource.ts
|
|
17972
17982
|
import { frequency as frequency5, rotation as rotation6, current } from "circuit-json";
|
|
17973
|
-
import { z as
|
|
17983
|
+
import { z as z102 } from "zod";
|
|
17974
17984
|
var currentSourcePinLabels = ["pin1", "pin2", "pos", "neg"];
|
|
17975
|
-
var percentage2 =
|
|
17985
|
+
var percentage2 = z102.union([z102.string(), z102.number()]).transform((val) => {
|
|
17976
17986
|
if (typeof val === "string") {
|
|
17977
17987
|
if (val.endsWith("%")) {
|
|
17978
17988
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -17981,13 +17991,13 @@ var percentage2 = z101.union([z101.string(), z101.number()]).transform((val) =>
|
|
|
17981
17991
|
}
|
|
17982
17992
|
return val;
|
|
17983
17993
|
}).pipe(
|
|
17984
|
-
|
|
17994
|
+
z102.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
17985
17995
|
);
|
|
17986
17996
|
var currentSourceProps = commonComponentProps.extend({
|
|
17987
17997
|
current: current.optional(),
|
|
17988
17998
|
frequency: frequency5.optional(),
|
|
17989
17999
|
peakToPeakCurrent: current.optional(),
|
|
17990
|
-
waveShape:
|
|
18000
|
+
waveShape: z102.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
|
|
17991
18001
|
phase: rotation6.optional(),
|
|
17992
18002
|
dutyCycle: percentage2.optional(),
|
|
17993
18003
|
connections: createConnectionsProp(currentSourcePinLabels).optional()
|
|
@@ -17996,21 +18006,21 @@ var currentSourcePins = lrPolarPins;
|
|
|
17996
18006
|
expectTypesMatch(true);
|
|
17997
18007
|
|
|
17998
18008
|
// lib/components/voltageprobe.ts
|
|
17999
|
-
import { z as
|
|
18009
|
+
import { z as z103 } from "zod";
|
|
18000
18010
|
var voltageProbeProps = commonComponentProps.omit({ name: true }).extend({
|
|
18001
|
-
name:
|
|
18002
|
-
connectsTo:
|
|
18003
|
-
referenceTo:
|
|
18004
|
-
color:
|
|
18005
|
-
graphDisplayName:
|
|
18006
|
-
graphCenter:
|
|
18007
|
-
graphVerticalOffset:
|
|
18008
|
-
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()
|
|
18009
18019
|
});
|
|
18010
18020
|
expectTypesMatch(true);
|
|
18011
18021
|
|
|
18012
18022
|
// lib/components/ammeter.ts
|
|
18013
|
-
import { z as
|
|
18023
|
+
import { z as z104 } from "zod";
|
|
18014
18024
|
var ammeterPinLabels = ["pin1", "pin2", "pos", "neg"];
|
|
18015
18025
|
var hasAmmeterConnectionPair = (connections) => {
|
|
18016
18026
|
return connections.pos !== void 0 && connections.neg !== void 0 || connections.pin1 !== void 0 && connections.pin2 !== void 0;
|
|
@@ -18020,57 +18030,57 @@ var ammeterProps = commonComponentProps.extend({
|
|
|
18020
18030
|
hasAmmeterConnectionPair,
|
|
18021
18031
|
"Ammeter connections must include either pos/neg or pin1/pin2"
|
|
18022
18032
|
),
|
|
18023
|
-
color:
|
|
18024
|
-
graphDisplayName:
|
|
18025
|
-
graphCenter:
|
|
18026
|
-
graphVerticalOffset:
|
|
18027
|
-
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()
|
|
18028
18038
|
});
|
|
18029
18039
|
var ammeterPins = ammeterPinLabels;
|
|
18030
18040
|
expectTypesMatch(true);
|
|
18031
18041
|
|
|
18032
18042
|
// lib/components/schematic-arc.ts
|
|
18033
18043
|
import { distance as distance30, point as point5, rotation as rotation7 } from "circuit-json";
|
|
18034
|
-
import { z as
|
|
18035
|
-
var schematicArcProps =
|
|
18044
|
+
import { z as z105 } from "zod";
|
|
18045
|
+
var schematicArcProps = z105.object({
|
|
18036
18046
|
center: point5,
|
|
18037
18047
|
radius: distance30,
|
|
18038
18048
|
startAngleDegrees: rotation7,
|
|
18039
18049
|
endAngleDegrees: rotation7,
|
|
18040
|
-
direction:
|
|
18050
|
+
direction: z105.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
|
|
18041
18051
|
strokeWidth: distance30.optional(),
|
|
18042
|
-
color:
|
|
18043
|
-
isDashed:
|
|
18052
|
+
color: z105.string().optional(),
|
|
18053
|
+
isDashed: z105.boolean().optional().default(false)
|
|
18044
18054
|
});
|
|
18045
18055
|
expectTypesMatch(true);
|
|
18046
18056
|
|
|
18047
18057
|
// lib/components/toolingrail.ts
|
|
18048
|
-
import { z as
|
|
18049
|
-
var toolingrailProps =
|
|
18050
|
-
children:
|
|
18058
|
+
import { z as z106 } from "zod";
|
|
18059
|
+
var toolingrailProps = z106.object({
|
|
18060
|
+
children: z106.any().optional()
|
|
18051
18061
|
});
|
|
18052
18062
|
expectTypesMatch(true);
|
|
18053
18063
|
|
|
18054
18064
|
// lib/components/schematic-box.ts
|
|
18055
18065
|
import { distance as distance31 } from "circuit-json";
|
|
18056
|
-
import { z as
|
|
18057
|
-
var schematicBoxProps =
|
|
18066
|
+
import { z as z107 } from "zod";
|
|
18067
|
+
var schematicBoxProps = z107.object({
|
|
18058
18068
|
schX: distance31.optional(),
|
|
18059
18069
|
schY: distance31.optional(),
|
|
18060
18070
|
width: distance31.optional(),
|
|
18061
18071
|
height: distance31.optional(),
|
|
18062
|
-
overlay:
|
|
18072
|
+
overlay: z107.array(z107.string()).optional(),
|
|
18063
18073
|
padding: distance31.optional(),
|
|
18064
18074
|
paddingLeft: distance31.optional(),
|
|
18065
18075
|
paddingRight: distance31.optional(),
|
|
18066
18076
|
paddingTop: distance31.optional(),
|
|
18067
18077
|
paddingBottom: distance31.optional(),
|
|
18068
|
-
title:
|
|
18078
|
+
title: z107.string().optional(),
|
|
18069
18079
|
titleAlignment: ninePointAnchor.default("top_left"),
|
|
18070
|
-
titleColor:
|
|
18080
|
+
titleColor: z107.string().optional(),
|
|
18071
18081
|
titleFontSize: distance31.optional(),
|
|
18072
|
-
titleInside:
|
|
18073
|
-
strokeStyle:
|
|
18082
|
+
titleInside: z107.boolean().default(false),
|
|
18083
|
+
strokeStyle: z107.enum(["solid", "dashed"]).default("solid")
|
|
18074
18084
|
}).refine(
|
|
18075
18085
|
(elm) => elm.width !== void 0 && elm.height !== void 0 || Array.isArray(elm.overlay) && elm.overlay.length > 0,
|
|
18076
18086
|
{
|
|
@@ -18086,15 +18096,15 @@ expectTypesMatch(true);
|
|
|
18086
18096
|
|
|
18087
18097
|
// lib/components/schematic-circle.ts
|
|
18088
18098
|
import { distance as distance32, point as point6 } from "circuit-json";
|
|
18089
|
-
import { z as
|
|
18090
|
-
var schematicCircleProps =
|
|
18099
|
+
import { z as z108 } from "zod";
|
|
18100
|
+
var schematicCircleProps = z108.object({
|
|
18091
18101
|
center: point6,
|
|
18092
18102
|
radius: distance32,
|
|
18093
18103
|
strokeWidth: distance32.optional(),
|
|
18094
|
-
color:
|
|
18095
|
-
isFilled:
|
|
18096
|
-
fillColor:
|
|
18097
|
-
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)
|
|
18098
18108
|
});
|
|
18099
18109
|
expectTypesMatch(
|
|
18100
18110
|
true
|
|
@@ -18102,32 +18112,32 @@ expectTypesMatch(
|
|
|
18102
18112
|
|
|
18103
18113
|
// lib/components/schematic-rect.ts
|
|
18104
18114
|
import { distance as distance33, rotation as rotation8 } from "circuit-json";
|
|
18105
|
-
import { z as
|
|
18106
|
-
var schematicRectProps =
|
|
18115
|
+
import { z as z109 } from "zod";
|
|
18116
|
+
var schematicRectProps = z109.object({
|
|
18107
18117
|
schX: distance33.optional(),
|
|
18108
18118
|
schY: distance33.optional(),
|
|
18109
18119
|
width: distance33,
|
|
18110
18120
|
height: distance33,
|
|
18111
18121
|
rotation: rotation8.default(0),
|
|
18112
18122
|
strokeWidth: distance33.optional(),
|
|
18113
|
-
color:
|
|
18114
|
-
isFilled:
|
|
18115
|
-
fillColor:
|
|
18116
|
-
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)
|
|
18117
18127
|
});
|
|
18118
18128
|
expectTypesMatch(true);
|
|
18119
18129
|
|
|
18120
18130
|
// lib/components/schematic-line.ts
|
|
18121
18131
|
import { distance as distance34 } from "circuit-json";
|
|
18122
|
-
import { z as
|
|
18123
|
-
var schematicLineProps =
|
|
18132
|
+
import { z as z110 } from "zod";
|
|
18133
|
+
var schematicLineProps = z110.object({
|
|
18124
18134
|
x1: distance34,
|
|
18125
18135
|
y1: distance34,
|
|
18126
18136
|
x2: distance34,
|
|
18127
18137
|
y2: distance34,
|
|
18128
18138
|
strokeWidth: distance34.optional(),
|
|
18129
|
-
color:
|
|
18130
|
-
isDashed:
|
|
18139
|
+
color: z110.string().optional(),
|
|
18140
|
+
isDashed: z110.boolean().optional().default(false),
|
|
18131
18141
|
dashLength: distance34.optional(),
|
|
18132
18142
|
dashGap: distance34.optional()
|
|
18133
18143
|
});
|
|
@@ -18135,11 +18145,11 @@ expectTypesMatch(true);
|
|
|
18135
18145
|
|
|
18136
18146
|
// lib/components/schematic-text.ts
|
|
18137
18147
|
import { distance as distance35, rotation as rotation9 } from "circuit-json";
|
|
18138
|
-
import { z as
|
|
18148
|
+
import { z as z112 } from "zod";
|
|
18139
18149
|
|
|
18140
18150
|
// lib/common/fivePointAnchor.ts
|
|
18141
|
-
import { z as
|
|
18142
|
-
var fivePointAnchor =
|
|
18151
|
+
import { z as z111 } from "zod";
|
|
18152
|
+
var fivePointAnchor = z111.enum([
|
|
18143
18153
|
"center",
|
|
18144
18154
|
"left",
|
|
18145
18155
|
"right",
|
|
@@ -18148,39 +18158,39 @@ var fivePointAnchor = z110.enum([
|
|
|
18148
18158
|
]);
|
|
18149
18159
|
|
|
18150
18160
|
// lib/components/schematic-text.ts
|
|
18151
|
-
var schematicTextProps =
|
|
18161
|
+
var schematicTextProps = z112.object({
|
|
18152
18162
|
schX: distance35.optional(),
|
|
18153
18163
|
schY: distance35.optional(),
|
|
18154
|
-
text:
|
|
18155
|
-
fontSize:
|
|
18156
|
-
anchor:
|
|
18157
|
-
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"),
|
|
18158
18168
|
schRotation: rotation9.default(0)
|
|
18159
18169
|
});
|
|
18160
18170
|
expectTypesMatch(true);
|
|
18161
18171
|
|
|
18162
18172
|
// lib/components/schematic-path.ts
|
|
18163
18173
|
import { distance as distance36, point as point7 } from "circuit-json";
|
|
18164
|
-
import { z as
|
|
18165
|
-
var schematicPathProps =
|
|
18166
|
-
points:
|
|
18167
|
-
svgPath:
|
|
18174
|
+
import { z as z113 } from "zod";
|
|
18175
|
+
var schematicPathProps = z113.object({
|
|
18176
|
+
points: z113.array(point7).optional(),
|
|
18177
|
+
svgPath: z113.string().optional(),
|
|
18168
18178
|
strokeWidth: distance36.optional(),
|
|
18169
|
-
strokeColor:
|
|
18179
|
+
strokeColor: z113.string().optional(),
|
|
18170
18180
|
dashLength: distance36.optional(),
|
|
18171
18181
|
dashGap: distance36.optional(),
|
|
18172
|
-
isFilled:
|
|
18173
|
-
fillColor:
|
|
18182
|
+
isFilled: z113.boolean().optional().default(false),
|
|
18183
|
+
fillColor: z113.string().optional()
|
|
18174
18184
|
});
|
|
18175
18185
|
expectTypesMatch(true);
|
|
18176
18186
|
|
|
18177
18187
|
// lib/components/schematic-table.ts
|
|
18178
18188
|
import { distance as distance37 } from "circuit-json";
|
|
18179
|
-
import { z as
|
|
18180
|
-
var schematicTableProps =
|
|
18189
|
+
import { z as z114 } from "zod";
|
|
18190
|
+
var schematicTableProps = z114.object({
|
|
18181
18191
|
schX: distance37.optional(),
|
|
18182
18192
|
schY: distance37.optional(),
|
|
18183
|
-
children:
|
|
18193
|
+
children: z114.any().optional(),
|
|
18184
18194
|
cellPadding: distance37.optional(),
|
|
18185
18195
|
borderWidth: distance37.optional(),
|
|
18186
18196
|
anchor: ninePointAnchor.optional(),
|
|
@@ -18190,34 +18200,34 @@ expectTypesMatch(true);
|
|
|
18190
18200
|
|
|
18191
18201
|
// lib/components/schematic-row.ts
|
|
18192
18202
|
import { distance as distance38 } from "circuit-json";
|
|
18193
|
-
import { z as
|
|
18194
|
-
var schematicRowProps =
|
|
18195
|
-
children:
|
|
18203
|
+
import { z as z115 } from "zod";
|
|
18204
|
+
var schematicRowProps = z115.object({
|
|
18205
|
+
children: z115.any().optional(),
|
|
18196
18206
|
height: distance38.optional()
|
|
18197
18207
|
});
|
|
18198
18208
|
expectTypesMatch(true);
|
|
18199
18209
|
|
|
18200
18210
|
// lib/components/schematic-cell.ts
|
|
18201
18211
|
import { distance as distance39 } from "circuit-json";
|
|
18202
|
-
import { z as
|
|
18203
|
-
var schematicCellProps =
|
|
18204
|
-
children:
|
|
18205
|
-
horizontalAlign:
|
|
18206
|
-
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(),
|
|
18207
18217
|
fontSize: distance39.optional(),
|
|
18208
|
-
rowSpan:
|
|
18209
|
-
colSpan:
|
|
18218
|
+
rowSpan: z116.number().optional(),
|
|
18219
|
+
colSpan: z116.number().optional(),
|
|
18210
18220
|
width: distance39.optional(),
|
|
18211
|
-
text:
|
|
18221
|
+
text: z116.string().optional()
|
|
18212
18222
|
});
|
|
18213
18223
|
expectTypesMatch(true);
|
|
18214
18224
|
|
|
18215
18225
|
// lib/components/schematic-section.ts
|
|
18216
18226
|
import { distance as distance40 } from "circuit-json";
|
|
18217
|
-
import { z as
|
|
18218
|
-
var schematicSectionProps =
|
|
18219
|
-
displayName:
|
|
18220
|
-
name:
|
|
18227
|
+
import { z as z117 } from "zod";
|
|
18228
|
+
var schematicSectionProps = z117.object({
|
|
18229
|
+
displayName: z117.string().optional(),
|
|
18230
|
+
name: z117.string(),
|
|
18221
18231
|
sectionTitleFontSize: distance40.optional()
|
|
18222
18232
|
});
|
|
18223
18233
|
expectTypesMatch(
|
|
@@ -18225,51 +18235,51 @@ expectTypesMatch(
|
|
|
18225
18235
|
);
|
|
18226
18236
|
|
|
18227
18237
|
// lib/components/schematic-sheet.ts
|
|
18228
|
-
import { z as
|
|
18229
|
-
var schematicSheetProps =
|
|
18230
|
-
name:
|
|
18231
|
-
displayName:
|
|
18232
|
-
sheetIndex:
|
|
18233
|
-
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()
|
|
18234
18244
|
});
|
|
18235
18245
|
expectTypesMatch(true);
|
|
18236
18246
|
|
|
18237
18247
|
// lib/components/copper-text.ts
|
|
18238
18248
|
import { layer_ref as layer_ref10, length as length8 } from "circuit-json";
|
|
18239
|
-
import { z as
|
|
18249
|
+
import { z as z119 } from "zod";
|
|
18240
18250
|
var copperTextProps = pcbLayoutProps.extend({
|
|
18241
|
-
text:
|
|
18251
|
+
text: z119.string(),
|
|
18242
18252
|
anchorAlignment: ninePointAnchor.default("center"),
|
|
18243
|
-
font:
|
|
18253
|
+
font: z119.enum(["tscircuit2024"]).optional(),
|
|
18244
18254
|
fontSize: length8.optional(),
|
|
18245
|
-
layers:
|
|
18246
|
-
knockout:
|
|
18247
|
-
mirrored:
|
|
18255
|
+
layers: z119.array(layer_ref10).optional(),
|
|
18256
|
+
knockout: z119.boolean().optional(),
|
|
18257
|
+
mirrored: z119.boolean().optional()
|
|
18248
18258
|
});
|
|
18249
18259
|
|
|
18250
18260
|
// lib/components/silkscreen-text.ts
|
|
18251
18261
|
import { layer_ref as layer_ref11, length as length9 } from "circuit-json";
|
|
18252
|
-
import { z as
|
|
18262
|
+
import { z as z120 } from "zod";
|
|
18253
18263
|
var silkscreenTextProps = pcbLayoutProps.extend({
|
|
18254
|
-
text:
|
|
18264
|
+
text: z120.string(),
|
|
18255
18265
|
anchorAlignment: ninePointAnchor.default("center"),
|
|
18256
|
-
font:
|
|
18266
|
+
font: z120.enum(["tscircuit2024"]).optional(),
|
|
18257
18267
|
fontSize: length9.optional(),
|
|
18258
18268
|
/**
|
|
18259
18269
|
* If true, text will knock out underlying silkscreen
|
|
18260
18270
|
*/
|
|
18261
|
-
isKnockout:
|
|
18271
|
+
isKnockout: z120.boolean().optional(),
|
|
18262
18272
|
knockoutPadding: length9.optional(),
|
|
18263
18273
|
knockoutPaddingLeft: length9.optional(),
|
|
18264
18274
|
knockoutPaddingRight: length9.optional(),
|
|
18265
18275
|
knockoutPaddingTop: length9.optional(),
|
|
18266
18276
|
knockoutPaddingBottom: length9.optional(),
|
|
18267
|
-
layers:
|
|
18277
|
+
layers: z120.array(layer_ref11).optional()
|
|
18268
18278
|
});
|
|
18269
18279
|
|
|
18270
18280
|
// lib/components/silkscreen-path.ts
|
|
18271
18281
|
import { length as length10, route_hint_point as route_hint_point5 } from "circuit-json";
|
|
18272
|
-
import { z as
|
|
18282
|
+
import { z as z121 } from "zod";
|
|
18273
18283
|
var silkscreenPathProps = pcbLayoutProps.omit({
|
|
18274
18284
|
pcbLeftEdgeX: true,
|
|
18275
18285
|
pcbRightEdgeX: true,
|
|
@@ -18281,7 +18291,7 @@ var silkscreenPathProps = pcbLayoutProps.omit({
|
|
|
18281
18291
|
pcbOffsetY: true,
|
|
18282
18292
|
pcbRotation: true
|
|
18283
18293
|
}).extend({
|
|
18284
|
-
route:
|
|
18294
|
+
route: z121.array(route_hint_point5),
|
|
18285
18295
|
strokeWidth: length10.optional()
|
|
18286
18296
|
});
|
|
18287
18297
|
|
|
@@ -18303,10 +18313,10 @@ var silkscreenLineProps = pcbLayoutProps.omit({
|
|
|
18303
18313
|
|
|
18304
18314
|
// lib/components/silkscreen-rect.ts
|
|
18305
18315
|
import { distance as distance42 } from "circuit-json";
|
|
18306
|
-
import { z as
|
|
18316
|
+
import { z as z122 } from "zod";
|
|
18307
18317
|
var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
18308
|
-
filled:
|
|
18309
|
-
stroke:
|
|
18318
|
+
filled: z122.boolean().default(true).optional(),
|
|
18319
|
+
stroke: z122.enum(["dashed", "solid", "none"]).optional(),
|
|
18310
18320
|
strokeWidth: distance42.optional(),
|
|
18311
18321
|
width: distance42,
|
|
18312
18322
|
height: distance42,
|
|
@@ -18315,10 +18325,10 @@ var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
|
18315
18325
|
|
|
18316
18326
|
// lib/components/silkscreen-circle.ts
|
|
18317
18327
|
import { distance as distance43 } from "circuit-json";
|
|
18318
|
-
import { z as
|
|
18328
|
+
import { z as z123 } from "zod";
|
|
18319
18329
|
var silkscreenCircleProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
18320
|
-
isFilled:
|
|
18321
|
-
isOutline:
|
|
18330
|
+
isFilled: z123.boolean().optional(),
|
|
18331
|
+
isOutline: z123.boolean().optional(),
|
|
18322
18332
|
strokeWidth: distance43.optional(),
|
|
18323
18333
|
radius: distance43
|
|
18324
18334
|
});
|
|
@@ -18336,63 +18346,63 @@ expectTypesMatch(true);
|
|
|
18336
18346
|
|
|
18337
18347
|
// lib/components/trace-hint.ts
|
|
18338
18348
|
import { distance as distance44, layer_ref as layer_ref12, route_hint_point as route_hint_point6 } from "circuit-json";
|
|
18339
|
-
import { z as
|
|
18340
|
-
var routeHintPointProps =
|
|
18349
|
+
import { z as z125 } from "zod";
|
|
18350
|
+
var routeHintPointProps = z125.object({
|
|
18341
18351
|
x: distance44,
|
|
18342
18352
|
y: distance44,
|
|
18343
|
-
via:
|
|
18353
|
+
via: z125.boolean().optional(),
|
|
18344
18354
|
toLayer: layer_ref12.optional()
|
|
18345
18355
|
});
|
|
18346
|
-
var traceHintProps =
|
|
18347
|
-
for:
|
|
18356
|
+
var traceHintProps = z125.object({
|
|
18357
|
+
for: z125.string().optional().describe(
|
|
18348
18358
|
"Selector for the port you're targeting, not required if you're inside a trace"
|
|
18349
18359
|
),
|
|
18350
|
-
order:
|
|
18360
|
+
order: z125.number().optional(),
|
|
18351
18361
|
offset: route_hint_point6.or(routeHintPointProps).optional(),
|
|
18352
|
-
offsets:
|
|
18353
|
-
traceWidth:
|
|
18362
|
+
offsets: z125.array(route_hint_point6).or(z125.array(routeHintPointProps)).optional(),
|
|
18363
|
+
traceWidth: z125.number().optional()
|
|
18354
18364
|
});
|
|
18355
18365
|
|
|
18356
18366
|
// lib/components/port.ts
|
|
18357
|
-
import { z as
|
|
18367
|
+
import { z as z126 } from "zod";
|
|
18358
18368
|
var portProps = commonLayoutProps.extend({
|
|
18359
|
-
name:
|
|
18360
|
-
pinNumber:
|
|
18361
|
-
schStemLength:
|
|
18362
|
-
aliases:
|
|
18363
|
-
layer:
|
|
18364
|
-
layers:
|
|
18365
|
-
schX:
|
|
18366
|
-
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(),
|
|
18367
18377
|
direction: direction.optional(),
|
|
18368
|
-
connectsTo:
|
|
18378
|
+
connectsTo: z126.string().or(z126.array(z126.string())).optional(),
|
|
18369
18379
|
kicadPinMetadata: kicadPinMetadata.optional(),
|
|
18370
|
-
hasInversionCircle:
|
|
18380
|
+
hasInversionCircle: z126.boolean().optional()
|
|
18371
18381
|
});
|
|
18372
18382
|
|
|
18373
18383
|
// lib/components/pcb-note-text.ts
|
|
18374
18384
|
import { length as length11 } from "circuit-json";
|
|
18375
|
-
import { z as
|
|
18385
|
+
import { z as z127 } from "zod";
|
|
18376
18386
|
var pcbNoteTextProps = pcbLayoutProps.extend({
|
|
18377
|
-
text:
|
|
18378
|
-
anchorAlignment:
|
|
18379
|
-
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(),
|
|
18380
18390
|
fontSize: length11.optional(),
|
|
18381
|
-
color:
|
|
18391
|
+
color: z127.string().optional()
|
|
18382
18392
|
});
|
|
18383
18393
|
expectTypesMatch(true);
|
|
18384
18394
|
|
|
18385
18395
|
// lib/components/pcb-note-rect.ts
|
|
18386
18396
|
import { distance as distance45 } from "circuit-json";
|
|
18387
|
-
import { z as
|
|
18397
|
+
import { z as z128 } from "zod";
|
|
18388
18398
|
var pcbNoteRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
18389
18399
|
width: distance45,
|
|
18390
18400
|
height: distance45,
|
|
18391
18401
|
strokeWidth: distance45.optional(),
|
|
18392
|
-
isFilled:
|
|
18393
|
-
hasStroke:
|
|
18394
|
-
isStrokeDashed:
|
|
18395
|
-
color:
|
|
18402
|
+
isFilled: z128.boolean().optional(),
|
|
18403
|
+
hasStroke: z128.boolean().optional(),
|
|
18404
|
+
isStrokeDashed: z128.boolean().optional(),
|
|
18405
|
+
color: z128.string().optional(),
|
|
18396
18406
|
cornerRadius: distance45.optional()
|
|
18397
18407
|
});
|
|
18398
18408
|
expectTypesMatch(true);
|
|
@@ -18402,7 +18412,7 @@ import {
|
|
|
18402
18412
|
length as length12,
|
|
18403
18413
|
route_hint_point as route_hint_point7
|
|
18404
18414
|
} from "circuit-json";
|
|
18405
|
-
import { z as
|
|
18415
|
+
import { z as z129 } from "zod";
|
|
18406
18416
|
var pcbNotePathProps = pcbLayoutProps.omit({
|
|
18407
18417
|
pcbLeftEdgeX: true,
|
|
18408
18418
|
pcbRightEdgeX: true,
|
|
@@ -18414,15 +18424,15 @@ var pcbNotePathProps = pcbLayoutProps.omit({
|
|
|
18414
18424
|
pcbOffsetY: true,
|
|
18415
18425
|
pcbRotation: true
|
|
18416
18426
|
}).extend({
|
|
18417
|
-
route:
|
|
18427
|
+
route: z129.array(route_hint_point7),
|
|
18418
18428
|
strokeWidth: length12.optional(),
|
|
18419
|
-
color:
|
|
18429
|
+
color: z129.string().optional()
|
|
18420
18430
|
});
|
|
18421
18431
|
expectTypesMatch(true);
|
|
18422
18432
|
|
|
18423
18433
|
// lib/components/pcb-note-line.ts
|
|
18424
18434
|
import { distance as distance46 } from "circuit-json";
|
|
18425
|
-
import { z as
|
|
18435
|
+
import { z as z130 } from "zod";
|
|
18426
18436
|
var pcbNoteLineProps = pcbLayoutProps.omit({
|
|
18427
18437
|
pcbLeftEdgeX: true,
|
|
18428
18438
|
pcbRightEdgeX: true,
|
|
@@ -18439,15 +18449,15 @@ var pcbNoteLineProps = pcbLayoutProps.omit({
|
|
|
18439
18449
|
x2: distance46,
|
|
18440
18450
|
y2: distance46,
|
|
18441
18451
|
strokeWidth: distance46.optional(),
|
|
18442
|
-
color:
|
|
18443
|
-
isDashed:
|
|
18452
|
+
color: z130.string().optional(),
|
|
18453
|
+
isDashed: z130.boolean().optional()
|
|
18444
18454
|
});
|
|
18445
18455
|
expectTypesMatch(true);
|
|
18446
18456
|
|
|
18447
18457
|
// lib/components/pcb-note-dimension.ts
|
|
18448
18458
|
import { distance as distance47, length as length13 } from "circuit-json";
|
|
18449
|
-
import { z as
|
|
18450
|
-
var dimensionTarget2 =
|
|
18459
|
+
import { z as z131 } from "zod";
|
|
18460
|
+
var dimensionTarget2 = z131.union([z131.string(), point]);
|
|
18451
18461
|
var pcbNoteDimensionProps = pcbLayoutProps.omit({
|
|
18452
18462
|
pcbLeftEdgeX: true,
|
|
18453
18463
|
pcbRightEdgeX: true,
|
|
@@ -18461,101 +18471,101 @@ var pcbNoteDimensionProps = pcbLayoutProps.omit({
|
|
|
18461
18471
|
}).extend({
|
|
18462
18472
|
from: dimensionTarget2,
|
|
18463
18473
|
to: dimensionTarget2,
|
|
18464
|
-
text:
|
|
18474
|
+
text: z131.string().optional(),
|
|
18465
18475
|
offset: distance47.optional(),
|
|
18466
|
-
font:
|
|
18476
|
+
font: z131.enum(["tscircuit2024"]).optional(),
|
|
18467
18477
|
fontSize: length13.optional(),
|
|
18468
|
-
color:
|
|
18478
|
+
color: z131.string().optional(),
|
|
18469
18479
|
arrowSize: distance47.optional(),
|
|
18470
|
-
units:
|
|
18471
|
-
outerEdgeToEdge:
|
|
18472
|
-
centerToCenter:
|
|
18473
|
-
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()
|
|
18474
18484
|
});
|
|
18475
18485
|
expectTypesMatch(
|
|
18476
18486
|
true
|
|
18477
18487
|
);
|
|
18478
18488
|
|
|
18479
18489
|
// lib/platformConfig.ts
|
|
18480
|
-
import { z as
|
|
18481
|
-
var unvalidatedCircuitJson =
|
|
18482
|
-
var footprintLibraryResult =
|
|
18483
|
-
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()),
|
|
18484
18494
|
cadModel: cadModelProp.optional()
|
|
18485
18495
|
});
|
|
18486
|
-
var pathToCircuitJsonFn =
|
|
18487
|
-
|
|
18488
|
-
|
|
18489
|
-
|
|
18490
|
-
).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))
|
|
18491
18501
|
).describe("A function that takes a path and returns Circuit JSON");
|
|
18492
|
-
var footprintFileParserEntry =
|
|
18493
|
-
loadFromUrl:
|
|
18502
|
+
var footprintFileParserEntry = z132.object({
|
|
18503
|
+
loadFromUrl: z132.function().args(z132.string()).returns(z132.promise(footprintLibraryResult)).describe(
|
|
18494
18504
|
"A function that takes a footprint file URL and returns Circuit JSON"
|
|
18495
18505
|
)
|
|
18496
18506
|
});
|
|
18497
|
-
var spiceEngineSimulationResult =
|
|
18498
|
-
engineVersionString:
|
|
18507
|
+
var spiceEngineSimulationResult = z132.object({
|
|
18508
|
+
engineVersionString: z132.string().optional(),
|
|
18499
18509
|
simulationResultCircuitJson: unvalidatedCircuitJson
|
|
18500
18510
|
});
|
|
18501
|
-
var spiceEngineZod =
|
|
18502
|
-
simulate:
|
|
18511
|
+
var spiceEngineZod = z132.object({
|
|
18512
|
+
simulate: z132.function().args(z132.string()).returns(z132.promise(spiceEngineSimulationResult)).describe(
|
|
18503
18513
|
"A function that takes a SPICE string and returns a simulation result"
|
|
18504
18514
|
)
|
|
18505
18515
|
});
|
|
18506
|
-
var defaultSpiceEngine =
|
|
18516
|
+
var defaultSpiceEngine = z132.custom(
|
|
18507
18517
|
(value) => typeof value === "string"
|
|
18508
18518
|
);
|
|
18509
|
-
var autorouterInstance =
|
|
18510
|
-
run:
|
|
18511
|
-
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")
|
|
18512
18522
|
});
|
|
18513
|
-
var autorouterDefinition =
|
|
18514
|
-
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")
|
|
18515
18525
|
});
|
|
18516
|
-
var platformFetch =
|
|
18517
|
-
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({
|
|
18518
18528
|
partsEngine: partsEngine.optional(),
|
|
18519
18529
|
autorouter: autorouterProp.optional(),
|
|
18520
|
-
autorouterMap:
|
|
18530
|
+
autorouterMap: z132.record(z132.string(), autorouterDefinition).optional(),
|
|
18521
18531
|
registryApiUrl: url.optional(),
|
|
18522
18532
|
cloudAutorouterUrl: url.optional(),
|
|
18523
|
-
projectName:
|
|
18533
|
+
projectName: z132.string().optional(),
|
|
18524
18534
|
projectBaseUrl: url.optional(),
|
|
18525
|
-
version:
|
|
18535
|
+
version: z132.string().optional(),
|
|
18526
18536
|
url: url.optional(),
|
|
18527
|
-
printBoardInformationToSilkscreen:
|
|
18528
|
-
includeBoardFiles:
|
|
18537
|
+
printBoardInformationToSilkscreen: z132.boolean().optional(),
|
|
18538
|
+
includeBoardFiles: z132.array(z132.string()).describe(
|
|
18529
18539
|
'The board files to automatically build with "tsci build", defaults to ["**/*.circuit.tsx"]. Can be an array of files or globs'
|
|
18530
18540
|
).optional(),
|
|
18531
|
-
snapshotsDir:
|
|
18541
|
+
snapshotsDir: z132.string().describe(
|
|
18532
18542
|
'The directory where snapshots are stored for "tsci snapshot", defaults to "tests/__snapshots__"'
|
|
18533
18543
|
).optional(),
|
|
18534
18544
|
defaultSpiceEngine: defaultSpiceEngine.optional(),
|
|
18535
|
-
unitPreference:
|
|
18536
|
-
localCacheEngine:
|
|
18537
|
-
pcbDisabled:
|
|
18538
|
-
routingDisabled:
|
|
18539
|
-
schematicDisabled:
|
|
18540
|
-
partsEngineDisabled:
|
|
18541
|
-
drcChecksDisabled:
|
|
18542
|
-
netlistDrcChecksDisabled:
|
|
18543
|
-
routingDrcChecksDisabled:
|
|
18544
|
-
placementDrcChecksDisabled:
|
|
18545
|
-
pinSpecificationDrcChecksDisabled:
|
|
18546
|
-
spiceEngineMap:
|
|
18547
|
-
footprintLibraryMap:
|
|
18548
|
-
|
|
18549
|
-
|
|
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([
|
|
18550
18560
|
pathToCircuitJsonFn,
|
|
18551
|
-
|
|
18552
|
-
|
|
18553
|
-
|
|
18561
|
+
z132.record(
|
|
18562
|
+
z132.string(),
|
|
18563
|
+
z132.union([unvalidatedCircuitJson, pathToCircuitJsonFn])
|
|
18554
18564
|
)
|
|
18555
18565
|
])
|
|
18556
18566
|
).optional(),
|
|
18557
|
-
footprintFileParserMap:
|
|
18558
|
-
resolveProjectStaticFileImportUrl:
|
|
18567
|
+
footprintFileParserMap: z132.record(z132.string(), footprintFileParserEntry).optional(),
|
|
18568
|
+
resolveProjectStaticFileImportUrl: z132.function().args(z132.string()).returns(z132.promise(z132.string())).describe(
|
|
18559
18569
|
"A function that returns a string URL for static files for the project"
|
|
18560
18570
|
).optional(),
|
|
18561
18571
|
platformFetch: platformFetch.optional()
|
|
@@ -18634,6 +18644,7 @@ export {
|
|
|
18634
18644
|
currentSourceProps,
|
|
18635
18645
|
customDrcCheckFn,
|
|
18636
18646
|
cutoutProps,
|
|
18647
|
+
differentialPairProps,
|
|
18637
18648
|
diodePins,
|
|
18638
18649
|
diodeProps,
|
|
18639
18650
|
direction,
|