kicad_sexpr/token

Types

pub type AnchorPadShape {
  RectangleAnchorPadShape
  CircleAnchorPadShape
}

Constructors

  • RectangleAnchorPadShape
  • CircleAnchorPadShape
pub type Arc {
  Arc(start: XY, mid: XY, end: XY)
}

Constructors

  • Arc(start: XY, mid: XY, end: XY)
pub type ArrowDirection {
  OutwardArrowDirection
  InwardArrowDirection
}

Constructors

  • OutwardArrowDirection
  • InwardArrowDirection
pub type BorderAlgorithm {
  ZoneMinimumThicknessBorderAlgorithm
  HatchThicknessBorderAlgorithm
}

Constructors

  • ZoneMinimumThicknessBorderAlgorithm
  • HatchThicknessBorderAlgorithm
pub type Circle {
  Circle(center: XY, radius: Float)
}

Constructors

  • Circle(center: XY, radius: Float)
pub type ClearanceType {
  OutlineClearanceType
  ConvexHullClearanceType
}

Constructors

  • OutlineClearanceType
  • ConvexHullClearanceType
pub type Color {
  Color(r: Float, g: Float, b: Float, a: Float)
}

Constructors

  • Color(r: Float, g: Float, b: Float, a: Float)
pub type Comment {
  Comment(number: Int, comment: String)
}

Constructors

  • Comment(number: Int, comment: String)
pub type ConnectPads {
  ConnectPads(
    connection_type: option.Option(ConnectionType),
    clearance: Float,
  )
}

Constructors

pub type ConnectionType {
  NoConnection
  ThermalConnectionType
  SolidFillConnectionType
}

Constructors

  • NoConnection
  • ThermalConnectionType
  • SolidFillConnectionType
pub type Corner {
  TopLeft
  TopRight
  BottomLeft
  BottomRight
}

Constructors

  • TopLeft
  • TopRight
  • BottomLeft
  • BottomRight
pub type Curve {
  Curve(points: Points)
}

Constructors

pub type CustomPadOptions {
  CustomPadOptions(
    clearance: ClearanceType,
    anchor: AnchorPadShape,
  )
}

Constructors

pub type CustomPadPrimitives {
  CustomPadPrimitives(
    graphic_items: List(GraphicItem),
    width: option.Option(Float),
    fill: option.Option(Bool),
  )
}

Constructors

pub type Dimension {
  Dimension(
    locked: Bool,
    type_: DimensionType,
    layer: Layer,
    uuid: option.Option(Uuid),
    start: XY,
    end: XY,
    height: option.Option(Float),
    orientation: option.Option(Float),
    leader_length: option.Option(Float),
    format: option.Option(DimensionFormat),
    style: DimensionStyle,
    text: option.Option(GraphicalText),
  )
}

Constructors

pub type DimensionFormat {
  DimensionFormat(
    prefix: option.Option(String),
    suffix: option.Option(String),
    unit: Unit,
    unit_format: UnitFormat,
    precision: Int,
    override_value: option.Option(String),
    suppress_zeros: option.Option(Bool),
  )
}

Constructors

pub type DimensionStyle {
  DimensionStyle(
    thickness: Float,
    arrow_length: Float,
    text_position_mode: TextPositionMode,
    arrow_direction: option.Option(ArrowDirection),
    extension_height: option.Option(Float),
    text_frame_type: option.Option(TextFrameType),
    extension_offset: option.Option(Float),
    keep_text_aligned: option.Option(Bool),
  )
}

Constructors

pub type DimensionType {
  AlignedDimensionType
  LeaderDimensionType
  CenterDimensionType
  OrthogonalDimensionType
  RadialDimensionType
}

Constructors

  • AlignedDimensionType
  • LeaderDimensionType
  • CenterDimensionType
  • OrthogonalDimensionType
  • RadialDimensionType
pub type Effects {
  Effects(
    font: Font,
    justify: option.Option(Justify),
    hide: option.Option(Bool),
  )
}

Constructors

pub type Fill {
  Fill(type_: FillType)
}

Constructors

pub type FillMode {
  HatchedFillMode
}

Constructors

  • HatchedFillMode
pub type FillSegments {
  FillSegments(layer: Layer, points: Points)
}

Constructors

pub type FillType {
  NoFill
  SolidFillType
  OutlineFillType
  BackgroundFillType
}

Constructors

  • NoFill
  • SolidFillType
  • OutlineFillType
  • BackgroundFillType
pub type FilledPolygon {
  FilledPolygon(layer: Layer, points: Points)
}

Constructors

pub type Font {
  Font(
    face: option.Option(String),
    size: Size,
    thickness: option.Option(Float),
    bold: option.Option(Bool),
    italic: option.Option(Bool),
    line_spacing: option.Option(Float),
  )
}

Constructors

pub type Footprint {
  Footprint(
    library_link: option.Option(String),
    locked: Bool,
    placed: Bool,
    layer: Layer,
    tedit: option.Option(String),
    uuid: option.Option(Uuid),
    position: option.Option(PositionIdentifier),
    description: option.Option(String),
    tags: option.Option(String),
    properties: List(FootprintProperty),
    path: option.Option(String),
    autoplace_cost_90: option.Option(Int),
    autoplace_cost_180: option.Option(Int),
    solder_mask_margin: option.Option(Float),
    solder_paste_ratio: option.Option(Float),
    solder_paste_margin: option.Option(Float),
    solder_paste_margin_ratio: option.Option(Float),
    clearance: option.Option(Float),
    zone_connect: option.Option(ConnectionType),
    thermal_width: option.Option(Float),
    thermal_gap: option.Option(Float),
    attributes: option.Option(FootprintAttributes),
    private_layers: option.Option(List(String)),
    net_tie_pad_groups: option.Option(List(String)),
    graphic_items: List(FootprintGraphicItem),
    pads: List(Pad),
    zones: List(Zone),
    groups: List(Group),
    embedded_fonts: option.Option(Bool),
    models: List(FootprintModel),
  )
}

Constructors

pub type FootprintArc {
  FootprintArc(
    start: XY,
    mid: XY,
    end: XY,
    stroke: option.Option(Stroke),
    layer: Layer,
    width: option.Option(Float),
    locked: Bool,
    uuid: option.Option(Uuid),
    timestamp: option.Option(Timestamp),
  )
}

Constructors

pub type FootprintAttributeType {
  SmdAttributeType
  ThroughHoleAttributeType
}

Constructors

  • SmdAttributeType
  • ThroughHoleAttributeType
pub type FootprintAttributes {
  FootprintAttributes(
    type_: option.Option(FootprintAttributeType),
    board_only: Bool,
    exclude_from_pos_files: Bool,
    exclude_from_bom: Bool,
    allow_soldermask_bridges: Bool,
    allow_missing_courtyard: Bool,
  )
}

Constructors

  • FootprintAttributes(
      type_: option.Option(FootprintAttributeType),
      board_only: Bool,
      exclude_from_pos_files: Bool,
      exclude_from_bom: Bool,
      allow_soldermask_bridges: Bool,
      allow_missing_courtyard: Bool,
    )
pub type FootprintCircle {
  FootprintCircle(
    center: XY,
    end: XY,
    stroke: option.Option(Stroke),
    filled: option.Option(Bool),
    layer: Layer,
    fill: option.Option(Fill),
    width: option.Option(Float),
    locked: Bool,
    uuid: option.Option(Uuid),
    timestamp: option.Option(Timestamp),
  )
}

Constructors

pub type FootprintCurve {
  FootprintCurve(
    points: Points,
    stroke: option.Option(Stroke),
    layer: Layer,
    width: option.Option(Float),
    locked: Bool,
    uuid: option.Option(Uuid),
    timestamp: option.Option(Timestamp),
  )
}

Constructors

pub type FootprintFile {
  FootprintFile(
    name: String,
    version: option.Option(Int),
    generator: option.Option(String),
    generator_version: option.Option(String),
    footprint: Footprint,
  )
}

Constructors

pub type FootprintGraphicItem {
  TextFootprintGraphicItem(FootprintText)
  TextBoxFootprintGraphicItem(FootprintTextBox)
  LineFootprintGraphicItem(FootprintLine)
  RectangleFootprintGraphicItem(FootprintRectangle)
  CircleFootprintGraphicItem(FootprintCircle)
  ArcFootprintGraphicItem(FootprintArc)
  PolygonFootprintGraphicItem(FootprintPolygon)
  CurveFootprintGraphicItem(FootprintCurve)
  DimensionFootprintGraphicItem(Dimension)
}

Constructors

pub type FootprintLine {
  FootprintLine(
    start: XY,
    end: XY,
    stroke: option.Option(Stroke),
    layer: Layer,
    width: option.Option(Float),
    locked: Bool,
    uuid: option.Option(Uuid),
    timestamp: option.Option(Timestamp),
  )
}

Constructors

pub type FootprintModel {
  FootprintModel(
    file: String,
    hide: option.Option(Bool),
    offset: XYZ,
    scale: XYZ,
    rotate: XYZ,
  )
}

Constructors

