export function applyQuery()

in src/components/Database/DataViewer/common/fetch.ts [142:162]


export function applyQuery(
  ref: firebase.database.Reference,
  params: QueryParams
): firebase.database.Query {
  const { key, operator, value, limit } = params;
  // Check the existence value instead of it being falsy. This prevents bugs
  // where the "value" is actually false.
  // ex: { key: "completed", operator: "==", value: "false" }
  if (key != null && operator != null && value != null) {
    let query = ref.orderByChild(key).limitToFirst(limit || DEFAULT_PAGE_SIZE);
    switch (operator) {
      case '==':
        return query.equalTo(value);
      case '<=':
        return query.endAt(value);
      case '>=':
        return query.startAt(value);
    }
  }
  return ref.limitToFirst(limit || DEFAULT_PAGE_SIZE);
}