UNPKG

unitsnet-js

Version:

A better way to hold unit variables and easily convert to the destination unit

307 lines (306 loc) 15.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ElectricReactivePower = exports.ElectricReactivePowerUnits = void 0; const base_unit_1 = require("../base-unit"); /** ElectricReactivePowerUnits enumeration */ var ElectricReactivePowerUnits; (function (ElectricReactivePowerUnits) { /** */ ElectricReactivePowerUnits["VoltamperesReactive"] = "VoltampereReactive"; /** */ ElectricReactivePowerUnits["KilovoltamperesReactive"] = "KilovoltampereReactive"; /** */ ElectricReactivePowerUnits["MegavoltamperesReactive"] = "MegavoltampereReactive"; /** */ ElectricReactivePowerUnits["GigavoltamperesReactive"] = "GigavoltampereReactive"; })(ElectricReactivePowerUnits = exports.ElectricReactivePowerUnits || (exports.ElectricReactivePowerUnits = {})); /** In electric power transmission and distribution, volt-ampere reactive (var) is a unit of measurement of reactive power. Reactive power exists in an AC circuit when the current and voltage are not in phase. */ class ElectricReactivePower extends base_unit_1.BaseUnit { /** * Create a new ElectricReactivePower. * @param value The value. * @param fromUnit The ‘ElectricReactivePower’ unit to create from. * The default unit is VoltamperesReactive */ constructor(value, fromUnit = ElectricReactivePowerUnits.VoltamperesReactive) { super(); this.voltamperesreactiveLazy = null; this.kilovoltamperesreactiveLazy = null; this.megavoltamperesreactiveLazy = null; this.gigavoltamperesreactiveLazy = 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 ElectricReactivePower is VoltamperesReactive. * 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 ElectricReactivePowerUnits.VoltamperesReactive; } /** */ get VoltamperesReactive() { if (this.voltamperesreactiveLazy !== null) { return this.voltamperesreactiveLazy; } return this.voltamperesreactiveLazy = this.convertFromBase(ElectricReactivePowerUnits.VoltamperesReactive); } /** */ get KilovoltamperesReactive() { if (this.kilovoltamperesreactiveLazy !== null) { return this.kilovoltamperesreactiveLazy; } return this.kilovoltamperesreactiveLazy = this.convertFromBase(ElectricReactivePowerUnits.KilovoltamperesReactive); } /** */ get MegavoltamperesReactive() { if (this.megavoltamperesreactiveLazy !== null) { return this.megavoltamperesreactiveLazy; } return this.megavoltamperesreactiveLazy = this.convertFromBase(ElectricReactivePowerUnits.MegavoltamperesReactive); } /** */ get GigavoltamperesReactive() { if (this.gigavoltamperesreactiveLazy !== null) { return this.gigavoltamperesreactiveLazy; } return this.gigavoltamperesreactiveLazy = this.convertFromBase(ElectricReactivePowerUnits.GigavoltamperesReactive); } /** * Create a new ElectricReactivePower instance from a VoltamperesReactive * * @param value The unit as VoltamperesReactive to create a new ElectricReactivePower from. * @returns The new ElectricReactivePower instance. */ static FromVoltamperesReactive(value) { return new ElectricReactivePower(value, ElectricReactivePowerUnits.VoltamperesReactive); } /** * Create a new ElectricReactivePower instance from a KilovoltamperesReactive * * @param value The unit as KilovoltamperesReactive to create a new ElectricReactivePower from. * @returns The new ElectricReactivePower instance. */ static FromKilovoltamperesReactive(value) { return new ElectricReactivePower(value, ElectricReactivePowerUnits.KilovoltamperesReactive); } /** * Create a new ElectricReactivePower instance from a MegavoltamperesReactive * * @param value The unit as MegavoltamperesReactive to create a new ElectricReactivePower from. * @returns The new ElectricReactivePower instance. */ static FromMegavoltamperesReactive(value) { return new ElectricReactivePower(value, ElectricReactivePowerUnits.MegavoltamperesReactive); } /** * Create a new ElectricReactivePower instance from a GigavoltamperesReactive * * @param value The unit as GigavoltamperesReactive to create a new ElectricReactivePower from. * @returns The new ElectricReactivePower instance. */ static FromGigavoltamperesReactive(value) { return new ElectricReactivePower(value, ElectricReactivePowerUnits.GigavoltamperesReactive); } /** * Gets the base unit enumeration associated with ElectricReactivePower * @returns The unit enumeration that can be used to interact with this type */ static getUnitEnum() { return ElectricReactivePowerUnits; } /** * 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 ElectricReactivePowerUnits.VoltamperesReactive; } /** * Create API DTO represent a ElectricReactivePower unit. * @param holdInUnit The specific ElectricReactivePower unit to be used in the unit representation at the DTO */ toDto(holdInUnit = ElectricReactivePowerUnits.VoltamperesReactive) { return { value: this.convert(holdInUnit), unit: holdInUnit }; } /** * Create a ElectricReactivePower unit from an API DTO representation. * @param dtoElectricReactivePower The ElectricReactivePower API DTO representation */ static FromDto(dtoElectricReactivePower) { return new ElectricReactivePower(dtoElectricReactivePower.value, dtoElectricReactivePower.unit); } /** * Convert ElectricReactivePower 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 ElectricReactivePowerUnits.VoltamperesReactive: return this.VoltamperesReactive; case ElectricReactivePowerUnits.KilovoltamperesReactive: return this.KilovoltamperesReactive; case ElectricReactivePowerUnits.MegavoltamperesReactive: return this.MegavoltamperesReactive; case ElectricReactivePowerUnits.GigavoltamperesReactive: return this.GigavoltamperesReactive; default: break; } return Number.NaN; } convertFromBase(toUnit) { if (base_unit_1.areAnyOperatorsOverridden()) switch (toUnit) { case ElectricReactivePowerUnits.VoltamperesReactive: return this.value; case ElectricReactivePowerUnits.KilovoltamperesReactive: return super.internalDivide(this.value, 1000); case ElectricReactivePowerUnits.MegavoltamperesReactive: return super.internalDivide(this.value, 1000000); case ElectricReactivePowerUnits.GigavoltamperesReactive: return super.internalDivide(this.value, 1000000000); default: return Number.NaN; } switch (toUnit) { case ElectricReactivePowerUnits.VoltamperesReactive: return this.value; case ElectricReactivePowerUnits.KilovoltamperesReactive: return (this.value) / 1000; case ElectricReactivePowerUnits.MegavoltamperesReactive: return (this.value) / 1000000; case ElectricReactivePowerUnits.GigavoltamperesReactive: return (this.value) / 1000000000; default: return Number.NaN; } } convertToBase(value, fromUnit) { if (base_unit_1.areAnyOperatorsOverridden()) switch (fromUnit) { case ElectricReactivePowerUnits.VoltamperesReactive: return value; case ElectricReactivePowerUnits.KilovoltamperesReactive: return super.internalMultiply(value, 1000); case ElectricReactivePowerUnits.MegavoltamperesReactive: return super.internalMultiply(value, 1000000); case ElectricReactivePowerUnits.GigavoltamperesReactive: return super.internalMultiply(value, 1000000000); default: return Number.NaN; } switch (fromUnit) { case ElectricReactivePowerUnits.VoltamperesReactive: return value; case ElectricReactivePowerUnits.KilovoltamperesReactive: return (value) * 1000; case ElectricReactivePowerUnits.MegavoltamperesReactive: return (value) * 1000000; case ElectricReactivePowerUnits.GigavoltamperesReactive: return (value) * 1000000000; default: return Number.NaN; } } /** * Format the ElectricReactivePower to string. * Note! the default format for ElectricReactivePower is VoltamperesReactive. * To specify the unit format set the 'unit' parameter. * @param unit The unit to format the ElectricReactivePower. * @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 ElectricReactivePower. */ toString(unit = ElectricReactivePowerUnits.VoltamperesReactive, 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 ElectricReactivePowerUnits.VoltamperesReactive: return super.truncateFractionDigits(this.VoltamperesReactive, options) + ` var`; case ElectricReactivePowerUnits.KilovoltamperesReactive: return super.truncateFractionDigits(this.KilovoltamperesReactive, options) + ` kvar`; case ElectricReactivePowerUnits.MegavoltamperesReactive: return super.truncateFractionDigits(this.MegavoltamperesReactive, options) + ` Mvar`; case ElectricReactivePowerUnits.GigavoltamperesReactive: return super.truncateFractionDigits(this.GigavoltamperesReactive, options) + ` Gvar`; default: break; } return this.value.toString(); } /** * Get ElectricReactivePower unit abbreviation. * Note! the default abbreviation for ElectricReactivePower is VoltamperesReactive. * To specify the unit abbreviation set the 'unitAbbreviation' parameter. * @param unitAbbreviation The unit abbreviation of the ElectricReactivePower. * @returns The abbreviation string of ElectricReactivePower. */ getUnitAbbreviation(unitAbbreviation = ElectricReactivePowerUnits.VoltamperesReactive) { switch (unitAbbreviation) { case ElectricReactivePowerUnits.VoltamperesReactive: return `var`; case ElectricReactivePowerUnits.KilovoltamperesReactive: return `kvar`; case ElectricReactivePowerUnits.MegavoltamperesReactive: return `Mvar`; case ElectricReactivePowerUnits.GigavoltamperesReactive: return `Gvar`; default: break; } return ''; } /** * Check if the given ElectricReactivePower are equals to the current ElectricReactivePower. * @param electricReactivePower The other ElectricReactivePower. * @returns True if the given ElectricReactivePower are equal to the current ElectricReactivePower. */ equals(electricReactivePower) { return super.internalEquals(this.value, electricReactivePower.BaseValue); } /** * Compare the given ElectricReactivePower against the current ElectricReactivePower. * @param electricReactivePower The other ElectricReactivePower. * @returns 0 if they are equal, -1 if the current ElectricReactivePower is less then other, 1 if the current ElectricReactivePower is greater then other. */ compareTo(electricReactivePower) { return super.internalCompareTo(this.value, electricReactivePower.BaseValue); } /** * Add the given ElectricReactivePower with the current ElectricReactivePower. * @param electricReactivePower The other ElectricReactivePower. * @returns A new ElectricReactivePower instance with the results. */ add(electricReactivePower) { return new ElectricReactivePower(super.internalAdd(this.value, electricReactivePower.BaseValue)); } /** * Subtract the given ElectricReactivePower with the current ElectricReactivePower. * @param electricReactivePower The other ElectricReactivePower. * @returns A new ElectricReactivePower instance with the results. */ subtract(electricReactivePower) { return new ElectricReactivePower(super.internalSubtract(this.value, electricReactivePower.BaseValue)); } /** * Multiply the given ElectricReactivePower with the current ElectricReactivePower. * @param electricReactivePower The other ElectricReactivePower. * @returns A new ElectricReactivePower instance with the results. */ multiply(electricReactivePower) { return new ElectricReactivePower(super.internalMultiply(this.value, electricReactivePower.BaseValue)); } /** * Divide the given ElectricReactivePower with the current ElectricReactivePower. * @param electricReactivePower The other ElectricReactivePower. * @returns A new ElectricReactivePower instance with the results. */ divide(electricReactivePower) { return new ElectricReactivePower(super.internalDivide(this.value, electricReactivePower.BaseValue)); } /** * Modulo the given ElectricReactivePower with the current ElectricReactivePower. * @param electricReactivePower The other ElectricReactivePower. * @returns A new ElectricReactivePower instance with the results. */ modulo(electricReactivePower) { return new ElectricReactivePower(super.internalModulo(this.value, electricReactivePower.BaseValue)); } /** * Pow the given ElectricReactivePower with the current ElectricReactivePower. * @param electricReactivePower The other ElectricReactivePower. * @returns A new ElectricReactivePower instance with the results. */ pow(electricReactivePower) { return new ElectricReactivePower(super.internalPow(this.value, electricReactivePower.BaseValue)); } } exports.ElectricReactivePower = ElectricReactivePower;