hive-bedrock-api 2.0.4 → 2.1.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 (72) hide show
  1. package/README.md +18 -0
  2. package/lib/helpers/fetchEndpoint.js +1 -1
  3. package/lib/helpers/isGame.js +1 -1
  4. package/lib/helpers/toPoint.js +3 -1
  5. package/lib/index.d.ts +5 -3
  6. package/lib/index.js +20 -1
  7. package/lib/methods/getAllTimeLeaderboard.d.ts +3 -3
  8. package/lib/methods/getAllTimeLeaderboard.js +6 -8
  9. package/lib/methods/getAllTimeStatistics.d.ts +6 -5
  10. package/lib/methods/getAllTimeStatistics.js +23 -88
  11. package/lib/methods/getGlobalStatistics.js +1 -1
  12. package/lib/methods/getMaps.js +1 -1
  13. package/lib/methods/getMetadata.js +1 -1
  14. package/lib/methods/getMonthlyLeaderboard.d.ts +3 -3
  15. package/lib/methods/getMonthlyLeaderboard.js +7 -9
  16. package/lib/methods/getMonthlyStatistics.d.ts +4 -4
  17. package/lib/methods/getMonthlyStatistics.js +24 -50
  18. package/lib/methods/getPlayerInfomation.d.ts +2 -2
  19. package/lib/methods/getPlayerInfomation.js +5 -6
  20. package/lib/methods/getSeasonLeaderboard.d.ts +10 -0
  21. package/lib/methods/getSeasonLeaderboard.js +87 -0
  22. package/lib/methods/getSeasonStatistics.d.ts +10 -0
  23. package/lib/methods/getSeasonStatistics.js +87 -0
  24. package/lib/processors/bed.d.ts +19 -0
  25. package/lib/processors/bed.js +35 -0
  26. package/lib/processors/bridge.d.ts +24 -0
  27. package/lib/processors/bridge.js +40 -0
  28. package/lib/processors/build.d.ts +19 -0
  29. package/lib/processors/build.js +35 -0
  30. package/lib/processors/ctf.d.ts +19 -0
  31. package/lib/processors/ctf.js +35 -0
  32. package/lib/processors/dr.d.ts +19 -0
  33. package/lib/processors/dr.js +35 -0
  34. package/lib/processors/drop.d.ts +17 -0
  35. package/lib/processors/drop.js +34 -0
  36. package/lib/processors/grav.d.ts +17 -0
  37. package/lib/processors/grav.js +34 -0
  38. package/lib/processors/ground.d.ts +19 -0
  39. package/lib/processors/ground.js +35 -0
  40. package/lib/processors/helpers/processBuildRatings.d.ts +8 -0
  41. package/lib/processors/helpers/processBuildRatings.js +23 -0
  42. package/lib/processors/helpers/processGameAndXP.d.ts +6 -0
  43. package/lib/processors/helpers/processGameAndXP.js +10 -0
  44. package/lib/processors/helpers/processHiderKillsAndDeaths.d.ts +5 -0
  45. package/lib/processors/helpers/processHiderKillsAndDeaths.js +13 -0
  46. package/lib/processors/helpers/processKillsAndDeaths.d.ts +5 -0
  47. package/lib/processors/helpers/processKillsAndDeaths.js +13 -0
  48. package/lib/processors/helpers/processMurdersAndDeaths.d.ts +5 -0
  49. package/lib/processors/helpers/processMurdersAndDeaths.js +13 -0
  50. package/lib/processors/helpers/processPlayedAndVictories.d.ts +6 -0
  51. package/lib/processors/helpers/processPlayedAndVictories.js +12 -0
  52. package/lib/processors/hide.d.ts +19 -0
  53. package/lib/processors/hide.js +35 -0
  54. package/lib/processors/index.d.ts +11 -6
  55. package/lib/processors/index.js +70 -136
  56. package/lib/processors/murder.d.ts +19 -0
  57. package/lib/processors/murder.js +35 -0
  58. package/lib/processors/parkour.d.ts +5 -0
  59. package/lib/processors/parkour.js +99 -0
  60. package/lib/processors/party.d.ts +17 -0
  61. package/lib/processors/party.js +34 -0
  62. package/lib/processors/player.d.ts +9 -0
  63. package/lib/processors/player.js +36 -0
  64. package/lib/processors/sg.d.ts +19 -0
  65. package/lib/processors/sg.js +35 -0
  66. package/lib/processors/sky.d.ts +19 -0
  67. package/lib/processors/sky.js +35 -0
  68. package/lib/processors/wars.d.ts +19 -0
  69. package/lib/processors/wars.js +35 -0
  70. package/lib/types/output.d.ts +53 -69
  71. package/lib/types/types.d.ts +2 -0
  72. package/package.json +2 -2
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.processAllTime_GROUND = processAllTime_GROUND;
18
+ exports.processMonthly_GROUND = processMonthly_GROUND;
19
+ var hive_bedrock_data_1 = require("hive-bedrock-data");
20
+ var processGameAndXP_1 = __importDefault(require("./helpers/processGameAndXP"));
21
+ var processPlayedAndVictories_1 = __importDefault(require("./helpers/processPlayedAndVictories"));
22
+ var processKillsAndDeaths_1 = __importDefault(require("./helpers/processKillsAndDeaths"));
23
+ function processAllTime_GROUND(statistics) {
24
+ var _a, _b, _c, _d;
25
+ if (!statistics || Array.isArray(statistics))
26
+ return null;
27
+ return __assign(__assign(__assign(__assign({ UUID: statistics.UUID }, (0, processGameAndXP_1.default)(hive_bedrock_data_1.Game.GroundWars, statistics.xp)), (0, processPlayedAndVictories_1.default)(statistics.played, statistics.victories)), (0, processKillsAndDeaths_1.default)(statistics.kills, statistics.deaths)), { blocks_placed: (_a = statistics.blocks_placed) !== null && _a !== void 0 ? _a : 0, blocks_destroyed: (_b = statistics.blocks_destroyed) !== null && _b !== void 0 ? _b : 0, projectiles_fired: (_c = statistics.projectiles_fired) !== null && _c !== void 0 ? _c : 0, first_played: (_d = statistics.first_played) !== null && _d !== void 0 ? _d : null });
28
+ }
29
+ function processMonthly_GROUND(statistics) {
30
+ var _a, _b, _c, _d, _e;
31
+ if (!statistics || Array.isArray(statistics))
32
+ return null;
33
+ var index = (_a = statistics.index) !== null && _a !== void 0 ? _a : 0;
34
+ return __assign(__assign(__assign(__assign({ index: (_b = statistics.index) !== null && _b !== void 0 ? _b : 0, human_index: index + 1, username: statistics.username }, (0, processGameAndXP_1.default)(hive_bedrock_data_1.Game.GroundWars, statistics.xp)), (0, processPlayedAndVictories_1.default)(statistics.played, statistics.victories)), (0, processKillsAndDeaths_1.default)(statistics.kills, statistics.deaths)), { blocks_placed: (_c = statistics.blocks_placed) !== null && _c !== void 0 ? _c : 0, blocks_destroyed: (_d = statistics.blocks_destroyed) !== null && _d !== void 0 ? _d : 0, projectiles_fired: (_e = statistics.projectiles_fired) !== null && _e !== void 0 ? _e : 0 });
35
+ }
@@ -0,0 +1,8 @@
1
+ export default function processBuildRatings(rating_love_received?: number, rating_great_received?: number, rating_good_received?: number, rating_okay_received?: number, rating_meh_received?: number): {
2
+ total_ratings: number;
3
+ rating_love_received: number;
4
+ rating_great_received: number;
5
+ rating_good_received: number;
6
+ rating_okay_received: number;
7
+ rating_meh_received: number;
8
+ };
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = processBuildRatings;
4
+ function processBuildRatings(rating_love_received, rating_great_received, rating_good_received, rating_okay_received, rating_meh_received) {
5
+ rating_love_received !== null && rating_love_received !== void 0 ? rating_love_received : (rating_love_received = 0);
6
+ rating_great_received !== null && rating_great_received !== void 0 ? rating_great_received : (rating_great_received = 0);
7
+ rating_good_received !== null && rating_good_received !== void 0 ? rating_good_received : (rating_good_received = 0);
8
+ rating_okay_received !== null && rating_okay_received !== void 0 ? rating_okay_received : (rating_okay_received = 0);
9
+ rating_meh_received !== null && rating_meh_received !== void 0 ? rating_meh_received : (rating_meh_received = 0);
10
+ var total_ratings = rating_love_received +
11
+ rating_great_received +
12
+ rating_good_received +
13
+ rating_okay_received +
14
+ rating_meh_received;
15
+ return {
16
+ total_ratings: total_ratings,
17
+ rating_love_received: rating_love_received,
18
+ rating_great_received: rating_great_received,
19
+ rating_good_received: rating_good_received,
20
+ rating_okay_received: rating_okay_received,
21
+ rating_meh_received: rating_meh_received,
22
+ };
23
+ }
@@ -0,0 +1,6 @@
1
+ import { Game } from "hive-bedrock-data";
2
+ export default function processGameAndXP<G extends Game>(game: G, xp?: number): {
3
+ id: G;
4
+ xp: number;
5
+ level: number;
6
+ };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = processGameAndXP;
4
+ var hive_bedrock_data_1 = require("hive-bedrock-data");
5
+ function processGameAndXP(game, xp) {
6
+ var _a;
7
+ xp !== null && xp !== void 0 ? xp : (xp = 0);
8
+ var level = (_a = (0, hive_bedrock_data_1.calculateLevelFromXP)(xp, game)) !== null && _a !== void 0 ? _a : 1;
9
+ return { id: game, xp: xp, level: level };
10
+ }
@@ -0,0 +1,5 @@
1
+ export default function processHiderKillsAndDeaths(hider_kills?: number, deaths?: number): {
2
+ hider_kills: number;
3
+ deaths: number;
4
+ kdr: number;
5
+ };
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = processHiderKillsAndDeaths;
7
+ var toPoint_1 = __importDefault(require("../../helpers/toPoint"));
8
+ function processHiderKillsAndDeaths(hider_kills, deaths) {
9
+ hider_kills !== null && hider_kills !== void 0 ? hider_kills : (hider_kills = 0);
10
+ deaths !== null && deaths !== void 0 ? deaths : (deaths = 0);
11
+ var kdr = (0, toPoint_1.default)(hider_kills / deaths, 2);
12
+ return { hider_kills: hider_kills, deaths: deaths, kdr: kdr };
13
+ }
@@ -0,0 +1,5 @@
1
+ export default function processKillsAndDeaths(kills?: number, deaths?: number): {
2
+ kills: number;
3
+ deaths: number;
4
+ kdr: number;
5
+ };
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = processKillsAndDeaths;
7
+ var toPoint_1 = __importDefault(require("../../helpers/toPoint"));
8
+ function processKillsAndDeaths(kills, deaths) {
9
+ kills !== null && kills !== void 0 ? kills : (kills = 0);
10
+ deaths !== null && deaths !== void 0 ? deaths : (deaths = 0);
11
+ var kdr = (0, toPoint_1.default)(kills / deaths, 2);
12
+ return { kills: kills, deaths: deaths, kdr: kdr };
13
+ }
@@ -0,0 +1,5 @@
1
+ export default function processMurdersAndDeaths(murders?: number, deaths?: number): {
2
+ murders: number;
3
+ deaths: number;
4
+ kdr: number;
5
+ };
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = processMurdersAndDeaths;
7
+ var toPoint_1 = __importDefault(require("../../helpers/toPoint"));
8
+ function processMurdersAndDeaths(murders, deaths) {
9
+ murders !== null && murders !== void 0 ? murders : (murders = 0);
10
+ deaths !== null && deaths !== void 0 ? deaths : (deaths = 0);
11
+ var kdr = (0, toPoint_1.default)(murders / deaths, 2);
12
+ return { murders: murders, deaths: deaths, kdr: kdr };
13
+ }
@@ -0,0 +1,6 @@
1
+ export default function processPlayedAndVictories(played?: number, victories?: number): {
2
+ played: number;
3
+ victories: number;
4
+ losses: number;
5
+ win_percentage: number;
6
+ };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = processPlayedAndVictories;
4
+ function processPlayedAndVictories(played, victories) {
5
+ played !== null && played !== void 0 ? played : (played = 0);
6
+ victories !== null && victories !== void 0 ? victories : (victories = 0);
7
+ var losses = played - victories;
8
+ var win_percentage = victories / played;
9
+ if (isNaN(win_percentage))
10
+ win_percentage = 0;
11
+ return { played: played, victories: victories, losses: losses, win_percentage: win_percentage };
12
+ }
@@ -0,0 +1,19 @@
1
+ import { Game, Statistics, Timeframe } from "hive-bedrock-data";
2
+ import { OmittedSpecialStatistics } from "../types/types";
3
+ export interface Processed_HideAndSeek_AllTimeStatistics extends OmittedSpecialStatistics<Game.HideAndSeek, Timeframe.AllTime> {
4
+ id: Game.HideAndSeek;
5
+ level: number;
6
+ losses: number;
7
+ win_percentage: number;
8
+ kdr: number;
9
+ first_played: number | null;
10
+ }
11
+ export interface Processed_HideAndSeek_MonthlyStatistics extends Statistics<Game.HideAndSeek, Timeframe.Monthly> {
12
+ id: Game.HideAndSeek;
13
+ level: number;
14
+ losses: number;
15
+ win_percentage: number;
16
+ kdr: number;
17
+ }
18
+ export declare function processAllTime_HIDE(statistics: Partial<Statistics<Game.HideAndSeek, Timeframe.AllTime>>): Processed_HideAndSeek_AllTimeStatistics | null;
19
+ export declare function processMonthly_HIDE(statistics: Partial<Statistics<Game.HideAndSeek, Timeframe.Monthly>>): Processed_HideAndSeek_MonthlyStatistics | null;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.processAllTime_HIDE = processAllTime_HIDE;
18
+ exports.processMonthly_HIDE = processMonthly_HIDE;
19
+ var hive_bedrock_data_1 = require("hive-bedrock-data");
20
+ var processGameAndXP_1 = __importDefault(require("./helpers/processGameAndXP"));
21
+ var processPlayedAndVictories_1 = __importDefault(require("./helpers/processPlayedAndVictories"));
22
+ var processHiderKillsAndDeaths_1 = __importDefault(require("./helpers/processHiderKillsAndDeaths"));
23
+ function processAllTime_HIDE(statistics) {
24
+ var _a, _b;
25
+ if (!statistics || Array.isArray(statistics))
26
+ return null;
27
+ return __assign(__assign(__assign(__assign({ UUID: statistics.UUID }, (0, processGameAndXP_1.default)(hive_bedrock_data_1.Game.HideAndSeek, statistics.xp)), (0, processPlayedAndVictories_1.default)(statistics.played, statistics.victories)), (0, processHiderKillsAndDeaths_1.default)(statistics.hider_kills, statistics.deaths)), { seeker_kills: (_a = statistics.seeker_kills) !== null && _a !== void 0 ? _a : 0, first_played: (_b = statistics.first_played) !== null && _b !== void 0 ? _b : null });
28
+ }
29
+ function processMonthly_HIDE(statistics) {
30
+ var _a, _b, _c;
31
+ if (!statistics || Array.isArray(statistics))
32
+ return null;
33
+ var index = (_a = statistics.index) !== null && _a !== void 0 ? _a : 0;
34
+ return __assign(__assign(__assign(__assign({ index: (_b = statistics.index) !== null && _b !== void 0 ? _b : 0, human_index: index + 1, username: statistics.username }, (0, processGameAndXP_1.default)(hive_bedrock_data_1.Game.HideAndSeek, statistics.xp)), (0, processPlayedAndVictories_1.default)(statistics.played, statistics.victories)), (0, processHiderKillsAndDeaths_1.default)(statistics.hider_kills, statistics.deaths)), { seeker_kills: (_c = statistics.seeker_kills) !== null && _c !== void 0 ? _c : 0 });
35
+ }
@@ -1,7 +1,12 @@
1
1
  import { Game, Timeframe } from "hive-bedrock-data";
