nl_tokens: / * eslint - disable no - param - reassign
pl_tokens: function getKeys ( obj = { } , flag = false , oldPath = '' , allKeys = [ ] , allGroups = [ ] ) { let isValue = true ; Object . keys ( obj ) . forEach ( ( key ) => { const value = obj [ key ] ; const newPath = oldPath + key ; if ( isPlainObject ( value ) && key !== RAW && key !== '__meta' ) { isValue = true ; if ( newPath !== 'settings' ) { allGroups . push ( true ) ; allKeys . push ( newPath ) ; } const <mask> = getKeys ( value , flag , ` ${ newPath } ` , allKeys , allGroups ) ; // If nothing was changed we where in a value, not a group if ( keys . value ) { allGroups [ allGroups . length - 1 ] = false ; } } else if ( flag && key !== '__meta' ) { allKeys . push ( newPath ) ; allGroups . push ( false ) ; } } ) ; return { paths : allKeys , groups : allGroups , value : isValue , } ; }