confage/confage_example_test.go

39 lines
935 B
Go

package confage_test
import (
"encoding/json"
"fmt"
"go.jolheiser.com/confage"
)
func Example_config() {
const secretKey = "AGE-SECRET-KEY-1AN83H8JECDKHSD2RN70WU8RQYYH3C309UUYQQ0EPQNJR3ZXRDHESTUCCM4" // age1ynmpzgvrqj3r6z39kp3p852afe3nkc3neem80vgq96jt2zhesezq8yhn02
cfg := &Config{
Password: confage.MustNew(secretKey, ""),
}
if err := json.Unmarshal(config, &cfg); err != nil {
panic(err)
}
fmt.Println(cfg.Password.Value)
// Output:
// bar
}
// Example config struct
type Config struct {
Username string
Password confage.Type[string]
}
// config.json living on disk
var config = []byte(`{
"username": "foo",
"password": "YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0b3pzdTVtcnBBUFV3bnNsa2RIYlhTVGVYeXlHcHpIbEpMR3ZwcWxHMmtjClc5ald4MHZhdFFKY3NmS0R5bFpXY1VGa1RKeWxHaGVzR3FhS1B1NHgydUkKLS0tIEJYRnhMNm12aE14bUU5bGNPVFBJcHBWZDJBeWFMMVdMUGdyVXErOVFuaWsK3F0DfPH+Ud50XIBoDR2D/+/PMoqNp9O2R6BdBLTLyiENJYrxGxo="
}`)