diff --git a/README.md b/README.md index 0bc474e..584c627 100644 --- a/README.md +++ b/README.md @@ -233,6 +233,14 @@ describe('concat.js', function () { ``` +## TypeScript +To use with TypeScript, just import it like this: +```ts +import env from 'get-env'; + +const stringVar = env('STRING').required().asString(); +``` + ## Contributors * @MikeyBurkman * @itavy diff --git a/env-var.d.ts b/env-var.d.ts index 5d24c86..81fb5a5 100644 --- a/env-var.d.ts +++ b/env-var.d.ts @@ -1,22 +1,33 @@ -declare function E (varName: string, defaultValue?: string): E.IVariable; - -declare namespace E { - - interface IVariable { - required: () => IVariable, - asInt: () => number, - asFloat: () => number, - asPositiveInt: () => number, - asNegativeInt: () => number, - asString: () => string, - asJson: () => Object|Array, - asBool: () => boolean, - asStrictBool: () => boolean, - } +export interface IPresentVariable { + asFloat: () => number; + asInt: () => number; + asPositiveInt: () => number; + asNegativeInt: () => number; + asString: () => string; + asJson: () => Object|Array; + asBool: () => boolean; + asStrictBool: () => boolean; +} - function mock (mockValues: Object): (varName: string, defaultValue?: string) => E.IVariable; +export interface IOptionalVariable { + required: () => IPresentVariable; + asFloat: () => number|undefined; + asInt: () => number|undefined; + asPositiveInt: () => number|undefined; + asNegativeInt: () => number|undefined; + asString: () => string|undefined; + asJson: () => Object|Array|undefined; + asBool: () => boolean|undefined; + asStrictBool: () => boolean|undefined; +} +export interface IEnv { + (): Object, + (varName: string): IOptionalVariable; + (varName: string, defaultValue: string): IPresentVariable; + mock(mockVars: Object): IEnv; } -export = E; +export const env: IEnv; +export default env; diff --git a/package.json b/package.json index c9ee611..17e8693 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,10 @@ ], "author": "Evan Shortiss", "license": "MIT", - "files": ["lib/", "env-var.d.ts"], + "files": [ + "lib/", + "env-var.d.ts" + ], "bugs": { "url": "https://github.com/evanshortiss/env-var/issues" },