Skip to content

Commit

Permalink
refactor(javascript): type setTimeout in a way compatible with node &…
Browse files Browse the repository at this point in the history
… browser (#527)
  • Loading branch information
Haroenv committed May 23, 2022
1 parent 5f041da commit 000f62d
Showing 1 changed file with 6 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import type {
Response,
} from '@experimental-api-clients-automation/client-common';

type Timeout = ReturnType<typeof setTimeout>;

export function createXhrRequester(): Requester {
function send(request: EndRequest): Promise<Response> {
return new Promise((resolve) => {
Expand All @@ -14,10 +16,7 @@ export function createXhrRequester(): Requester {
baseRequester.setRequestHeader(key, request.headers[key])
);

const createTimeout = (
timeout: number,
content: string
): NodeJS.Timeout => {
const createTimeout = (timeout: number, content: string): Timeout => {
return setTimeout(() => {
baseRequester.abort();

Expand All @@ -34,7 +33,7 @@ export function createXhrRequester(): Requester {
'Connection timeout'
);

let responseTimeout: NodeJS.Timeout | undefined;
let responseTimeout: Timeout | undefined;

baseRequester.onreadystatechange = (): void => {
if (
Expand All @@ -54,7 +53,7 @@ export function createXhrRequester(): Requester {
// istanbul ignore next
if (baseRequester.status === 0) {
clearTimeout(connectTimeout);
clearTimeout(responseTimeout as NodeJS.Timeout);
clearTimeout(responseTimeout!);

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

baseRequester.onload = (): void => {
clearTimeout(connectTimeout);
clearTimeout(responseTimeout as NodeJS.Timeout);
clearTimeout(responseTimeout!);

resolve({
content: baseRequester.responseText,
Expand Down

0 comments on commit 000f62d

Please sign in to comment.