function AngularModuleMock()

in lib/resolvers/isolated_angular.js [57:92]


function AngularModuleMock() {
  let self = this;
  let instanceFunctions = [
   'config', 'run'
  ];

  let injectorFunctions = [
    'directive', 'service', 'filter', 'factory', 'provider',
    'constant', 'controller', 'animation', 'component'
  ];

  instanceFunctions.forEach(fnName => {
    self[fnName] = () => this;
  });

  injectorFunctions.forEach(fnName => {
    self[fnName] = (key, value) => {
      injectorMap[key] = value;
      return this;
    }
  });

  // It is possible to add some interception functions to the injector / instance functions.
  if (window['$$interception']) {
    Object.keys(window['$$interception']).forEach(fnName => {
      this[fnName] = function() {

        if (injectorFunctions.indexOf(fnName) !== -1) {
          injectorMap[arguments[0]] = arguments[1];
        }

        return window['$$interception'][fnName].apply(this, arguments) || this;
      }
    });
  }
}