Skip to content
/ epc-tds Public
forked from sergiss/epc-tds

🏭 EPC Tag Data Standard encoding and decoding library, written in javascript for Node.js

License

Notifications You must be signed in to change notification settings

sstid/epc-tds

This branch is up to date with sergiss/epc-tds:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7e0365d Â· Jul 6, 2024
Mar 23, 2022
Jul 6, 2024
Jul 6, 2024
Mar 12, 2022
Jul 6, 2024
Mar 24, 2024
Mar 24, 2024
Sep 2, 2021
Mar 24, 2024
Mar 24, 2024
Mar 24, 2024
Mar 24, 2024
Jul 6, 2024
Mar 24, 2024

Repository files navigation

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

Usage

Automatic decoding of any standard (SGTIN-96, SGTIN-198, SSCC-96, SGLN-96, GID, GRAI, GSRN, ...)

const 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

const 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

const 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

<!DOCTYPE html>
<html lang="en">
    <head>
        <script src="/bundle/epc-tds.min.js"></script>
    </head>
    <body>
        <script>
            const tds = require('epc-tds')
            let epc = tds.valueOf("3074257BF7194E4000001A85");
            alert(epc.toTagURI());
        </script> 
    </body>
</html>

www.sergiosoriano.com

About

🏭 EPC Tag Data Standard encoding and decoding library, written in javascript for Node.js

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 49.8%
  • TypeScript 48.3%
  • HTML 1.9%