handle some edge cases
Generate check / check-changes (pull_request) Successful in 41s
Quality / check-changes (pull_request) Successful in 42s
Generate check / verify-generate (pull_request) Successful in 48s
Quality / run-tests (pull_request) Successful in 49s

This commit is contained in:
2026-08-02 16:13:03 +01:00
parent 5fe47746fa
commit 18edd7d171
3 changed files with 75 additions and 5 deletions
+6 -3
View File
@@ -50,6 +50,9 @@ func (fs *FileStore) Load(ctx context.Context) (map[string]*FillerQueue, error)
}
return nil, fmt.Errorf("reading state file: %w", err)
}
if len(data) == 0 {
return make(map[string]*FillerQueue), nil
}
var s State
if err := json.Unmarshal(data, &s); err != nil {
@@ -74,7 +77,7 @@ func (fs *FileStore) Load(ctx context.Context) (map[string]*FillerQueue, error)
for symbol, persisted := range s.Queues {
q := new(FillerQueue)
for _, pf := range persisted {
rec, err := fs.serializer.UnmarshalRecord(ctx, pf.ReaderData)
rec, err := fs.serializer.UnmarshalRecord(ctx, pf.RecordData)
if err != nil {
return nil, fmt.Errorf(
"unmarshalling record for symbol %q: %w", symbol, err,
@@ -98,7 +101,7 @@ func (fs *FileStore) Save(ctx context.Context, queue map[string]*FillerQueue) er
}
for symbol, q := range queue {
if q == nil {
if q == nil || q.Len() == 0 {
continue
}
var persisted []persistedFiller
@@ -109,7 +112,7 @@ func (fs *FileStore) Save(ctx context.Context, queue map[string]*FillerQueue) er
return fmt.Errorf("marshalling record for symbol %q: %w", symbol, err)
}
persisted = append(persisted, persistedFiller{
ReaderData: data,
RecordData: data,
Quantity: f.Quantity(),
Price: f.Price(),
Filled: f.Filled(),