@itwin/quantity-formatting-react
Version:
React components and utilities for quantity formatting
56 lines • 2.25 kB
JavaScript
/*---------------------------------------------------------------------------------------------
* 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