addHiddenPropsToTarget (target, props) {
    const map = {}
    Object.keys(props).forEach(function (propName) {
      const descriptor = Object.getOwnPropertyDescriptor(props, propName)

      descriptor.enumerable = false
      map[propName] = descriptor
    })
    Object.defineProperties(target, map)
  }
Define hidden (non-enumerable), writable properties on `target` from the
provided `props`.

@example
import { utils } from 'js-data';
function Cat () {}
utils.addHiddenPropsToTarget(Cat.prototype, {
  say () {
    console.log('meow');
  }
});
const cat = new Cat();
cat.say(); // "meow"

@method utils.addHiddenPropsToTarget
@param {object} target That to which `props` should be added.
@param {object} props Properties to be added to `target`.
@since 3.0.0