Skip to content

Swift Builders 0.0.1

Choose a tag to compare

@coenttb coenttb released this 29 Jul 14:10

Swift Builders 0.0.1

Initial release of Swift Result Builders for collections and strings.

Features

  • ArrayBuilder: Type-safe array construction with control flow support
  • SetBuilder: Set construction with duplicate handling and array support
  • StringBuilder: String building with newline joining
  • MarkdownBuilder: Markdown document construction with formatting options

Capabilities

  • Full result builder protocol support (conditionals, loops, optionals)
  • Performance optimized implementations
  • Comprehensive test coverage
  • Swift Package Manager integration with individual library products
  • Clean API with proper disambiguation
  • Minimal dependencies (no Foundation imports)

Package Products

Import the unified library or individual components:

// All builders
.product(name: "Builders", package: "swift-builders")

// Individual builders
.product(name: "ArrayBuilder", package: "swift-builders")
.product(name: "SetBuilder", package: "swift-builders") 
.product(name: "StringBuilder", package: "swift-builders")
.product(name: "MarkdownBuilder", package: "swift-builders")

Usage

// Array building
let numbers = Array<Int> {
    1
    2
    if condition { 3 }
}

// String building (default)
let text = String {
    "Line 1"
    "Line 2"
}

// Markdown building
let doc = String(markdown: {
    "# Title"
    "Content"
})

// Set building
let tags = Set<String> {
    "swift"
    ["ios", "mobile"]
}

This provides a foundation for declarative collection and string building in Swift applications.