-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathangular-deferred-bootstrap.min.js
1 lines (1 loc) · 2.46 KB
/
angular-deferred-bootstrap.min.js
1
!function(a,b){"use strict";function c(){l.addClass(s)}function d(){l.removeClass(s),l.removeClass(t)}function e(){d(),l.addClass(t)}function f(a){return n(a)&&o(a.then)}function g(a){if(!n(a))throw new Error("Bootstrap configuration must be an object.");if(!q(a.module))throw new Error("'config.module' must be a string.");if(a.resolve&&a.moduleResolves)throw new Error("Bootstrap configuration can contain either 'resolve' or 'moduleResolves' but not both");if(a.resolve&&!n(a.resolve))throw new Error("'config.resolve' must be an object.");if(a.bootstrapConfig&&!n(a.bootstrapConfig))throw new Error("'config.bootstrapConfig' must be an object.");if(a.moduleResolves&&!p(a.moduleResolves))throw new Error("'config.moduleResolves' must be an array.");if(r(a.moduleResolves,function(a){if(!a.module)throw new Error("A 'moduleResolve' configuration item must contain a 'module' name.");if(!n(a.resolve))throw new Error("'moduleResolve.resolve' must be an object.")}),angular.isDefined(a.onError)&&!o(a.onError))throw new Error("'config.onError' must be a function.")}function h(a,b){b=angular.element(b),a.unshift(["$provide",function(a){a.value("$rootElement",b)}])}function i(a,b){var c=["ng"];return q(a)?c.push(a):p(a)&&(c=c.concat(a)),h(c,b),angular.injector(c,b)}function j(a,c,e){var f=m.defer();return angular.element(b).ready(function(){angular.bootstrap(a,[c],e),d(),f.resolve(!0)}),f.promise}function k(a){function d(a,b,c){var d;if(w.push({name:b,moduleName:c||t}),!o(a)&&!p(a))throw new Error("Resolve for '"+b+"' is not a valid dependency injection format.");if(d=n.instantiate(a),!f(d))throw new Error("Resolve function for '"+b+"' must return a promise.");v.push(d)}function h(a){return r(a,function(a,b){var c=a&&a.data?a.data:a,d=w[b].moduleName,e=w[b].name;angular.module(d).constant(e,c)}),j(s,t,x)}function k(a){e(),o(q.onError)&&q.onError(a)}var n,q=a||{},s=q.element,t=q.module,u=q.injectorModules||[],v=[],w=[],x=q.bootstrapConfig;return l=angular.element(b.body),c(),g(q),n=i(u,s),m=n.get("$q"),q.moduleResolves?r(q.moduleResolves,function(a,b){r(a.resolve,function(a,c){d(a,c,q.moduleResolves[b].module)})}):r(q.resolve,function(a,b){d(a,b)}),m.all(v).then(h,k)}var l,m,n=angular.isObject,o=angular.isFunction,p=angular.isArray,q=angular.isString,r=angular.forEach,s="deferred-bootstrap-loading",t="deferred-bootstrap-error",u={bootstrap:k};"function"==typeof define&&define.amd?define([],u):"object"==typeof module&&module.exports?module.exports=u:a.deferredBootstrapper=u}(window,document);