warframe-worldstate-parser 5.2.2 → 5.2.6

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 (162) hide show
  1. package/README.md +1 -1
  2. package/dist/Archidemea-BkkBmQG7.d.ts +89 -0
  3. package/dist/Archidemea-CcG4c2NT.js +92 -0
  4. package/dist/{CambionCycle-BkS8XUzQ.d.ts → CambionCycle-CsBM6xIy.d.ts} +1 -1
  5. package/dist/{ConclaveChallenge-Dp5yOxVu.js → ConclaveChallenge-CvxiT8gW.js} +1 -2
  6. package/dist/{DarkSector-BQ97_8h6.js → DarkSector-Bt7gn4Fu.js} +1 -1
  7. package/dist/{DarkSector-D1ONLvFr.d.ts → DarkSector-CprYE9bt.d.ts} +1 -1
  8. package/dist/{DarkSectorBattle-5PyUPhxY.js → DarkSectorBattle-xXPhgwB0.js} +1 -3
  9. package/dist/{DuviriCycle-CmHJStJo.js → DuviriCycle-CxPkMVif.js} +1 -2
  10. package/dist/{DuviriCycle-VlsGJ-XB.d.ts → DuviriCycle-DmenhmX0.d.ts} +1 -1
  11. package/dist/FetchProxy-CSE8Eioo.js +46 -0
  12. package/dist/{News-C7KWKvaT.js → News-E8IC8EzI.js} +2 -6
  13. package/dist/{Nightwave-wFjXLIMc.js → Nightwave-DDX0_zJU.js} +1 -1
  14. package/dist/{Nightwave-CLg--NqL.d.ts → Nightwave-DyU4MCD2.d.ts} +1 -1
  15. package/dist/{Sortie-C_YXbe2a.d.ts → Sortie-DJVWbw3y.d.ts} +1 -1
  16. package/dist/{Sortie-J8G7g-Ls.js → Sortie-DcoAnEaJ.js} +1 -1
  17. package/dist/{SyndicateJob-DPJtdPN3.js → SyndicateJob-Dr9hEg4i.js} +2 -2
  18. package/dist/{SyndicateMission-Br8yTZMD.d.ts → SyndicateMission-27PJ5Ocs.d.ts} +1 -1
  19. package/dist/{SyndicateMission-DLUtXTKN.js → SyndicateMission-HOYZYgrc.js} +1 -1
  20. package/dist/{Tmp-DdbRRK0H.js → Tmp-CN8bUalP.js} +2 -7
  21. package/dist/{VallisCycle-DMpbAUFR.js → VallisCycle-E-259Sbz.js} +1 -2
  22. package/dist/{VoidTrader-BPTEu0MN.d.ts → VoidTrader-CjmvHK4W.d.ts} +2 -2
  23. package/dist/{VoidTrader-CJVywj8X.js → VoidTrader-apD6wDXO.js} +2 -2
  24. package/dist/{WeeklyChallenge-Drqi2cGW.js → WeeklyChallenge-DAsB3-Jf.js} +1 -1
  25. package/dist/{WeeklyChallenge-BKDumEjg.d.ts → WeeklyChallenge-DdCodUtn.d.ts} +1 -1
  26. package/dist/{WorldEvent-DwchRSz8.d.ts → WorldEvent-CgXFiQYO.d.ts} +1 -1
  27. package/dist/{WorldEvent-szQyegFC.js → WorldEvent-i4DQjSPm.js} +1 -1
  28. package/dist/{WorldState-JShv_2ao.d.ts → WorldState-C68SHDku.d.ts} +31 -34
  29. package/dist/{WorldState-C4mSxUH1.js → WorldState-Cx8xzV2s.js} +35 -38
  30. package/dist/{ZarimanCycle-CTlQWDLT.js → ZarimanCycle-D8d8LnE7.js} +1 -2
  31. package/dist/lib/Tmp.d.ts +0 -5
  32. package/dist/lib/Tmp.js +3 -4
  33. package/dist/lib/WorldState.d.ts +36 -36
  34. package/dist/lib/WorldState.js +40 -39
  35. package/dist/lib/models/Archidemea.d.ts +4 -1
  36. package/dist/lib/models/Archidemea.js +2 -1
  37. package/dist/lib/models/Calendar.d.ts +1 -1
  38. package/dist/lib/models/Calendar.js +1 -1
  39. package/dist/lib/models/CambionCycle.d.ts +2 -2
  40. package/dist/lib/models/CambionCycle.js +1 -1
  41. package/dist/lib/models/CetusCycle.d.ts +1 -1
  42. package/dist/lib/models/CetusCycle.js +1 -1
  43. package/dist/lib/models/ChallengeInstance.d.ts +1 -1
  44. package/dist/lib/models/ChallengeInstance.js +1 -1
  45. package/dist/lib/models/ConclaveChallenge.d.ts +1 -1
  46. package/dist/lib/models/ConclaveChallenge.js +1 -1
  47. package/dist/lib/models/ConstructionProgress.d.ts +1 -1
  48. package/dist/lib/models/ConstructionProgress.js +1 -1
  49. package/dist/lib/models/DailyDeal.d.ts +1 -1
  50. package/dist/lib/models/DailyDeal.js +1 -1
  51. package/dist/lib/models/DarkSector.d.ts +2 -2
  52. package/dist/lib/models/DarkSector.js +2 -2
  53. package/dist/lib/models/DarkSectorBattle.d.ts +1 -1
  54. package/dist/lib/models/DarkSectorBattle.js +1 -1
  55. package/dist/lib/models/DuviriCycle.d.ts +2 -2
  56. package/dist/lib/models/DuviriCycle.js +1 -1
  57. package/dist/lib/models/EarthCycle.d.ts +1 -1
  58. package/dist/lib/models/EarthCycle.js +1 -1
  59. package/dist/lib/models/Fissure.d.ts +1 -1
  60. package/dist/lib/models/Fissure.js +1 -1
  61. package/dist/lib/models/FlashSale.d.ts +1 -1
  62. package/dist/lib/models/FlashSale.js +1 -1
  63. package/dist/lib/models/GlobalUpgrade.d.ts +1 -1
  64. package/dist/lib/models/GlobalUpgrade.js +1 -1
  65. package/dist/lib/models/Invasion.d.ts +1 -1
  66. package/dist/lib/models/Invasion.js +1 -1
  67. package/dist/lib/models/Kinepage.js +1 -1
  68. package/dist/lib/models/Kuva.d.ts +1 -1
  69. package/dist/lib/models/Kuva.js +1 -1
  70. package/dist/lib/models/MidrathCycle.js +1 -2
  71. package/dist/lib/models/News.d.ts +1 -1
  72. package/dist/lib/models/News.js +1 -1
  73. package/dist/lib/models/Nightwave.d.ts +2 -2
  74. package/dist/lib/models/Nightwave.js +2 -2
  75. package/dist/lib/models/NightwaveChallenge.d.ts +1 -1
  76. package/dist/lib/models/NightwaveChallenge.js +1 -1
  77. package/dist/lib/models/PersistentEnemy.d.ts +1 -1
  78. package/dist/lib/models/PersistentEnemy.js +1 -1
  79. package/dist/lib/models/SentientOutpost.js +1 -1
  80. package/dist/lib/models/Simaris.d.ts +1 -1
  81. package/dist/lib/models/Simaris.js +1 -1
  82. package/dist/lib/models/Sortie.d.ts +2 -2
  83. package/dist/lib/models/Sortie.js +2 -2
  84. package/dist/lib/models/SortieVariant.d.ts +1 -1
  85. package/dist/lib/models/SortieVariant.js +1 -1
  86. package/dist/lib/models/SteelPathOffering.d.ts +1 -1
  87. package/dist/lib/models/SteelPathOffering.js +1 -1
  88. package/dist/lib/models/SyndicateJob.d.ts +1 -1
  89. package/dist/lib/models/SyndicateJob.js +2 -1
  90. package/dist/lib/models/SyndicateMission.d.ts +2 -2
  91. package/dist/lib/models/SyndicateMission.js +3 -2
  92. package/dist/lib/models/VallisCycle.d.ts +1 -1
  93. package/dist/lib/models/VallisCycle.js +1 -1
  94. package/dist/lib/models/VoidTrader.d.ts +3 -3
  95. package/dist/lib/models/VoidTrader.js +3 -3
  96. package/dist/lib/models/VoidTraderItem.d.ts +1 -1
  97. package/dist/lib/models/VoidTraderItem.js +1 -1
  98. package/dist/lib/models/VoidTraderSchedule.d.ts +1 -1
  99. package/dist/lib/models/VoidTraderSchedule.js +1 -1
  100. package/dist/lib/models/WeeklyChallenge.d.ts +2 -2
  101. package/dist/lib/models/WeeklyChallenge.js +2 -2
  102. package/dist/lib/models/WorldEvent.d.ts +2 -2
  103. package/dist/lib/models/WorldEvent.js +3 -2
  104. package/dist/lib/models/ZarimanCycle.d.ts +1 -1
  105. package/dist/lib/models/ZarimanCycle.js +1 -1
  106. package/dist/lib/supporting/DuviriChoice.d.ts +1 -1
  107. package/dist/lib/supporting/DuviriChoice.js +1 -1
  108. package/dist/lib/supporting/ExternalMission.d.ts +1 -1
  109. package/dist/lib/supporting/FetchProxy.d.ts +10 -0
  110. package/dist/lib/supporting/FetchProxy.js +3 -0
  111. package/dist/main.d.ts +36 -36
  112. package/dist/main.js +40 -39
  113. package/package.json +8 -2
  114. package/dist/Archidemea-C57A3SG8.d.ts +0 -70
  115. package/dist/Archidemea-DEWLnfaT.js +0 -74
  116. /package/dist/{Calendar-CtzZQXj7.js → Calendar-DO3tYOcs.js} +0 -0
  117. /package/dist/{Calendar-DSdHrekQ.d.ts → Calendar-z_k9Z8Mo.d.ts} +0 -0
  118. /package/dist/{CambionCycle-C6NHUjOU.js → CambionCycle-ChGLn-wc.js} +0 -0
  119. /package/dist/{CetusCycle-DFBqtgnK.d.ts → CetusCycle-BjSTh0KJ.d.ts} +0 -0
  120. /package/dist/{CetusCycle-CTMPsmff.js → CetusCycle-yddq_Gt3.js} +0 -0
  121. /package/dist/{ChallengeInstance-D9oBLHar.js → ChallengeInstance-CnfhTHZB.js} +0 -0
  122. /package/dist/{ChallengeInstance-BAWB8_Xz.d.ts → ChallengeInstance-Df_J0j8w.d.ts} +0 -0
  123. /package/dist/{ConclaveChallenge-DHYO5tJ3.d.ts → ConclaveChallenge-CxauNAUk.d.ts} +0 -0
  124. /package/dist/{ConstructionProgress-4xoEw3LP.d.ts → ConstructionProgress-BKGfcu7P.d.ts} +0 -0
  125. /package/dist/{ConstructionProgress-DfcpaGL5.js → ConstructionProgress-FTLVHJqr.js} +0 -0
  126. /package/dist/{DailyDeal-BGqZAp-j.js → DailyDeal-CgiA5RTf.js} +0 -0
  127. /package/dist/{DailyDeal-CT3c6coa.d.ts → DailyDeal-OdozN571.d.ts} +0 -0
  128. /package/dist/{DarkSectorBattle-OyzeM8uX.d.ts → DarkSectorBattle-B166uqgF.d.ts} +0 -0
  129. /package/dist/{DuviriChoice-Djmg-I9-.js → DuviriChoice-Cfq3P3I1.js} +0 -0
  130. /package/dist/{DuviriChoice-Dw0pk486.d.ts → DuviriChoice-D_0uhAGe.d.ts} +0 -0
  131. /package/dist/{EarthCycle-CDJICmB1.d.ts → EarthCycle-BlbB-sA1.d.ts} +0 -0
  132. /package/dist/{EarthCycle-B9aIOAEY.js → EarthCycle-C359jGKd.js} +0 -0
  133. /package/dist/{ExternalMission-BYx-s2g0.d.ts → ExternalMission-BX388cHe.d.ts} +0 -0
  134. /package/dist/{Fissure-7yFmOet3.js → Fissure-BF0ntIWY.js} +0 -0
  135. /package/dist/{Fissure-Ch2lyOMp.d.ts → Fissure-CuwIxhZ1.d.ts} +0 -0
  136. /package/dist/{FlashSale-BxVI0J6A.js → FlashSale-CRfYC5qj.js} +0 -0
  137. /package/dist/{FlashSale-FhYMueqY.d.ts → FlashSale-n2o4yrZ4.d.ts} +0 -0
  138. /package/dist/{GlobalUpgrade-B_TKK1m_.js → GlobalUpgrade-DhMNgjlL.js} +0 -0
  139. /package/dist/{GlobalUpgrade-uWMvm8gJ.d.ts → GlobalUpgrade-Dk5dZA3i.d.ts} +0 -0
  140. /package/dist/{Invasion-id1tqiDq.js → Invasion-BF0me--c.js} +0 -0
  141. /package/dist/{Invasion-B0-k0NaQ.d.ts → Invasion-FjajbrFU.d.ts} +0 -0
  142. /package/dist/{Kinepage-p4JE2Mqs.js → Kinepage-iWFwTZtr.js} +0 -0
  143. /package/dist/{Kuva-DqkxvPUg.js → Kuva-OvYY1OlT.js} +0 -0
  144. /package/dist/{News-CedZ3__u.d.ts → News-C-hHVsit.d.ts} +0 -0
  145. /package/dist/{NightwaveChallenge-BEMi1UTH.d.ts → NightwaveChallenge-BmSFMcB-.d.ts} +0 -0
  146. /package/dist/{NightwaveChallenge-CfFq5Eiy.js → NightwaveChallenge-DwilvXfi.js} +0 -0
  147. /package/dist/{PersistentEnemy-hcGj_2YQ.d.ts → PersistentEnemy-BRtyMPF6.d.ts} +0 -0
  148. /package/dist/{PersistentEnemy-tCdrIWbq.js → PersistentEnemy-axYxYzv_.js} +0 -0
  149. /package/dist/{SentientOutpost-BTD2RVXO.js → SentientOutpost-B2KZUJ7H.js} +0 -0
  150. /package/dist/{Simaris-CPpskz7c.d.ts → Simaris-B7j9UJVt.d.ts} +0 -0
  151. /package/dist/{Simaris-CsdUzo3U.js → Simaris-B9Mvso2q.js} +0 -0
  152. /package/dist/{SortieVariant-p4dU-gas.d.ts → SortieVariant-CLlD5ryI.d.ts} +0 -0
  153. /package/dist/{SortieVariant-DEvQwU0m.js → SortieVariant-eWuI1uh9.js} +0 -0
  154. /package/dist/{SteelPathOffering-wnLg7jBU.js → SteelPathOffering-BTZR8wcv.js} +0 -0
  155. /package/dist/{SteelPathOffering-D2SUVgfl.d.ts → SteelPathOffering-BsAAQWTN.d.ts} +0 -0
  156. /package/dist/{SyndicateJob-BOPHabQb.d.ts → SyndicateJob-tUnLERbo.d.ts} +0 -0
  157. /package/dist/{VallisCycle-Hvr9GnvC.d.ts → VallisCycle-B2K5LC_O.d.ts} +0 -0
  158. /package/dist/{VoidTraderItem-HSILhew_.d.ts → VoidTraderItem-CBvcOOYd.d.ts} +0 -0
  159. /package/dist/{VoidTraderItem-cty4_QXF.js → VoidTraderItem-CO0tbV8v.js} +0 -0
  160. /package/dist/{VoidTraderSchedule-Cn3hjME0.js → VoidTraderSchedule-BRm2DAJM.js} +0 -0
  161. /package/dist/{VoidTraderSchedule-dOjy7z_J.d.ts → VoidTraderSchedule-CUPBerOz.d.ts} +0 -0
  162. /package/dist/{ZarimanCycle-Ee0y7Mfg.d.ts → ZarimanCycle-BHkumWnQ.d.ts} +0 -0
