Initial commit: n8n Strike API node
- Add Strike API credentials configuration - Implement Strike node with 9 resources (Account, Balance, Currency Exchange, Deposit, Invoice, Payment, Payment Method, Payout, Rates) - Add comprehensive operation descriptions for all resources - Include CLAUDE.MD documentation - Set up build configuration with TypeScript, ESLint, and Prettier 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
21
node_modules/base/LICENSE
generated
vendored
Normal file
21
node_modules/base/LICENSE
generated
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015-2017, 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.
|
||||
491
node_modules/base/README.md
generated
vendored
Normal file
491
node_modules/base/README.md
generated
vendored
Normal file
@ -0,0 +1,491 @@
|
||||
<p align="center">
|
||||
<a href="https://github.com/node-base/base">
|
||||
<img height="250" width="250" src="https://raw.githubusercontent.com/node-base/base/master/docs/logo.png">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
# base [](https://www.npmjs.com/package/base) [](https://npmjs.org/package/base) [](https://npmjs.org/package/base) [](https://travis-ci.org/node-base/base)
|
||||
|
||||
> base is the foundation for creating modular, unit testable and highly pluggable node.js applications, starting with a handful of common methods, like `set`, `get`, `del` and `use`.
|
||||
|
||||
## Install
|
||||
|
||||
Install with [npm](https://www.npmjs.com/):
|
||||
|
||||
```sh
|
||||
$ npm install --save base
|
||||
```
|
||||
|
||||
## What is Base?
|
||||
|
||||
Base is a framework for rapidly creating high quality node.js applications, using plugins like building blocks.
|
||||
|
||||
### Guiding principles
|
||||
|
||||
The core team follows these principles to help guide API decisions:
|
||||
|
||||
* **Compact API surface**: The smaller the API surface, the easier the library will be to learn and use.
|
||||
* **Easy to extend**: Implementors can use any npm package, and write plugins in pure JavaScript. If you're building complex apps, Base simplifies inheritance.
|
||||
* **Easy to test**: No special setup should be required to unit test `Base` or base plugins
|
||||
|
||||
### Minimal API surface
|
||||
|
||||
[The API](#api) was designed to provide only the minimum necessary functionality for creating a useful application, with or without [plugins](#plugins).
|
||||
|
||||
**Base core**
|
||||
|
||||
Base itself ships with only a handful of [useful methods](#api), such as:
|
||||
|
||||
* `.set`: for setting values on the instance
|
||||
* `.get`: for getting values from the instance
|
||||
* `.has`: to check if a property exists on the instance
|
||||
* `.define`: for setting non-enumerable values on the instance
|
||||
* `.use`: for adding plugins
|
||||
|
||||
**Be generic**
|
||||
|
||||
When deciding on method to add or remove, we try to answer these questions:
|
||||
|
||||
1. Will all or most Base applications need this method?
|
||||
2. Will this method encourage practices or enforce conventions that are beneficial to implementors?
|
||||
3. Can or should this be done in a plugin instead?
|
||||
|
||||
### Composability
|
||||
|
||||
**Plugin system**
|
||||
|
||||
It couldn't be easier to extend Base with any features or custom functionality you can think of.
|
||||
|
||||
Base plugins are just functions that take an instance of `Base`:
|
||||
|
||||
```js
|
||||
var base = new Base();
|
||||
|
||||
function plugin(base) {
|
||||
// do plugin stuff, in pure JavaScript
|
||||
}
|
||||
// use the plugin
|
||||
base.use(plugin);
|
||||
```
|
||||
|
||||
**Inheritance**
|
||||
|
||||
Easily inherit Base using `.extend`:
|
||||
|
||||
```js
|
||||
var Base = require('base');
|
||||
|
||||
function MyApp() {
|
||||
Base.call(this);
|
||||
}
|
||||
Base.extend(MyApp);
|
||||
|
||||
var app = new MyApp();
|
||||
app.set('a', 'b');
|
||||
app.get('a');
|
||||
//=> 'b';
|
||||
```
|
||||
|
||||
**Inherit or instantiate with a namespace**
|
||||
|
||||
By default, the `.get`, `.set` and `.has` methods set and get values from the root of the `base` instance. You can customize this using the `.namespace` method exposed on the exported function. For example:
|
||||
|
||||
```js
|
||||
var Base = require('base');
|
||||
// get and set values on the `base.cache` object
|
||||
var base = Base.namespace('cache');
|
||||
|
||||
var app = base();
|
||||
app.set('foo', 'bar');
|
||||
console.log(app.cache.foo);
|
||||
//=> 'bar'
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
**Usage**
|
||||
|
||||
```js
|
||||
var Base = require('base');
|
||||
var app = new Base();
|
||||
app.set('foo', 'bar');
|
||||
console.log(app.foo);
|
||||
//=> 'bar'
|
||||
```
|
||||
|
||||
### [Base](index.js#L44)
|
||||
|
||||
Create an instance of `Base` with the given `config` and `options`.
|
||||
|
||||
**Params**
|
||||
|
||||
* `config` **{Object}**: If supplied, this object is passed to [cache-base](https://github.com/jonschlinkert/cache-base) to merge onto the the instance upon instantiation.
|
||||
* `options` **{Object}**: If supplied, this object is used to initialize the `base.options` object.
|
||||
|
||||
**Example**
|
||||
|
||||
```js
|
||||
// initialize with `config` and `options`
|
||||
var app = new Base({isApp: true}, {abc: true});
|
||||
app.set('foo', 'bar');
|
||||
|
||||
// values defined with the given `config` object will be on the root of the instance
|
||||
console.log(app.baz); //=> undefined
|
||||
console.log(app.foo); //=> 'bar'
|
||||
// or use `.get`
|
||||
console.log(app.get('isApp')); //=> true
|
||||
console.log(app.get('foo')); //=> 'bar'
|
||||
|
||||
// values defined with the given `options` object will be on `app.options
|
||||
console.log(app.options.abc); //=> true
|
||||
```
|
||||
|
||||
### [.is](index.js#L107)
|
||||
|
||||
Set the given `name` on `app._name` and `app.is*` properties. Used for doing lookups in plugins.
|
||||
|
||||
**Params**
|
||||
|
||||
* `name` **{String}**
|
||||
* `returns` **{Boolean}**
|
||||
|
||||
**Example**
|
||||
|
||||
```js
|
||||
app.is('foo');
|
||||
console.log(app._name);
|
||||
//=> 'foo'
|
||||
console.log(app.isFoo);
|
||||
//=> true
|
||||
app.is('bar');
|
||||
console.log(app.isFoo);
|
||||
//=> true
|
||||
console.log(app.isBar);
|
||||
//=> true
|
||||
console.log(app._name);
|
||||
//=> 'bar'
|
||||
```
|
||||
|
||||
### [.isRegistered](index.js#L145)
|
||||
|
||||
Returns true if a plugin has already been registered on an instance.
|
||||
|
||||
Plugin implementors are encouraged to use this first thing in a plugin
|
||||
to prevent the plugin from being called more than once on the same
|
||||
instance.
|
||||
|
||||
**Params**
|
||||
|
||||
* `name` **{String}**: The plugin name.
|
||||
* `register` **{Boolean}**: If the plugin if not already registered, to record it as being registered pass `true` as the second argument.
|
||||
* `returns` **{Boolean}**: Returns true if a plugin is already registered.
|
||||
|
||||
**Events**
|
||||
|
||||
* `emits`: `plugin` Emits the name of the plugin being registered. Useful for unit tests, to ensure plugins are only registered once.
|
||||
|
||||
**Example**
|
||||
|
||||
```js
|
||||
var base = new Base();
|
||||
base.use(function(app) {
|
||||
if (app.isRegistered('myPlugin')) return;
|
||||
// do stuff to `app`
|
||||
});
|
||||
|
||||
// to also record the plugin as being registered
|
||||
base.use(function(app) {
|
||||
if (app.isRegistered('myPlugin', true)) return;
|
||||
// do stuff to `app`
|
||||
});
|
||||
```
|
||||
|
||||
### [.use](index.js#L175)
|
||||
|
||||
Define a plugin function to be called immediately upon init. Plugins are chainable and expose the following arguments to the plugin function:
|
||||
|
||||
* `app`: the current instance of `Base`
|
||||
* `base`: the [first ancestor instance](#base) of `Base`
|
||||
|
||||
**Params**
|
||||
|
||||
* `fn` **{Function}**: plugin function to call
|
||||
* `returns` **{Object}**: Returns the item instance for chaining.
|
||||
|
||||
**Example**
|
||||
|
||||
```js
|
||||
var app = new Base()
|
||||
.use(foo)
|
||||
.use(bar)
|
||||
.use(baz)
|
||||
```
|
||||
|
||||
### [.define](index.js#L197)
|
||||
|
||||
The `.define` method is used for adding non-enumerable property on the instance. Dot-notation is **not supported** with `define`.
|
||||
|
||||
**Params**
|
||||
|
||||
* `key` **{String}**: The name of the property to define.
|
||||
* `value` **{any}**
|
||||
* `returns` **{Object}**: Returns the instance for chaining.
|
||||
|
||||
**Example**
|
||||
|
||||
```js
|
||||
// arbitrary `render` function using lodash `template`
|
||||
app.define('render', function(str, locals) {
|
||||
return _.template(str)(locals);
|
||||
});
|
||||
```
|
||||
|
||||
### [.mixin](index.js#L222)
|
||||
|
||||
Mix property `key` onto the Base prototype. If base is inherited using `Base.extend` this method will be overridden by a new `mixin` method that will only add properties to the prototype of the inheriting application.
|
||||
|
||||
**Params**
|
||||
|
||||
* `key` **{String}**
|
||||
* `val` **{Object|Array}**
|
||||
* `returns` **{Object}**: Returns the `base` instance for chaining.
|
||||
|
||||
**Example**
|
||||
|
||||
```js
|
||||
app.mixin('foo', function() {
|
||||
// do stuff
|
||||
});
|
||||
```
|
||||
|
||||
### [.base](index.js#L268)
|
||||
|
||||
Getter/setter used when creating nested instances of `Base`, for storing a reference to the first ancestor instance. This works by setting an instance of `Base` on the `parent` property of a "child" instance. The `base` property defaults to the current instance if no `parent` property is defined.
|
||||
|
||||
**Example**
|
||||
|
||||
```js
|
||||
// create an instance of `Base`, this is our first ("base") instance
|
||||
var first = new Base();
|
||||
first.foo = 'bar'; // arbitrary property, to make it easier to see what's happening later
|
||||
|
||||
// create another instance
|
||||
var second = new Base();
|
||||
// create a reference to the first instance (`first`)
|
||||
second.parent = first;
|
||||
|
||||
// create another instance
|
||||
var third = new Base();
|
||||
// create a reference to the previous instance (`second`)
|
||||
// repeat this pattern every time a "child" instance is created
|
||||
third.parent = second;
|
||||
|
||||
// we can always access the first instance using the `base` property
|
||||
console.log(first.base.foo);
|
||||
//=> 'bar'
|
||||
console.log(second.base.foo);
|
||||
//=> 'bar'
|
||||
console.log(third.base.foo);
|
||||
//=> 'bar'
|
||||
// and now you know how to get to third base ;)
|
||||
```
|
||||
|
||||
### [#use](index.js#L293)
|
||||
|
||||
Static method for adding global plugin functions that will be added to an instance when created.
|
||||
|
||||
**Params**
|
||||
|
||||
* `fn` **{Function}**: Plugin function to use on each instance.
|
||||
* `returns` **{Object}**: Returns the `Base` constructor for chaining
|
||||
|
||||
**Example**
|
||||
|
||||
```js
|
||||
Base.use(function(app) {
|
||||
app.foo = 'bar';
|
||||
});
|
||||
var app = new Base();
|
||||
console.log(app.foo);
|
||||
//=> 'bar'
|
||||
```
|
||||
|
||||
### [#extend](index.js#L337)
|
||||
|
||||
Static method for inheriting the prototype and static methods of the `Base` class. This method greatly simplifies the process of creating inheritance-based applications. See [static-extend](https://github.com/jonschlinkert/static-extend) for more details.
|
||||
|
||||
**Params**
|
||||
|
||||
* `Ctor` **{Function}**: constructor to extend
|
||||
* `methods` **{Object}**: Optional prototype properties to mix in.
|
||||
* `returns` **{Object}**: Returns the `Base` constructor for chaining
|
||||
|
||||
**Example**
|
||||
|
||||
```js
|
||||
var extend = cu.extend(Parent);
|
||||
Parent.extend(Child);
|
||||
|
||||
// optional methods
|
||||
Parent.extend(Child, {
|
||||
foo: function() {},
|
||||
bar: function() {}
|
||||
});
|
||||
```
|
||||
|
||||
### [#mixin](index.js#L379)
|
||||
|
||||
Used for adding methods to the `Base` prototype, and/or to the prototype of child instances. When a mixin function returns a function, the returned function is pushed onto the `.mixins` array, making it available to be used on inheriting classes whenever `Base.mixins()` is called (e.g. `Base.mixins(Child)`).
|
||||
|
||||
**Params**
|
||||
|
||||
* `fn` **{Function}**: Function to call
|
||||
* `returns` **{Object}**: Returns the `Base` constructor for chaining
|
||||
|
||||
**Example**
|
||||
|
||||
```js
|
||||
Base.mixin(function(proto) {
|
||||
proto.foo = function(msg) {
|
||||
return 'foo ' + msg;
|
||||
};
|
||||
});
|
||||
```
|
||||
|
||||
### [#mixins](index.js#L401)
|
||||
|
||||
Static method for running global mixin functions against a child constructor. Mixins must be registered before calling this method.
|
||||
|
||||
**Params**
|
||||
|
||||
* `Child` **{Function}**: Constructor function of a child class
|
||||
* `returns` **{Object}**: Returns the `Base` constructor for chaining
|
||||
|
||||
**Example**
|
||||
|
||||
```js
|
||||
Base.extend(Child);
|
||||
Base.mixins(Child);
|
||||
```
|
||||
|
||||
### [#inherit](index.js#L420)
|
||||
|
||||
Similar to `util.inherit`, but copies all static properties, prototype properties, and getters/setters from `Provider` to `Receiver`. See [class-utils](https://github.com/jonschlinkert/class-utils#inherit) for more details.
|
||||
|
||||
**Params**
|
||||
|
||||
* `Receiver` **{Function}**: Receiving (child) constructor
|
||||
* `Provider` **{Function}**: Providing (parent) constructor
|
||||
* `returns` **{Object}**: Returns the `Base` constructor for chaining
|
||||
|
||||
**Example**
|
||||
|
||||
```js
|
||||
Base.inherit(Foo, Bar);
|
||||
```
|
||||
|
||||
## In the wild
|
||||
|
||||
The following node.js applications were built with `Base`:
|
||||
|
||||
* [assemble](https://github.com/assemble/assemble)
|
||||
* [verb](https://github.com/verbose/verb)
|
||||
* [generate](https://github.com/generate/generate)
|
||||
* [scaffold](https://github.com/jonschlinkert/scaffold)
|
||||
* [boilerplate](https://github.com/jonschlinkert/boilerplate)
|
||||
|
||||
## Test coverage
|
||||
|
||||
```
|
||||
Statements : 98.91% ( 91/92 )
|
||||
Branches : 92.86% ( 26/28 )
|
||||
Functions : 100% ( 17/17 )
|
||||
Lines : 98.9% ( 90/91 )
|
||||
```
|
||||
|
||||
## History
|
||||
|
||||
### v0.11.2
|
||||
|
||||
* fixes https://github.com/micromatch/micromatch/issues/99
|
||||
|
||||
### v0.11.0
|
||||
|
||||
**Breaking changes**
|
||||
|
||||
* Static `.use` and `.run` methods are now non-enumerable
|
||||
|
||||
### v0.9.0
|
||||
|
||||
**Breaking changes**
|
||||
|
||||
* `.is` no longer takes a function, a string must be passed
|
||||
* all remaining `.debug` code has been removed
|
||||
* `app._namespace` was removed (related to `debug`)
|
||||
* `.plugin`, `.use`, and `.define` no longer emit events
|
||||
* `.assertPlugin` was removed
|
||||
* `.lazy` was removed
|
||||
|
||||
## About
|
||||
|
||||
### Related projects
|
||||
|
||||
* [base-cwd](https://www.npmjs.com/package/base-cwd): Base plugin that adds a getter/setter for the current working directory. | [homepage](https://github.com/node-base/base-cwd "Base plugin that adds a getter/setter for the current working directory.")
|
||||
* [base-data](https://www.npmjs.com/package/base-data): adds a `data` method to base-methods. | [homepage](https://github.com/node-base/base-data "adds a `data` method to base-methods.")
|
||||
* [base-fs](https://www.npmjs.com/package/base-fs): base-methods plugin that adds vinyl-fs methods to your 'base' application for working with the file… [more](https://github.com/node-base/base-fs) | [homepage](https://github.com/node-base/base-fs "base-methods plugin that adds vinyl-fs methods to your 'base' application for working with the file system, like src, dest, copy and symlink.")
|
||||
* [base-generators](https://www.npmjs.com/package/base-generators): Adds project-generator support to your `base` application. | [homepage](https://github.com/node-base/base-generators "Adds project-generator support to your `base` application.")
|
||||
* [base-option](https://www.npmjs.com/package/base-option): Adds a few options methods to base, like `option`, `enable` and `disable`. See the readme… [more](https://github.com/node-base/base-option) | [homepage](https://github.com/node-base/base-option "Adds a few options methods to base, like `option`, `enable` and `disable`. See the readme for the full API.")
|
||||
* [base-pipeline](https://www.npmjs.com/package/base-pipeline): base-methods plugin that adds pipeline and plugin methods for dynamically composing streaming plugin pipelines. | [homepage](https://github.com/node-base/base-pipeline "base-methods plugin that adds pipeline and plugin methods for dynamically composing streaming plugin pipelines.")
|
||||
* [base-pkg](https://www.npmjs.com/package/base-pkg): Plugin for adding a `pkg` method that exposes pkg-store to your base application. | [homepage](https://github.com/node-base/base-pkg "Plugin for adding a `pkg` method that exposes pkg-store to your base application.")
|
||||
* [base-plugins](https://www.npmjs.com/package/base-plugins): Adds 'smart plugin' support to your base application. | [homepage](https://github.com/node-base/base-plugins "Adds 'smart plugin' support to your base application.")
|
||||
* [base-questions](https://www.npmjs.com/package/base-questions): Plugin for base-methods that adds methods for prompting the user and storing the answers on… [more](https://github.com/node-base/base-questions) | [homepage](https://github.com/node-base/base-questions "Plugin for base-methods that adds methods for prompting the user and storing the answers on a project-by-project basis.")
|
||||
* [base-store](https://www.npmjs.com/package/base-store): Plugin for getting and persisting config values with your base-methods application. Adds a 'store' object… [more](https://github.com/node-base/base-store) | [homepage](https://github.com/node-base/base-store "Plugin for getting and persisting config values with your base-methods application. Adds a 'store' object that exposes all of the methods from the data-store library. Also now supports sub-stores!")
|
||||
* [base-task](https://www.npmjs.com/package/base-task): base plugin that provides a very thin wrapper around [https://github.com/doowb/composer](https://github.com/doowb/composer) for adding task methods to… [more](https://github.com/node-base/base-task) | [homepage](https://github.com/node-base/base-task "base plugin that provides a very thin wrapper around <https://github.com/doowb/composer> for adding task methods to your application.")
|
||||
|
||||
### Contributing
|
||||
|
||||
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
|
||||
|
||||
### Contributors
|
||||
|
||||
| **Commits** | **Contributor** |
|
||||
| --- | --- |
|
||||
| 141 | [jonschlinkert](https://github.com/jonschlinkert) |
|
||||
| 30 | [doowb](https://github.com/doowb) |
|
||||
| 3 | [charlike](https://github.com/charlike) |
|
||||
| 1 | [criticalmash](https://github.com/criticalmash) |
|
||||
| 1 | [wtgtybhertgeghgtwtg](https://github.com/wtgtybhertgeghgtwtg) |
|
||||
|
||||
### Building docs
|
||||
|
||||
_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
|
||||
|
||||
To generate the readme, run the following command:
|
||||
|
||||
```sh
|
||||
$ npm install -g verbose/verb#dev verb-generate-readme && verb
|
||||
```
|
||||
|
||||
### Running tests
|
||||
|
||||
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
|
||||
|
||||
```sh
|
||||
$ npm install && npm test
|
||||
```
|
||||
|
||||
### Author
|
||||
|
||||
**Jon Schlinkert**
|
||||
|
||||
* [github/jonschlinkert](https://github.com/jonschlinkert)
|
||||
* [twitter/jonschlinkert](https://twitter.com/jonschlinkert)
|
||||
|
||||
### License
|
||||
|
||||
Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert).
|
||||
Released under the [MIT License](LICENSE).
|
||||
|
||||
***
|
||||
|
||||
_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on September 07, 2017._
|
||||
435
node_modules/base/index.js
generated
vendored
Normal file
435
node_modules/base/index.js
generated
vendored
Normal file
@ -0,0 +1,435 @@
|
||||
'use strict';
|
||||
|
||||
var util = require('util');
|
||||
var define = require('define-property');
|
||||
var CacheBase = require('cache-base');
|
||||
var Emitter = require('component-emitter');
|
||||
var isObject = require('isobject');
|
||||
var merge = require('mixin-deep');
|
||||
var pascal = require('pascalcase');
|
||||
var cu = require('class-utils');
|
||||
|
||||
/**
|
||||
* Optionally define a custom `cache` namespace to use.
|
||||
*/
|
||||
|
||||
function namespace(name) {
|
||||
var Cache = name ? CacheBase.namespace(name) : CacheBase;
|
||||
var fns = [];
|
||||
|
||||
/**
|
||||
* Create an instance of `Base` with the given `config` and `options`.
|
||||
*
|
||||
* ```js
|
||||
* // initialize with `config` and `options`
|
||||
* var app = new Base({isApp: true}, {abc: true});
|
||||
* app.set('foo', 'bar');
|
||||
*
|
||||
* // values defined with the given `config` object will be on the root of the instance
|
||||
* console.log(app.baz); //=> undefined
|
||||
* console.log(app.foo); //=> 'bar'
|
||||
* // or use `.get`
|
||||
* console.log(app.get('isApp')); //=> true
|
||||
* console.log(app.get('foo')); //=> 'bar'
|
||||
*
|
||||
* // values defined with the given `options` object will be on `app.options
|
||||
* console.log(app.options.abc); //=> true
|
||||
* ```
|
||||
*
|
||||
* @param {Object} `config` If supplied, this object is passed to [cache-base][] to merge onto the the instance upon instantiation.
|
||||
* @param {Object} `options` If supplied, this object is used to initialize the `base.options` object.
|
||||
* @api public
|
||||
*/
|
||||
|
||||
function Base(config, options) {
|
||||
if (!(this instanceof Base)) {
|
||||
return new Base(config, options);
|
||||
}
|
||||
Cache.call(this, config);
|
||||
this.is('base');
|
||||
this.initBase(config, options);
|
||||
}
|
||||
|
||||
/**
|
||||
* Inherit cache-base
|
||||
*/
|
||||
|
||||
util.inherits(Base, Cache);
|
||||
|
||||
/**
|
||||
* Add static emitter methods
|
||||
*/
|
||||
|
||||
Emitter(Base);
|
||||
|
||||
/**
|
||||
* Initialize `Base` defaults with the given `config` object
|
||||
*/
|
||||
|
||||
Base.prototype.initBase = function(config, options) {
|
||||
this.options = merge({}, this.options, options);
|
||||
this.cache = this.cache || {};
|
||||
this.define('registered', {});
|
||||
if (name) this[name] = {};
|
||||
|
||||
// make `app._callbacks` non-enumerable
|
||||
this.define('_callbacks', this._callbacks);
|
||||
if (isObject(config)) {
|
||||
this.visit('set', config);
|
||||
}
|
||||
Base.run(this, 'use', fns);
|
||||
};
|
||||
|
||||
/**
|
||||
* Set the given `name` on `app._name` and `app.is*` properties. Used for doing
|
||||
* lookups in plugins.
|
||||
*
|
||||
* ```js
|
||||
* app.is('foo');
|
||||
* console.log(app._name);
|
||||
* //=> 'foo'
|
||||
* console.log(app.isFoo);
|
||||
* //=> true
|
||||
* app.is('bar');
|
||||
* console.log(app.isFoo);
|
||||
* //=> true
|
||||
* console.log(app.isBar);
|
||||
* //=> true
|
||||
* console.log(app._name);
|
||||
* //=> 'bar'
|
||||
* ```
|
||||
* @name .is
|
||||
* @param {String} `name`
|
||||
* @return {Boolean}
|
||||
* @api public
|
||||
*/
|
||||
|
||||
Base.prototype.is = function(name) {
|
||||
if (typeof name !== 'string') {
|
||||
throw new TypeError('expected name to be a string');
|
||||
}
|
||||
this.define('is' + pascal(name), true);
|
||||
this.define('_name', name);
|
||||
this.define('_appname', name);
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns true if a plugin has already been registered on an instance.
|
||||
*
|
||||
* Plugin implementors are encouraged to use this first thing in a plugin
|
||||
* to prevent the plugin from being called more than once on the same
|
||||
* instance.
|
||||
*
|
||||
* ```js
|
||||
* var base = new Base();
|
||||
* base.use(function(app) {
|
||||
* if (app.isRegistered('myPlugin')) return;
|
||||
* // do stuff to `app`
|
||||
* });
|
||||
*
|
||||
* // to also record the plugin as being registered
|
||||
* base.use(function(app) {
|
||||
* if (app.isRegistered('myPlugin', true)) return;
|
||||
* // do stuff to `app`
|
||||
* });
|
||||
* ```
|
||||
* @name .isRegistered
|
||||
* @emits `plugin` Emits the name of the plugin being registered. Useful for unit tests, to ensure plugins are only registered once.
|
||||
* @param {String} `name` The plugin name.
|
||||
* @param {Boolean} `register` If the plugin if not already registered, to record it as being registered pass `true` as the second argument.
|
||||
* @return {Boolean} Returns true if a plugin is already registered.
|
||||
* @api public
|
||||
*/
|
||||
|
||||
Base.prototype.isRegistered = function(name, register) {
|
||||
if (this.registered.hasOwnProperty(name)) {
|
||||
return true;
|
||||
}
|
||||
if (register !== false) {
|
||||
this.registered[name] = true;
|
||||
this.emit('plugin', name);
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
/**
|
||||
* Define a plugin function to be called immediately upon init. Plugins are chainable
|
||||
* and expose the following arguments to the plugin function:
|
||||
*
|
||||
* - `app`: the current instance of `Base`
|
||||
* - `base`: the [first ancestor instance](#base) of `Base`
|
||||
*
|
||||
* ```js
|
||||
* var app = new Base()
|
||||
* .use(foo)
|
||||
* .use(bar)
|
||||
* .use(baz)
|
||||
* ```
|
||||
* @name .use
|
||||
* @param {Function} `fn` plugin function to call
|
||||
* @return {Object} Returns the item instance for chaining.
|
||||
* @api public
|
||||
*/
|
||||
|
||||
Base.prototype.use = function(fn) {
|
||||
fn.call(this, this);
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* The `.define` method is used for adding non-enumerable property on the instance.
|
||||
* Dot-notation is **not supported** with `define`.
|
||||
*
|
||||
* ```js
|
||||
* // arbitrary `render` function using lodash `template`
|
||||
* app.define('render', function(str, locals) {
|
||||
* return _.template(str)(locals);
|
||||
* });
|
||||
* ```
|
||||
* @name .define
|
||||
* @param {String} `key` The name of the property to define.
|
||||
* @param {any} `value`
|
||||
* @return {Object} Returns the instance for chaining.
|
||||
* @api public
|
||||
*/
|
||||
|
||||
Base.prototype.define = function(key, val) {
|
||||
if (isObject(key)) {
|
||||
return this.visit('define', key);
|
||||
}
|
||||
define(this, key, val);
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Mix property `key` onto the Base prototype. If base is inherited using
|
||||
* `Base.extend` this method will be overridden by a new `mixin` method that will
|
||||
* only add properties to the prototype of the inheriting application.
|
||||
*
|
||||
* ```js
|
||||
* app.mixin('foo', function() {
|
||||
* // do stuff
|
||||
* });
|
||||
* ```
|
||||
* @name .mixin
|
||||
* @param {String} `key`
|
||||
* @param {Object|Array} `val`
|
||||
* @return {Object} Returns the `base` instance for chaining.
|
||||
* @api public
|
||||
*/
|
||||
|
||||
Base.prototype.mixin = function(key, val) {
|
||||
Base.prototype[key] = val;
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Non-enumberable mixin array, used by the static [Base.mixin]() method.
|
||||
*/
|
||||
|
||||
Base.prototype.mixins = Base.prototype.mixins || [];
|
||||
|
||||
/**
|
||||
* Getter/setter used when creating nested instances of `Base`, for storing a reference
|
||||
* to the first ancestor instance. This works by setting an instance of `Base` on the `parent`
|
||||
* property of a "child" instance. The `base` property defaults to the current instance if
|
||||
* no `parent` property is defined.
|
||||
*
|
||||
* ```js
|
||||
* // create an instance of `Base`, this is our first ("base") instance
|
||||
* var first = new Base();
|
||||
* first.foo = 'bar'; // arbitrary property, to make it easier to see what's happening later
|
||||
*
|
||||
* // create another instance
|
||||
* var second = new Base();
|
||||
* // create a reference to the first instance (`first`)
|
||||
* second.parent = first;
|
||||
*
|
||||
* // create another instance
|
||||
* var third = new Base();
|
||||
* // create a reference to the previous instance (`second`)
|
||||
* // repeat this pattern every time a "child" instance is created
|
||||
* third.parent = second;
|
||||
*
|
||||
* // we can always access the first instance using the `base` property
|
||||
* console.log(first.base.foo);
|
||||
* //=> 'bar'
|
||||
* console.log(second.base.foo);
|
||||
* //=> 'bar'
|
||||
* console.log(third.base.foo);
|
||||
* //=> 'bar'
|
||||
* // and now you know how to get to third base ;)
|
||||
* ```
|
||||
* @name .base
|
||||
* @api public
|
||||
*/
|
||||
|
||||
Object.defineProperty(Base.prototype, 'base', {
|
||||
configurable: true,
|
||||
get: function() {
|
||||
return this.parent ? this.parent.base : this;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Static method for adding global plugin functions that will
|
||||
* be added to an instance when created.
|
||||
*
|
||||
* ```js
|
||||
* Base.use(function(app) {
|
||||
* app.foo = 'bar';
|
||||
* });
|
||||
* var app = new Base();
|
||||
* console.log(app.foo);
|
||||
* //=> 'bar'
|
||||
* ```
|
||||
* @name #use
|
||||
* @param {Function} `fn` Plugin function to use on each instance.
|
||||
* @return {Object} Returns the `Base` constructor for chaining
|
||||
* @api public
|
||||
*/
|
||||
|
||||
define(Base, 'use', function(fn) {
|
||||
fns.push(fn);
|
||||
return Base;
|
||||
});
|
||||
|
||||
/**
|
||||
* Run an array of functions by passing each function
|
||||
* to a method on the given object specified by the given property.
|
||||
*
|
||||
* @param {Object} `obj` Object containing method to use.
|
||||
* @param {String} `prop` Name of the method on the object to use.
|
||||
* @param {Array} `arr` Array of functions to pass to the method.
|
||||
*/
|
||||
|
||||
define(Base, 'run', function(obj, prop, arr) {
|
||||
var len = arr.length, i = 0;
|
||||
while (len--) {
|
||||
obj[prop](arr[i++]);
|
||||
}
|
||||
return Base;
|
||||
});
|
||||
|
||||
/**
|
||||
* Static method for inheriting the prototype and static methods of the `Base` class.
|
||||
* This method greatly simplifies the process of creating inheritance-based applications.
|
||||
* See [static-extend][] for more details.
|
||||
*
|
||||
* ```js
|
||||
* var extend = cu.extend(Parent);
|
||||
* Parent.extend(Child);
|
||||
*
|
||||
* // optional methods
|
||||
* Parent.extend(Child, {
|
||||
* foo: function() {},
|
||||
* bar: function() {}
|
||||
* });
|
||||
* ```
|
||||
* @name #extend
|
||||
* @param {Function} `Ctor` constructor to extend
|
||||
* @param {Object} `methods` Optional prototype properties to mix in.
|
||||
* @return {Object} Returns the `Base` constructor for chaining
|
||||
* @api public
|
||||
*/
|
||||
|
||||
define(Base, 'extend', cu.extend(Base, function(Ctor, Parent) {
|
||||
Ctor.prototype.mixins = Ctor.prototype.mixins || [];
|
||||
|
||||
define(Ctor, 'mixin', function(fn) {
|
||||
var mixin = fn(Ctor.prototype, Ctor);
|
||||
if (typeof mixin === 'function') {
|
||||
Ctor.prototype.mixins.push(mixin);
|
||||
}
|
||||
return Ctor;
|
||||
});
|
||||
|
||||
define(Ctor, 'mixins', function(Child) {
|
||||
Base.run(Child, 'mixin', Ctor.prototype.mixins);
|
||||
return Ctor;
|
||||
});
|
||||
|
||||
Ctor.prototype.mixin = function(key, value) {
|
||||
Ctor.prototype[key] = value;
|
||||
return this;
|
||||
};
|
||||
return Base;
|
||||
}));
|
||||
|
||||
/**
|
||||
* Used for adding methods to the `Base` prototype, and/or to the prototype of child instances.
|
||||
* When a mixin function returns a function, the returned function is pushed onto the `.mixins`
|
||||
* array, making it available to be used on inheriting classes whenever `Base.mixins()` is
|
||||
* called (e.g. `Base.mixins(Child)`).
|
||||
*
|
||||
* ```js
|
||||
* Base.mixin(function(proto) {
|
||||
* proto.foo = function(msg) {
|
||||
* return 'foo ' + msg;
|
||||
* };
|
||||
* });
|
||||
* ```
|
||||
* @name #mixin
|
||||
* @param {Function} `fn` Function to call
|
||||
* @return {Object} Returns the `Base` constructor for chaining
|
||||
* @api public
|
||||
*/
|
||||
|
||||
define(Base, 'mixin', function(fn) {
|
||||
var mixin = fn(Base.prototype, Base);
|
||||
if (typeof mixin === 'function') {
|
||||
Base.prototype.mixins.push(mixin);
|
||||
}
|
||||
return Base;
|
||||
});
|
||||
|
||||
/**
|
||||
* Static method for running global mixin functions against a child constructor.
|
||||
* Mixins must be registered before calling this method.
|
||||
*
|
||||
* ```js
|
||||
* Base.extend(Child);
|
||||
* Base.mixins(Child);
|
||||
* ```
|
||||
* @name #mixins
|
||||
* @param {Function} `Child` Constructor function of a child class
|
||||
* @return {Object} Returns the `Base` constructor for chaining
|
||||
* @api public
|
||||
*/
|
||||
|
||||
define(Base, 'mixins', function(Child) {
|
||||
Base.run(Child, 'mixin', Base.prototype.mixins);
|
||||
return Base;
|
||||
});
|
||||
|
||||
/**
|
||||
* Similar to `util.inherit`, but copies all static properties, prototype properties, and
|
||||
* getters/setters from `Provider` to `Receiver`. See [class-utils][]{#inherit} for more details.
|
||||
*
|
||||
* ```js
|
||||
* Base.inherit(Foo, Bar);
|
||||
* ```
|
||||
* @name #inherit
|
||||
* @param {Function} `Receiver` Receiving (child) constructor
|
||||
* @param {Function} `Provider` Providing (parent) constructor
|
||||
* @return {Object} Returns the `Base` constructor for chaining
|
||||
* @api public
|
||||
*/
|
||||
|
||||
define(Base, 'inherit', cu.inherit);
|
||||
define(Base, 'bubble', cu.bubble);
|
||||
return Base;
|
||||
}
|
||||
|
||||
/**
|
||||
* Expose `Base` with default settings
|
||||
*/
|
||||
|
||||
module.exports = namespace();
|
||||
|
||||
/**
|
||||
* Allow users to define a namespace
|
||||
*/
|
||||
|
||||
module.exports.namespace = namespace;
|
||||
21
node_modules/base/node_modules/define-property/LICENSE
generated
vendored
Normal file
21
node_modules/base/node_modules/define-property/LICENSE
generated
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015, 2017, 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.
|
||||
95
node_modules/base/node_modules/define-property/README.md
generated
vendored
Normal file
95
node_modules/base/node_modules/define-property/README.md
generated
vendored
Normal file
@ -0,0 +1,95 @@
|
||||
# define-property [](https://www.npmjs.com/package/define-property) [](https://npmjs.org/package/define-property) [](https://npmjs.org/package/define-property) [](https://travis-ci.org/jonschlinkert/define-property)
|
||||
|
||||
> Define a non-enumerable property on an object.
|
||||
|
||||
## Install
|
||||
|
||||
Install with [npm](https://www.npmjs.com/):
|
||||
|
||||
```sh
|
||||
$ npm install --save define-property
|
||||
```
|
||||
|
||||
Install with [yarn](https://yarnpkg.com):
|
||||
|
||||
```sh
|
||||
$ yarn add define-property
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
**Params**
|
||||
|
||||
* `obj`: The object on which to define the property.
|
||||
* `prop`: The name of the property to be defined or modified.
|
||||
* `descriptor`: The descriptor for the property being defined or modified.
|
||||
|
||||
```js
|
||||
var define = require('define-property');
|
||||
var obj = {};
|
||||
define(obj, 'foo', function(val) {
|
||||
return val.toUpperCase();
|
||||
});
|
||||
|
||||
console.log(obj);
|
||||
//=> {}
|
||||
|
||||
console.log(obj.foo('bar'));
|
||||
//=> 'BAR'
|
||||
```
|
||||
|
||||
**get/set**
|
||||
|
||||
```js
|
||||
define(obj, 'foo', {
|
||||
get: function() {},
|
||||
set: function() {}
|
||||
});
|
||||
```
|
||||
|
||||
## About
|
||||
|
||||
### Related projects
|
||||
|
||||
* [assign-deep](https://www.npmjs.com/package/assign-deep): Deeply assign the enumerable properties and/or es6 Symbol properies of source objects to the target… [more](https://github.com/jonschlinkert/assign-deep) | [homepage](https://github.com/jonschlinkert/assign-deep "Deeply assign the enumerable properties and/or es6 Symbol properies of source objects to the target (first) object.")
|
||||
* [extend-shallow](https://www.npmjs.com/package/extend-shallow): Extend an object with the properties of additional objects. node.js/javascript util. | [homepage](https://github.com/jonschlinkert/extend-shallow "Extend an object with the properties of additional objects. node.js/javascript util.")
|
||||
* [merge-deep](https://www.npmjs.com/package/merge-deep): Recursively merge values in a javascript object. | [homepage](https://github.com/jonschlinkert/merge-deep "Recursively merge values in a javascript object.")
|
||||
* [mixin-deep](https://www.npmjs.com/package/mixin-deep): Deeply mix the properties of objects into the first object. Like merge-deep, but doesn't clone. | [homepage](https://github.com/jonschlinkert/mixin-deep "Deeply mix the properties of objects into the first object. Like merge-deep, but doesn't clone.")
|
||||
|
||||
### Contributing
|
||||
|
||||
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
|
||||
|
||||
### Building docs
|
||||
|
||||
_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
|
||||
|
||||
To generate the readme, run the following command:
|
||||
|
||||
```sh
|
||||
$ npm install -g verbose/verb#dev verb-generate-readme && verb
|
||||
```
|
||||
|
||||
### Running tests
|
||||
|
||||
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
|
||||
|
||||
```sh
|
||||
$ npm install && npm test
|
||||
```
|
||||
|
||||
### Author
|
||||
|
||||
**Jon Schlinkert**
|
||||
|
||||
* [github/jonschlinkert](https://github.com/jonschlinkert)
|
||||
* [twitter/jonschlinkert](https://twitter.com/jonschlinkert)
|
||||
|
||||
### License
|
||||
|
||||
Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert).
|
||||
Released under the [MIT License](LICENSE).
|
||||
|
||||
***
|
||||
|
||||
_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.5.0, on April 20, 2017._
|
||||
31
node_modules/base/node_modules/define-property/index.js
generated
vendored
Normal file
31
node_modules/base/node_modules/define-property/index.js
generated
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
/*!
|
||||
* define-property <https://github.com/jonschlinkert/define-property>
|
||||
*
|
||||
* Copyright (c) 2015, 2017, Jon Schlinkert.
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
var isDescriptor = require('is-descriptor');
|
||||
|
||||
module.exports = function defineProperty(obj, prop, val) {
|
||||
if (typeof obj !== 'object' && typeof obj !== 'function') {
|
||||
throw new TypeError('expected an object or function.');
|
||||
}
|
||||
|
||||
if (typeof prop !== 'string') {
|
||||
throw new TypeError('expected `prop` to be a string.');
|
||||
}
|
||||
|
||||
if (isDescriptor(val) && ('set' in val || 'get' in val)) {
|
||||
return Object.defineProperty(obj, prop, val);
|
||||
}
|
||||
|
||||
return Object.defineProperty(obj, prop, {
|
||||
configurable: true,
|
||||
enumerable: false,
|
||||
writable: true,
|
||||
value: val
|
||||
});
|
||||
};
|
||||
62
node_modules/base/node_modules/define-property/package.json
generated
vendored
Normal file
62
node_modules/base/node_modules/define-property/package.json
generated
vendored
Normal file
@ -0,0 +1,62 @@
|
||||
{
|
||||
"name": "define-property",
|
||||
"description": "Define a non-enumerable property on an object.",
|
||||
"version": "1.0.0",
|
||||
"homepage": "https://github.com/jonschlinkert/define-property",
|
||||
"author": "Jon Schlinkert (https://github.com/jonschlinkert)",
|
||||
"repository": "jonschlinkert/define-property",
|
||||
"bugs": {
|
||||
"url": "https://github.com/jonschlinkert/define-property/issues"
|
||||
},
|
||||
"license": "MIT",
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"main": "index.js",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "mocha"
|
||||
},
|
||||
"dependencies": {
|
||||
"is-descriptor": "^1.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"gulp-format-md": "^0.1.12",
|
||||
"mocha": "^3.2.0"
|
||||
},
|
||||
"keywords": [
|
||||
"define",
|
||||
"define-property",
|
||||
"enumerable",
|
||||
"key",
|
||||
"non",
|
||||
"non-enumerable",
|
||||
"object",
|
||||
"prop",
|
||||
"property",
|
||||
"value"
|
||||
],
|
||||
"verb": {
|
||||
"related": {
|
||||
"list": [
|
||||
"extend-shallow",
|
||||
"merge-deep",
|
||||
"assign-deep",
|
||||
"mixin-deep"
|
||||
]
|
||||
},
|
||||
"toc": false,
|
||||
"layout": "default",
|
||||
"tasks": [
|
||||
"readme"
|
||||
],
|
||||
"plugins": [
|
||||
"gulp-format-md"
|
||||
],
|
||||
"lint": {
|
||||
"reflinks": true
|
||||
}
|
||||
}
|
||||
}
|
||||
14
node_modules/base/node_modules/is-descriptor/.editorconfig
generated
vendored
Normal file
14
node_modules/base/node_modules/is-descriptor/.editorconfig
generated
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
# http://editorconfig.org/
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
indent_size = 2
|
||||
indent_style = space
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[{**/{actual,fixtures,expected,templates}/**,*.md}]
|
||||
trim_trailing_whitespace = false
|
||||
insert_final_newline = false
|
||||
16
node_modules/base/node_modules/is-descriptor/.eslintrc
generated
vendored
Normal file
16
node_modules/base/node_modules/is-descriptor/.eslintrc
generated
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
"extends": "@ljharb",
|
||||
|
||||
"rules": {
|
||||
"func-style": "warn",
|
||||
},
|
||||
|
||||
"overrides": [
|
||||
{
|
||||
"files": "test/**/*.js",
|
||||
"rules": {
|
||||
"max-lines-per-function": "off",
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
10
node_modules/base/node_modules/is-descriptor/.gitattributes
generated
vendored
Normal file
10
node_modules/base/node_modules/is-descriptor/.gitattributes
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
# Enforce Unix newlines
|
||||
* text eol=lf
|
||||
|
||||
# binaries
|
||||
*.ai binary
|
||||
*.psd binary
|
||||
*.jpg binary
|
||||
*.gif binary
|
||||
*.png binary
|
||||
*.jpeg binary
|
||||
12
node_modules/base/node_modules/is-descriptor/.github/FUNDING.yml
generated
vendored
Normal file
12
node_modules/base/node_modules/is-descriptor/.github/FUNDING.yml
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
github: [ljharb]
|
||||
patreon: # Replace with a single Patreon username
|
||||
open_collective: # Replace with a single Open Collective username
|
||||
ko_fi: # Replace with a single Ko-fi username
|
||||
tidelift: npm/is-descriptor
|
||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||
liberapay: # Replace with a single Liberapay username
|
||||
issuehunt: # Replace with a single IssueHunt username
|
||||
otechie: # Replace with a single Otechie username
|
||||
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
||||
9
node_modules/base/node_modules/is-descriptor/.nycrc
generated
vendored
Normal file
9
node_modules/base/node_modules/is-descriptor/.nycrc
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"all": true,
|
||||
"check-coverage": false,
|
||||
"reporter": ["text-summary", "text", "html", "json"],
|
||||
"exclude": [
|
||||
"coverage",
|
||||
"test"
|
||||
]
|
||||
}
|
||||
121
node_modules/base/node_modules/is-descriptor/CHANGELOG.md
generated
vendored
Normal file
121
node_modules/base/node_modules/is-descriptor/CHANGELOG.md
generated
vendored
Normal file
@ -0,0 +1,121 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [v3.1.0](https://github.com/inspect-js/is-descriptor/compare/v3.0.0...v3.1.0) - 2023-05-01
|
||||
|
||||
### Commits
|
||||
|
||||
- [eslint] cleanup [`1f4e8cd`](https://github.com/inspect-js/is-descriptor/commit/1f4e8cdb49b4b15666a782f3f05e6f4f0146b9ab)
|
||||
- [Tests] travis -> Github Actions; add `safe-publish-latest`, `npmignore`, `auto-changelog`, `evalmd`, `aud` [`5993285`](https://github.com/inspect-js/is-descriptor/commit/5993285a122ef7bf5b91cba3b486f96a1f94f552)
|
||||
- [readme] clean up docs, URLs, package.json, etc [`8807164`](https://github.com/inspect-js/is-descriptor/commit/88071644c15d543c7830e6ac00a5ed8531c82750)
|
||||
- [Docs] remove verb [`0bc26a3`](https://github.com/inspect-js/is-descriptor/commit/0bc26a306f02241e6c5c506e95c53ca828031c05)
|
||||
- [Tests] convert from mocha to tape [`1604d7f`](https://github.com/inspect-js/is-descriptor/commit/1604d7feebd776b0fb67163e3013cc6d5ab9fd6b)
|
||||
- [New] increase support from node 6 down to node 0.4 [`7893404`](https://github.com/inspect-js/is-descriptor/commit/789340412f4028d46a3121466a25497716b94402)
|
||||
- [Tests] add coverage [`1dcc45e`](https://github.com/inspect-js/is-descriptor/commit/1dcc45ed57aebc83ba0588c232663f4164a7d0a8)
|
||||
- [Fix] when an object/key pair is provided, check arguments.length instead of key truthiness [`d1edefe`](https://github.com/inspect-js/is-descriptor/commit/d1edefef56c7eeaab385b1704417b314f197034d)
|
||||
- [meta] switch from `files` field to npmignore; add `exports` [`c64d3d3`](https://github.com/inspect-js/is-descriptor/commit/c64d3d356d459f2e73198841f93fb902895875b4)
|
||||
|
||||
## [v3.0.0](https://github.com/inspect-js/is-descriptor/compare/v2.0.0...v3.0.0) - 2018-12-13
|
||||
|
||||
### Commits
|
||||
|
||||
- refactor [`7f7e2c8`](https://github.com/inspect-js/is-descriptor/commit/7f7e2c865674526424f5cd1fb98f0ed7811a67f9)
|
||||
|
||||
## [v2.0.0](https://github.com/inspect-js/is-descriptor/compare/v1.0.3...v2.0.0) - 2017-12-28
|
||||
|
||||
### Commits
|
||||
|
||||
- run verb to generate readme [`7d97594`](https://github.com/inspect-js/is-descriptor/commit/7d97594666afaa825e0421883507cfec04ceef1d)
|
||||
- upgrade is-accessor-descriptor [`2e2cb1e`](https://github.com/inspect-js/is-descriptor/commit/2e2cb1e723d2ca1d6b8580d384702700e26dda81)
|
||||
- run update [`c04832a`](https://github.com/inspect-js/is-descriptor/commit/c04832a3a2bf48bef2ea0f5844652da7d6209242)
|
||||
|
||||
## [v1.0.3](https://github.com/inspect-js/is-descriptor/compare/v1.0.2...v1.0.3) - 2023-10-26
|
||||
|
||||
### Commits
|
||||
|
||||
- [eslint] actually use eslint [`8bcf028`](https://github.com/inspect-js/is-descriptor/commit/8bcf0288c53c80297e6109f7632dab9b7b7fb5c5)
|
||||
- [meta] update package.json, gitignore from main [`544cdfe`](https://github.com/inspect-js/is-descriptor/commit/544cdfe60f5a4db8aa1b02de93b326271fa82ec1)
|
||||
- [readme] update readme from main [`1130f79`](https://github.com/inspect-js/is-descriptor/commit/1130f79112bd1d36ca5b0806a4ad14ae9427e0e9)
|
||||
- [Tests] switch to tape [`3f8f094`](https://github.com/inspect-js/is-descriptor/commit/3f8f0947049e4f2d631f88f0374e2b4a4e058577)
|
||||
- [Docs] remove verb [`92ee1bf`](https://github.com/inspect-js/is-descriptor/commit/92ee1bfcc56ba2cd30503c87af8e8cd795fdca51)
|
||||
- [Tests] migrate from travis to github actions [`8da3a3c`](https://github.com/inspect-js/is-descriptor/commit/8da3a3c38d50b4e9e18865efd25c6d35f98852b6)
|
||||
- [Fix] a descriptor with `set` and not `get` is still an accessor descriptor [`269fb53`](https://github.com/inspect-js/is-descriptor/commit/269fb5374659a8c07aac88993b13d94197e9cbed)
|
||||
- [patch] switch from `files` to `exports` [`41b2d61`](https://github.com/inspect-js/is-descriptor/commit/41b2d6152438119120b8d24ff98ebfb79cb19007)
|
||||
- [Fix] allow any non-primitive; arrays and functions are objects too [`9fd1ac8`](https://github.com/inspect-js/is-descriptor/commit/9fd1ac80cd42600510dc76de74da9a3834c4358d)
|
||||
- [Deps] update `is-accessor-descriptor`, `is-data-descriptor` [`f4dbc73`](https://github.com/inspect-js/is-descriptor/commit/f4dbc7327e9df005d3d6130af2ea612426a45081)
|
||||
- [Tests] make a test dir [`9eaa17c`](https://github.com/inspect-js/is-descriptor/commit/9eaa17c3cbcd545d9409ab8d83dcd8bd0c42e739)
|
||||
|
||||
## [v1.0.2](https://github.com/inspect-js/is-descriptor/compare/v1.0.1...v1.0.2) - 2017-12-28
|
||||
|
||||
### Merged
|
||||
|
||||
- Update dependencies [`#5`](https://github.com/inspect-js/is-descriptor/pull/5)
|
||||
|
||||
## [v1.0.1](https://github.com/inspect-js/is-descriptor/compare/v1.0.0...v1.0.1) - 2017-07-22
|
||||
|
||||
### Commits
|
||||
|
||||
- run update, lint [`754cc73`](https://github.com/inspect-js/is-descriptor/commit/754cc7382bd439f8e8b91775479c59c7c996cd47)
|
||||
- update deps [`2b58af6`](https://github.com/inspect-js/is-descriptor/commit/2b58af6426d0700607419b096766829aff27f642)
|
||||
|
||||
## [v1.0.0](https://github.com/inspect-js/is-descriptor/compare/v0.1.6...v1.0.0) - 2017-02-25
|
||||
|
||||
## [v0.1.6](https://github.com/inspect-js/is-descriptor/compare/v0.1.5...v0.1.6) - 2017-07-22
|
||||
|
||||
## [v0.1.5](https://github.com/inspect-js/is-descriptor/compare/v0.1.4...v0.1.5) - 2017-02-25
|
||||
|
||||
### Merged
|
||||
|
||||
- Bump `lazy-cache`. [`#4`](https://github.com/inspect-js/is-descriptor/pull/4)
|
||||
|
||||
### Commits
|
||||
|
||||
- update docs, fix typos [`bc3cf69`](https://github.com/inspect-js/is-descriptor/commit/bc3cf6915686d4a964997ae7585bf65005bbf955)
|
||||
- run update [`1956814`](https://github.com/inspect-js/is-descriptor/commit/1956814c67c2033caeaed469ad09e6392dd0799e)
|
||||
|
||||
## [v0.1.4](https://github.com/inspect-js/is-descriptor/compare/v0.1.3...v0.1.4) - 2015-12-28
|
||||
|
||||
### Commits
|
||||
|
||||
- allow a key to be passed [`202062b`](https://github.com/inspect-js/is-descriptor/commit/202062b56735525e7def35c8453505778ce9de03)
|
||||
- update docs [`890fe80`](https://github.com/inspect-js/is-descriptor/commit/890fe80100aa21cac1bee55d6fb4045ffb661ff7)
|
||||
|
||||
## [v0.1.3](https://github.com/inspect-js/is-descriptor/compare/v0.1.2...v0.1.3) - 2015-12-20
|
||||
|
||||
### Commits
|
||||
|
||||
- lint [`fa81701`](https://github.com/inspect-js/is-descriptor/commit/fa817018aabb6f18e7f09e452b80386775773d42)
|
||||
- add gulp-format-md to verb config, build readme [`8e6c159`](https://github.com/inspect-js/is-descriptor/commit/8e6c159cfa23b357dbac8f977c3a9421172aafeb)
|
||||
- update deps [`b7b8321`](https://github.com/inspect-js/is-descriptor/commit/b7b8321e194f4f25c5aa4ff382a0a8ffb6482cc1)
|
||||
|
||||
## [v0.1.2](https://github.com/inspect-js/is-descriptor/compare/v0.1.1...v0.1.2) - 2015-10-04
|
||||
|
||||
### Commits
|
||||
|
||||
- files prop [`3aaf1ce`](https://github.com/inspect-js/is-descriptor/commit/3aaf1ce8483bdee217e2f18b293937a09634a33b)
|
||||
|
||||
## [v0.1.1](https://github.com/inspect-js/is-descriptor/compare/v0.1.0...v0.1.1) - 2015-10-04
|
||||
|
||||
### Merged
|
||||
|
||||
- Update .verb.md [`#1`](https://github.com/inspect-js/is-descriptor/pull/1)
|
||||
|
||||
### Commits
|
||||
|
||||
- adds lazy-caching [`0219f1a`](https://github.com/inspect-js/is-descriptor/commit/0219f1aa95b9ce7c08e0a1e00fe506a572c6ac46)
|
||||
- 0.1.1 readme [`924a5a7`](https://github.com/inspect-js/is-descriptor/commit/924a5a7a5d648d901b24b7287d9a5d232865f603)
|
||||
- fix readme [`dd9c431`](https://github.com/inspect-js/is-descriptor/commit/dd9c4315dd61be73f42d07bc71ddb97414dfdbcf)
|
||||
|
||||
## v0.1.0 - 2015-08-31
|
||||
|
||||
### Commits
|
||||
|
||||
- first commit [`b5d8c39`](https://github.com/inspect-js/is-descriptor/commit/b5d8c39843c98588b67069325a4e6455beb8aef3)
|
||||
- 0.1.0 readme [`aaffb92`](https://github.com/inspect-js/is-descriptor/commit/aaffb924062d7c588417d9a2184ff1129f8d294a)
|
||||
- 0.1.0 docs [`eb0da6c`](https://github.com/inspect-js/is-descriptor/commit/eb0da6c548e59ff76f6a80a95ea0a750dab40591)
|
||||
- use libs [`86ad32f`](https://github.com/inspect-js/is-descriptor/commit/86ad32fe5a07d2705b14bb3e237584c05d60d519)
|
||||
- lint [`94fbcc9`](https://github.com/inspect-js/is-descriptor/commit/94fbcc9c2a3da1e9b888bad86b9576259d1d7940)
|
||||
21
node_modules/base/node_modules/is-descriptor/LICENSE
generated
vendored
Normal file
21
node_modules/base/node_modules/is-descriptor/LICENSE
generated
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015-2017, 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.
|
||||
134
node_modules/base/node_modules/is-descriptor/README.md
generated
vendored
Normal file
134
node_modules/base/node_modules/is-descriptor/README.md
generated
vendored
Normal file
@ -0,0 +1,134 @@
|
||||
# is-descriptor <sup>[![Version Badge][npm-version-svg]][package-url]</sup>
|
||||
|
||||
[![github actions][actions-image]][actions-url]
|
||||
[![coverage][codecov-image]][codecov-url]
|
||||
[![License][license-image]][license-url]
|
||||
[![Downloads][downloads-image]][downloads-url]
|
||||
|
||||
[![npm badge][npm-badge-png]][package-url]
|
||||
|
||||
> Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
const isDescriptor = require('is-descriptor');
|
||||
const assert = require('assert');
|
||||
|
||||
assert.equal(isDescriptor({ value: 'foo' }), true);
|
||||
assert.equal(isDescriptor({ get() {}, set() {} }), true);
|
||||
assert.equal(isDescriptor({ get: 'foo', set() {} }), false);
|
||||
```
|
||||
|
||||
You may also check for a descriptor by passing an object as the first argument and property name (`string`) as the second argument.
|
||||
|
||||
```js
|
||||
const obj = { foo: 'abc' };
|
||||
|
||||
Object.defineProperty(obj, 'bar', {
|
||||
value: 'xyz'
|
||||
});
|
||||
|
||||
assert.equal(isDescriptor(obj, 'foo'), true);
|
||||
assert.equal(isDescriptor(obj, 'bar'), true);
|
||||
```
|
||||
|
||||
## Examples
|
||||
|
||||
### value type
|
||||
|
||||
`false` when not an object
|
||||
|
||||
```js
|
||||
assert.equal(isDescriptor('a'), false);
|
||||
assert.equal(isDescriptor(null), false);
|
||||
assert.equal(isDescriptor([]), false);
|
||||
```
|
||||
|
||||
### data descriptor
|
||||
|
||||
`true` when the object has valid properties with valid values.
|
||||
|
||||
```js
|
||||
assert.equal(isDescriptor({ value: 'foo' }), true);
|
||||
assert.equal(isDescriptor({ value() {} }), true);
|
||||
```
|
||||
|
||||
`false` when the object has invalid properties
|
||||
|
||||
```js
|
||||
assert.equal(isDescriptor({ value: 'foo', enumerable: 'baz' }), false);
|
||||
assert.equal(isDescriptor({ value: 'foo', configurable: 'baz' }), false);
|
||||
assert.equal(isDescriptor({ value: 'foo', get() {} }), false);
|
||||
assert.equal(isDescriptor({ get() {}, value() {} }), false);
|
||||
```
|
||||
|
||||
`false` when a value is not the correct type
|
||||
|
||||
```js
|
||||
assert.equal(isDescriptor({ value: 'foo', enumerable: 'foo' }), false);
|
||||
assert.equal(isDescriptor({ value: 'foo', configurable: 'foo' }), false);
|
||||
assert.equal(isDescriptor({ value: 'foo', writable: 'foo' }), false);
|
||||
```
|
||||
|
||||
### accessor descriptor
|
||||
|
||||
`true` when the object has valid properties with valid values.
|
||||
|
||||
```js
|
||||
assert.equal(isDescriptor({ get() {}, set() {} }), true);
|
||||
assert.equal(isDescriptor({ get() {} }), true);
|
||||
assert.equal(isDescriptor({ set() {} }), true);
|
||||
```
|
||||
|
||||
`false` when the object has invalid properties
|
||||
|
||||
```js
|
||||
assert.equal(isDescriptor({ get() {}, set() {}, enumerable: 'baz' }), false);
|
||||
assert.equal(isDescriptor({ get() {}, writable: true }), false);
|
||||
assert.equal(isDescriptor({ get() {}, value: true }), false);
|
||||
```
|
||||
|
||||
`false` when an accessor is not a function
|
||||
|
||||
```js
|
||||
assert.equal(isDescriptor({ get() {}, set: 'baz' }), false);
|
||||
assert.equal(isDescriptor({ get: 'foo', set() {} }), false);
|
||||
assert.equal(isDescriptor({ get: 'foo', bar: 'baz' }), false);
|
||||
assert.equal(isDescriptor({ get: 'foo', set: 'baz' }), false);
|
||||
```
|
||||
|
||||
`false` when a value is not the correct type
|
||||
|
||||
```js
|
||||
assert.equal(isDescriptor({ get() {}, set() {}, enumerable: 'foo' }), false);
|
||||
assert.equal(isDescriptor({ set() {}, configurable: 'foo' }), false);
|
||||
assert.equal(isDescriptor({ get() {}, configurable: 'foo' }), false);
|
||||
```
|
||||
|
||||
### Related projects
|
||||
|
||||
You might also be interested in these projects:
|
||||
|
||||
* [is-accessor-descriptor](https://www.npmjs.com/package/is-accessor-descriptor): Returns true if a value has the characteristics of a valid JavaScript accessor descriptor.
|
||||
* [is-data-descriptor](https://www.npmjs.com/package/is-data-descriptor): Returns true if a value has the characteristics of a valid JavaScript data descriptor.
|
||||
* [is-object](https://www.npmjs.com/package/is-object): Returns true if the value is an object and not an array or null.
|
||||
|
||||
## Tests
|
||||
Simply clone the repo, `npm install`, and run `npm test`
|
||||
|
||||
[package-url]: https://npmjs.org/package/is-descriptor
|
||||
[npm-version-svg]: https://versionbadg.es/inspect-js/is-descriptor.svg
|
||||
[deps-svg]: https://david-dm.org/inspect-js/is-descriptor.svg
|
||||
[deps-url]: https://david-dm.org/inspect-js/is-descriptor
|
||||
[dev-deps-svg]: https://david-dm.org/inspect-js/is-descriptor/dev-status.svg
|
||||
[dev-deps-url]: https://david-dm.org/inspect-js/is-descriptor#info=devDependencies
|
||||
[npm-badge-png]: https://nodei.co/npm/is-descriptor.png?downloads=true&stars=true
|
||||
[license-image]: https://img.shields.io/npm/l/is-descriptor.svg
|
||||
[license-url]: LICENSE
|
||||
[downloads-image]: https://img.shields.io/npm/dm/is-descriptor.svg
|
||||
[downloads-url]: https://npm-stat.com/charts.html?package=is-descriptor
|
||||
[codecov-image]: https://codecov.io/gh/inspect-js/is-descriptor/branch/main/graphs/badge.svg
|
||||
[codecov-url]: https://app.codecov.io/gh/inspect-js/is-descriptor/
|
||||
[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/is-descriptor
|
||||
[actions-url]: https://github.com/inspect-js/is-descriptor/actions
|
||||
16
node_modules/base/node_modules/is-descriptor/index.js
generated
vendored
Normal file
16
node_modules/base/node_modules/is-descriptor/index.js
generated
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
'use strict';
|
||||
|
||||
var isAccessor = require('is-accessor-descriptor');
|
||||
var isData = require('is-data-descriptor');
|
||||
|
||||
module.exports = function isDescriptor(obj, key) {
|
||||
if (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ('get' in obj || 'set' in obj) {
|
||||
return isAccessor(obj, key);
|
||||
}
|
||||
|
||||
return isData(obj, key);
|
||||
};
|
||||
88
node_modules/base/node_modules/is-descriptor/package.json
generated
vendored
Normal file
88
node_modules/base/node_modules/is-descriptor/package.json
generated
vendored
Normal file
@ -0,0 +1,88 @@
|
||||
{
|
||||
"name": "is-descriptor",
|
||||
"version": "1.0.3",
|
||||
"description": "Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.",
|
||||
"main": "index.js",
|
||||
"exports": {
|
||||
".": "./index.js",
|
||||
"./package.json": "./package.json"
|
||||
},
|
||||
"scripts": {
|
||||
"prepack": "npmignore --auto --commentLines=autogenerated",
|
||||
"prepublishOnly": "safe-publish-latest",
|
||||
"prepublish": "not-in-publish || npm run prepublishOnly",
|
||||
"prelint": "evalmd README.md",
|
||||
"lint": "eslint --ext=js,mjs .",
|
||||
"pretest": "npm run lint",
|
||||
"tests-only": "nyc tape 'test/**/*.js'",
|
||||
"test": "npm run tests-only",
|
||||
"posttest": "aud --production",
|
||||
"version": "auto-changelog && git add CHANGELOG.md",
|
||||
"postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/inspect-js/is-descriptor.git"
|
||||
},
|
||||
"keywords": [
|
||||
"accessor",
|
||||
"check",
|
||||
"data",
|
||||
"descriptor",
|
||||
"get",
|
||||
"getter",
|
||||
"is",
|
||||
"keys",
|
||||
"object",
|
||||
"properties",
|
||||
"property",
|
||||
"set",
|
||||
"setter",
|
||||
"type",
|
||||
"valid",
|
||||
"value"
|
||||
],
|
||||
"author": "Jon Schlinkert (https://github.com/jonschlinkert)",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/inspect-js/is-descriptor/issues"
|
||||
},
|
||||
"homepage": "https://github.com/inspect-js/is-descriptor",
|
||||
"contributors": [
|
||||
"Brian Woodward (https://twitter.com/doowb)",
|
||||
"Jon Schlinkert (http://twitter.com/jonschlinkert)",
|
||||
"(https://github.com/wtgtybhertgeghgtwtg)"
|
||||
],
|
||||
"dependencies": {
|
||||
"is-accessor-descriptor": "^1.0.1",
|
||||
"is-data-descriptor": "^1.0.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@ljharb/eslint-config": "^21.1.0",
|
||||
"aud": "^2.0.3",
|
||||
"auto-changelog": "^2.4.0",
|
||||
"eslint": "=8.8.0",
|
||||
"evalmd": "^0.0.19",
|
||||
"in-publish": "^2.0.1",
|
||||
"npmignore": "^0.3.0",
|
||||
"nyc": "^10.3.2",
|
||||
"safe-publish-latest": "^2.0.0",
|
||||
"tape": "^5.7.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"auto-changelog": {
|
||||
"output": "CHANGELOG.md",
|
||||
"template": "keepachangelog",
|
||||
"unreleased": false,
|
||||
"commitLimit": false,
|
||||
"backfillLimit": false,
|
||||
"hideCredit": true
|
||||
},
|
||||
"publishConfig": {
|
||||
"ignore": [
|
||||
".github/workflows"
|
||||
]
|
||||
}
|
||||
}
|
||||
116
node_modules/base/node_modules/is-descriptor/test/index.js
generated
vendored
Normal file
116
node_modules/base/node_modules/is-descriptor/test/index.js
generated
vendored
Normal file
@ -0,0 +1,116 @@
|
||||
'use strict';
|
||||
|
||||
var test = require('tape');
|
||||
var isDescriptor = require('../');
|
||||
var noop = function () {};
|
||||
|
||||
test('isDescriptor', function (t) {
|
||||
t.test('is false when not an object:', function (st) {
|
||||
st.notOk(isDescriptor('a'));
|
||||
st.notOk(isDescriptor(null));
|
||||
st.notOk(isDescriptor([]));
|
||||
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('returns true if the property exists', function (st) {
|
||||
var obj = { foo: null };
|
||||
|
||||
Object.defineProperty(obj, 'bar', {
|
||||
value: 'xyz'
|
||||
});
|
||||
|
||||
Object.defineProperty(obj, 'baz', {
|
||||
get: function () {
|
||||
return 'aaa';
|
||||
}
|
||||
});
|
||||
|
||||
st.ok(isDescriptor(obj, 'foo'));
|
||||
st.ok(isDescriptor(obj, 'bar'));
|
||||
st.ok(isDescriptor(obj, 'baz'));
|
||||
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('data descriptor:', function (st) {
|
||||
st.test('is false when the object has invalid properties:', function (s2t) {
|
||||
s2t.notOk(isDescriptor({ value: 'foo', get: noop }));
|
||||
s2t.notOk(isDescriptor({ get: noop, value: noop }));
|
||||
|
||||
s2t.end();
|
||||
});
|
||||
|
||||
st.test('is not false when the object has unrecognize properties:', function (s2t) {
|
||||
s2t.ok(isDescriptor({ value: 'foo', bar: 'baz' }));
|
||||
s2t.ok(isDescriptor({ value: 'foo', bar: 'baz' }));
|
||||
|
||||
s2t.end();
|
||||
});
|
||||
|
||||
st.test('is true when the object has valid properties:', function (s2t) {
|
||||
s2t.ok(isDescriptor({ value: 'foo' }));
|
||||
s2t.ok(isDescriptor({ value: noop }));
|
||||
|
||||
s2t.end();
|
||||
});
|
||||
|
||||
st.test('is false when a value is not the correct type:', function (s2t) {
|
||||
s2t.notOk(isDescriptor({ value: 'foo', enumerable: 'foo' }));
|
||||
s2t.notOk(isDescriptor({ value: 'foo', configurable: 'foo' }));
|
||||
s2t.notOk(isDescriptor({ value: 'foo', writable: 'foo' }));
|
||||
|
||||
s2t.end();
|
||||
});
|
||||
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('accessor descriptor:', function (st) {
|
||||
st.test('should be false when the object has invalid properties:', function (s2t) {
|
||||
s2t.ok(!isDescriptor({ get: noop, writable: true }));
|
||||
s2t.ok(!isDescriptor({ get: noop, value: true }));
|
||||
|
||||
s2t.end();
|
||||
});
|
||||
|
||||
st.test('is not false when the object has unrecognize properties:', function (s2t) {
|
||||
s2t.ok(isDescriptor({ get: noop, set: noop, bar: 'baz' }));
|
||||
|
||||
s2t.end();
|
||||
});
|
||||
|
||||
st.test('is false when an accessor is not a function:', function (s2t) {
|
||||
s2t.notOk(isDescriptor({ get: noop, set: 'baz' }));
|
||||
s2t.notOk(isDescriptor({ get: 'foo', set: noop }));
|
||||
s2t.notOk(isDescriptor({ get: 'foo', bar: 'baz' }));
|
||||
s2t.notOk(isDescriptor({ get: 'foo', set: 'baz' }));
|
||||
|
||||
s2t.end();
|
||||
});
|
||||
|
||||
st.test('is false when "get" or "set" is not a function', function (s2t) {
|
||||
s2t.notOk(isDescriptor({ set: 'foo' }));
|
||||
s2t.notOk(isDescriptor({ get: 'foo' }));
|
||||
|
||||
s2t.end();
|
||||
});
|
||||
|
||||
st.test('is true when the object has valid properties:', function (s2t) {
|
||||
s2t.ok(isDescriptor({ get: noop, set: noop }));
|
||||
s2t.ok(isDescriptor({ get: noop }));
|
||||
|
||||
s2t.end();
|
||||
});
|
||||
|
||||
st.test('is false when a value is not the correct type:', function (s2t) {
|
||||
s2t.notOk(isDescriptor({ get: noop, set: noop, enumerable: 'foo' }));
|
||||
s2t.notOk(isDescriptor({ set: noop, configurable: 'foo' }));
|
||||
s2t.notOk(isDescriptor({ get: noop, configurable: 'foo' }));
|
||||
|
||||
s2t.end();
|
||||
});
|
||||
|
||||
st.end();
|
||||
});
|
||||
});
|
||||
111
node_modules/base/package.json
generated
vendored
Normal file
111
node_modules/base/package.json
generated
vendored
Normal file
@ -0,0 +1,111 @@
|
||||
{
|
||||
"name": "base",
|
||||
"description": "base is the foundation for creating modular, unit testable and highly pluggable node.js applications, starting with a handful of common methods, like `set`, `get`, `del` and `use`.",
|
||||
"version": "0.11.2",
|
||||
"homepage": "https://github.com/node-base/base",
|
||||
"author": "Jon Schlinkert (https://github.com/jonschlinkert)",
|
||||
"maintainers": [
|
||||
"Brian Woodward (https://github.com/doowb)",
|
||||
"Jon Schlinkert (https://github.com/jonschlinkert)"
|
||||
],
|
||||
"contributors": [
|
||||
"Brian Woodward (https://twitter.com/doowb)",
|
||||
"John O'Donnell (https://github.com/criticalmash)",
|
||||
"Jon Schlinkert (http://twitter.com/jonschlinkert)",
|
||||
"tunnckoCore (https://i.am.charlike.online)",
|
||||
"(https://github.com/wtgtybhertgeghgtwtg)"
|
||||
],
|
||||
"repository": "node-base/base",
|
||||
"bugs": {
|
||||
"url": "https://github.com/node-base/base/issues"
|
||||
},
|
||||
"license": "MIT",
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"main": "index.js",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "mocha"
|
||||
},
|
||||
"dependencies": {
|
||||
"cache-base": "^1.0.1",
|
||||
"class-utils": "^0.3.5",
|
||||
"component-emitter": "^1.2.1",
|
||||
"define-property": "^1.0.0",
|
||||
"isobject": "^3.0.1",
|
||||
"mixin-deep": "^1.2.0",
|
||||
"pascalcase": "^0.1.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"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",
|
||||
"helper-coverage": "^0.1.3",
|
||||
"mocha": "^3.5.0",
|
||||
"should": "^13.0.1",
|
||||
"through2": "^2.0.3",
|
||||
"verb-generate-readme": "^0.6.0"
|
||||
},
|
||||
"keywords": [
|
||||
"base",
|
||||
"boilerplate",
|
||||
"cache",
|
||||
"del",
|
||||
"get",
|
||||
"inherit",
|
||||
"methods",
|
||||
"set",
|
||||
"starter",
|
||||
"unset",
|
||||
"visit"
|
||||
],
|
||||
"verb": {
|
||||
"run": true,
|
||||
"toc": false,
|
||||
"layout": "default",
|
||||
"tasks": [
|
||||
"readme"
|
||||
],
|
||||
"plugins": [
|
||||
"gulp-format-md"
|
||||
],
|
||||
"helpers": [
|
||||
"helper-coverage"
|
||||
],
|
||||
"related": {
|
||||
"description": "There are a number of different plugins available for extending base. Let us know if you create your own!",
|
||||
"hightlight": "generate",
|
||||
"list": [
|
||||
"base-cwd",
|
||||
"base-data",
|
||||
"base-fs",
|
||||
"base-generators",
|
||||
"base-option",
|
||||
"base-pipeline",
|
||||
"base-pkg",
|
||||
"base-plugins",
|
||||
"base-questions",
|
||||
"base-store",
|
||||
"base-task"
|
||||
]
|
||||
},
|
||||
"reflinks": [
|
||||
"assemble",
|
||||
"boilerplate",
|
||||
"cache-base",
|
||||
"class-utils",
|
||||
"generate",
|
||||
"scaffold",
|
||||
"static-extend",
|
||||
"verb"
|
||||
],
|
||||
"lint": {
|
||||
"reflinks": true
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user