@sudobility/heavymath_indexer_client 0.0.18 → 0.0.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +44 -341
  2. package/dist/hooks/index.d.ts +1 -0
  3. package/dist/hooks/index.d.ts.map +1 -1
  4. package/dist/hooks/index.js +1 -0
  5. package/dist/hooks/index.js.map +1 -1
  6. package/dist/hooks/sports/baseball.d.ts +16 -0
  7. package/dist/hooks/sports/baseball.d.ts.map +1 -0
  8. package/dist/hooks/sports/baseball.js +30 -0
  9. package/dist/hooks/sports/baseball.js.map +1 -0
  10. package/dist/hooks/sports/basketball.d.ts +16 -0
  11. package/dist/hooks/sports/basketball.d.ts.map +1 -0
  12. package/dist/hooks/sports/basketball.js +30 -0
  13. package/dist/hooks/sports/basketball.js.map +1 -0
  14. package/dist/hooks/sports/f1.d.ts +17 -0
  15. package/dist/hooks/sports/f1.d.ts.map +1 -0
  16. package/dist/hooks/sports/f1.js +33 -0
  17. package/dist/hooks/sports/f1.js.map +1 -0
  18. package/dist/hooks/sports/football.d.ts +32 -0
  19. package/dist/hooks/sports/football.d.ts.map +1 -0
  20. package/dist/hooks/sports/football.js +78 -0
  21. package/dist/hooks/sports/football.js.map +1 -0
  22. package/dist/hooks/sports/handball.d.ts +16 -0
  23. package/dist/hooks/sports/handball.d.ts.map +1 -0
  24. package/dist/hooks/sports/handball.js +30 -0
  25. package/dist/hooks/sports/handball.js.map +1 -0
  26. package/dist/hooks/sports/hockey.d.ts +16 -0
  27. package/dist/hooks/sports/hockey.d.ts.map +1 -0
  28. package/dist/hooks/sports/hockey.js +30 -0
  29. package/dist/hooks/sports/hockey.js.map +1 -0
  30. package/dist/hooks/sports/index.d.ts +12 -0
  31. package/dist/hooks/sports/index.d.ts.map +1 -0
  32. package/dist/hooks/sports/index.js +12 -0
  33. package/dist/hooks/sports/index.js.map +1 -0
  34. package/dist/hooks/sports/mma.d.ts +13 -0
  35. package/dist/hooks/sports/mma.d.ts.map +1 -0
  36. package/dist/hooks/sports/mma.js +21 -0
  37. package/dist/hooks/sports/mma.js.map +1 -0
  38. package/dist/hooks/sports/nfl.d.ts +16 -0
  39. package/dist/hooks/sports/nfl.d.ts.map +1 -0
  40. package/dist/hooks/sports/nfl.js +30 -0
  41. package/dist/hooks/sports/nfl.js.map +1 -0
  42. package/dist/hooks/sports/rugby.d.ts +16 -0
  43. package/dist/hooks/sports/rugby.d.ts.map +1 -0
  44. package/dist/hooks/sports/rugby.js +30 -0
  45. package/dist/hooks/sports/rugby.js.map +1 -0
  46. package/dist/hooks/sports/useSportsProxy.d.ts +5 -0
  47. package/dist/hooks/sports/useSportsProxy.d.ts.map +1 -0
  48. package/dist/hooks/sports/useSportsProxy.js +11 -0
  49. package/dist/hooks/sports/useSportsProxy.js.map +1 -0
  50. package/dist/hooks/sports/volleyball.d.ts +15 -0
  51. package/dist/hooks/sports/volleyball.d.ts.map +1 -0
  52. package/dist/hooks/sports/volleyball.js +27 -0
  53. package/dist/hooks/sports/volleyball.js.map +1 -0
  54. package/dist/network/IndexerClient.d.ts +2 -0
  55. package/dist/network/IndexerClient.d.ts.map +1 -1
  56. package/dist/network/IndexerClient.js +19 -2
  57. package/dist/network/IndexerClient.js.map +1 -1
  58. package/dist/types/sports.d.ts +14 -0
  59. package/dist/types/sports.d.ts.map +1 -0
  60. package/dist/types/sports.js +2 -0
  61. package/dist/types/sports.js.map +1 -0
  62. package/dist/types.d.ts +1 -0
  63. package/dist/types.d.ts.map +1 -1
  64. package/dist/types.js.map +1 -1
  65. package/package.json +5 -5
package/README.md CHANGED
@@ -1,380 +1,83 @@
1
- # @heavymath/indexer_client
1
+ # @sudobility/heavymath_indexer_client
2
2
 
3
- TypeScript client library for the Heavymath Prediction Market Indexer API. Provides React hooks, business services, and low-level API clients for querying prediction market data.
4
-
5
- ## Features
6
-
7
- - **Full API Coverage** - All REST endpoints supported
8
- - **React Hooks** - Built-in hooks using @tanstack/react-query
9
- - **Business Services** - High-level services with caching
10
- - **Network Layer** - Low-level API client for custom integrations
11
- - **TypeScript First** - Full type definitions included
12
- - **React Native Compatible** - Works in React Native environments
13
- - **Dependency Injection** - Uses NetworkClient from @sudobility/di
3
+ React and React Native compatible client library for the Heavymath prediction market indexer API. Provides a four-layer architecture (hooks, stores, business, network) with React Query integration, Zustand stores for optimistic updates, and SSE real-time subscriptions.
14
4
 
15
5
  ## Installation
16
6
 
17
7
  ```bash
18
- npm install @heavymath/indexer_client
8
+ bun add @sudobility/heavymath_indexer_client
19
9
  ```
