123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- "use strict";
- var PROTOCOL_TYPE = 0,
- PAGLENMAX = 255,
- TRANSFER_TYPE = 0,
- DATA_TYPE = 0,
- CMD_TYPE = 0;
-
- function showLog() {
- if (!(arguments.length < 1)) {
- for (var r = arguments[0], t = 1; t < arguments.length; t++) r += " " + arguments[t];
- console.log(r)
- }
- }
-
- function showError() {
- if (!(arguments.length < 1)) {
- for (var r = arguments[0], t = 1; t < arguments.length; t++) r += " " + arguments[t];
- console.error(r)
- }
- }
-
- function byteArray2hexStr(r) {
- return Array.prototype.map.call(new Uint8Array(r), function(r) {
- return ("00" + r.toString(16)).slice(-2)
- }).join("")
- }
-
- function hexStr2byteArray(r) {
- return new Uint8Array(r.match(/[\da-f]{2}/gi).map(function(r) {
- return parseInt(r, 16)
- }))
- }
-
- function byte2hexStr(r) {
- var t = "0123456789abcdef",
- e = "";
- return e += t.charAt(r >> 4), e += t.charAt(15 & r)
- }
-
- function getProtocolType() {
- return PROTOCOL_TYPE
- }
-
- function getPagLenMax() {
- return PAGLENMAX
- }
-
- function getTRANSFER_TYPE() {
- return TRANSFER_TYPE
- }
-
- function getDATA_TYPE() {
- return DATA_TYPE
- }
-
- function getCMD_TYPE() {
- return CMD_TYPE
- }
-
- function APDU2TPDU(r) {
- var t = hexStr2byteArray(r),
- e = "";
- if ("01" == r.substring(0, 2)) e = r;
- else {
- for (var n = new Array, o = 0, A = 0; A < t[0]; A++) {
- var a = o + 2,
- P = o + 2 + t[o + 1];
- o += 1 + t[o + 1], n[A] = r.substring(2 * a, 2 * P)
- }
- for (A = 0; A < t[0]; A++) {
- var T = n[A].length / 2;
- e += byte2hexStr(A + 1 & 255) + byte2hexStr(255 & T) + n[A]
- }
- }
- return e
- }
-
- function TPDU2APDU(r) {
- for (var t = hexStr2byteArray(r), e = "", n = new Array, o = 0, A = t.byteLength; o < A;) {
- var a = t[o++],
- P = t[o++];
- n[a - 1] = r.substring(2 * o, 2 * (o + P)), o += P
- }
- e = byte2hexStr(255 & n.length);
- for (var T = 0; T < n.length; T++) e += byte2hexStr(n[T].length / 2 & 255) + n[T];
- return e
- }
- module.exports = {
- showLog: showLog,
- byteArray2hexStr: byteArray2hexStr,
- hexStr2byteArray: hexStr2byteArray,
- showError: showError,
- byte2hexStr: byte2hexStr,
- getProtocolType: getProtocolType,
- getPagLenMax: getPagLenMax,
- getTRANSFER_TYPE: getTRANSFER_TYPE,
- getDATA_TYPE: getDATA_TYPE,
- getCMD_TYPE: getCMD_TYPE,
- APDU2TPDU: APDU2TPDU,
- TPDU2APDU: TPDU2APDU
- };
|