@wfcd/profile-parser 1.0.0

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.
Files changed (47) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/package.json +104 -0
  4. package/src/Ability.js +21 -0
  5. package/src/ArchonCrystal.js +8 -0
  6. package/src/ChallengeProgress.js +15 -0
  7. package/src/Enemy.js +45 -0
  8. package/src/Intrinsics.js +69 -0
  9. package/src/ItemConfig.js +51 -0
  10. package/src/LoadOutInventory.js +43 -0
  11. package/src/LoadOutItem.js +135 -0
  12. package/src/Mission.js +40 -0
  13. package/src/OperatorLoadOuts.js +68 -0
  14. package/src/Polarity.js +17 -0
  15. package/src/Profile.js +189 -0
  16. package/src/ProfileParser.js +32 -0
  17. package/src/Pvp.js +27 -0
  18. package/src/Race.js +15 -0
  19. package/src/Scan.js +15 -0
  20. package/src/Stats.js +339 -0
  21. package/src/Syndicate.js +30 -0
  22. package/src/Util.js +12 -0
  23. package/src/Weapon.js +51 -0
  24. package/src/WeaponSkin.js +9 -0
  25. package/src/XpInfo.js +23 -0
  26. package/types/Ability.d.ts +19 -0
  27. package/types/ArchonCrystal.d.ts +5 -0
  28. package/types/ChallengeProgress.d.ts +13 -0
  29. package/types/Enemy.d.ts +39 -0
  30. package/types/Intrinsics.d.ts +56 -0
  31. package/types/ItemConfig.d.ts +19 -0
  32. package/types/LoadOutInventory.d.ts +36 -0
  33. package/types/LoadOutItem.d.ts +78 -0
  34. package/types/Mission.d.ts +21 -0
  35. package/types/OperatorLoadOuts.d.ts +26 -0
  36. package/types/Polarity.d.ts +13 -0
  37. package/types/Profile.d.ts +143 -0
  38. package/types/ProfileParser.d.ts +19 -0
  39. package/types/Pvp.d.ts +23 -0
  40. package/types/Race.d.ts +13 -0
  41. package/types/Scan.d.ts +13 -0
  42. package/types/Stats.d.ts +258 -0
  43. package/types/Syndicate.d.ts +24 -0
  44. package/types/Util.d.ts +6 -0
  45. package/types/Weapon.d.ts +43 -0
  46. package/types/WeaponSkin.d.ts +8 -0
  47. package/types/XpInfo.d.ts +18 -0