package/README.md CHANGED
@@ -26,7 +26,7 @@ For the most part, you'll have a better experience consuming the product of this
26
26
  // import WorldState from 'warframe-worldstate-data';
27
27
  // using this syntax to make it precisely testable in a test
28
28
  const WorldStateParser = await import('warframe-worldstate-parser');
29
- const worldstateData = await fetch('https://content.warframe.com/dynamic/worldState.php').then((data) => data.text());
29
+ const worldstateData = await fetch('https://api.warframe.com/cdn/worldState.php').then((data) => data.text());
30
30
 
31
31
  const ws = await WorldStateParser(worldstateData);
32
32
 
@@ -0,0 +1,89 @@
1
+ import { Dependency } from "./Dependency-CP_Ws6bV.js";
2
+ import { BaseContentObject, WorldstateObject } from "./WorldstateObject-Cm10tg5k.js";
3
+ import { Locale } from "warframe-worldstate-data";
4
+
5
+ //#region lib/models/Archidemea.d.ts
6
+
7
+ /**
8
+ * @deprecated use Archimedea to reference temporal and deep
9
+ */
10
+ type DeepArchimedea = Archimedea;
11
+ interface RawArchimedea extends BaseContentObject {
12
+ Type: string;
13
+ Missions: RawArchimedeaMission[];
14
+ Variables: string[];
15
+ }
16
+ type Difficulty = {
17
+ type: string;
18
+ deviation: string;
19
+ risks: string[];
20
+ };
21
+ interface RawArchimedeaMission {
22
+ faction: string;
23
+ missionType: string;
24
+ difficulties: Difficulty[];
25
+ }
26
+ interface ArchidemeaMissionDifficultyRisk {
27
+ key: string;
28
+ name: string;
29
+ description: string;
30
+ isHard: boolean;
31
+ }
32
+ interface ArchidemeaMissionDifficulty {
33
+ key: string;
34
+ name: string;
35
+ description: string;
36
+ }
37
+ /**
38
+ * An Archimedea mission with risk and deviations
39
+ */
40
+ declare class ArchimedeaMission {
41
+ faction: string;
42
+ factionKey: string;
43
+ missionType: string;
44
+ missionTypeKey: string;
45
+ diviation: ArchidemeaMissionDifficulty;
46
+ risks: ArchidemeaMissionDifficultyRisk[];
47
+ /**
48
+ * @param mission Challenge mission type
49
+ * @param deviation Mission deviation
50
+ * @param risks Mission risks
51
+ * @param locale Locale to tranlslate to
52
+ */
53
+ constructor(mission: RawArchimedeaMission, locale: Locale);
54
+ }
55
+ declare class Archimedea extends WorldstateObject {
56
+ /**
57
+ * MD5 generated ID
58
+ */
59
+ id: string;
60
+ /**
61
+ * Archimedea type
62
+ */
63
+ type: string;
64
+ /**
65
+ * Archimedea type untranslated
66
+ */
67
+ typeKey: string;
68
+ /**
69
+ * Missions along with deviations and risks
70
+ */
71
+ missions: ArchimedeaMission[];
72
+ /**
73
+ * Modifiers applied to the player
74
+ */
75
+ personalModifiers: {
76
+ key: string;
77
+ name: string;
78
+ description: string;
79
+ }[];
80
+ /**
81
+ * @param data Data to parse
82
+ * @param locale Locale to translate to
83
+ */
84
+ constructor(data: RawArchimedea, {
85
+ locale
86
+ }?: Dependency);
87
+ }
88
+ //#endregion
89
+ export { Archimedea, ArchimedeaMission, DeepArchimedea, RawArchimedea };
@@ -0,0 +1,92 @@
1
+ import { WorldstateObject } from "./WorldstateObject-BSTYuZwm.js";
2
+ import { createHash } from "node:crypto";
3
+ import { faction, languageDesc, languageString, missionType } from "warframe-worldstate-data/utilities";
4
+
5
+ //#region lib/models/Archidemea.ts
6
+ /**
7
+ * An Archimedea mission with risk and deviations
8
+ */
9
+ var ArchimedeaMission = class {
10
+ faction;
11
+ factionKey;
12
+ missionType;
13
+ missionTypeKey;
14
+ diviation;
15
+ risks;
16
+ /**
17
+ * @param mission Challenge mission type
18
+ * @param deviation Mission deviation
19
+ * @param risks Mission risks
20
+ * @param locale Locale to tranlslate to
21
+ */
22
+ constructor(mission, locale) {
23
+ this.faction = faction(mission.faction, locale);
24
+ this.factionKey = faction(mission.faction, "en");
25
+ this.missionType = missionType(mission.missionType, locale);
26
+ this.missionTypeKey = missionType(mission.missionType, "en");
27
+ const normal = mission.difficulties[0];
28
+ this.diviation = {
29
+ key: normal.deviation,
30
+ name: languageString(normal.deviation, locale),
31
+ description: languageDesc(normal.deviation, locale)
32
+ };
33
+ this.risks = normal.risks.map((risk) => ({
34
+ key: risk,
35
+ name: languageString(risk, locale),
36
+ description: languageDesc(risk, locale),
37
+ isHard: false
38
+ }));
39
+ for (const diff of mission.difficulties.slice(1)) {
40
+ const risks = diff.risks.slice(1).map((risk) => ({
41
+ key: risk,
42
+ name: languageString(risk, locale),
43
+ description: languageDesc(risk, locale),
44
+ isHard: diff.type === "CD_HARD"
45
+ }));
46
+ this.risks.push(...risks);
47
+ }
48
+ }
49
+ };
50
+ var Archimedea = class extends WorldstateObject {
51
+ /**
52
+ * MD5 generated ID
53
+ */
54
+ id;
55
+ /**
56
+ * Archimedea type
57
+ */
58
+ type;
59
+ /**
60
+ * Archimedea type untranslated
61
+ */
62
+ typeKey;
63
+ /**
64
+ * Missions along with deviations and risks
65
+ */
66
+ missions;
67
+ /**
68
+ * Modifiers applied to the player
69
+ */
70
+ personalModifiers;
71
+ /**
72
+ * @param data Data to parse
73
+ * @param locale Locale to translate to
74
+ */
75
+ constructor(data, { locale } = { locale: "en" }) {
76
+ super(data);
77
+ this.id = createHash("md5").update(JSON.stringify(data), "utf8").digest("hex");
78
+ this.type = languageString(data.Type, locale);
79
+ this.typeKey = languageString(data.Type, "en");
80
+ this.missions = data.Missions.map((m) => new ArchimedeaMission(m, locale));
81
+ this.personalModifiers = data.Variables.map((i) => {
82
+ return {
83
+ key: i,
84
+ name: languageString(i, locale),
85
+ description: languageDesc(i, locale)
86
+ };
87
+ });
88
+ }
89
+ };
90
+
91
+ //#endregion
92
+ export { Archimedea, ArchimedeaMission };
@@ -1,5 +1,5 @@
1
1
  import { WorldstateObject } from "./WorldstateObject-Cm10tg5k.js";
