mirror of
https://github.com/fooflington/selfdefined.git
synced 2025-08-01 02:29:05 +00:00
update
This commit is contained in:
21
node_modules/lazy-cache/LICENSE
generated
vendored
Normal file
21
node_modules/lazy-cache/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015-2016, 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.
|
147
node_modules/lazy-cache/README.md
generated
vendored
Normal file
147
node_modules/lazy-cache/README.md
generated
vendored
Normal file
@@ -0,0 +1,147 @@
|
||||
# lazy-cache [](https://www.npmjs.com/package/lazy-cache) [](https://npmjs.org/package/lazy-cache) [](https://travis-ci.org/jonschlinkert/lazy-cache)
|
||||
|
||||
> Cache requires to be lazy-loaded when needed.
|
||||
|
||||
## Install
|
||||
|
||||
Install with [npm](https://www.npmjs.com/):
|
||||
|
||||
```sh
|
||||
$ npm install lazy-cache --save
|
||||
```
|
||||
|
||||
If you use webpack and are experiencing issues, try using [unlazy-loader](https://github.com/doowb/unlazy-loader), a webpack loader that fixes the bug that prevents webpack from working with native javascript getters.
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
var utils = require('lazy-cache')(require);
|
||||
```
|
||||
|
||||
**Use as a property on `lazy`**
|
||||
|
||||
The module is also added as a property to the `lazy` function
|
||||
so it can be called without having to call a function first.
|
||||
|
||||
```js
|
||||
var utils = require('lazy-cache')(require);
|
||||
|
||||
// `npm install glob`
|
||||
utils('glob');
|
||||
|
||||
// glob sync
|
||||
console.log(utils.glob.sync('*.js'));
|
||||
|
||||
// glob async
|
||||
utils.glob('*.js', function (err, files) {
|
||||
console.log(files);
|
||||
});
|
||||
```
|
||||
|
||||
**Use as a function**
|
||||
|
||||
```js
|
||||
var utils = require('lazy-cache')(require);
|
||||
var glob = utils('glob');
|
||||
|
||||
// `glob` is a now a function that may be called when needed
|
||||
glob().sync('foo/*.js');
|
||||
```
|
||||
|
||||
## Aliases
|
||||
|
||||
An alias may be passed as the second argument if you don't want to use the automatically camel-cased variable name.
|
||||
|
||||
**Example**
|
||||
|
||||
```js
|
||||
var utils = require('lazy-cache')(require);
|
||||
|
||||
// alias `ansi-yellow` as `yellow`
|
||||
utils('ansi-yellow', 'yellow');
|
||||
console.log(utils.yellow('foo'));
|
||||
```
|
||||
|
||||
## Browserify usage
|
||||
|
||||
**Example**
|
||||
|
||||
```js
|
||||
var utils = require('lazy-cache')(require);
|
||||
// temporarily re-assign `require` to trick browserify
|
||||
var fn = require;
|
||||
require = utils;
|
||||
// list module dependencies (here, `require` is actually `lazy-cache`)
|
||||
require('glob');
|
||||
require = fn; // restore the native `require` function
|
||||
|
||||
/**
|
||||
* Now you can use glob with the `utils.glob` variable
|
||||
*/
|
||||
|
||||
// sync
|
||||
console.log(utils.glob.sync('*.js'));
|
||||
|
||||
// async
|
||||
utils.glob('*.js', function (err, files) {
|
||||
console.log(files.join('\n'));
|
||||
});
|
||||
```
|
||||
|
||||
## Kill switch
|
||||
|
||||
In certain rare edge cases it may be necessary to unlazy all lazy-cached dependencies (5 reported cases after ~30 million downloads).
|
||||
|
||||
To force lazy-cache to immediately invoke all dependencies, do:
|
||||
|
||||
```js
|
||||
process.env.UNLAZY = true;
|
||||
```
|
||||
|
||||
## Related projects
|
||||
|
||||
You might also be interested in these projects:
|
||||
|
||||
[lint-deps](https://www.npmjs.com/package/lint-deps): CLI tool that tells you when dependencies are missing from package.json and offers you a… [more](https://www.npmjs.com/package/lint-deps) | [homepage](https://github.com/jonschlinkert/lint-deps)
|
||||
|
||||
## Contributing
|
||||
|
||||
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/lazy-cache/issues/new).
|
||||
|
||||
## Building docs
|
||||
|
||||
Generate readme and API documentation with [verb](https://github.com/verbose/verb):
|
||||
|
||||
```sh
|
||||
$ npm install verb && npm run docs
|
||||
```
|
||||
|
||||
Or, if [verb](https://github.com/verbose/verb) is installed globally:
|
||||
|
||||
```sh
|
||||
$ verb
|
||||
```
|
||||
|
||||
## Running tests
|
||||
|
||||
Install dev dependencies:
|
||||
|
||||
```sh
|
||||
$ npm install -d && npm test
|
||||
```
|
||||
|
||||
## Author
|
||||
|
||||
**Jon Schlinkert**
|
||||
|
||||
* [github/jonschlinkert](https://github.com/jonschlinkert)
|
||||
* [twitter/jonschlinkert](http://twitter.com/jonschlinkert)
|
||||
|
||||
## License
|
||||
|
||||
Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert).
|
||||
Released under the [MIT license](https://github.com/jonschlinkert/lazy-cache/blob/master/LICENSE).
|
||||
|
||||
***
|
||||
|
||||
_This file was generated by [verb](https://github.com/verbose/verb), v0.9.0, on April 22, 2016._
|
67
node_modules/lazy-cache/index.js
generated
vendored
Normal file
67
node_modules/lazy-cache/index.js
generated
vendored
Normal file
@@ -0,0 +1,67 @@
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* Cache results of the first function call to ensure only calling once.
|
||||
*
|
||||
* ```js
|
||||
* var utils = require('lazy-cache')(require);
|
||||
* // cache the call to `require('ansi-yellow')`
|
||||
* utils('ansi-yellow', 'yellow');
|
||||
* // use `ansi-yellow`
|
||||
* console.log(utils.yellow('this is yellow'));
|
||||
* ```
|
||||
*
|
||||
* @param {Function} `fn` Function that will be called only once.
|
||||
* @return {Function} Function that can be called to get the cached function
|
||||
* @api public
|
||||
*/
|
||||
|
||||
function lazyCache(fn) {
|
||||
var cache = {};
|
||||
var proxy = function(mod, name) {
|
||||
name = name || camelcase(mod);
|
||||
|
||||
// check both boolean and string in case `process.env` cases to string
|
||||
if (process.env.UNLAZY === 'true' || process.env.UNLAZY === true || process.env.TRAVIS) {
|
||||
cache[name] = fn(mod);
|
||||
}
|
||||
|
||||
Object.defineProperty(proxy, name, {
|
||||
enumerable: true,
|
||||
configurable: true,
|
||||
get: getter
|
||||
});
|
||||
|
||||
function getter() {
|
||||
if (cache.hasOwnProperty(name)) {
|
||||
return cache[name];
|
||||
}
|
||||
return (cache[name] = fn(mod));
|
||||
}
|
||||
return getter;
|
||||
};
|
||||
return proxy;
|
||||
}
|
||||
|
||||
/**
|
||||
* Used to camelcase the name to be stored on the `lazy` object.
|
||||
*
|
||||
* @param {String} `str` String containing `_`, `.`, `-` or whitespace that will be camelcased.
|
||||
* @return {String} camelcased string.
|
||||
*/
|
||||
|
||||
function camelcase(str) {
|
||||
if (str.length === 1) {
|
||||
return str.toLowerCase();
|
||||
}
|
||||
str = str.replace(/^[\W_]+|[\W_]+$/g, '').toLowerCase();
|
||||
return str.replace(/[\W_]+(\w|$)/g, function(_, ch) {
|
||||
return ch.toUpperCase();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Expose `lazyCache`
|
||||
*/
|
||||
|
||||
module.exports = lazyCache;
|
92
node_modules/lazy-cache/package.json
generated
vendored
Normal file
92
node_modules/lazy-cache/package.json
generated
vendored
Normal file
@@ -0,0 +1,92 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"lazy-cache@1.0.4",
|
||||
"/Users/tatiana/selfdefined"
|
||||
]
|
||||
],
|
||||
"_from": "lazy-cache@1.0.4",
|
||||
"_id": "lazy-cache@1.0.4",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
|
||||
"_location": "/lazy-cache",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "lazy-cache@1.0.4",
|
||||
"name": "lazy-cache",
|
||||
"escapedName": "lazy-cache",
|
||||
"rawSpec": "1.0.4",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.0.4"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/center-align"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
|
||||
"_spec": "1.0.4",
|
||||
"_where": "/Users/tatiana/selfdefined",
|
||||
"author": {
|
||||
"name": "Jon Schlinkert",
|
||||
"url": "https://github.com/jonschlinkert"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/jonschlinkert/lazy-cache/issues"
|
||||
},
|
||||
"description": "Cache requires to be lazy-loaded when needed.",
|
||||
"devDependencies": {
|
||||
"ansi-yellow": "^0.1.1",
|
||||
"glob": "^7.0.3",
|
||||
"gulp-format-md": "^0.1.8",
|
||||
"mocha": "^2.4.5"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"homepage": "https://github.com/jonschlinkert/lazy-cache",
|
||||
"keywords": [
|
||||
"cache",
|
||||
"caching",
|
||||
"dependencies",
|
||||
"dependency",
|
||||
"lazy",
|
||||
"require",
|
||||
"requires"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"name": "lazy-cache",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/jonschlinkert/lazy-cache.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "mocha"
|
||||
},
|
||||
"verb": {
|
||||
"related": {
|
||||
"list": [
|
||||
"lint-deps"
|
||||
]
|
||||
},
|
||||
"plugins": [
|
||||
"gulp-format-md"
|
||||
],
|
||||
"toc": false,
|
||||
"layout": "default",
|
||||
"tasks": [
|
||||
"readme"
|
||||
],
|
||||
"lint": {
|
||||
"reflinks": true
|
||||
},
|
||||
"reflinks": [
|
||||
"verb"
|
||||
]
|
||||
},
|
||||
"version": "1.0.4"
|
||||
}
|
Reference in New Issue
Block a user