2
- export default function getProcessors(game: Game, timeframe: Timeframe): ((stats: {
3
- [key: string]: any;
4
- }) => void)[];
5
- export declare function getPlayerProcessors(): ((player: {
6
- [key: string]: any;
7
- }) => void)[];
2
+ import { PlayerProcessorType, Processor } from "../types/output";
3
+ export declare const AllTimeProcessors: {
4
+ [G in Game]: Processor<G, Timeframe.AllTime>;
5
+ };
6
+ export declare const MonthlyProcessors: {
7
+ [G in Game]: G extends Game.ParkourWorlds ? never : Processor<G, Timeframe.Monthly>;
8
+ };
9
+ export declare const LeaderboardProcessors: {
10
+ [G in Game]: G extends Game.ParkourWorlds ? never : Processor<G, Timeframe.Monthly>;
11
+ };
12
+ export declare const PlayerProcessor: PlayerProcessorType;
@@ -1,139 +1,73 @@
1
1
  "use strict";
2
- var __values = (this && this.__values) || function(o) {
3
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
4
- if (m) return m.call(o);
5
- if (o && typeof o.length === "number") return {
6
- next: function () {
7
- if (o && i >= o.length) o = void 0;
8
- return { value: o && o[i++], done: !o };
9
- }
10
- };
11
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
12
- };
13
- var __read = (this && this.__read) || function (o, n) {
14
- var m = typeof Symbol === "function" && o[Symbol.iterator];
15
- if (!m) return o;
16
- var i = m.call(o), r, ar = [], e;
17
- try {
18
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
- }
20
- catch (error) { e = { error: error }; }
21
- finally {
22
- try {
23
- if (r && !r.done && (m = i["return"])) m.call(i);
24
- }
25
- finally { if (e) throw e.error; }
26
- }
27
- return ar;
28
- };
29
- var __importDefault = (this && this.__importDefault) || function (mod) {
30
- return (mod && mod.__esModule) ? mod : { "default": mod };
31
- };
2
+ var _a, _b, _c;
32
3
  Object.defineProperty(exports, "__esModule", { value: true });
