1.1.0 • Published 7 years ago
typescript-stringcaster v1.1.0
Stringcaster for Typescript
Implementation of stringcaster package for use with Typescript classes and decorators.
See stringcaster docs for cast options.
This package includes all the functionality of stringcaster and
adds the envVar property decorator on top of it.
Getting Started
Let's say you have .env files like this:
# /.env
MINIFY=true
DEFAULT_LOCALE=en-GB
SUPPORTED_LOCALES=en-GB,en-US,es,jp
PORT=3000
INFO_OBJECT=date: 2017, author: John DoeAnd you need to create a config object using this data.
Now using the envVar decorator you can do the following:
// /config.ts
import {
envVar,
toBoolean,
toString,
toNumber,
toArray,
toObject
} from "typescript-stringcaster";
import * as dotenv from "dotenv";
dotenv.config();
const source = process.env; // you actually have to pass this
class Config {
@envVar({ cast: toBoolean, defaultValue: false, source })
MINIFY: boolean;
@envVar({ cast: toString, defaultValue: "en-US", source })
DEFAULT_LOCALE: string;
@envVar({ cast: toArray, source })
SUPPORTED_LOCALES: [string];
@envVar({ cast: toNumber, source })
PORT: number;
@envVar({ cast: toObject, source, sourceKey: "INFO_OBJECT" })
INFO: object;
}
export default new Config();Docs
@envVar decorator
Parameters:
source(required) - A object containing the values source (e. g. process.env)defaultValueoptional - default value that will be provided ifsourcedoes not contain the value for this keysourceKeyoptional - Use if the key insourceobject is different from the property namecastoptional - A convert function, will be called on the property value. Can be either a cast function from stringcaster or custom function.