(v reflect.Value)
| 147 | } |
| 148 | |
| 149 | func isEmptyValue(v reflect.Value) bool { |
| 150 | switch v.Kind() { |
| 151 | case reflect.Array, reflect.Map, reflect.Slice, reflect.String: |
| 152 | return v.Len() == 0 |
| 153 | case reflect.Bool: |
| 154 | return !v.Bool() |
| 155 | case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: |
| 156 | return v.Int() == 0 |
| 157 | case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: |
| 158 | return v.Uint() == 0 |
| 159 | case reflect.Float32, reflect.Float64: |
| 160 | return v.Float() == 0 |
| 161 | case reflect.Interface, reflect.Pointer: |
| 162 | return v.IsNil() |
| 163 | case reflect.Struct: |
| 164 | if v.Type() == reflect.TypeOf(time.Time{}) { |
| 165 | return v.IsZero() |
| 166 | } |
| 167 | // Only supports the struct time.Time, |
| 168 | // subsequent iterations will follow the func Scan support decoder. |
| 169 | } |
| 170 | return false |
| 171 | } |
| 172 | |
| 173 | type Cmdable interface { |
| 174 | Pipeline() Pipeliner |
no test coverage detected