Merge pull request #19172 from shiftkey/add-mri-package

adding a new package - mri
This commit is contained in:
Daniel Rosenwasser
2017-08-22 10:09:26 -07:00
committed by GitHub
4 changed files with 74 additions and 0 deletions
+38
View File
@@ -0,0 +1,38 @@
// Type definitions for mri 1.1
// Project: https://github.com/lukeed/mri
// Definitions by: Brendan Forster <https://github.com/shiftkey>, Jed Fox <https://github.com/j-f1>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.4
export = mri;
declare function mri(args: ReadonlyArray<string>, options?: mri.Options): mri.Argv;
declare namespace mri {
const prototype: {
};
/** A string or array of strings */
type ArrayOrString = string | ReadonlyArray<string>;
/** An object with any keys whose values conform to a specific type */
interface DictionaryObject<T = any> {
[key: string]: T;
}
interface Options {
/** Additional aliases for specific flags */
alias?: DictionaryObject<ArrayOrString>;
/** A flag or array of flags whose values are boolean */
boolean?: ArrayOrString;
/** Default values for flags */
default?: DictionaryObject;
string?: ArrayOrString;
unknown?: (flag: string) => void;
}
interface Argv extends DictionaryObject {
/** anything after `--` or between options */
_: ReadonlyArray<string>;
}
}
+7
View File
@@ -0,0 +1,7 @@
import * as mri from 'mri';
const first = mri(['--foo', 'bar']);
const second = mri(['--foo', 'bar'], {
default: { foo: true, baz: 'hello', bat: 42 }
});
+22
View File
@@ -0,0 +1,22 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": [
"es6"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": false,
"baseUrl": "../",
"typeRoots": [
"../"
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"mri-tests.ts"
]
}
+7
View File
@@ -0,0 +1,7 @@
{
"extends": "dtslint/dt.json",
"rules": {
"strict-export-declare-modifiers": false,
"prefer-method-signature": false
}
}