| 418 | } |
| 419 | |
| 420 | func (ud *UserDefault) CallInput(ctx context.Context) (*FunctionCallArgValue, error) { |
| 421 | if !ud.IsObject() && |
| 422 | (!ud.IsList() || |
| 423 | !ud.Arg.TypeDef.Self().AsList.Valid || |
| 424 | ud.Arg.TypeDef.Self().AsList.Value.Self() == nil || |
| 425 | ud.Arg.TypeDef.Self().AsList.Value.Self().ElementTypeDef.Self() == nil || |
| 426 | ud.Arg.TypeDef.Self().AsList.Value.Self().ElementTypeDef.Self().Kind != TypeDefKindObject) { |
| 427 | return ud.UserDefaultPrimitive.CallInput() |
| 428 | } |
| 429 | value, err := ud.Value(ctx) |
| 430 | if err != nil { |
| 431 | return nil, err |
| 432 | } |
| 433 | encoded, err := json.Marshal(value) |
| 434 | if err != nil { |
| 435 | return nil, ud.errorf(err, "marshal object default") |
| 436 | } |
| 437 | return &FunctionCallArgValue{ |
| 438 | Name: ud.Arg.Name, |
| 439 | Value: encoded, |
| 440 | }, nil |
| 441 | } |
| 442 | |
| 443 | func (ud *UserDefault) Value(ctx context.Context) (any, error) { |
| 444 | if !ud.IsObject() && !ud.IsList() { |