feathers-utils

Some utils for projects using '@feathersjs/feathers'


Keywords
feathersjs, hooks, mixins, utils
License
MIT
Install
npm install feathers-utils@1.11.0

Documentation

feathers-utils

npm GitHub Workflow Status Code Climate maintainability Code Climate coverage npm GitHub license

NOTE: This is the version for Feathers v5. For Feathers v4 use feathers-utils v1

Installation

npm i feathers-utils

Usage

Hooks

  • checkMulti: throws if the request is multi data, but the services allowsMulti(method) returns false
  • createRelated: simply create related items from a hook.
  • forEach
  • onDelete: simply remove/set null related items from a hook.
  • paramsForServer
  • paramsFromClient
  • parseFields
  • removeRelated: simple remove related items from a hook. Basically cascade at feathers level.
  • runPerItem: run a function for every item. Meant for multi:true.
  • setData: map properties from context to data. Something like userId: context.params.user.id

Mixins

  • mixins/debounceMixin & mixins/DebouncedStore

Utils

  • defineHooks
  • filterQuery
  • flattenQuery
  • deflattenQuery
  • getItemsIsArray(context): returns { items: any[], isArray: boolean }
  • getPaginate
  • isMulti(context) => Boolean: returns true, if find, create/patch/remove: multi
  • isPaginated
  • markHookForSkip: add hookName to context.params.skipHooks - also see shouldSkip
  • mergeQuery: deeply merges queries
  • mergeArrays: merges arrays with intersection options
  • pushSet: if existing array: push, else set
  • setQueryKeySafely
  • setResultEmpty
  • shouldSkip: checks context.params.skipHooks for 'all' | '${hookName}' | '${type}:${hookName}' - also see markHookForSkip