2
- import { CetusCycle } from "./CetusCycle-DFBqtgnK.js";
2
+ import { CetusCycle } from "./CetusCycle-BjSTh0KJ.js";
3
3
 
4
4
  //#region lib/models/CambionCycle.d.ts
5
5
 
@@ -71,8 +71,7 @@ var ConclaveChallenge = class extends WorldstateObject {
71
71
  * ETA string (at time of object creation)
72
72
  */
73
73
  get eta() {
74
- const timeDelta = fromNow(this.expiry);
75
- return timeDeltaToString(timeDelta);
74
+ return timeDeltaToString(fromNow(this.expiry));
76
75
  }
77
76
  };
78
77
 
@@ -1,6 +1,6 @@
1
1
  import { Mission } from "./Mission-ZuSsAYNm.js";
2
2
  import { WorldstateObject } from "./WorldstateObject-BSTYuZwm.js";
3
- import { DarkSectorBattle } from "./DarkSectorBattle-5PyUPhxY.js";
3
+ import { DarkSectorBattle } from "./DarkSectorBattle-xXPhgwB0.js";
4
4
  import { languageString, parseDate } from "warframe-worldstate-data/utilities";
5
5
 
6
6
  //#region lib/models/DarkSector.ts
@@ -1,7 +1,7 @@
1
1
  import { Dependency } from "./Dependency-CP_Ws6bV.js";
