nl_tokens: The following should be an object but the csv parser returns it as a string so this is used to fix that mistake { \ latitude \ : - 6 . 081689835 \ longitude \ : 145 . 3919983 \ level - 2 \ : { \ level - 3 \ : \ woohoo \ }} it also doesn t handle numbers correctly so this fixes those instances as well
pl_tokens: function fix ( a , b ) { /* istanbul ignore if : too hard to create a test case for it */ if ( ! a || ! b ) { return a ; } for ( let k in b ) { // eslint-disable-line if ( b . hasOwnProperty ( k ) ) { /* istanbul ignore if : too hard to create a test case for it */ if ( is . plainObject ( b [ k ] ) ) { a [ k ] = is . plainObject ( a [ k ] ) ? fix ( a [ k ] , b [ k ] ) : b [ k ] ; } else if ( is . string ( b [ k ] ) && / ^[0-9]+$ / . test ( b [ k ] ) ) { // convert string into a number a [ k ] = to . number ( b [ k ] ) ; } else if ( is . <mask> ( b [ k ] ) && b [ k ] [ 0 ] === '{' ) { // convert string into an object a [ k ] = fix ( { } , to . object ( b [ k ] ) ) ; } else { a [ k ] = b [ k ] ; } } } return a ; }