about summary refs log tree commit diff
diff options
context:
space:
mode:
authorHailey <me@haileyok.com>2024-08-23 13:20:05 -0700
committerGitHub <noreply@github.com>2024-08-23 13:20:05 -0700
commit1f657b3ac56aa9ca46ff00d6ec2bbca560d19cfc (patch)
tree1b2050a5824bf70d7792895f79c3f2890ea1ce14
parent425dd5f27feade1abff7a8e882929ca112376210 (diff)
downloadvoidsky-1f657b3ac56aa9ca46ff00d6ec2bbca560d19cfc.tar.zst
fix `findAll*` type in `post-thread` (#4986)
-rw-r--r--src/state/queries/post-thread.ts20
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
       }