warframe-worldstate-parser 4.6.2 → 5.0.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.
Files changed (311) hide show
  1. package/dist/Alert-BS8PWPP3.d.ts +45 -0
  2. package/dist/Alert-DH1kglDU.js +52 -0
  3. package/dist/Archidemea-C0EMRUKc.js +59 -0
  4. package/dist/Archidemea-DOh4trTM.d.ts +55 -0
  5. package/dist/Calendar-CgEkm6e6.d.ts +78 -0
  6. package/dist/Calendar-CtzZQXj7.js +81 -0
  7. package/dist/CambionCycle-C6NHUjOU.js +30 -0
  8. package/dist/CambionCycle-uEBpbMim.d.ts +23 -0
  9. package/dist/CetusCycle-DIZdevob.js +90 -0
  10. package/dist/CetusCycle-ooMM7hkg.d.ts +49 -0
  11. package/dist/ChallengeInstance-Bi2zg4q-.d.ts +53 -0
  12. package/dist/ChallengeInstance-DHwTTwMH.js +48 -0
  13. package/dist/ConclaveChallenge-Dp5yOxVu.js +80 -0
  14. package/dist/ConclaveChallenge-JbcEcL4s.d.ts +76 -0
  15. package/dist/ConstructionProgress-DfcpaGL5.js +25 -0
  16. package/dist/ConstructionProgress-FAySTEod.d.ts +19 -0
  17. package/dist/DailyDeal-BGqZAp-j.js +66 -0
  18. package/dist/DailyDeal-Na-EaiFS.d.ts +66 -0
  19. package/dist/DarkSector-BQ97_8h6.js +138 -0
  20. package/dist/DarkSector-zkCUywz1.d.ts +142 -0
  21. package/dist/DarkSectorBattle-5PyUPhxY.js +53 -0
  22. package/dist/DarkSectorBattle-DY33Bfuq.d.ts +53 -0
  23. package/dist/Dependency-DkOHLql6.d.ts +38 -0
  24. package/dist/DuviriChoice-DRNDUbyc.js +22 -0
  25. package/dist/DuviriChoice-MIHsOBS7.d.ts +18 -0
  26. package/dist/DuviriCycle-B0zp0KxS.d.ts +25 -0
  27. package/dist/DuviriCycle-CmHJStJo.js +58 -0
  28. package/dist/EarthCycle-B9aIOAEY.js +75 -0
  29. package/dist/EarthCycle-RELuZL01.d.ts +60 -0
  30. package/dist/ExternalMission-DCzJkPC8.d.ts +49 -0
  31. package/dist/Fissure-7yFmOet3.js +85 -0
  32. package/dist/Fissure-Bj61i8dc.d.ts +78 -0
  33. package/dist/FlashSale-BxVI0J6A.js +75 -0
  34. package/dist/FlashSale-PDG4uQq4.d.ts +71 -0
  35. package/dist/GlobalUpgrade-BRQXf3JM.d.ts +55 -0
  36. package/dist/GlobalUpgrade-B_TKK1m_.js +58 -0
  37. package/dist/ImgCdn-BnbJ9K-0.js +7 -0
  38. package/dist/Invasion-BMic1K12.js +110 -0
  39. package/dist/Invasion-BskF60zh.d.ts +113 -0
  40. package/dist/Kinepage-CRRKVulq.d.ts +22 -0
  41. package/dist/Kinepage-iWFwTZtr.js +24 -0
  42. package/dist/Kuva-DqkxvPUg.js +85 -0
  43. package/dist/KuvaLogEntry-d5fskHaK.d.ts +21 -0
  44. package/dist/MidrathCycle-BfQtfG4p.d.ts +25 -0
  45. package/dist/MidrathCycle-DDfT7zVx.js +69 -0
  46. package/dist/Mission-CWE16ouO.d.ts +138 -0
  47. package/dist/Mission-ZuSsAYNm.js +140 -0
  48. package/dist/News-7F8Nbp4A.js +122 -0
  49. package/dist/News-BfAgbYSY.d.ts +101 -0
  50. package/dist/Nightwave-DDX0_zJU.js +60 -0
  51. package/dist/Nightwave-_0RzWikV.d.ts +59 -0
  52. package/dist/NightwaveChallenge-DDdrqvge.d.ts +51 -0
  53. package/dist/NightwaveChallenge-DwilvXfi.js +53 -0
  54. package/dist/PersistentEnemy-DRcO4V2r.d.ts +79 -0
  55. package/dist/PersistentEnemy-axYxYzv_.js +76 -0
  56. package/dist/Reward-5VIpHu9A.d.ts +68 -0
  57. package/dist/Reward-OauJ45jJ.js +73 -0
  58. package/dist/RewardData-qEvfHYxA.js +76 -0
  59. package/dist/RewardTypes-Cfq9FeIl.js +328 -0
  60. package/dist/RewardTypes-DYaUn77A.d.ts +34 -0
  61. package/dist/SentientOutpost-B2KZUJ7H.js +65 -0
  62. package/dist/SentientOutpost-DmlClvel.d.ts +47 -0
  63. package/dist/Simaris-B9Mvso2q.js +35 -0
  64. package/dist/Simaris-Bc-jNhED.d.ts +37 -0
  65. package/dist/Sortie-DPv-7SQ-.d.ts +60 -0
  66. package/dist/Sortie-DcoAnEaJ.js +73 -0
  67. package/dist/SortieVariant-BFkYiBho.d.ts +49 -0
  68. package/dist/SortieVariant-eWuI1uh9.js +51 -0
  69. package/dist/SteelPathOffering-DyAzr3P9.js +85 -0
  70. package/dist/SteelPathOffering-OHNTCFo5.d.ts +38 -0
  71. package/dist/SyndicateJob-BK7OMLmv.js +141 -0
  72. package/dist/SyndicateJob-DOtXWjRF.d.ts +76 -0
  73. package/dist/SyndicateMission-5PZIEM8P.js +66 -0
  74. package/dist/SyndicateMission-DmGG5lGy.d.ts +58 -0
  75. package/dist/Tmp-DkQq1arD.js +21 -0
  76. package/dist/VallisCycle-BX8yyKx3.js +76 -0
  77. package/dist/VallisCycle-BXcmzqqG.d.ts +31 -0
  78. package/dist/VoidTrader-CbLMfEVj.js +77 -0
  79. package/dist/VoidTrader-CihLWgSV.d.ts +74 -0
  80. package/dist/VoidTraderItem-BzeD-S6-.js +38 -0
  81. package/dist/VoidTraderItem-CkYAKAEn.d.ts +43 -0
  82. package/dist/VoidTraderSchedule-C-K8Zdfk.js +14 -0
  83. package/dist/VoidTraderSchedule-DKDtu-9d.d.ts +16 -0
  84. package/dist/WeeklyChallenge-C6sc4j7i.d.ts +20 -0
  85. package/dist/WeeklyChallenge-MzUEZAjv.js +21 -0
  86. package/dist/WorldEvent-BS9QHG_f.d.ts +205 -0
  87. package/dist/WorldEvent-nis9w9cn.js +213 -0
  88. package/dist/WorldState-DNSPrZR_.d.ts +257 -0
  89. package/dist/WorldState-uppX0Xt1.js +330 -0
  90. package/dist/WorldstateObject-BSTYuZwm.js +54 -0
  91. package/dist/WorldstateObject-wfRTeGpm.d.ts +48 -0
  92. package/dist/ZarimanCycle-BJ84QUFg.js +81 -0
  93. package/dist/ZarimanCycle-CjNQXhVO.d.ts +45 -0
  94. package/dist/lib/Tmp.d.ts +24 -0
  95. package/dist/lib/Tmp.js +6 -0
  96. package/dist/lib/WorldState.d.ts +47 -0
  97. package/dist/lib/WorldState.js +49 -0
  98. package/dist/lib/models/Alert.d.ts +8 -0
  99. package/dist/lib/models/Alert.js +9 -0
  100. package/dist/lib/models/Archidemea.d.ts +2 -0
  101. package/dist/lib/models/Archidemea.js +3 -0
  102. package/dist/lib/models/Calendar.d.ts +3 -0
  103. package/dist/lib/models/Calendar.js +4 -0
  104. package/dist/lib/models/CambionCycle.d.ts +4 -0
  105. package/dist/lib/models/CambionCycle.js +4 -0
  106. package/dist/lib/models/CetusCycle.d.ts +3 -0
  107. package/dist/lib/models/CetusCycle.js +4 -0
  108. package/dist/lib/models/ChallengeInstance.d.ts +4 -0
  109. package/dist/lib/models/ChallengeInstance.js +3 -0
  110. package/dist/lib/models/ConclaveChallenge.d.ts +5 -0
  111. package/dist/lib/models/ConclaveChallenge.js +4 -0
  112. package/dist/lib/models/ConstructionProgress.d.ts +3 -0
  113. package/dist/lib/models/ConstructionProgress.js +4 -0
  114. package/dist/lib/models/DailyDeal.d.ts +5 -0
  115. package/dist/lib/models/DailyDeal.js +4 -0
  116. package/dist/lib/models/DarkSector.d.ts +9 -0
  117. package/dist/lib/models/DarkSector.js +10 -0
  118. package/dist/lib/models/DarkSectorBattle.d.ts +3 -0
  119. package/dist/lib/models/DarkSectorBattle.js +3 -0
  120. package/dist/lib/models/DuviriCycle.d.ts +4 -0
  121. package/dist/lib/models/DuviriCycle.js +4 -0
  122. package/dist/lib/models/EarthCycle.d.ts +3 -0
  123. package/dist/lib/models/EarthCycle.js +4 -0
  124. package/dist/lib/models/Fissure.d.ts +5 -0
  125. package/dist/lib/models/Fissure.js +4 -0
  126. package/dist/lib/models/FlashSale.d.ts +5 -0
  127. package/dist/lib/models/FlashSale.js +4 -0
  128. package/dist/lib/models/GlobalUpgrade.d.ts +5 -0
  129. package/dist/lib/models/GlobalUpgrade.js +4 -0
  130. package/dist/lib/models/Invasion.d.ts +7 -0
  131. package/dist/lib/models/Invasion.js +8 -0
  132. package/dist/lib/models/Kinepage.d.ts +2 -0
  133. package/dist/lib/models/Kinepage.js +3 -0
  134. package/dist/lib/models/Kuva.d.ts +22 -0
  135. package/dist/lib/models/Kuva.js +3 -0
  136. package/dist/lib/models/MidrathCycle.d.ts +3 -0
  137. package/dist/lib/models/MidrathCycle.js +4 -0
  138. package/dist/lib/models/Mission.d.ts +6 -0
  139. package/dist/lib/models/Mission.js +7 -0
  140. package/dist/lib/models/News.d.ts +3 -0
  141. package/dist/lib/models/News.js +5 -0
  142. package/dist/lib/models/Nightwave.d.ts +4 -0
  143. package/dist/lib/models/Nightwave.js +5 -0
  144. package/dist/lib/models/NightwaveChallenge.d.ts +3 -0
  145. package/dist/lib/models/NightwaveChallenge.js +4 -0
  146. package/dist/lib/models/PersistentEnemy.d.ts +3 -0
  147. package/dist/lib/models/PersistentEnemy.js +4 -0
  148. package/dist/lib/models/Reward.d.ts +5 -0
  149. package/dist/lib/models/Reward.js +6 -0
  150. package/dist/lib/models/SentientOutpost.d.ts +4 -0
  151. package/dist/lib/models/SentientOutpost.js +3 -0
  152. package/dist/lib/models/Simaris.d.ts +4 -0
  153. package/dist/lib/models/Simaris.js +3 -0
  154. package/dist/lib/models/Sortie.d.ts +9 -0
  155. package/dist/lib/models/Sortie.js +10 -0
  156. package/dist/lib/models/SortieVariant.d.ts +4 -0
  157. package/dist/lib/models/SortieVariant.js +3 -0
  158. package/dist/lib/models/SteelPathOffering.d.ts +2 -0
  159. package/dist/lib/models/SteelPathOffering.js +3 -0
  160. package/dist/lib/models/SyndicateJob.d.ts +5 -0
  161. package/dist/lib/models/SyndicateJob.js +4 -0
  162. package/dist/lib/models/SyndicateMission.d.ts +6 -0
  163. package/dist/lib/models/SyndicateMission.js +5 -0
  164. package/dist/lib/models/VallisCycle.d.ts +3 -0
  165. package/dist/lib/models/VallisCycle.js +4 -0
  166. package/dist/lib/models/VoidTrader.d.ts +7 -0
  167. package/dist/lib/models/VoidTrader.js +6 -0
  168. package/dist/lib/models/VoidTraderItem.d.ts +4 -0
  169. package/dist/lib/models/VoidTraderItem.js +3 -0
  170. package/dist/lib/models/VoidTraderSchedule.d.ts +4 -0
  171. package/dist/lib/models/VoidTraderSchedule.js +3 -0
  172. package/dist/lib/models/WeeklyChallenge.d.ts +6 -0
  173. package/dist/lib/models/WeeklyChallenge.js +5 -0
  174. package/dist/lib/models/WorldEvent.d.ts +8 -0
  175. package/dist/lib/models/WorldEvent.js +9 -0
  176. package/dist/lib/models/WorldstateObject.d.ts +2 -0
  177. package/dist/lib/models/WorldstateObject.js +3 -0
  178. package/dist/lib/models/ZarimanCycle.d.ts +3 -0
  179. package/dist/lib/models/ZarimanCycle.js +4 -0
  180. package/dist/lib/supporting/Dependency.d.ts +3 -0
  181. package/dist/lib/supporting/Dependency.js +1 -0
  182. package/dist/lib/supporting/DuviriChoice.d.ts +3 -0
  183. package/dist/lib/supporting/DuviriChoice.js +3 -0
  184. package/dist/lib/supporting/ExternalMission.d.ts +2 -0
  185. package/dist/lib/supporting/ExternalMission.js +1 -0
  186. package/dist/lib/supporting/ImgCdn.d.ts +6 -0
  187. package/dist/lib/supporting/ImgCdn.js +3 -0
  188. package/dist/lib/supporting/KuvaLogEntry.d.ts +2 -0
  189. package/dist/lib/supporting/KuvaLogEntry.js +1 -0
  190. package/dist/lib/supporting/RewardData.d.ts +11 -0
  191. package/dist/lib/supporting/RewardData.js +3 -0
  192. package/dist/lib/supporting/RewardTypes.d.ts +2 -0
  193. package/dist/lib/supporting/RewardTypes.js +5 -0
  194. package/dist/main.d.ts +47 -0
  195. package/dist/main.js +49 -0
  196. package/dist/resources/.gitkeep +1 -0
  197. package/dist/resources/alt_helmet_thumb.png +0 -0
  198. package/dist/resources/aura_thumb.png +0 -0
  199. package/dist/resources/clantech_thmb.png +0 -0
  200. package/dist/resources/endo_thumb.png +0 -0
  201. package/dist/resources/exilus_thumb.png +0 -0
  202. package/dist/resources/forma_thumb.png +0 -0
  203. package/dist/resources/glaive_thumb.png +0 -0
  204. package/dist/resources/mutalist_thumb.png +0 -0
  205. package/dist/resources/nightmare_thumb.png +0 -0
  206. package/dist/resources/nitain_thumb.png +0 -0
  207. package/dist/resources/potato_thumb.png +0 -0
  208. package/dist/resources/resource_thumb.png +0 -0
  209. package/dist/resources/vauban_thumb.png +0 -0
  210. package/dist/resources/weapon_skin_thumb.png +0 -0
  211. package/package.json +9 -11
  212. package/lib/WorldState.js +0 -404
  213. package/lib/models/Alert.js +0 -90
  214. package/lib/models/Calendar.js +0 -74
  215. package/lib/models/CambionCycle.js +0 -32
  216. package/lib/models/CetusCycle.js +0 -126
  217. package/lib/models/ChallengeInstance.js +0 -57
  218. package/lib/models/ConclaveChallenge.js +0 -154
  219. package/lib/models/ConstructionProgress.js +0 -31
  220. package/lib/models/DailyDeal.js +0 -103
  221. package/lib/models/DarkSector.js +0 -154
  222. package/lib/models/DarkSectorBattle.js +0 -56
  223. package/lib/models/DeepArchidemea.js +0 -33
  224. package/lib/models/DuviriCycle.js +0 -65
  225. package/lib/models/EarthCycle.js +0 -119
  226. package/lib/models/Fissure.js +0 -136
  227. package/lib/models/FlashSale.js +0 -123
  228. package/lib/models/GlobalUpgrade.js +0 -122
  229. package/lib/models/Invasion.js +0 -183
  230. package/lib/models/Kinepage.js +0 -11
  231. package/lib/models/Kuva.js +0 -122
  232. package/lib/models/MidrathCycle.js +0 -94
  233. package/lib/models/Mission.js +0 -179
  234. package/lib/models/News.js +0 -174
  235. package/lib/models/Nightwave.js +0 -91
  236. package/lib/models/NightwaveChallenge.js +0 -63
  237. package/lib/models/PersistentEnemy.js +0 -100
  238. package/lib/models/Reward.js +0 -111
  239. package/lib/models/SentientOutpost.js +0 -68
  240. package/lib/models/Simaris.js +0 -47
  241. package/lib/models/Sortie.js +0 -143
  242. package/lib/models/SortieVariant.js +0 -57
  243. package/lib/models/SteelPathOffering.js +0 -99
  244. package/lib/models/SyndicateJob.js +0 -185
  245. package/lib/models/SyndicateMission.js +0 -111
  246. package/lib/models/VallisCycle.js +0 -125
  247. package/lib/models/VoidTrader.js +0 -134
  248. package/lib/models/VoidTraderItem.js +0 -24
  249. package/lib/models/VoidTraderSchedule.js +0 -8
  250. package/lib/models/WeeklyChallenge.js +0 -27
  251. package/lib/models/WorldEvent.js +0 -326
  252. package/lib/models/WorldstateObject.js +0 -106
  253. package/lib/models/ZarimanCycle.js +0 -124
  254. package/lib/supporting/Dependency.js +0 -6
  255. package/lib/supporting/DuviriChoice.js +0 -16
  256. package/lib/supporting/ExternalMission.js +0 -13
  257. package/lib/supporting/ImgCdn.js +0 -9
  258. package/lib/supporting/MarkdownSettings.js +0 -30
  259. package/lib/supporting/RewardData.js +0 -77
  260. package/lib/supporting/RewardTypes.js +0 -327
  261. package/main.js +0 -4
  262. package/types/lib/WorldState.d.ts +0 -199
  263. package/types/lib/models/Alert.d.ts +0 -53
  264. package/types/lib/models/Calendar.d.ts +0 -16
  265. package/types/lib/models/CambionCycle.d.ts +0 -20
  266. package/types/lib/models/CetusCycle.d.ts +0 -47
  267. package/types/lib/models/ChallengeInstance.d.ts +0 -42
  268. package/types/lib/models/ConclaveChallenge.d.ts +0 -90
  269. package/types/lib/models/ConstructionProgress.d.ts +0 -14
  270. package/types/lib/models/DailyDeal.d.ts +0 -78
  271. package/types/lib/models/DarkSector.d.ts +0 -121
  272. package/types/lib/models/DarkSectorBattle.d.ts +0 -44
  273. package/types/lib/models/DeepArchidemea.d.ts +0 -8
  274. package/types/lib/models/DuviriCycle.d.ts +0 -21
  275. package/types/lib/models/EarthCycle.d.ts +0 -64
  276. package/types/lib/models/Fissure.d.ts +0 -83
  277. package/types/lib/models/FlashSale.d.ts +0 -86
  278. package/types/lib/models/GlobalUpgrade.d.ts +0 -86
  279. package/types/lib/models/Invasion.d.ts +0 -124
  280. package/types/lib/models/Kinepage.d.ts +0 -6
  281. package/types/lib/models/Kuva.d.ts +0 -60
  282. package/types/lib/models/MidrathCycle.d.ts +0 -39
  283. package/types/lib/models/Mission.d.ts +0 -136
  284. package/types/lib/models/News.d.ts +0 -104
  285. package/types/lib/models/Nightwave.d.ts +0 -53
  286. package/types/lib/models/NightwaveChallenge.d.ts +0 -45
  287. package/types/lib/models/PersistentEnemy.d.ts +0 -70
  288. package/types/lib/models/Reward.d.ts +0 -95
  289. package/types/lib/models/SentientOutpost.d.ts +0 -54
  290. package/types/lib/models/Simaris.d.ts +0 -33
  291. package/types/lib/models/Sortie.d.ts +0 -72
  292. package/types/lib/models/SortieVariant.d.ts +0 -43
  293. package/types/lib/models/SteelPathOffering.d.ts +0 -19
  294. package/types/lib/models/SyndicateJob.d.ts +0 -72
  295. package/types/lib/models/SyndicateMission.d.ts +0 -56
  296. package/types/lib/models/VallisCycle.d.ts +0 -53
  297. package/types/lib/models/VoidTrader.d.ts +0 -45
  298. package/types/lib/models/VoidTraderItem.d.ts +0 -25
  299. package/types/lib/models/VoidTraderSchedule.d.ts +0 -7
  300. package/types/lib/models/WeeklyChallenge.d.ts +0 -12
  301. package/types/lib/models/WorldEvent.d.ts +0 -216
  302. package/types/lib/models/WorldstateObject.d.ts +0 -120
  303. package/types/lib/models/ZarimanCycle.d.ts +0 -42
  304. package/types/lib/supporting/Dependency.d.ts +0 -7
  305. package/types/lib/supporting/DuviriChoice.d.ts +0 -9
  306. package/types/lib/supporting/ExternalMission.d.ts +0 -48
  307. package/types/lib/supporting/ImgCdn.d.ts +0 -3
  308. package/types/lib/supporting/MarkdownSettings.d.ts +0 -30
  309. package/types/lib/supporting/RewardData.d.ts +0 -9
  310. package/types/lib/supporting/RewardTypes.d.ts +0 -8
  311. package/types/main.d.ts +0 -3
