(post: Post)
| 8 | import { apiClient, setTypedInfiniteQueriesData } from '@/utils/queryClient' |
| 9 | |
| 10 | export function prependNewPost<Page extends { data: Post[] }>(post: Post) { |
| 11 | return (old: InfiniteData<Page> | undefined): InfiniteData<Page> | undefined => { |
| 12 | if (!old) return old |
| 13 | |
| 14 | const [firstPage, ...pages] = old.pages |
| 15 | |
| 16 | return { |
| 17 | ...old, |
| 18 | pages: [ |
| 19 | { |
| 20 | ...firstPage, |
| 21 | data: [post, ...firstPage.data] |
| 22 | }, |
| 23 | ...pages |
| 24 | ] |
| 25 | } |
| 26 | } |
| 27 | } |
| 28 | |
| 29 | export function bumpPostToTop<Page extends { data: Post[] }>(post: Post) { |
| 30 | return (old: InfiniteData<Page> | undefined): InfiniteData<Page> | undefined => { |
no outgoing calls
no test coverage detected