args-any
v1.4.5
Published
Utility lib for parsing command options
Downloads
207
Maintainers
Readme
args-any
Utility lib for parsing command options
Installation
npm install args-any
Test
npm test
Usage
Parse arguments to a map
import { parse } from "args-any";
const args = ["-option1", "value1", "-option2>4", "-option3 lt 5"]
const options = parse(args);
options.has("option1");
==> true
options.get("option2");
==> {
key: "option2",
operator: Operator.Gt,
value: "4"
}
Map arguments to a partial type
import { parse } from "args-any";
const args = ["-name", "server 1", "-memorySize", "1024" , "-isClustered", "true"];
interface Server {
name: string;
memorySize: number;
isClustered: boolean;
location: string;
}
const server = parse(args).asPartial<Server>();
==> {
name: "server 1",
memorySize: 1024,
isClustered: true
};
Filter a list based on arguments
const servers = [{
name: "name 1",
memorySize: 2048
}, {
name: "name 2",
memorySize: 2048
}, {
name: "name 3",
memorySize: 512
}];
const filtered = parse(["-memorySize=2048"]).filter(...servers);
==> [{
name: "name1"
...
}, {
name: "name2"
...
}
]