pfraces/ng-mock

View on GitHub
src/helpers/chain.js

Summary

Maintainability
A
0 mins
Test Coverage
'use strict';

var iterateObject = function (object, fn) {
  var attr = '';
  for (attr in object) { fn(object[attr], attr); }
};

var chain = function (api) {
  var chained = {};

  iterateObject(api, function (prop, name) {
    chained[name] = typeof prop !== 'function' ? prop : function () {
      var value = prop.apply(null, arguments);
      if (typeof value !== 'undefined') { return value; }
      return chained;
    };
  });

  return chained;
};

module.exports = chain;