2
2
  import { Mission, RawMission } from "./Mission-C7f6tXTw.js";
3
3
  import { BaseContentObject, WorldstateObject } from "./WorldstateObject-Cm10tg5k.js";
4
- import { DarkSectorBattle, RawDarkSectorBattle } from "./DarkSectorBattle-OyzeM8uX.js";
4
+ import { DarkSectorBattle, RawDarkSectorBattle } from "./DarkSectorBattle-B166uqgF.js";
5
5
  import { ContentTimestamp } from "warframe-worldstate-data/utilities";
6
6
 
7
7
  //#region lib/models/DarkSector.d.ts
@@ -41,9 +41,7 @@ var DarkSectorBattle = class {
41
41
  this.defenderIsAlliance = data.DefAli;
42
42
  this.attacker = data.Att;
43
43
  this.attackerIsAlliance = data.AttAli;
44
- const defId = data.DefId.$oid || data.DefId.$id;
45
- const winId = data.WinId.$oid || data.WinId.$id;
46
- this.winner = defId === winId ? this.defender : this.attacker;
44
+ this.winner = (data.DefId.$oid || data.DefId.$id) === (data.WinId.$oid || data.WinId.$id) ? this.defender : this.attacker;
47
45
  this.start = parseDate(data.Start);
48
46
  this.end = parseDate(data.End);
49
47
  }
