✅ Require

Require lets you easily require Optional
values to be non-nil
, or crash gracefully.
Sometimes you have optional values in your code that are not really optional, and will cause your
application to enter an undefined state if nil
. Require makes it easy to avoid such states, by
causing a crash with rich debug information, to enable you to much easier hunt down & fix the bug.
Usage
Call require()
on any Optional
, optionally giving a hint
for debugging purposes:
class ConfigurationLoader {
func load() -> Configuration {
let data = readJSONFile().require(hint: "Verify that Config.JSON is valid")
let config: Configuration? = try? unbox(data: data)
return config.require()
}
}
Installation
Swift Package Manager:
Add .Package(url: "git@github.com:johnsundell/require.git", majorVersion: 1)
to your Package.swift
file.
CocoaPods:
Add pod "Require"
to your Podfile
.
Carthage:
Add github "johnsundell/require"
to your Cartfile
.
Manual:
Clone the repo and drag the file Require.swift
into your Xcode project.
Help, feedback or suggestions?
✅ Require
Require lets you easily require
Optional
values to be non-nil
, or crash gracefully.Sometimes you have optional values in your code that are not really optional, and will cause your application to enter an undefined state if
nil
. Require makes it easy to avoid such states, by causing a crash with rich debug information, to enable you to much easier hunt down & fix the bug.Usage
Call
require()
on anyOptional
, optionally giving ahint
for debugging purposes:Installation
Swift Package Manager:
Add
.Package(url: "git@github.com:johnsundell/require.git", majorVersion: 1)
to yourPackage.swift
file.CocoaPods:
Add
pod "Require"
to yourPodfile
.Carthage:
Add
github "johnsundell/require"
to yourCartfile
.Manual:
Clone the repo and drag the file
Require.swift
into your Xcode project.Help, feedback or suggestions?