UNPKG

epc-tds-ts

Version:

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

52 lines (51 loc) 2.06 kB
/* * EPC Tag Data Standard * 2021 Sergio S. */ "use strict"; var Utils = require("./epc/utils/utils"); var Sgtin96 = require("./epc/sgtin/sgtin96").Sgtin96; var Sgtin198 = require("./epc/sgtin/sgtin198").Sgtin198; var Sgln96 = require("./epc/sgln/sgln96").Sgln96; var Sgln195 = require("./epc/sgln/sgln195").Sgln195; var Sscc96 = require("./epc/sscc/sscc96").Sscc96; var Grai96 = require("./epc/grai/grai96").Grai96; var Grai170 = require("./epc/grai/grai170").Grai170; var Gid96 = require("./epc/gid/gid96").Gid96; var Giai96 = require("./epc/giai/giai96").Giai96; var Giai202 = require("./epc/giai/giai202").Giai202; var Gsrn96 = require("./epc/gsrn/gsrn96").Gsrn96; var Cpi96 = require("./epc/cpi/cpi96").Cpi96; function valueOf(hexEpc) { var header = Utils.hexToByte(hexEpc, 0); // first byte of EPC switch (header) { case Grai96.EPC_HEADER: return new Grai96(hexEpc); case Grai170.EPC_HEADER: return new Grai170(hexEpc); case Sscc96.EPC_HEADER: return new Sscc96(hexEpc); case Sgln96.EPC_HEADER: return new Sgln96(hexEpc); case Sgln195.EPC_HEADER: return new Sgln195(hexEpc); case Sgtin96.EPC_HEADER: return new Sgtin96(hexEpc); case Sgtin198.EPC_HEADER: return new Sgtin198(hexEpc); case Gid96.EPC_HEADER: return new Gid96(hexEpc); case Giai96.EPC_HEADER: return new Giai96(hexEpc); case Giai202.EPC_HEADER: return new Giai202(hexEpc); case Gsrn96.EPC_HEADER: return new Gsrn96(hexEpc); case Cpi96.EPC_HEADER: return new Cpi96(hexEpc); default: throw new Error("Unsupported EPC: '".concat(hexEpc, "'")); } } exports = module.exports = { Sgtin96: Sgtin96, Sgtin198: Sgtin198, Sgln96: Sgln96, Sgln195: Sgln195, Sscc96: Sscc96, Grai96: Grai96, Grai170: Grai170, Gid96: Gid96, Giai96: Giai96, Giai202: Giai202, Gsrn96: Gsrn96, Cpi96: Cpi96, Utils: Utils }; exports.valueOf = valueOf;