@@ -13,8 +13,7 @@ const states = [
13
13
  const getStageInfo = () => {
14
14
  const cycleDelta = (Math.floor(Date.now() / 1e3) - 52) % cycleTime;
15
15
  const stateInd = Math.floor(cycleDelta / stateTime);
16
- const stateDelta = cycleDelta % stateTime;
17
- const untilNext = stateTime - stateDelta;
16
+ const untilNext = stateTime - cycleDelta % stateTime;
18
17
  const expiry = new Date(Date.now() + untilNext * 1e3);
19
18
  expiry.setSeconds(0);
20
19
  expiry.setMilliseconds(0);
@@ -1,5 +1,5 @@
1
1
  import { WorldstateObject } from "./WorldstateObject-Cm10tg5k.js";
2
- import { DuviriChoice } from "./DuviriChoice-Dw0pk486.js";
2
+ import { DuviriChoice } from "./DuviriChoice-D_0uhAGe.js";
3
3
 
4
4
  //#region lib/models/DuviriCycle.d.ts
5
5
 
@@ -0,0 +1,46 @@
1
+ //#region lib/supporting/FetchProxy.ts
2
+ const proxyUrl = process.env.PROXY_URL ?? void 0;
3
+ const isCI = process.env.CI === "true";
4
+ const ciTimeout = process.env.CI_TIMEOUT ? parseInt(process.env.CI_TIMEOUT, 10) : 6e4;
5
+ const localTimeout = process.env.LOCAL_TIMEOUT ? parseInt(process.env.LOCAL_TIMEOUT, 10) : 12e6;
6
+ var FetchProxy_default = async (url, { session = "parser-session", contentType = "application/json" } = {
7
+ session: "parser-session",
8
+ contentType: "application/json"
9
+ }) => {
10
+ if (proxyUrl) {
11
+ const text = await (await fetch(`${proxyUrl}/v1`, {
12
+ method: "POST",
13
+ headers: { "Content-Type": "application/json" },
14
+ body: JSON.stringify({
15
+ cmd: "request.get",
16
+ url,
17
+ session,
18
+ maxTimeout: isCI ? ciTimeout : localTimeout,
19
+ returnOnlyCookies: false,
20
+ returnPageContent: true
21
+ })
22
+ })).text();
23
+ const { solution } = JSON.parse(text);
24
+ if (!solution?.response) throw solution;
25
+ if (contentType === "application/json") return {
26
+ ok: solution.responseCode === 200,
27
+ status: solution.responseCode,
28
+ json: async () => {
29
+ try {
30
+ return JSON.parse(solution.response);
31
+ } catch (error) {
32
+ return {};
33
+ }
34
+ }
35
+ };
36
+ if (contentType === "text/html") return {
37
+ ok: solution.responseCode === 200,
38
+ status: solution.responseCode,
39
+ text: async () => solution.response.replace(/<\/?[^>]+(>|$)/g, "")
40
+ };
41
+ return solution.response;
42
+ } else return fetch(url);
43
+ };
44
+
45
+ //#endregion
46
+ export { FetchProxy_default };
@@ -101,12 +101,8 @@ var News = class extends WorldstateObject {
101
101
  * ETA string (at time of object creation)
102
102
  */
103
103
  get eta() {
104
- if (this.expiry) {
105
- const timeDelta$1 = fromNow(this.expiry);
106
- return `in ${timeDeltaToString(timeDelta$1)}`;
107
- }
108
- const timeDelta = toNow(this.date);
109
- return `${timeDeltaToString(timeDelta)} ago`;
104
+ if (this.expiry) return `in ${timeDeltaToString(fromNow(this.expiry))}`;
105
+ return `${timeDeltaToString(toNow(this.date))} ago`;
110
106
  }
111
107
  /**
112
108
  * The title of the news item in the specified language
@@ -1,5 +1,5 @@
1
1
  import { WorldstateObject } from "./WorldstateObject-BSTYuZwm.js";
2
- import { NightwaveChallenge } from "./NightwaveChallenge-CfFq5Eiy.js";
2
+ import { NightwaveChallenge } from "./NightwaveChallenge-DwilvXfi.js";
3
3
  import { fromNow, languageString, timeDeltaToString } from "warframe-worldstate-data/utilities";
4
4
 
5
5
  //#region lib/models/Nightwave.ts
@@ -1,5 +1,5 @@
1
1
  import { BaseContentObject, WorldstateObject } from "./WorldstateObject-Cm10tg5k.js";
2
- import { NightwaveChallenge, RawNightwaveChallenge } from "./NightwaveChallenge-BEMi1UTH.js";
2
+ import { NightwaveChallenge, RawNightwaveChallenge } from "./NightwaveChallenge-BmSFMcB-.js";
3
3
  import { Locale } from "warframe-worldstate-data";
4
4
 
5
5
  //#region lib/models/Nightwave.d.ts
@@ -1,7 +1,7 @@
1
1
  import { Dependency } from "./Dependency-CP_Ws6bV.js";
2
2
  import { Mission, RawMission } from "./Mission-C7f6tXTw.js";
3
3
  import { BaseContentObject, WorldstateObject } from "./WorldstateObject-Cm10tg5k.js";
4
- import { RawSortieVariant, SortieVariant } from "./SortieVariant-p4dU-gas.js";
4
+ import { RawSortieVariant, SortieVariant } from "./SortieVariant-CLlD5ryI.js";
5
5
 
6
6
  //#region lib/models/Sortie.d.ts
7
7
  interface RawSortie extends BaseContentObject {
@@ -1,6 +1,6 @@
1
1
  import { Mission } from "./Mission-ZuSsAYNm.js";
2
2
  import { WorldstateObject } from "./WorldstateObject-BSTYuZwm.js";
3
- import { SortieVariant } from "./SortieVariant-DEvQwU0m.js";
3
+ import { SortieVariant } from "./SortieVariant-eWuI1uh9.js";
4
4
  import wsData from "warframe-worldstate-data";
5
5
  import { fromNow, languageString, parseDate, sortieBoss, sortieFaction, timeDeltaToString } from "warframe-worldstate-data/utilities";
6
6
 
@@ -1,4 +1,5 @@
1
1
  import { WorldstateObject } from "./WorldstateObject-BSTYuZwm.js";
2
+ import { FetchProxy_default } from "./FetchProxy-CSE8Eioo.js";
2
3
  import { languageString } from "warframe-worldstate-data/utilities";
3
4
 
4
5
  //#region lib/models/SyndicateJob.ts
@@ -49,8 +50,7 @@ const getBountyRewards = async (i18n, raw, isVault) => {
49
50
  locationWRot = "Earth/Cetus (Level 15 - 25 Plague Star), Rot A";
50
51
  }
51
52
  if (!location || !locationWRot) ({location, locationWRot} = determineLocation(i18n, raw, isVault));
52
- const url = `${apiBase}/drops/search/${encodeURIComponent(location)}?grouped_by=location`;
53
- const pool = (await fetch(url).then((res) => res.json()).catch(() => {}))?.[locationWRot];
53
+ const pool = (await FetchProxy_default(`${apiBase}/drops/search/${encodeURIComponent(location)}?grouped_by=location`).then((res) => res.json()).catch(() => {}))?.[locationWRot];
54
54
  if (!pool) return ["Pattern Mismatch. Results inaccurate."];
55
55
  const results = pool.rewards;
56
56
  if (results) return Array.from(new Set(results));
@@ -1,6 +1,6 @@
1
1
  import { Dependency } from "./Dependency-CP_Ws6bV.js";
2
2
  import { BaseContentObject, WorldstateObject } from "./WorldstateObject-Cm10tg5k.js";
3
- import { RawSyndicateJob, SyndicateJob } from "./SyndicateJob-BOPHabQb.js";
3
+ import { RawSyndicateJob, SyndicateJob } from "./SyndicateJob-tUnLERbo.js";
4
4
 
5
5
  //#region lib/models/SyndicateMission.d.ts
6
6
  interface RawSyndicateMission extends BaseContentObject {
@@ -1,5 +1,5 @@
1
1
  import { WorldstateObject } from "./WorldstateObject-BSTYuZwm.js";
2
- import { SyndicateJob } from "./SyndicateJob-DPJtdPN3.js";
2
+ import { SyndicateJob } from "./SyndicateJob-Dr9hEg4i.js";
3
3
  import { fromNow, node, syndicate, timeDeltaToString } from "warframe-worldstate-data/utilities";
4
4
 
5
5
  //#region lib/models/SyndicateMission.ts
@@ -1,13 +1,10 @@
1
- import { Archimedea } from "./Archidemea-DEWLnfaT.js";
2
- import { Kinepage } from "./Kinepage-p4JE2Mqs.js";
3
- import { SentientOutpost } from "./SentientOutpost-BTD2RVXO.js";
1
+ import { Kinepage } from "./Kinepage-iWFwTZtr.js";
2
+ import { SentientOutpost } from "./SentientOutpost-B2KZUJ7H.js";
4
3
 
5
4
  //#region lib/Tmp.ts
6
5
  var Tmp = class {
7
6
  sentientOutposts;
8
7
  kinepage;
9
- deepArchimedea;
10
- temporalArchimedea;
11
8
  faceoffBonus;
12
9
  questToConquerCancer;
13
10
  constructor(json, deps = { locale: "en" }) {
@@ -22,8 +19,6 @@ var Tmp = class {
22
19
  next: toDate(tmp.fbst.n)
23
20
  };
24
21
  }
25
- if (tmp.lqo) this.deepArchimedea = new Archimedea(tmp.lqo, deps.locale);
26
- if (tmp.hqo) this.temporalArchimedea = new Archimedea(tmp.hqo, deps.locale);
27
22
  if (tmp.QTCCFloofCount) this.questToConquerCancer = {
28
23
  count: tmp.QTCCFloofCount,
29
24
  goal: tmp.QTCCFloofLimit
@@ -10,8 +10,7 @@ const coldTime = loopTime - 4e5;
10
10
  * @returns current cycle state
11
11
  */
12
12
  function getCurrentCycle() {
13
- const sinceLast = (Date.now() - lStart.getMilliseconds()) % loopTime;
14
- const toNextFull = loopTime - sinceLast;
13
+ const toNextFull = loopTime - (Date.now() - lStart.getMilliseconds()) % loopTime;
15
14
  let state = "cold";
16
15
  if (toNextFull > coldTime) state = "warm";
17
16
  let toNextMinor;
@@ -1,7 +1,7 @@
1
1
  import { Dependency } from "./Dependency-CP_Ws6bV.js";
2
2
  import { BaseContentObject, WorldstateObject } from "./WorldstateObject-Cm10tg5k.js";
3
- import { RawVoidTraderItem, VoidTraderItem } from "./VoidTraderItem-HSILhew_.js";
4
- import { VoidTraderSchedule } from "./VoidTraderSchedule-dOjy7z_J.js";
3
+ import { RawVoidTraderItem, VoidTraderItem } from "./VoidTraderItem-CBvcOOYd.js";
4
+ import { VoidTraderSchedule } from "./VoidTraderSchedule-CUPBerOz.js";
5
5
  import { ContentTimestamp } from "warframe-worldstate-data/utilities";
6
6
 
7
7
  //#region lib/models/VoidTrader.d.ts
@@ -1,6 +1,6 @@
1
1
  import { WorldstateObject } from "./WorldstateObject-BSTYuZwm.js";
2
- import { VoidTraderItem } from "./VoidTraderItem-cty4_QXF.js";
3
- import { VoidTraderSchedule } from "./VoidTraderSchedule-Cn3hjME0.js";
2
+ import { VoidTraderItem } from "./VoidTraderItem-CO0tbV8v.js";
3
+ import { VoidTraderSchedule } from "./VoidTraderSchedule-BRm2DAJM.js";
4
4
  import { fromNow, insist, node, parseDate, timeDeltaToString } from "warframe-worldstate-data/utilities";
5
5
 
6
6
  //#region lib/models/VoidTrader.ts
@@ -1,5 +1,5 @@
1
1
  import { WorldstateObject } from "./WorldstateObject-BSTYuZwm.js";
2
- import { ChallengeInstance } from "./ChallengeInstance-D9oBLHar.js";
2
+ import { ChallengeInstance } from "./ChallengeInstance-CnfhTHZB.js";
3
3
 
4
4
  //#region lib/models/WeeklyChallenge.ts
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  import { BaseContentObject, WorldstateObject } from "./WorldstateObject-Cm10tg5k.js";
2
- import { ChallengeInstance, RawChallengeInstance } from "./ChallengeInstance-BAWB8_Xz.js";
2
+ import { ChallengeInstance, RawChallengeInstance } from "./ChallengeInstance-Df_J0j8w.js";
3
3
 
4
4
  //#region lib/models/WeeklyChallenge.d.ts
5
5
  interface RawWeeklyChallenge extends BaseContentObject {
@@ -1,7 +1,7 @@
1
1
  import { Dependency } from "./Dependency-CP_Ws6bV.js";
2
2
  import { RawReward, Reward } from "./Reward-B82nWwNJ.js";
3
3
  import { BaseContentObject, Identifier, WorldstateObject } from "./WorldstateObject-Cm10tg5k.js";
4
- import { RawSyndicateJob, SyndicateJob } from "./SyndicateJob-BOPHabQb.js";
4
+ import { RawSyndicateJob, SyndicateJob } from "./SyndicateJob-tUnLERbo.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-DPJtdPN3.js";
3
+ import { SyndicateJob } from "./SyndicateJob-Dr9hEg4i.js";
4
4
  import { faction, fromNow, languageString, node, parseDate, syndicate } from "warframe-worldstate-data/utilities";
5
5
 
6
6
  //#region lib/models/WorldEvent.ts
@@ -1,36 +1,36 @@
1
- import { Archimedea } from "./Archidemea-C57A3SG8.js";
2
1
  import { Kinepage } from "./Kinepage-CIMSTSWy.js";
3
2
  import { Dependency } from "./Dependency-CP_Ws6bV.js";
4
3
  import { SentientOutpost } from "./SentientOutpost-DAeAgpoT.js";
5
4
  import { BaseContentObject, WorldstateObject } from "./WorldstateObject-Cm10tg5k.js";
6
5
  import { Alert, RawAlert } from "./Alert-SCd0As53.js";
7
- import { Calendar, RawCalender } from "./Calendar-DSdHrekQ.js";
8
- import { CetusCycle } from "./CetusCycle-DFBqtgnK.js";
9
- import { CambionCycle } from "./CambionCycle-BkS8XUzQ.js";
10
- import { ConclaveChallenge, RawChallenge } from "./ConclaveChallenge-DHYO5tJ3.js";
11
- import { ConstructionProgress } from "./ConstructionProgress-4xoEw3LP.js";
12
- import { DailyDeal, RawDailyDeal } from "./DailyDeal-CT3c6coa.js";
13
- import { DarkSector, RawDarkSector } from "./DarkSector-D1ONLvFr.js";
14
- import { RawChoice } from "./DuviriChoice-Dw0pk486.js";
15
- import { DuviriCycle } from "./DuviriCycle-VlsGJ-XB.js";
16
- import { EarthCycle } from "./EarthCycle-CDJICmB1.js";
17
- import { Fissure, RawFissure } from "./Fissure-Ch2lyOMp.js";
18
- import { FlashSale, RawFlashSale } from "./FlashSale-FhYMueqY.js";
19
- import { GlobalUpgrade, RawGlobalUpgrade } from "./GlobalUpgrade-uWMvm8gJ.js";
20
- import { Invasion, RawInvasion } from "./Invasion-B0-k0NaQ.js";
21
- import { News, RawNews } from "./News-CedZ3__u.js";
22
- import { Nightwave, RawNightwave } from "./Nightwave-CLg--NqL.js";
23
- import { PersistentEnemy, RawPersistentEnemy } from "./PersistentEnemy-hcGj_2YQ.js";
24
- import { LibraryInfo, Simaris } from "./Simaris-CPpskz7c.js";
25
- import { RawSortie, Sortie } from "./Sortie-C_YXbe2a.js";
26
- import { SteelPathOfferings } from "./SteelPathOffering-D2SUVgfl.js";
27
- import { RawSyndicateMission, SyndicateMission } from "./SyndicateMission-Br8yTZMD.js";
28
- import { VallisCycle } from "./VallisCycle-Hvr9GnvC.js";
29
- import { RawVoidTrader, VoidTrader } from "./VoidTrader-BPTEu0MN.js";
30
- import { RawWeeklyChallenge, WeeklyChallenge } from "./WeeklyChallenge-BKDumEjg.js";
31
- import { RawWorldEvent, WorldEvent } from "./WorldEvent-DwchRSz8.js";
32
- import { ZarimanCycle } from "./ZarimanCycle-Ee0y7Mfg.js";
33
- import { ExternalMission } from "./ExternalMission-BYx-s2g0.js";
6
+ import { Archimedea, RawArchimedea } from "./Archidemea-BkkBmQG7.js";
7
+ import { Calendar, RawCalender } from "./Calendar-z_k9Z8Mo.js";
8
+ import { CetusCycle } from "./CetusCycle-BjSTh0KJ.js";
9
+ import { CambionCycle } from "./CambionCycle-CsBM6xIy.js";
10
+ import { ConclaveChallenge, RawChallenge } from "./ConclaveChallenge-CxauNAUk.js";
11
+ import { ConstructionProgress } from "./ConstructionProgress-BKGfcu7P.js";
12
+ import { DailyDeal, RawDailyDeal } from "./DailyDeal-OdozN571.js";
13
+ import { DarkSector, RawDarkSector } from "./DarkSector-CprYE9bt.js";
14
+ import { RawChoice } from "./DuviriChoice-D_0uhAGe.js";
15
+ import { DuviriCycle } from "./DuviriCycle-DmenhmX0.js";
16
+ import { EarthCycle } from "./EarthCycle-BlbB-sA1.js";
17
+ import { Fissure, RawFissure } from "./Fissure-CuwIxhZ1.js";
18
+ import { FlashSale, RawFlashSale } from "./FlashSale-n2o4yrZ4.js";
19
+ import { GlobalUpgrade, RawGlobalUpgrade } from "./GlobalUpgrade-Dk5dZA3i.js";
20
+ import { Invasion, RawInvasion } from "./Invasion-FjajbrFU.js";
21
+ import { News, RawNews } from "./News-C-hHVsit.js";
22
+ import { Nightwave, RawNightwave } from "./Nightwave-DyU4MCD2.js";
23
+ import { PersistentEnemy, RawPersistentEnemy } from "./PersistentEnemy-BRtyMPF6.js";
24
+ import { LibraryInfo, Simaris } from "./Simaris-B7j9UJVt.js";
25
+ import { RawSortie, Sortie } from "./Sortie-DJVWbw3y.js";
26
+ import { SteelPathOfferings } from "./SteelPathOffering-BsAAQWTN.js";
27
+ import { RawSyndicateMission, SyndicateMission } from "./SyndicateMission-27PJ5Ocs.js";
28
+ import { VallisCycle } from "./VallisCycle-B2K5LC_O.js";
29
+ import { RawVoidTrader, VoidTrader } from "./VoidTrader-CjmvHK4W.js";
30
+ import { RawWeeklyChallenge, WeeklyChallenge } from "./WeeklyChallenge-DdCodUtn.js";
31
+ import { RawWorldEvent, WorldEvent } from "./WorldEvent-CgXFiQYO.js";
32
+ import { ZarimanCycle } from "./ZarimanCycle-BHkumWnQ.js";
33
+ import { ExternalMission } from "./ExternalMission-BX388cHe.js";
34
34
 
35
35
  //#region lib/WorldState.d.ts
36
36
 
@@ -82,6 +82,7 @@ interface InitialWorldState {
82
82
  PrimeVaultTraders: RawVoidTrader[];
83
83
  EndlessXpChoices: RawChoice[];
84
84
  KnownCalendarSeasons: RawCalender[];
85
+ Conquests: RawArchimedea[];
85
86
  Tmp: string;
86
87
  }
87
88
  /**
@@ -230,13 +231,9 @@ declare class WorldState {
230
231
  */
231
232
  kinepage: Kinepage;
232
233
  /**
233
- * The current Deep Archimedea missions and modifiers
234
+ * The current Archimedea missions and modifiers
234
235
  */
235
- deepArchimedea?: Archimedea;
236
- /**
237
- * The current Temporal Archimedea missions and modifiers
238
- */
239
- temporalArchimedea?: Archimedea;
236
+ archimedeas: Archimedea[];
240
237
  /**
241
238
  * The current calendar for 1999
242
239
  */