Package Exports
- gtin
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (gtin) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
gtin
GTIN (UPC, EAN, ITF, etc.) utilities.
npm install gtin
- gtin.isGTIN(barcode)
- gtin.isValid(barcode)
- gtin.minify(barcode)
- gtin.getFormat(barcode)
- gtin.getRealFormat(barcode)
- gtin.upcE.compress(barcode)
- gtin.upcE.expand(barcode)
gtin.isGTIN(barcode)
Returns true or false, depending on if the string given is a GTIN barcode. Throws an error if an empty string or anything other than a string is provided.
NOTE: This does not validate the code by check digit. Validation is done
with gtin.isValid
.
import { isGTIN } from 'gtin'
isGTIN('1234') // false
isGTIN('12341238') // true
isGTIN('') // Error thrown
isGTIN(123) // Error thrown
gtin.isValid(barcode)
Validates a GTIN (14, 13, 12, or 8-digit) barcode by check digit. Barcode must be a string.
To validate a UPC-E barcode, expand it first: isValid(upcE.expand('01278906'))
import { isValid } from 'gtin'
isValid('12341238') // true
isValid('1234123412344') // true
isValid('12341234123413') // true
isValid('012000007897') // true
isValid('012000007896') // false
isValid('abc') // Error thrown
isValid(123) // Error thrown
isValid('123') // Error thrown
gtin.minify(barcode)
Minifies GTIN to smallest possible representation, by stripping as many leading zeroes as possible. Does not compress to UPC-E.
import { minify } from 'gtin'
minify('00000012341238') // '12341238'
minify('0000012341238') // '12341238'
minify('01234123412344') // '1234123412344
minify('001234123412344') // Error thrown
minify('abc') // Error thrown
minify(123) // Error thrown
minify('123') // Error thrown
gtin.getFormat(barcode)
Gets the format of the given barcode. Does not validate checksum.
import { getFormat } from 'gtin'
getFormat('12341238') // 'GTIN-8'
getFormat('123412341234') // 'GTIN-12'
getFormat('1234123412344') // 'GTIN-13'
getFormat('01234123412344') // 'GTIN-14'
getFormat('123412381') // Error thrown
getFormat('abc') // Error thrown
getFormat(123) // Error thrown
getFormat('123') // Error thrown
gtin.getRealFormat(barcode)
Gets the real format of the given barcode, by minifying it first.
import { getRealFormat } from 'gtin'
getRealFormat('1234123412344') // 'GTIN-13'
getRealFormat('01234123412344') // 'GTIN-13'
getRealFormat('123412381') // Error thrown
getRealFormat('abc') // Error thrown
getRealFormat(123) // Error thrown
getRealFormat('123') // Error thrown
gtin.upcE.compress(barcode)
Compress a UPC-A barcode to an 8-digit UPC-E barcode. Does not validate code by check digit. Barcode must be a string.
- 12-digit UPC-A: Number system and check digits are taken into account.
- 11-digit UPC-A: Number system 0 is assumed. Check digit is taken into account.
- 10-digit UPC-A: Number system 0 is assumed. Check digit is generated.
import { upcE } from 'gtin'
upcE.compress('1200000789') // '01278907'
upcE.compress('12000007897') // '01278907'
upcE.compress('012000007897') // '01278907'
upcE.compress('012000007896') // '01278906'
upcE.compress('012345678905') // null
upcE.compress(123) // Error thrown
upcE.compress('123') // Error thrown
upcE.compress('abc') // Error thrown
gtin.upcE.expand(barcode)
Expands a UPC-E barcode to a 12-digit UPC-A barcode. Does not validate code by check digit. Barcode must be a string.
- 8-digit UPC-E: Number system and check digits are taken into account.
- 7-digit UPC-E: Number system 0 is assumed. Check digit is taken into account.
- 6-digit UPC-E: Number system 0 is assumed. Check digit is generated.
import { upcE } from 'gtin'
upcE.expand('127890') // '012000007897'
upcE.expand('1278907') // '012000007897'
upcE.expand('01278907') // '012000007897'
upcE.expand('01278906') // '012000007896'
upcE.expand('123412341') // Error thrown
upcE.expand(123) // Error thrown
upcE.expand('123') // Error thrown
upcE.expand('abc') // Error thrown