lbry-desktop/flow-typed/content.js

35 lines
1.3 KiB
JavaScript
Raw Normal View History

// @flow
2022-04-01 10:02:03 +02:00
declare type ContentState = {
primaryUri: ?string,
2022-05-18 08:31:49 +02:00
playingUri: { uri?: string },
2022-04-01 10:02:03 +02:00
positions: { [string]: { [string]: number } }, // claimId: { outpoint: position }
history: Array<WatchHistory>,
recommendationId: { [string]: string }, // claimId: recommendationId
2022-05-18 08:31:49 +02:00
recommendationParentId: { [string]: string }, // claimId: referrerId
recommendationUrls: { [string]: Array<string> }, // claimId: [lbryUrls...]
recommendationClicks: { [string]: Array<number> }, // "claimId": [clicked indices...]
loopList?: { collectionId: string, loop: boolean },
shuffleList?: { collectionId: string, newUrls: Array<string> | boolean },
// TODO: it's confusing for newUrls to be a boolean --------- ^^^
// It can/should be '?Array<string>` instead -- set it to null, then clients
// can cast it to a boolean. That, or rename the variable to `shuffle` if you
// don't care about the URLs.
lastViewedAnnouncement: ?string, // undefined = not seen in wallet.
recsysEntries: { [ClaimId]: RecsysEntry }, // Persistent shadow copy. The main one resides in RecSys.
2022-04-01 10:02:03 +02:00
};
declare type WatchHistory = {
uri: string,
lastViewed: number,
};
declare type PlayingUri = {
uri?: ?string,
primaryUri?: string,
pathname?: string,
commentId?: string,
collectionId?: ?string,
source?: string,
};