(v reflect.Value, value *unstable.Node)
| 1838 | } |
| 1839 | |
| 1840 | func (d *decoder) assignLocalDate(v reflect.Value, value *unstable.Node) (reflect.Value, error) { |
| 1841 | date, err := parseLocalDate(value.Data) |
| 1842 | if err != nil { |
| 1843 | return reflect.Value{}, err |
| 1844 | } |
| 1845 | |
| 1846 | switch v.Type() { |
| 1847 | case localDateType: |
| 1848 | v.Set(reflect.ValueOf(date)) |
| 1849 | return v, nil |
| 1850 | case timeType: |
| 1851 | v.Set(reflect.ValueOf(date.AsTime(time.Local))) |
| 1852 | return v, nil |
| 1853 | } |
| 1854 | if v.Kind() == reflect.Interface { |
| 1855 | return boxInto(v, reflect.ValueOf(date)) |
| 1856 | } |
| 1857 | return reflect.Value{}, d.typeMismatchError("local date", v.Type(), d.p.Raw(value.Raw)) |
| 1858 | } |
| 1859 | |
| 1860 | func (d *decoder) assignLocalTime(v reflect.Value, value *unstable.Node) (reflect.Value, error) { |
| 1861 | t, rest, err := parseLocalTime(value.Data) |
no test coverage detected