warframe-worldstate-parser 4.6.1 → 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,49 @@
1
+ import { Dependency } from "./Dependency-DkOHLql6.js";
2
+
3
+ //#region lib/models/SortieVariant.d.ts
4
+ interface RawSortieVariant {
5
+ missionType: string;
6
+ modifierType: string;
7
+ node: string;
8
+ }
9
+ /**
10
+ * Represents a sortie variant
11
+ * @class
12
+ */
13
+ declare class SortieVariant {
14
+ /**
15
+ * The variant's mission type
16
+ */
17
+ missionType: string;
18
+ /**
19
+ * The variant's mission type unlocalized
20
+ */
21
+ missionTypeKey: string;
22
+ /**
23
+ * The mission modifier
24
+ */
25
+ modifier: string;
26
+ /**
27
+ * The variant's modifier description
28
+ */
29
+ modifierDescription: string;
30
+ /**
31
+ * The node where the variant takes place
32
+ */
33
+ node: string;
34
+ /**
35
+ * The node where the variant takes place unlocalized
36
+ */
37
+ nodeKey: string;
38
+ /**
39
+ * Make the SortieVariant
40
+ * @param data Sortie variant data
41
+ * @param deps Dependencies
42
+ * @param deps.locale Locale to use for translations
43
+ */
44
+ constructor(data: RawSortieVariant, {
45
+ locale
46
+ }?: Dependency);
47
+ }
48
+ //#endregion
49
+ export { RawSortieVariant, SortieVariant };
@@ -0,0 +1,51 @@
1
+ import { insist, missionType, node, sortieModDesc, sortieModifier } from "warframe-worldstate-data/utilities";
2
+
3
+ //#region lib/models/SortieVariant.ts
4
+ /**
5
+ * Represents a sortie variant
6
+ * @class
7
+ */
8
+ var SortieVariant = class {
9
+ /**
10
+ * The variant's mission type
11
+ */
12
+ missionType;
13
+ /**
14
+ * The variant's mission type unlocalized
15
+ */
16
+ missionTypeKey;
17
+ /**
18
+ * The mission modifier
19
+ */
20
+ modifier;
21
+ /**
22
+ * The variant's modifier description
23
+ */
24
+ modifierDescription;
25
+ /**
26
+ * The node where the variant takes place
27
+ */
28
+ node;
29
+ /**
30
+ * The node where the variant takes place unlocalized
31
+ */
32
+ nodeKey;
33
+ /**
34
+ * Make the SortieVariant
35
+ * @param data Sortie variant data
36
+ * @param deps Dependencies
37
+ * @param deps.locale Locale to use for translations
38
+ */
39
+ constructor(data, { locale = "en" } = { locale: "en" }) {
40
+ insist({ ...data });
41
+ this.missionType = missionType(data.missionType, locale);
42
+ this.missionTypeKey = missionType(data.missionType, "en");
43
+ this.modifier = sortieModifier(data.modifierType, locale);
44
+ this.modifierDescription = sortieModDesc(data.modifierType, locale);
45
+ this.node = node(data.node, locale);
46
+ this.nodeKey = node(data.node, "en");
47
+ }
48
+ };
49
+
50
+ //#endregion
51
+ export { SortieVariant };
@@ -0,0 +1,85 @@
1
+ import { steelPath, timeDeltaToString } from "warframe-worldstate-data/utilities";
2
+
3
+ //#region lib/models/SteelPathOffering.ts
4
+ const monday = 1;
5
+ /**
6
+ * Gets the first day of the week
7
+ */
8
+ function getFirstDayOfWeek() {
9
+ const resultDate = /* @__PURE__ */ new Date();
10
+ /* istanbul ignore next */
11
+ const offset = resultDate.getUTCDay() === 0 ? 6 : resultDate.getUTCDay() - monday;
12
+ resultDate.setUTCDate(resultDate.getUTCDate() - offset);
13
+ resultDate.setUTCHours(0);
14
+ resultDate.setUTCMinutes(0);
15
+ resultDate.setUTCSeconds(0);
16
+ resultDate.setUTCMilliseconds(0);
17
+ return resultDate;
18
+ }
19
+ /**
20
+ * Get the last day of the week
21
+ */
22
+ function getLastDayOfWeek() {
23
+ const last = new Date(getFirstDayOfWeek());
24
+ last.setUTCDate(last.getUTCDate() + 6);
25
+ last.setUTCHours(23);
26
+ last.setUTCMinutes(59);
27
+ last.setUTCSeconds(59);
28
+ last.setUTCMilliseconds(0);
29
+ return last;
30
+ }
31
+ /**
32
+ * When was the start of the day
33
+ */
34
+ function getStartOfDay() {
35
+ const today = /* @__PURE__ */ new Date();
36
+ today.setUTCHours(0);
37
+ today.setUTCMinutes(0);
38
+ today.setUTCSeconds(0);
39
+ today.setUTCMilliseconds(0);
40
+ return today;
41
+ }
42
+ /**
43
+ * When was the end of the day
44
+ */
45
+ function getEndOfDay() {
46
+ const last = /* @__PURE__ */ new Date();
47
+ last.setUTCHours(23);
48
+ last.setUTCMinutes(59);
49
+ last.setUTCSeconds(59);
50
+ last.setUTCMilliseconds(0);
51
+ return last;
52
+ }
53
+ /**
54
+ * Start of Steel Path cycle calculations
55
+ */
56
+ const start = /* @__PURE__ */ new Date("2020-11-16T00:00:00.000Z");
57
+ var SteelPathOfferings = class {
58
+ currentReward;
59
+ activation;
60
+ expiry;
61
+ remaining;
62
+ rotation;
63
+ evergreens;
64
+ incursions;
65
+ constructor({ locale }) {
66
+ const sSinceStart = (Date.now() - start.getTime()) / 1e3;
67
+ const eightWeeks = 4838400;
68
+ const sevenDays = 604800;
69
+ const ind = Math.floor(sSinceStart % eightWeeks / sevenDays);
70
+ this.currentReward = steelPath(locale).rotation[ind];
71
+ this.activation = getFirstDayOfWeek();
72
+ this.expiry = getLastDayOfWeek();
73
+ this.remaining = timeDeltaToString(this.expiry.getTime() - Date.now());
74
+ this.rotation = steelPath(locale).rotation;
75
+ this.evergreens = steelPath(locale).evergreen;
76
+ this.incursions = {
77
+ id: `spi:${getStartOfDay().getTime()}`,
78
+ activation: getStartOfDay(),
79
+ expiry: getEndOfDay()
80
+ };
81
+ }
82
+ };
83
+
84
+ //#endregion
85
+ export { SteelPathOfferings };
@@ -0,0 +1,38 @@
1
+ import { Locale } from "warframe-worldstate-data";
2
+ import { SteelPathOffering } from "warframe-worldstate-data/types";
3
+
4
+ //#region lib/models/SteelPathOffering.d.ts
5
+
6
+ /**
7
+ * General data pertaining to incursions
8
+ */
9
+ interface Incursion {
10
+ /**
11
+ * Identifier for steel path incursion based on start of day.
12
+ */
13
+ id: string;
14
+ /**
15
+ * when the current incursions became active
16
+ */
17
+ activation: Date;
18
+ /**
19
+ * when the current incursions become inactive
20
+ */
21
+ expiry: Date;
22
+ }
23
+ declare class SteelPathOfferings {
24
+ currentReward: SteelPathOffering;
25
+ activation: Date;
26
+ expiry: Date;
27
+ remaining: string;
28
+ rotation: SteelPathOffering[];
29
+ evergreens: SteelPathOffering[];
30
+ incursions: Incursion;
31
+ constructor({
32
+ locale
33
+ }: {
34
+ locale: Locale;
35
+ });
36
+ }
37
+ //#endregion
38
+ export { Incursion, SteelPathOfferings };
@@ -0,0 +1,141 @@
1
+ import { WorldstateObject } from "./WorldstateObject-BSTYuZwm.js";
2
+ import { languageString } from "warframe-worldstate-data/utilities";
3
+
4
+ //#region lib/models/SyndicateJob.ts
5
+ const apiBase = process.env.API_BASE_URL || "https://api.warframestat.us";
6
+ const bountyRewardRegex = /(?:Tier([ABCDE])|Narmer)Table([ABC])Rewards/i;
7
+ const ghoulRewardRegex = /GhoulBountyTable([AB])Rewards/i;
8
+ /**
9
+ * Determine the level string for the bounty
10
+ */
11
+ const getLevelString = (job) => `${job.minEnemyLevel} - ${job.maxEnemyLevel}`;
12
+ const determineLocation = (i18n, raw, isVault) => {
13
+ const last = String(i18n).split("/").slice(-1)[0];
14
+ const bountyMatches = last.match(bountyRewardRegex);
15
+ const ghoulMatches = last.match(ghoulRewardRegex);
16
+ const isBounty = bountyMatches?.length;
17
+ const isGhoul = ghoulMatches?.length;
18
+ const isCetus = /eidolonjob/i.test(i18n);
19
+ const isVallis = /venusjob/i.test(i18n);
20
+ const isDeimos = /deimosmissionrewards/i.test(i18n);
21
+ const rotation = isBounty ? bountyMatches[2] : "";
22
+ const levelString = getLevelString(raw);
23
+ let location;
24
+ let levelClause;
25
+ if (isCetus) {
26
+ location = "Earth/Cetus ";
27
+ if (isGhoul) levelClause = `(Level ${levelString} Ghoul Bounty)`;
28
+ else levelClause = `(Level ${levelString} Cetus Bounty)`;
29
+ }
30
+ if (isVallis) {
31
+ location = "Venus/Orb Vallis ";
32
+ levelClause = `(Level ${levelString} Orb Vallis Bounty)`;
33
+ }
34
+ if (isDeimos) {
35
+ location = "Deimos/Cambion Drift ";
36
+ const variant = isVault ? "Isolation Vault" : "Cambion Drift Bounty";
37
+ levelClause = `(Level ${levelString} ${variant})`;
38
+ }
39
+ const locationWRot = `${location}${levelClause}, Rot ${rotation.length ? rotation : "A"}`;
40
+ return {
41
+ location,
42
+ locationWRot
43
+ };
44
+ };
45
+ const getBountyRewards = async (i18n, raw, isVault) => {
46
+ let location;
47
+ let locationWRot;
48
+ if (i18n.endsWith("PlagueStarTableRewards")) {
49
+ location = "plague star";
50
+ locationWRot = "Earth/Cetus (Level 15 - 25 Plague Star), Rot A";
51
+ }
52
+ if (!location || !locationWRot) ({location, locationWRot} = determineLocation(i18n, raw, isVault));
53
+ const url = `${apiBase}/drops/search/${encodeURIComponent(location)}?grouped_by=location`;
54
+ const reply = await fetch(url).then((res) => res.json()).catch(() => {});
55
+ const pool = reply?.[locationWRot];
56
+ if (!pool) return ["Pattern Mismatch. Results inaccurate."];
57
+ const results = pool.rewards;
58
+ if (results) return Array.from(new Set(results.map((result) => result.item)));
59
+ return [];
60
+ };
61
+ const FIFTY_MINUTES = 3e6;
62
+ /**
63
+ * Represents a syndicate daily mission
64
+ * @augments {WorldstateObject}
65
+ */
66
+ var SyndicateJob = class SyndicateJob extends WorldstateObject {
67
+ /**
68
+ * Array of strings describing rewards
69
+ */
70
+ rewardPool;
71
+ /**
72
+ * The type of job this is
73
+ */
74
+ type;
75
+ /**
76
+ * Array of enemy levels
77
+ */
78
+ enemyLevels;
79
+ /**
80
+ * Array of standing gains per stage of job
81
+ */
82
+ standingStages;
83
+ /**
84
+ * Minimum mastery required to participate
85
+ */
86
+ minMR;
87
+ /**
88
+ * Whether or not this is a Vault job.
89
+ * No indication for difference of normal vs arcana vaults.
90
+ */
91
+ isVault;
92
+ /**
93
+ * Corresponding chamber. Nullable
94
+ */
95
+ locationTag;
96
+ /**
97
+ * What time phase this bounty is bound to
98
+ */
99
+ timeBound;
100
+ /**
101
+ * Generate a job with async data (reward pool)
102
+ * @param data The syndicate mission data
103
+ * @param expiry The syndicate job expiration
104
+ * @param deps The dependencies object
105
+ * @returns The created SyndicateJob object with rewardPool
106
+ */
107
+ static async build(data, expiry, deps) {
108
+ const job = new SyndicateJob(data, expiry, deps);
109
+ job.rewardPool = await getBountyRewards(data.rewards, data, data.isVault);
110
+ return job;
111
+ }
112
+ /**
113
+ * Construct a job without async data (reward pool)
114
+ * @param data The syndicate mission data
115
+ * @param expiry The syndicate job expiration
116
+ * @param deps The dependencies object
117
+ * @param deps.locale Locale to use for translations
118
+ *
119
+ * This DOES NOT populate the reward pool
120
+ */
121
+ constructor(data, expiry, { locale } = { locale: "en" }) {
122
+ super({ _id: { $oid: data.JobCurrentVersion ? data.JobCurrentVersion.$oid : `${(data.jobType || "").split("/").slice(-1)[0]}${expiry.getTime()}` } });
123
+ this.rewardPool = [];
124
+ const chamber = ((data.locationTag || "").match(/[A-Z]+(?![a-z])|[A-Z]?[a-z]+|\d+/g) || []).join(" ");
125
+ this.type = data.isVault ? `Isolation Vault ${chamber}` : data.jobType ? languageString(data.jobType, locale) : void 0;
126
+ this.enemyLevels = [data.minEnemyLevel, data.maxEnemyLevel];
127
+ this.standingStages = data.xpAmounts;
128
+ this.minMR = data.masteryReq || 0;
129
+ this.isVault = data.isVault;
130
+ this.locationTag = data.locationTag;
131
+ this.expiry = expiry;
132
+ const jobType = data.jobType ?? "";
133
+ if (jobType.toLowerCase().includes("narmer")) if (jobType.toLowerCase().includes("eidolon")) {
134
+ this.timeBound = "day";
135
+ this.expiry = new Date(this.expiry.getTime() - FIFTY_MINUTES);
136
+ } else this.timeBound = "night";
137
+ }
138
+ };
139
+
140
+ //#endregion
141
+ export { SyndicateJob };
@@ -0,0 +1,76 @@
1
+ import { Dependency } from "./Dependency-DkOHLql6.js";
2
+ import { Identifier, WorldstateObject } from "./WorldstateObject-wfRTeGpm.js";
3
+
4
+ //#region lib/models/SyndicateJob.d.ts
5
+ interface RawSyndicateJob {
6
+ rewards: string;
7
+ isVault?: boolean;
8
+ JobCurrentVersion?: Identifier;
9
+ jobType?: string;
10
+ locationTag?: string;
11
+ minEnemyLevel: number;
12
+ maxEnemyLevel: number;
13
+ xpAmounts: number[];
14
+ masteryReq?: number;
15
+ }
16
+ /**
17
+ * Represents a syndicate daily mission
18
+ * @augments {WorldstateObject}
19
+ */
20
+ declare class SyndicateJob extends WorldstateObject {
21
+ /**
22
+ * Array of strings describing rewards
23
+ */
24
+ rewardPool: string[];
25
+ /**
26
+ * The type of job this is
27
+ */
28
+ type?: string;
29
+ /**
30
+ * Array of enemy levels
31
+ */
32
+ enemyLevels: number[];
33
+ /**
34
+ * Array of standing gains per stage of job
35
+ */
36
+ standingStages: number[];
37
+ /**
38
+ * Minimum mastery required to participate
39
+ */
40
+ minMR: number;
41
+ /**
42
+ * Whether or not this is a Vault job.
43
+ * No indication for difference of normal vs arcana vaults.
44
+ */
45
+ isVault?: boolean;
46
+ /**
47
+ * Corresponding chamber. Nullable
48
+ */
49
+ locationTag?: string;
50
+ /**
51
+ * What time phase this bounty is bound to
52
+ */
53
+ timeBound: string | undefined;
54
+ /**
55
+ * Generate a job with async data (reward pool)
56
+ * @param data The syndicate mission data
57
+ * @param expiry The syndicate job expiration
58
+ * @param deps The dependencies object
59
+ * @returns The created SyndicateJob object with rewardPool
60
+ */
61
+ static build(data: RawSyndicateJob, expiry: Date, deps: Dependency): Promise<SyndicateJob>;
62
+ /**
63
+ * Construct a job without async data (reward pool)
64
+ * @param data The syndicate mission data
65
+ * @param expiry The syndicate job expiration
66
+ * @param deps The dependencies object
67
+ * @param deps.locale Locale to use for translations
68
+ *
69
+ * This DOES NOT populate the reward pool
70
+ */
71
+ constructor(data: RawSyndicateJob, expiry: Date, {
72
+ locale
73
+ }?: Dependency);
74
+ }
75
+ //#endregion
76
+ export { RawSyndicateJob, SyndicateJob };
@@ -0,0 +1,66 @@
1
+ import { WorldstateObject } from "./WorldstateObject-BSTYuZwm.js";
2
+ import { SyndicateJob } from "./SyndicateJob-BK7OMLmv.js";
3
+ import { fromNow, node, syndicate, timeDeltaToString } from "warframe-worldstate-data/utilities";
4
+
5
+ //#region lib/models/SyndicateMission.ts
6
+ /**
7
+ * Represents a syndicate daily mission
8
+ * @augments {WorldstateObject}
9
+ */
10
+ var SyndicateMission = class SyndicateMission extends WorldstateObject {
11
+ /**
12
+ * The syndicate that is offering the mission
13
+ * @type {string}
14
+ */
15
+ syndicate;
16
+ /**
17
+ * The syndicate that is offering the mission
18
+ * @type {string}
19
+ */
20
+ syndicateKey;
21
+ /**
22
+ * The nodes on which the missions are taking place
23
+ * @type {Array.<string>}
24
+ */
25
+ nodes;
26
+ /**
27
+ * The jobs for this syndicate. Will normally be []
28
+ * @type {Array.<SyndicateJob>}
29
+ */
30
+ jobs;
31
+ /**
32
+ * Build a new SyndicateMission with async operations & data
33
+ * @param data The syndicate mission data
34
+ * @param deps The dependencies object
35
+ * @param deps.locale Locale to use for translations
36
+ * @returns SyndicateMission object w/ async resolution of jobs
37
+ */
38
+ static async build(data, deps = { locale: "en" }) {
39
+ const syndicateMission = new SyndicateMission(data, deps);
40
+ if (data.Jobs?.length) syndicateMission.jobs = await Promise.all(data.Jobs.map((job) => SyndicateJob.build(job, syndicateMission.expiry, deps)));
41
+ else syndicateMission.jobs = [];
42
+ return syndicateMission;
43
+ }
44
+ /**
45
+ * @param data The syndicate mission data
46
+ * @param deps The dependencies object
47
+ * @param deps.locale Locale to use for translations
48
+ */
49
+ constructor(data, { locale = "en" } = { locale: "en" }) {
50
+ super(data);
51
+ this.syndicate = syndicate(data.Tag, locale);
52
+ this.syndicateKey = syndicate(data.Tag, "en");
53
+ this.nodes = data.Nodes.map((n) => node(n, locale));
54
+ this.jobs = [];
55
+ this.id = `${this.expiry.getTime()}${data.Tag}`;
56
+ }
57
+ /**
58
+ * Time delta string from now to the expiry
59
+ */
60
+ get eta() {
61
+ return timeDeltaToString(fromNow(this.expiry));
62
+ }
63
+ };
64
+
65
+ //#endregion
66
+ export { SyndicateMission };
@@ -0,0 +1,58 @@
1
+ import { Dependency } from "./Dependency-DkOHLql6.js";
2
+ import { BaseContentObject, WorldstateObject } from "./WorldstateObject-wfRTeGpm.js";
3
+ import { RawSyndicateJob, SyndicateJob } from "./SyndicateJob-DOtXWjRF.js";
4
+
5
+ //#region lib/models/SyndicateMission.d.ts
6
+ interface RawSyndicateMission extends BaseContentObject {
7
+ Tag: string;
8
+ Nodes: string[];
9
+ Jobs: RawSyndicateJob[];
10
+ }
11
+ /**
12
+ * Represents a syndicate daily mission
13
+ * @augments {WorldstateObject}
14
+ */
15
+ declare class SyndicateMission extends WorldstateObject {
16
+ /**
17
+ * The syndicate that is offering the mission
18
+ * @type {string}
19
+ */
20
+ syndicate: string;
21
+ /**
22
+ * The syndicate that is offering the mission
23
+ * @type {string}
24
+ */
25
+ syndicateKey: string;
26
+ /**
27
+ * The nodes on which the missions are taking place
28
+ * @type {Array.<string>}
29
+ */
30
+ nodes: string[];
31
+ /**
32
+ * The jobs for this syndicate. Will normally be []
33
+ * @type {Array.<SyndicateJob>}
34
+ */
35
+ jobs: SyndicateJob[];
36
+ /**
37
+ * Build a new SyndicateMission with async operations & data
38
+ * @param data The syndicate mission data
39
+ * @param deps The dependencies object
40
+ * @param deps.locale Locale to use for translations
41
+ * @returns SyndicateMission object w/ async resolution of jobs
42
+ */
43
+ static build(data: RawSyndicateMission, deps?: Dependency): Promise<SyndicateMission>;
44
+ /**
45
+ * @param data The syndicate mission data
46
+ * @param deps The dependencies object
47
+ * @param deps.locale Locale to use for translations
48
+ */
49
+ constructor(data: RawSyndicateMission, {
50
+ locale
51
+ }?: Dependency);
52
+ /**
53
+ * Time delta string from now to the expiry
54
+ */
55
+ get eta(): string;
56
+ }
57
+ //#endregion
58
+ export { RawSyndicateMission, SyndicateMission };
@@ -0,0 +1,21 @@
1
+ import { Archimedea } from "./Archidemea-C0EMRUKc.js";
2
+ import { Kinepage } from "./Kinepage-iWFwTZtr.js";
3
+ import { SentientOutpost } from "./SentientOutpost-B2KZUJ7H.js";
4
+
5
+ //#region lib/Tmp.ts
6
+ var Tmp = class {
7
+ sentientOutposts;
8
+ kinepage;
9
+ deepArchimedea;
10
+ temporalArchimedea;
11
+ constructor(json, deps = { locale: "en" }) {
12
+ const tmp = JSON.parse(json);
13
+ this.sentientOutposts = new SentientOutpost(tmp.sfn, deps);
14
+ this.kinepage = new Kinepage(tmp.pgr, deps.locale);
15
+ if (tmp.lqo) this.deepArchimedea = new Archimedea(tmp.lqo, deps.locale);
16
+ if (tmp.hqo) this.temporalArchimedea = new Archimedea(tmp.hqo, deps.locale);
17
+ }
18
+ };
19
+
20
+ //#endregion
21
+ export { Tmp };
@@ -0,0 +1,76 @@
1
+ import { WorldstateObject } from "./WorldstateObject-BSTYuZwm.js";
2
+ import { fromNow, timeDeltaToString } from "warframe-worldstate-data/utilities";
3
+
4
+ //#region lib/models/VallisCycle.ts
5
+ const lStart = /* @__PURE__ */ new Date("November 10, 2018 08:13:48 UTC");
6
+ const loopTime = 16e5;
7
+ const warmTime = 4e5;
8
+ const coldTime = loopTime - warmTime;
9
+ /**
10
+ * Get the current cycle state for Orb Vallis
11
+ * @returns current cycle state
12
+ */
13
+ function getCurrentCycle() {
14
+ const sinceLast = (Date.now() - lStart.getMilliseconds()) % loopTime;
15
+ const toNextFull = loopTime - sinceLast;
16
+ let state = "cold";
17
+ if (toNextFull > coldTime) state = "warm";
18
+ let toNextMinor;
19
+ if (toNextFull < coldTime) toNextMinor = toNextFull;
20
+ else toNextMinor = toNextFull - coldTime;
21
+ const milliAtNext = Date.now() + toNextMinor;
22
+ const milliAtPrev = Date.now() + toNextFull - (state === "warm" ? loopTime : coldTime);
23
+ const timeAtPrevious = new Date(milliAtPrev);
24
+ timeAtPrevious.setSeconds(0);
25
+ return {
26
+ state,
27
+ toNextMinor,
28
+ toNextFull,
29
+ timeAtNext: new Date(milliAtNext),
30
+ timeAtPrevious
31
+ };
32
+ }
33
+ /**
34
+ * Represents the current Earth Day/Night Cycle
35
+ * @augments {WorldstateObject}
36
+ */
37
+ var VallisCycle = class extends WorldstateObject {
38
+ /**
39
+ * Whether or not this it's daytime
40
+ */
41
+ isWarm;
42
+ /**
43
+ * Current cycle state. One of `warm`, `cold`
44
+ */
45
+ state;
46
+ /**
47
+ * The current cetus cycle, for calculating the other fields
48
+ */
49
+ #ec = getCurrentCycle();
50
+ constructor() {
51
+ super({ _id: { $oid: "vallisCycle0" } });
52
+ this.id = `vallisCycle${this.#ec.timeAtPrevious.getTime()}`;
53
+ this.activation = this.#ec.timeAtPrevious;
54
+ this.expiry = this.#ec.timeAtNext;
55
+ this.isWarm = this.#ec.state === "warm";
56
+ this.state = this.#ec.state;
57
+ }
58
+ /**
59
+ * Whether this event has expired
60
+ */
61
+ get expired() {
62
+ return fromNow(this.expiry) < 0;
63
+ }
64
+ /**
65
+ * Time remaining string
66
+ */
67
+ get timeLeft() {
68
+ return timeDeltaToString(this.#ec.toNextMinor);
69
+ }
70
+ get shortString() {
71
+ return `${this.timeLeft.replace(/\s\d*s/gi, "")} to ${this.isWarm ? "Cold" : "Warm"}`;
72
+ }
73
+ };
74
+
75
+ //#endregion
76
+ export { VallisCycle };
@@ -0,0 +1,31 @@
1
+ import { WorldstateObject } from "./WorldstateObject-wfRTeGpm.js";
2
+
3
+ //#region lib/models/VallisCycle.d.ts
4
+
5
+ /**
6
+ * Represents the current Earth Day/Night Cycle
7
+ * @augments {WorldstateObject}
8
+ */
9
+ declare class VallisCycle extends WorldstateObject {
10
+ #private;
11
+ /**
12
+ * Whether or not this it's daytime
13
+ */
14
+ isWarm: boolean;
15
+ /**
16
+ * Current cycle state. One of `warm`, `cold`
17
+ */
18
+ state: string;
19
+ constructor();
20
+ /**
21
+ * Whether this event has expired
22
+ */
23
+ get expired(): boolean;
24
+ /**
25
+ * Time remaining string
26
+ */
27
+ get timeLeft(): string;
28
+ get shortString(): string;
29
+ }
30
+ //#endregion
31
+ export { VallisCycle };