pub type FootprintPolygon {
  FootprintPolygon(
    points: PolyPoints,
    stroke: option.Option(Stroke),
    filled: option.Option(Bool),
    layer: Layer,
    fill: option.Option(Fill),
    width: option.Option(Float),
    locked: Bool,
    uuid: option.Option(Uuid),
    timestamp: option.Option(Timestamp),
  )
}

Constructors

pub type FootprintProperty {
  FootprintProperty(
    key: String,
    value: String,
    position: PositionIdentifier,
    unlocked: option.Option(Bool),
    layer: Layer,
    hide: option.Option(Bool),
    uuid: option.Option(Uuid),
    effects: Effects,
  )
}

Constructors

pub type FootprintRectangle {
  FootprintRectangle(
    start: XY,
    end: XY,
    stroke: option.Option(Stroke),
    filled: option.Option(Bool),
    layer: Layer,
    fill: option.Option(Fill),
    width: option.Option(Float),
    locked: Bool,
    uuid: option.Option(Uuid),
    timestamp: option.Option(Timestamp),
  )
}

Constructors

pub type FootprintText {
  FootprintText(
    type_: FootprintTextType,
    text: String,
    position: PositionIdentifier,
    unlocked: option.Option(Bool),
    layer: Layer,
    hide: option.Option(Bool),
    uuid: option.Option(Uuid),
    effects: Effects,
    timestamp: option.Option(Timestamp),
  )
}

Constructors

