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:

Essential Developer

Essential Developer: Learn the most up-to-date techniques and strategies for testing new and legacy Swift code in this free practical course for developers who want to become complete senior iOS developers. This virtual event includes lectures, mentoring sessions, and step-by-step instructions. Click to learn more.