(angular => { 'use strict'; angular.module('oc.lazyLoad').config(function($provide) { $provide.decorator('$ocLazyLoad', function ($delegate, $q) { /** * jsLoader function * @type Function * @param paths array list of js files to load * @param callback to call when everything is loaded. We use a callback and not a promise * @param params object config parameters * because the user can overwrite jsLoader and it will probably not use promises :( */ $delegate.jsLoader = function (paths, callback, params) { require(paths, callback.bind(null, undefined), callback, params); }; $delegate.jsLoader.requirejs = true; return $delegate; }) }); })(angular);