Giter Club home page Giter Club logo

envtags's People

Contributors

taciogt avatar

Stargazers

 avatar  avatar

Watchers

 avatar

envtags's Issues

Handle "nested" primitive types inside structs

It should be possible to set the values of a field that is a struct, executing the same rules applied for the fields on the original struct. This assignment must work for inner structs that are value or pointer fields.

To provides more flexibility, it would be nice to configure some kind of prefix on the environment variables to avoid conflicts when there are more than one field of the same type.

Handle all possible intX types

Know how to parse environment variables to all possible signed integer types: int8, int16, int32 and int64.
The parser should properly handle errors like

  • invalid strings ("1.2" or even "two")
  • value greater than maximum or minimum available

Treat rune as a specific type for parsing env vars

Since rune type is just an alias for the int32 type, is a little confusing to parse environment variables in a reliable and consistent way for both of them.
To avoid create unpedictable behaviour, the int32 behaviour should be the default (the parsing works the same way that works for other integers). When the field is a rune and may receive a character from an environment variable, it should have a specific struct tag to signal that.

Suggestion

type Config struct {
  RuneField rune `env:"RUNE_FIELD,rune"`
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.