easyeda 0.0.2

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.
Files changed (36) hide show
  1. package/README.md +59 -0
  2. package/ai-assist-docs/soup-reference.md +1325 -0
  3. package/bun.lockb +0 -0
  4. package/cli/main.ts +67 -0
  5. package/dist/cli/main.cjs +29264 -0
  6. package/dist/cli/main.cjs.map +1 -0
  7. package/dist/cli/main.d.cts +1 -0
  8. package/dist/index.cjs +29196 -0
  9. package/dist/index.cjs.map +1 -0
  10. package/dist/index.d.cts +1553 -0
  11. package/dist/lib/index.cjs +29196 -0
  12. package/dist/lib/index.cjs.map +1 -0
  13. package/dist/lib/index.d.cts +1553 -0
  14. package/lib/convert-easyeda-json-to-tscircuit-soup-json.ts +204 -0
  15. package/lib/fetch-easyeda-json.ts +66 -0
  16. package/lib/index.ts +2 -0
  17. package/lib/math/arc-utils.ts +170 -0
  18. package/lib/schemas/easy-eda-json-schema.ts +158 -0
  19. package/lib/schemas/package-detail-shape-schema.ts +251 -0
  20. package/lib/schemas/single-letter-shape-schema.ts +201 -0
  21. package/package.json +31 -0
  22. package/renovate.json +6 -0
  23. package/scripts/get-easyeda-json.ts +12 -0
  24. package/tests/assets/a555-timer-dip.raweasy.json +244 -0
  25. package/tests/assets/a555-timer-smd.raweasy.json +226 -0
  26. package/tests/assets/esp32.raweasy.json +333 -0
  27. package/tests/assets/usb-c.raweasy.json +263 -0
  28. package/tests/convert-to-soup-tests/a555timer-smd.test.ts +18 -0
  29. package/tests/convert-to-soup-tests/convert-easyeda-to-tscircuit-soup.test.ts +49 -0
  30. package/tests/convert-to-soup-tests/convert-usb-c-to-soup.test.ts +18 -0
  31. package/tests/convert-to-soup-tests/esp32-to-soup.test.ts +13 -0
  32. package/tests/parse-tests/parse-555-timer-json.test.ts +9 -0
  33. package/tests/parse-tests/parse-esp32.test.ts +9 -0
  34. package/tests/parse-tests/parse-usb-c.test.ts +9 -0
  35. package/tests/parse-tests/single-letter-shape-schema.test.ts +30 -0
  36. package/tsconfig.json +28 -0
