diff options
author | Hailey <me@haileyok.com> | 2024-08-23 13:20:05 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-23 13:20:05 -0700 |
commit | 1f657b3ac56aa9ca46ff00d6ec2bbca560d19cfc (patch) | |
tree | 1b2050a5824bf70d7792895f79c3f2890ea1ce14 /src/state/queries/post-thread.ts | |
parent | 425dd5f27feade1abff7a8e882929ca112376210 (diff) | |
download | voidsky-1f657b3ac56aa9ca46ff00d6ec2bbca560d19cfc.tar.zst |
fix `findAll*` type in `post-thread` (#4986)
Diffstat (limited to 'src/state/queries/post-thread.ts')
-rw-r--r-- | src/state/queries/post-thread.ts | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/state/queries/post-thread.ts b/src/state/queries/post-thread.ts index 9d650024a..83ca60c2a 100644 --- a/src/state/queries/post-thread.ts +++ b/src/state/queries/post-thread.ts @@ -85,13 +85,15 @@ export type ThreadNode = export type ThreadModerationCache = WeakMap<ThreadNode, ModerationDecision> +export type PostThreadQueryData = { + thread: ThreadNode + threadgate?: AppBskyFeedDefs.ThreadgateView +} + export function usePostThreadQuery(uri: string | undefined) { const queryClient = useQueryClient() const agent = useAgent() - return useQuery< - {thread: ThreadNode; threadgate?: AppBskyFeedDefs.ThreadgateView}, - Error - >({ + return useQuery<PostThreadQueryData, Error>({ gcTime: 0, queryKey: RQKEY(uri || ''), async queryFn() { @@ -384,14 +386,15 @@ export function* findAllPostsInQueryData( ): Generator<ThreadNode, void> { const atUri = new AtUri(uri) - const queryDatas = queryClient.getQueriesData<ThreadNode>({ + const queryDatas = queryClient.getQueriesData<PostThreadQueryData>({ queryKey: [RQKEY_ROOT], }) for (const [_queryKey, queryData] of queryDatas) { if (!queryData) { continue } - for (const item of traverseThread(queryData)) { + const {thread} = queryData + for (const item of traverseThread(thread)) { if (item.type === 'post' && didOrHandleUriMatches(atUri, item.post)) { const placeholder = threadNodeToPlaceholderThread(item) if (placeholder) { @@ -423,14 +426,15 @@ export function* findAllProfilesInQueryData( queryClient: QueryClient, did: string, ): Generator<AppBskyActorDefs.ProfileView, void> { - const queryDatas = queryClient.getQueriesData<ThreadNode>({ + const queryDatas = queryClient.getQueriesData<PostThreadQueryData>({ queryKey: [RQKEY_ROOT], }) for (const [_queryKey, queryData] of queryDatas) { if (!queryData) { continue } - for (const item of traverseThread(queryData)) { + const {thread} = queryData + for (const item of traverseThread(thread)) { if (item.type === 'post' && item.post.author.did === did) { yield item.post.author } |