ExGtin (ExGtin v1.2.0)
View SourceDocumentation for ExGtin. This library provides functionality for validating GTIN compliant codes.
Summary
Functions
Generates valid GTIN-8, GTIN-12, GTIN-13, GTIN-14, GSIN, SSCC codes
Generates valid GTIN-8, GTIN-12, GTIN-13, GTIN-14, GSIN, SSCC codes
Find the GS1 prefix country for a GTIN number
Converts a GTIN or ISBN to GTIN-14 format
Check for valid GTIN-8, GTIN-12, GTIN-13, GTIN-14, GSIN, SSCC codes
Check for valid GTIN-8, GTIN-12, GTIN-13, GTIN-14, GSIN, SSCC codes
Types
Functions
Generates valid GTIN-8, GTIN-12, GTIN-13, GTIN-14, GSIN, SSCC codes
Returns code with check digit
Examples
iex> ExGtin.generate("629104150021")
{:ok, "6291041500213"}
iex> ExGtin.generate("62921")
{:error, "Invalid GTIN Code Length"}
Generates valid GTIN-8, GTIN-12, GTIN-13, GTIN-14, GSIN, SSCC codes
Throws Argument Exception if there was an error
Examples
iex> ExGtin.generate!("629104150021")
"6291041500213"
iex> ExGtin.generate!("62921")
** (ArgumentError) Invalid GTIN Code Length
Find the GS1 prefix country for a GTIN number
Returns {atom, String.t()}
Examples
iex> ExGtin.gs1_prefix_country("53523235")
{:ok, "GS1 Malta"}
iex> ExGtin.gs1_prefix_country("6291041500214")
{:ok, "GS1 Emirates"}
iex> ExGtin.gs1_prefix_country("9541041500214")
{:error, "No GS1 prefix found"}
Converts a GTIN or ISBN to GTIN-14 format
Examples
iex> ExGtin.normalize("6291041500213")
{:ok, "16291041500210"}
Check for valid GTIN-8, GTIN-12, GTIN-13, GTIN-14, GSIN, SSCC codes
Returns {:ok, "GTIN-#"}
or {:error}
Examples
iex> ExGtin.validate("6291041500213")
{:ok, "GTIN-13"}
iex> ExGtin.validate("6291041500214")
{:error, "Invalid Code"}
Check for valid GTIN-8, GTIN-12, GTIN-13, GTIN-14, GSIN, SSCC codes
Throws ArgumentError if an error occurs
Examples
iex> ExGtin.validate!("6291041500213")
"GTIN-13"