Set of tools that manage operations with tf2 currency. Inspired by tf2-currencies made by Nicklason. Made as a drop in replacement for your plain currency object.
- Fully typed, written in typescript
- Throughly tested, over 100 tests
- More convenience methods for comparing/operating with currency
npm install tf2-currency
or via yarn yarn add tf2-currency
Following classes, types and functions are exported:
export {
Currency, // Currency class that manages operations
CurrencyError, // Error thrown by Currency class
ICurrency, // Interface for currency
c, // Create Currency object faster
fixCurrency, // Fix partial currency objects
}
Currency is stored like this:
{
keys: number,
metalInWeapons: number,
}
uses weapons to avoid weird floating point issues. This way it's "immune" against conversion changes.
If you want to use weapons / scrap value as storage, use toWeapons
and toScrap
methods to convert it to weapons or scrap.
currency
represents plain currency object such as{ keys: 12, metal: 52.11 }
metalInWeapons
optional parameter that represents how much metal is in weapons, defaults to 0- Prioritized over
currency.metal
- Prioritized over
Creates a Currency class from weapons value
weapons
value you are creating currency fromconversion
rate to be used to convert into keys (in metal)
Creates a Currency class from scrap value
scrap
value you are creating currency fromconversion
rate to be used to convert into keys (in metal)
Creates a Currency class from key value
keys
floating point number to create currency fromconversion
rate to be used to convert into metal (in metal)- Required if keys is not an integer
Converts currency to weapons
conversion
to convert keys to weapons (in metal)- Required if keys are present
Converts currency to scrap
conversion
to convert keys to scrap (in metal)- Required if keys are present
Converts currency to keys
conversion
to convert metal to keys (in metal)- Required if metal is present
Builds a currency string readable for humans
Returns plain currency object, with keys & metal, for json serialization
Returns plain currency object, with keys & weapons, for json serialization
Adds weapon value to the currency
weapons
value you are adding to the currencyconversion
rate to be used to convert exceeding metal value into keys (in metal)- Required if weapons is not an integer
Adds scrap value to the currency
scrap
value you are adding to the currencyconversion
rate to be used to convert exceeding metal value into keys (in metal)
Adds metal value to the currency
metal
value you are adding to the currencyconversion
rate to be used to convert exceeding metal value into keys (in metal)
Adds key value to the currency
keys
value you are adding to the currencyconversion
rate to be used to convert exceeding metal value into keys (in metal)- Required if keys is not an integer
Adds currency value to the currency
currency
value you are adding to the currencyconversion
rate to be used to convert exceeding metal value into keys
Removes weapon value from the currency
weapons
value you are removing from the currencyconversion
rate to be used to convert key into weapons (in metal)- Required when we go to negative values with weapons
Removes scrap value from the currency
scrap
value you are removing from the currencyconversion
rate to be used to convert key into scrap- Required when we go to negative values with scrap
Removes metal value from the currency
metal
value you are removing from the currencyconversion
rate to be used to convert key into metal- Required when we go to negative values with scrap
Removes key value from the currency
keys
value you are removing from the currencyconversion
rate to be used to convert key decimal to metal- Required when we go to negative values with scrap or when keys is not an integer
Removes currency value from the currency
currency
value you are removing from the currencyconversion
rate to be used to convert key into metal- Required when we go to negative values with scrap
Compares current currency object with supplied one
currency
we are comparing to
Compares current currency object with supplied one
currency
we are comparing to
Compares current currency object with supplied one
currency
we are comparing to
Compares current currency object with supplied one
currency
we are comparing to
Compares current currency object with supplied one
currency
we are comparing to
Compares current currency object with supplied one
value
we are comparing to- Returns:
0
if equal1
if current is bigger-1
if current is smaller
Compares current currency object with supplied weaponized currency (keys
and metalInWeapons
instead of metal
)
currency
we are comparing to
Compares current currency object with supplied weaponized currency
currency
we are comparing to
Compares current currency object with supplied weaponized currency
currency
we are comparing to
Compares current currency object with supplied weaponized currency
currency
we are comparing to
Compares current currency object with supplied weaponized currency
currency
we are comparing to
Compares current currency object with supplied weaponized currency
value
we are comparing to- Returns:
0
if equal1
if current is bigger-1
if current is smaller
Creates Currency
object
currency
from which we are creating the object
Fixes partial currency
object
currency
we are fixing