Methods
(static) fetchRowItems(req, requestId) → {dynamic}
The items a Home row's request answered with, or invalid when it did not answer. Logs why at warn, once: the row's failure tile says only that it failed, so the log is where the cause lives (timeout, HTTP status, unreadable reply).
Every Home row endpoint answers with a query result ({ Items: [...] }), read through apiResponse.listFrom, so a 200 whose body holds no list is a failure too, not an empty row.
| Name | Type | Description |
|---|---|---|
req | dynamic | the request AA, or invalid when it could not be built |
requestId | string | the pool request id, also the log's label |
an roArray of BaseItemDto AAs (possibly empty), or invalid
- Type:
- dynamic
(static) init() → {void}
- Type:
- void
(static) keepStartedSeries(items, specialsReq, specialsPort) → {object}
Drops the Next Up items whose series has no watched regular episode (classifyNextUpSeries).
The played-specials lookup was sent alongside Next Up (specialsReq). Its answer splits the series (planNextUpSeriesLookups), so the count lookups and the exact per-series checks go out together and only one round of requests waits after Next Up's. The Next Up fetch before this blocked on the pool, so the pool is up for apiPipeline.
The whole filter gets one request's wait (timeouts.API_WAIT_MS), shared by collecting the specials and the round, so a slow server holds the row back by that much at most. A lookup with no answer, including the specials when they could not be sent early, keeps the items it would have judged.
| Name | Type | Description |
|---|---|---|
items | object | |
specialsReq | dynamic | |
specialsPort | object |
- Type:
- object
(static) loadItems() → {void}
- Type:
- void
(static) statusOf(items) → {string}
status for a Home row load from what fetchRowItems returned.
| Name | Type | Description |
|---|---|---|
items | dynamic |
- Type:
- string