Articles, podcasts and news about Swift development, by John Sundell.

Configurable types

Published on 26 Jun 2019

A big benefit of making types configurable by closures, rather than hard-coding their behaviors, is that it makes it trivial to add new capabilities. For example, here’s how I'm adding a Splash plugin to my upcoming static site generator using a configurable type:

extension PipelineBuilder {
    mutating func splash() {
        customStep { context in
            context.siteMap.transformItems { item in
                item.body = MarkdownDecorator().decorate(item.body)
            }
        }
    }
}

Support Swift by Sundell by checking out this sponsor:

Raycast

Raycast: Take the macOS Spotlight experience to the next level: Create Jira issues, manage GitHub pull requests and control other tools with a few keystrokes. Easily automate every-day tasks and boost your developer productivity by downloading Raycast for free.