Comparing version
@@ -34,2 +34,5 @@ "use strict"; | ||
} | ||
else if (argInfo.type === 'boolean') { | ||
config[key] = value.toUpperCase() === 'TRUE' || value === '1'; | ||
} | ||
} | ||
@@ -36,0 +39,0 @@ return config; |
{ | ||
"name": "typed-env", | ||
"version": "1.0.0", | ||
"version": "1.0.1", | ||
"description": "Typed environment variable parser", | ||
"keywords": [ | ||
"environment variables", | ||
"env", | ||
"parser", | ||
"env parser", | ||
"typescript", | ||
"typed", | ||
"config" | ||
], | ||
"main": "dist/index.js", | ||
@@ -6,0 +15,0 @@ "types": "types/index.d.ts", |
interface ArgInfoType { | ||
type: 'number' | 'string' | 'list'; | ||
type: 'number' | 'string' | 'list' | 'boolean'; | ||
} | ||
@@ -23,2 +23,3 @@ | ||
T extends 'list' ? string[] : | ||
T extends 'boolean' ? boolean : | ||
any; | ||
@@ -76,2 +77,4 @@ | ||
config[key] = value.split(','); | ||
} else if (argInfo.type === 'boolean') { | ||
config[key] = value.toUpperCase() === 'TRUE' || value === '1'; | ||
} | ||
@@ -78,0 +81,0 @@ } |
/// <reference types="node" /> | ||
interface ArgInfoType { | ||
type: 'number' | 'string' | 'list'; | ||
type: 'number' | 'string' | 'list' | 'boolean'; | ||
} | ||
@@ -15,3 +15,3 @@ interface ArgInfoParser { | ||
declare type ArgInfo = (ArgInfoType | ArgInfoParser) & (ArgInfoOptional & ArgInfoDefault); | ||
declare type ArgType<T extends string> = T extends 'number' ? number : T extends 'string' ? string : T extends 'list' ? string[] : any; | ||
declare type ArgType<T extends string> = T extends 'number' ? number : T extends 'string' ? string : T extends 'list' ? string[] : T extends 'boolean' ? boolean : any; | ||
declare type GetArgTypeInner<T extends ArgInfo> = T extends ArgInfoParser ? ReturnType<T['parser']> : T extends ArgInfoType ? ArgType<T['type']> : never; | ||
@@ -18,0 +18,0 @@ declare type GetArgTypeOptional<T extends ArgInfo> = T extends ArgInfoDefault ? T['default'] : undefined; |
Sorry, the diff of this file is not supported yet
8310
7.85%142
4.41%