diff options
Diffstat (limited to 'node_modules/map-visit')
-rw-r--r-- | node_modules/map-visit/LICENSE | 21 | ||||
-rw-r--r-- | node_modules/map-visit/README.md | 155 | ||||
-rw-r--r-- | node_modules/map-visit/index.js | 37 | ||||
-rw-r--r-- | node_modules/map-visit/package.json | 113 |
4 files changed, 0 insertions, 326 deletions
diff --git a/node_modules/map-visit/LICENSE b/node_modules/map-visit/LICENSE deleted file mode 100644 index 83b56e7..0000000 --- a/node_modules/map-visit/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/map-visit/README.md b/node_modules/map-visit/README.md deleted file mode 100644 index 5ab02d4..0000000 --- a/node_modules/map-visit/README.md +++ /dev/null @@ -1,155 +0,0 @@ -# map-visit [](https://www.npmjs.com/package/map-visit) [](https://npmjs.org/package/map-visit) [](https://npmjs.org/package/map-visit) [](https://travis-ci.org/jonschlinkert/map-visit) - -> Map `visit` over an array of objects. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save map-visit -``` - -## Usage - -```js -var mapVisit = require('map-visit'); -``` - -## What does this do? - -**Assign/Merge/Extend vs. Visit** - -Let's say you want to add a `set` method to your application that will: - -* set key-value pairs on a `data` object -* extend objects onto the `data` object -* extend arrays of objects onto the data object - -**Example using `extend`** - -Here is one way to accomplish this using Lo-Dash's `extend` (comparable to `Object.assign`): - -```js -var _ = require('lodash'); - -var obj = { - data: {}, - set: function (key, value) { - if (Array.isArray(key)) { - _.extend.apply(_, [obj.data].concat(key)); - } else if (typeof key === 'object') { - _.extend(obj.data, key); - } else { - obj.data[key] = value; - } - } -}; - -obj.set('a', 'a'); -obj.set([{b: 'b'}, {c: 'c'}]); -obj.set({d: {e: 'f'}}); - -console.log(obj.data); -//=> {a: 'a', b: 'b', c: 'c', d: { e: 'f' }} -``` - -The above approach works fine for most use cases. However, **if you also want to emit an event** each time a property is added to the `data` object, or you want more control over what happens as the object is extended, a better approach would be to use `visit`. - -**Example using `visit`** - -In this approach: - -* when an array is passed to `set`, the `mapVisit` library calls the `set` method on each object in the array. -* when an object is passed, `visit` calls `set` on each property in the object. - -As a result, the `data` event will be emitted every time a property is added to `data` (events are just an example, you can use this approach to perform any necessary logic every time the method is called). - -```js -var mapVisit = require('map-visit'); -var visit = require('object-visit'); - -var obj = { - data: {}, - set: function (key, value) { - if (Array.isArray(key)) { - mapVisit(obj, 'set', key); - } else if (typeof key === 'object') { - visit(obj, 'set', key); - } else { - // simulate an event-emitter - console.log('emit', key, value); - obj.data[key] = value; - } - } -}; - -obj.set('a', 'a'); -obj.set([{b: 'b'}, {c: 'c'}]); -obj.set({d: {e: 'f'}}); -obj.set({g: 'h', i: 'j', k: 'l'}); - -console.log(obj.data); -//=> {a: 'a', b: 'b', c: 'c', d: { e: 'f' }, g: 'h', i: 'j', k: 'l'} - -// events would look something like: -// emit a a -// emit b b -// emit c c -// emit d { e: 'f' } -// emit g h -// emit i j -// emit k l -``` - -## About - -### Related projects - -* [collection-visit](https://www.npmjs.com/package/collection-visit): Visit a method over the items in an object, or map visit over the objects… [more](https://github.com/jonschlinkert/collection-visit) | [homepage](https://github.com/jonschlinkert/collection-visit "Visit a method over the items in an object, or map visit over the objects in an array.") -* [object-visit](https://www.npmjs.com/package/object-visit): Call a specified method on each value in the given object. | [homepage](https://github.com/jonschlinkert/object-visit "Call a specified method on each value in the given object.") - -### Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -### Contributors - -| **Commits** | **Contributor** | -| --- | --- | -| 15 | [jonschlinkert](https://github.com/jonschlinkert) | -| 7 | [doowb](https://github.com/doowb) | - -### 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 09, 2017._
\ No newline at end of file diff --git a/node_modules/map-visit/index.js b/node_modules/map-visit/index.js deleted file mode 100644 index bc54ccc..0000000 --- a/node_modules/map-visit/index.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -var util = require('util'); -var visit = require('object-visit'); - -/** - * Map `visit` over an array of objects. - * - * @param {Object} `collection` The context in which to invoke `method` - * @param {String} `method` Name of the method to call on `collection` - * @param {Object} `arr` Array of objects. - */ - -module.exports = function mapVisit(collection, method, val) { - if (isObject(val)) { - return visit.apply(null, arguments); - } - - if (!Array.isArray(val)) { - throw new TypeError('expected an array: ' + util.inspect(val)); - } - - var args = [].slice.call(arguments, 3); - - for (var i = 0; i < val.length; i++) { - var ele = val[i]; - if (isObject(ele)) { - visit.apply(null, [collection, method, ele].concat(args)); - } else { - collection[method].apply(collection, [ele].concat(args)); - } - } -}; - -function isObject(val) { - return val && (typeof val === 'function' || (!Array.isArray(val) && typeof val === 'object')); -} diff --git a/node_modules/map-visit/package.json b/node_modules/map-visit/package.json deleted file mode 100644 index 1a06357..0000000 --- a/node_modules/map-visit/package.json +++ /dev/null @@ -1,113 +0,0 @@ -{ - "_from": "map-visit@^1.0.0", - "_id": "map-visit@1.0.0", - "_inBundle": false, - "_integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "_location": "/map-visit", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "map-visit@^1.0.0", - "name": "map-visit", - "escapedName": "map-visit", - "rawSpec": "^1.0.0", - "saveSpec": null, - "fetchSpec": "^1.0.0" - }, - "_requiredBy": [ - "/collection-visit" - ], - "_resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "_shasum": "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f", - "_spec": "map-visit@^1.0.0", - "_where": "/home/pruss/Dev/3-minute-website/node_modules/collection-visit", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/map-visit/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Brian Woodward", - "email": "brian.woodward@gmail.com", - "url": "https://twitter.com/doowb" - }, - { - "name": "Jon Schlinkert", - "email": "jon.schlinkert@sellside.com", - "url": "http://twitter.com/jonschlinkert" - } - ], - "dependencies": { - "object-visit": "^1.0.0" - }, - "deprecated": false, - "description": "Map `visit` over an array of objects.", - "devDependencies": { - "clone-deep": "^0.2.4", - "extend-shallow": "^2.0.1", - "gulp-format-md": "^0.1.12", - "lodash": "^4.17.4", - "mocha": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/map-visit", - "keywords": [ - "array", - "arrays", - "function", - "helper", - "invoke", - "key", - "map", - "method", - "object", - "objects", - "value", - "visit", - "visitor" - ], - "license": "MIT", - "main": "index.js", - "name": "map-visit", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/map-visit.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "lint": { - "reflinks": true - }, - "related": { - "list": [ - "collection-visit", - "object-visit" - ] - }, - "reflinks": [ - "verb", - "verb-generate-readme" - ] - }, - "version": "1.0.0" -} |