erp12.fijit.option
Idiomatic Clojure wrapper around the scala.Option
abstraction.
defined?
(defined? opt)
Returns true if the given option is not empty (aka is a Some
). False otherwise.
empty?
(empty? opt)
Returns true if the given option is empty (aka is a None
). False otherwise.
get
macro
(get opt)
(get opt or-else)
Gets the value of the Option
.
If the or-else
form is not provide and the Option is empty (aka a None
object) a NoSuchElementException
will be thrown. If or-else
is provided, the form will be evaluated in the case of a None
.
Examples:
(get (option 1)) ; => 1
(get none) ; throws NoSuchElementException
(get none :default) ; => :default
(get none (throw (ex-info "Oh no!" {}))) ; throws ExceptionInfo
get-or-nil
(get-or-nil opt)
Get’s the value of the Option
or returns nil
if option is empty (aka None
).
none
An instance of scala.None
.
option
(option)
(option value)
Create a scala.Option
. If no value is given, or the value is nil
a scala.None
will be returned. Otherwise the result will be a scala.Some
that wraps the given value.