33
- exports.getPlayerProcessors = void 0;
4
+ exports.PlayerProcessor = exports.LeaderboardProcessors = exports.MonthlyProcessors = exports.AllTimeProcessors = void 0;
34
5
  var hive_bedrock_data_1 = require("hive-bedrock-data");
35
- var toPoint_1 = __importDefault(require("../helpers/toPoint"));
36
- function getProcessors(game, timeframe) {
37
- return [
38
- // Append game id
39
- function (s) { return (s.id = game); },
40
- // Fix inconsistant bridge keys
41
- function (s) {
42
- return game === hive_bedrock_data_1.Game.TheBridge && timeframe === hive_bedrock_data_1.Timeframe.Monthly
43
- ? Object.keys(s)
44
- .filter(function (key) { return key.startsWith("m_solo_"); })
45
- .forEach(function (key) {
46
- s[key.replace(/m_solo_/, "")] = s[key];
47
- delete s[key];
48
- })
49
- : null;
50
- },
51
- // Calculate current level
52
- function (s) {
53
- var _a;
54
- return "xp" in s && timeframe === hive_bedrock_data_1.Timeframe.AllTime
55
- ? (s.level = (_a = (0, hive_bedrock_data_1.calculateLevelFromXP)(s.xp, game)) !== null && _a !== void 0 ? _a : 0)
56
- : null;
57
- },
58
- // Calculate kill/death ratio
59
- function (s) {
60
- var _a, _b;
61
- return "kills" in s && "deaths" in s
62
- ? (s.kdr = (0, toPoint_1.default)(((_a = s.kills) !== null && _a !== void 0 ? _a : 0) / ((_b = s.deaths) !== null && _b !== void 0 ? _b : 0), 2))
63
- : null;
64
- },
65
- // Calculate kill/death ratio - hide
66
- function (s) {
67
- var _a, _b;
68
- return "hider_kills" in s && "deaths" in s
69
- ? (s.kdr = (0, toPoint_1.default)(((_a = s.hider_kills) !== null && _a !== void 0 ? _a : 0) / ((_b = s.deaths) !== null && _b !== void 0 ? _b : 0), 2))
70
- : null;
71
- },
72
- // Calculate kill/death ratio - murder
73
- function (s) {
74
- var _a, _b;
75
- return "murders" in s && "deaths" in s
76
- ? (s.kdr = (0, toPoint_1.default)(((_a = s.murders) !== null && _a !== void 0 ? _a : 0) / ((_b = s.deaths) !== null && _b !== void 0 ? _b : 0), 2))
77
- : null;
78
- },
79
- // Total ratings for build
80
- function (s) {
81
- return game === hive_bedrock_data_1.Game.JustBuild
82
- ? Object.keys(s)
83
- .filter(function (key) { return key.startsWith("rating_"); })
84
- .forEach(function (key) { var _a; return (s.total_ratings = ((_a = s.total_ratings) !== null && _a !== void 0 ? _a : 0) + s[key]); })
85
- : null;
86
- },
87
- // Append losses
88
- function (s) { return ("played" in s && "victories" in s ? (s.losses = s.played - s.victories) : null); },
89
- // Calculate win percentage
90
- function (s) {
91
- return "played" in s && "victories" in s
92
- ? (s.win_percentage = s.played > 0 ? s.victories / s.played : 0)
93
- : null;
94
- },
95
- // remove empty parkour world stats
96
- function (s) {
97
- var e_1, _a;
98
- if (game === hive_bedrock_data_1.Game.ParkourWorlds && typeof s.parkours !== "object") {
99
- try {
100
- for (var _b = __values(Object.keys(s)), _c = _b.next(); !_c.done; _c = _b.next()) {
101
- var key = _c.value;
102
- delete s[key];
103
- }
104
- }
105
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
106
- finally {
107
- try {
108
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
109
- }
110
- finally { if (e_1) throw e_1.error; }
111
- }
112
- }
113
- return null;
114
- },
115
- // Remove NaN
116
- function (s) {
117
- return Object.entries(s).forEach(function (_a) {
118
- var _b = __read(_a, 2), key = _b[0], value = _b[1];
119
- return isNaN(value) && typeof value === "number" ? delete s[key] : null;
120
- });
121
- },
122
- ];
123
- }
124
- exports.default = getProcessors;
125
- function getPlayerProcessors() {
126
- return [
127
- function (p) { var _a; return ((_a = p.daily_login_streak) !== null && _a !== void 0 ? _a : (p.daily_login_streak = 0)); },
128
- function (p) { var _a; return ((_a = p.longest_daily_login_streak) !== null && _a !== void 0 ? _a : (p.longest_daily_login_streak = 0)); },
129
- function (p) { var _a; return ((_a = p.quest_count) !== null && _a !== void 0 ? _a : (p.quest_count = 0)); },
130
- function (p) { var _a; return ((_a = p.friend_count) !== null && _a !== void 0 ? _a : (p.friend_count = 0)); },
131
- function (p) { var _a; return ((_a = p.hub_title_unlocked) !== null && _a !== void 0 ? _a : (p.hub_title_unlocked = [])); },
132
- function (p) { var _a; return ((_a = p.avatar_unlocked) !== null && _a !== void 0 ? _a : (p.avatar_unlocked = [])); },
133
- function (p) { var _a; return ((_a = p.costume_unlocked) !== null && _a !== void 0 ? _a : (p.costume_unlocked = [])); },
134
- function (p) { var _a; return ((_a = p.equipped_hub_title) !== null && _a !== void 0 ? _a : (p.equipped_hub_title = null)); },
135
- function (p) { var _a; return ((_a = p.equipped_avatar) !== null && _a !== void 0 ? _a : (p.equipped_avatar = null)); },
136
- function (p) { var _a; return ((_a = p.equipped_costume) !== null && _a !== void 0 ? _a : (p.equipped_costume = null)); },
137
- ];
138
- }
139
- exports.getPlayerProcessors = getPlayerProcessors;
6
+ var bed_1 = require("./bed");
7
+ var drop_1 = require("./drop");
8
+ var party_1 = require("./party");
9
+ var ctf_1 = require("./ctf");
10
+ var dr_1 = require("./dr");
11
+ var grav_1 = require("./grav");
12
+ var ground_1 = require("./ground");
13
+ var hide_1 = require("./hide");
14
+ var build_1 = require("./build");
15
+ var murder_1 = require("./murder");
16
+ var parkour_1 = require("./parkour");
17
+ var sky_1 = require("./sky");
18
+ var sg_1 = require("./sg");
19
+ var bridge_1 = require("./bridge");
20
+ var wars_1 = require("./wars");
21
+ var player_1 = require("./player");
22
+ exports.AllTimeProcessors = (_a = {},
23
+ _a[hive_bedrock_data_1.Game.BedWars] = bed_1.processAllTime_BED,
24
+ _a[hive_bedrock_data_1.Game.BlockDrop] = drop_1.processAllTime_DROP,
25
+ _a[hive_bedrock_data_1.Game.BlockParty] = party_1.processAllTime_PARTY,
26
+ _a[hive_bedrock_data_1.Game.CaptureTheFlag] = ctf_1.processAllTime_CTF,
27
+ _a[hive_bedrock_data_1.Game.DeathRun] = dr_1.processAllTime_DR,
28
+ _a[hive_bedrock_data_1.Game.Gravity] = grav_1.processAllTime_GRAV,
29
+ _a[hive_bedrock_data_1.Game.GroundWars] = ground_1.processAllTime_GROUND,
30
+ _a[hive_bedrock_data_1.Game.HideAndSeek] = hide_1.processAllTime_HIDE,
31
+ _a[hive_bedrock_data_1.Game.JustBuild] = build_1.processAllTime_BUILD,
32
+ _a[hive_bedrock_data_1.Game.MurderMystery] = murder_1.processAllTime_MURDER,
33
+ _a[hive_bedrock_data_1.Game.ParkourWorlds] = parkour_1.processAllTime_PARKOUR,
34
+ _a[hive_bedrock_data_1.Game.Skywars] = sky_1.processAllTime_SKY,
35
+ _a[hive_bedrock_data_1.Game.SurvivalGames] = sg_1.processAllTime_SG,
36
+ _a[hive_bedrock_data_1.Game.TheBridge] = bridge_1.processAllTime_BRIDGE,
37
+ _a[hive_bedrock_data_1.Game.TreasureWars] = wars_1.processAllTime_WARS,
38
+ _a);
39
+ exports.MonthlyProcessors = (_b = {},
40
+ _b[hive_bedrock_data_1.Game.BedWars] = bed_1.processMonthly_BED,
41
+ _b[hive_bedrock_data_1.Game.BlockDrop] = drop_1.processMonthly_DROP,
42
+ _b[hive_bedrock_data_1.Game.BlockParty] = party_1.processMonthly_PARTY,
43
+ _b[hive_bedrock_data_1.Game.CaptureTheFlag] = ctf_1.processMonthly_CTF,
44
+ _b[hive_bedrock_data_1.Game.DeathRun] = dr_1.processMonthly_DR,
45
+ _b[hive_bedrock_data_1.Game.Gravity] = grav_1.processMonthly_GRAV,
46
+ _b[hive_bedrock_data_1.Game.GroundWars] = ground_1.processMonthly_GROUND,
47
+ _b[hive_bedrock_data_1.Game.HideAndSeek] = hide_1.processMonthly_HIDE,
48
+ _b[hive_bedrock_data_1.Game.JustBuild] = build_1.processMonthly_BUILD,
49
+ _b[hive_bedrock_data_1.Game.MurderMystery] = murder_1.processMonthly_MURDER,
50
+ _b[hive_bedrock_data_1.Game.Skywars] = sky_1.processMonthly_SKY,
51
+ _b[hive_bedrock_data_1.Game.SurvivalGames] = sg_1.processMonthly_SG,
52
+ _b[hive_bedrock_data_1.Game.TheBridge] = bridge_1.processMonthly_BRIDGE,
53
+ _b[hive_bedrock_data_1.Game.TreasureWars] = wars_1.processMonthly_WARS,
54
+ _b[hive_bedrock_data_1.Game.ParkourWorlds] = null,
55
+ _b);
56
+ exports.LeaderboardProcessors = (_c = {},
57
+ _c[hive_bedrock_data_1.Game.BedWars] = bed_1.processMonthly_BED,
58
+ _c[hive_bedrock_data_1.Game.BlockDrop] = drop_1.processMonthly_DROP,
59
+ _c[hive_bedrock_data_1.Game.BlockParty] = party_1.processMonthly_PARTY,
60
+ _c[hive_bedrock_data_1.Game.CaptureTheFlag] = ctf_1.processMonthly_CTF,
61
+ _c[hive_bedrock_data_1.Game.DeathRun] = dr_1.processMonthly_DR,
62
+ _c[hive_bedrock_data_1.Game.Gravity] = grav_1.processMonthly_GRAV,
63
+ _c[hive_bedrock_data_1.Game.GroundWars] = ground_1.processMonthly_GROUND,
64
+ _c[hive_bedrock_data_1.Game.HideAndSeek] = hide_1.processMonthly_HIDE,
65
+ _c[hive_bedrock_data_1.Game.JustBuild] = build_1.processMonthly_BUILD,
66
+ _c[hive_bedrock_data_1.Game.MurderMystery] = murder_1.processMonthly_MURDER,
67
+ _c[hive_bedrock_data_1.Game.Skywars] = sky_1.processMonthly_SKY,
68
+ _c[hive_bedrock_data_1.Game.SurvivalGames] = sg_1.processMonthly_SG,
69
+ _c[hive_bedrock_data_1.Game.TheBridge] = bridge_1.processMonthly_BRIDGE,
70
+ _c[hive_bedrock_data_1.Game.TreasureWars] = wars_1.processMonthly_WARS,
71
+ _c[hive_bedrock_data_1.Game.ParkourWorlds] = null,
72
+ _c);
73
+ exports.PlayerProcessor = player_1.process_PLAYER;
@@ -0,0 +1,19 @@
1
+ import { Game, Statistics, Timeframe } from "hive-bedrock-data";
2
+ import { OmittedSpecialStatistics } from "../types/types";
3
+ export interface Processed_MurderMystery_AllTimeStatistics extends OmittedSpecialStatistics<Game.MurderMystery, Timeframe.AllTime> {
4
+ id: Game.MurderMystery;
5
+ level: number;
6
+ losses: number;
7
+ win_percentage: number;
8
+ kdr: number;
9
+ first_played: number | null;
10
+ }
11
+ export interface Processed_MurderMystery_MonthlyStatistics extends Statistics<Game.MurderMystery, Timeframe.Monthly> {
12
+ id: Game.MurderMystery;
13
+ level: number;
14
+ losses: number;
15
+ win_percentage: number;
16
+ kdr: number;
17
+ }
18
+ export declare function processAllTime_MURDER(statistics: Partial<Statistics<Game.MurderMystery, Timeframe.AllTime>>): Processed_MurderMystery_AllTimeStatistics | null;
19
+ export declare function processMonthly_MURDER(statistics: Partial<Statistics<Game.MurderMystery, Timeframe.Monthly>>): Processed_MurderMystery_MonthlyStatistics | null;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.processAllTime_MURDER = processAllTime_MURDER;
18
+ exports.processMonthly_MURDER = processMonthly_MURDER;
19
+ var hive_bedrock_data_1 = require("hive-bedrock-data");
20
+ var processGameAndXP_1 = __importDefault(require("./helpers/processGameAndXP"));
21
+ var processPlayedAndVictories_1 = __importDefault(require("./helpers/processPlayedAndVictories"));
22
+ var processMurdersAndDeaths_1 = __importDefault(require("./helpers/processMurdersAndDeaths"));
23
+ function processAllTime_MURDER(statistics) {
24
+ var _a, _b, _c, _d;
25
+ if (!statistics || Array.isArray(statistics))
26
+ return null;
27
+ return __assign(__assign(__assign(__assign({ UUID: statistics.UUID }, (0, processGameAndXP_1.default)(hive_bedrock_data_1.Game.MurderMystery, statistics.xp)), (0, processPlayedAndVictories_1.default)(statistics.played, statistics.victories)), (0, processMurdersAndDeaths_1.default)(statistics.murders, statistics.deaths)), { murderer_eliminations: (_a = statistics.murderer_eliminations) !== null && _a !== void 0 ? _a : 0, coins: (_b = statistics.coins) !== null && _b !== void 0 ? _b : 0, prestige: (_c = statistics.prestige) !== null && _c !== void 0 ? _c : 0, first_played: (_d = statistics.first_played) !== null && _d !== void 0 ? _d : null });
28
+ }
29
+ function processMonthly_MURDER(statistics) {
30
+ var _a, _b, _c, _d, _e;
31
+ if (!statistics || Array.isArray(statistics))
32
+ return null;
33
+ var index = (_a = statistics.index) !== null && _a !== void 0 ? _a : 0;
34
+ return __assign(__assign(__assign(__assign({ index: (_b = statistics.index) !== null && _b !== void 0 ? _b : 0, human_index: index + 1, username: statistics.username }, (0, processGameAndXP_1.default)(hive_bedrock_data_1.Game.MurderMystery, statistics.xp)), (0, processPlayedAndVictories_1.default)(statistics.played, statistics.victories)), (0, processMurdersAndDeaths_1.default)(statistics.murders, statistics.deaths)), { murderer_eliminations: (_c = statistics.murderer_eliminations) !== null && _c !== void 0 ? _c : 0, coins: (_d = statistics.coins) !== null && _d !== void 0 ? _d : 0, prestige: (_e = statistics.prestige) !== null && _e !== void 0 ? _e : 0 });
35
+ }
@@ -0,0 +1,5 @@
1
+ import { Game, Statistics, Timeframe } from "hive-bedrock-data";
2
+ export interface Processed_ParkourWorlds_AllTimeStatistics extends Statistics<Game.ParkourWorlds, Timeframe.AllTime> {
3
+ id: Game.ParkourWorlds;
4
+ }
5
+ export declare function processAllTime_PARKOUR(statistics: Partial<Statistics<Game.ParkourWorlds, Timeframe.AllTime>>): Processed_ParkourWorlds_AllTimeStatistics | null;
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __values = (this && this.__values) || function(o) {
14
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
15
+ if (m) return m.call(o);
16
+ if (o && typeof o.length === "number") return {
17
+ next: function () {
18
+ if (o && i >= o.length) o = void 0;
19
+ return { value: o && o[i++], done: !o };
20
+ }
21
+ };
22
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
23
+ };
24
+ var __read = (this && this.__read) || function (o, n) {
25
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
26
+ if (!m) return o;
27
+ var i = m.call(o), r, ar = [], e;
28
+ try {
29
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
30
+ }
31
+ catch (error) { e = { error: error }; }
32
+ finally {
33
+ try {
34
+ if (r && !r.done && (m = i["return"])) m.call(i);
35
+ }
36
+ finally { if (e) throw e.error; }
37
+ }
38
+ return ar;
39
+ };
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.processAllTime_PARKOUR = processAllTime_PARKOUR;
42
+ var hive_bedrock_data_1 = require("hive-bedrock-data");
43
+ function processParkourWorld(world) {
44
+ var e_1, _a;
45
+ var _b, _c, _d, _e;
46
+ var processedCourses = [];
47
+ try {
48
+ for (var _f = __values(Object.entries(world)), _g = _f.next(); !_g.done; _g = _f.next()) {
49
+ var _h = __read(_g.value, 2), name_1 = _h[0], course = _h[1];
50
+ if (typeof course !== "object")
51
+ continue;
52
+ var processedCourse = {
53
+ best_run_time: (_b = course.best_run_time) !== null && _b !== void 0 ? _b : 0,
54
+ best_checkpoint_times: (_c = course.best_checkpoint_times) !== null && _c !== void 0 ? _c : [],
55
+ collected_stars: (_d = course.collected_stars) !== null && _d !== void 0 ? _d : [],
56
+ course_stars: (_e = course.course_stars) !== null && _e !== void 0 ? _e : [],
57
+ };
58
+ processedCourses.push([name_1, processedCourse]);
59
+ }
60
+ }
61
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
62
+ finally {
63
+ try {
64
+ if (_g && !_g.done && (_a = _f.return)) _a.call(_f);
65
+ }
66
+ finally { if (e_1) throw e_1.error; }
67
+ }
68
+ return __assign({ parkour_stars: world.parkour_stars }, Object.fromEntries(processedCourses));
69
+ }
70
+ function processAllTime_PARKOUR(statistics) {
71
+ var e_2, _a;
72
+ var _b, _c, _d;
73
+ if (!statistics || Array.isArray(statistics))
74
+ return null;
75
+ var worlds = Object.entries((_b = statistics.parkours) !== null && _b !== void 0 ? _b : {});
76
+ var processedWorlds = [];
77
+ try {
78
+ for (var worlds_1 = __values(worlds), worlds_1_1 = worlds_1.next(); !worlds_1_1.done; worlds_1_1 = worlds_1.next()) {
79
+ var _e = __read(worlds_1_1.value, 2), worldName = _e[0], world = _e[1];
80
+ if (typeof world !== "object")
81
+ continue;
82
+ processedWorlds.push([worldName, processParkourWorld(world)]);
83
+ }
84
+ }
85
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
86
+ finally {
87
+ try {
88
+ if (worlds_1_1 && !worlds_1_1.done && (_a = worlds_1.return)) _a.call(worlds_1);
89
+ }
90
+ finally { if (e_2) throw e_2.error; }
91
+ }
92
+ var parkours = __assign({ total_stars: (_d = (_c = statistics.parkours) === null || _c === void 0 ? void 0 : _c.total_stars) !== null && _d !== void 0 ? _d : 0 }, Object.fromEntries(processedWorlds));
93
+ var parkourStatistics = {
94
+ UUID: statistics.UUID,
95
+ id: hive_bedrock_data_1.Game.ParkourWorlds,
96
+ parkours: parkours,
97
+ };
98
+ return parkourStatistics;
99
+ }