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:


Bitrise: My favorite continuous integration service. Automatically build, test and distribute your app on every Pull Request — which lets you quickly get feedback on each change that you make. Start 2021 with solid continuous integration from Bitrise, using hundreds of ready-to-use steps.