Neurotic and Probably Misinformed

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

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

    Install

    npm i args-any

    DownloadsWeekly Downloads

    4

    Version

    1.4.3

    License

    MIT

    Unpacked Size

    47.4 kB

    Total Files

    72

    Last publish

    Collaborators

    • jaspenlind