Rocky_Mountain_Vending/.pnpm-store/v10/files/30/08e58ea2a4ebb795db8db2607e9be297a3c73cd3c22929bad282354bb5e079821f547ad2a76fa13fa0994fede03dccf75fa2ebc1387a0fabd394eaf032001b
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
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>
2026-02-12 16:22:15 -07:00

49 lines
1 KiB
Text

/**
* @license
* Copyright 2023 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
import {UIStrings} from './report-utils.js';
/** @typedef {import('./i18n-formatter').I18nFormatter} I18nFormatter */
let svgSuffix = 0;
class Globals {
/** @type {I18nFormatter} */
// @ts-expect-error: Set in report renderer.
static i18n = null;
/** @type {typeof UIStrings} */
// @ts-expect-error: Set in report renderer.
static strings = {};
/** @type {LH.ReportResult | null} */
static reportJson = null;
/**
* @param {{providedStrings: Record<string, string>; i18n: I18nFormatter; reportJson: LH.ReportResult | null}} options
*/
static apply(options) {
Globals.strings = {
// Set missing renderer strings to default (english) values.
...UIStrings,
...options.providedStrings,
};
Globals.i18n = options.i18n;
Globals.reportJson = options.reportJson;
}
static getUniqueSuffix() {
return svgSuffix++;
}
static resetUniqueSuffix() {
svgSuffix = 0;
}
}
export {
Globals,
};