Skip to content

Commit d428c94

Browse files
committed
minor formatting, ensure val is an object
1 parent 08adb2c commit d428c94

File tree

1 file changed

+22
-15
lines changed

1 file changed

+22
-15
lines changed

index.js

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,20 @@
77

88
'use strict';
99

10-
var utils = require('./utils')
10+
var utils = require('./utils');
1111

1212
module.exports = function base(app, opts) {
1313
if (!utils.isObject(app) && typeof app !== 'function') {
1414
throw new TypeError('use: expect `app` be an object or function');
1515
}
1616

17-
opts = utils.isObject(opts) ? opts : {};
18-
opts.prop = typeof opts.prop === 'string' ? opts.prop : 'fns';
19-
opts.prop = opts.prop.length > 0 ? opts.prop : 'fns';
17+
if (!utils.isObject(opts)) {
18+
opts = {};
19+
}
2020

21-
if (!utils.isArray(app[opts.prop])) {
22-
utils.define(app, opts.prop, []);
21+
var prop = utils.isString(opts.prop) ? opts.prop : 'fns';
22+
if (!utils.isArray(app[prop])) {
23+
utils.define(app, prop, []);
2324
}
2425

2526
/**
@@ -68,12 +69,18 @@ module.exports = function base(app, opts) {
6869
* @api public
6970
*/
7071

71-
utils.define(app, 'run', function (val) {
72-
var self = this || app;
73-
var fns = self[opts.prop];
72+
utils.define(app, 'run', function(val) {
73+
if (!utils.isObject(val)) return;
7474
decorate(val);
75-
var len = fns.length, i = -1;
76-
while (++i < len) val.use(fns[i]);
75+
76+
var self = this || app;
77+
var fns = self[prop];
78+
var len = fns.length;
79+
var idx = -1;
80+
81+
while (++idx < len) {
82+
val.use(fns[idx]);
83+
}
7784
return val;
7885
});
7986

@@ -84,17 +91,17 @@ module.exports = function base(app, opts) {
8491

8592
function use(fn, options) {
8693
if (typeof fn !== 'function') {
87-
throw new TypeError('.use expect `fn` be function');
94+
throw new TypeError('.use expects `fn` be a function');
8895
}
89-
var self = this || app;
9096

97+
var self = this || app;
9198
if (typeof opts.fn === 'function') {
9299
opts.fn.call(self, self, options);
93100
}
94101

95102
var plugin = fn.call(self, self);
96103
if (typeof plugin === 'function') {
97-
var fns = self[opts.prop];
104+
var fns = self[prop];
98105
fns.push(plugin);
99106
}
100107
return self;
@@ -105,7 +112,7 @@ module.exports = function base(app, opts) {
105112
*/
106113

107114
function decorate(val) {
108-
if (utils.isObject(val) && (!val.use || !val.run)) {
115+
if (!val.use || !val.run) {
109116
base(val);
110117
}
111118
}

0 commit comments

Comments
 (0)