Skip to content

pelagornis/swift-builder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Builder

Official SPM Swift License Platform

Builder Patterns for Flexible Syntax in Swift

Installation

Builder was deployed as Swift Package Manager. Package to install in a project. Add as a dependent item within the swift manifest.

let package = Package(
    ...
    dependencies: [
        .package(url: "https://github.com/pelagornis/swift-builder.git", from: "1.1.0")
    ],
    ...
)

Then import the Builder from thr location you want to use.

import Builder

And then adding the product to any target that needs access to the library:

.product(name: "Builder", package: "swift-builder"),

Documentation

The documentation for releases and latest are available here:

Using

Initializer UIView with Builder

let view = UIView()
    .builder()
    .translatesAutoresizingMaskIntoConstraints(false)
    .backgroundColor(.systemBlue)
    .build()

This is equivalent to

let view: UIView = {
    let view = UIView()
    view.translatesAutoresizingMaskIntoConstraints = false
    view.backgroundColor(.systemBlue)
    return view
}()

Want to use with your own types? Just make extensions.

extension MyType: Buildable {}

let instance = MyType()
    .builder()
    .property("some value")
    .build()

Support Macros

@Builder macro is supported.

@Builder
struct Pelagornis {
    var libraryName: String?
}

License

Builder is under MIT license. See the LICENSE file for more info.