pub type FootprintTextBox {
  FootprintTextBox(
    locked: Bool,
    text: String,
    start: option.Option(XY),
    end: option.Option(XY),
    corners: option.Option(#(XY, XY, XY, XY)),
    margins: option.Option(#(Float, Float, Float, Float)),
    angle: option.Option(Float),
    layer: Layer,
    uuid: option.Option(Uuid),
    effects: Effects,
    border: option.Option(Bool),
    stroke: option.Option(Stroke),
    render_cache: option.Option(Nil),
    timestamp: option.Option(Timestamp),
  )
}

Constructors

pub type FootprintTextType {
  ReferenceTextType
  ValueTextType
  UserTextType
}

Constructors

  • ReferenceTextType
  • ValueTextType
  • UserTextType
pub type GraphicItem {
  TextGraphicItem(GraphicalText)
  TextBoxGraphicItem(GraphicalTextBox)
  LineGraphicItem(GraphicalLine)
  RectangleGraphicItem(GraphicalRectangle)
  CircleGraphicItem(GraphicalCircle)
  ArcGraphicItem(GraphicalArc)
  PolygonGraphicItem(GraphicalPolygon)
  CurveGraphicItem(GraphicalCurve)
  DimensionGraphicItem(Dimension)
  BoundingBoxGraphicItem(GraphicalBoundingBox)
}

Constructors

pub type GraphicalArc {
  GraphicalArc(
    start: XY,
    mid: XY,
    end: XY,
    layer: option.Option(Layer),
    width: Float,
    uuid: option.Option(Uuid),
  )
}

Constructors

pub type GraphicalBoundingBox {
  GraphicalBoundingBox(start: XY, end: XY)
}

Constructors

  • GraphicalBoundingBox(start: XY, end: XY)
pub type GraphicalCircle {
  GraphicalCircle(
    center: XY,
    end: XY,
    layer: option.Option(Layer),
    width: Float,
    fill: option.Option(Bool),
    uuid: option.Option(Uuid),
  )
}

Constructors

pub type GraphicalCurve {
  GraphicalCurve(
    points: Points,
    layer: option.Option(Layer),
    width: Float,
    uuid: option.Option(Uuid),
  )
}

Constructors

pub type GraphicalLine {
  GraphicalLine(
    start: XY,
    end: XY,
    angle: option.Option(Float),
    layer: option.Option(Layer),
    width: Float,
    uuid: option.Option(Uuid),
  )
}

Constructors

pub type GraphicalPolygon {
  GraphicalPolygon(
    points: PolyPoints,
    layer: option.Option(Layer),
    width: Float,
    fill: option.Option(Bool),
    uuid: option.Option(Uuid),
  )
}

Constructors

pub type GraphicalRectangle {
  GraphicalRectangle(
    start: XY,
    end: XY,
    layer: option.Option(Layer),
    width: Float,
    fill: option.Option(Bool),
    uuid: option.Option(Uuid),
  )
}

Constructors

pub type GraphicalText {
  GraphicalText(
    text: String,
    position: PositionIdentifier,
    layer: option.Option(GraphicalTextLayer),
    uuid: option.Option(Uuid),
    effects: Effects,
  )
}

Constructors

pub type GraphicalTextBox {
  GraphicalTextBox(
    locked: Bool,
    text: String,
    start: option.Option(XY),
    end: option.Option(XY),
    corners: option.Option(#(XY, XY, XY, XY)),
    angle: option.Option(Float),
    layer: option.Option(Layer),
    uuid: option.Option(Uuid),
    effects: Effects,
    stroke: option.Option(Stroke),
    render_cache: option.Option(Nil),
  )
}

Constructors

pub type GraphicalTextLayer {
  GraphicalTextLayer(layer: String, knockout: Bool)
}

Constructors

  • GraphicalTextLayer(layer: String, knockout: Bool)
pub type Group {
  Group(name: String, uuid: Uuid, members: List(Uuid))
}

Constructors

  • Group(name: String, uuid: Uuid, members: List(Uuid))
pub type Hatch {
  Hatch(style: HatchStyle, pitch: Float)
}

Constructors

pub type HatchStyle {
  NoHatch
  EdgeHatchStyle
  FullHatchStyle
}

Constructors

  • NoHatch
  • EdgeHatchStyle
  • FullHatchStyle
pub type Horizontal {
  Left
  Right
}

Constructors

  • Left
  • Right
pub type Image {
  Image(
    position: PositionIdentifier,
    scale: option.Option(Float),
    layer: option.Option(Layer),
    uuid: option.Option(Uuid),
    data: String,
  )
}

Constructors

pub type IslandRemovalMode {
  AlwaysRemove
  NeverRemove
  MinimumArea
}

Constructors

  • AlwaysRemove
  • NeverRemove
  • MinimumArea
pub type Justify {
  Justify(
    horizontal: option.Option(Horizontal),
    vertical: option.Option(Vertical),
    mirror: Bool,
  )
}

Constructors

pub type Layer {
  Layer(layer: String)
}

Constructors

  • Layer(layer: String)
pub type Line {
  Line(points: Points)
}

Constructors

pub type Net {
  Net(number: Int, name: String)
}

Constructors

  • Net(number: Int, name: String)
pub type Pad {
  Pad(
    number: String,
    type_: PadType,
    shape: PadShape,
    position: PositionIdentifier,
    locked: Bool,
    size: Size,
    drill: option.Option(PadDrillDefinition),
    rect_delta: option.Option(XY),
    property: option.Option(PadProperty),
    layers: List(Layer),
    remove_unused_layers: option.Option(Bool),
    keep_end_layers: option.Option(Bool),
    roundrect_rratio: option.Option(Float),
    chamfer_ratio: option.Option(Float),
    chamfer: option.Option(List(Corner)),
    net: option.Option(Net),
    pin_function: option.Option(String),
    pin_type: option.Option(String),
    die_length: option.Option(Float),
    solder_mask_margin: option.Option(Float),
    solder_paste_margin: option.Option(Float),
    solder_paste_margin_ratio: option.Option(Float),
    clearance: option.Option(Float),
    zone_connection: option.Option(ConnectionType),
    thermal_width: option.Option(Float),
    thermal_gap: option.Option(Float),
    thermal_bridge_width: option.Option(Float),
    thermal_bridge_angle: option.Option(Float),
    custom_options: option.Option(CustomPadOptions),
    custom_primitives: option.Option(CustomPadPrimitives),
    uuid: option.Option(Uuid),
    timestamp: option.Option(Timestamp),
  )
}

Constructors

pub type PadDrillDefinition {
  PadDrillDefinition(
    oval: Bool,
    diameter: option.Option(Float),
    width: option.Option(Float),
    offset: option.Option(XY),
  )
}

Constructors

pub type PadProperty {
  BgaPadProperty
  FiducialGlobPadProperty
  FiducialLocPadProperty
  TestpointPadProperty
  HeatsinkPadProperty
  CastellatedPadProperty
}

Constructors

  • BgaPadProperty
  • FiducialGlobPadProperty
  • FiducialLocPadProperty
  • TestpointPadProperty
  • HeatsinkPadProperty
  • CastellatedPadProperty
pub type PadShape {
  CirclePadShape
  RectanglePadShape
  OvalPadShape
  TrapezoidPadShape
  RoundRectPadShape
  CustomPadShape
}

Constructors

  • CirclePadShape
  • RectanglePadShape
  • OvalPadShape
  • TrapezoidPadShape
  • RoundRectPadShape
  • CustomPadShape
pub type PadType {
  ThroughHolePadType
  SmdPadPadType
  ConnectPadType
  NpThroughHolePadType
}

Constructors

  • ThroughHolePadType
  • SmdPadPadType
  • ConnectPadType
  • NpThroughHolePadType
pub type Paper {
  Paper(size: PaperSize, portrait: Bool)
}

Constructors

pub type PaperSize {
  A0PaperSize
  A1PaperSize
  A2PaperSize
  A3PaperSize
  A4PaperSize
  A5PaperSize
  APaperSize
  BPaperSize
  CPaperSize
  DPaperSize
  EPaperSize
  CustomPaperSize(width: Float, height: Float)
}

Constructors

  • A0PaperSize
  • A1PaperSize
  • A2PaperSize
  • A3PaperSize
  • A4PaperSize
  • A5PaperSize
  • APaperSize
  • BPaperSize
  • CPaperSize
  • DPaperSize
  • EPaperSize
  • CustomPaperSize(width: Float, height: Float)
pub type PinAlternate {
  PinAlternate(
    name: String,
    electrical_type: PinElectricalType,
    graphical_style: PinGraphicalStyle,
  )
}

Constructors

pub type PinElectricalType {
  InputElectricalType
  OutputElectricalType
  BidirectionalElectricalType
  TriStateElectricalType
  PassiveElectricalType
  FreeElectricalType
  UnspecifiedElectricalType
  PowerInElectricalType
  PowerOutElectricalType
  OpenCollectorElectricalType
  OpenEmitterElectricalType
  NoConnectElectricalType
}

Constructors

  • InputElectricalType
  • OutputElectricalType
  • BidirectionalElectricalType
  • TriStateElectricalType
  • PassiveElectricalType
  • FreeElectricalType
  • UnspecifiedElectricalType
  • PowerInElectricalType
  • PowerOutElectricalType
  • OpenCollectorElectricalType
  • OpenEmitterElectricalType
  • NoConnectElectricalType
pub type PinGraphicalStyle {
  LineGraphicalStyle
  InvertedGraphicalStyle
  ClockGraphicalStyle
  InvertedClockGraphicalStyle
  InputLowGraphicalStyle
  ClockLowGraphicalStyle
  OutputLowGraphicalStyle
  EdgeClockHighGraphicalStyle
  NonLogicGraphicalStyle
}

Constructors

  • LineGraphicalStyle
  • InvertedGraphicalStyle
  • ClockGraphicalStyle
  • InvertedClockGraphicalStyle
  • InputLowGraphicalStyle
  • ClockLowGraphicalStyle
  • OutputLowGraphicalStyle
  • EdgeClockHighGraphicalStyle
  • NonLogicGraphicalStyle
pub type PinName {
  PinName(name: String, effects: Effects)
}

Constructors

  • PinName(name: String, effects: Effects)
pub type PinNumber {
  PinNumber(number: String, effects: Effects)
}

Constructors

  • PinNumber(number: String, effects: Effects)
pub type Points {
  Points(points: List(XY))
}

Constructors

  • Points(points: List(XY))
pub type PolyPoint {
  XYPolyPoint(XY)
  ArcPolyPoint(Arc)
}

Constructors

  • XYPolyPoint(XY)
  • ArcPolyPoint(Arc)
pub type PolyPoints {
  PolyPoints(points: List(PolyPoint))
}

Constructors

pub type PositionIdentifier {
  PositionIdentifier(
    x: Float,
    y: Float,
    angle: option.Option(Float),
    locked: option.Option(Bool),
  )
}

Constructors

pub type Property {
  Property(key: String, value: String)
}

Constructors

  • Property(key: String, value: String)
pub type Rectangle {
  Rectangle(start: XY, end: XY)
}

Constructors

  • Rectangle(start: XY, end: XY)
pub type Size {
  Size(width: Float, height: Float)
}

Constructors

  • Size(width: Float, height: Float)
pub type SmoothingLevel {
  NoSmoothingLevel
  FilletSmoothingLevel
  ArcMinimumSmoothingLevel
  ArcMaximumSmoothingLevel
}

Constructors

  • NoSmoothingLevel
  • FilletSmoothingLevel
  • ArcMinimumSmoothingLevel
  • ArcMaximumSmoothingLevel
pub type SmoothingStyle {
  ChamferSmoothingStyle
  FilletSmoothingStyle
}

Constructors

  • ChamferSmoothingStyle
  • FilletSmoothingStyle
pub type Stroke {
  Stroke(
    width: Float,
    type_: StrokeType,
    color: option.Option(Color),
  )
}

Constructors

pub type StrokeType {
  DashStrokeType
  DashDotStrokeType
  DashDotDotStrokeType
  DotStrokeType
  DefaultStrokeType
  SolidStrokeType
}

Constructors

  • DashStrokeType
  • DashDotStrokeType
  • DashDotDotStrokeType
  • DotStrokeType
  • DefaultStrokeType
  • SolidStrokeType
pub type Symbol {
  Symbol(
    library_unit_id: String,
    extends: option.Option(String),
    power: Bool,
    hide_pin_numbers: option.Option(Bool),
    hide_pin_names: option.Option(Bool),
    pin_names_offset: option.Option(Float),
    exclude_from_sim: option.Option(Bool),
    in_bom: option.Option(Bool),
    on_board: option.Option(Bool),
    properties: List(SymbolProperty),
    graphics_items: List(SymbolGraphicItem),
    pins: List(SymbolPin),
    units: List(Symbol),
    unit_name: option.Option(String),
    embedded_fonts: option.Option(Bool),
  )
}

Constructors

pub type SymbolArc {
  SymbolArc(
    start: XY,
    mid: XY,
    end: XY,
    stroke: Stroke,
    fill: Fill,
  )
}

Constructors

pub type SymbolCircle {
  SymbolCircle(
    center: XY,
    radius: Float,
    stroke: Stroke,
    fill: Fill,
  )
}

Constructors

  • SymbolCircle(
      center: XY,
      radius: Float,
      stroke: Stroke,
      fill: Fill,
    )
pub type SymbolCurve {
  SymbolCurve(points: Points, stroke: Stroke, fill: Fill)
}

Constructors

pub type SymbolGraphicItem {
  TextSymbolGraphicItem(SymbolText)
  TextBoxSymbolGraphicItem(SymbolTextBox)
  LineSymbolGraphicItem(SymbolLine)
  RectangleSymbolGraphicItem(SymbolRectangle)
  CircleSymbolGraphicItem(SymbolCircle)
  ArcSymbolGraphicItem(SymbolArc)
  CurveSymbolGraphicItem(SymbolCurve)
}

Constructors

pub type SymbolLibrary {
  SymbolLibrary(
    version: Int,
    generator: String,
    generator_version: option.Option(String),
    symbols: List(Symbol),
  )
}

Constructors

  • SymbolLibrary(
      version: Int,
      generator: String,
      generator_version: option.Option(String),
      symbols: List(Symbol),
    )
pub type SymbolLine {
  SymbolLine(points: Points, stroke: Stroke, fill: Fill)
}

Constructors

pub type SymbolPin {
  SymbolPin(
    electrical_type: PinElectricalType,
    graphical_style: PinGraphicalStyle,
    position: PositionIdentifier,
    length: Float,
    hide: option.Option(Bool),
    name: PinName,
    number: PinNumber,
    alternatives: List(PinAlternate),
  )
}

Constructors

pub type SymbolProperty {
  SymbolProperty(
    key: String,
    value: String,
    id: option.Option(Int),
    position: PositionIdentifier,
    show_name: Bool,
    effects: Effects,
  )
}

Constructors

pub type SymbolRectangle {
  SymbolRectangle(start: XY, end: XY, stroke: Stroke, fill: Fill)
}

Constructors

pub type SymbolText {
  SymbolText(
    text: String,
    position: PositionIdentifier,
    effects: Effects,
  )
}

Constructors

pub type SymbolTextBox {
  SymbolTextBox(
    text: String,
    position: PositionIdentifier,
    size: Size,
    margins: option.Option(#(Float, Float, Float, Float)),
    stroke: Stroke,
    fill: Fill,
    effects: Effects,
  )
}

Constructors

pub type TextFrameType {
  NoFrame
  RectangleFrameType
  CircleFrameType
  RoundedRectangleFrameType
}

Constructors

  • NoFrame
  • RectangleFrameType
  • CircleFrameType
  • RoundedRectangleFrameType
pub type TextPositionMode {
  OutsideTextPositionMode
  InlineTextPositionMode
  ManualTextPositionMode
}

Constructors

  • OutsideTextPositionMode
  • InlineTextPositionMode
  • ManualTextPositionMode
pub type Timestamp {
  Timestamp(ts: String)
}

Constructors

  • Timestamp(ts: String)
pub type TitleBlock {
  TitleBlock(
    title: String,
    date: String,
    revision: String,
    company: String,
    comment: Comment,
  )
}

Constructors

  • TitleBlock(
      title: String,
      date: String,
      revision: String,
      company: String,
      comment: Comment,
    )
pub type Unit {
  InchesUnit
  MilsUnit
  MillimetersUnit
  AutomaticUnit
}

Constructors

  • InchesUnit
  • MilsUnit
  • MillimetersUnit
  • AutomaticUnit
pub type UnitFormat {
  NoSuffixUnitFormat
  BareSuffixUnitFormat
  WrapSuffixUnitFormat
}

Constructors

  • NoSuffixUnitFormat
  • BareSuffixUnitFormat
  • WrapSuffixUnitFormat
pub type Uuid {
  Uuid(uuid: String)
}

Constructors

  • Uuid(uuid: String)
pub type Vertical {
  Top
  Bottom
}

Constructors

  • Top
  • Bottom
pub type XY {
  XY(x: Float, y: Float)
}

Constructors

  • XY(x: Float, y: Float)
pub type XYZ {
  XYZ(x: Float, y: Float, z: Float)
}

Constructors

  • XYZ(x: Float, y: Float, z: Float)
pub type Zone {
  Zone(
    net: Int,
    net_name: String,
    layers: List(Layer),
    uuid: option.Option(Uuid),
    timestamp: option.Option(Timestamp),
    name: option.Option(String),
    hatch: Hatch,
    priority: option.Option(Int),
    connect_pads: ConnectPads,
    min_thickness: Float,
    filled_areas_thickness: option.Option(Bool),
    keepout_settings: option.Option(ZoneKeepoutSettings),
    placement: option.Option(ZonePlacement),
    fill_settings: ZoneFillSettings,
    polygon: PolyPoints,
    fill_polygons: List(FilledPolygon),
    fill_segments: List(FillSegments),
  )
}

Constructors

pub type ZoneFillSettings {
  ZoneFillSettings(
    filled: Bool,
    mode: option.Option(FillMode),
    thermal_gap: option.Option(Float),
    thermal_bridge_width: option.Option(Float),
    smoothing: option.Option(SmoothingStyle),
    radius: option.Option(Float),
    island_removal_mode: option.Option(IslandRemovalMode),
    island_area_min: option.Option(Float),
    hatch_thickness: option.Option(Float),
    hatch_gap: option.Option(Float),
    hatch_orientation: option.Option(Float),
    hatch_smoothing_level: option.Option(SmoothingLevel),
    hatch_smoothing_value: option.Option(Float),
    hatch_border_algorithm: option.Option(BorderAlgorithm),
    hatch_min_hole_area: option.Option(Float),
  )
}

Constructors

pub type ZoneKeepoutSettings {
  ZoneKeepoutSettings(
    tracks: Bool,
    vias: Bool,
    pads: Bool,
    copper_pour: Bool,
    footprints: Bool,
  )
}

Constructors

  • ZoneKeepoutSettings(
      tracks: Bool,
      vias: Bool,
      pads: Bool,
      copper_pour: Bool,
      footprints: Bool,
    )
pub type ZonePlacement {
  ZonePlacement(enabled: Bool, sheet_name: String)
}

Constructors

  • ZonePlacement(enabled: Bool, sheet_name: String)

Values

pub fn anchor_pad_shape(
  then next: fn(AnchorPadShape) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn arc(
  then next: fn(Arc) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn arrow_direction(
  then next: fn(ArrowDirection) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn border_algorithm(
  then next: fn(BorderAlgorithm) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn circle(
  then next: fn(Circle) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn clearance_type(
  then next: fn(ClearanceType) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn color(
  then next: fn(Color) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn comment(
  then next: fn(Comment) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn connect_pads(
  then next: fn(ConnectPads) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn connection_type(
  then next: fn(ConnectionType) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn corner(
  then next: fn(Corner) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn curve(
  then next: fn(Curve) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn custom_pad_options(
  then next: fn(CustomPadOptions) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn custom_pad_primitives(
  then next: fn(CustomPadPrimitives) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn dimension(
  then next: fn(Dimension) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn dimension_format(
  then next: fn(DimensionFormat) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn dimension_style(
  then next: fn(DimensionStyle) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn dimension_type(
  then next: fn(DimensionType) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn effects(
  then next: fn(Effects) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn fill(
  then next: fn(Fill) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn fill_mode(
  then next: fn(FillMode) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn fill_segments(
  then next: fn(FillSegments) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn fill_type(
  then next: fn(FillType) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn filled_polygon(
  then next: fn(FilledPolygon) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn font(
  then next: fn(Font) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn footprint(
  then next: fn(Footprint) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn footprint_arc(
  then next: fn(FootprintArc) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn footprint_attribute_type(
  then next: fn(FootprintAttributeType) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn footprint_attributes(
  then next: fn(FootprintAttributes) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn footprint_circle(
  then next: fn(FootprintCircle) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn footprint_curve(
  then next: fn(FootprintCurve) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn footprint_file(
  then next: fn(FootprintFile) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn footprint_graphic_item(
  then next: fn(FootprintGraphicItem) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn footprint_line(
  then next: fn(FootprintLine) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn footprint_model(
  then next: fn(FootprintModel) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn footprint_polygon(
  then next: fn(FootprintPolygon) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn footprint_property(
  then next: fn(FootprintProperty) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn footprint_rectangle(
  then next: fn(FootprintRectangle) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn footprint_text(
  then next: fn(FootprintText) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn footprint_text_box(
  then next: fn(FootprintTextBox) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn footprint_text_type(
  then next: fn(FootprintTextType) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn graphic_item(
  then next: fn(GraphicItem) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn graphical_arc(
  then next: fn(GraphicalArc) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn graphical_bounding_box(
  then next: fn(GraphicalBoundingBox) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn graphical_circle(
  then next: fn(GraphicalCircle) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn graphical_curve(
  then next: fn(GraphicalCurve) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn graphical_line(
  then next: fn(GraphicalLine) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn graphical_polygon(
  then next: fn(GraphicalPolygon) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn graphical_rectangle(
  then next: fn(GraphicalRectangle) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn graphical_text(
  then next: fn(GraphicalText) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn graphical_text_box(
  then next: fn(GraphicalTextBox) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn graphical_text_layer(
  then next: fn(GraphicalTextLayer) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn group(
  then next: fn(Group) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn hatch(
  then next: fn(Hatch) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn hatch_style(
  then next: fn(HatchStyle) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn horizontal(
  then next: fn(Horizontal) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn image(
  then next: fn(Image) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn island_removal_mode(
  then next: fn(IslandRemovalMode) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn justify(
  then next: fn(Justify) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn layer(
  then next: fn(Layer) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn line(
  then next: fn(Line) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn net(
  then next: fn(Net) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn pad(
  then next: fn(Pad) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn pad_drill_definition(
  then next: fn(PadDrillDefinition) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn pad_property(
  then next: fn(PadProperty) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn pad_shape(
  then next: fn(PadShape) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn pad_type(
  then next: fn(PadType) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn paper(
  then next: fn(Paper) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn paper_size(
  then next: fn(PaperSize) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn pin_alternate(
  then next: fn(PinAlternate) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn pin_electrical_type(
  then next: fn(PinElectricalType) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn pin_graphical_style(
  then next: fn(PinGraphicalStyle) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn pin_name(
  then next: fn(PinName) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn pin_number(
  then next: fn(PinNumber) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn points(
  then next: fn(Points) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn poly_point(
  then next: fn(PolyPoint) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn poly_points(
  then next: fn(PolyPoints) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn position_identifier(
  then next: fn(PositionIdentifier) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn property(
  then next: fn(Property) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn rectangle(
  then next: fn(Rectangle) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn size(
  then next: fn(Size) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn smoothing_level(
  then next: fn(SmoothingLevel) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn smoothing_style(
  then next: fn(SmoothingStyle) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn stroke(
  then next: fn(Stroke) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn stroke_type(
  then next: fn(StrokeType) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn symbol(
  then next: fn(Symbol) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn symbol_arc(
  then next: fn(SymbolArc) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn symbol_circle(
  then next: fn(SymbolCircle) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn symbol_curve(
  then next: fn(SymbolCurve) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn symbol_graphic_item(
  then next: fn(SymbolGraphicItem) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn symbol_library(
  then next: fn(SymbolLibrary) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn symbol_line(
  then next: fn(SymbolLine) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn symbol_pin(
  then next: fn(SymbolPin) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn symbol_property(
  then next: fn(SymbolProperty) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn symbol_rectangle(
  then next: fn(SymbolRectangle) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn symbol_text(
  then next: fn(SymbolText) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn symbol_text_box(
  then next: fn(SymbolTextBox) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn text_frame_type(
  then next: fn(TextFrameType) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn text_position_mode(
  then next: fn(TextPositionMode) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn timestamp(
  then next: fn(Timestamp) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn title_block(
  then next: fn(TitleBlock) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn unit(
  then next: fn(Unit) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn unit_format(
  then next: fn(UnitFormat) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn uuid(
  then next: fn(Uuid) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn vertical(
  then next: fn(Vertical) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn xy(
  then next: fn(XY) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn xyz(
  then next: fn(XYZ) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn zone(
  then next: fn(Zone) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn zone_fill_settings(
  then next: fn(ZoneFillSettings) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn zone_keepout_settings(
  then next: fn(ZoneKeepoutSettings) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
pub fn zone_placement(
  then next: fn(ZonePlacement) -> fn(List(parse.SExpr)) -> Result(
    #(a, List(parse.SExpr)),
    decode.DecodeError,
  ),
) -> fn(List(parse.SExpr)) -> Result(
  #(a, List(parse.SExpr)),
  decode.DecodeError,
)
Search Document