package kwargs import ( "encoding/json" "fmt" "git.towk2.me/towk/makeshift/internal/format" ) const RESERVED_KEY = "kwargs" type KWArgs map[string]any func (kw KWArgs) String() string { b, _ := json.Marshal(kw) return string(b) } func (kw *KWArgs) Set(v string /* should be JSON object*/) error { var ( newArgs KWArgs err error ) err = format.Unmarshal([]byte(v), &newArgs, format.JSON) if err != nil { return fmt.Errorf("failed to unmarshal value for %s: %w", kw.Type(), err) } *kw = newArgs return nil } func (kw *KWArgs) Type() string { return "KWArgs" }