Skip to content

queryDefaults

Adds default properties to a Feathers query — but only for fields the query does not already constrain. Presence is checked with queryHasProperty, so a field referenced anywhere (including nested in $and/$or/$nor) is left untouched and the caller keeps control over it. The query is treated as the data equivalent of the defaults transformer. Each default is applied independently (per-field).

ts
  import {  } from 'feathers-utils/utils';

Example

ts
import { queryDefaults } from 'feathers-utils/utils'

queryDefaults({ status: 'active' }, { isTemplate: false })
// => { status: 'active', isTemplate: false }

queryDefaults({ $or: [{ isTemplate: true }] }, { isTemplate: false })
// => { $or: [{ isTemplate: true }] } (untouched — already referenced)

Type declaration

Show Type Declarations
ts
/**
 * Adds default properties to a Feathers query — but only for fields the query does
 * not already constrain. Presence is checked with {@link queryHasProperty}, so a field
 * referenced anywhere (including nested in `$and`/`$or`/`$nor`) is left untouched and
 * the caller keeps control over it. The query is treated as the `data` equivalent of
 * the `defaults` transformer. Each default is applied independently (per-field).
 *
 * @example
 * ```ts
 *
 *
 * queryDefaults({ status: 'active' }, { isTemplate: false })
 * // => { status: 'active', isTemplate: false }
 *
 * queryDefaults({ $or: [{ isTemplate: true }] }, { isTemplate: false })
 * // => { $or: [{ isTemplate: true }] } (untouched — already referenced)
 * ```
 *
 * @see https://utils.feathersjs.com/utils/query-defaults.html
 */
export declare const queryDefaults: (
  query: Query | undefined,
  defaults: Query,
) => Query
ArgumentTypeDescription
queryQuery | undefined
defaultsQuery

Released under the MIT License.