mirror of
				https://github.com/shivammathur/setup-php.git
				synced 2025-10-31 15:26:23 +07:00 
			
		
		
		
	init
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 | ||||
|   }); | ||||
| }; | ||||
							
								
								
									
										97
									
								
								node_modules/base/node_modules/define-property/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										97
									
								
								node_modules/base/node_modules/define-property/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,97 @@ | ||||
| { | ||||
|   "_args": [ | ||||
|     [ | ||||
|       "define-property@1.0.0", | ||||
|       "E:\\python\\setup-php" | ||||
|     ] | ||||
|   ], | ||||
|   "_development": true, | ||||
|   "_from": "define-property@1.0.0", | ||||
|   "_id": "define-property@1.0.0", | ||||
|   "_inBundle": false, | ||||
|   "_integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", | ||||
|   "_location": "/base/define-property", | ||||
|   "_phantomChildren": {}, | ||||
|   "_requested": { | ||||
|     "type": "version", | ||||
|     "registry": true, | ||||
|     "raw": "define-property@1.0.0", | ||||
|     "name": "define-property", | ||||
|     "escapedName": "define-property", | ||||
|     "rawSpec": "1.0.0", | ||||
|     "saveSpec": null, | ||||
|     "fetchSpec": "1.0.0" | ||||
|   }, | ||||
|   "_requiredBy": [ | ||||
|     "/base" | ||||
|   ], | ||||
|   "_resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", | ||||
|   "_spec": "1.0.0", | ||||
|   "_where": "E:\\python\\setup-php", | ||||
|   "author": { | ||||
|     "name": "Jon Schlinkert", | ||||
|     "url": "https://github.com/jonschlinkert" | ||||
|   }, | ||||
|   "bugs": { | ||||
|     "url": "https://github.com/jonschlinkert/define-property/issues" | ||||
|   }, | ||||
|   "dependencies": { | ||||
|     "is-descriptor": "^1.0.0" | ||||
|   }, | ||||
|   "description": "Define a non-enumerable property on an object.", | ||||
|   "devDependencies": { | ||||
|     "gulp-format-md": "^0.1.12", | ||||
|     "mocha": "^3.2.0" | ||||
|   }, | ||||
|   "engines": { | ||||
|     "node": ">=0.10.0" | ||||
|   }, | ||||
|   "files": [ | ||||
|     "index.js" | ||||
|   ], | ||||
|   "homepage": "https://github.com/jonschlinkert/define-property", | ||||
|   "keywords": [ | ||||
|     "define", | ||||
|     "define-property", | ||||
|     "enumerable", | ||||
|     "key", | ||||
|     "non", | ||||
|     "non-enumerable", | ||||
|     "object", | ||||
|     "prop", | ||||
|     "property", | ||||
|     "value" | ||||
|   ], | ||||
|   "license": "MIT", | ||||
|   "main": "index.js", | ||||
|   "name": "define-property", | ||||
|   "repository": { | ||||
|     "type": "git", | ||||
|     "url": "git+https://github.com/jonschlinkert/define-property.git" | ||||
|   }, | ||||
|   "scripts": { | ||||
|     "test": "mocha" | ||||
|   }, | ||||
|   "verb": { | ||||
|     "related": { | ||||
|       "list": [ | ||||
|         "extend-shallow", | ||||
|         "merge-deep", | ||||
|         "assign-deep", | ||||
|         "mixin-deep" | ||||
|       ] | ||||
|     }, | ||||
|     "toc": false, | ||||
|     "layout": "default", | ||||
|     "tasks": [ | ||||
|       "readme" | ||||
|     ], | ||||
|     "plugins": [ | ||||
|       "gulp-format-md" | ||||
|     ], | ||||
|     "lint": { | ||||
|       "reflinks": true | ||||
|     } | ||||
|   }, | ||||
|   "version": "1.0.0" | ||||
| } | ||||
							
								
								
									
										21
									
								
								node_modules/base/node_modules/is-accessor-descriptor/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								node_modules/base/node_modules/is-accessor-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. | ||||
							
								
								
									
										144
									
								
								node_modules/base/node_modules/is-accessor-descriptor/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										144
									
								
								node_modules/base/node_modules/is-accessor-descriptor/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,144 @@ | ||||
