11'use strict' ;
22
3- import pad from 'pad' ;
4- import moment from 'moment' ;
3+ const pad = require ( 'pad' ) ;
4+ const moment = require ( 'moment' ) ;
55
66/**
77 * Get checksum from raw data
88 *
99 * @param {string } data - raw data
1010 * @return {string } checksum en hex
1111 */
12- const getChecksum = ( data ) => {
12+ const getChecksum = data => {
1313 let checksum ;
1414 const idx1 = data . indexOf ( '$GP' ) ;
1515 const idx2 = data . indexOf ( '*' ) ;
@@ -25,7 +25,7 @@ const getChecksum = (data) => {
2525 * @param {string } data - raw data
2626 * @return {boolean } if valid data
2727 */
28- const verifyChecksum = ( data ) => {
28+ const verifyChecksum = data => {
2929 const idx = data . indexOf ( '*' ) ;
3030 return getChecksum ( data ) === parseInt ( data . substr ( idx + 1 , 2 ) , 16 ) ;
3131} ;
@@ -46,7 +46,7 @@ const gpgga = /^\$GP(\w{3})\,(\d{6}([.]\d+)?)\,(\d{4}[.]\d+\,[NS])\,(\d{5}[.]\d+
4646 * @param {string } data - raw data
4747 * @return {boolean } if valid data
4848 */
49- const isValid = ( data ) => {
49+ const isValid = data => {
5050 return gprmc . test ( data ) && verifyChecksum ( data ) ;
5151} ;
5252
@@ -56,7 +56,7 @@ const isValid = (data) => {
5656 * @param {string } data - raw data
5757 * @return {string } degree [dmm]
5858 */
59- const latToDmm = ( data ) => {
59+ const latToDmm = data => {
6060 const tmp = data . toString ( ) . split ( '.' ) ;
6161 const deg = pad ( 2 , Math . abs ( tmp [ 0 ] ) , '0' ) ;
6262 const mim = pad ( 7 , ( ( '0.' + ( tmp [ 1 ] || 0 ) ) * 60 ) . toFixed ( 4 ) , '0' ) ;
@@ -70,7 +70,7 @@ const latToDmm = (data) => {
7070 * @param {string } data - raw data
7171 * @return {string } degree [dmm]
7272 */
73- const lngToDmm = ( data ) => {
73+ const lngToDmm = data => {
7474 const tmp = data . toString ( ) . split ( '.' ) ;
7575 const deg = pad ( 3 , Math . abs ( tmp [ 0 ] ) , '0' ) ;
7676 const mim = pad ( 7 , ( ( '0.' + ( tmp [ 1 ] || 0 ) ) * 60 ) . toFixed ( 4 ) , '0' ) ;
@@ -84,9 +84,12 @@ const lngToDmm = (data) => {
8484 * @param {string } data - Degree in dmm.
8585 * @return {number } decimals
8686 */
87- const degToDec = ( data ) => {
87+ const degToDec = data => {
8888 let decimal = 0.0 ;
89- const [ deg , min , sign ] = data . match ( / ( \d { 2 , 3 } ) ( \d { 2 } [ . ] \d + ) \, ( [ N S W E ] ) / ) . slice ( 1 ) ;
89+ const _data = data . match ( / ( \d { 2 , 3 } ) ( \d { 2 } [ . ] \d + ) \, ( [ N S W E ] ) / ) . slice ( 1 ) ;
90+ const deg = _data ;
91+ const min = _data ;
92+ const sign = _data ;
9093 if ( deg && min && sign ) {
9194 decimal = parseFloat ( deg ) + parseFloat ( min ) / 60 ;
9295 if ( ( sign === 'S' ) || ( sign === 'W' ) ) {
@@ -102,7 +105,7 @@ const degToDec = (data) => {
102105 * @param {string } data - knots
103106 * @return {number } km/h
104107 */
105- const knotsToKmh = ( knots ) => {
108+ const knotsToKmh = knots => {
106109 let kmh = null ;
107110 if ( knots ) {
108111 kmh = parseFloat ( knots ) * 1.852 ;
@@ -116,7 +119,7 @@ const knotsToKmh = (knots) => {
116119 * @param {number } data - km/h
117120 * @return {number } knots
118121 */
119- const kmhToKnots = ( kmh ) => {
122+ const kmhToKnots = kmh => {
120123 let knots = 0.0 ;
121124 if ( kmh ) {
122125 knots = kmh / 1.852 ;
@@ -156,7 +159,7 @@ const gpsQualities = {
156159 * @param {string } raw - raw data
157160 * @return {object } data parse
158161 */
159- const parseRmc = ( raw ) => {
162+ const parseRmc = raw => {
160163 let data = { raw : raw , valid : false } ;
161164 const r = gprmc . exec ( raw ) ;
162165 if ( isValid ( raw ) ) {
@@ -194,7 +197,7 @@ const parseRmc = (raw) => {
194197 * @param {string } raw - raw data
195198 * @return {object } data parse
196199 */
197- const parseGga = ( raw ) => {
200+ const parseGga = raw => {
198201 let data = { raw : raw , valid : false } ;
199202 const r = gpgga . exec ( raw ) ;
200203 data . raw = raw ;
@@ -224,7 +227,7 @@ const parseGga = (raw) => {
224227 return data ;
225228} ;
226229
227- const parse = ( raw ) => {
230+ const parse = raw => {
228231 let data = { raw : raw , valid : false } ;
229232 if ( gprmc . test ( raw ) ) {
230233 data = parseRmc ( raw ) ;
0 commit comments