summaryrefslogtreecommitdiffstats
path: root/remote/test/puppeteer/packages/puppeteer-core/src/util/DebuggableDeferredPromise.ts
blob: 0632fd5e885d63ac6765e5bc0cb16d267ac9802c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import {DEFERRED_PROMISE_DEBUG_TIMEOUT} from '../environment.js';

import {DeferredPromise, createDeferredPromise} from './DeferredPromise.js';

/**
 * Creates and returns a deferred promise using DEFERRED_PROMISE_DEBUG_TIMEOUT
 * if it's specified or a normal deferred promise otherwise.
 *
 * @internal
 */
export function createDebuggableDeferredPromise<T>(
  message: string
): DeferredPromise<T> {
  if (DEFERRED_PROMISE_DEBUG_TIMEOUT > 0) {
    return createDeferredPromise({
      message,
      timeout: DEFERRED_PROMISE_DEBUG_TIMEOUT,
    });
  }
  return createDeferredPromise();
}