TimeoutSettings.ts (931B)
1 /** 2 * @license 3 * Copyright 2019 Google Inc. 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 const DEFAULT_TIMEOUT = 30000; 8 9 /** 10 * @internal 11 */ 12 export class TimeoutSettings { 13 #defaultTimeout: number | null; 14 #defaultNavigationTimeout: number | null; 15 16 constructor() { 17 this.#defaultTimeout = null; 18 this.#defaultNavigationTimeout = null; 19 } 20 21 setDefaultTimeout(timeout: number): void { 22 this.#defaultTimeout = timeout; 23 } 24 25 setDefaultNavigationTimeout(timeout: number): void { 26 this.#defaultNavigationTimeout = timeout; 27 } 28 29 navigationTimeout(): number { 30 if (this.#defaultNavigationTimeout !== null) { 31 return this.#defaultNavigationTimeout; 32 } 33 if (this.#defaultTimeout !== null) { 34 return this.#defaultTimeout; 35 } 36 return DEFAULT_TIMEOUT; 37 } 38 39 timeout(): number { 40 if (this.#defaultTimeout !== null) { 41 return this.#defaultTimeout; 42 } 43 return DEFAULT_TIMEOUT; 44 } 45 }