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