@wise-old-man/utils 3.3.0 → 3.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -423,13 +423,6 @@ class PlayersClient extends BaseAPIClient {
423
423
  getPlayerGains(username, options) {
424
424
  return this.getRequest(`/players/${username}/gained`, options);
425
425
  }
426
- /**
427
- * Fetches a player's gains, for a specific period or time range, as an array.
428
- * @returns An array of each metric's gained data.
429
- */
430
- getPlayerGainsAsArray(username, options) {
431
- return this.getRequest(`/players/${username}/gained`, Object.assign(Object.assign({}, options), { formatting: 'array' }));
432
- }
433
426
  /**
434
427
  * Fetches all of the player's records.
435
428
  * @returns A list of records.
@@ -1017,6 +1010,9 @@ const Country = {
1017
1010
  FR: 'FR',
1018
1011
  GA: 'GA',
1019
1012
  GB: 'GB',
1013
+ GB_NIR: 'GB_NIR',
1014
+ GB_SCT: 'GB_SCT',
1015
+ GB_WLS: 'GB_WLS',
1020
1016
  GD: 'GD',
1021
1017
  GE: 'GE',
1022
1018
  GF: 'GF',
@@ -1304,6 +1300,9 @@ const CountryProps = {
1304
1300
  [Country.FR]: { code: 'FR', name: 'France' },
1305
1301
  [Country.GA]: { code: 'GA', name: 'Gabon' },
1306
1302
  [Country.GB]: { code: 'GB', name: 'United Kingdom' },
1303
+ [Country.GB_NIR]: { code: 'GB_NIR', name: 'Northen Ireland' },
1304
+ [Country.GB_SCT]: { code: 'GB_SCT', name: 'Scotland' },
1305
+ [Country.GB_WLS]: { code: 'GB_WLS', name: 'Wales' },
1307
1306
  [Country.GD]: { code: 'GD', name: 'Grenada' },
1308
1307
  [Country.GE]: { code: 'GE', name: 'Georgia' },
1309
1308
  [Country.GF]: { code: 'GF', name: 'French Guiana' },
@@ -2047,256 +2046,6 @@ function getParentEfficiencyMetric(metric) {
2047
2046
  return Metric.EHP;
2048
2047
  return null;
2049
2048
  }
2050
- function parseMetricAbbreviation(abbreviation) {
2051
- if (!abbreviation || abbreviation.length === 0) {
2052
- return null;
2053
- }
2054
- const fixedAbbreviation = abbreviation.toLowerCase();
2055
- if (isMetric(fixedAbbreviation)) {
2056
- return fixedAbbreviation;
2057
- }
2058
- switch (fixedAbbreviation) {
2059
- // Bosses
2060
- case 'sire':
2061
- return Metric.ABYSSAL_SIRE;
2062
- case 'hydra':
2063
- return Metric.ALCHEMICAL_HYDRA;
2064
- case 'barrows':
2065
- return Metric.BARROWS_CHESTS;
2066
- case 'bryo':
2067
- return Metric.BRYOPHYTA;
2068
- case 'cerb':
2069
- return Metric.CERBERUS;
2070
- case 'cox':
2071
- case 'xeric':
2072
- case 'chambers':
2073
- case 'olm':
2074
- case 'raids':
2075
- return Metric.CHAMBERS_OF_XERIC;
2076
- case 'cox-cm':
2077
- case 'xeric-cm':
2078
- case 'chambers-cm':
2079
- case 'olm-cm':
2080
- case 'raids-cm':
2081
- return Metric.CHAMBERS_OF_XERIC_CM;
2082
- case 'chaos-ele':
2083
- return Metric.CHAOS_ELEMENTAL;
2084
- case 'fanatic':
2085
- return Metric.CHAOS_FANATIC;
2086
- case 'sara':
2087
- case 'saradomin':
2088
- case 'zilyana':
2089
- case 'zily':
2090
- return Metric.COMMANDER_ZILYANA;
2091
- case 'corp':
2092
- return Metric.CORPOREAL_BEAST;
2093
- case 'crazy-arch':
2094
- return Metric.CRAZY_ARCHAEOLOGIST;
2095
- case 'prime':
2096
- return Metric.DAGANNOTH_PRIME;
2097
- case 'rex':
2098
- return Metric.DAGANNOTH_REX;
2099
- case 'supreme':
2100
- return Metric.DAGANNOTH_SUPREME;
2101
- case 'deranged-arch':
2102
- return Metric.DERANGED_ARCHAEOLOGIST;
2103
- case 'bandos':
2104
- case 'graardor':
2105
- return Metric.GENERAL_GRAARDOR;
2106
- case 'mole':
2107
- return Metric.GIANT_MOLE;
2108
- case 'dusk':
2109
- case 'dawn':
2110
- case 'gargs':
2111
- case 'guardians':
2112
- case 'ggs':
2113
- return Metric.GROTESQUE_GUARDIANS;
2114
- case 'phantom':
2115
- case 'muspah':
2116
- return Metric.PHANTOM_MUSPAH;
2117
- case 'kq':
2118
- return Metric.KALPHITE_QUEEN;
2119
- case 'kbd':
2120
- return Metric.KING_BLACK_DRAGON;
2121
- case 'kree':
2122
- case 'kreearra':
2123
- case 'armadyl':
2124
- case 'arma':
2125
- return Metric.KREEARRA;
2126
- case 'zammy':
2127
- case 'zamorak':
2128
- case 'kril':
2129
- case 'kril-tsutsaroth':
2130
- return Metric.KRIL_TSUTSAROTH;
2131
- case 'gaunt':
2132
- case 'gauntlet':
2133
- case 'the-gauntlet':
2134
- return Metric.THE_GAUNTLET;
2135
- case 'cgaunt':
2136
- case 'cgauntlet':
2137
- case 'corrupted':
2138
- case 'corrupted-gauntlet':
2139
- case 'the-corrupted-gauntlet':
2140
- return Metric.THE_CORRUPTED_GAUNTLET;
2141
- case 'tob':
2142
- case 'theatre':
2143
- case 'verzik':
2144
- case 'tob-normal':
2145
- return Metric.THEATRE_OF_BLOOD;
2146
- case 'tob-hm':
2147
- case 'tob-cm':
2148
- case 'tob-hard-mode':
2149
- case 'tob-hard':
2150
- return Metric.THEATRE_OF_BLOOD_HARD_MODE;
2151
- case 'toa':
2152
- case 'tombs':
2153
- case 'amascut':
2154
- return Metric.TOMBS_OF_AMASCUT;
2155
- case 'toa-expert':
2156
- case 'toa-hm':
2157
- case 'tombs-expert':
2158
- case 'tombs-hm':
2159
- case 'amascut-expert':
2160
- case 'amascut-hm':
2161
- return Metric.TOMBS_OF_AMASCUT_EXPERT;
2162
- case 'nm':
2163
- case 'tnm':
2164
- case 'nmare':
2165
- case 'the-nightmare':
2166
- return Metric.NIGHTMARE;
2167
- case 'pnm':
2168
- case 'phosani':
2169
- case 'phosanis':
2170
- case 'phosani-nm':
2171
- case 'phosani-nightmare':
2172
- case 'phosanis nightmare':
2173
- return Metric.PHOSANIS_NIGHTMARE;
2174
- case 'thermy':
2175
- case 'smoke-devil':
2176
- return Metric.THERMONUCLEAR_SMOKE_DEVIL;
2177
- case 'zuk':
2178
- case 'inferno':
2179
- return Metric.TZKAL_ZUK;
2180
- case 'jad':
2181
- case 'fight-caves':
2182
- case 'fc':
2183
- return Metric.TZTOK_JAD;
2184
- case 'vork':
2185
- case 'vorky':
2186
- return Metric.VORKATH;
2187
- case 'wt':
2188
- return Metric.WINTERTODT;
2189
- case 'snek':
2190
- case 'zul':
2191
- return Metric.ZULRAH;
2192
- // Minigames and others
2193
- case 'all-clues':
2194
- case 'clues':
2195
- return Metric.CLUE_SCROLLS_ALL;
2196
- case 'beginner':
2197
- case 'beginner-clues':
2198
- case 'beg-clues':
2199
- case 'beginners':
2200
- return Metric.CLUE_SCROLLS_BEGINNER;
2201
- case 'easy':
2202
- case 'easy-clues':
2203
- case 'easies':
2204
- return Metric.CLUE_SCROLLS_EASY;
2205
- case 'medium':
2206
- case 'med':
2207
- case 'meds':
2208
- case 'medium-clues':
2209
- case 'med-clues':
2210
- case 'mediums':
2211
- return Metric.CLUE_SCROLLS_MEDIUM;
2212
- case 'hard':
2213
- case 'hard-clues':
2214
- case 'hards':
2215
- return Metric.CLUE_SCROLLS_HARD;
2216
- case 'elite':
2217
- case 'elite-clues':
2218
- case 'elites':
2219
- return Metric.CLUE_SCROLLS_ELITE;
2220
- case 'master':
2221
- case 'master-clues':
2222
- case 'masters':
2223
- return Metric.CLUE_SCROLLS_MASTER;
2224
- case 'lms':
2225
- return Metric.LAST_MAN_STANDING;
2226
- case 'league':
2227
- case 'lp':
2228
- case 'lps':
2229
- return Metric.LEAGUE_POINTS;
2230
- case 'sw':
2231
- case 'zeal':
2232
- case 'soul-wars':
2233
- return Metric.SOUL_WARS_ZEAL;
2234
- case 'rifts-closed':
2235
- case 'gotr':
2236
- case 'rifts':
2237
- return Metric.GUARDIANS_OF_THE_RIFT;
2238
- // Skills
2239
- case 'runecraft':
2240
- case 'rc':
2241
- return Metric.RUNECRAFTING;
2242
- case 'att':
2243
- case 'atk':
2244
- case 'attk':
2245
- return Metric.ATTACK;
2246
- case 'def':
2247
- case 'defense':
2248
- return Metric.DEFENCE;
2249
- case 'str':
2250
- return Metric.STRENGTH;
2251
- case 'hp':
2252
- return Metric.HITPOINTS;
2253
- case 'range':
2254
- return Metric.RANGED;
2255
- case 'pray':
2256
- return Metric.PRAYER;
2257
- case 'mage':
2258
- return Metric.MAGIC;
2259
- case 'cook':
2260
- return Metric.COOKING;
2261
- case 'wc':
2262
- return Metric.WOODCUTTING;
2263
- case 'fletch':
2264
- return Metric.FLETCHING;
2265
- case 'fish':
2266
- return Metric.FISHING;
2267
- case 'fm':
2268
- case 'burning':
2269
- return Metric.FIREMAKING;
2270
- case 'craft':
2271
- return Metric.CRAFTING;
2272
- case 'sm':
2273
- case 'smith':
2274
- return Metric.SMITHING;
2275
- case 'mine':
2276
- case 'smash':
2277
- return Metric.MINING;
2278
- case 'herb':
2279
- return Metric.HERBLORE;
2280
- case 'agi':
2281
- case 'agil':
2282
- return Metric.AGILITY;
2283
- case 'thief':
2284
- return Metric.THIEVING;
2285
- case 'slay':
2286
- return Metric.SLAYER;
2287
- case 'farm':
2288
- return Metric.FARMING;
2289
- case 'hunt':
2290
- case 'hunting':
2291
- return Metric.HUNTER;
2292
- case 'con':
2293
- case 'cons':
2294
- case 'const':
2295
- return Metric.CONSTRUCTION;
2296
- default:
2297
- return null;
2298
- }
2299
- }
2300
2049
 
2301
2050
  const CUSTOM_PERIOD_REGEX = /(\d+y)?(\d+m)?(\d+w)?(\d+d)?(\d+h)?/;
2302
2051
  const PeriodProps = {
@@ -2449,12 +2198,6 @@ exports.EfficiencyAlgorithmType = void 0;
2449
2198
  EfficiencyAlgorithmType["F2P_LVL3_IRONMAN"] = "f2p_lvl3_ironman";
2450
2199
  })(exports.EfficiencyAlgorithmType || (exports.EfficiencyAlgorithmType = {}));
2451
2200
 
2452
- exports.MigrationDataSource = void 0;
2453
- (function (MigrationDataSource) {
2454
- MigrationDataSource[MigrationDataSource["TEMPLE_OSRS"] = 0] = "TEMPLE_OSRS";
2455
- MigrationDataSource[MigrationDataSource["CRYSTAL_MATH_LABS"] = 1] = "CRYSTAL_MATH_LABS";
2456
- })(exports.MigrationDataSource || (exports.MigrationDataSource = {}));
2457
-
2458
2201
  class EfficiencyClient extends BaseAPIClient {
2459
2202
  /**
2460
2203
  * Fetches the current efficiency leaderboard for a specific efficiency metric, playerType, playerBuild and country.
@@ -2706,6 +2449,5 @@ exports.isPlayerStatus = isPlayerStatus;
2706
2449
  exports.isPlayerType = isPlayerType;
2707
2450
  exports.isSkill = isSkill;
2708
2451
  exports.padNumber = padNumber;
2709
- exports.parseMetricAbbreviation = parseMetricAbbreviation;
2710
2452
  exports.parsePeriodExpression = parsePeriodExpression;
2711
2453
  exports.round = round;
package/dist/es/index.js CHANGED
@@ -421,13 +421,6 @@ class PlayersClient extends BaseAPIClient {
421
421
  getPlayerGains(username, options) {
422
422
  return this.getRequest(`/players/${username}/gained`, options);
423
423
  }
424
- /**
425
- * Fetches a player's gains, for a specific period or time range, as an array.
426
- * @returns An array of each metric's gained data.
427
- */
428
- getPlayerGainsAsArray(username, options) {
429
- return this.getRequest(`/players/${username}/gained`, Object.assign(Object.assign({}, options), { formatting: 'array' }));
430
- }
431
424
  /**
432
425
  * Fetches all of the player's records.
433
426
  * @returns A list of records.
@@ -1015,6 +1008,9 @@ const Country = {
1015
1008
  FR: 'FR',
1016
1009
  GA: 'GA',
1017
1010
  GB: 'GB',
1011
+ GB_NIR: 'GB_NIR',
1012
+ GB_SCT: 'GB_SCT',
1013
+ GB_WLS: 'GB_WLS',
1018
1014
  GD: 'GD',
1019
1015
  GE: 'GE',
1020
1016
  GF: 'GF',
@@ -1302,6 +1298,9 @@ const CountryProps = {
1302
1298
  [Country.FR]: { code: 'FR', name: 'France' },
1303
1299
  [Country.GA]: { code: 'GA', name: 'Gabon' },
1304
1300
  [Country.GB]: { code: 'GB', name: 'United Kingdom' },
1301
+ [Country.GB_NIR]: { code: 'GB_NIR', name: 'Northen Ireland' },
1302
+ [Country.GB_SCT]: { code: 'GB_SCT', name: 'Scotland' },
1303
+ [Country.GB_WLS]: { code: 'GB_WLS', name: 'Wales' },
1305
1304
  [Country.GD]: { code: 'GD', name: 'Grenada' },
1306
1305
  [Country.GE]: { code: 'GE', name: 'Georgia' },
1307
1306
  [Country.GF]: { code: 'GF', name: 'French Guiana' },
@@ -2045,256 +2044,6 @@ function getParentEfficiencyMetric(metric) {
2045
2044
  return Metric.EHP;
2046
2045
  return null;
2047
2046
  }
2048
- function parseMetricAbbreviation(abbreviation) {
2049
- if (!abbreviation || abbreviation.length === 0) {
2050
- return null;
2051
- }
2052
- const fixedAbbreviation = abbreviation.toLowerCase();
2053
- if (isMetric(fixedAbbreviation)) {
2054
- return fixedAbbreviation;
2055
- }
2056
- switch (fixedAbbreviation) {
2057
- // Bosses
2058
- case 'sire':
2059
- return Metric.ABYSSAL_SIRE;
2060
- case 'hydra':
2061
- return Metric.ALCHEMICAL_HYDRA;
2062
- case 'barrows':
2063
- return Metric.BARROWS_CHESTS;
2064
- case 'bryo':
2065
- return Metric.BRYOPHYTA;
2066
- case 'cerb':
2067
- return Metric.CERBERUS;
2068
- case 'cox':
2069
- case 'xeric':
2070
- case 'chambers':
2071
- case 'olm':
2072
- case 'raids':
2073
- return Metric.CHAMBERS_OF_XERIC;
2074
- case 'cox-cm':
2075
- case 'xeric-cm':
2076
- case 'chambers-cm':
2077
- case 'olm-cm':
2078
- case 'raids-cm':
2079
- return Metric.CHAMBERS_OF_XERIC_CM;
2080
- case 'chaos-ele':
2081
- return Metric.CHAOS_ELEMENTAL;
2082
- case 'fanatic':
2083
- return Metric.CHAOS_FANATIC;
2084
- case 'sara':
2085
- case 'saradomin':
2086
- case 'zilyana':
2087
- case 'zily':
2088
- return Metric.COMMANDER_ZILYANA;
2089
- case 'corp':
2090
- return Metric.CORPOREAL_BEAST;
2091
- case 'crazy-arch':
2092
- return Metric.CRAZY_ARCHAEOLOGIST;
2093
- case 'prime':
2094
- return Metric.DAGANNOTH_PRIME;
2095
- case 'rex':
2096
- return Metric.DAGANNOTH_REX;
2097
- case 'supreme':
2098
- return Metric.DAGANNOTH_SUPREME;
2099
- case 'deranged-arch':
2100
- return Metric.DERANGED_ARCHAEOLOGIST;
2101
- case 'bandos':
2102
- case 'graardor':
2103
- return Metric.GENERAL_GRAARDOR;
2104
- case 'mole':
2105
- return Metric.GIANT_MOLE;
2106
- case 'dusk':
2107
- case 'dawn':
2108
- case 'gargs':
2109
- case 'guardians':
2110
- case 'ggs':
2111
- return Metric.GROTESQUE_GUARDIANS;
2112
- case 'phantom':
2113
- case 'muspah':
2114
- return Metric.PHANTOM_MUSPAH;
2115
- case 'kq':
2116
- return Metric.KALPHITE_QUEEN;
2117
- case 'kbd':
2118
- return Metric.KING_BLACK_DRAGON;
2119
- case 'kree':
2120
- case 'kreearra':
2121
- case 'armadyl':
2122
- case 'arma':
2123
- return Metric.KREEARRA;
2124
- case 'zammy':
2125
- case 'zamorak':
2126
- case 'kril':
2127
- case 'kril-tsutsaroth':
2128
- return Metric.KRIL_TSUTSAROTH;
2129
- case 'gaunt':
2130
- case 'gauntlet':
2131
- case 'the-gauntlet':
2132
- return Metric.THE_GAUNTLET;
2133
- case 'cgaunt':
2134
- case 'cgauntlet':
2135
- case 'corrupted':
2136
- case 'corrupted-gauntlet':
2137
- case 'the-corrupted-gauntlet':
2138
- return Metric.THE_CORRUPTED_GAUNTLET;
2139
- case 'tob':
2140
- case 'theatre':
2141
- case 'verzik':
2142
- case 'tob-normal':
2143
- return Metric.THEATRE_OF_BLOOD;
2144
- case 'tob-hm':
2145
- case 'tob-cm':
2146
- case 'tob-hard-mode':
2147
- case 'tob-hard':
2148
- return Metric.THEATRE_OF_BLOOD_HARD_MODE;
2149
- case 'toa':
2150
- case 'tombs':
2151
- case 'amascut':
2152
- return Metric.TOMBS_OF_AMASCUT;
2153
- case 'toa-expert':
2154
- case 'toa-hm':
2155
- case 'tombs-expert':
2156
- case 'tombs-hm':
2157
- case 'amascut-expert':
2158
- case 'amascut-hm':
2159
- return Metric.TOMBS_OF_AMASCUT_EXPERT;
2160
- case 'nm':
2161
- case 'tnm':
2162
- case 'nmare':
2163
- case 'the-nightmare':
2164
- return Metric.NIGHTMARE;
2165
- case 'pnm':
2166
- case 'phosani':
2167
- case 'phosanis':
2168
- case 'phosani-nm':
2169
- case 'phosani-nightmare':
2170
- case 'phosanis nightmare':
2171
- return Metric.PHOSANIS_NIGHTMARE;
2172
- case 'thermy':
2173
- case 'smoke-devil':
2174
- return Metric.THERMONUCLEAR_SMOKE_DEVIL;
2175
- case 'zuk':
2176
- case 'inferno':
2177
- return Metric.TZKAL_ZUK;
2178
- case 'jad':
2179
- case 'fight-caves':
2180
- case 'fc':
2181
- return Metric.TZTOK_JAD;
2182
- case 'vork':
2183
- case 'vorky':
2184
- return Metric.VORKATH;
2185
- case 'wt':
2186
- return Metric.WINTERTODT;
2187
- case 'snek':
2188
- case 'zul':
2189
- return Metric.ZULRAH;
2190
- // Minigames and others
2191
- case 'all-clues':
2192
- case 'clues':
2193
- return Metric.CLUE_SCROLLS_ALL;
2194
- case 'beginner':
2195
- case 'beginner-clues':
2196
- case 'beg-clues':
2197
- case 'beginners':
2198
- return Metric.CLUE_SCROLLS_BEGINNER;
2199
- case 'easy':
2200
- case 'easy-clues':
2201
- case 'easies':
2202
- return Metric.CLUE_SCROLLS_EASY;
2203
- case 'medium':
2204
- case 'med':
2205
- case 'meds':
2206
- case 'medium-clues':
2207
- case 'med-clues':
2208
- case 'mediums':
2209
- return Metric.CLUE_SCROLLS_MEDIUM;
2210
- case 'hard':
2211
- case 'hard-clues':
2212
- case 'hards':
2213
- return Metric.CLUE_SCROLLS_HARD;
2214
- case 'elite':
2215
- case 'elite-clues':
2216
- case 'elites':
2217
- return Metric.CLUE_SCROLLS_ELITE;
2218
- case 'master':
2219
- case 'master-clues':
2220
- case 'masters':
2221
- return Metric.CLUE_SCROLLS_MASTER;
2222
- case 'lms':
2223
- return Metric.LAST_MAN_STANDING;
2224
- case 'league':
2225
- case 'lp':
2226
- case 'lps':
2227
- return Metric.LEAGUE_POINTS;
2228
- case 'sw':
2229
- case 'zeal':
2230
- case 'soul-wars':
2231
- return Metric.SOUL_WARS_ZEAL;
2232
- case 'rifts-closed':
2233
- case 'gotr':
2234
- case 'rifts':
2235
- return Metric.GUARDIANS_OF_THE_RIFT;
2236
- // Skills
2237
- case 'runecraft':
2238
- case 'rc':
2239
- return Metric.RUNECRAFTING;
2240
- case 'att':
2241
- case 'atk':
2242
- case 'attk':
2243
- return Metric.ATTACK;
2244
- case 'def':
2245
- case 'defense':
2246
- return Metric.DEFENCE;
2247
- case 'str':
2248
- return Metric.STRENGTH;
2249
- case 'hp':
2250
- return Metric.HITPOINTS;
2251
- case 'range':
2252
- return Metric.RANGED;
2253
- case 'pray':
2254
- return Metric.PRAYER;
2255
- case 'mage':
2256
- return Metric.MAGIC;
2257
- case 'cook':
2258
- return Metric.COOKING;
2259
- case 'wc':
2260
- return Metric.WOODCUTTING;
2261
- case 'fletch':
2262
- return Metric.FLETCHING;
2263
- case 'fish':
2264
- return Metric.FISHING;
2265
- case 'fm':
2266
- case 'burning':
2267
- return Metric.FIREMAKING;
2268
- case 'craft':
2269
- return Metric.CRAFTING;
2270
- case 'sm':
2271
- case 'smith':
2272
- return Metric.SMITHING;
2273
- case 'mine':
2274
- case 'smash':
2275
- return Metric.MINING;
2276
- case 'herb':
2277
- return Metric.HERBLORE;
2278
- case 'agi':
2279
- case 'agil':
2280
- return Metric.AGILITY;
2281
- case 'thief':
2282
- return Metric.THIEVING;
2283
- case 'slay':
2284
- return Metric.SLAYER;
2285
- case 'farm':
2286
- return Metric.FARMING;
2287
- case 'hunt':
2288
- case 'hunting':
2289
- return Metric.HUNTER;
2290
- case 'con':
2291
- case 'cons':
2292
- case 'const':
2293
- return Metric.CONSTRUCTION;
2294
- default:
2295
- return null;
2296
- }
2297
- }
2298
2047
 
2299
2048
  const CUSTOM_PERIOD_REGEX = /(\d+y)?(\d+m)?(\d+w)?(\d+d)?(\d+h)?/;
2300
2049
  const PeriodProps = {
@@ -2447,12 +2196,6 @@ var EfficiencyAlgorithmType;
2447
2196
  EfficiencyAlgorithmType["F2P_LVL3_IRONMAN"] = "f2p_lvl3_ironman";
2448
2197
  })(EfficiencyAlgorithmType || (EfficiencyAlgorithmType = {}));
2449
2198
 
2450
- var MigrationDataSource;
2451
- (function (MigrationDataSource) {
2452
- MigrationDataSource[MigrationDataSource["TEMPLE_OSRS"] = 0] = "TEMPLE_OSRS";
2453
- MigrationDataSource[MigrationDataSource["CRYSTAL_MATH_LABS"] = 1] = "CRYSTAL_MATH_LABS";
2454
- })(MigrationDataSource || (MigrationDataSource = {}));
2455
-
2456
2199
  class EfficiencyClient extends BaseAPIClient {
2457
2200
  /**
2458
2201
  * Fetches the current efficiency leaderboard for a specific efficiency metric, playerType, playerBuild and country.
@@ -2624,4 +2367,4 @@ class WOMClient extends BaseAPIClient {
2624
2367
  }
2625
2368
  }
2626
2369
 
2627
- export { ACTIVITIES, Activity, ActivityType, BOSSES, Boss, CAPPED_MAX_TOTAL_XP, COMBAT_SKILLS, COMPETITION_STATUSES, COMPETITION_TYPES, COMPUTED_METRICS, COUNTRY_CODES, CompetitionCSVTableType, CompetitionStatus, CompetitionStatusProps, CompetitionType, CompetitionTypeProps, ComputedMetric, Country, CountryProps, EfficiencyAlgorithmType, F2P_BOSSES, GROUP_ROLES, GroupRole, GroupRoleProps, MAX_LEVEL, MAX_SKILL_EXP, MAX_VIRTUAL_LEVEL, MEMBER_SKILLS, METRICS, Metric, MetricMeasure, MetricProps, MetricType, MigrationDataSource, NameChangeStatus, PERIODS, PLAYER_BUILDS, PLAYER_STATUSES, PLAYER_TYPES, PRIVELEGED_GROUP_ROLES, Period, PeriodProps, PlayerBuild, PlayerBuildProps, PlayerStatus, PlayerStatusProps, PlayerType, PlayerTypeProps, REAL_METRICS, REAL_SKILLS, SKILLS, SKILL_EXP_AT_99, Skill, WOMClient, findCountry, findCountryByCode, findCountryByName, findGroupRole, findMetric, findPeriod, findPlayerBuild, findPlayerType, formatNumber, getCombatLevel, getExpForLevel, getLevel, getMetricMeasure, getMetricName, getMetricRankKey, getMetricValueKey, getMinimumValue, getParentEfficiencyMetric, isActivity, isBoss, isCompetitionStatus, isCompetitionType, isComputedMetric, isCountry, isGroupRole, isMetric, isPeriod, isPlayerBuild, isPlayerStatus, isPlayerType, isSkill, padNumber, parseMetricAbbreviation, parsePeriodExpression, round };
2370
+ export { ACTIVITIES, Activity, ActivityType, BOSSES, Boss, CAPPED_MAX_TOTAL_XP, COMBAT_SKILLS, COMPETITION_STATUSES, COMPETITION_TYPES, COMPUTED_METRICS, COUNTRY_CODES, CompetitionCSVTableType, CompetitionStatus, CompetitionStatusProps, CompetitionType, CompetitionTypeProps, ComputedMetric, Country, CountryProps, EfficiencyAlgorithmType, F2P_BOSSES, GROUP_ROLES, GroupRole, GroupRoleProps, MAX_LEVEL, MAX_SKILL_EXP, MAX_VIRTUAL_LEVEL, MEMBER_SKILLS, METRICS, Metric, MetricMeasure, MetricProps, MetricType, NameChangeStatus, PERIODS, PLAYER_BUILDS, PLAYER_STATUSES, PLAYER_TYPES, PRIVELEGED_GROUP_ROLES, Period, PeriodProps, PlayerBuild, PlayerBuildProps, PlayerStatus, PlayerStatusProps, PlayerType, PlayerTypeProps, REAL_METRICS, REAL_SKILLS, SKILLS, SKILL_EXP_AT_99, Skill, WOMClient, findCountry, findCountryByCode, findCountryByName, findGroupRole, findMetric, findPeriod, findPlayerBuild, findPlayerType, formatNumber, getCombatLevel, getExpForLevel, getLevel, getMetricMeasure, getMetricName, getMetricRankKey, getMetricValueKey, getMinimumValue, getParentEfficiencyMetric, isActivity, isBoss, isCompetitionStatus, isCompetitionType, isComputedMetric, isCountry, isGroupRole, isMetric, isPeriod, isPlayerBuild, isPlayerStatus, isPlayerType, isSkill, padNumber, parsePeriodExpression, round };
package/dist/es/index.mjs CHANGED
@@ -421,13 +421,6 @@ class PlayersClient extends BaseAPIClient {
421
421
  getPlayerGains(username, options) {
422
422
  return this.getRequest(`/players/${username}/gained`, options);
423
423
  }
424
- /**
425
- * Fetches a player's gains, for a specific period or time range, as an array.
426
- * @returns An array of each metric's gained data.
427
- */
428
- getPlayerGainsAsArray(username, options) {
429
- return this.getRequest(`/players/${username}/gained`, Object.assign(Object.assign({}, options), { formatting: 'array' }));
430
- }
431
424
  /**
432
425
  * Fetches all of the player's records.
433
426
  * @returns A list of records.
@@ -1015,6 +1008,9 @@ const Country = {
1015
1008
  FR: 'FR',
1016
1009
  GA: 'GA',
1017
1010
  GB: 'GB',
1011
+ GB_NIR: 'GB_NIR',
1012
+ GB_SCT: 'GB_SCT',
1013
+ GB_WLS: 'GB_WLS',
1018
1014
  GD: 'GD',
1019
1015
  GE: 'GE',
1020
1016
  GF: 'GF',
@@ -1302,6 +1298,9 @@ const CountryProps = {
1302
1298
  [Country.FR]: { code: 'FR', name: 'France' },
1303
1299
  [Country.GA]: { code: 'GA', name: 'Gabon' },
1304
1300
  [Country.GB]: { code: 'GB', name: 'United Kingdom' },
1301
+ [Country.GB_NIR]: { code: 'GB_NIR', name: 'Northen Ireland' },
1302
+ [Country.GB_SCT]: { code: 'GB_SCT', name: 'Scotland' },
1303
+ [Country.GB_WLS]: { code: 'GB_WLS', name: 'Wales' },
1305
1304
  [Country.GD]: { code: 'GD', name: 'Grenada' },
1306
1305
  [Country.GE]: { code: 'GE', name: 'Georgia' },
1307
1306
  [Country.GF]: { code: 'GF', name: 'French Guiana' },
@@ -2045,256 +2044,6 @@ function getParentEfficiencyMetric(metric) {
2045
2044
  return Metric.EHP;
2046
2045
  return null;
2047
2046
  }
2048
- function parseMetricAbbreviation(abbreviation) {
2049
- if (!abbreviation || abbreviation.length === 0) {
2050
- return null;
2051
- }
2052
- const fixedAbbreviation = abbreviation.toLowerCase();
2053
- if (isMetric(fixedAbbreviation)) {
2054
- return fixedAbbreviation;
2055
- }
2056
- switch (fixedAbbreviation) {
2057
- // Bosses
2058
- case 'sire':
2059
- return Metric.ABYSSAL_SIRE;
2060
- case 'hydra':
2061
- return Metric.ALCHEMICAL_HYDRA;
2062
- case 'barrows':
2063
- return Metric.BARROWS_CHESTS;
2064
- case 'bryo':
2065
- return Metric.BRYOPHYTA;
2066
- case 'cerb':
2067
- return Metric.CERBERUS;
2068
- case 'cox':
2069
- case 'xeric':
2070
- case 'chambers':
2071
- case 'olm':
2072
- case 'raids':
2073
- return Metric.CHAMBERS_OF_XERIC;
2074
- case 'cox-cm':
2075
- case 'xeric-cm':
2076
- case 'chambers-cm':
2077
- case 'olm-cm':
2078
- case 'raids-cm':
2079
- return Metric.CHAMBERS_OF_XERIC_CM;
2080
- case 'chaos-ele':
2081
- return Metric.CHAOS_ELEMENTAL;
2082
- case 'fanatic':
2083
- return Metric.CHAOS_FANATIC;
2084
- case 'sara':
2085
- case 'saradomin':
2086
- case 'zilyana':
2087
- case 'zily':
2088
- return Metric.COMMANDER_ZILYANA;
2089
- case 'corp':
2090
- return Metric.CORPOREAL_BEAST;
2091
- case 'crazy-arch':
2092
- return Metric.CRAZY_ARCHAEOLOGIST;
2093
- case 'prime':
2094
- return Metric.DAGANNOTH_PRIME;
2095
- case 'rex':
2096
- return Metric.DAGANNOTH_REX;
2097
- case 'supreme':
2098
- return Metric.DAGANNOTH_SUPREME;
2099
- case 'deranged-arch':
2100
- return Metric.DERANGED_ARCHAEOLOGIST;
2101
- case 'bandos':
2102
- case 'graardor':
2103
- return Metric.GENERAL_GRAARDOR;
2104
- case 'mole':
2105
- return Metric.GIANT_MOLE;
2106
- case 'dusk':
2107
- case 'dawn':
2108
- case 'gargs':
2109
- case 'guardians':
2110
- case 'ggs':
2111
- return Metric.GROTESQUE_GUARDIANS;
2112
- case 'phantom':
2113
- case 'muspah':
2114
- return Metric.PHANTOM_MUSPAH;
2115
- case 'kq':
2116
- return Metric.KALPHITE_QUEEN;
2117
- case 'kbd':
2118
- return Metric.KING_BLACK_DRAGON;
2119
- case 'kree':
2120
- case 'kreearra':
2121
- case 'armadyl':
2122
- case 'arma':
2123
- return Metric.KREEARRA;
2124
- case 'zammy':
2125
- case 'zamorak':
2126
- case 'kril':
2127
- case 'kril-tsutsaroth':
2128
- return Metric.KRIL_TSUTSAROTH;
2129
- case 'gaunt':
2130
- case 'gauntlet':
2131
- case 'the-gauntlet':
2132
- return Metric.THE_GAUNTLET;
2133
- case 'cgaunt':
2134
- case 'cgauntlet':
2135
- case 'corrupted':
2136
- case 'corrupted-gauntlet':
2137
- case 'the-corrupted-gauntlet':
2138
- return Metric.THE_CORRUPTED_GAUNTLET;
2139
- case 'tob':
2140
- case 'theatre':
2141
- case 'verzik':
2142
- case 'tob-normal':
2143
- return Metric.THEATRE_OF_BLOOD;
2144
- case 'tob-hm':
2145
- case 'tob-cm':
2146
- case 'tob-hard-mode':
2147
- case 'tob-hard':
2148
- return Metric.THEATRE_OF_BLOOD_HARD_MODE;
2149
- case 'toa':
2150
- case 'tombs':
2151
- case 'amascut':
2152
- return Metric.TOMBS_OF_AMASCUT;
2153
- case 'toa-expert':
2154
- case 'toa-hm':
2155
- case 'tombs-expert':
2156
- case 'tombs-hm':
2157
- case 'amascut-expert':
2158
- case 'amascut-hm':
2159
- return Metric.TOMBS_OF_AMASCUT_EXPERT;
2160
- case 'nm':
2161
- case 'tnm':
2162
- case 'nmare':
2163
- case 'the-nightmare':
2164
- return Metric.NIGHTMARE;
2165
- case 'pnm':
2166
- case 'phosani':
2167
- case 'phosanis':
2168
- case 'phosani-nm':
2169
- case 'phosani-nightmare':
2170
- case 'phosanis nightmare':
2171
- return Metric.PHOSANIS_NIGHTMARE;
2172
- case 'thermy':
2173
- case 'smoke-devil':
2174
- return Metric.THERMONUCLEAR_SMOKE_DEVIL;
2175
- case 'zuk':
2176
- case 'inferno':
2177
- return Metric.TZKAL_ZUK;
2178
- case 'jad':
2179
- case 'fight-caves':
2180
- case 'fc':
2181
- return Metric.TZTOK_JAD;
2182
- case 'vork':
2183
- case 'vorky':
2184
- return Metric.VORKATH;
2185
- case 'wt':
2186
- return Metric.WINTERTODT;
2187
- case 'snek':
2188
- case 'zul':
2189
- return Metric.ZULRAH;
2190
- // Minigames and others
2191
- case 'all-clues':
2192
- case 'clues':
2193
- return Metric.CLUE_SCROLLS_ALL;
2194
- case 'beginner':
2195
- case 'beginner-clues':
2196
- case 'beg-clues':
2197
- case 'beginners':
2198
- return Metric.CLUE_SCROLLS_BEGINNER;
2199
- case 'easy':
2200
- case 'easy-clues':
2201
- case 'easies':
2202
- return Metric.CLUE_SCROLLS_EASY;
2203
- case 'medium':
2204
- case 'med':
2205
- case 'meds':
2206
- case 'medium-clues':
2207
- case 'med-clues':
2208
- case 'mediums':
2209
- return Metric.CLUE_SCROLLS_MEDIUM;
2210
- case 'hard':
2211
- case 'hard-clues':
2212
- case 'hards':
2213
- return Metric.CLUE_SCROLLS_HARD;
2214
- case 'elite':
2215
- case 'elite-clues':
2216
- case 'elites':
2217
- return Metric.CLUE_SCROLLS_ELITE;
2218
- case 'master':
2219
- case 'master-clues':
2220
- case 'masters':
2221
- return Metric.CLUE_SCROLLS_MASTER;
2222
- case 'lms':
2223
- return Metric.LAST_MAN_STANDING;
2224
- case 'league':
2225
- case 'lp':
2226
- case 'lps':
2227
- return Metric.LEAGUE_POINTS;
2228
- case 'sw':
2229
- case 'zeal':
2230
- case 'soul-wars':
2231
- return Metric.SOUL_WARS_ZEAL;
2232
- case 'rifts-closed':
2233
- case 'gotr':
2234
- case 'rifts':
2235
- return Metric.GUARDIANS_OF_THE_RIFT;
2236
- // Skills
2237
- case 'runecraft':
2238
- case 'rc':
2239
- return Metric.RUNECRAFTING;
2240
- case 'att':
2241
- case 'atk':
2242
- case 'attk':
2243
- return Metric.ATTACK;
2244
- case 'def':
2245
- case 'defense':
2246
- return Metric.DEFENCE;
2247
- case 'str':
2248
- return Metric.STRENGTH;
2249
- case 'hp':
2250
- return Metric.HITPOINTS;
2251
- case 'range':
2252
- return Metric.RANGED;
2253
- case 'pray':
2254
- return Metric.PRAYER;
2255
- case 'mage':
2256
- return Metric.MAGIC;
2257
- case 'cook':
2258
- return Metric.COOKING;
2259
- case 'wc':
2260
- return Metric.WOODCUTTING;
2261
- case 'fletch':
2262
- return Metric.FLETCHING;
2263
- case 'fish':
2264
- return Metric.FISHING;
2265
- case 'fm':
2266
- case 'burning':
2267
- return Metric.FIREMAKING;
2268
- case 'craft':
2269
- return Metric.CRAFTING;
2270
- case 'sm':
2271
- case 'smith':
2272
- return Metric.SMITHING;
2273
- case 'mine':
2274
- case 'smash':
2275
- return Metric.MINING;
2276
- case 'herb':
2277
- return Metric.HERBLORE;
2278
- case 'agi':
2279
- case 'agil':
2280
- return Metric.AGILITY;
2281
- case 'thief':
2282
- return Metric.THIEVING;
2283
- case 'slay':
2284
- return Metric.SLAYER;
2285
- case 'farm':
2286
- return Metric.FARMING;
2287
- case 'hunt':
2288
- case 'hunting':
2289
- return Metric.HUNTER;
2290
- case 'con':
2291
- case 'cons':
2292
- case 'const':
2293
- return Metric.CONSTRUCTION;
2294
- default:
2295
- return null;
2296
- }
2297
- }
2298
2047
 
2299
2048
  const CUSTOM_PERIOD_REGEX = /(\d+y)?(\d+m)?(\d+w)?(\d+d)?(\d+h)?/;
2300
2049
  const PeriodProps = {
@@ -2447,12 +2196,6 @@ var EfficiencyAlgorithmType;
2447
2196
  EfficiencyAlgorithmType["F2P_LVL3_IRONMAN"] = "f2p_lvl3_ironman";
2448
2197
  })(EfficiencyAlgorithmType || (EfficiencyAlgorithmType = {}));
2449
2198
 
2450
- var MigrationDataSource;
2451
- (function (MigrationDataSource) {
2452
- MigrationDataSource[MigrationDataSource["TEMPLE_OSRS"] = 0] = "TEMPLE_OSRS";
2453
- MigrationDataSource[MigrationDataSource["CRYSTAL_MATH_LABS"] = 1] = "CRYSTAL_MATH_LABS";
2454
- })(MigrationDataSource || (MigrationDataSource = {}));
2455
-
2456
2199
  class EfficiencyClient extends BaseAPIClient {
2457
2200
  /**
2458
2201
  * Fetches the current efficiency leaderboard for a specific efficiency metric, playerType, playerBuild and country.
@@ -2624,4 +2367,4 @@ class WOMClient extends BaseAPIClient {
2624
2367
  }
2625
2368
  }
2626
2369
 
2627
- export { ACTIVITIES, Activity, ActivityType, BOSSES, Boss, CAPPED_MAX_TOTAL_XP, COMBAT_SKILLS, COMPETITION_STATUSES, COMPETITION_TYPES, COMPUTED_METRICS, COUNTRY_CODES, CompetitionCSVTableType, CompetitionStatus, CompetitionStatusProps, CompetitionType, CompetitionTypeProps, ComputedMetric, Country, CountryProps, EfficiencyAlgorithmType, F2P_BOSSES, GROUP_ROLES, GroupRole, GroupRoleProps, MAX_LEVEL, MAX_SKILL_EXP, MAX_VIRTUAL_LEVEL, MEMBER_SKILLS, METRICS, Metric, MetricMeasure, MetricProps, MetricType, MigrationDataSource, NameChangeStatus, PERIODS, PLAYER_BUILDS, PLAYER_STATUSES, PLAYER_TYPES, PRIVELEGED_GROUP_ROLES, Period, PeriodProps, PlayerBuild, PlayerBuildProps, PlayerStatus, PlayerStatusProps, PlayerType, PlayerTypeProps, REAL_METRICS, REAL_SKILLS, SKILLS, SKILL_EXP_AT_99, Skill, WOMClient, findCountry, findCountryByCode, findCountryByName, findGroupRole, findMetric, findPeriod, findPlayerBuild, findPlayerType, formatNumber, getCombatLevel, getExpForLevel, getLevel, getMetricMeasure, getMetricName, getMetricRankKey, getMetricValueKey, getMinimumValue, getParentEfficiencyMetric, isActivity, isBoss, isCompetitionStatus, isCompetitionType, isComputedMetric, isCountry, isGroupRole, isMetric, isPeriod, isPlayerBuild, isPlayerStatus, isPlayerType, isSkill, padNumber, parseMetricAbbreviation, parsePeriodExpression, round };
2370
+ export { ACTIVITIES, Activity, ActivityType, BOSSES, Boss, CAPPED_MAX_TOTAL_XP, COMBAT_SKILLS, COMPETITION_STATUSES, COMPETITION_TYPES, COMPUTED_METRICS, COUNTRY_CODES, CompetitionCSVTableType, CompetitionStatus, CompetitionStatusProps, CompetitionType, CompetitionTypeProps, ComputedMetric, Country, CountryProps, EfficiencyAlgorithmType, F2P_BOSSES, GROUP_ROLES, GroupRole, GroupRoleProps, MAX_LEVEL, MAX_SKILL_EXP, MAX_VIRTUAL_LEVEL, MEMBER_SKILLS, METRICS, Metric, MetricMeasure, MetricProps, MetricType, NameChangeStatus, PERIODS, PLAYER_BUILDS, PLAYER_STATUSES, PLAYER_TYPES, PRIVELEGED_GROUP_ROLES, Period, PeriodProps, PlayerBuild, PlayerBuildProps, PlayerStatus, PlayerStatusProps, PlayerType, PlayerTypeProps, REAL_METRICS, REAL_SKILLS, SKILLS, SKILL_EXP_AT_99, Skill, WOMClient, findCountry, findCountryByCode, findCountryByName, findGroupRole, findMetric, findPeriod, findPlayerBuild, findPlayerType, formatNumber, getCombatLevel, getExpForLevel, getLevel, getMetricMeasure, getMetricName, getMetricRankKey, getMetricValueKey, getMinimumValue, getParentEfficiencyMetric, isActivity, isBoss, isCompetitionStatus, isCompetitionType, isComputedMetric, isCountry, isGroupRole, isMetric, isPeriod, isPlayerBuild, isPlayerStatus, isPlayerType, isSkill, padNumber, parsePeriodExpression, round };
package/dist/index.d.ts CHANGED
@@ -987,6 +987,9 @@ declare const Country: {
987
987
  readonly FR: "FR";
988
988
  readonly GA: "GA";
989
989
  readonly GB: "GB";
990
+ readonly GB_NIR: "GB_NIR";
991
+ readonly GB_SCT: "GB_SCT";
992
+ readonly GB_WLS: "GB_WLS";
990
993
  readonly GD: "GD";
991
994
  readonly GE: "GE";
992
995
  readonly GF: "GF";
@@ -1242,12 +1245,6 @@ interface ComputedMetricDelta {
1242
1245
  rank: MeasuredDeltaProgress;
1243
1246
  value: MeasuredDeltaProgress;
1244
1247
  }
1245
- interface PlayerDeltasArray {
1246
- skills: Array<SkillDelta>;
1247
- bosses: Array<BossDelta>;
1248
- activities: Array<ActivityDelta>;
1249
- computed: Array<ComputedMetricDelta>;
1250
- }
1251
1248
  interface PlayerDeltasMap {
1252
1249
  skills: MapOf<Skill, SkillDelta>;
1253
1250
  bosses: MapOf<Boss, BossDelta>;
@@ -1373,19 +1370,6 @@ interface GroupStatistics {
1373
1370
  averageStats: FormattedSnapshot;
1374
1371
  metricLeaders: MetricLeaders;
1375
1372
  }
1376
- declare enum MigrationDataSource {
1377
- TEMPLE_OSRS = 0,
1378
- CRYSTAL_MATH_LABS = 1
1379
- }
1380
- interface CMLGroupData {
1381
- name: string;
1382
- members: string[];
1383
- }
1384
- interface TempleGroupData {
1385
- name: string;
1386
- members: string[];
1387
- leaders: string[];
1388
- }
1389
1373
  type MemberRoleChangeEvent = Omit<MemberActivity, 'createdAt'>;
1390
1374
  type MemberJoinedEvent = Omit<MemberActivity, 'createdAt' | 'previousRole'>;
1391
1375
  type MemberLeftEvent = Omit<MemberActivity, 'createdAt' | 'previousRole'>;
@@ -1571,7 +1555,7 @@ interface CountryDetails {
1571
1555
  name: string;
1572
1556
  }
1573
1557
  declare const CountryProps: MapOf<Country, CountryDetails>;
1574
- declare const COUNTRY_CODES: ("AD" | "AE" | "AF" | "AG" | "AI" | "AL" | "AM" | "AO" | "AQ" | "AR" | "AS" | "AT" | "AU" | "AW" | "AX" | "AZ" | "BA" | "BB" | "BD" | "BE" | "BF" | "BG" | "BH" | "BI" | "BJ" | "BL" | "BM" | "BN" | "BO" | "BQ" | "BR" | "BS" | "BT" | "BV" | "BW" | "BY" | "BZ" | "CA" | "CC" | "CD" | "CF" | "CG" | "CH" | "CI" | "CK" | "CL" | "CM" | "CN" | "CO" | "CR" | "CU" | "CV" | "CW" | "CX" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EE" | "EG" | "EH" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FK" | "FM" | "FO" | "FR" | "GA" | "GB" | "GD" | "GE" | "GF" | "GG" | "GH" | "GI" | "GL" | "GM" | "GN" | "GP" | "GQ" | "GR" | "GS" | "GT" | "GU" | "GW" | "GY" | "HK" | "HM" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IM" | "IN" | "IO" | "IQ" | "IR" | "IS" | "IT" | "JE" | "JM" | "JO" | "JP" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KP" | "KR" | "KW" | "KY" | "KZ" | "LA" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MA" | "MC" | "MD" | "ME" | "MF" | "MG" | "MH" | "MK" | "ML" | "MM" | "MN" | "MO" | "MP" | "MQ" | "MR" | "MS" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY" | "MZ" | "NA" | "NC" | "NE" | "NF" | "NG" | "NI" | "NL" | "NO" | "NP" | "NR" | "NU" | "NZ" | "OM" | "PA" | "PE" | "PF" | "PG" | "PH" | "PK" | "PL" | "PM" | "PN" | "PR" | "PS" | "PT" | "PW" | "PY" | "QA" | "RE" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SC" | "SD" | "SE" | "SG" | "SH" | "SI" | "SJ" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "ST" | "SV" | "SX" | "SY" | "SZ" | "TC" | "TD" | "TF" | "TG" | "TH" | "TJ" | "TK" | "TL" | "TM" | "TN" | "TO" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "UM" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VG" | "VI" | "VN" | "VU" | "WF" | "WS" | "YE" | "YT" | "ZA" | "ZM" | "ZW")[];
1558
+ declare const COUNTRY_CODES: ("AD" | "AE" | "AF" | "AG" | "AI" | "AL" | "AM" | "AO" | "AQ" | "AR" | "AS" | "AT" | "AU" | "AW" | "AX" | "AZ" | "BA" | "BB" | "BD" | "BE" | "BF" | "BG" | "BH" | "BI" | "BJ" | "BL" | "BM" | "BN" | "BO" | "BQ" | "BR" | "BS" | "BT" | "BV" | "BW" | "BY" | "BZ" | "CA" | "CC" | "CD" | "CF" | "CG" | "CH" | "CI" | "CK" | "CL" | "CM" | "CN" | "CO" | "CR" | "CU" | "CV" | "CW" | "CX" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EE" | "EG" | "EH" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FK" | "FM" | "FO" | "FR" | "GA" | "GB" | "GB_NIR" | "GB_SCT" | "GB_WLS" | "GD" | "GE" | "GF" | "GG" | "GH" | "GI" | "GL" | "GM" | "GN" | "GP" | "GQ" | "GR" | "GS" | "GT" | "GU" | "GW" | "GY" | "HK" | "HM" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IM" | "IN" | "IO" | "IQ" | "IR" | "IS" | "IT" | "JE" | "JM" | "JO" | "JP" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KP" | "KR" | "KW" | "KY" | "KZ" | "LA" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MA" | "MC" | "MD" | "ME" | "MF" | "MG" | "MH" | "MK" | "ML" | "MM" | "MN" | "MO" | "MP" | "MQ" | "MR" | "MS" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY" | "MZ" | "NA" | "NC" | "NE" | "NF" | "NG" | "NI" | "NL" | "NO" | "NP" | "NR" | "NU" | "NZ" | "OM" | "PA" | "PE" | "PF" | "PG" | "PH" | "PK" | "PL" | "PM" | "PN" | "PR" | "PS" | "PT" | "PW" | "PY" | "QA" | "RE" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SC" | "SD" | "SE" | "SG" | "SH" | "SI" | "SJ" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "ST" | "SV" | "SX" | "SY" | "SZ" | "TC" | "TD" | "TF" | "TG" | "TH" | "TJ" | "TK" | "TL" | "TM" | "TN" | "TO" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "UM" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VG" | "VI" | "VN" | "VU" | "WF" | "WS" | "YE" | "YT" | "ZA" | "ZM" | "ZW")[];
1575
1559
  declare function isCountry(countryCodeString: string): countryCodeString is Country;
1576
1560
  declare function findCountry(countryIdentifier: string): CountryDetails | undefined;
1577
1561
  declare function findCountryByName(countryName: string): CountryDetails | undefined;
@@ -1760,7 +1744,6 @@ declare function getMetricMeasure(metric: Metric): MetricMeasure;
1760
1744
  declare function getMetricName(metric: Metric): string;
1761
1745
  declare function getMinimumValue(metric: Metric): number;
1762
1746
  declare function getParentEfficiencyMetric(metric: Metric): "ehp" | "ehb";
1763
- declare function parseMetricAbbreviation(abbreviation: string): Metric | null;
1764
1747
 
1765
1748
  type PeriodPropsMap = MapOf<Period, {
1766
1749
  name: string;
@@ -1916,11 +1899,11 @@ interface AssertPlayerTypeResponse {
1916
1899
  player: Player;
1917
1900
  changed: boolean;
1918
1901
  }
1919
- type GetPlayerGainsResponse<T extends PlayerDeltasArray | PlayerDeltasMap> = {
1902
+ interface GetPlayerGainsResponse {
1920
1903
  startsAt: Date;
1921
1904
  endsAt: Date;
1922
- data: T;
1923
- };
1905
+ data: PlayerDeltasMap;
1906
+ }
1924
1907
  /**
1925
1908
  * Efficiency Client Types
1926
1909
  */
@@ -2108,12 +2091,7 @@ declare class PlayersClient extends BaseAPIClient {
2108
2091
  * Fetches a player's gains, for a specific period or time range, as a [metric: data] map.
2109
2092
  * @returns A map of each metric's gained data.
2110
2093
  */
2111
- getPlayerGains(username: string, options: TimeRangeFilter): Promise<GetPlayerGainsResponse<PlayerDeltasMap>>;
2112
- /**
2113
- * Fetches a player's gains, for a specific period or time range, as an array.
2114
- * @returns An array of each metric's gained data.
2115
- */
2116
- getPlayerGainsAsArray(username: string, options: TimeRangeFilter): Promise<GetPlayerGainsResponse<PlayerDeltasArray>>;
2094
+ getPlayerGains(username: string, options: TimeRangeFilter): Promise<GetPlayerGainsResponse>;
2117
2095
  /**
2118
2096
  * Fetches all of the player's records.
2119
2097
  * @returns A list of records.
@@ -2264,4 +2242,4 @@ declare class WOMClient extends BaseAPIClient {
2264
2242
  constructor(options?: WOMClientOptions);
2265
2243
  }
2266
2244
 
2267
- export { ACTIVITIES, type Achievement, type AchievementDefinition, type AchievementProgress, type AchievementTemplate, Activity, type ActivityDelta, ActivityType, type ActivityValue, type AssertPlayerTypeResponse, BOSSES, type Bonus, Boss, type BossDelta, type BossMetaConfig, type BossValue, CAPPED_MAX_TOTAL_XP, type CMLGroupData, COMBAT_SKILLS, COMPETITION_STATUSES, COMPETITION_TYPES, COMPUTED_METRICS, COUNTRY_CODES, type ChangeMemberRolePayload, CompetitionCSVTableType, type CompetitionDetails, type CompetitionDetailsCSVParams, type CompetitionListItem, CompetitionStatus, CompetitionStatusProps, CompetitionType, CompetitionTypeProps, type CompetitionWithParticipations, type CompetitionsSearchFilter, ComputedMetric, type ComputedMetricDelta, type ComputedMetricValue, Country, type CountryDetails, CountryProps, type CreateCompetitionPayload, type CreateCompetitionResponse, type CreateGroupPayload, type CreateGroupResponse, type DeltaGroupLeaderboardEntry, type DeltaLeaderboardEntry, type DeltaLeaderboardFilter, type DenyContext, type EditCompetitionPayload, type EditGroupPayload, EfficiencyAlgorithmType, type EfficiencyAlgorithmTypeUnion, type EfficiencyLeaderboardsFilter, type ExtendedAchievement, type ExtendedAchievementWithPlayer, F2P_BOSSES, type FlaggedPlayerReviewContext, type FormattedSnapshot, GROUP_ROLES, type GenericCountMessageResponse, type GenericMessageResponse, type GetGroupGainsFilter, type GetPlayerGainsResponse, type GroupDetails, type GroupHiscoresActivityItem, type GroupHiscoresBossItem, type GroupHiscoresComputedMetricItem, type GroupHiscoresEntry, type GroupHiscoresSkillItem, type GroupListItem, type GroupMemberFragment, type GroupRecordsFilter, GroupRole, GroupRoleProps, type GroupStatistics, MAX_LEVEL, MAX_SKILL_EXP, MAX_VIRTUAL_LEVEL, MEMBER_SKILLS, METRICS, type MapOf, type MeasuredDeltaProgress, type MemberActivityWithPlayer, type MemberInput, type MemberJoinedEvent, type MemberLeftEvent, type MemberRoleChangeEvent, type MembershipWithGroup, type MembershipWithPlayer, Metric, type MetricLeaders, MetricMeasure, MetricProps, MetricType, type MetricValueKey, MigrationDataSource, type NameChange, type NameChangeDetails, NameChangeStatus, type NameChangeWithPlayer, type NameChangesSearchFilter, PERIODS, PLAYER_BUILDS, PLAYER_STATUSES, PLAYER_TYPES, PRIVELEGED_GROUP_ROLES, type ParticipationWithCompetition, type ParticipationWithCompetitionAndStandings, type ParticipationWithPlayer, type ParticipationWithPlayerAndProgress, Period, PeriodProps, type Player, type PlayerArchiveWithPlayer, PlayerBuild, PlayerBuildProps, type PlayerCompetitionStandingsFilter, type PlayerCompetitionsFilter, type PlayerDeltasArray, type PlayerDeltasMap, type PlayerDetails, type PlayerRecordsFilter, PlayerStatus, PlayerStatusProps, PlayerType, PlayerTypeProps, REAL_METRICS, REAL_SKILLS, type Record, type RecordLeaderboardEntry, type RecordLeaderboardFilter, SKILLS, SKILL_EXP_AT_99, Skill, type SkillDelta, type SkillMetaConfig, type SkillMetaMethod, type SkillValue, type SkipContext, type Snapshot, type SnapshotFragment, type Team, type TempleGroupData, type TimeRangeFilter, type Top5ProgressResult, WOMClient, findCountry, findCountryByCode, findCountryByName, findGroupRole, findMetric, findPeriod, findPlayerBuild, findPlayerType, formatNumber, getCombatLevel, getExpForLevel, getLevel, getMetricMeasure, getMetricName, getMetricRankKey, getMetricValueKey, getMinimumValue, getParentEfficiencyMetric, isActivity, isBoss, isCompetitionStatus, isCompetitionType, isComputedMetric, isCountry, isGroupRole, isMetric, isPeriod, isPlayerBuild, isPlayerStatus, isPlayerType, isSkill, padNumber, parseMetricAbbreviation, parsePeriodExpression, round };
2245
+ export { ACTIVITIES, type Achievement, type AchievementDefinition, type AchievementProgress, type AchievementTemplate, Activity, type ActivityDelta, ActivityType, type ActivityValue, type AssertPlayerTypeResponse, BOSSES, type Bonus, Boss, type BossDelta, type BossMetaConfig, type BossValue, CAPPED_MAX_TOTAL_XP, COMBAT_SKILLS, COMPETITION_STATUSES, COMPETITION_TYPES, COMPUTED_METRICS, COUNTRY_CODES, type ChangeMemberRolePayload, CompetitionCSVTableType, type CompetitionDetails, type CompetitionDetailsCSVParams, type CompetitionListItem, CompetitionStatus, CompetitionStatusProps, CompetitionType, CompetitionTypeProps, type CompetitionWithParticipations, type CompetitionsSearchFilter, ComputedMetric, type ComputedMetricDelta, type ComputedMetricValue, Country, type CountryDetails, CountryProps, type CreateCompetitionPayload, type CreateCompetitionResponse, type CreateGroupPayload, type CreateGroupResponse, type DeltaGroupLeaderboardEntry, type DeltaLeaderboardEntry, type DeltaLeaderboardFilter, type DenyContext, type EditCompetitionPayload, type EditGroupPayload, EfficiencyAlgorithmType, type EfficiencyAlgorithmTypeUnion, type EfficiencyLeaderboardsFilter, type ExtendedAchievement, type ExtendedAchievementWithPlayer, F2P_BOSSES, type FlaggedPlayerReviewContext, type FormattedSnapshot, GROUP_ROLES, type GenericCountMessageResponse, type GenericMessageResponse, type GetGroupGainsFilter, type GetPlayerGainsResponse, type GroupDetails, type GroupHiscoresActivityItem, type GroupHiscoresBossItem, type GroupHiscoresComputedMetricItem, type GroupHiscoresEntry, type GroupHiscoresSkillItem, type GroupListItem, type GroupMemberFragment, type GroupRecordsFilter, GroupRole, GroupRoleProps, type GroupStatistics, MAX_LEVEL, MAX_SKILL_EXP, MAX_VIRTUAL_LEVEL, MEMBER_SKILLS, METRICS, type MapOf, type MeasuredDeltaProgress, type MemberActivityWithPlayer, type MemberInput, type MemberJoinedEvent, type MemberLeftEvent, type MemberRoleChangeEvent, type MembershipWithGroup, type MembershipWithPlayer, Metric, type MetricLeaders, MetricMeasure, MetricProps, MetricType, type MetricValueKey, type NameChange, type NameChangeDetails, NameChangeStatus, type NameChangeWithPlayer, type NameChangesSearchFilter, PERIODS, PLAYER_BUILDS, PLAYER_STATUSES, PLAYER_TYPES, PRIVELEGED_GROUP_ROLES, type ParticipationWithCompetition, type ParticipationWithCompetitionAndStandings, type ParticipationWithPlayer, type ParticipationWithPlayerAndProgress, Period, PeriodProps, type Player, type PlayerArchiveWithPlayer, PlayerBuild, PlayerBuildProps, type PlayerCompetitionStandingsFilter, type PlayerCompetitionsFilter, type PlayerDeltasMap, type PlayerDetails, type PlayerRecordsFilter, PlayerStatus, PlayerStatusProps, PlayerType, PlayerTypeProps, REAL_METRICS, REAL_SKILLS, type Record, type RecordLeaderboardEntry, type RecordLeaderboardFilter, SKILLS, SKILL_EXP_AT_99, Skill, type SkillDelta, type SkillMetaConfig, type SkillMetaMethod, type SkillValue, type SkipContext, type Snapshot, type SnapshotFragment, type Team, type TimeRangeFilter, type Top5ProgressResult, WOMClient, findCountry, findCountryByCode, findCountryByName, findGroupRole, findMetric, findPeriod, findPlayerBuild, findPlayerType, formatNumber, getCombatLevel, getExpForLevel, getLevel, getMetricMeasure, getMetricName, getMetricRankKey, getMetricValueKey, getMinimumValue, getParentEfficiencyMetric, isActivity, isBoss, isCompetitionStatus, isCompetitionType, isComputedMetric, isCountry, isGroupRole, isMetric, isPeriod, isPlayerBuild, isPlayerStatus, isPlayerType, isSkill, padNumber, parsePeriodExpression, round };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wise-old-man/utils",
3
- "version": "3.3.0",
3
+ "version": "3.3.2",
4
4
  "description": "A JavaScript/TypeScript client that interfaces and consumes the Wise Old Man API, an API that tracks and measures players' progress in Old School Runescape.",
5
5
  "keywords": [
6
6
  "wiseoldman",