aboutsummaryrefslogtreecommitdiff
path: root/node_modules/option-chain
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/option-chain')
-rw-r--r--node_modules/option-chain/index.js55
-rw-r--r--node_modules/option-chain/license21
-rw-r--r--node_modules/option-chain/package.json41
-rw-r--r--node_modules/option-chain/readme.md131
4 files changed, 0 insertions, 248 deletions
diff --git a/node_modules/option-chain/index.js b/node_modules/option-chain/index.js
deleted file mode 100644
index 99798bbea..000000000
--- a/node_modules/option-chain/index.js
+++ /dev/null
@@ -1,55 +0,0 @@
-'use strict';
-module.exports = (options, fn, target) => {
- const chainables = options.chainableMethods || {};
- const spread = options.spread;
- const defaults = Object.assign({}, options.defaults);
-
- function extend(target, getter, ctx) {
- for (const key of Object.keys(chainables)) {
- Object.defineProperty(target, key, {
- enumerable: true,
- configurable: true,
- get() {
- return wrap(getter, chainables[key], ctx || this);
- }
- });
- }
- }
-
- function wrap(createOpts, extensionOpts, ctx) {
- function wrappedOpts() {
- return Object.assign(createOpts(), extensionOpts);
- }
-
- function wrappedFn() {
- let args = new Array(arguments.length);
-
- for (let i = 0; i < args.length; i++) {
- args[i] = arguments[i];
- }
-
- if (spread) {
- args.unshift(wrappedOpts());
- } else {
- args = [wrappedOpts(), args];
- }
-
- return fn.apply(ctx || this, args);
- }
-
- extend(wrappedFn, wrappedOpts, ctx);
-
- return wrappedFn;
- }
-
- function copyDefaults() {
- return Object.assign({}, defaults);
- }
-
- if (target) {
- extend(target, copyDefaults);
- return target;
- }
-
- return wrap(copyDefaults);
-};
diff --git a/node_modules/option-chain/license b/node_modules/option-chain/license
deleted file mode 100644
index ad5d021ed..000000000
--- a/node_modules/option-chain/license
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) James Talmage <james@talmage.io> (github.com/jamestalmage)
-
-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/option-chain/package.json b/node_modules/option-chain/package.json
deleted file mode 100644
index 30149f0f4..000000000
--- a/node_modules/option-chain/package.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "name": "option-chain",
- "version": "1.0.0",
- "description": "Use fluent property chains in lieu of options objects",
- "license": "MIT",
- "repository": "avajs/option-chain",
- "author": {
- "name": "James Talmage",
- "email": "james@talmage.io",
- "url": "github.com/jamestalmage"
- },
- "engines": {
- "node": ">=4"
- },
- "scripts": {
- "test": "xo && nyc ava"
- },
- "files": [
- "index.js"
- ],
- "keywords": [
- "option",
- "options",
- "chain",
- "chains",
- "chainable",
- "fluent"
- ],
- "devDependencies": {
- "ava": "^0.19.1",
- "coveralls": "^2.11.6",
- "nyc": "^10.3.2",
- "xo": "^0.18.2"
- },
- "nyc": {
- "reporter": [
- "lcov",
- "text"
- ]
- }
-}
diff --git a/node_modules/option-chain/readme.md b/node_modules/option-chain/readme.md
deleted file mode 100644
index a2f976b70..000000000
--- a/node_modules/option-chain/readme.md
+++ /dev/null
@@ -1,131 +0,0 @@
-# option-chain [![Build Status](https://travis-ci.org/avajs/option-chain.svg?branch=master)](https://travis-ci.org/avajs/option-chain) [![Coverage Status](https://coveralls.io/repos/github/avajs/option-chain/badge.svg?branch=master)](https://coveralls.io/github/avajs/option-chain?branch=master)
-
-> Use fluent property chains in lieu of options objects
-
-
-## Install
-
-```
-$ npm install --save option-chain
-```
-
-
-## Usage
-
-```js
-const optionChain = require('option-chain');
-
-const optionDefinition = {
- defaults: {
- bar: false
- },
- chainableMethods: {
- foo: {foo: true},
- notFoo: {foo: false},
- bar: {bar: true}
- }
-};
-
-function printOptionsAndArgs(options, args) {
- console.log(options);
-
- if (args.length) {
- console.log(args);
- }
-}
-
-const fn = optionChain(optionDefinition, printOptionsAndArgs);
-
-fn();
-//=> [{bar: false}]
-fn.bar();
-//=> [{bar: true}]
-fn.foo.bar();
-//=> [{foo: true, bar: false}]
-
-fn.foo('a', 'b');
-//=> [{foo: true, bar: false}]
-//=> ['a', 'b']
-```
-
-
-## API
-
-### optionChain(options, callback, [target])
-
-#### options
-
-##### chainableMethods
-
-*Required*<br>
-Type: `Object`
-
-A map of chainable property names to the options set by adding property to the chain.
-
-Given the following:
-
-```js
-const chainableMethods = {
- foo: {foo: true},
- notFoo: {foo: false},
- bar: {bar: true},
- both: {foo: true, bar: true}
-}
-```
-
-Then:
-
-- `fn.foo` would set `foo` to `true`.
-- `fn.bar` would set `bar` to `true`.
-- `fn.both` sets both `foo` and `bar` to `true`.
-- The last property in the chain takes precedence, so `fn.foo.notFoo` would result in `foo` being `false`.
-
-
-##### defaults
-
-Type: `Object`<br>
-Default: `{}`
-
-A set of default starting properties.
-
-##### spread
-
-Type: `boolean`<br>
-Default: `false`
-
-By default, any arguments passed to the wrapper are passed as an array to the second argument of the wrapped function. When this is `true`, additional arguments will be spread out as additional arguments:
-
-```js
-function withoutSpread(opts, args) {
- let foo = args[0];
- let bar = args[1];
- // ...
-}
-
-function withSpread(opts, foo, bar) {
- // ...
-}
-```
-
-#### callback
-
-Type: `Function`
-
-This callback is called with the accumulated options as the first argument. Depending on the value of `options.spread`, arguments passed to the wrapper will either be an array as the second argument or spread out as the 2nd, 3rd, 4th... arguments.
-
-#### target
-
-If supplied, the `target` object is extended with the property getters and returned. Otherwise a wrapper function is created for `options.defaults`, then that wrapper is extended and returned.
-
-*Hint:* If you want to extend a `target` and add a method that simply uses the defaults, add a chainable method definition with an empty spec:
-
-```js
-const chainableMethods = {
- defaultMethodName: {}
-}
-```
-
-
-## License
-
-MIT © [James Talmage](https://github.com/jamestalmage)