2022-11-16 04:55:12PM

This commit is contained in:
Alexander Wang 2022-11-16 16:55:12 -08:00
parent 359a12b5f8
commit d90625dc0a
No known key found for this signature in database
GPG key ID: D89FA31966BDBECE
2 changed files with 25 additions and 27 deletions

View file

@ -6,7 +6,8 @@ For v0.0.99 we focused on X, Y and Z. Enjoy!
#### Improvements 🔧
- Add table columns indices in edges between SQL Tables so that layout engines can route exactly between them
- Equivalency between flags and environment variables. You can set either one for all
options (flags take precedence).
#### Bugfixes 🔴

View file

@ -52,48 +52,45 @@ func (o *Opts) Help() string {
return b.String()
}
func (o *Opts) getEnv(k string) string {
if k != "" {
o.registeredEnvs = append(o.registeredEnvs, k)
return o.env.Getenv(k)
}
return ""
}
func (o *Opts) Int64(envKey, flag, shortFlag string, defaultVal int64, usage string) (*int64, error) {
if envKey != "" {
if o.env.Getenv(envKey) != "" {
envVal, err := strconv.ParseInt(o.env.Getenv(envKey), 10, 64)
if env := o.getEnv(envKey); env != "" {
envVal, err := strconv.ParseInt(env, 10, 64)
if err != nil {
return nil, fmt.Errorf(`invalid environment variable %s. Expected int64. Found "%v".`, envKey, envVal)
}
defaultVal = envVal
}
o.registeredEnvs = append(o.registeredEnvs, envKey)
}
return o.Flags.Int64P(flag, shortFlag, defaultVal, usage), nil
}
func (o *Opts) String(envKey, flag, shortFlag string, defaultVal, usage string) *string {
if envKey != "" {
if o.env.Getenv(envKey) != "" {
envVal := o.env.Getenv(envKey)
defaultVal = envVal
}
o.registeredEnvs = append(o.registeredEnvs, envKey)
if env := o.getEnv(envKey); env != "" {
defaultVal = env
}
return o.Flags.StringP(flag, shortFlag, defaultVal, usage)
}
func (o *Opts) Bool(envKey, flag, shortFlag string, defaultVal bool, usage string) (*bool, error) {
if envKey != "" {
if o.env.Getenv(envKey) != "" {
envVal := o.env.Getenv(envKey)
if !boolyEnv(envVal) {
return nil, fmt.Errorf(`invalid environment variable %s. Expected bool. Found "%s".`, envKey, envVal)
if env := o.getEnv(envKey); env != "" {
if !boolyEnv(env) {
return nil, fmt.Errorf(`invalid environment variable %s. Expected bool. Found "%s".`, envKey, env)
}
if truthyEnv(envVal) {
if truthyEnv(env) {
defaultVal = true
} else {
defaultVal = false
}
}
o.registeredEnvs = append(o.registeredEnvs, envKey)
}
return o.Flags.BoolP(flag, shortFlag, defaultVal, usage), nil
}