11const _ = require ( 'lodash' )
22const evalInContext = require ( './eval' )
33
4- const BASE64_PLACEHOLDER = '*b64'
54const brace = new Buffer ( '{' ) [ 0 ]
65const bracket = new Buffer ( '[' ) [ 0 ]
76const doubleQuote = new Buffer ( '"' ) [ 0 ]
@@ -25,11 +24,6 @@ const applySelect = ({select, payload, context}) => {
2524 let event = { }
2625 const json = maybeParseJSON ( payload )
2726
28- // if payload is Buffer initialize Buffer class from base64 string
29- const payloadReplacement = Buffer . isBuffer ( payload )
30- ? `new Buffer('${ payload . toString ( 'base64' ) } ', 'base64')`
31- : payload
32-
3327 // iterate over select parsed array
3428 // ex. [{alias: 'serialNumber', field: 'topic(2)'}, {field: 'state.reported.preferences.*'}]
3529 for ( let part of select ) {
@@ -45,9 +39,8 @@ const applySelect = ({select, payload, context}) => {
4539 }
4640 // check if field is sqlFunction
4741 } else if ( Object . keys ( context ) . some ( ( sqlFunc ) => ( new RegExp ( `${ sqlFunc } \\((.*)\\)` ) . test ( field ) ) ) ) {
48- let js = field . replace ( BASE64_PLACEHOLDER , payloadReplacement )
4942 // execute sqlFunction
50- event [ alias || field . replace ( / \( ( ) \) / , '' ) ] = evalInContext ( js , context )
43+ event [ alias || field . replace ( / \( ( ) \) / , '' ) ] = evalInContext ( field , context )
5144 } else {
5245 // event is some property on shadow
5346 let propPath = field . split ( '.' )
0 commit comments