Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /var/www/html/node-red/node_modules/args/lib/ drwxr-xr-x | |
| Viewing file: Select action/file-type: 'use strict'
module.exports = function(name, description, defaultValue, init) {
let usage = []
const assignShort = (name, options, short) => {
if (options.find(flagName => flagName.usage[0] === short)) {
short = name.charAt(0).toUpperCase()
}
return [short, name]
}
// If name is an array, pick the values
// Otherwise just use the whole thing
switch (name.constructor) {
case String:
usage = assignShort(name, this.details.options, name.charAt(0))
break
case Array:
usage = usage.concat(name)
break
default:
throw new Error('Invalid name for option')
}
// Throw error if short option is too long
if (usage.length > 0 && usage[0].length > 1) {
throw new Error('Short version of option is longer than 1 char')
}
const optionDetails = {
defaultValue,
usage,
description
}
let defaultIsWrong
switch (defaultValue) {
case false:
defaultIsWrong = true
break
case null:
defaultIsWrong = true
break
case undefined:
defaultIsWrong = true
break
default:
defaultIsWrong = false
}
if (typeof init === 'function') {
optionDetails.init = init
} else if (!defaultIsWrong) {
// Set initializer depending on type of default value
optionDetails.init = this.handleType(defaultValue)[1]
}
// Register option to global scope
this.details.options.push(optionDetails)
// Allow chaining of .option()
return this
}
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0048 ]-- |