@@ -0,0 +1,9 @@
1
+ export default class WeaponSkin {
2
+ constructor(skin) {
3
+ /**
4
+ * Unique name
5
+ * @type {String}
6
+ */
7
+ this.unuqueName = skin.ItemType;
8
+ }
9
+ }
package/src/XpInfo.js ADDED
@@ -0,0 +1,23 @@
1
+ import { find } from 'warframe-items/utilities';
2
+
3
+ export default class XpInfo {
4
+ constructor(info) {
5
+ /**
6
+ * Unique name
7
+ * @type {String}
8
+ */
9
+ this.uniqueName = info.ItemType;
10
+
11
+ /**
12
+ * XP earned
13
+ * @type {number}
14
+ */
15
+ this.xp = info.XP;
16
+
17
+ /**
18
+ * The item corrosponding to the unique name.
19
+ * @type {module:"warframe-items".Item | undefined}
20
+ */
21
+ this.item = find.findItem(info.ItemType);
22
+ }
23
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Represents an ability used by the player
3
+ */
4
+ export default class Ability {
5
+ /**
6
+ * @param {Object} ability The ability
7
+ */
8
+ constructor(ability: any);
9
+ /**
10
+ * The ability unique name
11
+ * @type {String}
12
+ */
13
+ uniqueName: string;
14
+ /**
15
+ * How many time the ability was used in the player's lifetime
16
+ * @type {number}
17
+ */
18
+ used: number;
19
+ }
@@ -0,0 +1,5 @@
1
+ export default class ArchonCrystal {
2
+ constructor(crystal: any, local: any);
3
+ color: any;
4
+ modifier: any;
5
+ }
@@ -0,0 +1,13 @@
1
+ export default class ChallengeProgress {
2
+ constructor(challenge: any);
3
+ /**
4
+ * Name of the challenge
5
+ * @type {String}
6
+ */
7
+ name: string;
8
+ /**
9
+ * Progress towards completing this challenge
10
+ * @type {number}
11
+ */
12
+ progress: number;
13
+ }
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Represents the enemies killed
3
+ */
4
+ export default class Enemy {
5
+ /**
6
+ * @param {Object} enemy The enemy
7
+ */
8
+ constructor(enemy: any);
9
+ /**
10
+ * Enenmy's unique name
11
+ * @type {String}
12
+ */
13
+ uniqueName: string;
14
+ /**
15
+ * How many times the player has killed this enemy type
16
+ * @type {number}
17
+ */
18
+ kills: number;
19
+ /**
20
+ * The amount of kills that were headshots
21
+ * @type {number}
22
+ */
23
+ headshots: number;
24
+ /**
25
+ * The amount of kills that were finishers
26
+ * @type {number}
27
+ */
28
+ executions: number;
29
+ /**
30
+ * The amount of kills that were assits
31
+ * @type {number}
32
+ */
33
+ assists: number;
34
+ /**
35
+ * How many times tis enemy type has killed the player
36
+ * @type {number}
37
+ */
38
+ deaths: number;
39
+ }
@@ -0,0 +1,56 @@
1
+ export default class Intrinsics {
2
+ constructor(skills: any);
3
+ /**
4
+ * @type {number}
5
+ */
6
+ space: number;
7
+ /**
8
+ * Railjack engineering rank
9
+ * @type {number}
10
+ */
11
+ engineering: number;
12
+ /**
13
+ * Railjack gunnery rank
14
+ * @type {number}
15
+ */
16
+ gunnery: number;
17
+ /**
18
+ * Railjack piloting rank
19
+ * @type {number}
20
+ */
21
+ piloting: number;
22
+ /**
23
+ * Railjack tactical rank
24
+ * @type {number}
25
+ */
26
+ tactical: number;
27
+ /**
28
+ * Railjack command rank
29
+ * @type {number}
30
+ */
31
+ command: number;
32
+ /**
33
+ * @type {number}
34
+ */
35
+ drifter: number;
36
+ /**
37
+ * Drifter riding rank
38
+ * @type {number}
39
+ */
40
+ riding: number;
41
+ /**
42
+ * Drifter combat rank
43
+ * @type {number}
44
+ */
45
+ combat: number;
46
+ /**
47
+ * Drifter opportunity rank
48
+ * @type {number}
49
+ */
50
+ opportunity: number;
51
+ /**
52
+ * Drifter endurance rank
53
+ * @type {number}
54
+ */
55
+ endurance: number;
56
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Represents the data configuration for an item
3
+ */
4
+ export default class ItemConfig {
5
+ /**
6
+ * @param {Object} config The configuration
7
+ */
8
+ constructor(config: any);
9
+ /**
10
+ * Array of unique names for the skins applied to item
11
+ * @type {Array<String>}
12
+ */
13
+ skins: Array<string>;
14
+ conclaveUpgrades: any;
15
+ primaryColor: any;
16
+ sigilColor: any;
17
+ attachmentsColor: any;
18
+ syandanaColor: any;
19
+ }
@@ -0,0 +1,36 @@
1
+ export default class LoadOutInventory {
2
+ constructor(item: any);
3
+ /**
4
+ * Skins applied to weapons
5
+ * @type {WeaponSkin}
6
+ */
7
+ weaponSkins: WeaponSkin;
8
+ /**
9
+ * An array of the player's currently equiped Warframe (or powersuits)
10
+ * @type {LoadOutItem}
11
+ */
12
+ suits: LoadOutItem;
13
+ /**
14
+ * An array of the player's currently equiped secondary weapon
15
+ * @type {LoadOutItem}
16
+ */
17
+ secondary: LoadOutItem;
18
+ /**
19
+ * An array of the player's currently equiped primary weapon
20
+ * @type {LoadOutItem}
21
+ */
22
+ primary: LoadOutItem;
23
+ /**
24
+ * An array of the player's currently equiped melee weapon
25
+ * @type {LoadOutItem}
26
+ */
27
+ melee: LoadOutItem;
28
+ /**
29
+ * Items that have counted towards the players mastery rank
30
+ * @type {XpInfo}
31
+ */
32
+ xpInfo: XpInfo;
33
+ }
34
+ import WeaponSkin from './WeaponSkin.js';
35
+ import LoadOutItem from './LoadOutItem.js';
36
+ import XpInfo from './XpInfo.js';
@@ -0,0 +1,78 @@
1
+ export default class LoadOutItem {
2
+ constructor(weapon: any);
3
+ /**
4
+ * Item ID
5
+ * @type {String}
6
+ */
7
+ itemId: string;
8
+ /**
9
+ * Item unique name
10
+ * @type {String}
11
+ */
12
+ uniqueName: string;
13
+ /**
14
+ * Item in-game name
15
+ * @type {String}
16
+ */
17
+ name: string;
18
+ /**
19
+ * Complete item from Warframe-items
20
+ * @type {module:"warframe-items".Item}
21
+ */
22
+ item: any;
23
+ /**
24
+ * Item lich name
25
+ * @type {String}
26
+ */
27
+ nemesis: string;
28
+ /**
29
+ * Configuration for this weapon. Such as colors and skins applied by the player
30
+ * @type {Array<ItemConfig>}
31
+ */
32
+ configs: Array<ItemConfig>;
33
+ upgradeType: any;
34
+ /**
35
+ * Information on the upgradeType that was applied
36
+ * TODO need model for for fingerprint
37
+ */
38
+ upgradeFingerprint: any;
39
+ /**
40
+ * @type {number}
41
+ */
42
+ features: number;
43
+ /**
44
+ * @type {number}
45
+ */
46
+ upgradeVer: number;
47
+ /**
48
+ * XP earned with this weapon
49
+ * @type {number}
50
+ */
51
+ xp: number;
52
+ /**
53
+ * How many mod slots are currently polarized.
54
+ * @type {number}
55
+ */
56
+ polarized: number;
57
+ /**
58
+ * Which polarity types exist on the weapon
59
+ * @type {Array<Polarity>}
60
+ */
61
+ polarity: Array<Polarity>;
62
+ /**
63
+ * Focus lens applied
64
+ * @type {String}
65
+ */
66
+ focuseLens: string;
67
+ /**
68
+ * @type {number}
69
+ */
70
+ customizationSlotPurchases: number;
71
+ primaryColor: any;
72
+ sigilColor: any;
73
+ attachmentsColor: any;
74
+ syandanaColor: any;
75
+ infestationDate: any;
76
+ }
77
+ import ItemConfig from './ItemConfig.js';
78
+ import Polarity from './Polarity.js';
@@ -0,0 +1,21 @@
1
+ export default class Mission {
2
+ constructor(mission: any, locale: any);
3
+ /**
4
+ * Node name
5
+ * @type {String}
6
+ */
7
+ node: string;
8
+ /**
9
+ * Node mission type
10
+ * @type {String}
11
+ */
12
+ misstionType: string;
13
+ /**
14
+ * Node faction
15
+ * @type {String}
16
+ */
17
+ faction: string;
18
+ highScore: any;
19
+ completes: any;
20
+ tier: any;
21
+ }
@@ -0,0 +1,26 @@
1
+ export default class OperatorLoadOuts {
2
+ constructor(loadout: any);
3
+ /**
4
+ * Skins that have been applied to the player's operator.
5
+ * @type {Array<String>}
6
+ */
7
+ skins: Array<string>;
8
+ /**
9
+ * Operator amp ID
10
+ * @type {String}
11
+ */
12
+ operatorAmp: string;
13
+ /**
14
+ * Applied upgrade IDs
15
+ * @type {Array<String>}
16
+ */
17
+ upgrades: Array<string>;
18
+ abilityOverride: any;
19
+ primaryColor: any;
20
+ sigilColor: any;
21
+ attachmentsColor: any;
22
+ syandanaColor: any;
23
+ eyeColor: any;
24
+ facial: any;
25
+ cloth: any;
26
+ }
@@ -0,0 +1,13 @@
1
+ export default class Polarity {
2
+ constructor(polarity: any);
3
+ /**
4
+ * Polarity name
5
+ * @type {String}
6
+ */
7
+ polarity: string;
8
+ /**
9
+ * Polarized slot
10
+ * @type {number}
11
+ */
12
+ slot: number;
13
+ }
@@ -0,0 +1,143 @@
1
+ export default class Profile {
2
+ constructor(profile: any, locale: any);
3
+ /**
4
+ * Player's acount ID
5
+ * @type {Stirng}
6
+ */
7
+ accountId: Stirng;
8
+ /**
9
+ * In-game name
10
+ * @type {String}
11
+ */
12
+ displayName: string;
13
+ /**
14
+ * Mastery rank
15
+ * @type {String}
16
+ */
17
+ masteryRank: string;
18
+ /**
19
+ * Current loadout
20
+ * @type {LoadOutInventory}
21
+ */
22
+ loadout: LoadOutInventory;
23
+ /**
24
+ * Railjack and drifter Intrinsics
25
+ * @type {Intrinsics}
26
+ */
27
+ intrinsics: Intrinsics;
28
+ /**
29
+ * Nightwave challenges progress
30
+ * @type {}
31
+ */
32
+ challengeProgress: any;
33
+ /**
34
+ * Guild ID
35
+ * @type {String}
36
+ */
37
+ guildId: string;
38
+ /**
39
+ * Guild name
40
+ * @type {String}
41
+ */
42
+ guildName: string;
43
+ /**
44
+ * Guild tier
45
+ * @type {number}
46
+ */
47
+ guildTier: number;
48
+ /**
49
+ * Guild XP
50
+ * @type {number}
51
+ */
52
+ guildXp: number;
53
+ /**
54
+ * Guild class
55
+ * @type {String}
56
+ */
57
+ guildClass: string;
58
+ /**
59
+ * Guild emblem.
60
+ * @type {String}
61
+ */
62
+ guildEmblem: string;
63
+ /**
64
+ * Alliance ID
65
+ * @type {String}
66
+ */
67
+ allianceId: string;
68
+ /**
69
+ * Assassins currently asfter the player
70
+ * @type {Array<String>}
71
+ */
72
+ deathMarks: Array<string>;
73
+ /**
74
+ * Whether or not the player is qualified as a target for Zanuka
75
+ * @type {bool}
76
+ */
77
+ harvestable: bool;
78
+ /**
79
+ * Whether or not the player is qualified as a target for a syndicate death squad
80
+ * @type {bool}
81
+ */
82
+ deathSquadable: bool;
83
+ /**
84
+ * Date the account was created
85
+ * @type {Date}
86
+ */
87
+ created: Date;
88
+ /**
89
+ * Whether the user has migrated to console or not
90
+ * @type {bool}
91
+ */
92
+ migratedToConsole: bool;
93
+ /**
94
+ * List of completed missions and their completions
95
+ * @type {MIssion}
96
+ */
97
+ missions: MIssion;
98
+ /**
99
+ * Player standing and title across all syndicates
100
+ * @type {Array<Syndicate>}
101
+ */
102
+ syndicates: Array<Syndicate>;
103
+ /**
104
+ * Daily standing per Syndicate
105
+ *
106
+ * Faction syndicates all share daily standing
107
+ * @type {Map<String,number>}
108
+ */
109
+ dailyStanding: Map<string, number>;
110
+ /**
111
+ * Daily focus
112
+ * @type {number}
113
+ */
114
+ dailyFocus: number;
115
+ /**
116
+ * Player wishlist for in-game market items
117
+ */
118
+ wishList: any;
119
+ /**
120
+ * Whhether the player has unlocked thier operator or not
121
+ * @type {bool}
122
+ */
123
+ unlockedOperator: bool;
124
+ /**
125
+ * Whether the player has unlocked their alignement or not
126
+ * @type {bool}
127
+ */
128
+ unlockedAlignment: bool;
129
+ /**
130
+ * Operator loadout
131
+ * @type {OperatorLoadOuts}
132
+ */
133
+ operatorLoadouts: OperatorLoadOuts;
134
+ /**
135
+ * Player's alignment
136
+ * @type {Map<String,number>}
137
+ */
138
+ alignment: Map<string, number>;
139
+ }
140
+ import LoadOutInventory from './LoadOutInventory.js';
141
+ import Intrinsics from './Intrinsics.js';
142
+ import Syndicate from './Syndicate.js';
143
+ import OperatorLoadOuts from './OperatorLoadOuts.js';
@@ -0,0 +1,19 @@
1
+ export default class ProfileParser {
2
+ constructor(data: any, locale: any);
3
+ /**
4
+ * Player's profile
5
+ * @type {Profile}
6
+ */
7
+ profile: Profile;
8
+ techProjects: any;
9
+ xpComponents: any;
10
+ xpCacheExpiryDate: any;
11
+ ceremonyResetDate: any;
12
+ /**
13
+ * Player stats
14
+ * @type {Stats}
15
+ */
16
+ stats: Stats;
17
+ }
18
+ import Profile from './Profile.js';
19
+ import Stats from './Stats.js';
package/types/Pvp.d.ts ADDED
@@ -0,0 +1,23 @@
1
+ export default class Pvp {
2
+ constructor(pvp: any);
3
+ /**
4
+ * PVP match unique name
5
+ * @type {String}
6
+ */
7
+ uniqueName: string;
8
+ /**
9
+ * Deaths for this match
10
+ * @type {number}
11
+ */
12
+ suitDeaths: number;
13
+ /**
14
+ * Warframe kills
15
+ * @type {number}
16
+ */
17
+ suitKills: number;
18
+ /**
19
+ * Weapon killes
20
+ * @type {number}
21
+ */
22
+ weaponKills: number;
23
+ }
@@ -0,0 +1,13 @@
1
+ export default class Race {
2
+ constructor(race: any);
3
+ /**
4
+ * Race name
5
+ * @type {String}
6
+ */
7
+ uniqueName: string;
8
+ /**
9
+ * Race High score
10
+ * @type {number}
11
+ */
12
+ highScore: number;
13
+ }
@@ -0,0 +1,13 @@
1
+ export default class Scan {
2
+ constructor(scan: any);
3
+ /**
4
+ * Enemy unique name
5
+ * @type {String}
6
+ */
7
+ uniqueName: string;
8
+ /**
9
+ * Number of scans done
10
+ * @type {number}
11
+ */
12
+ scans: number;
13
+ }