/**
 * A module which contains all compiled templates for the angular application
 *
 * @module app/templates
 * @exports app/templates
 * @version 0.0.1
 * @since 0.0.1
 */

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

    /**
     * Used for gulp template cache plugin.
     */
    angular
        .module('app.templates', []);

})(window.angular);
