@tscircuit/footprinter 0.0.145 → 0.0.147

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
@@ -39,10 +39,12 @@ __export(fn_exports, {
39
39
  sod110: () => sod110,
40
40
  sod123: () => sod123,
41
41
  sod123f: () => sod123f,
42
+ sod123fl: () => sod123fl,
42
43
  sod123w: () => sod123w,
43
44
  sod128: () => sod128,
44
45
  sod323: () => sod323,
45
46
  sod323f: () => sod323f,
47
+ sod323fl: () => sod323fl,
46
48
  sod523: () => sod523,
47
49
  sod723: () => sod723,
48
50
  sod882: () => sod882,
@@ -3362,20 +3364,20 @@ var sodWithoutParsing8 = (parameters) => {
3362
3364
  return pads;
3363
3365
  };
3364
3366
 
3365
- // src/fn/sod723.ts
3367
+ // src/fn/sod123fl.ts
3366
3368
  import { z as z29 } from "zod";
3367
3369
  import { length as length23 } from "circuit-json";
3368
- var sod_def9 = z29.object({
3370
+ var sod123FL_def = z29.object({
3369
3371
  fn: z29.string(),
3370
3372
  num_pins: z29.literal(2).default(2),
3371
- w: z29.string().default("1.80mm"),
3372
- h: z29.string().default("1.00mm"),
3373
- pl: z29.string().default("0.66mm"),
3374
- pw: z29.string().default("0.5mm"),
3375
- p: z29.string().default("0.8mm")
3373
+ w: z29.string().default("4.4mm"),
3374
+ h: z29.string().default("2.1mm"),
3375
+ pl: z29.string().default("0.91mm"),
3376
+ pw: z29.string().default("1.22mm"),
3377
+ p: z29.string().default("3.146mm")
3376
3378
  });
3377
- var sod723 = (raw_params) => {
3378
- const parameters = sod_def9.parse(raw_params);
3379
+ var sod123fl = (raw_params) => {
3380
+ const parameters = sod123FL_def.parse(raw_params);
3379
3381
  const silkscreenRefText = silkscreenRef(
3380
3382
  0,
3381
3383
  length23.parse(parameters.h),
@@ -3391,11 +3393,11 @@ var sod723 = (raw_params) => {
3391
3393
  y: length23.parse(parameters.h) / 2
3392
3394
  },
3393
3395
  {
3394
- x: -length23.parse(parameters.w) / 2 - 0.1,
3396
+ x: -length23.parse(parameters.w) / 2 - 0.2,
3395
3397
  y: length23.parse(parameters.h) / 2
3396
3398
  },
3397
3399
  {
3398
- x: -length23.parse(parameters.w) / 2 - 0.1,
3400
+ x: -length23.parse(parameters.w) / 2 - 0.2,
3399
3401
  y: -length23.parse(parameters.h) / 2
3400
3402
  },
3401
3403
  {
@@ -3442,23 +3444,23 @@ var sodWithoutParsing9 = (parameters) => {
3442
3444
  return pads;
3443
3445
  };
3444
3446
 
3445
- // src/fn/sod128.ts
3447
+ // src/fn/sod723.ts
3446
3448
  import { z as z30 } from "zod";
3447
3449
  import { length as length24 } from "circuit-json";
3448
- var sod_def10 = z30.object({
3450
+ var sod_def9 = z30.object({
3449
3451
  fn: z30.string(),
3450
3452
  num_pins: z30.literal(2).default(2),
3451
- w: z30.string().default("6.2mm"),
3452
- h: z30.string().default("3.4mm"),
3453
- pl: z30.string().default("1.4mm"),
3454
- pw: z30.string().default("2.1mm"),
3455
- p: z30.string().default("4.4mm")
3453
+ w: z30.string().default("1.80mm"),
3454
+ h: z30.string().default("1.00mm"),
3455
+ pl: z30.string().default("0.66mm"),
3456
+ pw: z30.string().default("0.5mm"),
3457
+ p: z30.string().default("0.8mm")
3456
3458
  });
3457
- var sod128 = (raw_params) => {
3458
- const parameters = sod_def10.parse(raw_params);
3459
+ var sod723 = (raw_params) => {
3460
+ const parameters = sod_def9.parse(raw_params);
3459
3461
  const silkscreenRefText = silkscreenRef(
3460
3462
  0,
3461
- length24.parse(parameters.h) / 2 + 0.4,
3463
+ length24.parse(parameters.h),
3462
3464
  0.3
3463
3465
  );
3464
3466
  const silkscreenLine = {
@@ -3471,11 +3473,11 @@ var sod128 = (raw_params) => {
3471
3473
  y: length24.parse(parameters.h) / 2
3472
3474
  },
3473
3475
  {
3474
- x: -length24.parse(parameters.w) / 2 - 0.2,
3476
+ x: -length24.parse(parameters.w) / 2 - 0.1,
3475
3477
  y: length24.parse(parameters.h) / 2
3476
3478
  },
3477
3479
  {
3478
- x: -length24.parse(parameters.w) / 2 - 0.2,
3480
+ x: -length24.parse(parameters.w) / 2 - 0.1,
3479
3481
  y: -length24.parse(parameters.h) / 2
3480
3482
  },
3481
3483
  {
@@ -3522,28 +3524,108 @@ var sodWithoutParsing10 = (parameters) => {
3522
3524
  return pads;
3523
3525
  };
3524
3526
 
3525
- // src/fn/sot89.ts
3527
+ // src/fn/sod128.ts
3526
3528
  import { z as z31 } from "zod";
3527
- var sot89_def = z31.object({
3529
+ import { length as length25 } from "circuit-json";
3530
+ var sod_def10 = z31.object({
3528
3531
  fn: z31.string(),
3529
- num_pins: z31.union([z31.literal(3), z31.literal(5)]).default(3),
3530
- w: z31.string().default("4.80mm"),
3531
- h: z31.string().default("4.80mm"),
3532
- pl: z31.string().default("1.3mm"),
3533
- pw: z31.string().default("0.9mm"),
3534
- p: z31.string().default("1.5mm"),
3535
- string: z31.string().optional()
3532
+ num_pins: z31.literal(2).default(2),
3533
+ w: z31.string().default("6.2mm"),
3534
+ h: z31.string().default("3.4mm"),
3535
+ pl: z31.string().default("1.4mm"),
3536
+ pw: z31.string().default("2.1mm"),
3537
+ p: z31.string().default("4.4mm")
3538
+ });
3539
+ var sod128 = (raw_params) => {
3540
+ const parameters = sod_def10.parse(raw_params);
3541
+ const silkscreenRefText = silkscreenRef(
3542
+ 0,
3543
+ length25.parse(parameters.h) / 2 + 0.4,
3544
+ 0.3
3545
+ );
3546
+ const silkscreenLine = {
3547
+ type: "pcb_silkscreen_path",
3548
+ layer: "top",
3549
+ pcb_component_id: "",
3550
+ route: [
3551
+ {
3552
+ x: length25.parse(parameters.p) / 2,
3553
+ y: length25.parse(parameters.h) / 2
3554
+ },
3555
+ {
3556
+ x: -length25.parse(parameters.w) / 2 - 0.2,
3557
+ y: length25.parse(parameters.h) / 2
3558
+ },
3559
+ {
3560
+ x: -length25.parse(parameters.w) / 2 - 0.2,
3561
+ y: -length25.parse(parameters.h) / 2
3562
+ },
3563
+ {
3564
+ x: length25.parse(parameters.p) / 2,
3565
+ y: -length25.parse(parameters.h) / 2
3566
+ }
3567
+ ],
3568
+ stroke_width: 0.1,
3569
+ pcb_silkscreen_path_id: ""
3570
+ };
3571
+ return {
3572
+ circuitJson: sodWithoutParsing11(parameters).concat(
3573
+ silkscreenLine,
3574
+ silkscreenRefText
3575
+ ),
3576
+ parameters
3577
+ };
3578
+ };
3579
+ var getSodCoords11 = (parameters) => {
3580
+ const { pn, p } = parameters;
3581
+ if (pn === 1) {
3582
+ return { x: -p / 2, y: 0 };
3583
+ } else {
3584
+ return { x: p / 2, y: 0 };
3585
+ }
3586
+ };
3587
+ var sodWithoutParsing11 = (parameters) => {
3588
+ const pads = [];
3589
+ for (let i = 1; i <= parameters.num_pins; i++) {
3590
+ const { x, y } = getSodCoords11({
3591
+ pn: i,
3592
+ p: Number.parseFloat(parameters.p)
3593
+ });
3594
+ pads.push(
3595
+ rectpad(
3596
+ i,
3597
+ x,
3598
+ y,
3599
+ Number.parseFloat(parameters.pl),
3600
+ Number.parseFloat(parameters.pw)
3601
+ )
3602
+ );
3603
+ }
3604
+ return pads;
3605
+ };
3606
+
3607
+ // src/fn/sot89.ts
3608
+ import { z as z32 } from "zod";
3609
+ var sot89_def = z32.object({
3610
+ fn: z32.string(),
3611
+ num_pins: z32.union([z32.literal(3), z32.literal(5)]).default(3),
3612
+ w: z32.string().default("4.80mm"),
3613
+ h: z32.string().default("4.80mm"),
3614
+ pl: z32.string().default("1.3mm"),
3615
+ pw: z32.string().default("0.9mm"),
3616
+ p: z32.string().default("1.5mm"),
3617
+ string: z32.string().optional()
3536
3618
  });
3537
3619
  var sot89_3 = (parameters) => {
3538
3620
  const pads = [];
3539
3621
  const padGap = Number.parseFloat(parameters.p);
3540
3622
  const padWidth = Number.parseFloat(parameters.pw);
3541
- const length38 = Number.parseFloat(parameters.w);
3623
+ const length40 = Number.parseFloat(parameters.w);
3542
3624
  const padHeight = Number.parseFloat(parameters.pl);
3543
3625
  pads.push(
3544
- rectpad(1, -length38 / 2, padGap, padHeight, padWidth),
3545
- rectpad(2, -length38 / 2 + (1.5 - 1.3) / 2, 0, 1.5, padWidth),
3546
- rectpad(3, -length38 / 2, -padGap, padHeight, padWidth)
3626
+ rectpad(1, -length40 / 2, padGap, padHeight, padWidth),
3627
+ rectpad(2, -length40 / 2 + (1.5 - 1.3) / 2, 0, 1.5, padWidth),
3628
+ rectpad(3, -length40 / 2, -padGap, padHeight, padWidth)
3547
3629
  );
3548
3630
  const silkscreenRefText = silkscreenRef(0, 0, 0.3);
3549
3631
  const width = Number.parseFloat(parameters.w) / 2 - 1;
@@ -3583,7 +3665,7 @@ var sot89_5 = (parameters) => {
3583
3665
  const pads = [];
3584
3666
  const padGap = Number.parseFloat(parameters.p);
3585
3667
  const padWidth = Number.parseFloat(parameters.pw);
3586
- const length38 = Number.parseFloat(parameters.w);
3668
+ const length40 = Number.parseFloat(parameters.w);
3587
3669
  pads.push(
3588
3670
  rectpad(1, -1.85, -1.5, 1.5, 0.7),
3589
3671
  rectpad(2, -1.85, 1.5, 1.5, 0.7),
@@ -3651,18 +3733,18 @@ var sot89 = (raw_params) => {
3651
3733
 
3652
3734
  // src/fn/to220.ts
3653
3735
  import {
3654
- length as length25
3736
+ length as length26
3655
3737
  } from "circuit-json";
3656
- import { z as z32 } from "zod";
3657
- var to220_def = z32.object({
3658
- fn: z32.string(),
3659
- p: length25.optional().default("5.0mm"),
3660
- id: length25.optional().default("1.0mm"),
3661
- od: length25.optional().default("1.9mm"),
3662
- w: length25.optional().default("13mm"),
3663
- h: length25.optional().default("7mm"),
3664
- num_pins: z32.number().optional(),
3665
- string: z32.string().optional()
3738
+ import { z as z33 } from "zod";
3739
+ var to220_def = z33.object({
3740
+ fn: z33.string(),
3741
+ p: length26.optional().default("5.0mm"),
3742
+ id: length26.optional().default("1.0mm"),
3743
+ od: length26.optional().default("1.9mm"),
3744
+ w: length26.optional().default("13mm"),
3745
+ h: length26.optional().default("7mm"),
3746
+ num_pins: z33.number().optional(),
3747
+ string: z33.string().optional()
3666
3748
  });
3667
3749
  var to220 = (raw_params) => {
3668
3750
  const parameters = to220_def.parse(raw_params);
@@ -3742,22 +3824,22 @@ var to220 = (raw_params) => {
3742
3824
  };
3743
3825
 
3744
3826
  // src/fn/minimelf.ts
3745
- import { z as z33 } from "zod";
3746
- import { length as length26 } from "circuit-json";
3747
- var minimelf_def = z33.object({
3748
- fn: z33.string(),
3749
- num_pins: z33.literal(2).default(2),
3750
- w: z33.string().default("5.40mm"),
3751
- h: z33.string().default("2.30mm"),
3752
- pl: z33.string().default("1.30mm"),
3753
- pw: z33.string().default("1.70mm"),
3754
- p: z33.string().default("3.5mm")
3827
+ import { z as z34 } from "zod";
3828
+ import { length as length27 } from "circuit-json";
3829
+ var minimelf_def = z34.object({
3830
+ fn: z34.string(),
3831
+ num_pins: z34.literal(2).default(2),
3832
+ w: z34.string().default("5.40mm"),
3833
+ h: z34.string().default("2.30mm"),
3834
+ pl: z34.string().default("1.30mm"),
3835
+ pw: z34.string().default("1.70mm"),
3836
+ p: z34.string().default("3.5mm")
3755
3837
  });
3756
3838
  var minimelf = (raw_params) => {
3757
3839
  const parameters = minimelf_def.parse(raw_params);
3758
3840
  const silkscreenRefText = silkscreenRef(
3759
3841
  0,
3760
- length26.parse(parameters.h) / 2 + 0.4,
3842
+ length27.parse(parameters.h) / 2 + 0.4,
3761
3843
  0.3
3762
3844
  );
3763
3845
  const silkscreenLine = {
@@ -3766,20 +3848,20 @@ var minimelf = (raw_params) => {
3766
3848
  pcb_component_id: "",
3767
3849
  route: [
3768
3850
  {
3769
- x: length26.parse(parameters.p) / 2,
3770
- y: length26.parse(parameters.h) / 2
3851
+ x: length27.parse(parameters.p) / 2,
3852
+ y: length27.parse(parameters.h) / 2
3771
3853
  },
3772
3854
  {
3773
- x: -length26.parse(parameters.w) / 2,
3774
- y: length26.parse(parameters.h) / 2
3855
+ x: -length27.parse(parameters.w) / 2,
3856
+ y: length27.parse(parameters.h) / 2
3775
3857
  },
3776
3858
  {
3777
- x: -length26.parse(parameters.w) / 2,
3778
- y: -length26.parse(parameters.h) / 2
3859
+ x: -length27.parse(parameters.w) / 2,
3860
+ y: -length27.parse(parameters.h) / 2
3779
3861
  },
3780
3862
  {
3781
- x: length26.parse(parameters.p) / 2,
3782
- y: -length26.parse(parameters.h) / 2
3863
+ x: length27.parse(parameters.p) / 2,
3864
+ y: -length27.parse(parameters.h) / 2
3783
3865
  }
3784
3866
  ],
3785
3867
  stroke_width: 0.1,
@@ -3818,22 +3900,22 @@ var miniMelfWithoutParsing = (parameters) => {
3818
3900
  };
3819
3901
 
3820
3902
  // src/fn/sod882d.ts
3821
- import { z as z34 } from "zod";
3822
- import { length as length27 } from "circuit-json";
3823
- var sod_def11 = z34.object({
3824
- fn: z34.string(),
3825
- num_pins: z34.literal(2).default(2),
3826
- w: z34.string().default("1.90mm"),
3827
- h: z34.string().default("1.33mm"),
3828
- pl: z34.string().default("0.5mm"),
3829
- pw: z34.string().default("0.7mm"),
3830
- p: z34.string().default("0.8mm")
3903
+ import { z as z35 } from "zod";
3904
+ import { length as length28 } from "circuit-json";
3905
+ var sod_def11 = z35.object({
3906
+ fn: z35.string(),
3907
+ num_pins: z35.literal(2).default(2),
3908
+ w: z35.string().default("1.90mm"),
3909
+ h: z35.string().default("1.33mm"),
3910
+ pl: z35.string().default("0.5mm"),
3911
+ pw: z35.string().default("0.7mm"),
3912
+ p: z35.string().default("0.8mm")
3831
3913
  });
3832
3914
  var sod882d = (raw_params) => {
3833
3915
  const parameters = sod_def11.parse(raw_params);
3834
3916
  const silkscreenRefText = silkscreenRef(
3835
3917
  0,
3836
- length27.parse(parameters.h) + 0.1,
3918
+ length28.parse(parameters.h) + 0.1,
3837
3919
  0.3
3838
3920
  );
3839
3921
  const silkscreenLine = {
@@ -3842,34 +3924,34 @@ var sod882d = (raw_params) => {
3842
3924
  pcb_component_id: "",
3843
3925
  route: [
3844
3926
  {
3845
- x: length27.parse(parameters.p) / 2 + 0.1,
3846
- y: length27.parse(parameters.h) / 2
3927
+ x: length28.parse(parameters.p) / 2 + 0.1,
3928
+ y: length28.parse(parameters.h) / 2
3847
3929
  },
3848
3930
  {
3849
- x: -length27.parse(parameters.w) / 2,
3850
- y: length27.parse(parameters.h) / 2
3931
+ x: -length28.parse(parameters.w) / 2,
3932
+ y: length28.parse(parameters.h) / 2
3851
3933
  },
3852
3934
  {
3853
- x: -length27.parse(parameters.w) / 2,
3854
- y: -length27.parse(parameters.h) / 2
3935
+ x: -length28.parse(parameters.w) / 2,
3936
+ y: -length28.parse(parameters.h) / 2
3855
3937
  },
3856
3938
  {
3857
- x: length27.parse(parameters.p) / 2 + 0.1,
3858
- y: -length27.parse(parameters.h) / 2
3939
+ x: length28.parse(parameters.p) / 2 + 0.1,
3940
+ y: -length28.parse(parameters.h) / 2
3859
3941
  }
3860
3942
  ],
3861
3943
  stroke_width: 0.1,
3862
3944
  pcb_silkscreen_path_id: ""
3863
3945
  };
3864
3946
  return {
3865
- circuitJson: sodWithoutParsing11(parameters).concat(
3947
+ circuitJson: sodWithoutParsing12(parameters).concat(
3866
3948
  silkscreenLine,
3867
3949
  silkscreenRefText
3868
3950
  ),
3869
3951
  parameters
3870
3952
  };
3871
3953
  };
3872
- var getSodCoords11 = (parameters) => {
3954
+ var getSodCoords12 = (parameters) => {
3873
3955
  const { pn, p } = parameters;
3874
3956
  if (pn === 1) {
3875
3957
  return { x: -p / 2, y: 0 };
@@ -3877,10 +3959,10 @@ var getSodCoords11 = (parameters) => {
3877
3959
  return { x: p / 2, y: 0 };
3878
3960
  }
3879
3961
  };
3880
- var sodWithoutParsing11 = (parameters) => {
3962
+ var sodWithoutParsing12 = (parameters) => {
3881
3963
  const pads = [];
3882
3964
  for (let i = 1; i <= parameters.num_pins; i++) {
3883
- const { x, y } = getSodCoords11({
3965
+ const { x, y } = getSodCoords12({
3884
3966
  pn: i,
3885
3967
  p: Number.parseFloat(parameters.p)
3886
3968
  });
@@ -3898,22 +3980,22 @@ var sodWithoutParsing11 = (parameters) => {
3898
3980
  };
3899
3981
 
3900
3982
  // src/fn/melf.ts
3901
- import { z as z35 } from "zod";
3902
- import { length as length28 } from "circuit-json";
3903
- var melf_def = z35.object({
3904
- fn: z35.string(),
3905
- num_pins: z35.literal(2).default(2),
3906
- w: z35.string().default("7.0mm"),
3907
- h: z35.string().default("3.35mm"),
3908
- pl: z35.string().default("1.50mm"),
3909
- pw: z35.string().default("2.70mm"),
3910
- p: z35.string().default("4.8mm")
3983
+ import { z as z36 } from "zod";
3984
+ import { length as length29 } from "circuit-json";
3985
+ var melf_def = z36.object({
3986
+ fn: z36.string(),
3987
+ num_pins: z36.literal(2).default(2),
3988
+ w: z36.string().default("7.0mm"),
3989
+ h: z36.string().default("3.35mm"),
3990
+ pl: z36.string().default("1.50mm"),
3991
+ pw: z36.string().default("2.70mm"),
3992
+ p: z36.string().default("4.8mm")
3911
3993
  });
3912
3994
  var melf = (raw_params) => {
3913
3995
  const parameters = melf_def.parse(raw_params);
3914
3996
  const silkscreenRefText = silkscreenRef(
3915
3997
  0,
3916
- length28.parse(parameters.h),
3998
+ length29.parse(parameters.h),
3917
3999
  0.3
3918
4000
  );
3919
4001
  const silkscreenLine = {
@@ -3922,20 +4004,20 @@ var melf = (raw_params) => {
3922
4004
  pcb_component_id: "",
3923
4005
  route: [
3924
4006
  {
3925
- x: length28.parse(parameters.p) / 2,
3926
- y: length28.parse(parameters.h) / 2
4007
+ x: length29.parse(parameters.p) / 2,
4008
+ y: length29.parse(parameters.h) / 2
3927
4009
  },
3928
4010
  {
3929
- x: -length28.parse(parameters.w) / 2,
3930
- y: length28.parse(parameters.h) / 2
4011
+ x: -length29.parse(parameters.w) / 2,
4012
+ y: length29.parse(parameters.h) / 2
3931
4013
  },
3932
4014
  {
3933
- x: -length28.parse(parameters.w) / 2,
3934
- y: -length28.parse(parameters.h) / 2
4015
+ x: -length29.parse(parameters.w) / 2,
4016
+ y: -length29.parse(parameters.h) / 2
3935
4017
  },
3936
4018
  {
3937
- x: length28.parse(parameters.p) / 2,
3938
- y: -length28.parse(parameters.h) / 2
4019
+ x: length29.parse(parameters.p) / 2,
4020
+ y: -length29.parse(parameters.h) / 2
3939
4021
  }
3940
4022
  ],
3941
4023
  stroke_width: 0.1,
@@ -3978,22 +4060,22 @@ var melfWithoutParsing = (parameters) => {
3978
4060
  };
3979
4061
 
3980
4062
  // src/fn/micromelf.ts
3981
- import { z as z36 } from "zod";
3982
- import { length as length29 } from "circuit-json";
3983
- var micromelf_def = z36.object({
3984
- fn: z36.string(),
3985
- num_pins: z36.literal(2).default(2),
3986
- w: z36.string().default("3.0mm"),
3987
- h: z36.string().default("1.80mm"),
3988
- pl: z36.string().default("0.80mm"),
3989
- pw: z36.string().default("1.20mm"),
3990
- p: z36.string().default("1.6mm")
4063
+ import { z as z37 } from "zod";
4064
+ import { length as length30 } from "circuit-json";
4065
+ var micromelf_def = z37.object({
4066
+ fn: z37.string(),
4067
+ num_pins: z37.literal(2).default(2),
4068
+ w: z37.string().default("3.0mm"),
4069
+ h: z37.string().default("1.80mm"),
4070
+ pl: z37.string().default("0.80mm"),
4071
+ pw: z37.string().default("1.20mm"),
4072
+ p: z37.string().default("1.6mm")
3991
4073
  });
3992
4074
  var micromelf = (raw_params) => {
3993
4075
  const parameters = micromelf_def.parse(raw_params);
3994
4076
  const silkscreenRefText = silkscreenRef(
3995
4077
  0,
3996
- length29.parse(parameters.h),
4078
+ length30.parse(parameters.h),
3997
4079
  0.3
3998
4080
  );
3999
4081
  const silkscreenLine = {
@@ -4002,20 +4084,20 @@ var micromelf = (raw_params) => {
4002
4084
  pcb_component_id: "",
4003
4085
  route: [
4004
4086
  {
4005
- x: length29.parse(parameters.p) / 2,
4006
- y: length29.parse(parameters.h) / 2
4087
+ x: length30.parse(parameters.p) / 2,
4088
+ y: length30.parse(parameters.h) / 2
4007
4089
  },
4008
4090
  {
4009
- x: -length29.parse(parameters.w) / 2 - 0.1,
4010
- y: length29.parse(parameters.h) / 2
4091
+ x: -length30.parse(parameters.w) / 2 - 0.1,
4092
+ y: length30.parse(parameters.h) / 2
4011
4093
  },
4012
4094
  {
4013
- x: -length29.parse(parameters.w) / 2 - 0.1,
4014
- y: -length29.parse(parameters.h) / 2
4095
+ x: -length30.parse(parameters.w) / 2 - 0.1,
4096
+ y: -length30.parse(parameters.h) / 2
4015
4097
  },
4016
4098
  {
4017
- x: length29.parse(parameters.p) / 2,
4018
- y: -length29.parse(parameters.h) / 2
4099
+ x: length30.parse(parameters.p) / 2,
4100
+ y: -length30.parse(parameters.h) / 2
4019
4101
  }
4020
4102
  ],
4021
4103
  stroke_width: 0.1,
@@ -4058,22 +4140,22 @@ var microMelfWithoutParsing = (parameters) => {
4058
4140
  };
4059
4141
 
4060
4142
  // src/fn/sma.ts
4061
- import { z as z37 } from "zod";
4062
- import { length as length30 } from "circuit-json";
4063
- var sma_def = z37.object({
4064
- fn: z37.string(),
4065
- num_pins: z37.literal(2).default(2),
4066
- w: z37.string().default("7.10mm"),
4067
- h: z37.string().default("3.40mm"),
4068
- pl: z37.string().default("2.45mm"),
4069
- pw: z37.string().default("1.80mm"),
4070
- p: z37.string().default("4.05mm")
4143
+ import { z as z38 } from "zod";
4144
+ import { length as length31 } from "circuit-json";
4145
+ var sma_def = z38.object({
4146
+ fn: z38.string(),
4147
+ num_pins: z38.literal(2).default(2),
4148
+ w: z38.string().default("7.10mm"),
4149
+ h: z38.string().default("3.40mm"),
4150
+ pl: z38.string().default("2.45mm"),
4151
+ pw: z38.string().default("1.80mm"),
4152
+ p: z38.string().default("4.05mm")
4071
4153
  });
4072
4154
  var sma = (raw_params) => {
4073
4155
  const parameters = sma_def.parse(raw_params);
4074
4156
  const silkscreenRefText = silkscreenRef(
4075
4157
  0,
4076
- length30.parse(parameters.h) / 2 + 0.5,
4158
+ length31.parse(parameters.h) / 2 + 0.5,
4077
4159
  0.3
4078
4160
  );
4079
4161
  const silkscreenLine = {
@@ -4082,20 +4164,20 @@ var sma = (raw_params) => {
4082
4164
  pcb_component_id: "",
4083
4165
  route: [
4084
4166
  {
4085
- x: length30.parse(parameters.p) / 2,
4086
- y: length30.parse(parameters.h) / 2
4167
+ x: length31.parse(parameters.p) / 2,
4168
+ y: length31.parse(parameters.h) / 2
4087
4169
  },
4088
4170
  {
4089
- x: -length30.parse(parameters.w) / 2 - 0.5,
4090
- y: length30.parse(parameters.h) / 2
4171
+ x: -length31.parse(parameters.w) / 2 - 0.5,
4172
+ y: length31.parse(parameters.h) / 2
4091
4173
  },
4092
4174
  {
4093
- x: -length30.parse(parameters.w) / 2 - 0.5,
4094
- y: -length30.parse(parameters.h) / 2
4175
+ x: -length31.parse(parameters.w) / 2 - 0.5,
4176
+ y: -length31.parse(parameters.h) / 2
4095
4177
  },
4096
4178
  {
4097
- x: length30.parse(parameters.p) / 2,
4098
- y: -length30.parse(parameters.h) / 2
4179
+ x: length31.parse(parameters.p) / 2,
4180
+ y: -length31.parse(parameters.h) / 2
4099
4181
  }
4100
4182
  ],
4101
4183
  stroke_width: 0.1,
@@ -4137,22 +4219,22 @@ var smaWithoutParsing = (parameters) => {
4137
4219
  };
4138
4220
 
4139
4221
  // src/fn/smf.ts
4140
- import { z as z38 } from "zod";
4141
- import { length as length31 } from "circuit-json";
4142
- var smf_def = z38.object({
4143
- fn: z38.string(),
4144
- num_pins: z38.literal(2).default(2),
4145
- w: z38.string().default("4.80mm"),
4146
- h: z38.string().default("2.10mm"),
4147
- pl: z38.string().default("1.30mm"),
4148
- pw: z38.string().default("1.40mm"),
4149
- p: z38.string().default("2.9mm")
4222
+ import { z as z39 } from "zod";
4223
+ import { length as length32 } from "circuit-json";
4224
+ var smf_def = z39.object({
4225
+ fn: z39.string(),
4226
+ num_pins: z39.literal(2).default(2),
4227
+ w: z39.string().default("4.80mm"),
4228
+ h: z39.string().default("2.10mm"),
4229
+ pl: z39.string().default("1.30mm"),
4230
+ pw: z39.string().default("1.40mm"),
4231
+ p: z39.string().default("2.9mm")
4150
4232
  });
4151
4233
  var smf = (raw_params) => {
4152
4234
  const parameters = smf_def.parse(raw_params);
4153
4235
  const silkscreenRefText = silkscreenRef(
4154
4236
  0,
4155
- length31.parse(parameters.h) - 0.5,
4237
+ length32.parse(parameters.h) - 0.5,
4156
4238
  0.3
4157
4239
  );
4158
4240
  const silkscreenLine = {
@@ -4161,20 +4243,20 @@ var smf = (raw_params) => {
4161
4243
  pcb_component_id: "",
4162
4244
  route: [
4163
4245
  {
4164
- x: length31.parse(parameters.p) / 2,
4165
- y: length31.parse(parameters.h) / 2
4246
+ x: length32.parse(parameters.p) / 2,
4247
+ y: length32.parse(parameters.h) / 2
4166
4248
  },
4167
4249
  {
4168
- x: -length31.parse(parameters.w) / 2,
4169
- y: length31.parse(parameters.h) / 2
4250
+ x: -length32.parse(parameters.w) / 2,
4251
+ y: length32.parse(parameters.h) / 2
4170
4252
  },
4171
4253
  {
4172
- x: -length31.parse(parameters.w) / 2,
4173
- y: -length31.parse(parameters.h) / 2
4254
+ x: -length32.parse(parameters.w) / 2,
4255
+ y: -length32.parse(parameters.h) / 2
4174
4256
  },
4175
4257
  {
4176
- x: length31.parse(parameters.p) / 2,
4177
- y: -length31.parse(parameters.h) / 2
4258
+ x: length32.parse(parameters.p) / 2,
4259
+ y: -length32.parse(parameters.h) / 2
4178
4260
  }
4179
4261
  ],
4180
4262
  stroke_width: 0.1,
@@ -4217,22 +4299,22 @@ var smfWithoutParsing = (parameters) => {
4217
4299
  };
4218
4300
 
4219
4301
  // src/fn/smb.ts
4220
- import { z as z39 } from "zod";
4221
- import { length as length32 } from "circuit-json";
4222
- var smb_def = z39.object({
4223
- fn: z39.string(),
4224
- num_pins: z39.literal(2).default(2),
4225
- w: z39.string().default("7.30mm"),
4226
- h: z39.string().default("4.40mm"),
4227
- pl: z39.string().default("2.50mm"),
4228
- pw: z39.string().default("2.30mm"),
4229
- p: z39.string().default("4.30mm")
4302
+ import { z as z40 } from "zod";
4303
+ import { length as length33 } from "circuit-json";
4304
+ var smb_def = z40.object({
4305
+ fn: z40.string(),
4306
+ num_pins: z40.literal(2).default(2),
4307
+ w: z40.string().default("7.30mm"),
4308
+ h: z40.string().default("4.40mm"),
4309
+ pl: z40.string().default("2.50mm"),
4310
+ pw: z40.string().default("2.30mm"),
4311
+ p: z40.string().default("4.30mm")
4230
4312
  });
4231
4313
  var smb = (raw_params) => {
4232
4314
  const parameters = smb_def.parse(raw_params);
4233
4315
  const silkscreenRefText = silkscreenRef(
4234
4316
  0,
4235
- length32.parse(parameters.h) / 2 + 0.5,
4317
+ length33.parse(parameters.h) / 2 + 0.5,
4236
4318
  0.3
4237
4319
  );
4238
4320
  const silkscreenLine = {
@@ -4241,20 +4323,20 @@ var smb = (raw_params) => {
4241
4323
  pcb_component_id: "",
4242
4324
  route: [
4243
4325
  {
4244
- x: length32.parse(parameters.p) / 2,
4245
- y: length32.parse(parameters.h) / 2
4326
+ x: length33.parse(parameters.p) / 2,
4327
+ y: length33.parse(parameters.h) / 2
4246
4328
  },
4247
4329
  {
4248
- x: -length32.parse(parameters.w) / 2 - 0.1,
4249
- y: length32.parse(parameters.h) / 2
4330
+ x: -length33.parse(parameters.w) / 2 - 0.1,
4331
+ y: length33.parse(parameters.h) / 2
4250
4332
  },
4251
4333
  {
4252
- x: -length32.parse(parameters.w) / 2 - 0.1,
4253
- y: -length32.parse(parameters.h) / 2
4334
+ x: -length33.parse(parameters.w) / 2 - 0.1,
4335
+ y: -length33.parse(parameters.h) / 2
4254
4336
  },
4255
4337
  {
4256
- x: length32.parse(parameters.p) / 2,
4257
- y: -length32.parse(parameters.h) / 2
4338
+ x: length33.parse(parameters.p) / 2,
4339
+ y: -length33.parse(parameters.h) / 2
4258
4340
  }
4259
4341
  ],
4260
4342
  stroke_width: 0.1,
@@ -4297,27 +4379,27 @@ var smbWithoutParsing = (parameters) => {
4297
4379
  };
4298
4380
 
4299
4381
  // src/fn/vssop8.ts
4300
- import { z as z40 } from "zod";
4301
- import { length as length33 } from "circuit-json";
4302
- var vssop8_def = z40.object({
4303
- fn: z40.string(),
4304
- num_pins: z40.literal(8).default(8),
4305
- w: z40.string().default("3.06mm"),
4306
- h: z40.string().default("3.14mm"),
4307
- p: z40.string().default("0.65mm"),
4308
- pl: z40.string().default("1.6mm"),
4309
- pw: z40.string().default("0.5mm")
4382
+ import { z as z41 } from "zod";
4383
+ import { length as length34 } from "circuit-json";
4384
+ var vssop8_def = z41.object({
4385
+ fn: z41.string(),
4386
+ num_pins: z41.literal(8).default(8),
4387
+ w: z41.string().default("3.06mm"),
4388
+ h: z41.string().default("3.14mm"),
4389
+ p: z41.string().default("0.65mm"),
4390
+ pl: z41.string().default("1.6mm"),
4391
+ pw: z41.string().default("0.5mm")
4310
4392
  });
4311
4393
  var vssop8 = (raw_params) => {
4312
4394
  const parameters = vssop8_def.parse(raw_params);
4313
- const pad_spacing = length33.parse(parameters.p);
4395
+ const pad_spacing = length34.parse(parameters.p);
4314
4396
  const silkscreenRefText = silkscreenRef(
4315
4397
  0,
4316
- length33.parse(parameters.h) / 2 + 0.5,
4398
+ length34.parse(parameters.h) / 2 + 0.5,
4317
4399
  0.3
4318
4400
  );
4319
- const silkscreenBoxWidth = length33.parse(parameters.w);
4320
- const silkscreenBoxHeight = length33.parse(parameters.h);
4401
+ const silkscreenBoxWidth = length34.parse(parameters.w);
4402
+ const silkscreenBoxHeight = length34.parse(parameters.h);
4321
4403
  const silkscreenTopLine = {
4322
4404
  type: "pcb_silkscreen_path",
4323
4405
  layer: "top",
@@ -4373,7 +4455,7 @@ var getVssop8PadCoord = (parameters) => {
4373
4455
  const col = pn <= 4 ? -1 : 1;
4374
4456
  const row = 1.5 - (pn - 1) % 4;
4375
4457
  return {
4376
- x: col * length33.parse("1.8mm"),
4458
+ x: col * length34.parse("1.8mm"),
4377
4459
  y: row * pad_spacing
4378
4460
  };
4379
4461
  };
@@ -4398,16 +4480,16 @@ var getVssop8Pads = (parameters, pad_spacing) => {
4398
4480
  };
4399
4481
 
4400
4482
  // src/fn/smc.ts
4401
- import { z as z41 } from "zod";
4402
- import { length as length34 } from "circuit-json";
4403
- var smc_def = z41.object({
4404
- fn: z41.string(),
4405
- num_pins: z41.literal(2).default(2),
4406
- w: z41.string().default("10.70mm"),
4407
- h: z41.string().default("6.60mm"),
4408
- pl: z41.string().default("3.30mm"),
4409
- pw: z41.string().default("2.50mm"),
4410
- p: z41.string().default("6.80mm")
4483
+ import { z as z42 } from "zod";
4484
+ import { length as length35 } from "circuit-json";
4485
+ var smc_def = z42.object({
4486
+ fn: z42.string(),
4487
+ num_pins: z42.literal(2).default(2),
4488
+ w: z42.string().default("10.70mm"),
4489
+ h: z42.string().default("6.60mm"),
4490
+ pl: z42.string().default("3.30mm"),
4491
+ pw: z42.string().default("2.50mm"),
4492
+ p: z42.string().default("6.80mm")
4411
4493
  });
4412
4494
  var smc = (raw_params) => {
4413
4495
  const parameters = smc_def.parse(raw_params);
@@ -4418,20 +4500,20 @@ var smc = (raw_params) => {
4418
4500
  pcb_component_id: "",
4419
4501
  route: [
4420
4502
  {
4421
- x: length34.parse(parameters.p) / 2,
4422
- y: length34.parse(parameters.h) / 2 - 0.8
4503
+ x: length35.parse(parameters.p) / 2,
4504
+ y: length35.parse(parameters.h) / 2 - 0.8
4423
4505
  },
4424
4506
  {
4425
- x: -length34.parse(parameters.w) / 2 - 0.8,
4426
- y: length34.parse(parameters.h) / 2 - 0.8
4507
+ x: -length35.parse(parameters.w) / 2 - 0.8,
4508
+ y: length35.parse(parameters.h) / 2 - 0.8
4427
4509
  },
4428
4510
  {
4429
- x: -length34.parse(parameters.w) / 2 - 0.8,
4430
- y: -length34.parse(parameters.h) / 2 + 0.8
4511
+ x: -length35.parse(parameters.w) / 2 - 0.8,
4512
+ y: -length35.parse(parameters.h) / 2 + 0.8
4431
4513
  },
4432
4514
  {
4433
- x: length34.parse(parameters.p) / 2,
4434
- y: -length34.parse(parameters.h) / 2 + 0.8
4515
+ x: length35.parse(parameters.p) / 2,
4516
+ y: -length35.parse(parameters.h) / 2 + 0.8
4435
4517
  }
4436
4518
  ],
4437
4519
  stroke_width: 0.1,
@@ -4473,16 +4555,16 @@ var smcWithoutParsing = (parameters) => {
4473
4555
  };
4474
4556
 
4475
4557
  // src/fn/sot223.ts
4476
- import { z as z42 } from "zod";
4477
- var sot223_def = z42.object({
4478
- fn: z42.string(),
4479
- num_pins: z42.number().default(4),
4480
- w: z42.string().default("8.50mm"),
4481
- h: z42.string().default("6.90mm"),
4482
- pl: z42.string().default("2mm"),
4483
- pw: z42.string().default("1.5mm"),
4484
- p: z42.string().default("2.30mm"),
4485
- string: z42.string().optional()
4558
+ import { z as z43 } from "zod";
4559
+ var sot223_def = z43.object({
4560
+ fn: z43.string(),
4561
+ num_pins: z43.number().default(4),
4562
+ w: z43.string().default("8.50mm"),
4563
+ h: z43.string().default("6.90mm"),
4564
+ pl: z43.string().default("2mm"),
4565
+ pw: z43.string().default("1.5mm"),
4566
+ p: z43.string().default("2.30mm"),
4567
+ string: z43.string().optional()
4486
4568
  });
4487
4569
  var sot223 = (raw_params) => {
4488
4570
  const match = raw_params.string?.match(/^sot223_(\d+)/);
@@ -4728,16 +4810,16 @@ var sot223_6 = (parameters) => {
4728
4810
  };
4729
4811
 
4730
4812
  // src/fn/sot23w.ts
4731
- import { z as z43 } from "zod";
4732
- var sot23w_def = z43.object({
4733
- fn: z43.string(),
4734
- num_pins: z43.number().default(3),
4735
- w: z43.string().default("3.40mm"),
4736
- h: z43.string().default("3.30mm"),
4737
- pl: z43.string().default("1mm"),
4738
- pw: z43.string().default("0.7mm"),
4739
- p: z43.string().default("1.2mm"),
4740
- string: z43.string().optional()
4813
+ import { z as z44 } from "zod";
4814
+ var sot23w_def = z44.object({
4815
+ fn: z44.string(),
4816
+ num_pins: z44.number().default(3),
4817
+ w: z44.string().default("3.40mm"),
4818
+ h: z44.string().default("3.30mm"),
4819
+ pl: z44.string().default("1mm"),
4820
+ pw: z44.string().default("0.7mm"),
4821
+ p: z44.string().default("1.2mm"),
4822
+ string: z44.string().optional()
4741
4823
  });
4742
4824
  var sot23w = (raw_params) => {
4743
4825
  const match = raw_params.string?.match(/^sot23w_(\d+)/);
@@ -4825,16 +4907,16 @@ var sot23w_3 = (parameters) => {
4825
4907
  };
4826
4908
 
4827
4909
  // src/fn/to92s.ts
4828
- import { z as z44 } from "zod";
4829
- var to92s_def = z44.object({
4830
- fn: z44.string(),
4831
- num_pins: z44.union([z44.literal(3), z44.literal(2)]).default(3),
4832
- p: z44.string().default("1.27mm"),
4833
- id: z44.string().default("0.72mm"),
4834
- od: z44.string().default("0.95mm"),
4835
- w: z44.string().default("2.5mm"),
4836
- h: z44.string().default("4.2mm"),
4837
- string: z44.string().optional()
4910
+ import { z as z45 } from "zod";
4911
+ var to92s_def = z45.object({
4912
+ fn: z45.string(),
4913
+ num_pins: z45.union([z45.literal(3), z45.literal(2)]).default(3),
4914
+ p: z45.string().default("1.27mm"),
4915
+ id: z45.string().default("0.72mm"),
4916
+ od: z45.string().default("0.95mm"),
4917
+ w: z45.string().default("2.5mm"),
4918
+ h: z45.string().default("4.2mm"),
4919
+ string: z45.string().optional()
4838
4920
  });
4839
4921
  var to92s_3 = (parameters) => {
4840
4922
  const { p, id, od, w, h } = parameters;
@@ -4901,9 +4983,9 @@ var to92s = (raw_params) => {
4901
4983
 
4902
4984
  // src/fn/jst.ts
4903
4985
  import {
4904
- length as length35
4986
+ length as length36
4905
4987
  } from "circuit-json";
4906
- import { z as z45 } from "zod";
4988
+ import { z as z46 } from "zod";
4907
4989
 
4908
4990
  // src/helpers/platedHoleWithRectPad.ts
4909
4991
  import { mm as mm4 } from "@tscircuit/mm";
@@ -4926,14 +5008,14 @@ var platedHoleWithRectPad = (pn, x, y, holeDiameter, rectPadWidth, rectPadHeight
4926
5008
  };
4927
5009
 
4928
5010
  // src/fn/jst.ts
4929
- var jst_def = z45.object({
4930
- fn: z45.string(),
4931
- p: length35.optional().default("2.2mm"),
4932
- id: length35.optional().default("0.70mm"),
4933
- pw: length35.optional().default("1.20mm"),
4934
- pl: length35.optional().default("1.20mm"),
4935
- w: length35.optional().default("6mm"),
4936
- h: length35.optional().default("5mm")
5011
+ var jst_def = z46.object({
5012
+ fn: z46.string(),
5013
+ p: length36.optional().default("2.2mm"),
5014
+ id: length36.optional().default("0.70mm"),
5015
+ pw: length36.optional().default("1.20mm"),
5016
+ pl: length36.optional().default("1.20mm"),
5017
+ w: length36.optional().default("6mm"),
5018
+ h: length36.optional().default("5mm")
4937
5019
  });
4938
5020
  var jst = (raw_params) => {
4939
5021
  const parameters = jst_def.parse(raw_params);
@@ -4969,22 +5051,22 @@ var jst = (raw_params) => {
4969
5051
  };
4970
5052
 
4971
5053
  // src/fn/sod110.ts
4972
- import { z as z46 } from "zod";
4973
- import { length as length36 } from "circuit-json";
4974
- var sod_def12 = z46.object({
4975
- fn: z46.string(),
4976
- num_pins: z46.literal(2).default(2),
4977
- w: z46.string().default("3.30mm"),
4978
- h: z46.string().default("1.70mm"),
4979
- pl: z46.string().default("0.80mm"),
4980
- pw: z46.string().default("1mm"),
4981
- p: z46.string().default("1.90mm")
5054
+ import { z as z47 } from "zod";
5055
+ import { length as length37 } from "circuit-json";
5056
+ var sod_def12 = z47.object({
5057
+ fn: z47.string(),
5058
+ num_pins: z47.literal(2).default(2),
5059
+ w: z47.string().default("3.30mm"),
5060
+ h: z47.string().default("1.70mm"),
5061
+ pl: z47.string().default("0.80mm"),
5062
+ pw: z47.string().default("1mm"),
5063
+ p: z47.string().default("1.90mm")
4982
5064
  });
4983
5065
  var sod110 = (raw_params) => {
4984
5066
  const parameters = sod_def12.parse(raw_params);
4985
5067
  const silkscreenRefText = silkscreenRef(
4986
5068
  0,
4987
- length36.parse(parameters.h) / 2 + 0.5,
5069
+ length37.parse(parameters.h) / 2 + 0.5,
4988
5070
  0.3
4989
5071
  );
4990
5072
  const silkscreenLine = {
@@ -4993,44 +5075,44 @@ var sod110 = (raw_params) => {
4993
5075
  pcb_component_id: "",
4994
5076
  route: [
4995
5077
  {
4996
- x: length36.parse(parameters.p) / 2,
4997
- y: length36.parse(parameters.h) / 2
5078
+ x: length37.parse(parameters.p) / 2,
5079
+ y: length37.parse(parameters.h) / 2
4998
5080
  },
4999
5081
  {
5000
- x: -length36.parse(parameters.w) / 2,
5001
- y: length36.parse(parameters.h) / 2
5082
+ x: -length37.parse(parameters.w) / 2,
5083
+ y: length37.parse(parameters.h) / 2
5002
5084
  },
5003
5085
  {
5004
- x: -length36.parse(parameters.w) / 2,
5005
- y: -length36.parse(parameters.h) / 2
5086
+ x: -length37.parse(parameters.w) / 2,
5087
+ y: -length37.parse(parameters.h) / 2
5006
5088
  },
5007
5089
  {
5008
- x: length36.parse(parameters.p) / 2,
5009
- y: -length36.parse(parameters.h) / 2
5090
+ x: length37.parse(parameters.p) / 2,
5091
+ y: -length37.parse(parameters.h) / 2
5010
5092
  }
5011
5093
  ],
5012
5094
  stroke_width: 0.1,
5013
5095
  pcb_silkscreen_path_id: ""
5014
5096
  };
5015
5097
  return {
5016
- circuitJson: sodWithoutParsing12(parameters).concat(
5098
+ circuitJson: sodWithoutParsing13(parameters).concat(
5017
5099
  silkscreenLine,
5018
5100
  silkscreenRefText
5019
5101
  ),
5020
5102
  parameters
5021
5103
  };
5022
5104
  };
5023
- var getSodCoords12 = (parameters) => {
5105
+ var getSodCoords13 = (parameters) => {
5024
5106
  const { pn, p } = parameters;
5025
5107
  if (pn === 1) {
5026
5108
  return { x: -p / 2, y: 0 };
5027
5109
  }
5028
5110
  return { x: p / 2, y: 0 };
5029
5111
  };
5030
- var sodWithoutParsing12 = (parameters) => {
5112
+ var sodWithoutParsing13 = (parameters) => {
5031
5113
  const pads = [];
5032
5114
  for (let i = 1; i <= parameters.num_pins; i++) {
5033
- const { x, y } = getSodCoords12({
5115
+ const { x, y } = getSodCoords13({
5034
5116
  pn: i,
5035
5117
  p: Number.parseFloat(parameters.p)
5036
5118
  });
@@ -5048,8 +5130,8 @@ var sodWithoutParsing12 = (parameters) => {
5048
5130
  };
5049
5131
 
5050
5132
  // src/fn/msop.ts
5051
- import { z as z47 } from "zod";
5052
- import { length as length37 } from "circuit-json";
5133
+ import { z as z48 } from "zod";
5134
+ import { length as length38 } from "circuit-json";
5053
5135
  var getDefaultValues = (num_pins) => {
5054
5136
  switch (num_pins) {
5055
5137
  case 10:
@@ -5086,15 +5168,15 @@ var getDefaultValues = (num_pins) => {
5086
5168
  };
5087
5169
  }
5088
5170
  };
5089
- var msop_def = z47.object({
5090
- fn: z47.string(),
5091
- num_pins: z47.union([z47.literal(8), z47.literal(10), z47.literal(12), z47.literal(16)]).default(8),
5092
- w: z47.string().optional(),
5093
- h: z47.string().optional(),
5094
- p: z47.string().optional(),
5095
- pl: z47.string().optional(),
5096
- pw: z47.string().optional(),
5097
- string: z47.string().optional()
5171
+ var msop_def = z48.object({
5172
+ fn: z48.string(),
5173
+ num_pins: z48.union([z48.literal(8), z48.literal(10), z48.literal(12), z48.literal(16)]).default(8),
5174
+ w: z48.string().optional(),
5175
+ h: z48.string().optional(),
5176
+ p: z48.string().optional(),
5177
+ pl: z48.string().optional(),
5178
+ pw: z48.string().optional(),
5179
+ string: z48.string().optional()
5098
5180
  });
5099
5181
  var getMsopCoords = (pinCount, pn, w, p) => {
5100
5182
  const half = pinCount / 2;
@@ -5102,18 +5184,18 @@ var getMsopCoords = (pinCount, pn, w, p) => {
5102
5184
  const col = pn <= half ? -1 : 1;
5103
5185
  const row = (half - 1) / 2 - rowIndex;
5104
5186
  return {
5105
- x: col * length37.parse("2mm"),
5187
+ x: col * length38.parse("2mm"),
5106
5188
  y: row * p
5107
5189
  };
5108
5190
  };
5109
5191
  var msop = (raw_params) => {
5110
5192
  const parameters = msop_def.parse(raw_params);
5111
5193
  const defaults = getDefaultValues(parameters.num_pins);
5112
- const w = length37.parse(parameters.w || defaults.w);
5113
- const h = length37.parse(parameters.h || defaults.h);
5114
- const p = length37.parse(parameters.p || defaults.p);
5115
- const pl = length37.parse(parameters.pl || defaults.pl);
5116
- const pw = length37.parse(parameters.pw || defaults.pw);
5194
+ const w = length38.parse(parameters.w || defaults.w);
5195
+ const h = length38.parse(parameters.h || defaults.h);
5196
+ const p = length38.parse(parameters.p || defaults.p);
5197
+ const pl = length38.parse(parameters.pl || defaults.pl);
5198
+ const pw = length38.parse(parameters.pw || defaults.pw);
5117
5199
  const pads = [];
5118
5200
  for (let i = 0; i < parameters.num_pins; i++) {
5119
5201
  const { x, y } = getMsopCoords(parameters.num_pins, i + 1, w, p);
@@ -5183,6 +5265,86 @@ var msop = (raw_params) => {
5183
5265
  };
5184
5266
  };
5185
5267
 
5268
+ // src/fn/sod323fl.ts
5269
+ import { z as z49 } from "zod";
5270
+ import { length as length39 } from "circuit-json";
5271
+ var sod323FL_def = z49.object({
5272
+ fn: z49.string(),
5273
+ num_pins: z49.literal(2).default(2),
5274
+ w: z49.string().default("3.20mm"),
5275
+ h: z49.string().default("1.65mm"),
5276
+ pl: z49.string().default("0.8mm"),
5277
+ pw: z49.string().default("0.9mm"),
5278
+ pad_spacing: z49.string().default("2.1mm")
5279
+ });
5280
+ var sod323fl = (raw_params) => {
5281
+ const parameters = sod323FL_def.parse(raw_params);
5282
+ const silkscreenRefText = silkscreenRef(
5283
+ 0,
5284
+ length39.parse(parameters.h),
5285
+ 0.3
5286
+ );
5287
+ const silkscreenLine = {
5288
+ type: "pcb_silkscreen_path",
5289
+ layer: "top",
5290
+ pcb_component_id: "",
5291
+ route: [
5292
+ {
5293
+ x: length39.parse(parameters.pad_spacing) / 2,
5294
+ y: length39.parse(parameters.h) / 2
5295
+ },
5296
+ {
5297
+ x: -length39.parse(parameters.w) / 2 - 0.2,
5298
+ y: length39.parse(parameters.h) / 2
5299
+ },
5300
+ {
5301
+ x: -length39.parse(parameters.w) / 2 - 0.2,
5302
+ y: -length39.parse(parameters.h) / 2
5303
+ },
5304
+ {
5305
+ x: length39.parse(parameters.pad_spacing) / 2,
5306
+ y: -length39.parse(parameters.h) / 2
5307
+ }
5308
+ ],
5309
+ stroke_width: 0.1,
5310
+ pcb_silkscreen_path_id: ""
5311
+ };
5312
+ return {
5313
+ circuitJson: sodWithoutParsing14(parameters).concat(
5314
+ silkscreenLine,
5315
+ silkscreenRefText
5316
+ ),
5317
+ parameters
5318
+ };
5319
+ };
5320
+ var getSodCoords14 = (parameters) => {
5321
+ const { pn, pad_spacing } = parameters;
5322
+ if (pn === 1) {
5323
+ return { x: -pad_spacing / 2, y: 0 };
5324
+ } else {
5325
+ return { x: pad_spacing / 2, y: 0 };
5326
+ }
5327
+ };
5328
+ var sodWithoutParsing14 = (parameters) => {
5329
+ const pads = [];
5330
+ for (let i = 1; i <= parameters.num_pins; i++) {
5331
+ const { x, y } = getSodCoords14({
5332
+ pn: i,
5333
+ pad_spacing: Number.parseFloat(parameters.pad_spacing)
5334
+ });
5335
+ pads.push(
5336
+ rectpad(
5337
+ i,
5338
+ x,
5339
+ y,
5340
+ Number.parseFloat(parameters.pl),
5341
+ Number.parseFloat(parameters.pw)
5342
+ )
5343
+ );
5344
+ }
5345
+ return pads;
5346
+ };
5347
+
5186
5348
  // src/helpers/is-not-null.ts
5187
5349
  function isNotNull(value) {
5188
5350
  return value !== null;