/**
 * A module with constants for the application
 *
 * @module app/constants/index
 * @exports app/constants/index
 */

window.angular && (function(angular) {
  'use strict';

  angular.module('app.constants', []).constant('AppConstants', {});

})(window.angular);
