mirror of
https://code.forgejo.org/actions/setup-node.git
synced 2025-05-21 05:24:45 +00:00
.
This commit is contained in:
parent
a004f0ae58
commit
fc725ba36b
7280 changed files with 19 additions and 1796407 deletions
21
node_modules/map-visit/LICENSE
generated
vendored
21
node_modules/map-visit/LICENSE
generated
vendored
|
@ -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.
|
155
node_modules/map-visit/README.md
generated
vendored
155
node_modules/map-visit/README.md
generated
vendored
|
@ -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._
|
37
node_modules/map-visit/index.js
generated
vendored
37
node_modules/map-visit/index.js
generated
vendored
|
@ -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'));
|
||||
}
|
117
node_modules/map-visit/package.json
generated
vendored
117
node_modules/map-visit/package.json
generated
vendored
|
@ -1,117 +0,0 @@
|
|||
{
|
||||
"_args": [
|
||||
[
|
||||
"map-visit@1.0.0",
|
||||
"/Users/eric/repos/actions/setup-node"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "map-visit@1.0.0",
|
||||
"_id": "map-visit@1.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
|
||||
"_location": "/map-visit",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"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",
|
||||
"_spec": "1.0.0",
|
||||
"_where": "/Users/eric/repos/actions/setup-node",
|
||||
"author": {
|
||||
"name": "Jon Schlinkert",
|
||||
"url": "https://github.com/jonschlinkert"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/jonschlinkert/map-visit/issues"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"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"
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue