Skip to content

Commit 8e99e33

Browse files
author
Karl Hepler
committed
Fixed the whole "It\'s not working" thing
1 parent 48a23fc commit 8e99e33

File tree

6 files changed

+31
-37
lines changed

6 files changed

+31
-37
lines changed

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "angular-middleware",
3-
"version": "2.1.3",
3+
"version": "2.1.4",
44
"description": "Laravel-like middleware for angular ui.router and ngRoute",
55
"main": "dist/angular-middleware.js",
66
"authors": [

dist/angular-middleware.js

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
// This has to be declared here
55
// because this is concatinated
66
// BEFORE the provider, which defines it
7-
var mappings = {};
8-
var bypassAll = false;
9-
var globalMiddleware = {
7+
var _mappings = {};
8+
var _bypassAll = false;
9+
var _globalMiddleware = {
1010
middleware: []
1111
};
1212

@@ -42,7 +42,9 @@ function middlewareFactory($injector, $q) {
4242
*/
4343
return function initialize(toRoute, toParams) {
4444
// Return early if the toRoute doesn't have middleware
45-
if ( !hasMiddleware(globalMiddleware) && !hasMiddleware(toRoute) ) return;
45+
if ( _bypassAll || !hasMiddleware(_globalMiddleware) && !hasMiddleware(toRoute) ) {
46+
return $q.resolve();
47+
}
4648

4749
// Store a copy of the route parameters in the request
4850
request.params = angular.copy(toParams);
@@ -53,19 +55,14 @@ function middlewareFactory($injector, $q) {
5355
// Set the middleware names.
5456
// Make sure the globals are first, then concat toRoute
5557
middleware.names =
56-
getMiddlewareNames(globalMiddleware)
58+
getMiddlewareNames(_globalMiddleware)
5759
.concat(getMiddlewareNames(toRoute));
5860

5961
// Create a deferred promise
6062
middleware.resolution = $q.defer();
6163

62-
// If we are bypassing everything,
63-
// then go ahead and resolve now
64-
if ( bypassAll ) middleware.resolution.resolve();
65-
66-
// We're not bypassing it,
67-
// so process that first middleware!
68-
else middleware.next();
64+
// Process that first middleware!
65+
middleware.next();
6966

7067
// Return the promise
7168
return middleware.resolution.promise;
@@ -78,7 +75,7 @@ function middlewareFactory($injector, $q) {
7875
* @returns {boolean}
7976
*/
8077
function hasMiddleware(route) {
81-
return !!route.middleware;
78+
return !!route.middleware && !!route.middleware.length;
8279
}
8380

8481
/**
@@ -104,7 +101,7 @@ function middlewareFactory($injector, $q) {
104101
*/
105102
function nextMiddleware() {
106103
// Get the next middleware
107-
var next = mappings[middleware.names[middleware.index++]];
104+
var next = _mappings[middleware.names[middleware.index++]];
108105

109106
// If there is middleware, then invoke it, binding request
110107
if ( next ) $injector.invoke(next, request);
@@ -153,7 +150,7 @@ var $middleware = function middlewareProvider() {
153150
}
154151

155152
// Set the mappings
156-
mappings = customMappings;
153+
_mappings = customMappings;
157154
};
158155

159156
/**
@@ -170,7 +167,7 @@ var $middleware = function middlewareProvider() {
170167
}
171168

172169
// Set it!
173-
bypassAll = enableBypass;
170+
_bypassAll = enableBypass;
174171
};
175172

176173
this.global = function global(customGlobalMiddleware) {
@@ -180,7 +177,7 @@ var $middleware = function middlewareProvider() {
180177
}
181178

182179
// Set it... and don't forget it.
183-
globalMiddleware.middleware = customGlobalMiddleware;
180+
_globalMiddleware.middleware = customGlobalMiddleware;
184181
};
185182

186183
/** This is the provider's entry point */

dist/angular-middleware.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "angular-middleware",
3-
"version": "2.1.3",
3+
"version": "2.1.4",
44
"description": "Laravel-like middleware for angular uiRouter",
55
"main": "dist/angular-middleware.js",
66
"scripts": {

src/middleware.factory.js

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
// This has to be declared here
22
// because this is concatinated
33
// BEFORE the provider, which defines it
4-
var mappings = {};
5-
var bypassAll = false;
6-
var globalMiddleware = {
4+
var _mappings = {};
5+
var _bypassAll = false;
6+
var _globalMiddleware = {
77
middleware: []
88
};
99

@@ -39,7 +39,9 @@ function middlewareFactory($injector, $q) {
3939
*/
4040
return function initialize(toRoute, toParams) {
4141
// Return early if the toRoute doesn't have middleware
42-
if ( !hasMiddleware(globalMiddleware) && !hasMiddleware(toRoute) ) return;
42+
if ( _bypassAll || !hasMiddleware(_globalMiddleware) && !hasMiddleware(toRoute) ) {
43+
return $q.resolve();
44+
}
4345

4446
// Store a copy of the route parameters in the request
4547
request.params = angular.copy(toParams);
@@ -50,19 +52,14 @@ function middlewareFactory($injector, $q) {
5052
// Set the middleware names.
5153
// Make sure the globals are first, then concat toRoute
5254
middleware.names =
53-
getMiddlewareNames(globalMiddleware)
55+
getMiddlewareNames(_globalMiddleware)
5456
.concat(getMiddlewareNames(toRoute));
5557

5658
// Create a deferred promise
5759
middleware.resolution = $q.defer();
5860

59-
// If we are bypassing everything,
60-
// then go ahead and resolve now
61-
if ( bypassAll ) middleware.resolution.resolve();
62-
63-
// We're not bypassing it,
64-
// so process that first middleware!
65-
else middleware.next();
61+
// Process that first middleware!
62+
middleware.next();
6663

6764
// Return the promise
6865
return middleware.resolution.promise;
@@ -75,7 +72,7 @@ function middlewareFactory($injector, $q) {
7572
* @returns {boolean}
7673
*/
7774
function hasMiddleware(route) {
78-
return !!route.middleware;
75+
return !!route.middleware && !!route.middleware.length;
7976
}
8077

8178
/**
@@ -101,7 +98,7 @@ function middlewareFactory($injector, $q) {
10198
*/
10299
function nextMiddleware() {
103100
// Get the next middleware
104-
var next = mappings[middleware.names[middleware.index++]];
101+
var next = _mappings[middleware.names[middleware.index++]];
105102

106103
// If there is middleware, then invoke it, binding request
107104
if ( next ) $injector.invoke(next, request);

src/middleware.provider.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ var $middleware = function middlewareProvider() {
1212
}
1313

1414
// Set the mappings
15-
mappings = customMappings;
15+
_mappings = customMappings;
1616
};
1717

1818
/**
@@ -29,7 +29,7 @@ var $middleware = function middlewareProvider() {
2929
}
3030

3131
// Set it!
32-
bypassAll = enableBypass;
32+
_bypassAll = enableBypass;
3333
};
3434

3535
this.global = function global(customGlobalMiddleware) {
@@ -39,7 +39,7 @@ var $middleware = function middlewareProvider() {
3939
}
4040

4141
// Set it... and don't forget it.
42-
globalMiddleware.middleware = customGlobalMiddleware;
42+
_globalMiddleware.middleware = customGlobalMiddleware;
4343
};
4444

4545
/** This is the provider's entry point */

0 commit comments

Comments
 (0)