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 🔧 #### 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 🔴 #### Bugfixes 🔴

View file

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