UNPKG

@itwin/quantity-formatting-react

Version:

React components and utilities for quantity formatting

56 lines 2.25 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Bentley Systems, Incorporated. All rights reserved. * See LICENSE.md in the project root for license terms and full copyright notice. *--------------------------------------------------------------------------------------------*/ import { IModelApp } from "@itwin/core-frontend"; /** * Static class for managing quantity formatting localization and initialization. * This class handles the setup and management of internationalization resources * for quantity formatting components. * @beta */ export class QuantityFormatting { static _isInitialized = false; static _i18nNamespace = "QuantityFormat"; static _localization; /** * Returns true if the QuantityFormatting class has been initialized. */ static get isInitialized() { return QuantityFormatting._isInitialized; } /** * Returns the localization instance used by quantity formatting components. */ static get localization() { return QuantityFormatting._localization; } /** * Returns the internationalization namespace used by quantity formatting components. */ static get i18nNamespace() { return QuantityFormatting._i18nNamespace; } /** * Initializes the QuantityFormatting class with localization support. * @param options Optional startup options including custom localization instance */ static async startup(options) { if (QuantityFormatting.isInitialized) return; QuantityFormatting._localization = options?.localization ?? IModelApp.localization; await QuantityFormatting._localization.registerNamespace(QuantityFormatting._i18nNamespace); QuantityFormatting._isInitialized = true; } /** * Terminates the QuantityFormatting class and unregisters the localization namespace. */ static terminate() { if (QuantityFormatting._isInitialized) { QuantityFormatting._localization.unregisterNamespace(QuantityFormatting._i18nNamespace); QuantityFormatting._isInitialized = false; } } } //# sourceMappingURL=QuantityFormatting.js.map