( data: InfiniteData<AnyFeedData>, id: string, findBySharedPost = false, )
| 644 | }; |
| 645 | |
| 646 | export const findIndexOfPostInData = ( |
| 647 | data: InfiniteData<AnyFeedData>, |
| 648 | id: string, |
| 649 | findBySharedPost = false, |
| 650 | ): { pageIndex: number; index: number } => { |
| 651 | for (let pageIndex = 0; pageIndex < data.pages.length; pageIndex += 1) { |
| 652 | const page = data.pages[pageIndex]; |
| 653 | for (let index = 0; index < page.page.edges.length; index += 1) { |
| 654 | const item = page.page.edges[index]; |
| 655 | const post = getFeedApiItemPost(item.node); |
| 656 | |
| 657 | if (post?.id === id) { |
| 658 | return { pageIndex, index }; |
| 659 | } |
| 660 | if ( |
| 661 | post && |
| 662 | findBySharedPost && |
| 663 | post.type === PostType.Share && |
| 664 | post.sharedPost?.id === id |
| 665 | ) { |
| 666 | return { pageIndex, index }; |
| 667 | } |
| 668 | } |
| 669 | } |
| 670 | return { pageIndex: -1, index: -1 }; |
| 671 | }; |
| 672 | |
| 673 | export const updatePostCache = ( |
| 674 | client: QueryClient, |
no test coverage detected