kicadts 0.0.31 → 0.0.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.d.ts +211 -49
  2. package/dist/index.js +549 -24
  3. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -2156,14 +2156,14 @@ declare class PadNet extends SxClass {
2156
2156
  static token: string;
2157
2157
  static parentToken: string;
2158
2158
  token: string;
2159
- private _id;
2160
- private _name;
2161
- constructor(id: number, name: string);
2159
+ private _id?;
2160
+ private _name?;
2161
+ constructor(idOrName: number | string, name?: string);
2162
2162
  static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): PadNet;
2163
- get id(): number;
2164
- set id(value: number);
2165
- get name(): string;
2166
- set name(value: string);
2163
+ get id(): number | undefined;
2164
+ set id(value: number | undefined);
2165
+ get name(): string | undefined;
2166
+ set name(value: string | undefined);
2167
2167
  getChildren(): SxClass[];
2168
2168
  getString(): string;
2169
2169
  }
@@ -3520,6 +3520,44 @@ declare class FootprintPlaced extends SxPrimitiveBoolean {
3520
3520
  static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): FootprintPlaced;
3521
3521
  }
3522
3522
 
3523
+ declare class FootprintDuplicatePadNumbersAreJumpers extends SxPrimitiveString {
3524
+ static token: string;
3525
+ static parentToken: string;
3526
+ token: string;
3527
+ }
3528
+
3529
+ declare class FootprintPoint extends SxClass {
3530
+ static token: string;
3531
+ static parentToken: string;
3532
+ token: string;
3533
+ private _sxAt?;
3534
+ private _sxSize?;
3535
+ private _sxLayer?;
3536
+ private _sxUuid?;
3537
+ static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): FootprintPoint;
3538
+ getChildren(): SxClass[];
3539
+ }
3540
+
3541
+ declare class FootprintUnit extends SxClass {
3542
+ static token: string;
3543
+ static parentToken: string;
3544
+ token: string;
3545
+ private _sxName?;
3546
+ private _sxPins?;
3547
+ static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): FootprintUnit;
3548
+ getChildren(): SxClass[];
3549
+ }
3550
+
3551
+ declare class FootprintUnits extends SxClass {
3552
+ static token: string;
3553
+ static parentToken: string;
3554
+ token: string;
3555
+ private _units;
3556
+ constructor(units?: FootprintUnit[]);
3557
+ static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): FootprintUnits;
3558
+ getChildren(): SxClass[];
3559
+ }
3560
+
3523
3561
  declare class Zone extends SxClass {
3524
3562
  static token: string;
3525
3563
  token: string;
@@ -3559,6 +3597,8 @@ interface FootprintConstructorParams {
3559
3597
  netTiePadGroups?: FootprintNetTiePadGroups;
3560
3598
  sheetname?: string | FootprintSheetname;
3561
3599
  sheetfile?: string | FootprintSheetfile;
3600
+ units?: FootprintUnits;
3601
+ duplicatePadNumbersAreJumpers?: string | FootprintDuplicatePadNumbersAreJumpers;
3562
3602
  embeddedFonts?: EmbeddedFonts;
3563
3603
  embeddedFiles?: EmbeddedFiles;
3564
3604
  properties?: Property[];
@@ -3569,6 +3609,7 @@ interface FootprintConstructorParams {
3569
3609
  fpCircles?: FpCircle[];
3570
3610
  fpArcs?: FpArc[];
3571
3611
  fpPolys?: FpPoly[];
3612
+ points?: FootprintPoint[];
3572
3613
  pads?: FootprintPad[];
3573
3614
  models?: FootprintModel[];
3574
3615
  zones?: Zone[];
@@ -3605,6 +3646,8 @@ declare class Footprint extends SxClass {
3605
3646
  private _sxNetTiePadGroups?;
3606
3647
  private _sxSheetname?;
3607
3648
  private _sxSheetfile?;
3649
+ private _sxUnits?;
3650
+ private _sxDuplicatePadNumbersAreJumpers?;
3608
3651
  private _sxEmbeddedFonts?;
3609
3652
  private _sxEmbeddedFiles?;
3610
3653
  private _properties;
@@ -3615,6 +3658,7 @@ declare class Footprint extends SxClass {
3615
3658
  private _fpCircles;
3616
3659
  private _fpArcs;
3617
3660
  private _fpPolys;
3661
+ private _points;
3618
3662
  private _fpPads;
3619
3663
  private _models;
3620
3664
  private _zones;
@@ -3676,6 +3720,10 @@ declare class Footprint extends SxClass {
3676
3720
  set sheetname(value: string | FootprintSheetname | undefined);
3677
3721
  get sheetfile(): string | undefined;
3678
3722
  set sheetfile(value: string | FootprintSheetfile | undefined);
3723
+ get units(): FootprintUnits | undefined;
3724
+ set units(value: FootprintUnits | undefined);
3725
+ get duplicatePadNumbersAreJumpers(): string | undefined;
3726
+ set duplicatePadNumbersAreJumpers(value: string | FootprintDuplicatePadNumbersAreJumpers | undefined);
3679
3727
  get embeddedFonts(): EmbeddedFonts | undefined;
3680
3728
  set embeddedFonts(value: EmbeddedFonts | undefined);
3681
3729
  get embeddedFiles(): EmbeddedFiles | undefined;
@@ -3696,6 +3744,8 @@ declare class Footprint extends SxClass {
3696
3744
  set fpArcs(value: FpArc[]);
3697
3745
  get fpPolys(): FpPoly[];
3698
3746
  set fpPolys(value: FpPoly[]);
3747
+ get points(): FootprintPoint[];
3748
+ set points(value: FootprintPoint[]);
3699
3749
  get fpPads(): FootprintPad[];
3700
3750
  set fpPads(value: FootprintPad[]);
3701
3751
  get models(): FootprintModel[];
@@ -3706,6 +3756,34 @@ declare class Footprint extends SxClass {
3706
3756
  getString(): string;
3707
3757
  }
3708
3758
 
3759
+ declare class FootprintPointSize extends SxPrimitiveNumber {
3760
+ static token: string;
3761
+ static parentToken: string;
3762
+ token: string;
3763
+ }
3764
+
3765
+ declare class FootprintUnitName extends SxClass {
3766
+ static token: string;
3767
+ static parentToken: string;
3768
+ token: string;
3769
+ value: string;
3770
+ constructor(value: string);
3771
+ static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): FootprintUnitName;
3772
+ getChildren(): SxClass[];
3773
+ getString(): string;
3774
+ }
3775
+
3776
+ declare class FootprintUnitPins extends SxClass {
3777
+ static token: string;
3778
+ static parentToken: string;
3779
+ token: string;
3780
+ values: string[];
3781
+ constructor(values?: string[]);
3782
+ static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): FootprintUnitPins;
3783
+ getChildren(): SxClass[];
3784
+ getString(): string;
3785
+ }
3786
+
3709
3787
  interface GrArcPoint {
3710
3788
  x: number;
3711
3789
  y: number;
@@ -4465,16 +4543,16 @@ declare class SegmentNet extends SxClass {
4465
4543
  static token: string;
4466
4544
  static parentToken: string;
4467
4545
  token: string;
4468
- private _id;
4546
+ private _id?;
4469
4547
  private _name?;
4470
- constructor(id: number, name?: string);
4548
+ constructor(idOrName: number | string, name?: string);
4471
4549
  static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): SegmentNet;
4472
- get id(): number;
4473
- set id(value: number);
4550
+ get id(): number | undefined;
4551
+ set id(value: number | undefined);
4474
4552
  get name(): string | undefined;
4475
4553
  set name(value: string | undefined);
4476
4554
  toObject(): {
4477
- id: number;
4555
+ id?: number;
4478
4556
  name?: string;
4479
4557
  };
4480
4558
  getChildren(): SxClass[];
@@ -4623,6 +4701,67 @@ declare class TextBoxFill extends SxClass {
4623
4701
  getChildren(): SxClass[];
4624
4702
  }
4625
4703
 
4704
+ declare abstract class SingleValueProperty<T extends string | number> extends SxClass {
4705
+ protected _value: T;
4706
+ protected quoteStringValue: boolean;
4707
+ constructor(value: T);
4708
+ static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): SingleValueProperty<string | number>;
4709
+ protected static parsePrimitiveValue(value: PrimitiveSExpr | undefined): string | number;
4710
+ get value(): T;
4711
+ set value(value: T);
4712
+ getChildren(): SxClass[];
4713
+ protected formatValue(): string;
4714
+ getString(): string;
4715
+ }
4716
+ declare abstract class NumericListProperty extends SxClass {
4717
+ protected _values: number[];
4718
+ constructor(values: number[]);
4719
+ static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): NumericListProperty;
4720
+ get values(): number[];
4721
+ set values(values: number[]);
4722
+ getChildren(): SxClass[];
4723
+ getString(): string;
4724
+ }
4725
+ declare abstract class CoordinateProperty extends SxClass {
4726
+ protected _x: number;
4727
+ protected _y: number;
4728
+ constructor(x: number, y: number);
4729
+ static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): CoordinateProperty;
4730
+ get x(): number;
4731
+ set x(value: number);
4732
+ get y(): number;
4733
+ set y(value: number);
4734
+ getChildren(): SxClass[];
4735
+ getString(): string;
4736
+ }
4737
+
4738
+ declare class Back extends SingleValueProperty<string> {
4739
+ static token: string;
4740
+ token: string;
4741
+ }
4742
+
4743
+ declare class Front extends SingleValueProperty<string> {
4744
+ static token: string;
4745
+ token: string;
4746
+ }
4747
+
4748
+ declare class Covering extends SxClass {
4749
+ static token: string;
4750
+ token: string;
4751
+ private _sxFront?;
4752
+ private _sxBack?;
4753
+ constructor(params?: {
4754
+ front?: Front | string;
4755
+ back?: Back | string;
4756
+ });
4757
+ static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): Covering;
4758
+ get front(): string | undefined;
4759
+ set front(value: Front | string | undefined);
4760
+ get back(): string | undefined;
4761
+ set back(value: Back | string | undefined);
4762
+ getChildren(): SxClass[];
4763
+ }
4764
+
4626
4765
  declare class PcbPlotParams extends SxClass {
4627
4766
  static token: string;
4628
4767
  static parentToken: string;
@@ -4734,38 +4873,21 @@ declare class PcbPlotParams extends SxClass {
4734
4873
  set outputdirectory(value: string | undefined);
4735
4874
  }
4736
4875
 
4737
- declare abstract class SingleValueProperty<T extends string | number> extends SxClass {
4738
- protected _value: T;
4739
- protected quoteStringValue: boolean;
4740
- constructor(value: T);
4741
- static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): SingleValueProperty<string | number>;
4742
- protected static parsePrimitiveValue(value: PrimitiveSExpr | undefined): string | number;
4743
- get value(): T;
4744
- set value(value: T);
4745
- getChildren(): SxClass[];
4746
- protected formatValue(): string;
4747
- getString(): string;
4748
- }
4749
- declare abstract class NumericListProperty extends SxClass {
4750
- protected _values: number[];
4751
- constructor(values: number[]);
4752
- static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): NumericListProperty;
4753
- get values(): number[];
4754
- set values(values: number[]);
4755
- getChildren(): SxClass[];
4756
- getString(): string;
4757
- }
4758
- declare abstract class CoordinateProperty extends SxClass {
4759
- protected _x: number;
4760
- protected _y: number;
4761
- constructor(x: number, y: number);
4762
- static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): CoordinateProperty;
4763
- get x(): number;
4764
- set x(value: number);
4765
- get y(): number;
4766
- set y(value: number);
4876
+ declare class Plugging extends SxClass {
4877
+ static token: string;
4878
+ token: string;
4879
+ private _sxFront?;
4880
+ private _sxBack?;
4881
+ constructor(params?: {
4882
+ front?: Front | string;
4883
+ back?: Back | string;
4884
+ });
4885
+ static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): Plugging;
4886
+ get front(): string | undefined;
4887
+ set front(value: Front | string | undefined);
4888
+ get back(): string | undefined;
4889
+ set back(value: Back | string | undefined);
4767
4890
  getChildren(): SxClass[];
4768
- getString(): string;
4769
4891
  }
