@tscircuit/props 0.0.237 → 0.0.239
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 +4 -0
- package/dist/index.d.ts +49 -1
- package/dist/index.js +455 -425
- package/dist/index.js.map +1 -1
- package/lib/common/schematicOrientation.ts +35 -0
- package/lib/components/battery.ts +6 -0
- package/lib/components/capacitor.ts +6 -0
- package/lib/components/crystal.ts +6 -0
- package/lib/components/diode.ts +6 -0
- package/lib/components/fuse.ts +7 -0
- package/lib/components/inductor.ts +6 -0
- package/lib/components/jumper.ts +10 -0
- package/lib/components/led.ts +5 -0
- package/lib/components/resistor.ts +7 -0
- package/lib/index.ts +1 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -125,26 +125,46 @@ var lrPolarPins = [
|
|
|
125
125
|
];
|
|
126
126
|
var distanceOrMultiplier = distance2.or(z6.enum(["2x", "3x", "4x"]));
|
|
127
127
|
|
|
128
|
-
// lib/common/
|
|
128
|
+
// lib/common/schematicOrientation.ts
|
|
129
129
|
import { z as z7 } from "zod";
|
|
130
|
-
var
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
130
|
+
var schematicOrientation = z7.enum([
|
|
131
|
+
"vertical",
|
|
132
|
+
"horizontal",
|
|
133
|
+
"pos_top",
|
|
134
|
+
"pos_bottom",
|
|
135
|
+
"pos_left",
|
|
136
|
+
"pos_right",
|
|
137
|
+
"neg_top",
|
|
138
|
+
"neg_bottom",
|
|
139
|
+
"neg_left",
|
|
140
|
+
"neg_right"
|
|
141
|
+
]).describe(
|
|
142
|
+
"horizontal means pins go 1->2 rightward and vertical means pins go 1->2 downward (generally, positive on top)"
|
|
143
|
+
);
|
|
144
|
+
expectTypesMatch(
|
|
145
|
+
true
|
|
146
|
+
);
|
|
147
|
+
|
|
148
|
+
// lib/common/schematicPinDefinitions.ts
|
|
149
|
+
import { z as z8 } from "zod";
|
|
150
|
+
var explicitPinSideDefinition = z8.object({
|
|
151
|
+
pins: z8.array(z8.union([z8.number(), z8.string()])),
|
|
152
|
+
direction: z8.union([
|
|
153
|
+
z8.literal("top-to-bottom"),
|
|
154
|
+
z8.literal("left-to-right"),
|
|
155
|
+
z8.literal("bottom-to-top"),
|
|
156
|
+
z8.literal("right-to-left")
|
|
137
157
|
])
|
|
138
158
|
});
|
|
139
|
-
var schematicPortArrangement =
|
|
140
|
-
leftSize:
|
|
141
|
-
topSize:
|
|
142
|
-
rightSize:
|
|
143
|
-
bottomSize:
|
|
144
|
-
leftPinCount:
|
|
145
|
-
rightPinCount:
|
|
146
|
-
topPinCount:
|
|
147
|
-
bottomPinCount:
|
|
159
|
+
var schematicPortArrangement = z8.object({
|
|
160
|
+
leftSize: z8.number().optional().describe("@deprecated, use leftPinCount"),
|
|
161
|
+
topSize: z8.number().optional().describe("@deprecated, use topPinCount"),
|
|
162
|
+
rightSize: z8.number().optional().describe("@deprecated, use rightPinCount"),
|
|
163
|
+
bottomSize: z8.number().optional().describe("@deprecated, use bottomPinCount"),
|
|
164
|
+
leftPinCount: z8.number().optional(),
|
|
165
|
+
rightPinCount: z8.number().optional(),
|
|
166
|
+
topPinCount: z8.number().optional(),
|
|
167
|
+
bottomPinCount: z8.number().optional(),
|
|
148
168
|
leftSide: explicitPinSideDefinition.optional(),
|
|
149
169
|
rightSide: explicitPinSideDefinition.optional(),
|
|
150
170
|
topSide: explicitPinSideDefinition.optional(),
|
|
@@ -155,9 +175,9 @@ expectTypesMatch(true);
|
|
|
155
175
|
|
|
156
176
|
// lib/common/schematicPinStyle.ts
|
|
157
177
|
import { distance as distance3 } from "circuit-json";
|
|
158
|
-
import { z as
|
|
159
|
-
var schematicPinStyle =
|
|
160
|
-
|
|
178
|
+
import { z as z9 } from "zod";
|
|
179
|
+
var schematicPinStyle = z9.record(
|
|
180
|
+
z9.object({
|
|
161
181
|
marginLeft: distance3.optional(),
|
|
162
182
|
marginRight: distance3.optional(),
|
|
163
183
|
marginTop: distance3.optional(),
|
|
@@ -175,51 +195,51 @@ import { distance as distance5 } from "circuit-json";
|
|
|
175
195
|
|
|
176
196
|
// lib/common/point.ts
|
|
177
197
|
import { distance as distance4 } from "circuit-json";
|
|
178
|
-
import { z as
|
|
179
|
-
var point =
|
|
198
|
+
import { z as z10 } from "zod";
|
|
199
|
+
var point = z10.object({
|
|
180
200
|
x: distance4,
|
|
181
201
|
y: distance4
|
|
182
202
|
});
|
|
183
203
|
|
|
184
204
|
// lib/components/board.ts
|
|
185
|
-
import { z as
|
|
205
|
+
import { z as z23 } from "zod";
|
|
186
206
|
|
|
187
207
|
// lib/components/group.ts
|
|
188
208
|
import { length } from "circuit-json";
|
|
189
|
-
import { z as
|
|
209
|
+
import { z as z22 } from "zod";
|
|
190
210
|
|
|
191
211
|
// lib/manual-edits/manual-edit-events/base_manual_edit_event.ts
|
|
192
|
-
import { z as
|
|
193
|
-
var base_manual_edit_event =
|
|
194
|
-
edit_event_id:
|
|
195
|
-
in_progress:
|
|
196
|
-
created_at:
|
|
212
|
+
import { z as z11 } from "zod";
|
|
213
|
+
var base_manual_edit_event = z11.object({
|
|
214
|
+
edit_event_id: z11.string(),
|
|
215
|
+
in_progress: z11.boolean().optional(),
|
|
216
|
+
created_at: z11.number()
|
|
197
217
|
});
|
|
198
218
|
expectTypesMatch(
|
|
199
219
|
true
|
|
200
220
|
);
|
|
201
221
|
|
|
202
222
|
// lib/manual-edits/manual-edit-events/edit_pcb_component_location_event.ts
|
|
203
|
-
import { z as
|
|
223
|
+
import { z as z12 } from "zod";
|
|
204
224
|
var edit_pcb_component_location_event = base_manual_edit_event.extend({
|
|
205
|
-
pcb_edit_event_type:
|
|
206
|
-
edit_event_type:
|
|
207
|
-
pcb_component_id:
|
|
208
|
-
original_center:
|
|
209
|
-
new_center:
|
|
225
|
+
pcb_edit_event_type: z12.literal("edit_component_location").describe("deprecated"),
|
|
226
|
+
edit_event_type: z12.literal("edit_pcb_component_location"),
|
|
227
|
+
pcb_component_id: z12.string(),
|
|
228
|
+
original_center: z12.object({ x: z12.number(), y: z12.number() }),
|
|
229
|
+
new_center: z12.object({ x: z12.number(), y: z12.number() })
|
|
210
230
|
});
|
|
211
231
|
var edit_component_location_event = edit_pcb_component_location_event;
|
|
212
232
|
expectTypesMatch(true);
|
|
213
233
|
|
|
214
234
|
// lib/manual-edits/manual-edit-events/edit_trace_hint_event.ts
|
|
215
|
-
import { z as
|
|
235
|
+
import { z as z13 } from "zod";
|
|
216
236
|
var edit_trace_hint_event = base_manual_edit_event.extend({
|
|
217
|
-
pcb_edit_event_type:
|
|
218
|
-
edit_event_type:
|
|
219
|
-
pcb_port_id:
|
|
220
|
-
pcb_trace_hint_id:
|
|
221
|
-
route:
|
|
222
|
-
|
|
237
|
+
pcb_edit_event_type: z13.literal("edit_trace_hint").describe("deprecated"),
|
|
238
|
+
edit_event_type: z13.literal("edit_pcb_trace_hint").optional(),
|
|
239
|
+
pcb_port_id: z13.string(),
|
|
240
|
+
pcb_trace_hint_id: z13.string().optional(),
|
|
241
|
+
route: z13.array(
|
|
242
|
+
z13.object({ x: z13.number(), y: z13.number(), via: z13.boolean().optional() })
|
|
223
243
|
)
|
|
224
244
|
});
|
|
225
245
|
expectTypesMatch(
|
|
@@ -227,38 +247,38 @@ expectTypesMatch(
|
|
|
227
247
|
);
|
|
228
248
|
|
|
229
249
|
// lib/manual-edits/manual-edit-events/edit_schematic_component_location_event.ts
|
|
230
|
-
import { z as
|
|
250
|
+
import { z as z14 } from "zod";
|
|
231
251
|
var edit_schematic_component_location_event = base_manual_edit_event.extend({
|
|
232
|
-
edit_event_type:
|
|
233
|
-
schematic_component_id:
|
|
234
|
-
original_center:
|
|
235
|
-
new_center:
|
|
252
|
+
edit_event_type: z14.literal("edit_schematic_component_location"),
|
|
253
|
+
schematic_component_id: z14.string(),
|
|
254
|
+
original_center: z14.object({ x: z14.number(), y: z14.number() }),
|
|
255
|
+
new_center: z14.object({ x: z14.number(), y: z14.number() })
|
|
236
256
|
});
|
|
237
257
|
expectTypesMatch(true);
|
|
238
258
|
|
|
239
259
|
// lib/manual-edits/manual-edit-events/edit_pcb_group_location_event.ts
|
|
240
|
-
import { z as
|
|
260
|
+
import { z as z15 } from "zod";
|
|
241
261
|
var edit_pcb_group_location_event = base_manual_edit_event.extend({
|
|
242
|
-
edit_event_type:
|
|
243
|
-
pcb_group_id:
|
|
244
|
-
original_center:
|
|
245
|
-
new_center:
|
|
262
|
+
edit_event_type: z15.literal("edit_pcb_group_location"),
|
|
263
|
+
pcb_group_id: z15.string(),
|
|
264
|
+
original_center: z15.object({ x: z15.number(), y: z15.number() }),
|
|
265
|
+
new_center: z15.object({ x: z15.number(), y: z15.number() })
|
|
246
266
|
});
|
|
247
267
|
expectTypesMatch(true);
|
|
248
268
|
|
|
249
269
|
// lib/manual-edits/manual-edit-events/edit_schematic_group_location_event.ts
|
|
250
|
-
import { z as
|
|
270
|
+
import { z as z16 } from "zod";
|
|
251
271
|
var edit_schematic_group_location_event = base_manual_edit_event.extend({
|
|
252
|
-
edit_event_type:
|
|
253
|
-
schematic_group_id:
|
|
254
|
-
original_center:
|
|
255
|
-
new_center:
|
|
272
|
+
edit_event_type: z16.literal("edit_schematic_group_location"),
|
|
273
|
+
schematic_group_id: z16.string(),
|
|
274
|
+
original_center: z16.object({ x: z16.number(), y: z16.number() }),
|
|
275
|
+
new_center: z16.object({ x: z16.number(), y: z16.number() })
|
|
256
276
|
});
|
|
257
277
|
expectTypesMatch(true);
|
|
258
278
|
|
|
259
279
|
// lib/manual-edits/manual_edit_event.ts
|
|
260
|
-
import { z as
|
|
261
|
-
var manual_edit_event =
|
|
280
|
+
import { z as z17 } from "zod";
|
|
281
|
+
var manual_edit_event = z17.union([
|
|
262
282
|
edit_pcb_component_location_event,
|
|
263
283
|
edit_trace_hint_event,
|
|
264
284
|
edit_schematic_component_location_event
|
|
@@ -266,33 +286,33 @@ var manual_edit_event = z16.union([
|
|
|
266
286
|
expectTypesMatch(true);
|
|
267
287
|
|
|
268
288
|
// lib/manual-edits/manual_edits_file.ts
|
|
269
|
-
import { z as
|
|
289
|
+
import { z as z21 } from "zod";
|
|
270
290
|
|
|
271
291
|
// lib/manual-edits/manual_pcb_placement.ts
|
|
272
|
-
import { z as
|
|
292
|
+
import { z as z18 } from "zod";
|
|
273
293
|
import { point as point2 } from "circuit-json";
|
|
274
|
-
var manual_pcb_placement =
|
|
275
|
-
selector:
|
|
276
|
-
relative_to:
|
|
294
|
+
var manual_pcb_placement = z18.object({
|
|
295
|
+
selector: z18.string(),
|
|
296
|
+
relative_to: z18.string().optional().default("group_center").describe("Can be a selector or 'group_center'"),
|
|
277
297
|
center: point2
|
|
278
298
|
});
|
|
279
299
|
expectTypesMatch(true);
|
|
280
300
|
|
|
281
301
|
// lib/manual-edits/manual_trace_hint.ts
|
|
282
|
-
import { z as
|
|
302
|
+
import { z as z19 } from "zod";
|
|
283
303
|
import { route_hint_point } from "circuit-json";
|
|
284
|
-
var manual_trace_hint =
|
|
285
|
-
pcb_port_selector:
|
|
286
|
-
offsets:
|
|
304
|
+
var manual_trace_hint = z19.object({
|
|
305
|
+
pcb_port_selector: z19.string(),
|
|
306
|
+
offsets: z19.array(route_hint_point)
|
|
287
307
|
});
|
|
288
308
|
expectTypesMatch(true);
|
|
289
309
|
|
|
290
310
|
// lib/manual-edits/manual_schematic_placement.ts
|
|
291
|
-
import { z as
|
|
311
|
+
import { z as z20 } from "zod";
|
|
292
312
|
import { point as point4 } from "circuit-json";
|
|
293
|
-
var manual_schematic_placement =
|
|
294
|
-
selector:
|
|
295
|
-
relative_to:
|
|
313
|
+
var manual_schematic_placement = z20.object({
|
|
314
|
+
selector: z20.string(),
|
|
315
|
+
relative_to: z20.string().optional().default("group_center").describe("Can be a selector or 'group_center'"),
|
|
296
316
|
center: point4
|
|
297
317
|
});
|
|
298
318
|
expectTypesMatch(
|
|
@@ -300,31 +320,31 @@ expectTypesMatch(
|
|
|
300
320
|
);
|
|
301
321
|
|
|
302
322
|
// lib/manual-edits/manual_edits_file.ts
|
|
303
|
-
var manual_edits_file =
|
|
304
|
-
pcb_placements:
|
|
305
|
-
manual_trace_hints:
|
|
306
|
-
schematic_placements:
|
|
323
|
+
var manual_edits_file = z21.object({
|
|
324
|
+
pcb_placements: z21.array(manual_pcb_placement).optional(),
|
|
325
|
+
manual_trace_hints: z21.array(manual_trace_hint).optional(),
|
|
326
|
+
schematic_placements: z21.array(manual_schematic_placement).optional()
|
|
307
327
|
});
|
|
308
328
|
expectTypesMatch(true);
|
|
309
329
|
|
|
310
330
|
// lib/components/group.ts
|
|
311
|
-
var layoutConfig =
|
|
312
|
-
layoutMode:
|
|
313
|
-
position:
|
|
314
|
-
grid:
|
|
315
|
-
gridCols:
|
|
316
|
-
gridRows:
|
|
317
|
-
gridTemplateRows:
|
|
318
|
-
gridTemplateColumns:
|
|
319
|
-
gridTemplate:
|
|
320
|
-
gridGap:
|
|
321
|
-
flex:
|
|
322
|
-
flexDirection:
|
|
323
|
-
alignItems:
|
|
324
|
-
justifyContent:
|
|
325
|
-
flexRow:
|
|
326
|
-
flexColumn:
|
|
327
|
-
gap:
|
|
331
|
+
var layoutConfig = z22.object({
|
|
332
|
+
layoutMode: z22.enum(["grid", "flex", "match-adapt", "none"]).optional(),
|
|
333
|
+
position: z22.enum(["absolute", "relative"]).optional(),
|
|
334
|
+
grid: z22.boolean().optional(),
|
|
335
|
+
gridCols: z22.number().or(z22.string()).optional(),
|
|
336
|
+
gridRows: z22.number().or(z22.string()).optional(),
|
|
337
|
+
gridTemplateRows: z22.string().optional(),
|
|
338
|
+
gridTemplateColumns: z22.string().optional(),
|
|
339
|
+
gridTemplate: z22.string().optional(),
|
|
340
|
+
gridGap: z22.number().or(z22.string()).optional(),
|
|
341
|
+
flex: z22.boolean().or(z22.string()).optional(),
|
|
342
|
+
flexDirection: z22.enum(["row", "column"]).optional(),
|
|
343
|
+
alignItems: z22.enum(["start", "center", "end", "stretch"]).optional(),
|
|
344
|
+
justifyContent: z22.enum(["start", "center", "end", "stretch"]).optional(),
|
|
345
|
+
flexRow: z22.boolean().optional(),
|
|
346
|
+
flexColumn: z22.boolean().optional(),
|
|
347
|
+
gap: z22.number().or(z22.string()).optional(),
|
|
328
348
|
padding: length.optional(),
|
|
329
349
|
paddingLeft: length.optional(),
|
|
330
350
|
paddingRight: length.optional(),
|
|
@@ -334,39 +354,39 @@ var layoutConfig = z21.object({
|
|
|
334
354
|
paddingY: length.optional(),
|
|
335
355
|
width: length.optional(),
|
|
336
356
|
height: length.optional(),
|
|
337
|
-
matchAdapt:
|
|
338
|
-
matchAdaptTemplate:
|
|
357
|
+
matchAdapt: z22.boolean().optional(),
|
|
358
|
+
matchAdaptTemplate: z22.any().optional()
|
|
339
359
|
});
|
|
340
360
|
expectTypesMatch(true);
|
|
341
|
-
var border =
|
|
361
|
+
var border = z22.object({
|
|
342
362
|
strokeWidth: length.optional(),
|
|
343
|
-
dashed:
|
|
344
|
-
solid:
|
|
345
|
-
});
|
|
346
|
-
var autorouterConfig =
|
|
347
|
-
serverUrl:
|
|
348
|
-
inputFormat:
|
|
349
|
-
serverMode:
|
|
350
|
-
serverCacheEnabled:
|
|
351
|
-
cache:
|
|
352
|
-
groupMode:
|
|
353
|
-
algorithmFn:
|
|
363
|
+
dashed: z22.boolean().optional(),
|
|
364
|
+
solid: z22.boolean().optional()
|
|
365
|
+
});
|
|
366
|
+
var autorouterConfig = z22.object({
|
|
367
|
+
serverUrl: z22.string().optional(),
|
|
368
|
+
inputFormat: z22.enum(["simplified", "circuit-json"]).optional(),
|
|
369
|
+
serverMode: z22.enum(["job", "solve-endpoint"]).optional(),
|
|
370
|
+
serverCacheEnabled: z22.boolean().optional(),
|
|
371
|
+
cache: z22.custom((v) => true).optional(),
|
|
372
|
+
groupMode: z22.enum(["sequential-trace", "subcircuit"]).optional(),
|
|
373
|
+
algorithmFn: z22.custom(
|
|
354
374
|
(v) => typeof v === "function" || v === void 0
|
|
355
375
|
).optional(),
|
|
356
|
-
local:
|
|
376
|
+
local: z22.boolean().optional()
|
|
357
377
|
});
|
|
358
|
-
var autorouterProp =
|
|
378
|
+
var autorouterProp = z22.union([
|
|
359
379
|
autorouterConfig,
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
380
|
+
z22.literal("sequential-trace"),
|
|
381
|
+
z22.literal("subcircuit"),
|
|
382
|
+
z22.literal("auto"),
|
|
383
|
+
z22.literal("auto-local"),
|
|
384
|
+
z22.literal("auto-cloud")
|
|
365
385
|
]);
|
|
366
386
|
var baseGroupProps = commonLayoutProps.extend({
|
|
367
|
-
name:
|
|
368
|
-
children:
|
|
369
|
-
key:
|
|
387
|
+
name: z22.string().optional(),
|
|
388
|
+
children: z22.any().optional(),
|
|
389
|
+
key: z22.any().optional(),
|
|
370
390
|
...layoutConfig.shape,
|
|
371
391
|
pcbWidth: length.optional(),
|
|
372
392
|
pcbHeight: length.optional(),
|
|
@@ -382,24 +402,24 @@ var baseGroupProps = commonLayoutProps.extend({
|
|
|
382
402
|
schPaddingTop: length.optional(),
|
|
383
403
|
schPaddingBottom: length.optional()
|
|
384
404
|
});
|
|
385
|
-
var partsEngine =
|
|
405
|
+
var partsEngine = z22.custom((v) => "findPart" in v);
|
|
386
406
|
var subcircuitGroupProps = baseGroupProps.extend({
|
|
387
|
-
layout:
|
|
407
|
+
layout: z22.custom((v) => true).optional(),
|
|
388
408
|
manualEdits: manual_edits_file.optional(),
|
|
389
|
-
schAutoLayoutEnabled:
|
|
390
|
-
schTraceAutoLabelEnabled:
|
|
391
|
-
routingDisabled:
|
|
409
|
+
schAutoLayoutEnabled: z22.boolean().optional(),
|
|
410
|
+
schTraceAutoLabelEnabled: z22.boolean().optional(),
|
|
411
|
+
routingDisabled: z22.boolean().optional(),
|
|
392
412
|
defaultTraceWidth: length.optional(),
|
|
393
413
|
minTraceWidth: length.optional(),
|
|
394
414
|
partsEngine: partsEngine.optional(),
|
|
395
|
-
pcbRouteCache:
|
|
415
|
+
pcbRouteCache: z22.custom((v) => true).optional(),
|
|
396
416
|
autorouter: autorouterProp.optional()
|
|
397
417
|
});
|
|
398
418
|
var subcircuitGroupPropsWithBool = subcircuitGroupProps.extend({
|
|
399
|
-
subcircuit:
|
|
419
|
+
subcircuit: z22.literal(true)
|
|
400
420
|
});
|
|
401
|
-
var groupProps =
|
|
402
|
-
baseGroupProps.extend({ subcircuit:
|
|
421
|
+
var groupProps = z22.discriminatedUnion("subcircuit", [
|
|
422
|
+
baseGroupProps.extend({ subcircuit: z22.literal(false).optional() }),
|
|
403
423
|
subcircuitGroupPropsWithBool
|
|
404
424
|
]);
|
|
405
425
|
expectTypesMatch(true);
|
|
@@ -410,10 +430,10 @@ expectTypesMatch(true);
|
|
|
410
430
|
var boardProps = subcircuitGroupProps.extend({
|
|
411
431
|
width: distance5.optional(),
|
|
412
432
|
height: distance5.optional(),
|
|
413
|
-
outline:
|
|
433
|
+
outline: z23.array(point).optional(),
|
|
414
434
|
outlineOffsetX: distance5.optional(),
|
|
415
435
|
outlineOffsetY: distance5.optional(),
|
|
416
|
-
material:
|
|
436
|
+
material: z23.enum(["fr4", "fr1"]).default("fr4")
|
|
417
437
|
});
|
|
418
438
|
expectTypesMatch(true);
|
|
419
439
|
|
|
@@ -431,32 +451,32 @@ expectTypesMatch(true);
|
|
|
431
451
|
|
|
432
452
|
// lib/components/chip.ts
|
|
433
453
|
import { distance as distance7, supplier_name as supplier_name2 } from "circuit-json";
|
|
434
|
-
import { z as
|
|
435
|
-
var connectionTarget =
|
|
436
|
-
var connectionsProp =
|
|
437
|
-
var pinLabelsProp =
|
|
438
|
-
|
|
439
|
-
|
|
454
|
+
import { z as z25 } from "zod";
|
|
455
|
+
var connectionTarget = z25.string().or(z25.array(z25.string()).readonly()).or(z25.array(z25.string()));
|
|
456
|
+
var connectionsProp = z25.custom().pipe(z25.record(z25.string(), connectionTarget));
|
|
457
|
+
var pinLabelsProp = z25.record(
|
|
458
|
+
z25.string(),
|
|
459
|
+
z25.string().or(z25.array(z25.string()).readonly()).or(z25.array(z25.string()))
|
|
440
460
|
);
|
|
441
461
|
expectTypesMatch(true);
|
|
442
|
-
var pinCompatibleVariant =
|
|
443
|
-
manufacturerPartNumber:
|
|
444
|
-
supplierPartNumber:
|
|
462
|
+
var pinCompatibleVariant = z25.object({
|
|
463
|
+
manufacturerPartNumber: z25.string().optional(),
|
|
464
|
+
supplierPartNumber: z25.record(supplier_name2, z25.array(z25.string())).optional()
|
|
445
465
|
});
|
|
446
466
|
var chipProps = commonComponentProps.extend({
|
|
447
|
-
manufacturerPartNumber:
|
|
467
|
+
manufacturerPartNumber: z25.string().optional(),
|
|
448
468
|
pinLabels: pinLabelsProp.optional(),
|
|
449
|
-
showPinAliases:
|
|
450
|
-
internallyConnectedPins:
|
|
451
|
-
externallyConnectedPins:
|
|
469
|
+
showPinAliases: z25.boolean().optional(),
|
|
470
|
+
internallyConnectedPins: z25.array(z25.array(z25.string())).optional(),
|
|
471
|
+
externallyConnectedPins: z25.array(z25.array(z25.string())).optional(),
|
|
452
472
|
schPinArrangement: schematicPortArrangement.optional(),
|
|
453
473
|
schPortArrangement: schematicPortArrangement.optional(),
|
|
454
|
-
pinCompatibleVariants:
|
|
474
|
+
pinCompatibleVariants: z25.array(pinCompatibleVariant).optional(),
|
|
455
475
|
schPinStyle: schematicPinStyle.optional(),
|
|
456
476
|
schPinSpacing: distance7.optional(),
|
|
457
477
|
schWidth: distance7.optional(),
|
|
458
478
|
schHeight: distance7.optional(),
|
|
459
|
-
noSchematicRepresentation:
|
|
479
|
+
noSchematicRepresentation: z25.boolean().optional(),
|
|
460
480
|
connections: connectionsProp.optional()
|
|
461
481
|
});
|
|
462
482
|
var bugProps = chipProps;
|
|
@@ -464,81 +484,92 @@ expectTypesMatch(true);
|
|
|
464
484
|
|
|
465
485
|
// lib/components/jumper.ts
|
|
466
486
|
import { distance as distance8 } from "circuit-json";
|
|
467
|
-
|
|
487
|
+
|
|
488
|
+
// lib/common/connectionsProp.ts
|
|
489
|
+
import { z as z26 } from "zod";
|
|
490
|
+
var connectionTarget2 = z26.string().or(z26.array(z26.string()).readonly()).or(z26.array(z26.string()));
|
|
491
|
+
var createConnectionsProp = (labels) => {
|
|
492
|
+
return z26.record(z26.enum(labels), connectionTarget2);
|
|
493
|
+
};
|
|
494
|
+
|
|
495
|
+
// lib/components/jumper.ts
|
|
496
|
+
import { z as z27 } from "zod";
|
|
468
497
|
var jumperProps = commonComponentProps.extend({
|
|
469
|
-
manufacturerPartNumber:
|
|
470
|
-
pinLabels:
|
|
498
|
+
manufacturerPartNumber: z27.string().optional(),
|
|
499
|
+
pinLabels: z27.record(z27.number().or(z27.string()), z27.string().or(z27.array(z27.string()))).optional(),
|
|
471
500
|
schPinStyle: schematicPinStyle.optional(),
|
|
472
501
|
schPinSpacing: distance8.optional(),
|
|
473
502
|
schWidth: distance8.optional(),
|
|
474
503
|
schHeight: distance8.optional(),
|
|
475
|
-
schDirection:
|
|
504
|
+
schDirection: z27.enum(["left", "right"]).optional(),
|
|
476
505
|
schPortArrangement: schematicPortArrangement.optional(),
|
|
477
|
-
pinCount:
|
|
478
|
-
internallyConnectedPins:
|
|
506
|
+
pinCount: z27.union([z27.literal(2), z27.literal(3)]).optional(),
|
|
507
|
+
internallyConnectedPins: z27.array(z27.array(z27.string())).optional(),
|
|
508
|
+
connections: z27.custom().pipe(z27.record(z27.string(), connectionTarget2)).optional()
|
|
479
509
|
});
|
|
480
510
|
expectTypesMatch(true);
|
|
481
511
|
|
|
482
512
|
// lib/components/solderjumper.ts
|
|
483
|
-
import { z as
|
|
513
|
+
import { z as z28 } from "zod";
|
|
484
514
|
var solderjumperProps = jumperProps.extend({
|
|
485
|
-
bridgedPins:
|
|
515
|
+
bridgedPins: z28.array(z28.array(z28.string())).optional()
|
|
486
516
|
});
|
|
487
517
|
expectTypesMatch(true);
|
|
488
518
|
|
|
489
519
|
// lib/components/connector.ts
|
|
490
520
|
import { distance as distance9 } from "circuit-json";
|
|
491
|
-
import { z as
|
|
521
|
+
import { z as z29 } from "zod";
|
|
492
522
|
var connectorProps = commonComponentProps.extend({
|
|
493
|
-
manufacturerPartNumber:
|
|
494
|
-
pinLabels:
|
|
523
|
+
manufacturerPartNumber: z29.string().optional(),
|
|
524
|
+
pinLabels: z29.record(z29.number().or(z29.string()), z29.string().or(z29.array(z29.string()))).optional(),
|
|
495
525
|
schPinStyle: schematicPinStyle.optional(),
|
|
496
526
|
schPinSpacing: distance9.optional(),
|
|
497
527
|
schWidth: distance9.optional(),
|
|
498
528
|
schHeight: distance9.optional(),
|
|
499
|
-
schDirection:
|
|
529
|
+
schDirection: z29.enum(["left", "right"]).optional(),
|
|
500
530
|
schPortArrangement: schematicPortArrangement.optional(),
|
|
501
|
-
internallyConnectedPins:
|
|
502
|
-
standard:
|
|
531
|
+
internallyConnectedPins: z29.array(z29.array(z29.string())).optional(),
|
|
532
|
+
standard: z29.enum(["usb_c", "m2"]).optional()
|
|
503
533
|
});
|
|
504
534
|
expectTypesMatch(true);
|
|
505
535
|
|
|
506
536
|
// lib/components/fuse.ts
|
|
507
|
-
import { z as
|
|
537
|
+
import { z as z30 } from "zod";
|
|
508
538
|
var fusePinLabels = ["pin1", "pin2"];
|
|
509
539
|
var fuseProps = commonComponentProps.extend({
|
|
510
|
-
currentRating:
|
|
511
|
-
voltageRating:
|
|
512
|
-
schShowRatings:
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
540
|
+
currentRating: z30.union([z30.number(), z30.string()]),
|
|
541
|
+
voltageRating: z30.union([z30.number(), z30.string()]).optional(),
|
|
542
|
+
schShowRatings: z30.boolean().optional(),
|
|
543
|
+
schOrientation: schematicOrientation.optional(),
|
|
544
|
+
connections: z30.record(
|
|
545
|
+
z30.string(),
|
|
546
|
+
z30.union([
|
|
547
|
+
z30.string(),
|
|
548
|
+
z30.array(z30.string()).readonly(),
|
|
549
|
+
z30.array(z30.string())
|
|
519
550
|
])
|
|
520
551
|
).optional()
|
|
521
552
|
});
|
|
522
553
|
|
|
523
554
|
// lib/components/platedhole.ts
|
|
524
555
|
import { distance as distance10 } from "circuit-json";
|
|
525
|
-
import { z as
|
|
526
|
-
var distanceHiddenUndefined =
|
|
556
|
+
import { z as z31 } from "zod";
|
|
557
|
+
var distanceHiddenUndefined = z31.custom().transform((a) => {
|
|
527
558
|
if (a === void 0)
|
|
528
559
|
return void 0;
|
|
529
560
|
return distance10.parse(a);
|
|
530
561
|
});
|
|
531
|
-
var platedHoleProps =
|
|
562
|
+
var platedHoleProps = z31.discriminatedUnion("shape", [
|
|
532
563
|
pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
533
|
-
name:
|
|
534
|
-
shape:
|
|
564
|
+
name: z31.string().optional(),
|
|
565
|
+
shape: z31.literal("circle"),
|
|
535
566
|
holeDiameter: distance10,
|
|
536
567
|
outerDiameter: distance10,
|
|
537
568
|
portHints: portHints.optional()
|
|
538
569
|
}),
|
|
539
570
|
pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
540
|
-
name:
|
|
541
|
-
shape:
|
|
571
|
+
name: z31.string().optional(),
|
|
572
|
+
shape: z31.literal("oval"),
|
|
542
573
|
outerWidth: distance10,
|
|
543
574
|
outerHeight: distance10,
|
|
544
575
|
holeWidth: distanceHiddenUndefined,
|
|
@@ -548,8 +579,8 @@ var platedHoleProps = z29.discriminatedUnion("shape", [
|
|
|
548
579
|
portHints: portHints.optional()
|
|
549
580
|
}),
|
|
550
581
|
pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
551
|
-
name:
|
|
552
|
-
shape:
|
|
582
|
+
name: z31.string().optional(),
|
|
583
|
+
shape: z31.literal("pill"),
|
|
553
584
|
outerWidth: distance10,
|
|
554
585
|
outerHeight: distance10,
|
|
555
586
|
holeWidth: distanceHiddenUndefined,
|
|
@@ -559,20 +590,20 @@ var platedHoleProps = z29.discriminatedUnion("shape", [
|
|
|
559
590
|
portHints: portHints.optional()
|
|
560
591
|
}),
|
|
561
592
|
pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
562
|
-
name:
|
|
563
|
-
shape:
|
|
593
|
+
name: z31.string().optional(),
|
|
594
|
+
shape: z31.literal("circular_hole_with_rect_pad"),
|
|
564
595
|
holeDiameter: distance10,
|
|
565
596
|
rectPadWidth: distance10,
|
|
566
597
|
rectPadHeight: distance10,
|
|
567
|
-
holeShape:
|
|
568
|
-
padShape:
|
|
598
|
+
holeShape: z31.literal("circle").optional(),
|
|
599
|
+
padShape: z31.literal("rect").optional(),
|
|
569
600
|
portHints: portHints.optional()
|
|
570
601
|
}),
|
|
571
602
|
pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
572
|
-
name:
|
|
573
|
-
shape:
|
|
574
|
-
holeShape:
|
|
575
|
-
padShape:
|
|
603
|
+
name: z31.string().optional(),
|
|
604
|
+
shape: z31.literal("pill_hole_with_rect_pad"),
|
|
605
|
+
holeShape: z31.literal("pill"),
|
|
606
|
+
padShape: z31.literal("rect"),
|
|
576
607
|
holeWidth: distance10,
|
|
577
608
|
holeHeight: distance10,
|
|
578
609
|
rectPadWidth: distance10,
|
|
@@ -592,23 +623,15 @@ expectTypesMatch(true);
|
|
|
592
623
|
|
|
593
624
|
// lib/components/resistor.ts
|
|
594
625
|
import { resistance } from "circuit-json";
|
|
595
|
-
|
|
596
|
-
// lib/common/connectionsProp.ts
|
|
597
|
-
import { z as z30 } from "zod";
|
|
598
|
-
var connectionTarget2 = z30.string().or(z30.array(z30.string()).readonly()).or(z30.array(z30.string()));
|
|
599
|
-
var createConnectionsProp = (labels) => {
|
|
600
|
-
return z30.record(z30.enum(labels), connectionTarget2);
|
|
601
|
-
};
|
|
602
|
-
|
|
603
|
-
// lib/components/resistor.ts
|
|
604
|
-
import { z as z31 } from "zod";
|
|
626
|
+
import { z as z32 } from "zod";
|
|
605
627
|
var resistorPinLabels = ["pin1", "pin2", "pos", "neg"];
|
|
606
628
|
var resistorProps = commonComponentProps.extend({
|
|
607
629
|
resistance,
|
|
608
|
-
pullupFor:
|
|
609
|
-
pullupTo:
|
|
610
|
-
pulldownFor:
|
|
611
|
-
pulldownTo:
|
|
630
|
+
pullupFor: z32.string().optional(),
|
|
631
|
+
pullupTo: z32.string().optional(),
|
|
632
|
+
pulldownFor: z32.string().optional(),
|
|
633
|
+
pulldownTo: z32.string().optional(),
|
|
634
|
+
schOrientation: schematicOrientation.optional(),
|
|
612
635
|
connections: createConnectionsProp(resistorPinLabels).optional()
|
|
613
636
|
});
|
|
614
637
|
var resistorPins = lrPins;
|
|
@@ -616,54 +639,55 @@ expectTypesMatch(true);
|
|
|
616
639
|
|
|
617
640
|
// lib/components/potentiometer.ts
|
|
618
641
|
import { resistance as resistance2 } from "circuit-json";
|
|
619
|
-
import { z as
|
|
642
|
+
import { z as z33 } from "zod";
|
|
620
643
|
var potentiometerProps = commonComponentProps.extend({
|
|
621
644
|
maxResistance: resistance2,
|
|
622
|
-
pinVariant:
|
|
645
|
+
pinVariant: z33.enum(["two_pin", "three_pin"]).optional()
|
|
623
646
|
});
|
|
624
647
|
expectTypesMatch(true);
|
|
625
648
|
|
|
626
649
|
// lib/components/crystal.ts
|
|
627
650
|
import { frequency, capacitance } from "circuit-json";
|
|
628
|
-
import { z as
|
|
651
|
+
import { z as z34 } from "zod";
|
|
629
652
|
var crystalProps = commonComponentProps.extend({
|
|
630
653
|
frequency,
|
|
631
654
|
loadCapacitance: capacitance,
|
|
632
|
-
pinVariant:
|
|
655
|
+
pinVariant: z34.enum(["two_pin", "four_pin"]).optional(),
|
|
656
|
+
schOrientation: schematicOrientation.optional()
|
|
633
657
|
});
|
|
634
658
|
var crystalPins = lrPins;
|
|
635
659
|
expectTypesMatch(true);
|
|
636
660
|
|
|
637
661
|
// lib/components/resonator.ts
|
|
638
662
|
import { frequency as frequency2, capacitance as capacitance2 } from "circuit-json";
|
|
639
|
-
import { z as
|
|
663
|
+
import { z as z35 } from "zod";
|
|
640
664
|
var resonatorProps = commonComponentProps.extend({
|
|
641
665
|
frequency: frequency2,
|
|
642
666
|
loadCapacitance: capacitance2,
|
|
643
|
-
pinVariant:
|
|
667
|
+
pinVariant: z35.enum(["no_ground", "ground_pin", "two_ground_pins"]).optional()
|
|
644
668
|
});
|
|
645
669
|
expectTypesMatch(true);
|
|
646
670
|
|
|
647
671
|
// lib/components/stampboard.ts
|
|
648
672
|
import { distance as distance11 } from "circuit-json";
|
|
649
|
-
import { z as
|
|
673
|
+
import { z as z36 } from "zod";
|
|
650
674
|
var stampboardProps = boardProps.extend({
|
|
651
|
-
leftPinCount:
|
|
652
|
-
rightPinCount:
|
|
653
|
-
topPinCount:
|
|
654
|
-
bottomPinCount:
|
|
655
|
-
leftPins:
|
|
656
|
-
rightPins:
|
|
657
|
-
topPins:
|
|
658
|
-
bottomPins:
|
|
675
|
+
leftPinCount: z36.number().optional(),
|
|
676
|
+
rightPinCount: z36.number().optional(),
|
|
677
|
+
topPinCount: z36.number().optional(),
|
|
678
|
+
bottomPinCount: z36.number().optional(),
|
|
679
|
+
leftPins: z36.array(z36.string()).optional(),
|
|
680
|
+
rightPins: z36.array(z36.string()).optional(),
|
|
681
|
+
topPins: z36.array(z36.string()).optional(),
|
|
682
|
+
bottomPins: z36.array(z36.string()).optional(),
|
|
659
683
|
pinPitch: distance11.optional(),
|
|
660
|
-
innerHoles:
|
|
684
|
+
innerHoles: z36.boolean().optional()
|
|
661
685
|
});
|
|
662
686
|
expectTypesMatch(true);
|
|
663
687
|
|
|
664
688
|
// lib/components/capacitor.ts
|
|
665
689
|
import { capacitance as capacitance3, voltage } from "circuit-json";
|
|
666
|
-
import { z as
|
|
690
|
+
import { z as z37 } from "zod";
|
|
667
691
|
var capacitorPinLabels = [
|
|
668
692
|
"pin1",
|
|
669
693
|
"pin2",
|
|
@@ -675,31 +699,32 @@ var capacitorPinLabels = [
|
|
|
675
699
|
var capacitorProps = commonComponentProps.extend({
|
|
676
700
|
capacitance: capacitance3,
|
|
677
701
|
maxVoltageRating: voltage.optional(),
|
|
678
|
-
schShowRatings:
|
|
679
|
-
polarized:
|
|
680
|
-
decouplingFor:
|
|
681
|
-
decouplingTo:
|
|
682
|
-
bypassFor:
|
|
683
|
-
bypassTo:
|
|
684
|
-
maxDecouplingTraceLength:
|
|
702
|
+
schShowRatings: z37.boolean().optional().default(false),
|
|
703
|
+
polarized: z37.boolean().optional().default(false),
|
|
704
|
+
decouplingFor: z37.string().optional(),
|
|
705
|
+
decouplingTo: z37.string().optional(),
|
|
706
|
+
bypassFor: z37.string().optional(),
|
|
707
|
+
bypassTo: z37.string().optional(),
|
|
708
|
+
maxDecouplingTraceLength: z37.number().optional(),
|
|
709
|
+
schOrientation: schematicOrientation.optional(),
|
|
685
710
|
connections: createConnectionsProp(capacitorPinLabels).optional()
|
|
686
711
|
});
|
|
687
712
|
var capacitorPins = lrPolarPins;
|
|
688
713
|
expectTypesMatch(true);
|
|
689
714
|
|
|
690
715
|
// lib/components/net.ts
|
|
691
|
-
import { z as
|
|
692
|
-
var netProps =
|
|
693
|
-
name:
|
|
716
|
+
import { z as z38 } from "zod";
|
|
717
|
+
var netProps = z38.object({
|
|
718
|
+
name: z38.string()
|
|
694
719
|
});
|
|
695
720
|
expectTypesMatch(true);
|
|
696
721
|
|
|
697
722
|
// lib/components/constrainedlayout.ts
|
|
698
|
-
import { z as
|
|
699
|
-
var constrainedLayoutProps =
|
|
700
|
-
name:
|
|
701
|
-
pcbOnly:
|
|
702
|
-
schOnly:
|
|
723
|
+
import { z as z39 } from "zod";
|
|
724
|
+
var constrainedLayoutProps = z39.object({
|
|
725
|
+
name: z39.string().optional(),
|
|
726
|
+
pcbOnly: z39.boolean().optional(),
|
|
727
|
+
schOnly: z39.boolean().optional()
|
|
703
728
|
});
|
|
704
729
|
expectTypesMatch(true);
|
|
705
730
|
|
|
@@ -708,46 +733,46 @@ import "zod";
|
|
|
708
733
|
import { distance as distance12, length as length2 } from "circuit-json";
|
|
709
734
|
|
|
710
735
|
// lib/components/constraint.ts
|
|
711
|
-
import { z as
|
|
712
|
-
var pcbXDistConstraintProps =
|
|
713
|
-
pcb:
|
|
736
|
+
import { z as z41 } from "zod";
|
|
737
|
+
var pcbXDistConstraintProps = z41.object({
|
|
738
|
+
pcb: z41.literal(true).optional(),
|
|
714
739
|
xDist: distance12,
|
|
715
|
-
left:
|
|
716
|
-
right:
|
|
717
|
-
edgeToEdge:
|
|
718
|
-
centerToCenter:
|
|
740
|
+
left: z41.string(),
|
|
741
|
+
right: z41.string(),
|
|
742
|
+
edgeToEdge: z41.literal(true).optional(),
|
|
743
|
+
centerToCenter: z41.literal(true).optional()
|
|
719
744
|
});
|
|
720
745
|
expectTypesMatch(
|
|
721
746
|
true
|
|
722
747
|
);
|
|
723
|
-
var pcbYDistConstraintProps =
|
|
724
|
-
pcb:
|
|
748
|
+
var pcbYDistConstraintProps = z41.object({
|
|
749
|
+
pcb: z41.literal(true).optional(),
|
|
725
750
|
yDist: distance12,
|
|
726
|
-
top:
|
|
727
|
-
bottom:
|
|
728
|
-
edgeToEdge:
|
|
729
|
-
centerToCenter:
|
|
751
|
+
top: z41.string(),
|
|
752
|
+
bottom: z41.string(),
|
|
753
|
+
edgeToEdge: z41.literal(true).optional(),
|
|
754
|
+
centerToCenter: z41.literal(true).optional()
|
|
730
755
|
});
|
|
731
756
|
expectTypesMatch(
|
|
732
757
|
true
|
|
733
758
|
);
|
|
734
|
-
var pcbSameYConstraintProps =
|
|
735
|
-
pcb:
|
|
736
|
-
sameY:
|
|
737
|
-
for:
|
|
759
|
+
var pcbSameYConstraintProps = z41.object({
|
|
760
|
+
pcb: z41.literal(true).optional(),
|
|
761
|
+
sameY: z41.literal(true).optional(),
|
|
762
|
+
for: z41.array(z41.string())
|
|
738
763
|
});
|
|
739
764
|
expectTypesMatch(
|
|
740
765
|
true
|
|
741
766
|
);
|
|
742
|
-
var pcbSameXConstraintProps =
|
|
743
|
-
pcb:
|
|
744
|
-
sameX:
|
|
745
|
-
for:
|
|
767
|
+
var pcbSameXConstraintProps = z41.object({
|
|
768
|
+
pcb: z41.literal(true).optional(),
|
|
769
|
+
sameX: z41.literal(true).optional(),
|
|
770
|
+
for: z41.array(z41.string())
|
|
746
771
|
});
|
|
747
772
|
expectTypesMatch(
|
|
748
773
|
true
|
|
749
774
|
);
|
|
750
|
-
var constraintProps =
|
|
775
|
+
var constraintProps = z41.union([
|
|
751
776
|
pcbXDistConstraintProps,
|
|
752
777
|
pcbYDistConstraintProps,
|
|
753
778
|
pcbSameYConstraintProps,
|
|
@@ -756,13 +781,13 @@ var constraintProps = z40.union([
|
|
|
756
781
|
expectTypesMatch(true);
|
|
757
782
|
|
|
758
783
|
// lib/components/cutout.ts
|
|
759
|
-
import { z as
|
|
784
|
+
import { z as z42 } from "zod";
|
|
760
785
|
var rectCutoutProps = pcbLayoutProps.omit({
|
|
761
786
|
layer: true,
|
|
762
787
|
pcbRotation: true
|
|
763
788
|
}).extend({
|
|
764
|
-
name:
|
|
765
|
-
shape:
|
|
789
|
+
name: z42.string().optional(),
|
|
790
|
+
shape: z42.literal("rect"),
|
|
766
791
|
width: distance12,
|
|
767
792
|
height: distance12
|
|
768
793
|
});
|
|
@@ -771,8 +796,8 @@ var circleCutoutProps = pcbLayoutProps.omit({
|
|
|
771
796
|
layer: true,
|
|
772
797
|
pcbRotation: true
|
|
773
798
|
}).extend({
|
|
774
|
-
name:
|
|
775
|
-
shape:
|
|
799
|
+
name: z42.string().optional(),
|
|
800
|
+
shape: z42.literal("circle"),
|
|
776
801
|
radius: distance12
|
|
777
802
|
});
|
|
778
803
|
expectTypesMatch(true);
|
|
@@ -780,42 +805,42 @@ var polygonCutoutProps = pcbLayoutProps.omit({
|
|
|
780
805
|
layer: true,
|
|
781
806
|
pcbRotation: true
|
|
782
807
|
}).extend({
|
|
783
|
-
name:
|
|
784
|
-
shape:
|
|
785
|
-
points:
|
|
808
|
+
name: z42.string().optional(),
|
|
809
|
+
shape: z42.literal("polygon"),
|
|
810
|
+
points: z42.array(point)
|
|
786
811
|
});
|
|
787
812
|
expectTypesMatch(true);
|
|
788
|
-
var cutoutProps =
|
|
813
|
+
var cutoutProps = z42.discriminatedUnion("shape", [
|
|
789
814
|
rectCutoutProps,
|
|
790
815
|
circleCutoutProps,
|
|
791
816
|
polygonCutoutProps
|
|
792
817
|
]);
|
|
793
818
|
|
|
794
819
|
// lib/components/smtpad.ts
|
|
795
|
-
import { z as
|
|
820
|
+
import { z as z43 } from "zod";
|
|
796
821
|
var rectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
797
|
-
shape:
|
|
822
|
+
shape: z43.literal("rect"),
|
|
798
823
|
width: distance12,
|
|
799
824
|
height: distance12,
|
|
800
825
|
portHints: portHints.optional()
|
|
801
826
|
});
|
|
802
827
|
expectTypesMatch(true);
|
|
803
828
|
var rotatedRectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
804
|
-
shape:
|
|
829
|
+
shape: z43.literal("rotated_rect"),
|
|
805
830
|
width: distance12,
|
|
806
831
|
height: distance12,
|
|
807
|
-
ccwRotation:
|
|
832
|
+
ccwRotation: z43.number(),
|
|
808
833
|
portHints: portHints.optional()
|
|
809
834
|
});
|
|
810
835
|
expectTypesMatch(true);
|
|
811
836
|
var circleSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
812
|
-
shape:
|
|
837
|
+
shape: z43.literal("circle"),
|
|
813
838
|
radius: distance12,
|
|
814
839
|
portHints: portHints.optional()
|
|
815
840
|
});
|
|
816
841
|
expectTypesMatch(true);
|
|
817
842
|
var pillSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
818
|
-
shape:
|
|
843
|
+
shape: z43.literal("pill"),
|
|
819
844
|
width: distance12,
|
|
820
845
|
height: distance12,
|
|
821
846
|
radius: distance12,
|
|
@@ -823,12 +848,12 @@ var pillSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
|
823
848
|
});
|
|
824
849
|
expectTypesMatch(true);
|
|
825
850
|
var polygonSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
826
|
-
shape:
|
|
827
|
-
points:
|
|
851
|
+
shape: z43.literal("polygon"),
|
|
852
|
+
points: z43.array(point),
|
|
828
853
|
portHints: portHints.optional()
|
|
829
854
|
});
|
|
830
855
|
expectTypesMatch(true);
|
|
831
|
-
var smtPadProps =
|
|
856
|
+
var smtPadProps = z43.discriminatedUnion("shape", [
|
|
832
857
|
circleSmtPadProps,
|
|
833
858
|
rectSmtPadProps,
|
|
834
859
|
rotatedRectSmtPadProps,
|
|
@@ -838,28 +863,28 @@ var smtPadProps = z42.discriminatedUnion("shape", [
|
|
|
838
863
|
expectTypesMatch(true);
|
|
839
864
|
|
|
840
865
|
// lib/components/solderpaste.ts
|
|
841
|
-
import { z as
|
|
866
|
+
import { z as z44 } from "zod";
|
|
842
867
|
var rectSolderPasteProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
843
|
-
shape:
|
|
868
|
+
shape: z44.literal("rect"),
|
|
844
869
|
width: distance12,
|
|
845
870
|
height: distance12
|
|
846
871
|
});
|
|
847
872
|
expectTypesMatch(true);
|
|
848
873
|
var circleSolderPasteProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
849
|
-
shape:
|
|
874
|
+
shape: z44.literal("circle"),
|
|
850
875
|
radius: distance12
|
|
851
876
|
});
|
|
852
877
|
expectTypesMatch(true);
|
|
853
|
-
var solderPasteProps =
|
|
878
|
+
var solderPasteProps = z44.union([
|
|
854
879
|
circleSolderPasteProps,
|
|
855
880
|
rectSolderPasteProps
|
|
856
881
|
]);
|
|
857
882
|
expectTypesMatch(true);
|
|
858
883
|
|
|
859
884
|
// lib/components/hole.ts
|
|
860
|
-
import { z as
|
|
885
|
+
import { z as z45 } from "zod";
|
|
861
886
|
var holeProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
862
|
-
name:
|
|
887
|
+
name: z45.string().optional(),
|
|
863
888
|
diameter: distance12.optional(),
|
|
864
889
|
radius: distance12.optional()
|
|
865
890
|
}).transform((d) => ({
|
|
@@ -871,24 +896,24 @@ expectTypesMatch(true);
|
|
|
871
896
|
|
|
872
897
|
// lib/components/trace.ts
|
|
873
898
|
import { distance as distance13, route_hint_point as route_hint_point2 } from "circuit-json";
|
|
874
|
-
import { z as
|
|
875
|
-
var portRef =
|
|
876
|
-
|
|
877
|
-
|
|
899
|
+
import { z as z46 } from "zod";
|
|
900
|
+
var portRef = z46.union([
|
|
901
|
+
z46.string(),
|
|
902
|
+
z46.custom(
|
|
878
903
|
(v) => Boolean(v.getPortSelector)
|
|
879
904
|
)
|
|
880
905
|
]);
|
|
881
|
-
var baseTraceProps =
|
|
882
|
-
key:
|
|
906
|
+
var baseTraceProps = z46.object({
|
|
907
|
+
key: z46.string().optional(),
|
|
883
908
|
thickness: distance13.optional(),
|
|
884
|
-
schematicRouteHints:
|
|
885
|
-
pcbRouteHints:
|
|
886
|
-
schDisplayLabel:
|
|
909
|
+
schematicRouteHints: z46.array(point).optional(),
|
|
910
|
+
pcbRouteHints: z46.array(route_hint_point2).optional(),
|
|
911
|
+
schDisplayLabel: z46.string().optional(),
|
|
887
912
|
maxLength: distance13.optional()
|
|
888
913
|
});
|
|
889
|
-
var traceProps =
|
|
914
|
+
var traceProps = z46.union([
|
|
890
915
|
baseTraceProps.extend({
|
|
891
|
-
path:
|
|
916
|
+
path: z46.array(portRef)
|
|
892
917
|
}),
|
|
893
918
|
baseTraceProps.extend({
|
|
894
919
|
from: portRef,
|
|
@@ -898,15 +923,15 @@ var traceProps = z45.union([
|
|
|
898
923
|
|
|
899
924
|
// lib/components/footprint.ts
|
|
900
925
|
import { layer_ref as layer_ref4 } from "circuit-json";
|
|
901
|
-
import { z as
|
|
902
|
-
var footprintProps =
|
|
926
|
+
import { z as z47 } from "zod";
|
|
927
|
+
var footprintProps = z47.object({
|
|
903
928
|
originalLayer: layer_ref4.default("top").optional()
|
|
904
929
|
});
|
|
905
930
|
expectTypesMatch(true);
|
|
906
931
|
|
|
907
932
|
// lib/components/battery.ts
|
|
908
|
-
import { z as
|
|
909
|
-
var capacity =
|
|
933
|
+
import { z as z48 } from "zod";
|
|
934
|
+
var capacity = z48.number().or(z48.string().endsWith("mAh")).transform((v) => {
|
|
910
935
|
if (typeof v === "string") {
|
|
911
936
|
const valString = v.replace("mAh", "");
|
|
912
937
|
const num = Number.parseFloat(valString);
|
|
@@ -918,26 +943,27 @@ var capacity = z47.number().or(z47.string().endsWith("mAh")).transform((v) => {
|
|
|
918
943
|
return v;
|
|
919
944
|
}).describe("Battery capacity in mAh");
|
|
920
945
|
var batteryProps = commonComponentProps.extend({
|
|
921
|
-
capacity: capacity.optional()
|
|
946
|
+
capacity: capacity.optional(),
|
|
947
|
+
schOrientation: schematicOrientation.optional()
|
|
922
948
|
});
|
|
923
949
|
var batteryPins = lrPolarPins;
|
|
924
950
|
expectTypesMatch(true);
|
|
925
951
|
|
|
926
952
|
// lib/components/pin-header.ts
|
|
927
953
|
import { distance as distance14 } from "circuit-json";
|
|
928
|
-
import { z as
|
|
954
|
+
import { z as z49 } from "zod";
|
|
929
955
|
var pinHeaderProps = commonComponentProps.extend({
|
|
930
|
-
pinCount:
|
|
956
|
+
pinCount: z49.number(),
|
|
931
957
|
pitch: distance14.optional(),
|
|
932
|
-
schFacingDirection:
|
|
933
|
-
gender:
|
|
934
|
-
showSilkscreenPinLabels:
|
|
935
|
-
doubleRow:
|
|
958
|
+
schFacingDirection: z49.enum(["up", "down", "left", "right"]).optional(),
|
|
959
|
+
gender: z49.enum(["male", "female"]).optional().default("male"),
|
|
960
|
+
showSilkscreenPinLabels: z49.boolean().optional(),
|
|
961
|
+
doubleRow: z49.boolean().optional(),
|
|
936
962
|
holeDiameter: distance14.optional(),
|
|
937
963
|
platedDiameter: distance14.optional(),
|
|
938
|
-
pinLabels:
|
|
939
|
-
connections:
|
|
940
|
-
facingDirection:
|
|
964
|
+
pinLabels: z49.array(z49.string()).optional(),
|
|
965
|
+
connections: z49.custom().pipe(z49.record(z49.string(), connectionTarget2)).optional(),
|
|
966
|
+
facingDirection: z49.enum(["left", "right"]).optional(),
|
|
941
967
|
schPinArrangement: schematicPinArrangement.optional(),
|
|
942
968
|
schPinStyle: schematicPinStyle.optional(),
|
|
943
969
|
schPinSpacing: distance14.optional(),
|
|
@@ -947,29 +973,29 @@ var pinHeaderProps = commonComponentProps.extend({
|
|
|
947
973
|
expectTypesMatch(true);
|
|
948
974
|
|
|
949
975
|
// lib/components/netalias.ts
|
|
950
|
-
import { z as
|
|
976
|
+
import { z as z50 } from "zod";
|
|
951
977
|
import { rotation as rotation2 } from "circuit-json";
|
|
952
|
-
var netAliasProps =
|
|
953
|
-
net:
|
|
954
|
-
connection:
|
|
978
|
+
var netAliasProps = z50.object({
|
|
979
|
+
net: z50.string().optional(),
|
|
980
|
+
connection: z50.string().optional(),
|
|
955
981
|
schX: distance12.optional(),
|
|
956
982
|
schY: distance12.optional(),
|
|
957
983
|
schRotation: rotation2.optional(),
|
|
958
|
-
anchorSide:
|
|
984
|
+
anchorSide: z50.enum(["left", "top", "right", "bottom"]).optional()
|
|
959
985
|
});
|
|
960
986
|
expectTypesMatch(true);
|
|
961
987
|
|
|
962
988
|
// lib/components/netlabel.ts
|
|
963
|
-
import { z as
|
|
989
|
+
import { z as z51 } from "zod";
|
|
964
990
|
import { rotation as rotation3 } from "circuit-json";
|
|
965
|
-
var netLabelProps =
|
|
966
|
-
net:
|
|
967
|
-
connection:
|
|
968
|
-
connectsTo:
|
|
991
|
+
var netLabelProps = z51.object({
|
|
992
|
+
net: z51.string().optional(),
|
|
993
|
+
connection: z51.string().optional(),
|
|
994
|
+
connectsTo: z51.string().or(z51.array(z51.string())).optional(),
|
|
969
995
|
schX: distance12.optional(),
|
|
970
996
|
schY: distance12.optional(),
|
|
971
997
|
schRotation: rotation3.optional(),
|
|
972
|
-
anchorSide:
|
|
998
|
+
anchorSide: z51.enum(["left", "top", "right", "bottom"]).optional()
|
|
973
999
|
});
|
|
974
1000
|
expectTypesMatch(true);
|
|
975
1001
|
|
|
@@ -983,9 +1009,9 @@ var subcircuitProps = subcircuitGroupProps;
|
|
|
983
1009
|
expectTypesMatch(true);
|
|
984
1010
|
|
|
985
1011
|
// lib/components/transistor.ts
|
|
986
|
-
import { z as
|
|
1012
|
+
import { z as z53 } from "zod";
|
|
987
1013
|
var transistorProps = commonComponentProps.extend({
|
|
988
|
-
type:
|
|
1014
|
+
type: z53.enum(["npn", "pnp", "bjt", "jfet", "mosfet", "igbt"])
|
|
989
1015
|
});
|
|
990
1016
|
var transistorPins = [
|
|
991
1017
|
"pin1",
|
|
@@ -998,10 +1024,10 @@ var transistorPins = [
|
|
|
998
1024
|
expectTypesMatch(true);
|
|
999
1025
|
|
|
1000
1026
|
// lib/components/mosfet.ts
|
|
1001
|
-
import { z as
|
|
1027
|
+
import { z as z54 } from "zod";
|
|
1002
1028
|
var mosfetProps = commonComponentProps.extend({
|
|
1003
|
-
channelType:
|
|
1004
|
-
mosfetMode:
|
|
1029
|
+
channelType: z54.enum(["n", "p"]),
|
|
1030
|
+
mosfetMode: z54.enum(["enhancement", "depletion"])
|
|
1005
1031
|
});
|
|
1006
1032
|
var mosfetPins = [
|
|
1007
1033
|
"pin1",
|
|
@@ -1015,17 +1041,18 @@ expectTypesMatch(true);
|
|
|
1015
1041
|
|
|
1016
1042
|
// lib/components/inductor.ts
|
|
1017
1043
|
import { inductance } from "circuit-json";
|
|
1018
|
-
import { z as
|
|
1044
|
+
import { z as z55 } from "zod";
|
|
1019
1045
|
var inductorProps = commonComponentProps.extend({
|
|
1020
1046
|
inductance,
|
|
1021
|
-
maxCurrentRating:
|
|
1047
|
+
maxCurrentRating: z55.union([z55.string(), z55.number()]).optional(),
|
|
1048
|
+
schOrientation: schematicOrientation.optional()
|
|
1022
1049
|
});
|
|
1023
1050
|
var inductorPins = lrPins;
|
|
1024
1051
|
expectTypesMatch(true);
|
|
1025
1052
|
|
|
1026
1053
|
// lib/components/diode.ts
|
|
1027
|
-
import { z as
|
|
1028
|
-
var diodeConnectionKeys =
|
|
1054
|
+
import { z as z56 } from "zod";
|
|
1055
|
+
var diodeConnectionKeys = z56.enum([
|
|
1029
1056
|
"anode",
|
|
1030
1057
|
"cathode",
|
|
1031
1058
|
"pin1",
|
|
@@ -1033,17 +1060,18 @@ var diodeConnectionKeys = z55.enum([
|
|
|
1033
1060
|
"pos",
|
|
1034
1061
|
"neg"
|
|
1035
1062
|
]);
|
|
1036
|
-
var connectionTarget3 =
|
|
1037
|
-
var connectionsProp2 =
|
|
1038
|
-
var diodeVariant =
|
|
1063
|
+
var connectionTarget3 = z56.string().or(z56.array(z56.string()).readonly()).or(z56.array(z56.string()));
|
|
1064
|
+
var connectionsProp2 = z56.record(diodeConnectionKeys, connectionTarget3);
|
|
1065
|
+
var diodeVariant = z56.enum(["standard", "schottky", "zener", "photo", "tvs"]);
|
|
1039
1066
|
var diodeProps = commonComponentProps.extend({
|
|
1040
1067
|
connections: connectionsProp2.optional(),
|
|
1041
1068
|
variant: diodeVariant.optional().default("standard"),
|
|
1042
|
-
standard:
|
|
1043
|
-
schottky:
|
|
1044
|
-
zener:
|
|
1045
|
-
photo:
|
|
1046
|
-
tvs:
|
|
1069
|
+
standard: z56.boolean().optional(),
|
|
1070
|
+
schottky: z56.boolean().optional(),
|
|
1071
|
+
zener: z56.boolean().optional(),
|
|
1072
|
+
photo: z56.boolean().optional(),
|
|
1073
|
+
tvs: z56.boolean().optional(),
|
|
1074
|
+
schOrientation: schematicOrientation.optional()
|
|
1047
1075
|
}).superRefine((data, ctx) => {
|
|
1048
1076
|
const enabledFlags = [
|
|
1049
1077
|
data.standard,
|
|
@@ -1054,11 +1082,11 @@ var diodeProps = commonComponentProps.extend({
|
|
|
1054
1082
|
].filter(Boolean).length;
|
|
1055
1083
|
if (enabledFlags > 1) {
|
|
1056
1084
|
ctx.addIssue({
|
|
1057
|
-
code:
|
|
1085
|
+
code: z56.ZodIssueCode.custom,
|
|
1058
1086
|
message: "Exactly one diode variant must be enabled",
|
|
1059
1087
|
path: []
|
|
1060
1088
|
});
|
|
1061
|
-
return
|
|
1089
|
+
return z56.INVALID;
|
|
1062
1090
|
}
|
|
1063
1091
|
}).transform((data) => {
|
|
1064
1092
|
const result = {
|
|
@@ -1106,23 +1134,24 @@ var diodePins = lrPolarPins;
|
|
|
1106
1134
|
expectTypesMatch(true);
|
|
1107
1135
|
|
|
1108
1136
|
// lib/components/led.ts
|
|
1109
|
-
import { z as
|
|
1137
|
+
import { z as z57 } from "zod";
|
|
1110
1138
|
var ledProps = commonComponentProps.extend({
|
|
1111
|
-
color:
|
|
1112
|
-
wavelength:
|
|
1113
|
-
schDisplayValue:
|
|
1139
|
+
color: z57.string().optional(),
|
|
1140
|
+
wavelength: z57.string().optional(),
|
|
1141
|
+
schDisplayValue: z57.string().optional(),
|
|
1142
|
+
schOrientation: schematicOrientation.optional()
|
|
1114
1143
|
});
|
|
1115
1144
|
var ledPins = lrPolarPins;
|
|
1116
1145
|
|
|
1117
1146
|
// lib/components/switch.ts
|
|
1118
|
-
import { z as
|
|
1147
|
+
import { z as z58 } from "zod";
|
|
1119
1148
|
var switchProps = commonComponentProps.extend({
|
|
1120
|
-
type:
|
|
1121
|
-
isNormallyClosed:
|
|
1122
|
-
spst:
|
|
1123
|
-
spdt:
|
|
1124
|
-
dpst:
|
|
1125
|
-
dpdt:
|
|
1149
|
+
type: z58.enum(["spst", "spdt", "dpst", "dpdt"]).optional(),
|
|
1150
|
+
isNormallyClosed: z58.boolean().optional().default(false),
|
|
1151
|
+
spst: z58.boolean().optional(),
|
|
1152
|
+
spdt: z58.boolean().optional(),
|
|
1153
|
+
dpst: z58.boolean().optional(),
|
|
1154
|
+
dpdt: z58.boolean().optional()
|
|
1126
1155
|
}).transform((props) => {
|
|
1127
1156
|
const updatedProps = { ...props };
|
|
1128
1157
|
if (updatedProps.dpdt) {
|
|
@@ -1154,31 +1183,31 @@ expectTypesMatch(true);
|
|
|
1154
1183
|
|
|
1155
1184
|
// lib/components/fabrication-note-text.ts
|
|
1156
1185
|
import { length as length3 } from "circuit-json";
|
|
1157
|
-
import { z as
|
|
1186
|
+
import { z as z59 } from "zod";
|
|
1158
1187
|
var fabricationNoteTextProps = pcbLayoutProps.extend({
|
|
1159
|
-
text:
|
|
1160
|
-
anchorAlignment:
|
|
1161
|
-
font:
|
|
1188
|
+
text: z59.string(),
|
|
1189
|
+
anchorAlignment: z59.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
1190
|
+
font: z59.enum(["tscircuit2024"]).optional(),
|
|
1162
1191
|
fontSize: length3.optional(),
|
|
1163
|
-
color:
|
|
1192
|
+
color: z59.string().optional()
|
|
1164
1193
|
});
|
|
1165
1194
|
|
|
1166
1195
|
// lib/components/fabrication-note-path.ts
|
|
1167
1196
|
import { length as length4, route_hint_point as route_hint_point3 } from "circuit-json";
|
|
1168
|
-
import { z as
|
|
1197
|
+
import { z as z60 } from "zod";
|
|
1169
1198
|
var fabricationNotePathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
|
|
1170
|
-
route:
|
|
1199
|
+
route: z60.array(route_hint_point3),
|
|
1171
1200
|
strokeWidth: length4.optional(),
|
|
1172
|
-
color:
|
|
1201
|
+
color: z60.string().optional()
|
|
1173
1202
|
});
|
|
1174
1203
|
|
|
1175
1204
|
// lib/components/pcb-trace.ts
|
|
1176
1205
|
import { distance as distance15, route_hint_point as route_hint_point4 } from "circuit-json";
|
|
1177
|
-
import { z as
|
|
1178
|
-
var pcbTraceProps =
|
|
1179
|
-
layer:
|
|
1206
|
+
import { z as z61 } from "zod";
|
|
1207
|
+
var pcbTraceProps = z61.object({
|
|
1208
|
+
layer: z61.string().optional(),
|
|
1180
1209
|
thickness: distance15.optional(),
|
|
1181
|
-
route:
|
|
1210
|
+
route: z61.array(route_hint_point4)
|
|
1182
1211
|
});
|
|
1183
1212
|
|
|
1184
1213
|
// lib/components/via.ts
|
|
@@ -1192,10 +1221,10 @@ var viaProps = commonLayoutProps.extend({
|
|
|
1192
1221
|
|
|
1193
1222
|
// lib/components/testpoint.ts
|
|
1194
1223
|
import { distance as distance17 } from "circuit-json";
|
|
1195
|
-
import { z as
|
|
1224
|
+
import { z as z62 } from "zod";
|
|
1196
1225
|
var testpointProps = commonComponentProps.extend({
|
|
1197
|
-
footprintVariant:
|
|
1198
|
-
padShape:
|
|
1226
|
+
footprintVariant: z62.enum(["pad", "through_hole"]).optional(),
|
|
1227
|
+
padShape: z62.enum(["rect", "circle"]).optional().default("circle"),
|
|
1199
1228
|
padDiameter: distance17.optional(),
|
|
1200
1229
|
holeDiameter: distance17.optional(),
|
|
1201
1230
|
width: distance17.optional(),
|
|
@@ -1207,22 +1236,22 @@ var testpointProps = commonComponentProps.extend({
|
|
|
1207
1236
|
expectTypesMatch(true);
|
|
1208
1237
|
|
|
1209
1238
|
// lib/components/breakoutpoint.ts
|
|
1210
|
-
import { z as
|
|
1239
|
+
import { z as z63 } from "zod";
|
|
1211
1240
|
var breakoutPointProps = pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
1212
|
-
connection:
|
|
1241
|
+
connection: z63.string()
|
|
1213
1242
|
});
|
|
1214
1243
|
expectTypesMatch(true);
|
|
1215
1244
|
|
|
1216
1245
|
// lib/components/pcb-keepout.ts
|
|
1217
1246
|
import { distance as distance18 } from "circuit-json";
|
|
1218
|
-
import { z as
|
|
1219
|
-
var pcbKeepoutProps =
|
|
1247
|
+
import { z as z64 } from "zod";
|
|
1248
|
+
var pcbKeepoutProps = z64.union([
|
|
1220
1249
|
pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
1221
|
-
shape:
|
|
1250
|
+
shape: z64.literal("circle"),
|
|
1222
1251
|
radius: distance18
|
|
1223
1252
|
}),
|
|
1224
1253
|
pcbLayoutProps.extend({
|
|
1225
|
-
shape:
|
|
1254
|
+
shape: z64.literal("rect"),
|
|
1226
1255
|
width: distance18,
|
|
1227
1256
|
height: distance18
|
|
1228
1257
|
})
|
|
@@ -1236,11 +1265,11 @@ var powerSourceProps = commonComponentProps.extend({
|
|
|
1236
1265
|
|
|
1237
1266
|
// lib/components/schematic-box.ts
|
|
1238
1267
|
import { distance as distance19 } from "circuit-json";
|
|
1239
|
-
import { z as
|
|
1268
|
+
import { z as z66 } from "zod";
|
|
1240
1269
|
|
|
1241
1270
|
// lib/common/ninePointAnchor.ts
|
|
1242
|
-
import { z as
|
|
1243
|
-
var ninePointAnchor =
|
|
1271
|
+
import { z as z65 } from "zod";
|
|
1272
|
+
var ninePointAnchor = z65.enum([
|
|
1244
1273
|
"top_left",
|
|
1245
1274
|
"top_center",
|
|
1246
1275
|
"top_right",
|
|
@@ -1253,23 +1282,23 @@ var ninePointAnchor = z64.enum([
|
|
|
1253
1282
|
]);
|
|
1254
1283
|
|
|
1255
1284
|
// lib/components/schematic-box.ts
|
|
1256
|
-
var schematicBoxProps =
|
|
1285
|
+
var schematicBoxProps = z66.object({
|
|
1257
1286
|
schX: distance19.optional(),
|
|
1258
1287
|
schY: distance19.optional(),
|
|
1259
1288
|
width: distance19.optional(),
|
|
1260
1289
|
height: distance19.optional(),
|
|
1261
|
-
overlay:
|
|
1290
|
+
overlay: z66.array(z66.string()).optional(),
|
|
1262
1291
|
padding: distance19.optional(),
|
|
1263
1292
|
paddingLeft: distance19.optional(),
|
|
1264
1293
|
paddingRight: distance19.optional(),
|
|
1265
1294
|
paddingTop: distance19.optional(),
|
|
1266
1295
|
paddingBottom: distance19.optional(),
|
|
1267
|
-
title:
|
|
1296
|
+
title: z66.string().optional(),
|
|
1268
1297
|
titleAlignment: ninePointAnchor.default("top_left"),
|
|
1269
|
-
titleColor:
|
|
1298
|
+
titleColor: z66.string().optional(),
|
|
1270
1299
|
titleFontSize: distance19.optional(),
|
|
1271
|
-
titleInside:
|
|
1272
|
-
strokeStyle:
|
|
1300
|
+
titleInside: z66.boolean().default(false),
|
|
1301
|
+
strokeStyle: z66.enum(["solid", "dashed"]).default("solid")
|
|
1273
1302
|
}).refine(
|
|
1274
1303
|
(elm) => elm.width !== void 0 && elm.height !== void 0 || Array.isArray(elm.overlay) && elm.overlay.length > 0,
|
|
1275
1304
|
{
|
|
@@ -1284,8 +1313,8 @@ var schematicBoxProps = z65.object({
|
|
|
1284
1313
|
|
|
1285
1314
|
// lib/components/schematic-line.ts
|
|
1286
1315
|
import { distance as distance20 } from "circuit-json";
|
|
1287
|
-
import { z as
|
|
1288
|
-
var schematicLineProps =
|
|
1316
|
+
import { z as z67 } from "zod";
|
|
1317
|
+
var schematicLineProps = z67.object({
|
|
1289
1318
|
x1: distance20,
|
|
1290
1319
|
y1: distance20,
|
|
1291
1320
|
x2: distance20,
|
|
@@ -1294,11 +1323,11 @@ var schematicLineProps = z66.object({
|
|
|
1294
1323
|
|
|
1295
1324
|
// lib/components/schematic-text.ts
|
|
1296
1325
|
import { distance as distance21, rotation as rotation4 } from "circuit-json";
|
|
1297
|
-
import { z as
|
|
1326
|
+
import { z as z69 } from "zod";
|
|
1298
1327
|
|
|
1299
1328
|
// lib/common/fivePointAnchor.ts
|
|
1300
|
-
import { z as
|
|
1301
|
-
var fivePointAnchor =
|
|
1329
|
+
import { z as z68 } from "zod";
|
|
1330
|
+
var fivePointAnchor = z68.enum([
|
|
1302
1331
|
"center",
|
|
1303
1332
|
"left",
|
|
1304
1333
|
"right",
|
|
@@ -1307,40 +1336,40 @@ var fivePointAnchor = z67.enum([
|
|
|
1307
1336
|
]);
|
|
1308
1337
|
|
|
1309
1338
|
// lib/components/schematic-text.ts
|
|
1310
|
-
var schematicTextProps =
|
|
1339
|
+
var schematicTextProps = z69.object({
|
|
1311
1340
|
schX: distance21.optional(),
|
|
1312
1341
|
schY: distance21.optional(),
|
|
1313
|
-
text:
|
|
1314
|
-
fontSize:
|
|
1315
|
-
anchor:
|
|
1316
|
-
color:
|
|
1342
|
+
text: z69.string(),
|
|
1343
|
+
fontSize: z69.number().default(1),
|
|
1344
|
+
anchor: z69.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
|
|
1345
|
+
color: z69.string().default("#000000"),
|
|
1317
1346
|
schRotation: rotation4.default(0)
|
|
1318
1347
|
});
|
|
1319
1348
|
|
|
1320
1349
|
// lib/components/schematic-path.ts
|
|
1321
1350
|
import { point as point5 } from "circuit-json";
|
|
1322
|
-
import { z as
|
|
1323
|
-
var schematicPathProps =
|
|
1324
|
-
points:
|
|
1325
|
-
isFilled:
|
|
1326
|
-
fillColor:
|
|
1351
|
+
import { z as z70 } from "zod";
|
|
1352
|
+
var schematicPathProps = z70.object({
|
|
1353
|
+
points: z70.array(point5),
|
|
1354
|
+
isFilled: z70.boolean().optional().default(false),
|
|
1355
|
+
fillColor: z70.enum(["red", "blue"]).optional()
|
|
1327
1356
|
});
|
|
1328
1357
|
|
|
1329
1358
|
// lib/components/silkscreen-text.ts
|
|
1330
1359
|
import { length as length5 } from "circuit-json";
|
|
1331
|
-
import { z as
|
|
1360
|
+
import { z as z71 } from "zod";
|
|
1332
1361
|
var silkscreenTextProps = pcbLayoutProps.extend({
|
|
1333
|
-
text:
|
|
1362
|
+
text: z71.string(),
|
|
1334
1363
|
anchorAlignment: ninePointAnchor.default("center"),
|
|
1335
|
-
font:
|
|
1364
|
+
font: z71.enum(["tscircuit2024"]).optional(),
|
|
1336
1365
|
fontSize: length5.optional()
|
|
1337
1366
|
});
|
|
1338
1367
|
|
|
1339
1368
|
// lib/components/silkscreen-path.ts
|
|
1340
1369
|
import { length as length6, route_hint_point as route_hint_point5 } from "circuit-json";
|
|
1341
|
-
import { z as
|
|
1370
|
+
import { z as z72 } from "zod";
|
|
1342
1371
|
var silkscreenPathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
|
|
1343
|
-
route:
|
|
1372
|
+
route: z72.array(route_hint_point5),
|
|
1344
1373
|
strokeWidth: length6.optional()
|
|
1345
1374
|
});
|
|
1346
1375
|
|
|
@@ -1356,10 +1385,10 @@ var silkscreenLineProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotat
|
|
|
1356
1385
|
|
|
1357
1386
|
// lib/components/silkscreen-rect.ts
|
|
1358
1387
|
import { distance as distance23 } from "circuit-json";
|
|
1359
|
-
import { z as
|
|
1388
|
+
import { z as z73 } from "zod";
|
|
1360
1389
|
var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
1361
|
-
filled:
|
|
1362
|
-
stroke:
|
|
1390
|
+
filled: z73.boolean().default(true).optional(),
|
|
1391
|
+
stroke: z73.enum(["dashed", "solid", "none"]).optional(),
|
|
1363
1392
|
strokeWidth: distance23.optional(),
|
|
1364
1393
|
width: distance23,
|
|
1365
1394
|
height: distance23
|
|
@@ -1367,60 +1396,60 @@ var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
|
1367
1396
|
|
|
1368
1397
|
// lib/components/silkscreen-circle.ts
|
|
1369
1398
|
import { distance as distance24 } from "circuit-json";
|
|
1370
|
-
import { z as
|
|
1399
|
+
import { z as z74 } from "zod";
|
|
1371
1400
|
var silkscreenCircleProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
1372
|
-
isFilled:
|
|
1373
|
-
isOutline:
|
|
1401
|
+
isFilled: z74.boolean().optional(),
|
|
1402
|
+
isOutline: z74.boolean().optional(),
|
|
1374
1403
|
strokeWidth: distance24.optional(),
|
|
1375
1404
|
radius: distance24
|
|
1376
1405
|
});
|
|
1377
1406
|
|
|
1378
1407
|
// lib/components/trace-hint.ts
|
|
1379
1408
|
import { distance as distance25, layer_ref as layer_ref6, route_hint_point as route_hint_point6 } from "circuit-json";
|
|
1380
|
-
import { z as
|
|
1381
|
-
var routeHintPointProps =
|
|
1409
|
+
import { z as z75 } from "zod";
|
|
1410
|
+
var routeHintPointProps = z75.object({
|
|
1382
1411
|
x: distance25,
|
|
1383
1412
|
y: distance25,
|
|
1384
|
-
via:
|
|
1413
|
+
via: z75.boolean().optional(),
|
|
1385
1414
|
toLayer: layer_ref6.optional()
|
|
1386
1415
|
});
|
|
1387
|
-
var traceHintProps =
|
|
1388
|
-
for:
|
|
1416
|
+
var traceHintProps = z75.object({
|
|
1417
|
+
for: z75.string().optional().describe(
|
|
1389
1418
|
"Selector for the port you're targeting, not required if you're inside a trace"
|
|
1390
1419
|
),
|
|
1391
|
-
order:
|
|
1420
|
+
order: z75.number().optional(),
|
|
1392
1421
|
offset: route_hint_point6.or(routeHintPointProps).optional(),
|
|
1393
|
-
offsets:
|
|
1394
|
-
traceWidth:
|
|
1422
|
+
offsets: z75.array(route_hint_point6).or(z75.array(routeHintPointProps)).optional(),
|
|
1423
|
+
traceWidth: z75.number().optional()
|
|
1395
1424
|
});
|
|
1396
1425
|
|
|
1397
1426
|
// lib/components/port.ts
|
|
1398
|
-
import { z as
|
|
1427
|
+
import { z as z76 } from "zod";
|
|
1399
1428
|
var portProps = commonLayoutProps.extend({
|
|
1400
|
-
name:
|
|
1401
|
-
pinNumber:
|
|
1402
|
-
aliases:
|
|
1429
|
+
name: z76.string(),
|
|
1430
|
+
pinNumber: z76.number().optional(),
|
|
1431
|
+
aliases: z76.array(z76.string()).optional(),
|
|
1403
1432
|
direction
|
|
1404
1433
|
});
|
|
1405
1434
|
|
|
1406
1435
|
// lib/platformConfig.ts
|
|
1407
|
-
import { z as
|
|
1408
|
-
var unvalidatedCircuitJson =
|
|
1409
|
-
var pathToCircuitJsonFn =
|
|
1410
|
-
var platformConfig =
|
|
1436
|
+
import { z as z77 } from "zod";
|
|
1437
|
+
var unvalidatedCircuitJson = z77.array(z77.any()).describe("Circuit JSON");
|
|
1438
|
+
var pathToCircuitJsonFn = z77.function().args(z77.string()).returns(z77.promise(z77.object({ footprintCircuitJson: z77.array(z77.any()) }))).describe("A function that takes a path and returns Circuit JSON");
|
|
1439
|
+
var platformConfig = z77.object({
|
|
1411
1440
|
partsEngine: partsEngine.optional(),
|
|
1412
1441
|
autorouter: autorouterProp.optional(),
|
|
1413
|
-
registryApiUrl:
|
|
1414
|
-
cloudAutorouterUrl:
|
|
1415
|
-
localCacheEngine:
|
|
1416
|
-
pcbDisabled:
|
|
1417
|
-
schematicDisabled:
|
|
1418
|
-
partsEngineDisabled:
|
|
1419
|
-
footprintLibraryMap:
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1442
|
+
registryApiUrl: z77.string().optional(),
|
|
1443
|
+
cloudAutorouterUrl: z77.string().optional(),
|
|
1444
|
+
localCacheEngine: z77.any().optional(),
|
|
1445
|
+
pcbDisabled: z77.boolean().optional(),
|
|
1446
|
+
schematicDisabled: z77.boolean().optional(),
|
|
1447
|
+
partsEngineDisabled: z77.boolean().optional(),
|
|
1448
|
+
footprintLibraryMap: z77.record(
|
|
1449
|
+
z77.string(),
|
|
1450
|
+
z77.record(
|
|
1451
|
+
z77.string(),
|
|
1452
|
+
z77.union([unvalidatedCircuitJson, pathToCircuitJsonFn])
|
|
1424
1453
|
)
|
|
1425
1454
|
).optional()
|
|
1426
1455
|
});
|
|
@@ -1532,6 +1561,7 @@ export {
|
|
|
1532
1561
|
routeHintPointProps,
|
|
1533
1562
|
schematicBoxProps,
|
|
1534
1563
|
schematicLineProps,
|
|
1564
|
+
schematicOrientation,
|
|
1535
1565
|
schematicPathProps,
|
|
1536
1566
|
schematicPinArrangement,
|
|
1537
1567
|
schematicPinStyle,
|