args-any
Version:
Utility lib for parsing command options
95 lines (72 loc) • 2.16 kB
Markdown
[](https://travis-ci.com/jaspenlind/args-any)
[](https://www.codacy.com/gh/jaspenlind/args-any/dashboard?utm_source=github.com&utm_medium=referral&utm_content=jaspenlind/args-any&utm_campaign=Badge_Grade)
[](https://coveralls.io/github/jaspenlind/args-any?branch=master)
[](https://github.com/facebook/jest)
[](https://github.com/prettier/prettier)


[](https://www.npmjs.com/package/args-any)
```sh
npm install args-any
```
```sh
npm test
```
```ts
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"
}
```
```ts
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
};
```
```ts
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"
...
}
]
```