aboutsummaryrefslogtreecommitdiff
path: root/node_modules/mem
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/mem')
-rw-r--r--node_modules/mem/index.js55
-rw-r--r--node_modules/mem/license21
-rw-r--r--node_modules/mem/package.json45
-rw-r--r--node_modules/mem/readme.md147
4 files changed, 0 insertions, 268 deletions
diff --git a/node_modules/mem/index.js b/node_modules/mem/index.js
deleted file mode 100644
index aa5a07398..000000000
--- a/node_modules/mem/index.js
+++ /dev/null
@@ -1,55 +0,0 @@
-'use strict';
-const mimicFn = require('mimic-fn');
-
-const cacheStore = new WeakMap();
-
-const defaultCacheKey = function (x) {
- if (arguments.length === 1 && (x === null || x === undefined || (typeof x !== 'function' && typeof x !== 'object'))) {
- return x;
- }
-
- return JSON.stringify(arguments);
-};
-
-module.exports = (fn, opts) => {
- opts = Object.assign({
- cacheKey: defaultCacheKey,
- cache: new Map()
- }, opts);
-
- const memoized = function () {
- const cache = cacheStore.get(memoized);
- const key = opts.cacheKey.apply(null, arguments);
-
- if (cache.has(key)) {
- const c = cache.get(key);
-
- if (typeof opts.maxAge !== 'number' || Date.now() < c.maxAge) {
- return c.data;
- }
- }
-
- const ret = fn.apply(null, arguments);
-
- cache.set(key, {
- data: ret,
- maxAge: Date.now() + (opts.maxAge || 0)
- });
-
- return ret;
- };
-
- mimicFn(memoized, fn);
-
- cacheStore.set(memoized, opts.cache);
-
- return memoized;
-};
-
-module.exports.clear = fn => {
- const cache = cacheStore.get(fn);
-
- if (cache && typeof cache.clear === 'function') {
- cache.clear();
- }
-};
diff --git a/node_modules/mem/license b/node_modules/mem/license
deleted file mode 100644
index 654d0bfe9..000000000
--- a/node_modules/mem/license
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-
-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.
diff --git a/node_modules/mem/package.json b/node_modules/mem/package.json
deleted file mode 100644
index a492892c8..000000000
--- a/node_modules/mem/package.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "name": "mem",
- "version": "1.1.0",
- "description": "Memoize functions - An optimization used to speed up consecutive function calls by caching the result of calls with identical input",
- "license": "MIT",
- "repository": "sindresorhus/mem",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "engines": {
- "node": ">=4"
- },
- "scripts": {
- "test": "xo && ava"
- },
- "files": [
- "index.js"
- ],
- "keywords": [
- "memoize",
- "function",
- "mem",
- "memoization",
- "cache",
- "caching",
- "optimize",
- "performance",
- "ttl",
- "expire",
- "promise"
- ],
- "dependencies": {
- "mimic-fn": "^1.0.0"
- },
- "devDependencies": {
- "ava": "*",
- "delay": "^1.1.0",
- "xo": "*"
- },
- "xo": {
- "esnext": true
- }
-}
diff --git a/node_modules/mem/readme.md b/node_modules/mem/readme.md
deleted file mode 100644
index 7ebab84f0..000000000
--- a/node_modules/mem/readme.md
+++ /dev/null
@@ -1,147 +0,0 @@
-# mem [![Build Status](https://travis-ci.org/sindresorhus/mem.svg?branch=master)](https://travis-ci.org/sindresorhus/mem)
-
-> [Memoize](https://en.wikipedia.org/wiki/Memoization) functions - An optimization used to speed up consecutive function calls by caching the result of calls with identical input
-
-
-## Install
-
-```
-$ npm install --save mem
-```
-
-
-## Usage
-
-```js
-const mem = require('mem');
-
-let i = 0;
-const counter = () => ++i;
-const memoized = mem(counter);
-
-memoized('foo');
-//=> 1
-
-// cached as it's the same arguments
-memoized('foo');
-//=> 1
-
-// not cached anymore as the arguments changed
-memoized('bar');
-//=> 2
-
-memoized('bar');
-//=> 2
-```
-
-##### Works fine with promise returning functions
-
-```js
-const mem = require('mem');
-
-let i = 0;
-const counter = () => Promise.resolve(++i);
-const memoized = mem(counter);
-
-memoized().then(a => {
- console.log(a);
- //=> 1
-
- memoized().then(b => {
- // the return value didn't increase as it's cached
- console.log(b);
- //=> 1
- });
-});
-```
-
-```js
-const mem = require('mem');
-const got = require('got');
-const memGot = mem(got, {maxAge: 1000});
-
-memGot('sindresorhus.com').then(() => {
- // this call is cached
- memGot('sindresorhus.com').then(() => {
- setTimeout(() => {
- // this call is not cached as the cache has expired
- memGot('sindresorhus.com').then(() => {});
- }, 2000);
- });
-});
-```
-
-
-## API
-
-### mem(fn, [options])
-
-#### fn
-
-Type: `Function`
-
-Function to be memoized.
-
-#### options
-
-##### maxAge
-
-Type: `number`<br>
-Default: `Infinity`
-
-Milliseconds until the cache expires.
-
-##### cacheKey
-
-Type: `Function`
-
-Determines the cache key for storing the result based on the function arguments. By default, if there's only one argument and it's a [primitive](https://developer.mozilla.org/en-US/docs/Glossary/Primitive), it's used directly as a key, otherwise it's all the function arguments JSON stringified as an array.
-
-You could for example change it to only cache on the first argument `x => JSON.stringify(x)`.
-
-##### cache
-
-Type: `Object`<br>
-Default: `new Map()`
-
-Use a different cache storage. Must implement the following methods: `.has(key)`, `.get(key)`, `.set(key, value)`, and optionally `.clear()`. You could for example use a `WeakMap` instead.
-
-### mem.clear(fn)
-
-Clear all cached data of a memoized function.
-
-#### fn
-
-Type: `Function`
-
-Memoized function.
-
-
-## Tips
-
-### Cache statistics
-
-If you want to know how many times your cache had a hit or a miss, you can make use of [stats-map](https://github.com/SamVerschueren/stats-map) as a replacement for the default cache.
-
-#### Example
-
-```js
-const mem = require('mem');
-const StatsMap = require('stats-map');
-const got = require('got');
-
-const cache = new StatsMap();
-const memGot = mem(got, {cache});
-
-memGot('sindresorhus.com')
- .then(() => memGot('sindresorhus.com'))
- .then(() => memGot('sindresorhus.com'));
-
-console.log(cache.stats);
-//=> {hits: 2, misses: 1}
-```
-
-
-## License
-
-MIT © [Sindre Sorhus](https://sindresorhus.com)