All files / module/getters hasChanges.js

25% Statements 1/4
0% Branches 0/2
33.33% Functions 1/3
25% Lines 1/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17              4x                  
import { diff } from 'deep-object-diff'
 
/**
 * Determine if an object has been changed
 * @param {Object} state
 */
export function hasChanges (isCollection) {
  return new Proxy(() => { }, {
    apply (target, thisArg, [state]) {
      const currentState = (isCollection) ? state.items : state.item
      const initialState = this.initial
 
      return diff(initialState, currentState) === {}
    }
  })
}