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
JavaScript
/*
* EPC Tag Data Standard
* 2021 Sergio S.
*/
;
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;