diff --git a/src/index.js b/src/index.js index 4ab9005..e79d74c 100644 --- a/src/index.js +++ b/src/index.js @@ -634,6 +634,30 @@ const parse = (raw) => { return result; }; +const isTz = (raw) => { + let result = false; + if (patterns.avl05.test(raw.toString())) { + result = true; + } else if (patterns.avl08.test(raw.toString())) { + result = true; + } else if (patterns.avl201.test(raw.toString())) { + result = true; + } else if (patterns.receiveOk.test(raw.toString())) { + result = true; + } else if (patterns.picture.test(raw.toString())) { + result = true; + } else if (patterns.receiveErr.test(raw.toString())) { + result = true; + } else if (patterns.info.test(raw.toString())) { + result = true; + } else if (patterns.firmware.test(raw.toString())) { + result = true; + } else if (patterns.map.test(raw.toString())) { + result = true; + } + return result; +}; + module.exports = { parse: parse, patterns: patterns, @@ -647,5 +671,6 @@ module.exports = { getCommandInfo: getCommandInfo, getCommandMap: getCommandMap, verifyLen: verifyLen, - verifyCrc: verifyCrc + verifyCrc: verifyCrc, + isTz: isTz }; diff --git a/test/test.js b/test/test.js index a4b7590..98be530 100644 --- a/test/test.js +++ b/test/test.js @@ -678,4 +678,10 @@ describe('tz-parzer', () => { data: 'FFD8FFDB008400100B0C0E0C0A100E0D0E1211101318281A181616183123251D283A333D3C3933383740485C4E404457453738506D51575F626768673E4D71797064785C656763011112121815182F1A1A2F634238426363636363636363636363636363' }]); }); + + it('should return true', () => { + const raw = new Buffer('$$B6869444005480041|AA$GPRMC,194329.000,A,3321.6735,S,07030.7640,W,0.00,0.00,090216,,,A*6C|02.1|01.3|01.7|000000000000|20160209194326|13981188|00000000|32D3A03F|0000|0.6376|0100|995F\r\n'); + const data = tz.isTz(raw); + expect(data).to.be.a.true; + }); });