diff options
Diffstat (limited to 'node_modules/snapdragon-node')
-rw-r--r-- | node_modules/snapdragon-node/LICENSE | 21 | ||||
-rw-r--r-- | node_modules/snapdragon-node/README.md | 453 | ||||
-rw-r--r-- | node_modules/snapdragon-node/index.js | 492 | ||||
-rw-r--r-- | node_modules/snapdragon-node/node_modules/define-property/LICENSE | 21 | ||||
-rw-r--r-- | node_modules/snapdragon-node/node_modules/define-property/README.md | 95 | ||||
-rw-r--r-- | node_modules/snapdragon-node/node_modules/define-property/index.js | 31 | ||||
-rw-r--r-- | node_modules/snapdragon-node/node_modules/define-property/package.json | 62 | ||||
-rw-r--r-- | node_modules/snapdragon-node/package.json | 76 |
8 files changed, 0 insertions, 1251 deletions
diff --git a/node_modules/snapdragon-node/LICENSE b/node_modules/snapdragon-node/LICENSE deleted file mode 100644 index 9a1c85675..000000000 --- a/node_modules/snapdragon-node/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 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. diff --git a/node_modules/snapdragon-node/README.md b/node_modules/snapdragon-node/README.md deleted file mode 100644 index 2300a3cd7..000000000 --- a/node_modules/snapdragon-node/README.md +++ /dev/null @@ -1,453 +0,0 @@ -# snapdragon-node [![NPM version](https://img.shields.io/npm/v/snapdragon-node.svg?style=flat)](https://www.npmjs.com/package/snapdragon-node) [![NPM monthly downloads](https://img.shields.io/npm/dm/snapdragon-node.svg?style=flat)](https://npmjs.org/package/snapdragon-node) [![NPM total downloads](https://img.shields.io/npm/dt/snapdragon-node.svg?style=flat)](https://npmjs.org/package/snapdragon-node) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/snapdragon-node.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/snapdragon-node) - -> Snapdragon utility for creating a new AST node in custom code, such as plugins. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save snapdragon-node -``` - -## Usage - -With [snapdragon](https://github.com/jonschlinkert/snapdragon) v0.9.0 and higher you can use `this.node()` to create a new `Node`, whenever it makes sense. - -```js -var Node = require('snapdragon-node'); -var Snapdragon = require('snapdragon'); -var snapdragon = new Snapdragon(); - -// example usage inside a parser visitor function -snapdragon.parser.set('foo', function() { - // get the current "start" position - var pos = this.position(); - - // returns the match if regex matches the substring - // at the current position on `parser.input` - var match = this.match(/foo/); - if (match) { - // call "pos" on the node, to set the start and end - // positions, and return the node to push it onto the AST - // (snapdragon will push the node onto the correct - // nodes array, based on the stack) - return pos(new Node({type: 'bar', val: match[0]})); - } -}); -``` - -## API - -### [Node](index.js#L22) - -Create a new AST `Node` with the given `val` and `type`. - -**Params** - -* `val` **{String|Object}**: Pass a matched substring, or an object to merge onto the node. -* `type` **{String}**: The node type to use when `val` is a string. -* `returns` **{Object}**: node instance - -**Example** - -```js -var node = new Node('*', 'Star'); -var node = new Node({type: 'star', val: '*'}); -``` - -### [.isNode](index.js#L61) - -Returns true if the given value is a node. - -**Params** - -* `node` **{Object}** -* `returns` **{Boolean}** - -**Example** - -```js -var Node = require('snapdragon-node'); -var node = new Node({type: 'foo'}); -console.log(Node.isNode(node)); //=> true -console.log(Node.isNode({})); //=> false -``` - -### [.define](index.js#L80) - -Define a non-enumberable property on the node instance. Useful for adding properties that shouldn't be extended or visible during debugging. - -**Params** - -* `name` **{String}** -* `val` **{any}** -* `returns` **{Object}**: returns the node instance - -**Example** - -```js -var node = new Node(); -node.define('foo', 'something non-enumerable'); -``` - -### [.isEmpty](index.js#L100) - -Returns true if `node.val` is an empty string, or `node.nodes` does not contain any non-empty text nodes. - -**Params** - -* `fn` **{Function}**: (optional) Filter function that is called on `node` and/or child nodes. `isEmpty` will return false immediately when the filter function returns false on any nodes. -* `returns` **{Boolean}** - -**Example** - -```js -var node = new Node({type: 'text'}); -node.isEmpty(); //=> true -node.val = 'foo'; -node.isEmpty(); //=> false -``` - -### [.push](index.js#L118) - -Given node `foo` and node `bar`, push node `bar` onto `foo.nodes`, and set `foo` as `bar.parent`. - -**Params** - -* `node` **{Object}** -* `returns` **{Number}**: Returns the length of `node.nodes` - -**Example** - -```js -var foo = new Node({type: 'foo'}); -var bar = new Node({type: 'bar'}); -foo.push(bar); -``` - -### [.unshift](index.js#L140) - -Given node `foo` and node `bar`, unshift node `bar` onto `foo.nodes`, and set `foo` as `bar.parent`. - -**Params** - -* `node` **{Object}** -* `returns` **{Number}**: Returns the length of `node.nodes` - -**Example** - -```js -var foo = new Node({type: 'foo'}); -var bar = new Node({type: 'bar'}); -foo.unshift(bar); -``` - -### [.pop](index.js#L167) - -Pop a node from `node.nodes`. - -* `returns` **{Number}**: Returns the popped `node` - -**Example** - -```js -var node = new Node({type: 'foo'}); -node.push(new Node({type: 'a'})); -node.push(new Node({type: 'b'})); -node.push(new Node({type: 'c'})); -node.push(new Node({type: 'd'})); -console.log(node.nodes.length); -//=> 4 -node.pop(); -console.log(node.nodes.length); -//=> 3 -``` - -### [.shift](index.js#L190) - -Shift a node from `node.nodes`. - -* `returns` **{Object}**: Returns the shifted `node` - -**Example** - -```js -var node = new Node({type: 'foo'}); -node.push(new Node({type: 'a'})); -node.push(new Node({type: 'b'})); -node.push(new Node({type: 'c'})); -node.push(new Node({type: 'd'})); -console.log(node.nodes.length); -//=> 4 -node.shift(); -console.log(node.nodes.length); -//=> 3 -``` - -### [.remove](index.js#L205) - -Remove `node` from `node.nodes`. - -**Params** - -* `node` **{Object}** -* `returns` **{Object}**: Returns the removed node. - -**Example** - -```js -node.remove(childNode); -``` - -### [.find](index.js#L231) - -Get the first child node from `node.nodes` that matches the given `type`. If `type` is a number, the child node at that index is returned. - -**Params** - -* `type` **{String}** -* `returns` **{Object}**: Returns a child node or undefined. - -**Example** - -```js -var child = node.find(1); //<= index of the node to get -var child = node.find('foo'); //<= node.type of a child node -var child = node.find(/^(foo|bar)$/); //<= regex to match node.type -var child = node.find(['foo', 'bar']); //<= array of node.type(s) -``` - -### [.isType](index.js#L249) - -Return true if the node is the given `type`. - -**Params** - -* `type` **{String}** -* `returns` **{Boolean}** - -**Example** - -```js -var node = new Node({type: 'bar'}); -cosole.log(node.isType('foo')); // false -cosole.log(node.isType(/^(foo|bar)$/)); // true -cosole.log(node.isType(['foo', 'bar'])); // true -``` - -### [.hasType](index.js#L270) - -Return true if the `node.nodes` has the given `type`. - -**Params** - -* `type` **{String}** -* `returns` **{Boolean}** - -**Example** - -```js -var foo = new Node({type: 'foo'}); -var bar = new Node({type: 'bar'}); -foo.push(bar); - -cosole.log(foo.hasType('qux')); // false -cosole.log(foo.hasType(/^(qux|bar)$/)); // true -cosole.log(foo.hasType(['qux', 'bar'])); // true -``` - -* `returns` **{Array}** - -**Example** - -```js -var foo = new Node({type: 'foo'}); -var bar = new Node({type: 'bar'}); -var baz = new Node({type: 'baz'}); -foo.push(bar); -foo.push(baz); - -console.log(bar.siblings.length) // 2 -console.log(baz.siblings.length) // 2 -``` - -* `returns` **{Number}** - -**Example** - -```js -var foo = new Node({type: 'foo'}); -var bar = new Node({type: 'bar'}); -var baz = new Node({type: 'baz'}); -var qux = new Node({type: 'qux'}); -foo.push(bar); -foo.push(baz); -foo.unshift(qux); - -console.log(bar.index) // 1 -console.log(baz.index) // 2 -console.log(qux.index) // 0 -``` - -* `returns` **{Object}** - -**Example** - -```js -var foo = new Node({type: 'foo'}); -var bar = new Node({type: 'bar'}); -var baz = new Node({type: 'baz'}); -foo.push(bar); -foo.push(baz); - -console.log(baz.prev.type) // 'bar' -``` - -* `returns` **{Object}** - -**Example** - -```js -var foo = new Node({type: 'foo'}); -var bar = new Node({type: 'bar'}); -var baz = new Node({type: 'baz'}); -foo.push(bar); -foo.push(baz); - -console.log(bar.siblings.length) // 2 -console.log(baz.siblings.length) // 2 -``` - -* `returns` **{Object}**: The first node, or undefiend - -**Example** - -```js -var foo = new Node({type: 'foo'}); -var bar = new Node({type: 'bar'}); -var baz = new Node({type: 'baz'}); -var qux = new Node({type: 'qux'}); -foo.push(bar); -foo.push(baz); -foo.push(qux); - -console.log(foo.first.type) // 'bar' -``` - -* `returns` **{Object}**: The last node, or undefiend - -**Example** - -```js -var foo = new Node({type: 'foo'}); -var bar = new Node({type: 'bar'}); -var baz = new Node({type: 'baz'}); -var qux = new Node({type: 'qux'}); -foo.push(bar); -foo.push(baz); -foo.push(qux); - -console.log(foo.last.type) // 'qux' -``` - -* `returns` **{Object}**: The last node, or undefiend - -**Example** - -```js -var foo = new Node({type: 'foo'}); -var bar = new Node({type: 'bar'}); -var baz = new Node({type: 'baz'}); -var qux = new Node({type: 'qux'}); -foo.push(bar); -foo.push(baz); -foo.push(qux); - -console.log(foo.last.type) // 'qux' -``` - -## Release history - -Changelog entries are classified using the following labels from [keep-a-changelog](https://github.com/olivierlacan/keep-a-changelog): - -* `added`: for new features -* `changed`: for changes in existing functionality -* `deprecated`: for once-stable features removed in upcoming releases -* `removed`: for deprecated features removed in this release -* `fixed`: for any bug fixes - -Custom labels used in this changelog: - -* `dependencies`: bumps dependencies -* `housekeeping`: code re-organization, minor edits, or other changes that don't fit in one of the other categories. - -### [2.0.0] - 2017-05-01 - -**Changed** - -* `.unshiftNode` was renamed to [.unshift](#unshift) -* `.pushNode` was renamed to [.push](#push) -* `.getNode` was renamed to [.find](#find) - -**Added** - -* [.isNode](#isNode) -* [.isEmpty](#isEmpty) -* [.pop](#pop) -* [.shift](#shift) -* [.remove](#remove) - -### [0.1.0] - -First release. - -## About - -### Related projects - -* [breakdance](https://www.npmjs.com/package/breakdance): Breakdance is a node.js library for converting HTML to markdown. Highly pluggable, flexible and easy… [more](http://breakdance.io) | [homepage](http://breakdance.io "Breakdance is a node.js library for converting HTML to markdown. Highly pluggable, flexible and easy to use. It's time for your markup to get down.") -* [snapdragon-capture](https://www.npmjs.com/package/snapdragon-capture): Snapdragon plugin that adds a capture method to the parser instance. | [homepage](https://github.com/jonschlinkert/snapdragon-capture "Snapdragon plugin that adds a capture method to the parser instance.") -* [snapdragon-cheerio](https://www.npmjs.com/package/snapdragon-cheerio): Snapdragon plugin for converting a cheerio AST to a snapdragon AST. | [homepage](https://github.com/jonschlinkert/snapdragon-cheerio "Snapdragon plugin for converting a cheerio AST to a snapdragon AST.") -* [snapdragon-util](https://www.npmjs.com/package/snapdragon-util): Utilities for the snapdragon parser/compiler. | [homepage](https://github.com/jonschlinkert/snapdragon-util "Utilities for the snapdragon parser/compiler.") -* [snapdragon](https://www.npmjs.com/package/snapdragon): Easy-to-use plugin system for creating powerful, fast and versatile parsers and compilers, with built-in source-map… [more](https://github.com/jonschlinkert/snapdragon) | [homepage](https://github.com/jonschlinkert/snapdragon "Easy-to-use plugin system for creating powerful, fast and versatile parsers and compilers, with built-in source-map support.") - -### Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -Please read the [contributing guide](.github/contributing.md) for advice on opening issues, pull requests, and coding standards. - -### 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 June 25, 2017._
\ No newline at end of file diff --git a/node_modules/snapdragon-node/index.js b/node_modules/snapdragon-node/index.js deleted file mode 100644 index 0f66ff5a4..000000000 --- a/node_modules/snapdragon-node/index.js +++ /dev/null @@ -1,492 +0,0 @@ -'use strict'; - -var isObject = require('isobject'); -var define = require('define-property'); -var utils = require('snapdragon-util'); -var ownNames; - -/** - * Create a new AST `Node` with the given `val` and `type`. - * - * ```js - * var node = new Node('*', 'Star'); - * var node = new Node({type: 'star', val: '*'}); - * ``` - * @name Node - * @param {String|Object} `val` Pass a matched substring, or an object to merge onto the node. - * @param {String} `type` The node type to use when `val` is a string. - * @return {Object} node instance - * @api public - */ - -function Node(val, type, parent) { - if (typeof type !== 'string') { - parent = type; - type = null; - } - - define(this, 'parent', parent); - define(this, 'isNode', true); - define(this, 'expect', null); - - if (typeof type !== 'string' && isObject(val)) { - lazyKeys(); - var keys = Object.keys(val); - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - if (ownNames.indexOf(key) === -1) { - this[key] = val[key]; - } - } - } else { - this.type = type; - this.val = val; - } -} - -/** - * Returns true if the given value is a node. - * - * ```js - * var Node = require('snapdragon-node'); - * var node = new Node({type: 'foo'}); - * console.log(Node.isNode(node)); //=> true - * console.log(Node.isNode({})); //=> false - * ``` - * @param {Object} `node` - * @returns {Boolean} - * @api public - */ - -Node.isNode = function(node) { - return utils.isNode(node); -}; - -/** - * Define a non-enumberable property on the node instance. - * Useful for adding properties that shouldn't be extended - * or visible during debugging. - * - * ```js - * var node = new Node(); - * node.define('foo', 'something non-enumerable'); - * ``` - * @param {String} `name` - * @param {any} `val` - * @return {Object} returns the node instance - * @api public - */ - -Node.prototype.define = function(name, val) { - define(this, name, val); - return this; -}; - -/** - * Returns true if `node.val` is an empty string, or `node.nodes` does - * not contain any non-empty text nodes. - * - * ```js - * var node = new Node({type: 'text'}); - * node.isEmpty(); //=> true - * node.val = 'foo'; - * node.isEmpty(); //=> false - * ``` - * @param {Function} `fn` (optional) Filter function that is called on `node` and/or child nodes. `isEmpty` will return false immediately when the filter function returns false on any nodes. - * @return {Boolean} - * @api public - */ - -Node.prototype.isEmpty = function(fn) { - return utils.isEmpty(this, fn); -}; - -/** - * Given node `foo` and node `bar`, push node `bar` onto `foo.nodes`, and - * set `foo` as `bar.parent`. - * - * ```js - * var foo = new Node({type: 'foo'}); - * var bar = new Node({type: 'bar'}); - * foo.push(bar); - * ``` - * @param {Object} `node` - * @return {Number} Returns the length of `node.nodes` - * @api public - */ - -Node.prototype.push = function(node) { - assert(Node.isNode(node), 'expected node to be an instance of Node'); - define(node, 'parent', this); - - this.nodes = this.nodes || []; - return this.nodes.push(node); -}; - -/** - * Given node `foo` and node `bar`, unshift node `bar` onto `foo.nodes`, and - * set `foo` as `bar.parent`. - * - * ```js - * var foo = new Node({type: 'foo'}); - * var bar = new Node({type: 'bar'}); - * foo.unshift(bar); - * ``` - * @param {Object} `node` - * @return {Number} Returns the length of `node.nodes` - * @api public - */ - -Node.prototype.unshift = function(node) { - assert(Node.isNode(node), 'expected node to be an instance of Node'); - define(node, 'parent', this); - - this.nodes = this.nodes || []; - return this.nodes.unshift(node); -}; - -/** - * Pop a node from `node.nodes`. - * - * ```js - * var node = new Node({type: 'foo'}); - * node.push(new Node({type: 'a'})); - * node.push(new Node({type: 'b'})); - * node.push(new Node({type: 'c'})); - * node.push(new Node({type: 'd'})); - * console.log(node.nodes.length); - * //=> 4 - * node.pop(); - * console.log(node.nodes.length); - * //=> 3 - * ``` - * @return {Number} Returns the popped `node` - * @api public - */ - -Node.prototype.pop = function() { - return this.nodes && this.nodes.pop(); -}; - -/** - * Shift a node from `node.nodes`. - * - * ```js - * var node = new Node({type: 'foo'}); - * node.push(new Node({type: 'a'})); - * node.push(new Node({type: 'b'})); - * node.push(new Node({type: 'c'})); - * node.push(new Node({type: 'd'})); - * console.log(node.nodes.length); - * //=> 4 - * node.shift(); - * console.log(node.nodes.length); - * //=> 3 - * ``` - * @return {Object} Returns the shifted `node` - * @api public - */ - -Node.prototype.shift = function() { - return this.nodes && this.nodes.shift(); -}; - -/** - * Remove `node` from `node.nodes`. - * - * ```js - * node.remove(childNode); - * ``` - * @param {Object} `node` - * @return {Object} Returns the removed node. - * @api public - */ - -Node.prototype.remove = function(node) { - assert(Node.isNode(node), 'expected node to be an instance of Node'); - this.nodes = this.nodes || []; - var idx = node.index; - if (idx !== -1) { - node.index = -1; - return this.nodes.splice(idx, 1); - } - return null; -}; - -/** - * Get the first child node from `node.nodes` that matches the given `type`. - * If `type` is a number, the child node at that index is returned. - * - * ```js - * var child = node.find(1); //<= index of the node to get - * var child = node.find('foo'); //<= node.type of a child node - * var child = node.find(/^(foo|bar)$/); //<= regex to match node.type - * var child = node.find(['foo', 'bar']); //<= array of node.type(s) - * ``` - * @param {String} `type` - * @return {Object} Returns a child node or undefined. - * @api public - */ - -Node.prototype.find = function(type) { - return utils.findNode(this.nodes, type); -}; - -/** - * Return true if the node is the given `type`. - * - * ```js - * var node = new Node({type: 'bar'}); - * cosole.log(node.isType('foo')); // false - * cosole.log(node.isType(/^(foo|bar)$/)); // true - * cosole.log(node.isType(['foo', 'bar'])); // true - * ``` - * @param {String} `type` - * @return {Boolean} - * @api public - */ - -Node.prototype.isType = function(type) { - return utils.isType(this, type); -}; - -/** - * Return true if the `node.nodes` has the given `type`. - * - * ```js - * var foo = new Node({type: 'foo'}); - * var bar = new Node({type: 'bar'}); - * foo.push(bar); - * - * cosole.log(foo.hasType('qux')); // false - * cosole.log(foo.hasType(/^(qux|bar)$/)); // true - * cosole.log(foo.hasType(['qux', 'bar'])); // true - * ``` - * @param {String} `type` - * @return {Boolean} - * @api public - */ - -Node.prototype.hasType = function(type) { - return utils.hasType(this, type); -}; - -/** - * Get the siblings array, or `null` if it doesn't exist. - * - * ```js - * var foo = new Node({type: 'foo'}); - * var bar = new Node({type: 'bar'}); - * var baz = new Node({type: 'baz'}); - * foo.push(bar); - * foo.push(baz); - * - * console.log(bar.siblings.length) // 2 - * console.log(baz.siblings.length) // 2 - * ``` - * @return {Array} - * @api public - */ - -Object.defineProperty(Node.prototype, 'siblings', { - set: function() { - throw new Error('node.siblings is a getter and cannot be defined'); - }, - get: function() { - return this.parent ? this.parent.nodes : null; - } -}); - -/** - * Get the node's current index from `node.parent.nodes`. - * This should always be correct, even when the parent adds nodes. - * - * ```js - * var foo = new Node({type: 'foo'}); - * var bar = new Node({type: 'bar'}); - * var baz = new Node({type: 'baz'}); - * var qux = new Node({type: 'qux'}); - * foo.push(bar); - * foo.push(baz); - * foo.unshift(qux); - * - * console.log(bar.index) // 1 - * console.log(baz.index) // 2 - * console.log(qux.index) // 0 - * ``` - * @return {Number} - * @api public - */ - -Object.defineProperty(Node.prototype, 'index', { - set: function(index) { - define(this, 'idx', index); - }, - get: function() { - if (!Array.isArray(this.siblings)) { - return -1; - } - var tok = this.idx !== -1 ? this.siblings[this.idx] : null; - if (tok !== this) { - this.idx = this.siblings.indexOf(this); - } - return this.idx; - } -}); - -/** - * Get the previous node from the siblings array or `null`. - * - * ```js - * var foo = new Node({type: 'foo'}); - * var bar = new Node({type: 'bar'}); - * var baz = new Node({type: 'baz'}); - * foo.push(bar); - * foo.push(baz); - * - * console.log(baz.prev.type) // 'bar' - * ``` - * @return {Object} - * @api public - */ - -Object.defineProperty(Node.prototype, 'prev', { - set: function() { - throw new Error('node.prev is a getter and cannot be defined'); - }, - get: function() { - if (Array.isArray(this.siblings)) { - return this.siblings[this.index - 1] || this.parent.prev; - } - return null; - } -}); - -/** - * Get the siblings array, or `null` if it doesn't exist. - * - * ```js - * var foo = new Node({type: 'foo'}); - * var bar = new Node({type: 'bar'}); - * var baz = new Node({type: 'baz'}); - * foo.push(bar); - * foo.push(baz); - * - * console.log(bar.siblings.length) // 2 - * console.log(baz.siblings.length) // 2 - * ``` - * @return {Object} - * @api public - */ - -Object.defineProperty(Node.prototype, 'next', { - set: function() { - throw new Error('node.next is a getter and cannot be defined'); - }, - get: function() { - if (Array.isArray(this.siblings)) { - return this.siblings[this.index + 1] || this.parent.next; - } - return null; - } -}); - -/** - * Get the first node from `node.nodes`. - * - * ```js - * var foo = new Node({type: 'foo'}); - * var bar = new Node({type: 'bar'}); - * var baz = new Node({type: 'baz'}); - * var qux = new Node({type: 'qux'}); - * foo.push(bar); - * foo.push(baz); - * foo.push(qux); - * - * console.log(foo.first.type) // 'bar' - * ``` - * @return {Object} The first node, or undefiend - * @api public - */ - -Object.defineProperty(Node.prototype, 'first', { - get: function() { - return this.nodes ? this.nodes[0] : null; - } -}); - -/** - * Get the last node from `node.nodes`. - * - * ```js - * var foo = new Node({type: 'foo'}); - * var bar = new Node({type: 'bar'}); - * var baz = new Node({type: 'baz'}); - * var qux = new Node({type: 'qux'}); - * foo.push(bar); - * foo.push(baz); - * foo.push(qux); - * - * console.log(foo.last.type) // 'qux' - * ``` - * @return {Object} The last node, or undefiend - * @api public - */ - -Object.defineProperty(Node.prototype, 'last', { - get: function() { - return this.nodes ? utils.last(this.nodes) : null; - } -}); - -/** - * Get the last node from `node.nodes`. - * - * ```js - * var foo = new Node({type: 'foo'}); - * var bar = new Node({type: 'bar'}); - * var baz = new Node({type: 'baz'}); - * var qux = new Node({type: 'qux'}); - * foo.push(bar); - * foo.push(baz); - * foo.push(qux); - * - * console.log(foo.last.type) // 'qux' - * ``` - * @return {Object} The last node, or undefiend - * @api public - */ - -Object.defineProperty(Node.prototype, 'scope', { - get: function() { - if (this.isScope !== true) { - return this.parent ? this.parent.scope : this; - } - return this; - } -}); - -/** - * Get own property names from Node prototype, but only the - * first time `Node` is instantiated - */ - -function lazyKeys() { - if (!ownNames) { - ownNames = Object.getOwnPropertyNames(Node.prototype); - } -} - -/** - * Simplified assertion. Throws an error is `val` is falsey. - */ - -function assert(val, message) { - if (!val) throw new Error(message); -} - -/** - * Expose `Node` - */ - -exports = module.exports = Node; diff --git a/node_modules/snapdragon-node/node_modules/define-property/LICENSE b/node_modules/snapdragon-node/node_modules/define-property/LICENSE deleted file mode 100644 index ec85897eb..000000000 --- a/node_modules/snapdragon-node/node_modules/define-property/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/node_modules/snapdragon-node/node_modules/define-property/README.md b/node_modules/snapdragon-node/node_modules/define-property/README.md deleted file mode 100644 index 2f1af05f3..000000000 --- a/node_modules/snapdragon-node/node_modules/define-property/README.md +++ /dev/null @@ -1,95 +0,0 @@ -# define-property [![NPM version](https://img.shields.io/npm/v/define-property.svg?style=flat)](https://www.npmjs.com/package/define-property) [![NPM monthly downloads](https://img.shields.io/npm/dm/define-property.svg?style=flat)](https://npmjs.org/package/define-property) [![NPM total downloads](https://img.shields.io/npm/dt/define-property.svg?style=flat)](https://npmjs.org/package/define-property) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/define-property.svg?style=flat&label=Travis)](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._
\ No newline at end of file diff --git a/node_modules/snapdragon-node/node_modules/define-property/index.js b/node_modules/snapdragon-node/node_modules/define-property/index.js deleted file mode 100644 index 27c19ebf6..000000000 --- a/node_modules/snapdragon-node/node_modules/define-property/index.js +++ /dev/null @@ -1,31 +0,0 @@ -/*! - * 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 - }); -}; diff --git a/node_modules/snapdragon-node/node_modules/define-property/package.json b/node_modules/snapdragon-node/node_modules/define-property/package.json deleted file mode 100644 index e0ab1ca00..000000000 --- a/node_modules/snapdragon-node/node_modules/define-property/package.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "name": "define-property", - "description": "Define a non-enumerable property on an object.", - "version": "1.0.0", - "homepage": "https://github.com/jonschlinkert/define-property", - "author": "Jon Schlinkert (https://github.com/jonschlinkert)", - "repository": "jonschlinkert/define-property", - "bugs": { - "url": "https://github.com/jonschlinkert/define-property/issues" - }, - "license": "MIT", - "files": [ - "index.js" - ], - "main": "index.js", - "engines": { - "node": ">=0.10.0" - }, - "scripts": { - "test": "mocha" - }, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "devDependencies": { - "gulp-format-md": "^0.1.12", - "mocha": "^3.2.0" - }, - "keywords": [ - "define", - "define-property", - "enumerable", - "key", - "non", - "non-enumerable", - "object", - "prop", - "property", - "value" - ], - "verb": { - "related": { - "list": [ - "extend-shallow", - "merge-deep", - "assign-deep", - "mixin-deep" - ] - }, - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "lint": { - "reflinks": true - } - } -} diff --git a/node_modules/snapdragon-node/package.json b/node_modules/snapdragon-node/package.json deleted file mode 100644 index 2ca802374..000000000 --- a/node_modules/snapdragon-node/package.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "name": "snapdragon-node", - "description": "Snapdragon utility for creating a new AST node in custom code, such as plugins.", - "version": "2.1.1", - "homepage": "https://github.com/jonschlinkert/snapdragon-node", - "author": "Jon Schlinkert (https://github.com/jonschlinkert)", - "repository": "jonschlinkert/snapdragon-node", - "bugs": { - "url": "https://github.com/jonschlinkert/snapdragon-node/issues" - }, - "license": "MIT", - "files": [ - "index.js" - ], - "main": "index.js", - "engines": { - "node": ">=0.10.0" - }, - "scripts": { - "test": "mocha" - }, - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "devDependencies": { - "gulp": "^3.9.1", - "gulp-eslint": "^4.0.0", - "gulp-format-md": "^0.1.12", - "gulp-istanbul": "^1.1.2", - "gulp-mocha": "^3.0.1", - "mocha": "^3.4.2", - "snapdragon": "^0.11.0" - }, - "keywords": [ - "ast", - "compile", - "compiler", - "convert", - "node", - "parse", - "parser", - "plugin", - "render", - "snapdragon", - "snapdragonplugin", - "token", - "transform" - ], - "verb": { - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "related": { - "list": [ - "breakdance", - "snapdragon", - "snapdragon-capture", - "snapdragon-cheerio", - "snapdragon-util" - ] - }, - "reflinks": [ - "verb", - "verb-generate-readme" - ], - "lint": { - "reflinks": true - } - } -} |