Skip to content

Commit 21d2ecc

Browse files
MikeyBurkmanevanshortiss
authored andcommitted
Change typings, add to package.json (#6)
1 parent 102615c commit 21d2ecc

File tree

3 files changed

+41
-19
lines changed

3 files changed

+41
-19
lines changed

README.md

+8
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,14 @@ describe('concat.js', function () {
212212

213213
```
214214

215+
## TypeScript
216+
To use with TypeScript, just import it like this:
217+
```ts
218+
import env from 'get-env';
219+
220+
const stringVar = env('STRING').required().asString();
221+
```
222+
215223
## Contributors
216224
* @MikeyBurkman
217225
* @itavy

env-var.d.ts

+28-17
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,33 @@
11

2-
declare function E (varName: string, defaultValue?: string): E.IVariable;
3-
4-
declare namespace E {
5-
6-
interface IVariable {
7-
required: () => IVariable,
8-
asInt: () => number,
9-
asFloat: () => number,
10-
asPositiveInt: () => number,
11-
asNegativeInt: () => number,
12-
asString: () => string,
13-
asJson: () => Object|Array<any>,
14-
asBool: () => boolean,
15-
asStrictBool: () => boolean,
16-
}
2+
export interface IPresentVariable {
3+
asFloat: () => number;
4+
asInt: () => number;
5+
asPositiveInt: () => number;
6+
asNegativeInt: () => number;
7+
asString: () => string;
8+
asJson: () => Object|Array<any>;
9+
asBool: () => boolean;
10+
asStrictBool: () => boolean;
11+
}
1712

18-
function mock (mockValues: Object): (varName: string, defaultValue?: string) => E.IVariable;
13+
export interface IOptionalVariable {
14+
required: () => IPresentVariable;
15+
asFloat: () => number|undefined;
16+
asInt: () => number|undefined;
17+
asPositiveInt: () => number|undefined;
18+
asNegativeInt: () => number|undefined;
19+
asString: () => string|undefined;
20+
asJson: () => Object|Array<any>|undefined;
21+
asBool: () => boolean|undefined;
22+
asStrictBool: () => boolean|undefined;
23+
}
1924

25+
export interface IEnv {
26+
(): Object,
27+
(varName: string): IOptionalVariable;
28+
(varName: string, defaultValue: string): IPresentVariable;
29+
mock(mockVars: Object): IEnv;
2030
}
2131

22-
export = E;
32+
export const env: IEnv;
33+
export default env;

package.json

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "env-var",
3-
"version": "2.3.1",
3+
"version": "2.3.2",
44
"description": "programmatic wrapper for process.env with support for defaults",
55
"main": "lib/index.js",
66
"scripts": {
@@ -25,7 +25,10 @@
2525
],
2626
"author": "Evan Shortiss",
2727
"license": "MIT",
28-
"files": ["lib/"],
28+
"files": [
29+
"lib/",
30+
"env-var.d.ts"
31+
],
2932
"bugs": {
3033
"url": "https://github.com/evanshortiss/env-var/issues"
3134
},

0 commit comments

Comments
 (0)