20
10
 
21
- ## Peer Dependencies
11
+ ### Peer Dependencies
22
12
 
23
13
  ```bash
24
- npm install react @tanstack/react-query @sudobility/types @sudobility/heavymath_types @sudobility/di
14
+ bun add react @tanstack/react-query zustand @sudobility/types @sudobility/heavymath_types
25
15
  ```
26
16
 
27
- ## Quick Start
28
-
29
- ### 1. Setup React Query Provider
17
+ ## Usage
30
18
 
31
- ```tsx
32
- import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
19
+ ```typescript
20
+ import { IndexerClient, useActiveMarkets, useFavorites } from '@sudobility/heavymath_indexer_client';
33
21
 
34
- const queryClient = new QueryClient();
22
+ // Create client with injected NetworkClient
23
+ const client = new IndexerClient('http://localhost:42069', networkClient);
35
24
 
36
- function App() {
37
- return (
38
- <QueryClientProvider client={queryClient}>
39
- <YourApp />
40
- </QueryClientProvider>
41
- );
25
+ // Use hooks in React components
26
+ function Dashboard({ wallet }) {
27
+ const { data: markets } = useActiveMarkets(client, 20);
28
+ const { favorites, addFavorite, removeFavorite } = useFavorites(client, wallet);
29
+ // ...
42
30
  }
43
31
  ```
44
32
 
45
- ### 2. Create IndexerClient with NetworkClient
46
-
47
- ```tsx
48
- import { useMemo } from 'react';
49
- import { useNetworkService } from '@sudobility/di'; // Or your DI container
50
- import { IndexerClient } from '@heavymath/indexer_client';
51
-
52
- // Create a hook to provide IndexerClient
53
- function useIndexerClient() {
54
- const networkClient = useNetworkService();
55
- return useMemo(
56
- () => new IndexerClient('http://localhost:42069', networkClient),
57
- [networkClient]
58
- );
59
- }
60
- ```
33
+ ## Available Hooks
61
34
 
62
- ### 3. Use Hooks in Your Components
35
+ ### Markets
36
+ `useMarkets`, `useActiveMarkets`, `useMarket`, `useMarketPredictions`, `useMarketHistory`, `useMarketDetails`
63
37
 
64
- ```tsx
65
- import { useActiveMarkets, useUserPredictions } from '@heavymath/indexer_client';
38
+ ### Predictions
39
+ `usePredictions`, `useUserPredictions`, `useActiveBets`, `usePastBets`, `usePrediction`, `useUserBettingHistory`
66
40
 
67
- function BettorDashboard({ wallet }: { wallet: string }) {
68
- const client = useIndexerClient();
41
+ ### Dealers
42
+ `useDealers`, `useIsDealer`, `useDealerNFTs`, `useDealer`, `useDealerPermissions`, `useDealerMarkets`, `useDealerDashboard`
69
43
 
70
- const { data: markets, isLoading: marketsLoading } = useActiveMarkets(client, 20);
71
- const { data: myBets, isLoading: betsLoading } = useUserPredictions(client, wallet);
44
+ ### Withdrawals / Oracle
45
+ `useWithdrawals`, `useDealerWithdrawals`, `useSystemWithdrawals`, `useMarketWithdrawals`, `useOracleRequests`, `useOracleRequest`, `useMarketOracle`
72
46
 
73
- if (marketsLoading || betsLoading) return <div>Loading...</div>;
47
+ ### Favorites (with Zustand optimistic updates)
48
+ `useFavorites`, `useCategoryFavorites`, `useIsFavorite`
74
49
 
75
- return (
76
- <div>
77
- <h2>Active Markets</h2>
78
- {markets?.data?.map(market => (
79
- <MarketCard key={market.id} market={market} />
80
- ))}
50
+ ### SSE (real-time)
51
+ `useSSE`, `useMarketUpdates`, `useAllMarketUpdates`, `useUserPredictionUpdates`
81
52
 
82
- <h2>My Bets</h2>
83
- {myBets?.data?.map(bet => (
84
- <BetCard key={bet.id} bet={bet} />
85
- ))}
86
- </div>
87
- );
88
- }
89
- ```
53
+ ### Stats
54
+ `useMarketStats`, `useHealth`
90
55
 
91
56
  ## Architecture
92
57
 
93
- The library is organized into three layers:
94
-
95
- ### 1. Network Layer
96
-
97
- Low-level API client that accepts a `NetworkClient` instance.
98
-
99
- ```tsx
100
- import type { NetworkClient } from '@sudobility/types';
101
- import { IndexerClient } from '@heavymath/indexer_client';
102
-
103
- // Get NetworkClient from your DI container
104
- const networkClient: NetworkClient = getNetworkService();
105
-
106
- const client = new IndexerClient('http://localhost:42069', networkClient);
107
-
108
- // Direct API calls
109
- const markets = await client.getMarkets({ status: 'Active', limit: 10 });
110
- const market = await client.getMarket('1-market-123');
111
- ```
112
-
113
- ### 2. Business Layer
114
-
115
- High-level services with caching and business logic.
116
-
117
- ```tsx
118
- import type { NetworkClient } from '@sudobility/types';
119
- import { IndexerService } from '@heavymath/indexer_client';
120
-
121
- const networkClient: NetworkClient = getNetworkService();
122
-
123
- const service = new IndexerService({
124
- indexerUrl: 'http://localhost:42069',
125
- networkClient,
126
- cacheTTL: 5 * 60 * 1000, // 5 minutes (optional)
127
- });
128
-
129
- // Business methods with caching
130
- const activeMarkets = await service.getActiveMarkets(20);
131
- const userPredictions = await service.getUserPredictions('0x123...');
132
- const dealerDashboard = await service.getDealerDashboard('0x123...');
133
- ```
134
-
135
- ### 3. Hooks Layer
136
-
137
- React hooks using @tanstack/react-query for data fetching.
138
-
139
- ```tsx
140
- import { useActiveMarkets, useUserPredictions, useDealerDashboard } from '@heavymath/indexer_client';
141
-
142
- // All hooks take IndexerClient as first parameter
143
- const { data, isLoading, error, refetch } = useActiveMarkets(client, 20);
144
- ```
145
-
146
- ## Common Use Cases
147
-
148
- ### Dealer Dashboard
149
-
150
- ```tsx
151
- import { useDealerDashboard, useIsDealer } from '@heavymath/indexer_client';
152
-
153
- function DealerDashboard({ wallet }: { wallet: string }) {
154
- const client = useIndexerClient();
155
-
156
- const { data: isDealer, isLoading: checkingDealer } = useIsDealer(client, wallet);
157
- const { nfts, markets, isLoading } = useDealerDashboard(client, wallet);
158
-
159
- if (checkingDealer) return <div>Checking dealer status...</div>;
160
- if (!isDealer) return <div>You are not a dealer</div>;
161
- if (isLoading) return <div>Loading dashboard...</div>;
162
-
163
- return (
164
- <div>
165
- <h2>My Dealer NFTs</h2>
166
- {nfts.data?.map(nft => (
167
- <div key={nft.id}>Token #{nft.tokenId}</div>
168
- ))}
169
-
170
- <h2>My Markets</h2>
171
- {markets.data?.map(market => (
172
- <MarketCard key={market.id} market={market} />
173
- ))}
174
- </div>
175
- );
176
- }
177
- ```
178
-
179
- ### Market Details Page
180
-
181
- ```tsx
182
- import { useMarketDetails } from '@heavymath/indexer_client';
183
-
184
- function MarketPage({ marketId }: { marketId: string }) {
185
- const client = useIndexerClient();
186
-
187
- const { market, predictions, history, isLoading, isError } = useMarketDetails(client, marketId);
188
-
189
- if (isLoading) return <div>Loading...</div>;
190
- if (isError) return <div>Error loading market</div>;
191
-
192
- return (
193
- <div>
194
- <h1>{market.data?.data?.title}</h1>
195
- <p>{market.data?.data?.description}</p>
196
- <p>Status: {market.data?.data?.status}</p>
197
-
198
- <h2>Predictions ({predictions.data?.data?.length || 0})</h2>
199
- {predictions.data?.data?.map(pred => (
200
- <div key={pred.id}>
201
- {pred.userAddress}: {pred.percentage}%
202
- </div>
203
- ))}
204
-
205
- <h2>State History</h2>
206
- {history.data?.data?.map(state => (
207
- <div key={state.id}>
208
- {state.fromState} → {state.toState}
209
- </div>
210
- ))}
211
- </div>
212
- );
213
- }
214
58
  ```
215
-
216
- ### Wallet Favorites
217
-
218
- ```tsx
219
- import { useFavorites } from '@heavymath/indexer_client';
220
-
221
- function FavoritesPage({ wallet }: { wallet: string }) {
222
- const client = useIndexerClient();
223
-
224
- const { favorites, isLoading, addFavorite, removeFavorite, refresh } = useFavorites(
225
- client,
226
- wallet
227
- );
228
-
229
- const handleAddFavorite = async () => {
230
- await addFavorite.mutateAsync({
231
- category: 'sports',
232
- subcategory: 'soccer',
233
- type: 'team',
234
- id: 'team-123',
235
- });
236
- };
237
-
238
- const handleRemoveFavorite = async (id: number) => {
239
- await removeFavorite.mutateAsync(id);
240
- };
241
-
242
- if (isLoading) return <div>Loading...</div>;
243
-
244
- return (
245
- <div>
246
- <h2>My Favorites</h2>
247
- {favorites.map(fav => (
248
- <div key={fav.id}>
249
- {fav.category}/{fav.subcategory}: {fav.itemId}
250
- <button onClick={() => handleRemoveFavorite(fav.id)}>Remove</button>
251
- </div>
252
- ))}
253
- <button onClick={handleAddFavorite}>Add Favorite</button>
254
- </div>
255
- );
256
- }
59
+ Hooks (React Query) --> Zustand Stores --> Business Layer (caching) --> Network Layer (HTTP)
257
60
  ```
258
61
 
259
- ## Available Hooks
260
-
261
- ### Market Hooks
262
- - `useMarkets(client, filters?)` - Get all markets with filtering
263
- - `useActiveMarkets(client, limit?)` - Get active markets only
264
- - `useMarket(client, marketId)` - Get specific market
265
- - `useMarketPredictions(client, marketId)` - Get market's predictions
266
- - `useMarketHistory(client, marketId)` - Get market's state history
267
- - `useMarketDetails(client, marketId)` - Get complete market details
268
-
269
- ### Prediction Hooks
270
- - `usePredictions(client, filters?)` - Get predictions with filtering
271
- - `useUserPredictions(client, wallet, filters?)` - Get user's predictions
272
- - `useActiveBets(client, wallet)` - Get user's active bets
273
- - `usePastBets(client, wallet)` - Get user's claimed bets
274
- - `usePrediction(client, predictionId)` - Get specific prediction
275
- - `useUserBettingHistory(client, wallet)` - Get complete betting history
276
-
277
- ### Dealer Hooks
278
- - `useDealers(client, filters?)` - Get dealer NFTs with filtering
279
- - `useIsDealer(client, wallet)` - Check if wallet is a dealer
280
- - `useDealerNFTs(client, wallet)` - Get wallet's dealer NFTs
281
- - `useDealer(client, dealerId)` - Get specific dealer NFT
282
- - `useDealerPermissions(client, dealerId)` - Get dealer's permissions
283
- - `useDealerMarkets(client, dealerId)` - Get dealer's markets
284
- - `useDealerDashboard(client, wallet)` - Get complete dealer dashboard
285
-
286
- ### Withdrawal Hooks
287
- - `useWithdrawals(client, filters?)` - Get withdrawals with filtering
288
- - `useDealerWithdrawals(client, dealer)` - Get dealer's withdrawals
289
- - `useSystemWithdrawals(client)` - Get system withdrawals
290
- - `useMarketWithdrawals(client, marketId)` - Get market's withdrawals
291
-
292
- ### Oracle Hooks
293
- - `useOracleRequests(client, filters?)` - Get oracle requests with filtering
294
- - `useOracleRequest(client, requestId)` - Get specific oracle request
295
- - `useMarketOracle(client, marketId)` - Get market's oracle request
296
- - `useTimedOutOracleRequests(client)` - Get timed out requests
297
- - `usePendingOracleRequests(client)` - Get pending requests
298
-
299
- ### Favorites Hooks
300
- - `useFavorites(client, wallet, filters?)` - Get favorites with add/remove/refresh
301
- - `useCategoryFavorites(client, wallet, category)` - Get favorites by category
302
- - `useIsFavorite(client, wallet, item)` - Check if item is favorited with toggle
303
-
304
- ### Stats Hooks
305
- - `useMarketStats(client)` - Get market statistics
306
- - `useHealth(client)` - Get indexer health status
307
-
308
- ## API Endpoints
309
-
310
- The client supports all REST endpoints:
311
-
312
- - **Markets**: `/api/markets`, `/api/markets/:id`, `/api/markets/:id/predictions`, `/api/markets/:id/history`
313
- - **Predictions**: `/api/predictions`, `/api/predictions/:id`
314
- - **Dealers**: `/api/dealers`, `/api/dealers/:id`, `/api/dealers/:id/permissions`, `/api/dealers/:id/markets`
315
- - **Withdrawals**: `/api/withdrawals`
316
- - **Oracle**: `/api/oracle/requests`, `/api/oracle/requests/:id`
317
- - **Favorites**: `/api/wallet/:address/favorites` (GET, POST, DELETE)
318
- - **Analytics**: `/api/stats/markets`, `/api/health`
319
-
320
- ## TypeScript Support
321
-
322
- Full TypeScript definitions included:
323
-
324
- ```tsx
325
- import type {
326
- // Core types (from @sudobility/heavymath_types)
327
- MarketData,
328
- PredictionData,
329
- DealerNftData,
330
- DealerPermissionData,
331
- MarketStateHistoryData,
332
- FeeWithdrawalData,
333
- OracleRequestData,
334
- WalletFavoriteData,
335
- CreateFavoriteRequest,
336
- // Enums
337
- MarketStatus,
338
- ClaimType,
339
- WithdrawalType,
340
- // Response wrappers (from @sudobility/types)
341
- ApiResponse,
342
- PaginatedResponse,
343
- NetworkClient,
344
- // Filter types
345
- MarketFilters,
346
- PredictionFilters,
347
- DealerFilters,
348
- WithdrawalFilters,
349
- OracleFilters,
350
- WalletFavoritesFilters,
351
- } from '@heavymath/indexer_client';
352
- ```
62
+ All hooks accept `IndexerClient` as their first parameter. SSE hooks accept an endpoint URL.
353
63
 
354
64
  ## Development
355
65
 
356
66
  ```bash
357
- # Install dependencies
358
- npm install
359
-
360
- # Build
361
- npm run build
362
-
363
- # Type check
364
- npm run typecheck
67
+ bun run build # Compile TypeScript to dist/
68
+ bun run typecheck # Type validation
69
+ bun run test:run # Run tests once
70
+ bun run lint # ESLint check
71
+ bun run check-all # Lint + typecheck + tests
72
+ ```
365
73
 
366
- # Lint
367
- npm run lint
74
+ ## Related Packages
368
75
 
369
- # Format
370
- npm run format
371
-
372
- # Run all checks
373
- npm run check-all
374
- ```
76
+ - `@sudobility/heavymath_types` -- shared type definitions
77
+ - `@sudobility/heavymath_indexer` -- the backend indexer this client connects to
78
+ - `@sudobility/heavymath_lib` -- business logic hooks
79
+ - `heavymath_app` -- frontend web application
375
80
 
376
81
  ## License
377
82
 
378
- BUSL 1.1 - Business Use Source License
379
-
380
- Copyright (c) 2025 Sudobility Inc.
83
+ BUSL-1.1
@@ -6,4 +6,5 @@ export * from './useOracle';
6
6
  export * from './useStats';
7
7
  export * from './useFavorites';
8
8
  export * from './useSSE';
9
+ export * from './sports';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAKA,cAAc,cAAc,CAAC;AAG7B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,cAAc,CAAC;AAG7B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAG3B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAKA,cAAc,cAAc,CAAC;AAG7B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,cAAc,CAAC;AAG7B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAG3B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,UAAU,CAAC;AAGzB,cAAc,UAAU,CAAC"}
@@ -6,4 +6,5 @@ export * from './useOracle';
6
6
  export * from './useStats';
7
7
  export * from './useFavorites';
8
8
  export * from './useSSE';
9
+ export * from './sports';
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAKA,cAAc,cAAc,CAAC;AAG7B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,cAAc,CAAC;AAG7B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAG3B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,UAAU,CAAC","sourcesContent":["/**\n * React hooks for Heavymath Prediction Market Indexer API\n */\n\n// Market hooks\nexport * from './useMarkets';\n\n// Prediction hooks\nexport * from './usePredictions';\n\n// Dealer NFT hooks\nexport * from './useDealers';\n\n// Fee withdrawal hooks\nexport * from './useWithdrawals';\n\n// Oracle hooks\nexport * from './useOracle';\n\n// Analytics and stats hooks\nexport * from './useStats';\n\n// Favorites hooks\nexport * from './useFavorites';\n\n// Real-time SSE hooks\nexport * from './useSSE';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAKA,cAAc,cAAc,CAAC;AAG7B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,cAAc,CAAC;AAG7B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAG3B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,UAAU,CAAC;AAGzB,cAAc,UAAU,CAAC","sourcesContent":["/**\n * React hooks for Heavymath Prediction Market Indexer API\n */\n\n// Market hooks\nexport * from './useMarkets';\n\n// Prediction hooks\nexport * from './usePredictions';\n\n// Dealer NFT hooks\nexport * from './useDealers';\n\n// Fee withdrawal hooks\nexport * from './useWithdrawals';\n\n// Oracle hooks\nexport * from './useOracle';\n\n// Analytics and stats hooks\nexport * from './useStats';\n\n// Favorites hooks\nexport * from './useFavorites';\n\n// Real-time SSE hooks\nexport * from './useSSE';\n\n// Sports API proxy hooks\nexport * from './sports';\n"]}
@@ -0,0 +1,16 @@
1
+ import type { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
2
+ import type { IndexerClient } from '../../network/IndexerClient';
3
+ import type { SportsApiResponse, SportsQueryParams } from '../../types/sports';
4
+ type Opts<T> = Omit<UseQueryOptions<SportsApiResponse<T>>, 'queryKey' | 'queryFn'>;
5
+ type Result<T> = UseQueryResult<SportsApiResponse<T>>;
6
+ export declare function useBaseballTimezone(client: IndexerClient, opts?: Opts<unknown>): Result<unknown>;
7
+ export declare function useBaseballCountries(client: IndexerClient, params?: SportsQueryParams, opts?: Opts<unknown>): Result<unknown>;
8
+ export declare function useBaseballSeasons(client: IndexerClient, params?: SportsQueryParams, opts?: Opts<unknown>): Result<unknown>;
9
+ export declare function useBaseballLeagues(client: IndexerClient, params?: SportsQueryParams, opts?: Opts<unknown>): Result<unknown>;
10
+ export declare function useBaseballTeams(client: IndexerClient, params?: SportsQueryParams, opts?: Opts<unknown>): Result<unknown>;
11
+ export declare function useBaseballTeamStatistics(client: IndexerClient, params?: SportsQueryParams, opts?: Opts<unknown>): Result<unknown>;
12
+ export declare function useBaseballGames(client: IndexerClient, params?: SportsQueryParams, opts?: Opts<unknown>): Result<unknown>;
13
+ export declare function useBaseballGamesH2H(client: IndexerClient, params?: SportsQueryParams, opts?: Opts<unknown>): Result<unknown>;
14
+ export declare function useBaseballStandings(client: IndexerClient, params?: SportsQueryParams, opts?: Opts<unknown>): Result<unknown>;
15
+ export {};
16
+ //# sourceMappingURL=baseball.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseball.d.ts","sourceRoot":"","sources":["../../../src/hooks/sports/baseball.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG/E,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC;AACnF,KAAK,MAAM,CAAC,CAAC,IAAI,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAItD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAEhG;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GACnB,MAAM,CAAC,OAAO,CAAC,CAEjB;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GACnB,MAAM,CAAC,OAAO,CAAC,CAEjB;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GACnB,MAAM,CAAC,OAAO,CAAC,CAEjB;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GACnB,MAAM,CAAC,OAAO,CAAC,CAEjB;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GACnB,MAAM,CAAC,OAAO,CAAC,CAEjB;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GACnB,MAAM,CAAC,OAAO,CAAC,CAEjB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GACnB,MAAM,CAAC,OAAO,CAAC,CAEjB;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GACnB,MAAM,CAAC,OAAO,CAAC,CAEjB"}
@@ -0,0 +1,30 @@
1
+ import { useSportsProxy } from './useSportsProxy';
2
+ const S = 'baseball';
3
+ export function useBaseballTimezone(client, opts) {
4
+ return useSportsProxy(client, S, '/timezone', undefined, opts);
5
+ }
6
+ export function useBaseballCountries(client, params, opts) {
7
+ return useSportsProxy(client, S, '/countries', params, opts);
8
+ }
9
+ export function useBaseballSeasons(client, params, opts) {
10
+ return useSportsProxy(client, S, '/seasons', params, opts);
11
+ }
12
+ export function useBaseballLeagues(client, params, opts) {
13
+ return useSportsProxy(client, S, '/leagues', params, opts);
14
+ }
15
+ export function useBaseballTeams(client, params, opts) {
16
+ return useSportsProxy(client, S, '/teams', params, opts);
17
+ }
18
+ export function useBaseballTeamStatistics(client, params, opts) {
19
+ return useSportsProxy(client, S, '/statistics', params, opts);
20
+ }
21
+ export function useBaseballGames(client, params, opts) {
22
+ return useSportsProxy(client, S, '/games', params, opts);
23
+ }
24
+ export function useBaseballGamesH2H(client, params, opts) {
25
+ return useSportsProxy(client, S, '/games/h2h', params, opts);
26
+ }
27
+ export function useBaseballStandings(client, params, opts) {
28
+ return useSportsProxy(client, S, '/standings', params, opts);
29
+ }
30
+ //# sourceMappingURL=baseball.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseball.js","sourceRoot":"","sources":["../../../src/hooks/sports/baseball.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKlD,MAAM,CAAC,GAAG,UAAU,CAAC;AAErB,MAAM,UAAU,mBAAmB,CAAC,MAAqB,EAAE,IAAoB;IAC7E,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAAqB,EACrB,MAA0B,EAC1B,IAAoB;IAEpB,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,MAAqB,EACrB,MAA0B,EAC1B,IAAoB;IAEpB,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,MAAqB,EACrB,MAA0B,EAC1B,IAAoB;IAEpB,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,MAAqB,EACrB,MAA0B,EAC1B,IAAoB;IAEpB,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,MAAqB,EACrB,MAA0B,EAC1B,IAAoB;IAEpB,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,MAAqB,EACrB,MAA0B,EAC1B,IAAoB;IAEpB,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAAqB,EACrB,MAA0B,EAC1B,IAAoB;IAEpB,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAAqB,EACrB,MAA0B,EAC1B,IAAoB;IAEpB,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC/D,CAAC","sourcesContent":["/**\n * Baseball proxy hooks - api-sports.io v1\n */\n\nimport type { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';\nimport type { IndexerClient } from '../../network/IndexerClient';\nimport type { SportsApiResponse, SportsQueryParams } from '../../types/sports';\nimport { useSportsProxy } from './useSportsProxy';\n\ntype Opts<T> = Omit<UseQueryOptions<SportsApiResponse<T>>, 'queryKey' | 'queryFn'>;\ntype Result<T> = UseQueryResult<SportsApiResponse<T>>;\n\nconst S = 'baseball';\n\nexport function useBaseballTimezone(client: IndexerClient, opts?: Opts<unknown>): Result<unknown> {\n return useSportsProxy(client, S, '/timezone', undefined, opts);\n}\n\nexport function useBaseballCountries(\n client: IndexerClient,\n params?: SportsQueryParams,\n opts?: Opts<unknown>\n): Result<unknown> {\n return useSportsProxy(client, S, '/countries', params, opts);\n}\n\nexport function useBaseballSeasons(\n client: IndexerClient,\n params?: SportsQueryParams,\n opts?: Opts<unknown>\n): Result<unknown> {\n return useSportsProxy(client, S, '/seasons', params, opts);\n}\n\nexport function useBaseballLeagues(\n client: IndexerClient,\n params?: SportsQueryParams,\n opts?: Opts<unknown>\n): Result<unknown> {\n return useSportsProxy(client, S, '/leagues', params, opts);\n}\n\nexport function useBaseballTeams(\n client: IndexerClient,\n params?: SportsQueryParams,\n opts?: Opts<unknown>\n): Result<unknown> {\n return useSportsProxy(client, S, '/teams', params, opts);\n}\n\nexport function useBaseballTeamStatistics(\n client: IndexerClient,\n params?: SportsQueryParams,\n opts?: Opts<unknown>\n): Result<unknown> {\n return useSportsProxy(client, S, '/statistics', params, opts);\n}\n\nexport function useBaseballGames(\n client: IndexerClient,\n params?: SportsQueryParams,\n opts?: Opts<unknown>\n): Result<unknown> {\n return useSportsProxy(client, S, '/games', params, opts);\n}\n\nexport function useBaseballGamesH2H(\n client: IndexerClient,\n params?: SportsQueryParams,\n opts?: Opts<unknown>\n): Result<unknown> {\n return useSportsProxy(client, S, '/games/h2h', params, opts);\n}\n\nexport function useBaseballStandings(\n client: IndexerClient,\n params?: SportsQueryParams,\n opts?: Opts<unknown>\n): Result<unknown> {\n return useSportsProxy(client, S, '/standings', params, opts);\n}\n"]}
@@ -0,0 +1,16 @@
1
+ import type { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
2
+ import type { IndexerClient } from '../../network/IndexerClient';
3
+ import type { SportsApiResponse, SportsQueryParams } from '../../types/sports';
4
+ type Opts<T> = Omit<UseQueryOptions<SportsApiResponse<T>>, 'queryKey' | 'queryFn'>;
5
+ type Result<T> = UseQueryResult<SportsApiResponse<T>>;
6
+ export declare function useBasketballTimezone(client: IndexerClient, opts?: Opts<unknown>): Result<unknown>;
7
+ export declare function useBasketballCountries(client: IndexerClient, params?: SportsQueryParams, opts?: Opts<unknown>): Result<unknown>;
8
+ export declare function useBasketballSeasons(client: IndexerClient, params?: SportsQueryParams, opts?: Opts<unknown>): Result<unknown>;
9
+ export declare function useBasketballLeagues(client: IndexerClient, params?: SportsQueryParams, opts?: Opts<unknown>): Result<unknown>;
10
+ export declare function useBasketballTeams(client: IndexerClient, params?: SportsQueryParams, opts?: Opts<unknown>): Result<unknown>;
11
+ export declare function useBasketballTeamStatistics(client: IndexerClient, params?: SportsQueryParams, opts?: Opts<unknown>): Result<unknown>;
12
+ export declare function useBasketballGames(client: IndexerClient, params?: SportsQueryParams, opts?: Opts<unknown>): Result<unknown>;
13
+ export declare function useBasketballGamesH2H(client: IndexerClient, params?: SportsQueryParams, opts?: Opts<unknown>): Result<unknown>;
14
+ export declare function useBasketballStandings(client: IndexerClient, params?: SportsQueryParams, opts?: Opts<unknown>): Result<unknown>;
15
+ export {};
16
+ //# sourceMappingURL=basketball.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basketball.d.ts","sourceRoot":"","sources":["../../../src/hooks/sports/basketball.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG/E,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC;AACnF,KAAK,MAAM,CAAC,CAAC,IAAI,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAItD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,aAAa,EACrB,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GACnB,MAAM,CAAC,OAAO,CAAC,CAEjB;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GACnB,MAAM,CAAC,OAAO,CAAC,CAEjB;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GACnB,MAAM,CAAC,OAAO,CAAC,CAEjB;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GACnB,MAAM,CAAC,OAAO,CAAC,CAEjB;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GACnB,MAAM,CAAC,OAAO,CAAC,CAEjB;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GACnB,MAAM,CAAC,OAAO,CAAC,CAEjB;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GACnB,MAAM,CAAC,OAAO,CAAC,CAEjB;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GACnB,MAAM,CAAC,OAAO,CAAC,CAEjB;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GACnB,MAAM,CAAC,OAAO,CAAC,CAEjB"}
@@ -0,0 +1,30 @@
1
+ import { useSportsProxy } from './useSportsProxy';
2
+ const S = 'basketball';
3
+ export function useBasketballTimezone(client, opts) {
4
+ return useSportsProxy(client, S, '/timezone', undefined, opts);
5
+ }
6
+ export function useBasketballCountries(client, params, opts) {
7
+ return useSportsProxy(client, S, '/countries', params, opts);
8
+ }
9
+ export function useBasketballSeasons(client, params, opts) {
10
+ return useSportsProxy(client, S, '/seasons', params, opts);
11
+ }
12
+ export function useBasketballLeagues(client, params, opts) {
13
+ return useSportsProxy(client, S, '/leagues', params, opts);
14
+ }
15
+ export function useBasketballTeams(client, params, opts) {
16
+ return useSportsProxy(client, S, '/teams', params, opts);
17
+ }
18
+ export function useBasketballTeamStatistics(client, params, opts) {
19
+ return useSportsProxy(client, S, '/statistics', params, opts);
20
+ }
21
+ export function useBasketballGames(client, params, opts) {
22
+ return useSportsProxy(client, S, '/games', params, opts);
23
+ }
24
+ export function useBasketballGamesH2H(client, params, opts) {
25
+ return useSportsProxy(client, S, '/games/h2h', params, opts);
26
+ }
27
+ export function useBasketballStandings(client, params, opts) {
28
+ return useSportsProxy(client, S, '/standings', params, opts);
29
+ }
30
+ //# sourceMappingURL=basketball.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basketball.js","sourceRoot":"","sources":["../../../src/hooks/sports/basketball.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKlD,MAAM,CAAC,GAAG,YAAY,CAAC;AAEvB,MAAM,UAAU,qBAAqB,CACnC,MAAqB,EACrB,IAAoB;IAEpB,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,MAAqB,EACrB,MAA0B,EAC1B,IAAoB;IAEpB,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAAqB,EACrB,MAA0B,EAC1B,IAAoB;IAEpB,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAAqB,EACrB,MAA0B,EAC1B,IAAoB;IAEpB,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,MAAqB,EACrB,MAA0B,EAC1B,IAAoB;IAEpB,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,MAAqB,EACrB,MAA0B,EAC1B,IAAoB;IAEpB,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,MAAqB,EACrB,MAA0B,EAC1B,IAAoB;IAEpB,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,MAAqB,EACrB,MAA0B,EAC1B,IAAoB;IAEpB,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,MAAqB,EACrB,MAA0B,EAC1B,IAAoB;IAEpB,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC/D,CAAC","sourcesContent":["/**\n * Basketball proxy hooks - api-sports.io v1\n */\n\nimport type { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';\nimport type { IndexerClient } from '../../network/IndexerClient';\nimport type { SportsApiResponse, SportsQueryParams } from '../../types/sports';\nimport { useSportsProxy } from './useSportsProxy';\n\ntype Opts<T> = Omit<UseQueryOptions<SportsApiResponse<T>>, 'queryKey' | 'queryFn'>;\ntype Result<T> = UseQueryResult<SportsApiResponse<T>>;\n\nconst S = 'basketball';\n\nexport function useBasketballTimezone(\n client: IndexerClient,\n opts?: Opts<unknown>\n): Result<unknown> {\n return useSportsProxy(client, S, '/timezone', undefined, opts);\n}\n\nexport function useBasketballCountries(\n client: IndexerClient,\n params?: SportsQueryParams,\n opts?: Opts<unknown>\n): Result<unknown> {\n return useSportsProxy(client, S, '/countries', params, opts);\n}\n\nexport function useBasketballSeasons(\n client: IndexerClient,\n params?: SportsQueryParams,\n opts?: Opts<unknown>\n): Result<unknown> {\n return useSportsProxy(client, S, '/seasons', params, opts);\n}\n\nexport function useBasketballLeagues(\n client: IndexerClient,\n params?: SportsQueryParams,\n opts?: Opts<unknown>\n): Result<unknown> {\n return useSportsProxy(client, S, '/leagues', params, opts);\n}\n\nexport function useBasketballTeams(\n client: IndexerClient,\n params?: SportsQueryParams,\n opts?: Opts<unknown>\n): Result<unknown> {\n return useSportsProxy(client, S, '/teams', params, opts);\n}\n\nexport function useBasketballTeamStatistics(\n client: IndexerClient,\n params?: SportsQueryParams,\n opts?: Opts<unknown>\n): Result<unknown> {\n return useSportsProxy(client, S, '/statistics', params, opts);\n}\n\nexport function useBasketballGames(\n client: IndexerClient,\n params?: SportsQueryParams,\n opts?: Opts<unknown>\n): Result<unknown> {\n return useSportsProxy(client, S, '/games', params, opts);\n}\n\nexport function useBasketballGamesH2H(\n client: IndexerClient,\n params?: SportsQueryParams,\n opts?: Opts<unknown>\n): Result<unknown> {\n return useSportsProxy(client, S, '/games/h2h', params, opts);\n}\n\nexport function useBasketballStandings(\n client: IndexerClient,\n params?: SportsQueryParams,\n opts?: Opts<unknown>\n): Result<unknown> {\n return useSportsProxy(client, S, '/standings', params, opts);\n}\n"]}
@@ -0,0 +1,17 @@
1
+ import type { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
2
+ import type { IndexerClient } from '../../network/IndexerClient';
3
+ import type { SportsApiResponse, SportsQueryParams } from '../../types/sports';
4
+ type Opts<T> = Omit<UseQueryOptions<SportsApiResponse<T>>, 'queryKey' | 'queryFn'>;
5
+ type Result<T> = UseQueryResult<SportsApiResponse<T>>;
6
+ export declare function useF1Timezone(client: IndexerClient, opts?: Opts<unknown>): Result<unknown>;
7
+ export declare function useF1Seasons(client: IndexerClient, params?: SportsQueryParams, opts?: Opts<unknown>): Result<unknown>;
8
+ export declare function useF1Circuits(client: IndexerClient, params?: SportsQueryParams, opts?: Opts<unknown>): Result<unknown>;
9
+ export declare function useF1Competitions(client: IndexerClient, params?: SportsQueryParams, opts?: Opts<unknown>): Result<unknown>;
10
+ export declare function useF1Teams(client: IndexerClient, params?: SportsQueryParams, opts?: Opts<unknown>): Result<unknown>;
11
+ export declare function useF1Drivers(client: IndexerClient, params?: SportsQueryParams, opts?: Opts<unknown>): Result<unknown>;
12
+ export declare function useF1Races(client: IndexerClient, params?: SportsQueryParams, opts?: Opts<unknown>): Result<unknown>;
13
+ export declare function useF1DriverRankings(client: IndexerClient, params?: SportsQueryParams, opts?: Opts<unknown>): Result<unknown>;
14
+ export declare function useF1TeamRankings(client: IndexerClient, params?: SportsQueryParams, opts?: Opts<unknown>): Result<unknown>;
15
+ export declare function useF1PitStops(client: IndexerClient, params?: SportsQueryParams, opts?: Opts<unknown>): Result<unknown>;
16
+ export {};
17
+ //# sourceMappingURL=f1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"f1.d.ts","sourceRoot":"","sources":["../../../src/hooks/sports/f1.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG/E,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC;AACnF,KAAK,MAAM,CAAC,CAAC,IAAI,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAItD,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAE1F;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GACnB,MAAM,CAAC,OAAO,CAAC,CAEjB;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GACnB,MAAM,CAAC,OAAO,CAAC,CAEjB;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GACnB,MAAM,CAAC,OAAO,CAAC,CAEjB;AAED,wBAAgB,UAAU,CACxB,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GACnB,MAAM,CAAC,OAAO,CAAC,CAEjB;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GACnB,MAAM,CAAC,OAAO,CAAC,CAEjB;AAED,wBAAgB,UAAU,CACxB,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GACnB,MAAM,CAAC,OAAO,CAAC,CAEjB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GACnB,MAAM,CAAC,OAAO,CAAC,CAEjB;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GACnB,MAAM,CAAC,OAAO,CAAC,CAEjB;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GACnB,MAAM,CAAC,OAAO,CAAC,CAEjB"}
@@ -0,0 +1,33 @@
1
+ import { useSportsProxy } from './useSportsProxy';
2
+ const S = 'formula1';
3
+ export function useF1Timezone(client, opts) {
4
+ return useSportsProxy(client, S, '/timezone', undefined, opts);
5
+ }
6
+ export function useF1Seasons(client, params, opts) {
7
+ return useSportsProxy(client, S, '/seasons', params, opts);
8
+ }
9
+ export function useF1Circuits(client, params, opts) {
10
+ return useSportsProxy(client, S, '/circuits', params, opts);
11
+ }
12
+ export function useF1Competitions(client, params, opts) {
13
+ return useSportsProxy(client, S, '/competitions', params, opts);
14
+ }
15
+ export function useF1Teams(client, params, opts) {
16
+ return useSportsProxy(client, S, '/teams', params, opts);
17
+ }
18
+ export function useF1Drivers(client, params, opts) {
19
+ return useSportsProxy(client, S, '/drivers', params, opts);
20
+ }
21
+ export function useF1Races(client, params, opts) {
22
+ return useSportsProxy(client, S, '/races', params, opts);
23
+ }
24
+ export function useF1DriverRankings(client, params, opts) {
25
+ return useSportsProxy(client, S, '/rankings/drivers', params, opts);
26
+ }
27
+ export function useF1TeamRankings(client, params, opts) {
28
+ return useSportsProxy(client, S, '/rankings/teams', params, opts);
29
+ }
30
+ export function useF1PitStops(client, params, opts) {
31
+ return useSportsProxy(client, S, '/pitstops', params, opts);
32
+ }
33
+ //# sourceMappingURL=f1.js.map