| # is-accessor-descriptor [](https://www.npmjs.com/package/is-accessor-descriptor) [](https://npmjs.org/package/is-accessor-descriptor) [](https://npmjs.org/package/is-accessor-descriptor) [](https://travis-ci.org/jonschlinkert/is-accessor-descriptor) | ||||
|  | ||||
| > Returns true if a value has the characteristics of a valid JavaScript accessor descriptor. | ||||
|  | ||||
| Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support. | ||||
|  | ||||
| ## Install | ||||
|  | ||||
| Install with [npm](https://www.npmjs.com/): | ||||
|  | ||||
| ```sh | ||||
| $ npm install --save is-accessor-descriptor | ||||
| ``` | ||||
|  | ||||
| ## Usage | ||||
|  | ||||
| ```js | ||||
| var isAccessor = require('is-accessor-descriptor'); | ||||
|  | ||||
| isAccessor({get: function() {}}); | ||||
| //=> true | ||||
| ``` | ||||
|  | ||||
| You may also pass an object and property name to check if the property is an accessor: | ||||
|  | ||||
| ```js | ||||
| isAccessor(foo, 'bar'); | ||||
| ``` | ||||
|  | ||||
| ## Examples | ||||
|  | ||||
| `false` when not an object | ||||
|  | ||||
| ```js | ||||
| isAccessor('a') | ||||
| isAccessor(null) | ||||
| isAccessor([]) | ||||
| //=> false | ||||
| ``` | ||||
|  | ||||
| `true` when the object has valid properties | ||||
|  | ||||
| and the properties all have the correct JavaScript types: | ||||
|  | ||||
| ```js | ||||
| isAccessor({get: noop, set: noop}) | ||||
| isAccessor({get: noop}) | ||||
| isAccessor({set: noop}) | ||||
| //=> true | ||||
| ``` | ||||
|  | ||||
| `false` when the object has invalid properties | ||||
|  | ||||
| ```js | ||||
| isAccessor({get: noop, set: noop, bar: 'baz'}) | ||||
| isAccessor({get: noop, writable: true}) | ||||
| isAccessor({get: noop, value: true}) | ||||
| //=> false | ||||
| ``` | ||||
|  | ||||
| `false` when an accessor is not a function | ||||
|  | ||||
| ```js | ||||
| isAccessor({get: noop, set: 'baz'}) | ||||
| isAccessor({get: 'foo', set: noop}) | ||||
| isAccessor({get: 'foo', bar: 'baz'}) | ||||
| isAccessor({get: 'foo', set: 'baz'}) | ||||
| //=> false | ||||
| ``` | ||||
|  | ||||
| `false` when a value is not the correct type | ||||
|  | ||||
| ```js | ||||
| isAccessor({get: noop, set: noop, enumerable: 'foo'}) | ||||
| isAccessor({set: noop, configurable: 'foo'}) | ||||
| isAccessor({get: noop, configurable: 'foo'}) | ||||
| //=> false | ||||
| ``` | ||||
|  | ||||
| ## About | ||||
|  | ||||
| <details> | ||||
| <summary><strong>Contributing</strong></summary> | ||||
|  | ||||
| Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). | ||||
|  | ||||
| </details> | ||||
|  | ||||
| <details> | ||||
| <summary><strong>Running Tests</strong></summary> | ||||
|  | ||||
| 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 | ||||
| ``` | ||||
|  | ||||
| </details> | ||||
|  | ||||
| <details> | ||||
| <summary><strong>Building docs</strong></summary> | ||||
|  | ||||
| _(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 | ||||
| ``` | ||||
|  | ||||
| </details> | ||||
|  | ||||
| ### 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. | [homepage](https://github.com/jonschlinkert/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. | [homepage](https://github.com/jonschlinkert/is-data-descriptor "Returns true if a value has the characteristics of a valid JavaScript data descriptor.") | ||||
| * [is-descriptor](https://www.npmjs.com/package/is-descriptor): Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for… [more](https://github.com/jonschlinkert/is-descriptor) | [homepage](https://github.com/jonschlinkert/is-descriptor "Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.") | ||||
| * [is-plain-object](https://www.npmjs.com/package/is-plain-object): Returns true if an object was created by the `Object` constructor. | [homepage](https://github.com/jonschlinkert/is-plain-object "Returns true if an object was created by the `Object` constructor.") | ||||
| * [isobject](https://www.npmjs.com/package/isobject): Returns true if the value is an object and not an array or null. | [homepage](https://github.com/jonschlinkert/isobject "Returns true if the value is an object and not an array or null.") | ||||
|  | ||||
| ### Contributors | ||||
|  | ||||
| | **Commits** | **Contributor** |  | ||||
| | --- | --- | | ||||
| | 22 | [jonschlinkert](https://github.com/jonschlinkert) | | ||||
| | 2 | [realityking](https://github.com/realityking) | | ||||
|  | ||||
| ### 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 November 01, 2017._ | ||||
							
								
								
									
										69
									
								
								node_modules/base/node_modules/is-accessor-descriptor/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								node_modules/base/node_modules/is-accessor-descriptor/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,69 @@ | ||||
| /*! | ||||
|  * is-accessor-descriptor <https://github.com/jonschlinkert/is-accessor-descriptor> | ||||
|  * | ||||
|  * Copyright (c) 2015-2017, Jon Schlinkert. | ||||
|  * Released under the MIT License. | ||||
|  */ | ||||
|  | ||||
| 'use strict'; | ||||
|  | ||||
| var typeOf = require('kind-of'); | ||||
|  | ||||
| // accessor descriptor properties | ||||
| var accessor = { | ||||
|   get: 'function', | ||||
|   set: 'function', | ||||
|   configurable: 'boolean', | ||||
|   enumerable: 'boolean' | ||||
| }; | ||||
|  | ||||
| function isAccessorDescriptor(obj, prop) { | ||||
|   if (typeof prop === 'string') { | ||||
|     var val = Object.getOwnPropertyDescriptor(obj, prop); | ||||
|     return typeof val !== 'undefined'; | ||||
|   } | ||||
|  | ||||
|   if (typeOf(obj) !== 'object') { | ||||
|     return false; | ||||
|   } | ||||
|  | ||||
|   if (has(obj, 'value') || has(obj, 'writable')) { | ||||
|     return false; | ||||
|   } | ||||
|  | ||||
|   if (!has(obj, 'get') || typeof obj.get !== 'function') { | ||||
|     return false; | ||||
|   } | ||||
|  | ||||
|   // tldr: it's valid to have "set" be undefined | ||||
|   // "set" might be undefined if `Object.getOwnPropertyDescriptor` | ||||
|   // was used to get the value, and only `get` was defined by the user | ||||
|   if (has(obj, 'set') && typeof obj[key] !== 'function' && typeof obj[key] !== 'undefined') { | ||||
|     return false; | ||||
|   } | ||||
|  | ||||
|   for (var key in obj) { | ||||
|     if (!accessor.hasOwnProperty(key)) { | ||||
|       continue; | ||||
|     } | ||||
|  | ||||
|     if (typeOf(obj[key]) === accessor[key]) { | ||||
|       continue; | ||||
|     } | ||||
|  | ||||
|     if (typeof obj[key] !== 'undefined') { | ||||
|       return false; | ||||
|     } | ||||
|   } | ||||
|   return true; | ||||
| } | ||||
|  | ||||
| function has(obj, key) { | ||||
|   return {}.hasOwnProperty.call(obj, key); | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * Expose `isAccessorDescriptor` | ||||
|  */ | ||||
|  | ||||
| module.exports = isAccessorDescriptor; | ||||
							
								
								
									
										114
									
								
								node_modules/base/node_modules/is-accessor-descriptor/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										114
									
								
								node_modules/base/node_modules/is-accessor-descriptor/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,114 @@ | ||||
| { | ||||
|   "_args": [ | ||||
|     [ | ||||
|       "is-accessor-descriptor@1.0.0", | ||||
|       "E:\\python\\setup-php" | ||||
|     ] | ||||
|   ], | ||||
|   "_development": true, | ||||
|   "_from": "is-accessor-descriptor@1.0.0", | ||||
|   "_id": "is-accessor-descriptor@1.0.0", | ||||
|   "_inBundle": false, | ||||
|   "_integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", | ||||
|   "_location": "/base/is-accessor-descriptor", | ||||
|   "_phantomChildren": {}, | ||||
|   "_requested": { | ||||
|     "type": "version", | ||||
|     "registry": true, | ||||
|     "raw": "is-accessor-descriptor@1.0.0", | ||||
|     "name": "is-accessor-descriptor", | ||||
|     "escapedName": "is-accessor-descriptor", | ||||
|     "rawSpec": "1.0.0", | ||||
|     "saveSpec": null, | ||||
|     "fetchSpec": "1.0.0" | ||||
|   }, | ||||
|   "_requiredBy": [ | ||||
|     "/base/is-descriptor" | ||||
|   ], | ||||
|   "_resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", | ||||
|   "_spec": "1.0.0", | ||||
|   "_where": "E:\\python\\setup-php", | ||||
|   "author": { | ||||
|     "name": "Jon Schlinkert", | ||||
|     "url": "https://github.com/jonschlinkert" | ||||
|   }, | ||||
|   "bugs": { | ||||
|     "url": "https://github.com/jonschlinkert/is-accessor-descriptor/issues" | ||||
|   }, | ||||
|   "contributors": [ | ||||
|     { | ||||
|       "name": "Jon Schlinkert", | ||||
|       "url": "http://twitter.com/jonschlinkert" | ||||
|     }, | ||||
|     { | ||||
|       "name": "Rouven Weßling", | ||||
|       "url": "www.rouvenwessling.de" | ||||
|     } | ||||
|   ], | ||||
|   "dependencies": { | ||||
|     "kind-of": "^6.0.0" | ||||
|   }, | ||||
|   "description": "Returns true if a value has the characteristics of a valid JavaScript accessor descriptor.", | ||||
|   "devDependencies": { | ||||
|     "gulp-format-md": "^1.0.0", | ||||
|     "mocha": "^3.5.3" | ||||
|   }, | ||||
|   "engines": { | ||||
|     "node": ">=0.10.0" | ||||
|   }, | ||||
|   "files": [ | ||||
|     "index.js" | ||||
|   ], | ||||
|   "homepage": "https://github.com/jonschlinkert/is-accessor-descriptor", | ||||
|   "keywords": [ | ||||
|     "accessor", | ||||
|     "check", | ||||
|     "data", | ||||
|     "descriptor", | ||||
|     "get", | ||||
|     "getter", | ||||
|     "is", | ||||
|     "keys", | ||||
|     "object", | ||||
|     "properties", | ||||
|     "property", | ||||
|     "set", | ||||
|     "setter", | ||||
|     "type", | ||||
|     "valid", | ||||
|     "value" | ||||
|   ], | ||||
|   "license": "MIT", | ||||
|   "main": "index.js", | ||||
|   "name": "is-accessor-descriptor", | ||||
|   "repository": { | ||||
|     "type": "git", | ||||
|     "url": "git+https://github.com/jonschlinkert/is-accessor-descriptor.git" | ||||
|   }, | ||||
|   "scripts": { | ||||
|     "test": "mocha" | ||||
|   }, | ||||
|   "verb": { | ||||
|     "toc": false, | ||||
|     "layout": "default", | ||||
|     "tasks": [ | ||||
|       "readme" | ||||
|     ], | ||||
|     "plugins": [ | ||||
|       "gulp-format-md" | ||||
|     ], | ||||
|     "related": { | ||||
|       "list": [ | ||||
|         "is-accessor-descriptor", | ||||
|         "is-data-descriptor", | ||||
|         "is-descriptor", | ||||
|         "is-plain-object", | ||||
|         "isobject" | ||||
|       ] | ||||
|     }, | ||||
|     "lint": { | ||||
|       "reflinks": true | ||||
|     } | ||||
|   }, | ||||
|   "version": "1.0.0" | ||||
| } | ||||
							
								
								
									
										21
									
								
								node_modules/base/node_modules/is-data-descriptor/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								node_modules/base/node_modules/is-data-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. | ||||
							
								
								
									
										161
									
								
								node_modules/base/node_modules/is-data-descriptor/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										161
									
								
								node_modules/base/node_modules/is-data-descriptor/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,161 @@ | ||||
| # is-data-descriptor [](https://www.npmjs.com/package/is-data-descriptor) [](https://npmjs.org/package/is-data-descriptor) [](https://npmjs.org/package/is-data-descriptor) [](https://travis-ci.org/jonschlinkert/is-data-descriptor) | ||||
|  | ||||
| > Returns true if a value has the characteristics of a valid JavaScript data descriptor. | ||||
|  | ||||
| Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support. | ||||
|  | ||||
| ## Install | ||||
|  | ||||
| Install with [npm](https://www.npmjs.com/): | ||||
|  | ||||
| ```sh | ||||
| $ npm install --save is-data-descriptor | ||||
| ``` | ||||
|  | ||||
| ## Usage | ||||
|  | ||||
| ```js | ||||
| var isDataDesc = require('is-data-descriptor'); | ||||
| ``` | ||||
|  | ||||
| ## Examples | ||||
|  | ||||
| `true` when the descriptor has valid properties with valid values. | ||||
|  | ||||
| ```js | ||||
| // `value` can be anything | ||||
| isDataDesc({value: 'foo'}) | ||||
| isDataDesc({value: function() {}}) | ||||
| isDataDesc({value: true}) | ||||
| //=> true | ||||
| ``` | ||||
|  | ||||
| `false` when not an object | ||||
|  | ||||
| ```js | ||||
| isDataDesc('a') | ||||
| //=> false | ||||
| isDataDesc(null) | ||||
| //=> false | ||||
| isDataDesc([]) | ||||
| //=> false | ||||
| ``` | ||||
|  | ||||
| `false` when the object has invalid properties | ||||
|  | ||||
| ```js | ||||
| isDataDesc({value: 'foo', bar: 'baz'}) | ||||
| //=> false | ||||
| isDataDesc({value: 'foo', bar: 'baz'}) | ||||
| //=> false | ||||
| isDataDesc({value: 'foo', get: function(){}}) | ||||
| //=> false | ||||
| isDataDesc({get: function(){}, value: 'foo'}) | ||||
| //=> false | ||||
| ``` | ||||
|  | ||||
| `false` when a value is not the correct type | ||||
|  | ||||
| ```js | ||||
| isDataDesc({value: 'foo', enumerable: 'foo'}) | ||||
| //=> false | ||||
| isDataDesc({value: 'foo', configurable: 'foo'}) | ||||
| //=> false | ||||
| isDataDesc({value: 'foo', writable: 'foo'}) | ||||
| //=> false | ||||
| ``` | ||||
|  | ||||
| ## Valid properties | ||||
|  | ||||
| The only valid data descriptor properties are the following: | ||||
|  | ||||
| * `configurable` (required) | ||||
| * `enumerable` (required) | ||||
| * `value` (optional) | ||||
| * `writable` (optional) | ||||
|  | ||||
| To be a valid data descriptor, either `value` or `writable` must be defined. | ||||
|  | ||||
| **Invalid properties** | ||||
|  | ||||
| A descriptor may have additional _invalid_ properties (an error will **not** be thrown). | ||||
|  | ||||
| ```js | ||||
| var foo = {}; | ||||
|  | ||||
| Object.defineProperty(foo, 'bar', { | ||||
|   enumerable: true, | ||||
|   whatever: 'blah', // invalid, but doesn't cause an error | ||||
|   get: function() { | ||||
|     return 'baz'; | ||||
|   } | ||||
| }); | ||||
|  | ||||
| console.log(foo.bar); | ||||
| //=> 'baz' | ||||
| ``` | ||||
|  | ||||
| ## About | ||||
|  | ||||
| <details> | ||||
| <summary><strong>Contributing</strong></summary> | ||||
|  | ||||
| Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). | ||||
|  | ||||
| </details> | ||||
|  | ||||
| <details> | ||||
| <summary><strong>Running Tests</strong></summary> | ||||
|  | ||||
| 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 | ||||
| ``` | ||||
|  | ||||
| </details> | ||||
|  | ||||
| <details> | ||||
| <summary><strong>Building docs</strong></summary> | ||||
|  | ||||
| _(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 | ||||
| ``` | ||||
|  | ||||
| </details> | ||||
|  | ||||
| ### 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. | [homepage](https://github.com/jonschlinkert/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. | [homepage](https://github.com/jonschlinkert/is-data-descriptor "Returns true if a value has the characteristics of a valid JavaScript data descriptor.") | ||||
| * [is-descriptor](https://www.npmjs.com/package/is-descriptor): Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for… [more](https://github.com/jonschlinkert/is-descriptor) | [homepage](https://github.com/jonschlinkert/is-descriptor "Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.") | ||||
| * [isobject](https://www.npmjs.com/package/isobject): Returns true if the value is an object and not an array or null. | [homepage](https://github.com/jonschlinkert/isobject "Returns true if the value is an object and not an array or null.") | ||||
|  | ||||
| ### Contributors | ||||
|  | ||||
| | **Commits** | **Contributor** |  | ||||
| | --- | --- | | ||||
| | 21 | [jonschlinkert](https://github.com/jonschlinkert) | | ||||
| | 2 | [realityking](https://github.com/realityking) | | ||||
|  | ||||
| ### 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 November 01, 2017._ | ||||
							
								
								
									
										49
									
								
								node_modules/base/node_modules/is-data-descriptor/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								node_modules/base/node_modules/is-data-descriptor/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,49 @@ | ||||
| /*! | ||||
|  * is-data-descriptor <https://github.com/jonschlinkert/is-data-descriptor> | ||||
|  * | ||||
|  * Copyright (c) 2015-2017, Jon Schlinkert. | ||||
|  * Released under the MIT License. | ||||
|  */ | ||||
|  | ||||
| 'use strict'; | ||||
|  | ||||
| var typeOf = require('kind-of'); | ||||
|  | ||||
| module.exports = function isDataDescriptor(obj, prop) { | ||||
|   // data descriptor properties | ||||
|   var data = { | ||||
|     configurable: 'boolean', | ||||
|     enumerable: 'boolean', | ||||
|     writable: 'boolean' | ||||
|   }; | ||||
|  | ||||
|   if (typeOf(obj) !== 'object') { | ||||
|     return false; | ||||
|   } | ||||
|  | ||||
|   if (typeof prop === 'string') { | ||||
|     var val = Object.getOwnPropertyDescriptor(obj, prop); | ||||
|     return typeof val !== 'undefined'; | ||||
|   } | ||||
|  | ||||
|   if (!('value' in obj) && !('writable' in obj)) { | ||||
|     return false; | ||||
|   } | ||||
|  | ||||
|   for (var key in obj) { | ||||
|     if (key === 'value') continue; | ||||
|  | ||||
|     if (!data.hasOwnProperty(key)) { | ||||
|       continue; | ||||
|     } | ||||
|  | ||||
|     if (typeOf(obj[key]) === data[key]) { | ||||
|       continue; | ||||
|     } | ||||
|  | ||||
|     if (typeof obj[key] !== 'undefined') { | ||||
|       return false; | ||||
|     } | ||||
|   } | ||||
|   return true; | ||||
| }; | ||||
							
								
								
									
										113
									
								
								node_modules/base/node_modules/is-data-descriptor/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										113
									
								
								node_modules/base/node_modules/is-data-descriptor/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,113 @@ | ||||
| { | ||||
|   "_args": [ | ||||
|     [ | ||||
|       "is-data-descriptor@1.0.0", | ||||
|       "E:\\python\\setup-php" | ||||
|     ] | ||||
|   ], | ||||
|   "_development": true, | ||||
|   "_from": "is-data-descriptor@1.0.0", | ||||
|   "_id": "is-data-descriptor@1.0.0", | ||||
|   "_inBundle": false, | ||||
|   "_integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", | ||||
|   "_location": "/base/is-data-descriptor", | ||||
|   "_phantomChildren": {}, | ||||
|   "_requested": { | ||||
|     "type": "version", | ||||
|     "registry": true, | ||||
|     "raw": "is-data-descriptor@1.0.0", | ||||
|     "name": "is-data-descriptor", | ||||
|     "escapedName": "is-data-descriptor", | ||||
|     "rawSpec": "1.0.0", | ||||
|     "saveSpec": null, | ||||
|     "fetchSpec": "1.0.0" | ||||
|   }, | ||||
|   "_requiredBy": [ | ||||
|     "/base/is-descriptor" | ||||
|   ], | ||||
|   "_resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", | ||||
|   "_spec": "1.0.0", | ||||
|   "_where": "E:\\python\\setup-php", | ||||
|   "author": { | ||||
|     "name": "Jon Schlinkert", | ||||
|     "url": "https://github.com/jonschlinkert" | ||||
|   }, | ||||
|   "bugs": { | ||||
|     "url": "https://github.com/jonschlinkert/is-data-descriptor/issues" | ||||
|   }, | ||||
|   "contributors": [ | ||||
|     { | ||||
|       "name": "Jon Schlinkert", | ||||
|       "url": "http://twitter.com/jonschlinkert" | ||||
|     }, | ||||
|     { | ||||
|       "name": "Rouven Weßling", | ||||
|       "url": "www.rouvenwessling.de" | ||||
|     } | ||||
|   ], | ||||
|   "dependencies": { | ||||
|     "kind-of": "^6.0.0" | ||||
|   }, | ||||
|   "description": "Returns true if a value has the characteristics of a valid JavaScript data descriptor.", | ||||
|   "devDependencies": { | ||||
|     "gulp-format-md": "^1.0.0", | ||||
|     "mocha": "^3.5.3" | ||||
|   }, | ||||
|   "engines": { | ||||
|     "node": ">=0.10.0" | ||||
|   }, | ||||
|   "files": [ | ||||
|     "index.js" | ||||
|   ], | ||||
|   "homepage": "https://github.com/jonschlinkert/is-data-descriptor", | ||||
|   "keywords": [ | ||||
|     "accessor", | ||||
|     "check", | ||||
|     "data", | ||||
|     "descriptor", | ||||
|     "get", | ||||
|     "getter", | ||||
|     "is", | ||||
|     "keys", | ||||
|     "object", | ||||
|     "properties", | ||||
|     "property", | ||||
|     "set", | ||||
|     "setter", | ||||
|     "type", | ||||
|     "valid", | ||||
|     "value" | ||||
|   ], | ||||
|   "license": "MIT", | ||||
|   "main": "index.js", | ||||
|   "name": "is-data-descriptor", | ||||
|   "repository": { | ||||
|     "type": "git", | ||||
|     "url": "git+https://github.com/jonschlinkert/is-data-descriptor.git" | ||||
|   }, | ||||
|   "scripts": { | ||||
|     "test": "mocha" | ||||
|   }, | ||||
|   "verb": { | ||||
|     "toc": false, | ||||
|     "layout": "default", | ||||
|     "tasks": [ | ||||
|       "readme" | ||||
|     ], | ||||
|     "plugins": [ | ||||
|       "gulp-format-md" | ||||
|     ], | ||||
|     "related": { | ||||
|       "list": [ | ||||
|         "is-accessor-descriptor", | ||||
|         "is-data-descriptor", | ||||
|         "is-descriptor", | ||||
|         "isobject" | ||||
|       ] | ||||
|     }, | ||||
|     "lint": { | ||||
|       "reflinks": true | ||||
|     } | ||||
|   }, | ||||
|   "version": "1.0.0" | ||||
| } | ||||
							
								
								
									
										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. | ||||
							
								
								
									
										193
									
								
								node_modules/base/node_modules/is-descriptor/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								node_modules/base/node_modules/is-descriptor/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,193 @@ | ||||
| # is-descriptor [](https://www.npmjs.com/package/is-descriptor) [](https://npmjs.org/package/is-descriptor) [](https://npmjs.org/package/is-descriptor) [](https://travis-ci.org/jonschlinkert/is-descriptor) | ||||
|  | ||||
| > Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors. | ||||
|  | ||||
| ## Install | ||||
|  | ||||
| Install with [npm](https://www.npmjs.com/): | ||||
|  | ||||
| ```sh | ||||
| $ npm install --save is-descriptor | ||||
| ``` | ||||
|  | ||||
| ## Usage | ||||
|  | ||||
| ```js | ||||
| var isDescriptor = require('is-descriptor'); | ||||
|  | ||||
| isDescriptor({value: 'foo'}) | ||||
| //=> true | ||||
| isDescriptor({get: function(){}, set: function(){}}) | ||||
| //=> true | ||||
| isDescriptor({get: 'foo', set: function(){}}) | ||||
| //=> 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 | ||||
| var obj = {}; | ||||
| obj.foo = 'abc'; | ||||
|  | ||||
| Object.defineProperty(obj, 'bar', { | ||||
|   value: 'xyz' | ||||
| }); | ||||
|  | ||||
| isDescriptor(obj, 'foo'); | ||||
| //=> true | ||||
| isDescriptor(obj, 'bar'); | ||||
| //=> true | ||||
| ``` | ||||
|  | ||||
| ## Examples | ||||
|  | ||||
| ### value type | ||||
|  | ||||
| `false` when not an object | ||||
|  | ||||
| ```js | ||||
| isDescriptor('a'); | ||||
| //=> false | ||||
| isDescriptor(null); | ||||
| //=> false | ||||
| isDescriptor([]); | ||||
| //=> false | ||||
| ``` | ||||
|  | ||||
| ### data descriptor | ||||
|  | ||||
| `true` when the object has valid properties with valid values. | ||||
|  | ||||
| ```js | ||||
| isDescriptor({value: 'foo'}); | ||||
| //=> true | ||||
| isDescriptor({value: noop}); | ||||
| //=> true | ||||
| ``` | ||||
|  | ||||
| `false` when the object has invalid properties | ||||
|  | ||||
| ```js | ||||
| isDescriptor({value: 'foo', bar: 'baz'}); | ||||
| //=> false | ||||
| isDescriptor({value: 'foo', bar: 'baz'}); | ||||
| //=> false | ||||
| isDescriptor({value: 'foo', get: noop}); | ||||
| //=> false | ||||
| isDescriptor({get: noop, value: noop}); | ||||
| //=> false | ||||
| ``` | ||||
|  | ||||
| `false` when a value is not the correct type | ||||
|  | ||||
| ```js | ||||
| isDescriptor({value: 'foo', enumerable: 'foo'}); | ||||
| //=> false | ||||
| isDescriptor({value: 'foo', configurable: 'foo'}); | ||||
| //=> false | ||||
| isDescriptor({value: 'foo', writable: 'foo'}); | ||||
| //=> false | ||||
| ``` | ||||
|  | ||||
| ### accessor descriptor | ||||
|  | ||||
| `true` when the object has valid properties with valid values. | ||||
|  | ||||
| ```js | ||||
| isDescriptor({get: noop, set: noop}); | ||||
| //=> true | ||||
| isDescriptor({get: noop}); | ||||
| //=> true | ||||
| isDescriptor({set: noop}); | ||||
| //=> true | ||||
| ``` | ||||
|  | ||||
| `false` when the object has invalid properties | ||||
|  | ||||
| ```js | ||||
| isDescriptor({get: noop, set: noop, bar: 'baz'}); | ||||
| //=> false | ||||
| isDescriptor({get: noop, writable: true}); | ||||
| //=> false | ||||
| isDescriptor({get: noop, value: true}); | ||||
| //=> false | ||||
| ``` | ||||
|  | ||||
| `false` when an accessor is not a function | ||||
|  | ||||
| ```js | ||||
| isDescriptor({get: noop, set: 'baz'}); | ||||
| //=> false | ||||
| isDescriptor({get: 'foo', set: noop}); | ||||
| //=> false | ||||
| isDescriptor({get: 'foo', bar: 'baz'}); | ||||
| //=> false | ||||
| isDescriptor({get: 'foo', set: 'baz'}); | ||||
| //=> false | ||||
| ``` | ||||
|  | ||||
| `false` when a value is not the correct type | ||||
|  | ||||
| ```js | ||||
| isDescriptor({get: noop, set: noop, enumerable: 'foo'}); | ||||
| //=> false | ||||
| isDescriptor({set: noop, configurable: 'foo'}); | ||||
| //=> false | ||||
| isDescriptor({get: noop, configurable: 'foo'}); | ||||
| //=> false | ||||
| ``` | ||||
|  | ||||
| ## About | ||||
|  | ||||
| ### Related 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. | [homepage](https://github.com/jonschlinkert/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. | [homepage](https://github.com/jonschlinkert/is-data-descriptor "Returns true if a value has the characteristics of a valid JavaScript data descriptor.") | ||||
| * [is-descriptor](https://www.npmjs.com/package/is-descriptor): Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for… [more](https://github.com/jonschlinkert/is-descriptor) | [homepage](https://github.com/jonschlinkert/is-descriptor "Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.") | ||||
| * [isobject](https://www.npmjs.com/package/isobject): Returns true if the value is an object and not an array or null. | [homepage](https://github.com/jonschlinkert/isobject "Returns true if the value is an object and not an array or null.") | ||||
|  | ||||
| ### Contributing | ||||
|  | ||||
| Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). | ||||
|  | ||||
| ### Contributors | ||||
|  | ||||
| | **Commits** | **Contributor** |  | ||||
| | --- | --- | | ||||
| | 24 | [jonschlinkert](https://github.com/jonschlinkert) | | ||||
| | 1 | [doowb](https://github.com/doowb) | | ||||
| | 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 July 22, 2017._ | ||||
							
								
								
									
										22
									
								
								node_modules/base/node_modules/is-descriptor/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								node_modules/base/node_modules/is-descriptor/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,22 @@ | ||||
| /*! | ||||
|  * is-descriptor <https://github.com/jonschlinkert/is-descriptor> | ||||
|  * | ||||
|  * Copyright (c) 2015-2017, Jon Schlinkert. | ||||
|  * Released under the MIT License. | ||||
|  */ | ||||
|  | ||||
| 'use strict'; | ||||
|  | ||||
| var typeOf = require('kind-of'); | ||||
| var isAccessor = require('is-accessor-descriptor'); | ||||
| var isData = require('is-data-descriptor'); | ||||
|  | ||||
| module.exports = function isDescriptor(obj, key) { | ||||
|   if (typeOf(obj) !== 'object') { | ||||
|     return false; | ||||
|   } | ||||
|   if ('get' in obj) { | ||||
|     return isAccessor(obj, key); | ||||
|   } | ||||
|   return isData(obj, key); | ||||
| }; | ||||
							
								
								
									
										118
									
								
								node_modules/base/node_modules/is-descriptor/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										118
									
								
								node_modules/base/node_modules/is-descriptor/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,118 @@ | ||||
| { | ||||
|   "_args": [ | ||||
|     [ | ||||
|       "is-descriptor@1.0.2", | ||||
|       "E:\\python\\setup-php" | ||||
|     ] | ||||
|   ], | ||||
|   "_development": true, | ||||
|   "_from": "is-descriptor@1.0.2", | ||||
|   "_id": "is-descriptor@1.0.2", | ||||
|   "_inBundle": false, | ||||
|   "_integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", | ||||
|   "_location": "/base/is-descriptor", | ||||
|   "_phantomChildren": {}, | ||||
|   "_requested": { | ||||
|     "type": "version", | ||||
|     "registry": true, | ||||
|     "raw": "is-descriptor@1.0.2", | ||||
|     "name": "is-descriptor", | ||||
|     "escapedName": "is-descriptor", | ||||
|     "rawSpec": "1.0.2", | ||||
|     "saveSpec": null, | ||||
|     "fetchSpec": "1.0.2" | ||||
|   }, | ||||
|   "_requiredBy": [ | ||||
|     "/base/define-property" | ||||
|   ], | ||||
|   "_resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", | ||||
|   "_spec": "1.0.2", | ||||
|   "_where": "E:\\python\\setup-php", | ||||
|   "author": { | ||||
|     "name": "Jon Schlinkert", | ||||
|     "url": "https://github.com/jonschlinkert" | ||||
|   }, | ||||
|   "bugs": { | ||||
|     "url": "https://github.com/jonschlinkert/is-descriptor/issues" | ||||
|   }, | ||||
|   "contributors": [ | ||||
|     { | ||||
|       "name": "Brian Woodward", | ||||
|       "url": "https://twitter.com/doowb" | ||||
|     }, | ||||
|     { | ||||
|       "name": "Jon Schlinkert", | ||||
|       "url": "http://twitter.com/jonschlinkert" | ||||
|     }, | ||||
|     { | ||||
|       "url": "https://github.com/wtgtybhertgeghgtwtg" | ||||
|     } | ||||
|   ], | ||||
|   "dependencies": { | ||||
|     "is-accessor-descriptor": "^1.0.0", | ||||
|     "is-data-descriptor": "^1.0.0", | ||||
|     "kind-of": "^6.0.2" | ||||
|   }, | ||||
|   "description": "Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.", | ||||
|   "devDependencies": { | ||||
|     "gulp-format-md": "^1.0.0", | ||||
|     "mocha": "^3.5.3" | ||||
|   }, | ||||
|   "engines": { | ||||
|     "node": ">=0.10.0" | ||||
|   }, | ||||
|   "files": [ | ||||
|     "index.js" | ||||
|   ], | ||||
|   "homepage": "https://github.com/jonschlinkert/is-descriptor", | ||||
|   "keywords": [ | ||||
|     "accessor", | ||||
|     "check", | ||||
|     "data", | ||||
|     "descriptor", | ||||
|     "get", | ||||
|     "getter", | ||||
|     "is", | ||||
|     "keys", | ||||
|     "object", | ||||
|     "properties", | ||||
|     "property", | ||||
|     "set", | ||||
|     "setter", | ||||
|     "type", | ||||
|     "valid", | ||||
|     "value" | ||||
|   ], | ||||
|   "license": "MIT", | ||||
|   "main": "index.js", | ||||
|   "name": "is-descriptor", | ||||
|   "repository": { | ||||
|     "type": "git", | ||||
|     "url": "git+https://github.com/jonschlinkert/is-descriptor.git" | ||||
|   }, | ||||
|   "scripts": { | ||||
|     "test": "mocha" | ||||
|   }, | ||||
|   "verb": { | ||||
|     "related": { | ||||
|       "list": [ | ||||
|         "is-accessor-descriptor", | ||||
|         "is-data-descriptor", | ||||
|         "is-descriptor", | ||||
|         "isobject" | ||||
|       ] | ||||
|     }, | ||||
|     "plugins": [ | ||||
|       "gulp-format-md" | ||||
|     ], | ||||
|     "toc": false, | ||||
|     "layout": "default", | ||||
|     "tasks": [ | ||||
|       "readme" | ||||
|     ], | ||||
|     "lint": { | ||||
|       "reflinks": true | ||||
|     } | ||||
|   }, | ||||
|   "version": "1.0.2" | ||||
| } | ||||
							
								
								
									
										168
									
								
								node_modules/base/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										168
									
								
								node_modules/base/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,168 @@ | ||||
| { | ||||
|   "_args": [ | ||||
|     [ | ||||
|       "base@0.11.2", | ||||
|       "E:\\python\\setup-php" | ||||
|     ] | ||||
|   ], | ||||
|   "_development": true, | ||||
|   "_from": "base@0.11.2", | ||||
|   "_id": "base@0.11.2", | ||||
|   "_inBundle": false, | ||||
|   "_integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", | ||||
|   "_location": "/base", | ||||
|   "_phantomChildren": { | ||||
|     "kind-of": "6.0.2" | ||||
|   }, | ||||
|   "_requested": { | ||||
|     "type": "version", | ||||
|     "registry": true, | ||||
|     "raw": "base@0.11.2", | ||||
|     "name": "base", | ||||
|     "escapedName": "base", | ||||
|     "rawSpec": "0.11.2", | ||||
|     "saveSpec": null, | ||||
|     "fetchSpec": "0.11.2" | ||||
|   }, | ||||
|   "_requiredBy": [ | ||||
|     "/snapdragon" | ||||
|   ], | ||||
|   "_resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", | ||||
|   "_spec": "0.11.2", | ||||
|   "_where": "E:\\python\\setup-php", | ||||
|   "author": { | ||||
|     "name": "Jon Schlinkert", | ||||
|     "url": "https://github.com/jonschlinkert" | ||||
|   }, | ||||
|   "bugs": { | ||||
|     "url": "https://github.com/node-base/base/issues" | ||||
|   }, | ||||
|   "contributors": [ | ||||
|     { | ||||
|       "name": "Brian Woodward", | ||||
|       "url": "https://twitter.com/doowb" | ||||
|     }, | ||||
|     { | ||||
|       "name": "John O'Donnell", | ||||
|       "url": "https://github.com/criticalmash" | ||||
|     }, | ||||
|     { | ||||
|       "name": "Jon Schlinkert", | ||||
|       "url": "http://twitter.com/jonschlinkert" | ||||
|     }, | ||||
|     { | ||||
|       "name": "tunnckoCore", | ||||
|       "url": "https://i.am.charlike.online" | ||||
|     }, | ||||
|     { | ||||
|       "url": "https://github.com/wtgtybhertgeghgtwtg" | ||||
|     } | ||||
|   ], | ||||
|   "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" | ||||
|   }, | ||||
|   "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`.", | ||||
|   "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" | ||||
|   }, | ||||
|   "engines": { | ||||
|     "node": ">=0.10.0" | ||||
|   }, | ||||
|   "files": [ | ||||
|     "index.js" | ||||
|   ], | ||||
|   "homepage": "https://github.com/node-base/base", | ||||
|   "keywords": [ | ||||
|     "base", | ||||
|     "boilerplate", | ||||
|     "cache", | ||||
|     "del", | ||||
|     "get", | ||||
|     "inherit", | ||||
|     "methods", | ||||
|     "set", | ||||
|     "starter", | ||||
|     "unset", | ||||
|     "visit" | ||||
|   ], | ||||
|   "license": "MIT", | ||||
|   "main": "index.js", | ||||
|   "maintainers": [ | ||||
|     { | ||||
|       "name": "Brian Woodward", | ||||
|       "url": "https://github.com/doowb" | ||||
|     }, | ||||
|     { | ||||
|       "name": "Jon Schlinkert", | ||||
|       "url": "https://github.com/jonschlinkert" | ||||
|     } | ||||
|   ], | ||||
|   "name": "base", | ||||
|   "repository": { | ||||
|     "type": "git", | ||||
|     "url": "git+https://github.com/node-base/base.git" | ||||
|   }, | ||||
|   "scripts": { | ||||
|     "test": "mocha" | ||||
|   }, | ||||
|   "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 | ||||
|     } | ||||
|   }, | ||||
|   "version": "0.11.2" | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Shivam Mathur
					Shivam Mathur