unitsnet-js
Version:
A better way to hold unit variables and easily convert to the destination unit
419 lines (418 loc) • 18.3 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ElectricReactance = exports.ElectricReactanceUnits = void 0;
const base_unit_1 = require("../base-unit");
/** ElectricReactanceUnits enumeration */
var ElectricReactanceUnits;
(function (ElectricReactanceUnits) {
/** */
ElectricReactanceUnits["Ohms"] = "Ohm";
/** */
ElectricReactanceUnits["Nanoohms"] = "Nanoohm";
/** */
ElectricReactanceUnits["Microohms"] = "Microohm";
/** */
ElectricReactanceUnits["Milliohms"] = "Milliohm";
/** */
ElectricReactanceUnits["Kiloohms"] = "Kiloohm";
/** */
ElectricReactanceUnits["Megaohms"] = "Megaohm";
/** */
ElectricReactanceUnits["Gigaohms"] = "Gigaohm";
/** */
ElectricReactanceUnits["Teraohms"] = "Teraohm";
})(ElectricReactanceUnits = exports.ElectricReactanceUnits || (exports.ElectricReactanceUnits = {}));
/** In electrical circuits, reactance is the opposition presented to alternating current by inductance and capacitance. Along with resistance, it is one of two elements of impedance. */
class ElectricReactance extends base_unit_1.BaseUnit {
/**
* Create a new ElectricReactance.
* @param value The value.
* @param fromUnit The ‘ElectricReactance’ unit to create from.
* The default unit is Ohms
*/
constructor(value, fromUnit = ElectricReactanceUnits.Ohms) {
super();
this.ohmsLazy = null;
this.nanoohmsLazy = null;
this.microohmsLazy = null;
this.milliohmsLazy = null;
this.kiloohmsLazy = null;
this.megaohmsLazy = null;
this.gigaohmsLazy = null;
this.teraohmsLazy = null;
if (value === undefined || value === null || Number.isNaN(value)) {
throw new TypeError('invalid unit value ‘' + value + '’');
}
this.value = this.convertToBase(value, fromUnit);
}
/**
* The base value of ElectricReactance is Ohms.
* This accessor used when needs a value for calculations and it's better to use directly the base value
*/
get BaseValue() {
return this.value;
}
/** Gets the default unit used when creating instances of the unit or its DTO */
get baseUnit() {
return ElectricReactanceUnits.Ohms;
}
/** */
get Ohms() {
if (this.ohmsLazy !== null) {
return this.ohmsLazy;
}
return this.ohmsLazy = this.convertFromBase(ElectricReactanceUnits.Ohms);
}
/** */
get Nanoohms() {
if (this.nanoohmsLazy !== null) {
return this.nanoohmsLazy;
}
return this.nanoohmsLazy = this.convertFromBase(ElectricReactanceUnits.Nanoohms);
}
/** */
get Microohms() {
if (this.microohmsLazy !== null) {
return this.microohmsLazy;
}
return this.microohmsLazy = this.convertFromBase(ElectricReactanceUnits.Microohms);
}
/** */
get Milliohms() {
if (this.milliohmsLazy !== null) {
return this.milliohmsLazy;
}
return this.milliohmsLazy = this.convertFromBase(ElectricReactanceUnits.Milliohms);
}
/** */
get Kiloohms() {
if (this.kiloohmsLazy !== null) {
return this.kiloohmsLazy;
}
return this.kiloohmsLazy = this.convertFromBase(ElectricReactanceUnits.Kiloohms);
}
/** */
get Megaohms() {
if (this.megaohmsLazy !== null) {
return this.megaohmsLazy;
}
return this.megaohmsLazy = this.convertFromBase(ElectricReactanceUnits.Megaohms);
}
/** */
get Gigaohms() {
if (this.gigaohmsLazy !== null) {
return this.gigaohmsLazy;
}
return this.gigaohmsLazy = this.convertFromBase(ElectricReactanceUnits.Gigaohms);
}
/** */
get Teraohms() {
if (this.teraohmsLazy !== null) {
return this.teraohmsLazy;
}
return this.teraohmsLazy = this.convertFromBase(ElectricReactanceUnits.Teraohms);
}
/**
* Create a new ElectricReactance instance from a Ohms
*
* @param value The unit as Ohms to create a new ElectricReactance from.
* @returns The new ElectricReactance instance.
*/
static FromOhms(value) {
return new ElectricReactance(value, ElectricReactanceUnits.Ohms);
}
/**
* Create a new ElectricReactance instance from a Nanoohms
*
* @param value The unit as Nanoohms to create a new ElectricReactance from.
* @returns The new ElectricReactance instance.
*/
static FromNanoohms(value) {
return new ElectricReactance(value, ElectricReactanceUnits.Nanoohms);
}
/**
* Create a new ElectricReactance instance from a Microohms
*
* @param value The unit as Microohms to create a new ElectricReactance from.
* @returns The new ElectricReactance instance.
*/
static FromMicroohms(value) {
return new ElectricReactance(value, ElectricReactanceUnits.Microohms);
}
/**
* Create a new ElectricReactance instance from a Milliohms
*
* @param value The unit as Milliohms to create a new ElectricReactance from.
* @returns The new ElectricReactance instance.
*/
static FromMilliohms(value) {
return new ElectricReactance(value, ElectricReactanceUnits.Milliohms);
}
/**
* Create a new ElectricReactance instance from a Kiloohms
*
* @param value The unit as Kiloohms to create a new ElectricReactance from.
* @returns The new ElectricReactance instance.
*/
static FromKiloohms(value) {
return new ElectricReactance(value, ElectricReactanceUnits.Kiloohms);
}
/**
* Create a new ElectricReactance instance from a Megaohms
*
* @param value The unit as Megaohms to create a new ElectricReactance from.
* @returns The new ElectricReactance instance.
*/
static FromMegaohms(value) {
return new ElectricReactance(value, ElectricReactanceUnits.Megaohms);
}
/**
* Create a new ElectricReactance instance from a Gigaohms
*
* @param value The unit as Gigaohms to create a new ElectricReactance from.
* @returns The new ElectricReactance instance.
*/
static FromGigaohms(value) {
return new ElectricReactance(value, ElectricReactanceUnits.Gigaohms);
}
/**
* Create a new ElectricReactance instance from a Teraohms
*
* @param value The unit as Teraohms to create a new ElectricReactance from.
* @returns The new ElectricReactance instance.
*/
static FromTeraohms(value) {
return new ElectricReactance(value, ElectricReactanceUnits.Teraohms);
}
/**
* Gets the base unit enumeration associated with ElectricReactance
* @returns The unit enumeration that can be used to interact with this type
*/
static getUnitEnum() {
return ElectricReactanceUnits;
}
/**
* Gets the default unit used when creating instances of the unit or its DTO
* @returns The unit enumeration value used as a default parameter in constructor and DTO methods
*/
static getBaseUnit() {
return ElectricReactanceUnits.Ohms;
}
/**
* Create API DTO represent a ElectricReactance unit.
* @param holdInUnit The specific ElectricReactance unit to be used in the unit representation at the DTO
*/
toDto(holdInUnit = ElectricReactanceUnits.Ohms) {
return {
value: this.convert(holdInUnit),
unit: holdInUnit
};
}
/**
* Create a ElectricReactance unit from an API DTO representation.
* @param dtoElectricReactance The ElectricReactance API DTO representation
*/
static FromDto(dtoElectricReactance) {
return new ElectricReactance(dtoElectricReactance.value, dtoElectricReactance.unit);
}
/**
* Convert ElectricReactance to a specific unit value.
* @param toUnit The specific unit to convert to
* @returns The value of the specific unit provided.
*/
convert(toUnit) {
switch (toUnit) {
case ElectricReactanceUnits.Ohms: return this.Ohms;
case ElectricReactanceUnits.Nanoohms: return this.Nanoohms;
case ElectricReactanceUnits.Microohms: return this.Microohms;
case ElectricReactanceUnits.Milliohms: return this.Milliohms;
case ElectricReactanceUnits.Kiloohms: return this.Kiloohms;
case ElectricReactanceUnits.Megaohms: return this.Megaohms;
case ElectricReactanceUnits.Gigaohms: return this.Gigaohms;
case ElectricReactanceUnits.Teraohms: return this.Teraohms;
default:
break;
}
return Number.NaN;
}
convertFromBase(toUnit) {
if (base_unit_1.areAnyOperatorsOverridden())
switch (toUnit) {
case ElectricReactanceUnits.Ohms: return this.value;
case ElectricReactanceUnits.Nanoohms: return super.internalDivide(this.value, 1e-9);
case ElectricReactanceUnits.Microohms: return super.internalDivide(this.value, 0.000001);
case ElectricReactanceUnits.Milliohms: return super.internalDivide(this.value, 0.001);
case ElectricReactanceUnits.Kiloohms: return super.internalDivide(this.value, 1000);
case ElectricReactanceUnits.Megaohms: return super.internalDivide(this.value, 1000000);
case ElectricReactanceUnits.Gigaohms: return super.internalDivide(this.value, 1000000000);
case ElectricReactanceUnits.Teraohms: return super.internalDivide(this.value, 1000000000000);
default: return Number.NaN;
}
switch (toUnit) {
case ElectricReactanceUnits.Ohms: return this.value;
case ElectricReactanceUnits.Nanoohms: return (this.value) / 1e-9;
case ElectricReactanceUnits.Microohms: return (this.value) / 0.000001;
case ElectricReactanceUnits.Milliohms: return (this.value) / 0.001;
case ElectricReactanceUnits.Kiloohms: return (this.value) / 1000;
case ElectricReactanceUnits.Megaohms: return (this.value) / 1000000;
case ElectricReactanceUnits.Gigaohms: return (this.value) / 1000000000;
case ElectricReactanceUnits.Teraohms: return (this.value) / 1000000000000;
default: return Number.NaN;
}
}
convertToBase(value, fromUnit) {
if (base_unit_1.areAnyOperatorsOverridden())
switch (fromUnit) {
case ElectricReactanceUnits.Ohms: return value;
case ElectricReactanceUnits.Nanoohms: return super.internalMultiply(value, 1e-9);
case ElectricReactanceUnits.Microohms: return super.internalMultiply(value, 0.000001);
case ElectricReactanceUnits.Milliohms: return super.internalMultiply(value, 0.001);
case ElectricReactanceUnits.Kiloohms: return super.internalMultiply(value, 1000);
case ElectricReactanceUnits.Megaohms: return super.internalMultiply(value, 1000000);
case ElectricReactanceUnits.Gigaohms: return super.internalMultiply(value, 1000000000);
case ElectricReactanceUnits.Teraohms: return super.internalMultiply(value, 1000000000000);
default: return Number.NaN;
}
switch (fromUnit) {
case ElectricReactanceUnits.Ohms: return value;
case ElectricReactanceUnits.Nanoohms: return (value) * 1e-9;
case ElectricReactanceUnits.Microohms: return (value) * 0.000001;
case ElectricReactanceUnits.Milliohms: return (value) * 0.001;
case ElectricReactanceUnits.Kiloohms: return (value) * 1000;
case ElectricReactanceUnits.Megaohms: return (value) * 1000000;
case ElectricReactanceUnits.Gigaohms: return (value) * 1000000000;
case ElectricReactanceUnits.Teraohms: return (value) * 1000000000000;
default: return Number.NaN;
}
}
/**
* Format the ElectricReactance to string.
* Note! the default format for ElectricReactance is Ohms.
* To specify the unit format set the 'unit' parameter.
* @param unit The unit to format the ElectricReactance.
* @param options The ToString options, it also can be the number of fractional digits to keep that deprecated and moved to the options object. support in number will be dropped in the upcoming versions.
* @returns The string format of the ElectricReactance.
*/
toString(unit = ElectricReactanceUnits.Ohms, options) {
if (typeof options === 'number') {
console.warn('The number parameter is deprecated and moved to the options object. support in number will be dropped in the upcoming versions.');
options = { fractionalDigits: options };
}
switch (unit) {
case ElectricReactanceUnits.Ohms:
return super.truncateFractionDigits(this.Ohms, options) + ` Ω`;
case ElectricReactanceUnits.Nanoohms:
return super.truncateFractionDigits(this.Nanoohms, options) + ` nΩ`;
case ElectricReactanceUnits.Microohms:
return super.truncateFractionDigits(this.Microohms, options) + ` μΩ`;
case ElectricReactanceUnits.Milliohms:
return super.truncateFractionDigits(this.Milliohms, options) + ` mΩ`;
case ElectricReactanceUnits.Kiloohms:
return super.truncateFractionDigits(this.Kiloohms, options) + ` kΩ`;
case ElectricReactanceUnits.Megaohms:
return super.truncateFractionDigits(this.Megaohms, options) + ` MΩ`;
case ElectricReactanceUnits.Gigaohms:
return super.truncateFractionDigits(this.Gigaohms, options) + ` GΩ`;
case ElectricReactanceUnits.Teraohms:
return super.truncateFractionDigits(this.Teraohms, options) + ` TΩ`;
default:
break;
}
return this.value.toString();
}
/**
* Get ElectricReactance unit abbreviation.
* Note! the default abbreviation for ElectricReactance is Ohms.
* To specify the unit abbreviation set the 'unitAbbreviation' parameter.
* @param unitAbbreviation The unit abbreviation of the ElectricReactance.
* @returns The abbreviation string of ElectricReactance.
*/
getUnitAbbreviation(unitAbbreviation = ElectricReactanceUnits.Ohms) {
switch (unitAbbreviation) {
case ElectricReactanceUnits.Ohms:
return `Ω`;
case ElectricReactanceUnits.Nanoohms:
return `nΩ`;
case ElectricReactanceUnits.Microohms:
return `μΩ`;
case ElectricReactanceUnits.Milliohms:
return `mΩ`;
case ElectricReactanceUnits.Kiloohms:
return `kΩ`;
case ElectricReactanceUnits.Megaohms:
return `MΩ`;
case ElectricReactanceUnits.Gigaohms:
return `GΩ`;
case ElectricReactanceUnits.Teraohms:
return `TΩ`;
default:
break;
}
return '';
}
/**
* Check if the given ElectricReactance are equals to the current ElectricReactance.
* @param electricReactance The other ElectricReactance.
* @returns True if the given ElectricReactance are equal to the current ElectricReactance.
*/
equals(electricReactance) {
return super.internalEquals(this.value, electricReactance.BaseValue);
}
/**
* Compare the given ElectricReactance against the current ElectricReactance.
* @param electricReactance The other ElectricReactance.
* @returns 0 if they are equal, -1 if the current ElectricReactance is less then other, 1 if the current ElectricReactance is greater then other.
*/
compareTo(electricReactance) {
return super.internalCompareTo(this.value, electricReactance.BaseValue);
}
/**
* Add the given ElectricReactance with the current ElectricReactance.
* @param electricReactance The other ElectricReactance.
* @returns A new ElectricReactance instance with the results.
*/
add(electricReactance) {
return new ElectricReactance(super.internalAdd(this.value, electricReactance.BaseValue));
}
/**
* Subtract the given ElectricReactance with the current ElectricReactance.
* @param electricReactance The other ElectricReactance.
* @returns A new ElectricReactance instance with the results.
*/
subtract(electricReactance) {
return new ElectricReactance(super.internalSubtract(this.value, electricReactance.BaseValue));
}
/**
* Multiply the given ElectricReactance with the current ElectricReactance.
* @param electricReactance The other ElectricReactance.
* @returns A new ElectricReactance instance with the results.
*/
multiply(electricReactance) {
return new ElectricReactance(super.internalMultiply(this.value, electricReactance.BaseValue));
}
/**
* Divide the given ElectricReactance with the current ElectricReactance.
* @param electricReactance The other ElectricReactance.
* @returns A new ElectricReactance instance with the results.
*/
divide(electricReactance) {
return new ElectricReactance(super.internalDivide(this.value, electricReactance.BaseValue));
}
/**
* Modulo the given ElectricReactance with the current ElectricReactance.
* @param electricReactance The other ElectricReactance.
* @returns A new ElectricReactance instance with the results.
*/
modulo(electricReactance) {
return new ElectricReactance(super.internalModulo(this.value, electricReactance.BaseValue));
}
/**
* Pow the given ElectricReactance with the current ElectricReactance.
* @param electricReactance The other ElectricReactance.
* @returns A new ElectricReactance instance with the results.
*/
pow(electricReactance) {
return new ElectricReactance(super.internalPow(this.value, electricReactance.BaseValue));
}
}
exports.ElectricReactance = ElectricReactance;