mirror of
https://github.com/shimataro/ssh-key-action.git
synced 2025-06-19 22:52:10 +10:00
* first action! (#1)
This commit is contained in:
parent
8deacc95b1
commit
ace1e6a69a
3750 changed files with 1155519 additions and 0 deletions
15
node_modules/pseudomap/LICENSE
generated
vendored
Normal file
15
node_modules/pseudomap/LICENSE
generated
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
The ISC License
|
||||
|
||||
Copyright (c) Isaac Z. Schlueter and Contributors
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
||||
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
60
node_modules/pseudomap/README.md
generated
vendored
Normal file
60
node_modules/pseudomap/README.md
generated
vendored
Normal file
|
@ -0,0 +1,60 @@
|
|||
# pseudomap
|
||||
|
||||
A thing that is a lot like ES6 `Map`, but without iterators, for use
|
||||
in environments where `for..of` syntax and `Map` are not available.
|
||||
|
||||
If you need iterators, or just in general a more faithful polyfill to
|
||||
ES6 Maps, check out [es6-map](http://npm.im/es6-map).
|
||||
|
||||
If you are in an environment where `Map` is supported, then that will
|
||||
be returned instead, unless `process.env.TEST_PSEUDOMAP` is set.
|
||||
|
||||
You can use any value as keys, and any value as data. Setting again
|
||||
with the identical key will overwrite the previous value.
|
||||
|
||||
Internally, data is stored on an `Object.create(null)` style object.
|
||||
The key is coerced to a string to generate the key on the internal
|
||||
data-bag object. The original key used is stored along with the data.
|
||||
|
||||
In the event of a stringified-key collision, a new key is generated by
|
||||
appending an increasing number to the stringified-key until finding
|
||||
either the intended key or an empty spot.
|
||||
|
||||
Note that because object traversal order of plain objects is not
|
||||
guaranteed to be identical to insertion order, the insertion order
|
||||
guarantee of `Map.prototype.forEach` is not guaranteed in this
|
||||
implementation. However, in all versions of Node.js and V8 where this
|
||||
module works, `forEach` does traverse data in insertion order.
|
||||
|
||||
## API
|
||||
|
||||
Most of the [Map
|
||||
API](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map),
|
||||
with the following exceptions:
|
||||
|
||||
1. A `Map` object is not an iterator.
|
||||
2. `values`, `keys`, and `entries` methods are not implemented,
|
||||
because they return iterators.
|
||||
3. The argument to the constructor can be an Array of `[key, value]`
|
||||
pairs, or a `Map` or `PseudoMap` object. But, since iterators
|
||||
aren't used, passing any plain-old iterator won't initialize the
|
||||
map properly.
|
||||
|
||||
## USAGE
|
||||
|
||||
Use just like a regular ES6 Map.
|
||||
|
||||
```javascript
|
||||
var PseudoMap = require('pseudomap')
|
||||
|
||||
// optionally provide a pseudomap, or an array of [key,value] pairs
|
||||
// as the argument to initialize the map with
|
||||
var myMap = new PseudoMap()
|
||||
|
||||
myMap.set(1, 'number 1')
|
||||
myMap.set('1', 'string 1')
|
||||
var akey = {}
|
||||
var bkey = {}
|
||||
myMap.set(akey, { some: 'data' })
|
||||
myMap.set(bkey, { some: 'other data' })
|
||||
```
|
9
node_modules/pseudomap/map.js
generated
vendored
Normal file
9
node_modules/pseudomap/map.js
generated
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
if (process.env.npm_package_name === 'pseudomap' &&
|
||||
process.env.npm_lifecycle_script === 'test')
|
||||
process.env.TEST_PSEUDOMAP = 'true'
|
||||
|
||||
if (typeof Map === 'function' && !process.env.TEST_PSEUDOMAP) {
|
||||
module.exports = Map
|
||||
} else {
|
||||
module.exports = require('./pseudomap')
|
||||
}
|
54
node_modules/pseudomap/package.json
generated
vendored
Normal file
54
node_modules/pseudomap/package.json
generated
vendored
Normal file
|
@ -0,0 +1,54 @@
|
|||
{
|
||||
"_from": "pseudomap@^1.0.2",
|
||||
"_id": "pseudomap@1.0.2",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
|
||||
"_location": "/pseudomap",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "pseudomap@^1.0.2",
|
||||
"name": "pseudomap",
|
||||
"escapedName": "pseudomap",
|
||||
"rawSpec": "^1.0.2",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^1.0.2"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/term-size/lru-cache"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
|
||||
"_shasum": "f052a28da70e618917ef0a8ac34c1ae5a68286b3",
|
||||
"_spec": "pseudomap@^1.0.2",
|
||||
"_where": "/home/shimataro/projects/actions/ssh-key-action/node_modules/term-size/node_modules/lru-cache",
|
||||
"author": {
|
||||
"name": "Isaac Z. Schlueter",
|
||||
"email": "i@izs.me",
|
||||
"url": "http://blog.izs.me/"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/isaacs/pseudomap/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "A thing that is a lot like ES6 `Map`, but without iterators, for use in environments where `for..of` syntax and `Map` are not available.",
|
||||
"devDependencies": {
|
||||
"tap": "^2.3.1"
|
||||
},
|
||||
"directories": {
|
||||
"test": "test"
|
||||
},
|
||||
"homepage": "https://github.com/isaacs/pseudomap#readme",
|
||||
"license": "ISC",
|
||||
"main": "map.js",
|
||||
"name": "pseudomap",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/isaacs/pseudomap.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "tap test/*.js"
|
||||
},
|
||||
"version": "1.0.2"
|
||||
}
|
113
node_modules/pseudomap/pseudomap.js
generated
vendored
Normal file
113
node_modules/pseudomap/pseudomap.js
generated
vendored
Normal file
|
@ -0,0 +1,113 @@
|
|||
var hasOwnProperty = Object.prototype.hasOwnProperty
|
||||
|
||||
module.exports = PseudoMap
|
||||
|
||||
function PseudoMap (set) {
|
||||
if (!(this instanceof PseudoMap)) // whyyyyyyy
|
||||
throw new TypeError("Constructor PseudoMap requires 'new'")
|
||||
|
||||
this.clear()
|
||||
|
||||
if (set) {
|
||||
if ((set instanceof PseudoMap) ||
|
||||
(typeof Map === 'function' && set instanceof Map))
|
||||
set.forEach(function (value, key) {
|
||||
this.set(key, value)
|
||||
}, this)
|
||||
else if (Array.isArray(set))
|
||||
set.forEach(function (kv) {
|
||||
this.set(kv[0], kv[1])
|
||||
}, this)
|
||||
else
|
||||
throw new TypeError('invalid argument')
|
||||
}
|
||||
}
|
||||
|
||||
PseudoMap.prototype.forEach = function (fn, thisp) {
|
||||
thisp = thisp || this
|
||||
Object.keys(this._data).forEach(function (k) {
|
||||
if (k !== 'size')
|
||||
fn.call(thisp, this._data[k].value, this._data[k].key)
|
||||
}, this)
|
||||
}
|
||||
|
||||
PseudoMap.prototype.has = function (k) {
|
||||
return !!find(this._data, k)
|
||||
}
|
||||
|
||||
PseudoMap.prototype.get = function (k) {
|
||||
var res = find(this._data, k)
|
||||
return res && res.value
|
||||
}
|
||||
|
||||
PseudoMap.prototype.set = function (k, v) {
|
||||
set(this._data, k, v)
|
||||
}
|
||||
|
||||
PseudoMap.prototype.delete = function (k) {
|
||||
var res = find(this._data, k)
|
||||
if (res) {
|
||||
delete this._data[res._index]
|
||||
this._data.size--
|
||||
}
|
||||
}
|
||||
|
||||
PseudoMap.prototype.clear = function () {
|
||||
var data = Object.create(null)
|
||||
data.size = 0
|
||||
|
||||
Object.defineProperty(this, '_data', {
|
||||
value: data,
|
||||
enumerable: false,
|
||||
configurable: true,
|
||||
writable: false
|
||||
})
|
||||
}
|
||||
|
||||
Object.defineProperty(PseudoMap.prototype, 'size', {
|
||||
get: function () {
|
||||
return this._data.size
|
||||
},
|
||||
set: function (n) {},
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
})
|
||||
|
||||
PseudoMap.prototype.values =
|
||||
PseudoMap.prototype.keys =
|
||||
PseudoMap.prototype.entries = function () {
|
||||
throw new Error('iterators are not implemented in this version')
|
||||
}
|
||||
|
||||
// Either identical, or both NaN
|
||||
function same (a, b) {
|
||||
return a === b || a !== a && b !== b
|
||||
}
|
||||
|
||||
function Entry (k, v, i) {
|
||||
this.key = k
|
||||
this.value = v
|
||||
this._index = i
|
||||
}
|
||||
|
||||
function find (data, k) {
|
||||
for (var i = 0, s = '_' + k, key = s;
|
||||
hasOwnProperty.call(data, key);
|
||||
key = s + i++) {
|
||||
if (same(data[key].key, k))
|
||||
return data[key]
|
||||
}
|
||||
}
|
||||
|
||||
function set (data, k, v) {
|
||||
for (var i = 0, s = '_' + k, key = s;
|
||||
hasOwnProperty.call(data, key);
|
||||
key = s + i++) {
|
||||
if (same(data[key].key, k)) {
|
||||
data[key].value = v
|
||||
return
|
||||
}
|
||||
}
|
||||
data.size++
|
||||
data[key] = new Entry(k, v, key)
|
||||
}
|
86
node_modules/pseudomap/test/basic.js
generated
vendored
Normal file
86
node_modules/pseudomap/test/basic.js
generated
vendored
Normal file
|
@ -0,0 +1,86 @@
|
|||
var t = require('tap')
|
||||
|
||||
process.env.TEST_PSEUDOMAP = 'true'
|
||||
|
||||
var PM = require('../')
|
||||
runTests(PM)
|
||||
|
||||
// if possible, verify that Map also behaves the same way
|
||||
if (typeof Map === 'function')
|
||||
runTests(Map)
|
||||
|
||||
|
||||
function runTests (Map) {
|
||||
t.throws(Map)
|
||||
|
||||
var m = new Map()
|
||||
|
||||
t.equal(m.size, 0)
|
||||
|
||||
m.set(1, '1 string')
|
||||
t.equal(m.get(1), '1 string')
|
||||
t.equal(m.size, 1)
|
||||
m.size = 1000
|
||||
t.equal(m.size, 1)
|
||||
m.size = 0
|
||||
t.equal(m.size, 1)
|
||||
|
||||
m = new Map([[1, 'number 1'], ['1', 'string 1']])
|
||||
t.equal(m.get(1), 'number 1')
|
||||
t.equal(m.get('1'), 'string 1')
|
||||
t.equal(m.size, 2)
|
||||
|
||||
m = new Map(m)
|
||||
t.equal(m.get(1), 'number 1')
|
||||
t.equal(m.get('1'), 'string 1')
|
||||
t.equal(m.size, 2)
|
||||
|
||||
var akey = {}
|
||||
var bkey = {}
|
||||
m.set(akey, { some: 'data' })
|
||||
m.set(bkey, { some: 'other data' })
|
||||
t.same(m.get(akey), { some: 'data' })
|
||||
t.same(m.get(bkey), { some: 'other data' })
|
||||
t.equal(m.size, 4)
|
||||
|
||||
var x = /x/
|
||||
var y = /x/
|
||||
m.set(x, 'x regex')
|
||||
m.set(y, 'y regex')
|
||||
t.equal(m.get(x), 'x regex')
|
||||
m.set(x, 'x again')
|
||||
t.equal(m.get(x), 'x again')
|
||||
t.equal(m.size, 6)
|
||||
|
||||
m.set(NaN, 'not a number')
|
||||
t.equal(m.get(NaN), 'not a number')
|
||||
m.set(NaN, 'it is a ' + typeof NaN)
|
||||
t.equal(m.get(NaN), 'it is a number')
|
||||
m.set('NaN', 'stringie nan')
|
||||
t.equal(m.get(NaN), 'it is a number')
|
||||
t.equal(m.get('NaN'), 'stringie nan')
|
||||
t.equal(m.size, 8)
|
||||
|
||||
m.delete(NaN)
|
||||
t.equal(m.get(NaN), undefined)
|
||||
t.equal(m.size, 7)
|
||||
|
||||
var expect = [
|
||||
{ value: 'number 1', key: 1 },
|
||||
{ value: 'string 1', key: '1' },
|
||||
{ value: { some: 'data' }, key: {} },
|
||||
{ value: { some: 'other data' }, key: {} },
|
||||
{ value: 'x again', key: /x/ },
|
||||
{ value: 'y regex', key: /x/ },
|
||||
{ value: 'stringie nan', key: 'NaN' }
|
||||
]
|
||||
var actual = []
|
||||
|
||||
m.forEach(function (value, key) {
|
||||
actual.push({ value: value, key: key })
|
||||
})
|
||||
t.same(actual, expect)
|
||||
|
||||
m.clear()
|
||||
t.equal(m.size, 0)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue