Detailansicht verbessert
This commit is contained in:
		
							
								
								
									
										21
									
								
								express-server/node_modules/map-visit/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								express-server/node_modules/map-visit/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.
 | 
			
		||||
							
								
								
									
										155
									
								
								express-server/node_modules/map-visit/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										155
									
								
								express-server/node_modules/map-visit/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,155 @@
 | 
			
		||||
# 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._
 | 
			
		||||
							
								
								
									
										37
									
								
								express-server/node_modules/map-visit/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								express-server/node_modules/map-visit/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,37 @@
 | 
			
		||||
'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'));
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										113
									
								
								express-server/node_modules/map-visit/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										113
									
								
								express-server/node_modules/map-visit/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,113 @@
 | 
			
		||||
{
 | 
			
		||||
  "_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": "D:\\5CHITM\\Diplomarbeit\\SmartShopper\\SmartShopper\\express-server\\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"
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user