gluhn

A Luhn algorithm library for Gleam.

Package Version Hex Docs

gleam add gluhn@1
import gluhn

pub fn main() {
  // Generate a Luhn-valid 10 digit number
  let assert Ok(valid_number) = gluhn.generate(n: 10)

  // Generate a Luhn-valid 16 digit number prefixed by 42
  let assert Ok(valid_number_2) = gluhn.generate_from(prefix: 42, n: 16)

  // Calculate the checksum digit of a number
  let regular_number = 123_456_789
  let assert 7 = gluhn.checksum(regular_number)

  // Check if a number is Luhn-valid
  let assert True = gluhn.validate(valid_number)
  let assert True = gluhn.validate(valid_number_2)
}

Further documentation can be found at https://hexdocs.pm/gluhn.

Development

gleam test  # Run the tests

gleam format # Format code

License

This project is licensed under the Apache License 2.0. See the LICENSE file for details.

Search Document