warframe-worldstate-parser 5.0.6 → 5.1.1

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.
@@ -2,6 +2,11 @@ import { Dependency } from "./Dependency-B0SogTJw.js";
2
2
  import { Identifier, WorldstateObject } from "./WorldstateObject-wfRTeGpm.js";
3
3
 
4
4
  //#region lib/models/SyndicateJob.d.ts
5
+ interface BountyReward {
6
+ item: string;
7
+ rarity: string;
8
+ chance: number;
9
+ }
5
10
  interface RawSyndicateJob {
6
11
  rewards: string;
7
12
  isVault?: boolean;
@@ -13,15 +18,26 @@ interface RawSyndicateJob {
13
18
  xpAmounts: number[];
14
19
  masteryReq?: number;
15
20
  }
21
+ interface RewardDrop extends BountyReward {
22
+ count: number;
23
+ }
16
24
  /**
17
25
  * Represents a syndicate daily mission
18
26
  * @augments {WorldstateObject}
19
27
  */
20
28
  declare class SyndicateJob extends WorldstateObject {
29
+ /**
30
+ * Reward pool unique name
31
+ */
32
+ uniqueName: string;
21
33
  /**
22
34
  * Array of strings describing rewards
23
35
  */
24
36
  rewardPool: string[];
37
+ /**
38
+ * A structured version of the reward pool
39
+ */
40
+ rewardPoolDrops: RewardDrop[];
25
41
  /**
26
42
  * The type of job this is
27
43
  */
@@ -73,4 +89,4 @@ declare class SyndicateJob extends WorldstateObject {
73
89
  }?: Dependency);
74
90
  }
75
91
  //#endregion
76
- export { RawSyndicateJob, SyndicateJob };
92
+ export { RawSyndicateJob, RewardDrop, SyndicateJob };
@@ -53,7 +53,7 @@ const getBountyRewards = async (i18n, raw, isVault) => {
53
53
  const pool = (await fetch(url).then((res) => res.json()).catch(() => {}))?.[locationWRot];
54
54
  if (!pool) return ["Pattern Mismatch. Results inaccurate."];
55
55
  const results = pool.rewards;
56
- if (results) return Array.from(new Set(results.map((result) => result.item)));
56
+ if (results) return Array.from(new Set(results));
57
57
  return [];
58
58
  };
59
59
  const FIFTY_MINUTES = 3e6;
@@ -62,11 +62,19 @@ const FIFTY_MINUTES = 3e6;
62
62
  * @augments {WorldstateObject}
63
63
  */
64
64
  var SyndicateJob = class SyndicateJob extends WorldstateObject {
65
+ /**
66
+ * Reward pool unique name
67
+ */
68
+ uniqueName;
65
69
  /**
66
70
  * Array of strings describing rewards
67
71
  */
68
72
  rewardPool;
69
73
  /**
74
+ * A structured version of the reward pool
75
+ */
76
+ rewardPoolDrops;
77
+ /**
70
78
  * The type of job this is
71
79
  */
72
80
  type;
@@ -104,7 +112,20 @@ var SyndicateJob = class SyndicateJob extends WorldstateObject {
104
112
  */
105
113
  static async build(data, expiry, deps) {
106
114
  const job = new SyndicateJob(data, expiry, deps);
107
- job.rewardPool = await getBountyRewards(data.rewards, data, data.isVault);
115
+ const rewards = await getBountyRewards(data.rewards, data, data.isVault);
116
+ if (typeof rewards[0] === "string") job.rewardPool = rewards;
117
+ else {
118
+ job.rewardPoolDrops = rewards.map((reward) => {
119
+ const countReg = /([0-9]{1,10})X/;
120
+ const count = reward.item.match(countReg)?.[1];
121
+ return {
122
+ ...reward,
123
+ item: reward.item.replace(countReg, "").trim(),
124
+ count: count ? parseInt(count, 10) : 1
125
+ };
126
+ });
127
+ job.rewardPool = rewards.map((reward) => reward.item);
128
+ }
108
129
  return job;
109
130
  }
110
131
  /**
@@ -118,7 +139,9 @@ var SyndicateJob = class SyndicateJob extends WorldstateObject {
118
139
  */
119
140
  constructor(data, expiry, { locale } = { locale: "en" }) {
120
141
  super({ _id: { $oid: data.JobCurrentVersion ? data.JobCurrentVersion.$oid : `${(data.jobType || "").split("/").slice(-1)[0]}${expiry.getTime()}` } });
142
+ this.uniqueName = data.rewards;
121
143
  this.rewardPool = [];
144
+ this.rewardPoolDrops = [];
122
145
  const chamber = ((data.locationTag || "").match(/[A-Z]+(?![a-z])|[A-Z]?[a-z]+|\d+/g) || []).join(" ");
123
146
  this.type = data.isVault ? `Isolation Vault ${chamber}` : data.jobType ? languageString(data.jobType, locale) : void 0;
124
147
  this.enemyLevels = [data.minEnemyLevel, data.maxEnemyLevel];
@@ -1,5 +1,5 @@
1
1
  import { WorldstateObject } from "./WorldstateObject-BSTYuZwm.js";
2
- import { SyndicateJob } from "./SyndicateJob-DexLVMfe.js";
2
+ import { SyndicateJob } from "./SyndicateJob-Rh5jfui_.js";
3
3
  import { fromNow, node, syndicate, timeDeltaToString } from "warframe-worldstate-data/utilities";
4
4
 
5
5
  //#region lib/models/SyndicateMission.ts
@@ -1,6 +1,6 @@
1
1
  import { Dependency } from "./Dependency-B0SogTJw.js";
2
2
  import { BaseContentObject, WorldstateObject } from "./WorldstateObject-wfRTeGpm.js";
3
- import { RawSyndicateJob, SyndicateJob } from "./SyndicateJob-irX981dU.js";
3
+ import { RawSyndicateJob, SyndicateJob } from "./SyndicateJob-QVbpj1yx.js";
4
4
 
5
5
  //#region lib/models/SyndicateMission.d.ts
6
6
  interface RawSyndicateMission extends BaseContentObject {
@@ -1,7 +1,7 @@
1
1
  import { Dependency } from "./Dependency-B0SogTJw.js";
2
2
  import { RawReward, Reward } from "./Reward-CCIfcF_s.js";
3
3
  import { BaseContentObject, Identifier, WorldstateObject } from "./WorldstateObject-wfRTeGpm.js";
4
- import { RawSyndicateJob, SyndicateJob } from "./SyndicateJob-irX981dU.js";
4
+ import { RawSyndicateJob, SyndicateJob } from "./SyndicateJob-QVbpj1yx.js";
5
5
  import { ContentTimestamp } from "warframe-worldstate-data/utilities";
6
6
 
7
7
  //#region lib/models/WorldEvent.d.ts
@@ -1,6 +1,6 @@
1
1
  import { Reward } from "./Reward-OauJ45jJ.js";
2
2
  import { WorldstateObject } from "./WorldstateObject-BSTYuZwm.js";
3
- import { SyndicateJob } from "./SyndicateJob-DexLVMfe.js";
3
+ import { SyndicateJob } from "./SyndicateJob-Rh5jfui_.js";
4
4
  import { faction, fromNow, languageString, node, parseDate, syndicate } from "warframe-worldstate-data/utilities";
5
5
 
6
6
  //#region lib/models/WorldEvent.ts
@@ -25,11 +25,11 @@ import { PersistentEnemy, RawPersistentEnemy } from "./PersistentEnemy-DRcO4V2r.
25
25
  import { LibraryInfo, Simaris } from "./Simaris-CWMNamfA.js";
26
26
  import { RawSortie, Sortie } from "./Sortie-DiJNLssz.js";
27
27
  import { SteelPathOfferings } from "./SteelPathOffering-OHNTCFo5.js";
28
- import { RawSyndicateMission, SyndicateMission } from "./SyndicateMission-DBJwkRdm.js";
28
+ import { RawSyndicateMission, SyndicateMission } from "./SyndicateMission-YPWLcu6O.js";
29
29
  import { VallisCycle } from "./VallisCycle-BXcmzqqG.js";
30
30
  import { RawVoidTrader, VoidTrader } from "./VoidTrader-CYVxNiBQ.js";
31
31
  import { RawWeeklyChallenge, WeeklyChallenge } from "./WeeklyChallenge-BhF9oQzN.js";
32
- import { RawWorldEvent, WorldEvent } from "./WorldEvent-tlVPwS2U.js";
32
+ import { RawWorldEvent, WorldEvent } from "./WorldEvent-CYT3FWyE.js";
33
33
  import { ZarimanCycle } from "./ZarimanCycle-CjNQXhVO.js";
34
34
  import { ExternalMission } from "./ExternalMission-DCzJkPC8.js";
35
35
 
@@ -20,11 +20,11 @@ import { PersistentEnemy } from "./PersistentEnemy-axYxYzv_.js";
20
20
  import { Simaris } from "./Simaris-B9Mvso2q.js";
21
21
  import { Sortie } from "./Sortie-DcoAnEaJ.js";
22
22
  import { SteelPathOfferings } from "./SteelPathOffering-BTZR8wcv.js";
23
- import { SyndicateMission } from "./SyndicateMission-tO0E40dz.js";
23
+ import { SyndicateMission } from "./SyndicateMission-CyagODjG.js";
24
24
  import { VallisCycle } from "./VallisCycle-CXYPClXc.js";
25
25
  import { VoidTrader } from "./VoidTrader-D6zkctq1.js";
26
26
  import { WeeklyChallenge } from "./WeeklyChallenge-MzUEZAjv.js";
27
- import { WorldEvent } from "./WorldEvent-C5KY74SD.js";
27
+ import { WorldEvent } from "./WorldEvent-DaqJo95c.js";
28
28
  import { ZarimanCycle } from "./ZarimanCycle-BnT2IiXU.js";
29
29
  import { DuviriChoice } from "./DuviriChoice-DRNDUbyc.js";
30
30
  import { Tmp } from "./Tmp-CJSkjzXq.js";
@@ -32,16 +32,16 @@ import "../Simaris-CWMNamfA.js";
32
32
  import "../SortieVariant-ByZY5-jt.js";
33
33
  import "../Sortie-DiJNLssz.js";
34
34
  import "../SteelPathOffering-OHNTCFo5.js";
35
- import "../SyndicateJob-irX981dU.js";
36
- import "../SyndicateMission-DBJwkRdm.js";
35
+ import "../SyndicateJob-QVbpj1yx.js";
36
+ import "../SyndicateMission-YPWLcu6O.js";
37
37
  import "../VallisCycle-BXcmzqqG.js";
38
38
  import "../VoidTraderItem-D01b6tH8.js";
39
39
  import "../VoidTraderSchedule-C2o7tk70.js";
40
40
  import "../VoidTrader-CYVxNiBQ.js";
41
41
  import "../ChallengeInstance-0EYq73Pa.js";
42
42
  import "../WeeklyChallenge-BhF9oQzN.js";
43
- import "../WorldEvent-tlVPwS2U.js";
43
+ import "../WorldEvent-CYT3FWyE.js";
44
44
  import "../ZarimanCycle-CjNQXhVO.js";
45
45
  import "../ExternalMission-DCzJkPC8.js";
46
- import { InitialWorldState, WorldState, _default, parseArray, parseAsyncArray } from "../WorldState-D3ksiIhv.js";
46
+ import { InitialWorldState, WorldState, _default, parseArray, parseAsyncArray } from "../WorldState-DnlNwjD-.js";
47
47
  export { InitialWorldState, WorldState, _default as default, parseArray, parseAsyncArray };
@@ -29,21 +29,21 @@ import "../Simaris-B9Mvso2q.js";
29
29
  import "../SortieVariant-eWuI1uh9.js";
30
30
  import "../Sortie-DcoAnEaJ.js";
31
31
  import "../SteelPathOffering-BTZR8wcv.js";
32
- import "../SyndicateJob-DexLVMfe.js";
33
- import "../SyndicateMission-tO0E40dz.js";
32
+ import "../SyndicateJob-Rh5jfui_.js";
33
+ import "../SyndicateMission-CyagODjG.js";
34
34
  import "../VallisCycle-CXYPClXc.js";
35
35
  import "../VoidTraderItem-BzeD-S6-.js";
36
36
  import "../VoidTraderSchedule-C-K8Zdfk.js";
37
37
  import "../VoidTrader-D6zkctq1.js";
38
38
  import "../ChallengeInstance-DHwTTwMH.js";
39
39
  import "../WeeklyChallenge-MzUEZAjv.js";
40
- import "../WorldEvent-C5KY74SD.js";
40
+ import "../WorldEvent-DaqJo95c.js";
41
41
  import "../ZarimanCycle-BnT2IiXU.js";
42
42
  import "../DuviriChoice-DRNDUbyc.js";
43
43
  import "../Archidemea-ibzHTTNI.js";
44
44
  import "../Kinepage-iWFwTZtr.js";
45
45
  import "../SentientOutpost-B2KZUJ7H.js";
46
46
  import "../Tmp-CJSkjzXq.js";
47
- import { WorldState, WorldState_default, parseArray, parseAsyncArray } from "../WorldState-Dtt6FKgl.js";
47
+ import { WorldState, WorldState_default, parseArray, parseAsyncArray } from "../WorldState-SfQClAfG.js";
48
48
 
49
49
  export { WorldState, WorldState_default as default, parseArray, parseAsyncArray };
@@ -1,5 +1,5 @@
1
1
  import "../../KuvaLogEntry-d5fskHaK.js";
2
2
  import "../../Dependency-B0SogTJw.js";
3
3
  import "../../WorldstateObject-wfRTeGpm.js";
4
- import { RawSyndicateJob, SyndicateJob } from "../../SyndicateJob-irX981dU.js";
5
- export { RawSyndicateJob, SyndicateJob as default };
4
+ import { RawSyndicateJob, RewardDrop, SyndicateJob } from "../../SyndicateJob-QVbpj1yx.js";
5
+ export { RawSyndicateJob, RewardDrop, SyndicateJob as default };
@@ -1,4 +1,4 @@
1
1
  import "../../WorldstateObject-BSTYuZwm.js";
2
- import { SyndicateJob } from "../../SyndicateJob-DexLVMfe.js";
2
+ import { SyndicateJob } from "../../SyndicateJob-Rh5jfui_.js";
3
3
 
4
4
  export { SyndicateJob as default };
@@ -1,6 +1,6 @@
1
1
  import "../../KuvaLogEntry-d5fskHaK.js";
2
2
  import "../../Dependency-B0SogTJw.js";
3
3
  import "../../WorldstateObject-wfRTeGpm.js";
4
- import "../../SyndicateJob-irX981dU.js";
5
- import { RawSyndicateMission, SyndicateMission } from "../../SyndicateMission-DBJwkRdm.js";
4
+ import "../../SyndicateJob-QVbpj1yx.js";
5
+ import { RawSyndicateMission, SyndicateMission } from "../../SyndicateMission-YPWLcu6O.js";
6
6
  export { RawSyndicateMission, SyndicateMission as default };
@@ -1,5 +1,5 @@
1
1
  import "../../WorldstateObject-BSTYuZwm.js";
2
- import "../../SyndicateJob-DexLVMfe.js";
3
- import { SyndicateMission } from "../../SyndicateMission-tO0E40dz.js";
2
+ import "../../SyndicateJob-Rh5jfui_.js";
3
+ import { SyndicateMission } from "../../SyndicateMission-CyagODjG.js";
4
4
 
5
5
  export { SyndicateMission as default };
@@ -3,6 +3,6 @@ import "../../Dependency-B0SogTJw.js";
3
3
  import "../../RewardTypes-DYaUn77A.js";
4
4
  import "../../Reward-CCIfcF_s.js";
5
5
  import "../../WorldstateObject-wfRTeGpm.js";
6
- import "../../SyndicateJob-irX981dU.js";
7
- import { InterimRewardMessage, InterimStep, ProgressStep, RawWorldEvent, WorldEvent } from "../../WorldEvent-tlVPwS2U.js";
6
+ import "../../SyndicateJob-QVbpj1yx.js";
7
+ import { InterimRewardMessage, InterimStep, ProgressStep, RawWorldEvent, WorldEvent } from "../../WorldEvent-CYT3FWyE.js";
8
8
  export { InterimRewardMessage, InterimStep, ProgressStep, RawWorldEvent, WorldEvent as default };
@@ -3,7 +3,7 @@ import "../../RewardData-qEvfHYxA.js";
3
3
  import "../../RewardTypes-Cfq9FeIl.js";
4
4
  import "../../Reward-OauJ45jJ.js";
5
5
  import "../../WorldstateObject-BSTYuZwm.js";
6
- import "../../SyndicateJob-DexLVMfe.js";
7
- import { WorldEvent } from "../../WorldEvent-C5KY74SD.js";
6
+ import "../../SyndicateJob-Rh5jfui_.js";
7
+ import { WorldEvent } from "../../WorldEvent-DaqJo95c.js";
8
8
 
9
9
  export { WorldEvent as default };
package/dist/main.d.ts CHANGED
@@ -32,16 +32,16 @@ import "./Simaris-CWMNamfA.js";
32
32
  import "./SortieVariant-ByZY5-jt.js";
33
33
  import "./Sortie-DiJNLssz.js";
34
34
  import "./SteelPathOffering-OHNTCFo5.js";
35
- import "./SyndicateJob-irX981dU.js";
36
- import "./SyndicateMission-DBJwkRdm.js";
35
+ import "./SyndicateJob-QVbpj1yx.js";
36
+ import "./SyndicateMission-YPWLcu6O.js";
37
37
  import "./VallisCycle-BXcmzqqG.js";
38
38
  import "./VoidTraderItem-D01b6tH8.js";
39
39
  import "./VoidTraderSchedule-C2o7tk70.js";
40
40
  import "./VoidTrader-CYVxNiBQ.js";
41
41
  import "./ChallengeInstance-0EYq73Pa.js";
42
42
  import "./WeeklyChallenge-BhF9oQzN.js";
43
- import "./WorldEvent-tlVPwS2U.js";
43
+ import "./WorldEvent-CYT3FWyE.js";
44
44
  import "./ZarimanCycle-CjNQXhVO.js";
45
45
  import "./ExternalMission-DCzJkPC8.js";
46
- import { InitialWorldState, WorldState, parseArray, parseAsyncArray } from "./WorldState-D3ksiIhv.js";
46
+ import { InitialWorldState, WorldState, parseArray, parseAsyncArray } from "./WorldState-DnlNwjD-.js";
47
47
  export { InitialWorldState, WorldState, WorldState as default, parseArray, parseAsyncArray };
package/dist/main.js CHANGED
@@ -29,22 +29,22 @@ import "./Simaris-B9Mvso2q.js";
29
29
  import "./SortieVariant-eWuI1uh9.js";
30
30
  import "./Sortie-DcoAnEaJ.js";
31
31
  import "./SteelPathOffering-BTZR8wcv.js";
32
- import "./SyndicateJob-DexLVMfe.js";
33
- import "./SyndicateMission-tO0E40dz.js";
32
+ import "./SyndicateJob-Rh5jfui_.js";
33
+ import "./SyndicateMission-CyagODjG.js";
34
34
  import "./VallisCycle-CXYPClXc.js";
35
35
  import "./VoidTraderItem-BzeD-S6-.js";
36
36
  import "./VoidTraderSchedule-C-K8Zdfk.js";
37
37
  import "./VoidTrader-D6zkctq1.js";
38
38
  import "./ChallengeInstance-DHwTTwMH.js";
39
39
  import "./WeeklyChallenge-MzUEZAjv.js";
40
- import "./WorldEvent-C5KY74SD.js";
40
+ import "./WorldEvent-DaqJo95c.js";
41
41
  import "./ZarimanCycle-BnT2IiXU.js";
42
42
  import "./DuviriChoice-DRNDUbyc.js";
43
43
  import "./Archidemea-ibzHTTNI.js";
44
44
  import "./Kinepage-iWFwTZtr.js";
45
45
  import "./SentientOutpost-B2KZUJ7H.js";
46
46
  import "./Tmp-CJSkjzXq.js";
47
- import { WorldState, parseArray, parseAsyncArray } from "./WorldState-Dtt6FKgl.js";
47
+ import { WorldState, parseArray, parseAsyncArray } from "./WorldState-SfQClAfG.js";
48
48
 
49
49
  //#region main.ts
50
50
  var main_default = WorldState;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "warframe-worldstate-parser",
3
- "version": "5.0.6",
3
+ "version": "5.1.1",
4
4
  "description": "An Open parser for Warframe's Worldstate in Javascript",
5
5
  "keywords": [
6
6
  "warframe-worldstate",