mirror of
https://github.com/actions/labeler.git
synced 2025-12-19 08:38:15 +00:00
build
This commit is contained in:
34
node_modules/yargs/lib/command.js
generated
vendored
34
node_modules/yargs/lib/command.js
generated
vendored
@@ -1,6 +1,8 @@
|
||||
'use strict'
|
||||
|
||||
const inspect = require('util').inspect
|
||||
const isPromise = require('./is-promise')
|
||||
const { applyMiddleware, commandMiddlewareFactory } = require('./middleware')
|
||||
const path = require('path')
|
||||
const Parser = require('yargs-parser')
|
||||
|
||||
@@ -15,12 +17,12 @@ module.exports = function command (yargs, usage, validation, globalMiddleware) {
|
||||
let aliasMap = {}
|
||||
let defaultCommand
|
||||
globalMiddleware = globalMiddleware || []
|
||||
self.addHandler = function addHandler (cmd, description, builder, handler, middlewares) {
|
||||
|
||||
self.addHandler = function addHandler (cmd, description, builder, handler, commandMiddleware) {
|
||||
let aliases = []
|
||||
const middlewares = commandMiddlewareFactory(commandMiddleware)
|
||||
handler = handler || (() => {})
|
||||
middlewares = middlewares || []
|
||||
globalMiddleware.push(...middlewares)
|
||||
middlewares = globalMiddleware
|
||||
|
||||
if (Array.isArray(cmd)) {
|
||||
aliases = cmd.slice(1)
|
||||
cmd = cmd[0]
|
||||
@@ -223,23 +225,25 @@ module.exports = function command (yargs, usage, validation, globalMiddleware) {
|
||||
positionalMap = populatePositionals(commandHandler, innerArgv, currentContext, yargs)
|
||||
}
|
||||
|
||||
const middlewares = globalMiddleware.slice(0).concat(commandHandler.middlewares || [])
|
||||
applyMiddleware(innerArgv, yargs, middlewares, true)
|
||||
|
||||
// we apply validation post-hoc, so that custom
|
||||
// checks get passed populated positional arguments.
|
||||
if (!yargs._hasOutput()) yargs._runValidation(innerArgv, aliases, positionalMap, yargs.parsed.error)
|
||||
|
||||
if (commandHandler.handler && !yargs._hasOutput()) {
|
||||
yargs._setHasOutput()
|
||||
if (commandHandler.middlewares.length > 0) {
|
||||
const middlewareArgs = commandHandler.middlewares.reduce(function (initialObj, middleware) {
|
||||
return Object.assign(initialObj, middleware(innerArgv))
|
||||
}, {})
|
||||
Object.assign(innerArgv, middlewareArgs)
|
||||
}
|
||||
const handlerResult = commandHandler.handler(innerArgv)
|
||||
if (handlerResult && typeof handlerResult.then === 'function') {
|
||||
handlerResult.then(
|
||||
null,
|
||||
(error) => yargs.getUsageInstance().fail(null, error)
|
||||
|
||||
innerArgv = applyMiddleware(innerArgv, yargs, middlewares, false)
|
||||
|
||||
const handlerResult = isPromise(innerArgv)
|
||||
? innerArgv.then(argv => commandHandler.handler(argv))
|
||||
: commandHandler.handler(innerArgv)
|
||||
|
||||
if (isPromise(handlerResult)) {
|
||||
handlerResult.catch(error =>
|
||||
yargs.getUsageInstance().fail(null, error)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user