@tscircuit/props 0.0.309 → 0.0.310
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/dist/index.d.ts +126 -1
- package/dist/index.js +575 -569
- package/dist/index.js.map +1 -1
- package/lib/common/layout.ts +3 -0
- package/lib/common/symbolProp.ts +6 -0
- package/lib/index.ts +1 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
rotation,
|
|
31
31
|
supplier_name
|
|
32
32
|
} from "circuit-json";
|
|
33
|
-
import { z as
|
|
33
|
+
import { z as z7 } from "zod";
|
|
34
34
|
|
|
35
35
|
// lib/common/cadModel.ts
|
|
36
36
|
import { z as z4 } from "zod";
|
|
@@ -95,12 +95,16 @@ expectTypesMatch(true);
|
|
|
95
95
|
import { z as z5 } from "zod";
|
|
96
96
|
var footprintProp = z5.custom((v) => true);
|
|
97
97
|
|
|
98
|
+
// lib/common/symbolProp.ts
|
|
99
|
+
import { z as z6 } from "zod";
|
|
100
|
+
var symbolProp = z6.custom((v) => true);
|
|
101
|
+
|
|
98
102
|
// lib/common/layout.ts
|
|
99
|
-
var pcbLayoutProps =
|
|
103
|
+
var pcbLayoutProps = z7.object({
|
|
100
104
|
pcbX: distance2.optional(),
|
|
101
105
|
pcbY: distance2.optional(),
|
|
102
106
|
pcbRotation: rotation.optional(),
|
|
103
|
-
pcbPositionAnchor:
|
|
107
|
+
pcbPositionAnchor: z7.string().optional(),
|
|
104
108
|
layer: layer_ref.optional(),
|
|
105
109
|
pcbMarginTop: distance2.optional(),
|
|
106
110
|
pcbMarginRight: distance2.optional(),
|
|
@@ -108,15 +112,15 @@ var pcbLayoutProps = z6.object({
|
|
|
108
112
|
pcbMarginLeft: distance2.optional(),
|
|
109
113
|
pcbMarginX: distance2.optional(),
|
|
110
114
|
pcbMarginY: distance2.optional(),
|
|
111
|
-
pcbRelative:
|
|
112
|
-
relative:
|
|
115
|
+
pcbRelative: z7.boolean().optional(),
|
|
116
|
+
relative: z7.boolean().optional()
|
|
113
117
|
});
|
|
114
118
|
expectTypesMatch(true);
|
|
115
|
-
var commonLayoutProps =
|
|
119
|
+
var commonLayoutProps = z7.object({
|
|
116
120
|
pcbX: distance2.optional(),
|
|
117
121
|
pcbY: distance2.optional(),
|
|
118
122
|
pcbRotation: rotation.optional(),
|
|
119
|
-
pcbPositionAnchor:
|
|
123
|
+
pcbPositionAnchor: z7.string().optional(),
|
|
120
124
|
pcbMarginTop: distance2.optional(),
|
|
121
125
|
pcbMarginRight: distance2.optional(),
|
|
122
126
|
pcbMarginBottom: distance2.optional(),
|
|
@@ -134,33 +138,34 @@ var commonLayoutProps = z6.object({
|
|
|
134
138
|
schRotation: rotation.optional(),
|
|
135
139
|
layer: layer_ref.optional(),
|
|
136
140
|
footprint: footprintProp.optional(),
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
141
|
+
symbol: symbolProp.optional(),
|
|
142
|
+
relative: z7.boolean().optional(),
|
|
143
|
+
schRelative: z7.boolean().optional(),
|
|
144
|
+
pcbRelative: z7.boolean().optional()
|
|
140
145
|
});
|
|
141
146
|
expectTypesMatch(true);
|
|
142
|
-
var supplierProps =
|
|
143
|
-
supplierPartNumbers:
|
|
147
|
+
var supplierProps = z7.object({
|
|
148
|
+
supplierPartNumbers: z7.record(supplier_name, z7.array(z7.string())).optional()
|
|
144
149
|
});
|
|
145
150
|
expectTypesMatch(true);
|
|
146
|
-
var pinAttributeMap =
|
|
147
|
-
providesPower:
|
|
148
|
-
requiresPower:
|
|
149
|
-
providesGround:
|
|
150
|
-
requiresGround:
|
|
151
|
-
providesVoltage:
|
|
152
|
-
requiresVoltage:
|
|
153
|
-
doNotConnect:
|
|
151
|
+
var pinAttributeMap = z7.object({
|
|
152
|
+
providesPower: z7.boolean().optional(),
|
|
153
|
+
requiresPower: z7.boolean().optional(),
|
|
154
|
+
providesGround: z7.boolean().optional(),
|
|
155
|
+
requiresGround: z7.boolean().optional(),
|
|
156
|
+
providesVoltage: z7.union([z7.string(), z7.number()]).optional(),
|
|
157
|
+
requiresVoltage: z7.union([z7.string(), z7.number()]).optional(),
|
|
158
|
+
doNotConnect: z7.boolean().optional()
|
|
154
159
|
});
|
|
155
160
|
expectTypesMatch(true);
|
|
156
161
|
var commonComponentProps = commonLayoutProps.merge(supplierProps).extend({
|
|
157
|
-
key:
|
|
158
|
-
name:
|
|
162
|
+
key: z7.any().optional(),
|
|
163
|
+
name: z7.string(),
|
|
159
164
|
cadModel: cadModelProp.optional(),
|
|
160
|
-
children:
|
|
161
|
-
symbolName:
|
|
162
|
-
doNotPlace:
|
|
163
|
-
pinAttributes:
|
|
165
|
+
children: z7.any().optional(),
|
|
166
|
+
symbolName: z7.string().optional(),
|
|
167
|
+
doNotPlace: z7.boolean().optional(),
|
|
168
|
+
pinAttributes: z7.record(z7.string(), pinAttributeMap).optional()
|
|
164
169
|
});
|
|
165
170
|
expectTypesMatch(true);
|
|
166
171
|
var componentProps = commonComponentProps;
|
|
@@ -175,11 +180,11 @@ var lrPolarPins = [
|
|
|
175
180
|
"cathode",
|
|
176
181
|
"neg"
|
|
177
182
|
];
|
|
178
|
-
var distanceOrMultiplier = distance2.or(
|
|
183
|
+
var distanceOrMultiplier = distance2.or(z7.enum(["2x", "3x", "4x"]));
|
|
179
184
|
|
|
180
185
|
// lib/common/schematicOrientation.ts
|
|
181
|
-
import { z as
|
|
182
|
-
var schematicOrientation =
|
|
186
|
+
import { z as z8 } from "zod";
|
|
187
|
+
var schematicOrientation = z8.enum([
|
|
183
188
|
"vertical",
|
|
184
189
|
"horizontal",
|
|
185
190
|
"pos_top",
|
|
@@ -198,25 +203,25 @@ expectTypesMatch(
|
|
|
198
203
|
);
|
|
199
204
|
|
|
200
205
|
// lib/common/schematicPinDefinitions.ts
|
|
201
|
-
import { z as
|
|
202
|
-
var explicitPinSideDefinition =
|
|
203
|
-
pins:
|
|
204
|
-
direction:
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
206
|
+
import { z as z9 } from "zod";
|
|
207
|
+
var explicitPinSideDefinition = z9.object({
|
|
208
|
+
pins: z9.array(z9.union([z9.number(), z9.string()])),
|
|
209
|
+
direction: z9.union([
|
|
210
|
+
z9.literal("top-to-bottom"),
|
|
211
|
+
z9.literal("left-to-right"),
|
|
212
|
+
z9.literal("bottom-to-top"),
|
|
213
|
+
z9.literal("right-to-left")
|
|
209
214
|
])
|
|
210
215
|
});
|
|
211
|
-
var schematicPortArrangement =
|
|
212
|
-
leftSize:
|
|
213
|
-
topSize:
|
|
214
|
-
rightSize:
|
|
215
|
-
bottomSize:
|
|
216
|
-
leftPinCount:
|
|
217
|
-
rightPinCount:
|
|
218
|
-
topPinCount:
|
|
219
|
-
bottomPinCount:
|
|
216
|
+
var schematicPortArrangement = z9.object({
|
|
217
|
+
leftSize: z9.number().optional().describe("@deprecated, use leftPinCount"),
|
|
218
|
+
topSize: z9.number().optional().describe("@deprecated, use topPinCount"),
|
|
219
|
+
rightSize: z9.number().optional().describe("@deprecated, use rightPinCount"),
|
|
220
|
+
bottomSize: z9.number().optional().describe("@deprecated, use bottomPinCount"),
|
|
221
|
+
leftPinCount: z9.number().optional(),
|
|
222
|
+
rightPinCount: z9.number().optional(),
|
|
223
|
+
topPinCount: z9.number().optional(),
|
|
224
|
+
bottomPinCount: z9.number().optional(),
|
|
220
225
|
leftSide: explicitPinSideDefinition.optional(),
|
|
221
226
|
rightSide: explicitPinSideDefinition.optional(),
|
|
222
227
|
topSide: explicitPinSideDefinition.optional(),
|
|
@@ -227,9 +232,9 @@ expectTypesMatch(true);
|
|
|
227
232
|
|
|
228
233
|
// lib/common/schematicPinStyle.ts
|
|
229
234
|
import { distance as distance3 } from "circuit-json";
|
|
230
|
-
import { z as
|
|
231
|
-
var schematicPinStyle =
|
|
232
|
-
|
|
235
|
+
import { z as z10 } from "zod";
|
|
236
|
+
var schematicPinStyle = z10.record(
|
|
237
|
+
z10.object({
|
|
233
238
|
marginLeft: distance3.optional(),
|
|
234
239
|
marginRight: distance3.optional(),
|
|
235
240
|
marginTop: distance3.optional(),
|
|
@@ -243,62 +248,62 @@ var schematicPinStyle = z9.record(
|
|
|
243
248
|
expectTypesMatch(true);
|
|
244
249
|
|
|
245
250
|
// lib/common/schematicPinLabel.ts
|
|
246
|
-
import { z as
|
|
247
|
-
var schematicPinLabel =
|
|
251
|
+
import { z as z11 } from "zod";
|
|
252
|
+
var schematicPinLabel = z11.string().regex(/^[A-Za-z0-9_]+$/);
|
|
248
253
|
|
|
249
254
|
// lib/common/distance.ts
|
|
250
255
|
import "zod";
|
|
251
256
|
import { distance as distance4, length } from "circuit-json";
|
|
252
257
|
|
|
253
258
|
// lib/components/board.ts
|
|
254
|
-
import { z as
|
|
259
|
+
import { z as z26 } from "zod";
|
|
255
260
|
|
|
256
261
|
// lib/components/group.ts
|
|
257
262
|
import { length as length2, distance as distance6 } from "circuit-json";
|
|
258
263
|
|
|
259
264
|
// lib/common/point.ts
|
|
260
265
|
import { distance as distance5 } from "circuit-json";
|
|
261
|
-
import { z as
|
|
262
|
-
var point =
|
|
266
|
+
import { z as z13 } from "zod";
|
|
267
|
+
var point = z13.object({
|
|
263
268
|
x: distance5,
|
|
264
269
|
y: distance5
|
|
265
270
|
});
|
|
266
271
|
|
|
267
272
|
// lib/components/group.ts
|
|
268
|
-
import { z as
|
|
273
|
+
import { z as z25 } from "zod";
|
|
269
274
|
|
|
270
275
|
// lib/manual-edits/manual-edit-events/base_manual_edit_event.ts
|
|
271
|
-
import { z as
|
|
272
|
-
var base_manual_edit_event =
|
|
273
|
-
edit_event_id:
|
|
274
|
-
in_progress:
|
|
275
|
-
created_at:
|
|
276
|
+
import { z as z14 } from "zod";
|
|
277
|
+
var base_manual_edit_event = z14.object({
|
|
278
|
+
edit_event_id: z14.string(),
|
|
279
|
+
in_progress: z14.boolean().optional(),
|
|
280
|
+
created_at: z14.number()
|
|
276
281
|
});
|
|
277
282
|
expectTypesMatch(
|
|
278
283
|
true
|
|
279
284
|
);
|
|
280
285
|
|
|
281
286
|
// lib/manual-edits/manual-edit-events/edit_pcb_component_location_event.ts
|
|
282
|
-
import { z as
|
|
287
|
+
import { z as z15 } from "zod";
|
|
283
288
|
var edit_pcb_component_location_event = base_manual_edit_event.extend({
|
|
284
|
-
pcb_edit_event_type:
|
|
285
|
-
edit_event_type:
|
|
286
|
-
pcb_component_id:
|
|
287
|
-
original_center:
|
|
288
|
-
new_center:
|
|
289
|
+
pcb_edit_event_type: z15.literal("edit_component_location").describe("deprecated"),
|
|
290
|
+
edit_event_type: z15.literal("edit_pcb_component_location"),
|
|
291
|
+
pcb_component_id: z15.string(),
|
|
292
|
+
original_center: z15.object({ x: z15.number(), y: z15.number() }),
|
|
293
|
+
new_center: z15.object({ x: z15.number(), y: z15.number() })
|
|
289
294
|
});
|
|
290
295
|
var edit_component_location_event = edit_pcb_component_location_event;
|
|
291
296
|
expectTypesMatch(true);
|
|
292
297
|
|
|
293
298
|
// lib/manual-edits/manual-edit-events/edit_trace_hint_event.ts
|
|
294
|
-
import { z as
|
|
299
|
+
import { z as z16 } from "zod";
|
|
295
300
|
var edit_trace_hint_event = base_manual_edit_event.extend({
|
|
296
|
-
pcb_edit_event_type:
|
|
297
|
-
edit_event_type:
|
|
298
|
-
pcb_port_id:
|
|
299
|
-
pcb_trace_hint_id:
|
|
300
|
-
route:
|
|
301
|
-
|
|
301
|
+
pcb_edit_event_type: z16.literal("edit_trace_hint").describe("deprecated"),
|
|
302
|
+
edit_event_type: z16.literal("edit_pcb_trace_hint").optional(),
|
|
303
|
+
pcb_port_id: z16.string(),
|
|
304
|
+
pcb_trace_hint_id: z16.string().optional(),
|
|
305
|
+
route: z16.array(
|
|
306
|
+
z16.object({ x: z16.number(), y: z16.number(), via: z16.boolean().optional() })
|
|
302
307
|
)
|
|
303
308
|
});
|
|
304
309
|
expectTypesMatch(
|
|
@@ -306,38 +311,38 @@ expectTypesMatch(
|
|
|
306
311
|
);
|
|
307
312
|
|
|
308
313
|
// lib/manual-edits/manual-edit-events/edit_schematic_component_location_event.ts
|
|
309
|
-
import { z as
|
|
314
|
+
import { z as z17 } from "zod";
|
|
310
315
|
var edit_schematic_component_location_event = base_manual_edit_event.extend({
|
|
311
|
-
edit_event_type:
|
|
312
|
-
schematic_component_id:
|
|
313
|
-
original_center:
|
|
314
|
-
new_center:
|
|
316
|
+
edit_event_type: z17.literal("edit_schematic_component_location"),
|
|
317
|
+
schematic_component_id: z17.string(),
|
|
318
|
+
original_center: z17.object({ x: z17.number(), y: z17.number() }),
|
|
319
|
+
new_center: z17.object({ x: z17.number(), y: z17.number() })
|
|
315
320
|
});
|
|
316
321
|
expectTypesMatch(true);
|
|
317
322
|
|
|
318
323
|
// lib/manual-edits/manual-edit-events/edit_pcb_group_location_event.ts
|
|
319
|
-
import { z as
|
|
324
|
+
import { z as z18 } from "zod";
|
|
320
325
|
var edit_pcb_group_location_event = base_manual_edit_event.extend({
|
|
321
|
-
edit_event_type:
|
|
322
|
-
pcb_group_id:
|
|
323
|
-
original_center:
|
|
324
|
-
new_center:
|
|
326
|
+
edit_event_type: z18.literal("edit_pcb_group_location"),
|
|
327
|
+
pcb_group_id: z18.string(),
|
|
328
|
+
original_center: z18.object({ x: z18.number(), y: z18.number() }),
|
|
329
|
+
new_center: z18.object({ x: z18.number(), y: z18.number() })
|
|
325
330
|
});
|
|
326
331
|
expectTypesMatch(true);
|
|
327
332
|
|
|
328
333
|
// lib/manual-edits/manual-edit-events/edit_schematic_group_location_event.ts
|
|
329
|
-
import { z as
|
|
334
|
+
import { z as z19 } from "zod";
|
|
330
335
|
var edit_schematic_group_location_event = base_manual_edit_event.extend({
|
|
331
|
-
edit_event_type:
|
|
332
|
-
schematic_group_id:
|
|
333
|
-
original_center:
|
|
334
|
-
new_center:
|
|
336
|
+
edit_event_type: z19.literal("edit_schematic_group_location"),
|
|
337
|
+
schematic_group_id: z19.string(),
|
|
338
|
+
original_center: z19.object({ x: z19.number(), y: z19.number() }),
|
|
339
|
+
new_center: z19.object({ x: z19.number(), y: z19.number() })
|
|
335
340
|
});
|
|
336
341
|
expectTypesMatch(true);
|
|
337
342
|
|
|
338
343
|
// lib/manual-edits/manual_edit_event.ts
|
|
339
|
-
import { z as
|
|
340
|
-
var manual_edit_event =
|
|
344
|
+
import { z as z20 } from "zod";
|
|
345
|
+
var manual_edit_event = z20.union([
|
|
341
346
|
edit_pcb_component_location_event,
|
|
342
347
|
edit_trace_hint_event,
|
|
343
348
|
edit_schematic_component_location_event
|
|
@@ -345,33 +350,33 @@ var manual_edit_event = z19.union([
|
|
|
345
350
|
expectTypesMatch(true);
|
|
346
351
|
|
|
347
352
|
// lib/manual-edits/manual_edits_file.ts
|
|
348
|
-
import { z as
|
|
353
|
+
import { z as z24 } from "zod";
|
|
349
354
|
|
|
350
355
|
// lib/manual-edits/manual_pcb_placement.ts
|
|
351
|
-
import { z as
|
|
356
|
+
import { z as z21 } from "zod";
|
|
352
357
|
import { point as point2 } from "circuit-json";
|
|
353
|
-
var manual_pcb_placement =
|
|
354
|
-
selector:
|
|
355
|
-
relative_to:
|
|
358
|
+
var manual_pcb_placement = z21.object({
|
|
359
|
+
selector: z21.string(),
|
|
360
|
+
relative_to: z21.string().optional().default("group_center").describe("Can be a selector or 'group_center'"),
|
|
356
361
|
center: point2
|
|
357
362
|
});
|
|
358
363
|
expectTypesMatch(true);
|
|
359
364
|
|
|
360
365
|
// lib/manual-edits/manual_trace_hint.ts
|
|
361
|
-
import { z as
|
|
366
|
+
import { z as z22 } from "zod";
|
|
362
367
|
import { route_hint_point } from "circuit-json";
|
|
363
|
-
var manual_trace_hint =
|
|
364
|
-
pcb_port_selector:
|
|
365
|
-
offsets:
|
|
368
|
+
var manual_trace_hint = z22.object({
|
|
369
|
+
pcb_port_selector: z22.string(),
|
|
370
|
+
offsets: z22.array(route_hint_point)
|
|
366
371
|
});
|
|
367
372
|
expectTypesMatch(true);
|
|
368
373
|
|
|
369
374
|
// lib/manual-edits/manual_schematic_placement.ts
|
|
370
|
-
import { z as
|
|
375
|
+
import { z as z23 } from "zod";
|
|
371
376
|
import { point as point4 } from "circuit-json";
|
|
372
|
-
var manual_schematic_placement =
|
|
373
|
-
selector:
|
|
374
|
-
relative_to:
|
|
377
|
+
var manual_schematic_placement = z23.object({
|
|
378
|
+
selector: z23.string(),
|
|
379
|
+
relative_to: z23.string().optional().default("group_center").describe("Can be a selector or 'group_center'"),
|
|
375
380
|
center: point4
|
|
376
381
|
});
|
|
377
382
|
expectTypesMatch(
|
|
@@ -379,30 +384,30 @@ expectTypesMatch(
|
|
|
379
384
|
);
|
|
380
385
|
|
|
381
386
|
// lib/manual-edits/manual_edits_file.ts
|
|
382
|
-
var manual_edits_file =
|
|
383
|
-
pcb_placements:
|
|
384
|
-
manual_trace_hints:
|
|
385
|
-
schematic_placements:
|
|
387
|
+
var manual_edits_file = z24.object({
|
|
388
|
+
pcb_placements: z24.array(manual_pcb_placement).optional(),
|
|
389
|
+
manual_trace_hints: z24.array(manual_trace_hint).optional(),
|
|
390
|
+
schematic_placements: z24.array(manual_schematic_placement).optional()
|
|
386
391
|
});
|
|
387
392
|
expectTypesMatch(true);
|
|
388
393
|
|
|
389
394
|
// lib/components/group.ts
|
|
390
|
-
var layoutConfig =
|
|
391
|
-
layoutMode:
|
|
392
|
-
position:
|
|
393
|
-
grid:
|
|
394
|
-
gridCols:
|
|
395
|
-
gridRows:
|
|
396
|
-
gridTemplateRows:
|
|
397
|
-
gridTemplateColumns:
|
|
398
|
-
gridTemplate:
|
|
399
|
-
gridGap:
|
|
400
|
-
gridRowGap:
|
|
401
|
-
gridColumnGap:
|
|
402
|
-
flex:
|
|
403
|
-
flexDirection:
|
|
404
|
-
alignItems:
|
|
405
|
-
justifyContent:
|
|
395
|
+
var layoutConfig = z25.object({
|
|
396
|
+
layoutMode: z25.enum(["grid", "flex", "match-adapt", "relative", "none"]).optional(),
|
|
397
|
+
position: z25.enum(["absolute", "relative"]).optional(),
|
|
398
|
+
grid: z25.boolean().optional(),
|
|
399
|
+
gridCols: z25.number().or(z25.string()).optional(),
|
|
400
|
+
gridRows: z25.number().or(z25.string()).optional(),
|
|
401
|
+
gridTemplateRows: z25.string().optional(),
|
|
402
|
+
gridTemplateColumns: z25.string().optional(),
|
|
403
|
+
gridTemplate: z25.string().optional(),
|
|
404
|
+
gridGap: z25.number().or(z25.string()).optional(),
|
|
405
|
+
gridRowGap: z25.number().or(z25.string()).optional(),
|
|
406
|
+
gridColumnGap: z25.number().or(z25.string()).optional(),
|
|
407
|
+
flex: z25.boolean().or(z25.string()).optional(),
|
|
408
|
+
flexDirection: z25.enum(["row", "column"]).optional(),
|
|
409
|
+
alignItems: z25.enum(["start", "center", "end", "stretch"]).optional(),
|
|
410
|
+
justifyContent: z25.enum([
|
|
406
411
|
"start",
|
|
407
412
|
"center",
|
|
408
413
|
"end",
|
|
@@ -411,16 +416,16 @@ var layoutConfig = z24.object({
|
|
|
411
416
|
"space-around",
|
|
412
417
|
"space-evenly"
|
|
413
418
|
]).optional(),
|
|
414
|
-
flexRow:
|
|
415
|
-
flexColumn:
|
|
416
|
-
gap:
|
|
417
|
-
pack:
|
|
418
|
-
packOrderStrategy:
|
|
419
|
+
flexRow: z25.boolean().optional(),
|
|
420
|
+
flexColumn: z25.boolean().optional(),
|
|
421
|
+
gap: z25.number().or(z25.string()).optional(),
|
|
422
|
+
pack: z25.boolean().optional().describe("Pack the contents of this group using a packing strategy"),
|
|
423
|
+
packOrderStrategy: z25.enum([
|
|
419
424
|
"largest_to_smallest",
|
|
420
425
|
"first_to_last",
|
|
421
426
|
"highest_to_lowest_pin_count"
|
|
422
427
|
]).optional(),
|
|
423
|
-
packPlacementStrategy:
|
|
428
|
+
packPlacementStrategy: z25.enum(["shortest_connection_along_outline"]).optional(),
|
|
424
429
|
padding: length2.optional(),
|
|
425
430
|
paddingLeft: length2.optional(),
|
|
426
431
|
paddingRight: length2.optional(),
|
|
@@ -430,65 +435,65 @@ var layoutConfig = z24.object({
|
|
|
430
435
|
paddingY: length2.optional(),
|
|
431
436
|
width: length2.optional(),
|
|
432
437
|
height: length2.optional(),
|
|
433
|
-
matchAdapt:
|
|
434
|
-
matchAdaptTemplate:
|
|
438
|
+
matchAdapt: z25.boolean().optional(),
|
|
439
|
+
matchAdaptTemplate: z25.any().optional()
|
|
435
440
|
});
|
|
436
441
|
expectTypesMatch(true);
|
|
437
|
-
var border =
|
|
442
|
+
var border = z25.object({
|
|
438
443
|
strokeWidth: length2.optional(),
|
|
439
|
-
dashed:
|
|
440
|
-
solid:
|
|
441
|
-
});
|
|
442
|
-
var autorouterConfig =
|
|
443
|
-
serverUrl:
|
|
444
|
-
inputFormat:
|
|
445
|
-
serverMode:
|
|
446
|
-
serverCacheEnabled:
|
|
447
|
-
cache:
|
|
444
|
+
dashed: z25.boolean().optional(),
|
|
445
|
+
solid: z25.boolean().optional()
|
|
446
|
+
});
|
|
447
|
+
var autorouterConfig = z25.object({
|
|
448
|
+
serverUrl: z25.string().optional(),
|
|
449
|
+
inputFormat: z25.enum(["simplified", "circuit-json"]).optional(),
|
|
450
|
+
serverMode: z25.enum(["job", "solve-endpoint"]).optional(),
|
|
451
|
+
serverCacheEnabled: z25.boolean().optional(),
|
|
452
|
+
cache: z25.custom((v) => true).optional(),
|
|
448
453
|
traceClearance: length2.optional(),
|
|
449
|
-
groupMode:
|
|
450
|
-
algorithmFn:
|
|
454
|
+
groupMode: z25.enum(["sequential-trace", "subcircuit"]).optional(),
|
|
455
|
+
algorithmFn: z25.custom(
|
|
451
456
|
(v) => typeof v === "function" || v === void 0
|
|
452
457
|
).optional(),
|
|
453
|
-
preset:
|
|
458
|
+
preset: z25.enum([
|
|
454
459
|
"sequential-trace",
|
|
455
460
|
"subcircuit",
|
|
456
461
|
"auto",
|
|
457
462
|
"auto-local",
|
|
458
463
|
"auto-cloud"
|
|
459
464
|
]).optional(),
|
|
460
|
-
local:
|
|
465
|
+
local: z25.boolean().optional()
|
|
461
466
|
});
|
|
462
|
-
var autorouterProp =
|
|
467
|
+
var autorouterProp = z25.union([
|
|
463
468
|
autorouterConfig,
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
+
z25.literal("sequential-trace"),
|
|
470
|
+
z25.literal("subcircuit"),
|
|
471
|
+
z25.literal("auto"),
|
|
472
|
+
z25.literal("auto-local"),
|
|
473
|
+
z25.literal("auto-cloud")
|
|
469
474
|
]);
|
|
470
475
|
var baseGroupProps = commonLayoutProps.extend({
|
|
471
|
-
name:
|
|
472
|
-
children:
|
|
473
|
-
schTitle:
|
|
474
|
-
key:
|
|
476
|
+
name: z25.string().optional(),
|
|
477
|
+
children: z25.any().optional(),
|
|
478
|
+
schTitle: z25.string().optional(),
|
|
479
|
+
key: z25.any().optional(),
|
|
475
480
|
...layoutConfig.shape,
|
|
476
481
|
grid: layoutConfig.shape.grid.describe("@deprecated use pcbGrid"),
|
|
477
482
|
flex: layoutConfig.shape.flex.describe("@deprecated use pcbFlex"),
|
|
478
|
-
pcbGrid:
|
|
479
|
-
pcbGridCols:
|
|
480
|
-
pcbGridRows:
|
|
481
|
-
pcbGridTemplateRows:
|
|
482
|
-
pcbGridTemplateColumns:
|
|
483
|
-
pcbGridTemplate:
|
|
484
|
-
pcbGridGap:
|
|
485
|
-
pcbGridRowGap:
|
|
486
|
-
pcbGridColumnGap:
|
|
487
|
-
pcbFlex:
|
|
488
|
-
pcbFlexGap:
|
|
489
|
-
pcbFlexDirection:
|
|
490
|
-
pcbAlignItems:
|
|
491
|
-
pcbJustifyContent:
|
|
483
|
+
pcbGrid: z25.boolean().optional(),
|
|
484
|
+
pcbGridCols: z25.number().or(z25.string()).optional(),
|
|
485
|
+
pcbGridRows: z25.number().or(z25.string()).optional(),
|
|
486
|
+
pcbGridTemplateRows: z25.string().optional(),
|
|
487
|
+
pcbGridTemplateColumns: z25.string().optional(),
|
|
488
|
+
pcbGridTemplate: z25.string().optional(),
|
|
489
|
+
pcbGridGap: z25.number().or(z25.string()).optional(),
|
|
490
|
+
pcbGridRowGap: z25.number().or(z25.string()).optional(),
|
|
491
|
+
pcbGridColumnGap: z25.number().or(z25.string()).optional(),
|
|
492
|
+
pcbFlex: z25.boolean().or(z25.string()).optional(),
|
|
493
|
+
pcbFlexGap: z25.number().or(z25.string()).optional(),
|
|
494
|
+
pcbFlexDirection: z25.enum(["row", "column"]).optional(),
|
|
495
|
+
pcbAlignItems: z25.enum(["start", "center", "end", "stretch"]).optional(),
|
|
496
|
+
pcbJustifyContent: z25.enum([
|
|
492
497
|
"start",
|
|
493
498
|
"center",
|
|
494
499
|
"end",
|
|
@@ -497,24 +502,24 @@ var baseGroupProps = commonLayoutProps.extend({
|
|
|
497
502
|
"space-around",
|
|
498
503
|
"space-evenly"
|
|
499
504
|
]).optional(),
|
|
500
|
-
pcbFlexRow:
|
|
501
|
-
pcbFlexColumn:
|
|
502
|
-
pcbGap:
|
|
503
|
-
pcbPack:
|
|
504
|
-
schGrid:
|
|
505
|
-
schGridCols:
|
|
506
|
-
schGridRows:
|
|
507
|
-
schGridTemplateRows:
|
|
508
|
-
schGridTemplateColumns:
|
|
509
|
-
schGridTemplate:
|
|
510
|
-
schGridGap:
|
|
511
|
-
schGridRowGap:
|
|
512
|
-
schGridColumnGap:
|
|
513
|
-
schFlex:
|
|
514
|
-
schFlexGap:
|
|
515
|
-
schFlexDirection:
|
|
516
|
-
schAlignItems:
|
|
517
|
-
schJustifyContent:
|
|
505
|
+
pcbFlexRow: z25.boolean().optional(),
|
|
506
|
+
pcbFlexColumn: z25.boolean().optional(),
|
|
507
|
+
pcbGap: z25.number().or(z25.string()).optional(),
|
|
508
|
+
pcbPack: z25.boolean().optional(),
|
|
509
|
+
schGrid: z25.boolean().optional(),
|
|
510
|
+
schGridCols: z25.number().or(z25.string()).optional(),
|
|
511
|
+
schGridRows: z25.number().or(z25.string()).optional(),
|
|
512
|
+
schGridTemplateRows: z25.string().optional(),
|
|
513
|
+
schGridTemplateColumns: z25.string().optional(),
|
|
514
|
+
schGridTemplate: z25.string().optional(),
|
|
515
|
+
schGridGap: z25.number().or(z25.string()).optional(),
|
|
516
|
+
schGridRowGap: z25.number().or(z25.string()).optional(),
|
|
517
|
+
schGridColumnGap: z25.number().or(z25.string()).optional(),
|
|
518
|
+
schFlex: z25.boolean().or(z25.string()).optional(),
|
|
519
|
+
schFlexGap: z25.number().or(z25.string()).optional(),
|
|
520
|
+
schFlexDirection: z25.enum(["row", "column"]).optional(),
|
|
521
|
+
schAlignItems: z25.enum(["start", "center", "end", "stretch"]).optional(),
|
|
522
|
+
schJustifyContent: z25.enum([
|
|
518
523
|
"start",
|
|
519
524
|
"center",
|
|
520
525
|
"end",
|
|
@@ -523,11 +528,11 @@ var baseGroupProps = commonLayoutProps.extend({
|
|
|
523
528
|
"space-around",
|
|
524
529
|
"space-evenly"
|
|
525
530
|
]).optional(),
|
|
526
|
-
schFlexRow:
|
|
527
|
-
schFlexColumn:
|
|
528
|
-
schGap:
|
|
529
|
-
schPack:
|
|
530
|
-
schMatchAdapt:
|
|
531
|
+
schFlexRow: z25.boolean().optional(),
|
|
532
|
+
schFlexColumn: z25.boolean().optional(),
|
|
533
|
+
schGap: z25.number().or(z25.string()).optional(),
|
|
534
|
+
schPack: z25.boolean().optional(),
|
|
535
|
+
schMatchAdapt: z25.boolean().optional(),
|
|
531
536
|
pcbWidth: length2.optional(),
|
|
532
537
|
pcbHeight: length2.optional(),
|
|
533
538
|
schWidth: length2.optional(),
|
|
@@ -547,32 +552,32 @@ var baseGroupProps = commonLayoutProps.extend({
|
|
|
547
552
|
pcbPaddingTop: length2.optional(),
|
|
548
553
|
pcbPaddingBottom: length2.optional()
|
|
549
554
|
});
|
|
550
|
-
var partsEngine =
|
|
555
|
+
var partsEngine = z25.custom((v) => "findPart" in v);
|
|
551
556
|
var subcircuitGroupProps = baseGroupProps.extend({
|
|
552
557
|
manualEdits: manual_edits_file.optional(),
|
|
553
|
-
schAutoLayoutEnabled:
|
|
554
|
-
schTraceAutoLabelEnabled:
|
|
558
|
+
schAutoLayoutEnabled: z25.boolean().optional(),
|
|
559
|
+
schTraceAutoLabelEnabled: z25.boolean().optional(),
|
|
555
560
|
schMaxTraceDistance: distance6.optional(),
|
|
556
|
-
routingDisabled:
|
|
561
|
+
routingDisabled: z25.boolean().optional(),
|
|
557
562
|
defaultTraceWidth: length2.optional(),
|
|
558
563
|
minTraceWidth: length2.optional(),
|
|
559
564
|
partsEngine: partsEngine.optional(),
|
|
560
|
-
pcbRouteCache:
|
|
565
|
+
pcbRouteCache: z25.custom((v) => true).optional(),
|
|
561
566
|
autorouter: autorouterProp.optional(),
|
|
562
|
-
square:
|
|
563
|
-
emptyArea:
|
|
564
|
-
filledArea:
|
|
567
|
+
square: z25.boolean().optional(),
|
|
568
|
+
emptyArea: z25.string().optional(),
|
|
569
|
+
filledArea: z25.string().optional(),
|
|
565
570
|
width: distance6.optional(),
|
|
566
571
|
height: distance6.optional(),
|
|
567
|
-
outline:
|
|
572
|
+
outline: z25.array(point).optional(),
|
|
568
573
|
outlineOffsetX: distance6.optional(),
|
|
569
574
|
outlineOffsetY: distance6.optional()
|
|
570
575
|
});
|
|
571
576
|
var subcircuitGroupPropsWithBool = subcircuitGroupProps.extend({
|
|
572
|
-
subcircuit:
|
|
577
|
+
subcircuit: z25.literal(true)
|
|
573
578
|
});
|
|
574
|
-
var groupProps =
|
|
575
|
-
baseGroupProps.extend({ subcircuit:
|
|
579
|
+
var groupProps = z25.discriminatedUnion("subcircuit", [
|
|
580
|
+
baseGroupProps.extend({ subcircuit: z25.literal(false).optional() }),
|
|
576
581
|
subcircuitGroupPropsWithBool
|
|
577
582
|
]);
|
|
578
583
|
expectTypesMatch(true);
|
|
@@ -581,8 +586,8 @@ expectTypesMatch(true);
|
|
|
581
586
|
|
|
582
587
|
// lib/components/board.ts
|
|
583
588
|
var boardProps = subcircuitGroupProps.extend({
|
|
584
|
-
material:
|
|
585
|
-
layers:
|
|
589
|
+
material: z26.enum(["fr4", "fr1"]).default("fr4"),
|
|
590
|
+
layers: z26.union([z26.literal(2), z26.literal(4)]).default(2),
|
|
586
591
|
borderRadius: distance4.optional()
|
|
587
592
|
});
|
|
588
593
|
expectTypesMatch(true);
|
|
@@ -601,33 +606,33 @@ expectTypesMatch(true);
|
|
|
601
606
|
|
|
602
607
|
// lib/components/chip.ts
|
|
603
608
|
import { distance as distance8, supplier_name as supplier_name2 } from "circuit-json";
|
|
604
|
-
import { z as
|
|
605
|
-
var connectionTarget =
|
|
606
|
-
var connectionsProp =
|
|
607
|
-
var pinLabelsProp =
|
|
609
|
+
import { z as z28 } from "zod";
|
|
610
|
+
var connectionTarget = z28.string().or(z28.array(z28.string()).readonly()).or(z28.array(z28.string()));
|
|
611
|
+
var connectionsProp = z28.custom().pipe(z28.record(z28.string(), connectionTarget));
|
|
612
|
+
var pinLabelsProp = z28.record(
|
|
608
613
|
schematicPinLabel,
|
|
609
|
-
schematicPinLabel.or(
|
|
614
|
+
schematicPinLabel.or(z28.array(schematicPinLabel).readonly()).or(z28.array(schematicPinLabel))
|
|
610
615
|
);
|
|
611
616
|
expectTypesMatch(true);
|
|
612
|
-
var pinCompatibleVariant =
|
|
613
|
-
manufacturerPartNumber:
|
|
614
|
-
supplierPartNumber:
|
|
617
|
+
var pinCompatibleVariant = z28.object({
|
|
618
|
+
manufacturerPartNumber: z28.string().optional(),
|
|
619
|
+
supplierPartNumber: z28.record(supplier_name2, z28.array(z28.string())).optional()
|
|
615
620
|
});
|
|
616
621
|
var chipProps = commonComponentProps.extend({
|
|
617
|
-
manufacturerPartNumber:
|
|
622
|
+
manufacturerPartNumber: z28.string().optional(),
|
|
618
623
|
pinLabels: pinLabelsProp.optional(),
|
|
619
|
-
showPinAliases:
|
|
620
|
-
pcbPinLabels:
|
|
621
|
-
internallyConnectedPins:
|
|
622
|
-
externallyConnectedPins:
|
|
624
|
+
showPinAliases: z28.boolean().optional(),
|
|
625
|
+
pcbPinLabels: z28.record(z28.string(), z28.string()).optional(),
|
|
626
|
+
internallyConnectedPins: z28.array(z28.array(z28.union([z28.string(), z28.number()]))).optional(),
|
|
627
|
+
externallyConnectedPins: z28.array(z28.array(z28.string())).optional(),
|
|
623
628
|
schPinArrangement: schematicPortArrangement.optional(),
|
|
624
629
|
schPortArrangement: schematicPortArrangement.optional(),
|
|
625
|
-
pinCompatibleVariants:
|
|
630
|
+
pinCompatibleVariants: z28.array(pinCompatibleVariant).optional(),
|
|
626
631
|
schPinStyle: schematicPinStyle.optional(),
|
|
627
632
|
schPinSpacing: distance8.optional(),
|
|
628
633
|
schWidth: distance8.optional(),
|
|
629
634
|
schHeight: distance8.optional(),
|
|
630
|
-
noSchematicRepresentation:
|
|
635
|
+
noSchematicRepresentation: z28.boolean().optional(),
|
|
631
636
|
connections: connectionsProp.optional()
|
|
632
637
|
});
|
|
633
638
|
var bugProps = chipProps;
|
|
@@ -641,100 +646,100 @@ expectTypesMatch(true);
|
|
|
641
646
|
import { distance as distance9 } from "circuit-json";
|
|
642
647
|
|
|
643
648
|
// lib/common/connectionsProp.ts
|
|
644
|
-
import { z as
|
|
645
|
-
var connectionTarget2 =
|
|
649
|
+
import { z as z29 } from "zod";
|
|
650
|
+
var connectionTarget2 = z29.string().or(z29.array(z29.string()).readonly()).or(z29.array(z29.string()));
|
|
646
651
|
var createConnectionsProp = (labels) => {
|
|
647
|
-
return
|
|
652
|
+
return z29.record(z29.enum(labels), connectionTarget2);
|
|
648
653
|
};
|
|
649
654
|
|
|
650
655
|
// lib/components/jumper.ts
|
|
651
|
-
import { z as
|
|
656
|
+
import { z as z30 } from "zod";
|
|
652
657
|
var jumperProps = commonComponentProps.extend({
|
|
653
|
-
manufacturerPartNumber:
|
|
654
|
-
pinLabels:
|
|
655
|
-
|
|
656
|
-
schematicPinLabel.or(
|
|
658
|
+
manufacturerPartNumber: z30.string().optional(),
|
|
659
|
+
pinLabels: z30.record(
|
|
660
|
+
z30.number().or(schematicPinLabel),
|
|
661
|
+
schematicPinLabel.or(z30.array(schematicPinLabel))
|
|
657
662
|
).optional(),
|
|
658
663
|
schPinStyle: schematicPinStyle.optional(),
|
|
659
664
|
schPinSpacing: distance9.optional(),
|
|
660
665
|
schWidth: distance9.optional(),
|
|
661
666
|
schHeight: distance9.optional(),
|
|
662
|
-
schDirection:
|
|
667
|
+
schDirection: z30.enum(["left", "right"]).optional(),
|
|
663
668
|
schPinArrangement: schematicPinArrangement.optional(),
|
|
664
669
|
schPortArrangement: schematicPortArrangement.optional(),
|
|
665
|
-
pcbPinLabels:
|
|
666
|
-
pinCount:
|
|
667
|
-
internallyConnectedPins:
|
|
668
|
-
connections:
|
|
670
|
+
pcbPinLabels: z30.record(z30.string(), z30.string()).optional(),
|
|
671
|
+
pinCount: z30.union([z30.literal(2), z30.literal(3)]).optional(),
|
|
672
|
+
internallyConnectedPins: z30.array(z30.array(z30.union([z30.string(), z30.number()]))).optional(),
|
|
673
|
+
connections: z30.custom().pipe(z30.record(z30.string(), connectionTarget2)).optional()
|
|
669
674
|
});
|
|
670
675
|
expectTypesMatch(true);
|
|
671
676
|
|
|
672
677
|
// lib/components/solderjumper.ts
|
|
673
|
-
import { z as
|
|
678
|
+
import { z as z31 } from "zod";
|
|
674
679
|
var solderjumperProps = jumperProps.extend({
|
|
675
|
-
bridgedPins:
|
|
676
|
-
bridged:
|
|
680
|
+
bridgedPins: z31.array(z31.array(z31.string())).optional(),
|
|
681
|
+
bridged: z31.boolean().optional()
|
|
677
682
|
});
|
|
678
683
|
expectTypesMatch(true);
|
|
679
684
|
|
|
680
685
|
// lib/components/connector.ts
|
|
681
686
|
import { distance as distance10 } from "circuit-json";
|
|
682
|
-
import { z as
|
|
687
|
+
import { z as z32 } from "zod";
|
|
683
688
|
var connectorProps = commonComponentProps.extend({
|
|
684
|
-
manufacturerPartNumber:
|
|
685
|
-
pinLabels:
|
|
686
|
-
|
|
687
|
-
schematicPinLabel.or(
|
|
689
|
+
manufacturerPartNumber: z32.string().optional(),
|
|
690
|
+
pinLabels: z32.record(
|
|
691
|
+
z32.number().or(schematicPinLabel),
|
|
692
|
+
schematicPinLabel.or(z32.array(schematicPinLabel))
|
|
688
693
|
).optional(),
|
|
689
694
|
schPinStyle: schematicPinStyle.optional(),
|
|
690
695
|
schPinSpacing: distance10.optional(),
|
|
691
696
|
schWidth: distance10.optional(),
|
|
692
697
|
schHeight: distance10.optional(),
|
|
693
|
-
schDirection:
|
|
698
|
+
schDirection: z32.enum(["left", "right"]).optional(),
|
|
694
699
|
schPortArrangement: schematicPortArrangement.optional(),
|
|
695
|
-
internallyConnectedPins:
|
|
696
|
-
standard:
|
|
700
|
+
internallyConnectedPins: z32.array(z32.array(z32.union([z32.string(), z32.number()]))).optional(),
|
|
701
|
+
standard: z32.enum(["usb_c", "m2"]).optional()
|
|
697
702
|
});
|
|
698
703
|
expectTypesMatch(true);
|
|
699
704
|
|
|
700
705
|
// lib/components/fuse.ts
|
|
701
|
-
import { z as
|
|
706
|
+
import { z as z33 } from "zod";
|
|
702
707
|
var fusePinLabels = ["pin1", "pin2"];
|
|
703
708
|
var fuseProps = commonComponentProps.extend({
|
|
704
|
-
currentRating:
|
|
705
|
-
voltageRating:
|
|
706
|
-
schShowRatings:
|
|
709
|
+
currentRating: z33.union([z33.number(), z33.string()]),
|
|
710
|
+
voltageRating: z33.union([z33.number(), z33.string()]).optional(),
|
|
711
|
+
schShowRatings: z33.boolean().optional(),
|
|
707
712
|
schOrientation: schematicOrientation.optional(),
|
|
708
|
-
connections:
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
713
|
+
connections: z33.record(
|
|
714
|
+
z33.string(),
|
|
715
|
+
z33.union([
|
|
716
|
+
z33.string(),
|
|
717
|
+
z33.array(z33.string()).readonly(),
|
|
718
|
+
z33.array(z33.string())
|
|
714
719
|
])
|
|
715
720
|
).optional()
|
|
716
721
|
});
|
|
717
722
|
|
|
718
723
|
// lib/components/platedhole.ts
|
|
719
724
|
import { distance as distance11 } from "circuit-json";
|
|
720
|
-
import { z as
|
|
721
|
-
var distanceHiddenUndefined =
|
|
725
|
+
import { z as z34 } from "zod";
|
|
726
|
+
var distanceHiddenUndefined = z34.custom().transform((a) => {
|
|
722
727
|
if (a === void 0) return void 0;
|
|
723
728
|
return distance11.parse(a);
|
|
724
729
|
});
|
|
725
|
-
var platedHoleProps =
|
|
730
|
+
var platedHoleProps = z34.discriminatedUnion("shape", [
|
|
726
731
|
pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
727
|
-
name:
|
|
728
|
-
connectsTo:
|
|
729
|
-
shape:
|
|
732
|
+
name: z34.string().optional(),
|
|
733
|
+
connectsTo: z34.string().or(z34.array(z34.string())).optional(),
|
|
734
|
+
shape: z34.literal("circle"),
|
|
730
735
|
holeDiameter: distance11,
|
|
731
736
|
outerDiameter: distance11,
|
|
732
737
|
portHints: portHints.optional()
|
|
733
738
|
}),
|
|
734
739
|
pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
735
|
-
name:
|
|
736
|
-
connectsTo:
|
|
737
|
-
shape:
|
|
740
|
+
name: z34.string().optional(),
|
|
741
|
+
connectsTo: z34.string().or(z34.array(z34.string())).optional(),
|
|
742
|
+
shape: z34.literal("oval"),
|
|
738
743
|
outerWidth: distance11,
|
|
739
744
|
outerHeight: distance11,
|
|
740
745
|
holeWidth: distanceHiddenUndefined,
|
|
@@ -744,10 +749,10 @@ var platedHoleProps = z33.discriminatedUnion("shape", [
|
|
|
744
749
|
portHints: portHints.optional()
|
|
745
750
|
}),
|
|
746
751
|
pcbLayoutProps.omit({ layer: true }).extend({
|
|
747
|
-
name:
|
|
748
|
-
connectsTo:
|
|
749
|
-
shape:
|
|
750
|
-
rectPad:
|
|
752
|
+
name: z34.string().optional(),
|
|
753
|
+
connectsTo: z34.string().or(z34.array(z34.string())).optional(),
|
|
754
|
+
shape: z34.literal("pill"),
|
|
755
|
+
rectPad: z34.boolean().optional(),
|
|
751
756
|
outerWidth: distance11,
|
|
752
757
|
outerHeight: distance11,
|
|
753
758
|
holeWidth: distanceHiddenUndefined,
|
|
@@ -757,22 +762,22 @@ var platedHoleProps = z33.discriminatedUnion("shape", [
|
|
|
757
762
|
portHints: portHints.optional()
|
|
758
763
|
}),
|
|
759
764
|
pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
760
|
-
name:
|
|
761
|
-
connectsTo:
|
|
762
|
-
shape:
|
|
765
|
+
name: z34.string().optional(),
|
|
766
|
+
connectsTo: z34.string().or(z34.array(z34.string())).optional(),
|
|
767
|
+
shape: z34.literal("circular_hole_with_rect_pad"),
|
|
763
768
|
holeDiameter: distance11,
|
|
764
769
|
rectPadWidth: distance11,
|
|
765
770
|
rectPadHeight: distance11,
|
|
766
|
-
holeShape:
|
|
767
|
-
padShape:
|
|
771
|
+
holeShape: z34.literal("circle").optional(),
|
|
772
|
+
padShape: z34.literal("rect").optional(),
|
|
768
773
|
portHints: portHints.optional()
|
|
769
774
|
}),
|
|
770
775
|
pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
771
|
-
name:
|
|
772
|
-
connectsTo:
|
|
773
|
-
shape:
|
|
774
|
-
holeShape:
|
|
775
|
-
padShape:
|
|
776
|
+
name: z34.string().optional(),
|
|
777
|
+
connectsTo: z34.string().or(z34.array(z34.string())).optional(),
|
|
778
|
+
shape: z34.literal("pill_hole_with_rect_pad"),
|
|
779
|
+
holeShape: z34.literal("pill"),
|
|
780
|
+
padShape: z34.literal("rect"),
|
|
776
781
|
holeWidth: distance11,
|
|
777
782
|
holeHeight: distance11,
|
|
778
783
|
rectPadWidth: distance11,
|
|
@@ -792,14 +797,14 @@ expectTypesMatch(true);
|
|
|
792
797
|
|
|
793
798
|
// lib/components/resistor.ts
|
|
794
799
|
import { resistance } from "circuit-json";
|
|
795
|
-
import { z as
|
|
800
|
+
import { z as z35 } from "zod";
|
|
796
801
|
var resistorPinLabels = ["pin1", "pin2", "pos", "neg"];
|
|
797
802
|
var resistorProps = commonComponentProps.extend({
|
|
798
803
|
resistance,
|
|
799
|
-
pullupFor:
|
|
800
|
-
pullupTo:
|
|
801
|
-
pulldownFor:
|
|
802
|
-
pulldownTo:
|
|
804
|
+
pullupFor: z35.string().optional(),
|
|
805
|
+
pullupTo: z35.string().optional(),
|
|
806
|
+
pulldownFor: z35.string().optional(),
|
|
807
|
+
pulldownTo: z35.string().optional(),
|
|
803
808
|
schOrientation: schematicOrientation.optional(),
|
|
804
809
|
connections: createConnectionsProp(resistorPinLabels).optional()
|
|
805
810
|
});
|
|
@@ -808,23 +813,23 @@ expectTypesMatch(true);
|
|
|
808
813
|
|
|
809
814
|
// lib/components/potentiometer.ts
|
|
810
815
|
import { resistance as resistance2 } from "circuit-json";
|
|
811
|
-
import { z as
|
|
816
|
+
import { z as z36 } from "zod";
|
|
812
817
|
var potentiometerProps = commonComponentProps.extend({
|
|
813
818
|
maxResistance: resistance2,
|
|
814
|
-
pinVariant:
|
|
819
|
+
pinVariant: z36.enum(["two_pin", "three_pin"]).optional()
|
|
815
820
|
});
|
|
816
821
|
expectTypesMatch(true);
|
|
817
822
|
|
|
818
823
|
// lib/components/crystal.ts
|
|
819
824
|
import { frequency, capacitance } from "circuit-json";
|
|
820
|
-
import { z as
|
|
825
|
+
import { z as z37 } from "zod";
|
|
821
826
|
var crystalPins = lrPins;
|
|
822
827
|
var crystalProps = commonComponentProps.extend({
|
|
823
828
|
frequency,
|
|
824
829
|
loadCapacitance: capacitance,
|
|
825
|
-
manufacturerPartNumber:
|
|
826
|
-
mpn:
|
|
827
|
-
pinVariant:
|
|
830
|
+
manufacturerPartNumber: z37.string().optional(),
|
|
831
|
+
mpn: z37.string().optional(),
|
|
832
|
+
pinVariant: z37.enum(["two_pin", "four_pin"]).optional(),
|
|
828
833
|
schOrientation: schematicOrientation.optional(),
|
|
829
834
|
connections: createConnectionsProp(crystalPins).optional()
|
|
830
835
|
});
|
|
@@ -832,34 +837,34 @@ expectTypesMatch(true);
|
|
|
832
837
|
|
|
833
838
|
// lib/components/resonator.ts
|
|
834
839
|
import { frequency as frequency2, capacitance as capacitance2 } from "circuit-json";
|
|
835
|
-
import { z as
|
|
840
|
+
import { z as z38 } from "zod";
|
|
836
841
|
var resonatorProps = commonComponentProps.extend({
|
|
837
842
|
frequency: frequency2,
|
|
838
843
|
loadCapacitance: capacitance2,
|
|
839
|
-
pinVariant:
|
|
844
|
+
pinVariant: z38.enum(["no_ground", "ground_pin", "two_ground_pins"]).optional()
|
|
840
845
|
});
|
|
841
846
|
expectTypesMatch(true);
|
|
842
847
|
|
|
843
848
|
// lib/components/stampboard.ts
|
|
844
849
|
import { distance as distance12 } from "circuit-json";
|
|
845
|
-
import { z as
|
|
850
|
+
import { z as z39 } from "zod";
|
|
846
851
|
var stampboardProps = boardProps.extend({
|
|
847
|
-
leftPinCount:
|
|
848
|
-
rightPinCount:
|
|
849
|
-
topPinCount:
|
|
850
|
-
bottomPinCount:
|
|
851
|
-
leftPins:
|
|
852
|
-
rightPins:
|
|
853
|
-
topPins:
|
|
854
|
-
bottomPins:
|
|
852
|
+
leftPinCount: z39.number().optional(),
|
|
853
|
+
rightPinCount: z39.number().optional(),
|
|
854
|
+
topPinCount: z39.number().optional(),
|
|
855
|
+
bottomPinCount: z39.number().optional(),
|
|
856
|
+
leftPins: z39.array(z39.string()).optional(),
|
|
857
|
+
rightPins: z39.array(z39.string()).optional(),
|
|
858
|
+
topPins: z39.array(z39.string()).optional(),
|
|
859
|
+
bottomPins: z39.array(z39.string()).optional(),
|
|
855
860
|
pinPitch: distance12.optional(),
|
|
856
|
-
innerHoles:
|
|
861
|
+
innerHoles: z39.boolean().optional()
|
|
857
862
|
});
|
|
858
863
|
expectTypesMatch(true);
|
|
859
864
|
|
|
860
865
|
// lib/components/capacitor.ts
|
|
861
866
|
import { capacitance as capacitance3, voltage } from "circuit-json";
|
|
862
|
-
import { z as
|
|
867
|
+
import { z as z40 } from "zod";
|
|
863
868
|
var capacitorPinLabels = [
|
|
864
869
|
"pin1",
|
|
865
870
|
"pin2",
|
|
@@ -871,13 +876,13 @@ var capacitorPinLabels = [
|
|
|
871
876
|
var capacitorProps = commonComponentProps.extend({
|
|
872
877
|
capacitance: capacitance3,
|
|
873
878
|
maxVoltageRating: voltage.optional(),
|
|
874
|
-
schShowRatings:
|
|
875
|
-
polarized:
|
|
876
|
-
decouplingFor:
|
|
877
|
-
decouplingTo:
|
|
878
|
-
bypassFor:
|
|
879
|
-
bypassTo:
|
|
880
|
-
maxDecouplingTraceLength:
|
|
879
|
+
schShowRatings: z40.boolean().optional().default(false),
|
|
880
|
+
polarized: z40.boolean().optional().default(false),
|
|
881
|
+
decouplingFor: z40.string().optional(),
|
|
882
|
+
decouplingTo: z40.string().optional(),
|
|
883
|
+
bypassFor: z40.string().optional(),
|
|
884
|
+
bypassTo: z40.string().optional(),
|
|
885
|
+
maxDecouplingTraceLength: z40.number().optional(),
|
|
881
886
|
schOrientation: schematicOrientation.optional(),
|
|
882
887
|
connections: createConnectionsProp(capacitorPinLabels).optional()
|
|
883
888
|
});
|
|
@@ -885,63 +890,63 @@ var capacitorPins = lrPolarPins;
|
|
|
885
890
|
expectTypesMatch(true);
|
|
886
891
|
|
|
887
892
|
// lib/components/net.ts
|
|
888
|
-
import { z as
|
|
889
|
-
var netProps =
|
|
890
|
-
name:
|
|
891
|
-
connectsTo:
|
|
893
|
+
import { z as z41 } from "zod";
|
|
894
|
+
var netProps = z41.object({
|
|
895
|
+
name: z41.string(),
|
|
896
|
+
connectsTo: z41.string().or(z41.array(z41.string())).optional()
|
|
892
897
|
});
|
|
893
898
|
expectTypesMatch(true);
|
|
894
899
|
|
|
895
900
|
// lib/components/constrainedlayout.ts
|
|
896
|
-
import { z as
|
|
897
|
-
var constrainedLayoutProps =
|
|
898
|
-
name:
|
|
899
|
-
pcbOnly:
|
|
900
|
-
schOnly:
|
|
901
|
+
import { z as z42 } from "zod";
|
|
902
|
+
var constrainedLayoutProps = z42.object({
|
|
903
|
+
name: z42.string().optional(),
|
|
904
|
+
pcbOnly: z42.boolean().optional(),
|
|
905
|
+
schOnly: z42.boolean().optional()
|
|
901
906
|
});
|
|
902
907
|
expectTypesMatch(true);
|
|
903
908
|
|
|
904
909
|
// lib/components/constraint.ts
|
|
905
|
-
import { z as
|
|
906
|
-
var pcbXDistConstraintProps =
|
|
907
|
-
pcb:
|
|
910
|
+
import { z as z43 } from "zod";
|
|
911
|
+
var pcbXDistConstraintProps = z43.object({
|
|
912
|
+
pcb: z43.literal(true).optional(),
|
|
908
913
|
xDist: distance4,
|
|
909
|
-
left:
|
|
910
|
-
right:
|
|
911
|
-
edgeToEdge:
|
|
912
|
-
centerToCenter:
|
|
914
|
+
left: z43.string(),
|
|
915
|
+
right: z43.string(),
|
|
916
|
+
edgeToEdge: z43.literal(true).optional(),
|
|
917
|
+
centerToCenter: z43.literal(true).optional()
|
|
913
918
|
});
|
|
914
919
|
expectTypesMatch(
|
|
915
920
|
true
|
|
916
921
|
);
|
|
917
|
-
var pcbYDistConstraintProps =
|
|
918
|
-
pcb:
|
|
922
|
+
var pcbYDistConstraintProps = z43.object({
|
|
923
|
+
pcb: z43.literal(true).optional(),
|
|
919
924
|
yDist: distance4,
|
|
920
|
-
top:
|
|
921
|
-
bottom:
|
|
922
|
-
edgeToEdge:
|
|
923
|
-
centerToCenter:
|
|
925
|
+
top: z43.string(),
|
|
926
|
+
bottom: z43.string(),
|
|
927
|
+
edgeToEdge: z43.literal(true).optional(),
|
|
928
|
+
centerToCenter: z43.literal(true).optional()
|
|
924
929
|
});
|
|
925
930
|
expectTypesMatch(
|
|
926
931
|
true
|
|
927
932
|
);
|
|
928
|
-
var pcbSameYConstraintProps =
|
|
929
|
-
pcb:
|
|
930
|
-
sameY:
|
|
931
|
-
for:
|
|
933
|
+
var pcbSameYConstraintProps = z43.object({
|
|
934
|
+
pcb: z43.literal(true).optional(),
|
|
935
|
+
sameY: z43.literal(true).optional(),
|
|
936
|
+
for: z43.array(z43.string())
|
|
932
937
|
});
|
|
933
938
|
expectTypesMatch(
|
|
934
939
|
true
|
|
935
940
|
);
|
|
936
|
-
var pcbSameXConstraintProps =
|
|
937
|
-
pcb:
|
|
938
|
-
sameX:
|
|
939
|
-
for:
|
|
941
|
+
var pcbSameXConstraintProps = z43.object({
|
|
942
|
+
pcb: z43.literal(true).optional(),
|
|
943
|
+
sameX: z43.literal(true).optional(),
|
|
944
|
+
for: z43.array(z43.string())
|
|
940
945
|
});
|
|
941
946
|
expectTypesMatch(
|
|
942
947
|
true
|
|
943
948
|
);
|
|
944
|
-
var constraintProps =
|
|
949
|
+
var constraintProps = z43.union([
|
|
945
950
|
pcbXDistConstraintProps,
|
|
946
951
|
pcbYDistConstraintProps,
|
|
947
952
|
pcbSameYConstraintProps,
|
|
@@ -950,13 +955,13 @@ var constraintProps = z42.union([
|
|
|
950
955
|
expectTypesMatch(true);
|
|
951
956
|
|
|
952
957
|
// lib/components/cutout.ts
|
|
953
|
-
import { z as
|
|
958
|
+
import { z as z44 } from "zod";
|
|
954
959
|
var rectCutoutProps = pcbLayoutProps.omit({
|
|
955
960
|
layer: true,
|
|
956
961
|
pcbRotation: true
|
|
957
962
|
}).extend({
|
|
958
|
-
name:
|
|
959
|
-
shape:
|
|
963
|
+
name: z44.string().optional(),
|
|
964
|
+
shape: z44.literal("rect"),
|
|
960
965
|
width: distance4,
|
|
961
966
|
height: distance4
|
|
962
967
|
});
|
|
@@ -965,8 +970,8 @@ var circleCutoutProps = pcbLayoutProps.omit({
|
|
|
965
970
|
layer: true,
|
|
966
971
|
pcbRotation: true
|
|
967
972
|
}).extend({
|
|
968
|
-
name:
|
|
969
|
-
shape:
|
|
973
|
+
name: z44.string().optional(),
|
|
974
|
+
shape: z44.literal("circle"),
|
|
970
975
|
radius: distance4
|
|
971
976
|
});
|
|
972
977
|
expectTypesMatch(true);
|
|
@@ -974,46 +979,46 @@ var polygonCutoutProps = pcbLayoutProps.omit({
|
|
|
974
979
|
layer: true,
|
|
975
980
|
pcbRotation: true
|
|
976
981
|
}).extend({
|
|
977
|
-
name:
|
|
978
|
-
shape:
|
|
979
|
-
points:
|
|
982
|
+
name: z44.string().optional(),
|
|
983
|
+
shape: z44.literal("polygon"),
|
|
984
|
+
points: z44.array(point)
|
|
980
985
|
});
|
|
981
986
|
expectTypesMatch(true);
|
|
982
|
-
var cutoutProps =
|
|
987
|
+
var cutoutProps = z44.discriminatedUnion("shape", [
|
|
983
988
|
rectCutoutProps,
|
|
984
989
|
circleCutoutProps,
|
|
985
990
|
polygonCutoutProps
|
|
986
991
|
]);
|
|
987
992
|
|
|
988
993
|
// lib/components/smtpad.ts
|
|
989
|
-
import { z as
|
|
994
|
+
import { z as z45 } from "zod";
|
|
990
995
|
var rectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
991
|
-
name:
|
|
992
|
-
shape:
|
|
996
|
+
name: z45.string().optional(),
|
|
997
|
+
shape: z45.literal("rect"),
|
|
993
998
|
width: distance4,
|
|
994
999
|
height: distance4,
|
|
995
1000
|
portHints: portHints.optional()
|
|
996
1001
|
});
|
|
997
1002
|
expectTypesMatch(true);
|
|
998
1003
|
var rotatedRectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
999
|
-
name:
|
|
1000
|
-
shape:
|
|
1004
|
+
name: z45.string().optional(),
|
|
1005
|
+
shape: z45.literal("rotated_rect"),
|
|
1001
1006
|
width: distance4,
|
|
1002
1007
|
height: distance4,
|
|
1003
|
-
ccwRotation:
|
|
1008
|
+
ccwRotation: z45.number(),
|
|
1004
1009
|
portHints: portHints.optional()
|
|
1005
1010
|
});
|
|
1006
1011
|
expectTypesMatch(true);
|
|
1007
1012
|
var circleSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
1008
|
-
name:
|
|
1009
|
-
shape:
|
|
1013
|
+
name: z45.string().optional(),
|
|
1014
|
+
shape: z45.literal("circle"),
|
|
1010
1015
|
radius: distance4,
|
|
1011
1016
|
portHints: portHints.optional()
|
|
1012
1017
|
});
|
|
1013
1018
|
expectTypesMatch(true);
|
|
1014
1019
|
var pillSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
1015
|
-
name:
|
|
1016
|
-
shape:
|
|
1020
|
+
name: z45.string().optional(),
|
|
1021
|
+
shape: z45.literal("pill"),
|
|
1017
1022
|
width: distance4,
|
|
1018
1023
|
height: distance4,
|
|
1019
1024
|
radius: distance4,
|
|
@@ -1021,13 +1026,13 @@ var pillSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
|
1021
1026
|
});
|
|
1022
1027
|
expectTypesMatch(true);
|
|
1023
1028
|
var polygonSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
1024
|
-
name:
|
|
1025
|
-
shape:
|
|
1026
|
-
points:
|
|
1029
|
+
name: z45.string().optional(),
|
|
1030
|
+
shape: z45.literal("polygon"),
|
|
1031
|
+
points: z45.array(point),
|
|
1027
1032
|
portHints: portHints.optional()
|
|
1028
1033
|
});
|
|
1029
1034
|
expectTypesMatch(true);
|
|
1030
|
-
var smtPadProps =
|
|
1035
|
+
var smtPadProps = z45.discriminatedUnion("shape", [
|
|
1031
1036
|
circleSmtPadProps,
|
|
1032
1037
|
rectSmtPadProps,
|
|
1033
1038
|
rotatedRectSmtPadProps,
|
|
@@ -1037,28 +1042,28 @@ var smtPadProps = z44.discriminatedUnion("shape", [
|
|
|
1037
1042
|
expectTypesMatch(true);
|
|
1038
1043
|
|
|
1039
1044
|
// lib/components/solderpaste.ts
|
|
1040
|
-
import { z as
|
|
1045
|
+
import { z as z46 } from "zod";
|
|
1041
1046
|
var rectSolderPasteProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
1042
|
-
shape:
|
|
1047
|
+
shape: z46.literal("rect"),
|
|
1043
1048
|
width: distance4,
|
|
1044
1049
|
height: distance4
|
|
1045
1050
|
});
|
|
1046
1051
|
expectTypesMatch(true);
|
|
1047
1052
|
var circleSolderPasteProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
1048
|
-
shape:
|
|
1053
|
+
shape: z46.literal("circle"),
|
|
1049
1054
|
radius: distance4
|
|
1050
1055
|
});
|
|
1051
1056
|
expectTypesMatch(true);
|
|
1052
|
-
var solderPasteProps =
|
|
1057
|
+
var solderPasteProps = z46.union([
|
|
1053
1058
|
circleSolderPasteProps,
|
|
1054
1059
|
rectSolderPasteProps
|
|
1055
1060
|
]);
|
|
1056
1061
|
expectTypesMatch(true);
|
|
1057
1062
|
|
|
1058
1063
|
// lib/components/hole.ts
|
|
1059
|
-
import { z as
|
|
1064
|
+
import { z as z47 } from "zod";
|
|
1060
1065
|
var holeProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
1061
|
-
name:
|
|
1066
|
+
name: z47.string().optional(),
|
|
1062
1067
|
diameter: distance4.optional(),
|
|
1063
1068
|
radius: distance4.optional()
|
|
1064
1069
|
}).transform((d) => ({
|
|
@@ -1070,27 +1075,27 @@ expectTypesMatch(true);
|
|
|
1070
1075
|
|
|
1071
1076
|
// lib/components/trace.ts
|
|
1072
1077
|
import { distance as distance13, route_hint_point as route_hint_point2 } from "circuit-json";
|
|
1073
|
-
import { z as
|
|
1074
|
-
var portRef =
|
|
1075
|
-
|
|
1076
|
-
|
|
1078
|
+
import { z as z48 } from "zod";
|
|
1079
|
+
var portRef = z48.union([
|
|
1080
|
+
z48.string(),
|
|
1081
|
+
z48.custom(
|
|
1077
1082
|
(v) => Boolean(v.getPortSelector)
|
|
1078
1083
|
)
|
|
1079
1084
|
]);
|
|
1080
|
-
var baseTraceProps =
|
|
1081
|
-
key:
|
|
1085
|
+
var baseTraceProps = z48.object({
|
|
1086
|
+
key: z48.string().optional(),
|
|
1082
1087
|
thickness: distance13.optional(),
|
|
1083
|
-
schematicRouteHints:
|
|
1084
|
-
pcbRouteHints:
|
|
1085
|
-
pcbPathRelativeTo:
|
|
1086
|
-
pcbPath:
|
|
1087
|
-
schDisplayLabel:
|
|
1088
|
-
schStroke:
|
|
1088
|
+
schematicRouteHints: z48.array(point).optional(),
|
|
1089
|
+
pcbRouteHints: z48.array(route_hint_point2).optional(),
|
|
1090
|
+
pcbPathRelativeTo: z48.string().optional(),
|
|
1091
|
+
pcbPath: z48.array(point).optional(),
|
|
1092
|
+
schDisplayLabel: z48.string().optional(),
|
|
1093
|
+
schStroke: z48.string().optional(),
|
|
1089
1094
|
maxLength: distance13.optional()
|
|
1090
1095
|
});
|
|
1091
|
-
var traceProps =
|
|
1096
|
+
var traceProps = z48.union([
|
|
1092
1097
|
baseTraceProps.extend({
|
|
1093
|
-
path:
|
|
1098
|
+
path: z48.array(portRef)
|
|
1094
1099
|
}),
|
|
1095
1100
|
baseTraceProps.extend({
|
|
1096
1101
|
from: portRef,
|
|
@@ -1100,23 +1105,23 @@ var traceProps = z47.union([
|
|
|
1100
1105
|
|
|
1101
1106
|
// lib/components/footprint.ts
|
|
1102
1107
|
import { layer_ref as layer_ref4 } from "circuit-json";
|
|
1103
|
-
import { z as
|
|
1104
|
-
var footprintProps =
|
|
1108
|
+
import { z as z49 } from "zod";
|
|
1109
|
+
var footprintProps = z49.object({
|
|
1105
1110
|
originalLayer: layer_ref4.default("top").optional()
|
|
1106
1111
|
});
|
|
1107
1112
|
expectTypesMatch(true);
|
|
1108
1113
|
|
|
1109
1114
|
// lib/components/symbol.ts
|
|
1110
|
-
import { z as
|
|
1111
|
-
var symbolProps =
|
|
1112
|
-
originalFacingDirection:
|
|
1115
|
+
import { z as z50 } from "zod";
|
|
1116
|
+
var symbolProps = z50.object({
|
|
1117
|
+
originalFacingDirection: z50.enum(["up", "down", "left", "right"]).default("right").optional()
|
|
1113
1118
|
});
|
|
1114
1119
|
expectTypesMatch(true);
|
|
1115
1120
|
|
|
1116
1121
|
// lib/components/battery.ts
|
|
1117
1122
|
import { voltage as voltage2 } from "circuit-json";
|
|
1118
|
-
import { z as
|
|
1119
|
-
var capacity =
|
|
1123
|
+
import { z as z51 } from "zod";
|
|
1124
|
+
var capacity = z51.number().or(z51.string().endsWith("mAh")).transform((v) => {
|
|
1120
1125
|
if (typeof v === "string") {
|
|
1121
1126
|
const valString = v.replace("mAh", "");
|
|
1122
1127
|
const num = Number.parseFloat(valString);
|
|
@@ -1130,7 +1135,7 @@ var capacity = z50.number().or(z50.string().endsWith("mAh")).transform((v) => {
|
|
|
1130
1135
|
var batteryProps = commonComponentProps.extend({
|
|
1131
1136
|
capacity: capacity.optional(),
|
|
1132
1137
|
voltage: voltage2.optional(),
|
|
1133
|
-
standard:
|
|
1138
|
+
standard: z51.enum(["AA", "AAA", "9V", "CR2032", "18650", "C"]).optional(),
|
|
1134
1139
|
schOrientation: schematicOrientation.optional()
|
|
1135
1140
|
});
|
|
1136
1141
|
var batteryPins = lrPolarPins;
|
|
@@ -1140,29 +1145,29 @@ expectTypesMatch(true);
|
|
|
1140
1145
|
import { distance as distance14 } from "circuit-json";
|
|
1141
1146
|
|
|
1142
1147
|
// lib/common/pcbOrientation.ts
|
|
1143
|
-
import { z as
|
|
1144
|
-
var pcbOrientation =
|
|
1148
|
+
import { z as z52 } from "zod";
|
|
1149
|
+
var pcbOrientation = z52.enum(["vertical", "horizontal"]).describe(
|
|
1145
1150
|
"vertical means pins go 1->2 downward and horizontal means pins go 1->2 rightward"
|
|
1146
1151
|
);
|
|
1147
1152
|
expectTypesMatch(true);
|
|
1148
1153
|
|
|
1149
1154
|
// lib/components/pin-header.ts
|
|
1150
|
-
import { z as
|
|
1155
|
+
import { z as z53 } from "zod";
|
|
1151
1156
|
var pinHeaderProps = commonComponentProps.extend({
|
|
1152
|
-
pinCount:
|
|
1157
|
+
pinCount: z53.number(),
|
|
1153
1158
|
pitch: distance14.optional(),
|
|
1154
|
-
schFacingDirection:
|
|
1155
|
-
gender:
|
|
1156
|
-
showSilkscreenPinLabels:
|
|
1157
|
-
pcbPinLabels:
|
|
1158
|
-
doubleRow:
|
|
1159
|
-
rightAngle:
|
|
1159
|
+
schFacingDirection: z53.enum(["up", "down", "left", "right"]).optional(),
|
|
1160
|
+
gender: z53.enum(["male", "female", "unpopulated"]).optional().default("male"),
|
|
1161
|
+
showSilkscreenPinLabels: z53.boolean().optional(),
|
|
1162
|
+
pcbPinLabels: z53.record(z53.string(), z53.string()).optional(),
|
|
1163
|
+
doubleRow: z53.boolean().optional(),
|
|
1164
|
+
rightAngle: z53.boolean().optional(),
|
|
1160
1165
|
pcbOrientation: pcbOrientation.optional(),
|
|
1161
1166
|
holeDiameter: distance14.optional(),
|
|
1162
1167
|
platedDiameter: distance14.optional(),
|
|
1163
|
-
pinLabels:
|
|
1164
|
-
connections:
|
|
1165
|
-
facingDirection:
|
|
1168
|
+
pinLabels: z53.record(z53.string(), schematicPinLabel).or(z53.array(schematicPinLabel)).optional(),
|
|
1169
|
+
connections: z53.custom().pipe(z53.record(z53.string(), connectionTarget2)).optional(),
|
|
1170
|
+
facingDirection: z53.enum(["left", "right"]).optional(),
|
|
1166
1171
|
schPinArrangement: schematicPinArrangement.optional(),
|
|
1167
1172
|
schPinStyle: schematicPinStyle.optional(),
|
|
1168
1173
|
schPinSpacing: distance14.optional(),
|
|
@@ -1172,29 +1177,29 @@ var pinHeaderProps = commonComponentProps.extend({
|
|
|
1172
1177
|
expectTypesMatch(true);
|
|
1173
1178
|
|
|
1174
1179
|
// lib/components/netalias.ts
|
|
1175
|
-
import { z as
|
|
1180
|
+
import { z as z54 } from "zod";
|
|
1176
1181
|
import { rotation as rotation2 } from "circuit-json";
|
|
1177
|
-
var netAliasProps =
|
|
1178
|
-
net:
|
|
1179
|
-
connection:
|
|
1182
|
+
var netAliasProps = z54.object({
|
|
1183
|
+
net: z54.string().optional(),
|
|
1184
|
+
connection: z54.string().optional(),
|
|
1180
1185
|
schX: distance4.optional(),
|
|
1181
1186
|
schY: distance4.optional(),
|
|
1182
1187
|
schRotation: rotation2.optional(),
|
|
1183
|
-
anchorSide:
|
|
1188
|
+
anchorSide: z54.enum(["left", "top", "right", "bottom"]).optional()
|
|
1184
1189
|
});
|
|
1185
1190
|
expectTypesMatch(true);
|
|
1186
1191
|
|
|
1187
1192
|
// lib/components/netlabel.ts
|
|
1188
|
-
import { z as
|
|
1193
|
+
import { z as z55 } from "zod";
|
|
1189
1194
|
import { rotation as rotation3 } from "circuit-json";
|
|
1190
|
-
var netLabelProps =
|
|
1191
|
-
net:
|
|
1192
|
-
connection:
|
|
1193
|
-
connectsTo:
|
|
1195
|
+
var netLabelProps = z55.object({
|
|
1196
|
+
net: z55.string().optional(),
|
|
1197
|
+
connection: z55.string().optional(),
|
|
1198
|
+
connectsTo: z55.string().or(z55.array(z55.string())).optional(),
|
|
1194
1199
|
schX: distance4.optional(),
|
|
1195
1200
|
schY: distance4.optional(),
|
|
1196
1201
|
schRotation: rotation3.optional(),
|
|
1197
|
-
anchorSide:
|
|
1202
|
+
anchorSide: z55.enum(["left", "top", "right", "bottom"]).optional()
|
|
1198
1203
|
});
|
|
1199
1204
|
expectTypesMatch(true);
|
|
1200
1205
|
|
|
@@ -1208,7 +1213,7 @@ var subcircuitProps = subcircuitGroupProps;
|
|
|
1208
1213
|
expectTypesMatch(true);
|
|
1209
1214
|
|
|
1210
1215
|
// lib/components/transistor.ts
|
|
1211
|
-
import { z as
|
|
1216
|
+
import { z as z57 } from "zod";
|
|
1212
1217
|
var transistorPinsLabels = [
|
|
1213
1218
|
"pin1",
|
|
1214
1219
|
"pin2",
|
|
@@ -1221,7 +1226,7 @@ var transistorPinsLabels = [
|
|
|
1221
1226
|
"drain"
|
|
1222
1227
|
];
|
|
1223
1228
|
var transistorProps = commonComponentProps.extend({
|
|
1224
|
-
type:
|
|
1229
|
+
type: z57.enum(["npn", "pnp", "bjt", "jfet", "mosfet", "igbt"]),
|
|
1225
1230
|
connections: createConnectionsProp(transistorPinsLabels).optional()
|
|
1226
1231
|
});
|
|
1227
1232
|
var transistorPins = [
|
|
@@ -1235,10 +1240,10 @@ var transistorPins = [
|
|
|
1235
1240
|
expectTypesMatch(true);
|
|
1236
1241
|
|
|
1237
1242
|
// lib/components/mosfet.ts
|
|
1238
|
-
import { z as
|
|
1243
|
+
import { z as z58 } from "zod";
|
|
1239
1244
|
var mosfetProps = commonComponentProps.extend({
|
|
1240
|
-
channelType:
|
|
1241
|
-
mosfetMode:
|
|
1245
|
+
channelType: z58.enum(["n", "p"]),
|
|
1246
|
+
mosfetMode: z58.enum(["enhancement", "depletion"])
|
|
1242
1247
|
});
|
|
1243
1248
|
var mosfetPins = [
|
|
1244
1249
|
"pin1",
|
|
@@ -1252,19 +1257,19 @@ expectTypesMatch(true);
|
|
|
1252
1257
|
|
|
1253
1258
|
// lib/components/inductor.ts
|
|
1254
1259
|
import { inductance } from "circuit-json";
|
|
1255
|
-
import { z as
|
|
1260
|
+
import { z as z59 } from "zod";
|
|
1256
1261
|
var inductorPins = lrPins;
|
|
1257
1262
|
var inductorProps = commonComponentProps.extend({
|
|
1258
1263
|
inductance,
|
|
1259
|
-
maxCurrentRating:
|
|
1264
|
+
maxCurrentRating: z59.union([z59.string(), z59.number()]).optional(),
|
|
1260
1265
|
schOrientation: schematicOrientation.optional(),
|
|
1261
1266
|
connections: createConnectionsProp(inductorPins).optional()
|
|
1262
1267
|
});
|
|
1263
1268
|
expectTypesMatch(true);
|
|
1264
1269
|
|
|
1265
1270
|
// lib/components/diode.ts
|
|
1266
|
-
import { z as
|
|
1267
|
-
var diodeConnectionKeys =
|
|
1271
|
+
import { z as z60 } from "zod";
|
|
1272
|
+
var diodeConnectionKeys = z60.enum([
|
|
1268
1273
|
"anode",
|
|
1269
1274
|
"cathode",
|
|
1270
1275
|
"pin1",
|
|
@@ -1272,9 +1277,9 @@ var diodeConnectionKeys = z59.enum([
|
|
|
1272
1277
|
"pos",
|
|
1273
1278
|
"neg"
|
|
1274
1279
|
]);
|
|
1275
|
-
var connectionTarget3 =
|
|
1276
|
-
var connectionsProp2 =
|
|
1277
|
-
var diodeVariant =
|
|
1280
|
+
var connectionTarget3 = z60.string().or(z60.array(z60.string()).readonly()).or(z60.array(z60.string()));
|
|
1281
|
+
var connectionsProp2 = z60.record(diodeConnectionKeys, connectionTarget3);
|
|
1282
|
+
var diodeVariant = z60.enum([
|
|
1278
1283
|
"standard",
|
|
1279
1284
|
"schottky",
|
|
1280
1285
|
"zener",
|
|
@@ -1285,12 +1290,12 @@ var diodeVariant = z59.enum([
|
|
|
1285
1290
|
var diodeProps = commonComponentProps.extend({
|
|
1286
1291
|
connections: connectionsProp2.optional(),
|
|
1287
1292
|
variant: diodeVariant.optional().default("standard"),
|
|
1288
|
-
standard:
|
|
1289
|
-
schottky:
|
|
1290
|
-
zener:
|
|
1291
|
-
avalanche:
|
|
1292
|
-
photo:
|
|
1293
|
-
tvs:
|
|
1293
|
+
standard: z60.boolean().optional(),
|
|
1294
|
+
schottky: z60.boolean().optional(),
|
|
1295
|
+
zener: z60.boolean().optional(),
|
|
1296
|
+
avalanche: z60.boolean().optional(),
|
|
1297
|
+
photo: z60.boolean().optional(),
|
|
1298
|
+
tvs: z60.boolean().optional(),
|
|
1294
1299
|
schOrientation: schematicOrientation.optional()
|
|
1295
1300
|
}).superRefine((data, ctx) => {
|
|
1296
1301
|
const enabledFlags = [
|
|
@@ -1303,11 +1308,11 @@ var diodeProps = commonComponentProps.extend({
|
|
|
1303
1308
|
].filter(Boolean).length;
|
|
1304
1309
|
if (enabledFlags > 1) {
|
|
1305
1310
|
ctx.addIssue({
|
|
1306
|
-
code:
|
|
1311
|
+
code: z60.ZodIssueCode.custom,
|
|
1307
1312
|
message: "Exactly one diode variant must be enabled",
|
|
1308
1313
|
path: []
|
|
1309
1314
|
});
|
|
1310
|
-
return
|
|
1315
|
+
return z60.INVALID;
|
|
1311
1316
|
}
|
|
1312
1317
|
}).transform((data) => {
|
|
1313
1318
|
const result = {
|
|
@@ -1354,26 +1359,26 @@ var diodePins = lrPolarPins;
|
|
|
1354
1359
|
expectTypesMatch(true);
|
|
1355
1360
|
|
|
1356
1361
|
// lib/components/led.ts
|
|
1357
|
-
import { z as
|
|
1362
|
+
import { z as z61 } from "zod";
|
|
1358
1363
|
var ledProps = commonComponentProps.extend({
|
|
1359
|
-
color:
|
|
1360
|
-
wavelength:
|
|
1361
|
-
schDisplayValue:
|
|
1364
|
+
color: z61.string().optional(),
|
|
1365
|
+
wavelength: z61.string().optional(),
|
|
1366
|
+
schDisplayValue: z61.string().optional(),
|
|
1362
1367
|
schOrientation: schematicOrientation.optional(),
|
|
1363
1368
|
connections: createConnectionsProp(lrPolarPins).optional(),
|
|
1364
|
-
laser:
|
|
1369
|
+
laser: z61.boolean().optional()
|
|
1365
1370
|
});
|
|
1366
1371
|
var ledPins = lrPolarPins;
|
|
1367
1372
|
|
|
1368
1373
|
// lib/components/switch.ts
|
|
1369
|
-
import { z as
|
|
1374
|
+
import { z as z62 } from "zod";
|
|
1370
1375
|
var switchProps = commonComponentProps.extend({
|
|
1371
|
-
type:
|
|
1372
|
-
isNormallyClosed:
|
|
1373
|
-
spst:
|
|
1374
|
-
spdt:
|
|
1375
|
-
dpst:
|
|
1376
|
-
dpdt:
|
|
1376
|
+
type: z62.enum(["spst", "spdt", "dpst", "dpdt"]).optional(),
|
|
1377
|
+
isNormallyClosed: z62.boolean().optional().default(false),
|
|
1378
|
+
spst: z62.boolean().optional(),
|
|
1379
|
+
spdt: z62.boolean().optional(),
|
|
1380
|
+
dpst: z62.boolean().optional(),
|
|
1381
|
+
dpdt: z62.boolean().optional()
|
|
1377
1382
|
}).transform((props) => {
|
|
1378
1383
|
const updatedProps = { ...props };
|
|
1379
1384
|
if (updatedProps.dpdt) {
|
|
@@ -1405,52 +1410,52 @@ expectTypesMatch(true);
|
|
|
1405
1410
|
|
|
1406
1411
|
// lib/components/fabrication-note-text.ts
|
|
1407
1412
|
import { length as length3 } from "circuit-json";
|
|
1408
|
-
import { z as
|
|
1413
|
+
import { z as z63 } from "zod";
|
|
1409
1414
|
var fabricationNoteTextProps = pcbLayoutProps.extend({
|
|
1410
|
-
text:
|
|
1411
|
-
anchorAlignment:
|
|
1412
|
-
font:
|
|
1415
|
+
text: z63.string(),
|
|
1416
|
+
anchorAlignment: z63.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
1417
|
+
font: z63.enum(["tscircuit2024"]).optional(),
|
|
1413
1418
|
fontSize: length3.optional(),
|
|
1414
|
-
color:
|
|
1419
|
+
color: z63.string().optional()
|
|
1415
1420
|
});
|
|
1416
1421
|
|
|
1417
1422
|
// lib/components/fabrication-note-path.ts
|
|
1418
1423
|
import { length as length4, route_hint_point as route_hint_point3 } from "circuit-json";
|
|
1419
|
-
import { z as
|
|
1424
|
+
import { z as z64 } from "zod";
|
|
1420
1425
|
var fabricationNotePathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
|
|
1421
|
-
route:
|
|
1426
|
+
route: z64.array(route_hint_point3),
|
|
1422
1427
|
strokeWidth: length4.optional(),
|
|
1423
|
-
color:
|
|
1428
|
+
color: z64.string().optional()
|
|
1424
1429
|
});
|
|
1425
1430
|
|
|
1426
1431
|
// lib/components/pcb-trace.ts
|
|
1427
1432
|
import { distance as distance15, route_hint_point as route_hint_point4 } from "circuit-json";
|
|
1428
|
-
import { z as
|
|
1429
|
-
var pcbTraceProps =
|
|
1430
|
-
layer:
|
|
1433
|
+
import { z as z65 } from "zod";
|
|
1434
|
+
var pcbTraceProps = z65.object({
|
|
1435
|
+
layer: z65.string().optional(),
|
|
1431
1436
|
thickness: distance15.optional(),
|
|
1432
|
-
route:
|
|
1437
|
+
route: z65.array(route_hint_point4)
|
|
1433
1438
|
});
|
|
1434
1439
|
|
|
1435
1440
|
// lib/components/via.ts
|
|
1436
1441
|
import { distance as distance16, layer_ref as layer_ref5 } from "circuit-json";
|
|
1437
|
-
import { z as
|
|
1442
|
+
import { z as z66 } from "zod";
|
|
1438
1443
|
var viaProps = commonLayoutProps.extend({
|
|
1439
|
-
name:
|
|
1444
|
+
name: z66.string().optional(),
|
|
1440
1445
|
fromLayer: layer_ref5,
|
|
1441
1446
|
toLayer: layer_ref5,
|
|
1442
1447
|
holeDiameter: distance16,
|
|
1443
1448
|
outerDiameter: distance16,
|
|
1444
|
-
connectsTo:
|
|
1449
|
+
connectsTo: z66.string().or(z66.array(z66.string())).optional()
|
|
1445
1450
|
});
|
|
1446
1451
|
expectTypesMatch(true);
|
|
1447
1452
|
|
|
1448
1453
|
// lib/components/testpoint.ts
|
|
1449
1454
|
import { distance as distance17 } from "circuit-json";
|
|
1450
|
-
import { z as
|
|
1455
|
+
import { z as z67 } from "zod";
|
|
1451
1456
|
var testpointProps = commonComponentProps.extend({
|
|
1452
|
-
footprintVariant:
|
|
1453
|
-
padShape:
|
|
1457
|
+
footprintVariant: z67.enum(["pad", "through_hole"]).optional(),
|
|
1458
|
+
padShape: z67.enum(["rect", "circle"]).optional().default("circle"),
|
|
1454
1459
|
padDiameter: distance17.optional(),
|
|
1455
1460
|
holeDiameter: distance17.optional(),
|
|
1456
1461
|
width: distance17.optional(),
|
|
@@ -1462,44 +1467,44 @@ var testpointProps = commonComponentProps.extend({
|
|
|
1462
1467
|
expectTypesMatch(true);
|
|
1463
1468
|
|
|
1464
1469
|
// lib/components/breakoutpoint.ts
|
|
1465
|
-
import { z as
|
|
1470
|
+
import { z as z68 } from "zod";
|
|
1466
1471
|
var breakoutPointProps = pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
1467
|
-
connection:
|
|
1472
|
+
connection: z68.string()
|
|
1468
1473
|
});
|
|
1469
1474
|
expectTypesMatch(true);
|
|
1470
1475
|
|
|
1471
1476
|
// lib/components/pcb-keepout.ts
|
|
1472
1477
|
import { distance as distance18 } from "circuit-json";
|
|
1473
|
-
import { z as
|
|
1474
|
-
var pcbKeepoutProps =
|
|
1478
|
+
import { z as z69 } from "zod";
|
|
1479
|
+
var pcbKeepoutProps = z69.union([
|
|
1475
1480
|
pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
1476
|
-
shape:
|
|
1481
|
+
shape: z69.literal("circle"),
|
|
1477
1482
|
radius: distance18
|
|
1478
1483
|
}),
|
|
1479
1484
|
pcbLayoutProps.extend({
|
|
1480
|
-
shape:
|
|
1485
|
+
shape: z69.literal("rect"),
|
|
1481
1486
|
width: distance18,
|
|
1482
1487
|
height: distance18
|
|
1483
1488
|
})
|
|
1484
1489
|
]);
|
|
1485
1490
|
|
|
1486
1491
|
// lib/components/copper-pour.ts
|
|
1487
|
-
import { z as
|
|
1492
|
+
import { z as z70 } from "zod";
|
|
1488
1493
|
var rectCopperPourProps = pcbLayoutProps.omit({
|
|
1489
1494
|
pcbRotation: true
|
|
1490
1495
|
}).extend({
|
|
1491
|
-
shape:
|
|
1496
|
+
shape: z70.literal("rect"),
|
|
1492
1497
|
width: distance4,
|
|
1493
1498
|
height: distance4,
|
|
1494
|
-
connectsTo:
|
|
1499
|
+
connectsTo: z70.string().or(z70.array(z70.string())).optional()
|
|
1495
1500
|
});
|
|
1496
1501
|
expectTypesMatch(true);
|
|
1497
1502
|
var circleCopperPourProps = pcbLayoutProps.omit({
|
|
1498
1503
|
pcbRotation: true
|
|
1499
1504
|
}).extend({
|
|
1500
|
-
shape:
|
|
1505
|
+
shape: z70.literal("circle"),
|
|
1501
1506
|
radius: distance4,
|
|
1502
|
-
connectsTo:
|
|
1507
|
+
connectsTo: z70.string().or(z70.array(z70.string())).optional()
|
|
1503
1508
|
});
|
|
1504
1509
|
expectTypesMatch(
|
|
1505
1510
|
true
|
|
@@ -1507,12 +1512,12 @@ expectTypesMatch(
|
|
|
1507
1512
|
var polygonCopperPourProps = pcbLayoutProps.omit({
|
|
1508
1513
|
pcbRotation: true
|
|
1509
1514
|
}).extend({
|
|
1510
|
-
shape:
|
|
1511
|
-
points:
|
|
1512
|
-
connectsTo:
|
|
1515
|
+
shape: z70.literal("polygon"),
|
|
1516
|
+
points: z70.array(point),
|
|
1517
|
+
connectsTo: z70.string().or(z70.array(z70.string())).optional()
|
|
1513
1518
|
});
|
|
1514
1519
|
expectTypesMatch(true);
|
|
1515
|
-
var copperPourProps =
|
|
1520
|
+
var copperPourProps = z70.discriminatedUnion("shape", [
|
|
1516
1521
|
rectCopperPourProps,
|
|
1517
1522
|
circleCopperPourProps,
|
|
1518
1523
|
polygonCopperPourProps
|
|
@@ -1526,9 +1531,9 @@ var powerSourceProps = commonComponentProps.extend({
|
|
|
1526
1531
|
|
|
1527
1532
|
// lib/components/voltagesource.ts
|
|
1528
1533
|
import { frequency as frequency3, rotation as rotation4, voltage as voltage4 } from "circuit-json";
|
|
1529
|
-
import { z as
|
|
1534
|
+
import { z as z71 } from "zod";
|
|
1530
1535
|
var voltageSourcePinLabels = ["pin1", "pin2", "pos", "neg"];
|
|
1531
|
-
var percentage =
|
|
1536
|
+
var percentage = z71.union([z71.string(), z71.number()]).transform((val) => {
|
|
1532
1537
|
if (typeof val === "string") {
|
|
1533
1538
|
if (val.endsWith("%")) {
|
|
1534
1539
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -1537,13 +1542,13 @@ var percentage = z70.union([z70.string(), z70.number()]).transform((val) => {
|
|
|
1537
1542
|
}
|
|
1538
1543
|
return val;
|
|
1539
1544
|
}).pipe(
|
|
1540
|
-
|
|
1545
|
+
z71.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
1541
1546
|
);
|
|
1542
1547
|
var voltageSourceProps = commonComponentProps.extend({
|
|
1543
1548
|
voltage: voltage4.optional(),
|
|
1544
1549
|
frequency: frequency3.optional(),
|
|
1545
1550
|
peakToPeakVoltage: voltage4.optional(),
|
|
1546
|
-
waveShape:
|
|
1551
|
+
waveShape: z71.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
|
|
1547
1552
|
phase: rotation4.optional(),
|
|
1548
1553
|
dutyCycle: percentage.optional(),
|
|
1549
1554
|
connections: createConnectionsProp(voltageSourcePinLabels).optional()
|
|
@@ -1553,11 +1558,11 @@ expectTypesMatch(true);
|
|
|
1553
1558
|
|
|
1554
1559
|
// lib/components/schematic-box.ts
|
|
1555
1560
|
import { distance as distance19 } from "circuit-json";
|
|
1556
|
-
import { z as
|
|
1561
|
+
import { z as z73 } from "zod";
|
|
1557
1562
|
|
|
1558
1563
|
// lib/common/ninePointAnchor.ts
|
|
1559
|
-
import { z as
|
|
1560
|
-
var ninePointAnchor =
|
|
1564
|
+
import { z as z72 } from "zod";
|
|
1565
|
+
var ninePointAnchor = z72.enum([
|
|
1561
1566
|
"top_left",
|
|
1562
1567
|
"top_center",
|
|
1563
1568
|
"top_right",
|
|
@@ -1570,23 +1575,23 @@ var ninePointAnchor = z71.enum([
|
|
|
1570
1575
|
]);
|
|
1571
1576
|
|
|
1572
1577
|
// lib/components/schematic-box.ts
|
|
1573
|
-
var schematicBoxProps =
|
|
1578
|
+
var schematicBoxProps = z73.object({
|
|
1574
1579
|
schX: distance19.optional(),
|
|
1575
1580
|
schY: distance19.optional(),
|
|
1576
1581
|
width: distance19.optional(),
|
|
1577
1582
|
height: distance19.optional(),
|
|
1578
|
-
overlay:
|
|
1583
|
+
overlay: z73.array(z73.string()).optional(),
|
|
1579
1584
|
padding: distance19.optional(),
|
|
1580
1585
|
paddingLeft: distance19.optional(),
|
|
1581
1586
|
paddingRight: distance19.optional(),
|
|
1582
1587
|
paddingTop: distance19.optional(),
|
|
1583
1588
|
paddingBottom: distance19.optional(),
|
|
1584
|
-
title:
|
|
1589
|
+
title: z73.string().optional(),
|
|
1585
1590
|
titleAlignment: ninePointAnchor.default("top_left"),
|
|
1586
|
-
titleColor:
|
|
1591
|
+
titleColor: z73.string().optional(),
|
|
1587
1592
|
titleFontSize: distance19.optional(),
|
|
1588
|
-
titleInside:
|
|
1589
|
-
strokeStyle:
|
|
1593
|
+
titleInside: z73.boolean().default(false),
|
|
1594
|
+
strokeStyle: z73.enum(["solid", "dashed"]).default("solid")
|
|
1590
1595
|
}).refine(
|
|
1591
1596
|
(elm) => elm.width !== void 0 && elm.height !== void 0 || Array.isArray(elm.overlay) && elm.overlay.length > 0,
|
|
1592
1597
|
{
|
|
@@ -1601,8 +1606,8 @@ var schematicBoxProps = z72.object({
|
|
|
1601
1606
|
|
|
1602
1607
|
// lib/components/schematic-line.ts
|
|
1603
1608
|
import { distance as distance20 } from "circuit-json";
|
|
1604
|
-
import { z as
|
|
1605
|
-
var schematicLineProps =
|
|
1609
|
+
import { z as z74 } from "zod";
|
|
1610
|
+
var schematicLineProps = z74.object({
|
|
1606
1611
|
x1: distance20,
|
|
1607
1612
|
y1: distance20,
|
|
1608
1613
|
x2: distance20,
|
|
@@ -1611,11 +1616,11 @@ var schematicLineProps = z73.object({
|
|
|
1611
1616
|
|
|
1612
1617
|
// lib/components/schematic-text.ts
|
|
1613
1618
|
import { distance as distance21, rotation as rotation5 } from "circuit-json";
|
|
1614
|
-
import { z as
|
|
1619
|
+
import { z as z76 } from "zod";
|
|
1615
1620
|
|
|
1616
1621
|
// lib/common/fivePointAnchor.ts
|
|
1617
|
-
import { z as
|
|
1618
|
-
var fivePointAnchor =
|
|
1622
|
+
import { z as z75 } from "zod";
|
|
1623
|
+
var fivePointAnchor = z75.enum([
|
|
1619
1624
|
"center",
|
|
1620
1625
|
"left",
|
|
1621
1626
|
"right",
|
|
@@ -1624,32 +1629,32 @@ var fivePointAnchor = z74.enum([
|
|
|
1624
1629
|
]);
|
|
1625
1630
|
|
|
1626
1631
|
// lib/components/schematic-text.ts
|
|
1627
|
-
var schematicTextProps =
|
|
1632
|
+
var schematicTextProps = z76.object({
|
|
1628
1633
|
schX: distance21.optional(),
|
|
1629
1634
|
schY: distance21.optional(),
|
|
1630
|
-
text:
|
|
1631
|
-
fontSize:
|
|
1632
|
-
anchor:
|
|
1633
|
-
color:
|
|
1635
|
+
text: z76.string(),
|
|
1636
|
+
fontSize: z76.number().default(1),
|
|
1637
|
+
anchor: z76.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
|
|
1638
|
+
color: z76.string().default("#000000"),
|
|
1634
1639
|
schRotation: rotation5.default(0)
|
|
1635
1640
|
});
|
|
1636
1641
|
|
|
1637
1642
|
// lib/components/schematic-path.ts
|
|
1638
1643
|
import { point as point5 } from "circuit-json";
|
|
1639
|
-
import { z as
|
|
1640
|
-
var schematicPathProps =
|
|
1641
|
-
points:
|
|
1642
|
-
isFilled:
|
|
1643
|
-
fillColor:
|
|
1644
|
+
import { z as z77 } from "zod";
|
|
1645
|
+
var schematicPathProps = z77.object({
|
|
1646
|
+
points: z77.array(point5),
|
|
1647
|
+
isFilled: z77.boolean().optional().default(false),
|
|
1648
|
+
fillColor: z77.enum(["red", "blue"]).optional()
|
|
1644
1649
|
});
|
|
1645
1650
|
|
|
1646
1651
|
// lib/components/schematic-table.ts
|
|
1647
1652
|
import { distance as distance22 } from "circuit-json";
|
|
1648
|
-
import { z as
|
|
1649
|
-
var schematicTableProps =
|
|
1653
|
+
import { z as z78 } from "zod";
|
|
1654
|
+
var schematicTableProps = z78.object({
|
|
1650
1655
|
schX: distance22.optional(),
|
|
1651
1656
|
schY: distance22.optional(),
|
|
1652
|
-
children:
|
|
1657
|
+
children: z78.any().optional(),
|
|
1653
1658
|
cellPadding: distance22.optional(),
|
|
1654
1659
|
borderWidth: distance22.optional(),
|
|
1655
1660
|
anchor: ninePointAnchor.optional(),
|
|
@@ -1659,44 +1664,44 @@ expectTypesMatch(true);
|
|
|
1659
1664
|
|
|
1660
1665
|
// lib/components/schematic-row.ts
|
|
1661
1666
|
import { distance as distance23 } from "circuit-json";
|
|
1662
|
-
import { z as
|
|
1663
|
-
var schematicRowProps =
|
|
1664
|
-
children:
|
|
1667
|
+
import { z as z79 } from "zod";
|
|
1668
|
+
var schematicRowProps = z79.object({
|
|
1669
|
+
children: z79.any().optional(),
|
|
1665
1670
|
height: distance23.optional()
|
|
1666
1671
|
});
|
|
1667
1672
|
expectTypesMatch(true);
|
|
1668
1673
|
|
|
1669
1674
|
// lib/components/schematic-cell.ts
|
|
1670
1675
|
import { distance as distance24 } from "circuit-json";
|
|
1671
|
-
import { z as
|
|
1672
|
-
var schematicCellProps =
|
|
1673
|
-
children:
|
|
1674
|
-
horizontalAlign:
|
|
1675
|
-
verticalAlign:
|
|
1676
|
+
import { z as z80 } from "zod";
|
|
1677
|
+
var schematicCellProps = z80.object({
|
|
1678
|
+
children: z80.string().optional(),
|
|
1679
|
+
horizontalAlign: z80.enum(["left", "center", "right"]).optional(),
|
|
1680
|
+
verticalAlign: z80.enum(["top", "middle", "bottom"]).optional(),
|
|
1676
1681
|
fontSize: distance24.optional(),
|
|
1677
|
-
rowSpan:
|
|
1678
|
-
colSpan:
|
|
1682
|
+
rowSpan: z80.number().optional(),
|
|
1683
|
+
colSpan: z80.number().optional(),
|
|
1679
1684
|
width: distance24.optional(),
|
|
1680
|
-
text:
|
|
1685
|
+
text: z80.string().optional()
|
|
1681
1686
|
});
|
|
1682
1687
|
expectTypesMatch(true);
|
|
1683
1688
|
|
|
1684
1689
|
// lib/components/silkscreen-text.ts
|
|
1685
1690
|
import { layer_ref as layer_ref6, length as length5 } from "circuit-json";
|
|
1686
|
-
import { z as
|
|
1691
|
+
import { z as z81 } from "zod";
|
|
1687
1692
|
var silkscreenTextProps = pcbLayoutProps.extend({
|
|
1688
|
-
text:
|
|
1693
|
+
text: z81.string(),
|
|
1689
1694
|
anchorAlignment: ninePointAnchor.default("center"),
|
|
1690
|
-
font:
|
|
1695
|
+
font: z81.enum(["tscircuit2024"]).optional(),
|
|
1691
1696
|
fontSize: length5.optional(),
|
|
1692
|
-
layers:
|
|
1697
|
+
layers: z81.array(layer_ref6).optional()
|
|
1693
1698
|
});
|
|
1694
1699
|
|
|
1695
1700
|
// lib/components/silkscreen-path.ts
|
|
1696
1701
|
import { length as length6, route_hint_point as route_hint_point5 } from "circuit-json";
|
|
1697
|
-
import { z as
|
|
1702
|
+
import { z as z82 } from "zod";
|
|
1698
1703
|
var silkscreenPathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
|
|
1699
|
-
route:
|
|
1704
|
+
route: z82.array(route_hint_point5),
|
|
1700
1705
|
strokeWidth: length6.optional()
|
|
1701
1706
|
});
|
|
1702
1707
|
|
|
@@ -1712,10 +1717,10 @@ var silkscreenLineProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotat
|
|
|
1712
1717
|
|
|
1713
1718
|
// lib/components/silkscreen-rect.ts
|
|
1714
1719
|
import { distance as distance26 } from "circuit-json";
|
|
1715
|
-
import { z as
|
|
1720
|
+
import { z as z83 } from "zod";
|
|
1716
1721
|
var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
1717
|
-
filled:
|
|
1718
|
-
stroke:
|
|
1722
|
+
filled: z83.boolean().default(true).optional(),
|
|
1723
|
+
stroke: z83.enum(["dashed", "solid", "none"]).optional(),
|
|
1719
1724
|
strokeWidth: distance26.optional(),
|
|
1720
1725
|
width: distance26,
|
|
1721
1726
|
height: distance26
|
|
@@ -1723,73 +1728,73 @@ var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
|
1723
1728
|
|
|
1724
1729
|
// lib/components/silkscreen-circle.ts
|
|
1725
1730
|
import { distance as distance27 } from "circuit-json";
|
|
1726
|
-
import { z as
|
|
1731
|
+
import { z as z84 } from "zod";
|
|
1727
1732
|
var silkscreenCircleProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
1728
|
-
isFilled:
|
|
1729
|
-
isOutline:
|
|
1733
|
+
isFilled: z84.boolean().optional(),
|
|
1734
|
+
isOutline: z84.boolean().optional(),
|
|
1730
1735
|
strokeWidth: distance27.optional(),
|
|
1731
1736
|
radius: distance27
|
|
1732
1737
|
});
|
|
1733
1738
|
|
|
1734
1739
|
// lib/components/trace-hint.ts
|
|
1735
1740
|
import { distance as distance28, layer_ref as layer_ref7, route_hint_point as route_hint_point6 } from "circuit-json";
|
|
1736
|
-
import { z as
|
|
1737
|
-
var routeHintPointProps =
|
|
1741
|
+
import { z as z85 } from "zod";
|
|
1742
|
+
var routeHintPointProps = z85.object({
|
|
1738
1743
|
x: distance28,
|
|
1739
1744
|
y: distance28,
|
|
1740
|
-
via:
|
|
1745
|
+
via: z85.boolean().optional(),
|
|
1741
1746
|
toLayer: layer_ref7.optional()
|
|
1742
1747
|
});
|
|
1743
|
-
var traceHintProps =
|
|
1744
|
-
for:
|
|
1748
|
+
var traceHintProps = z85.object({
|
|
1749
|
+
for: z85.string().optional().describe(
|
|
1745
1750
|
"Selector for the port you're targeting, not required if you're inside a trace"
|
|
1746
1751
|
),
|
|
1747
|
-
order:
|
|
1752
|
+
order: z85.number().optional(),
|
|
1748
1753
|
offset: route_hint_point6.or(routeHintPointProps).optional(),
|
|
1749
|
-
offsets:
|
|
1750
|
-
traceWidth:
|
|
1754
|
+
offsets: z85.array(route_hint_point6).or(z85.array(routeHintPointProps)).optional(),
|
|
1755
|
+
traceWidth: z85.number().optional()
|
|
1751
1756
|
});
|
|
1752
1757
|
|
|
1753
1758
|
// lib/components/port.ts
|
|
1754
|
-
import { z as
|
|
1759
|
+
import { z as z86 } from "zod";
|
|
1755
1760
|
var portProps = commonLayoutProps.extend({
|
|
1756
|
-
name:
|
|
1757
|
-
pinNumber:
|
|
1758
|
-
aliases:
|
|
1761
|
+
name: z86.string(),
|
|
1762
|
+
pinNumber: z86.number().optional(),
|
|
1763
|
+
aliases: z86.array(z86.string()).optional(),
|
|
1759
1764
|
direction
|
|
1760
1765
|
});
|
|
1761
1766
|
|
|
1762
1767
|
// lib/platformConfig.ts
|
|
1763
|
-
import { z as
|
|
1764
|
-
var unvalidatedCircuitJson =
|
|
1765
|
-
var pathToCircuitJsonFn =
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
footprintCircuitJson:
|
|
1768
|
+
import { z as z87 } from "zod";
|
|
1769
|
+
var unvalidatedCircuitJson = z87.array(z87.any()).describe("Circuit JSON");
|
|
1770
|
+
var pathToCircuitJsonFn = z87.function().args(z87.string()).returns(
|
|
1771
|
+
z87.promise(
|
|
1772
|
+
z87.object({
|
|
1773
|
+
footprintCircuitJson: z87.array(z87.any()),
|
|
1769
1774
|
cadModel: cadModelProp.optional()
|
|
1770
1775
|
})
|
|
1771
1776
|
)
|
|
1772
1777
|
).describe("A function that takes a path and returns Circuit JSON");
|
|
1773
|
-
var platformConfig =
|
|
1778
|
+
var platformConfig = z87.object({
|
|
1774
1779
|
partsEngine: partsEngine.optional(),
|
|
1775
1780
|
autorouter: autorouterProp.optional(),
|
|
1776
|
-
registryApiUrl:
|
|
1777
|
-
cloudAutorouterUrl:
|
|
1778
|
-
projectName:
|
|
1779
|
-
version:
|
|
1780
|
-
url:
|
|
1781
|
-
printBoardInformationToSilkscreen:
|
|
1782
|
-
localCacheEngine:
|
|
1783
|
-
pcbDisabled:
|
|
1784
|
-
schematicDisabled:
|
|
1785
|
-
partsEngineDisabled:
|
|
1786
|
-
footprintLibraryMap:
|
|
1787
|
-
|
|
1788
|
-
|
|
1781
|
+
registryApiUrl: z87.string().optional(),
|
|
1782
|
+
cloudAutorouterUrl: z87.string().optional(),
|
|
1783
|
+
projectName: z87.string().optional(),
|
|
1784
|
+
version: z87.string().optional(),
|
|
1785
|
+
url: z87.string().optional(),
|
|
1786
|
+
printBoardInformationToSilkscreen: z87.boolean().optional(),
|
|
1787
|
+
localCacheEngine: z87.any().optional(),
|
|
1788
|
+
pcbDisabled: z87.boolean().optional(),
|
|
1789
|
+
schematicDisabled: z87.boolean().optional(),
|
|
1790
|
+
partsEngineDisabled: z87.boolean().optional(),
|
|
1791
|
+
footprintLibraryMap: z87.record(
|
|
1792
|
+
z87.string(),
|
|
1793
|
+
z87.union([
|
|
1789
1794
|
pathToCircuitJsonFn,
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1795
|
+
z87.record(
|
|
1796
|
+
z87.string(),
|
|
1797
|
+
z87.union([unvalidatedCircuitJson, pathToCircuitJsonFn])
|
|
1793
1798
|
)
|
|
1794
1799
|
])
|
|
1795
1800
|
).optional()
|
|
@@ -1936,6 +1941,7 @@ export {
|
|
|
1936
1941
|
subcircuitProps,
|
|
1937
1942
|
supplierProps,
|
|
1938
1943
|
switchProps,
|
|
1944
|
+
symbolProp,
|
|
1939
1945
|
symbolProps,
|
|
1940
1946
|
testpointProps,
|
|
1941
1947
|
traceHintProps,
|