# 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
        }
      }
    }