Popularity
5.9
Declining
Activity
0.0
Stable
26
4
4

Programming language: Crystal
License: MIT License
Tags: Examples And Funny Stuff    
Latest version: v0.3.0

try.cr alternatives and similar shards

Based on the "Examples and funny stuff" category.
Alternatively, view try.cr alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of try.cr or a related project?

Add another 'Examples and funny stuff' Shard

README

try.cr Build Status

Try monad for Crystal.

  • crystal: 0.27.2 0.31.1 0.32.1 0.33.0 0.34.0

Usage

require "try"

i = Try(Int32).try { 1 }              # => Success(Int32)
i.get                                 # => 1
i.err                                 # raises "not failed"
i.value                               # => 1
i.map(&.+ 1).value                    # => 2

i = Try(Int32).try { raise "error" }  # => Failure(Int32)
i.get                                 # raises "error"
i.err                                 # => Exception("error")
i.value                               # => Exception("error")
i.map(&.+ 1).value                    # => Exception("error")

API

def success? : Bool
def failure? : Bool
def value : T
def get : T
def get? : T?
def err : Exception
def err? : Exception?
def failed : Try(Exception)
def foreach(&block : T -> U) : Nil
def map(&block : T -> U) : Try(U)
def flat_map(&block : T -> Try(U)) : Try(U)
def recover(&block : Exception -> T) : Try(T)

Installation

Add this to your application's shard.yml:

dependencies:
  try:
    github: maiha/try.cr
    version: 0.3.0

Development

make ci

Contributing

  1. Fork it ( https://github.com/maiha/try.cr/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

  • maiha maiha - creator, maintainer