Next.js website for Rocky Mountain Vending company featuring: - Product catalog with Stripe integration - Service areas and parts pages - Admin dashboard with Clerk authentication - SEO optimized pages with JSON-LD structured data Co-authored-by: Cursor <cursoragent@cursor.com>
45 lines
931 B
Text
45 lines
931 B
Text
/**
|
|
* @license
|
|
* Copyright 2019 Google Inc.
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
const DEFAULT_TIMEOUT = 30000;
|
|
|
|
/**
|
|
* @internal
|
|
*/
|
|
export class TimeoutSettings {
|
|
#defaultTimeout: number | null;
|
|
#defaultNavigationTimeout: number | null;
|
|
|
|
constructor() {
|
|
this.#defaultTimeout = null;
|
|
this.#defaultNavigationTimeout = null;
|
|
}
|
|
|
|
setDefaultTimeout(timeout: number): void {
|
|
this.#defaultTimeout = timeout;
|
|
}
|
|
|
|
setDefaultNavigationTimeout(timeout: number): void {
|
|
this.#defaultNavigationTimeout = timeout;
|
|
}
|
|
|
|
navigationTimeout(): number {
|
|
if (this.#defaultNavigationTimeout !== null) {
|
|
return this.#defaultNavigationTimeout;
|
|
}
|
|
if (this.#defaultTimeout !== null) {
|
|
return this.#defaultTimeout;
|
|
}
|
|
return DEFAULT_TIMEOUT;
|
|
}
|
|
|
|
timeout(): number {
|
|
if (this.#defaultTimeout !== null) {
|
|
return this.#defaultTimeout;
|
|
}
|
|
return DEFAULT_TIMEOUT;
|
|
}
|
|
}
|