All files / entities actions.js

100% Statements 6/6
100% Branches 0/0
100% Functions 6/6
100% Lines 6/6
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55      4x                   2x                     1x         1x                   1x           2x                  
import * as ActionTypes from './actionTypes'
 
export function mergeEntities(entityMap) {
  return {
    type: ActionTypes.MERGE,
    payload: entityMap
  }
}
 
/**
 * Removes multiple entities at once (of a single type/domain)
 */
export function removeMany(domain, keys) {
  return {
    type: ActionTypes.REMOVE,
    payload: {
      domain,
      keys
    }
  }
}
 
/* Utility - removes a single one */
export function removeOne(domain, key) {
  return removeMany(domain, [key])
}
 
/* Clears all entities by domain */
export function removeAll(domain) {
  return {
    type: ActionTypes.REMOVE_ALL,
    payload: {
      domain
    }
  }
}
 
/* Empties the whole entity cache */
export function reset() {
  return {
    type: ActionTypes.RESET
  }
}
 
export function update(domain, id, data) {
  return {
    type: ActionTypes.UPDATE,
    payload: {
      domain,
      id,
      data
    }
  }
}