Documentation ¶
Overview ¶
Package envfunc defines the environment function.
Index ¶
- Variables
- func RangeBoolEnv(fn func(name, desc string, d bool))
- func RangeIntEnv(fn func(name, desc string, d int))
- func RangeStringEnv(fn func(name, desc, d string))
- func RegisterBoolEnv(name, desc string, d bool)
- func RegisterIntEnv(name, desc string, d int)
- func RegisterStringEnv(name, desc, d string)
Constants ¶
This section is empty.
Variables ¶
View Source
var EnvBoolFunc = function.New(&function.Spec{ Params: []function.Parameter{ { Name: "name", Type: cty.String, AllowDynamicType: true, }, }, Type: function.StaticReturnType(cty.Bool), Impl: func(args []cty.Value, retType cty.Type) (cty.Value, error) { e := args[0].AsString() s, ok := boolEnvs[e] if !ok { return cty.Value{}, fmt.Errorf("env: %s does not register", e) } v := os.Getenv(e) if v == "" { s.v = s.d return cty.BoolVal(s.d), nil } var err error s.v, err = strconv.ParseBool(v) if err != nil { s.v = s.d } return cty.BoolVal(s.v), nil }, })
EnvBoolFunc returns a function that read bool type from registered env.
View Source
var EnvIntFunc = function.New(&function.Spec{ Params: []function.Parameter{ { Name: "name", Type: cty.String, AllowDynamicType: true, }, }, Type: function.StaticReturnType(cty.Number), Impl: func(args []cty.Value, retType cty.Type) (cty.Value, error) { e := args[0].AsString() s, ok := intEnvs[e] if !ok { return cty.Value{}, fmt.Errorf("env: %s does not register", e) } v := os.Getenv(e) if v == "" { s.v = s.d return cty.NumberIntVal(int64(s.d)), nil } i, err := strconv.ParseInt(v, 10, 64) s.v = int(i) return cty.NumberIntVal(i), err }, })
EnvIntFunc returns a function that read int type from registered env.
View Source
var EnvStringFunc = function.New(&function.Spec{ Params: []function.Parameter{ { Name: "name", Type: cty.String, AllowDynamicType: true, }, }, Type: function.StaticReturnType(cty.String), Impl: func(args []cty.Value, retType cty.Type) (cty.Value, error) { e := args[0].AsString() s, ok := stringEnvs[e] if !ok { return cty.Value{}, fmt.Errorf("env: %s does not register", e) } v := os.Getenv(e) if v == "" { v = s.d } s.v = v return cty.StringVal(v), nil }, })
EnvStringFunc returns a function that read string type from registered env.
Functions ¶
func RangeBoolEnv ¶
RangeBoolEnv iterates over the bool environment.
func RangeIntEnv ¶
RangeIntEnv iterates over the int environment.
func RangeStringEnv ¶
func RangeStringEnv(fn func(name, desc, d string))
RangeStringEnv iterates over the string environment.
func RegisterBoolEnv ¶
RegisterBoolEnv registers a bool to env.
func RegisterIntEnv ¶
RegisterIntEnv registers a int to env.
func RegisterStringEnv ¶
func RegisterStringEnv(name, desc, d string)
RegisterStringEnv registers a string to env.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.