@@ -0,0 +1,1553 @@
1
+ import { z } from 'zod';
2
+ import { AnySoupElement } from '@tscircuit/soup';
3
+
4
+ declare const EasyEdaJsonSchema: z.ZodObject<{
5
+ uuid: z.ZodString;
6
+ title: z.ZodString;
7
+ description: z.ZodString;
8
+ docType: z.ZodNumber;
9
+ type: z.ZodNumber;
10
+ szlcsc: z.ZodObject<{
11
+ id: z.ZodNumber;
12
+ number: z.ZodString;
13
+ step: z.ZodOptional<z.ZodNumber>;
14
+ min: z.ZodOptional<z.ZodNumber>;
15
+ price: z.ZodOptional<z.ZodNumber>;
16
+ stock: z.ZodOptional<z.ZodNumber>;
17
+ url: z.ZodOptional<z.ZodString>;
18
+ image: z.ZodOptional<z.ZodOptional<z.ZodString>>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ number: string;
21
+ id: number;
22
+ url?: string | undefined;
23
+ min?: number | undefined;
24
+ step?: number | undefined;
25
+ price?: number | undefined;
26
+ stock?: number | undefined;
27
+ image?: string | undefined;
28
+ }, {
29
+ number: string;
30
+ id: number;
31
+ url?: string | undefined;
32
+ min?: number | undefined;
33
+ step?: number | undefined;
34
+ price?: number | undefined;
35
+ stock?: number | undefined;
36
+ image?: string | undefined;
37
+ }>;
38
+ lcsc: z.ZodObject<{
39
+ id: z.ZodNumber;
40
+ number: z.ZodString;
41
+ step: z.ZodOptional<z.ZodNumber>;
42
+ min: z.ZodOptional<z.ZodNumber>;
43
+ price: z.ZodOptional<z.ZodNumber>;
44
+ stock: z.ZodOptional<z.ZodNumber>;
45
+ url: z.ZodOptional<z.ZodString>;
46
+ }, "strip", z.ZodTypeAny, {
47
+ number: string;
48
+ id: number;
49
+ url?: string | undefined;
50
+ min?: number | undefined;
51
+ step?: number | undefined;
52
+ price?: number | undefined;
53
+ stock?: number | undefined;
54
+ }, {
55
+ number: string;
56
+ id: number;
57
+ url?: string | undefined;
58
+ min?: number | undefined;
59
+ step?: number | undefined;
60
+ price?: number | undefined;
61
+ stock?: number | undefined;
62
+ }>;
63
+ owner: z.ZodObject<{
64
+ uuid: z.ZodString;
65
+ username: z.ZodString;
66
+ nickname: z.ZodString;
67
+ avatar: z.ZodString;
68
+ }, "strip", z.ZodTypeAny, {
69
+ uuid: string;
70
+ username: string;
71
+ nickname: string;
72
+ avatar: string;
73
+ }, {
74
+ uuid: string;
75
+ username: string;
76
+ nickname: string;
77
+ avatar: string;
78
+ }>;
79
+ tags: z.ZodArray<z.ZodString, "many">;
80
+ updateTime: z.ZodNumber;
81
+ updated_at: z.ZodString;
82
+ dataStr: z.ZodObject<{
83
+ head: z.ZodObject<{
84
+ docType: z.ZodString;
85
+ editorVersion: z.ZodString;
86
+ c_para: z.ZodRecord<z.ZodString, z.ZodString>;
87
+ x: z.ZodNumber;
88
+ y: z.ZodNumber;
89
+ puuid: z.ZodOptional<z.ZodString>;
90
+ uuid: z.ZodString;
91
+ utime: z.ZodNumber;
92
+ importFlag: z.ZodNumber;
93
+ c_spiceCmd: z.ZodOptional<z.ZodAny>;
94
+ hasIdFlag: z.ZodBoolean;
95
+ }, "strip", z.ZodTypeAny, {
96
+ x: number;
97
+ y: number;
98
+ uuid: string;
99
+ docType: string;
100
+ editorVersion: string;
101
+ c_para: Record<string, string>;
102
+ utime: number;
103
+ importFlag: number;
104
+ hasIdFlag: boolean;
105
+ puuid?: string | undefined;
106
+ c_spiceCmd?: any;
107
+ }, {
108
+ x: number;
109
+ y: number;
110
+ uuid: string;
111
+ docType: string;
112
+ editorVersion: string;
113
+ c_para: Record<string, string>;
114
+ utime: number;
115
+ importFlag: number;
116
+ hasIdFlag: boolean;
117
+ puuid?: string | undefined;
118
+ c_spiceCmd?: any;
119
+ }>;
120
+ canvas: z.ZodString;
121
+ shape: z.ZodArray<z.ZodPipeline<z.ZodEffects<z.ZodString, {
122
+ type: "RECTANGLE";
123
+ id: string;
124
+ width: number;
125
+ height: number;
126
+ position: {
127
+ x: number;
128
+ y: number;
129
+ };
130
+ color: string;
131
+ lineWidth: number;
132
+ } | {
133
+ type: "ELLIPSE";
134
+ id: string;
135
+ center: {
136
+ x: number;
137
+ y: number;
138
+ };
139
+ radiusX: number;
140
+ radiusY: number;
141
+ color: string;
142
+ lineWidth: number;
143
+ } | {
144
+ x: number;
145
+ y: number;
146
+ path: string;
147
+ type: "PIN";
148
+ id: string;
149
+ rotation: number;
150
+ visibility: "show" | "hide";
151
+ pinNumber: number;
152
+ label: string;
153
+ labelColor: string;
154
+ arrow: string;
155
+ }, string>, z.ZodUnion<[z.ZodObject<{
156
+ type: z.ZodLiteral<"RECTANGLE">;
157
+ position: z.ZodObject<{
158
+ x: z.ZodNumber;
159
+ y: z.ZodNumber;
160
+ }, "strip", z.ZodTypeAny, {
161
+ x: number;
162
+ y: number;
163
+ }, {
164
+ x: number;
165
+ y: number;
166
+ }>;
167
+ width: z.ZodNumber;
168
+ height: z.ZodNumber;
169
+ color: z.ZodString;
170
+ lineWidth: z.ZodNumber;
171
+ id: z.ZodString;
172
+ }, "strip", z.ZodTypeAny, {
173
+ type: "RECTANGLE";
174
+ id: string;
175
+ width: number;
176
+ height: number;
177
+ position: {
178
+ x: number;
179
+ y: number;
180
+ };
181
+ color: string;
182
+ lineWidth: number;
183
+ }, {
184
+ type: "RECTANGLE";
185
+ id: string;
186
+ width: number;
187
+ height: number;
188
+ position: {
189
+ x: number;
190
+ y: number;
191
+ };
192
+ color: string;
193
+ lineWidth: number;
194
+ }>, z.ZodObject<{
195
+ type: z.ZodLiteral<"ELLIPSE">;
196
+ center: z.ZodObject<{
197
+ x: z.ZodNumber;
198
+ y: z.ZodNumber;
199
+ }, "strip", z.ZodTypeAny, {
200
+ x: number;
201
+ y: number;
202
+ }, {
203
+ x: number;
204
+ y: number;
205
+ }>;
206
+ radiusX: z.ZodNumber;
207
+ radiusY: z.ZodNumber;
208
+ color: z.ZodString;
209
+ lineWidth: z.ZodNumber;
210
+ id: z.ZodString;
211
+ }, "strip", z.ZodTypeAny, {
212
+ type: "ELLIPSE";
213
+ id: string;
214
+ center: {
215
+ x: number;
216
+ y: number;
217
+ };
218
+ radiusX: number;
219
+ radiusY: number;
220
+ color: string;
221
+ lineWidth: number;
222
+ }, {
223
+ type: "ELLIPSE";
224
+ id: string;
225
+ center: {
226
+ x: number;
227
+ y: number;
228
+ };
229
+ radiusX: number;
230
+ radiusY: number;
231
+ color: string;
232
+ lineWidth: number;
233
+ }>, z.ZodObject<{
234
+ type: z.ZodLiteral<"PIN">;
235
+ visibility: z.ZodEnum<["show", "hide"]>;
236
+ pinNumber: z.ZodNumber;
237
+ x: z.ZodNumber;
238
+ y: z.ZodNumber;
239
+ rotation: z.ZodNumber;
240
+ id: z.ZodString;
241
+ label: z.ZodString;
242
+ labelColor: z.ZodString;
243
+ path: z.ZodString;
244
+ arrow: z.ZodString;
245
+ }, "strip", z.ZodTypeAny, {
246
+ x: number;
247
+ y: number;
248
+ path: string;
249
+ type: "PIN";
250
+ id: string;
251
+ rotation: number;
252
+ visibility: "show" | "hide";
253
+ pinNumber: number;
254
+ label: string;
255
+ labelColor: string;
256
+ arrow: string;
257
+ }, {
258
+ x: number;
259
+ y: number;
260
+ path: string;
261
+ type: "PIN";
262
+ id: string;
263
+ rotation: number;
264
+ visibility: "show" | "hide";
265
+ pinNumber: number;
266
+ label: string;
267
+ labelColor: string;
268
+ arrow: string;
269
+ }>]>>, "many">;
270
+ BBox: z.ZodObject<{
271
+ x: z.ZodNumber;
272
+ y: z.ZodNumber;
273
+ width: z.ZodNumber;
274
+ height: z.ZodNumber;
275
+ }, "strip", z.ZodTypeAny, {
276
+ x: number;
277
+ y: number;
278
+ width: number;
279
+ height: number;
280
+ }, {
281
+ x: number;
282
+ y: number;
283
+ width: number;
284
+ height: number;
285
+ }>;
286
+ colors: z.ZodArray<z.ZodUnknown, "many">;
287
+ }, "strip", z.ZodTypeAny, {
288
+ shape: ({
289
+ type: "RECTANGLE";
290
+ id: string;
291
+ width: number;
292
+ height: number;
293
+ position: {
294
+ x: number;
295
+ y: number;
296
+ };
297
+ color: string;
298
+ lineWidth: number;
299
+ } | {
300
+ type: "ELLIPSE";
301
+ id: string;
302
+ center: {
303
+ x: number;
304
+ y: number;
305
+ };
306
+ radiusX: number;
307
+ radiusY: number;
308
+ color: string;
309
+ lineWidth: number;
310
+ } | {
311
+ x: number;
312
+ y: number;
313
+ path: string;
314
+ type: "PIN";
315
+ id: string;
316
+ rotation: number;
317
+ visibility: "show" | "hide";
318
+ pinNumber: number;
319
+ label: string;
320
+ labelColor: string;
321
+ arrow: string;
322
+ })[];
323
+ head: {
324
+ x: number;
325
+ y: number;
326
+ uuid: string;
327
+ docType: string;
328
+ editorVersion: string;
329
+ c_para: Record<string, string>;
330
+ utime: number;
331
+ importFlag: number;
332
+ hasIdFlag: boolean;
333
+ puuid?: string | undefined;
334
+ c_spiceCmd?: any;
335
+ };
336
+ canvas: string;
337
+ BBox: {
338
+ x: number;
339
+ y: number;
340
+ width: number;
341
+ height: number;
342
+ };
343
+ colors: unknown[];
344
+ }, {
345
+ shape: string[];
346
+ head: {
347
+ x: number;
348
+ y: number;
349
+ uuid: string;
350
+ docType: string;
351
+ editorVersion: string;
352
+ c_para: Record<string, string>;
353
+ utime: number;
354
+ importFlag: number;
355
+ hasIdFlag: boolean;
356
+ puuid?: string | undefined;
357
+ c_spiceCmd?: any;
358
+ };
359
+ canvas: string;
360
+ BBox: {
361
+ x: number;
362
+ y: number;
363
+ width: number;
364
+ height: number;
365
+ };
366
+ colors: unknown[];
367
+ }>;
368
+ verify: z.ZodBoolean;
369
+ SMT: z.ZodBoolean;
370
+ datastrid: z.ZodString;
371
+ jlcOnSale: z.ZodNumber;
372
+ writable: z.ZodBoolean;
373
+ isFavorite: z.ZodBoolean;
374
+ packageDetail: z.ZodObject<{
375
+ uuid: z.ZodString;
376
+ title: z.ZodString;
377
+ docType: z.ZodNumber;
378
+ updateTime: z.ZodNumber;
379
+ owner: z.ZodObject<{
380
+ uuid: z.ZodString;
381
+ username: z.ZodString;
382
+ nickname: z.ZodString;
383
+ avatar: z.ZodString;
384
+ }, "strip", z.ZodTypeAny, {
385
+ uuid: string;
386
+ username: string;
387
+ nickname: string;
388
+ avatar: string;
389
+ }, {
390
+ uuid: string;
391
+ username: string;
392
+ nickname: string;
393
+ avatar: string;
394
+ }>;
395
+ datastrid: z.ZodString;
396
+ writable: z.ZodBoolean;
397
+ dataStr: z.ZodObject<{
398
+ head: z.ZodObject<{
399
+ docType: z.ZodString;
400
+ editorVersion: z.ZodString;
401
+ c_para: z.ZodRecord<z.ZodString, z.ZodString>;
402
+ x: z.ZodNumber;
403
+ y: z.ZodNumber;
404
+ puuid: z.ZodOptional<z.ZodString>;
405
+ uuid: z.ZodString;
406
+ utime: z.ZodNumber;
407
+ importFlag: z.ZodNumber;
408
+ c_spiceCmd: z.ZodOptional<z.ZodAny>;
409
+ hasIdFlag: z.ZodBoolean;
410
+ }, "strip", z.ZodTypeAny, {
411
+ x: number;
412
+ y: number;
413
+ uuid: string;
414
+ docType: string;
415
+ editorVersion: string;
416
+ c_para: Record<string, string>;
417
+ utime: number;
418
+ importFlag: number;
419
+ hasIdFlag: boolean;
420
+ puuid?: string | undefined;
421
+ c_spiceCmd?: any;
422
+ }, {
423
+ x: number;
424
+ y: number;
425
+ uuid: string;
426
+ docType: string;
427
+ editorVersion: string;
428
+ c_para: Record<string, string>;
429
+ utime: number;
430
+ importFlag: number;
431
+ hasIdFlag: boolean;
432
+ puuid?: string | undefined;
433
+ c_spiceCmd?: any;
434
+ }>;
435
+ canvas: z.ZodString;
436
+ shape: z.ZodPipeline<z.ZodEffects<z.ZodArray<z.ZodString, "many">, ({
437
+ type: "TRACK";
438
+ width: number;
439
+ points: {
440
+ x: number;
441
+ y: number;
442
+ }[];
443
+ id?: string | undefined;
444
+ layer?: number | undefined;
445
+ } | {
446
+ number: number;
447
+ type: "PAD";
448
+ width: number;
449
+ shape: "RECT" | "ELLIPSE" | "OVAL";
450
+ center: {
451
+ x: number;
452
+ y: number;
453
+ };
454
+ height: number;
455
+ layermask: number;
456
+ holeRadius: number;
457
+ plated: boolean;
458
+ id?: string | undefined;
459
+ layer?: number | undefined;
460
+ points?: {
461
+ x: number;
462
+ y: number;
463
+ }[] | undefined;
464
+ net?: string | number | undefined;
465
+ rotation?: number | undefined;
466
+ } | {
467
+ type: "ARC";
468
+ width: number;
469
+ start: {
470
+ x: number;
471
+ y: number;
472
+ };
473
+ end: {
474
+ x: number;
475
+ y: number;
476
+ };
477
+ radiusX: number;
478
+ radiusY: number;
479
+ largeArc: boolean;
480
+ sweepDirection: "CW" | "CCW";
481
+ id?: string | undefined;
482
+ layer?: number | undefined;
483
+ } | {
484
+ type: "CIRCLE";
485
+ width: number;
486
+ center: {
487
+ x: number;
488
+ y: number;
489
+ };
490
+ radius: number;
491
+ id?: string | undefined;
492
+ layer?: number | undefined;
493
+ } | {
494
+ type: "SOLIDREGION";
495
+ points: {
496
+ x: number;
497
+ y: number;
498
+ }[];
499
+ layermask: number;
500
+ fillStyle: string;
501
+ id?: string | undefined;
502
+ layer?: number | undefined;
503
+ } | {
504
+ type: "SVGNODE";
505
+ svgData: {
506
+ gId: string;
507
+ nodeName: string;
508
+ nodeType: number;
509
+ layerid: string;
510
+ attrs: Record<string, string>;
511
+ childNodes: unknown[];
512
+ };
513
+ id?: string | undefined;
514
+ layer?: number | undefined;
515
+ } | {
516
+ type: "HOLE";
517
+ center: {
518
+ x: number;
519
+ y: number;
520
+ };
521
+ radius: number;
522
+ id?: string | undefined;
523
+ layer?: number | undefined;
524
+ })[], string[]>, z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<z.objectUtil.extendShape<{
525
+ type: z.ZodString;
526
+ id: z.ZodOptional<z.ZodString>;
527
+ layer: z.ZodOptional<z.ZodNumber>;
528
+ }, {
529
+ type: z.ZodLiteral<"TRACK">;
530
+ width: z.ZodNumber;
531
+ points: z.ZodArray<z.ZodPipeline<z.ZodEffects<z.ZodAny, any, any>, z.ZodObject<{
532
+ x: z.ZodNumber;
533
+ y: z.ZodNumber;
534
+ }, "strip", z.ZodTypeAny, {
535
+ x: number;
536
+ y: number;
537
+ }, {
538
+ x: number;
539
+ y: number;
540
+ }>>, "many">;
541
+ }>, "strip", z.ZodTypeAny, {
542
+ type: "TRACK";
543
+ width: number;
544
+ points: {
545
+ x: number;
546
+ y: number;
547
+ }[];
548
+ id?: string | undefined;
549
+ layer?: number | undefined;
550
+ }, {
551
+ type: "TRACK";
552
+ width: number;
553
+ points: any[];
554
+ id?: string | undefined;
555
+ layer?: number | undefined;
556
+ }>, z.ZodObject<z.objectUtil.extendShape<{
557
+ type: z.ZodString;
558
+ id: z.ZodOptional<z.ZodString>;
559
+ layer: z.ZodOptional<z.ZodNumber>;
560
+ }, {
561
+ type: z.ZodLiteral<"PAD">;
562
+ shape: z.ZodEnum<["RECT", "ELLIPSE", "OVAL"]>;
563
+ center: z.ZodObject<{
564
+ x: z.ZodNumber;
565
+ y: z.ZodNumber;
566
+ }, "strip", z.ZodTypeAny, {
567
+ x: number;
568
+ y: number;
569
+ }, {
570
+ x: number;
571
+ y: number;
572
+ }>;
573
+ width: z.ZodNumber;
574
+ height: z.ZodNumber;
575
+ layermask: z.ZodNumber;
576
+ net: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
577
+ number: z.ZodNumber;
578
+ holeRadius: z.ZodNumber;
579
+ points: z.ZodOptional<z.ZodArray<z.ZodPipeline<z.ZodEffects<z.ZodAny, any, any>, z.ZodObject<{
580
+ x: z.ZodNumber;
581
+ y: z.ZodNumber;
582
+ }, "strip", z.ZodTypeAny, {
583
+ x: number;
584
+ y: number;
585
+ }, {
586
+ x: number;
587
+ y: number;
588
+ }>>, "many">>;
589
+ rotation: z.ZodOptional<z.ZodNumber>;
590
+ plated: z.ZodBoolean;
591
+ }>, "strip", z.ZodTypeAny, {
592
+ number: number;
593
+ type: "PAD";
594
+ width: number;
595
+ shape: "RECT" | "ELLIPSE" | "OVAL";
596
+ center: {
597
+ x: number;
598
+ y: number;
599
+ };
600
+ height: number;
601
+ layermask: number;
602
+ holeRadius: number;
603
+ plated: boolean;
604
+ id?: string | undefined;
605
+ layer?: number | undefined;
606
+ points?: {
607
+ x: number;
608
+ y: number;
609
+ }[] | undefined;
610
+ net?: string | number | undefined;
611
+ rotation?: number | undefined;
612
+ }, {
613
+ number: number;
614
+ type: "PAD";
615
+ width: number;
616
+ shape: "RECT" | "ELLIPSE" | "OVAL";
617
+ center: {
618
+ x: number;
619
+ y: number;
620
+ };
621
+ height: number;
622
+ layermask: number;
623
+ holeRadius: number;
624
+ plated: boolean;
625
+ id?: string | undefined;
626
+ layer?: number | undefined;
627
+ points?: any[] | undefined;
628
+ net?: string | number | undefined;
629
+ rotation?: number | undefined;
630
+ }>, z.ZodObject<z.objectUtil.extendShape<{
631
+ type: z.ZodString;
632
+ id: z.ZodOptional<z.ZodString>;
633
+ layer: z.ZodOptional<z.ZodNumber>;
634
+ }, {
635
+ type: z.ZodLiteral<"ARC">;
636
+ width: z.ZodNumber;
637
+ start: z.ZodPipeline<z.ZodEffects<z.ZodAny, any, any>, z.ZodObject<{
638
+ x: z.ZodNumber;
639
+ y: z.ZodNumber;
640
+ }, "strip", z.ZodTypeAny, {
641
+ x: number;
642
+ y: number;
643
+ }, {
644
+ x: number;
645
+ y: number;
646
+ }>>;
647
+ end: z.ZodPipeline<z.ZodEffects<z.ZodAny, any, any>, z.ZodObject<{
648
+ x: z.ZodNumber;
649
+ y: z.ZodNumber;
650
+ }, "strip", z.ZodTypeAny, {
651
+ x: number;
652
+ y: number;
653
+ }, {
654
+ x: number;
655
+ y: number;
656
+ }>>;
657
+ radiusX: z.ZodNumber;
658
+ radiusY: z.ZodNumber;
659
+ largeArc: z.ZodBoolean;
660
+ sweepDirection: z.ZodEnum<["CW", "CCW"]>;
661
+ }>, "strip", z.ZodTypeAny, {
662
+ type: "ARC";
663
+ width: number;
664
+ start: {
665
+ x: number;
666
+ y: number;
667
+ };
668
+ end: {
669
+ x: number;
670
+ y: number;
671
+ };
672
+ radiusX: number;
673
+ radiusY: number;
674
+ largeArc: boolean;
675
+ sweepDirection: "CW" | "CCW";
676
+ id?: string | undefined;
677
+ layer?: number | undefined;
678
+ }, {
679
+ type: "ARC";
680
+ width: number;
681
+ radiusX: number;
682
+ radiusY: number;
683
+ largeArc: boolean;
684
+ sweepDirection: "CW" | "CCW";
685
+ id?: string | undefined;
686
+ layer?: number | undefined;
687
+ start?: any;
688
+ end?: any;
689
+ }>, z.ZodObject<z.objectUtil.extendShape<{
690
+ type: z.ZodString;
691
+ id: z.ZodOptional<z.ZodString>;
692
+ layer: z.ZodOptional<z.ZodNumber>;
693
+ }, {
694
+ type: z.ZodLiteral<"CIRCLE">;
695
+ center: z.ZodPipeline<z.ZodEffects<z.ZodAny, any, any>, z.ZodObject<{
696
+ x: z.ZodNumber;
697
+ y: z.ZodNumber;
698
+ }, "strip", z.ZodTypeAny, {
699
+ x: number;
700
+ y: number;
701
+ }, {
702
+ x: number;
703
+ y: number;
704
+ }>>;
705
+ radius: z.ZodNumber;
706
+ width: z.ZodNumber;
707
+ }>, "strip", z.ZodTypeAny, {
708
+ type: "CIRCLE";
709
+ width: number;
710
+ center: {
711
+ x: number;
712
+ y: number;
713
+ };
714
+ radius: number;
715
+ id?: string | undefined;
716
+ layer?: number | undefined;
717
+ }, {
718
+ type: "CIRCLE";
719
+ width: number;
720
+ radius: number;
721
+ id?: string | undefined;
722
+ layer?: number | undefined;
723
+ center?: any;
724
+ }>, z.ZodObject<z.objectUtil.extendShape<{
725
+ type: z.ZodString;
726
+ id: z.ZodOptional<z.ZodString>;
727
+ layer: z.ZodOptional<z.ZodNumber>;
728
+ }, {
729
+ type: z.ZodLiteral<"SOLIDREGION">;
730
+ layermask: z.ZodNumber;
731
+ points: z.ZodArray<z.ZodPipeline<z.ZodEffects<z.ZodAny, any, any>, z.ZodObject<{
732
+ x: z.ZodNumber;
733
+ y: z.ZodNumber;
734
+ }, "strip", z.ZodTypeAny, {
735
+ x: number;
736
+ y: number;
737
+ }, {
738
+ x: number;
739
+ y: number;
740
+ }>>, "many">;
741
+ fillStyle: z.ZodString;
742
+ }>, "strip", z.ZodTypeAny, {
743
+ type: "SOLIDREGION";
744
+ points: {
745
+ x: number;
746
+ y: number;
747
+ }[];
748
+ layermask: number;
749
+ fillStyle: string;
750
+ id?: string | undefined;
751
+ layer?: number | undefined;
752
+ }, {
753
+ type: "SOLIDREGION";
754
+ points: any[];
755
+ layermask: number;
756
+ fillStyle: string;
757
+ id?: string | undefined;
758
+ layer?: number | undefined;
759
+ }>, z.ZodObject<z.objectUtil.extendShape<{
760
+ type: z.ZodString;
761
+ id: z.ZodOptional<z.ZodString>;
762
+ layer: z.ZodOptional<z.ZodNumber>;
763
+ }, {
764
+ type: z.ZodLiteral<"SVGNODE">;
765
+ svgData: z.ZodObject<{
766
+ gId: z.ZodString;
767
+ nodeName: z.ZodString;
768
+ nodeType: z.ZodNumber;
769
+ layerid: z.ZodString;
770
+ attrs: z.ZodRecord<z.ZodString, z.ZodString>;
771
+ childNodes: z.ZodArray<z.ZodUnknown, "many">;
772
+ }, "strip", z.ZodTypeAny, {
773
+ gId: string;
774
+ nodeName: string;
775
+ nodeType: number;
776
+ layerid: string;
777
+ attrs: Record<string, string>;
778
+ childNodes: unknown[];
779
+ }, {
780
+ gId: string;
781
+ nodeName: string;
782
+ nodeType: number;
783
+ layerid: string;
784
+ attrs: Record<string, string>;
785
+ childNodes: unknown[];
786
+ }>;
787
+ }>, "strip", z.ZodTypeAny, {
788
+ type: "SVGNODE";
789
+ svgData: {
790
+ gId: string;
791
+ nodeName: string;
792
+ nodeType: number;
793
+ layerid: string;
794
+ attrs: Record<string, string>;
795
+ childNodes: unknown[];
796
+ };
797
+ id?: string | undefined;
798
+ layer?: number | undefined;
799
+ }, {
800
+ type: "SVGNODE";
801
+ svgData: {
802
+ gId: string;
803
+ nodeName: string;
804
+ nodeType: number;
805
+ layerid: string;
806
+ attrs: Record<string, string>;
807
+ childNodes: unknown[];
808
+ };
809
+ id?: string | undefined;
810
+ layer?: number | undefined;
811
+ }>, z.ZodObject<z.objectUtil.extendShape<{
812
+ type: z.ZodString;
813
+ id: z.ZodOptional<z.ZodString>;
814
+ layer: z.ZodOptional<z.ZodNumber>;
815
+ }, {
816
+ type: z.ZodLiteral<"HOLE">;
817
+ center: z.ZodPipeline<z.ZodEffects<z.ZodAny, any, any>, z.ZodObject<{
818
+ x: z.ZodNumber;
819
+ y: z.ZodNumber;
820
+ }, "strip", z.ZodTypeAny, {
821
+ x: number;
822
+ y: number;
823
+ }, {
824
+ x: number;
825
+ y: number;
826
+ }>>;
827
+ radius: z.ZodNumber;
828
+ }>, "strip", z.ZodTypeAny, {
829
+ type: "HOLE";
830
+ center: {
831
+ x: number;
832
+ y: number;
833
+ };
834
+ radius: number;
835
+ id?: string | undefined;
836
+ layer?: number | undefined;
837
+ }, {
838
+ type: "HOLE";
839
+ radius: number;
840
+ id?: string | undefined;
841
+ layer?: number | undefined;
842
+ center?: any;
843
+ }>]>, "many">>;
844
+ layers: z.ZodEffects<z.ZodArray<z.ZodString, "many">, {
845
+ color: string;
846
+ name: string;
847
+ visible: boolean;
848
+ active: boolean;
849
+ config: boolean;
850
+ transparency: boolean;
851
+ }[], string[]>;
852
+ objects: z.ZodEffects<z.ZodArray<z.ZodString, "many">, {
853
+ name: string;
854
+ visible: boolean;
855
+ locked: boolean;
856
+ }[], string[]>;
857
+ BBox: z.ZodObject<{
858
+ x: z.ZodNumber;
859
+ y: z.ZodNumber;
860
+ width: z.ZodNumber;
861
+ height: z.ZodNumber;
862
+ }, "strip", z.ZodTypeAny, {
863
+ x: number;
864
+ y: number;
865
+ width: number;
866
+ height: number;
867
+ }, {
868
+ x: number;
869
+ y: number;
870
+ width: number;
871
+ height: number;
872
+ }>;
873
+ netColors: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
874
+ }, "strip", z.ZodTypeAny, {
875
+ shape: ({
876
+ type: "TRACK";
877
+ width: number;
878
+ points: {
879
+ x: number;
880
+ y: number;
881
+ }[];
882
+ id?: string | undefined;
883
+ layer?: number | undefined;
884
+ } | {
885
+ number: number;
886
+ type: "PAD";
887
+ width: number;
888
+ shape: "RECT" | "ELLIPSE" | "OVAL";
889
+ center: {
890
+ x: number;
891
+ y: number;
892
+ };
893
+ height: number;
894
+ layermask: number;
895
+ holeRadius: number;
896
+ plated: boolean;
897
+ id?: string | undefined;
898
+ layer?: number | undefined;
899
+ points?: {
900
+ x: number;
901
+ y: number;
902
+ }[] | undefined;
903
+ net?: string | number | undefined;
904
+ rotation?: number | undefined;
905
+ } | {
906
+ type: "ARC";
907
+ width: number;
908
+ start: {
909
+ x: number;
910
+ y: number;
911
+ };
912
+ end: {
913
+ x: number;
914
+ y: number;
915
+ };
916
+ radiusX: number;
917
+ radiusY: number;
918
+ largeArc: boolean;
919
+ sweepDirection: "CW" | "CCW";
920
+ id?: string | undefined;
921
+ layer?: number | undefined;
922
+ } | {
923
+ type: "CIRCLE";
924
+ width: number;
925
+ center: {
926
+ x: number;
927
+ y: number;
928
+ };
929
+ radius: number;
930
+ id?: string | undefined;
931
+ layer?: number | undefined;
932
+ } | {
933
+ type: "SOLIDREGION";
934
+ points: {
935
+ x: number;
936
+ y: number;
937
+ }[];
938
+ layermask: number;
939
+ fillStyle: string;
940
+ id?: string | undefined;
941
+ layer?: number | undefined;
942
+ } | {
943
+ type: "SVGNODE";
944
+ svgData: {
945
+ gId: string;
946
+ nodeName: string;
947
+ nodeType: number;
948
+ layerid: string;
949
+ attrs: Record<string, string>;
950
+ childNodes: unknown[];
951
+ };
952
+ id?: string | undefined;
953
+ layer?: number | undefined;
954
+ } | {
955
+ type: "HOLE";
956
+ center: {
957
+ x: number;
958
+ y: number;
959
+ };
960
+ radius: number;
961
+ id?: string | undefined;
962
+ layer?: number | undefined;
963
+ })[];
964
+ head: {
965
+ x: number;
966
+ y: number;
967
+ uuid: string;
968
+ docType: string;
969
+ editorVersion: string;
970
+ c_para: Record<string, string>;
971
+ utime: number;
972
+ importFlag: number;
973
+ hasIdFlag: boolean;
974
+ puuid?: string | undefined;
975
+ c_spiceCmd?: any;
976
+ };
977
+ canvas: string;
978
+ BBox: {
979
+ x: number;
980
+ y: number;
981
+ width: number;
982
+ height: number;
983
+ };
984
+ layers: {
985
+ color: string;
986
+ name: string;
987
+ visible: boolean;
988
+ active: boolean;
989
+ config: boolean;
990
+ transparency: boolean;
991
+ }[];
992
+ objects: {
993
+ name: string;
994
+ visible: boolean;
995
+ locked: boolean;
996
+ }[];
997
+ netColors?: unknown[] | undefined;
998
+ }, {
999
+ shape: string[];
1000
+ head: {
1001
+ x: number;
1002
+ y: number;
1003
+ uuid: string;
1004
+ docType: string;
1005
+ editorVersion: string;
1006
+ c_para: Record<string, string>;
1007
+ utime: number;
1008
+ importFlag: number;
1009
+ hasIdFlag: boolean;
1010
+ puuid?: string | undefined;
1011
+ c_spiceCmd?: any;
1012
+ };
1013
+ canvas: string;
1014
+ BBox: {
1015
+ x: number;
1016
+ y: number;
1017
+ width: number;
1018
+ height: number;
1019
+ };
1020
+ layers: string[];
1021
+ objects: string[];
1022
+ netColors?: unknown[] | undefined;
1023
+ }>;
1024
+ }, "strip", z.ZodTypeAny, {
1025
+ uuid: string;
1026
+ docType: number;
1027
+ title: string;
1028
+ updateTime: number;
1029
+ owner: {
1030
+ uuid: string;
1031
+ username: string;
1032
+ nickname: string;
1033
+ avatar: string;
1034
+ };
1035
+ datastrid: string;
1036
+ writable: boolean;
1037
+ dataStr: {
1038
+ shape: ({
1039
+ type: "TRACK";
1040
+ width: number;
1041
+ points: {
1042
+ x: number;
1043
+ y: number;
1044
+ }[];
1045
+ id?: string | undefined;
1046
+ layer?: number | undefined;
1047
+ } | {
1048
+ number: number;
1049
+ type: "PAD";
1050
+ width: number;
1051
+ shape: "RECT" | "ELLIPSE" | "OVAL";
1052
+ center: {
1053
+ x: number;
1054
+ y: number;
1055
+ };
1056
+ height: number;
1057
+ layermask: number;
1058
+ holeRadius: number;
1059
+ plated: boolean;
1060
+ id?: string | undefined;
1061
+ layer?: number | undefined;
1062
+ points?: {
1063
+ x: number;
1064
+ y: number;
1065
+ }[] | undefined;
1066
+ net?: string | number | undefined;
1067
+ rotation?: number | undefined;
1068
+ } | {
1069
+ type: "ARC";
1070
+ width: number;
1071
+ start: {
1072
+ x: number;
1073
+ y: number;
1074
+ };
1075
+ end: {
1076
+ x: number;
1077
+ y: number;
1078
+ };
1079
+ radiusX: number;
1080
+ radiusY: number;
1081
+ largeArc: boolean;
1082
+ sweepDirection: "CW" | "CCW";
1083
+ id?: string | undefined;
1084
+ layer?: number | undefined;
1085
+ } | {
1086
+ type: "CIRCLE";
1087
+ width: number;
1088
+ center: {
1089
+ x: number;
1090
+ y: number;
1091
+ };
1092
+ radius: number;
1093
+ id?: string | undefined;
1094
+ layer?: number | undefined;
1095
+ } | {
1096
+ type: "SOLIDREGION";
1097
+ points: {
1098
+ x: number;
1099
+ y: number;
1100
+ }[];
1101
+ layermask: number;
1102
+ fillStyle: string;
1103
+ id?: string | undefined;
1104
+ layer?: number | undefined;
1105
+ } | {
1106
+ type: "SVGNODE";
1107
+ svgData: {
1108
+ gId: string;
1109
+ nodeName: string;
1110
+ nodeType: number;
1111
+ layerid: string;
1112
+ attrs: Record<string, string>;
1113
+ childNodes: unknown[];
1114
+ };
1115
+ id?: string | undefined;
1116
+ layer?: number | undefined;
1117
+ } | {
1118
+ type: "HOLE";
1119
+ center: {
1120
+ x: number;
1121
+ y: number;
1122
+ };
1123
+ radius: number;
1124
+ id?: string | undefined;
1125
+ layer?: number | undefined;
1126
+ })[];
1127
+ head: {
1128
+ x: number;
1129
+ y: number;
1130
+ uuid: string;
1131
+ docType: string;
1132
+ editorVersion: string;
1133
+ c_para: Record<string, string>;
1134
+ utime: number;
1135
+ importFlag: number;
1136
+ hasIdFlag: boolean;
1137
+ puuid?: string | undefined;
1138
+ c_spiceCmd?: any;
1139
+ };
1140
+ canvas: string;
1141
+ BBox: {
1142
+ x: number;
1143
+ y: number;
1144
+ width: number;
1145
+ height: number;
1146
+ };
1147
+ layers: {
1148
+ color: string;
1149
+ name: string;
1150
+ visible: boolean;
1151
+ active: boolean;
1152
+ config: boolean;
1153
+ transparency: boolean;
1154
+ }[];
1155
+ objects: {
1156
+ name: string;
1157
+ visible: boolean;
1158
+ locked: boolean;
1159
+ }[];
1160
+ netColors?: unknown[] | undefined;
1161
+ };
1162
+ }, {
1163
+ uuid: string;
1164
+ docType: number;
1165
+ title: string;
1166
+ updateTime: number;
1167
+ owner: {
1168
+ uuid: string;
1169
+ username: string;
1170
+ nickname: string;
1171
+ avatar: string;
1172
+ };
1173
+ datastrid: string;
1174
+ writable: boolean;
1175
+ dataStr: {
1176
+ shape: string[];
1177
+ head: {
1178
+ x: number;
1179
+ y: number;
1180
+ uuid: string;
1181
+ docType: string;
1182
+ editorVersion: string;
1183
+ c_para: Record<string, string>;
1184
+ utime: number;
1185
+ importFlag: number;
1186
+ hasIdFlag: boolean;
1187
+ puuid?: string | undefined;
1188
+ c_spiceCmd?: any;
1189
+ };
1190
+ canvas: string;
1191
+ BBox: {
1192
+ x: number;
1193
+ y: number;
1194
+ width: number;
1195
+ height: number;
1196
+ };
1197
+ layers: string[];
1198
+ objects: string[];
1199
+ netColors?: unknown[] | undefined;
1200
+ };
1201
+ }>;
1202
+ }, "strip", z.ZodTypeAny, {
1203
+ type: number;
1204
+ uuid: string;
1205
+ docType: number;
1206
+ title: string;
1207
+ updateTime: number;
1208
+ owner: {
1209
+ uuid: string;
1210
+ username: string;
1211
+ nickname: string;
1212
+ avatar: string;
1213
+ };
1214
+ datastrid: string;
1215
+ writable: boolean;
1216
+ dataStr: {
1217
+ shape: ({
1218
+ type: "RECTANGLE";
1219
+ id: string;
1220
+ width: number;
1221
+ height: number;
1222
+ position: {
1223
+ x: number;
1224
+ y: number;
1225
+ };
1226
+ color: string;
1227
+ lineWidth: number;
1228
+ } | {
1229
+ type: "ELLIPSE";
1230
+ id: string;
1231
+ center: {
1232
+ x: number;
1233
+ y: number;
1234
+ };
1235
+ radiusX: number;
1236
+ radiusY: number;
1237
+ color: string;
1238
+ lineWidth: number;
1239
+ } | {
1240
+ x: number;
1241
+ y: number;
1242
+ path: string;
1243
+ type: "PIN";
1244
+ id: string;
1245
+ rotation: number;
1246
+ visibility: "show" | "hide";
1247
+ pinNumber: number;
1248
+ label: string;
1249
+ labelColor: string;
1250
+ arrow: string;
1251
+ })[];
1252
+ head: {
1253
+ x: number;
1254
+ y: number;
1255
+ uuid: string;
1256
+ docType: string;
1257
+ editorVersion: string;
1258
+ c_para: Record<string, string>;
1259
+ utime: number;
1260
+ importFlag: number;
1261
+ hasIdFlag: boolean;
1262
+ puuid?: string | undefined;
1263
+ c_spiceCmd?: any;
1264
+ };
1265
+ canvas: string;
1266
+ BBox: {
1267
+ x: number;
1268
+ y: number;
1269
+ width: number;
1270
+ height: number;
1271
+ };
1272
+ colors: unknown[];
1273
+ };
1274
+ description: string;
1275
+ szlcsc: {
1276
+ number: string;
1277
+ id: number;
1278
+ url?: string | undefined;
1279
+ min?: number | undefined;
1280
+ step?: number | undefined;
1281
+ price?: number | undefined;
1282
+ stock?: number | undefined;
1283
+ image?: string | undefined;
1284
+ };
1285
+ lcsc: {
1286
+ number: string;
1287
+ id: number;
1288
+ url?: string | undefined;
1289
+ min?: number | undefined;
1290
+ step?: number | undefined;
1291
+ price?: number | undefined;
1292
+ stock?: number | undefined;
1293
+ };
1294
+ tags: string[];
1295
+ updated_at: string;
1296
+ verify: boolean;
1297
+ SMT: boolean;
1298
+ jlcOnSale: number;
1299
+ isFavorite: boolean;
1300
+ packageDetail: {
1301
+ uuid: string;
1302
+ docType: number;
1303
+ title: string;
1304
+ updateTime: number;
1305
+ owner: {
1306
+ uuid: string;
1307
+ username: string;
1308
+ nickname: string;
1309
+ avatar: string;
1310
+ };
1311
+ datastrid: string;
1312
+ writable: boolean;
1313
+ dataStr: {
1314
+ shape: ({
1315
+ type: "TRACK";
1316
+ width: number;
1317
+ points: {
1318
+ x: number;
1319
+ y: number;
1320
+ }[];
1321
+ id?: string | undefined;
1322
+ layer?: number | undefined;
1323
+ } | {
1324
+ number: number;
1325
+ type: "PAD";
1326
+ width: number;
1327
+ shape: "RECT" | "ELLIPSE" | "OVAL";
1328
+ center: {
1329
+ x: number;
1330
+ y: number;
1331
+ };
1332
+ height: number;
1333
+ layermask: number;
1334
+ holeRadius: number;
1335
+ plated: boolean;
1336
+ id?: string | undefined;
1337
+ layer?: number | undefined;
1338
+ points?: {
1339
+ x: number;
1340
+ y: number;
1341
+ }[] | undefined;
1342
+ net?: string | number | undefined;
1343
+ rotation?: number | undefined;
1344
+ } | {
1345
+ type: "ARC";
1346
+ width: number;
1347
+ start: {
1348
+ x: number;
1349
+ y: number;
1350
+ };
1351
+ end: {
1352
+ x: number;
1353
+ y: number;
1354
+ };
1355
+ radiusX: number;
1356
+ radiusY: number;
1357
+ largeArc: boolean;
1358
+ sweepDirection: "CW" | "CCW";
1359
+ id?: string | undefined;
1360
+ layer?: number | undefined;
1361
+ } | {
1362
+ type: "CIRCLE";
1363
+ width: number;
1364
+ center: {
1365
+ x: number;
1366
+ y: number;
1367
+ };
1368
+ radius: number;
1369
+ id?: string | undefined;
1370
+ layer?: number | undefined;
1371
+ } | {
1372
+ type: "SOLIDREGION";
1373
+ points: {
1374
+ x: number;
1375
+ y: number;
1376
+ }[];
1377
+ layermask: number;
1378
+ fillStyle: string;
1379
+ id?: string | undefined;
1380
+ layer?: number | undefined;
1381
+ } | {
1382
+ type: "SVGNODE";
1383
+ svgData: {
1384
+ gId: string;
1385
+ nodeName: string;
1386
+ nodeType: number;
1387
+ layerid: string;
1388
+ attrs: Record<string, string>;
1389
+ childNodes: unknown[];
1390
+ };
1391
+ id?: string | undefined;
1392
+ layer?: number | undefined;
1393
+ } | {
1394
+ type: "HOLE";
1395
+ center: {
1396
+ x: number;
1397
+ y: number;
1398
+ };
1399
+ radius: number;
1400
+ id?: string | undefined;
1401
+ layer?: number | undefined;
1402
+ })[];
1403
+ head: {
1404
+ x: number;
1405
+ y: number;
1406
+ uuid: string;
1407
+ docType: string;
1408
+ editorVersion: string;
1409
+ c_para: Record<string, string>;
1410
+ utime: number;
1411
+ importFlag: number;
1412
+ hasIdFlag: boolean;
1413
+ puuid?: string | undefined;
1414
+ c_spiceCmd?: any;
1415
+ };
1416
+ canvas: string;
1417
+ BBox: {
1418
+ x: number;
1419
+ y: number;
1420
+ width: number;
1421
+ height: number;
1422
+ };
1423
+ layers: {
1424
+ color: string;
1425
+ name: string;
1426
+ visible: boolean;
1427
+ active: boolean;
1428
+ config: boolean;
1429
+ transparency: boolean;
1430
+ }[];
1431
+ objects: {
1432
+ name: string;
1433
+ visible: boolean;
1434
+ locked: boolean;
1435
+ }[];
1436
+ netColors?: unknown[] | undefined;
1437
+ };
1438
+ };
1439
+ }, {
1440
+ type: number;
1441
+ uuid: string;
1442
+ docType: number;
1443
+ title: string;
1444
+ updateTime: number;
1445
+ owner: {
1446
+ uuid: string;
1447
+ username: string;
1448
+ nickname: string;
1449
+ avatar: string;
1450
+ };
1451
+ datastrid: string;
1452
+ writable: boolean;
1453
+ dataStr: {
1454
+ shape: string[];
1455
+ head: {
1456
+ x: number;
1457
+ y: number;
1458
+ uuid: string;
1459
+ docType: string;
1460
+ editorVersion: string;
1461
+ c_para: Record<string, string>;
1462
+ utime: number;
1463
+ importFlag: number;
1464
+ hasIdFlag: boolean;
1465
+ puuid?: string | undefined;
1466
+ c_spiceCmd?: any;
1467
+ };
1468
+ canvas: string;
1469
+ BBox: {
1470
+ x: number;
1471
+ y: number;
1472
+ width: number;
1473
+ height: number;
1474
+ };
1475
+ colors: unknown[];
1476
+ };
1477
+ description: string;
1478
+ szlcsc: {
1479
+ number: string;
1480
+ id: number;
1481
+ url?: string | undefined;
1482
+ min?: number | undefined;
1483
+ step?: number | undefined;
1484
+ price?: number | undefined;
1485
+ stock?: number | undefined;
1486
+ image?: string | undefined;
1487
+ };
1488
+ lcsc: {
1489
+ number: string;
1490
+ id: number;
1491
+ url?: string | undefined;
1492
+ min?: number | undefined;
1493
+ step?: number | undefined;
1494
+ price?: number | undefined;
1495
+ stock?: number | undefined;
1496
+ };
1497
+ tags: string[];
1498
+ updated_at: string;
1499
+ verify: boolean;
1500
+ SMT: boolean;
1501
+ jlcOnSale: number;
1502
+ isFavorite: boolean;
1503
+ packageDetail: {
1504
+ uuid: string;
1505
+ docType: number;
1506
+ title: string;
1507
+ updateTime: number;
1508
+ owner: {
1509
+ uuid: string;
1510
+ username: string;
1511
+ nickname: string;
1512
+ avatar: string;
1513
+ };
1514
+ datastrid: string;
1515
+ writable: boolean;
1516
+ dataStr: {
1517
+ shape: string[];
1518
+ head: {
1519
+ x: number;
1520
+ y: number;
1521
+ uuid: string;
1522
+ docType: string;
1523
+ editorVersion: string;
1524
+ c_para: Record<string, string>;
1525
+ utime: number;
1526
+ importFlag: number;
1527
+ hasIdFlag: boolean;
1528
+ puuid?: string | undefined;
1529
+ c_spiceCmd?: any;
1530
+ };
1531
+ canvas: string;
1532
+ BBox: {
1533
+ x: number;
1534
+ y: number;
1535
+ width: number;
1536
+ height: number;
1537
+ };
1538
+ layers: string[];
1539
+ objects: string[];
1540
+ netColors?: unknown[] | undefined;
1541
+ };
1542
+ };
1543
+ }>;
1544
+ type EasyEdaJson = z.infer<typeof EasyEdaJsonSchema>;
1545
+
1546
+ interface Options {
1547
+ useModelCdn?: boolean;
1548
+ }
1549
+ declare const convertEasyEdaJsonToTscircuitSoupJson: (easyEdaJson: EasyEdaJson, { useModelCdn }?: Options) => AnySoupElement[];
1550
+
1551
+ declare function fetchEasyEDAComponent(jlcpcbPartNumber: string): Promise<any>;
1552
+
1553
+ export { convertEasyEdaJsonToTscircuitSoupJson, fetchEasyEDAComponent };