@tscircuit/props 0.0.329 → 0.0.331
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 +1 -0
- package/dist/index.d.ts +312 -161
- package/dist/index.js +648 -601
- package/dist/index.js.map +1 -1
- package/lib/components/board.ts +3 -0
- package/lib/components/schematic-arc.ts +17 -0
- package/lib/components/schematic-circle.ts +14 -0
- package/lib/components/schematic-line.ts +3 -0
- package/lib/components/schematic-rect.ts +16 -0
- package/lib/index.ts +3 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -260,55 +260,69 @@ expectTypesMatch(true);
|
|
|
260
260
|
import { z as z12 } from "zod";
|
|
261
261
|
var schematicPinLabel = z12.string().regex(/^[A-Za-z0-9_]+$/);
|
|
262
262
|
|
|
263
|
+
// lib/common/ninePointAnchor.ts
|
|
264
|
+
import { z as z13 } from "zod";
|
|
265
|
+
var ninePointAnchor = z13.enum([
|
|
266
|
+
"top_left",
|
|
267
|
+
"top_center",
|
|
268
|
+
"top_right",
|
|
269
|
+
"center_left",
|
|
270
|
+
"center",
|
|
271
|
+
"center_right",
|
|
272
|
+
"bottom_left",
|
|
273
|
+
"bottom_center",
|
|
274
|
+
"bottom_right"
|
|
275
|
+
]);
|
|
276
|
+
|
|
263
277
|
// lib/components/board.ts
|
|
264
|
-
import { z as
|
|
278
|
+
import { z as z28 } from "zod";
|
|
265
279
|
|
|
266
280
|
// lib/components/group.ts
|
|
267
281
|
import { length as length2, distance as distance6 } from "circuit-json";
|
|
268
282
|
|
|
269
283
|
// lib/common/point.ts
|
|
270
284
|
import { distance as distance5 } from "circuit-json";
|
|
271
|
-
import { z as
|
|
272
|
-
var point =
|
|
285
|
+
import { z as z14 } from "zod";
|
|
286
|
+
var point = z14.object({
|
|
273
287
|
x: distance5,
|
|
274
288
|
y: distance5
|
|
275
289
|
});
|
|
276
290
|
|
|
277
291
|
// lib/components/group.ts
|
|
278
|
-
import { z as
|
|
292
|
+
import { z as z27 } from "zod";
|
|
279
293
|
|
|
280
294
|
// lib/manual-edits/manual-edit-events/base_manual_edit_event.ts
|
|
281
|
-
import { z as
|
|
282
|
-
var base_manual_edit_event =
|
|
283
|
-
edit_event_id:
|
|
284
|
-
in_progress:
|
|
285
|
-
created_at:
|
|
295
|
+
import { z as z15 } from "zod";
|
|
296
|
+
var base_manual_edit_event = z15.object({
|
|
297
|
+
edit_event_id: z15.string(),
|
|
298
|
+
in_progress: z15.boolean().optional(),
|
|
299
|
+
created_at: z15.number()
|
|
286
300
|
});
|
|
287
301
|
expectTypesMatch(
|
|
288
302
|
true
|
|
289
303
|
);
|
|
290
304
|
|
|
291
305
|
// lib/manual-edits/manual-edit-events/edit_pcb_component_location_event.ts
|
|
292
|
-
import { z as
|
|
306
|
+
import { z as z16 } from "zod";
|
|
293
307
|
var edit_pcb_component_location_event = base_manual_edit_event.extend({
|
|
294
|
-
pcb_edit_event_type:
|
|
295
|
-
edit_event_type:
|
|
296
|
-
pcb_component_id:
|
|
297
|
-
original_center:
|
|
298
|
-
new_center:
|
|
308
|
+
pcb_edit_event_type: z16.literal("edit_component_location").describe("deprecated"),
|
|
309
|
+
edit_event_type: z16.literal("edit_pcb_component_location"),
|
|
310
|
+
pcb_component_id: z16.string(),
|
|
311
|
+
original_center: z16.object({ x: z16.number(), y: z16.number() }),
|
|
312
|
+
new_center: z16.object({ x: z16.number(), y: z16.number() })
|
|
299
313
|
});
|
|
300
314
|
var edit_component_location_event = edit_pcb_component_location_event;
|
|
301
315
|
expectTypesMatch(true);
|
|
302
316
|
|
|
303
317
|
// lib/manual-edits/manual-edit-events/edit_trace_hint_event.ts
|
|
304
|
-
import { z as
|
|
318
|
+
import { z as z17 } from "zod";
|
|
305
319
|
var edit_trace_hint_event = base_manual_edit_event.extend({
|
|
306
|
-
pcb_edit_event_type:
|
|
307
|
-
edit_event_type:
|
|
308
|
-
pcb_port_id:
|
|
309
|
-
pcb_trace_hint_id:
|
|
310
|
-
route:
|
|
311
|
-
|
|
320
|
+
pcb_edit_event_type: z17.literal("edit_trace_hint").describe("deprecated"),
|
|
321
|
+
edit_event_type: z17.literal("edit_pcb_trace_hint").optional(),
|
|
322
|
+
pcb_port_id: z17.string(),
|
|
323
|
+
pcb_trace_hint_id: z17.string().optional(),
|
|
324
|
+
route: z17.array(
|
|
325
|
+
z17.object({ x: z17.number(), y: z17.number(), via: z17.boolean().optional() })
|
|
312
326
|
)
|
|
313
327
|
});
|
|
314
328
|
expectTypesMatch(
|
|
@@ -316,38 +330,38 @@ expectTypesMatch(
|
|
|
316
330
|
);
|
|
317
331
|
|
|
318
332
|
// lib/manual-edits/manual-edit-events/edit_schematic_component_location_event.ts
|
|
319
|
-
import { z as
|
|
333
|
+
import { z as z18 } from "zod";
|
|
320
334
|
var edit_schematic_component_location_event = base_manual_edit_event.extend({
|
|
321
|
-
edit_event_type:
|
|
322
|
-
schematic_component_id:
|
|
323
|
-
original_center:
|
|
324
|
-
new_center:
|
|
335
|
+
edit_event_type: z18.literal("edit_schematic_component_location"),
|
|
336
|
+
schematic_component_id: z18.string(),
|
|
337
|
+
original_center: z18.object({ x: z18.number(), y: z18.number() }),
|
|
338
|
+
new_center: z18.object({ x: z18.number(), y: z18.number() })
|
|
325
339
|
});
|
|
326
340
|
expectTypesMatch(true);
|
|
327
341
|
|
|
328
342
|
// lib/manual-edits/manual-edit-events/edit_pcb_group_location_event.ts
|
|
329
|
-
import { z as
|
|
343
|
+
import { z as z19 } from "zod";
|
|
330
344
|
var edit_pcb_group_location_event = base_manual_edit_event.extend({
|
|
331
|
-
edit_event_type:
|
|
332
|
-
pcb_group_id:
|
|
333
|
-
original_center:
|
|
334
|
-
new_center:
|
|
345
|
+
edit_event_type: z19.literal("edit_pcb_group_location"),
|
|
346
|
+
pcb_group_id: z19.string(),
|
|
347
|
+
original_center: z19.object({ x: z19.number(), y: z19.number() }),
|
|
348
|
+
new_center: z19.object({ x: z19.number(), y: z19.number() })
|
|
335
349
|
});
|
|
336
350
|
expectTypesMatch(true);
|
|
337
351
|
|
|
338
352
|
// lib/manual-edits/manual-edit-events/edit_schematic_group_location_event.ts
|
|
339
|
-
import { z as
|
|
353
|
+
import { z as z20 } from "zod";
|
|
340
354
|
var edit_schematic_group_location_event = base_manual_edit_event.extend({
|
|
341
|
-
edit_event_type:
|
|
342
|
-
schematic_group_id:
|
|
343
|
-
original_center:
|
|
344
|
-
new_center:
|
|
355
|
+
edit_event_type: z20.literal("edit_schematic_group_location"),
|
|
356
|
+
schematic_group_id: z20.string(),
|
|
357
|
+
original_center: z20.object({ x: z20.number(), y: z20.number() }),
|
|
358
|
+
new_center: z20.object({ x: z20.number(), y: z20.number() })
|
|
345
359
|
});
|
|
346
360
|
expectTypesMatch(true);
|
|
347
361
|
|
|
348
362
|
// lib/manual-edits/manual_edit_event.ts
|
|
349
|
-
import { z as
|
|
350
|
-
var manual_edit_event =
|
|
363
|
+
import { z as z21 } from "zod";
|
|
364
|
+
var manual_edit_event = z21.union([
|
|
351
365
|
edit_pcb_component_location_event,
|
|
352
366
|
edit_trace_hint_event,
|
|
353
367
|
edit_schematic_component_location_event
|
|
@@ -355,33 +369,33 @@ var manual_edit_event = z20.union([
|
|
|
355
369
|
expectTypesMatch(true);
|
|
356
370
|
|
|
357
371
|
// lib/manual-edits/manual_edits_file.ts
|
|
358
|
-
import { z as
|
|
372
|
+
import { z as z25 } from "zod";
|
|
359
373
|
|
|
360
374
|
// lib/manual-edits/manual_pcb_placement.ts
|
|
361
|
-
import { z as
|
|
375
|
+
import { z as z22 } from "zod";
|
|
362
376
|
import { point as point2 } from "circuit-json";
|
|
363
|
-
var manual_pcb_placement =
|
|
364
|
-
selector:
|
|
365
|
-
relative_to:
|
|
377
|
+
var manual_pcb_placement = z22.object({
|
|
378
|
+
selector: z22.string(),
|
|
379
|
+
relative_to: z22.string().optional().default("group_center").describe("Can be a selector or 'group_center'"),
|
|
366
380
|
center: point2
|
|
367
381
|
});
|
|
368
382
|
expectTypesMatch(true);
|
|
369
383
|
|
|
370
384
|
// lib/manual-edits/manual_trace_hint.ts
|
|
371
|
-
import { z as
|
|
385
|
+
import { z as z23 } from "zod";
|
|
372
386
|
import { route_hint_point } from "circuit-json";
|
|
373
|
-
var manual_trace_hint =
|
|
374
|
-
pcb_port_selector:
|
|
375
|
-
offsets:
|
|
387
|
+
var manual_trace_hint = z23.object({
|
|
388
|
+
pcb_port_selector: z23.string(),
|
|
389
|
+
offsets: z23.array(route_hint_point)
|
|
376
390
|
});
|
|
377
391
|
expectTypesMatch(true);
|
|
378
392
|
|
|
379
393
|
// lib/manual-edits/manual_schematic_placement.ts
|
|
380
|
-
import { z as
|
|
394
|
+
import { z as z24 } from "zod";
|
|
381
395
|
import { point as point4 } from "circuit-json";
|
|
382
|
-
var manual_schematic_placement =
|
|
383
|
-
selector:
|
|
384
|
-
relative_to:
|
|
396
|
+
var manual_schematic_placement = z24.object({
|
|
397
|
+
selector: z24.string(),
|
|
398
|
+
relative_to: z24.string().optional().default("group_center").describe("Can be a selector or 'group_center'"),
|
|
385
399
|
center: point4
|
|
386
400
|
});
|
|
387
401
|
expectTypesMatch(
|
|
@@ -389,37 +403,37 @@ expectTypesMatch(
|
|
|
389
403
|
);
|
|
390
404
|
|
|
391
405
|
// lib/manual-edits/manual_edits_file.ts
|
|
392
|
-
var manual_edits_file =
|
|
393
|
-
pcb_placements:
|
|
394
|
-
manual_trace_hints:
|
|
395
|
-
schematic_placements:
|
|
406
|
+
var manual_edits_file = z25.object({
|
|
407
|
+
pcb_placements: z25.array(manual_pcb_placement).optional(),
|
|
408
|
+
manual_trace_hints: z25.array(manual_trace_hint).optional(),
|
|
409
|
+
schematic_placements: z25.array(manual_schematic_placement).optional()
|
|
396
410
|
});
|
|
397
411
|
expectTypesMatch(true);
|
|
398
412
|
|
|
399
413
|
// lib/common/connectionsProp.ts
|
|
400
|
-
import { z as
|
|
401
|
-
var connectionTarget =
|
|
414
|
+
import { z as z26 } from "zod";
|
|
415
|
+
var connectionTarget = z26.string().or(z26.array(z26.string()).readonly()).or(z26.array(z26.string()));
|
|
402
416
|
var createConnectionsProp = (labels) => {
|
|
403
|
-
return
|
|
417
|
+
return z26.record(z26.enum(labels), connectionTarget);
|
|
404
418
|
};
|
|
405
419
|
|
|
406
420
|
// lib/components/group.ts
|
|
407
|
-
var layoutConfig =
|
|
408
|
-
layoutMode:
|
|
409
|
-
position:
|
|
410
|
-
grid:
|
|
411
|
-
gridCols:
|
|
412
|
-
gridRows:
|
|
413
|
-
gridTemplateRows:
|
|
414
|
-
gridTemplateColumns:
|
|
415
|
-
gridTemplate:
|
|
416
|
-
gridGap:
|
|
417
|
-
gridRowGap:
|
|
418
|
-
gridColumnGap:
|
|
419
|
-
flex:
|
|
420
|
-
flexDirection:
|
|
421
|
-
alignItems:
|
|
422
|
-
justifyContent:
|
|
421
|
+
var layoutConfig = z27.object({
|
|
422
|
+
layoutMode: z27.enum(["grid", "flex", "match-adapt", "relative", "none"]).optional(),
|
|
423
|
+
position: z27.enum(["absolute", "relative"]).optional(),
|
|
424
|
+
grid: z27.boolean().optional(),
|
|
425
|
+
gridCols: z27.number().or(z27.string()).optional(),
|
|
426
|
+
gridRows: z27.number().or(z27.string()).optional(),
|
|
427
|
+
gridTemplateRows: z27.string().optional(),
|
|
428
|
+
gridTemplateColumns: z27.string().optional(),
|
|
429
|
+
gridTemplate: z27.string().optional(),
|
|
430
|
+
gridGap: z27.number().or(z27.string()).optional(),
|
|
431
|
+
gridRowGap: z27.number().or(z27.string()).optional(),
|
|
432
|
+
gridColumnGap: z27.number().or(z27.string()).optional(),
|
|
433
|
+
flex: z27.boolean().or(z27.string()).optional(),
|
|
434
|
+
flexDirection: z27.enum(["row", "column"]).optional(),
|
|
435
|
+
alignItems: z27.enum(["start", "center", "end", "stretch"]).optional(),
|
|
436
|
+
justifyContent: z27.enum([
|
|
423
437
|
"start",
|
|
424
438
|
"center",
|
|
425
439
|
"end",
|
|
@@ -428,16 +442,16 @@ var layoutConfig = z26.object({
|
|
|
428
442
|
"space-around",
|
|
429
443
|
"space-evenly"
|
|
430
444
|
]).optional(),
|
|
431
|
-
flexRow:
|
|
432
|
-
flexColumn:
|
|
433
|
-
gap:
|
|
434
|
-
pack:
|
|
435
|
-
packOrderStrategy:
|
|
445
|
+
flexRow: z27.boolean().optional(),
|
|
446
|
+
flexColumn: z27.boolean().optional(),
|
|
447
|
+
gap: z27.number().or(z27.string()).optional(),
|
|
448
|
+
pack: z27.boolean().optional().describe("Pack the contents of this group using a packing strategy"),
|
|
449
|
+
packOrderStrategy: z27.enum([
|
|
436
450
|
"largest_to_smallest",
|
|
437
451
|
"first_to_last",
|
|
438
452
|
"highest_to_lowest_pin_count"
|
|
439
453
|
]).optional(),
|
|
440
|
-
packPlacementStrategy:
|
|
454
|
+
packPlacementStrategy: z27.enum(["shortest_connection_along_outline"]).optional(),
|
|
441
455
|
padding: length2.optional(),
|
|
442
456
|
paddingLeft: length2.optional(),
|
|
443
457
|
paddingRight: length2.optional(),
|
|
@@ -447,27 +461,27 @@ var layoutConfig = z26.object({
|
|
|
447
461
|
paddingY: length2.optional(),
|
|
448
462
|
width: length2.optional(),
|
|
449
463
|
height: length2.optional(),
|
|
450
|
-
matchAdapt:
|
|
451
|
-
matchAdaptTemplate:
|
|
464
|
+
matchAdapt: z27.boolean().optional(),
|
|
465
|
+
matchAdaptTemplate: z27.any().optional()
|
|
452
466
|
});
|
|
453
467
|
expectTypesMatch(true);
|
|
454
|
-
var border =
|
|
468
|
+
var border = z27.object({
|
|
455
469
|
strokeWidth: length2.optional(),
|
|
456
|
-
dashed:
|
|
457
|
-
solid:
|
|
458
|
-
});
|
|
459
|
-
var autorouterConfig =
|
|
460
|
-
serverUrl:
|
|
461
|
-
inputFormat:
|
|
462
|
-
serverMode:
|
|
463
|
-
serverCacheEnabled:
|
|
464
|
-
cache:
|
|
470
|
+
dashed: z27.boolean().optional(),
|
|
471
|
+
solid: z27.boolean().optional()
|
|
472
|
+
});
|
|
473
|
+
var autorouterConfig = z27.object({
|
|
474
|
+
serverUrl: z27.string().optional(),
|
|
475
|
+
inputFormat: z27.enum(["simplified", "circuit-json"]).optional(),
|
|
476
|
+
serverMode: z27.enum(["job", "solve-endpoint"]).optional(),
|
|
477
|
+
serverCacheEnabled: z27.boolean().optional(),
|
|
478
|
+
cache: z27.custom((v) => true).optional(),
|
|
465
479
|
traceClearance: length2.optional(),
|
|
466
|
-
groupMode:
|
|
467
|
-
algorithmFn:
|
|
480
|
+
groupMode: z27.enum(["sequential_trace", "subcircuit", "sequential-trace"]).optional(),
|
|
481
|
+
algorithmFn: z27.custom(
|
|
468
482
|
(v) => typeof v === "function" || v === void 0
|
|
469
483
|
).optional(),
|
|
470
|
-
preset:
|
|
484
|
+
preset: z27.enum([
|
|
471
485
|
"sequential_trace",
|
|
472
486
|
"subcircuit",
|
|
473
487
|
"auto",
|
|
@@ -478,45 +492,45 @@ var autorouterConfig = z26.object({
|
|
|
478
492
|
"auto-local",
|
|
479
493
|
"auto-cloud"
|
|
480
494
|
]).optional(),
|
|
481
|
-
local:
|
|
495
|
+
local: z27.boolean().optional()
|
|
482
496
|
});
|
|
483
|
-
var autorouterProp =
|
|
497
|
+
var autorouterProp = z27.union([
|
|
484
498
|
autorouterConfig,
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
499
|
+
z27.literal("sequential_trace"),
|
|
500
|
+
z27.literal("subcircuit"),
|
|
501
|
+
z27.literal("auto"),
|
|
502
|
+
z27.literal("auto_local"),
|
|
503
|
+
z27.literal("auto_cloud"),
|
|
504
|
+
z27.literal("freerouting"),
|
|
505
|
+
z27.literal("sequential-trace"),
|
|
506
|
+
z27.literal("auto-local"),
|
|
507
|
+
z27.literal("auto-cloud")
|
|
494
508
|
]);
|
|
495
509
|
var baseGroupProps = commonLayoutProps.extend({
|
|
496
|
-
name:
|
|
497
|
-
children:
|
|
498
|
-
schTitle:
|
|
499
|
-
key:
|
|
500
|
-
showAsSchematicBox:
|
|
501
|
-
connections:
|
|
510
|
+
name: z27.string().optional(),
|
|
511
|
+
children: z27.any().optional(),
|
|
512
|
+
schTitle: z27.string().optional(),
|
|
513
|
+
key: z27.any().optional(),
|
|
514
|
+
showAsSchematicBox: z27.boolean().optional(),
|
|
515
|
+
connections: z27.record(z27.string(), connectionTarget.optional()).optional(),
|
|
502
516
|
schPinArrangement: schematicPinArrangement.optional(),
|
|
503
517
|
...layoutConfig.shape,
|
|
504
518
|
grid: layoutConfig.shape.grid.describe("@deprecated use pcbGrid"),
|
|
505
519
|
flex: layoutConfig.shape.flex.describe("@deprecated use pcbFlex"),
|
|
506
|
-
pcbGrid:
|
|
507
|
-
pcbGridCols:
|
|
508
|
-
pcbGridRows:
|
|
509
|
-
pcbGridTemplateRows:
|
|
510
|
-
pcbGridTemplateColumns:
|
|
511
|
-
pcbGridTemplate:
|
|
512
|
-
pcbGridGap:
|
|
513
|
-
pcbGridRowGap:
|
|
514
|
-
pcbGridColumnGap:
|
|
515
|
-
pcbFlex:
|
|
516
|
-
pcbFlexGap:
|
|
517
|
-
pcbFlexDirection:
|
|
518
|
-
pcbAlignItems:
|
|
519
|
-
pcbJustifyContent:
|
|
520
|
+
pcbGrid: z27.boolean().optional(),
|
|
521
|
+
pcbGridCols: z27.number().or(z27.string()).optional(),
|
|
522
|
+
pcbGridRows: z27.number().or(z27.string()).optional(),
|
|
523
|
+
pcbGridTemplateRows: z27.string().optional(),
|
|
524
|
+
pcbGridTemplateColumns: z27.string().optional(),
|
|
525
|
+
pcbGridTemplate: z27.string().optional(),
|
|
526
|
+
pcbGridGap: z27.number().or(z27.string()).optional(),
|
|
527
|
+
pcbGridRowGap: z27.number().or(z27.string()).optional(),
|
|
528
|
+
pcbGridColumnGap: z27.number().or(z27.string()).optional(),
|
|
529
|
+
pcbFlex: z27.boolean().or(z27.string()).optional(),
|
|
530
|
+
pcbFlexGap: z27.number().or(z27.string()).optional(),
|
|
531
|
+
pcbFlexDirection: z27.enum(["row", "column"]).optional(),
|
|
532
|
+
pcbAlignItems: z27.enum(["start", "center", "end", "stretch"]).optional(),
|
|
533
|
+
pcbJustifyContent: z27.enum([
|
|
520
534
|
"start",
|
|
521
535
|
"center",
|
|
522
536
|
"end",
|
|
@@ -525,25 +539,25 @@ var baseGroupProps = commonLayoutProps.extend({
|
|
|
525
539
|
"space-around",
|
|
526
540
|
"space-evenly"
|
|
527
541
|
]).optional(),
|
|
528
|
-
pcbFlexRow:
|
|
529
|
-
pcbFlexColumn:
|
|
530
|
-
pcbGap:
|
|
531
|
-
pcbPack:
|
|
532
|
-
pcbPackGap:
|
|
533
|
-
schGrid:
|
|
534
|
-
schGridCols:
|
|
535
|
-
schGridRows:
|
|
536
|
-
schGridTemplateRows:
|
|
537
|
-
schGridTemplateColumns:
|
|
538
|
-
schGridTemplate:
|
|
539
|
-
schGridGap:
|
|
540
|
-
schGridRowGap:
|
|
541
|
-
schGridColumnGap:
|
|
542
|
-
schFlex:
|
|
543
|
-
schFlexGap:
|
|
544
|
-
schFlexDirection:
|
|
545
|
-
schAlignItems:
|
|
546
|
-
schJustifyContent:
|
|
542
|
+
pcbFlexRow: z27.boolean().optional(),
|
|
543
|
+
pcbFlexColumn: z27.boolean().optional(),
|
|
544
|
+
pcbGap: z27.number().or(z27.string()).optional(),
|
|
545
|
+
pcbPack: z27.boolean().optional(),
|
|
546
|
+
pcbPackGap: z27.number().or(z27.string()).optional(),
|
|
547
|
+
schGrid: z27.boolean().optional(),
|
|
548
|
+
schGridCols: z27.number().or(z27.string()).optional(),
|
|
549
|
+
schGridRows: z27.number().or(z27.string()).optional(),
|
|
550
|
+
schGridTemplateRows: z27.string().optional(),
|
|
551
|
+
schGridTemplateColumns: z27.string().optional(),
|
|
552
|
+
schGridTemplate: z27.string().optional(),
|
|
553
|
+
schGridGap: z27.number().or(z27.string()).optional(),
|
|
554
|
+
schGridRowGap: z27.number().or(z27.string()).optional(),
|
|
555
|
+
schGridColumnGap: z27.number().or(z27.string()).optional(),
|
|
556
|
+
schFlex: z27.boolean().or(z27.string()).optional(),
|
|
557
|
+
schFlexGap: z27.number().or(z27.string()).optional(),
|
|
558
|
+
schFlexDirection: z27.enum(["row", "column"]).optional(),
|
|
559
|
+
schAlignItems: z27.enum(["start", "center", "end", "stretch"]).optional(),
|
|
560
|
+
schJustifyContent: z27.enum([
|
|
547
561
|
"start",
|
|
548
562
|
"center",
|
|
549
563
|
"end",
|
|
@@ -552,11 +566,11 @@ var baseGroupProps = commonLayoutProps.extend({
|
|
|
552
566
|
"space-around",
|
|
553
567
|
"space-evenly"
|
|
554
568
|
]).optional(),
|
|
555
|
-
schFlexRow:
|
|
556
|
-
schFlexColumn:
|
|
557
|
-
schGap:
|
|
558
|
-
schPack:
|
|
559
|
-
schMatchAdapt:
|
|
569
|
+
schFlexRow: z27.boolean().optional(),
|
|
570
|
+
schFlexColumn: z27.boolean().optional(),
|
|
571
|
+
schGap: z27.number().or(z27.string()).optional(),
|
|
572
|
+
schPack: z27.boolean().optional(),
|
|
573
|
+
schMatchAdapt: z27.boolean().optional(),
|
|
560
574
|
pcbWidth: length2.optional(),
|
|
561
575
|
pcbHeight: length2.optional(),
|
|
562
576
|
schWidth: length2.optional(),
|
|
@@ -576,32 +590,32 @@ var baseGroupProps = commonLayoutProps.extend({
|
|
|
576
590
|
pcbPaddingTop: length2.optional(),
|
|
577
591
|
pcbPaddingBottom: length2.optional()
|
|
578
592
|
});
|
|
579
|
-
var partsEngine =
|
|
593
|
+
var partsEngine = z27.custom((v) => "findPart" in v);
|
|
580
594
|
var subcircuitGroupProps = baseGroupProps.extend({
|
|
581
595
|
manualEdits: manual_edits_file.optional(),
|
|
582
|
-
schAutoLayoutEnabled:
|
|
583
|
-
schTraceAutoLabelEnabled:
|
|
596
|
+
schAutoLayoutEnabled: z27.boolean().optional(),
|
|
597
|
+
schTraceAutoLabelEnabled: z27.boolean().optional(),
|
|
584
598
|
schMaxTraceDistance: distance6.optional(),
|
|
585
|
-
routingDisabled:
|
|
599
|
+
routingDisabled: z27.boolean().optional(),
|
|
586
600
|
defaultTraceWidth: length2.optional(),
|
|
587
601
|
minTraceWidth: length2.optional(),
|
|
588
602
|
partsEngine: partsEngine.optional(),
|
|
589
|
-
pcbRouteCache:
|
|
603
|
+
pcbRouteCache: z27.custom((v) => true).optional(),
|
|
590
604
|
autorouter: autorouterProp.optional(),
|
|
591
|
-
square:
|
|
592
|
-
emptyArea:
|
|
593
|
-
filledArea:
|
|
605
|
+
square: z27.boolean().optional(),
|
|
606
|
+
emptyArea: z27.string().optional(),
|
|
607
|
+
filledArea: z27.string().optional(),
|
|
594
608
|
width: distance6.optional(),
|
|
595
609
|
height: distance6.optional(),
|
|
596
|
-
outline:
|
|
610
|
+
outline: z27.array(point).optional(),
|
|
597
611
|
outlineOffsetX: distance6.optional(),
|
|
598
612
|
outlineOffsetY: distance6.optional()
|
|
599
613
|
});
|
|
600
614
|
var subcircuitGroupPropsWithBool = subcircuitGroupProps.extend({
|
|
601
|
-
subcircuit:
|
|
615
|
+
subcircuit: z27.literal(true)
|
|
602
616
|
});
|
|
603
|
-
var groupProps =
|
|
604
|
-
baseGroupProps.extend({ subcircuit:
|
|
617
|
+
var groupProps = z27.discriminatedUnion("subcircuit", [
|
|
618
|
+
baseGroupProps.extend({ subcircuit: z27.literal(false).optional() }),
|
|
605
619
|
subcircuitGroupPropsWithBool
|
|
606
620
|
]);
|
|
607
621
|
expectTypesMatch(true);
|
|
@@ -610,9 +624,10 @@ expectTypesMatch(true);
|
|
|
610
624
|
|
|
611
625
|
// lib/components/board.ts
|
|
612
626
|
var boardProps = subcircuitGroupProps.extend({
|
|
613
|
-
material:
|
|
614
|
-
layers:
|
|
615
|
-
borderRadius: distance.optional()
|
|
627
|
+
material: z28.enum(["fr4", "fr1"]).default("fr4"),
|
|
628
|
+
layers: z28.union([z28.literal(2), z28.literal(4)]).default(2),
|
|
629
|
+
borderRadius: distance.optional(),
|
|
630
|
+
boardOrigin: ninePointAnchor.optional()
|
|
616
631
|
});
|
|
617
632
|
expectTypesMatch(true);
|
|
618
633
|
|
|
@@ -630,33 +645,33 @@ expectTypesMatch(true);
|
|
|
630
645
|
|
|
631
646
|
// lib/components/chip.ts
|
|
632
647
|
import { distance as distance8, supplier_name as supplier_name2 } from "circuit-json";
|
|
633
|
-
import { z as
|
|
634
|
-
var connectionTarget2 =
|
|
635
|
-
var connectionsProp =
|
|
636
|
-
var pinLabelsProp =
|
|
648
|
+
import { z as z30 } from "zod";
|
|
649
|
+
var connectionTarget2 = z30.string().or(z30.array(z30.string()).readonly()).or(z30.array(z30.string()));
|
|
650
|
+
var connectionsProp = z30.custom().pipe(z30.record(z30.string(), connectionTarget2));
|
|
651
|
+
var pinLabelsProp = z30.record(
|
|
637
652
|
schematicPinLabel,
|
|
638
|
-
schematicPinLabel.or(
|
|
653
|
+
schematicPinLabel.or(z30.array(schematicPinLabel).readonly()).or(z30.array(schematicPinLabel))
|
|
639
654
|
);
|
|
640
655
|
expectTypesMatch(true);
|
|
641
|
-
var pinCompatibleVariant =
|
|
642
|
-
manufacturerPartNumber:
|
|
643
|
-
supplierPartNumber:
|
|
656
|
+
var pinCompatibleVariant = z30.object({
|
|
657
|
+
manufacturerPartNumber: z30.string().optional(),
|
|
658
|
+
supplierPartNumber: z30.record(supplier_name2, z30.array(z30.string())).optional()
|
|
644
659
|
});
|
|
645
660
|
var chipProps = commonComponentProps.extend({
|
|
646
|
-
manufacturerPartNumber:
|
|
661
|
+
manufacturerPartNumber: z30.string().optional(),
|
|
647
662
|
pinLabels: pinLabelsProp.optional(),
|
|
648
|
-
showPinAliases:
|
|
649
|
-
pcbPinLabels:
|
|
650
|
-
internallyConnectedPins:
|
|
651
|
-
externallyConnectedPins:
|
|
663
|
+
showPinAliases: z30.boolean().optional(),
|
|
664
|
+
pcbPinLabels: z30.record(z30.string(), z30.string()).optional(),
|
|
665
|
+
internallyConnectedPins: z30.array(z30.array(z30.union([z30.string(), z30.number()]))).optional(),
|
|
666
|
+
externallyConnectedPins: z30.array(z30.array(z30.string())).optional(),
|
|
652
667
|
schPinArrangement: schematicPortArrangement.optional(),
|
|
653
668
|
schPortArrangement: schematicPortArrangement.optional(),
|
|
654
|
-
pinCompatibleVariants:
|
|
669
|
+
pinCompatibleVariants: z30.array(pinCompatibleVariant).optional(),
|
|
655
670
|
schPinStyle: schematicPinStyle.optional(),
|
|
656
671
|
schPinSpacing: distance8.optional(),
|
|
657
672
|
schWidth: distance8.optional(),
|
|
658
673
|
schHeight: distance8.optional(),
|
|
659
|
-
noSchematicRepresentation:
|
|
674
|
+
noSchematicRepresentation: z30.boolean().optional(),
|
|
660
675
|
connections: connectionsProp.optional()
|
|
661
676
|
});
|
|
662
677
|
var bugProps = chipProps;
|
|
@@ -668,93 +683,93 @@ expectTypesMatch(true);
|
|
|
668
683
|
|
|
669
684
|
// lib/components/jumper.ts
|
|
670
685
|
import { distance as distance9 } from "circuit-json";
|
|
671
|
-
import { z as
|
|
686
|
+
import { z as z31 } from "zod";
|
|
672
687
|
var jumperProps = commonComponentProps.extend({
|
|
673
|
-
manufacturerPartNumber:
|
|
674
|
-
pinLabels:
|
|
675
|
-
|
|
676
|
-
schematicPinLabel.or(
|
|
688
|
+
manufacturerPartNumber: z31.string().optional(),
|
|
689
|
+
pinLabels: z31.record(
|
|
690
|
+
z31.number().or(schematicPinLabel),
|
|
691
|
+
schematicPinLabel.or(z31.array(schematicPinLabel))
|
|
677
692
|
).optional(),
|
|
678
693
|
schPinStyle: schematicPinStyle.optional(),
|
|
679
694
|
schPinSpacing: distance9.optional(),
|
|
680
695
|
schWidth: distance9.optional(),
|
|
681
696
|
schHeight: distance9.optional(),
|
|
682
|
-
schDirection:
|
|
697
|
+
schDirection: z31.enum(["left", "right"]).optional(),
|
|
683
698
|
schPinArrangement: schematicPinArrangement.optional(),
|
|
684
699
|
schPortArrangement: schematicPortArrangement.optional(),
|
|
685
|
-
pcbPinLabels:
|
|
686
|
-
pinCount:
|
|
687
|
-
internallyConnectedPins:
|
|
688
|
-
connections:
|
|
700
|
+
pcbPinLabels: z31.record(z31.string(), z31.string()).optional(),
|
|
701
|
+
pinCount: z31.union([z31.literal(2), z31.literal(3)]).optional(),
|
|
702
|
+
internallyConnectedPins: z31.array(z31.array(z31.union([z31.string(), z31.number()]))).optional(),
|
|
703
|
+
connections: z31.custom().pipe(z31.record(z31.string(), connectionTarget)).optional()
|
|
689
704
|
});
|
|
690
705
|
expectTypesMatch(true);
|
|
691
706
|
|
|
692
707
|
// lib/components/solderjumper.ts
|
|
693
|
-
import { z as
|
|
708
|
+
import { z as z32 } from "zod";
|
|
694
709
|
var solderjumperProps = jumperProps.extend({
|
|
695
|
-
bridgedPins:
|
|
696
|
-
bridged:
|
|
710
|
+
bridgedPins: z32.array(z32.array(z32.string())).optional(),
|
|
711
|
+
bridged: z32.boolean().optional()
|
|
697
712
|
});
|
|
698
713
|
expectTypesMatch(true);
|
|
699
714
|
|
|
700
715
|
// lib/components/connector.ts
|
|
701
716
|
import { distance as distance10 } from "circuit-json";
|
|
702
|
-
import { z as
|
|
717
|
+
import { z as z33 } from "zod";
|
|
703
718
|
var connectorProps = commonComponentProps.extend({
|
|
704
|
-
manufacturerPartNumber:
|
|
705
|
-
pinLabels:
|
|
706
|
-
|
|
707
|
-
schematicPinLabel.or(
|
|
719
|
+
manufacturerPartNumber: z33.string().optional(),
|
|
720
|
+
pinLabels: z33.record(
|
|
721
|
+
z33.number().or(schematicPinLabel),
|
|
722
|
+
schematicPinLabel.or(z33.array(schematicPinLabel))
|
|
708
723
|
).optional(),
|
|
709
724
|
schPinStyle: schematicPinStyle.optional(),
|
|
710
725
|
schPinSpacing: distance10.optional(),
|
|
711
726
|
schWidth: distance10.optional(),
|
|
712
727
|
schHeight: distance10.optional(),
|
|
713
|
-
schDirection:
|
|
728
|
+
schDirection: z33.enum(["left", "right"]).optional(),
|
|
714
729
|
schPortArrangement: schematicPortArrangement.optional(),
|
|
715
|
-
internallyConnectedPins:
|
|
716
|
-
standard:
|
|
730
|
+
internallyConnectedPins: z33.array(z33.array(z33.union([z33.string(), z33.number()]))).optional(),
|
|
731
|
+
standard: z33.enum(["usb_c", "m2"]).optional()
|
|
717
732
|
});
|
|
718
733
|
expectTypesMatch(true);
|
|
719
734
|
|
|
720
735
|
// lib/components/fuse.ts
|
|
721
|
-
import { z as
|
|
736
|
+
import { z as z34 } from "zod";
|
|
722
737
|
var fusePinLabels = ["pin1", "pin2"];
|
|
723
738
|
var fuseProps = commonComponentProps.extend({
|
|
724
|
-
currentRating:
|
|
725
|
-
voltageRating:
|
|
726
|
-
schShowRatings:
|
|
739
|
+
currentRating: z34.union([z34.number(), z34.string()]),
|
|
740
|
+
voltageRating: z34.union([z34.number(), z34.string()]).optional(),
|
|
741
|
+
schShowRatings: z34.boolean().optional(),
|
|
727
742
|
schOrientation: schematicOrientation.optional(),
|
|
728
|
-
connections:
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
743
|
+
connections: z34.record(
|
|
744
|
+
z34.string(),
|
|
745
|
+
z34.union([
|
|
746
|
+
z34.string(),
|
|
747
|
+
z34.array(z34.string()).readonly(),
|
|
748
|
+
z34.array(z34.string())
|
|
734
749
|
])
|
|
735
750
|
).optional()
|
|
736
751
|
});
|
|
737
752
|
|
|
738
753
|
// lib/components/platedhole.ts
|
|
739
754
|
import { distance as distance11 } from "circuit-json";
|
|
740
|
-
import { z as
|
|
741
|
-
var distanceHiddenUndefined =
|
|
755
|
+
import { z as z35 } from "zod";
|
|
756
|
+
var distanceHiddenUndefined = z35.custom().transform((a) => {
|
|
742
757
|
if (a === void 0) return void 0;
|
|
743
758
|
return distance11.parse(a);
|
|
744
759
|
});
|
|
745
|
-
var platedHoleProps =
|
|
760
|
+
var platedHoleProps = z35.discriminatedUnion("shape", [
|
|
746
761
|
pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
747
|
-
name:
|
|
748
|
-
connectsTo:
|
|
749
|
-
shape:
|
|
762
|
+
name: z35.string().optional(),
|
|
763
|
+
connectsTo: z35.string().or(z35.array(z35.string())).optional(),
|
|
764
|
+
shape: z35.literal("circle"),
|
|
750
765
|
holeDiameter: distance11,
|
|
751
766
|
outerDiameter: distance11,
|
|
752
767
|
portHints: portHints.optional()
|
|
753
768
|
}),
|
|
754
769
|
pcbLayoutProps.omit({ layer: true }).extend({
|
|
755
|
-
name:
|
|
756
|
-
connectsTo:
|
|
757
|
-
shape:
|
|
770
|
+
name: z35.string().optional(),
|
|
771
|
+
connectsTo: z35.string().or(z35.array(z35.string())).optional(),
|
|
772
|
+
shape: z35.literal("oval"),
|
|
758
773
|
outerWidth: distance11,
|
|
759
774
|
outerHeight: distance11,
|
|
760
775
|
holeWidth: distanceHiddenUndefined,
|
|
@@ -764,10 +779,10 @@ var platedHoleProps = z34.discriminatedUnion("shape", [
|
|
|
764
779
|
portHints: portHints.optional()
|
|
765
780
|
}),
|
|
766
781
|
pcbLayoutProps.omit({ layer: true }).extend({
|
|
767
|
-
name:
|
|
768
|
-
connectsTo:
|
|
769
|
-
shape:
|
|
770
|
-
rectPad:
|
|
782
|
+
name: z35.string().optional(),
|
|
783
|
+
connectsTo: z35.string().or(z35.array(z35.string())).optional(),
|
|
784
|
+
shape: z35.literal("pill"),
|
|
785
|
+
rectPad: z35.boolean().optional(),
|
|
771
786
|
outerWidth: distance11,
|
|
772
787
|
outerHeight: distance11,
|
|
773
788
|
holeWidth: distanceHiddenUndefined,
|
|
@@ -777,25 +792,25 @@ var platedHoleProps = z34.discriminatedUnion("shape", [
|
|
|
777
792
|
portHints: portHints.optional()
|
|
778
793
|
}),
|
|
779
794
|
pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
780
|
-
name:
|
|
781
|
-
connectsTo:
|
|
782
|
-
shape:
|
|
795
|
+
name: z35.string().optional(),
|
|
796
|
+
connectsTo: z35.string().or(z35.array(z35.string())).optional(),
|
|
797
|
+
shape: z35.literal("circular_hole_with_rect_pad"),
|
|
783
798
|
holeDiameter: distance11,
|
|
784
799
|
rectPadWidth: distance11,
|
|
785
800
|
rectPadHeight: distance11,
|
|
786
801
|
rectBorderRadius: distance11.optional(),
|
|
787
|
-
holeShape:
|
|
788
|
-
padShape:
|
|
802
|
+
holeShape: z35.literal("circle").optional(),
|
|
803
|
+
padShape: z35.literal("rect").optional(),
|
|
789
804
|
portHints: portHints.optional(),
|
|
790
805
|
holeOffsetX: distance11.optional(),
|
|
791
806
|
holeOffsetY: distance11.optional()
|
|
792
807
|
}),
|
|
793
808
|
pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
794
|
-
name:
|
|
795
|
-
connectsTo:
|
|
796
|
-
shape:
|
|
797
|
-
holeShape:
|
|
798
|
-
padShape:
|
|
809
|
+
name: z35.string().optional(),
|
|
810
|
+
connectsTo: z35.string().or(z35.array(z35.string())).optional(),
|
|
811
|
+
shape: z35.literal("pill_hole_with_rect_pad"),
|
|
812
|
+
holeShape: z35.literal("pill"),
|
|
813
|
+
padShape: z35.literal("rect"),
|
|
799
814
|
holeWidth: distance11,
|
|
800
815
|
holeHeight: distance11,
|
|
801
816
|
rectPadWidth: distance11,
|
|
@@ -817,14 +832,14 @@ expectTypesMatch(true);
|
|
|
817
832
|
|
|
818
833
|
// lib/components/resistor.ts
|
|
819
834
|
import { resistance } from "circuit-json";
|
|
820
|
-
import { z as
|
|
835
|
+
import { z as z36 } from "zod";
|
|
821
836
|
var resistorPinLabels = ["pin1", "pin2", "pos", "neg"];
|
|
822
837
|
var resistorProps = commonComponentProps.extend({
|
|
823
838
|
resistance,
|
|
824
|
-
pullupFor:
|
|
825
|
-
pullupTo:
|
|
826
|
-
pulldownFor:
|
|
827
|
-
pulldownTo:
|
|
839
|
+
pullupFor: z36.string().optional(),
|
|
840
|
+
pullupTo: z36.string().optional(),
|
|
841
|
+
pulldownFor: z36.string().optional(),
|
|
842
|
+
pulldownTo: z36.string().optional(),
|
|
828
843
|
schOrientation: schematicOrientation.optional(),
|
|
829
844
|
connections: createConnectionsProp(resistorPinLabels).optional()
|
|
830
845
|
});
|
|
@@ -833,23 +848,23 @@ expectTypesMatch(true);
|
|
|
833
848
|
|
|
834
849
|
// lib/components/potentiometer.ts
|
|
835
850
|
import { resistance as resistance2 } from "circuit-json";
|
|
836
|
-
import { z as
|
|
851
|
+
import { z as z37 } from "zod";
|
|
837
852
|
var potentiometerProps = commonComponentProps.extend({
|
|
838
853
|
maxResistance: resistance2,
|
|
839
|
-
pinVariant:
|
|
854
|
+
pinVariant: z37.enum(["two_pin", "three_pin"]).optional()
|
|
840
855
|
});
|
|
841
856
|
expectTypesMatch(true);
|
|
842
857
|
|
|
843
858
|
// lib/components/crystal.ts
|
|
844
859
|
import { frequency, capacitance } from "circuit-json";
|
|
845
|
-
import { z as
|
|
860
|
+
import { z as z38 } from "zod";
|
|
846
861
|
var crystalPins = lrPins;
|
|
847
862
|
var crystalProps = commonComponentProps.extend({
|
|
848
863
|
frequency,
|
|
849
864
|
loadCapacitance: capacitance,
|
|
850
|
-
manufacturerPartNumber:
|
|
851
|
-
mpn:
|
|
852
|
-
pinVariant:
|
|
865
|
+
manufacturerPartNumber: z38.string().optional(),
|
|
866
|
+
mpn: z38.string().optional(),
|
|
867
|
+
pinVariant: z38.enum(["two_pin", "four_pin"]).optional(),
|
|
853
868
|
schOrientation: schematicOrientation.optional(),
|
|
854
869
|
connections: createConnectionsProp(crystalPins).optional()
|
|
855
870
|
});
|
|
@@ -857,34 +872,34 @@ expectTypesMatch(true);
|
|
|
857
872
|
|
|
858
873
|
// lib/components/resonator.ts
|
|
859
874
|
import { frequency as frequency2, capacitance as capacitance2 } from "circuit-json";
|
|
860
|
-
import { z as
|
|
875
|
+
import { z as z39 } from "zod";
|
|
861
876
|
var resonatorProps = commonComponentProps.extend({
|
|
862
877
|
frequency: frequency2,
|
|
863
878
|
loadCapacitance: capacitance2,
|
|
864
|
-
pinVariant:
|
|
879
|
+
pinVariant: z39.enum(["no_ground", "ground_pin", "two_ground_pins"]).optional()
|
|
865
880
|
});
|
|
866
881
|
expectTypesMatch(true);
|
|
867
882
|
|
|
868
883
|
// lib/components/stampboard.ts
|
|
869
884
|
import { distance as distance12 } from "circuit-json";
|
|
870
|
-
import { z as
|
|
885
|
+
import { z as z40 } from "zod";
|
|
871
886
|
var stampboardProps = boardProps.extend({
|
|
872
|
-
leftPinCount:
|
|
873
|
-
rightPinCount:
|
|
874
|
-
topPinCount:
|
|
875
|
-
bottomPinCount:
|
|
876
|
-
leftPins:
|
|
877
|
-
rightPins:
|
|
878
|
-
topPins:
|
|
879
|
-
bottomPins:
|
|
887
|
+
leftPinCount: z40.number().optional(),
|
|
888
|
+
rightPinCount: z40.number().optional(),
|
|
889
|
+
topPinCount: z40.number().optional(),
|
|
890
|
+
bottomPinCount: z40.number().optional(),
|
|
891
|
+
leftPins: z40.array(z40.string()).optional(),
|
|
892
|
+
rightPins: z40.array(z40.string()).optional(),
|
|
893
|
+
topPins: z40.array(z40.string()).optional(),
|
|
894
|
+
bottomPins: z40.array(z40.string()).optional(),
|
|
880
895
|
pinPitch: distance12.optional(),
|
|
881
|
-
innerHoles:
|
|
896
|
+
innerHoles: z40.boolean().optional()
|
|
882
897
|
});
|
|
883
898
|
expectTypesMatch(true);
|
|
884
899
|
|
|
885
900
|
// lib/components/capacitor.ts
|
|
886
901
|
import { capacitance as capacitance3, voltage } from "circuit-json";
|
|
887
|
-
import { z as
|
|
902
|
+
import { z as z41 } from "zod";
|
|
888
903
|
var capacitorPinLabels = [
|
|
889
904
|
"pin1",
|
|
890
905
|
"pin2",
|
|
@@ -896,13 +911,13 @@ var capacitorPinLabels = [
|
|
|
896
911
|
var capacitorProps = commonComponentProps.extend({
|
|
897
912
|
capacitance: capacitance3,
|
|
898
913
|
maxVoltageRating: voltage.optional(),
|
|
899
|
-
schShowRatings:
|
|
900
|
-
polarized:
|
|
901
|
-
decouplingFor:
|
|
902
|
-
decouplingTo:
|
|
903
|
-
bypassFor:
|
|
904
|
-
bypassTo:
|
|
905
|
-
maxDecouplingTraceLength:
|
|
914
|
+
schShowRatings: z41.boolean().optional().default(false),
|
|
915
|
+
polarized: z41.boolean().optional().default(false),
|
|
916
|
+
decouplingFor: z41.string().optional(),
|
|
917
|
+
decouplingTo: z41.string().optional(),
|
|
918
|
+
bypassFor: z41.string().optional(),
|
|
919
|
+
bypassTo: z41.string().optional(),
|
|
920
|
+
maxDecouplingTraceLength: z41.number().optional(),
|
|
906
921
|
schOrientation: schematicOrientation.optional(),
|
|
907
922
|
connections: createConnectionsProp(capacitorPinLabels).optional()
|
|
908
923
|
});
|
|
@@ -910,63 +925,63 @@ var capacitorPins = lrPolarPins;
|
|
|
910
925
|
expectTypesMatch(true);
|
|
911
926
|
|
|
912
927
|
// lib/components/net.ts
|
|
913
|
-
import { z as
|
|
914
|
-
var netProps =
|
|
915
|
-
name:
|
|
916
|
-
connectsTo:
|
|
928
|
+
import { z as z42 } from "zod";
|
|
929
|
+
var netProps = z42.object({
|
|
930
|
+
name: z42.string(),
|
|
931
|
+
connectsTo: z42.string().or(z42.array(z42.string())).optional()
|
|
917
932
|
});
|
|
918
933
|
expectTypesMatch(true);
|
|
919
934
|
|
|
920
935
|
// lib/components/constrainedlayout.ts
|
|
921
|
-
import { z as
|
|
922
|
-
var constrainedLayoutProps =
|
|
923
|
-
name:
|
|
924
|
-
pcbOnly:
|
|
925
|
-
schOnly:
|
|
936
|
+
import { z as z43 } from "zod";
|
|
937
|
+
var constrainedLayoutProps = z43.object({
|
|
938
|
+
name: z43.string().optional(),
|
|
939
|
+
pcbOnly: z43.boolean().optional(),
|
|
940
|
+
schOnly: z43.boolean().optional()
|
|
926
941
|
});
|
|
927
942
|
expectTypesMatch(true);
|
|
928
943
|
|
|
929
944
|
// lib/components/constraint.ts
|
|
930
|
-
import { z as
|
|
931
|
-
var pcbXDistConstraintProps =
|
|
932
|
-
pcb:
|
|
945
|
+
import { z as z44 } from "zod";
|
|
946
|
+
var pcbXDistConstraintProps = z44.object({
|
|
947
|
+
pcb: z44.literal(true).optional(),
|
|
933
948
|
xDist: distance,
|
|
934
|
-
left:
|
|
935
|
-
right:
|
|
936
|
-
edgeToEdge:
|
|
937
|
-
centerToCenter:
|
|
949
|
+
left: z44.string(),
|
|
950
|
+
right: z44.string(),
|
|
951
|
+
edgeToEdge: z44.literal(true).optional(),
|
|
952
|
+
centerToCenter: z44.literal(true).optional()
|
|
938
953
|
});
|
|
939
954
|
expectTypesMatch(
|
|
940
955
|
true
|
|
941
956
|
);
|
|
942
|
-
var pcbYDistConstraintProps =
|
|
943
|
-
pcb:
|
|
957
|
+
var pcbYDistConstraintProps = z44.object({
|
|
958
|
+
pcb: z44.literal(true).optional(),
|
|
944
959
|
yDist: distance,
|
|
945
|
-
top:
|
|
946
|
-
bottom:
|
|
947
|
-
edgeToEdge:
|
|
948
|
-
centerToCenter:
|
|
960
|
+
top: z44.string(),
|
|
961
|
+
bottom: z44.string(),
|
|
962
|
+
edgeToEdge: z44.literal(true).optional(),
|
|
963
|
+
centerToCenter: z44.literal(true).optional()
|
|
949
964
|
});
|
|
950
965
|
expectTypesMatch(
|
|
951
966
|
true
|
|
952
967
|
);
|
|
953
|
-
var pcbSameYConstraintProps =
|
|
954
|
-
pcb:
|
|
955
|
-
sameY:
|
|
956
|
-
for:
|
|
968
|
+
var pcbSameYConstraintProps = z44.object({
|
|
969
|
+
pcb: z44.literal(true).optional(),
|
|
970
|
+
sameY: z44.literal(true).optional(),
|
|
971
|
+
for: z44.array(z44.string())
|
|
957
972
|
});
|
|
958
973
|
expectTypesMatch(
|
|
959
974
|
true
|
|
960
975
|
);
|
|
961
|
-
var pcbSameXConstraintProps =
|
|
962
|
-
pcb:
|
|
963
|
-
sameX:
|
|
964
|
-
for:
|
|
976
|
+
var pcbSameXConstraintProps = z44.object({
|
|
977
|
+
pcb: z44.literal(true).optional(),
|
|
978
|
+
sameX: z44.literal(true).optional(),
|
|
979
|
+
for: z44.array(z44.string())
|
|
965
980
|
});
|
|
966
981
|
expectTypesMatch(
|
|
967
982
|
true
|
|
968
983
|
);
|
|
969
|
-
var constraintProps =
|
|
984
|
+
var constraintProps = z44.union([
|
|
970
985
|
pcbXDistConstraintProps,
|
|
971
986
|
pcbYDistConstraintProps,
|
|
972
987
|
pcbSameYConstraintProps,
|
|
@@ -975,13 +990,13 @@ var constraintProps = z43.union([
|
|
|
975
990
|
expectTypesMatch(true);
|
|
976
991
|
|
|
977
992
|
// lib/components/cutout.ts
|
|
978
|
-
import { z as
|
|
993
|
+
import { z as z45 } from "zod";
|
|
979
994
|
var rectCutoutProps = pcbLayoutProps.omit({
|
|
980
995
|
layer: true,
|
|
981
996
|
pcbRotation: true
|
|
982
997
|
}).extend({
|
|
983
|
-
name:
|
|
984
|
-
shape:
|
|
998
|
+
name: z45.string().optional(),
|
|
999
|
+
shape: z45.literal("rect"),
|
|
985
1000
|
width: distance,
|
|
986
1001
|
height: distance
|
|
987
1002
|
});
|
|
@@ -990,8 +1005,8 @@ var circleCutoutProps = pcbLayoutProps.omit({
|
|
|
990
1005
|
layer: true,
|
|
991
1006
|
pcbRotation: true
|
|
992
1007
|
}).extend({
|
|
993
|
-
name:
|
|
994
|
-
shape:
|
|
1008
|
+
name: z45.string().optional(),
|
|
1009
|
+
shape: z45.literal("circle"),
|
|
995
1010
|
radius: distance
|
|
996
1011
|
});
|
|
997
1012
|
expectTypesMatch(true);
|
|
@@ -999,66 +1014,66 @@ var polygonCutoutProps = pcbLayoutProps.omit({
|
|
|
999
1014
|
layer: true,
|
|
1000
1015
|
pcbRotation: true
|
|
1001
1016
|
}).extend({
|
|
1002
|
-
name:
|
|
1003
|
-
shape:
|
|
1004
|
-
points:
|
|
1017
|
+
name: z45.string().optional(),
|
|
1018
|
+
shape: z45.literal("polygon"),
|
|
1019
|
+
points: z45.array(point)
|
|
1005
1020
|
});
|
|
1006
1021
|
expectTypesMatch(true);
|
|
1007
|
-
var cutoutProps =
|
|
1022
|
+
var cutoutProps = z45.discriminatedUnion("shape", [
|
|
1008
1023
|
rectCutoutProps,
|
|
1009
1024
|
circleCutoutProps,
|
|
1010
1025
|
polygonCutoutProps
|
|
1011
1026
|
]);
|
|
1012
1027
|
|
|
1013
1028
|
// lib/components/smtpad.ts
|
|
1014
|
-
import { z as
|
|
1029
|
+
import { z as z46 } from "zod";
|
|
1015
1030
|
var rectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
1016
|
-
name:
|
|
1017
|
-
shape:
|
|
1031
|
+
name: z46.string().optional(),
|
|
1032
|
+
shape: z46.literal("rect"),
|
|
1018
1033
|
width: distance,
|
|
1019
1034
|
height: distance,
|
|
1020
1035
|
rectBorderRadius: distance.optional(),
|
|
1021
1036
|
portHints: portHints.optional(),
|
|
1022
|
-
coveredWithSolderMask:
|
|
1037
|
+
coveredWithSolderMask: z46.boolean().optional()
|
|
1023
1038
|
});
|
|
1024
1039
|
expectTypesMatch(true);
|
|
1025
1040
|
var rotatedRectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
1026
|
-
name:
|
|
1027
|
-
shape:
|
|
1041
|
+
name: z46.string().optional(),
|
|
1042
|
+
shape: z46.literal("rotated_rect"),
|
|
1028
1043
|
width: distance,
|
|
1029
1044
|
height: distance,
|
|
1030
|
-
ccwRotation:
|
|
1045
|
+
ccwRotation: z46.number(),
|
|
1031
1046
|
portHints: portHints.optional(),
|
|
1032
|
-
coveredWithSolderMask:
|
|
1047
|
+
coveredWithSolderMask: z46.boolean().optional()
|
|
1033
1048
|
});
|
|
1034
1049
|
expectTypesMatch(true);
|
|
1035
1050
|
var circleSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
1036
|
-
name:
|
|
1037
|
-
shape:
|
|
1051
|
+
name: z46.string().optional(),
|
|
1052
|
+
shape: z46.literal("circle"),
|
|
1038
1053
|
radius: distance,
|
|
1039
1054
|
portHints: portHints.optional(),
|
|
1040
|
-
coveredWithSolderMask:
|
|
1055
|
+
coveredWithSolderMask: z46.boolean().optional()
|
|
1041
1056
|
});
|
|
1042
1057
|
expectTypesMatch(true);
|
|
1043
1058
|
var pillSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
1044
|
-
name:
|
|
1045
|
-
shape:
|
|
1059
|
+
name: z46.string().optional(),
|
|
1060
|
+
shape: z46.literal("pill"),
|
|
1046
1061
|
width: distance,
|
|
1047
1062
|
height: distance,
|
|
1048
1063
|
radius: distance,
|
|
1049
1064
|
portHints: portHints.optional(),
|
|
1050
|
-
coveredWithSolderMask:
|
|
1065
|
+
coveredWithSolderMask: z46.boolean().optional()
|
|
1051
1066
|
});
|
|
1052
1067
|
expectTypesMatch(true);
|
|
1053
1068
|
var polygonSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
1054
|
-
name:
|
|
1055
|
-
shape:
|
|
1056
|
-
points:
|
|
1069
|
+
name: z46.string().optional(),
|
|
1070
|
+
shape: z46.literal("polygon"),
|
|
1071
|
+
points: z46.array(point),
|
|
1057
1072
|
portHints: portHints.optional(),
|
|
1058
|
-
coveredWithSolderMask:
|
|
1073
|
+
coveredWithSolderMask: z46.boolean().optional()
|
|
1059
1074
|
});
|
|
1060
1075
|
expectTypesMatch(true);
|
|
1061
|
-
var smtPadProps =
|
|
1076
|
+
var smtPadProps = z46.discriminatedUnion("shape", [
|
|
1062
1077
|
circleSmtPadProps,
|
|
1063
1078
|
rectSmtPadProps,
|
|
1064
1079
|
rotatedRectSmtPadProps,
|
|
@@ -1068,29 +1083,29 @@ var smtPadProps = z45.discriminatedUnion("shape", [
|
|
|
1068
1083
|
expectTypesMatch(true);
|
|
1069
1084
|
|
|
1070
1085
|
// lib/components/solderpaste.ts
|
|
1071
|
-
import { z as
|
|
1086
|
+
import { z as z47 } from "zod";
|
|
1072
1087
|
var rectSolderPasteProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
1073
|
-
shape:
|
|
1088
|
+
shape: z47.literal("rect"),
|
|
1074
1089
|
width: distance,
|
|
1075
1090
|
height: distance
|
|
1076
1091
|
});
|
|
1077
1092
|
expectTypesMatch(true);
|
|
1078
1093
|
var circleSolderPasteProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
1079
|
-
shape:
|
|
1094
|
+
shape: z47.literal("circle"),
|
|
1080
1095
|
radius: distance
|
|
1081
1096
|
});
|
|
1082
1097
|
expectTypesMatch(true);
|
|
1083
|
-
var solderPasteProps =
|
|
1098
|
+
var solderPasteProps = z47.union([
|
|
1084
1099
|
circleSolderPasteProps,
|
|
1085
1100
|
rectSolderPasteProps
|
|
1086
1101
|
]);
|
|
1087
1102
|
expectTypesMatch(true);
|
|
1088
1103
|
|
|
1089
1104
|
// lib/components/hole.ts
|
|
1090
|
-
import { z as
|
|
1105
|
+
import { z as z48 } from "zod";
|
|
1091
1106
|
var circleHoleProps = pcbLayoutProps.extend({
|
|
1092
|
-
name:
|
|
1093
|
-
shape:
|
|
1107
|
+
name: z48.string().optional(),
|
|
1108
|
+
shape: z48.literal("circle").optional(),
|
|
1094
1109
|
diameter: distance.optional(),
|
|
1095
1110
|
radius: distance.optional()
|
|
1096
1111
|
}).transform((d) => ({
|
|
@@ -1099,37 +1114,37 @@ var circleHoleProps = pcbLayoutProps.extend({
|
|
|
1099
1114
|
radius: d.radius ?? d.diameter / 2
|
|
1100
1115
|
}));
|
|
1101
1116
|
var pillHoleProps = pcbLayoutProps.extend({
|
|
1102
|
-
name:
|
|
1103
|
-
shape:
|
|
1117
|
+
name: z48.string().optional(),
|
|
1118
|
+
shape: z48.literal("pill"),
|
|
1104
1119
|
width: distance,
|
|
1105
1120
|
height: distance
|
|
1106
1121
|
});
|
|
1107
|
-
var holeProps =
|
|
1122
|
+
var holeProps = z48.union([circleHoleProps, pillHoleProps]);
|
|
1108
1123
|
expectTypesMatch(true);
|
|
1109
1124
|
|
|
1110
1125
|
// lib/components/trace.ts
|
|
1111
1126
|
import { distance as distance13, route_hint_point as route_hint_point2 } from "circuit-json";
|
|
1112
|
-
import { z as
|
|
1113
|
-
var portRef =
|
|
1114
|
-
|
|
1115
|
-
|
|
1127
|
+
import { z as z49 } from "zod";
|
|
1128
|
+
var portRef = z49.union([
|
|
1129
|
+
z49.string(),
|
|
1130
|
+
z49.custom(
|
|
1116
1131
|
(v) => Boolean(v.getPortSelector)
|
|
1117
1132
|
)
|
|
1118
1133
|
]);
|
|
1119
|
-
var baseTraceProps =
|
|
1120
|
-
key:
|
|
1134
|
+
var baseTraceProps = z49.object({
|
|
1135
|
+
key: z49.string().optional(),
|
|
1121
1136
|
thickness: distance13.optional(),
|
|
1122
|
-
schematicRouteHints:
|
|
1123
|
-
pcbRouteHints:
|
|
1124
|
-
pcbPathRelativeTo:
|
|
1125
|
-
pcbPath:
|
|
1126
|
-
schDisplayLabel:
|
|
1127
|
-
schStroke:
|
|
1137
|
+
schematicRouteHints: z49.array(point).optional(),
|
|
1138
|
+
pcbRouteHints: z49.array(route_hint_point2).optional(),
|
|
1139
|
+
pcbPathRelativeTo: z49.string().optional(),
|
|
1140
|
+
pcbPath: z49.array(point).optional(),
|
|
1141
|
+
schDisplayLabel: z49.string().optional(),
|
|
1142
|
+
schStroke: z49.string().optional(),
|
|
1128
1143
|
maxLength: distance13.optional()
|
|
1129
1144
|
});
|
|
1130
|
-
var traceProps =
|
|
1145
|
+
var traceProps = z49.union([
|
|
1131
1146
|
baseTraceProps.extend({
|
|
1132
|
-
path:
|
|
1147
|
+
path: z49.array(portRef)
|
|
1133
1148
|
}),
|
|
1134
1149
|
baseTraceProps.extend({
|
|
1135
1150
|
from: portRef,
|
|
@@ -1139,23 +1154,23 @@ var traceProps = z48.union([
|
|
|
1139
1154
|
|
|
1140
1155
|
// lib/components/footprint.ts
|
|
1141
1156
|
import { layer_ref as layer_ref4 } from "circuit-json";
|
|
1142
|
-
import { z as
|
|
1143
|
-
var footprintProps =
|
|
1157
|
+
import { z as z50 } from "zod";
|
|
1158
|
+
var footprintProps = z50.object({
|
|
1144
1159
|
originalLayer: layer_ref4.default("top").optional()
|
|
1145
1160
|
});
|
|
1146
1161
|
expectTypesMatch(true);
|
|
1147
1162
|
|
|
1148
1163
|
// lib/components/symbol.ts
|
|
1149
|
-
import { z as
|
|
1150
|
-
var symbolProps =
|
|
1151
|
-
originalFacingDirection:
|
|
1164
|
+
import { z as z51 } from "zod";
|
|
1165
|
+
var symbolProps = z51.object({
|
|
1166
|
+
originalFacingDirection: z51.enum(["up", "down", "left", "right"]).default("right").optional()
|
|
1152
1167
|
});
|
|
1153
1168
|
expectTypesMatch(true);
|
|
1154
1169
|
|
|
1155
1170
|
// lib/components/battery.ts
|
|
1156
1171
|
import { voltage as voltage2 } from "circuit-json";
|
|
1157
|
-
import { z as
|
|
1158
|
-
var capacity =
|
|
1172
|
+
import { z as z52 } from "zod";
|
|
1173
|
+
var capacity = z52.number().or(z52.string().endsWith("mAh")).transform((v) => {
|
|
1159
1174
|
if (typeof v === "string") {
|
|
1160
1175
|
const valString = v.replace("mAh", "");
|
|
1161
1176
|
const num = Number.parseFloat(valString);
|
|
@@ -1169,7 +1184,7 @@ var capacity = z51.number().or(z51.string().endsWith("mAh")).transform((v) => {
|
|
|
1169
1184
|
var batteryProps = commonComponentProps.extend({
|
|
1170
1185
|
capacity: capacity.optional(),
|
|
1171
1186
|
voltage: voltage2.optional(),
|
|
1172
|
-
standard:
|
|
1187
|
+
standard: z52.enum(["AA", "AAA", "9V", "CR2032", "18650", "C"]).optional(),
|
|
1173
1188
|
schOrientation: schematicOrientation.optional()
|
|
1174
1189
|
});
|
|
1175
1190
|
var batteryPins = lrPolarPins;
|
|
@@ -1179,29 +1194,29 @@ expectTypesMatch(true);
|
|
|
1179
1194
|
import { distance as distance14 } from "circuit-json";
|
|
1180
1195
|
|
|
1181
1196
|
// lib/common/pcbOrientation.ts
|
|
1182
|
-
import { z as
|
|
1183
|
-
var pcbOrientation =
|
|
1197
|
+
import { z as z53 } from "zod";
|
|
1198
|
+
var pcbOrientation = z53.enum(["vertical", "horizontal"]).describe(
|
|
1184
1199
|
"vertical means pins go 1->2 downward and horizontal means pins go 1->2 rightward"
|
|
1185
1200
|
);
|
|
1186
1201
|
expectTypesMatch(true);
|
|
1187
1202
|
|
|
1188
1203
|
// lib/components/pin-header.ts
|
|
1189
|
-
import { z as
|
|
1204
|
+
import { z as z54 } from "zod";
|
|
1190
1205
|
var pinHeaderProps = commonComponentProps.extend({
|
|
1191
|
-
pinCount:
|
|
1206
|
+
pinCount: z54.number(),
|
|
1192
1207
|
pitch: distance14.optional(),
|
|
1193
|
-
schFacingDirection:
|
|
1194
|
-
gender:
|
|
1195
|
-
showSilkscreenPinLabels:
|
|
1196
|
-
pcbPinLabels:
|
|
1197
|
-
doubleRow:
|
|
1198
|
-
rightAngle:
|
|
1208
|
+
schFacingDirection: z54.enum(["up", "down", "left", "right"]).optional(),
|
|
1209
|
+
gender: z54.enum(["male", "female", "unpopulated"]).optional().default("male"),
|
|
1210
|
+
showSilkscreenPinLabels: z54.boolean().optional(),
|
|
1211
|
+
pcbPinLabels: z54.record(z54.string(), z54.string()).optional(),
|
|
1212
|
+
doubleRow: z54.boolean().optional(),
|
|
1213
|
+
rightAngle: z54.boolean().optional(),
|
|
1199
1214
|
pcbOrientation: pcbOrientation.optional(),
|
|
1200
1215
|
holeDiameter: distance14.optional(),
|
|
1201
1216
|
platedDiameter: distance14.optional(),
|
|
1202
|
-
pinLabels:
|
|
1203
|
-
connections:
|
|
1204
|
-
facingDirection:
|
|
1217
|
+
pinLabels: z54.record(z54.string(), schematicPinLabel).or(z54.array(schematicPinLabel)).optional(),
|
|
1218
|
+
connections: z54.custom().pipe(z54.record(z54.string(), connectionTarget)).optional(),
|
|
1219
|
+
facingDirection: z54.enum(["left", "right"]).optional(),
|
|
1205
1220
|
schPinArrangement: schematicPinArrangement.optional(),
|
|
1206
1221
|
schPinStyle: schematicPinStyle.optional(),
|
|
1207
1222
|
schPinSpacing: distance14.optional(),
|
|
@@ -1211,29 +1226,29 @@ var pinHeaderProps = commonComponentProps.extend({
|
|
|
1211
1226
|
expectTypesMatch(true);
|
|
1212
1227
|
|
|
1213
1228
|
// lib/components/netalias.ts
|
|
1214
|
-
import { z as
|
|
1229
|
+
import { z as z55 } from "zod";
|
|
1215
1230
|
import { rotation as rotation2 } from "circuit-json";
|
|
1216
|
-
var netAliasProps =
|
|
1217
|
-
net:
|
|
1218
|
-
connection:
|
|
1231
|
+
var netAliasProps = z55.object({
|
|
1232
|
+
net: z55.string().optional(),
|
|
1233
|
+
connection: z55.string().optional(),
|
|
1219
1234
|
schX: distance.optional(),
|
|
1220
1235
|
schY: distance.optional(),
|
|
1221
1236
|
schRotation: rotation2.optional(),
|
|
1222
|
-
anchorSide:
|
|
1237
|
+
anchorSide: z55.enum(["left", "top", "right", "bottom"]).optional()
|
|
1223
1238
|
});
|
|
1224
1239
|
expectTypesMatch(true);
|
|
1225
1240
|
|
|
1226
1241
|
// lib/components/netlabel.ts
|
|
1227
|
-
import { z as
|
|
1242
|
+
import { z as z56 } from "zod";
|
|
1228
1243
|
import { rotation as rotation3 } from "circuit-json";
|
|
1229
|
-
var netLabelProps =
|
|
1230
|
-
net:
|
|
1231
|
-
connection:
|
|
1232
|
-
connectsTo:
|
|
1244
|
+
var netLabelProps = z56.object({
|
|
1245
|
+
net: z56.string().optional(),
|
|
1246
|
+
connection: z56.string().optional(),
|
|
1247
|
+
connectsTo: z56.string().or(z56.array(z56.string())).optional(),
|
|
1233
1248
|
schX: distance.optional(),
|
|
1234
1249
|
schY: distance.optional(),
|
|
1235
1250
|
schRotation: rotation3.optional(),
|
|
1236
|
-
anchorSide:
|
|
1251
|
+
anchorSide: z56.enum(["left", "top", "right", "bottom"]).optional()
|
|
1237
1252
|
});
|
|
1238
1253
|
expectTypesMatch(true);
|
|
1239
1254
|
|
|
@@ -1247,7 +1262,7 @@ var subcircuitProps = subcircuitGroupProps;
|
|
|
1247
1262
|
expectTypesMatch(true);
|
|
1248
1263
|
|
|
1249
1264
|
// lib/components/transistor.ts
|
|
1250
|
-
import { z as
|
|
1265
|
+
import { z as z58 } from "zod";
|
|
1251
1266
|
var transistorPinsLabels = [
|
|
1252
1267
|
"pin1",
|
|
1253
1268
|
"pin2",
|
|
@@ -1260,7 +1275,7 @@ var transistorPinsLabels = [
|
|
|
1260
1275
|
"drain"
|
|
1261
1276
|
];
|
|
1262
1277
|
var transistorProps = commonComponentProps.extend({
|
|
1263
|
-
type:
|
|
1278
|
+
type: z58.enum(["npn", "pnp", "bjt", "jfet", "mosfet", "igbt"]),
|
|
1264
1279
|
connections: createConnectionsProp(transistorPinsLabels).optional()
|
|
1265
1280
|
});
|
|
1266
1281
|
var transistorPins = [
|
|
@@ -1274,10 +1289,10 @@ var transistorPins = [
|
|
|
1274
1289
|
expectTypesMatch(true);
|
|
1275
1290
|
|
|
1276
1291
|
// lib/components/mosfet.ts
|
|
1277
|
-
import { z as
|
|
1292
|
+
import { z as z59 } from "zod";
|
|
1278
1293
|
var mosfetProps = commonComponentProps.extend({
|
|
1279
|
-
channelType:
|
|
1280
|
-
mosfetMode:
|
|
1294
|
+
channelType: z59.enum(["n", "p"]),
|
|
1295
|
+
mosfetMode: z59.enum(["enhancement", "depletion"])
|
|
1281
1296
|
});
|
|
1282
1297
|
var mosfetPins = [
|
|
1283
1298
|
"pin1",
|
|
@@ -1291,19 +1306,19 @@ expectTypesMatch(true);
|
|
|
1291
1306
|
|
|
1292
1307
|
// lib/components/inductor.ts
|
|
1293
1308
|
import { inductance } from "circuit-json";
|
|
1294
|
-
import { z as
|
|
1309
|
+
import { z as z60 } from "zod";
|
|
1295
1310
|
var inductorPins = lrPins;
|
|
1296
1311
|
var inductorProps = commonComponentProps.extend({
|
|
1297
1312
|
inductance,
|
|
1298
|
-
maxCurrentRating:
|
|
1313
|
+
maxCurrentRating: z60.union([z60.string(), z60.number()]).optional(),
|
|
1299
1314
|
schOrientation: schematicOrientation.optional(),
|
|
1300
1315
|
connections: createConnectionsProp(inductorPins).optional()
|
|
1301
1316
|
});
|
|
1302
1317
|
expectTypesMatch(true);
|
|
1303
1318
|
|
|
1304
1319
|
// lib/components/diode.ts
|
|
1305
|
-
import { z as
|
|
1306
|
-
var diodeConnectionKeys =
|
|
1320
|
+
import { z as z61 } from "zod";
|
|
1321
|
+
var diodeConnectionKeys = z61.enum([
|
|
1307
1322
|
"anode",
|
|
1308
1323
|
"cathode",
|
|
1309
1324
|
"pin1",
|
|
@@ -1311,9 +1326,9 @@ var diodeConnectionKeys = z60.enum([
|
|
|
1311
1326
|
"pos",
|
|
1312
1327
|
"neg"
|
|
1313
1328
|
]);
|
|
1314
|
-
var connectionTarget3 =
|
|
1315
|
-
var connectionsProp2 =
|
|
1316
|
-
var diodeVariant =
|
|
1329
|
+
var connectionTarget3 = z61.string().or(z61.array(z61.string()).readonly()).or(z61.array(z61.string()));
|
|
1330
|
+
var connectionsProp2 = z61.record(diodeConnectionKeys, connectionTarget3);
|
|
1331
|
+
var diodeVariant = z61.enum([
|
|
1317
1332
|
"standard",
|
|
1318
1333
|
"schottky",
|
|
1319
1334
|
"zener",
|
|
@@ -1324,12 +1339,12 @@ var diodeVariant = z60.enum([
|
|
|
1324
1339
|
var diodeProps = commonComponentProps.extend({
|
|
1325
1340
|
connections: connectionsProp2.optional(),
|
|
1326
1341
|
variant: diodeVariant.optional().default("standard"),
|
|
1327
|
-
standard:
|
|
1328
|
-
schottky:
|
|
1329
|
-
zener:
|
|
1330
|
-
avalanche:
|
|
1331
|
-
photo:
|
|
1332
|
-
tvs:
|
|
1342
|
+
standard: z61.boolean().optional(),
|
|
1343
|
+
schottky: z61.boolean().optional(),
|
|
1344
|
+
zener: z61.boolean().optional(),
|
|
1345
|
+
avalanche: z61.boolean().optional(),
|
|
1346
|
+
photo: z61.boolean().optional(),
|
|
1347
|
+
tvs: z61.boolean().optional(),
|
|
1333
1348
|
schOrientation: schematicOrientation.optional()
|
|
1334
1349
|
}).superRefine((data, ctx) => {
|
|
1335
1350
|
const enabledFlags = [
|
|
@@ -1342,11 +1357,11 @@ var diodeProps = commonComponentProps.extend({
|
|
|
1342
1357
|
].filter(Boolean).length;
|
|
1343
1358
|
if (enabledFlags > 1) {
|
|
1344
1359
|
ctx.addIssue({
|
|
1345
|
-
code:
|
|
1360
|
+
code: z61.ZodIssueCode.custom,
|
|
1346
1361
|
message: "Exactly one diode variant must be enabled",
|
|
1347
1362
|
path: []
|
|
1348
1363
|
});
|
|
1349
|
-
return
|
|
1364
|
+
return z61.INVALID;
|
|
1350
1365
|
}
|
|
1351
1366
|
}).transform((data) => {
|
|
1352
1367
|
const result = {
|
|
@@ -1393,26 +1408,26 @@ var diodePins = lrPolarPins;
|
|
|
1393
1408
|
expectTypesMatch(true);
|
|
1394
1409
|
|
|
1395
1410
|
// lib/components/led.ts
|
|
1396
|
-
import { z as
|
|
1411
|
+
import { z as z62 } from "zod";
|
|
1397
1412
|
var ledProps = commonComponentProps.extend({
|
|
1398
|
-
color:
|
|
1399
|
-
wavelength:
|
|
1400
|
-
schDisplayValue:
|
|
1413
|
+
color: z62.string().optional(),
|
|
1414
|
+
wavelength: z62.string().optional(),
|
|
1415
|
+
schDisplayValue: z62.string().optional(),
|
|
1401
1416
|
schOrientation: schematicOrientation.optional(),
|
|
1402
1417
|
connections: createConnectionsProp(lrPolarPins).optional(),
|
|
1403
|
-
laser:
|
|
1418
|
+
laser: z62.boolean().optional()
|
|
1404
1419
|
});
|
|
1405
1420
|
var ledPins = lrPolarPins;
|
|
1406
1421
|
|
|
1407
1422
|
// lib/components/switch.ts
|
|
1408
|
-
import { z as
|
|
1423
|
+
import { z as z63 } from "zod";
|
|
1409
1424
|
var switchProps = commonComponentProps.extend({
|
|
1410
|
-
type:
|
|
1411
|
-
isNormallyClosed:
|
|
1412
|
-
spst:
|
|
1413
|
-
spdt:
|
|
1414
|
-
dpst:
|
|
1415
|
-
dpdt:
|
|
1425
|
+
type: z63.enum(["spst", "spdt", "dpst", "dpdt"]).optional(),
|
|
1426
|
+
isNormallyClosed: z63.boolean().optional().default(false),
|
|
1427
|
+
spst: z63.boolean().optional(),
|
|
1428
|
+
spdt: z63.boolean().optional(),
|
|
1429
|
+
dpst: z63.boolean().optional(),
|
|
1430
|
+
dpdt: z63.boolean().optional()
|
|
1416
1431
|
}).transform((props) => {
|
|
1417
1432
|
const updatedProps = { ...props };
|
|
1418
1433
|
if (updatedProps.dpdt) {
|
|
@@ -1444,52 +1459,52 @@ expectTypesMatch(true);
|
|
|
1444
1459
|
|
|
1445
1460
|
// lib/components/fabrication-note-text.ts
|
|
1446
1461
|
import { length as length3 } from "circuit-json";
|
|
1447
|
-
import { z as
|
|
1462
|
+
import { z as z64 } from "zod";
|
|
1448
1463
|
var fabricationNoteTextProps = pcbLayoutProps.extend({
|
|
1449
|
-
text:
|
|
1450
|
-
anchorAlignment:
|
|
1451
|
-
font:
|
|
1464
|
+
text: z64.string(),
|
|
1465
|
+
anchorAlignment: z64.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
1466
|
+
font: z64.enum(["tscircuit2024"]).optional(),
|
|
1452
1467
|
fontSize: length3.optional(),
|
|
1453
|
-
color:
|
|
1468
|
+
color: z64.string().optional()
|
|
1454
1469
|
});
|
|
1455
1470
|
|
|
1456
1471
|
// lib/components/fabrication-note-path.ts
|
|
1457
1472
|
import { length as length4, route_hint_point as route_hint_point3 } from "circuit-json";
|
|
1458
|
-
import { z as
|
|
1473
|
+
import { z as z65 } from "zod";
|
|
1459
1474
|
var fabricationNotePathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
|
|
1460
|
-
route:
|
|
1475
|
+
route: z65.array(route_hint_point3),
|
|
1461
1476
|
strokeWidth: length4.optional(),
|
|
1462
|
-
color:
|
|
1477
|
+
color: z65.string().optional()
|
|
1463
1478
|
});
|
|
1464
1479
|
|
|
1465
1480
|
// lib/components/pcb-trace.ts
|
|
1466
1481
|
import { distance as distance15, route_hint_point as route_hint_point4 } from "circuit-json";
|
|
1467
|
-
import { z as
|
|
1468
|
-
var pcbTraceProps =
|
|
1469
|
-
layer:
|
|
1482
|
+
import { z as z66 } from "zod";
|
|
1483
|
+
var pcbTraceProps = z66.object({
|
|
1484
|
+
layer: z66.string().optional(),
|
|
1470
1485
|
thickness: distance15.optional(),
|
|
1471
|
-
route:
|
|
1486
|
+
route: z66.array(route_hint_point4)
|
|
1472
1487
|
});
|
|
1473
1488
|
|
|
1474
1489
|
// lib/components/via.ts
|
|
1475
1490
|
import { distance as distance16, layer_ref as layer_ref5 } from "circuit-json";
|
|
1476
|
-
import { z as
|
|
1491
|
+
import { z as z67 } from "zod";
|
|
1477
1492
|
var viaProps = commonLayoutProps.extend({
|
|
1478
|
-
name:
|
|
1493
|
+
name: z67.string().optional(),
|
|
1479
1494
|
fromLayer: layer_ref5,
|
|
1480
1495
|
toLayer: layer_ref5,
|
|
1481
1496
|
holeDiameter: distance16,
|
|
1482
1497
|
outerDiameter: distance16,
|
|
1483
|
-
connectsTo:
|
|
1498
|
+
connectsTo: z67.string().or(z67.array(z67.string())).optional()
|
|
1484
1499
|
});
|
|
1485
1500
|
expectTypesMatch(true);
|
|
1486
1501
|
|
|
1487
1502
|
// lib/components/testpoint.ts
|
|
1488
1503
|
import { distance as distance17 } from "circuit-json";
|
|
1489
|
-
import { z as
|
|
1504
|
+
import { z as z68 } from "zod";
|
|
1490
1505
|
var testpointProps = commonComponentProps.extend({
|
|
1491
|
-
footprintVariant:
|
|
1492
|
-
padShape:
|
|
1506
|
+
footprintVariant: z68.enum(["pad", "through_hole"]).optional(),
|
|
1507
|
+
padShape: z68.enum(["rect", "circle"]).optional().default("circle"),
|
|
1493
1508
|
padDiameter: distance17.optional(),
|
|
1494
1509
|
holeDiameter: distance17.optional(),
|
|
1495
1510
|
width: distance17.optional(),
|
|
@@ -1501,34 +1516,34 @@ var testpointProps = commonComponentProps.extend({
|
|
|
1501
1516
|
expectTypesMatch(true);
|
|
1502
1517
|
|
|
1503
1518
|
// lib/components/breakoutpoint.ts
|
|
1504
|
-
import { z as
|
|
1519
|
+
import { z as z69 } from "zod";
|
|
1505
1520
|
var breakoutPointProps = pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
1506
|
-
connection:
|
|
1521
|
+
connection: z69.string()
|
|
1507
1522
|
});
|
|
1508
1523
|
expectTypesMatch(true);
|
|
1509
1524
|
|
|
1510
1525
|
// lib/components/pcb-keepout.ts
|
|
1511
1526
|
import { distance as distance18 } from "circuit-json";
|
|
1512
|
-
import { z as
|
|
1513
|
-
var pcbKeepoutProps =
|
|
1527
|
+
import { z as z70 } from "zod";
|
|
1528
|
+
var pcbKeepoutProps = z70.union([
|
|
1514
1529
|
pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
1515
|
-
shape:
|
|
1530
|
+
shape: z70.literal("circle"),
|
|
1516
1531
|
radius: distance18
|
|
1517
1532
|
}),
|
|
1518
1533
|
pcbLayoutProps.extend({
|
|
1519
|
-
shape:
|
|
1534
|
+
shape: z70.literal("rect"),
|
|
1520
1535
|
width: distance18,
|
|
1521
1536
|
height: distance18
|
|
1522
1537
|
})
|
|
1523
1538
|
]);
|
|
1524
1539
|
|
|
1525
1540
|
// lib/components/copper-pour.ts
|
|
1526
|
-
import { z as
|
|
1541
|
+
import { z as z71 } from "zod";
|
|
1527
1542
|
import { layer_ref as layer_ref6 } from "circuit-json";
|
|
1528
|
-
var copperPourProps =
|
|
1529
|
-
name:
|
|
1543
|
+
var copperPourProps = z71.object({
|
|
1544
|
+
name: z71.string().optional(),
|
|
1530
1545
|
layer: layer_ref6,
|
|
1531
|
-
connectsTo:
|
|
1546
|
+
connectsTo: z71.string(),
|
|
1532
1547
|
padMargin: distance.optional(),
|
|
1533
1548
|
traceMargin: distance.optional()
|
|
1534
1549
|
});
|
|
@@ -1536,26 +1551,26 @@ expectTypesMatch(true);
|
|
|
1536
1551
|
|
|
1537
1552
|
// lib/components/cadassembly.ts
|
|
1538
1553
|
import { layer_ref as layer_ref7 } from "circuit-json";
|
|
1539
|
-
import { z as
|
|
1540
|
-
var cadassemblyProps =
|
|
1554
|
+
import { z as z72 } from "zod";
|
|
1555
|
+
var cadassemblyProps = z72.object({
|
|
1541
1556
|
originalLayer: layer_ref7.default("top").optional(),
|
|
1542
|
-
children:
|
|
1557
|
+
children: z72.any().optional()
|
|
1543
1558
|
});
|
|
1544
1559
|
expectTypesMatch(true);
|
|
1545
1560
|
|
|
1546
1561
|
// lib/components/cadmodel.ts
|
|
1547
|
-
import { z as
|
|
1548
|
-
var pcbPosition =
|
|
1562
|
+
import { z as z73 } from "zod";
|
|
1563
|
+
var pcbPosition = z73.object({
|
|
1549
1564
|
pcbX: distance.optional(),
|
|
1550
1565
|
pcbY: distance.optional(),
|
|
1551
1566
|
pcbZ: distance.optional()
|
|
1552
1567
|
});
|
|
1553
1568
|
var cadModelBaseWithUrl = cadModelBase.extend({
|
|
1554
|
-
modelUrl:
|
|
1569
|
+
modelUrl: z73.string()
|
|
1555
1570
|
});
|
|
1556
1571
|
var cadModelObject = cadModelBaseWithUrl.merge(pcbPosition);
|
|
1557
1572
|
expectTypesMatch(true);
|
|
1558
|
-
var cadmodelProps =
|
|
1573
|
+
var cadmodelProps = z73.union([z73.null(), z73.string(), cadModelObject]);
|
|
1559
1574
|
|
|
1560
1575
|
// lib/components/power-source.ts
|
|
1561
1576
|
import { voltage as voltage3 } from "circuit-json";
|
|
@@ -1565,9 +1580,9 @@ var powerSourceProps = commonComponentProps.extend({
|
|
|
1565
1580
|
|
|
1566
1581
|
// lib/components/voltagesource.ts
|
|
1567
1582
|
import { frequency as frequency3, rotation as rotation4, voltage as voltage4 } from "circuit-json";
|
|
1568
|
-
import { z as
|
|
1583
|
+
import { z as z74 } from "zod";
|
|
1569
1584
|
var voltageSourcePinLabels = ["pin1", "pin2", "pos", "neg"];
|
|
1570
|
-
var percentage =
|
|
1585
|
+
var percentage = z74.union([z74.string(), z74.number()]).transform((val) => {
|
|
1571
1586
|
if (typeof val === "string") {
|
|
1572
1587
|
if (val.endsWith("%")) {
|
|
1573
1588
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -1576,13 +1591,13 @@ var percentage = z73.union([z73.string(), z73.number()]).transform((val) => {
|
|
|
1576
1591
|
}
|
|
1577
1592
|
return val;
|
|
1578
1593
|
}).pipe(
|
|
1579
|
-
|
|
1594
|
+
z74.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
1580
1595
|
);
|
|
1581
1596
|
var voltageSourceProps = commonComponentProps.extend({
|
|
1582
1597
|
voltage: voltage4.optional(),
|
|
1583
1598
|
frequency: frequency3.optional(),
|
|
1584
1599
|
peakToPeakVoltage: voltage4.optional(),
|
|
1585
|
-
waveShape:
|
|
1600
|
+
waveShape: z74.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
|
|
1586
1601
|
phase: rotation4.optional(),
|
|
1587
1602
|
dutyCycle: percentage.optional(),
|
|
1588
1603
|
connections: createConnectionsProp(voltageSourcePinLabels).optional()
|
|
@@ -1590,42 +1605,40 @@ var voltageSourceProps = commonComponentProps.extend({
|
|
|
1590
1605
|
var voltageSourcePins = lrPolarPins;
|
|
1591
1606
|
expectTypesMatch(true);
|
|
1592
1607
|
|
|
1593
|
-
// lib/components/schematic-
|
|
1594
|
-
import { distance as distance19 } from "circuit-json";
|
|
1608
|
+
// lib/components/schematic-arc.ts
|
|
1609
|
+
import { distance as distance19, point as point5, rotation as rotation5 } from "circuit-json";
|
|
1595
1610
|
import { z as z75 } from "zod";
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
"
|
|
1602
|
-
|
|
1603
|
-
"
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
"bottom_left",
|
|
1607
|
-
"bottom_center",
|
|
1608
|
-
"bottom_right"
|
|
1609
|
-
]);
|
|
1611
|
+
var schematicArcProps = z75.object({
|
|
1612
|
+
center: point5,
|
|
1613
|
+
radius: distance19,
|
|
1614
|
+
startAngleDegrees: rotation5,
|
|
1615
|
+
endAngleDegrees: rotation5,
|
|
1616
|
+
direction: z75.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
|
|
1617
|
+
strokeWidth: distance19.optional(),
|
|
1618
|
+
color: z75.string().optional().default("#000000"),
|
|
1619
|
+
isDashed: z75.boolean().optional().default(false)
|
|
1620
|
+
});
|
|
1610
1621
|
|
|
1611
1622
|
// lib/components/schematic-box.ts
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1623
|
+
import { distance as distance20 } from "circuit-json";
|
|
1624
|
+
import { z as z76 } from "zod";
|
|
1625
|
+
var schematicBoxProps = z76.object({
|
|
1626
|
+
schX: distance20.optional(),
|
|
1627
|
+
schY: distance20.optional(),
|
|
1628
|
+
width: distance20.optional(),
|
|
1629
|
+
height: distance20.optional(),
|
|
1630
|
+
overlay: z76.array(z76.string()).optional(),
|
|
1631
|
+
padding: distance20.optional(),
|
|
1632
|
+
paddingLeft: distance20.optional(),
|
|
1633
|
+
paddingRight: distance20.optional(),
|
|
1634
|
+
paddingTop: distance20.optional(),
|
|
1635
|
+
paddingBottom: distance20.optional(),
|
|
1636
|
+
title: z76.string().optional(),
|
|
1624
1637
|
titleAlignment: ninePointAnchor.default("top_left"),
|
|
1625
|
-
titleColor:
|
|
1626
|
-
titleFontSize:
|
|
1627
|
-
titleInside:
|
|
1628
|
-
strokeStyle:
|
|
1638
|
+
titleColor: z76.string().optional(),
|
|
1639
|
+
titleFontSize: distance20.optional(),
|
|
1640
|
+
titleInside: z76.boolean().default(false),
|
|
1641
|
+
strokeStyle: z76.enum(["solid", "dashed"]).default("solid")
|
|
1629
1642
|
}).refine(
|
|
1630
1643
|
(elm) => elm.width !== void 0 && elm.height !== void 0 || Array.isArray(elm.overlay) && elm.overlay.length > 0,
|
|
1631
1644
|
{
|
|
@@ -1638,23 +1651,54 @@ var schematicBoxProps = z75.object({
|
|
|
1638
1651
|
}
|
|
1639
1652
|
);
|
|
1640
1653
|
|
|
1654
|
+
// lib/components/schematic-circle.ts
|
|
1655
|
+
import { distance as distance21, point as point6 } from "circuit-json";
|
|
1656
|
+
import { z as z77 } from "zod";
|
|
1657
|
+
var schematicCircleProps = z77.object({
|
|
1658
|
+
center: point6,
|
|
1659
|
+
radius: distance21,
|
|
1660
|
+
strokeWidth: distance21.optional(),
|
|
1661
|
+
color: z77.string().optional().default("#000000"),
|
|
1662
|
+
isFilled: z77.boolean().optional().default(false),
|
|
1663
|
+
fillColor: z77.string().optional(),
|
|
1664
|
+
isDashed: z77.boolean().optional().default(false)
|
|
1665
|
+
});
|
|
1666
|
+
|
|
1667
|
+
// lib/components/schematic-rect.ts
|
|
1668
|
+
import { distance as distance22, point as point7, rotation as rotation6 } from "circuit-json";
|
|
1669
|
+
import { z as z78 } from "zod";
|
|
1670
|
+
var schematicRectProps = z78.object({
|
|
1671
|
+
center: point7,
|
|
1672
|
+
width: distance22,
|
|
1673
|
+
height: distance22,
|
|
1674
|
+
rotation: rotation6.default(0),
|
|
1675
|
+
strokeWidth: distance22.optional(),
|
|
1676
|
+
color: z78.string().optional().default("#000000"),
|
|
1677
|
+
isFilled: z78.boolean().optional().default(false),
|
|
1678
|
+
fillColor: z78.string().optional(),
|
|
1679
|
+
isDashed: z78.boolean().optional().default(false)
|
|
1680
|
+
});
|
|
1681
|
+
|
|
1641
1682
|
// lib/components/schematic-line.ts
|
|
1642
|
-
import { distance as
|
|
1643
|
-
import { z as
|
|
1644
|
-
var schematicLineProps =
|
|
1645
|
-
x1:
|
|
1646
|
-
y1:
|
|
1647
|
-
x2:
|
|
1648
|
-
y2:
|
|
1683
|
+
import { distance as distance23 } from "circuit-json";
|
|
1684
|
+
import { z as z79 } from "zod";
|
|
1685
|
+
var schematicLineProps = z79.object({
|
|
1686
|
+
x1: distance23,
|
|
1687
|
+
y1: distance23,
|
|
1688
|
+
x2: distance23,
|
|
1689
|
+
y2: distance23,
|
|
1690
|
+
strokeWidth: distance23.optional(),
|
|
1691
|
+
color: z79.string().optional().default("#000000"),
|
|
1692
|
+
isDashed: z79.boolean().optional().default(false)
|
|
1649
1693
|
});
|
|
1650
1694
|
|
|
1651
1695
|
// lib/components/schematic-text.ts
|
|
1652
|
-
import { distance as
|
|
1653
|
-
import { z as
|
|
1696
|
+
import { distance as distance24, rotation as rotation7 } from "circuit-json";
|
|
1697
|
+
import { z as z81 } from "zod";
|
|
1654
1698
|
|
|
1655
1699
|
// lib/common/fivePointAnchor.ts
|
|
1656
|
-
import { z as
|
|
1657
|
-
var fivePointAnchor =
|
|
1700
|
+
import { z as z80 } from "zod";
|
|
1701
|
+
var fivePointAnchor = z80.enum([
|
|
1658
1702
|
"center",
|
|
1659
1703
|
"left",
|
|
1660
1704
|
"right",
|
|
@@ -1663,188 +1707,188 @@ var fivePointAnchor = z77.enum([
|
|
|
1663
1707
|
]);
|
|
1664
1708
|
|
|
1665
1709
|
// lib/components/schematic-text.ts
|
|
1666
|
-
var schematicTextProps =
|
|
1667
|
-
schX:
|
|
1668
|
-
schY:
|
|
1669
|
-
text:
|
|
1670
|
-
fontSize:
|
|
1671
|
-
anchor:
|
|
1672
|
-
color:
|
|
1673
|
-
schRotation:
|
|
1710
|
+
var schematicTextProps = z81.object({
|
|
1711
|
+
schX: distance24.optional(),
|
|
1712
|
+
schY: distance24.optional(),
|
|
1713
|
+
text: z81.string(),
|
|
1714
|
+
fontSize: z81.number().default(1),
|
|
1715
|
+
anchor: z81.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
|
|
1716
|
+
color: z81.string().default("#000000"),
|
|
1717
|
+
schRotation: rotation7.default(0)
|
|
1674
1718
|
});
|
|
1675
1719
|
|
|
1676
1720
|
// lib/components/schematic-path.ts
|
|
1677
|
-
import { point as
|
|
1678
|
-
import { z as
|
|
1679
|
-
var schematicPathProps =
|
|
1680
|
-
points:
|
|
1681
|
-
isFilled:
|
|
1682
|
-
fillColor:
|
|
1721
|
+
import { point as point8 } from "circuit-json";
|
|
1722
|
+
import { z as z82 } from "zod";
|
|
1723
|
+
var schematicPathProps = z82.object({
|
|
1724
|
+
points: z82.array(point8),
|
|
1725
|
+
isFilled: z82.boolean().optional().default(false),
|
|
1726
|
+
fillColor: z82.enum(["red", "blue"]).optional()
|
|
1683
1727
|
});
|
|
1684
1728
|
|
|
1685
1729
|
// lib/components/schematic-table.ts
|
|
1686
|
-
import { distance as
|
|
1687
|
-
import { z as
|
|
1688
|
-
var schematicTableProps =
|
|
1689
|
-
schX:
|
|
1690
|
-
schY:
|
|
1691
|
-
children:
|
|
1692
|
-
cellPadding:
|
|
1693
|
-
borderWidth:
|
|
1730
|
+
import { distance as distance25 } from "circuit-json";
|
|
1731
|
+
import { z as z83 } from "zod";
|
|
1732
|
+
var schematicTableProps = z83.object({
|
|
1733
|
+
schX: distance25.optional(),
|
|
1734
|
+
schY: distance25.optional(),
|
|
1735
|
+
children: z83.any().optional(),
|
|
1736
|
+
cellPadding: distance25.optional(),
|
|
1737
|
+
borderWidth: distance25.optional(),
|
|
1694
1738
|
anchor: ninePointAnchor.optional(),
|
|
1695
|
-
fontSize:
|
|
1739
|
+
fontSize: distance25.optional()
|
|
1696
1740
|
});
|
|
1697
1741
|
expectTypesMatch(true);
|
|
1698
1742
|
|
|
1699
1743
|
// lib/components/schematic-row.ts
|
|
1700
|
-
import { distance as
|
|
1701
|
-
import { z as
|
|
1702
|
-
var schematicRowProps =
|
|
1703
|
-
children:
|
|
1704
|
-
height:
|
|
1744
|
+
import { distance as distance26 } from "circuit-json";
|
|
1745
|
+
import { z as z84 } from "zod";
|
|
1746
|
+
var schematicRowProps = z84.object({
|
|
1747
|
+
children: z84.any().optional(),
|
|
1748
|
+
height: distance26.optional()
|
|
1705
1749
|
});
|
|
1706
1750
|
expectTypesMatch(true);
|
|
1707
1751
|
|
|
1708
1752
|
// lib/components/schematic-cell.ts
|
|
1709
|
-
import { distance as
|
|
1710
|
-
import { z as
|
|
1711
|
-
var schematicCellProps =
|
|
1712
|
-
children:
|
|
1713
|
-
horizontalAlign:
|
|
1714
|
-
verticalAlign:
|
|
1715
|
-
fontSize:
|
|
1716
|
-
rowSpan:
|
|
1717
|
-
colSpan:
|
|
1718
|
-
width:
|
|
1719
|
-
text:
|
|
1753
|
+
import { distance as distance27 } from "circuit-json";
|
|
1754
|
+
import { z as z85 } from "zod";
|
|
1755
|
+
var schematicCellProps = z85.object({
|
|
1756
|
+
children: z85.string().optional(),
|
|
1757
|
+
horizontalAlign: z85.enum(["left", "center", "right"]).optional(),
|
|
1758
|
+
verticalAlign: z85.enum(["top", "middle", "bottom"]).optional(),
|
|
1759
|
+
fontSize: distance27.optional(),
|
|
1760
|
+
rowSpan: z85.number().optional(),
|
|
1761
|
+
colSpan: z85.number().optional(),
|
|
1762
|
+
width: distance27.optional(),
|
|
1763
|
+
text: z85.string().optional()
|
|
1720
1764
|
});
|
|
1721
1765
|
expectTypesMatch(true);
|
|
1722
1766
|
|
|
1723
1767
|
// lib/components/silkscreen-text.ts
|
|
1724
1768
|
import { layer_ref as layer_ref8, length as length5 } from "circuit-json";
|
|
1725
|
-
import { z as
|
|
1769
|
+
import { z as z86 } from "zod";
|
|
1726
1770
|
var silkscreenTextProps = pcbLayoutProps.extend({
|
|
1727
|
-
text:
|
|
1771
|
+
text: z86.string(),
|
|
1728
1772
|
anchorAlignment: ninePointAnchor.default("center"),
|
|
1729
|
-
font:
|
|
1773
|
+
font: z86.enum(["tscircuit2024"]).optional(),
|
|
1730
1774
|
fontSize: length5.optional(),
|
|
1731
1775
|
/**
|
|
1732
1776
|
* If true, text will knock out underlying silkscreen
|
|
1733
1777
|
*/
|
|
1734
|
-
isKnockout:
|
|
1778
|
+
isKnockout: z86.boolean().optional(),
|
|
1735
1779
|
knockoutPadding: length5.optional(),
|
|
1736
1780
|
knockoutPaddingLeft: length5.optional(),
|
|
1737
1781
|
knockoutPaddingRight: length5.optional(),
|
|
1738
1782
|
knockoutPaddingTop: length5.optional(),
|
|
1739
1783
|
knockoutPaddingBottom: length5.optional(),
|
|
1740
|
-
layers:
|
|
1784
|
+
layers: z86.array(layer_ref8).optional()
|
|
1741
1785
|
});
|
|
1742
1786
|
|
|
1743
1787
|
// lib/components/silkscreen-path.ts
|
|
1744
1788
|
import { length as length6, route_hint_point as route_hint_point5 } from "circuit-json";
|
|
1745
|
-
import { z as
|
|
1789
|
+
import { z as z87 } from "zod";
|
|
1746
1790
|
var silkscreenPathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
|
|
1747
|
-
route:
|
|
1791
|
+
route: z87.array(route_hint_point5),
|
|
1748
1792
|
strokeWidth: length6.optional()
|
|
1749
1793
|
});
|
|
1750
1794
|
|
|
1751
1795
|
// lib/components/silkscreen-line.ts
|
|
1752
|
-
import { distance as
|
|
1796
|
+
import { distance as distance28 } from "circuit-json";
|
|
1753
1797
|
var silkscreenLineProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
|
|
1754
|
-
strokeWidth:
|
|
1755
|
-
x1:
|
|
1756
|
-
y1:
|
|
1757
|
-
x2:
|
|
1758
|
-
y2:
|
|
1798
|
+
strokeWidth: distance28,
|
|
1799
|
+
x1: distance28,
|
|
1800
|
+
y1: distance28,
|
|
1801
|
+
x2: distance28,
|
|
1802
|
+
y2: distance28
|
|
1759
1803
|
});
|
|
1760
1804
|
|
|
1761
1805
|
// lib/components/silkscreen-rect.ts
|
|
1762
|
-
import { distance as
|
|
1763
|
-
import { z as
|
|
1806
|
+
import { distance as distance29 } from "circuit-json";
|
|
1807
|
+
import { z as z88 } from "zod";
|
|
1764
1808
|
var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
1765
|
-
filled:
|
|
1766
|
-
stroke:
|
|
1767
|
-
strokeWidth:
|
|
1768
|
-
width:
|
|
1769
|
-
height:
|
|
1809
|
+
filled: z88.boolean().default(true).optional(),
|
|
1810
|
+
stroke: z88.enum(["dashed", "solid", "none"]).optional(),
|
|
1811
|
+
strokeWidth: distance29.optional(),
|
|
1812
|
+
width: distance29,
|
|
1813
|
+
height: distance29
|
|
1770
1814
|
});
|
|
1771
1815
|
|
|
1772
1816
|
// lib/components/silkscreen-circle.ts
|
|
1773
|
-
import { distance as
|
|
1774
|
-
import { z as
|
|
1817
|
+
import { distance as distance30 } from "circuit-json";
|
|
1818
|
+
import { z as z89 } from "zod";
|
|
1775
1819
|
var silkscreenCircleProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
1776
|
-
isFilled:
|
|
1777
|
-
isOutline:
|
|
1778
|
-
strokeWidth:
|
|
1779
|
-
radius:
|
|
1820
|
+
isFilled: z89.boolean().optional(),
|
|
1821
|
+
isOutline: z89.boolean().optional(),
|
|
1822
|
+
strokeWidth: distance30.optional(),
|
|
1823
|
+
radius: distance30
|
|
1780
1824
|
});
|
|
1781
1825
|
|
|
1782
1826
|
// lib/components/trace-hint.ts
|
|
1783
|
-
import { distance as
|
|
1784
|
-
import { z as
|
|
1785
|
-
var routeHintPointProps =
|
|
1786
|
-
x:
|
|
1787
|
-
y:
|
|
1788
|
-
via:
|
|
1827
|
+
import { distance as distance31, layer_ref as layer_ref9, route_hint_point as route_hint_point6 } from "circuit-json";
|
|
1828
|
+
import { z as z90 } from "zod";
|
|
1829
|
+
var routeHintPointProps = z90.object({
|
|
1830
|
+
x: distance31,
|
|
1831
|
+
y: distance31,
|
|
1832
|
+
via: z90.boolean().optional(),
|
|
1789
1833
|
toLayer: layer_ref9.optional()
|
|
1790
1834
|
});
|
|
1791
|
-
var traceHintProps =
|
|
1792
|
-
for:
|
|
1835
|
+
var traceHintProps = z90.object({
|
|
1836
|
+
for: z90.string().optional().describe(
|
|
1793
1837
|
"Selector for the port you're targeting, not required if you're inside a trace"
|
|
1794
1838
|
),
|
|
1795
|
-
order:
|
|
1839
|
+
order: z90.number().optional(),
|
|
1796
1840
|
offset: route_hint_point6.or(routeHintPointProps).optional(),
|
|
1797
|
-
offsets:
|
|
1798
|
-
traceWidth:
|
|
1841
|
+
offsets: z90.array(route_hint_point6).or(z90.array(routeHintPointProps)).optional(),
|
|
1842
|
+
traceWidth: z90.number().optional()
|
|
1799
1843
|
});
|
|
1800
1844
|
|
|
1801
1845
|
// lib/components/port.ts
|
|
1802
|
-
import { z as
|
|
1846
|
+
import { z as z91 } from "zod";
|
|
1803
1847
|
var portProps = commonLayoutProps.extend({
|
|
1804
|
-
name:
|
|
1805
|
-
pinNumber:
|
|
1806
|
-
aliases:
|
|
1848
|
+
name: z91.string(),
|
|
1849
|
+
pinNumber: z91.number().optional(),
|
|
1850
|
+
aliases: z91.array(z91.string()).optional(),
|
|
1807
1851
|
direction
|
|
1808
1852
|
});
|
|
1809
1853
|
|
|
1810
1854
|
// lib/platformConfig.ts
|
|
1811
|
-
import { z as
|
|
1812
|
-
var unvalidatedCircuitJson =
|
|
1813
|
-
var footprintLibraryResult =
|
|
1814
|
-
footprintCircuitJson:
|
|
1855
|
+
import { z as z92 } from "zod";
|
|
1856
|
+
var unvalidatedCircuitJson = z92.array(z92.any()).describe("Circuit JSON");
|
|
1857
|
+
var footprintLibraryResult = z92.object({
|
|
1858
|
+
footprintCircuitJson: z92.array(z92.any()),
|
|
1815
1859
|
cadModel: cadModelProp.optional()
|
|
1816
1860
|
});
|
|
1817
|
-
var pathToCircuitJsonFn =
|
|
1818
|
-
var footprintFileParserEntry =
|
|
1819
|
-
loadFromUrl:
|
|
1861
|
+
var pathToCircuitJsonFn = z92.function().args(z92.string()).returns(z92.promise(footprintLibraryResult)).describe("A function that takes a path and returns Circuit JSON");
|
|
1862
|
+
var footprintFileParserEntry = z92.object({
|
|
1863
|
+
loadFromUrl: z92.function().args(z92.string()).returns(z92.promise(footprintLibraryResult)).describe(
|
|
1820
1864
|
"A function that takes a footprint file URL and returns Circuit JSON"
|
|
1821
1865
|
)
|
|
1822
1866
|
});
|
|
1823
|
-
var platformConfig =
|
|
1867
|
+
var platformConfig = z92.object({
|
|
1824
1868
|
partsEngine: partsEngine.optional(),
|
|
1825
1869
|
autorouter: autorouterProp.optional(),
|
|
1826
|
-
registryApiUrl:
|
|
1827
|
-
cloudAutorouterUrl:
|
|
1828
|
-
projectName:
|
|
1829
|
-
projectBaseUrl:
|
|
1830
|
-
version:
|
|
1831
|
-
url:
|
|
1832
|
-
printBoardInformationToSilkscreen:
|
|
1833
|
-
localCacheEngine:
|
|
1834
|
-
pcbDisabled:
|
|
1835
|
-
schematicDisabled:
|
|
1836
|
-
partsEngineDisabled:
|
|
1837
|
-
footprintLibraryMap:
|
|
1838
|
-
|
|
1839
|
-
|
|
1870
|
+
registryApiUrl: z92.string().optional(),
|
|
1871
|
+
cloudAutorouterUrl: z92.string().optional(),
|
|
1872
|
+
projectName: z92.string().optional(),
|
|
1873
|
+
projectBaseUrl: z92.string().optional(),
|
|
1874
|
+
version: z92.string().optional(),
|
|
1875
|
+
url: z92.string().optional(),
|
|
1876
|
+
printBoardInformationToSilkscreen: z92.boolean().optional(),
|
|
1877
|
+
localCacheEngine: z92.any().optional(),
|
|
1878
|
+
pcbDisabled: z92.boolean().optional(),
|
|
1879
|
+
schematicDisabled: z92.boolean().optional(),
|
|
1880
|
+
partsEngineDisabled: z92.boolean().optional(),
|
|
1881
|
+
footprintLibraryMap: z92.record(
|
|
1882
|
+
z92.string(),
|
|
1883
|
+
z92.union([
|
|
1840
1884
|
pathToCircuitJsonFn,
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1885
|
+
z92.record(
|
|
1886
|
+
z92.string(),
|
|
1887
|
+
z92.union([unvalidatedCircuitJson, pathToCircuitJsonFn])
|
|
1844
1888
|
)
|
|
1845
1889
|
])
|
|
1846
1890
|
).optional(),
|
|
1847
|
-
footprintFileParserMap:
|
|
1891
|
+
footprintFileParserMap: z92.record(z92.string(), footprintFileParserEntry).optional()
|
|
1848
1892
|
});
|
|
1849
1893
|
expectTypesMatch(true);
|
|
1850
1894
|
|
|
@@ -1974,8 +2018,10 @@ export {
|
|
|
1974
2018
|
rotatedRectSmtPadProps,
|
|
1975
2019
|
rotationPoint3,
|
|
1976
2020
|
routeHintPointProps,
|
|
2021
|
+
schematicArcProps,
|
|
1977
2022
|
schematicBoxProps,
|
|
1978
2023
|
schematicCellProps,
|
|
2024
|
+
schematicCircleProps,
|
|
1979
2025
|
schematicLineProps,
|
|
1980
2026
|
schematicOrientation,
|
|
1981
2027
|
schematicPathProps,
|
|
@@ -1983,6 +2029,7 @@ export {
|
|
|
1983
2029
|
schematicPinLabel,
|
|
1984
2030
|
schematicPinStyle,
|
|
1985
2031
|
schematicPortArrangement,
|
|
2032
|
+
schematicRectProps,
|
|
1986
2033
|
schematicRowProps,
|
|
1987
2034
|
schematicTableProps,
|
|
1988
2035
|
schematicTextProps,
|