kicadts 0.0.13 → 0.0.15

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
@@ -187,7 +187,7 @@ declare class TextEffects extends SxClass {
187
187
  getChildren(): SxClass[];
188
188
  getString(): string;
189
189
  }
190
- type TextEffectsFontProperty = TextEffectsFontFace | TextEffectsFontSize | TextEffectsFontThickness | TextEffectsFontLineSpacing;
190
+ type TextEffectsFontProperty = TextEffectsFontFace | TextEffectsFontSize | TextEffectsFontThickness | TextEffectsFontLineSpacing | TextEffectsFontBold | TextEffectsFontItalic;
191
191
  declare class TextEffectsFont extends SxClass {
192
192
  static token: string;
193
193
  static parentToken: string;
@@ -196,8 +196,8 @@ declare class TextEffectsFont extends SxClass {
196
196
  _sxSize?: TextEffectsFontSize;
197
197
  _sxThickness?: TextEffectsFontThickness;
198
198
  _sxLineSpacing?: TextEffectsFontLineSpacing;
199
- private _bold;
200
- private _italic;
199
+ _sxBold?: TextEffectsFontBold;
200
+ _sxItalic?: TextEffectsFontItalic;
201
201
  get face(): string | undefined;
202
202
  set face(value: string | undefined);
203
203
  get size(): {
@@ -245,6 +245,20 @@ declare class TextEffectsFontThickness extends SxPrimitiveNumber {
245
245
  static parentToken: string;
246
246
  token: string;
247
247
  }
248
+ declare class TextEffectsFontBold extends SxPrimitiveBoolean {
249
+ static token: string;
250
+ static parentToken: string;
251
+ token: string;
252
+ constructor(value?: boolean);
253
+ getString(): string;
254
+ }
255
+ declare class TextEffectsFontItalic extends SxPrimitiveBoolean {
256
+ static token: string;
257
+ static parentToken: string;
258
+ token: string;
259
+ constructor(value?: boolean);
260
+ getString(): string;
261
+ }
248
262
  declare class TextEffectsFontLineSpacing extends SxPrimitiveNumber {
249
263
  static token: string;
250
264
  static parentToken: string;
@@ -1648,6 +1662,7 @@ declare class FootprintAttr extends SxClass {
1648
1662
  private _boardOnly;
1649
1663
  private _excludeFromPosFiles;
1650
1664
  private _excludeFromBom;
1665
+ private _allowSoldermaskBridges;
1651
1666
  static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): FootprintAttr;
1652
1667
  private applyFlag;
1653
1668
  get type(): string | undefined;
@@ -1658,6 +1673,8 @@ declare class FootprintAttr extends SxClass {
1658
1673
  set excludeFromPosFiles(value: boolean);
1659
1674
  get excludeFromBom(): boolean;
1660
1675
  set excludeFromBom(value: boolean);
1676
+ get allowSoldermaskBridges(): boolean;
1677
+ set allowSoldermaskBridges(value: boolean);
1661
1678
  getChildren(): SxClass[];
1662
1679
  getString(): string;
1663
1680
  }
@@ -2137,12 +2154,16 @@ declare class PadPrimitiveGrCircleEnd extends PadPrimitiveGrCirclePoint {
2137
2154
  constructor(x: number, y: number);
2138
2155
  static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): PadPrimitiveGrCircleEnd;
2139
2156
  }
2140
- declare class PadPrimitiveGrCircleFill extends SxPrimitiveBoolean {
2157
+ declare class PadPrimitiveGrCircleFill extends SxClass {
2141
2158
  static token: string;
2142
2159
  static parentToken: string;
2143
2160
  token: string;
2144
- constructor(value?: boolean);
2161
+ value: string;
2162
+ constructor(value?: boolean | string);
2145
2163
  static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): PadPrimitiveGrCircleFill;
2164
+ get filled(): boolean;
2165
+ set filled(value: boolean);
2166
+ getString(): string;
2146
2167
  }
2147
2168
 
2148
2169
  type PadPrimitiveGraphic = PadPrimitiveGrPoly | PadPrimitiveGrLine | PadPrimitiveGrArc | PadPrimitiveGrCircle;
@@ -2870,11 +2891,12 @@ declare class FpArcEnd extends SxClass {
2870
2891
  getString(): string;
2871
2892
  }
2872
2893
 
2873
- declare class FpPolyFill extends SxPrimitiveBoolean {
2894
+ declare class FpPolyFill extends SxClass {
2874
2895
  static token: string;
2875
2896
  static parentToken: string;
2876
2897
  token: string;
2877
- constructor(filled: boolean);
2898
+ value: string;
2899
+ constructor(value: string | boolean);
2878
2900
  static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): FpPolyFill;
2879
2901
  get filled(): boolean;
2880
2902
  set filled(filled: boolean);
@@ -3047,6 +3069,7 @@ declare class FootprintModel extends SxClass {
3047
3069
  private _offset?;
3048
3070
  private _scale?;
3049
3071
  private _rotate?;
3072
+ private _hide;
3050
3073
  constructor(path: string);
3051
3074
  static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): FootprintModel;
3052
3075
  get path(): string;
@@ -3057,6 +3080,8 @@ declare class FootprintModel extends SxClass {
3057
3080
  set scale(value: ModelVector | undefined);
3058
3081
  get rotate(): ModelVector | undefined;
3059
3082
  set rotate(value: ModelVector | undefined);
3083
+ get hide(): boolean;
3084
+ set hide(value: boolean);
3060
3085
  getChildren(): SxClass[];
3061
3086
  getString(): string;
3062
3087
  }
@@ -3523,6 +3548,7 @@ interface GrTextConstructorParams {
3523
3548
  text?: string;
3524
3549
  position?: AtInput | Xy | GrTextPosition;
3525
3550
  layer?: Layer | string | Array<string | number>;
3551
+ tstamp?: Tstamp | string;
3526
3552
  uuid?: Uuid | string;
3527
3553
  effects?: TextEffects;
3528
3554
  }
@@ -3532,6 +3558,7 @@ declare class GrText extends SxClass {
3532
3558
  private _text;
3533
3559
  private _sxPosition?;
3534
3560
  private _sxLayer?;
3561
+ private _sxTstamp?;
3535
3562
  private _sxUuid?;
3536
3563
  private _sxEffects?;
3537
3564
  constructor(params?: GrTextConstructorParams | string);
@@ -3542,6 +3569,8 @@ declare class GrText extends SxClass {
3542
3569
  set position(value: AtInput | Xy | GrTextPosition | undefined);
3543
3570
  get layer(): Layer | undefined;
3544
3571
  set layer(value: Layer | string | Array<string | number> | undefined);
3572
+ get tstamp(): Tstamp | undefined;
3573
+ set tstamp(value: Tstamp | string | undefined);
3545
3574
  get uuid(): Uuid | undefined;
3546
3575
  set uuid(value: Uuid | string | undefined);
3547
3576
  get effects(): TextEffects | undefined;
@@ -4767,4 +4796,4 @@ declare const parseKicadSch: (sexpr: string) => KicadSch;
4767
4796
  declare const parseKicadPcb: (sexpr: string) => KicadPcb;
4768
4797
  declare const parseKicadMod: (sexpr: string) => Footprint;
4769
4798
 
4770
- export { At, type AtInput, Bus, type BusConstructorParams, BusEntry, type BusEntryConstructorParams, BusEntrySize, Color, Dnp, EmbeddedFonts, ExcludeFromSim, FieldsAutoplaced, Footprint, FootprintAttr, FootprintAutoplaceCost180, FootprintAutoplaceCost90, FootprintClearance, type FootprintConstructorParams, FootprintDescr, FootprintLocked, FootprintModel, FootprintNetTiePadGroups, FootprintPad, type FootprintPadConstructorParams, FootprintPath, FootprintPlaced, FootprintPrivateLayers, FootprintSheetfile, FootprintSheetname, FootprintSolderMaskMargin, FootprintSolderPasteMargin, FootprintSolderPasteRatio, FootprintTags, FootprintTedit, FootprintThermalGap, FootprintThermalWidth, FootprintZoneConnect, FpArc, type FpArcConstructorParams, FpArcEnd, FpArcMid, FpArcStart, FpCircle, FpCircleCenter, type FpCircleConstructorParams, FpCircleEnd, FpCircleFill, FpLine, type FpLineConstructorParams, FpLineEnd, FpLineStart, FpPoly, type FpPolyConstructorParams, FpPolyFill, FpPolyLocked, FpRect, type FpRectConstructorParams, FpRectEnd, FpRectFill, FpRectStart, FpText, FpTextBox, FpTextBoxAngle, type FpTextBoxConstructorParams, FpTextBoxEnd, FpTextBoxStart, type FpTextConstructorParams, type FpTextType, GlobalLabel, type GlobalLabelConstructorParams, type GlobalLabelShape, GrArc, type GrArcConstructorParams, GrArcEnd, GrArcMid, type GrArcPoint, GrArcStart, GrCircle, GrCircleCenter, type GrCircleConstructorParams, GrCircleEnd, type GrCirclePoint, GrCurve, type GrCurveConstructorParams, GrLine, GrLineAngle, type GrLineConstructorParams, GrLineEnd, GrLineLocked, type GrLinePoint, GrLineStart, GrText, type GrTextConstructorParams, type GrTextPosition, Image, type ImageConstructorParams, ImageData, ImageScale, InBom, Junction, type JunctionConstructorParams, JunctionDiameter, KicadPcb, type KicadPcbConstructorParams, KicadSch, type KicadSchConstructorParams, KicadSchGenerator, KicadSchGeneratorVersion, KicadSchVersion, Label, type LabelConstructorParams, Layer, Layers, LibSymbols, 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, PadRectDelta, PadRoundrectRratio, PadSize, type PadSizeInput, PadSolderMaskMargin, PadSolderPasteMargin, PadSolderPasteMarginRatio, PadTeardrops, PadThermalBridgeAngle, PadThermalGap, PadThermalWidth, PadZoneConnect, Paper, 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, PlotParamPlotFrameRef, PlotParamPlotInvisible, PlotParamPlotInvisibleText, PlotParamPlotOnAllLayers, PlotParamPlotOnAllLayersSelection, PlotParamPlotOtherText, PlotParamPlotPadNumbers, PlotParamPlotReference, PlotParamPlotValue, PlotParamProperty, PlotParamPsA4Output, PlotParamPsNegative, PlotParamScaleSelection, PlotParamSketchDnpOnFab, PlotParamSketchPadsOnFab, PlotParamSubtractMaskFromSilk, PlotParamSvgPrecision, PlotParamUseAuxOrigin, PlotParamUseGerberAdvancedAttributes, PlotParamUseGerberAttributes, PlotParamUseGerberExtensions, PlotParamViaOnMask, Property, type PropertyConstructorParams, PropertyHide, PropertyUnlocked, Pts, type RGBAColor, RenderCache, SchematicSymbol, type SchematicSymbolConstructorParams, SchematicText, 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, SymbolPin, SymbolPinLength, SymbolPinName, SymbolPinNames, SymbolPinNamesHide, SymbolPinNamesOffset, SymbolPinNumber, SymbolPinNumbers, SymbolPinNumbersHide, SymbolPolyline, SymbolPolylineFill, SymbolPower, SymbolProperty, SymbolPropertyId, SymbolRectangle, SymbolRectangleEnd, SymbolRectangleFill, SymbolRectangleStart, SymbolText, SymbolUnit, TextEffects, type TextEffectsConstructorParams, TextEffectsFont, TextEffectsFontFace, 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 };
4799
+ export { At, type AtInput, Bus, type BusConstructorParams, BusEntry, type BusEntryConstructorParams, BusEntrySize, Color, Dnp, EmbeddedFonts, ExcludeFromSim, FieldsAutoplaced, Footprint, FootprintAttr, FootprintAutoplaceCost180, FootprintAutoplaceCost90, FootprintClearance, type FootprintConstructorParams, FootprintDescr, FootprintLocked, FootprintModel, FootprintNetTiePadGroups, FootprintPad, type FootprintPadConstructorParams, FootprintPath, FootprintPlaced, FootprintPrivateLayers, FootprintSheetfile, FootprintSheetname, FootprintSolderMaskMargin, FootprintSolderPasteMargin, FootprintSolderPasteRatio, FootprintTags, FootprintTedit, FootprintThermalGap, FootprintThermalWidth, FootprintZoneConnect, FpArc, type FpArcConstructorParams, FpArcEnd, FpArcMid, FpArcStart, FpCircle, FpCircleCenter, type FpCircleConstructorParams, FpCircleEnd, FpCircleFill, FpLine, type FpLineConstructorParams, FpLineEnd, FpLineStart, FpPoly, type FpPolyConstructorParams, FpPolyFill, FpPolyLocked, FpRect, type FpRectConstructorParams, FpRectEnd, FpRectFill, FpRectStart, FpText, FpTextBox, FpTextBoxAngle, type FpTextBoxConstructorParams, FpTextBoxEnd, FpTextBoxStart, type FpTextConstructorParams, type FpTextType, GlobalLabel, type GlobalLabelConstructorParams, type GlobalLabelShape, GrArc, type GrArcConstructorParams, GrArcEnd, GrArcMid, type GrArcPoint, GrArcStart, GrCircle, GrCircleCenter, type GrCircleConstructorParams, GrCircleEnd, type GrCirclePoint, GrCurve, type GrCurveConstructorParams, GrLine, GrLineAngle, type GrLineConstructorParams, GrLineEnd, GrLineLocked, type GrLinePoint, GrLineStart, GrText, type GrTextConstructorParams, type GrTextPosition, Image, type ImageConstructorParams, ImageData, ImageScale, InBom, Junction, type JunctionConstructorParams, JunctionDiameter, KicadPcb, type KicadPcbConstructorParams, KicadSch, type KicadSchConstructorParams, KicadSchGenerator, KicadSchGeneratorVersion, KicadSchVersion, Label, type LabelConstructorParams, Layer, Layers, LibSymbols, 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, PadRectDelta, PadRoundrectRratio, PadSize, type PadSizeInput, PadSolderMaskMargin, PadSolderPasteMargin, PadSolderPasteMarginRatio, PadTeardrops, PadThermalBridgeAngle, PadThermalGap, PadThermalWidth, PadZoneConnect, Paper, 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, PlotParamPlotFrameRef, PlotParamPlotInvisible, PlotParamPlotInvisibleText, PlotParamPlotOnAllLayers, PlotParamPlotOnAllLayersSelection, PlotParamPlotOtherText, PlotParamPlotPadNumbers, PlotParamPlotReference, PlotParamPlotValue, PlotParamProperty, PlotParamPsA4Output, PlotParamPsNegative, PlotParamScaleSelection, PlotParamSketchDnpOnFab, PlotParamSketchPadsOnFab, PlotParamSubtractMaskFromSilk, PlotParamSvgPrecision, PlotParamUseAuxOrigin, PlotParamUseGerberAdvancedAttributes, PlotParamUseGerberAttributes, PlotParamUseGerberExtensions, PlotParamViaOnMask, Property, type PropertyConstructorParams, PropertyHide, PropertyUnlocked, Pts, type RGBAColor, RenderCache, SchematicSymbol, type SchematicSymbolConstructorParams, SchematicText, 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, SymbolPin, SymbolPinLength, SymbolPinName, SymbolPinNames, SymbolPinNamesHide, SymbolPinNamesOffset, SymbolPinNumber, SymbolPinNumbers, SymbolPinNumbersHide, SymbolPolyline, SymbolPolylineFill, SymbolPower, SymbolProperty, SymbolPropertyId, SymbolRectangle, SymbolRectangleEnd, SymbolRectangleFill, SymbolRectangleStart, SymbolText, SymbolUnit, 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
@@ -578,6 +578,18 @@ var At = class _At extends SxClass {
578
578
  };
579
579
  SxClass.register(At);
580
580
 
581
+ // lib/sexpr/utils/quoteSExprString.ts
582
+ var needsQuoting = (value) => {
583
+ if (value.length === 0) return true;
584
+ return /[\s()"\\]/.test(value);
585
+ };
586
+ var quoteSExprString = (value) => {
587
+ return `"${value.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/\t/g, "\\t")}"`;
588
+ };
589
+ var quoteIfNeeded = (value) => {
590
+ return needsQuoting(value) ? quoteSExprString(value) : value;
591
+ };
592
+
581
593
  // lib/sexpr/base-classes/SxPrimitiveString.ts
582
594
  var SxPrimitiveString = class extends SxClass {
583
595
  value;
@@ -592,15 +604,10 @@ var SxPrimitiveString = class extends SxClass {
592
604
  return new this(primitiveSexprs[0]);
593
605
  }
594
606
  getString() {
595
- return `(${this.token} ${this.value})`;
607
+ return `(${this.token} ${quoteIfNeeded(this.value)})`;
596
608
  }
597
609
  };
598
610
 
599
- // lib/sexpr/utils/quoteSExprString.ts
600
- var quoteSExprString = (value) => {
601
- return `"${value.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/\t/g, "\\t")}"`;
602
- };
603
-
604
611
  // lib/sexpr/utils/toStringValue.ts
605
612
  var toStringValue = (value) => {
606
613
  if (value === void 0) return void 0;
@@ -704,8 +711,8 @@ var TextEffectsFont = class _TextEffectsFont extends SxClass {
704
711
  _sxSize;
705
712
  _sxThickness;
706
713
  _sxLineSpacing;
707
- _bold = false;
708
- _italic = false;
714
+ _sxBold;
715
+ _sxItalic;
709
716
  get face() {
710
717
  return this._sxFace?.value;
711
718
  }
@@ -740,16 +747,16 @@ var TextEffectsFont = class _TextEffectsFont extends SxClass {
740
747
  this._sxLineSpacing = value === void 0 ? void 0 : new TextEffectsFontLineSpacing(value);
741
748
  }
742
749
  get bold() {
743
- return this._bold;
750
+ return this._sxBold?.value ?? false;
744
751
  }
745
752
  set bold(value) {
746
- this._bold = value;
753
+ this._sxBold = value ? new TextEffectsFontBold(value) : void 0;
747
754
  }
748
755
  get italic() {
749
- return this._italic;
756
+ return this._sxItalic?.value ?? false;
750
757
  }
751
758
  set italic(value) {
752
- this._italic = value;
759
+ this._sxItalic = value ? new TextEffectsFontItalic(value) : void 0;
753
760
  }
754
761
  static fromSexprPrimitives(primitiveSexprs) {
755
762
  const font = new _TextEffectsFont();
@@ -761,14 +768,16 @@ var TextEffectsFont = class _TextEffectsFont extends SxClass {
761
768
  font._sxSize = propertyMap.size;
762
769
  font._sxThickness = propertyMap.thickness;
763
770
  font._sxLineSpacing = propertyMap.line_spacing;
771
+ font._sxBold = propertyMap.bold;
772
+ font._sxItalic = propertyMap.italic;
764
773
  for (const primitive of primitiveSexprs) {
765
774
  if (typeof primitive === "string") {
766
775
  if (primitive === "bold") {
767
- font._bold = true;
776
+ font._sxBold = new TextEffectsFontBold(true);
768
777
  continue;
769
778
  }
770
779
  if (primitive === "italic") {
771
- font._italic = true;
780
+ font._sxItalic = new TextEffectsFontItalic(true);
772
781
  continue;
773
782
  }
774
783
  throw new Error(`Unknown font token: ${primitive}`);
@@ -787,6 +796,8 @@ var TextEffectsFont = class _TextEffectsFont extends SxClass {
787
796
  if (this._sxFace) children.push(this._sxFace);
788
797
  if (this._sxSize) children.push(this._sxSize);
789
798
  if (this._sxThickness) children.push(this._sxThickness);
799
+ if (this._sxBold) children.push(this._sxBold);
800
+ if (this._sxItalic) children.push(this._sxItalic);
790
801
  if (this._sxLineSpacing) children.push(this._sxLineSpacing);
791
802
  return children;
792
803
  }
@@ -801,11 +812,11 @@ var TextEffectsFont = class _TextEffectsFont extends SxClass {
801
812
  if (this._sxThickness) {
802
813
  lines.push(this._sxThickness.getStringIndented());
803
814
  }
804
- if (this._bold) {
805
- lines.push(" bold");
815
+ if (this._sxBold) {
816
+ lines.push(this._sxBold.getStringIndented());
806
817
  }
807
- if (this._italic) {
808
- lines.push(" italic");
818
+ if (this._sxItalic) {
819
+ lines.push(this._sxItalic.getStringIndented());
809
820
  }
810
821
  if (this._sxLineSpacing) {
811
822
  lines.push(this._sxLineSpacing.getStringIndented());
@@ -863,6 +874,30 @@ var TextEffectsFontThickness = class extends SxPrimitiveNumber {
863
874
  token = "thickness";
864
875
  };
865
876
  SxClass.register(TextEffectsFontThickness);
877
+ var TextEffectsFontBold = class extends SxPrimitiveBoolean {
878
+ static token = "bold";
879
+ static parentToken = "font";
880
+ token = "bold";
881
+ constructor(value) {
882
+ super(value ?? true);
883
+ }
884
+ getString() {
885
+ return this.value ? "bold" : "";
886
+ }
887
+ };
888
+ SxClass.register(TextEffectsFontBold);
889
+ var TextEffectsFontItalic = class extends SxPrimitiveBoolean {
890
+ static token = "italic";
891
+ static parentToken = "font";
892
+ token = "italic";
893
+ constructor(value) {
894
+ super(value ?? true);
895
+ }
896
+ getString() {
897
+ return this.value ? "italic" : "";
898
+ }
899
+ };
900
+ SxClass.register(TextEffectsFontItalic);
866
901
  var TextEffectsHide = class extends SxPrimitiveBoolean {
867
902
  static token = "hide";
868
903
  static parentToken = "effects";
@@ -5336,7 +5371,8 @@ SxClass.register(KicadSch);
5336
5371
  var FLAG_TOKENS = /* @__PURE__ */ new Set([
5337
5372
  "board_only",
5338
5373
  "exclude_from_pos_files",
5339
- "exclude_from_bom"
5374
+ "exclude_from_bom",
5375
+ "allow_soldermask_bridges"
5340
5376
  ]);
5341
5377
  var FootprintAttr = class _FootprintAttr extends SxClass {
5342
5378
  static token = "attr";
@@ -5346,6 +5382,7 @@ var FootprintAttr = class _FootprintAttr extends SxClass {
5346
5382
  _boardOnly = false;
5347
5383
  _excludeFromPosFiles = false;
5348
5384
  _excludeFromBom = false;
5385
+ _allowSoldermaskBridges = false;
5349
5386
  static fromSexprPrimitives(primitiveSexprs) {
5350
5387
  const attr = new _FootprintAttr();
5351
5388
  for (const primitive of primitiveSexprs) {
@@ -5379,6 +5416,9 @@ var FootprintAttr = class _FootprintAttr extends SxClass {
5379
5416
  case "exclude_from_bom":
5380
5417
  this._excludeFromBom = true;
5381
5418
  break;
5419
+ case "allow_soldermask_bridges":
5420
+ this._allowSoldermaskBridges = true;
5421
+ break;
5382
5422
  }
5383
5423
  }
5384
5424
  get type() {
@@ -5405,6 +5445,12 @@ var FootprintAttr = class _FootprintAttr extends SxClass {
5405
5445
  set excludeFromBom(value) {
5406
5446
  this._excludeFromBom = value;
5407
5447
  }
5448
+ get allowSoldermaskBridges() {
5449
+ return this._allowSoldermaskBridges;
5450
+ }
5451
+ set allowSoldermaskBridges(value) {
5452
+ this._allowSoldermaskBridges = value;
5453
+ }
5408
5454
  getChildren() {
5409
5455
  return [];
5410
5456
  }
@@ -5414,6 +5460,7 @@ var FootprintAttr = class _FootprintAttr extends SxClass {
5414
5460
  if (this._boardOnly) tokens.push("board_only");
5415
5461
  if (this._excludeFromPosFiles) tokens.push("exclude_from_pos_files");
5416
5462
  if (this._excludeFromBom) tokens.push("exclude_from_bom");
5463
+ if (this._allowSoldermaskBridges) tokens.push("allow_soldermask_bridges");
5417
5464
  return `(${tokens.join(" ")})`;
5418
5465
  }
5419
5466
  };
@@ -6604,7 +6651,7 @@ var PadPrimitiveGrCircle = class _PadPrimitiveGrCircle extends SxClass {
6604
6651
  return this._sxWidth;
6605
6652
  }
6606
6653
  get fill() {
6607
- return this._sxFill?.value;
6654
+ return this._sxFill?.filled;
6608
6655
  }
6609
6656
  set fill(value) {
6610
6657
  if (value === void 0) {
@@ -6711,34 +6758,50 @@ var PadPrimitiveGrCircleEnd = class _PadPrimitiveGrCircleEnd extends PadPrimitiv
6711
6758
  }
6712
6759
  };
6713
6760
  SxClass.register(PadPrimitiveGrCircleEnd);
6714
- var PadPrimitiveGrCircleFill = class _PadPrimitiveGrCircleFill extends SxPrimitiveBoolean {
6761
+ var truthyFillStrings = /* @__PURE__ */ new Set(["yes", "true"]);
6762
+ var falsyFillStrings = /* @__PURE__ */ new Set(["no", "false", "none"]);
6763
+ var PadPrimitiveGrCircleFill = class _PadPrimitiveGrCircleFill extends SxClass {
6715
6764
  static token = "fill";
6716
6765
  static parentToken = "gr_circle";
6717
6766
  token = "fill";
6767
+ value;
6718
6768
  constructor(value) {
6719
- super(value ?? false);
6769
+ super();
6770
+ if (value === void 0 || value === false) {
6771
+ this.value = "no";
6772
+ } else if (value === true) {
6773
+ this.value = "yes";
6774
+ } else {
6775
+ this.value = value;
6776
+ }
6720
6777
  }
6721
6778
  static fromSexprPrimitives(primitiveSexprs) {
6722
6779
  const [raw] = primitiveSexprs;
6723
6780
  if (raw === void 0) {
6724
- return new _PadPrimitiveGrCircleFill(false);
6781
+ return new _PadPrimitiveGrCircleFill("no");
6725
6782
  }
6726
6783
  if (typeof raw === "boolean") {
6727
6784
  return new _PadPrimitiveGrCircleFill(raw);
6728
6785
  }
6729
6786
  if (typeof raw === "string") {
6730
6787
  const normalized = raw.toLowerCase();
6731
- if (normalized === "yes" || normalized === "true") {
6732
- return new _PadPrimitiveGrCircleFill(true);
6733
- }
6734
- if (normalized === "no" || normalized === "false" || normalized === "none") {
6735
- return new _PadPrimitiveGrCircleFill(false);
6788
+ if (truthyFillStrings.has(normalized) || falsyFillStrings.has(normalized)) {
6789
+ return new _PadPrimitiveGrCircleFill(raw);
6736
6790
  }
6737
6791
  }
6738
6792
  throw new Error(
6739
6793
  `pad primitive gr_circle fill expects yes/no/none or boolean, received ${JSON.stringify(raw)}`
6740
6794
  );
6741
6795
  }
6796
+ get filled() {
6797
+ return truthyFillStrings.has(this.value.toLowerCase());
6798
+ }
6799
+ set filled(value) {
6800
+ this.value = value ? "yes" : "no";
6801
+ }
6802
+ getString() {
6803
+ return `(fill ${this.value})`;
6804
+ }
6742
6805
  };
6743
6806
  SxClass.register(PadPrimitiveGrCircleFill);
6744
6807
 
@@ -9316,35 +9379,41 @@ var FpArcEnd = class _FpArcEnd extends SxClass {
9316
9379
  SxClass.register(FpArcEnd);
9317
9380
 
9318
9381
  // lib/sexpr/classes/FpPolyFill.ts
9319
- var truthyStrings = /* @__PURE__ */ new Set(["yes", "true", "1"]);
9320
- var FpPolyFill = class _FpPolyFill extends SxPrimitiveBoolean {
9382
+ var truthyStrings = /* @__PURE__ */ new Set(["yes", "true", "1", "solid"]);
9383
+ var FpPolyFill = class _FpPolyFill extends SxClass {
9321
9384
  static token = "fill";
9322
9385
  static parentToken = "fp_poly";
9323
9386
  token = "fill";
9324
- constructor(filled) {
9325
- super(filled);
9387
+ value;
9388
+ constructor(value) {
9389
+ super();
9390
+ if (typeof value === "boolean") {
9391
+ this.value = value ? "yes" : "no";
9392
+ } else {
9393
+ this.value = value;
9394
+ }
9326
9395
  }
9327
9396
  static fromSexprPrimitives(primitiveSexprs) {
9328
9397
  const [rawValue] = primitiveSexprs;
9329
9398
  if (rawValue === void 0) {
9330
- return new _FpPolyFill(false);
9399
+ return new _FpPolyFill("no");
9331
9400
  }
9332
9401
  if (typeof rawValue === "boolean") {
9333
9402
  return new _FpPolyFill(rawValue);
9334
9403
  }
9335
9404
  if (typeof rawValue === "string") {
9336
- return new _FpPolyFill(truthyStrings.has(rawValue.toLowerCase()));
9405
+ return new _FpPolyFill(rawValue);
9337
9406
  }
9338
- return new _FpPolyFill(false);
9407
+ return new _FpPolyFill("no");
9339
9408
  }
9340
9409
  get filled() {
9341
- return this.value;
9410
+ return truthyStrings.has(this.value.toLowerCase());
9342
9411
  }
9343
9412
  set filled(filled) {
9344
- this.value = filled;
9413
+ this.value = filled ? "yes" : "no";
9345
9414
  }
9346
9415
  getString() {
9347
- return `(fill ${this.value ? "yes" : "no"})`;
9416
+ return `(fill ${this.value})`;
9348
9417
  }
9349
9418
  };
9350
9419
  SxClass.register(FpPolyFill);
@@ -9938,6 +10007,7 @@ var FootprintModel = class _FootprintModel extends SxClass {
9938
10007
  _offset;
9939
10008
  _scale;
9940
10009
  _rotate;
10010
+ _hide = false;
9941
10011
  constructor(path) {
9942
10012
  super();
9943
10013
  this._path = path;
@@ -9953,6 +10023,13 @@ var FootprintModel = class _FootprintModel extends SxClass {
9953
10023
  }
9954
10024
  const model = new _FootprintModel(path);
9955
10025
  for (const primitive of rest) {
10026
+ if (typeof primitive === "string") {
10027
+ if (primitive === "hide") {
10028
+ model._hide = true;
10029
+ continue;
10030
+ }
10031
+ throw new Error(`model encountered unsupported flag "${primitive}"`);
10032
+ }
9956
10033
  if (!Array.isArray(primitive) || primitive.length === 0) {
9957
10034
  throw new Error(
9958
10035
  `model encountered invalid child expression: ${JSON.stringify(primitive)}`
@@ -9999,11 +10076,20 @@ var FootprintModel = class _FootprintModel extends SxClass {
9999
10076
  set rotate(value) {
10000
10077
  this._rotate = value ? { ...value } : void 0;
10001
10078
  }
10079
+ get hide() {
10080
+ return this._hide;
10081
+ }
10082
+ set hide(value) {
10083
+ this._hide = value;
10084
+ }
10002
10085
  getChildren() {
10003
10086
  return [];
10004
10087
  }
10005
10088
  getString() {
10006
10089
  const lines = [`(model ${quoteSExprString(this._path)}`];
10090
+ if (this._hide) {
10091
+ lines.push(" hide");
10092
+ }
10007
10093
  if (this._offset) {
10008
10094
  lines.push(renderVectorBlock("offset", this._offset));
10009
10095
  }
@@ -11725,6 +11811,7 @@ var SUPPORTED_SINGLE_TOKENS8 = /* @__PURE__ */ new Set([
11725
11811
  "at",
11726
11812
  "xy",
11727
11813
  "layer",
11814
+ "tstamp",
11728
11815
  "uuid",
11729
11816
  "effects"
11730
11817
  ]);
@@ -11734,6 +11821,7 @@ var GrText = class _GrText extends SxClass {
11734
11821
  _text = "";
11735
11822
  _sxPosition;
11736
11823
  _sxLayer;
11824
+ _sxTstamp;
11737
11825
  _sxUuid;
11738
11826
  _sxEffects;
11739
11827
  constructor(params = {}) {
@@ -11744,6 +11832,7 @@ var GrText = class _GrText extends SxClass {
11744
11832
  if (params.text !== void 0) this.text = params.text;
11745
11833
  if (params.position !== void 0) this.position = params.position;
11746
11834
  if (params.layer !== void 0) this.layer = params.layer;
11835
+ if (params.tstamp !== void 0) this.tstamp = params.tstamp;
11747
11836
  if (params.uuid !== void 0) this.uuid = params.uuid;
11748
11837
  if (params.effects !== void 0) this.effects = params.effects;
11749
11838
  }
@@ -11794,6 +11883,7 @@ var GrText = class _GrText extends SxClass {
11794
11883
  }
11795
11884
  grText._sxPosition = atInstance ?? xyInstance;
11796
11885
  grText._sxLayer = propertyMap.layer;
11886
+ grText._sxTstamp = propertyMap.tstamp;
11797
11887
  grText._sxUuid = propertyMap.uuid;
11798
11888
  grText._sxEffects = propertyMap.effects;
11799
11889
  if (!grText._sxPosition) {
@@ -11802,8 +11892,8 @@ var GrText = class _GrText extends SxClass {
11802
11892
  if (!grText._sxLayer) {
11803
11893
  throw new Error("gr_text requires a layer child token");
11804
11894
  }
11805
- if (!grText._sxUuid) {
11806
- throw new Error("gr_text requires a uuid child token");
11895
+ if (!grText._sxUuid && !grText._sxTstamp) {
11896
+ throw new Error("gr_text requires a uuid or tstamp child token");
11807
11897
  }
11808
11898
  if (!grText._sxEffects) {
11809
11899
  throw new Error("gr_text requires an effects child token");
@@ -11854,6 +11944,16 @@ var GrText = class _GrText extends SxClass {
11854
11944
  const names = Array.isArray(value) ? value : [value];
11855
11945
  this._sxLayer = new Layer(names);
11856
11946
  }
11947
+ get tstamp() {
11948
+ return this._sxTstamp;
11949
+ }
11950
+ set tstamp(value) {
11951
+ if (value === void 0) {
11952
+ this._sxTstamp = void 0;
11953
+ return;
11954
+ }
11955
+ this._sxTstamp = value instanceof Tstamp ? value : new Tstamp(value);
11956
+ }
11857
11957
  get uuid() {
11858
11958
  return this._sxUuid;
11859
11959
  }
@@ -11874,6 +11974,7 @@ var GrText = class _GrText extends SxClass {
11874
11974
  const children = [];
11875
11975
  if (this._sxPosition) children.push(this._sxPosition);
11876
11976
  if (this._sxLayer) children.push(this._sxLayer);
11977
+ if (this._sxTstamp) children.push(this._sxTstamp);
11877
11978
  if (this._sxUuid) children.push(this._sxUuid);
11878
11979
  if (this._sxEffects) children.push(this._sxEffects);
11879
11980
  return children;
@@ -14777,10 +14878,10 @@ var Via = class _Via extends SxClass {
14777
14878
  if (this._type !== void 0) {
14778
14879
  lines.push(` (type ${this._type})`);
14779
14880
  }
14780
- if (this._locked) lines.push(" locked");
14781
- if (this._free) lines.push(" free");
14782
- if (this._removeUnusedLayers) lines.push(" remove_unused_layers");
14783
- if (this._keepEndLayers) lines.push(" keep_end_layers");
14881
+ if (this._locked) lines.push(" (locked)");
14882
+ if (this._free) lines.push(" (free)");
14883
+ if (this._removeUnusedLayers) lines.push(" (remove_unused_layers)");
14884
+ if (this._keepEndLayers) lines.push(" (keep_end_layers)");
14784
14885
  if (this._sxAt) lines.push(this._sxAt.getStringIndented());
14785
14886
  if (this._size !== void 0) lines.push(` (size ${this._size})`);
14786
14887
  if (this._drill !== void 0) lines.push(` (drill ${this._drill})`);
@@ -15390,7 +15491,9 @@ export {
15390
15491
  SymbolUnit,
15391
15492
  TextEffects,
15392
15493
  TextEffectsFont,
15494
+ TextEffectsFontBold,
15393
15495
  TextEffectsFontFace,
15496
+ TextEffectsFontItalic,
15394
15497
  TextEffectsFontLineSpacing,
15395
15498
  TextEffectsFontSize,
15396
15499
  TextEffectsFontThickness,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "kicadts",
3
3
  "main": "dist/index.js",
4
- "version": "0.0.13",
4
+ "version": "0.0.15",
5
5
  "type": "module",
6
6
  "repository": {
7
7
  "type": "git",