@zikeji/hypixel
Version:
With IntelliSense support & test coverage, this is an unopinionated async/await API wrapper for Hypixel's Public API. It is developed in TypeScript complete with documentation, typed interfaces for all API responses, built-in rate-limit handling, flexible
65 lines • 3.25 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformSkyBlockProfileMemberInventories = transformSkyBlockProfileMemberInventories;
const TransformItemData_1 = require("./TransformItemData");
/** @internal */
const SKYBLOCK_INVENTORIES = [
["inv_contents", false],
["ender_chest_contents", false],
["backpack_icons", true],
["backpack_contents", true],
["bag_contents", true],
["inv_armor", false],
["equipment_contents", false],
["personal_vault_contents", false],
["wardrobe_contents", false],
];
/**
* This helper will loop over all the possible inventories on a profile and run the {@link transformSkyBlockItemData} helper on them, returning the member object with the transformed properties.
* @param member The profile member object that you want to transform the inventory data of.
* @category Helper
*/
function transformSkyBlockProfileMemberInventories(member) {
return __awaiter(this, void 0, void 0, function* () {
const transformedMember = member;
yield Promise.all(SKYBLOCK_INVENTORIES.map((_a) => __awaiter(this, [_a], void 0, function* ([key, hasKeys]) {
if (!hasKeys) {
const inventoryData = transformedMember.inventory[key];
if (inventoryData && inventoryData.data) {
try {
transformedMember.inventory[key] = (yield (0, TransformItemData_1.transformItemData)(inventoryData.data));
}
catch (e) {
/* istanbul ignore next */
delete transformedMember.inventory[key];
}
}
}
else {
const inventoryData = transformedMember.inventory[key];
yield Promise.all(Object.keys(inventoryData).map((subKey) => __awaiter(this, void 0, void 0, function* () {
if (inventoryData[subKey] && inventoryData[subKey].data) {
try {
transformedMember.inventory[key][subKey] = (yield (0, TransformItemData_1.transformItemData)(inventoryData[subKey].data));
}
catch (e) {
/* istanbul ignore next */
delete transformedMember.inventory[key][subKey];
}
}
})));
}
})));
return transformedMember;
});
}
//# sourceMappingURL=TransformSkyBlockItemData.js.map