28 lines
570 B
TypeScript

export type RowErrorReason =
| "bad-response"
| "missing-author-id"
| "request-failed"
| "timeout";
export type MarketRowState =
| {
authorId: string;
listSeq: number;
state: "loading";
}
| {
authorId: string;
listSeq: number;
personalVideoAfterSearchRate: string;
singleVideoAfterSearchRate: string;
source: "cache" | "network";
state: "success";
}
| {
authorId: string | null;
listSeq: number;
reason: RowErrorReason;
retryable: boolean;
state: "error";
};