0.0.194 • Published 7 years ago

@reggi/help.parse-argv v0.0.194

Weekly downloads
25
License
-
Repository
github
Last release
7 years ago

@reggi/help.parse-argv

npm i @reggi/help.parse-argv --save

Summary

Unopiniotated and modular alternative to minimist.

Example

Default behavior:

import parseArgv from '@reggi/help.parse-argv'

parseArgv('-h') // {'-h': true, '_': []}
parseArgv('-max') // {'-m': true, '-a': true, '-x': true, '_': []}}
parseArgv('-max=thomas') // {'-m': true, '-a': true, '-x': true, '_': []}}

Why

This is a modular approach to tools like minimist takes in process.argv returns object of parsed key values based on unix flag conventions.

Other argv parsers are opinionated. For instance does you're application need to handle -h, --h, -H, and --H all differently? minimist does not allow this level of granularity, and does absorb the original values in a case like this. help.parse-argv is different in that it allows ANY possible combination of flag discovery and any convention. The main difference is that rather then returning an object of flags resovled as {help: "value"} it includes the dashes {"--help": "value"} offering greater control to remove the dashes later.

For instance:

  • npm run -- {capture} esque support with the child.rest modifier.
  • nodemon --exec {capture} esque support with the doubleDash.until modifier.
  • Resolve -max as [{'-m': true, '-a': true, '-x': true}] accessable booleans with the multiDash.spread modifier.

It is also fully extensible and accepts any plugin functions!

This module also allows you to declare specific ways of handling a given regular express match, so you can handle a given flag differently then the others.

Here's a list of default modifiers:

[
  "child.rest",
  "doubleDash.no",
  "doubleDash.equal",
  "doubleDash.next",
  "doubleDash.bool",
  "onlyDash.bool",
  "multiDash.spread"
]

Here's a list of all the modifiers:

[
  'anyDash.bool'
  'anyDash.equal'
  'anyDash.next'
  'anyDash.until'
  'onlyDash.bool'
  'onlyDash.equal'
  'onlyDash.next'
  'onlyDash.until'
  'multiDash.bool'
  'multiDash.equal'
  'multiDash.next'
  'multiDash.until'
  'multiDash.spread'
  'dash.bool'
  'dash.equal'
  'dash.next'
  'dash.until'
  'doubleDash.bool'
  'doubleDash.equal'
  'doubleDash.next'
  'doubleDash.until'
  'doubleDash.no'
  'child.rest'
]
0.0.194

7 years ago

0.0.193

7 years ago

0.0.192

7 years ago

0.0.191

7 years ago

0.0.190

7 years ago

0.0.189

7 years ago

0.0.188

7 years ago

0.0.187

7 years ago

0.0.186

7 years ago

0.0.185

7 years ago

0.0.184

7 years ago

0.0.183

7 years ago

0.0.182

7 years ago

0.0.181

7 years ago

0.0.180

7 years ago

0.0.179

7 years ago

0.0.178

7 years ago

0.0.177

7 years ago

0.0.176

7 years ago

0.0.175

7 years ago

0.0.174

7 years ago

0.0.173

7 years ago

0.0.172

7 years ago

0.0.171

7 years ago

0.0.170

7 years ago

0.0.169

7 years ago

0.0.168

7 years ago

0.0.167

7 years ago

0.0.166

7 years ago

0.0.165

7 years ago

0.0.164

7 years ago

0.0.163

7 years ago

0.0.162

7 years ago

0.0.161

7 years ago

0.0.160

7 years ago

0.0.159

7 years ago

0.0.158

7 years ago

0.0.157

7 years ago

0.0.156

7 years ago

0.0.155

7 years ago

0.0.154

7 years ago

0.0.153

7 years ago

0.0.152

7 years ago

0.0.151

7 years ago

0.0.150

7 years ago

0.0.149

7 years ago

0.0.148

7 years ago

0.0.147

