@@ -50,7 +50,9 @@ export class Issue extends Entity {
50
50
51
51
export const issueQuery = new RestEndpoint ({
52
52
urlPrefix: ' https://api.github.com' ,
53
- path: ' /search/issues\\ ?q=:q?%20repo\\ ::owner/:repo&page=:page?' ,
53
+ path: ' /search/issues' ,
54
+ searchParams: {} as { q: string },
55
+ paginationField: ' page' ,
54
56
schema: {
55
57
incomplete_results: false ,
56
58
items: new schema .Collection ([Issue ]),
@@ -63,8 +65,9 @@ export const issueQuery = new RestEndpoint({
63
65
import { useSuspense } from ' @data-client/react' ;
64
66
import { issueQuery } from ' ./IssueQuery' ;
65
67
66
- function IssueList({ q , owner , repo }) {
67
- const response = useSuspense (issueQuery , { q , owner , repo });
68
+ function IssueList({ query , owner , repo }) {
69
+ const q = ` ${query } repo:${owner }/${repo } ` ;
70
+ const response = useSuspense (issueQuery , { q });
68
71
return (
69
72
<div >
70
73
<small >{ response .total_count } results</small >
@@ -98,7 +101,7 @@ export default function SearchIssues() {
98
101
{ isPending ? ' ...' : ' ' }
99
102
</label >
100
103
<AsyncBoundary fallback = { <div >searching...</div >} >
101
- <IssueList q = { debouncedQuery } owner = " facebook" repo = " react" />
104
+ <IssueList query = { debouncedQuery } owner = " facebook" repo = " react" />
102
105
</AsyncBoundary >
103
106
</div >
104
107
);
@@ -111,9 +114,5 @@ render(<SearchIssues />);
111
114
## Types
112
115
113
116
``` typescript
114
- function useDebounce<T >(
115
- value : T ,
116
- delay : number ,
117
- updatable ? : boolean ,
118
- ): T ;
117
+ function useDebounce<T >(value : T , delay : number , updatable ? : boolean ): T ;
119
118
```
0 commit comments