( document: string, variables?: Record<string, unknown>, )
| 222 | // Queries opt into this instead of `gqlClient.request` so several secondary |
| 223 | // requests fired in the same tick leave as one POST. Mutations never do. |
| 224 | export const gqlBatchRequest = <T>( |
| 225 | document: string, |
| 226 | variables?: Record<string, unknown>, |
| 227 | ): Promise<T> => { |
| 228 | if (typeof window === 'undefined' || !isBatchingEnabled()) { |
| 229 | return gqlClient.request<T>(document, variables); |
| 230 | } |
| 231 | |
| 232 | return new Promise<T>((resolve, reject) => { |
| 233 | queue.push({ |
| 234 | document, |
| 235 | variables, |
| 236 | resolve: resolve as (data: unknown) => void, |
| 237 | reject, |
| 238 | }); |
| 239 | scheduleFlush(); |
| 240 | }); |
| 241 | }; |
no test coverage detected