refactor: minor changes and fixes
This commit is contained in:
parent
47c9d48735
commit
505dbefb67
2 changed files with 19 additions and 5 deletions
|
|
@ -4,6 +4,7 @@ import (
|
|||
"encoding/json"
|
||||
"fmt"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"gopkg.in/yaml.v3"
|
||||
)
|
||||
|
|
@ -92,11 +93,11 @@ func Unmarshal(data []byte, v any, inFormat DataFormat) error {
|
|||
// both the standard default format (JSON) and any command line
|
||||
// change to that provided by options.
|
||||
func DataFormatFromFileExt(path string, defaultFmt DataFormat) DataFormat {
|
||||
switch filepath.Ext(path) {
|
||||
case ".json", ".JSON":
|
||||
switch strings.TrimLeft(strings.ToLower(filepath.Ext(path)), ".") {
|
||||
case JSON.String():
|
||||
// The file is a JSON file
|
||||
return JSON
|
||||
case ".yaml", ".yml", ".YAML", ".YML":
|
||||
case YAML.String(), "yml":
|
||||
// The file is a YAML file
|
||||
return YAML
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,15 +5,28 @@ import (
|
|||
"fmt"
|
||||
|
||||
"git.towk2.me/towk/makeshift/internal/format"
|
||||
"github.com/rs/zerolog/log"
|
||||
)
|
||||
|
||||
const RESERVED_KEY = "kwargs"
|
||||
|
||||
type KWArgs map[string]any
|
||||
|
||||
func New() KWArgs {
|
||||
return KWArgs{}
|
||||
}
|
||||
|
||||
func (kw KWArgs) String() string {
|
||||
b, _ := json.Marshal(kw)
|
||||
return string(b)
|
||||
return string(kw.Bytes())
|
||||
}
|
||||
|
||||
func (kw KWArgs) Bytes() []byte {
|
||||
b, err := json.Marshal(kw)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("failed to marshal kwargs")
|
||||
return []byte("{}")
|
||||
}
|
||||
return b
|
||||
}
|
||||
|
||||
func (kw *KWArgs) Set(v string /* should be JSON object*/) error {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue