@qudtlib/core
Version:
Data model for QUDTLib
72 lines (71 loc) • 3.37 kB
TypeScript
import { SupportsEquals } from "./baseTypes.js";
import { LangString } from "./langString.js";
import { Prefix } from "./prefix.js";
import { QuantityKind } from "./quantityKind.js";
import { FactorUnit } from "./factorUnit.js";
import { FactorUnits } from "./factorUnits.js";
import { Decimal } from "decimal.js";
export declare class Unit implements SupportsEquals<Unit> {
readonly iri: string;
readonly labels: LangString[];
readonly currencyCode: string | undefined;
readonly currencyNumber: number | undefined;
readonly prefixIri?: string;
prefix?: Prefix;
readonly conversionMultiplier: Decimal;
readonly conversionOffset: Decimal;
readonly quantityKindIris: string[];
readonly quantityKinds: QuantityKind[];
readonly exactMatchIris: string[];
readonly symbol?: string;
readonly dependents: number;
readonly deprecated: boolean;
readonly generated: boolean;
readonly scalingOfIri?: string;
scalingOf?: Unit;
readonly dimensionVectorIri?: string;
factorUnits: FactorUnits;
readonly unitOfSystemIris: string[];
private static TEMPERATURE_DIFFERENCE;
constructor(iri: string, quantityKindIris?: string[], exactMatchIris?: string[], dimensionVectorIri?: string, conversionMultiplier?: Decimal, conversionOffset?: Decimal, prefixIri?: string, scalingOfIri?: string, scalingOf?: Unit, symbol?: string, labels?: LangString[], currencyCode?: string, currencyNumber?: number, unitOfSystemIris?: string[], dependents?: number, deprecated?: boolean, generated?: boolean);
equals(other?: Unit): boolean;
toString(): string;
getIriLocalname(): string;
getIriAbbreviated(): string;
isCurrencyUnit(): boolean;
matchesFactorUnitSpec(...factorUnitSpec: (number | Unit)[]): boolean;
matches(selection: FactorUnits): boolean;
hasFactorUnits(): boolean;
/**
* Returns true if this unit is defined to be another unit, such as litre is defined as cubic decimetre.
*/
isDefinedAsOtherUnit(): boolean;
isScaled(): boolean;
hasSymbol(): boolean;
isConvertible(toUnit: Unit): boolean;
getConversionMultiplier(toUnit: Unit): Decimal;
private findInBasesRecursively;
isSameScaleAs(other: Unit): boolean;
static isUnitless(unit: Unit): boolean;
convert(value: Decimal, toUnit: Unit, quantityKind?: QuantityKind): Decimal;
addLabel(label: LangString): void;
addQuantityKindIri(quantityKindIri: string): void;
addExactMatchIri(exactMatchIri: string): void;
hasLabel(label: string): boolean;
getLabelForLanguageTag(languageTag: string): string | undefined;
addQuantityKind(quantityKind: QuantityKind): void;
setFactorUnits(factorUnits: FactorUnits): void;
setPrefix(prefix: Prefix): void;
setScalingOf(scalingOf: Unit): void;
/**
* Returns this unit as a set of exponent-reduced factors, unless they are two factors that cancel each other out, in
* which case return the unit as a factor unit with exponent 1. For example, Steradian is m²/m² and will
* therefore return SR.
*/
normalize(): FactorUnits;
getLeafFactorUnitsWithCumulativeExponents(): FactorUnit[];
getAllPossibleFactorUnitCombinations(): FactorUnit[][];
conversionOffsetDiffers(other: Unit): boolean;
hasNonzeroConversionOffset(): boolean;
}
//# sourceMappingURL=unit.d.ts.map