@@ -0,0 +1,71 @@
1
+ import { Dependency } from "./Dependency-DkOHLql6.js";
2
+ import { BaseContentObject, WorldstateObject } from "./WorldstateObject-wfRTeGpm.js";
3
+ import { ContentTimestamp } from "warframe-worldstate-data/utilities";
4
+
5
+ //#region lib/models/FlashSale.d.ts
6
+ interface RawFlashSale extends BaseContentObject {
7
+ TypeName: string;
8
+ EndDate: ContentTimestamp;
9
+ StartDate: ContentTimestamp;
10
+ Discount: number;
11
+ RegularOverride: number;
12
+ PremiumOverride: number;
13
+ ShowInMarket: boolean;
14
+ Featured: boolean;
15
+ Popular: boolean;
16
+ }
17
+ /**
18
+ * Represents a flash sale
19
+ */
20
+ declare class FlashSale extends WorldstateObject {
21
+ /**
22
+ * The item being offered in the flash sale
23
+ */
24
+ item: string;
25
+ /**
26
+ * The item's discount percentage
27
+ */
28
+ discount: number;
29
+ /**
30
+ * The item's discounted credit price
31
+ */
32
+ regularOverride: number;
33
+ /**
34
+ * The item's discounted platinum price
35
+ */
36
+ premiumOverride: number;
37
+ /**
38
+ * Whether this item is show in the in-game market
39
+ */
40
+ isShownInMarket: boolean;
41
+ /**
42
+ * Whether this item is featured in the in-game market
43
+ */
44
+ isFeatured: boolean;
45
+ /**
46
+ * Whether this item is marked as popular in the in-game market
47
+ */
48
+ isPopular: boolean;
49
+ /**
50
+ * Unique identifier for this sale built from the end time and reward
51
+ */
52
+ id: string;
53
+ /**
54
+ * @param {object} data The flash sale data
55
+ * @param {Dependency} deps The dependencies object
56
+ * @param {string} deps.locale Locale to use for translations
57
+ */
58
+ constructor(data: RawFlashSale, {
59
+ locale
60
+ }?: Dependency);
61
+ /**
62
+ * ETA string (at time of object creation)
63
+ */
64
+ get eta(): string;
65
+ /**
66
+ * Whether or not this is expired (at time of object creation)
67
+ */
68
+ get expired(): boolean;
69
+ }
70
+ //#endregion
71
+ export { FlashSale, RawFlashSale };
@@ -0,0 +1,55 @@
1
+ import { Dependency } from "./Dependency-DkOHLql6.js";
2
+ import { BaseContentObject, WorldstateObject } from "./WorldstateObject-wfRTeGpm.js";
3
+ import { ContentTimestamp } from "warframe-worldstate-data/utilities";
4
+
5
+ //#region lib/models/GlobalUpgrade.d.ts
6
+ interface RawGlobalUpgrade extends BaseContentObject {
7
+ Activation: ContentTimestamp;
8
+ Expiry: ContentTimestamp;
9
+ UpgradeType: string;
10
+ OperationType: string;
11
+ Value: number;
12
+ }
13
+ /**
14
+ * Represents an upgrade that applies to all players
15
+ */
16
+ declare class GlobalUpgrade extends WorldstateObject {
17
+ /**
18
+ * The effect of the upgrade
19
+ */
20
+ upgrade: string;
21
+ /**
22
+ * The operation type
23
+ */
24
+ operation: string;
25
+ /**
26
+ * Symbol for operation
27
+ */
28
+ operationSymbol: string;
29
+ /**
30
+ * The operation value
31
+ */
32
+ upgradeOperationValue: number;
33
+ /**
34
+ * @param {object} data The global upgrade data
35
+ * @param {object} deps The dependencies object
36
+ * @param {string} deps.locale Locale to use for translations
37
+ */
38
+ constructor(data: RawGlobalUpgrade, {
39
+ locale
40
+ }?: Dependency);
41
+ /**
42
+ * Plaintext description of upgrade
43
+ */
44
+ get desc(): string;
45
+ /**
46
+ * ETA string (at time of object creation)
47
+ */
48
+ get eta(): string;
49
+ /**
50
+ * Whether or not this is expired (at time of object creation)
51
+ */
52
+ get expired(): boolean;
53
+ }
54
+ //#endregion
55
+ export { GlobalUpgrade, RawGlobalUpgrade };
@@ -0,0 +1,58 @@
1
+ import { WorldstateObject } from "./WorldstateObject-BSTYuZwm.js";
2
+ import { fromNow, operation, operationSymbol, timeDeltaToString, upgrade } from "warframe-worldstate-data/utilities";
3
+
4
+ //#region lib/models/GlobalUpgrade.ts
5
+ /**
6
+ * Represents an upgrade that applies to all players
7
+ */
8
+ var GlobalUpgrade = class extends WorldstateObject {
9
+ /**
10
+ * The effect of the upgrade
11
+ */
12
+ upgrade;
13
+ /**
14
+ * The operation type
15
+ */
16
+ operation;
17
+ /**
18
+ * Symbol for operation
19
+ */
20
+ operationSymbol;
21
+ /**
22
+ * The operation value
23
+ */
24
+ upgradeOperationValue;
25
+ /**
26
+ * @param {object} data The global upgrade data
27
+ * @param {object} deps The dependencies object
28
+ * @param {string} deps.locale Locale to use for translations
29
+ */
30
+ constructor(data, { locale = "en" } = { locale: "en" }) {
31
+ super(data);
32
+ this.upgrade = upgrade(data.UpgradeType, locale);
33
+ this.operation = operation(data.OperationType, locale);
34
+ this.operationSymbol = operationSymbol(data.OperationType, locale);
35
+ this.upgradeOperationValue = data.Value;
36
+ }
37
+ /**
38
+ * Plaintext description of upgrade
39
+ */
40
+ get desc() {
41
+ return `${this.upgradeOperationValue}${this.operationSymbol} ${this.upgrade} for ${this.eta}`;
42
+ }
43
+ /**
44
+ * ETA string (at time of object creation)
45
+ */
46
+ get eta() {
47
+ return timeDeltaToString(fromNow(this.expiry));
48
+ }
49
+ /**
50
+ * Whether or not this is expired (at time of object creation)
51
+ */
52
+ get expired() {
53
+ return fromNow(this.expiry) < 0;
54
+ }
55
+ };
56
+
57
+ //#endregion
58
+ export { GlobalUpgrade };
@@ -0,0 +1,7 @@
1
+ //#region lib/supporting/ImgCdn.ts
2
+ const cdn = (path) => `https://cdn.warframestat.us/genesis/${path}`;
3
+ const wfCdn = (path) => `https://cdn.warframestat.us/img/${path}`;
4
+ const deProxy = (url) => url.replace("https://forums.warframe.com/applications/core/interface/imageproxy/imageproxy.php?img=", "").replace(/&key=\w*/gi, "").replace("http://", "https://");
5
+
6
+ //#endregion
7
+ export { cdn, deProxy, wfCdn };
@@ -0,0 +1,110 @@
1
+ import { Reward } from "./Reward-OauJ45jJ.js";
2
+ import { WorldstateObject } from "./WorldstateObject-BSTYuZwm.js";
3
+ import { faction, languageString, node, timeDeltaToString, toNow } from "warframe-worldstate-data/utilities";
4
+
5
+ //#region lib/models/Invasion.ts
6
+ /**
7
+ * Represents an invasion
8
+ */
9
+ var Invasion = class extends WorldstateObject {
10
+ /**
11
+ * The node where the invasion is taking place
12
+ */
13
+ node;
14
+ /**
15
+ * The node key where the invasion is taking place
16
+ */
17
+ nodeKey;
18
+ /**
19
+ * The invasion's description
20
+ */
21
+ desc;
22
+ /**
23
+ * Invasion attacker
24
+ */
25
+ attacker;
26
+ /**
27
+ * Invasion defender
28
+ */
29
+ defender;
30
+ /**
31
+ * Whether this invasion is against the infestation
32
+ */
33
+ vsInfestation;
34
+ /**
35
+ * The signed count of completed runs. Supporting the attackers makes the count go up,
36
+ * supporting the defenders makes it go down
37
+ */
38
+ count;
39
+ /**
40
+ * The number of runs that one side needs to win
41
+ */
42
+ requiredRuns;
43
+ /**
44
+ * The invasion's completion percentage. Defenders win if it gets to 0
45
+ * Grineer vs. Corpus invasions start at 50, Infested invasions start at 100
46
+ */
47
+ completion;
48
+ /**
49
+ * Whether the invasion has finished
50
+ */
51
+ completed;
52
+ /**
53
+ * @param {object} data The invasion data
54
+ * @param {Dependency} deps The dependencies object
55
+ * @param {string} deps.locale Locale to use for translations
56
+ */
57
+ constructor(data, { locale = "en" } = { locale: "en" }) {
58
+ super(data);
59
+ const opts = { locale };
60
+ this.node = node(data.Node, locale);
61
+ this.nodeKey = node(data.Node);
62
+ this.desc = languageString(data.LocTag, locale);
63
+ this.attacker = {
64
+ reward: Object.keys(data?.AttackerReward || {})?.length ? new Reward(data.AttackerReward, opts) : void 0,
65
+ faction: faction(data.DefenderMissionInfo.faction, locale),
66
+ factionKey: faction(data.DefenderMissionInfo.faction, "en")
67
+ };
68
+ this.defender = {
69
+ reward: Object.keys(data?.DefenderReward || {})?.length ? new Reward(data.DefenderReward, opts) : void 0,
70
+ faction: faction(data.AttackerMissionInfo.faction, locale),
71
+ factionKey: faction(data.AttackerMissionInfo.faction, "en")
72
+ };
73
+ this.vsInfestation = /infest/i.test(data.DefenderMissionInfo.faction);
74
+ this.count = data.Count;
75
+ this.requiredRuns = data.Goal;
76
+ this.completion = (1 + data.Count / data.Goal) * (this.vsInfestation ? 100 : 50);
77
+ this.completed = data.Completed;
78
+ }
79
+ /**
80
+ * Whether or not the attackers are winning.
81
+ * This is always false when the infestation is attacking
82
+ */
83
+ get isAttackerWinning() {
84
+ return this.count > 0;
85
+ }
86
+ /**
87
+ * ETA string (at time of object creation)
88
+ */
89
+ get eta() {
90
+ return timeDeltaToString(this.getRemainingTime());
91
+ }
92
+ /**
93
+ * An array containing the types of all of the invasions's rewards
94
+ */
95
+ get rewardTypes() {
96
+ return [...this.attacker.reward?.getTypes() ?? [], ...this.defender.reward?.getTypes() ?? []];
97
+ }
98
+ /**
99
+ * Get an estimation of how much time is left before the invasion ends in milliseconds
100
+ */
101
+ getRemainingTime() {
102
+ const completedRuns = Math.abs(this.count);
103
+ const elapsedMillis = toNow(this.activation);
104
+ const remainingRuns = this.requiredRuns - completedRuns;
105
+ return remainingRuns * (elapsedMillis / completedRuns);
106
+ }
107
+ };
108
+
109
+ //#endregion
110
+ export { Invasion };
@@ -0,0 +1,113 @@
1
+ import { Dependency } from "./Dependency-DkOHLql6.js";
2
+ import { RawReward, Reward } from "./Reward-5VIpHu9A.js";
3
+ import { BaseContentObject, WorldstateObject } from "./WorldstateObject-wfRTeGpm.js";
4
+ import { ContentTimestamp } from "warframe-worldstate-data/utilities";
5
+
6
+ //#region lib/models/Invasion.d.ts
7
+ interface RawInvasion extends BaseContentObject {
8
+ Node: string;
9
+ LocTag: string;
10
+ DefenderMissionInfo: {
11
+ faction: string;
12
+ };
13
+ AttackerReward: RawReward;
14
+ DefenderReward: RawReward;
15
+ AttackerMissionInfo: {
16
+ faction: string;
17
+ };
18
+ Activation: ContentTimestamp;
19
+ Count: number;
20
+ Goal: number;
21
+ Completed: boolean;
22
+ }
23
+ /**
24
+ * An invasion participant
25
+ */
26
+ interface InvasionParticipant {
27
+ /**
28
+ * Reward for supporting this participant in the invasion
29
+ */
30
+ reward?: Reward;
31
+ /**
32
+ * Faction of this participant (localized)
33
+ */
34
+ faction: string;
35
+ /**
36
+ * Faction of this participant (always English)
37
+ */
38
+ factionKey: string;
39
+ }
40
+ /**
41
+ * Represents an invasion
42
+ */
43
+ declare class Invasion extends WorldstateObject {
44
+ /**
45
+ * The node where the invasion is taking place
46
+ */
47
+ node: string;
48
+ /**
49
+ * The node key where the invasion is taking place
50
+ */
51
+ nodeKey: string;
52
+ /**
53
+ * The invasion's description
54
+ */
55
+ desc: string;
56
+ /**
57
+ * Invasion attacker
58
+ */
59
+ attacker: InvasionParticipant;
60
+ /**
61
+ * Invasion defender
62
+ */
63
+ defender: InvasionParticipant;
64
+ /**
65
+ * Whether this invasion is against the infestation
66
+ */
67
+ vsInfestation: boolean;
68
+ /**
69
+ * The signed count of completed runs. Supporting the attackers makes the count go up,
70
+ * supporting the defenders makes it go down
71
+ */
72
+ count: number;
73
+ /**
74
+ * The number of runs that one side needs to win
75
+ */
76
+ requiredRuns: number;
77
+ /**
78
+ * The invasion's completion percentage. Defenders win if it gets to 0
79
+ * Grineer vs. Corpus invasions start at 50, Infested invasions start at 100
80
+ */
81
+ completion: number;
82
+ /**
83
+ * Whether the invasion has finished
84
+ */
85
+ completed: boolean;
86
+ /**
87
+ * @param {object} data The invasion data
88
+ * @param {Dependency} deps The dependencies object
89
+ * @param {string} deps.locale Locale to use for translations
90
+ */
91
+ constructor(data: RawInvasion, {
92
+ locale
93
+ }?: Dependency);
94
+ /**
95
+ * Whether or not the attackers are winning.
96
+ * This is always false when the infestation is attacking
97
+ */
98
+ get isAttackerWinning(): boolean;
99
+ /**
100
+ * ETA string (at time of object creation)
101
+ */
102
+ get eta(): string;
103
+ /**
104
+ * An array containing the types of all of the invasions's rewards
105
+ */
106
+ get rewardTypes(): string[];
107
+ /**
108
+ * Get an estimation of how much time is left before the invasion ends in milliseconds
109
+ */
110
+ private getRemainingTime;
111
+ }
112
+ //#endregion
113
+ export { Invasion, RawInvasion };
@@ -0,0 +1,22 @@
1
+ //#region lib/models/Kinepage.d.ts
2
+ declare class Kinepage {
3
+ /**
4
+ * Timestamp of when the message appeared on
5
+ */
6
+ timestamp: Date;
7
+ /**
8
+ * The message itself
9
+ */
10
+ message: string;
11
+ /**
12
+ * Message translations
13
+ */
14
+ translations: {
15
+ [k: string]: unknown;
16
+ };
17
+ constructor(data: {
18
+ [k: string]: string | number;
19
+ }, locale?: string);
20
+ }
21
+ //#endregion
22
+ export { Kinepage };
@@ -0,0 +1,24 @@
1
+ //#region lib/models/Kinepage.ts
2
+ var Kinepage = class {
3
+ /**
4
+ * Timestamp of when the message appeared on
5
+ */
6
+ timestamp;
7
+ /**
8
+ * The message itself
9
+ */
10
+ message;
11
+ /**
12
+ * Message translations
13
+ */
14
+ translations;
15
+ constructor(data, locale = "en") {
16
+ this.timestamp = /* @__PURE__ */ new Date(Number(data.ts) * 1e3);
17
+ const translations = Object.fromEntries(Object.entries(data).filter(([key]) => key !== "ts"));
18
+ this.message = String(translations[locale] || data.en);
19
+ this.translations = Object.fromEntries(Object.entries(translations).filter(([key]) => key !== locale));
20
+ }
21
+ };
22
+
23
+ //#endregion
24
+ export { Kinepage };
@@ -0,0 +1,85 @@
1
+ import { createHash } from "node:crypto";
2
+ import { node, nodeMissionType } from "warframe-worldstate-data/utilities";
3
+
4
+ //#region lib/models/Kuva.ts
5
+ const HOURS_2 = 72e5;
6
+ /**
7
+ * Truncate time for a semlar-provided mission
8
+ * @param mission parsed mission with re-aligned field names
9
+ */
10
+ const truncateTime = (mission) => {
11
+ mission.expiry.setHours(mission.activation.getHours() + 1);
12
+ mission.expiry.setMinutes(4);
13
+ mission.expiry.setSeconds(0);
14
+ mission.expiry.setMilliseconds(0);
15
+ mission.activation.setMinutes(mission.activation.getMinutes() + 5.1);
16
+ };
17
+ /**
18
+ * Scrub unnecessary details from the mission
19
+ * @param mission parsed mission with re-aligned field names
20
+ */
21
+ const scrub = (mission) => {
22
+ delete mission.solnode;
23
+ delete mission.name;
24
+ delete mission.node_type;
25
+ delete mission.tile;
26
+ delete mission.planet;
27
+ };
28
+ const hash = (str) => createHash("md5").update(str, "utf8").digest("hex");
29
+ /**
30
+ * Parse kuva & arbitration data
31
+ * @param data Data to split for kuva/arbitration
32
+ * @param locale locale to translate
33
+ * @returns Split parsed data
34
+ */
35
+ const parse = (data, locale) => {
36
+ const parsed = {
37
+ kuva: [],
38
+ arbitration: {}
39
+ };
40
+ const now = /* @__PURE__ */ new Date();
41
+ if (!data) return void 0;
42
+ data?.forEach?.((mission) => {
43
+ const p = {
44
+ id: "",
45
+ activation: new Date(mission.start),
46
+ expiry: new Date(mission.end),
47
+ ...mission.solnodedata,
48
+ node: node(mission.solnode, locale),
49
+ nodeKey: node(mission.solnode, "en"),
50
+ type: nodeMissionType(mission.solnode, locale),
51
+ typeKey: nodeMissionType(mission.solnode, "en"),
52
+ expired: false
53
+ };
54
+ truncateTime(p);
55
+ p.id = hash(JSON.stringify(p));
56
+ p.expired = Date.now() - p.expiry.getTime() < 0;
57
+ if (p.activation < now && now < p.expiry && new Date(p.activation.getTime() + HOURS_2) > now && new Date(p.expiry.getTime() - HOURS_2) < now) {
58
+ if (mission.missiontype === "EliteAlertMission") parsed.arbitration = p;
59
+ if (mission.missiontype.startsWith("KuvaMission")) parsed.kuva.push(p);
60
+ }
61
+ scrub(p);
62
+ });
63
+ parsed.kuva = Array.from(new Set(parsed.kuva));
64
+ return parsed;
65
+ };
66
+ /**
67
+ * Stores and parses kuva data from https://10o.io/kuvalog.json
68
+ * @property {ExternalMission[]} kuva currently active kuva missions
69
+ * @property {ExternalMission} arbitration current arbitration
70
+ */
71
+ var Kuva = class {
72
+ kuva;
73
+ arbitration;
74
+ constructor({ kuvaData, locale, logger }) {
75
+ if (!kuvaData) logger?.debug("No defined kuva data, skipping data");
76
+ else {
77
+ const parsed = parse(kuvaData, locale);
78
+ this.kuva = parsed?.kuva;
79
+ this.arbitration = parsed?.arbitration;
80
+ }
81
+ }
82
+ };
83
+
84
+ //#endregion
85
+ export { Kuva };
@@ -0,0 +1,21 @@
1
+ //#region lib/supporting/KuvaLogEntry.d.ts
2
+ interface KuvaLogEntry {
3
+ start: string;
4
+ end: string;
5
+ missiontype: string;
6
+ solnode: string;
7
+ solnodedata: SolnodeData;
8
+ realtime: string;
9
+ }
10
+ interface SolnodeData {
11
+ name: string;
12
+ tile: string;
13
+ planet: string;
14
+ enemy: string;
15
+ type: string;
16
+ node_type: string;
17
+ archwing: boolean;
18
+ sharkwing: boolean;
19
+ }
20
+ //#endregion
21
+ export { KuvaLogEntry, SolnodeData };
@@ -0,0 +1,25 @@
1
+ import { WorldstateObject } from "./WorldstateObject-wfRTeGpm.js";
2
+
3
+ //#region lib/models/MidrathCycle.d.ts
4
+ declare class MidrathCycle extends WorldstateObject {
5
+ #private;
6
+ /**
7
+ * Whether it's day or not
8
+ */
9
+ isDay: boolean;
10
+ /**
11
+ * The current state
12
+ */
13
+ state: string;
14
+ constructor();
15
+ /**
16
+ * Get whether or not the event has expired
17
+ */
18
+ get expired(): boolean;
19
+ /**
20
+ * The amount of time left as a string
21
+ */
22
+ get timeLeft(): string;
23
+ }
24
+ //#endregion
25
+ export { MidrathCycle };
@@ -0,0 +1,69 @@
1
+ import { WorldstateObject } from "./WorldstateObject-BSTYuZwm.js";
2
+ import { createHash } from "node:crypto";
3
+ import { fromNow, timeDeltaToString } from "warframe-worldstate-data/utilities";
4
+
5
+ //#region lib/models/MidrathCycle.ts
6
+ /**
7
+ * Get the current Midrath cycle time
8
+ */
9
+ function getCurrentMidrathCycle() {
10
+ const dayDuration = 1920 * 1e3;
11
+ const nightDuration = 960 * 1e3;
12
+ const totalDuration = dayDuration + nightDuration;
13
+ const refPoint = Date.parse("2025-08-07T16:05:29Z");
14
+ const now = Date.now();
15
+ const elapsedInCycle = (now - refPoint) % totalDuration;
16
+ const isDay = elapsedInCycle < dayDuration;
17
+ let phase = {
18
+ name: "night",
19
+ remaining: totalDuration - elapsedInCycle,
20
+ duration: nightDuration
21
+ };
22
+ if (isDay) phase = {
23
+ name: "day",
24
+ remaining: dayDuration - elapsedInCycle,
25
+ duration: dayDuration
26
+ };
27
+ const activation = new Date(now - (phase.duration - phase.remaining));
28
+ const expiry = new Date(activation.getTime() + phase.duration);
29
+ return {
30
+ activation,
31
+ expiry,
32
+ state: phase.name,
33
+ isDay
34
+ };
35
+ }
36
+ var MidrathCycle = class extends WorldstateObject {
37
+ #cycle = getCurrentMidrathCycle();
38
+ /**
39
+ * Whether it's day or not
40
+ */
41
+ isDay;
42
+ /**
43
+ * The current state
44
+ */
45
+ state;
46
+ constructor() {
47
+ super({ _id: { $oid: "midrathCycle0" } });
48
+ this.activation = this.#cycle.activation;
49
+ this.expiry = this.#cycle.expiry;
50
+ this.isDay = this.#cycle.isDay;
51
+ this.state = this.#cycle.state;
52
+ this.id = createHash("md5").update(JSON.stringify(this.expiry), "utf8").digest("hex");
53
+ }
54
+ /**
55
+ * Get whether or not the event has expired
56
+ */
57
+ get expired() {
58
+ return fromNow(this.expiry) < 0;
59
+ }
60
+ /**
61
+ * The amount of time left as a string
62
+ */
63
+ get timeLeft() {
64
+ return timeDeltaToString(fromNow(this.expiry));
65
+ }
66
+ };
67
+
68
+ //#endregion
69
+ export { MidrathCycle };