7 years ago

0.0.146

7 years ago

0.0.145

7 years ago

0.0.144

7 years ago

0.0.143

7 years ago

0.0.142

7 years ago

0.0.141

7 years ago

0.0.140

7 years ago

0.0.139

7 years ago

0.0.138

7 years ago

0.0.137

7 years ago

0.0.136

7 years ago

0.0.135

7 years ago

0.0.134

7 years ago

0.0.133

7 years ago

0.0.132

7 years ago

0.0.131

7 years ago

0.0.130

7 years ago

0.0.129

7 years ago

0.0.128

7 years ago

0.0.127

7 years ago

0.0.126

7 years ago

0.0.125

7 years ago

0.0.124

7 years ago

0.0.123

7 years ago

0.0.122

7 years ago

0.0.121

7 years ago

0.0.120

7 years ago

0.0.119

7 years ago

0.0.118

7 years ago

0.0.117

7 years ago

0.0.116

7 years ago

0.0.115

7 years ago

0.0.114

7 years ago

0.0.113

7 years ago

0.0.112

7 years ago

0.0.111

7 years ago

0.0.110

7 years ago

0.0.109

7 years ago

0.0.108

7 years ago

0.0.107

7 years ago

0.0.106

7 years ago

0.0.105

7 years ago

0.0.104

7 years ago

0.0.103

7 years ago

0.0.102

7 years ago

0.0.101

7 years ago

0.0.100

7 years ago

0.0.99

7 years ago

0.0.98

7 years ago

0.0.97

7 years ago

0.0.96

7 years ago

0.0.95

7 years ago

0.0.94

7 years ago

0.0.93

7 years ago

0.0.92

7 years ago

0.0.91

7 years ago

0.0.90

7 years ago

0.0.89

7 years ago

0.0.88

7 years ago

0.0.87

7 years ago

0.0.86

7 years ago

0.0.85

7 years ago

0.0.84

7 years ago

0.0.83

7 years ago

0.0.82

7 years ago

0.0.81

7 years ago

0.0.80

7 years ago

0.0.79

7 years ago

0.0.78

7 years ago

0.0.77

7 years ago

0.0.76

7 years ago

0.0.75

7 years ago

0.0.74

7 years ago

0.0.73

7 years ago

0.0.72

7 years ago

0.0.71

7 years ago

0.0.70

7 years ago

0.0.69

7 years ago

0.0.68

7 years ago

0.0.67

7 years ago

0.0.66

7 years ago

0.0.65

7 years ago

0.0.64

7 years ago

0.0.63

7 years ago

0.0.62

7 years ago

0.0.61

7 years ago

0.0.60

7 years ago

0.0.59

7 years ago

0.0.58

7 years ago

0.0.57

7 years ago

0.0.56

7 years ago

0.0.55

7 years ago

0.0.54

7 years ago

0.0.53

7 years ago

0.0.52

7 years ago

0.0.51

7 years ago

0.0.50

7 years ago

0.0.49

7 years ago

0.0.48

7 years ago

0.0.47

7 years ago

0.0.46

7 years ago

0.0.45

7 years ago

0.0.44

7 years ago

0.0.43

7 years ago

0.0.42

7 years ago

0.0.41

7 years ago

0.0.40

7 years ago

0.0.39

7 years ago

0.0.38

7 years ago

0.0.37

7 years ago

0.0.36

7 years ago

0.0.35

7 years ago

0.0.34

7 years ago

0.0.33

7 years ago

0.0.32

7 years ago

0.0.31

7 years ago

0.0.30

7 years ago

0.0.29

7 years ago

0.0.28

7 years ago

0.0.27

7 years ago

0.0.25

7 years ago

0.0.11

7 years ago

0.0.10

7 years ago

0.0.9

7 years ago

0.0.8

7 years ago

0.0.7

7 years ago

0.0.6

7 years ago

0.0.5

7 years ago

0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago