New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@anycli/parser

Package Overview
Dependencies
Maintainers
3
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@anycli/parser - npm Package Compare versions

Comparing version 3.0.2 to 3.0.3

8

CHANGELOG.md

@@ -0,1 +1,9 @@

<a name="3.0.3"></a>
## [3.0.3](https://github.com/anycli/parser/compare/7696da86d829776267d2a41f02c4fdad41a8cbc4...v3.0.3) (2018-02-01)
### Bug Fixes
* added options to flags/args ([6a33b06](https://github.com/anycli/parser/commit/6a33b06))
<a name="3.0.2"></a>

@@ -2,0 +10,0 @@ ## [3.0.2](https://github.com/anycli/parser/compare/014b773c2ef72cd23e4d2aef03f3584aaf5cf9cc...v3.0.2) (2018-02-01)

2

lib/args.d.ts

@@ -9,2 +9,3 @@ export declare type ParseFn<T> = (input: string) => T;

default?: T | (() => T);
options?: string[];
}

@@ -18,2 +19,3 @@ export interface ArgBase<T> {

input?: string;
options?: string[];
}

@@ -20,0 +22,0 @@ export declare type RequiredArg<T> = ArgBase<T> & {

18

lib/errors.d.ts
import { Arg } from './args';
import { IFlag } from './flags';
import * as flags from './flags';
import { ParserInput, ParserOutput } from './parse';
export interface ICLIParseErrorOptions {
parse: {
input: ParserInput;
output: ParserOutput<any, any>;
input?: ParserInput;
output?: ParserOutput<any, any>;
};

@@ -23,5 +23,5 @@ }

export declare class RequiredFlagError extends CLIParseError {
flags: IFlag<any>[];
flags: flags.IFlag<any>[];
constructor({flags, parse}: ICLIParseErrorOptions & {
flags: IFlag<any>[];
flags: flags.IFlag<any>[];
});

@@ -35,1 +35,9 @@ }

}
export declare class FlagInvalidOptionError extends CLIParseError {
args: string[];
constructor(flag: flags.IOptionFlag<any>, input: string);
}
export declare class ArgInvalidOptionError extends CLIParseError {
args: string[];
constructor(arg: Arg<any>, input: string);
}

@@ -43,1 +43,15 @@ "use strict";

exports.UnexpectedArgsError = UnexpectedArgsError;
class FlagInvalidOptionError extends CLIParseError {
constructor(flag, input) {
const message = `Expected --${flag.name}=${input} to be one of: ${flag.options.join(', ')}`;
super({ parse: {}, message });
}
}
exports.FlagInvalidOptionError = FlagInvalidOptionError;
class ArgInvalidOptionError extends CLIParseError {
constructor(arg, input) {
const message = `Expected ${input} to be one of: ${arg.options.join(', ')}`;
super({ parse: {}, message });
}
}
exports.ArgInvalidOptionError = ArgInvalidOptionError;

@@ -27,2 +27,3 @@ import { AlphabetLowercase, AlphabetUppercase } from './alphabet';

input: string[];
options?: string[];
};

@@ -48,4 +49,2 @@ export declare type Definition<T> = {

export declare const integer: Definition<number>;
declare const _enum: <T = string>(opts: EnumFlagOptions<T>) => Definition<T>;
export { _enum as enum };
export declare function option<T>(options: {

@@ -52,0 +51,0 @@ parse: IOptionFlag<T>['parse'];

@@ -22,8 +22,2 @@ "use strict";

});
const _enum = (opts) => build(Object.assign({ parse(input) {
if (!opts.options.includes(input))
throw new Error(`Expected --${this.name}=${input} to be one of: ${opts.options.join(', ')}`);
return input;
}, helpValue: `(${opts.options.join('|')})` }, opts, { optionType: 'enum' }));
exports.enum = _enum;
function option(options) {

@@ -30,0 +24,0 @@ return build(Object.assign({ optionType: 'custom' }, options))();

@@ -32,3 +32,3 @@ import { Arg } from './args';

export declare class Parser<T extends ParserInput, TFlags extends OutputFlags<T['flags']>, TArgs extends OutputArgs<T['args']>> {
readonly input: T;
private readonly input;
private readonly argv;

@@ -35,0 +35,0 @@ private readonly raw;

@@ -5,2 +5,3 @@ "use strict";

const _ = require("lodash");
const Errors = require("./errors");
let debug;

@@ -136,3 +137,7 @@ try {

else {
const value = flag.parse ? flag.parse(token.input) : token.input;
const input = token.input;
if (flag.options && !flag.options.includes(input)) {
throw new Errors.FlagInvalidOptionError(flag, input);
}
const value = flag.parse ? flag.parse(input) : input;
if (flag.multiple) {

@@ -170,2 +175,5 @@ flags[token.flag] = flags[token.flag] || [];

if (arg) {
if (arg.options && !arg.options.includes(token.input)) {
throw new Errors.ArgInvalidOptionError(arg, token.input);
}
args[i] = arg.parse(token.input);

@@ -172,0 +180,0 @@ }

{
"name": "@anycli/parser",
"description": "arg and flag parser for anycli",
"version": "3.0.2",
"version": "3.0.3",
"author": "Jeff Dickey @jdxcode",

@@ -6,0 +6,0 @@ "bugs": "https://github.com/anycli/parser/issues",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc