warframe-worldstate-parser
Version:
An Open parser for Warframe's Worldstate in Javascript
76 lines (75 loc) • 2.66 kB
JavaScript
import { n as __decorateMetadata, t as __decorate } from "../../decorate-BCC26nnB.mjs";
import { WorldStateObject } from "./WorldStateObject.mjs";
import { Type } from "class-transformer";
import { IsBoolean, IsNumber, IsString, ValidateNested } from "class-validator";
import { languageString, weeklyReset } from "warframe-worldstate-data/utilities";
//#region lib/models/ClanInitiativeRewards.ts
var ClanReward = class {
/**
* Reward uniqueName
*/
uniqueName;
/**
* Reward name localized
*/
reward;
/**
* Bundle size for the given reward
*/
count;
/**
* Points required to earn reward
*/
pointsRequired;
/**
* Whether or not this reward has already been claimed
*/
isClaimed;
constructor(reward, { locale = "en" } = { locale: "en" }) {
this.uniqueName = reward.Reward;
this.reward = languageString(reward.Reward, locale);
this.count = reward.ItemCount;
this.isClaimed = reward.RewardClaimed;
this.pointsRequired = reward.PointThreshold;
}
rewardString() {
return `${this.count}x ${this.reward}`;
}
};
__decorate([IsString(), __decorateMetadata("design:type", String)], ClanReward.prototype, "uniqueName", void 0);
__decorate([IsString(), __decorateMetadata("design:type", String)], ClanReward.prototype, "reward", void 0);
__decorate([IsNumber(), __decorateMetadata("design:type", Number)], ClanReward.prototype, "count", void 0);
__decorate([IsNumber(), __decorateMetadata("design:type", Number)], ClanReward.prototype, "pointsRequired", void 0);
__decorate([IsBoolean(), __decorateMetadata("design:type", Boolean)], ClanReward.prototype, "isClaimed", void 0);
var ClanInitiativeRewards = class extends WorldStateObject {
/**
* Current week number since release
*/
week;
/**
* Region or planet where resources are doubled
*/
bonusRegion;
regionUniqueName;
/**
* Rewards earned at each point threshold
*/
rewwards;
constructor(data, { locale = "en" } = { locale: "en" }) {
super(data);
({activation: this.activation, expiry: this.expiry} = weeklyReset());
this.week = data.WeekCount;
this.bonusRegion = languageString(data.BonusRegion, locale);
this.regionUniqueName = data.BonusRegion;
this.rewwards = data.Rewards;
}
};
__decorate([IsNumber(), __decorateMetadata("design:type", Number)], ClanInitiativeRewards.prototype, "week", void 0);
__decorate([IsString(), __decorateMetadata("design:type", String)], ClanInitiativeRewards.prototype, "bonusRegion", void 0);
__decorate([
ValidateNested({ each: true }),
Type(() => ClanReward),
__decorateMetadata("design:type", Array)
], ClanInitiativeRewards.prototype, "rewwards", void 0);
//#endregion
export { ClanInitiativeRewards, ClanReward };