1.0.0 • Published 5 years ago

ts-env-object v1.0.0

Weekly downloads
1
License
MIT
Repository
-
Last release
5 years ago

env-object

A typescript lib leveraging decorator to create objects contain env vars;

Usage

@EnvObject
class Env {
    @EnvProp('FOO')
    foo: string;

    @EnvProp('BAR')
    bar: string;
}

const env = getEnvObject(Env);
env.foo === process.env.FOO;    // true

Roadmap

  • Deep path.
@EnvObject
class Env {
    @EnvProp('FOO.BAR')
    foo: number;
}
  • Type checking
@EnvObject
class Env {
    @EnvProp('FOO')
    foo: number;
}
process.env.foo = 'abc' // NaN
getEnvObject(Env);      // throw error
  • Base path
@EnvObject('FOO')
class Env {
    @EnvProp('BAR')
    bar: string;
}
env.bar === process.env.FOO.BAR;    // true
  • Nested EnvObject
@EnvObject
class FOO {
    @EnvProp('FOO')
    foo: string;
}
@EnvObject
class BAR {
    @EnvProp('BAR')
    bar: string;
    foo: FOO;
}
env.foo.foo === process.env.FOO;    // true