MCPcopy Create free account
hub / github.com/apache/fory / ReadData

Method ReadData

go/fory/time.go:171–189  ·  view source on GitHub ↗
(ctx *ReadContext, value reflect.Value)

Source from the content-addressed store, hash-verified

169}
170
171func (s dateSerializer) ReadData(ctx *ReadContext, value reflect.Value) {
172 err := ctx.Err()
173 if ctx.TypeResolver().IsXlang() {
174 days := ctx.buffer.ReadVarint64(err)
175 if ctx.HasError() {
176 return
177 }
178 date, convErr := DateFromEpochDay(days)
179 if convErr != nil {
180 ctx.SetError(FromError(convErr))
181 return
182 }
183 value.Set(reflect.ValueOf(date))
184 return
185 }
186 diff := time.Duration(ctx.buffer.ReadInt32(err)) * 24 * time.Hour
187 date := time.Date(1970, 1, 1, 0, 0, 0, 0, time.Local).Add(diff)
188 value.Set(reflect.ValueOf(Date{date.Year(), date.Month(), date.Day()}))
189}
190
191func (s dateSerializer) ReadWithTypeInfo(ctx *ReadContext, refMode RefMode, typeInfo *TypeInfo, value reflect.Value) {
192 s.Read(ctx, refMode, false, false, value)

Callers 1

ReadMethod · 0.95

Calls 13

DateFromEpochDayFunction · 0.85
FromErrorFunction · 0.85
DurationMethod · 0.80
ErrMethod · 0.45
IsXlangMethod · 0.45
TypeResolverMethod · 0.45
ReadVarint64Method · 0.45
HasErrorMethod · 0.45
SetErrorMethod · 0.45
SetMethod · 0.45
ReadInt32Method · 0.45
AddMethod · 0.45

Tested by

no test coverage detected