Skip to content

`&>` A tiny library that enables us to describe operations in method-chain.

License

Notifications You must be signed in to change notification settings

VergeGroup/swift-operator-wrap

Repository files navigation

value&>.do { ... }

A tiny library that enables us to describe operations in method-chain.

Usage

let result: String = ""&>.map { Int($0) }&>.do { print($0 as Any) }

let value: String? = ""&>.filter { !$0.isEmpty }

let view: UIView = UIView()&>.do {
  $0.backgroundColor = .white
}
let someProperty = await fetch()&>.map { data in
  data.someProperty
}

Motivation

Actually, I'm not addicted to getting a custom operator.
However a global function or operator are the only way to add a new feature without customizing our own types.

Another way is using something protocol and extending it like this.
It can not be used in struct without adding that protocol.

In fact, this structure looks very natural, because the all of method chaining in Swift standard libary come from an kind of monad.
Like, Optional, Array and Dictionary.

And this keeps Swift clean code base at the beginning.
You have no methods at you declared a struct!

About

`&>` A tiny library that enables us to describe operations in method-chain.

Topics

Resources

License

Stars

Watchers

Forks

Languages