args-any
TypeScript icon, indicating that this package has built-in type declarations

1.4.5 • Public • Published

args-any

Utility lib for parsing command options

Build Status Codacy Badge Coverage Status tested with jest code style: prettier David GitHub npm

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"
  ...
}
]

Package Sidebar

Install

npm i args-any

Weekly Downloads

13

Version

1.4.5

License

MIT

Unpacked Size

47.2 kB

Total Files

72

Last publish

Collaborators

  • jaspenlind