mirror of
https://kevinblog.sytes.net/Code/Jibo-Revival-Group/RoboCommander.git
synced 2026-06-15 12:06:04 +00:00
Initial commit
This commit is contained in:
21
node_modules/use/LICENSE
generated
vendored
Normal file
21
node_modules/use/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015-present, Jon Schlinkert.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
155
node_modules/use/index.js
generated
vendored
Normal file
155
node_modules/use/index.js
generated
vendored
Normal file
@@ -0,0 +1,155 @@
|
||||
/*!
|
||||
* use <https://github.com/jonschlinkert/use>
|
||||
*
|
||||
* Copyright (c) 2015-2017, Jon Schlinkert.
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
module.exports = function base(app, options) {
|
||||
if (!isObject(app) && typeof app !== 'function') {
|
||||
throw new TypeError('expected an object or function');
|
||||
}
|
||||
|
||||
var opts = isObject(options) ? options : {};
|
||||
var prop = typeof opts.prop === 'string' ? opts.prop : 'fns';
|
||||
if (!Array.isArray(app[prop])) {
|
||||
define(app, prop, []);
|
||||
}
|
||||
|
||||
/**
|
||||
* Define a plugin function to be passed to use. The only
|
||||
* parameter exposed to the plugin is `app`, the object or function.
|
||||
* passed to `use(app)`. `app` is also exposed as `this` in plugins.
|
||||
*
|
||||
* Additionally, **if a plugin returns a function, the function will
|
||||
* be pushed onto the `fns` array**, allowing the plugin to be
|
||||
* called at a later point by the `run` method.
|
||||
*
|
||||
* ```js
|
||||
* var use = require('use');
|
||||
*
|
||||
* // define a plugin
|
||||
* function foo(app) {
|
||||
* // do stuff
|
||||
* }
|
||||
*
|
||||
* var app = function(){};
|
||||
* use(app);
|
||||
*
|
||||
* // register plugins
|
||||
* app.use(foo);
|
||||
* app.use(bar);
|
||||
* app.use(baz);
|
||||
* ```
|
||||
* @name .use
|
||||
* @param {Function} `fn` plugin function to call
|
||||
* @api public
|
||||
*/
|
||||
|
||||
define(app, 'use', use);
|
||||
|
||||
/**
|
||||
* Run all plugins on `fns`. Any plugin that returns a function
|
||||
* when called by `use` is pushed onto the `fns` array.
|
||||
*
|
||||
* ```js
|
||||
* var config = {};
|
||||
* app.run(config);
|
||||
* ```
|
||||
* @name .run
|
||||
* @param {Object} `value` Object to be modified by plugins.
|
||||
* @return {Object} Returns the object passed to `run`
|
||||
* @api public
|
||||
*/
|
||||
|
||||
define(app, 'run', function(val) {
|
||||
if (!isObject(val)) return;
|
||||
|
||||
if (!val.use || !val.run) {
|
||||
define(val, prop, val[prop] || []);
|
||||
define(val, 'use', use);
|
||||
}
|
||||
|
||||
if (!val[prop] || val[prop].indexOf(base) === -1) {
|
||||
val.use(base);
|
||||
}
|
||||
|
||||
var self = this || app;
|
||||
var fns = self[prop];
|
||||
var len = fns.length;
|
||||
var idx = -1;
|
||||
|
||||
while (++idx < len) {
|
||||
val.use(fns[idx]);
|
||||
}
|
||||
return val;
|
||||
});
|
||||
|
||||
/**
|
||||
* Call plugin `fn`. If a function is returned push it into the
|
||||
* `fns` array to be called by the `run` method.
|
||||
*/
|
||||
|
||||
function use(type, fn, options) {
|
||||
var offset = 1;
|
||||
|
||||
if (typeof type === 'string' || Array.isArray(type)) {
|
||||
fn = wrap(type, fn);
|
||||
offset++;
|
||||
} else {
|
||||
options = fn;
|
||||
fn = type;
|
||||
}
|
||||
|
||||
if (typeof fn !== 'function') {
|
||||
throw new TypeError('expected a function');
|
||||
}
|
||||
|
||||
var self = this || app;
|
||||
var fns = self[prop];
|
||||
|
||||
var args = [].slice.call(arguments, offset);
|
||||
args.unshift(self);
|
||||
|
||||
if (typeof opts.hook === 'function') {
|
||||
opts.hook.apply(self, args);
|
||||
}
|
||||
|
||||
var val = fn.apply(self, args);
|
||||
if (typeof val === 'function' && fns.indexOf(val) === -1) {
|
||||
fns.push(val);
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
/**
|
||||
* Wrap a named plugin function so that it's only called on objects of the
|
||||
* given `type`
|
||||
*
|
||||
* @param {String} `type`
|
||||
* @param {Function} `fn` Plugin function
|
||||
* @return {Function}
|
||||
*/
|
||||
|
||||
function wrap(type, fn) {
|
||||
return function plugin() {
|
||||
return this.type === type ? fn.apply(this, arguments) : plugin;
|
||||
};
|
||||
}
|
||||
|
||||
return app;
|
||||
};
|
||||
|
||||
function isObject(val) {
|
||||
return val && typeof val === 'object' && !Array.isArray(val);
|
||||
}
|
||||
|
||||
function define(obj, key, val) {
|
||||
Object.defineProperty(obj, key, {
|
||||
configurable: true,
|
||||
writable: true,
|
||||
value: val
|
||||
});
|
||||
}
|
||||
51
node_modules/use/package.json
generated
vendored
Normal file
51
node_modules/use/package.json
generated
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
{
|
||||
"name": "use",
|
||||
"description": "Easily add plugin support to your node.js application.",
|
||||
"version": "3.1.1",
|
||||
"homepage": "https://github.com/jonschlinkert/use",
|
||||
"author": "Jon Schlinkert (https://github.com/jonschlinkert)",
|
||||
"repository": "jonschlinkert/use",
|
||||
"license": "MIT",
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"main": "index.js",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"base-plugins": "^1.0.0",
|
||||
"define-property": "^2.0.0",
|
||||
"extend-shallow": "^3.0.1",
|
||||
"gulp": "^3.9.1",
|
||||
"gulp-eslint": "^4.0.0",
|
||||
"gulp-format-md": "^1.0.0",
|
||||
"gulp-istanbul": "^1.1.2",
|
||||
"gulp-mocha": "^3.0.1",
|
||||
"mocha": "^4.0.1"
|
||||
},
|
||||
"verb": {
|
||||
"toc": false,
|
||||
"layout": "default",
|
||||
"tasks": [
|
||||
"readme"
|
||||
],
|
||||
"plugins": [
|
||||
"gulp-format-md"
|
||||
],
|
||||
"related": {
|
||||
"list": [
|
||||
"base",
|
||||
"base-plugins",
|
||||
"ware"
|
||||
]
|
||||
},
|
||||
"reflinks": [
|
||||
"verb",
|
||||
"ware"
|
||||
],
|
||||
"lint": {
|
||||
"reflinks": true
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user