@tscircuit/footprinter 0.0.190 → 0.0.192

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.js CHANGED
@@ -19,6 +19,7 @@ __export(fn_exports, {
19
19
  jst: () => jst,
20
20
  led: () => led,
21
21
  lqfp: () => lqfp,
22
+ m2host: () => m2host,
22
23
  melf: () => melf,
23
24
  micromelf: () => micromelf,
24
25
  minimelf: () => minimelf,
@@ -65,6 +66,7 @@ __export(fn_exports, {
65
66
  sot223: () => sot223,
66
67
  sot23: () => sot23,
67
68
  sot23w: () => sot23w,
69
+ sot25: () => sot25,
68
70
  sot323: () => sot323,
69
71
  sot363: () => sot363,
70
72
  sot457: () => sot457,
@@ -1410,6 +1412,20 @@ var sot23_5 = (parameters) => {
1410
1412
  ];
1411
1413
  };
1412
1414
 
1415
+ // src/fn/sot25.ts
1416
+ import "zod";
1417
+ var sot25_def = sot23_def.extend({});
1418
+ var sot25 = (raw_params) => {
1419
+ const parameters = sot25_def.parse({
1420
+ ...raw_params,
1421
+ num_pins: 5
1422
+ });
1423
+ return {
1424
+ circuitJson: sot23_5(parameters),
1425
+ parameters
1426
+ };
1427
+ };
1428
+
1413
1429
  // src/fn/dfn.ts
1414
1430
  import "zod";
1415
1431
 
@@ -1502,7 +1518,7 @@ var dfn = (raw_params) => {
1502
1518
  };
1503
1519
 
1504
1520
  // src/fn/pinrow.ts
1505
- import { z as z11 } from "zod";
1521
+ import { z as z12 } from "zod";
1506
1522
  import { length as length5 } from "circuit-json";
1507
1523
 
1508
1524
  // src/helpers/platedHoleWithRectPad.ts
@@ -1609,23 +1625,23 @@ function determinePinlabelAnchorSide({
1609
1625
  }
1610
1626
 
1611
1627
  // src/fn/pinrow.ts
1612
- var pinrow_def = z11.object({
1613
- fn: z11.string(),
1614
- num_pins: z11.number().optional().default(6),
1615
- rows: z11.union([z11.string(), z11.number()]).transform((val) => Number(val)).optional().default(1).describe("number of rows"),
1628
+ var pinrow_def = z12.object({
1629
+ fn: z12.string(),
1630
+ num_pins: z12.number().optional().default(6),
1631
+ rows: z12.union([z12.string(), z12.number()]).transform((val) => Number(val)).optional().default(1).describe("number of rows"),
1616
1632
  p: length5.default("0.1in").describe("pitch"),
1617
1633
  id: length5.default("1.0mm").describe("inner diameter"),
1618
1634
  od: length5.default("1.5mm").describe("outer diameter"),
1619
- male: z11.boolean().optional().describe("for male pin headers"),
1620
- female: z11.boolean().optional().describe("for female pin headers"),
1621
- pinlabeltextalignleft: z11.boolean().optional().default(false),
1622
- pinlabeltextaligncenter: z11.boolean().optional().default(false),
1623
- pinlabeltextalignright: z11.boolean().optional().default(false),
1624
- pinlabelverticallyinverted: z11.boolean().optional().default(false),
1625
- pinlabelorthogonal: z11.boolean().optional().default(false),
1626
- nosquareplating: z11.boolean().optional().default(false).describe("do not use rectangular pad for pin 1"),
1627
- nopinlabels: z11.boolean().optional().default(false).describe("omit silkscreen pin labels"),
1628
- doublesidedpinlabel: z11.boolean().optional().default(false).describe("add silkscreen pins in top and bottom layers")
1635
+ male: z12.boolean().optional().describe("for male pin headers"),
1636
+ female: z12.boolean().optional().describe("for female pin headers"),
1637
+ pinlabeltextalignleft: z12.boolean().optional().default(false),
1638
+ pinlabeltextaligncenter: z12.boolean().optional().default(false),
1639
+ pinlabeltextalignright: z12.boolean().optional().default(false),
1640
+ pinlabelverticallyinverted: z12.boolean().optional().default(false),
1641
+ pinlabelorthogonal: z12.boolean().optional().default(false),
1642
+ nosquareplating: z12.boolean().optional().default(false).describe("do not use rectangular pad for pin 1"),
1643
+ nopinlabels: z12.boolean().optional().default(false).describe("omit silkscreen pin labels"),
1644
+ doublesidedpinlabel: z12.boolean().optional().default(false).describe("add silkscreen pins in top and bottom layers")
1629
1645
  }).transform((data) => {
1630
1646
  const pinlabelAnchorSide = determinePinlabelAnchorSide(data);
1631
1647
  return {
@@ -1637,7 +1653,7 @@ var pinrow_def = z11.object({
1637
1653
  }).superRefine((data, ctx) => {
1638
1654
  if (data.male && data.female) {
1639
1655
  ctx.addIssue({
1640
- code: z11.ZodIssueCode.custom,
1656
+ code: z12.ZodIssueCode.custom,
1641
1657
  message: "'male' and 'female' cannot both be true; it should be male or female.",
1642
1658
  path: ["male", "female"]
1643
1659
  });
@@ -1867,14 +1883,14 @@ var ms013 = (raw_params) => {
1867
1883
 
1868
1884
  // src/fn/sot723.ts
1869
1885
  import { length as length6 } from "circuit-json";
1870
- import { z as z12 } from "zod";
1871
- var sot723_def = z12.object({
1872
- fn: z12.string(),
1873
- num_pins: z12.literal(3).default(3),
1874
- w: z12.string().default("1.2mm"),
1875
- h: z12.string().default("1.2mm"),
1876
- pl: z12.string().default("0.3mm"),
1877
- pw: z12.string().default("0.32mm")
1886
+ import { z as z13 } from "zod";
1887
+ var sot723_def = z13.object({
1888
+ fn: z13.string(),
1889
+ num_pins: z13.literal(3).default(3),
1890
+ w: z13.string().default("1.2mm"),
1891
+ h: z13.string().default("1.2mm"),
1892
+ pl: z13.string().default("0.3mm"),
1893
+ pw: z13.string().default("0.32mm")
1878
1894
  });
1879
1895
  var sot723 = (raw_params) => {
1880
1896
  const parameters = sot723_def.parse(raw_params);
@@ -1923,16 +1939,16 @@ var sot723WithoutParsing = (parameters) => {
1923
1939
  };
1924
1940
 
1925
1941
  // src/fn/sod123.ts
1926
- import { z as z13 } from "zod";
1942
+ import { z as z14 } from "zod";
1927
1943
  import { length as length7 } from "circuit-json";
1928
- var sod_def = z13.object({
1929
- fn: z13.string(),
1930
- num_pins: z13.literal(2).default(2),
1931
- w: z13.string().default("2.36mm"),
1932
- h: z13.string().default("1.22mm"),
1933
- pl: z13.string().default("0.9mm"),
1934
- pw: z13.string().default("0.9mm"),
1935
- p: z13.string().default("4.19mm")
1944
+ var sod_def = z14.object({
1945
+ fn: z14.string(),
1946
+ num_pins: z14.literal(2).default(2),
1947
+ w: z14.string().default("2.36mm"),
1948
+ h: z14.string().default("1.22mm"),
1949
+ pl: z14.string().default("0.9mm"),
1950
+ pw: z14.string().default("0.9mm"),
1951
+ p: z14.string().default("4.19mm")
1936
1952
  });
1937
1953
  var sod123 = (raw_params) => {
1938
1954
  const parameters = sod_def.parse(raw_params);
@@ -1980,9 +1996,9 @@ var sodWithoutParsing = (parameters) => {
1980
1996
  import {
1981
1997
  length as length8
1982
1998
  } from "circuit-json";
1983
- import { z as z14 } from "zod";
1984
- var axial_def = z14.object({
1985
- fn: z14.string(),
1999
+ import { z as z15 } from "zod";
2000
+ var axial_def = z15.object({
2001
+ fn: z15.string(),
1986
2002
  p: length8.optional().default("2.54mm"),
1987
2003
  id: length8.optional().default("0.7mm"),
1988
2004
  od: length8.optional().default("1mm")
@@ -2018,7 +2034,7 @@ var axial = (raw_params) => {
2018
2034
 
2019
2035
  // src/fn/pushbutton.ts
2020
2036
  import { length as length9 } from "circuit-json";
2021
- import { z as z15 } from "zod";
2037
+ import { z as z16 } from "zod";
2022
2038
 
2023
2039
  // src/helpers/silkscreenpath.ts
2024
2040
  var silkscreenpath = (route, options = {}) => {
@@ -2033,8 +2049,8 @@ var silkscreenpath = (route, options = {}) => {
2033
2049
  };
2034
2050
 
2035
2051
  // src/fn/pushbutton.ts
2036
- var pushbutton_def = z15.object({
2037
- fn: z15.literal("pushbutton"),
2052
+ var pushbutton_def = z16.object({
2053
+ fn: z16.literal("pushbutton"),
2038
2054
  w: length9.default(4.5),
2039
2055
  h: length9.default(6.5),
2040
2056
  id: length9.default(1),
@@ -2087,9 +2103,9 @@ var pushbutton = (raw_params) => {
2087
2103
  import {
2088
2104
  length as length10
2089
2105
  } from "circuit-json";
2090
- import { z as z16 } from "zod";
2091
- var stampboard_def = z16.object({
2092
- fn: z16.string(),
2106
+ import { z as z17 } from "zod";
2107
+ var stampboard_def = z17.object({
2108
+ fn: z17.string(),
2093
2109
  w: length10.default("22.58mm"),
2094
2110
  h: length10.optional(),
2095
2111
  left: length10.optional().default(20),
@@ -2099,7 +2115,7 @@ var stampboard_def = z16.object({
2099
2115
  p: length10.default(length10.parse("2.54mm")),
2100
2116
  pw: length10.default(length10.parse("1.6mm")),
2101
2117
  pl: length10.default(length10.parse("2.4mm")),
2102
- innerhole: z16.boolean().default(false),
2118
+ innerhole: z17.boolean().default(false),
2103
2119
  innerholeedgedistance: length10.default(length10.parse("1.61mm"))
2104
2120
  });
2105
2121
  var getHeight = (parameters) => {
@@ -2433,9 +2449,9 @@ var stampboard = (raw_params) => {
2433
2449
  import {
2434
2450
  length as length11
2435
2451
  } from "circuit-json";
2436
- import { z as z17 } from "zod";
2437
- var stampreceiver_def = z17.object({
2438
- fn: z17.string(),
2452
+ import { z as z18 } from "zod";
2453
+ var stampreceiver_def = z18.object({
2454
+ fn: z18.string(),
2439
2455
  w: length11.default("22.58mm"),
2440
2456
  h: length11.optional(),
2441
2457
  left: length11.optional().default(20),
@@ -2445,7 +2461,7 @@ var stampreceiver_def = z17.object({
2445
2461
  p: length11.default(length11.parse("2.54mm")),
2446
2462
  pw: length11.default(length11.parse("1.6mm")),
2447
2463
  pl: length11.default(length11.parse("3.2mm")),
2448
- innerhole: z17.boolean().default(false),
2464
+ innerhole: z18.boolean().default(false),
2449
2465
  innerholeedgedistance: length11.default(length11.parse("1.61mm"))
2450
2466
  });
2451
2467
  var getHeight2 = (parameters) => {
@@ -2743,9 +2759,9 @@ var lqfp = (parameters) => {
2743
2759
  import {
2744
2760
  length as length12
2745
2761
  } from "circuit-json";
2746
- import { z as z18 } from "zod";
2747
- var breakoutheaders_def = z18.object({
2748
- fn: z18.string(),
2762
+ import { z as z19 } from "zod";
2763
+ var breakoutheaders_def = z19.object({
2764
+ fn: z19.string(),
2749
2765
  w: length12.default("10mm"),
2750
2766
  h: length12.optional(),
2751
2767
  left: length12.optional().default(20),
@@ -2948,7 +2964,7 @@ var breakoutheaders = (raw_params) => {
2948
2964
  import {
2949
2965
  length as length13
2950
2966
  } from "circuit-json";
2951
- import { z as z19 } from "zod";
2967
+ import { z as z20 } from "zod";
2952
2968
  var generate_u_curve = (centerX, centerY, radius, direction) => {
2953
2969
  return Array.from({ length: 25 }, (_, i) => {
2954
2970
  const theta = i / 24 * Math.PI - Math.PI / 2;
@@ -2958,8 +2974,8 @@ var generate_u_curve = (centerX, centerY, radius, direction) => {
2958
2974
  };
2959
2975
  });
2960
2976
  };
2961
- var hc49_def = z19.object({
2962
- fn: z19.string(),
2977
+ var hc49_def = z20.object({
2978
+ fn: z20.string(),
2963
2979
  p: length13.optional().default("4.88mm"),
2964
2980
  id: length13.optional().default("0.6mm"),
2965
2981
  od: length13.optional().default("1.2mm"),
@@ -3004,10 +3020,10 @@ var hc49 = (raw_params) => {
3004
3020
  };
3005
3021
 
3006
3022
  // src/fn/pad.ts
3007
- import { z as z20 } from "zod";
3023
+ import { z as z21 } from "zod";
3008
3024
  import { length as length14 } from "circuit-json";
3009
3025
  import { mm as mm5 } from "@tscircuit/mm";
3010
- var pad_def = z20.object({
3026
+ var pad_def = z21.object({
3011
3027
  w: length14,
3012
3028
  h: length14
3013
3029
  });
@@ -3025,17 +3041,17 @@ var pad = (params) => {
3025
3041
  };
3026
3042
 
3027
3043
  // src/fn/to92.ts
3028
- import { z as z21 } from "zod";
3029
- var to92_def = z21.object({
3030
- fn: z21.string(),
3031
- num_pins: z21.union([z21.literal(3), z21.literal(2)]).default(3),
3032
- p: z21.string().default("1.27mm"),
3033
- id: z21.string().default("0.72mm"),
3034
- od: z21.string().default("0.95mm"),
3035
- w: z21.string().default("4.5mm"),
3036
- h: z21.string().default("4.5mm"),
3037
- inline: z21.boolean().default(false),
3038
- string: z21.string().optional()
3044
+ import { z as z22 } from "zod";
3045
+ var to92_def = z22.object({
3046
+ fn: z22.string(),
3047
+ num_pins: z22.union([z22.literal(3), z22.literal(2)]).default(3),
3048
+ p: z22.string().default("1.27mm"),
3049
+ id: z22.string().default("0.72mm"),
3050
+ od: z22.string().default("0.95mm"),
3051
+ w: z22.string().default("4.5mm"),
3052
+ h: z22.string().default("4.5mm"),
3053
+ inline: z22.boolean().default(false),
3054
+ string: z22.string().optional()
3039
3055
  });
3040
3056
  var generateSemicircle = (centerX, centerY, radius) => {
3041
3057
  return Array.from({ length: 25 }, (_, i) => {
@@ -3108,16 +3124,16 @@ var to92 = (raw_params) => {
3108
3124
  };
3109
3125
 
3110
3126
  // src/fn/sod523.ts
3111
- import { z as z22 } from "zod";
3127
+ import { z as z23 } from "zod";
3112
3128
  import { length as length15 } from "circuit-json";
3113
- var sod_def2 = z22.object({
3114
- fn: z22.string(),
3115
- num_pins: z22.literal(2).default(2),
3116
- w: z22.string().default("2.15mm"),
3117
- h: z22.string().default("1.20mm"),
3118
- pl: z22.string().default("0.5mm"),
3119
- pw: z22.string().default("0.6mm"),
3120
- p: z22.string().default("1.4mm")
3129
+ var sod_def2 = z23.object({
3130
+ fn: z23.string(),
3131
+ num_pins: z23.literal(2).default(2),
3132
+ w: z23.string().default("2.15mm"),
3133
+ h: z23.string().default("1.20mm"),
3134
+ pl: z23.string().default("0.5mm"),
3135
+ pw: z23.string().default("0.6mm"),
3136
+ p: z23.string().default("1.4mm")
3121
3137
  });
3122
3138
  var sod523 = (raw_params) => {
3123
3139
  const parameters = sod_def2.parse(raw_params);
@@ -3233,16 +3249,16 @@ var sop8 = (raw_params) => {
3233
3249
  };
3234
3250
 
3235
3251
  // src/fn/sod80.ts
3236
- import { z as z23 } from "zod";
3252
+ import { z as z24 } from "zod";
3237
3253
  import { length as length16 } from "circuit-json";
3238
- var sod80_def = z23.object({
3239
- fn: z23.string(),
3240
- num_pins: z23.literal(2).default(2),
3241
- w: z23.string().default("5.0mm"),
3242
- h: z23.string().default("2.30mm"),
3243
- pl: z23.string().default("1.25mm"),
3244
- pw: z23.string().default("2mm"),
3245
- p: z23.string().default("3.75mm")
3254
+ var sod80_def = z24.object({
3255
+ fn: z24.string(),
3256
+ num_pins: z24.literal(2).default(2),
3257
+ w: z24.string().default("5.0mm"),
3258
+ h: z24.string().default("2.30mm"),
3259
+ pl: z24.string().default("1.25mm"),
3260
+ pw: z24.string().default("2mm"),
3261
+ p: z24.string().default("3.75mm")
3246
3262
  });
3247
3263
  var sod80 = (raw_params) => {
3248
3264
  const parameters = sod80_def.parse(raw_params);
@@ -3309,16 +3325,16 @@ var sod80WithoutParsing = (parameters) => {
3309
3325
  };
3310
3326
 
3311
3327
  // src/fn/sod123w.ts
3312
- import { z as z24 } from "zod";
3328
+ import { z as z25 } from "zod";
3313
3329
  import { length as length17 } from "circuit-json";
3314
- var sod_def3 = z24.object({
3315
- fn: z24.string(),
3316
- num_pins: z24.literal(2).default(2),
3317
- w: z24.string().default("4.4mm"),
3318
- h: z24.string().default("2.1mm"),
3319
- pl: z24.string().default("1.2mm"),
3320
- pw: z24.string().default("1.2mm"),
3321
- p: z24.string().default("2.9mm")
3330
+ var sod_def3 = z25.object({
3331
+ fn: z25.string(),
3332
+ num_pins: z25.literal(2).default(2),
3333
+ w: z25.string().default("4.4mm"),
3334
+ h: z25.string().default("2.1mm"),
3335
+ pl: z25.string().default("1.2mm"),
3336
+ pw: z25.string().default("1.2mm"),
3337
+ p: z25.string().default("2.9mm")
3322
3338
  });
3323
3339
  var sod123w = (raw_params) => {
3324
3340
  const parameters = sod_def3.parse(raw_params);
@@ -3388,16 +3404,16 @@ var sodWithoutParsing3 = (parameters) => {
3388
3404
  };
3389
3405
 
3390
3406
  // src/fn/sod323.ts
3391
- import { z as z25 } from "zod";
3407
+ import { z as z26 } from "zod";
3392
3408
  import { length as length18 } from "circuit-json";
3393
- var sod_def4 = z25.object({
3394
- fn: z25.string(),
3395
- num_pins: z25.literal(2).default(2),
3396
- w: z25.string().default("3.30mm"),
3397
- h: z25.string().default("1.80mm"),
3398
- pl: z25.string().default("0.60mm"),
3399
- pw: z25.string().default("0.45mm"),
3400
- p: z25.string().default("2.1mm")
3409
+ var sod_def4 = z26.object({
3410
+ fn: z26.string(),
3411
+ num_pins: z26.literal(2).default(2),
3412
+ w: z26.string().default("3.30mm"),
3413
+ h: z26.string().default("1.80mm"),
3414
+ pl: z26.string().default("0.60mm"),
3415
+ pw: z26.string().default("0.45mm"),
3416
+ p: z26.string().default("2.1mm")
3401
3417
  });
3402
3418
  var sod323 = (raw_params) => {
3403
3419
  const parameters = sod_def4.parse(raw_params);
@@ -3467,16 +3483,16 @@ var sodWithoutParsing4 = (parameters) => {
3467
3483
  };
3468
3484
 
3469
3485
  // src/fn/sod923.ts
3470
- import { z as z26 } from "zod";
3486
+ import { z as z27 } from "zod";
3471
3487
  import { length as length19 } from "circuit-json";
3472
- var sod_def5 = z26.object({
3473
- fn: z26.string(),
3474
- num_pins: z26.literal(2).default(2),
3475
- w: z26.string().default("1.4mm"),
3476
- h: z26.string().default("0.9mm"),
3477
- pl: z26.string().default("0.35mm"),
3478
- pw: z26.string().default("0.25mm"),
3479
- p: z26.string().default("1.2mm")
3488
+ var sod_def5 = z27.object({
3489
+ fn: z27.string(),
3490
+ num_pins: z27.literal(2).default(2),
3491
+ w: z27.string().default("1.4mm"),
3492
+ h: z27.string().default("0.9mm"),
3493
+ pl: z27.string().default("0.35mm"),
3494
+ pw: z27.string().default("0.25mm"),
3495
+ p: z27.string().default("1.2mm")
3480
3496
  });
3481
3497
  var sod923 = (raw_params) => {
3482
3498
  const parameters = sod_def5.parse(raw_params);
@@ -3547,16 +3563,16 @@ var sodWithoutParsing5 = (parameters) => {
3547
3563
  };
3548
3564
 
3549
3565
  // src/fn/sod882.ts
3550
- import { z as z27 } from "zod";
3566
+ import { z as z28 } from "zod";
3551
3567
  import { length as length20 } from "circuit-json";
3552
- var sod_def6 = z27.object({
3553
- fn: z27.string(),
3554
- num_pins: z27.literal(2).default(2),
3555
- w: z27.string().default("1.3mm"),
3556
- h: z27.string().default("0.9mm"),
3557
- pl: z27.string().default("0.4mm"),
3558
- pw: z27.string().default("0.7mm"),
3559
- p: z27.string().default("0.7mm")
3568
+ var sod_def6 = z28.object({
3569
+ fn: z28.string(),
3570
+ num_pins: z28.literal(2).default(2),
3571
+ w: z28.string().default("1.3mm"),
3572
+ h: z28.string().default("0.9mm"),
3573
+ pl: z28.string().default("0.4mm"),
3574
+ pw: z28.string().default("0.7mm"),
3575
+ p: z28.string().default("0.7mm")
3560
3576
  });
3561
3577
  var sod882 = (raw_params) => {
3562
3578
  const parameters = sod_def6.parse(raw_params);
@@ -3627,16 +3643,16 @@ var sodWithoutParsing6 = (parameters) => {
3627
3643
  };
3628
3644
 
3629
3645
  // src/fn/sod323f.ts
3630
- import { z as z28 } from "zod";
3646
+ import { z as z29 } from "zod";
3631
3647
  import { length as length21 } from "circuit-json";
3632
- var sod_def7 = z28.object({
3633
- fn: z28.string(),
3634
- num_pins: z28.literal(2).default(2),
3635
- w: z28.string().default("3,05mm"),
3636
- h: z28.string().default("1.65mm"),
3637
- pl: z28.string().default("0.6mm"),
3638
- pw: z28.string().default("0.6mm"),
3639
- pad_spacing: z28.string().default("2.2mm")
3648
+ var sod_def7 = z29.object({
3649
+ fn: z29.string(),
3650
+ num_pins: z29.literal(2).default(2),
3651
+ w: z29.string().default("3,05mm"),
3652
+ h: z29.string().default("1.65mm"),
3653
+ pl: z29.string().default("0.6mm"),
3654
+ pw: z29.string().default("0.6mm"),
3655
+ pad_spacing: z29.string().default("2.2mm")
3640
3656
  });
3641
3657
  var sod323f = (raw_params) => {
3642
3658
  const parameters = sod_def7.parse(raw_params);
@@ -3707,16 +3723,16 @@ var sodWithoutParsing7 = (parameters) => {
3707
3723
  };
3708
3724
 
3709
3725
  // src/fn/sod123f.ts
3710
- import { z as z29 } from "zod";
3726
+ import { z as z30 } from "zod";
3711
3727
  import { length as length22 } from "circuit-json";
3712
- var sod_def8 = z29.object({
3713
- fn: z29.string(),
3714
- num_pins: z29.literal(2).default(2),
3715
- w: z29.string().default("4.4mm"),
3716
- h: z29.string().default("2.1mm"),
3717
- pl: z29.string().default("1.2mm"),
3718
- pw: z29.string().default("1.2mm"),
3719
- p: z29.string().default("2.9mm")
3728
+ var sod_def8 = z30.object({
3729
+ fn: z30.string(),
3730
+ num_pins: z30.literal(2).default(2),
3731
+ w: z30.string().default("4.4mm"),
3732
+ h: z30.string().default("2.1mm"),
3733
+ pl: z30.string().default("1.2mm"),
3734
+ pw: z30.string().default("1.2mm"),
3735
+ p: z30.string().default("2.9mm")
3720
3736
  });
3721
3737
  var sod123f = (raw_params) => {
3722
3738
  const parameters = sod_def8.parse(raw_params);
@@ -3787,16 +3803,16 @@ var sodWithoutParsing8 = (parameters) => {
3787
3803
  };
3788
3804
 
3789
3805
  // src/fn/sod123fl.ts
3790
- import { z as z30 } from "zod";
3806
+ import { z as z31 } from "zod";
3791
3807
  import { length as length23 } from "circuit-json";
3792
- var sod123FL_def = z30.object({
3793
- fn: z30.string(),
3794
- num_pins: z30.literal(2).default(2),
3795
- w: z30.string().default("4.4mm"),
3796
- h: z30.string().default("2.1mm"),
3797
- pl: z30.string().default("0.91mm"),
3798
- pw: z30.string().default("1.22mm"),
3799
- p: z30.string().default("3.146mm")
3808
+ var sod123FL_def = z31.object({
3809
+ fn: z31.string(),
3810
+ num_pins: z31.literal(2).default(2),
3811
+ w: z31.string().default("4.4mm"),
3812
+ h: z31.string().default("2.1mm"),
3813
+ pl: z31.string().default("0.91mm"),
3814
+ pw: z31.string().default("1.22mm"),
3815
+ p: z31.string().default("3.146mm")
3800
3816
  });
3801
3817
  var sod123fl = (raw_params) => {
3802
3818
  const parameters = sod123FL_def.parse(raw_params);
@@ -3867,16 +3883,16 @@ var sodWithoutParsing9 = (parameters) => {
3867
3883
  };
3868
3884
 
3869
3885
  // src/fn/sod723.ts
3870
- import { z as z31 } from "zod";
3886
+ import { z as z32 } from "zod";
3871
3887
  import { length as length24 } from "circuit-json";
3872
- var sod_def9 = z31.object({
3873
- fn: z31.string(),
3874
- num_pins: z31.literal(2).default(2),
3875
- w: z31.string().default("1.80mm"),
3876
- h: z31.string().default("1.00mm"),
3877
- pl: z31.string().default("0.66mm"),
3878
- pw: z31.string().default("0.5mm"),
3879
- p: z31.string().default("0.8mm")
3888
+ var sod_def9 = z32.object({
3889
+ fn: z32.string(),
3890
+ num_pins: z32.literal(2).default(2),
3891
+ w: z32.string().default("1.80mm"),
3892
+ h: z32.string().default("1.00mm"),
3893
+ pl: z32.string().default("0.66mm"),
3894
+ pw: z32.string().default("0.5mm"),
3895
+ p: z32.string().default("0.8mm")
3880
3896
  });
3881
3897
  var sod723 = (raw_params) => {
3882
3898
  const parameters = sod_def9.parse(raw_params);
@@ -3947,16 +3963,16 @@ var sodWithoutParsing10 = (parameters) => {
3947
3963
  };
3948
3964
 
3949
3965
  // src/fn/sod128.ts
3950
- import { z as z32 } from "zod";
3966
+ import { z as z33 } from "zod";
3951
3967
  import { length as length25 } from "circuit-json";
3952
- var sod_def10 = z32.object({
3953
- fn: z32.string(),
3954
- num_pins: z32.literal(2).default(2),
3955
- w: z32.string().default("6.2mm"),
3956
- h: z32.string().default("3.4mm"),
3957
- pl: z32.string().default("1.4mm"),
3958
- pw: z32.string().default("2.1mm"),
3959
- p: z32.string().default("4.4mm")
3968
+ var sod_def10 = z33.object({
3969
+ fn: z33.string(),
3970
+ num_pins: z33.literal(2).default(2),
3971
+ w: z33.string().default("6.2mm"),
3972
+ h: z33.string().default("3.4mm"),
3973
+ pl: z33.string().default("1.4mm"),
3974
+ pw: z33.string().default("2.1mm"),
3975
+ p: z33.string().default("4.4mm")
3960
3976
  });
3961
3977
  var sod128 = (raw_params) => {
3962
3978
  const parameters = sod_def10.parse(raw_params);
@@ -4027,16 +4043,16 @@ var sodWithoutParsing11 = (parameters) => {
4027
4043
  };
4028
4044
 
4029
4045
  // src/fn/sot89.ts
4030
- import { z as z33 } from "zod";
4031
- var sot89_def = z33.object({
4032
- fn: z33.string(),
4033
- num_pins: z33.union([z33.literal(3), z33.literal(5)]).default(3),
4034
- w: z33.string().default("4.80mm"),
4035
- h: z33.string().default("4.80mm"),
4036
- pl: z33.string().default("1.3mm"),
4037
- pw: z33.string().default("0.9mm"),
4038
- p: z33.string().default("1.5mm"),
4039
- string: z33.string().optional()
4046
+ import { z as z34 } from "zod";
4047
+ var sot89_def = z34.object({
4048
+ fn: z34.string(),
4049
+ num_pins: z34.union([z34.literal(3), z34.literal(5)]).default(3),
4050
+ w: z34.string().default("4.80mm"),
4051
+ h: z34.string().default("4.80mm"),
4052
+ pl: z34.string().default("1.3mm"),
4053
+ pw: z34.string().default("0.9mm"),
4054
+ p: z34.string().default("1.5mm"),
4055
+ string: z34.string().optional()
4040
4056
  });
4041
4057
  var sot89_3 = (parameters) => {
4042
4058
  const pads = [];
@@ -4157,16 +4173,16 @@ var sot89 = (raw_params) => {
4157
4173
  import {
4158
4174
  length as length26
4159
4175
  } from "circuit-json";
4160
- import { z as z34 } from "zod";
4161
- var to220_def = z34.object({
4162
- fn: z34.string(),
4176
+ import { z as z35 } from "zod";
4177
+ var to220_def = z35.object({
4178
+ fn: z35.string(),
4163
4179
  p: length26.optional().default("5.0mm"),
4164
4180
  id: length26.optional().default("1.0mm"),
4165
4181
  od: length26.optional().default("1.9mm"),
4166
4182
  w: length26.optional().default("13mm"),
4167
4183
  h: length26.optional().default("7mm"),
4168
- num_pins: z34.number().optional(),
4169
- string: z34.string().optional()
4184
+ num_pins: z35.number().optional(),
4185
+ string: z35.string().optional()
4170
4186
  });
4171
4187
  var to220 = (raw_params) => {
4172
4188
  const parameters = to220_def.parse(raw_params);
@@ -4246,16 +4262,16 @@ var to220 = (raw_params) => {
4246
4262
  };
4247
4263
 
4248
4264
  // src/fn/minimelf.ts
4249
- import { z as z35 } from "zod";
4265
+ import { z as z36 } from "zod";
4250
4266
  import { length as length27 } from "circuit-json";
4251
- var minimelf_def = z35.object({
4252
- fn: z35.string(),
4253
- num_pins: z35.literal(2).default(2),
4254
- w: z35.string().default("5.40mm"),
4255
- h: z35.string().default("2.30mm"),
4256
- pl: z35.string().default("1.30mm"),
4257
- pw: z35.string().default("1.70mm"),
4258
- p: z35.string().default("3.5mm")
4267
+ var minimelf_def = z36.object({
4268
+ fn: z36.string(),
4269
+ num_pins: z36.literal(2).default(2),
4270
+ w: z36.string().default("5.40mm"),
4271
+ h: z36.string().default("2.30mm"),
4272
+ pl: z36.string().default("1.30mm"),
4273
+ pw: z36.string().default("1.70mm"),
4274
+ p: z36.string().default("3.5mm")
4259
4275
  });
4260
4276
  var minimelf = (raw_params) => {
4261
4277
  const parameters = minimelf_def.parse(raw_params);
@@ -4322,16 +4338,16 @@ var miniMelfWithoutParsing = (parameters) => {
4322
4338
  };
4323
4339
 
4324
4340
  // src/fn/sod882d.ts
4325
- import { z as z36 } from "zod";
4341
+ import { z as z37 } from "zod";
4326
4342
  import { length as length28 } from "circuit-json";
4327
- var sod_def11 = z36.object({
4328
- fn: z36.string(),
4329
- num_pins: z36.literal(2).default(2),
4330
- w: z36.string().default("1.90mm"),
4331
- h: z36.string().default("1.33mm"),
4332
- pl: z36.string().default("0.5mm"),
4333
- pw: z36.string().default("0.7mm"),
4334
- p: z36.string().default("0.8mm")
4343
+ var sod_def11 = z37.object({
4344
+ fn: z37.string(),
4345
+ num_pins: z37.literal(2).default(2),
4346
+ w: z37.string().default("1.90mm"),
4347
+ h: z37.string().default("1.33mm"),
4348
+ pl: z37.string().default("0.5mm"),
4349
+ pw: z37.string().default("0.7mm"),
4350
+ p: z37.string().default("0.8mm")
4335
4351
  });
4336
4352
  var sod882d = (raw_params) => {
4337
4353
  const parameters = sod_def11.parse(raw_params);
@@ -4402,16 +4418,16 @@ var sodWithoutParsing12 = (parameters) => {
4402
4418
  };
4403
4419
 
4404
4420
  // src/fn/melf.ts
4405
- import { z as z37 } from "zod";
4421
+ import { z as z38 } from "zod";
4406
4422
  import { length as length29 } from "circuit-json";
4407
- var melf_def = z37.object({
4408
- fn: z37.string(),
4409
- num_pins: z37.literal(2).default(2),
4410
- w: z37.string().default("7.0mm"),
4411
- h: z37.string().default("3.35mm"),
4412
- pl: z37.string().default("1.50mm"),
4413
- pw: z37.string().default("2.70mm"),
4414
- p: z37.string().default("4.8mm")
4423
+ var melf_def = z38.object({
4424
+ fn: z38.string(),
4425
+ num_pins: z38.literal(2).default(2),
4426
+ w: z38.string().default("7.0mm"),
4427
+ h: z38.string().default("3.35mm"),
4428
+ pl: z38.string().default("1.50mm"),
4429
+ pw: z38.string().default("2.70mm"),
4430
+ p: z38.string().default("4.8mm")
4415
4431
  });
4416
4432
  var melf = (raw_params) => {
4417
4433
  const parameters = melf_def.parse(raw_params);
@@ -4482,16 +4498,16 @@ var melfWithoutParsing = (parameters) => {
4482
4498
  };
4483
4499
 
4484
4500
  // src/fn/micromelf.ts
4485
- import { z as z38 } from "zod";
4501
+ import { z as z39 } from "zod";
4486
4502
  import { length as length30 } from "circuit-json";
4487
- var micromelf_def = z38.object({
4488
- fn: z38.string(),
4489
- num_pins: z38.literal(2).default(2),
4490
- w: z38.string().default("3.0mm"),
4491
- h: z38.string().default("1.80mm"),
4492
- pl: z38.string().default("0.80mm"),
4493
- pw: z38.string().default("1.20mm"),
4494
- p: z38.string().default("1.6mm")
4503
+ var micromelf_def = z39.object({
4504
+ fn: z39.string(),
4505
+ num_pins: z39.literal(2).default(2),
4506
+ w: z39.string().default("3.0mm"),
4507
+ h: z39.string().default("1.80mm"),
4508
+ pl: z39.string().default("0.80mm"),
4509
+ pw: z39.string().default("1.20mm"),
4510
+ p: z39.string().default("1.6mm")
4495
4511
  });
4496
4512
  var micromelf = (raw_params) => {
4497
4513
  const parameters = micromelf_def.parse(raw_params);
@@ -4562,16 +4578,16 @@ var microMelfWithoutParsing = (parameters) => {
4562
4578
  };
4563
4579
 
4564
4580
  // src/fn/sma.ts
4565
- import { z as z39 } from "zod";
4581
+ import { z as z40 } from "zod";
4566
4582
  import { length as length31 } from "circuit-json";
4567
- var sma_def = z39.object({
4568
- fn: z39.string(),
4569
- num_pins: z39.literal(2).default(2),
4570
- w: z39.string().default("7.10mm"),
4571
- h: z39.string().default("3.40mm"),
4572
- pl: z39.string().default("2.45mm"),
4573
- pw: z39.string().default("1.80mm"),
4574
- p: z39.string().default("4.05mm")
4583
+ var sma_def = z40.object({
4584
+ fn: z40.string(),
4585
+ num_pins: z40.literal(2).default(2),
4586
+ w: z40.string().default("7.10mm"),
4587
+ h: z40.string().default("3.40mm"),
4588
+ pl: z40.string().default("2.45mm"),
4589
+ pw: z40.string().default("1.80mm"),
4590
+ p: z40.string().default("4.05mm")
4575
4591
  });
4576
4592
  var sma = (raw_params) => {
4577
4593
  const parameters = sma_def.parse(raw_params);
@@ -4641,16 +4657,16 @@ var smaWithoutParsing = (parameters) => {
4641
4657
  };
4642
4658
 
4643
4659
  // src/fn/smf.ts
4644
- import { z as z40 } from "zod";
4660
+ import { z as z41 } from "zod";
4645
4661
  import { length as length32 } from "circuit-json";
4646
- var smf_def = z40.object({
4647
- fn: z40.string(),
4648
- num_pins: z40.literal(2).default(2),
4649
- w: z40.string().default("4.80mm"),
4650
- h: z40.string().default("2.10mm"),
4651
- pl: z40.string().default("1.30mm"),
4652
- pw: z40.string().default("1.40mm"),
4653
- p: z40.string().default("2.9mm")
4662
+ var smf_def = z41.object({
4663
+ fn: z41.string(),
4664
+ num_pins: z41.literal(2).default(2),
4665
+ w: z41.string().default("4.80mm"),
4666
+ h: z41.string().default("2.10mm"),
4667
+ pl: z41.string().default("1.30mm"),
4668
+ pw: z41.string().default("1.40mm"),
4669
+ p: z41.string().default("2.9mm")
4654
4670
  });
4655
4671
  var smf = (raw_params) => {
4656
4672
  const parameters = smf_def.parse(raw_params);
@@ -4721,16 +4737,16 @@ var smfWithoutParsing = (parameters) => {
4721
4737
  };
4722
4738
 
4723
4739
  // src/fn/smb.ts
4724
- import { z as z41 } from "zod";
4740
+ import { z as z42 } from "zod";
4725
4741
  import { length as length33 } from "circuit-json";
4726
- var smb_def = z41.object({
4727
- fn: z41.string(),
4728
- num_pins: z41.literal(2).default(2),
4729
- w: z41.string().default("7.30mm"),
4730
- h: z41.string().default("4.40mm"),
4731
- pl: z41.string().default("2.50mm"),
4732
- pw: z41.string().default("2.30mm"),
4733
- p: z41.string().default("4.30mm")
4742
+ var smb_def = z42.object({
4743
+ fn: z42.string(),
4744
+ num_pins: z42.literal(2).default(2),
4745
+ w: z42.string().default("7.30mm"),
4746
+ h: z42.string().default("4.40mm"),
4747
+ pl: z42.string().default("2.50mm"),
4748
+ pw: z42.string().default("2.30mm"),
4749
+ p: z42.string().default("4.30mm")
4734
4750
  });
4735
4751
  var smb = (raw_params) => {
4736
4752
  const parameters = smb_def.parse(raw_params);
@@ -4801,16 +4817,16 @@ var smbWithoutParsing = (parameters) => {
4801
4817
  };
4802
4818
 
4803
4819
  // src/fn/smc.ts
4804
- import { z as z42 } from "zod";
4820
+ import { z as z43 } from "zod";
4805
4821
  import { length as length34 } from "circuit-json";
4806
- var smc_def = z42.object({
4807
- fn: z42.string(),
4808
- num_pins: z42.literal(2).default(2),
4809
- w: z42.string().default("10.70mm"),
4810
- h: z42.string().default("6.60mm"),
4811
- pl: z42.string().default("3.30mm"),
4812
- pw: z42.string().default("2.50mm"),
4813
- p: z42.string().default("6.80mm")
4822
+ var smc_def = z43.object({
4823
+ fn: z43.string(),
4824
+ num_pins: z43.literal(2).default(2),
4825
+ w: z43.string().default("10.70mm"),
4826
+ h: z43.string().default("6.60mm"),
4827
+ pl: z43.string().default("3.30mm"),
4828
+ pw: z43.string().default("2.50mm"),
4829
+ p: z43.string().default("6.80mm")
4814
4830
  });
4815
4831
  var smc = (raw_params) => {
4816
4832
  const parameters = smc_def.parse(raw_params);
@@ -4876,16 +4892,16 @@ var smcWithoutParsing = (parameters) => {
4876
4892
  };
4877
4893
 
4878
4894
  // src/fn/sot223.ts
4879
- import { z as z43 } from "zod";
4880
- var sot223_def = z43.object({
4881
- fn: z43.string(),
4882
- num_pins: z43.number().default(4),
4883
- w: z43.string().default("8.50mm"),
4884
- h: z43.string().default("6.90mm"),
4885
- pl: z43.string().default("2mm"),
4886
- pw: z43.string().default("1.5mm"),
4887
- p: z43.string().default("2.30mm"),
4888
- string: z43.string().optional()
4895
+ import { z as z44 } from "zod";
4896
+ var sot223_def = z44.object({
4897
+ fn: z44.string(),
4898
+ num_pins: z44.number().default(4),
4899
+ w: z44.string().default("8.50mm"),
4900
+ h: z44.string().default("6.90mm"),
4901
+ pl: z44.string().default("2mm"),
4902
+ pw: z44.string().default("1.5mm"),
4903
+ p: z44.string().default("2.30mm"),
4904
+ string: z44.string().optional()
4889
4905
  });
4890
4906
  var sot223 = (raw_params) => {
4891
4907
  const match = raw_params.string?.match(/^sot223_(\d+)/);
@@ -5131,16 +5147,16 @@ var sot223_6 = (parameters) => {
5131
5147
  };
5132
5148
 
5133
5149
  // src/fn/sot23w.ts
5134
- import { z as z44 } from "zod";
5135
- var sot23w_def = z44.object({
5136
- fn: z44.string(),
5137
- num_pins: z44.number().default(3),
5138
- w: z44.string().default("3.40mm"),
5139
- h: z44.string().default("3.30mm"),
5140
- pl: z44.string().default("1mm"),
5141
- pw: z44.string().default("0.7mm"),
5142
- p: z44.string().default("1.2mm"),
5143
- string: z44.string().optional()
5150
+ import { z as z45 } from "zod";
5151
+ var sot23w_def = z45.object({
5152
+ fn: z45.string(),
5153
+ num_pins: z45.number().default(3),
5154
+ w: z45.string().default("3.40mm"),
5155
+ h: z45.string().default("3.30mm"),
5156
+ pl: z45.string().default("1mm"),
5157
+ pw: z45.string().default("0.7mm"),
5158
+ p: z45.string().default("1.2mm"),
5159
+ string: z45.string().optional()
5144
5160
  });
5145
5161
  var sot23w = (raw_params) => {
5146
5162
  const match = raw_params.string?.match(/^sot23w_(\d+)/);
@@ -5228,16 +5244,16 @@ var sot23w_3 = (parameters) => {
5228
5244
  };
5229
5245
 
5230
5246
  // src/fn/to92s.ts
5231
- import { z as z45 } from "zod";
5232
- var to92s_def = z45.object({
5233
- fn: z45.string(),
5234
- num_pins: z45.union([z45.literal(3), z45.literal(2)]).default(3),
5235
- p: z45.string().default("1.27mm"),
5236
- id: z45.string().default("0.72mm"),
5237
- od: z45.string().default("0.95mm"),
5238
- w: z45.string().default("2.5mm"),
5239
- h: z45.string().default("4.2mm"),
5240
- string: z45.string().optional()
5247
+ import { z as z46 } from "zod";
5248
+ var to92s_def = z46.object({
5249
+ fn: z46.string(),
5250
+ num_pins: z46.union([z46.literal(3), z46.literal(2)]).default(3),
5251
+ p: z46.string().default("1.27mm"),
5252
+ id: z46.string().default("0.72mm"),
5253
+ od: z46.string().default("0.95mm"),
5254
+ w: z46.string().default("2.5mm"),
5255
+ h: z46.string().default("4.2mm"),
5256
+ string: z46.string().optional()
5241
5257
  });
5242
5258
  var to92s_3 = (parameters) => {
5243
5259
  const { p, id, od, w, h } = parameters;
@@ -5306,9 +5322,9 @@ var to92s = (raw_params) => {
5306
5322
  import {
5307
5323
  length as length35
5308
5324
  } from "circuit-json";
5309
- import { z as z46 } from "zod";
5310
- var jst_def = z46.object({
5311
- fn: z46.string(),
5325
+ import { z as z47 } from "zod";
5326
+ var jst_def = z47.object({
5327
+ fn: z47.string(),
5312
5328
  p: length35.optional().default("2.2mm"),
5313
5329
  id: length35.optional().default("0.70mm"),
5314
5330
  pw: length35.optional().default("1.20mm"),
@@ -5350,16 +5366,16 @@ var jst = (raw_params) => {
5350
5366
  };
5351
5367
 
5352
5368
  // src/fn/sod110.ts
5353
- import { z as z47 } from "zod";
5369
+ import { z as z48 } from "zod";
5354
5370
  import { length as length36 } from "circuit-json";
5355
- var sod_def12 = z47.object({
5356
- fn: z47.string(),
5357
- num_pins: z47.literal(2).default(2),
5358
- w: z47.string().default("3.30mm"),
5359
- h: z47.string().default("1.70mm"),
5360
- pl: z47.string().default("0.80mm"),
5361
- pw: z47.string().default("1mm"),
5362
- p: z47.string().default("1.90mm")
5371
+ var sod_def12 = z48.object({
5372
+ fn: z48.string(),
5373
+ num_pins: z48.literal(2).default(2),
5374
+ w: z48.string().default("3.30mm"),
5375
+ h: z48.string().default("1.70mm"),
5376
+ pl: z48.string().default("0.80mm"),
5377
+ pw: z48.string().default("1mm"),
5378
+ p: z48.string().default("1.90mm")
5363
5379
  });
5364
5380
  var sod110 = (raw_params) => {
5365
5381
  const parameters = sod_def12.parse(raw_params);
@@ -5429,7 +5445,7 @@ var sodWithoutParsing13 = (parameters) => {
5429
5445
  };
5430
5446
 
5431
5447
  // src/fn/vssop.ts
5432
- import { z as z48 } from "zod";
5448
+ import { z as z49 } from "zod";
5433
5449
  import { length as length37 } from "circuit-json";
5434
5450
  var getDefaultValues = (num_pins) => {
5435
5451
  switch (num_pins) {
@@ -5459,15 +5475,15 @@ var getDefaultValues = (num_pins) => {
5459
5475
  };
5460
5476
  }
5461
5477
  };
5462
- var vssop_def = z48.object({
5463
- fn: z48.string(),
5464
- num_pins: z48.union([z48.literal(8), z48.literal(10)]).default(8),
5465
- w: z48.string().optional(),
5466
- h: z48.string().optional(),
5467
- p: z48.string().optional(),
5468
- pl: z48.string().optional(),
5469
- pw: z48.string().optional(),
5470
- string: z48.string().optional()
5478
+ var vssop_def = z49.object({
5479
+ fn: z49.string(),
5480
+ num_pins: z49.union([z49.literal(8), z49.literal(10)]).default(8),
5481
+ w: z49.string().optional(),
5482
+ h: z49.string().optional(),
5483
+ p: z49.string().optional(),
5484
+ pl: z49.string().optional(),
5485
+ pw: z49.string().optional(),
5486
+ string: z49.string().optional()
5471
5487
  });
5472
5488
  var vssop = (raw_params) => {
5473
5489
  const parameters = vssop_def.parse(raw_params);
@@ -5559,7 +5575,7 @@ var getVssopPadCoord = (pinCount, pn, w, p) => {
5559
5575
  };
5560
5576
 
5561
5577
  // src/fn/msop.ts
5562
- import { z as z49 } from "zod";
5578
+ import { z as z50 } from "zod";
5563
5579
  import { length as length38 } from "circuit-json";
5564
5580
  var getDefaultValues2 = (num_pins) => {
5565
5581
  switch (num_pins) {
@@ -5597,15 +5613,15 @@ var getDefaultValues2 = (num_pins) => {
5597
5613
  };
5598
5614
  }
5599
5615
  };
5600
- var msop_def = z49.object({
5601
- fn: z49.string(),
5602
- num_pins: z49.union([z49.literal(8), z49.literal(10), z49.literal(12), z49.literal(16)]).default(8),
5603
- w: z49.string().optional(),
5604
- h: z49.string().optional(),
5605
- p: z49.string().optional(),
5606
- pl: z49.string().optional(),
5607
- pw: z49.string().optional(),
5608
- string: z49.string().optional()
5616
+ var msop_def = z50.object({
5617
+ fn: z50.string(),
5618
+ num_pins: z50.union([z50.literal(8), z50.literal(10), z50.literal(12), z50.literal(16)]).default(8),
5619
+ w: z50.string().optional(),
5620
+ h: z50.string().optional(),
5621
+ p: z50.string().optional(),
5622
+ pl: z50.string().optional(),
5623
+ pw: z50.string().optional(),
5624
+ string: z50.string().optional()
5609
5625
  });
5610
5626
  var getMsopCoords = (pinCount, pn, w, p) => {
5611
5627
  const half = pinCount / 2;
@@ -5695,16 +5711,16 @@ var msop = (raw_params) => {
5695
5711
  };
5696
5712
 
5697
5713
  // src/fn/sod323w.ts
5698
- import { z as z50 } from "zod";
5714
+ import { z as z51 } from "zod";
5699
5715
  import { length as length39 } from "circuit-json";
5700
- var sod323w_def = z50.object({
5701
- fn: z50.string(),
5702
- num_pins: z50.literal(2).default(2),
5703
- w: z50.string().default("3.8mm"),
5704
- h: z50.string().default("1.65mm"),
5705
- pl: z50.string().default("1.2mm"),
5706
- pw: z50.string().default("1.2mm"),
5707
- pad_spacing: z50.string().default("2.6mm")
5716
+ var sod323w_def = z51.object({
5717
+ fn: z51.string(),
5718
+ num_pins: z51.literal(2).default(2),
5719
+ w: z51.string().default("3.8mm"),
5720
+ h: z51.string().default("1.65mm"),
5721
+ pl: z51.string().default("1.2mm"),
5722
+ pw: z51.string().default("1.2mm"),
5723
+ pad_spacing: z51.string().default("2.6mm")
5708
5724
  });
5709
5725
  var sod323w = (raw_params) => {
5710
5726
  const parameters = sod323w_def.parse(raw_params);
@@ -5775,16 +5791,16 @@ var sodWithoutParsing14 = (parameters) => {
5775
5791
  };
5776
5792
 
5777
5793
  // src/fn/sod323fl.ts
5778
- import { z as z51 } from "zod";
5794
+ import { z as z52 } from "zod";
5779
5795
  import { length as length40 } from "circuit-json";
5780
- var sod323FL_def = z51.object({
5781
- fn: z51.string(),
5782
- num_pins: z51.literal(2).default(2),
5783
- w: z51.string().default("3.20mm"),
5784
- h: z51.string().default("1.65mm"),
5785
- pl: z51.string().default("0.8mm"),
5786
- pw: z51.string().default("0.9mm"),
5787
- pad_spacing: z51.string().default("2.1mm")
5796
+ var sod323FL_def = z52.object({
5797
+ fn: z52.string(),
5798
+ num_pins: z52.literal(2).default(2),
5799
+ w: z52.string().default("3.20mm"),
5800
+ h: z52.string().default("1.65mm"),
5801
+ pl: z52.string().default("0.8mm"),
5802
+ pw: z52.string().default("0.9mm"),
5803
+ pad_spacing: z52.string().default("2.1mm")
5788
5804
  });
5789
5805
  var sod323fl = (raw_params) => {
5790
5806
  const parameters = sod323FL_def.parse(raw_params);
@@ -5855,20 +5871,20 @@ var sodWithoutParsing15 = (parameters) => {
5855
5871
  };
5856
5872
 
5857
5873
  // src/fn/son.ts
5858
- import { z as z52 } from "zod";
5874
+ import { z as z53 } from "zod";
5859
5875
  import { length as length41 } from "circuit-json";
5860
- var son_def = z52.object({
5861
- fn: z52.string(),
5862
- num_pins: z52.union([z52.literal(6), z52.literal(8)]).default(8),
5863
- w: z52.string().default("3mm"),
5864
- h: z52.string().default("3mm"),
5865
- p: z52.string().default("0.5mm"),
5866
- pl: z52.string().default("0.52mm"),
5867
- pw: z52.string().default("0.35mm"),
5868
- epw: z52.string().default("1.40mm"),
5869
- eph: z52.string().default("1.60mm"),
5870
- string: z52.string().optional(),
5871
- ep: z52.boolean().default(false)
5876
+ var son_def = z53.object({
5877
+ fn: z53.string(),
5878
+ num_pins: z53.union([z53.literal(6), z53.literal(8)]).default(8),
5879
+ w: z53.string().default("3mm"),
5880
+ h: z53.string().default("3mm"),
5881
+ p: z53.string().default("0.5mm"),
5882
+ pl: z53.string().default("0.52mm"),
5883
+ pw: z53.string().default("0.35mm"),
5884
+ epw: z53.string().default("1.40mm"),
5885
+ eph: z53.string().default("1.60mm"),
5886
+ string: z53.string().optional(),
5887
+ ep: z53.boolean().default(false)
5872
5888
  });
5873
5889
  var son = (raw_params) => {
5874
5890
  if (raw_params.string && raw_params.string.includes("_ep")) {
@@ -6063,7 +6079,7 @@ var solderjumper = (params) => {
6063
6079
  };
6064
6080
 
6065
6081
  // src/fn/sot457.ts
6066
- import { z as z53 } from "zod";
6082
+ import { z as z54 } from "zod";
6067
6083
 
6068
6084
  // src/helpers/pillpad.ts
6069
6085
  var pillpad = (pn, x, y, w, h) => {
@@ -6083,32 +6099,32 @@ var pillpad = (pn, x, y, w, h) => {
6083
6099
 
6084
6100
  // src/fn/sot457.ts
6085
6101
  var commonSchema = {
6086
- fn: z53.literal("sot457"),
6087
- num_pins: z53.literal(6).default(6),
6088
- pillh: z53.string().default("0.45mm"),
6089
- pillw: z53.string().default("1.45mm"),
6090
- pl: z53.string(),
6091
- pw: z53.string(),
6092
- p: z53.string(),
6093
- wave: z53.boolean().optional(),
6094
- reflow: z53.boolean().optional()
6095
- };
6096
- var sot457DefSchema = z53.object({
6102
+ fn: z54.literal("sot457"),
6103
+ num_pins: z54.literal(6).default(6),
6104
+ pillh: z54.string().default("0.45mm"),
6105
+ pillw: z54.string().default("1.45mm"),
6106
+ pl: z54.string(),
6107
+ pw: z54.string(),
6108
+ p: z54.string(),
6109
+ wave: z54.boolean().optional(),
6110
+ reflow: z54.boolean().optional()
6111
+ };
6112
+ var sot457DefSchema = z54.object({
6097
6113
  ...commonSchema,
6098
- h: z53.string().default("2.5mm"),
6099
- w: z53.string().default("2.7mm"),
6100
- pl: z53.string().default("0.8mm"),
6101
- pw: z53.string().default("0.55mm"),
6102
- p: z53.string().default("0.95mm")
6114
+ h: z54.string().default("2.5mm"),
6115
+ w: z54.string().default("2.7mm"),
6116
+ pl: z54.string().default("0.8mm"),
6117
+ pw: z54.string().default("0.55mm"),
6118
+ p: z54.string().default("0.95mm")
6103
6119
  });
6104
- var sot457WaveSchema = z53.object({
6120
+ var sot457WaveSchema = z54.object({
6105
6121
  ...commonSchema,
6106
- h: z53.string().default("3mm"),
6107
- w: z53.string().default("4mm"),
6108
- pillr: z53.string().default("0.225mm"),
6109
- pl: z53.string().default("1.45mm"),
6110
- pw: z53.string().default("1.5mm"),
6111
- p: z53.string().default("1.475mm")
6122
+ h: z54.string().default("3mm"),
6123
+ w: z54.string().default("4mm"),
6124
+ pillr: z54.string().default("0.225mm"),
6125
+ pl: z54.string().default("1.45mm"),
6126
+ pw: z54.string().default("1.5mm"),
6127
+ p: z54.string().default("1.475mm")
6112
6128
  }).transform((data) => ({
6113
6129
  ...data,
6114
6130
  wave: data.wave ?? (data.reflow === void 0 ? true : !data.reflow),
@@ -6247,19 +6263,19 @@ var sot457 = (rawParams) => {
6247
6263
  };
6248
6264
 
6249
6265
  // src/fn/potentiometer.ts
6250
- import { z as z54 } from "zod";
6251
- var potentiometer_def = z54.object({
6252
- fn: z54.string(),
6253
- num_pins: z54.union([z54.literal(3), z54.literal(2)]).default(3),
6254
- p: z54.string().default("3.8mm"),
6255
- id: z54.string().default("1.25mm"),
6256
- od: z54.string().default("2.35mm"),
6257
- ca: z54.string().default("14mm").describe(
6266
+ import { z as z55 } from "zod";
6267
+ var potentiometer_def = z55.object({
6268
+ fn: z55.string(),
6269
+ num_pins: z55.union([z55.literal(3), z55.literal(2)]).default(3),
6270
+ p: z55.string().default("3.8mm"),
6271
+ id: z55.string().default("1.25mm"),
6272
+ od: z55.string().default("2.35mm"),
6273
+ ca: z55.string().default("14mm").describe(
6258
6274
  "Caliper axis (width or diameter of the potentiometer body or adjustment knob)"
6259
6275
  ),
6260
- w: z54.string().default("5.35mm"),
6261
- h: z54.string().default("4mm"),
6262
- string: z54.string().optional()
6276
+ w: z55.string().default("5.35mm"),
6277
+ h: z55.string().default("4mm"),
6278
+ string: z55.string().optional()
6263
6279
  });
6264
6280
  var potentiometer_acp = (parameters) => {
6265
6281
  const { p, id, od, h, ca } = parameters;
@@ -6328,9 +6344,9 @@ var potentiometer = (raw_params) => {
6328
6344
  import {
6329
6345
  length as length43
6330
6346
  } from "circuit-json";
6331
- import { z as z55 } from "zod";
6332
- var electrolytic_def = z55.object({
6333
- fn: z55.string(),
6347
+ import { z as z56 } from "zod";
6348
+ var electrolytic_def = z56.object({
6349
+ fn: z56.string(),
6334
6350
  p: length43.optional().default("7.5mm"),
6335
6351
  id: length43.optional().default("1mm"),
6336
6352
  od: length43.optional().default("2mm"),
@@ -6441,16 +6457,16 @@ var electrolytic = (raw_params) => {
6441
6457
  };
6442
6458
 
6443
6459
  // src/fn/smbf.ts
6444
- import { z as z56 } from "zod";
6460
+ import { z as z57 } from "zod";
6445
6461
  import { length as length44 } from "circuit-json";
6446
- var smbf_def = z56.object({
6447
- fn: z56.string(),
6448
- num_pins: z56.literal(2).default(2),
6449
- w: z56.string().default("6.5mm"),
6450
- h: z56.string().default("3mm"),
6451
- pl: z56.string().default("1.75mm"),
6452
- pw: z56.string().default("2.40mm"),
6453
- p: z56.string().default("4.75mm")
6462
+ var smbf_def = z57.object({
6463
+ fn: z57.string(),
6464
+ num_pins: z57.literal(2).default(2),
6465
+ w: z57.string().default("6.5mm"),
6466
+ h: z57.string().default("3mm"),
6467
+ pl: z57.string().default("1.75mm"),
6468
+ pw: z57.string().default("2.40mm"),
6469
+ p: z57.string().default("4.75mm")
6454
6470
  });
6455
6471
  var smbf = (raw_params) => {
6456
6472
  const parameters = smbf_def.parse(raw_params);
@@ -6520,16 +6536,16 @@ var smbfWithoutParsing = (parameters) => {
6520
6536
  };
6521
6537
 
6522
6538
  // src/fn/sot323.ts
6523
- import { z as z57 } from "zod";
6524
- var sot323_def = z57.object({
6525
- fn: z57.string(),
6526
- num_pins: z57.number().default(3),
6527
- w: z57.string().default("2.45mm"),
6528
- h: z57.string().default("2.40mm"),
6529
- pl: z57.string().default("0.45mm"),
6530
- pw: z57.string().default("0.70mm"),
6531
- p: z57.string().default("1mm"),
6532
- string: z57.string().optional()
6539
+ import { z as z58 } from "zod";
6540
+ var sot323_def = z58.object({
6541
+ fn: z58.string(),
6542
+ num_pins: z58.number().default(3),
6543
+ w: z58.string().default("2.45mm"),
6544
+ h: z58.string().default("2.40mm"),
6545
+ pl: z58.string().default("0.45mm"),
6546
+ pw: z58.string().default("0.70mm"),
6547
+ p: z58.string().default("1mm"),
6548
+ string: z58.string().optional()
6533
6549
  });
6534
6550
  var sot323 = (raw_params) => {
6535
6551
  const match = raw_params.string?.match(/^sot323_(\d+)/);
@@ -6617,14 +6633,14 @@ var sot323_3 = (parameters) => {
6617
6633
  };
6618
6634
 
6619
6635
  // src/fn/smtpad.ts
6620
- import { z as z58 } from "zod";
6636
+ import { z as z59 } from "zod";
6621
6637
  import { length as length45 } from "circuit-json";
6622
6638
  import { mm as mm6 } from "@tscircuit/mm";
6623
- var smtpad_def = z58.object({
6624
- fn: z58.string(),
6625
- circle: z58.boolean().optional(),
6626
- rect: z58.boolean().optional(),
6627
- square: z58.boolean().optional(),
6639
+ var smtpad_def = z59.object({
6640
+ fn: z59.string(),
6641
+ circle: z59.boolean().optional(),
6642
+ rect: z59.boolean().optional(),
6643
+ square: z59.boolean().optional(),
6628
6644
  d: length45.optional(),
6629
6645
  pd: length45.optional(),
6630
6646
  diameter: length45.optional(),
@@ -6639,7 +6655,7 @@ var smtpad_def = z58.object({
6639
6655
  height: length45.optional(),
6640
6656
  s: length45.optional(),
6641
6657
  size: length45.optional(),
6642
- string: z58.string().optional()
6658
+ string: z59.string().optional()
6643
6659
  }).transform((v) => {
6644
6660
  let shape = "rect";
6645
6661
  if (v.circle) shape = "circle";
@@ -6693,18 +6709,18 @@ var smtpad = (raw_params) => {
6693
6709
  };
6694
6710
 
6695
6711
  // src/fn/platedhole.ts
6696
- import { z as z59 } from "zod";
6712
+ import { z as z60 } from "zod";
6697
6713
  import { length as length46 } from "circuit-json";
6698
6714
  import { mm as mm7 } from "@tscircuit/mm";
6699
- var platedhole_def = z59.object({
6700
- fn: z59.string(),
6715
+ var platedhole_def = z60.object({
6716
+ fn: z60.string(),
6701
6717
  d: length46.optional(),
6702
6718
  hd: length46.optional(),
6703
6719
  r: length46.optional(),
6704
6720
  hr: length46.optional(),
6705
6721
  pd: length46.optional(),
6706
6722
  pr: length46.optional(),
6707
- squarepad: z59.boolean().optional().default(false)
6723
+ squarepad: z60.boolean().optional().default(false)
6708
6724
  }).transform((v) => {
6709
6725
  let holeD;
6710
6726
  if (v.d !== void 0) holeD = mm7(v.d);
@@ -6736,14 +6752,14 @@ var platedhole3 = (raw_params) => {
6736
6752
  };
6737
6753
 
6738
6754
  // src/fn/sot.ts
6739
- import { z as z60 } from "zod";
6740
- var sot_def = z60.object({
6741
- fn: z60.string(),
6742
- num_pins: z60.literal(6).default(6),
6743
- h: z60.string().default("1.6mm"),
6744
- pl: z60.string().default("1mm"),
6745
- pw: z60.string().default("0.7mm"),
6746
- p: z60.string().default("0.95mm")
6755
+ import { z as z61 } from "zod";
6756
+ var sot_def = z61.object({
6757
+ fn: z61.string(),
6758
+ num_pins: z61.literal(6).default(6),
6759
+ h: z61.string().default("1.6mm"),
6760
+ pl: z61.string().default("1mm"),
6761
+ pw: z61.string().default("0.7mm"),
6762
+ p: z61.string().default("0.95mm")
6747
6763
  });
6748
6764
  var sot = (raw_params) => {
6749
6765
  const parameters = sot_def.parse(raw_params);
@@ -6859,6 +6875,73 @@ var sotWithoutParsing = (parameters) => {
6859
6875
  ];
6860
6876
  };
6861
6877
 
6878
+ // src/fn/m2host.ts
6879
+ import { z as z62 } from "zod";
6880
+ var m2host_def = z62.object({
6881
+ fn: z62.string()
6882
+ });
6883
+ var m2host = (raw_params) => {
6884
+ const parameters = m2host_def.parse(raw_params);
6885
+ const pads = [];
6886
+ const padWidth = 0.5 - 0.15;
6887
+ const padLength = 1.5;
6888
+ const pitch = 0.5;
6889
+ const halfPitch = pitch / 2;
6890
+ const rowOffset = 0.5;
6891
+ const numPads = 75;
6892
+ const startY = -((numPads - 1) * pitch) / 2;
6893
+ for (let i = 0; i < numPads; i++) {
6894
+ const pn = i + 1;
6895
+ if (pn >= 24 && pn <= 31) continue;
6896
+ const y = startY - i * halfPitch;
6897
+ const x = i % 2 === 0 ? 0 : -rowOffset / 2;
6898
+ const padLengthWithOffset = padLength + (i % 2 === 0 ? 0 : 0.25);
6899
+ const pad2 = rectpad(pn, x, y, padLengthWithOffset, padWidth);
6900
+ pad2.layer = pn % 2 === 0 ? "bottom" : "top";
6901
+ pads.push(pad2);
6902
+ }
6903
+ const cutoutWidth = 46 * 0.0254;
6904
+ const cutoutDepth = 137 * 0.0254;
6905
+ const cutoutOffsetFromPin1 = 261 * 0.0254;
6906
+ const cutout = {
6907
+ type: "pcb_cutout",
6908
+ pcb_cutout_id: "",
6909
+ shape: "rect",
6910
+ center: {
6911
+ x: -cutoutDepth / 2 + padLength / 2,
6912
+ y: startY - cutoutOffsetFromPin1
6913
+ },
6914
+ width: cutoutDepth,
6915
+ height: cutoutWidth
6916
+ };
6917
+ const pin1MarkerPosition = {
6918
+ x: -0.5,
6919
+ y: startY
6920
+ };
6921
+ const pin1Marker = {
6922
+ type: "pcb_silkscreen_path",
6923
+ layer: "top",
6924
+ pcb_component_id: "pin_marker_1",
6925
+ route: [
6926
+ { x: pin1MarkerPosition.x - 0.4, y: pin1MarkerPosition.y },
6927
+ { x: pin1MarkerPosition.x - 0.7, y: pin1MarkerPosition.y + 0.3 },
6928
+ { x: pin1MarkerPosition.x - 0.7, y: pin1MarkerPosition.y - 0.3 },
6929
+ { x: pin1MarkerPosition.x - 0.4, y: pin1MarkerPosition.y }
6930
+ ],
6931
+ stroke_width: 0.05,
6932
+ pcb_silkscreen_path_id: "pin_marker_1"
6933
+ };
6934
+ return {
6935
+ circuitJson: [
6936
+ ...pads,
6937
+ cutout,
6938
+ // silkscreenRefText,
6939
+ pin1Marker
6940
+ ],
6941
+ parameters
6942
+ };
6943
+ };
6944
+
6862
6945
  // src/helpers/is-not-null.ts
6863
6946
  function isNotNull(value) {
6864
6947
  return value !== null;