Skip to content

JohnSundell/Require

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 

Require

CocoaPods Carthage Swift PM Twitter

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?

About

Require optional values to be non-nil, or crash gracefully

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published