kicadts 0.0.22 → 0.0.23
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 +38 -1
- package/dist/index.js +147 -12
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -601,6 +601,21 @@ declare class KicadSchGeneratorVersion extends SxPrimitiveString {
|
|
|
601
601
|
getString(): string;
|
|
602
602
|
}
|
|
603
603
|
|
|
604
|
+
declare class KicadSymbolLibGenerator extends SxPrimitiveString {
|
|
605
|
+
static token: string;
|
|
606
|
+
static parentToken: string;
|
|
607
|
+
token: string;
|
|
608
|
+
static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): KicadSymbolLibGenerator;
|
|
609
|
+
getString(): string;
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
declare class KicadSymbolLibVersion extends SxPrimitiveNumber {
|
|
613
|
+
static token: string;
|
|
614
|
+
static parentToken: string;
|
|
615
|
+
token: string;
|
|
616
|
+
static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): KicadSymbolLibVersion;
|
|
617
|
+
}
|
|
618
|
+
|
|
604
619
|
declare class Dnp extends SxPrimitiveBoolean {
|
|
605
620
|
static token: string;
|
|
606
621
|
token: string;
|
|
@@ -1131,6 +1146,28 @@ declare class SymbolInstanceUnit extends SxPrimitiveNumber {
|
|
|
1131
1146
|
token: string;
|
|
1132
1147
|
}
|
|
1133
1148
|
|
|
1149
|
+
interface KicadSymbolLibConstructorParams {
|
|
1150
|
+
version?: number | KicadSymbolLibVersion;
|
|
1151
|
+
generator?: string | KicadSymbolLibGenerator;
|
|
1152
|
+
symbols?: SchematicSymbol[];
|
|
1153
|
+
}
|
|
1154
|
+
declare class KicadSymbolLib extends SxClass {
|
|
1155
|
+
static token: string;
|
|
1156
|
+
token: string;
|
|
1157
|
+
private _sxVersion?;
|
|
1158
|
+
private _sxGenerator?;
|
|
1159
|
+
private _symbols;
|
|
1160
|
+
constructor(params?: KicadSymbolLibConstructorParams);
|
|
1161
|
+
static fromSexprPrimitives(primitiveSexprs: PrimitiveSExpr[]): KicadSymbolLib;
|
|
1162
|
+
get version(): number | undefined;
|
|
1163
|
+
set version(value: number | undefined);
|
|
1164
|
+
get generator(): string | undefined;
|
|
1165
|
+
set generator(value: string | undefined);
|
|
1166
|
+
get symbols(): SchematicSymbol[];
|
|
1167
|
+
set symbols(value: SchematicSymbol[]);
|
|
1168
|
+
getChildren(): SxClass[];
|
|
1169
|
+
}
|
|
1170
|
+
|
|
1134
1171
|
declare class LibSymbols extends SxClass {
|
|
1135
1172
|
static token: string;
|
|
1136
1173
|
static parentToken: string;
|
|
@@ -5196,4 +5233,4 @@ declare const parseKicadSch: (sexpr: string) => KicadSch;
|
|
|
5196
5233
|
declare const parseKicadPcb: (sexpr: string) => KicadPcb;
|
|
5197
5234
|
declare const parseKicadMod: (sexpr: string) => Footprint;
|
|
5198
5235
|
|
|
5199
|
-
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, GrCircleLocked, type GrCirclePoint, GrCurve, type GrCurveConstructorParams, GrLine, GrLineAngle, type GrLineConstructorParams, GrLineEnd, GrLineLocked, type GrLinePoint, GrLineStart, GrPoly, type GrPolyConstructorParams, GrPolyFill, 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, 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, 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, Polyline, type PolylineConstructorParams, Property, type PropertyConstructorParams, PropertyHide, PropertyUnlocked, Pts, PtsArc, PtsArcEnd, PtsArcMid, PtsArcStart, type RGBAColor, RenderCache, SchematicPolyline, 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, type SymbolPolylineFillLike, 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 };
|
|
5236
|
+
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, GrCircleLocked, type GrCirclePoint, GrCurve, type GrCurveConstructorParams, GrLine, GrLineAngle, type GrLineConstructorParams, GrLineEnd, GrLineLocked, type GrLinePoint, GrLineStart, GrPoly, type GrPolyConstructorParams, GrPolyFill, 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, 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, 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, Polyline, type PolylineConstructorParams, Property, type PropertyConstructorParams, PropertyHide, PropertyUnlocked, Pts, PtsArc, PtsArcEnd, PtsArcMid, PtsArcStart, type RGBAColor, RenderCache, SchematicPolyline, 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, type SymbolPolylineFillLike, 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
|
@@ -200,7 +200,7 @@ var SxClass = class _SxClass {
|
|
|
200
200
|
get [Symbol.toStringTag]() {
|
|
201
201
|
return this.getString();
|
|
202
202
|
}
|
|
203
|
-
[Symbol.for("nodejs.util.inspect.custom")]() {
|
|
203
|
+
[/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
|
|
204
204
|
return this.getString();
|
|
205
205
|
}
|
|
206
206
|
// =========================== STATIC METHODS ===========================
|
|
@@ -1984,6 +1984,42 @@ var KicadSchGeneratorVersion = class _KicadSchGeneratorVersion extends SxPrimiti
|
|
|
1984
1984
|
};
|
|
1985
1985
|
SxClass.register(KicadSchGeneratorVersion);
|
|
1986
1986
|
|
|
1987
|
+
// lib/sexpr/classes/KicadSymbolLibGenerator.ts
|
|
1988
|
+
var isSymbolToken2 = (value) => /^[A-Za-z0-9._-]+$/.test(value);
|
|
1989
|
+
var KicadSymbolLibGenerator = class _KicadSymbolLibGenerator extends SxPrimitiveString {
|
|
1990
|
+
static token = "generator";
|
|
1991
|
+
static parentToken = "kicad_symbol_lib";
|
|
1992
|
+
token = "generator";
|
|
1993
|
+
static fromSexprPrimitives(primitiveSexprs) {
|
|
1994
|
+
const [rawValue] = primitiveSexprs;
|
|
1995
|
+
const parsedValue = toStringValue(rawValue);
|
|
1996
|
+
if (parsedValue === void 0) {
|
|
1997
|
+
throw new Error("generator expects a string argument");
|
|
1998
|
+
}
|
|
1999
|
+
return new _KicadSymbolLibGenerator(parsedValue);
|
|
2000
|
+
}
|
|
2001
|
+
getString() {
|
|
2002
|
+
const serialized = isSymbolToken2(this.value) ? this.value : quoteSExprString(this.value);
|
|
2003
|
+
return `(generator ${serialized})`;
|
|
2004
|
+
}
|
|
2005
|
+
};
|
|
2006
|
+
SxClass.register(KicadSymbolLibGenerator);
|
|
2007
|
+
|
|
2008
|
+
// lib/sexpr/classes/KicadSymbolLibVersion.ts
|
|
2009
|
+
var KicadSymbolLibVersion = class _KicadSymbolLibVersion extends SxPrimitiveNumber {
|
|
2010
|
+
static token = "version";
|
|
2011
|
+
static parentToken = "kicad_symbol_lib";
|
|
2012
|
+
token = "version";
|
|
2013
|
+
static fromSexprPrimitives(primitiveSexprs) {
|
|
2014
|
+
const [value] = primitiveSexprs;
|
|
2015
|
+
if (typeof value !== "number") {
|
|
2016
|
+
throw new Error("version expects a numeric argument");
|
|
2017
|
+
}
|
|
2018
|
+
return new _KicadSymbolLibVersion(value);
|
|
2019
|
+
}
|
|
2020
|
+
};
|
|
2021
|
+
SxClass.register(KicadSymbolLibVersion);
|
|
2022
|
+
|
|
1987
2023
|
// lib/sexpr/utils/indentLines.ts
|
|
1988
2024
|
var indentLines = (value, indent = " ") => {
|
|
1989
2025
|
return value.split("\n").map((line) => `${indent}${line}`);
|
|
@@ -3430,6 +3466,102 @@ var SymbolInstanceUnit = class extends SxPrimitiveNumber {
|
|
|
3430
3466
|
};
|
|
3431
3467
|
SxClass.register(SymbolInstanceUnit);
|
|
3432
3468
|
|
|
3469
|
+
// lib/sexpr/classes/KicadSymbolLib.ts
|
|
3470
|
+
var SINGLE_CHILD_TOKENS = /* @__PURE__ */ new Set(["version", "generator"]);
|
|
3471
|
+
var MULTI_CHILD_TOKENS = /* @__PURE__ */ new Set(["symbol"]);
|
|
3472
|
+
var SUPPORTED_CHILD_TOKENS = /* @__PURE__ */ new Set([
|
|
3473
|
+
...SINGLE_CHILD_TOKENS,
|
|
3474
|
+
...MULTI_CHILD_TOKENS
|
|
3475
|
+
]);
|
|
3476
|
+
var KicadSymbolLib = class _KicadSymbolLib extends SxClass {
|
|
3477
|
+
static token = "kicad_symbol_lib";
|
|
3478
|
+
token = "kicad_symbol_lib";
|
|
3479
|
+
_sxVersion;
|
|
3480
|
+
_sxGenerator;
|
|
3481
|
+
_symbols = [];
|
|
3482
|
+
constructor(params = {}) {
|
|
3483
|
+
super();
|
|
3484
|
+
if (params.version instanceof KicadSymbolLibVersion) {
|
|
3485
|
+
this._sxVersion = params.version;
|
|
3486
|
+
} else if (params.version !== void 0) {
|
|
3487
|
+
this.version = params.version;
|
|
3488
|
+
}
|
|
3489
|
+
if (params.generator instanceof KicadSymbolLibGenerator) {
|
|
3490
|
+
this._sxGenerator = params.generator;
|
|
3491
|
+
} else if (params.generator !== void 0) {
|
|
3492
|
+
this.generator = params.generator;
|
|
3493
|
+
}
|
|
3494
|
+
if (params.symbols !== void 0) {
|
|
3495
|
+
this.symbols = params.symbols;
|
|
3496
|
+
}
|
|
3497
|
+
}
|
|
3498
|
+
static fromSexprPrimitives(primitiveSexprs) {
|
|
3499
|
+
for (const primitive of primitiveSexprs) {
|
|
3500
|
+
if (!Array.isArray(primitive)) {
|
|
3501
|
+
throw new Error(
|
|
3502
|
+
`kicad_symbol_lib encountered unexpected primitive child: ${JSON.stringify(primitive)}`
|
|
3503
|
+
);
|
|
3504
|
+
}
|
|
3505
|
+
if (primitive.length === 0 || typeof primitive[0] !== "string") {
|
|
3506
|
+
throw new Error(
|
|
3507
|
+
`kicad_symbol_lib encountered invalid child expression: ${JSON.stringify(primitive)}`
|
|
3508
|
+
);
|
|
3509
|
+
}
|
|
3510
|
+
}
|
|
3511
|
+
const { propertyMap, arrayPropertyMap } = SxClass.parsePrimitivesToClassProperties(primitiveSexprs, this.token);
|
|
3512
|
+
for (const token of Object.keys(propertyMap)) {
|
|
3513
|
+
if (!SUPPORTED_CHILD_TOKENS.has(token)) {
|
|
3514
|
+
throw new Error(
|
|
3515
|
+
`kicad_symbol_lib encountered unsupported child token "${token}"`
|
|
3516
|
+
);
|
|
3517
|
+
}
|
|
3518
|
+
}
|
|
3519
|
+
for (const [token, entries] of Object.entries(arrayPropertyMap)) {
|
|
3520
|
+
if (!SUPPORTED_CHILD_TOKENS.has(token)) {
|
|
3521
|
+
throw new Error(
|
|
3522
|
+
`kicad_symbol_lib encountered unsupported child token "${token}"`
|
|
3523
|
+
);
|
|
3524
|
+
}
|
|
3525
|
+
if (!MULTI_CHILD_TOKENS.has(token) && entries.length > 1) {
|
|
3526
|
+
throw new Error(
|
|
3527
|
+
`kicad_symbol_lib does not support repeated child token "${token}"`
|
|
3528
|
+
);
|
|
3529
|
+
}
|
|
3530
|
+
}
|
|
3531
|
+
return new _KicadSymbolLib({
|
|
3532
|
+
version: propertyMap.version,
|
|
3533
|
+
generator: propertyMap.generator,
|
|
3534
|
+
symbols: arrayPropertyMap.symbol ?? []
|
|
3535
|
+
});
|
|
3536
|
+
}
|
|
3537
|
+
get version() {
|
|
3538
|
+
return this._sxVersion?.value;
|
|
3539
|
+
}
|
|
3540
|
+
set version(value) {
|
|
3541
|
+
this._sxVersion = value === void 0 ? void 0 : new KicadSymbolLibVersion(value);
|
|
3542
|
+
}
|
|
3543
|
+
get generator() {
|
|
3544
|
+
return this._sxGenerator?.value;
|
|
3545
|
+
}
|
|
3546
|
+
set generator(value) {
|
|
3547
|
+
this._sxGenerator = value === void 0 ? void 0 : new KicadSymbolLibGenerator(value);
|
|
3548
|
+
}
|
|
3549
|
+
get symbols() {
|
|
3550
|
+
return [...this._symbols];
|
|
3551
|
+
}
|
|
3552
|
+
set symbols(value) {
|
|
3553
|
+
this._symbols = [...value];
|
|
3554
|
+
}
|
|
3555
|
+
getChildren() {
|
|
3556
|
+
const children = [];
|
|
3557
|
+
if (this._sxVersion) children.push(this._sxVersion);
|
|
3558
|
+
if (this._sxGenerator) children.push(this._sxGenerator);
|
|
3559
|
+
children.push(...this._symbols);
|
|
3560
|
+
return children;
|
|
3561
|
+
}
|
|
3562
|
+
};
|
|
3563
|
+
SxClass.register(KicadSymbolLib);
|
|
3564
|
+
|
|
3433
3565
|
// lib/sexpr/classes/LibSymbols.ts
|
|
3434
3566
|
var SUPPORTED_ARRAY_TOKENS = /* @__PURE__ */ new Set(["symbol"]);
|
|
3435
3567
|
var LibSymbols = class _LibSymbols extends SxClass {
|
|
@@ -4713,11 +4845,11 @@ var SheetInstancesRootPage = class _SheetInstancesRootPage extends SxPrimitiveSt
|
|
|
4713
4845
|
SxClass.register(SheetInstancesRootPage);
|
|
4714
4846
|
|
|
4715
4847
|
// lib/sexpr/classes/SheetInstances.ts
|
|
4716
|
-
var
|
|
4848
|
+
var SUPPORTED_CHILD_TOKENS2 = /* @__PURE__ */ new Set(["project", "path"]);
|
|
4717
4849
|
var parseSheetInstancesChildren = (primitiveSexprs) => {
|
|
4718
4850
|
const { propertyMap, arrayPropertyMap } = SxClass.parsePrimitivesToClassProperties(primitiveSexprs, "sheet_instances");
|
|
4719
4851
|
const unsupportedSingularTokens = Object.keys(propertyMap).filter(
|
|
4720
|
-
(token) => !
|
|
4852
|
+
(token) => !SUPPORTED_CHILD_TOKENS2.has(token)
|
|
4721
4853
|
);
|
|
4722
4854
|
if (unsupportedSingularTokens.length > 0) {
|
|
4723
4855
|
throw new Error(
|
|
@@ -4725,7 +4857,7 @@ var parseSheetInstancesChildren = (primitiveSexprs) => {
|
|
|
4725
4857
|
);
|
|
4726
4858
|
}
|
|
4727
4859
|
const unsupportedArrayTokens = Object.keys(arrayPropertyMap).filter(
|
|
4728
|
-
(token) => !
|
|
4860
|
+
(token) => !SUPPORTED_CHILD_TOKENS2.has(token)
|
|
4729
4861
|
);
|
|
4730
4862
|
if (unsupportedArrayTokens.length > 0) {
|
|
4731
4863
|
throw new Error(
|
|
@@ -5306,7 +5438,7 @@ var Sheet = class _Sheet extends SxClass {
|
|
|
5306
5438
|
SxClass.register(Sheet);
|
|
5307
5439
|
|
|
5308
5440
|
// lib/sexpr/classes/KicadSch.ts
|
|
5309
|
-
var
|
|
5441
|
+
var SINGLE_CHILD_TOKENS2 = /* @__PURE__ */ new Set([
|
|
5310
5442
|
"version",
|
|
5311
5443
|
"generator",
|
|
5312
5444
|
"generator_version",
|
|
@@ -5316,7 +5448,7 @@ var SINGLE_CHILD_TOKENS = /* @__PURE__ */ new Set([
|
|
|
5316
5448
|
"lib_symbols",
|
|
5317
5449
|
"embedded_fonts"
|
|
5318
5450
|
]);
|
|
5319
|
-
var
|
|
5451
|
+
var MULTI_CHILD_TOKENS2 = /* @__PURE__ */ new Set([
|
|
5320
5452
|
"property",
|
|
5321
5453
|
"image",
|
|
5322
5454
|
"sheet",
|
|
@@ -5330,9 +5462,9 @@ var MULTI_CHILD_TOKENS = /* @__PURE__ */ new Set([
|
|
|
5330
5462
|
"sheet_instances",
|
|
5331
5463
|
"polyline"
|
|
5332
5464
|
]);
|
|
5333
|
-
var
|
|
5334
|
-
...
|
|
5335
|
-
...
|
|
5465
|
+
var SUPPORTED_CHILD_TOKENS3 = /* @__PURE__ */ new Set([
|
|
5466
|
+
...SINGLE_CHILD_TOKENS2,
|
|
5467
|
+
...MULTI_CHILD_TOKENS2
|
|
5336
5468
|
]);
|
|
5337
5469
|
var KicadSch = class _KicadSch extends SxClass {
|
|
5338
5470
|
static token = "kicad_sch";
|
|
@@ -5441,19 +5573,19 @@ var KicadSch = class _KicadSch extends SxClass {
|
|
|
5441
5573
|
}
|
|
5442
5574
|
const { propertyMap, arrayPropertyMap } = SxClass.parsePrimitivesToClassProperties(primitiveSexprs, this.token);
|
|
5443
5575
|
for (const token of Object.keys(propertyMap)) {
|
|
5444
|
-
if (!
|
|
5576
|
+
if (!SUPPORTED_CHILD_TOKENS3.has(token)) {
|
|
5445
5577
|
throw new Error(
|
|
5446
5578
|
`kicad_sch encountered unsupported child token "${token}"`
|
|
5447
5579
|
);
|
|
5448
5580
|
}
|
|
5449
5581
|
}
|
|
5450
5582
|
for (const [token, entries] of Object.entries(arrayPropertyMap)) {
|
|
5451
|
-
if (!
|
|
5583
|
+
if (!SUPPORTED_CHILD_TOKENS3.has(token)) {
|
|
5452
5584
|
throw new Error(
|
|
5453
5585
|
`kicad_sch encountered unsupported child token "${token}"`
|
|
5454
5586
|
);
|
|
5455
5587
|
}
|
|
5456
|
-
if (!
|
|
5588
|
+
if (!MULTI_CHILD_TOKENS2.has(token) && entries.length > 1) {
|
|
5457
5589
|
throw new Error(
|
|
5458
5590
|
`kicad_sch does not support repeated child token "${token}"`
|
|
5459
5591
|
);
|
|
@@ -16498,6 +16630,9 @@ export {
|
|
|
16498
16630
|
KicadSchGenerator,
|
|
16499
16631
|
KicadSchGeneratorVersion,
|
|
16500
16632
|
KicadSchVersion,
|
|
16633
|
+
KicadSymbolLib,
|
|
16634
|
+
KicadSymbolLibGenerator,
|
|
16635
|
+
KicadSymbolLibVersion,
|
|
16501
16636
|
Label,
|
|
16502
16637
|
Layer,
|
|
16503
16638
|
Layers,
|