diff --git a/src/postgrest.js b/src/postgrest.js index 4523c0a..897178e 100644 --- a/src/postgrest.js +++ b/src/postgrest.js @@ -123,20 +123,19 @@ export default (api_root, auth={}) => { if (options.queries) { // build the query string let _query_string = options.queries - .filter(query => typeof query != 'undefined') .map(query => { + if (typeof query == 'undefined') return undefined + // prepare the query kv pair and optional operator let k = query.label let v = query.value let op = query.op - // return early if v is empty - if (typeof v == 'undefined' || (!v && v !== 0)) - return undefined - // generate value if v is a function - if (typeof v == 'function') - v = v() + if (typeof v == 'function') v = v() + + // return early if v is empty + if (typeof v == 'undefined' || (!v && v !== 0)) return undefined // format v on k & op if (op == 'like') @@ -152,6 +151,7 @@ export default (api_root, auth={}) => { return {k: k, v: op ? `${op}.${v}` : v} }) + .filter(query => typeof query != 'undefined') .map(query => query.k + '=' + encodeURIComponent(query.v)).join('&') // append query string to url if necessary