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
58
node_modules/spawn-please/index.js
generated
vendored
Normal file
58
node_modules/spawn-please/index.js
generated
vendored
Normal file
|
@ -0,0 +1,58 @@
|
|||
var spawn = require('child_process').spawn
|
||||
|
||||
function spawnPlease(command, args, stdin, options) {
|
||||
|
||||
// if there are only three arguments and the third argument is an object, treat it as the options object and set stdin to null
|
||||
if(!options && typeof stdin === 'object') {
|
||||
options = stdin
|
||||
stdin = undefined
|
||||
}
|
||||
|
||||
// defaults
|
||||
options = options || {}
|
||||
if(options.rejectOnError === undefined) {
|
||||
options.rejectOnError = true
|
||||
}
|
||||
|
||||
var stdout = ''
|
||||
var stderr = ''
|
||||
var child = spawn(command, args, options)
|
||||
|
||||
if(!spawnPlease.Promise) {
|
||||
throw new Error('No built-in Promise. You will need to use a Promise library and spawnPlease.Promise = Promise.')
|
||||
}
|
||||
|
||||
return new spawnPlease.Promise(function (resolve, reject) {
|
||||
|
||||
if(stdin !== undefined) {
|
||||
child.stdin.write(stdin)
|
||||
}
|
||||
child.stdin.end()
|
||||
|
||||
child.stdout.on('data', function (data) {
|
||||
stdout += data
|
||||
})
|
||||
|
||||
child.stderr.on('data', function (data) {
|
||||
stderr += data
|
||||
})
|
||||
|
||||
if(options.rejectOnError) {
|
||||
child.addListener('error', reject)
|
||||
}
|
||||
|
||||
child.on('close', function (code) {
|
||||
if(code !== 0 && options.rejectOnError) {
|
||||
reject(stderr)
|
||||
}
|
||||
else {
|
||||
resolve(stdout)
|
||||
}
|
||||
})
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
spawnPlease.Promise = typeof Promise !== 'undefined' ? Promise : null
|
||||
|
||||
module.exports = spawnPlease
|
Loading…
Add table
Add a link
Reference in a new issue