New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

typescript-stringcaster

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

typescript-stringcaster

stringcaster for typescript with decorators

latest
Source
npmnpm
Version
1.1.0
Version published
Weekly downloads
4
100%
Maintainers
1
Weekly downloads
 
Created
Source

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 Doe

And 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)
  • defaultValue optional - default value that will be provided if source does not contain the value for this key
  • sourceKey optional - Use if the key in source object is different from the property name
  • cast optional - A convert function, will be called on the property value. Can be either a cast function from stringcaster or custom function.

Keywords

stringcaster

FAQs

Package last updated on 17 Feb 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts