Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sergiss/epc-tds
:factory: EPC Tag Data Standard encoding and decoding library, written in typescript/javascript for Node.js
https://github.com/sergiss/epc-tds
decoding encoding epc gdti gia gid gpi grai gs1 gsrn library node-js rfid sgcn sgln sgtin sscc typescript
Last synced: 14 days ago
JSON representation
:factory: EPC Tag Data Standard encoding and decoding library, written in typescript/javascript for Node.js
- Host: GitHub
- URL: https://github.com/sergiss/epc-tds
- Owner: sergiss
- License: mit
- Created: 2021-09-01T18:51:03.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-07-06T14:49:20.000Z (7 months ago)
- Last Synced: 2025-01-11T08:07:00.437Z (27 days ago)
- Topics: decoding, encoding, epc, gdti, gia, gid, gpi, grai, gs1, gsrn, library, node-js, rfid, sgcn, sgln, sgtin, sscc, typescript
- Language: JavaScript
- Homepage:
- Size: 2.32 MB
- Stars: 31
- Watchers: 5
- Forks: 17
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# epc-tds
EPC Tag Data Standard encoding and decoding library, offering full compatibility across JavaScript and TypeScript environments, including both Node.js and frontend applications.
Simple, very fast and easy to use ;)
[![NPM Version][npm-version-image]][npm-url]
## Usage
### Automatic decoding of any standard (SGTIN-96, SGTIN-198, SSCC-96, SGLN-96, GID, GRAI, GSRN, ...)
```jsconst epcTds = require('epc-tds');
var epc = epcTds.valueOf("3074257BF7194E4000001A85"); // SGTIN-96
console.log("Id URI : " + epc.toIdURI());
console.log("Tag URI: " + epc.toTagURI());
console.log("Barcode: " + epc.toBarcode()); // sgtin
console.log("Serial : " + epc.getSerial());epc = epcTds.valueOf("3178E61C883950F59A000000"); // SSCC-96
console.log("Id URI : " + epc.toIdURI());
console.log("Tag URI: " + epc.toTagURI());
console.log("Barcode: " + epc.toBarcode()); // sscc
console.log("Serial : " + epc.getSerialReference());epc = epcTds.valueOf("377A6BB0C1BDA6D9B664D1AB266D1AB266D1AB266D00"); // GRAI-170
console.log("Id URI : " + epc.toIdURI());
console.log("Tag URI: " + epc.toTagURI());
console.log("Barcode: " + epc.toBarcode()); // grai
console.log("Serial : " + epc.getSerial());```
### Decode Hex EPC
```jsconst epcTds = require('epc-tds');
// Decode from Hex EPC
let epc = tds.valueOf("3074257BF7194E4000001A85"); // sgtin-96// Acces to epc properties
console.log("Type: " + epc.getType()); // TDS ID
console.log("Filter: " + epc.getFilter()); // filter index
console.log("Partition: " + epc.getPartition()); // partition index
console.log("CompanyPrefix: " + epc.getCompanyPrefix());
console.log("ItemReference: " + epc.getItemReference());
console.log("GTIN(EAN): " + epc.getGtin()); // ean
console.log("HexEPC: " + epc.toHexString()); // HEX EPC
console.log("Tag URI: " + epc.toTagURI());// Decode from Hex Tag URI
epc = epcTds.fromTagURI('urn:epc:tag:sgtin-96:3.0614141.812345.6789');
console.log("HexEPC: " + epc.toHexString()); // HEX EPC
console.log("Tag URI: " + epc.toTagURI());```
### Encode Hex EPC
```jsconst epcTds = require('epc-tds');
// e.g. 1: EAN + Serial
let epc1 = new epcTds.Sgtin96().setFilter(3)
.setPartition(5)
.setGtin("00001234523457")
.setSerial(1823342345);console.log("HexEPC: " + epc1.toHexString()); // HEX EPC
console.log("Tag URI: " + epc1.toTagURI());
// e.g. 2: (companyPrefix + ItemReference) + Serial
let epc2 = new epcTds.Sgtin96().setFilter(3)
.setPartition(5)
.setCompanyPrefix(78952)
.setItemReference(44235)
.setSerial(1010011010);
console.log("HexEPC: " + epc2.toHexString()); // HEX EPC
console.log("Tag URI: " + epc2.toTagURI());```
**Note:** This is a summary of how the library works, check the source code for more features.
### Frontend version
```
const tds = require('epc-tds')
let epc = tds.valueOf("3074257BF7194E4000001A85");
alert(epc.toTagURI());
```
[www.sergiosoriano.com](https://www.sergiosoriano.com)
[npm-url]: https://npmjs.org/package/epc-tds
[npm-version-image]: https://img.shields.io/npm/v/epc-tds