clashofclans.js 3.3.18 → 3.3.19-dev.4967cd5
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.
- package/dist/index.mjs +1 -0
- package/dist/struct/Player.d.ts +2 -2
- package/dist/struct/Player.js +1 -1
- package/dist/struct/Unit.d.ts +3 -3
- package/dist/struct/Unit.js +4 -4
- package/dist/util/Constants.d.ts +2 -1
- package/dist/util/Constants.js +11 -108
- package/package.json +1 -1
- package/CHANGELOG.md +0 -173
package/dist/index.mjs
CHANGED
|
@@ -28,6 +28,7 @@ export const DarkElixirTroops = mod.DarkElixirTroops;
|
|
|
28
28
|
export const DevSiteAPIBaseURL = mod.DevSiteAPIBaseURL;
|
|
29
29
|
export const ElixirSpells = mod.ElixirSpells;
|
|
30
30
|
export const ElixirTroops = mod.ElixirTroops;
|
|
31
|
+
export const Equipment = mod.Equipment;
|
|
31
32
|
export const FriendlyWarPreparationTimes = mod.FriendlyWarPreparationTimes;
|
|
32
33
|
export const GoldPassSeason = mod.GoldPassSeason;
|
|
33
34
|
export const HTTPError = mod.HTTPError;
|
package/dist/struct/Player.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { Label } from './Label';
|
|
|
5
5
|
import { League } from './League';
|
|
6
6
|
import { LegendStatistics } from './LegendStatistics';
|
|
7
7
|
import { PlayerClan } from './PlayerClan';
|
|
8
|
-
import {
|
|
8
|
+
import { Equipment, Hero, Spell, Troop } from './Unit';
|
|
9
9
|
/** Represents a Clash of Clans Player. */
|
|
10
10
|
export declare class Player {
|
|
11
11
|
/** The player's name. */
|
|
@@ -61,7 +61,7 @@ export declare class Player {
|
|
|
61
61
|
/** An array of player's heroes (both home base and build base). */
|
|
62
62
|
heroes: Hero[];
|
|
63
63
|
/** An array of player's hero equipment. */
|
|
64
|
-
heroEquipment:
|
|
64
|
+
heroEquipment: Equipment[];
|
|
65
65
|
/** The player's clan capital house details. */
|
|
66
66
|
playerHouse?: APIPlayerHouse | null;
|
|
67
67
|
private readonly client;
|
package/dist/struct/Player.js
CHANGED
|
@@ -46,7 +46,7 @@ class Player {
|
|
|
46
46
|
this.troops = data.troops.map((unit) => new Unit_1.Troop(data, unit));
|
|
47
47
|
this.spells = data.spells.map((unit) => new Unit_1.Spell(data, unit));
|
|
48
48
|
this.heroes = data.heroes.map((unit) => new Unit_1.Hero(data, unit));
|
|
49
|
-
this.heroEquipment = data.heroEquipment.map((unit) => new Unit_1.
|
|
49
|
+
this.heroEquipment = data.heroEquipment.map((unit) => new Unit_1.Equipment(data, unit));
|
|
50
50
|
this.playerHouse = data.playerHouse ?? null;
|
|
51
51
|
}
|
|
52
52
|
/** Whether this clan member is in the clan. */
|
package/dist/struct/Unit.d.ts
CHANGED
|
@@ -50,7 +50,7 @@ export declare class Unit {
|
|
|
50
50
|
/** @internal */
|
|
51
51
|
originalName: string | null;
|
|
52
52
|
/** @internal */
|
|
53
|
-
equipment:
|
|
53
|
+
equipment: Equipment[];
|
|
54
54
|
constructor(data: APIPlayer, unit: APIPlayerItem);
|
|
55
55
|
/** Whether the unit belongs to the home base. */
|
|
56
56
|
get isHomeBase(): boolean;
|
|
@@ -82,8 +82,8 @@ export declare class Hero extends Unit {
|
|
|
82
82
|
/** Regeneration time of this hero. */
|
|
83
83
|
regenerationTime: number;
|
|
84
84
|
/** Hero Equipment */
|
|
85
|
-
equipment:
|
|
85
|
+
equipment: Equipment[];
|
|
86
86
|
}
|
|
87
87
|
/** Represents a Player's Hero Equipment. */
|
|
88
|
-
export declare class
|
|
88
|
+
export declare class Equipment extends Unit {
|
|
89
89
|
}
|
package/dist/struct/Unit.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.Equipment = exports.Hero = exports.Spell = exports.Troop = exports.Unit = void 0;
|
|
4
4
|
const Constants_1 = require("../util/Constants");
|
|
5
5
|
/** Represents a Player's Unit. */
|
|
6
6
|
class Unit {
|
|
@@ -58,7 +58,7 @@ class Unit {
|
|
|
58
58
|
this.regenerationTime = rawUnit.regenerationTimes[this.level - 1] ?? 0;
|
|
59
59
|
this.hallMaxLevel =
|
|
60
60
|
rawUnit.levels[(this.village === 'home' ? data.townHallLevel : data.builderHallLevel) - 1] ?? this.maxLevel;
|
|
61
|
-
this.equipment = (unit.equipment ?? []).map((unit) => new
|
|
61
|
+
this.equipment = (unit.equipment ?? []).map((unit) => new Equipment(data, unit));
|
|
62
62
|
}
|
|
63
63
|
this.seasonal = Boolean(rawUnit?.seasonal);
|
|
64
64
|
this.isLoaded = Boolean(rawUnit ?? rawSuperUnit);
|
|
@@ -101,6 +101,6 @@ class Hero extends Unit {
|
|
|
101
101
|
}
|
|
102
102
|
exports.Hero = Hero;
|
|
103
103
|
/** Represents a Player's Hero Equipment. */
|
|
104
|
-
class
|
|
104
|
+
class Equipment extends Unit {
|
|
105
105
|
}
|
|
106
|
-
exports.
|
|
106
|
+
exports.Equipment = Equipment;
|
package/dist/util/Constants.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
export declare const APIBaseURL = "https://api.clashofclans.com/v1";
|
|
2
2
|
export declare const DevSiteAPIBaseURL = "https://developer.clashofclans.com/api";
|
|
3
|
+
export declare const SuperTroops: string[];
|
|
3
4
|
export declare const ElixirTroops: string[];
|
|
4
5
|
export declare const DarkElixirTroops: string[];
|
|
5
6
|
export declare const HomeTroops: string[];
|
|
6
7
|
export declare const SiegeMachines: string[];
|
|
7
|
-
export declare const
|
|
8
|
+
export declare const HeroEquipment: string[];
|
|
8
9
|
export declare const ElixirSpells: string[];
|
|
9
10
|
export declare const DarkElixirSpells: string[];
|
|
10
11
|
export declare const Spells: string[];
|
package/dist/util/Constants.js
CHANGED
|
@@ -3,119 +3,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.RawData = exports.CWLRounds = exports.RestEvents = exports.ClientEvents = exports.PollingEvents = exports.FriendlyWarPreparationTimes = exports.WarLeagues = exports.Leagues = exports.UnrankedWarLeagueId = exports.LegendLeagueId = exports.UnrankedLeagueId = exports.UnrankedLeagueData = exports.HeroPets = exports.Heroes = exports.BuilderTroops = exports.Spells = exports.DarkElixirSpells = exports.ElixirSpells = exports.
|
|
6
|
+
exports.RawData = exports.CWLRounds = exports.RestEvents = exports.ClientEvents = exports.PollingEvents = exports.FriendlyWarPreparationTimes = exports.WarLeagues = exports.Leagues = exports.UnrankedWarLeagueId = exports.LegendLeagueId = exports.UnrankedLeagueId = exports.UnrankedLeagueData = exports.HeroPets = exports.Heroes = exports.BuilderTroops = exports.Spells = exports.DarkElixirSpells = exports.ElixirSpells = exports.HeroEquipment = exports.SiegeMachines = exports.HomeTroops = exports.DarkElixirTroops = exports.ElixirTroops = exports.SuperTroops = exports.DevSiteAPIBaseURL = exports.APIBaseURL = void 0;
|
|
7
7
|
const raw_json_1 = __importDefault(require("../util/raw.json"));
|
|
8
8
|
exports.APIBaseURL = 'https://api.clashofclans.com/v1';
|
|
9
9
|
exports.DevSiteAPIBaseURL = 'https://developer.clashofclans.com/api';
|
|
10
|
-
exports.
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
'Giant',
|
|
14
|
-
'Goblin',
|
|
15
|
-
'Wall Breaker',
|
|
16
|
-
'Balloon',
|
|
17
|
-
'Wizard',
|
|
18
|
-
'Healer',
|
|
19
|
-
'Dragon',
|
|
20
|
-
'P.E.K.K.A',
|
|
21
|
-
'Baby Dragon',
|
|
22
|
-
'Miner',
|
|
23
|
-
'Electro Dragon',
|
|
24
|
-
'Yeti',
|
|
25
|
-
'Dragon Rider',
|
|
26
|
-
'Electro Titan',
|
|
27
|
-
'Root Rider',
|
|
28
|
-
'Thrower'
|
|
29
|
-
];
|
|
30
|
-
exports.DarkElixirTroops = [
|
|
31
|
-
'Minion',
|
|
32
|
-
'Hog Rider',
|
|
33
|
-
'Valkyrie',
|
|
34
|
-
'Golem',
|
|
35
|
-
'Witch',
|
|
36
|
-
'Lava Hound',
|
|
37
|
-
'Bowler',
|
|
38
|
-
'Ice Golem',
|
|
39
|
-
'Headhunter',
|
|
40
|
-
'Apprentice Warden',
|
|
41
|
-
'Druid'
|
|
42
|
-
];
|
|
10
|
+
exports.SuperTroops = raw_json_1.default.RAW_SUPER_UNITS.map((unit) => unit.name);
|
|
11
|
+
exports.ElixirTroops = raw_json_1.default.RAW_UNITS.filter((unit) => !exports.SuperTroops.includes(unit.name) && unit.subCategory === 'troop' && unit.upgrade.resource === 'Elixir').map((unit) => unit.name);
|
|
12
|
+
exports.DarkElixirTroops = raw_json_1.default.RAW_UNITS.filter((unit) => !exports.SuperTroops.includes(unit.name) && unit.subCategory === 'troop' && unit.upgrade.resource === 'Dark Elixir').map((unit) => unit.name);
|
|
43
13
|
exports.HomeTroops = [...exports.ElixirTroops, ...exports.DarkElixirTroops];
|
|
44
|
-
exports.SiegeMachines =
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
'Siege Barracks',
|
|
49
|
-
'Log Launcher',
|
|
50
|
-
'Flame Flinger',
|
|
51
|
-
'Battle Drill'
|
|
52
|
-
];
|
|
53
|
-
exports.SuperTroops = [
|
|
54
|
-
'Super Barbarian',
|
|
55
|
-
'Super Archer',
|
|
56
|
-
'Super Giant',
|
|
57
|
-
'Sneaky Goblin',
|
|
58
|
-
'Super Wall Breaker',
|
|
59
|
-
'Rocket Balloon',
|
|
60
|
-
'Super Wizard',
|
|
61
|
-
'Super Dragon',
|
|
62
|
-
'Inferno Dragon',
|
|
63
|
-
'Super Minion',
|
|
64
|
-
'Super Valkyrie',
|
|
65
|
-
'Super Witch',
|
|
66
|
-
'Ice Hound',
|
|
67
|
-
'Super Bowler',
|
|
68
|
-
'Super Miner',
|
|
69
|
-
'Super Hog Rider'
|
|
70
|
-
];
|
|
71
|
-
exports.ElixirSpells = [
|
|
72
|
-
'Lightning Spell',
|
|
73
|
-
'Healing Spell',
|
|
74
|
-
'Rage Spell',
|
|
75
|
-
'Jump Spell',
|
|
76
|
-
'Freeze Spell',
|
|
77
|
-
'Clone Spell',
|
|
78
|
-
'Invisibility Spell',
|
|
79
|
-
'Recall Spell',
|
|
80
|
-
'Revive Spell'
|
|
81
|
-
];
|
|
82
|
-
exports.DarkElixirSpells = ['Poison Spell', 'Earthquake Spell', 'Haste Spell', 'Skeleton Spell', 'Bat Spell', 'Overgrowth Spell'];
|
|
14
|
+
exports.SiegeMachines = raw_json_1.default.RAW_UNITS.filter((unit) => unit.subCategory === 'siege').map((unit) => unit.name);
|
|
15
|
+
exports.HeroEquipment = raw_json_1.default.RAW_UNITS.filter((unit) => unit.subCategory === 'equipment').map((unit) => unit.name);
|
|
16
|
+
exports.ElixirSpells = raw_json_1.default.RAW_UNITS.filter((unit) => unit.subCategory === 'spell' && unit.upgrade.resource === 'Elixir').map((unit) => unit.name);
|
|
17
|
+
exports.DarkElixirSpells = raw_json_1.default.RAW_UNITS.filter((unit) => unit.subCategory === 'spell' && unit.upgrade.resource === 'Dark Elixir').map((unit) => unit.name);
|
|
83
18
|
exports.Spells = [...exports.ElixirSpells, ...exports.DarkElixirSpells];
|
|
84
|
-
exports.BuilderTroops =
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
'Boxer Giant',
|
|
88
|
-
'Beta Minion',
|
|
89
|
-
'Bomber',
|
|
90
|
-
'Baby Dragon',
|
|
91
|
-
'Cannon Cart',
|
|
92
|
-
'Night Witch',
|
|
93
|
-
'Drop Ship',
|
|
94
|
-
'Super P.E.K.K.A',
|
|
95
|
-
'Hog Glider',
|
|
96
|
-
'Electrofire Wizard'
|
|
97
|
-
];
|
|
98
|
-
exports.Heroes = [
|
|
99
|
-
'Barbarian King',
|
|
100
|
-
'Archer Queen',
|
|
101
|
-
'Grand Warden',
|
|
102
|
-
'Royal Champion',
|
|
103
|
-
'Minion Prince',
|
|
104
|
-
'Battle Machine',
|
|
105
|
-
'Battle Copter'
|
|
106
|
-
];
|
|
107
|
-
exports.HeroPets = [
|
|
108
|
-
'L.A.S.S.I',
|
|
109
|
-
'Electro Owl',
|
|
110
|
-
'Mighty Yak',
|
|
111
|
-
'Unicorn',
|
|
112
|
-
'Poison Lizard',
|
|
113
|
-
'Diggy',
|
|
114
|
-
'Frosty',
|
|
115
|
-
'Phoenix',
|
|
116
|
-
'Spirit Fox',
|
|
117
|
-
'Angry Jelly'
|
|
118
|
-
];
|
|
19
|
+
exports.BuilderTroops = raw_json_1.default.RAW_UNITS.filter((unit) => unit.subCategory === 'troop' && unit.village === 'builderBase').map((unit) => unit.name);
|
|
20
|
+
exports.Heroes = raw_json_1.default.RAW_UNITS.filter((unit) => unit.subCategory === 'hero').map((unit) => unit.name);
|
|
21
|
+
exports.HeroPets = raw_json_1.default.RAW_UNITS.filter((unit) => unit.subCategory === 'pet').map((unit) => unit.name);
|
|
119
22
|
exports.UnrankedLeagueData = {
|
|
120
23
|
id: 29000000,
|
|
121
24
|
name: 'Unranked',
|
package/package.json
CHANGED
package/CHANGELOG.md
DELETED
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
|
-
|
|
5
|
-
## 3.1.3 (24-12-2023)
|
|
6
|
-
|
|
7
|
-
### Features
|
|
8
|
-
|
|
9
|
-
- Town Hall 16 updates.
|
|
10
|
-
- Removed deprecated builder base properties.
|
|
11
|
-
|
|
12
|
-
## 3.1.3 (13-08-2023)
|
|
13
|
-
|
|
14
|
-
### Features
|
|
15
|
-
|
|
16
|
-
- Switched to `undici` from `node-fetch` for better performance.
|
|
17
|
-
|
|
18
|
-
## 3.1.0 (2023-07-28)
|
|
19
|
-
|
|
20
|
-
### Features
|
|
21
|
-
|
|
22
|
-
- Builder base update and new troop levels.
|
|
23
|
-
|
|
24
|
-
## 3.0.2 (2023-01-15)
|
|
25
|
-
|
|
26
|
-
### Bug Fixes
|
|
27
|
-
|
|
28
|
-
- Conflict with the same name of builder base and home base troops. (#123)
|
|
29
|
-
- Fix the issue with the `Client#getLeagueWar()` method.
|
|
30
|
-
- Typings and documentation for clan capital.
|
|
31
|
-
- Fix the issue with the `Clan#clanCapital` property.
|
|
32
|
-
|
|
33
|
-
### Features
|
|
34
|
-
|
|
35
|
-
- Added `Client#getCapitalRaidSeasons()` method.
|
|
36
|
-
- Added `Client#getCapitalLeagues()` method.
|
|
37
|
-
- Added `Client#getClanCapitalRanks()` method.
|
|
38
|
-
- Added new Super Troops in raw.json file.
|
|
39
|
-
|
|
40
|
-
### Breaking Changes
|
|
41
|
-
|
|
42
|
-
- Using PascalCase instead of SCREAMING_SNAKE_CASE ([#115](https://github.com/clashperk/clashofclans.js/pull/115))
|
|
43
|
-
- `Client#events` and `EventManager` have been removed in favor of `PollingClient` ([#117](https://github.com/clashperk/clashofclans.js/pull/117), [#127](https://github.com/clashperk/clashofclans.js/pull/127))
|
|
44
|
-
|
|
45
|
-
## 2.8.0 (2022-07-22)
|
|
46
|
-
|
|
47
|
-
### Features
|
|
48
|
-
|
|
49
|
-
- Better Throttler with JS generator function. ([#111](https://github.com/clashperk/clashofclans.js/pull/111))
|
|
50
|
-
- Updated raw data from game files. ([#111](https://github.com/clashperk/clashofclans.js/pull/111))
|
|
51
|
-
- New method Util#parseArmyLink has been added. ([#110](https://github.com/clashperk/clashofclans.js/pull/110))
|
|
52
|
-
|
|
53
|
-
## 2.7.0 (2022-05-22)
|
|
54
|
-
|
|
55
|
-
### Features
|
|
56
|
-
|
|
57
|
-
- Some useful QOL methods have been added. ([#106](https://github.com/clashperk/clashofclans.js/pull/106))
|
|
58
|
-
|
|
59
|
-
## 2.6.1 (2022-02-03)
|
|
60
|
-
|
|
61
|
-
### Bug Fixes
|
|
62
|
-
|
|
63
|
-
- New value and typings `notInWar` added for `ClanWarLeagueGroup#state` ([#101](https://github.com/clashperk/clashofclans.js/pull/101))
|
|
64
|
-
- Throw error if `Util.formatTag` / `Util.parseTag` is called with invalid argument ([#102](https://github.com/clashperk/clashofclans.js/pull/101))
|
|
65
|
-
|
|
66
|
-
## 2.6.0 (2022-01-29)
|
|
67
|
-
|
|
68
|
-
## Features
|
|
69
|
-
|
|
70
|
-
- Replaced Keyv with customizable cache store ([#99](https://github.com/clashperk/clashofclans.js/pull/99))
|
|
71
|
-
- Guide for [Internal Caching](https://clashofclans.js.org/guide/internal-caching)
|
|
72
|
-
|
|
73
|
-
## 2.5.2 (2022-01-23)
|
|
74
|
-
|
|
75
|
-
### Bug Fixes
|
|
76
|
-
|
|
77
|
-
- Fix `ClanWar#attacksPerMembers` property ([#97](https://github.com/clashperk/clashofclans.js/pull/97))
|
|
78
|
-
- Bump `node-fetch` from 2.6.6 to 2.6.7 ([#96](https://github.com/clashperk/clashofclans.js/pull/96))
|
|
79
|
-
|
|
80
|
-
## 2.5.1 (2022-01-11)
|
|
81
|
-
|
|
82
|
-
### Bug Fixes
|
|
83
|
-
|
|
84
|
-
- Typings for `ClanWarLeagueGroup#state` property. ([#94](https://github.com/clashperk/clashofclans.js/pull/94))
|
|
85
|
-
|
|
86
|
-
## 2.5.0 (2021-12-30)
|
|
87
|
-
|
|
88
|
-
### Bug Fixes
|
|
89
|
-
|
|
90
|
-
- Fix caching issue with unnecessary/invalid query params. ([#91](https://github.com/clashperk/clashofclans.js/pull/91))
|
|
91
|
-
- Added necessary methods to `RESTManager` class. ([#92](https://github.com/clashperk/clashofclans.js/pull/92))
|
|
92
|
-
|
|
93
|
-
## 2.4.0 (2021-12-28)
|
|
94
|
-
|
|
95
|
-
### Features
|
|
96
|
-
|
|
97
|
-
- `ClanWar#getClanWarLeagueGroup`, `ClanWar#isCWL` and `ClanWar#isFriendly` are now available. ([#87](https://github.com/clashperk/clashofclans.js/pull/87))
|
|
98
|
-
- `RESTOptions#rejectIfNotValid` added to perform `res.ok` operations over `RESTManager` methods. [Know more?](https://clashofclans.js.org/guide/access-raw-data#easy-access) ([#87](https://github.com/clashperk/clashofclans.js/pull/87))
|
|
99
|
-
- `Icon#fileName` and `Icon#sizes` are now available in `Icon` class. ([#87](https://github.com/clashperk/clashofclans.js/pull/87))
|
|
100
|
-
- `Badge#fileName` and `Badge#sizes` are now available in `Badge` class. ([#87](https://github.com/clashperk/clashofclans.js/pull/87))
|
|
101
|
-
|
|
102
|
-
### Deprecations
|
|
103
|
-
|
|
104
|
-
- `ClanWarMember#previousBestOpponentAttack` has been deprecated. Use `ClanWarAttack#previousBestAttack` instead. ([#87](https://github.com/clashperk/clashofclans.js/pull/87))
|
|
105
|
-
|
|
106
|
-
## 2.3.0 (2021-12-17)
|
|
107
|
-
|
|
108
|
-
### Features
|
|
109
|
-
|
|
110
|
-
- BigInt literals issue fixed. ([#84](https://github.com/clashperk/clashofclans.js/pull/84))
|
|
111
|
-
- Some Utility methods renamed. ([#84](https://github.com/clashperk/clashofclans.js/pull/84))
|
|
112
|
-
- `Util.encodeTag()` to `Util.encodeURI()`
|
|
113
|
-
- `Util.encodeTagToId()` to `Util.encodeTag()`
|
|
114
|
-
- `Util.decodeIdToTag()` to `Util.decodeTag()`
|
|
115
|
-
- Added `dps`, `resourceType`, `trainingTime` and `regenerationTime` to the `Unit` class. ([#85](https://github.com/clashperk/clashofclans.js/pull/85))
|
|
116
|
-
|
|
117
|
-
## 2.2.0 (2021-12-16)
|
|
118
|
-
|
|
119
|
-
### Bug Fixes
|
|
120
|
-
|
|
121
|
-
- Show units as per in-game orders. ([#82](https://github.com/clashperk/clashofclans.js/pull/82)) ([6e23d2f](https://github.com/clashperk/clashofclans.js/commit/95cf3001059fd3ede9262e249814178631660d5b))
|
|
122
|
-
- Season end time utility method. ([#82](https://github.com/clashperk/clashofclans.js/pull/82)) ([6e23d2f](https://github.com/clashperk/clashofclans.js/commit/95cf3001059fd3ede9262e249814178631660d5b))
|
|
123
|
-
- Updated raw files for new Troops. ([#82](https://github.com/clashperk/clashofclans.js/pull/82)) ([6e23d2f](https://github.com/clashperk/clashofclans.js/commit/95cf3001059fd3ede9262e249814178631660d5b))
|
|
124
|
-
|
|
125
|
-
### Features
|
|
126
|
-
|
|
127
|
-
- Added `seasonal`, `boostable` and `isLoaded` property to `Unit` class. ([#82](https://github.com/clashperk/clashofclans.js/pull/82)) ([6e23d2f](https://github.com/clashperk/clashofclans.js/commit/95cf3001059fd3ede9262e249814178631660d5b))
|
|
128
|
-
|
|
129
|
-
## 2.1.0 (2021-12-06)
|
|
130
|
-
|
|
131
|
-
### Bug Fixes
|
|
132
|
-
|
|
133
|
-
- Consistency of `ClanWar.attacksPerMember` property. ([#75](https://github.com/clashperk/clashofclans.js/pull/75)) ([6e23d2f](https://github.com/clashperk/clashofclans.js/commit/6e23d2fe0373f56268ffa55d5ac2807c9a2dc2fc))
|
|
134
|
-
|
|
135
|
-
### Features
|
|
136
|
-
|
|
137
|
-
- More utility methods added to `Util` class. ([#76](https://github.com/clashperk/clashofclans.js/pull/76)) ([ff41115](https://github.com/clashperk/clashofclans.js/commit/ff4111530d6293ef1fc54aa916436130fc30a09c))
|
|
138
|
-
|
|
139
|
-
- `Util.formatTag(tag: string): string`
|
|
140
|
-
- `Util.formatDate(date: string): Date`
|
|
141
|
-
- `Util.isValidTag(tag: string): boolean`
|
|
142
|
-
- `Util.encodeTagToId(tag: string): string` (Removed on 2.3.0)
|
|
143
|
-
- `Util.decodeIdToTag(id: string): string` (Removed on 2.3.0)
|
|
144
|
-
|
|
145
|
-
- Support of async/await for custom events ([#79](https://github.com/clashperk/clashofclans.js/pull/79)) ([ff41115](https://github.com/clashperk/clashofclans.js/commit/a23db3786bcca44b8547c70f27773bdb1216f990))
|
|
146
|
-
|
|
147
|
-
## 2.0.2 (2021-11-30)
|
|
148
|
-
|
|
149
|
-
### Bug Fixes
|
|
150
|
-
|
|
151
|
-
- Return `null` for `RankedPlayer.clan` if they are not in the clan. ([#73](https://github.com/clashperk/clashofclans.js/pull/73)) ([ba82327](https://github.com/clashperk/clashofclans.js/commit/ba8232740f4ca9af2bcc7971aca3574612ef25b6))
|
|
152
|
-
- `OverrideOptions` added for `Client#getClans` and `RESTManager#getClans` ([#73](https://github.com/clashperk/clashofclans.js/pull/73)) ([ba82327](https://github.com/clashperk/clashofclans.js/commit/ba8232740f4ca9af2bcc7971aca3574612ef25b6))
|
|
153
|
-
- `SeasonRankedPlayer` class for legend league ranking. ([#73](https://github.com/clashperk/clashofclans.js/pull/73)) ([ba82327](https://github.com/clashperk/clashofclans.js/commit/ba8232740f4ca9af2bcc7971aca3574612ef25b6))
|
|
154
|
-
|
|
155
|
-
## 2.0.1 (2021-11-27)
|
|
156
|
-
|
|
157
|
-
### Bug Fixes
|
|
158
|
-
|
|
159
|
-
- IP retrieval method and Event Loop ([#70](https://github.com/clashperk/clashofclans.js/issues/70)) ([82b84ba](https://github.com/clashperk/clashofclans.js/commit/82b84ba5d96505c43b75e53aa07f547ef0b77778))
|
|
160
|
-
|
|
161
|
-
## 2.0.0 (2021-11-26)
|
|
162
|
-
|
|
163
|
-
This new version is a complete TypeScript rewrite to convert everything from plain (literal JSON) objects to class (constructor) objects and support a lot more features.
|
|
164
|
-
|
|
165
|
-
### Features
|
|
166
|
-
|
|
167
|
-
- HTTP Request Request Retries ([#26](https://github.com/clashperk/clashofclans.js/issues/26)) ([94585f3](https://github.com/clashperk/clashofclans.js/commit/94585f3a84a7175b2d07872f9eb9e42372b95e12))
|
|
168
|
-
- Event Manager and Custom Events ([#37](https://github.com/clashperk/clashofclans.js/issues/37)) ([5027ae6](https://github.com/clashperk/clashofclans.js/commit/5027ae663a8e07175e17384c7e5706f4a1a7afb4))
|
|
169
|
-
- Email Password Login ([#31](https://github.com/clashperk/clashofclans.js/issues/31)) ([4153cd3](https://github.com/clashperk/clashofclans.js/commit/4153cd37ea0e1c71550b9e892105b84d5a407e23))
|
|
170
|
-
- Queue Throttler and Batch Throttler ([#34](https://github.com/clashperk/clashofclans.js/issues/34)) ([3a8f051](https://github.com/clashperk/clashofclans.js/commit/3a8f051552e93b98f89bc7d524acdecddf242718))
|
|
171
|
-
- Override Request Options ([#36](https://github.com/clashperk/clashofclans.js/issues/36)) ([42d7fdd](https://github.com/clashperk/clashofclans.js/commit/42d7fdd36262cc46f23b731f8cffb9daea19d3b0))
|
|
172
|
-
- Internal Caching Options ([#53](https://github.com/clashperk/clashofclans.js/issues/53)) ([984451d](https://github.com/clashperk/clashofclans.js/commit/30ea3240c11866008d0dae514468c0fdbb34ffd0))
|
|
173
|
-
- Additional Properties for Player Units ([#65](https://github.com/clashperk/clashofclans.js/pull/65)) ([aa1696](https://github.com/clashperk/clashofclans.js/commit/aa1696243d96d4fed0250b4282c60522a6482343))
|