1.0.5 • Published 2 years ago

rustic-ts v1.0.5

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

rustic-ts

a collection of rust like utilities like Result, Option, and some types (not yet implemented) for typescript

install

yarn add rustic-ts

usage

Result<T, E>

  • Result<T, E> is a type that represents either a success (containing a value of type T) or a failure (containing an error of type E).
  • it can be either Ok obj or Err obj like this:
function str_to_number(str: string): Result<number, Error> {
  let num = parseInt(str)
  if (isNaN(num)) {
    return Err(Error("not a number"))
  }
  return Ok(parseInt(str))
}

Option

  • Option<T> is a type that represents an optional value.
  • it can be either Some obj or None obj like this:
let optional_number: Option<number> = Some(1)
let optional_string: Option<string> = None()

match

  • match is a keyword that can be used to match on a value which is result and option.
  • it can be used like this:
let optional_number: Option<number> = Some(1)
1 == match(optional_number, {
    Some(num) => num,
    None() => 0
})

trycatch_to_result(T) -> Result<T, Error>

  • trycatch_to_result(T) -> Result<T, Error> is a function that can be used to convert a function that can throw an error to a function that returns a result.
function str_to_number(str: string): number {
  let num = parseInt(str)
  if (isNaN(num)) {
    throw Error("not a number")
  }
  return num
}

let result = trycatch_to_result<number, Error>(() => str_to_number("1"))

development

install dependencies

yarn install

test

npm t

TODO

  • int32
  • int64
  • float32
  • float64
  • array
1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago