README.md

# gluple

[![Package Version](https://img.shields.io/hexpm/v/gluple)](https://hex.pm/packages/gluple)
[![Hex Docs](https://img.shields.io/badge/hex-docs-ffaff3)](https://hexdocs.pm/gluple/)

Tuple methods for Gleam

```sh
gleam add gluple
```

```gleam
import gluple/reflect as gr
import gluple/addition as ga
import gluple/transform as gt
import gluple/removal as grm

pub fn main() {
  gr.is_tuple(#(1, 2, 3)) // True

  gr.tuple_size(#(1, True, "test")) // Ok(3)

  gr.tuple_element(#("test"), 0) // Ok(dynamic.from("test"))

  gr.tuple_to_list(#(1, 2, 3)) // Ok([dynamic.from(1), dynamic.from(2), dynamic.from(3)])

  gr.list_to_tuple([1, 2, 3]) // dynamic.from(#(1, 2, 3))

  ga.append2(#(1, True), "test") // #(1, True, "test")

  {
    use _n, _b, <- ga.with_append2(#(1, True))
    "test"
  } // #(1, True, "test")

  gt.replace_last2(#(1, True), "test") // #(1, "test")

  {
    use _n, _b, <- ga.with_replace2(#(1, True))
    "test"
  } // #(1, "test")

  #(1, True) |> grm.remove_first2 // #(True)
}
```

Further documentation can be found at <https://hexdocs.pm/gluple>.

## Development

```sh
gleam run   # Run the project
gleam test  # Run the tests
gleam shell # Run an Erlang shell
```