-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
53 lines (51 loc) · 1.11 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
module.exports = function(app) {
var i = 0;
var routes = {};
routes.array = [];
routes.defineRoutes = function(route, obj, middleware) {
this.array.push({
routeName: route,
routeObj: obj,
middleware: middleware
});
return this;
};
routes.map = function() {
var collection,
item,
routeName,
middleware;
this.array.forEach(function(el, index) {
var key;
collection = el.routeObj.collection;
item = el.routeObj.item;
routeName = el.routeName;
middleware = el.middleware;
if (typeof middleware === 'function') {
for (key in collection) {
if (collection.hasOwnProperty(key)) {
app[key](routeName, middleware, collection[key]);
}
}
for (key in item) {
if (item.hasOwnProperty(key)) {
app[key](routeName + '/:item',middleware, item[key]);
}
}
}
else {
for (key in collection) {
if (collection.hasOwnProperty(key)) {
app[key](routeName, collection[key]);
}
}
for (key in item) {
if (item.hasOwnProperty(key)) {
app[key](routeName + '/:item', item[key]);
}
}
}
});
};
return routes;
};