4770
4892
 
4771
4893
  declare abstract class StackupSingleValueProperty<T extends string | number> extends SingleValueProperty<T> {
@@ -4978,6 +5100,14 @@ declare class Setup extends SxClass {
4978
5100
  set allowSoldermaskBridgesInFootprints(value: string | undefined);
4979
5101
  get tenting(): string[] | undefined;
4980
5102
  set tenting(sides: string[] | undefined);
5103
+ get covering(): Covering | undefined;
5104
+ set covering(value: Covering | undefined);
5105
+ get plugging(): Plugging | undefined;
5106
+ set plugging(value: Plugging | undefined);
5107
+ get capping(): string | undefined;
5108
+ set capping(value: string | undefined);
5109
+ get filling(): string | undefined;
5110
+ set filling(value: string | undefined);
4981
5111
  get auxAxisOrigin(): Coordinate | undefined;
4982
5112
  set auxAxisOrigin(origin: Coordinate | undefined);
4983
5113
  get gridOrigin(): Coordinate | undefined;
@@ -4990,6 +5120,16 @@ declare class Setup extends SxClass {
4990
5120
  set traceWidth(values: number[] | undefined);
4991
5121
  }
4992
5122
 
5123
+ declare class Capping extends SingleValueProperty<string> {
5124
+ static token: string;
5125
+ token: string;
5126
+ }
5127
+
5128
+ declare class Filling extends SingleValueProperty<string> {
5129
+ static token: string;
5130
+ token: string;
5131
+ }
5132
+
4993
5133
  declare abstract class PlotParamProperty<T extends string | number> extends SingleValueProperty<T> {
4994
5134
  static parentToken: string;
4995
5135
  }
@@ -5350,6 +5490,8 @@ declare class SetupTenting extends SxClass {
5350
5490
  static parentToken: string;
5351
5491
  token: string;
5352
5492
  private _sides;
5493
+ private _sxFront?;
5494
+ private _sxBack?;
5353
5495
  constructor(sides?: string[]);
5354
5496
  static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): SetupTenting;
5355
5497
  get sides(): string[];
@@ -5390,13 +5532,17 @@ interface SetupPropertyValues {
5390
5532
  padDrill?: SetupPadDrill;
5391
5533
  allowSoldermaskBridgesInFootprints?: SetupAllowSoldermaskBridgesInFootprints;
5392
5534
  tenting?: SetupTenting;
5535
+ covering?: Covering;
5536
+ plugging?: Plugging;
5537
+ capping?: Capping;
5538
+ filling?: Filling;
5393
5539
  auxAxisOrigin?: SetupAuxAxisOrigin;
5394
5540
  gridOrigin?: SetupGridOrigin;
5395
5541
  visibleElements?: SetupVisibleElements;
5396
5542
  padToPasteClearanceValues?: SetupPadToPasteClearanceValues;
5397
5543
  traceWidth?: SetupTraceWidth;
5398
5544
  }
5399
- type SetupProperty = Stackup | PcbPlotParams | SetupPadToMaskClearance | SetupSolderMaskMinWidth | SetupPadToPasteClearance | SetupPadToPasteClearanceRatio | SetupLastTraceWidth | SetupTraceClearance | SetupZoneClearance | SetupZone45Only | SetupTraceMin | SetupSegmentWidth | SetupEdgeWidth | SetupViaSize | SetupViaDrill | SetupViaMinSize | SetupViaMinDrill | SetupUviasAllowed | SetupUviaSize | SetupUviaDrill | SetupUviaMinSize | SetupUviaMinDrill | SetupPcbTextWidth | SetupPcbTextSize | SetupModEdgeWidth | SetupModTextSize | SetupModTextWidth | SetupPadSize | SetupPadDrill | SetupAllowSoldermaskBridgesInFootprints | SetupTenting | SetupAuxAxisOrigin | SetupGridOrigin | SetupVisibleElements | SetupPadToPasteClearanceValues | SetupTraceWidth;
5545
+ type SetupProperty = Stackup | PcbPlotParams | SetupPadToMaskClearance | SetupSolderMaskMinWidth | SetupPadToPasteClearance | SetupPadToPasteClearanceRatio | SetupLastTraceWidth | SetupTraceClearance | SetupZoneClearance | SetupZone45Only | SetupTraceMin | SetupSegmentWidth | SetupEdgeWidth | SetupViaSize | SetupViaDrill | SetupViaMinSize | SetupViaMinDrill | SetupUviasAllowed | SetupUviaSize | SetupUviaDrill | SetupUviaMinSize | SetupUviaMinDrill | SetupPcbTextWidth | SetupPcbTextSize | SetupModEdgeWidth | SetupModTextSize | SetupModTextWidth | SetupPadSize | SetupPadDrill | SetupAllowSoldermaskBridgesInFootprints | SetupTenting | Covering | Plugging | Capping | Filling | SetupAuxAxisOrigin | SetupGridOrigin | SetupVisibleElements | SetupPadToPasteClearanceValues | SetupTraceWidth;
5400
5546
 
5401
5547
  declare class PcbGeneral extends SxClass {
5402
5548
  static token: string;
@@ -5509,12 +5655,12 @@ declare class ViaNet extends SxClass {
5509
5655
  static token: string;
5510
5656
  static parentToken: string;
5511
5657
  token: string;
5512
- private _id;
5658
+ private _id?;
5513
5659
  private _name?;
5514
- constructor(id: number, name?: string);
5660
+ constructor(idOrName: number | string, name?: string);
5515
5661
  static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): ViaNet;
5516
- get id(): number;
5517
- set id(value: number);
5662
+ get id(): number | undefined;
5663
+ set id(value: number | undefined);
5518
5664
  get name(): string | undefined;
5519
5665
  set name(value: string | undefined);
5520
5666
  getChildren(): SxClass[];
@@ -5535,6 +5681,10 @@ interface ViaConstructorParams {
5535
5681
  uuid?: Uuid | string;
5536
5682
  tstamp?: Tstamp | string;
5537
5683
  teardrops?: PadTeardrops;
5684
+ capping?: string | Capping;
5685
+ covering?: Covering;
5686
+ plugging?: Plugging;
5687
+ filling?: string | Filling;
5538
5688
  }
5539
5689
  declare class Via extends SxClass {
5540
5690
  static token: string;
@@ -5552,6 +5702,10 @@ declare class Via extends SxClass {
5552
5702
  private _sxUuid?;
5553
5703
  private _sxTstamp?;
5554
5704
  private _sxTeardrops?;
5705
+ private _sxCapping?;
5706
+ private _sxCovering?;
5707
+ private _sxPlugging?;
5708
+ private _sxFilling?;
5555
5709
  constructor(params?: ViaConstructorParams);
5556
5710
  static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): Via;
5557
5711
  private consumeBareToken;
@@ -5581,6 +5735,14 @@ declare class Via extends SxClass {
5581
5735
  set uuid(value: Uuid | string | undefined);
5582
5736
  get teardrops(): PadTeardrops | undefined;
5583
5737
  set teardrops(value: PadTeardrops | undefined);
5738
+ get capping(): string | undefined;
5739
+ set capping(value: string | Capping | undefined);
5740
+ get covering(): Covering | undefined;
5741
+ set covering(value: Covering | undefined);
5742
+ get plugging(): Plugging | undefined;
5743
+ set plugging(value: Plugging | undefined);
5744
+ get filling(): string | undefined;
5745
+ set filling(value: string | Filling | undefined);
5584
5746
  get tstamp(): Tstamp | undefined;
5585
5747
  set tstamp(value: Tstamp | string | undefined);
5586
5748
  getChildren(): SxClass[];
@@ -5707,4 +5869,4 @@ declare const parseKicadSch: (sexpr: string) => KicadSch;
5707
5869
  declare const parseKicadPcb: (sexpr: string) => KicadPcb;
5708
5870
  declare const parseKicadMod: (sexpr: string) => Footprint;
5709
5871
 
5710
- export { At, type AtInput, Bus, type BusConstructorParams, BusEntry, type BusEntryConstructorParams, BusEntrySize, Color, Dimension, DimensionFormat, DimensionStyle, Dnp, EmbeddedFile, EmbeddedFileChecksum, type EmbeddedFileConstructorParams, EmbeddedFileData, EmbeddedFileName, EmbeddedFileType, EmbeddedFiles, type EmbeddedFilesConstructorParams, EmbeddedFonts, ExcludeFromSim, FieldsAutoplaced, Footprint, FootprintAttr, FootprintAutoplaceCost180, FootprintAutoplaceCost90, FootprintClearance, type FootprintConstructorParams, FootprintDescr, FootprintGenerator, FootprintGeneratorVersion, FootprintLocked, FootprintModel, FootprintNetTiePadGroups, FootprintPad, type FootprintPadConstructorParams, FootprintPath, FootprintPlaced, FootprintPrivateLayers, FootprintSheetfile, FootprintSheetname, FootprintSolderMaskMargin, FootprintSolderPasteMargin, FootprintSolderPasteRatio, FootprintTags, FootprintTedit, FootprintThermalGap, FootprintThermalWidth, FootprintVersion, FootprintZoneConnect, FpArc, type FpArcConstructorParams, FpArcEnd, FpArcMid, FpArcStart, FpCircle, FpCircleCenter, type FpCircleConstructorParams, FpCircleEnd, FpCircleFill, FpCircleNet, FpLine, type FpLineConstructorParams, FpLineEnd, FpLineNet, FpLineStart, FpPoly, type FpPolyConstructorParams, FpPolyFill, FpPolyLocked, FpRect, type FpRectConstructorParams, FpRectEnd, FpRectFill, FpRectNet, FpRectStart, FpText, FpTextBox, FpTextBoxAngle, type FpTextBoxConstructorParams, FpTextBoxEnd, FpTextBoxStart, type FpTextConstructorParams, type FpTextType, Generated, GlobalLabel, type GlobalLabelConstructorParams, type GlobalLabelShape, GrArc, type GrArcConstructorParams, GrArcEnd, GrArcMid, type GrArcPoint, GrArcStart, GrCircle, GrCircleCenter, type GrCircleConstructorParams, GrCircleEnd, GrCircleLocked, type GrCirclePoint, GrCurve, type GrCurveConstructorParams, GrLine, GrLineAngle, type GrLineConstructorParams, GrLineEnd, GrLineLocked, type GrLinePoint, GrLineStart, GrPoly, type GrPolyConstructorParams, GrPolyFill, GrPolyNet, GrRect, type GrRectConstructorParams, GrRectEnd, GrRectFill, GrRectLocked, GrRectStart, GrText, type GrTextConstructorParams, type GrTextPosition, GrTextRenderCache, GrTextRenderCachePolygon, Group, type GroupConstructorParams, GroupLocked, GroupMembers, Image, type ImageConstructorParams, ImageData, ImageScale, InBom, Junction, type JunctionConstructorParams, JunctionDiameter, KicadPcb, type KicadPcbConstructorParams, KicadSch, type KicadSchConstructorParams, KicadSchGenerator, KicadSchGeneratorVersion, KicadSchVersion, KicadSymbolLib, type KicadSymbolLibConstructorParams, KicadSymbolLibGenerator, KicadSymbolLibGeneratorVersion, KicadSymbolLibVersion, Label, type LabelConstructorParams, Layer, Layers, LibSymbols, Mirror, type ModelVector, NoConnect, type NoConnectConstructorParams, OnBoard, PadChamfer, PadChamferRatio, PadClearance, PadDieLength, PadDrill, PadDrillOffset, PadLayers, type PadLayersInput, PadNet, PadOptions, type PadOptionsAnchorShape, type PadOptionsClearanceType, PadPinFunction, PadPinType, PadPrimitiveGrArc, type PadPrimitiveGrArcConstructorParams, PadPrimitiveGrCircle, type PadPrimitiveGrCircleConstructorParams, PadPrimitiveGrCircleFill, PadPrimitiveGrLine, PadPrimitiveGrPoly, PadPrimitives, PadProperty, PadRectDelta, PadRoundrectRratio, PadSize, type PadSizeInput, PadSolderMaskMargin, PadSolderPasteMargin, PadSolderPasteMarginRatio, PadTeardrops, PadThermalBridgeAngle, PadThermalGap, PadThermalWidth, PadZoneConnect, PadZoneLayerConnections, Paper, PcbArc, type PcbArcConstructorParams, type PcbArcPoint, PcbGeneral, PcbGeneralLegacyTeardrops, PcbGeneralThickness, PcbGenerator, PcbGeneratorVersion, PcbLayerDefinition, PcbLayers, PcbNet, PcbPlotParams, PcbVersion, PlotParamCreateGerberJobFile, PlotParamCrossoutDnpOnFab, PlotParamDashedLineDashRatio, PlotParamDashedLineGapRatio, PlotParamDisableApertMacros, PlotParamDrillShape, PlotParamDxfImperialUnits, PlotParamDxfPolygonMode, PlotParamDxfUsePcbnewFont, PlotParamExcludeEdgeLayer, PlotParamHideDnpOnFab, PlotParamHpglPenDiameter, PlotParamHpglPenNumber, PlotParamHpglPenOverlay, PlotParamHpglPenSpeed, PlotParamLayerSelection, PlotParamLineWidth, PlotParamMirror, PlotParamMode, PlotParamOutputDirectory, PlotParamOutputFormat, PlotParamPadOnSilk, PlotParamPdfBackFpPropertyPopups, PlotParamPdfFrontFpPropertyPopups, PlotParamPdfMetadata, PlotParamPdfSingleDocument, PlotParamPlotBlackAndWhite, PlotParamPlotFpText, PlotParamPlotFrameRef, PlotParamPlotInvisible, PlotParamPlotInvisibleText, PlotParamPlotOnAllLayers, PlotParamPlotOnAllLayersSelection, PlotParamPlotOtherText, PlotParamPlotPadNumbers, PlotParamPlotReference, PlotParamPlotValue, PlotParamProperty, PlotParamPsA4Output, PlotParamPsNegative, PlotParamScaleSelection, PlotParamSketchDnpOnFab, PlotParamSketchPadsOnFab, PlotParamSubtractMaskFromSilk, PlotParamSvgPrecision, PlotParamUseAuxOrigin, PlotParamUseGerberAdvancedAttributes, PlotParamUseGerberAttributes, PlotParamUseGerberExtensions, PlotParamViaOnMask, Polyline, type PolylineConstructorParams, Property, type PropertyConstructorParams, PropertyHide, PropertyUnlocked, Pts, PtsArc, PtsArcEnd, PtsArcMid, PtsArcStart, type RGBAColor, RenderCache, SchematicPolyline, SchematicRectangle, SchematicSymbol, type SchematicSymbolConstructorParams, SchematicText, SchematicTextBox, type SchematicTextConstructorParams, Segment, type SegmentConstructorParams, SegmentEnd, SegmentLocked, SegmentNet, SegmentStart, Setup, SetupAllowSoldermaskBridgesInFootprints, SetupAuxAxisOrigin, SetupEdgeWidth, SetupGridOrigin, SetupLastTraceWidth, SetupModEdgeWidth, SetupModTextSize, SetupModTextWidth, SetupPadDrill, SetupPadSize, SetupPadToMaskClearance, SetupPadToPasteClearance, SetupPadToPasteClearanceRatio, SetupPadToPasteClearanceValues, SetupPcbTextSize, SetupPcbTextWidth, type SetupProperty, type SetupPropertyValues, SetupSegmentWidth, SetupSolderMaskMinWidth, SetupTenting, SetupTraceClearance, SetupTraceMin, SetupTraceWidth, SetupUviaDrill, SetupUviaMinDrill, SetupUviaMinSize, SetupUviaSize, SetupUviasAllowed, SetupViaDrill, SetupViaMinDrill, SetupViaMinSize, SetupViaSize, SetupVisibleElements, SetupZone45Only, SetupZoneClearance, Sheet, type SheetConstructorParams, SheetFill, SheetInstancePage, SheetInstancePath, SheetInstances, SheetInstancesForSheet, SheetInstancesProject, SheetInstancesRoot, SheetInstancesRootPage, SheetInstancesRootPath, SheetPin, type SheetPinElectricalType, SheetProperty, SheetSize, Stackup, StackupCastellatedPads, StackupCopperFinish, StackupDielectricConstraints, StackupEdgeConnector, StackupEdgePlating, StackupLayer, StackupLayerColor, StackupLayerEpsilonR, StackupLayerLossTangent, StackupLayerMaterial, StackupLayerThickness, StackupLayerType, type StandardPaperSize, Stroke, type StrokeProperty, StrokeType, type StrokeTypeString, SxClass, SymbolArc, SymbolArcEnd, SymbolArcFill, SymbolArcMid, SymbolArcStart, SymbolCircle, SymbolCircleCenter, SymbolCircleFill, SymbolCircleRadius, SymbolDuplicatePinNumbersAreJumpers, SymbolFillType, SymbolInstancePath, SymbolInstanceReference, SymbolInstanceUnit, SymbolInstances, SymbolInstancesProject, SymbolLibId, SymbolLibName, SymbolPin, SymbolPinLength, SymbolPinName, SymbolPinNames, SymbolPinNamesHide, SymbolPinNamesOffset, SymbolPinNumber, SymbolPinNumbers, SymbolPinNumbersHide, SymbolPolyline, SymbolPolylineFill, type SymbolPolylineFillLike, SymbolPower, SymbolProperty, SymbolPropertyId, SymbolRectangle, SymbolRectangleEnd, SymbolRectangleFill, SymbolRectangleStart, SymbolText, SymbolTextBox, SymbolUnit, Target, TextBoxFill, TextBoxSize, TextEffects, type TextEffectsConstructorParams, TextEffectsFont, TextEffectsFontBold, TextEffectsFontFace, TextEffectsFontItalic, TextEffectsFontLineSpacing, type TextEffectsFontProperty, TextEffectsFontSize, TextEffectsFontThickness, TextEffectsJustify, type TextEffectsProperty, TitleBlock, TitleBlockComment, TitleBlockCompany, type TitleBlockConstructorParams, TitleBlockDate, TitleBlockRevision, TitleBlockTitle, Tstamp, Unit, type UnitString, Uuid, Via, type ViaConstructorParams, ViaNet, Width, Wire, type WireConstructorParams, Xy, Zone, parseKicadMod, parseKicadPcb, parseKicadSch, parseKicadSexpr };
5872
+ export { At, type AtInput, Back, Bus, type BusConstructorParams, BusEntry, type BusEntryConstructorParams, BusEntrySize, Capping, Color, Covering, Dimension, DimensionFormat, DimensionStyle, Dnp, EmbeddedFile, EmbeddedFileChecksum, type EmbeddedFileConstructorParams, EmbeddedFileData, EmbeddedFileName, EmbeddedFileType, EmbeddedFiles, type EmbeddedFilesConstructorParams, EmbeddedFonts, ExcludeFromSim, FieldsAutoplaced, Filling, Footprint, FootprintAttr, FootprintAutoplaceCost180, FootprintAutoplaceCost90, FootprintClearance, type FootprintConstructorParams, FootprintDescr, FootprintDuplicatePadNumbersAreJumpers, FootprintGenerator, FootprintGeneratorVersion, FootprintLocked, FootprintModel, FootprintNetTiePadGroups, FootprintPad, type FootprintPadConstructorParams, FootprintPath, FootprintPlaced, FootprintPoint, FootprintPointSize, FootprintPrivateLayers, FootprintSheetfile, FootprintSheetname, FootprintSolderMaskMargin, FootprintSolderPasteMargin, FootprintSolderPasteRatio, FootprintTags, FootprintTedit, FootprintThermalGap, FootprintThermalWidth, FootprintUnit, FootprintUnitName, FootprintUnitPins, FootprintUnits, FootprintVersion, FootprintZoneConnect, FpArc, type FpArcConstructorParams, FpArcEnd, FpArcMid, FpArcStart, FpCircle, FpCircleCenter, type FpCircleConstructorParams, FpCircleEnd, FpCircleFill, FpCircleNet, FpLine, type FpLineConstructorParams, FpLineEnd, FpLineNet, FpLineStart, FpPoly, type FpPolyConstructorParams, FpPolyFill, FpPolyLocked, FpRect, type FpRectConstructorParams, FpRectEnd, FpRectFill, FpRectNet, FpRectStart, FpText, FpTextBox, FpTextBoxAngle, type FpTextBoxConstructorParams, FpTextBoxEnd, FpTextBoxStart, type FpTextConstructorParams, type FpTextType, Front, Generated, GlobalLabel, type GlobalLabelConstructorParams, type GlobalLabelShape, GrArc, type GrArcConstructorParams, GrArcEnd, GrArcMid, type GrArcPoint, GrArcStart, GrCircle, GrCircleCenter, type GrCircleConstructorParams, GrCircleEnd, GrCircleLocked, type GrCirclePoint, GrCurve, type GrCurveConstructorParams, GrLine, GrLineAngle, type GrLineConstructorParams, GrLineEnd, GrLineLocked, type GrLinePoint, GrLineStart, GrPoly, type GrPolyConstructorParams, GrPolyFill, GrPolyNet, GrRect, type GrRectConstructorParams, GrRectEnd, GrRectFill, GrRectLocked, GrRectStart, GrText, type GrTextConstructorParams, type GrTextPosition, GrTextRenderCache, GrTextRenderCachePolygon, Group, type GroupConstructorParams, GroupLocked, GroupMembers, Image, type ImageConstructorParams, ImageData, ImageScale, InBom, Junction, type JunctionConstructorParams, JunctionDiameter, KicadPcb, type KicadPcbConstructorParams, KicadSch, type KicadSchConstructorParams, KicadSchGenerator, KicadSchGeneratorVersion, KicadSchVersion, KicadSymbolLib, type KicadSymbolLibConstructorParams, KicadSymbolLibGenerator, KicadSymbolLibGeneratorVersion, KicadSymbolLibVersion, Label, type LabelConstructorParams, Layer, Layers, LibSymbols, Mirror, type ModelVector, NoConnect, type NoConnectConstructorParams, OnBoard, PadChamfer, PadChamferRatio, PadClearance, PadDieLength, PadDrill, PadDrillOffset, PadLayers, type PadLayersInput, PadNet, PadOptions, type PadOptionsAnchorShape, type PadOptionsClearanceType, PadPinFunction, PadPinType, PadPrimitiveGrArc, type PadPrimitiveGrArcConstructorParams, PadPrimitiveGrCircle, type PadPrimitiveGrCircleConstructorParams, PadPrimitiveGrCircleFill, PadPrimitiveGrLine, PadPrimitiveGrPoly, PadPrimitives, PadProperty, PadRectDelta, PadRoundrectRratio, PadSize, type PadSizeInput, PadSolderMaskMargin, PadSolderPasteMargin, PadSolderPasteMarginRatio, PadTeardrops, PadThermalBridgeAngle, PadThermalGap, PadThermalWidth, PadZoneConnect, PadZoneLayerConnections, Paper, PcbArc, type PcbArcConstructorParams, type PcbArcPoint, PcbGeneral, PcbGeneralLegacyTeardrops, PcbGeneralThickness, PcbGenerator, PcbGeneratorVersion, PcbLayerDefinition, PcbLayers, PcbNet, PcbPlotParams, PcbVersion, PlotParamCreateGerberJobFile, PlotParamCrossoutDnpOnFab, PlotParamDashedLineDashRatio, PlotParamDashedLineGapRatio, PlotParamDisableApertMacros, PlotParamDrillShape, PlotParamDxfImperialUnits, PlotParamDxfPolygonMode, PlotParamDxfUsePcbnewFont, PlotParamExcludeEdgeLayer, PlotParamHideDnpOnFab, PlotParamHpglPenDiameter, PlotParamHpglPenNumber, PlotParamHpglPenOverlay, PlotParamHpglPenSpeed, PlotParamLayerSelection, PlotParamLineWidth, PlotParamMirror, PlotParamMode, PlotParamOutputDirectory, PlotParamOutputFormat, PlotParamPadOnSilk, PlotParamPdfBackFpPropertyPopups, PlotParamPdfFrontFpPropertyPopups, PlotParamPdfMetadata, PlotParamPdfSingleDocument, PlotParamPlotBlackAndWhite, PlotParamPlotFpText, PlotParamPlotFrameRef, PlotParamPlotInvisible, PlotParamPlotInvisibleText, PlotParamPlotOnAllLayers, PlotParamPlotOnAllLayersSelection, PlotParamPlotOtherText, PlotParamPlotPadNumbers, PlotParamPlotReference, PlotParamPlotValue, PlotParamProperty, PlotParamPsA4Output, PlotParamPsNegative, PlotParamScaleSelection, PlotParamSketchDnpOnFab, PlotParamSketchPadsOnFab, PlotParamSubtractMaskFromSilk, PlotParamSvgPrecision, PlotParamUseAuxOrigin, PlotParamUseGerberAdvancedAttributes, PlotParamUseGerberAttributes, PlotParamUseGerberExtensions, PlotParamViaOnMask, Plugging, Polyline, type PolylineConstructorParams, Property, type PropertyConstructorParams, PropertyHide, PropertyUnlocked, Pts, PtsArc, PtsArcEnd, PtsArcMid, PtsArcStart, type RGBAColor, RenderCache, SchematicPolyline, SchematicRectangle, SchematicSymbol, type SchematicSymbolConstructorParams, SchematicText, SchematicTextBox, type SchematicTextConstructorParams, Segment, type SegmentConstructorParams, SegmentEnd, SegmentLocked, SegmentNet, SegmentStart, Setup, SetupAllowSoldermaskBridgesInFootprints, SetupAuxAxisOrigin, SetupEdgeWidth, SetupGridOrigin, SetupLastTraceWidth, SetupModEdgeWidth, SetupModTextSize, SetupModTextWidth, SetupPadDrill, SetupPadSize, SetupPadToMaskClearance, SetupPadToPasteClearance, SetupPadToPasteClearanceRatio, SetupPadToPasteClearanceValues, SetupPcbTextSize, SetupPcbTextWidth, type SetupProperty, type SetupPropertyValues, SetupSegmentWidth, SetupSolderMaskMinWidth, SetupTenting, SetupTraceClearance, SetupTraceMin, SetupTraceWidth, SetupUviaDrill, SetupUviaMinDrill, SetupUviaMinSize, SetupUviaSize, SetupUviasAllowed, SetupViaDrill, SetupViaMinDrill, SetupViaMinSize, SetupViaSize, SetupVisibleElements, SetupZone45Only, SetupZoneClearance, Sheet, type SheetConstructorParams, SheetFill, SheetInstancePage, SheetInstancePath, SheetInstances, SheetInstancesForSheet, SheetInstancesProject, SheetInstancesRoot, SheetInstancesRootPage, SheetInstancesRootPath, SheetPin, type SheetPinElectricalType, SheetProperty, SheetSize, Stackup, StackupCastellatedPads, StackupCopperFinish, StackupDielectricConstraints, StackupEdgeConnector, StackupEdgePlating, StackupLayer, StackupLayerColor, StackupLayerEpsilonR, StackupLayerLossTangent, StackupLayerMaterial, StackupLayerThickness, StackupLayerType, type StandardPaperSize, Stroke, type StrokeProperty, StrokeType, type StrokeTypeString, SxClass, SymbolArc, SymbolArcEnd, SymbolArcFill, SymbolArcMid, SymbolArcStart, SymbolCircle, SymbolCircleCenter, SymbolCircleFill, SymbolCircleRadius, SymbolDuplicatePinNumbersAreJumpers, SymbolFillType, SymbolInstancePath, SymbolInstanceReference, SymbolInstanceUnit, SymbolInstances, SymbolInstancesProject, SymbolLibId, SymbolLibName, SymbolPin, SymbolPinLength, SymbolPinName, SymbolPinNames, SymbolPinNamesHide, SymbolPinNamesOffset, SymbolPinNumber, SymbolPinNumbers, SymbolPinNumbersHide, SymbolPolyline, SymbolPolylineFill, type SymbolPolylineFillLike, SymbolPower, SymbolProperty, SymbolPropertyId, SymbolRectangle, SymbolRectangleEnd, SymbolRectangleFill, SymbolRectangleStart, SymbolText, SymbolTextBox, SymbolUnit, Target, TextBoxFill, TextBoxSize, TextEffects, type TextEffectsConstructorParams, TextEffectsFont, TextEffectsFontBold, TextEffectsFontFace, TextEffectsFontItalic, TextEffectsFontLineSpacing, type TextEffectsFontProperty, TextEffectsFontSize, TextEffectsFontThickness, TextEffectsJustify, type TextEffectsProperty, TitleBlock, TitleBlockComment, TitleBlockCompany, type TitleBlockConstructorParams, TitleBlockDate, TitleBlockRevision, TitleBlockTitle, Tstamp, Unit, type UnitString, Uuid, Via, type ViaConstructorParams, ViaNet, Width, Wire, type WireConstructorParams, Xy, Zone, parseKicadMod, parseKicadPcb, parseKicadSch, parseKicadSexpr };
package/dist/index.js CHANGED
@@ -6750,18 +6750,29 @@ var PadNet = class _PadNet extends SxClass {
6750
6750
  token = "net";
6751
6751
  _id;
6752
6752
  _name;
6753
- constructor(id, name) {
6753
+ constructor(idOrName, name) {
6754
6754
  super();
6755
- this._id = id;
6756
- this._name = name;
6755
+ if (typeof idOrName === "number") {
6756
+ this._id = idOrName;
6757
+ this._name = name;
6758
+ return;
6759
+ }
6760
+ this._name = idOrName;
6757
6761
  }
6758
6762
  static fromSexprPrimitives(primitiveSexprs) {
6759
6763
  const id = toNumberValue(primitiveSexprs[0]);
6760
- const name = toStringValue(primitiveSexprs[1]);
6761
- if (id === void 0 || name === void 0) {
6762
- throw new Error("pad net requires numeric id and string name");
6764
+ if (id !== void 0) {
6765
+ const name2 = toStringValue(primitiveSexprs[1]);
6766
+ if (name2 === void 0) {
6767
+ throw new Error("pad net requires a string name with numeric id");
6768
+ }
6769
+ return new _PadNet(id, name2);
6763
6770
  }
6764
- return new _PadNet(id, name);
6771
+ const name = toStringValue(primitiveSexprs[0]);
6772
+ if (name === void 0) {
6773
+ throw new Error("pad net requires numeric id or string name");
6774
+ }
6775
+ return new _PadNet(name);
6765
6776
  }
6766
6777
  get id() {
6767
6778
  return this._id;
@@ -6779,6 +6790,12 @@ var PadNet = class _PadNet extends SxClass {
6779
6790
  return [];
6780
6791
  }
6781
6792
  getString() {
6793
+ if (this._id === void 0) {
6794
+ return `(net ${quoteSExprString(this._name ?? "")})`;
6795
+ }
6796
+ if (this._name === void 0) {
6797
+ throw new Error("pad net with numeric id requires a name to serialize");
6798
+ }
6782
6799
  return `(net ${this._id} ${quoteSExprString(this._name)})`;
6783
6800
  }
6784
6801
  };
@@ -11435,6 +11452,158 @@ var FootprintPlaced = class _FootprintPlaced extends SxPrimitiveBoolean {
11435
11452
  };
11436
11453
  SxClass.register(FootprintPlaced);
11437
11454
 
11455
+ // lib/sexpr/classes/FootprintDuplicatePadNumbersAreJumpers.ts
11456
+ var FootprintDuplicatePadNumbersAreJumpers = class extends SxPrimitiveString {
11457
+ static token = "duplicate_pad_numbers_are_jumpers";
11458
+ static parentToken = "footprint";
11459
+ token = "duplicate_pad_numbers_are_jumpers";
11460
+ };
11461
+ SxClass.register(FootprintDuplicatePadNumbersAreJumpers);
11462
+
11463
+ // lib/sexpr/classes/FootprintPointSize.ts
11464
+ var FootprintPointSize = class extends SxPrimitiveNumber {
11465
+ static token = "size";
11466
+ static parentToken = "point";
11467
+ token = "size";
11468
+ };
11469
+ SxClass.register(FootprintPointSize);
11470
+
11471
+ // lib/sexpr/classes/FootprintPoint.ts
11472
+ var FootprintPoint = class _FootprintPoint extends SxClass {
11473
+ static token = "point";
11474
+ static parentToken = "footprint";
11475
+ token = "point";
11476
+ _sxAt;
11477
+ _sxSize;
11478
+ _sxLayer;
11479
+ _sxUuid;
11480
+ static fromSexprPrimitives(primitiveSexprs) {
11481
+ const point = new _FootprintPoint();
11482
+ const { propertyMap } = SxClass.parsePrimitivesToClassProperties(
11483
+ primitiveSexprs,
11484
+ this.token
11485
+ );
11486
+ point._sxAt = propertyMap.at;
11487
+ point._sxSize = propertyMap.size;
11488
+ point._sxLayer = propertyMap.layer;
11489
+ point._sxUuid = propertyMap.uuid;
11490
+ return point;
11491
+ }
11492
+ getChildren() {
11493
+ const children = [];
11494
+ if (this._sxAt) children.push(this._sxAt);
11495
+ if (this._sxSize) children.push(this._sxSize);
11496
+ if (this._sxLayer) children.push(this._sxLayer);
11497
+ if (this._sxUuid) children.push(this._sxUuid);
11498
+ return children;
11499
+ }
11500
+ };
11501
+ SxClass.register(FootprintPoint);
11502
+
11503
+ // lib/sexpr/classes/FootprintUnitName.ts
11504
+ var FootprintUnitName = class _FootprintUnitName extends SxClass {
11505
+ static token = "name";
11506
+ static parentToken = "unit";
11507
+ token = "name";
11508
+ value;
11509
+ constructor(value) {
11510
+ super();
11511
+ this.value = value;
11512
+ }
11513
+ static fromSexprPrimitives(primitiveSexprs) {
11514
+ const value = toStringValue(primitiveSexprs[0]);
11515
+ if (value === void 0) {
11516
+ throw new Error("footprint unit name expects a string value");
11517
+ }
11518
+ return new _FootprintUnitName(value);
11519
+ }
11520
+ getChildren() {
11521
+ return [];
11522
+ }
11523
+ getString() {
11524
+ return `(name ${quoteSExprString(this.value)})`;
11525
+ }
11526
+ };
11527
+ SxClass.register(FootprintUnitName);
11528
+
11529
+ // lib/sexpr/classes/FootprintUnitPins.ts
11530
+ var FootprintUnitPins = class _FootprintUnitPins extends SxClass {
11531
+ static token = "pins";
11532
+ static parentToken = "unit";
11533
+ token = "pins";
11534
+ values;
11535
+ constructor(values = []) {
11536
+ super();
11537
+ this.values = values;
11538
+ }
11539
+ static fromSexprPrimitives(primitiveSexprs) {
11540
+ const values = primitiveSexprs.map((primitive) => {
11541
+ const value = toStringValue(primitive);
11542
+ if (value === void 0) {
11543
+ throw new Error("footprint unit pins expects string values");
11544
+ }
11545
+ return value;
11546
+ });
11547
+ return new _FootprintUnitPins(values);
11548
+ }
11549
+ getChildren() {
11550
+ return [];
11551
+ }
11552
+ getString() {
11553
+ return `(pins ${this.values.map((value) => quoteSExprString(value)).join(" ")})`;
11554
+ }
11555
+ };
11556
+ SxClass.register(FootprintUnitPins);
11557
+
11558
+ // lib/sexpr/classes/FootprintUnit.ts
11559
+ var FootprintUnit = class _FootprintUnit extends SxClass {
11560
+ static token = "unit";
11561
+ static parentToken = "units";
11562
+ token = "unit";
11563
+ _sxName;
11564
+ _sxPins;
11565
+ static fromSexprPrimitives(primitiveSexprs) {
11566
+ const unit = new _FootprintUnit();
11567
+ const { propertyMap } = SxClass.parsePrimitivesToClassProperties(
11568
+ primitiveSexprs,
11569
+ this.token
11570
+ );
11571
+ unit._sxName = propertyMap.name;
11572
+ unit._sxPins = propertyMap.pins;
11573
+ return unit;
11574
+ }
11575
+ getChildren() {
11576
+ const children = [];
11577
+ if (this._sxName) children.push(this._sxName);
11578
+ if (this._sxPins) children.push(this._sxPins);
11579
+ return children;
11580
+ }
11581
+ };
11582
+ SxClass.register(FootprintUnit);
11583
+
11584
+ // lib/sexpr/classes/FootprintUnits.ts
11585
+ var FootprintUnits = class _FootprintUnits extends SxClass {
11586
+ static token = "units";
11587
+ static parentToken = "footprint";
11588
+ token = "units";
11589
+ _units = [];
11590
+ constructor(units = []) {
11591
+ super();
11592
+ this._units = units;
11593
+ }
11594
+ static fromSexprPrimitives(primitiveSexprs) {
11595
+ const { arrayPropertyMap } = SxClass.parsePrimitivesToClassProperties(
11596
+ primitiveSexprs,
11597
+ this.token
11598
+ );
11599
+ return new _FootprintUnits(arrayPropertyMap.unit ?? []);
11600
+ }
11601
+ getChildren() {
11602
+ return [...this._units];
11603
+ }
11604
+ };
11605
+ SxClass.register(FootprintUnits);
11606
+
11438
11607
  // lib/sexpr/classes/Zone.ts
11439
11608
  var Zone = class _Zone extends SxClass {
11440
11609
  static token = "zone";
@@ -11495,6 +11664,8 @@ var SINGLE_TOKENS2 = /* @__PURE__ */ new Set([
11495
11664
  "net_tie_pad_groups",
11496
11665
  "sheetname",
11497
11666
  "sheetfile",
11667
+ "units",
11668
+ "duplicate_pad_numbers_are_jumpers",
11498
11669
  "embedded_fonts",
11499
11670
  "embedded_files"
11500
11671
  ]);
@@ -11507,6 +11678,7 @@ var MULTI_TOKENS2 = /* @__PURE__ */ new Set([
11507
11678
  "fp_circle",
11508
11679
  "fp_arc",
11509
11680
  "fp_poly",
11681
+ "point",
11510
11682
  "pad",
11511
11683
  "model",
11512
11684
  "zone"
@@ -11544,6 +11716,8 @@ var Footprint = class _Footprint extends SxClass {
11544
11716
  _sxNetTiePadGroups;
11545
11717
  _sxSheetname;
11546
11718
  _sxSheetfile;
11719
+ _sxUnits;
11720
+ _sxDuplicatePadNumbersAreJumpers;
11547
11721
  _sxEmbeddedFonts;
11548
11722
  _sxEmbeddedFiles;
11549
11723
  _properties = [];
@@ -11554,6 +11728,7 @@ var Footprint = class _Footprint extends SxClass {
11554
11728
  _fpCircles = [];
11555
11729
  _fpArcs = [];
11556
11730
  _fpPolys = [];
11731
+ _points = [];
11557
11732
  _fpPads = [];
11558
11733
  _models = [];
11559
11734
  _zones = [];
@@ -11595,6 +11770,10 @@ var Footprint = class _Footprint extends SxClass {
11595
11770
  this.netTiePadGroups = params.netTiePadGroups;
11596
11771
  if (params.sheetname !== void 0) this.sheetname = params.sheetname;
11597
11772
  if (params.sheetfile !== void 0) this.sheetfile = params.sheetfile;
11773
+ if (params.units !== void 0) this.units = params.units;
11774
+ if (params.duplicatePadNumbersAreJumpers !== void 0) {
11775
+ this.duplicatePadNumbersAreJumpers = params.duplicatePadNumbersAreJumpers;
11776
+ }
11598
11777
  if (params.embeddedFonts !== void 0)
11599
11778
  this.embeddedFonts = params.embeddedFonts;
11600
11779
  if (params.embeddedFiles !== void 0)
@@ -11607,6 +11786,7 @@ var Footprint = class _Footprint extends SxClass {
11607
11786
  if (params.fpCircles !== void 0) this.fpCircles = params.fpCircles;
11608
11787
  if (params.fpArcs !== void 0) this.fpArcs = params.fpArcs;
11609
11788
  if (params.fpPolys !== void 0) this.fpPolys = params.fpPolys;
11789
+ if (params.points !== void 0) this.points = params.points;
11610
11790
  if (params.pads !== void 0) this.fpPads = params.pads;
11611
11791
  if (params.models !== void 0) this.models = params.models;
11612
11792
  if (params.zones !== void 0) this.zones = params.zones;
@@ -11690,6 +11870,8 @@ var Footprint = class _Footprint extends SxClass {
11690
11870
  footprint._sxNetTiePadGroups = propertyMap.net_tie_pad_groups;
11691
11871
  footprint._sxSheetname = propertyMap.sheetname;
11692
11872
  footprint._sxSheetfile = propertyMap.sheetfile;
11873
+ footprint._sxUnits = propertyMap.units;
11874
+ footprint._sxDuplicatePadNumbersAreJumpers = propertyMap.duplicate_pad_numbers_are_jumpers;
11693
11875
  footprint._sxEmbeddedFonts = propertyMap.embedded_fonts;
11694
11876
  footprint._sxEmbeddedFiles = propertyMap.embedded_files;
11695
11877
  footprint._properties = arrayPropertyMap.property ?? [];
@@ -11700,6 +11882,7 @@ var Footprint = class _Footprint extends SxClass {
11700
11882
  footprint._fpCircles = arrayPropertyMap["fp_circle"] ?? [];
11701
11883
  footprint._fpArcs = arrayPropertyMap["fp_arc"] ?? [];
11702
11884
  footprint._fpPolys = arrayPropertyMap["fp_poly"] ?? [];
11885
+ footprint._points = arrayPropertyMap.point ?? [];
11703
11886
  footprint._fpPads = arrayPropertyMap.pad ?? [];
11704
11887
  footprint._models = arrayPropertyMap.model ?? [];
11705
11888
  footprint._zones = arrayPropertyMap.zone ?? [];
@@ -12019,6 +12202,22 @@ var Footprint = class _Footprint extends SxClass {
12019
12202
  }
12020
12203
  this._sxSheetfile = value instanceof FootprintSheetfile ? value : new FootprintSheetfile(value);
12021
12204
  }
12205
+ get units() {
12206
+ return this._sxUnits;
12207
+ }
12208
+ set units(value) {
12209
+ this._sxUnits = value;
12210
+ }
12211
+ get duplicatePadNumbersAreJumpers() {
12212
+ return this._sxDuplicatePadNumbersAreJumpers?.value;
12213
+ }
12214
+ set duplicatePadNumbersAreJumpers(value) {
12215
+ if (value === void 0) {
12216
+ this._sxDuplicatePadNumbersAreJumpers = void 0;
12217
+ return;
12218
+ }
12219
+ this._sxDuplicatePadNumbersAreJumpers = value instanceof FootprintDuplicatePadNumbersAreJumpers ? value : new FootprintDuplicatePadNumbersAreJumpers(value);
12220
+ }
12022
12221
  get embeddedFonts() {
12023
12222
  return this._sxEmbeddedFonts;
12024
12223
  }
@@ -12079,6 +12278,12 @@ var Footprint = class _Footprint extends SxClass {
12079
12278
  set fpPolys(value) {
12080
12279
  this._fpPolys = [...value];
12081
12280
  }
12281
+ get points() {
12282
+ return [...this._points];
12283
+ }
12284
+ set points(value) {
12285
+ this._points = [...value];
12286
+ }
12082
12287
  get fpPads() {
12083
12288
  return [...this._fpPads];
12084
12289
  }
@@ -12122,11 +12327,15 @@ var Footprint = class _Footprint extends SxClass {
12122
12327
  if (this._sxZoneConnect) children.push(this._sxZoneConnect);
12123
12328
  if (this._sxThermalWidth) children.push(this._sxThermalWidth);
12124
12329
  if (this._sxThermalGap) children.push(this._sxThermalGap);
12330
+ if (this._sxSheetname) children.push(this._sxSheetname);
12331
+ if (this._sxSheetfile) children.push(this._sxSheetfile);
12332
+ if (this._sxUnits) children.push(this._sxUnits);
12125
12333
  if (this._sxAttr) children.push(this._sxAttr);
12334
+ if (this._sxDuplicatePadNumbersAreJumpers) {
12335
+ children.push(this._sxDuplicatePadNumbersAreJumpers);
12336
+ }
12126
12337
  if (this._sxPrivateLayers) children.push(this._sxPrivateLayers);
12127
12338
  if (this._sxNetTiePadGroups) children.push(this._sxNetTiePadGroups);
12128
- if (this._sxSheetname) children.push(this._sxSheetname);
12129
- if (this._sxSheetfile) children.push(this._sxSheetfile);
12130
12339
  if (this._sxEmbeddedFonts) children.push(this._sxEmbeddedFonts);
12131
12340
  if (this._sxEmbeddedFiles) children.push(this._sxEmbeddedFiles);
12132
12341
  children.push(...this._properties);
@@ -12137,6 +12346,7 @@ var Footprint = class _Footprint extends SxClass {
12137
12346
  children.push(...this._fpCircles);
12138
12347
  children.push(...this._fpArcs);
12139
12348
  children.push(...this._fpPolys);
12349
+ children.push(...this._points);
12140
12350
  children.push(...this._fpPads);
12141
12351
  children.push(...this._models);
12142
12352
  children.push(...this._zones);
@@ -15096,19 +15306,27 @@ var SegmentNet = class _SegmentNet extends SxClass {
15096
15306
  token = "net";
15097
15307
  _id;
15098
15308
  _name;
15099
- constructor(id, name) {
15309
+ constructor(idOrName, name) {
15100
15310
  super();
15101
- this._id = id;
15102
- this._name = name;
15311
+ if (typeof idOrName === "number") {
15312
+ this._id = idOrName;
15313
+ this._name = name;
15314
+ return;
15315
+ }
15316
+ this._name = idOrName;
15103
15317
  }
15104
15318
  static fromSexprPrimitives(primitiveSexprs) {
15105
15319
  const [rawId, rawName] = primitiveSexprs;
15106
15320
  const id = toNumberValue(rawId);
15107
- if (id === void 0) {
15108
- throw new Error("net expects a numeric identifier");
15321
+ if (id !== void 0) {
15322
+ const name2 = rawName === void 0 ? void 0 : toStringValue(rawName);
15323
+ return new _SegmentNet(id, name2 ?? void 0);
15324
+ }
15325
+ const name = toStringValue(rawId);
15326
+ if (name === void 0) {
15327
+ throw new Error("net expects a numeric identifier or string name");
15109
15328
  }
15110
- const name = rawName === void 0 ? void 0 : toStringValue(rawName);
15111
- return new _SegmentNet(id, name ?? void 0);
15329
+ return new _SegmentNet(name);
15112
15330
  }
15113
15331
  get id() {
15114
15332
  return this._id;
@@ -15129,6 +15347,9 @@ var SegmentNet = class _SegmentNet extends SxClass {
15129
15347
  return [];
15130
15348
  }
15131
15349
  getString() {
15350
+ if (this._id === void 0) {
15351
+ return `(net ${quoteSExprString(this._name ?? "")})`;
15352
+ }
15132
15353
  const namePart = this._name ? ` ${quoteSExprString(this._name)}` : "";
15133
15354
  return `(net ${this._id}${namePart})`;
15134
15355
  }
@@ -15514,6 +15735,84 @@ var CoordinateProperty = class extends SxClass {
15514
15735
  }
15515
15736
  };
15516
15737
 
15738
+ // lib/sexpr/classes/Setup/Capping.ts
15739
+ var Capping = class extends SingleValueProperty {
15740
+ static token = "capping";
15741
+ token = "capping";
15742
+ };
15743
+ SxClass.register(Capping);
15744
+
15745
+ // lib/sexpr/classes/Setup/Back.ts
15746
+ var Back = class extends SingleValueProperty {
15747
+ static token = "back";
15748
+ token = "back";
15749
+ };
15750
+ SxClass.register(Back);
15751
+
15752
+ // lib/sexpr/classes/Setup/Front.ts
15753
+ var Front = class extends SingleValueProperty {
15754
+ static token = "front";
15755
+ token = "front";
15756
+ };
15757
+ SxClass.register(Front);
15758
+
15759
+ // lib/sexpr/classes/Setup/Covering.ts
15760
+ var Covering = class _Covering extends SxClass {
15761
+ static token = "covering";
15762
+ token = "covering";
15763
+ _sxFront;
15764
+ _sxBack;
15765
+ constructor(params = {}) {
15766
+ super();
15767
+ if (params.front !== void 0) this.front = params.front;
15768
+ if (params.back !== void 0) this.back = params.back;
15769
+ }
15770
+ static fromSexprPrimitives(primitiveSexprs) {
15771
+ const { propertyMap } = SxClass.parsePrimitivesToClassProperties(
15772
+ primitiveSexprs,
15773
+ this.token
15774
+ );
15775
+ return new _Covering({
15776
+ front: propertyMap.front,
15777
+ back: propertyMap.back
15778
+ });
15779
+ }
15780
+ get front() {
15781
+ return this._sxFront?.value;
15782
+ }
15783
+ set front(value) {
15784
+ if (value === void 0) {
15785
+ this._sxFront = void 0;
15786
+ return;
15787
+ }
15788
+ this._sxFront = value instanceof Front ? value : new Front(value);
15789
+ }
15790
+ get back() {
15791
+ return this._sxBack?.value;
15792
+ }
15793
+ set back(value) {
15794
+ if (value === void 0) {
15795
+ this._sxBack = void 0;
15796
+ return;
15797
+ }
15798
+ this._sxBack = value instanceof Back ? value : new Back(value);
15799
+ }
15800
+ getChildren() {
15801
+ const children = [];
15802
+ if (this._sxFront) children.push(this._sxFront);
15803
+ if (this._sxBack) children.push(this._sxBack);
15804
+ return children;
15805
+ }
15806
+ };
15807
+ SxClass.register(Covering);
15808
+
15809
+ // lib/sexpr/classes/Setup/Filling.ts
15810
+ var Filling = class extends SingleValueProperty {
15811
+ static token = "filling";
15812
+ token = "filling";
15813
+ };
15814
+ SxClass.register(Filling);
15815
+
15517
15816
  // lib/sexpr/classes/Setup/PcbPlotParamsBase.ts
15518
15817
  var PlotParamProperty = class extends SingleValueProperty {
15519
15818
  static parentToken = "pcbplotparams";
@@ -16300,6 +16599,56 @@ var PcbPlotParams = class _PcbPlotParams extends SxClass {
16300
16599
  };
16301
16600
  SxClass.register(PcbPlotParams);
16302
16601
 
16602
+ // lib/sexpr/classes/Setup/Plugging.ts
16603
+ var Plugging = class _Plugging extends SxClass {
16604
+ static token = "plugging";
16605
+ token = "plugging";
16606
+ _sxFront;
16607
+ _sxBack;
16608
+ constructor(params = {}) {
16609
+ super();
16610
+ if (params.front !== void 0) this.front = params.front;
16611
+ if (params.back !== void 0) this.back = params.back;
16612
+ }
16613
+ static fromSexprPrimitives(primitiveSexprs) {
16614
+ const { propertyMap } = SxClass.parsePrimitivesToClassProperties(
16615
+ primitiveSexprs,
16616
+ this.token
16617
+ );
16618
+ return new _Plugging({
16619
+ front: propertyMap.front,
16620
+ back: propertyMap.back
16621
+ });
16622
+ }
16623
+ get front() {
16624
+ return this._sxFront?.value;
16625
+ }
16626
+ set front(value) {
16627
+ if (value === void 0) {
16628
+ this._sxFront = void 0;
16629
+ return;
16630
+ }
16631
+ this._sxFront = value instanceof Front ? value : new Front(value);
16632
+ }
16633
+ get back() {
16634
+ return this._sxBack?.value;
16635
+ }
16636
+ set back(value) {
16637
+ if (value === void 0) {
16638
+ this._sxBack = void 0;
16639
+ return;
16640
+ }
16641
+ this._sxBack = value instanceof Back ? value : new Back(value);
16642
+ }
16643
+ getChildren() {
16644
+ const children = [];
16645
+ if (this._sxFront) children.push(this._sxFront);
16646
+ if (this._sxBack) children.push(this._sxBack);
16647
+ return children;
16648
+ }
16649
+ };
16650
+ SxClass.register(Plugging);
16651
+
16303
16652
  // lib/sexpr/classes/Setup/setupStringProperties.ts
16304
16653
  var SetupStringProperty = class extends SingleValueProperty {
16305
16654
  static parentToken = "setup";
@@ -16329,11 +16678,23 @@ var SetupTenting = class _SetupTenting extends SxClass {
16329
16678
  static parentToken = "setup";
16330
16679
  token = "tenting";
16331
16680
  _sides = [];
16681
+ _sxFront;
16682
+ _sxBack;
16332
16683
  constructor(sides = []) {
16333
16684
  super();
16334
16685
  this.sides = sides;
16335
16686
  }
16336
16687
  static fromSexprPrimitives(primitiveSexprs) {
16688
+ if (primitiveSexprs.some((primitive) => Array.isArray(primitive))) {
16689
+ const { propertyMap } = SxClass.parsePrimitivesToClassProperties(
16690
+ primitiveSexprs,
16691
+ this.token
16692
+ );
16693
+ const tenting = new _SetupTenting();
16694
+ tenting._sxFront = propertyMap.front;
16695
+ tenting._sxBack = propertyMap.back;
16696
+ return tenting;
16697
+ }
16337
16698
  const sides = primitiveSexprs.map((primitive) => toStringValue(primitive)).filter((value) => value !== void 0);
16338
16699
  return new _SetupTenting(sides);
16339
16700
  }
@@ -16344,9 +16705,15 @@ var SetupTenting = class _SetupTenting extends SxClass {
16344
16705
  this._sides = sides.map((side) => String(side));
16345
16706
  }
16346
16707
  getChildren() {
16347
- return [];
16708
+ const children = [];
16709
+ if (this._sxFront) children.push(this._sxFront);
16710
+ if (this._sxBack) children.push(this._sxBack);
16711
+ return children;
16348
16712
  }
16349
16713
  getString() {
16714
+ if (this._sxFront || this._sxBack) {
16715
+ return super.getString();
16716
+ }
16350
16717
  if (this._sides.length === 0) {
16351
16718
  return "(tenting)";
16352
16719
  }
@@ -16899,6 +17266,10 @@ var TOKEN_TO_KEY2 = {
16899
17266
  pad_drill: "padDrill",
16900
17267
  allow_soldermask_bridges_in_footprints: "allowSoldermaskBridgesInFootprints",
16901
17268
  tenting: "tenting",
17269
+ covering: "covering",
17270
+ plugging: "plugging",
17271
+ capping: "capping",
17272
+ filling: "filling",
16902
17273
  aux_axis_origin: "auxAxisOrigin",
16903
17274
  grid_origin: "gridOrigin",
16904
17275
  visible_elements: "visibleElements",
@@ -16936,6 +17307,10 @@ var SETUP_CHILD_ORDER = [
16936
17307
  "padDrill",
16937
17308
  "allowSoldermaskBridgesInFootprints",
16938
17309
  "tenting",
17310
+ "covering",
17311
+ "plugging",
17312
+ "capping",
17313
+ "filling",
16939
17314
  "auxAxisOrigin",
16940
17315
  "gridOrigin",
16941
17316
  "visibleElements",
@@ -17230,6 +17605,36 @@ var Setup = class _Setup extends SxClass {
17230
17605
  }
17231
17606
  this.setProperty("tenting", new SetupTenting(sides));
17232
17607
  }
17608
+ get covering() {
17609
+ return this.getPropertyInstance("covering", Covering);
17610
+ }
17611
+ set covering(value) {
17612
+ this.setProperty("covering", value);
17613
+ }
17614
+ get plugging() {
17615
+ return this.getPropertyInstance("plugging", Plugging);
17616
+ }
17617
+ set plugging(value) {
17618
+ this.setProperty("plugging", value);
17619
+ }
17620
+ get capping() {
17621
+ return this.getPropertyInstance("capping", Capping)?.value;
17622
+ }
17623
+ set capping(value) {
17624
+ this.setProperty(
17625
+ "capping",
17626
+ value === void 0 ? void 0 : new Capping(value)
17627
+ );
17628
+ }
17629
+ get filling() {
17630
+ return this.getPropertyInstance("filling", Filling)?.value;
17631
+ }
17632
+ set filling(value) {
17633
+ this.setProperty(
17634
+ "filling",
17635
+ value === void 0 ? void 0 : new Filling(value)
17636
+ );
17637
+ }
17233
17638
  get auxAxisOrigin() {
17234
17639
  const origin = this.getPropertyInstance("auxAxisOrigin", SetupAuxAxisOrigin);
17235
17640
  if (!origin) return void 0;
@@ -17576,18 +17981,26 @@ var ViaNet = class _ViaNet extends SxClass {
17576
17981
  token = "net";
17577
17982
  _id;
17578
17983
  _name;
17579
- constructor(id, name) {
17984
+ constructor(idOrName, name) {
17580
17985
  super();
17581
- this._id = id;
17582
- this._name = name;
17986
+ if (typeof idOrName === "number") {
17987
+ this._id = idOrName;
17988
+ this._name = name;
17989
+ return;
17990
+ }
17991
+ this._name = idOrName;
17583
17992
  }
17584
17993
  static fromSexprPrimitives(primitiveSexprs) {
17585
17994
  const id = toNumberValue(primitiveSexprs[0]);
17586
- if (id === void 0) {
17587
- throw new Error("via net requires a numeric id");
17995
+ if (id !== void 0) {
17996
+ const name2 = primitiveSexprs.length > 1 ? toStringValue(primitiveSexprs[1]) : void 0;
17997
+ return new _ViaNet(id, name2);
17588
17998
  }
17589
- const name = primitiveSexprs.length > 1 ? toStringValue(primitiveSexprs[1]) : void 0;
17590
- return new _ViaNet(id, name);
17999
+ const name = toStringValue(primitiveSexprs[0]);
18000
+ if (name === void 0) {
18001
+ throw new Error("via net requires a numeric id or string name");
18002
+ }
18003
+ return new _ViaNet(name);
17591
18004
  }
17592
18005
  get id() {
17593
18006
  return this._id;
@@ -17605,6 +18018,9 @@ var ViaNet = class _ViaNet extends SxClass {
17605
18018
  return [];
17606
18019
  }
17607
18020
  getString() {
18021
+ if (this._id === void 0) {
18022
+ return `(net ${quoteSExprString(this._name ?? "")})`;
18023
+ }
17608
18024
  if (this._name !== void 0) {
17609
18025
  return `(net ${this._id} ${quoteSExprString(this._name)})`;
17610
18026
  }
@@ -17636,6 +18052,10 @@ var Via = class _Via extends SxClass {
17636
18052
  _sxUuid;
17637
18053
  _sxTstamp;
17638
18054
  _sxTeardrops;
18055
+ _sxCapping;
18056
+ _sxCovering;
18057
+ _sxPlugging;
18058
+ _sxFilling;
17639
18059
  constructor(params = {}) {
17640
18060
  super();
17641
18061
  if (params.type !== void 0) this.type = params.type;
@@ -17653,6 +18073,10 @@ var Via = class _Via extends SxClass {
17653
18073
  if (params.uuid !== void 0) this.uuid = params.uuid;
17654
18074
  if (params.tstamp !== void 0) this.tstamp = params.tstamp;
17655
18075
  if (params.teardrops !== void 0) this.teardrops = params.teardrops;
18076
+ if (params.capping !== void 0) this.capping = params.capping;
18077
+ if (params.covering !== void 0) this.covering = params.covering;
18078
+ if (params.plugging !== void 0) this.plugging = params.plugging;
18079
+ if (params.filling !== void 0) this.filling = params.filling;
17656
18080
  }
17657
18081
  static fromSexprPrimitives(primitiveSexprs) {
17658
18082
  const via = new _Via();
@@ -17759,6 +18183,54 @@ var Via = class _Via extends SxClass {
17759
18183
  this._sxTeardrops = PadTeardrops.fromSexprPrimitives(args);
17760
18184
  return;
17761
18185
  }
18186
+ case "capping": {
18187
+ const parsed = SxClass.parsePrimitiveSexpr(
18188
+ ["capping", ...args],
18189
+ {
18190
+ parentToken: this.token
18191
+ }
18192
+ );
18193
+ if (!(parsed instanceof Capping)) {
18194
+ throw new Error("via failed to parse capping child");
18195
+ }
18196
+ this._sxCapping = parsed;
18197
+ return;
18198
+ }
18199
+ case "covering": {
18200
+ const parsed = SxClass.parsePrimitiveSexpr(
18201
+ ["covering", ...args],
18202
+ { parentToken: this.token }
18203
+ );
18204
+ if (!(parsed instanceof Covering)) {
18205
+ throw new Error("via failed to parse covering child");
18206
+ }
18207
+ this._sxCovering = parsed;
18208
+ return;
18209
+ }
18210
+ case "plugging": {
18211
+ const parsed = SxClass.parsePrimitiveSexpr(
18212
+ ["plugging", ...args],
18213
+ { parentToken: this.token }
18214
+ );
18215
+ if (!(parsed instanceof Plugging)) {
18216
+ throw new Error("via failed to parse plugging child");
18217
+ }
18218
+ this._sxPlugging = parsed;
18219
+ return;
18220
+ }
18221
+ case "filling": {
18222
+ const parsed = SxClass.parsePrimitiveSexpr(
18223
+ ["filling", ...args],
18224
+ {
18225
+ parentToken: this.token
18226
+ }
18227
+ );
18228
+ if (!(parsed instanceof Filling)) {
18229
+ throw new Error("via failed to parse filling child");
18230
+ }
18231
+ this._sxFilling = parsed;
18232
+ return;
18233
+ }
17762
18234
  case "uuid": {
17763
18235
  const value = toStringValue(args[0]);
17764
18236
  if (value === void 0) {
@@ -17867,6 +18339,38 @@ var Via = class _Via extends SxClass {
17867
18339
  set teardrops(value) {
17868
18340
  this._sxTeardrops = value;
17869
18341
  }
18342
+ get capping() {
18343
+ return this._sxCapping?.value;
18344
+ }
18345
+ set capping(value) {
18346
+ if (value === void 0) {
18347
+ this._sxCapping = void 0;
18348
+ return;
18349
+ }
18350
+ this._sxCapping = value instanceof Capping ? value : new Capping(value);
18351
+ }
18352
+ get covering() {
18353
+ return this._sxCovering;
18354
+ }
18355
+ set covering(value) {
18356
+ this._sxCovering = value;
18357
+ }
18358
+ get plugging() {
18359
+ return this._sxPlugging;
18360
+ }
18361
+ set plugging(value) {
18362
+ this._sxPlugging = value;
18363
+ }
18364
+ get filling() {
18365
+ return this._sxFilling?.value;
18366
+ }
18367
+ set filling(value) {
18368
+ if (value === void 0) {
18369
+ this._sxFilling = void 0;
18370
+ return;
18371
+ }
18372
+ this._sxFilling = value instanceof Filling ? value : new Filling(value);
18373
+ }
17870
18374
  get tstamp() {
17871
18375
  return this._sxTstamp;
17872
18376
  }
@@ -17881,6 +18385,10 @@ var Via = class _Via extends SxClass {
17881
18385
  const children = [];
17882
18386
  if (this._sxAt) children.push(this._sxAt);
17883
18387
  if (this._sxLayers) children.push(this._sxLayers);
18388
+ if (this._sxCapping) children.push(this._sxCapping);
18389
+ if (this._sxCovering) children.push(this._sxCovering);
18390
+ if (this._sxPlugging) children.push(this._sxPlugging);
18391
+ if (this._sxFilling) children.push(this._sxFilling);
17884
18392
  if (this._sxNet) children.push(this._sxNet);
17885
18393
  if (this._sxUuid) children.push(this._sxUuid);
17886
18394
  if (this._sxTstamp) children.push(this._sxTstamp);
@@ -17900,6 +18408,10 @@ var Via = class _Via extends SxClass {
17900
18408
  if (this._size !== void 0) lines.push(` (size ${this._size})`);
17901
18409
  if (this._drill !== void 0) lines.push(` (drill ${this._drill})`);
17902
18410
  if (this._sxLayers) lines.push(this._sxLayers.getStringIndented());
18411
+ if (this._sxCapping) lines.push(this._sxCapping.getStringIndented());
18412
+ if (this._sxCovering) lines.push(this._sxCovering.getStringIndented());
18413
+ if (this._sxPlugging) lines.push(this._sxPlugging.getStringIndented());
18414
+ if (this._sxFilling) lines.push(this._sxFilling.getStringIndented());
17903
18415
  if (this._sxNet) lines.push(this._sxNet.getStringIndented());
17904
18416
  if (this._sxUuid) lines.push(this._sxUuid.getStringIndented());
17905
18417
  if (this._sxTstamp) lines.push(this._sxTstamp.getStringIndented());
@@ -18326,10 +18838,13 @@ var parseKicadMod = (sexpr) => {
18326
18838
  };
18327
18839
  export {
18328
18840
  At,
18841
+ Back,
18329
18842
  Bus,
18330
18843
  BusEntry,
18331
18844
  BusEntrySize,
18845
+ Capping,
18332
18846
  Color,
18847
+ Covering,
18333
18848
  Dimension,
18334
18849
  DimensionFormat,
18335
18850
  DimensionStyle,
@@ -18343,12 +18858,14 @@ export {
18343
18858
  EmbeddedFonts,
18344
18859
  ExcludeFromSim,
18345
18860
  FieldsAutoplaced,
18861
+ Filling,
18346
18862
  Footprint,
18347
18863
  FootprintAttr,
18348
18864
  FootprintAutoplaceCost180,
18349
18865
  FootprintAutoplaceCost90,
18350
18866
  FootprintClearance,
18351
18867
  FootprintDescr,
18868
+ FootprintDuplicatePadNumbersAreJumpers,
18352
18869
  FootprintGenerator,
18353
18870
  FootprintGeneratorVersion,
18354
18871
  FootprintLocked,
@@ -18357,6 +18874,8 @@ export {
18357
18874
  FootprintPad,
18358
18875
  FootprintPath,
18359
18876
  FootprintPlaced,
18877
+ FootprintPoint,
18878
+ FootprintPointSize,
18360
18879
  FootprintPrivateLayers,
18361
18880
  FootprintSheetfile,
18362
18881
  FootprintSheetname,
@@ -18367,6 +18886,10 @@ export {
18367
18886
  FootprintTedit,
18368
18887
  FootprintThermalGap,
18369
18888
  FootprintThermalWidth,
18889
+ FootprintUnit,
18890
+ FootprintUnitName,
18891
+ FootprintUnitPins,
18892
+ FootprintUnits,
18370
18893
  FootprintVersion,
18371
18894
  FootprintZoneConnect,
18372
18895
  FpArc,
@@ -18395,6 +18918,7 @@ export {
18395
18918
  FpTextBoxAngle,
18396
18919
  FpTextBoxEnd,
18397
18920
  FpTextBoxStart,
18921
+ Front,
18398
18922
  Generated,
18399
18923
  GlobalLabel,
18400
18924
  GrArc,
@@ -18539,6 +19063,7 @@ export {
18539
19063
  PlotParamUseGerberAttributes,
18540
19064
  PlotParamUseGerberExtensions,
18541
19065
  PlotParamViaOnMask,
19066
+ Plugging,
18542
19067
  Polyline,
18543
19068
  Property,
18544
19069
  PropertyHide,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "kicadts",
3
3
  "main": "dist/index.js",
4
- "version": "0.0.31",
4
+ "version": "0.0.32",
5
5
  "type": "module",
6
6
  "repository": {
7
7
  "type": "git",