Socket
Book a DemoInstallSign in
Socket

tf2-currency

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

tf2-currency

Set of tools that manage operations with tf2 currency.

1.2.0
latest
Source
npmnpm
Version published
Maintainers
1
Created
Source

tf2-currency

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.

Advantages over tf2-currencies

  • Fully typed, written in typescript
  • Throughly tested, over 100 tests
  • More convenience methods for comparing/operating with currency

Installation

npm install tf2-currency or via yarn yarn add tf2-currency

Documentation

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

Instantiation

new Currency(currency: ICurrency, metalInWeapons?: number)
  • 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
Currency.fromWeapons(weapons: number, conversion?: number): Currency

Creates a Currency class from weapons value

  • weapons value you are creating currency from
  • conversion rate to be used to convert into keys (in metal)
Currency.fromScrap(scrap: number, conversion?: number): Currency

Creates a Currency class from scrap value

  • scrap value you are creating currency from
  • conversion rate to be used to convert into keys (in metal)
Currency.fromKeys(keys: number, conversion?: number): Currency

Creates a Currency class from key value

  • keys floating point number to create currency from
  • conversion rate to be used to convert into metal (in metal)
    • Required if keys is not an integer

Currency.prototype.toWeapons(conversion?: number): number

Converts currency to weapons

  • conversion to convert keys to weapons (in metal)
    • Required if keys are present

Currency.prototype.toScrap(conversion?: number): number

Converts currency to scrap

  • conversion to convert keys to scrap (in metal)
    • Required if keys are present

Currency.prototype.toKeys(conversion?: number): number

Converts currency to keys

  • conversion to convert metal to keys (in metal)
    • Required if metal is present

Currency.prototype.toString(): string

Builds a currency string readable for humans

Currency.prototype.toJSON(): ICurrency

Returns plain currency object, with keys & metal, for json serialization

Currency.prototype.toWeaponizedJSON(): ICurrency

Returns plain currency object, with keys & weapons, for json serialization

Currency.prototype.addWeapons(weapons: number, conversion?: number): Currency

Adds weapon value to the currency

  • weapons value you are adding to the currency
  • conversion rate to be used to convert exceeding metal value into keys (in metal)
    • Required if weapons is not an integer

Currency.prototype.addScrap(scrap: number, conversion?: number): Currency

Adds scrap value to the currency

  • scrap value you are adding to the currency
  • conversion rate to be used to convert exceeding metal value into keys (in metal)

Currency.prototype.addMetal(metal: number, conversion?: number): Currency

Adds metal value to the currency

  • metal value you are adding to the currency
  • conversion rate to be used to convert exceeding metal value into keys (in metal)

Currency.prototype.addKeys(keys: number, conversion?: number): Currency

Adds key value to the currency

  • keys value you are adding to the currency
  • conversion rate to be used to convert exceeding metal value into keys (in metal)
    • Required if keys is not an integer

Currency.prototype.addCurrency(currency: ICurrency, conversion?: number): Currency

Adds currency value to the currency

  • currency value you are adding to the currency
  • conversion rate to be used to convert exceeding metal value into keys

Currency.prototype.removeWeapons(weapons: number, conversion?: number): Currency

Removes weapon value from the currency

  • weapons value you are removing from the currency
  • conversion rate to be used to convert key into weapons (in metal)
    • Required when we go to negative values with weapons

Currency.prototype.removeScrap(scrap: number, conversion?: number): Currency

Removes scrap value from the currency

  • scrap value you are removing from the currency
  • conversion rate to be used to convert key into scrap
    • Required when we go to negative values with scrap

Currency.prototype.removeMetal(metal: number, conversion?: number): Currency

Removes metal value from the currency

  • metal value you are removing from the currency
  • conversion rate to be used to convert key into metal
    • Required when we go to negative values with scrap

Currency.prototype.removeKeys(scrap: number, conversion?: number): Currency

Removes key value from the currency

  • keys value you are removing from the currency
  • conversion 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

Currency.prototype.removeCurrency(currency: ICurrency, conversion?: number): Currency

Removes currency value from the currency

  • currency value you are removing from the currency
  • conversion rate to be used to convert key into metal
    • Required when we go to negative values with scrap

Currency.prototype.isEqual(currency: ICurrency): boolean

Compares current currency object with supplied one

  • currency we are comparing to

Currency.prototype.isBigger(currency: ICurrency): boolean

Compares current currency object with supplied one

  • currency we are comparing to

Currency.prototype.isSmaller(currency: ICurrency): boolean

Compares current currency object with supplied one

  • currency we are comparing to

Currency.prototype.isBiggerOrEqual(currency: ICurrency): boolean

Compares current currency object with supplied one

  • currency we are comparing to

Currency.prototype.isSmallerOrEqual(currency: ICurrency): boolean

Compares current currency object with supplied one

  • currency we are comparing to

Currency.prototype.compareTo(value: ICurrency): number

Compares current currency object with supplied one

  • value we are comparing to
  • Returns:
    • 0 if equal
    • 1 if current is bigger
    • -1 if current is smaller

Currency.prototype.wIsEqual(currency: IWeaponizedCurrency): boolean

Compares current currency object with supplied weaponized currency (keys and metalInWeapons instead of metal)

  • currency we are comparing to

Currency.prototype.wIsBigger(currency: IWeaponizedCurrency): boolean

Compares current currency object with supplied weaponized currency

  • currency we are comparing to

Currency.prototype.wIsSmaller(currency: IWeaponizedCurrency): boolean

Compares current currency object with supplied weaponized currency

  • currency we are comparing to

Currency.prototype.wIsBiggerOrEqual(currency: IWeaponizedCurrency): boolean

Compares current currency object with supplied weaponized currency

  • currency we are comparing to

Currency.prototype.wIsSmallerOrEqual(currency: IWeaponizedCurrency): boolean

Compares current currency object with supplied weaponized currency

  • currency we are comparing to

Currency.prototype.wCompareTo(value: IWeaponizedCurrency): number

Compares current currency object with supplied weaponized currency

  • value we are comparing to
  • Returns:
    • 0 if equal
    • 1 if current is bigger
    • -1 if current is smaller

Helpers

c(currency: Partial): Currency

Creates Currency object

  • currency from which we are creating the object

fixCurrency(currency: Partial): ICurrency

Fixes partial currency object

  • currency we are fixing

Keywords

tf2

FAQs

Package last updated on 30 Jul 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.