@tscircuit/footprinter 0.0.139 → 0.0.141

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1015,7 +1015,7 @@ type Footprinter = {
1015
1015
  sot563: () => FootprinterParamsBuilder<"w" | "p" | "pl" | "pw">;
1016
1016
  sot723: () => FootprinterParamsBuilder<"w" | "h" | "pl" | "pw">;
1017
1017
  sot23: () => FootprinterParamsBuilder<"w" | "h" | "pl" | "pw">;
1018
- sot89: () => FootprinterParamsBuilder<"w" | "p" | "pl">;
1018
+ sot89: () => FootprinterParamsBuilder<"w" | "p" | "pl" | "pw" | "h">;
1019
1019
  smc: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pw" | "pl">;
1020
1020
  minimelf: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pw" | "pl">;
1021
1021
  melf: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pw" | "pl">;
@@ -1038,6 +1038,7 @@ type Footprinter = {
1038
1038
  sod123f: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pl" | "pw">;
1039
1039
  sod123: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pl" | "pw">;
1040
1040
  sod123w: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pl" | "pw">;
1041
+ sod110: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pl" | "pw">;
1041
1042
  to92: () => FootprinterParamsBuilder<"w" | "h" | "p" | "id" | "od" | "inline">;
1042
1043
  sot223: () => FootprinterParamsBuilder<"w" | "h" | "p" | "pl" | "pw">;
1043
1044
  pushbutton: () => FootprinterParamsBuilder<"tllabel" | "trlabel" | "bllabel" | "brlabel">;
package/dist/index.js CHANGED
@@ -34,6 +34,7 @@ __export(fn_exports, {
34
34
  smb: () => smb,
35
35
  smc: () => smc,
36
36
  smf: () => smf,
37
+ sod110: () => sod110,
37
38
  sod123: () => sod123,
38
39
  sod123f: () => sod123f,
39
40
  sod123w: () => sod123w,
@@ -52,6 +53,7 @@ __export(fn_exports, {
52
53
  sot363: () => sot363,
53
54
  sot563: () => sot563,
54
55
  sot723: () => sot723,
56
+ sot89: () => sot89,
55
57
  ssop: () => ssop,
56
58
  stampboard: () => stampboard,
57
59
  stampreceiver: () => stampreceiver,
@@ -3516,20 +3518,147 @@ var sodWithoutParsing10 = (parameters) => {
3516
3518
  return pads;
3517
3519
  };
3518
3520
 
3521
+ // src/fn/sot89.ts
3522
+ import { z as z31 } from "zod";
3523
+ var sot89_def = z31.object({
3524
+ fn: z31.string(),
3525
+ num_pins: z31.union([z31.literal(3), z31.literal(5)]).default(3),
3526
+ w: z31.string().default("4.80mm"),
3527
+ h: z31.string().default("4.80mm"),
3528
+ pl: z31.string().default("1.3mm"),
3529
+ pw: z31.string().default("0.9mm"),
3530
+ p: z31.string().default("1.5mm"),
3531
+ string: z31.string().optional()
3532
+ });
3533
+ var sot89_3 = (parameters) => {
3534
+ const pads = [];
3535
+ const padGap = Number.parseFloat(parameters.p);
3536
+ const padWidth = Number.parseFloat(parameters.pw);
3537
+ const length36 = Number.parseFloat(parameters.w);
3538
+ const padHeight = Number.parseFloat(parameters.pl);
3539
+ pads.push(
3540
+ rectpad(1, -length36 / 2, padGap, padHeight, padWidth),
3541
+ rectpad(2, -length36 / 2 + (1.5 - 1.3) / 2, 0, 1.5, padWidth),
3542
+ rectpad(3, -length36 / 2, -padGap, padHeight, padWidth)
3543
+ );
3544
+ const silkscreenRefText = silkscreenRef(0, 0, 0.3);
3545
+ const width = Number.parseFloat(parameters.w) / 2 - 1;
3546
+ const height = Number.parseFloat(parameters.h) / 2;
3547
+ const silkscreenPath1 = {
3548
+ layer: "top",
3549
+ pcb_component_id: "",
3550
+ pcb_silkscreen_path_id: "silkscreen_path_1",
3551
+ route: [
3552
+ { x: -width, y: height },
3553
+ { x: width, y: height },
3554
+ { x: width, y: height / 2 + 0.5 }
3555
+ ],
3556
+ type: "pcb_silkscreen_path",
3557
+ stroke_width: 0.1
3558
+ };
3559
+ const silkscreenPath2 = {
3560
+ layer: "top",
3561
+ pcb_component_id: "",
3562
+ pcb_silkscreen_path_id: "silkscreen_path_2",
3563
+ route: [
3564
+ { x: -width, y: -height },
3565
+ { x: width, y: -height },
3566
+ { x: width, y: -height / 2 - 0.5 }
3567
+ ],
3568
+ type: "pcb_silkscreen_path",
3569
+ stroke_width: 0.1
3570
+ };
3571
+ return [
3572
+ ...pads,
3573
+ silkscreenPath1,
3574
+ silkscreenPath2,
3575
+ silkscreenRefText
3576
+ ];
3577
+ };
3578
+ var sot89_5 = (parameters) => {
3579
+ const pads = [];
3580
+ const padGap = Number.parseFloat(parameters.p);
3581
+ const padWidth = Number.parseFloat(parameters.pw);
3582
+ const length36 = Number.parseFloat(parameters.w);
3583
+ pads.push(
3584
+ rectpad(1, -1.85, -1.5, 1.5, 0.7),
3585
+ rectpad(2, -1.85, 1.5, 1.5, 0.7),
3586
+ rectpad(3, 0, 0, 0.8, 2),
3587
+ rectpad(4, 1.85, -1.5, 1.5, 0.7),
3588
+ rectpad(5, 1.85, 1.5, 1.5, 0.7)
3589
+ );
3590
+ const silkscreenRefText = silkscreenRef(
3591
+ 0,
3592
+ Number.parseFloat(parameters.h) / 2 + 0.5,
3593
+ 0.3
3594
+ );
3595
+ const width = Number.parseFloat(parameters.w) / 2 - 1;
3596
+ const height = Number.parseFloat(parameters.h) / 2;
3597
+ const silkscreenPath1 = {
3598
+ layer: "top",
3599
+ pcb_component_id: "",
3600
+ pcb_silkscreen_path_id: "silkscreen_path_1",
3601
+ route: [
3602
+ { x: -width, y: height },
3603
+ { x: width, y: height }
3604
+ ],
3605
+ type: "pcb_silkscreen_path",
3606
+ stroke_width: 0.1
3607
+ };
3608
+ const silkscreenPath2 = {
3609
+ layer: "top",
3610
+ pcb_component_id: "",
3611
+ pcb_silkscreen_path_id: "silkscreen_path_2",
3612
+ route: [
3613
+ { x: -width, y: -height },
3614
+ { x: width, y: -height }
3615
+ ],
3616
+ type: "pcb_silkscreen_path",
3617
+ stroke_width: 0.1
3618
+ };
3619
+ return [
3620
+ ...pads,
3621
+ silkscreenPath1,
3622
+ silkscreenPath2,
3623
+ silkscreenRefText
3624
+ ];
3625
+ };
3626
+ var sot89 = (raw_params) => {
3627
+ const match = raw_params.string?.match(/^sot89_(\d+)/);
3628
+ const numPins = match ? Number.parseInt(match[1], 10) : 3;
3629
+ const parameters = sot89_def.parse({
3630
+ ...raw_params,
3631
+ num_pins: numPins
3632
+ });
3633
+ if (parameters.num_pins === 3) {
3634
+ return {
3635
+ circuitJson: sot89_3(parameters),
3636
+ parameters
3637
+ };
3638
+ }
3639
+ if (parameters.num_pins === 5) {
3640
+ return {
3641
+ circuitJson: sot89_5(parameters),
3642
+ parameters
3643
+ };
3644
+ }
3645
+ throw new Error("Invalid number of pins for SOT89");
3646
+ };
3647
+
3519
3648
  // src/fn/to220.ts
3520
3649
  import {
3521
3650
  length as length25
3522
3651
  } from "circuit-json";
3523
- import { z as z31 } from "zod";
3524
- var to220_def = z31.object({
3525
- fn: z31.string(),
3652
+ import { z as z32 } from "zod";
3653
+ var to220_def = z32.object({
3654
+ fn: z32.string(),
3526
3655
  p: length25.optional().default("5.0mm"),
3527
3656
  id: length25.optional().default("1.0mm"),
3528
3657
  od: length25.optional().default("1.9mm"),
3529
3658
  w: length25.optional().default("13mm"),
3530
3659
  h: length25.optional().default("7mm"),
3531
- num_pins: z31.number().optional(),
3532
- string: z31.string().optional()
3660
+ num_pins: z32.number().optional(),
3661
+ string: z32.string().optional()
3533
3662
  });
3534
3663
  var to220 = (raw_params) => {
3535
3664
  const parameters = to220_def.parse(raw_params);
@@ -3609,16 +3738,16 @@ var to220 = (raw_params) => {
3609
3738
  };
3610
3739
 
3611
3740
  // src/fn/minimelf.ts
3612
- import { z as z32 } from "zod";
3741
+ import { z as z33 } from "zod";
3613
3742
  import { length as length26 } from "circuit-json";
3614
- var minimelf_def = z32.object({
3615
- fn: z32.string(),
3616
- num_pins: z32.literal(2).default(2),
3617
- w: z32.string().default("5.40mm"),
3618
- h: z32.string().default("2.30mm"),
3619
- pl: z32.string().default("1.30mm"),
3620
- pw: z32.string().default("1.70mm"),
3621
- p: z32.string().default("3.5mm")
3743
+ var minimelf_def = z33.object({
3744
+ fn: z33.string(),
3745
+ num_pins: z33.literal(2).default(2),
3746
+ w: z33.string().default("5.40mm"),
3747
+ h: z33.string().default("2.30mm"),
3748
+ pl: z33.string().default("1.30mm"),
3749
+ pw: z33.string().default("1.70mm"),
3750
+ p: z33.string().default("3.5mm")
3622
3751
  });
3623
3752
  var minimelf = (raw_params) => {
3624
3753
  const parameters = minimelf_def.parse(raw_params);
@@ -3685,16 +3814,16 @@ var miniMelfWithoutParsing = (parameters) => {
3685
3814
  };
3686
3815
 
3687
3816
  // src/fn/sod882d.ts
3688
- import { z as z33 } from "zod";
3817
+ import { z as z34 } from "zod";
3689
3818
  import { length as length27 } from "circuit-json";
3690
- var sod_def11 = z33.object({
3691
- fn: z33.string(),
3692
- num_pins: z33.literal(2).default(2),
3693
- w: z33.string().default("1.90mm"),
3694
- h: z33.string().default("1.33mm"),
3695
- pl: z33.string().default("0.5mm"),
3696
- pw: z33.string().default("0.7mm"),
3697
- p: z33.string().default("0.8mm")
3819
+ var sod_def11 = z34.object({
3820
+ fn: z34.string(),
3821
+ num_pins: z34.literal(2).default(2),
3822
+ w: z34.string().default("1.90mm"),
3823
+ h: z34.string().default("1.33mm"),
3824
+ pl: z34.string().default("0.5mm"),
3825
+ pw: z34.string().default("0.7mm"),
3826
+ p: z34.string().default("0.8mm")
3698
3827
  });
3699
3828
  var sod882d = (raw_params) => {
3700
3829
  const parameters = sod_def11.parse(raw_params);
@@ -3765,16 +3894,16 @@ var sodWithoutParsing11 = (parameters) => {
3765
3894
  };
3766
3895
 
3767
3896
  // src/fn/melf.ts
3768
- import { z as z34 } from "zod";
3897
+ import { z as z35 } from "zod";
3769
3898
  import { length as length28 } from "circuit-json";
3770
- var melf_def = z34.object({
3771
- fn: z34.string(),
3772
- num_pins: z34.literal(2).default(2),
3773
- w: z34.string().default("7.0mm"),
3774
- h: z34.string().default("3.35mm"),
3775
- pl: z34.string().default("1.50mm"),
3776
- pw: z34.string().default("2.70mm"),
3777
- p: z34.string().default("4.8mm")
3899
+ var melf_def = z35.object({
3900
+ fn: z35.string(),
3901
+ num_pins: z35.literal(2).default(2),
3902
+ w: z35.string().default("7.0mm"),
3903
+ h: z35.string().default("3.35mm"),
3904
+ pl: z35.string().default("1.50mm"),
3905
+ pw: z35.string().default("2.70mm"),
3906
+ p: z35.string().default("4.8mm")
3778
3907
  });
3779
3908
  var melf = (raw_params) => {
3780
3909
  const parameters = melf_def.parse(raw_params);
@@ -3845,16 +3974,16 @@ var melfWithoutParsing = (parameters) => {
3845
3974
  };
3846
3975
 
3847
3976
  // src/fn/micromelf.ts
3848
- import { z as z35 } from "zod";
3977
+ import { z as z36 } from "zod";
3849
3978
  import { length as length29 } from "circuit-json";
3850
- var micromelf_def = z35.object({
3851
- fn: z35.string(),
3852
- num_pins: z35.literal(2).default(2),
3853
- w: z35.string().default("3.0mm"),
3854
- h: z35.string().default("1.80mm"),
3855
- pl: z35.string().default("0.80mm"),
3856
- pw: z35.string().default("1.20mm"),
3857
- p: z35.string().default("1.6mm")
3979
+ var micromelf_def = z36.object({
3980
+ fn: z36.string(),
3981
+ num_pins: z36.literal(2).default(2),
3982
+ w: z36.string().default("3.0mm"),
3983
+ h: z36.string().default("1.80mm"),
3984
+ pl: z36.string().default("0.80mm"),
3985
+ pw: z36.string().default("1.20mm"),
3986
+ p: z36.string().default("1.6mm")
3858
3987
  });
3859
3988
  var micromelf = (raw_params) => {
3860
3989
  const parameters = micromelf_def.parse(raw_params);
@@ -3925,16 +4054,16 @@ var microMelfWithoutParsing = (parameters) => {
3925
4054
  };
3926
4055
 
3927
4056
  // src/fn/sma.ts
3928
- import { z as z36 } from "zod";
4057
+ import { z as z37 } from "zod";
3929
4058
  import { length as length30 } from "circuit-json";
3930
- var sma_def = z36.object({
3931
- fn: z36.string(),
3932
- num_pins: z36.literal(2).default(2),
3933
- w: z36.string().default("7.10mm"),
3934
- h: z36.string().default("3.40mm"),
3935
- pl: z36.string().default("2.45mm"),
3936
- pw: z36.string().default("1.80mm"),
3937
- p: z36.string().default("4.05mm")
4059
+ var sma_def = z37.object({
4060
+ fn: z37.string(),
4061
+ num_pins: z37.literal(2).default(2),
4062
+ w: z37.string().default("7.10mm"),
4063
+ h: z37.string().default("3.40mm"),
4064
+ pl: z37.string().default("2.45mm"),
4065
+ pw: z37.string().default("1.80mm"),
4066
+ p: z37.string().default("4.05mm")
3938
4067
  });
3939
4068
  var sma = (raw_params) => {
3940
4069
  const parameters = sma_def.parse(raw_params);
@@ -4004,16 +4133,16 @@ var smaWithoutParsing = (parameters) => {
4004
4133
  };
4005
4134
 
4006
4135
  // src/fn/smf.ts
4007
- import { z as z37 } from "zod";
4136
+ import { z as z38 } from "zod";
4008
4137
  import { length as length31 } from "circuit-json";
4009
- var smf_def = z37.object({
4010
- fn: z37.string(),
4011
- num_pins: z37.literal(2).default(2),
4012
- w: z37.string().default("4.80mm"),
4013
- h: z37.string().default("2.10mm"),
4014
- pl: z37.string().default("1.30mm"),
4015
- pw: z37.string().default("1.40mm"),
4016
- p: z37.string().default("2.9mm")
4138
+ var smf_def = z38.object({
4139
+ fn: z38.string(),
4140
+ num_pins: z38.literal(2).default(2),
4141
+ w: z38.string().default("4.80mm"),
4142
+ h: z38.string().default("2.10mm"),
4143
+ pl: z38.string().default("1.30mm"),
4144
+ pw: z38.string().default("1.40mm"),
4145
+ p: z38.string().default("2.9mm")
4017
4146
  });
4018
4147
  var smf = (raw_params) => {
4019
4148
  const parameters = smf_def.parse(raw_params);
@@ -4084,16 +4213,16 @@ var smfWithoutParsing = (parameters) => {
4084
4213
  };
4085
4214
 
4086
4215
  // src/fn/smb.ts
4087
- import { z as z38 } from "zod";
4216
+ import { z as z39 } from "zod";
4088
4217
  import { length as length32 } from "circuit-json";
4089
- var smb_def = z38.object({
4090
- fn: z38.string(),
4091
- num_pins: z38.literal(2).default(2),
4092
- w: z38.string().default("7.30mm"),
4093
- h: z38.string().default("4.40mm"),
4094
- pl: z38.string().default("2.50mm"),
4095
- pw: z38.string().default("2.30mm"),
4096
- p: z38.string().default("4.30mm")
4218
+ var smb_def = z39.object({
4219
+ fn: z39.string(),
4220
+ num_pins: z39.literal(2).default(2),
4221
+ w: z39.string().default("7.30mm"),
4222
+ h: z39.string().default("4.40mm"),
4223
+ pl: z39.string().default("2.50mm"),
4224
+ pw: z39.string().default("2.30mm"),
4225
+ p: z39.string().default("4.30mm")
4097
4226
  });
4098
4227
  var smb = (raw_params) => {
4099
4228
  const parameters = smb_def.parse(raw_params);
@@ -4164,16 +4293,16 @@ var smbWithoutParsing = (parameters) => {
4164
4293
  };
4165
4294
 
4166
4295
  // src/fn/vssop8.ts
4167
- import { z as z39 } from "zod";
4296
+ import { z as z40 } from "zod";
4168
4297
  import { length as length33 } from "circuit-json";
4169
- var vssop8_def = z39.object({
4170
- fn: z39.string(),
4171
- num_pins: z39.literal(8).default(8),
4172
- w: z39.string().default("3.06mm"),
4173
- h: z39.string().default("3.14mm"),
4174
- p: z39.string().default("0.65mm"),
4175
- pl: z39.string().default("1.6mm"),
4176
- pw: z39.string().default("0.5mm")
4298
+ var vssop8_def = z40.object({
4299
+ fn: z40.string(),
4300
+ num_pins: z40.literal(8).default(8),
4301
+ w: z40.string().default("3.06mm"),
4302
+ h: z40.string().default("3.14mm"),
4303
+ p: z40.string().default("0.65mm"),
4304
+ pl: z40.string().default("1.6mm"),
4305
+ pw: z40.string().default("0.5mm")
4177
4306
  });
4178
4307
  var vssop8 = (raw_params) => {
4179
4308
  const parameters = vssop8_def.parse(raw_params);
@@ -4265,16 +4394,16 @@ var getVssop8Pads = (parameters, pad_spacing) => {
4265
4394
  };
4266
4395
 
4267
4396
  // src/fn/smc.ts
4268
- import { z as z40 } from "zod";
4397
+ import { z as z41 } from "zod";
4269
4398
  import { length as length34 } from "circuit-json";
4270
- var smc_def = z40.object({
4271
- fn: z40.string(),
4272
- num_pins: z40.literal(2).default(2),
4273
- w: z40.string().default("10.70mm"),
4274
- h: z40.string().default("6.60mm"),
4275
- pl: z40.string().default("3.30mm"),
4276
- pw: z40.string().default("2.50mm"),
4277
- p: z40.string().default("6.80mm")
4399
+ var smc_def = z41.object({
4400
+ fn: z41.string(),
4401
+ num_pins: z41.literal(2).default(2),
4402
+ w: z41.string().default("10.70mm"),
4403
+ h: z41.string().default("6.60mm"),
4404
+ pl: z41.string().default("3.30mm"),
4405
+ pw: z41.string().default("2.50mm"),
4406
+ p: z41.string().default("6.80mm")
4278
4407
  });
4279
4408
  var smc = (raw_params) => {
4280
4409
  const parameters = smc_def.parse(raw_params);
@@ -4340,16 +4469,16 @@ var smcWithoutParsing = (parameters) => {
4340
4469
  };
4341
4470
 
4342
4471
  // src/fn/sot223.ts
4343
- import { z as z41 } from "zod";
4344
- var sot223_def = z41.object({
4345
- fn: z41.string(),
4346
- num_pins: z41.number().default(4),
4347
- w: z41.string().default("8.50mm"),
4348
- h: z41.string().default("6.90mm"),
4349
- pl: z41.string().default("2mm"),
4350
- pw: z41.string().default("1.5mm"),
4351
- p: z41.string().default("2.30mm"),
4352
- string: z41.string().optional()
4472
+ import { z as z42 } from "zod";
4473
+ var sot223_def = z42.object({
4474
+ fn: z42.string(),
4475
+ num_pins: z42.number().default(4),
4476
+ w: z42.string().default("8.50mm"),
4477
+ h: z42.string().default("6.90mm"),
4478
+ pl: z42.string().default("2mm"),
4479
+ pw: z42.string().default("1.5mm"),
4480
+ p: z42.string().default("2.30mm"),
4481
+ string: z42.string().optional()
4353
4482
  });
4354
4483
  var sot223 = (raw_params) => {
4355
4484
  const match = raw_params.string?.match(/^sot223_(\d+)/);
@@ -4594,6 +4723,85 @@ var sot223_6 = (parameters) => {
4594
4723
  return [...pads, silkscreenPath1, silkscreenPath2, silkscreenRefText];
4595
4724
  };
4596
4725
 
4726
+ // src/fn/sod110.ts
4727
+ import { z as z43 } from "zod";
4728
+ import { length as length35 } from "circuit-json";
4729
+ var sod_def12 = z43.object({
4730
+ fn: z43.string(),
4731
+ num_pins: z43.literal(2).default(2),
4732
+ w: z43.string().default("3.30mm"),
4733
+ h: z43.string().default("1.70mm"),
4734
+ pl: z43.string().default("0.80mm"),
4735
+ pw: z43.string().default("1mm"),
4736
+ p: z43.string().default("1.90mm")
4737
+ });
4738
+ var sod110 = (raw_params) => {
4739
+ const parameters = sod_def12.parse(raw_params);
4740
+ const silkscreenRefText = silkscreenRef(
4741
+ 0,
4742
+ length35.parse(parameters.h) / 2 + 0.5,
4743
+ 0.3
4744
+ );
4745
+ const silkscreenLine = {
4746
+ type: "pcb_silkscreen_path",
4747
+ layer: "top",
4748
+ pcb_component_id: "",
4749
+ route: [
4750
+ {
4751
+ x: length35.parse(parameters.p) / 2,
4752
+ y: length35.parse(parameters.h) / 2
4753
+ },
4754
+ {
4755
+ x: -length35.parse(parameters.w) / 2,
4756
+ y: length35.parse(parameters.h) / 2
4757
+ },
4758
+ {
4759
+ x: -length35.parse(parameters.w) / 2,
4760
+ y: -length35.parse(parameters.h) / 2
4761
+ },
4762
+ {
4763
+ x: length35.parse(parameters.p) / 2,
4764
+ y: -length35.parse(parameters.h) / 2
4765
+ }
4766
+ ],
4767
+ stroke_width: 0.1,
4768
+ pcb_silkscreen_path_id: ""
4769
+ };
4770
+ return {
4771
+ circuitJson: sodWithoutParsing12(parameters).concat(
4772
+ silkscreenLine,
4773
+ silkscreenRefText
4774
+ ),
4775
+ parameters
4776
+ };
4777
+ };
4778
+ var getSodCoords12 = (parameters) => {
4779
+ const { pn, p } = parameters;
4780
+ if (pn === 1) {
4781
+ return { x: -p / 2, y: 0 };
4782
+ }
4783
+ return { x: p / 2, y: 0 };
4784
+ };
4785
+ var sodWithoutParsing12 = (parameters) => {
4786
+ const pads = [];
4787
+ for (let i = 1; i <= parameters.num_pins; i++) {
4788
+ const { x, y } = getSodCoords12({
4789
+ pn: i,
4790
+ p: Number.parseFloat(parameters.p)
4791
+ });
4792
+ pads.push(
4793
+ rectpad(
4794
+ i,
4795
+ x,
4796
+ y,
4797
+ Number.parseFloat(parameters.pl),
4798
+ Number.parseFloat(parameters.pw)
4799
+ )
4800
+ );
4801
+ }
4802
+ return pads;
4803
+ };
4804
+
4597
4805
  // src/helpers/is-not-null.ts
4598
4806
  function isNotNull(value) {
4599
4807
  return value !== null;