(ctx context.Context, flag *pflag.Flag, dag *dagger.Client, md *moduleDef)
| 852 | } |
| 853 | |
| 854 | func (r *modFunctionArg) GetFlagValue(ctx context.Context, flag *pflag.Flag, dag *dagger.Client, md *moduleDef) (any, error) { |
| 855 | v := flag.Value |
| 856 | |
| 857 | switch val := v.(type) { |
| 858 | case DaggerValue: |
| 859 | obj, err := val.Get(ctx, dag, md.Source, r) |
| 860 | if err != nil { |
| 861 | return nil, fmt.Errorf("failed to get value for argument %q: %w", r.FlagName(), err) |
| 862 | } |
| 863 | if obj == nil { |
| 864 | return nil, fmt.Errorf("no value for argument: %s", r.FlagName()) |
| 865 | } |
| 866 | return obj, nil |
| 867 | case pflag.SliceValue: |
| 868 | return val.GetSlice(), nil |
| 869 | default: |
| 870 | return v, nil |
| 871 | } |
| 872 | } |
| 873 | |
| 874 | func readAsCSV(val string) ([]string, error) { |
| 875 | if val == "" { |
no test coverage detected