Sugar for working and using Bool type in Swift

SweetBool

Sugar for working and using Bool type in Swift.

Why?

To streamline writing and reading code so it will resemble the English language.

Operators

isTrue

Sugar for checking if Bool has value true. Streamlines conditionals statements by removing explicit checks with ==.

if canDrinkBeer.isTrue {
    ...

isFalse

Sugar for checking if Bool has value false. Streamlines conditionals statements by removing explicit checks with ==.

if canDrinkBeer.isFalse {
    ...

negated

New instance with negated value.

whenTrue

Operator for running a closure when self is true. Use this operator to create pipelines that will trigger actions.

canDrinkBeer
    .whenTrue { openBeer() }
    .whenFalse { closeBeer() }

whenFalse

Operator for running a closure when self is false. Use this operator to create pipelines that will trigger actions.

canDrinkBeer
    .whenTrue { openBeer() }
    .whenFalse { closeBeer() }

biTransform(yes:no:)

Transforms bool to some type of T. Use this in longer pipelines where sticking normal operators would break the flow:

manager
    .boolProperty
    .biTransform(yes: "was true", no: "was false")
    .count // working with String now

and

Sugar for &&. Writing more complex if statements sometimes is messy. With operators you can write them:

 if canDrinkBeer
        .and( isHealthy )
        .and( hasMoney )
        .or( isFriend ) {
        ...

or

Sugar for ||. Writing more complex if statements sometimes is messy. With operators you can write them:

 if canDrinkBeer
        .and( isHealthy )
        .and( hasMoney )
        .or( isFriend ) {
        ...

toInt

Converts to Int. When true returns positive value and for false returns 0. Do not assume any particular integer value for true.

init(fromInt:)

Creates Bool instance from Int. When value is 0 returns false and true for all other cases.


?? Rabbit Hole

This project is part of the ?? Rabbit Hole Packages Collection

GitHub

View Github