endpoints/endpoints

View on GitHub
src/controller/lib/model_has.js

Summary

Maintainability
A
0 mins
Test Coverage
import _ from 'lodash';

function error (type, key) {
  return `Model does not have ${type}: ${key}.`;
}

module.exports = function (available, requested, type) {
  const message = error.bind(null, type);
  if (!requested) {
    return;
  }
  if (_.isArray(requested) && _.isArray(available)) {
    return _.difference(requested, available).map(message);
  }
  return available[requested] ? null : message(requested);
};