Skip to content

Commit 000f62d

Browse files
authored
refactor(javascript): type setTimeout in a way compatible with node & browser (#527)
1 parent 5f041da commit 000f62d

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

clients/algoliasearch-client-javascript/packages/requester-browser-xhr/src/createXhrRequester.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import type {
44
Response,
55
} from '@experimental-api-clients-automation/client-common';
66

7+
type Timeout = ReturnType<typeof setTimeout>;
8+
79
export function createXhrRequester(): Requester {
810
function send(request: EndRequest): Promise<Response> {
911
return new Promise((resolve) => {
@@ -14,10 +16,7 @@ export function createXhrRequester(): Requester {
1416
baseRequester.setRequestHeader(key, request.headers[key])
1517
);
1618

17-
const createTimeout = (
18-
timeout: number,
19-
content: string
20-
): NodeJS.Timeout => {
19+
const createTimeout = (timeout: number, content: string): Timeout => {
2120
return setTimeout(() => {
2221
baseRequester.abort();
2322

@@ -34,7 +33,7 @@ export function createXhrRequester(): Requester {
3433
'Connection timeout'
3534
);
3635

37-
let responseTimeout: NodeJS.Timeout | undefined;
36+
let responseTimeout: Timeout | undefined;
3837

3938
baseRequester.onreadystatechange = (): void => {
4039
if (
@@ -54,7 +53,7 @@ export function createXhrRequester(): Requester {
5453
// istanbul ignore next
5554
if (baseRequester.status === 0) {
5655
clearTimeout(connectTimeout);
57-
clearTimeout(responseTimeout as NodeJS.Timeout);
56+
clearTimeout(responseTimeout!);
5857

5958
resolve({
6059
content: baseRequester.responseText || 'Network request failed',
@@ -66,7 +65,7 @@ export function createXhrRequester(): Requester {
6665

6766
baseRequester.onload = (): void => {
6867
clearTimeout(connectTimeout);
69-
clearTimeout(responseTimeout as NodeJS.Timeout);
68+
clearTimeout(responseTimeout!);
7069

7170
resolve({
7271
content: baseRequester.responseText,

0 commit comments

Comments
 (0)