@tiledev/sdk-apptile-live-selling 0.16.0 → 0.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/attribution.d.ts +2 -16
- package/dist/attribution.d.ts.map +1 -1
- package/dist/attribution.js +4 -10
- package/dist/attribution.js.map +1 -1
- package/dist/auctions.d.ts.map +1 -1
- package/dist/auctions.js +11 -42
- package/dist/auctions.js.map +1 -1
- package/dist/cartAttributes.d.ts +0 -10
- package/dist/cartAttributes.d.ts.map +1 -1
- package/dist/cartAttributes.js +1 -20
- package/dist/cartAttributes.js.map +1 -1
- package/dist/client.d.ts +2 -51
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +23 -123
- package/dist/client.js.map +1 -1
- package/dist/clips.d.ts +1 -12
- package/dist/clips.d.ts.map +1 -1
- package/dist/clips.js +6 -114
- package/dist/clips.js.map +1 -1
- package/dist/commentLinks.d.ts +0 -29
- package/dist/commentLinks.d.ts.map +1 -1
- package/dist/commentLinks.js.map +1 -1
- package/dist/engine.native.d.ts.map +1 -1
- package/dist/engine.native.js +845 -17
- package/dist/engine.native.js.map +1 -1
- package/dist/index.d.ts +4 -48
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -240
- package/dist/index.js.map +1 -1
- package/dist/polls.d.ts.map +1 -1
- package/dist/polls.js +0 -3
- package/dist/polls.js.map +1 -1
- package/dist/react/LiveSellingProvider.d.ts +1 -54
- package/dist/react/LiveSellingProvider.d.ts.map +1 -1
- package/dist/react/LiveSellingProvider.js +3 -60
- package/dist/react/LiveSellingProvider.js.map +1 -1
- package/dist/react/LiveVideoTarget.d.ts.map +1 -1
- package/dist/react/LiveVideoTarget.js +3 -41
- package/dist/react/LiveVideoTarget.js.map +1 -1
- package/dist/react/index.d.ts +3 -30
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +1 -79
- package/dist/react/index.js.map +1 -1
- package/dist/react/index.web.d.ts +32 -36
- package/dist/react/index.web.d.ts.map +1 -1
- package/dist/react/index.web.js +122 -102
- package/dist/react/index.web.js.map +1 -1
- package/dist/react/useAuctionBidGate.d.ts +6 -62
- package/dist/react/useAuctionBidGate.d.ts.map +1 -1
- package/dist/react/useAuctionBidGate.js +27 -228
- package/dist/react/useAuctionBidGate.js.map +1 -1
- package/dist/react/useAuctionWins.d.ts +4 -14
- package/dist/react/useAuctionWins.d.ts.map +1 -1
- package/dist/react/useAuctionWins.js +5 -16
- package/dist/react/useAuctionWins.js.map +1 -1
- package/dist/react/useClips.d.ts +1 -7
- package/dist/react/useClips.d.ts.map +1 -1
- package/dist/react/useClips.js +7 -20
- package/dist/react/useClips.js.map +1 -1
- package/dist/react/useLiveSession.d.ts +3 -15
- package/dist/react/useLiveSession.d.ts.map +1 -1
- package/dist/react/useLiveSession.js +199 -612
- package/dist/react/useLiveSession.js.map +1 -1
- package/dist/react/useLiveStreams.d.ts.map +1 -1
- package/dist/react/useLiveStreams.js +2 -6
- package/dist/react/useLiveStreams.js.map +1 -1
- package/dist/react/useOngoingLive.d.ts +0 -1
- package/dist/react/useOngoingLive.d.ts.map +1 -1
- package/dist/react/useOngoingLive.js +1 -7
- package/dist/react/useOngoingLive.js.map +1 -1
- package/dist/react/useReplays.d.ts +0 -12
- package/dist/react/useReplays.d.ts.map +1 -1
- package/dist/react/useReplays.js +24 -56
- package/dist/react/useReplays.js.map +1 -1
- package/dist/react/useStreamInfo.d.ts +2 -13
- package/dist/react/useStreamInfo.d.ts.map +1 -1
- package/dist/react/useStreamInfo.js +8 -36
- package/dist/react/useStreamInfo.js.map +1 -1
- package/dist/replays.d.ts +0 -14
- package/dist/replays.d.ts.map +1 -1
- package/dist/replays.js +22 -68
- package/dist/replays.js.map +1 -1
- package/dist/session.d.ts +6 -39
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +22 -209
- package/dist/session.js.map +1 -1
- package/dist/sessionTypes.d.ts +18 -217
- package/dist/sessionTypes.d.ts.map +1 -1
- package/dist/sessionTypes.js +1 -2
- package/dist/sessionTypes.js.map +1 -1
- package/dist/streams.d.ts +1 -27
- package/dist/streams.d.ts.map +1 -1
- package/dist/streams.js +21 -84
- package/dist/streams.js.map +1 -1
- package/dist/types.d.ts +10 -288
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -2
- package/dist/types.js.map +1 -1
- package/dist/wire.d.ts +0 -31
- package/dist/wire.d.ts.map +1 -1
- package/dist/wire.js +0 -25
- package/dist/wire.js.map +1 -1
- package/dist/zego.d.ts +1 -3
- package/dist/zego.d.ts.map +1 -1
- package/dist/zego.js +1 -1
- package/package.json +1 -1
- package/dist/auctionComments.d.ts +0 -25
- package/dist/auctionComments.d.ts.map +0 -1
- package/dist/auctionComments.js +0 -28
- package/dist/auctionComments.js.map +0 -1
- package/dist/auctionRules.d.ts +0 -77
- package/dist/auctionRules.d.ts.map +0 -1
- package/dist/auctionRules.js +0 -107
- package/dist/auctionRules.js.map +0 -1
- package/dist/cartExtension.d.ts +0 -39
- package/dist/cartExtension.d.ts.map +0 -1
- package/dist/cartExtension.js +0 -51
- package/dist/cartExtension.js.map +0 -1
- package/dist/checkoutRefused.d.ts +0 -9
- package/dist/checkoutRefused.d.ts.map +0 -1
- package/dist/checkoutRefused.js +0 -16
- package/dist/checkoutRefused.js.map +0 -1
- package/dist/clipsPage.d.ts +0 -29
- package/dist/clipsPage.d.ts.map +0 -1
- package/dist/clipsPage.js +0 -49
- package/dist/clipsPage.js.map +0 -1
- package/dist/commentHistory.d.ts +0 -70
- package/dist/commentHistory.d.ts.map +0 -1
- package/dist/commentHistory.js +0 -133
- package/dist/commentHistory.js.map +0 -1
- package/dist/commentLinkCards.d.ts +0 -11
- package/dist/commentLinkCards.d.ts.map +0 -1
- package/dist/commentLinkCards.js +0 -70
- package/dist/commentLinkCards.js.map +0 -1
- package/dist/giveawayPrize.d.ts +0 -13
- package/dist/giveawayPrize.d.ts.map +0 -1
- package/dist/giveawayPrize.js +0 -18
- package/dist/giveawayPrize.js.map +0 -1
- package/dist/giveawayPrizeLines.d.ts +0 -120
- package/dist/giveawayPrizeLines.d.ts.map +0 -1
- package/dist/giveawayPrizeLines.js +0 -97
- package/dist/giveawayPrizeLines.js.map +0 -1
- package/dist/giveawayPrizes.d.ts +0 -20
- package/dist/giveawayPrizes.d.ts.map +0 -1
- package/dist/giveawayPrizes.js +0 -50
- package/dist/giveawayPrizes.js.map +0 -1
- package/dist/giveawayRoster.d.ts +0 -53
- package/dist/giveawayRoster.d.ts.map +0 -1
- package/dist/giveawayRoster.js +0 -93
- package/dist/giveawayRoster.js.map +0 -1
- package/dist/heldComments.d.ts +0 -40
- package/dist/heldComments.d.ts.map +0 -1
- package/dist/heldComments.js +0 -75
- package/dist/heldComments.js.map +0 -1
- package/dist/hiddenShows.d.ts +0 -44
- package/dist/hiddenShows.d.ts.map +0 -1
- package/dist/hiddenShows.js +0 -53
- package/dist/hiddenShows.js.map +0 -1
- package/dist/linkLots.d.ts +0 -64
- package/dist/linkLots.d.ts.map +0 -1
- package/dist/linkLots.js +0 -84
- package/dist/linkLots.js.map +0 -1
- package/dist/liveHaptics.d.ts +0 -7
- package/dist/liveHaptics.d.ts.map +0 -1
- package/dist/liveHaptics.js +0 -11
- package/dist/liveHaptics.js.map +0 -1
- package/dist/liveHaptics.native.d.ts +0 -7
- package/dist/liveHaptics.native.d.ts.map +0 -1
- package/dist/liveHaptics.native.js +0 -12
- package/dist/liveHaptics.native.js.map +0 -1
- package/dist/livePages.d.ts +0 -176
- package/dist/livePages.d.ts.map +0 -1
- package/dist/livePages.js +0 -216
- package/dist/livePages.js.map +0 -1
- package/dist/liveRoom.d.ts +0 -21
- package/dist/liveRoom.d.ts.map +0 -1
- package/dist/liveRoom.js +0 -28
- package/dist/liveRoom.js.map +0 -1
- package/dist/liveShow.d.ts +0 -65
- package/dist/liveShow.d.ts.map +0 -1
- package/dist/liveShow.js +0 -65
- package/dist/liveShow.js.map +0 -1
- package/dist/missedPolls.d.ts +0 -27
- package/dist/missedPolls.d.ts.map +0 -1
- package/dist/missedPolls.js +0 -16
- package/dist/missedPolls.js.map +0 -1
- package/dist/pageOptions.d.ts +0 -149
- package/dist/pageOptions.d.ts.map +0 -1
- package/dist/pageOptions.js +0 -123
- package/dist/pageOptions.js.map +0 -1
- package/dist/pageTypes.d.ts +0 -185
- package/dist/pageTypes.d.ts.map +0 -1
- package/dist/pageTypes.js +0 -3
- package/dist/pageTypes.js.map +0 -1
- package/dist/phoneTaps.d.ts +0 -25
- package/dist/phoneTaps.d.ts.map +0 -1
- package/dist/phoneTaps.js +0 -47
- package/dist/phoneTaps.js.map +0 -1
- package/dist/pipWindow.d.ts +0 -85
- package/dist/pipWindow.d.ts.map +0 -1
- package/dist/pipWindow.js +0 -88
- package/dist/pipWindow.js.map +0 -1
- package/dist/react/clocks.d.ts +0 -29
- package/dist/react/clocks.d.ts.map +0 -1
- package/dist/react/clocks.js +0 -124
- package/dist/react/clocks.js.map +0 -1
- package/dist/react/navigation.d.ts +0 -13
- package/dist/react/navigation.d.ts.map +0 -1
- package/dist/react/navigation.js +0 -7
- package/dist/react/navigation.js.map +0 -1
- package/dist/react/platformSession.d.ts +0 -16
- package/dist/react/platformSession.d.ts.map +0 -1
- package/dist/react/platformSession.js +0 -28
- package/dist/react/platformSession.js.map +0 -1
- package/dist/react/platformSession.web.d.ts +0 -35
- package/dist/react/platformSession.web.d.ts.map +0 -1
- package/dist/react/platformSession.web.js +0 -148
- package/dist/react/platformSession.web.js.map +0 -1
- package/dist/react/replayPlayer.d.ts +0 -83
- package/dist/react/replayPlayer.d.ts.map +0 -1
- package/dist/react/replayPlayer.js +0 -315
- package/dist/react/replayPlayer.js.map +0 -1
- package/dist/react/share.d.ts +0 -22
- package/dist/react/share.d.ts.map +0 -1
- package/dist/react/share.js +0 -45
- package/dist/react/share.js.map +0 -1
- package/dist/react/shopifyProviders.d.ts +0 -82
- package/dist/react/shopifyProviders.d.ts.map +0 -1
- package/dist/react/shopifyProviders.js +0 -113
- package/dist/react/shopifyProviders.js.map +0 -1
- package/dist/react/showPages.d.ts +0 -106
- package/dist/react/showPages.d.ts.map +0 -1
- package/dist/react/showPages.js +0 -166
- package/dist/react/showPages.js.map +0 -1
- package/dist/react/showPagesOnDevice.d.ts +0 -18
- package/dist/react/showPagesOnDevice.d.ts.map +0 -1
- package/dist/react/showPagesOnDevice.js +0 -31
- package/dist/react/showPagesOnDevice.js.map +0 -1
- package/dist/react/startSignIn.d.ts +0 -3
- package/dist/react/startSignIn.d.ts.map +0 -1
- package/dist/react/startSignIn.js +0 -19
- package/dist/react/startSignIn.js.map +0 -1
- package/dist/react/systemPictureInPicture.d.ts +0 -34
- package/dist/react/systemPictureInPicture.d.ts.map +0 -1
- package/dist/react/systemPictureInPicture.js +0 -93
- package/dist/react/systemPictureInPicture.js.map +0 -1
- package/dist/react/useAccountName.d.ts +0 -8
- package/dist/react/useAccountName.d.ts.map +0 -1
- package/dist/react/useAccountName.js +0 -49
- package/dist/react/useAccountName.js.map +0 -1
- package/dist/react/useClipsPage.d.ts +0 -47
- package/dist/react/useClipsPage.d.ts.map +0 -1
- package/dist/react/useClipsPage.js +0 -130
- package/dist/react/useClipsPage.js.map +0 -1
- package/dist/react/useCommentLinkCards.d.ts +0 -6
- package/dist/react/useCommentLinkCards.d.ts.map +0 -1
- package/dist/react/useCommentLinkCards.js +0 -67
- package/dist/react/useCommentLinkCards.js.map +0 -1
- package/dist/react/useFeaturedClip.d.ts +0 -15
- package/dist/react/useFeaturedClip.d.ts.map +0 -1
- package/dist/react/useFeaturedClip.js +0 -52
- package/dist/react/useFeaturedClip.js.map +0 -1
- package/dist/react/useGiveawayEntry.d.ts +0 -59
- package/dist/react/useGiveawayEntry.d.ts.map +0 -1
- package/dist/react/useGiveawayEntry.js +0 -170
- package/dist/react/useGiveawayEntry.js.map +0 -1
- package/dist/react/useGiveawayPrize.d.ts +0 -12
- package/dist/react/useGiveawayPrize.d.ts.map +0 -1
- package/dist/react/useGiveawayPrize.js +0 -53
- package/dist/react/useGiveawayPrize.js.map +0 -1
- package/dist/react/useGiveawayPrizes.d.ts +0 -4
- package/dist/react/useGiveawayPrizes.d.ts.map +0 -1
- package/dist/react/useGiveawayPrizes.js +0 -58
- package/dist/react/useGiveawayPrizes.js.map +0 -1
- package/dist/react/useHiddenShows.d.ts +0 -10
- package/dist/react/useHiddenShows.d.ts.map +0 -1
- package/dist/react/useHiddenShows.js +0 -30
- package/dist/react/useHiddenShows.js.map +0 -1
- package/dist/react/useKeepScreenAwake.d.ts +0 -2
- package/dist/react/useKeepScreenAwake.d.ts.map +0 -1
- package/dist/react/useKeepScreenAwake.js +0 -34
- package/dist/react/useKeepScreenAwake.js.map +0 -1
- package/dist/react/useLiveAuction.d.ts +0 -106
- package/dist/react/useLiveAuction.d.ts.map +0 -1
- package/dist/react/useLiveAuction.js +0 -255
- package/dist/react/useLiveAuction.js.map +0 -1
- package/dist/react/useLiveChat.d.ts +0 -110
- package/dist/react/useLiveChat.d.ts.map +0 -1
- package/dist/react/useLiveChat.js +0 -230
- package/dist/react/useLiveChat.js.map +0 -1
- package/dist/react/useLiveGiveawaysAndPolls.d.ts +0 -95
- package/dist/react/useLiveGiveawaysAndPolls.d.ts.map +0 -1
- package/dist/react/useLiveGiveawaysAndPolls.js +0 -225
- package/dist/react/useLiveGiveawaysAndPolls.js.map +0 -1
- package/dist/react/useLivePage.d.ts +0 -136
- package/dist/react/useLivePage.d.ts.map +0 -1
- package/dist/react/useLivePage.js +0 -319
- package/dist/react/useLivePage.js.map +0 -1
- package/dist/react/useLiveShop.d.ts +0 -97
- package/dist/react/useLiveShop.d.ts.map +0 -1
- package/dist/react/useLiveShop.js +0 -197
- package/dist/react/useLiveShop.js.map +0 -1
- package/dist/react/useLiveShow.d.ts +0 -3
- package/dist/react/useLiveShow.d.ts.map +0 -1
- package/dist/react/useLiveShow.js +0 -21
- package/dist/react/useLiveShow.js.map +0 -1
- package/dist/react/useMySilentAuctionBids.d.ts +0 -29
- package/dist/react/useMySilentAuctionBids.d.ts.map +0 -1
- package/dist/react/useMySilentAuctionBids.js +0 -157
- package/dist/react/useMySilentAuctionBids.js.map +0 -1
- package/dist/react/useReplayPage.d.ts +0 -155
- package/dist/react/useReplayPage.d.ts.map +0 -1
- package/dist/react/useReplayPage.js +0 -580
- package/dist/react/useReplayPage.js.map +0 -1
- package/dist/react/useSilentAuctionLot.d.ts +0 -44
- package/dist/react/useSilentAuctionLot.d.ts.map +0 -1
- package/dist/react/useSilentAuctionLot.js +0 -168
- package/dist/react/useSilentAuctionLot.js.map +0 -1
- package/dist/react/useSilentAuctionLots.d.ts +0 -41
- package/dist/react/useSilentAuctionLots.d.ts.map +0 -1
- package/dist/react/useSilentAuctionLots.js +0 -64
- package/dist/react/useSilentAuctionLots.js.map +0 -1
- package/dist/react/useSilentAuctionRounds.d.ts +0 -15
- package/dist/react/useSilentAuctionRounds.d.ts.map +0 -1
- package/dist/react/useSilentAuctionRounds.js +0 -44
- package/dist/react/useSilentAuctionRounds.js.map +0 -1
- package/dist/replayPages.d.ts +0 -31
- package/dist/replayPages.d.ts.map +0 -1
- package/dist/replayPages.js +0 -34
- package/dist/replayPages.js.map +0 -1
- package/dist/shopifyCommerce.d.ts +0 -204
- package/dist/shopifyCommerce.d.ts.map +0 -1
- package/dist/shopifyCommerce.js +0 -217
- package/dist/shopifyCommerce.js.map +0 -1
- package/dist/shopifyIdentity.d.ts +0 -61
- package/dist/shopifyIdentity.d.ts.map +0 -1
- package/dist/shopifyIdentity.js +0 -61
- package/dist/shopifyIdentity.js.map +0 -1
- package/dist/shopifyIds.d.ts +0 -9
- package/dist/shopifyIds.d.ts.map +0 -1
- package/dist/shopifyIds.js +0 -18
- package/dist/shopifyIds.js.map +0 -1
- package/dist/showCredit.d.ts +0 -89
- package/dist/showCredit.d.ts.map +0 -1
- package/dist/showCredit.js +0 -120
- package/dist/showCredit.js.map +0 -1
- package/dist/showLinks.d.ts +0 -24
- package/dist/showLinks.d.ts.map +0 -1
- package/dist/showLinks.js +0 -23
- package/dist/showLinks.js.map +0 -1
- package/dist/showLots.d.ts +0 -44
- package/dist/showLots.d.ts.map +0 -1
- package/dist/showLots.js +0 -70
- package/dist/showLots.js.map +0 -1
- package/dist/showNames.d.ts +0 -77
- package/dist/showNames.d.ts.map +0 -1
- package/dist/showNames.js +0 -143
- package/dist/showNames.js.map +0 -1
- package/dist/showPages.d.ts +0 -56
- package/dist/showPages.d.ts.map +0 -1
- package/dist/showPages.js +0 -48
- package/dist/showPages.js.map +0 -1
- package/dist/silentAuctionFeed.d.ts +0 -49
- package/dist/silentAuctionFeed.d.ts.map +0 -1
- package/dist/silentAuctionFeed.js +0 -242
- package/dist/silentAuctionFeed.js.map +0 -1
- package/dist/silentAuctionRules.d.ts +0 -253
- package/dist/silentAuctionRules.d.ts.map +0 -1
- package/dist/silentAuctionRules.js +0 -489
- package/dist/silentAuctionRules.js.map +0 -1
- package/dist/silentAuctions.d.ts +0 -65
- package/dist/silentAuctions.d.ts.map +0 -1
- package/dist/silentAuctions.js +0 -272
- package/dist/silentAuctions.js.map +0 -1
- package/dist/storeData.d.ts +0 -16
- package/dist/storeData.d.ts.map +0 -1
- package/dist/storeData.js +0 -19
- package/dist/storeData.js.map +0 -1
- package/dist/ui/BubbleFrame.d.ts +0 -38
- package/dist/ui/BubbleFrame.d.ts.map +0 -1
- package/dist/ui/BubbleFrame.js +0 -181
- package/dist/ui/BubbleFrame.js.map +0 -1
- package/dist/ui/LiveBubble.d.ts +0 -43
- package/dist/ui/LiveBubble.d.ts.map +0 -1
- package/dist/ui/LiveBubble.js +0 -116
- package/dist/ui/LiveBubble.js.map +0 -1
- package/dist/ui/ReplayBubble.d.ts +0 -23
- package/dist/ui/ReplayBubble.d.ts.map +0 -1
- package/dist/ui/ReplayBubble.js +0 -71
- package/dist/ui/ReplayBubble.js.map +0 -1
- package/dist/ui.d.ts +0 -27
- package/dist/ui.d.ts.map +0 -1
- package/dist/ui.js +0 -34
- package/dist/ui.js.map +0 -1
- package/dist/unreadRoomMessages.d.ts +0 -26
- package/dist/unreadRoomMessages.d.ts.map +0 -1
- package/dist/unreadRoomMessages.js +0 -62
- package/dist/unreadRoomMessages.js.map +0 -1
- package/dist/viewerRules.d.ts +0 -38
- package/dist/viewerRules.d.ts.map +0 -1
- package/dist/viewerRules.js +0 -46
- package/dist/viewerRules.js.map +0 -1
- package/dist/winsAttribution.d.ts +0 -22
- package/dist/winsAttribution.d.ts.map +0 -1
- package/dist/winsAttribution.js +0 -49
- package/dist/winsAttribution.js.map +0 -1
- package/dist/zegoEngine.d.ts +0 -173
- package/dist/zegoEngine.d.ts.map +0 -1
- package/dist/zegoEngine.js +0 -1069
- package/dist/zegoEngine.js.map +0 -1
package/dist/showPages.d.ts
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The rules behind live selling's page models (0.11.0, moved from amore-v2's page hooks), without
|
|
3
|
-
* React: where a list of shows stands, and the auction wins' total. The hooks are in `react/`.
|
|
4
|
-
*/
|
|
5
|
-
/** Where the Live tab's recordings stand, for a page that shows one state at a time. */
|
|
6
|
-
export type ShowListStatus = 'loading' | 'empty' | 'failed' | 'ready';
|
|
7
|
-
export interface ShowListInput {
|
|
8
|
-
/** The recordings' first read has finished (`useReplays().hasRead`). */
|
|
9
|
-
hasRead: boolean;
|
|
10
|
-
/** A read is running. */
|
|
11
|
-
loading: boolean;
|
|
12
|
-
/** How many recordings this viewer can see. */
|
|
13
|
-
shownCount: number;
|
|
14
|
-
/** The archive goes on (`hasMore`). */
|
|
15
|
-
hasMore: boolean;
|
|
16
|
-
/** The last read failed. */
|
|
17
|
-
failed: boolean;
|
|
18
|
-
/** A show is on air: the page is never empty or failed while one is. */
|
|
19
|
-
onAir: boolean;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Everything read so far was left out (shows hidden from this viewer) and the archive goes on: the
|
|
23
|
-
* page reads on by itself rather than say there are no shows.
|
|
24
|
-
*/
|
|
25
|
-
export declare function readsOnPastHidden({ hasRead, shownCount, hasMore, failed }: Omit<ShowListInput, 'loading' | 'onAir'>): boolean;
|
|
26
|
-
/**
|
|
27
|
-
* - `loading`: the first read, a read with nothing shown yet, or reading on past hidden shows.
|
|
28
|
-
* - `empty` / `failed`: nothing to show after reading, kept apart (a retry where there is nothing to
|
|
29
|
-
* show would say the app is broken); never while a show is on air, so the tab never says "No shows
|
|
30
|
-
* yet" over a running show.
|
|
31
|
-
* - `ready`: anything else.
|
|
32
|
-
*/
|
|
33
|
-
export declare function showListStatus(input: ShowListInput): ShowListStatus;
|
|
34
|
-
/**
|
|
35
|
-
* A screen with recordings came back into view: read the first page of recordings again? Not on the
|
|
36
|
-
* first visit (that is `useReplays`' own first read), not while a read is running, and not once the
|
|
37
|
-
* viewer has paged past the first page (a re-read would drop their place). So a show that ended while
|
|
38
|
-
* the shopper was on another screen reaches the list without a pull or a relaunch.
|
|
39
|
-
*/
|
|
40
|
-
export declare function readsRecordingsAgainOnView({ firstVisit, loading, shownCount, pageSize, }: {
|
|
41
|
-
firstVisit: boolean;
|
|
42
|
-
loading: boolean;
|
|
43
|
-
shownCount: number;
|
|
44
|
-
pageSize: number;
|
|
45
|
-
}): boolean;
|
|
46
|
-
/** The sum of the winning bids as money, in the wins' currency (a lot's product's), else `fallbackCurrency`. */
|
|
47
|
-
export declare function winsTotal(rows: readonly {
|
|
48
|
-
winningBid: number;
|
|
49
|
-
product: {
|
|
50
|
-
currencyCode?: string | null;
|
|
51
|
-
};
|
|
52
|
-
}[], fallbackCurrency?: string): {
|
|
53
|
-
amount: string;
|
|
54
|
-
currencyCode: string;
|
|
55
|
-
};
|
|
56
|
-
//# sourceMappingURL=showPages.d.ts.map
|
package/dist/showPages.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"showPages.d.ts","sourceRoot":"","sources":["../src/showPages.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wFAAwF;AACxF,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEtE,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,OAAO,EAAE,OAAO,CAAC;IACjB,yBAAyB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,4BAA4B;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,wEAAwE;IACxE,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,OAAO,CAE7H;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc,CAKnE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,UAAU,EACV,OAAO,EACP,UAAU,EACV,QAAQ,GACT,EAAE;IACD,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAEV;AAED,gHAAgH;AAChH,wBAAgB,SAAS,CACvB,IAAI,EAAE,SAAS;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;CAAE,EAAE,EAClF,gBAAgB,SAAQ,GACvB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAG1C"}
|
package/dist/showPages.js
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* The rules behind live selling's page models (0.11.0, moved from amore-v2's page hooks), without
|
|
4
|
-
* React: where a list of shows stands, and the auction wins' total. The hooks are in `react/`.
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.readsOnPastHidden = readsOnPastHidden;
|
|
8
|
-
exports.showListStatus = showListStatus;
|
|
9
|
-
exports.readsRecordingsAgainOnView = readsRecordingsAgainOnView;
|
|
10
|
-
exports.winsTotal = winsTotal;
|
|
11
|
-
/**
|
|
12
|
-
* Everything read so far was left out (shows hidden from this viewer) and the archive goes on: the
|
|
13
|
-
* page reads on by itself rather than say there are no shows.
|
|
14
|
-
*/
|
|
15
|
-
function readsOnPastHidden({ hasRead, shownCount, hasMore, failed }) {
|
|
16
|
-
return shownCount === 0 && hasRead && hasMore && !failed;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* - `loading`: the first read, a read with nothing shown yet, or reading on past hidden shows.
|
|
20
|
-
* - `empty` / `failed`: nothing to show after reading, kept apart (a retry where there is nothing to
|
|
21
|
-
* show would say the app is broken); never while a show is on air, so the tab never says "No shows
|
|
22
|
-
* yet" over a running show.
|
|
23
|
-
* - `ready`: anything else.
|
|
24
|
-
*/
|
|
25
|
-
function showListStatus(input) {
|
|
26
|
-
const firstLoad = !input.hasRead || (input.loading && input.shownCount === 0) || readsOnPastHidden(input);
|
|
27
|
-
if (firstLoad)
|
|
28
|
-
return 'loading';
|
|
29
|
-
if (input.shownCount > 0 || input.onAir)
|
|
30
|
-
return 'ready';
|
|
31
|
-
return input.failed ? 'failed' : 'empty';
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* A screen with recordings came back into view: read the first page of recordings again? Not on the
|
|
35
|
-
* first visit (that is `useReplays`' own first read), not while a read is running, and not once the
|
|
36
|
-
* viewer has paged past the first page (a re-read would drop their place). So a show that ended while
|
|
37
|
-
* the shopper was on another screen reaches the list without a pull or a relaunch.
|
|
38
|
-
*/
|
|
39
|
-
function readsRecordingsAgainOnView({ firstVisit, loading, shownCount, pageSize, }) {
|
|
40
|
-
return !firstVisit && !loading && shownCount <= pageSize;
|
|
41
|
-
}
|
|
42
|
-
/** The sum of the winning bids as money, in the wins' currency (a lot's product's), else `fallbackCurrency`. */
|
|
43
|
-
function winsTotal(rows, fallbackCurrency = 'USD') {
|
|
44
|
-
var _a;
|
|
45
|
-
const total = rows.reduce((sum, row) => sum + (Number.isFinite(row.winningBid) ? row.winningBid : 0), 0);
|
|
46
|
-
return { amount: total.toFixed(2), currencyCode: ((_a = rows[0]) === null || _a === void 0 ? void 0 : _a.product.currencyCode) || fallbackCurrency };
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=showPages.js.map
|
package/dist/showPages.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"showPages.js","sourceRoot":"","sources":["../src/showPages.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAwBH,8CAEC;AASD,wCAKC;AAQD,gEAYC;AAGD,8BAMC;AAjDD;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAA4C;IAClH,OAAO,UAAU,KAAK,CAAC,IAAI,OAAO,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC;AAC3D,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,cAAc,CAAC,KAAoB;IACjD,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC1G,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC;IACxD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,SAAgB,0BAA0B,CAAC,EACzC,UAAU,EACV,OAAO,EACP,UAAU,EACV,QAAQ,GAMT;IACC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,IAAI,UAAU,IAAI,QAAQ,CAAC;AAC3D,CAAC;AAED,gHAAgH;AAChH,SAAgB,SAAS,CACvB,IAAkF,EAClF,gBAAgB,GAAG,KAAK;;IAExB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzG,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAA,MAAA,IAAI,CAAC,CAAC,CAAC,0CAAE,OAAO,CAAC,YAAY,KAAI,gBAAgB,EAAE,CAAC;AACvG,CAAC"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import type { LiveProduct } from './sessionTypes';
|
|
2
|
-
import { type SilentAuctionLot } from './silentAuctionRules';
|
|
3
|
-
/** A lot and its product. */
|
|
4
|
-
export interface SilentAuctionItem<TRaw = unknown> {
|
|
5
|
-
lot: SilentAuctionLot;
|
|
6
|
-
product: LiveProduct<TRaw>;
|
|
7
|
-
}
|
|
8
|
-
export interface SilentAuctionFeedState<TRaw = unknown> {
|
|
9
|
-
items: SilentAuctionItem<TRaw>[];
|
|
10
|
-
/** `loading` until the first page lands (or the budget runs out); `failed` when the list couldn't be read. */
|
|
11
|
-
status: 'idle' | 'loading' | 'ready' | 'failed';
|
|
12
|
-
/** A pull to refresh is running. */
|
|
13
|
-
refreshing: boolean;
|
|
14
|
-
/** Pages past the first are being read in the background. For a list footer, never the spinner. */
|
|
15
|
-
readingAhead: boolean;
|
|
16
|
-
/** The service listed lots that aren't read yet. */
|
|
17
|
-
hasMore: boolean;
|
|
18
|
-
/** The last refresh or poll failed over lots already shown: they stay, but may be out of date (0.16.0). */
|
|
19
|
-
refreshFailed: boolean;
|
|
20
|
-
}
|
|
21
|
-
export interface SilentAuctionFeedOptions {
|
|
22
|
-
/** The service's `current` list (default) or its `upcoming` one. */
|
|
23
|
-
filter?: 'current' | 'upcoming';
|
|
24
|
-
/** The order pages are read in: the service's (default), or by close or open time, soonest first. */
|
|
25
|
-
pageOrder?: 'service' | 'endsAt' | 'startsAt';
|
|
26
|
-
/** Read the pages past the first in the background. Default true; false for a rail that shows one page. */
|
|
27
|
-
readAhead?: boolean;
|
|
28
|
-
/** Keep lots whose product is sold out. Default false. */
|
|
29
|
-
keepSoldOut?: boolean;
|
|
30
|
-
/** Lots per product read. Default 20. */
|
|
31
|
-
pageSize?: number;
|
|
32
|
-
/** How long a load may count as loading. Default 4 000 ms. */
|
|
33
|
-
firstPaintBudgetMs?: number;
|
|
34
|
-
}
|
|
35
|
-
export interface SilentAuctionFeed<TRaw = unknown> {
|
|
36
|
-
getState(): SilentAuctionFeedState<TRaw>;
|
|
37
|
-
/** Called on every change; returns the unsubscribe. */
|
|
38
|
-
subscribe(listener: () => void): () => void;
|
|
39
|
-
/** Read the list again from the first page. `userInitiated` shows `refreshing` rather than nothing. */
|
|
40
|
-
load(options?: {
|
|
41
|
-
userInitiated?: boolean;
|
|
42
|
-
}): Promise<void>;
|
|
43
|
-
/** Refresh the shown lots' auction half, and add newly opened ones. */
|
|
44
|
-
poll(): Promise<void>;
|
|
45
|
-
/** The screen went away: drop whatever is running, and stop counting as busy. */
|
|
46
|
-
stop(): void;
|
|
47
|
-
}
|
|
48
|
-
export declare function createSilentAuctionFeed<TRaw = unknown>(options?: SilentAuctionFeedOptions): SilentAuctionFeed<TRaw>;
|
|
49
|
-
//# sourceMappingURL=silentAuctionFeed.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"silentAuctionFeed.d.ts","sourceRoot":"","sources":["../src/silentAuctionFeed.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAU,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGrE,6BAA6B;AAC7B,MAAM,WAAW,iBAAiB,CAAC,IAAI,GAAG,OAAO;IAC/C,GAAG,EAAE,gBAAgB,CAAC;IACtB,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB,CAAC,IAAI,GAAG,OAAO;IACpD,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;IACjC,8GAA8G;IAC9G,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IAChD,oCAAoC;IACpC,UAAU,EAAE,OAAO,CAAC;IACpB,mGAAmG;IACnG,YAAY,EAAE,OAAO,CAAC;IACtB,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,2GAA2G;IAC3G,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,oEAAoE;IACpE,MAAM,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IAChC,qGAAqG;IACrG,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC9C,2GAA2G;IAC3G,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB,CAAC,IAAI,GAAG,OAAO;IAC/C,QAAQ,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACzC,uDAAuD;IACvD,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IAC5C,uGAAuG;IACvG,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,uEAAuE;IACvE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,iFAAiF;IACjF,IAAI,IAAI,IAAI,CAAC;CACd;AAeD,wBAAgB,uBAAuB,CAAC,IAAI,GAAG,OAAO,EAAE,OAAO,GAAE,wBAA6B,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAgMvH"}
|
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createSilentAuctionFeed = createSilentAuctionFeed;
|
|
4
|
-
/**
|
|
5
|
-
* A store's silent-auction lots with their products, read a page at a time (0.12.0, moved from Sparkl's
|
|
6
|
-
* `useAuctionProducts` on 2026-10-17). Framework-free so it is tested in Node; `useSilentAuctionLots`
|
|
7
|
-
* drives it from a screen.
|
|
8
|
-
*
|
|
9
|
-
* - **The first page first:** the service lists every lot in one cheap read; their products are read 20
|
|
10
|
-
* at a time through the commerce adapter (`productsByIds`), and the list is drawn as soon as one page
|
|
11
|
-
* has a product. The rest are read in the background (`readAhead`), one page after another.
|
|
12
|
-
* - **Never a spinner for ever:** after `firstPaintBudgetMs` (4 s) the load stops counting as loading,
|
|
13
|
-
* and `readingAhead` stays up until it lands.
|
|
14
|
-
* - **A poll moves only the auction half:** each shown lot gets its fresh bid, close time and leader,
|
|
15
|
-
* keeping its product; lots that have just opened inside the shown window are added. A failed poll
|
|
16
|
-
* keeps what is shown. A poll stands down while a load or a read-ahead is running.
|
|
17
|
-
* - **Newest wins:** every load starts a new generation, and an answer from an older one is dropped.
|
|
18
|
-
* `stop()` (the screen went away) does the same.
|
|
19
|
-
* - **Sold-out lots are left out** unless `keepSoldOut` (My Bids keeps them: a won lot is usually sold out).
|
|
20
|
-
*/
|
|
21
|
-
const client_1 = require("./client");
|
|
22
|
-
const silentAuctionRules_1 = require("./silentAuctionRules");
|
|
23
|
-
const silentAuctions_1 = require("./silentAuctions");
|
|
24
|
-
const IDLE = { items: [], status: 'idle', refreshing: false, readingAhead: false, hasMore: false, refreshFailed: false };
|
|
25
|
-
/** A product can be bought: one of its variants can be sold (a product with no variants listed counts). */
|
|
26
|
-
function inStock(product) {
|
|
27
|
-
return product.variants.length === 0 || product.variants.some((variant) => variant.available);
|
|
28
|
-
}
|
|
29
|
-
function sortForPages(lots, order) {
|
|
30
|
-
if (!order || order === 'service')
|
|
31
|
-
return lots.slice();
|
|
32
|
-
const field = order === 'startsAt' ? 'startsAt' : 'endsAt';
|
|
33
|
-
return lots.slice().sort((a, b) => { var _a, _b; return ((_a = a[field]) !== null && _a !== void 0 ? _a : Number.MAX_SAFE_INTEGER) - ((_b = b[field]) !== null && _b !== void 0 ? _b : Number.MAX_SAFE_INTEGER); });
|
|
34
|
-
}
|
|
35
|
-
function createSilentAuctionFeed(options = {}) {
|
|
36
|
-
const { filter = 'current', pageOrder = 'service', readAhead = true, keepSoldOut = false, pageSize = 20, firstPaintBudgetMs = 4000 } = options;
|
|
37
|
-
let state = { ...IDLE, items: [] };
|
|
38
|
-
const listeners = new Set();
|
|
39
|
-
let generation = 0;
|
|
40
|
-
let loadingAll = false;
|
|
41
|
-
/** How far through the sorted list the shown items reach, and how long it is. */
|
|
42
|
-
let consumed = 0;
|
|
43
|
-
let total = 0;
|
|
44
|
-
/** The newest read-ahead, so an older one finishing can't put the flag down for a newer one. */
|
|
45
|
-
let readAheadRun = 0;
|
|
46
|
-
/** The newest read-ahead is still reading. */
|
|
47
|
-
let readAheadLive = false;
|
|
48
|
-
function set(next) {
|
|
49
|
-
state = { ...state, ...next, hasMore: consumed < total };
|
|
50
|
-
for (const listener of listeners)
|
|
51
|
-
listener();
|
|
52
|
-
}
|
|
53
|
-
/** One page's lots with their products; a page whose read fails gives none, and is reported. */
|
|
54
|
-
async function withProducts(lots) {
|
|
55
|
-
const commerce = (0, client_1.getCommerce)();
|
|
56
|
-
const ids = [...new Set(lots.filter((lot) => lot.productGid && lot.storeProductId).map((lot) => lot.storeProductId))];
|
|
57
|
-
if (!commerce || ids.length === 0)
|
|
58
|
-
return [];
|
|
59
|
-
let products = [];
|
|
60
|
-
try {
|
|
61
|
-
products = await commerce.productsByIds(ids);
|
|
62
|
-
}
|
|
63
|
-
catch (caught) {
|
|
64
|
-
(0, client_1.getLogger)().error(caught, { at: 'silentAuctionFeed.products', count: ids.length });
|
|
65
|
-
return [];
|
|
66
|
-
}
|
|
67
|
-
const byId = new Map(products.map((product) => [product.storeProductId, product]));
|
|
68
|
-
const items = [];
|
|
69
|
-
for (const lot of lots) {
|
|
70
|
-
const product = lot.storeProductId ? byId.get(lot.storeProductId) : undefined;
|
|
71
|
-
if (!product)
|
|
72
|
-
continue;
|
|
73
|
-
if (!keepSoldOut && !inStock(product))
|
|
74
|
-
continue;
|
|
75
|
-
items.push({ lot, product: product });
|
|
76
|
-
}
|
|
77
|
-
return items;
|
|
78
|
-
}
|
|
79
|
-
async function readRest(mine, sorted) {
|
|
80
|
-
if (!readAhead)
|
|
81
|
-
return;
|
|
82
|
-
const run = ++readAheadRun;
|
|
83
|
-
readAheadLive = true;
|
|
84
|
-
set({ readingAhead: true });
|
|
85
|
-
try {
|
|
86
|
-
while (generation === mine && consumed < sorted.length) {
|
|
87
|
-
const from = consumed;
|
|
88
|
-
const page = sorted.slice(from, from + pageSize);
|
|
89
|
-
const items = await withProducts(page);
|
|
90
|
-
if (generation !== mine)
|
|
91
|
-
return;
|
|
92
|
-
consumed = from + page.length;
|
|
93
|
-
set({ items: state.items.concat(items) });
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
finally {
|
|
97
|
-
if (readAheadRun === run) {
|
|
98
|
-
readAheadLive = false;
|
|
99
|
-
set({ readingAhead: false });
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
async function load({ userInitiated = false } = {}) {
|
|
104
|
-
const mine = ++generation;
|
|
105
|
-
const current = () => generation === mine;
|
|
106
|
-
loadingAll = true;
|
|
107
|
-
if (state.items.length === 0)
|
|
108
|
-
set({ status: 'loading', refreshing: false });
|
|
109
|
-
else if (userInitiated)
|
|
110
|
-
set({ refreshing: true });
|
|
111
|
-
const settle = () => {
|
|
112
|
-
if (!current())
|
|
113
|
-
return;
|
|
114
|
-
loadingAll = false;
|
|
115
|
-
set({ refreshing: false, status: state.status === 'failed' ? 'failed' : 'ready' });
|
|
116
|
-
};
|
|
117
|
-
const run = async () => {
|
|
118
|
-
let lots;
|
|
119
|
-
try {
|
|
120
|
-
lots = await silentAuctions_1.silentAuctions.lots(filter);
|
|
121
|
-
}
|
|
122
|
-
catch (caught) {
|
|
123
|
-
if (!current())
|
|
124
|
-
return;
|
|
125
|
-
(0, client_1.getLogger)().error(caught, { at: 'silentAuctionFeed.load', filter });
|
|
126
|
-
// A refresh over lots already shown keeps them, and says they may be out of date.
|
|
127
|
-
if (state.items.length > 0) {
|
|
128
|
-
set({ refreshFailed: true });
|
|
129
|
-
return;
|
|
130
|
-
}
|
|
131
|
-
consumed = 0;
|
|
132
|
-
total = 0;
|
|
133
|
-
set({ items: [], status: 'failed' });
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
if (!current())
|
|
137
|
-
return;
|
|
138
|
-
set({ refreshFailed: false });
|
|
139
|
-
const sorted = sortForPages(lots, pageOrder);
|
|
140
|
-
if (sorted.length === 0) {
|
|
141
|
-
consumed = 0;
|
|
142
|
-
total = 0;
|
|
143
|
-
set({ items: [], status: 'ready' });
|
|
144
|
-
return;
|
|
145
|
-
}
|
|
146
|
-
// Pages until one has a product: a page of sold-out or unpublished lots draws nothing.
|
|
147
|
-
let items = [];
|
|
148
|
-
let read = 0;
|
|
149
|
-
while (read < sorted.length && items.length === 0) {
|
|
150
|
-
const page = sorted.slice(read, read + pageSize);
|
|
151
|
-
items = items.concat(await withProducts(page));
|
|
152
|
-
if (!current())
|
|
153
|
-
return;
|
|
154
|
-
read += page.length;
|
|
155
|
-
}
|
|
156
|
-
consumed = read;
|
|
157
|
-
total = sorted.length;
|
|
158
|
-
set({ items, status: 'ready' });
|
|
159
|
-
// Not awaited: the load is done the moment the first page can be drawn.
|
|
160
|
-
void readRest(mine, sorted);
|
|
161
|
-
};
|
|
162
|
-
let budget;
|
|
163
|
-
const outOfTime = new Promise((resolve) => {
|
|
164
|
-
budget = setTimeout(() => resolve('budget'), firstPaintBudgetMs);
|
|
165
|
-
});
|
|
166
|
-
const work = run().then(() => 'work');
|
|
167
|
-
const first = await Promise.race([work, outOfTime]);
|
|
168
|
-
if (first === 'budget') {
|
|
169
|
-
if (current() && state.status === 'loading')
|
|
170
|
-
set({ status: 'ready', refreshing: false, readingAhead: true });
|
|
171
|
-
await work;
|
|
172
|
-
// The budget put `readingAhead` up; it comes down here unless a read-ahead has taken it over.
|
|
173
|
-
if (current() && !readAheadLive)
|
|
174
|
-
set({ readingAhead: false });
|
|
175
|
-
}
|
|
176
|
-
clearTimeout(budget);
|
|
177
|
-
settle();
|
|
178
|
-
}
|
|
179
|
-
async function poll() {
|
|
180
|
-
if (loadingAll || state.readingAhead || state.status === 'idle')
|
|
181
|
-
return;
|
|
182
|
-
const mine = generation;
|
|
183
|
-
const current = () => generation === mine && !loadingAll;
|
|
184
|
-
let lots;
|
|
185
|
-
try {
|
|
186
|
-
lots = await silentAuctions_1.silentAuctions.lots(filter);
|
|
187
|
-
}
|
|
188
|
-
catch (caught) {
|
|
189
|
-
// A failed tick keeps what is shown, and says it may be out of date.
|
|
190
|
-
(0, client_1.getLogger)().error(caught, { at: 'silentAuctionFeed.poll', filter });
|
|
191
|
-
if (current() && state.items.length > 0)
|
|
192
|
-
set({ refreshFailed: true });
|
|
193
|
-
return;
|
|
194
|
-
}
|
|
195
|
-
if (!current())
|
|
196
|
-
return;
|
|
197
|
-
if (state.refreshFailed)
|
|
198
|
-
set({ refreshFailed: false });
|
|
199
|
-
const sorted = sortForPages(lots, pageOrder);
|
|
200
|
-
const shown = Math.max(consumed, pageSize);
|
|
201
|
-
const window = sorted.slice(0, shown);
|
|
202
|
-
const byKey = new Map();
|
|
203
|
-
for (const lot of sorted) {
|
|
204
|
-
const key = (0, silentAuctionRules_1.lotKey)(lot);
|
|
205
|
-
if (key)
|
|
206
|
-
byKey.set(key, lot);
|
|
207
|
-
}
|
|
208
|
-
const refreshed = state.items.map((item) => {
|
|
209
|
-
const key = (0, silentAuctionRules_1.lotKey)(item.lot);
|
|
210
|
-
const fresh = key ? byKey.get(key) : undefined;
|
|
211
|
-
return fresh ? { ...item, lot: fresh } : item;
|
|
212
|
-
});
|
|
213
|
-
const known = new Set(state.items.map((item) => (0, silentAuctionRules_1.lotKey)(item.lot)));
|
|
214
|
-
const opened = window.filter((lot) => lot.productGid && !known.has((0, silentAuctionRules_1.lotKey)(lot)));
|
|
215
|
-
const added = opened.length ? await withProducts(opened) : [];
|
|
216
|
-
if (!current())
|
|
217
|
-
return;
|
|
218
|
-
consumed = Math.min(shown, sorted.length);
|
|
219
|
-
total = sorted.length;
|
|
220
|
-
set({ items: refreshed.concat(added), status: 'ready' });
|
|
221
|
-
if (consumed < total)
|
|
222
|
-
void readRest(mine, sorted);
|
|
223
|
-
}
|
|
224
|
-
function stop() {
|
|
225
|
-
generation += 1;
|
|
226
|
-
loadingAll = false;
|
|
227
|
-
readAheadRun += 1;
|
|
228
|
-
readAheadLive = false;
|
|
229
|
-
set({ refreshing: false, readingAhead: false, status: state.status === 'loading' ? 'idle' : state.status });
|
|
230
|
-
}
|
|
231
|
-
return {
|
|
232
|
-
getState: () => state,
|
|
233
|
-
subscribe(listener) {
|
|
234
|
-
listeners.add(listener);
|
|
235
|
-
return () => listeners.delete(listener);
|
|
236
|
-
},
|
|
237
|
-
load,
|
|
238
|
-
poll,
|
|
239
|
-
stop,
|
|
240
|
-
};
|
|
241
|
-
}
|
|
242
|
-
//# sourceMappingURL=silentAuctionFeed.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"silentAuctionFeed.js","sourceRoot":"","sources":["../src/silentAuctionFeed.ts"],"names":[],"mappings":"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"}
|