jgirl
v0.0.5
Published
Simpler than JSON, nicer than program arguments
Downloads
28
Readme
###JGIRL by Yakov Nivin, 2016
Simple parser of arguments for Netiety The idea was to go away from bad Linux standard ways of parsing REPL and ARGS, but also not use something so difficult to type as JSON, and stay somewhere in a middle.
The format: ARG ARG ARG
, arguments are separated by space.
Where ARG could be either named or anonymus argument.
named args are like this: a=123
b=hello
anonymous args are like this: 100
world
begin
end
Anonymous args are added to the "args" array.
Named args become properties of the main object.
All values are strings, it is up to user to detect numbers.
Quoteless design: dashes are converted to spaces. Use double dash if you need a dash character:
hello-world 10--5 Far--East
=> {args:['hello world', '10-5', 'Far-East']}
TODO: allow nested objects/arrays (or it is not needed?)
Shortcuts
To reduce typing even less, you can use shortcuts. Just supply the second argument, called order. JGirl will try to guess what did you mean.
jgirl.from('u=name 2 ph=+0888555 p=zzz', 'user id password phone')
Output:
{ user: 'name', phone: '+0888555', password: 'zzz', id: '2' })
You can even omit the name entirely:
jgirl.from('name 2 zzz', 'user id password')
Output:
{ user: 'name', password: 'zzz', id: '2' })