Skip to content

jiro4989/envconfig

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

envconfig

gh-actions

envconfig provides a function to get config objects from environment variables. envconfig is inspired by Go envconfig.

nimble install envconfig

Example that setting environment variables with shell.

export MYAPP_NAME=envconfig
export MYAPP_VERSION=v1.0.0
export MYAPP_DIR=/opt/envconfig
export MYAPP_PORT=1234
export MYAPP_DEV=true
import envconfig

type
  MyApp = object
    name, version, dir: string
    port: int
    dev: bool

let config = getEnvConfig(MyApp)

echo "MYAPP_NAME: " & config.name       # envconfig
echo "MYAPP_VERSION: " & config.version # v1.0.0
echo "MYAPP_DIR: " & config.dir         # /opt/envconfig
echo "MYAPP_PORT: " & $config.port      # 1234
echo "MYAPP_DEV: " & $config.dev        # true

Example that setting environment variables with Nim.

import envconfig
from os import putEnv

type
  MyApp = object
    name, version, dir: string
    port: int
    dev: bool

putEnv("MYAPP_NAME", "envconfig")
putEnv("MYAPP_VERSION", "v1.0.0")
putEnv("MYAPP_DIR", "/opt/envconfig")
putEnv("MYAPP_PORT", "1234")
putEnv("MYAPP_DEV", "true")

let config = getEnvConfig(MyApp)

echo "MYAPP_NAME: " & config.name       # envconfig
echo "MYAPP_VERSION: " & config.version # v1.0.0
echo "MYAPP_DIR: " & config.dir         # /opt/envconfig
echo "MYAPP_PORT: " & $config.port      # 1234
echo "MYAPP_DEV: " & $config.dev        # true

Provides tiny functions to validate values. A procedure can validate requires, min value, max value and regex match. For more informations, see also API documents.

MIT

About

envconfig provides a function to get config objects from environment variables.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages