warframe-worldstate-parser 5.2.12 → 5.2.14
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.
- package/dist/{Alert-DdertJK5.mjs → Alert-Ccyxuldo.mjs} +4 -4
- package/dist/{Archidemea-6_LmmSCn.mjs → Archimedea-MT79fX4N.mjs} +3 -3
- package/dist/{Calendar-bmnOPyG8.d.mts → Calendar-BVfnZcTO.d.mts} +2 -2
- package/dist/{Calendar-BIT29qag.mjs → Calendar-D2zXOqHk.mjs} +2 -2
- package/dist/{CambionCycle-zr8UYAii.mjs → CambionCycle-CtOGMFLX.mjs} +3 -3
- package/dist/{CambionCycle-BqqaE-K-.d.mts → CambionCycle-yM3kRJ6o.d.mts} +4 -4
- package/dist/{CetusCycle-DduQI2fw.mjs → CetusCycle-BapW947t.mjs} +3 -3
- package/dist/{CetusCycle-eDOf8_NN.d.mts → CetusCycle-D6Q5OhkS.d.mts} +3 -3
- package/dist/{ConclaveChallenge-CXZ5q0ym.mjs → ConclaveChallenge-BqKAuCTT.mjs} +3 -3
- package/dist/{ConstructionProgress-Y5M4kY6i.d.mts → ConstructionProgress-B2ihYAWM.d.mts} +3 -3
- package/dist/{ConstructionProgress-hOBhqNeN.mjs → ConstructionProgress-C0zBCrEM.mjs} +3 -3
- package/dist/{DailyDeal-B_-51xgg.mjs → DailyDeal-Bg0amN6J.mjs} +2 -2
- package/dist/{DarkSector-DiE6QETB.mjs → DarkSector-8wPNWuFP.mjs} +5 -5
- package/dist/{DarkSectorBattle-Dv8NzJV7.d.mts → DarkSectorBattle-DssudFiO.d.mts} +1 -1
- package/dist/Dependency-DvuPTTK9.mjs +1 -0
- package/dist/{Dependency-CNDia70k.d.mts → Dependency-XUV01ffF.d.mts} +1 -1
- package/dist/{DuviriChoice-CDdk3VSm.mjs → DuviriChoice-DV4-9YID.mjs} +4 -1
- package/dist/{DuviriCycle-B450OsF9.mjs → DuviriCycle-DZbe-zrM.mjs} +4 -4
- package/dist/{EarthCycle-IzR2qmA5.mjs → EarthCycle-BnN2Xl9g.mjs} +3 -3
- package/dist/{EarthCycle-COO7wlLW.d.mts → EarthCycle-D-4SVBf_.d.mts} +3 -3
- package/dist/ExternalMission-Be-3jTxK.mjs +1 -0
- package/dist/FetchProxy-BjfmTCj7.d.mts +10 -0
- package/dist/{FetchProxy-DTHjN-NQ.mjs → FetchProxy-TCdGknYu.mjs} +3 -3
- package/dist/{Fissure-DJYjBf1K.mjs → Fissure-BoZQVEF9.mjs} +3 -3
- package/dist/{FlashSale-CQQ51ZyI.mjs → FlashSale-DmwnZtWc.mjs} +2 -2
- package/dist/{GlobalUpgrade-CECXB3Yf.mjs → GlobalUpgrade-qtE-SaGP.mjs} +2 -2
- package/dist/ImgCdn-CXfqq7vV.d.mts +6 -0
- package/dist/{Invasion-e0UPwE-J.mjs → Invasion-D0BFYPUI.mjs} +3 -3
- package/dist/{KuvaLogEntry-CZ94k8nV.d.mts → KuvaLogEntry-D58IjMvQ.d.mts} +3 -3
- package/dist/KuvaLogEntry-wUb9IOIj.mjs +1 -0
- package/dist/MidrathCycle-DqyVY2Wf.mjs +68 -0
- package/dist/MidrathCycle-hKjEvfm4.d.mts +25 -0
- package/dist/{Mission-BBCUFfnN.mjs → Mission-4n_i7W8j.mjs} +1 -1
- package/dist/{News-DZVYtsd3.mjs → News-DM9GFMMz.mjs} +4 -4
- package/dist/{News-BAIxF_MP.d.mts → News-DrNtDW5I.d.mts} +3 -3
- package/dist/{Nightwave-sW1Cry-L.mjs → Nightwave-DqLM-MSj.mjs} +5 -5
- package/dist/{Nightwave-cYL4PyAv.d.mts → Nightwave-DrZSdWDz.d.mts} +5 -5
- package/dist/{NightwaveChallenge-D6Tr17Yw.d.mts → NightwaveChallenge-D7AsQ5ex.d.mts} +3 -3
- package/dist/{NightwaveChallenge-BjTpO8Mh.mjs → NightwaveChallenge-iPlf04Gb.mjs} +3 -3
- package/dist/{PersistentEnemy-DBPQGf3A.d.mts → PersistentEnemy-B81sr9O4.d.mts} +3 -3
- package/dist/{PersistentEnemy-BogypbtV.mjs → PersistentEnemy-CvWvgrmu.mjs} +3 -3
- package/dist/{Reward-CjwLb2gj.mjs → Reward-DhCSvJkg.mjs} +1 -1
- package/dist/RewardData-CxzLqb9k.d.mts +11 -0
- package/dist/{RewardTypes-C6zFAcZ1.mjs → RewardTypes-C9mdyWtP.mjs} +2 -2
- package/dist/{Sortie-BWrQosyz.mjs → Sortie-BH6D31pZ.mjs} +5 -5
- package/dist/{SyndicateJob-BdKRf7qq.mjs → SyndicateJob-Vxg8T9Sf.mjs} +6 -6
- package/dist/{SyndicateMission-Dif5Lp-C.mjs → SyndicateMission-R1kv29yd.mjs} +4 -4
- package/dist/{Tmp-DuhaXk2g.mjs → Tmp-DjsDBCOw.mjs} +3 -3
- package/dist/{VallisCycle-BUg8cwKo.mjs → VallisCycle-D03Vz9pB.mjs} +3 -3
- package/dist/{VallisCycle-Do8kWk0_.d.mts → VallisCycle-DpU7YoeY.d.mts} +3 -3
- package/dist/{VoidTrader-6aBnhs9P.mjs → VoidTrader-Dhv3-c_H.mjs} +5 -5
- package/dist/{WeeklyChallenge-BNlgGlbI.mjs → WeeklyChallenge-CZyrIreL.mjs} +4 -4
- package/dist/{WorldEvent-D5RguRlU.mjs → WorldEvent-DIlV4p7s.mjs} +6 -6
- package/dist/{WorldstateObject-D9aUaGek.d.mts → WorldStateObject-HVH8YH1P.d.mts} +6 -6
- package/dist/{WorldstateObject-CIQkveJ1.mjs → WorldStateObject-iHgm5OJw.mjs} +6 -6
- package/dist/{ZarimanCycle-Cq3E8Dp2.mjs → ZarimanCycle-C1UCndAe.mjs} +3 -3
- package/dist/{ZarimanCycle-BCxG1i_j.d.mts → ZarimanCycle-DjqKRzjh.d.mts} +3 -3
- package/dist/index-Coq_3Ei-.d.mts +1673 -0
- package/dist/lib/WorldState.d.mts +250 -41
- package/dist/lib/WorldState.mjs +350 -43
- package/dist/lib/models/Alert.d.mts +18 -6
- package/dist/lib/models/Alert.mjs +6 -6
- package/dist/lib/models/Archimedea.d.mts +18 -0
- package/dist/lib/models/Archimedea.mjs +4 -0
- package/dist/lib/models/Calendar.d.mts +3 -3
- package/dist/lib/models/Calendar.mjs +3 -3
- package/dist/lib/models/CambionCycle.d.mts +4 -4
- package/dist/lib/models/CambionCycle.mjs +3 -3
- package/dist/lib/models/CetusCycle.d.mts +3 -3
- package/dist/lib/models/CetusCycle.mjs +3 -3
- package/dist/lib/models/ChallengeInstance.d.mts +18 -3
- package/dist/lib/models/ChallengeInstance.mjs +2 -2
- package/dist/lib/models/ConclaveChallenge.d.mts +18 -4
- package/dist/lib/models/ConclaveChallenge.mjs +3 -3
- package/dist/lib/models/ConstructionProgress.d.mts +3 -3
- package/dist/lib/models/ConstructionProgress.mjs +3 -3
- package/dist/lib/models/DailyDeal.d.mts +18 -4
- package/dist/lib/models/DailyDeal.mjs +3 -3
- package/dist/lib/models/DarkSector.d.mts +18 -7
- package/dist/lib/models/DarkSector.mjs +7 -7
- package/dist/lib/models/DarkSectorBattle.d.mts +3 -3
- package/dist/lib/models/DarkSectorBattle.mjs +2 -2
- package/dist/lib/models/DuviriCycle.d.mts +18 -4
- package/dist/lib/models/DuviriCycle.mjs +3 -3
- package/dist/lib/models/EarthCycle.d.mts +3 -3
- package/dist/lib/models/EarthCycle.mjs +3 -3
- package/dist/lib/models/Fissure.d.mts +18 -4
- package/dist/lib/models/Fissure.mjs +3 -3
- package/dist/lib/models/FlashSale.d.mts +18 -4
- package/dist/lib/models/FlashSale.mjs +3 -3
- package/dist/lib/models/GlobalUpgrade.d.mts +18 -4
- package/dist/lib/models/GlobalUpgrade.mjs +3 -3
- package/dist/lib/models/Invasion.d.mts +18 -5
- package/dist/lib/models/Invasion.mjs +5 -5
- package/dist/lib/models/Kinepage.d.mts +2 -2
- package/dist/lib/models/Kinepage.mjs +2 -2
- package/dist/lib/models/Kuva.d.mts +18 -21
- package/dist/lib/models/Kuva.mjs +2 -2
- package/dist/lib/models/MidrathCycle.d.mts +3 -25
- package/dist/lib/models/MidrathCycle.mjs +3 -67
- package/dist/lib/models/Mission.d.mts +18 -4
- package/dist/lib/models/Mission.mjs +4 -4
- package/dist/lib/models/News.d.mts +3 -3
- package/dist/lib/models/News.mjs +3 -3
- package/dist/lib/models/Nightwave.d.mts +4 -4
- package/dist/lib/models/Nightwave.mjs +4 -4
- package/dist/lib/models/NightwaveChallenge.d.mts +3 -3
- package/dist/lib/models/NightwaveChallenge.mjs +3 -3
- package/dist/lib/models/PersistentEnemy.d.mts +3 -3
- package/dist/lib/models/PersistentEnemy.mjs +3 -3
- package/dist/lib/models/Reward.d.mts +18 -3
- package/dist/lib/models/Reward.mjs +3 -3
- package/dist/lib/models/SentientOutpost.d.mts +18 -3
- package/dist/lib/models/SentientOutpost.mjs +2 -2
- package/dist/lib/models/Simaris.d.mts +18 -3
- package/dist/lib/models/Simaris.mjs +2 -2
- package/dist/lib/models/Sortie.d.mts +18 -7
- package/dist/lib/models/Sortie.mjs +7 -7
- package/dist/lib/models/SortieVariant.d.mts +18 -3
- package/dist/lib/models/SortieVariant.mjs +2 -2
- package/dist/lib/models/SteelPathOffering.d.mts +2 -2
- package/dist/lib/models/SteelPathOffering.mjs +2 -2
- package/dist/lib/models/SyndicateJob.d.mts +18 -4
- package/dist/lib/models/SyndicateJob.mjs +6 -4
- package/dist/lib/models/SyndicateMission.d.mts +18 -5
- package/dist/lib/models/SyndicateMission.mjs +7 -5
- package/dist/lib/models/Tmp.d.mts +18 -0
- package/dist/lib/models/Tmp.mjs +4 -0
- package/dist/lib/models/VallisCycle.d.mts +3 -3
- package/dist/lib/models/VallisCycle.mjs +3 -3
- package/dist/lib/models/VoidTrader.d.mts +18 -6
- package/dist/lib/models/VoidTrader.mjs +5 -5
- package/dist/lib/models/VoidTraderItem.d.mts +18 -3
- package/dist/lib/models/VoidTraderItem.mjs +2 -2
- package/dist/lib/models/VoidTraderSchedule.d.mts +18 -3
- package/dist/lib/models/VoidTraderSchedule.mjs +2 -2
- package/dist/lib/models/WeeklyChallenge.d.mts +18 -5
- package/dist/lib/models/WeeklyChallenge.mjs +4 -4
- package/dist/lib/models/WorldEvent.d.mts +18 -6
- package/dist/lib/models/WorldEvent.mjs +8 -7
- package/dist/lib/models/WorldStateObject.d.mts +2 -0
- package/dist/lib/models/WorldStateObject.mjs +3 -0
- package/dist/lib/models/ZarimanCycle.d.mts +3 -3
- package/dist/lib/models/ZarimanCycle.mjs +3 -3
- package/dist/lib/models/index.d.mts +19 -0
- package/dist/lib/models/index.mjs +47 -0
- package/dist/lib/supporting/Dependency.d.mts +2 -2
- package/dist/lib/supporting/DuviriChoice.d.mts +18 -3
- package/dist/lib/supporting/DuviriChoice.mjs +2 -2
- package/dist/lib/supporting/ExternalMission.d.mts +2 -2
- package/dist/lib/supporting/FetchProxy.d.mts +2 -10
- package/dist/lib/supporting/FetchProxy.mjs +2 -2
- package/dist/lib/supporting/ImgCdn.d.mts +1 -5
- package/dist/lib/supporting/ImgCdn.mjs +1 -1
- package/dist/lib/supporting/KuvaLogEntry.d.mts +1 -1
- package/dist/lib/supporting/RewardData.d.mts +1 -10
- package/dist/lib/supporting/RewardData.mjs +1 -1
- package/dist/lib/supporting/RewardTypes.d.mts +1 -1
- package/dist/lib/supporting/RewardTypes.mjs +1 -1
- package/dist/lib/supporting/index.d.mts +24 -0
- package/dist/lib/supporting/index.mjs +8 -0
- package/dist/main.d.mts +26 -42
- package/dist/main.mjs +51 -44
- package/dist/supporting-2nt4XfjJ.mjs +1 -0
- package/package.json +3 -3
- package/dist/Alert-DmPDiTMU.d.mts +0 -45
- package/dist/Archidemea-D87NgPnh.d.mts +0 -89
- package/dist/ChallengeInstance-DB56npsp.d.mts +0 -53
- package/dist/ConclaveChallenge-B4zjsE6H.d.mts +0 -76
- package/dist/DailyDeal-YPfZAtZm.d.mts +0 -66
- package/dist/DarkSector-BgUzu7ji.d.mts +0 -142
- package/dist/DuviriChoice-Dzw114Vc.d.mts +0 -18
- package/dist/DuviriCycle-RSsB4KI3.d.mts +0 -25
- package/dist/Fissure-DMHOvKp4.d.mts +0 -78
- package/dist/FlashSale-BlLg7pGm.d.mts +0 -71
- package/dist/GlobalUpgrade-8xZ7QLIe.d.mts +0 -55
- package/dist/Invasion-CmYbho4F.d.mts +0 -113
- package/dist/Mission-EUB_O6c1.d.mts +0 -138
- package/dist/Reward-CtK9c0sX.d.mts +0 -68
- package/dist/SentientOutpost-uqJtS--v.d.mts +0 -47
- package/dist/Simaris-owdTviJJ.d.mts +0 -37
- package/dist/Sortie-D6nJhiyi.d.mts +0 -60
- package/dist/SortieVariant-1fo_ZNCj.d.mts +0 -49
- package/dist/SyndicateJob-nU_LYWIG.d.mts +0 -92
- package/dist/SyndicateMission-DKjOQMTr.d.mts +0 -58
- package/dist/VoidTrader-LuPERTUa.d.mts +0 -76
- package/dist/VoidTraderItem-83an95lh.d.mts +0 -43
- package/dist/VoidTraderSchedule-DYRSLebw.d.mts +0 -16
- package/dist/WeeklyChallenge-C2oTkgtR.d.mts +0 -20
- package/dist/WorldEvent-DoHnEWZL.d.mts +0 -205
- package/dist/WorldState-CBf4G0xk.d.mts +0 -268
- package/dist/WorldState-D6TgRJLd.mjs +0 -336
- package/dist/lib/Tmp.d.mts +0 -34
- package/dist/lib/Tmp.mjs +0 -4
- package/dist/lib/models/Archidemea.d.mts +0 -4
- package/dist/lib/models/Archidemea.mjs +0 -4
- package/dist/lib/models/WorldstateObject.d.mts +0 -2
- package/dist/lib/models/WorldstateObject.mjs +0 -3
- /package/dist/{ChallengeInstance-DjZAJQQG.mjs → ChallengeInstance-DygjwvEF.mjs} +0 -0
- /package/dist/{DarkSectorBattle-DEqEgOOi.mjs → DarkSectorBattle-D8UJUdh9.mjs} +0 -0
- /package/dist/{ExternalMission-Do2VcpoL.d.mts → ExternalMission-jOcIvvoD.d.mts} +0 -0
- /package/dist/{ImgCdn-DccBIUuf.mjs → ImgCdn-DwNJEJ5E.mjs} +0 -0
- /package/dist/{Kinepage-B5KWyc4P.d.mts → Kinepage-DDd48L3V.d.mts} +0 -0
- /package/dist/{Kinepage-CRA80WnO.mjs → Kinepage-bk44D3NM.mjs} +0 -0
- /package/dist/{Kuva-CPoswpEP.mjs → Kuva-zzcdntDZ.mjs} +0 -0
- /package/dist/{RewardData-nEchYwsN.mjs → RewardData-Cn2YQn9p.mjs} +0 -0
- /package/dist/{RewardTypes-BjS_ZS-W.d.mts → RewardTypes-gG75RYbQ.d.mts} +0 -0
- /package/dist/{SentientOutpost-D8iqaZqS.mjs → SentientOutpost-CgPBpuXR.mjs} +0 -0
- /package/dist/{Simaris-Dpbxjfex.mjs → Simaris-BgkOf90G.mjs} +0 -0
- /package/dist/{SortieVariant-CULYYgY1.mjs → SortieVariant-DD0mRbCN.mjs} +0 -0
- /package/dist/{SteelPathOffering-hc8I6jT8.mjs → SteelPathOffering-DcPYvPOo.mjs} +0 -0
- /package/dist/{SteelPathOffering-BpsSBlnS.d.mts → SteelPathOffering-DuyzIIbw.d.mts} +0 -0
- /package/dist/{VoidTraderItem-B0waOIHJ.mjs → VoidTraderItem-D-gayDfb.mjs} +0 -0
- /package/dist/{VoidTraderSchedule-CK_ciC_O.mjs → VoidTraderSchedule-DNcJIJFz.mjs} +0 -0
|
@@ -1,42 +1,251 @@
|
|
|
1
|
-
import "../Dependency-
|
|
2
|
-
import "../
|
|
3
|
-
import "../
|
|
4
|
-
import "../
|
|
5
|
-
import "../
|
|
6
|
-
import "../
|
|
7
|
-
import "../
|
|
8
|
-
import "../
|
|
9
|
-
import "../
|
|
10
|
-
import "../
|
|
11
|
-
import "../
|
|
12
|
-
import "../
|
|
13
|
-
import "../
|
|
14
|
-
import "../
|
|
15
|
-
import "../
|
|
16
|
-
import "../
|
|
17
|
-
import "../
|
|
18
|
-
import "../
|
|
19
|
-
import "../
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
1
|
+
import { t as Dependency } from "../Dependency-XUV01ffF.mjs";
|
|
2
|
+
import { $ as RawAlert, D as SentientOutpost, F as RawFlashSale, G as RawChallenge, H as DailyDeal, I as Fissure, J as Archimedea, L as RawFissure, M as GlobalUpgrade, N as RawGlobalUpgrade, P as FlashSale, Q as Alert, R as DuviriCycle, T as Simaris, U as RawDailyDeal, V as RawDarkSector, W as ConclaveChallenge, Z as RawArchimedea, a as WorldEvent, b as RawSortie, c as RawVoidTrader, g as SyndicateMission, h as RawSyndicateMission, i as RawWorldEvent, j as RawInvasion, k as Invasion, l as VoidTrader, o as RawWeeklyChallenge, s as WeeklyChallenge, st as RawChoice, w as LibraryInfo, x as Sortie, z as DarkSector } from "../index-Coq_3Ei-.mjs";
|
|
3
|
+
import { t as ExternalMission } from "../ExternalMission-jOcIvvoD.mjs";
|
|
4
|
+
import { r as WorldStateObject, t as BaseContentObject } from "../WorldStateObject-HVH8YH1P.mjs";
|
|
5
|
+
import { r as RawCalender, t as Calendar } from "../Calendar-BVfnZcTO.mjs";
|
|
6
|
+
import { t as CetusCycle } from "../CetusCycle-D6Q5OhkS.mjs";
|
|
7
|
+
import { t as CambionCycle } from "../CambionCycle-yM3kRJ6o.mjs";
|
|
8
|
+
import { t as ConstructionProgress } from "../ConstructionProgress-B2ihYAWM.mjs";
|
|
9
|
+
import "../DarkSectorBattle-DssudFiO.mjs";
|
|
10
|
+
import { t as EarthCycle } from "../EarthCycle-D-4SVBf_.mjs";
|
|
11
|
+
import { t as Kinepage } from "../Kinepage-DDd48L3V.mjs";
|
|
12
|
+
import "../MidrathCycle-hKjEvfm4.mjs";
|
|
13
|
+
import { n as RawNews, t as News } from "../News-DrNtDW5I.mjs";
|
|
14
|
+
import "../NightwaveChallenge-D7AsQ5ex.mjs";
|
|
15
|
+
import { n as RawNightwave, t as Nightwave } from "../Nightwave-DrZSdWDz.mjs";
|
|
16
|
+
import { n as RawPersistentEnemy, t as PersistentEnemy } from "../PersistentEnemy-B81sr9O4.mjs";
|
|
17
|
+
import { n as SteelPathOfferings } from "../SteelPathOffering-DuyzIIbw.mjs";
|
|
18
|
+
import { t as VallisCycle } from "../VallisCycle-DpU7YoeY.mjs";
|
|
19
|
+
import { n as ZarimanCycle } from "../ZarimanCycle-DjqKRzjh.mjs";
|
|
20
|
+
|
|
21
|
+
//#region lib/WorldState.d.ts
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* @param ParserClass class for parsing data
|
|
25
|
+
* @param dataArray array of raw data
|
|
26
|
+
* @param deps shared dependency object
|
|
27
|
+
* @param uniqueField field to treat as unique
|
|
28
|
+
* @returns array of parsed objects
|
|
29
|
+
*/
|
|
30
|
+
declare function parseArray<T, D extends BaseContentObject>(ParserClass: new (data: D, deps: Dependency) => T, dataArray: Array<D>, deps: Dependency, uniqueField?: keyof T): T[];
|
|
31
|
+
/**
|
|
32
|
+
* Parse array of objects that requires async parsing
|
|
33
|
+
* @param ParserClass class for parsing data - must expose a static build method
|
|
34
|
+
* @param dataArray array of raw data
|
|
35
|
+
* @param deps shared dependency object
|
|
36
|
+
* @param uniqueField field to treat as unique
|
|
37
|
+
* @returns array of parsed objects
|
|
38
|
+
*/
|
|
39
|
+
declare function parseAsyncArray<T extends WorldStateObject, D extends BaseContentObject>(ParserClass: {
|
|
40
|
+
build: (data: D, deps: Dependency) => Promise<T>;
|
|
41
|
+
}, dataArray: Array<D>, deps: Dependency, uniqueField?: keyof T): Promise<T[]>;
|
|
42
|
+
interface InitialWorldState {
|
|
43
|
+
Time: number;
|
|
44
|
+
BuildLabel: string;
|
|
45
|
+
Events: RawNews[];
|
|
46
|
+
Goals: RawWorldEvent[];
|
|
47
|
+
Alerts: RawAlert[];
|
|
48
|
+
Sorties: RawSortie[];
|
|
49
|
+
LiteSorties: RawSortie[];
|
|
50
|
+
SyndicateMissions: RawSyndicateMission[];
|
|
51
|
+
ActiveMissions: RawFissure[];
|
|
52
|
+
VoidStorms: RawFissure[];
|
|
53
|
+
GlobalUpgrades: RawGlobalUpgrade[];
|
|
54
|
+
FlashSales: RawFlashSale[];
|
|
55
|
+
Invasions: RawInvasion[];
|
|
56
|
+
BadlandNodes: RawDarkSector[];
|
|
57
|
+
VoidTraders: RawVoidTrader[];
|
|
58
|
+
DailyDeals: RawDailyDeal[];
|
|
59
|
+
LibraryInfo?: LibraryInfo;
|
|
60
|
+
PVPChallengeInstances: RawChallenge[];
|
|
61
|
+
PersistentEnemies: RawPersistentEnemy[];
|
|
62
|
+
WeeklyChallenges?: RawWeeklyChallenge;
|
|
63
|
+
ProjectPct: number[];
|
|
64
|
+
SeasonInfo: RawNightwave;
|
|
65
|
+
PrimeVaultTraders: RawVoidTrader[];
|
|
66
|
+
EndlessXpChoices: RawChoice[];
|
|
67
|
+
KnownCalendarSeasons: RawCalender[];
|
|
68
|
+
Conquests: RawArchimedea[];
|
|
69
|
+
Tmp: string;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Parses Warframe Worldstate JSON
|
|
73
|
+
*/
|
|
74
|
+
declare class WorldState {
|
|
75
|
+
/**
|
|
76
|
+
* The date and time at which the World State was generated
|
|
77
|
+
*/
|
|
78
|
+
timestamp: Date;
|
|
79
|
+
/**
|
|
80
|
+
* Current Warframe version
|
|
81
|
+
*/
|
|
82
|
+
buildLabel: string;
|
|
83
|
+
/**
|
|
84
|
+
* The in-game news
|
|
85
|
+
*/
|
|
86
|
+
news: News[];
|
|
87
|
+
/**
|
|
88
|
+
* The current events
|
|
89
|
+
*/
|
|
90
|
+
events: WorldEvent[];
|
|
91
|
+
/**
|
|
92
|
+
* The current alerts
|
|
93
|
+
*/
|
|
94
|
+
alerts: Alert[];
|
|
95
|
+
/**
|
|
96
|
+
* The current sortie
|
|
97
|
+
*/
|
|
98
|
+
sortie: Sortie;
|
|
99
|
+
/**
|
|
100
|
+
* The current syndicate missions
|
|
101
|
+
*/
|
|
102
|
+
syndicateMissions: SyndicateMission[];
|
|
103
|
+
/**
|
|
104
|
+
* The current fissures: 'ActiveMissions' & 'VoidStorms'
|
|
105
|
+
*/
|
|
106
|
+
fissures: Fissure[];
|
|
107
|
+
/**
|
|
108
|
+
* The current global upgrades
|
|
109
|
+
*/
|
|
110
|
+
globalUpgrades: GlobalUpgrade[];
|
|
111
|
+
/**
|
|
112
|
+
* The current flash sales
|
|
113
|
+
*/
|
|
114
|
+
flashSales: FlashSale[];
|
|
115
|
+
/**
|
|
116
|
+
* The current invasions
|
|
117
|
+
*/
|
|
118
|
+
invasions: Invasion[];
|
|
119
|
+
/**
|
|
120
|
+
* The state of the dark sectors
|
|
121
|
+
*/
|
|
122
|
+
darkSectors: DarkSector[];
|
|
123
|
+
/**
|
|
124
|
+
* The state of all Void Traders
|
|
125
|
+
*/
|
|
126
|
+
voidTraders: VoidTrader[];
|
|
127
|
+
/**
|
|
128
|
+
* The first entry for voidTraders
|
|
129
|
+
* @deprecated
|
|
130
|
+
*/
|
|
131
|
+
voidTrader: VoidTrader;
|
|
132
|
+
/**
|
|
133
|
+
* The current daily deals
|
|
134
|
+
*/
|
|
135
|
+
dailyDeals: DailyDeal[];
|
|
136
|
+
/**
|
|
137
|
+
* The state of the sanctuary synthesis targets
|
|
138
|
+
*/
|
|
139
|
+
simaris: Simaris;
|
|
140
|
+
/**
|
|
141
|
+
* The current conclave challenges
|
|
142
|
+
*/
|
|
143
|
+
conclaveChallenges: ConclaveChallenge[];
|
|
144
|
+
/**
|
|
145
|
+
* The currently active persistent enemies
|
|
146
|
+
*/
|
|
147
|
+
persistentEnemies: PersistentEnemy[];
|
|
148
|
+
/**
|
|
149
|
+
* The current earth cycle
|
|
150
|
+
*/
|
|
151
|
+
earthCycle: EarthCycle;
|
|
152
|
+
/**
|
|
153
|
+
* The current Cetus cycle
|
|
154
|
+
*/
|
|
155
|
+
cetusCycle: CetusCycle;
|
|
156
|
+
/**
|
|
157
|
+
* Cambion Drift Cycle
|
|
158
|
+
*/
|
|
159
|
+
cambionCycle: CambionCycle;
|
|
160
|
+
/**
|
|
161
|
+
* The current Zariman cycle based off current time
|
|
162
|
+
*/
|
|
163
|
+
zarimanCycle: ZarimanCycle;
|
|
164
|
+
/**
|
|
165
|
+
* Midrath cycle (soulframe)
|
|
166
|
+
* Game seems to desync while you play and appearntly it changes between updates.
|
|
167
|
+
*/
|
|
168
|
+
/**
|
|
169
|
+
* Weekly challenges
|
|
170
|
+
*/
|
|
171
|
+
weeklyChallenges?: WeeklyChallenge;
|
|
172
|
+
/**
|
|
173
|
+
* The Current construction progress for Fomorians/Razorback/etc.
|
|
174
|
+
*/
|
|
175
|
+
constructionProgress: ConstructionProgress;
|
|
176
|
+
/**
|
|
177
|
+
* The current Orb Vallis cycle state
|
|
178
|
+
*/
|
|
179
|
+
vallisCycle: VallisCycle;
|
|
180
|
+
/**
|
|
181
|
+
* The current nightwave season
|
|
182
|
+
*/
|
|
183
|
+
nightwave?: Nightwave;
|
|
184
|
+
/**
|
|
185
|
+
* Kuva missions array
|
|
186
|
+
*/
|
|
187
|
+
kuva?: ExternalMission[];
|
|
188
|
+
/**
|
|
189
|
+
* Arbitration mission
|
|
190
|
+
*/
|
|
191
|
+
arbitration?: ExternalMission;
|
|
192
|
+
/**
|
|
193
|
+
* Current sentient outposts
|
|
194
|
+
*/
|
|
195
|
+
sentientOutposts: SentientOutpost;
|
|
196
|
+
/**
|
|
197
|
+
* Steel path offering rotation
|
|
198
|
+
*/
|
|
199
|
+
steelPath: SteelPathOfferings;
|
|
200
|
+
/**
|
|
201
|
+
* The current prime resurgence
|
|
202
|
+
*/
|
|
203
|
+
vaultTrader: VoidTrader;
|
|
204
|
+
/**
|
|
205
|
+
* The current archon hunt
|
|
206
|
+
*/
|
|
207
|
+
archonHunt: Sortie;
|
|
208
|
+
/**
|
|
209
|
+
* Current Duviri circuit choices
|
|
210
|
+
*/
|
|
211
|
+
duviriCycle: DuviriCycle;
|
|
212
|
+
/**
|
|
213
|
+
* Current kinepage message
|
|
214
|
+
*/
|
|
215
|
+
kinepage: Kinepage;
|
|
216
|
+
/**
|
|
217
|
+
* The current Archimedea missions and modifiers
|
|
218
|
+
*/
|
|
219
|
+
archimedeas: Archimedea[];
|
|
220
|
+
/**
|
|
221
|
+
* The current calendar for 1999
|
|
222
|
+
*/
|
|
223
|
+
calendar: Calendar;
|
|
224
|
+
/**
|
|
225
|
+
* Faceoff bonus current state
|
|
226
|
+
*/
|
|
227
|
+
faceoffBonus?: {
|
|
228
|
+
activation: Date;
|
|
229
|
+
expiry: Date;
|
|
230
|
+
next: Date;
|
|
231
|
+
};
|
|
232
|
+
/**
|
|
233
|
+
* Warframe's annual Quest to Conquer Cancer donation count and next tier goal
|
|
234
|
+
*/
|
|
235
|
+
questToConquerCancer?: {
|
|
236
|
+
count: number;
|
|
237
|
+
goal: number;
|
|
238
|
+
};
|
|
239
|
+
/**
|
|
240
|
+
* Generates the worldstate json as a string into usable objects
|
|
241
|
+
*/
|
|
242
|
+
static build(json: string, deps?: Dependency): Promise<WorldState>;
|
|
243
|
+
/**
|
|
244
|
+
* @param data The worldstate JSON string
|
|
245
|
+
* @param deps The options object
|
|
246
|
+
*/
|
|
247
|
+
constructor(data: InitialWorldState, deps?: Dependency);
|
|
248
|
+
}
|
|
249
|
+
declare const _default: (json: string, deps: Dependency) => Promise<WorldState>;
|
|
250
|
+
//#endregion
|
|
42
251
|
export { InitialWorldState, WorldState, _default as default, parseArray, parseAsyncArray };
|
package/dist/lib/WorldState.mjs
CHANGED
|
@@ -1,45 +1,352 @@
|
|
|
1
|
-
import "../RewardTypes-
|
|
2
|
-
import "../Reward-
|
|
3
|
-
import "../Mission-
|
|
4
|
-
import "../
|
|
5
|
-
import "../Alert-
|
|
6
|
-
import "../
|
|
7
|
-
import "../Calendar-
|
|
8
|
-
import "../CambionCycle-
|
|
9
|
-
import "../CetusCycle-
|
|
10
|
-
import "../
|
|
11
|
-
import "../
|
|
12
|
-
import "../
|
|
13
|
-
import "../
|
|
14
|
-
import "../
|
|
15
|
-
import "../
|
|
16
|
-
import "../
|
|
17
|
-
import "../
|
|
18
|
-
import "../
|
|
19
|
-
import "../
|
|
20
|
-
import "../
|
|
21
|
-
import "../
|
|
22
|
-
import "../
|
|
23
|
-
import "../
|
|
24
|
-
import "../
|
|
25
|
-
import "../
|
|
26
|
-
import "../
|
|
27
|
-
import "../
|
|
28
|
-
import "../
|
|
29
|
-
import "../
|
|
30
|
-
import "../
|
|
31
|
-
import "../
|
|
32
|
-
import "../
|
|
33
|
-
import "../
|
|
34
|
-
import "../
|
|
35
|
-
import "../
|
|
36
|
-
import "../
|
|
37
|
-
import "../
|
|
38
|
-
import "../
|
|
39
|
-
import "../
|
|
40
|
-
import "../
|
|
41
|
-
import "../
|
|
42
|
-
import "../
|
|
43
|
-
import {
|
|
1
|
+
import "../RewardTypes-C9mdyWtP.mjs";
|
|
2
|
+
import "../Reward-DhCSvJkg.mjs";
|
|
3
|
+
import "../Mission-4n_i7W8j.mjs";
|
|
4
|
+
import "../WorldStateObject-iHgm5OJw.mjs";
|
|
5
|
+
import { t as Alert } from "../Alert-Ccyxuldo.mjs";
|
|
6
|
+
import { t as Archimedea } from "../Archimedea-MT79fX4N.mjs";
|
|
7
|
+
import { t as Calendar } from "../Calendar-D2zXOqHk.mjs";
|
|
8
|
+
import { t as CambionCycle } from "../CambionCycle-CtOGMFLX.mjs";
|
|
9
|
+
import { t as CetusCycle } from "../CetusCycle-BapW947t.mjs";
|
|
10
|
+
import "../ChallengeInstance-DygjwvEF.mjs";
|
|
11
|
+
import { t as ConclaveChallenge } from "../ConclaveChallenge-BqKAuCTT.mjs";
|
|
12
|
+
import { t as ConstructionProgress } from "../ConstructionProgress-C0zBCrEM.mjs";
|
|
13
|
+
import { t as DailyDeal } from "../DailyDeal-Bg0amN6J.mjs";
|
|
14
|
+
import "../DarkSectorBattle-D8UJUdh9.mjs";
|
|
15
|
+
import { t as DarkSector } from "../DarkSector-8wPNWuFP.mjs";
|
|
16
|
+
import { t as DuviriCycle } from "../DuviriCycle-DZbe-zrM.mjs";
|
|
17
|
+
import { t as EarthCycle } from "../EarthCycle-BnN2Xl9g.mjs";
|
|
18
|
+
import { t as Fissure } from "../Fissure-BoZQVEF9.mjs";
|
|
19
|
+
import { t as FlashSale } from "../FlashSale-DmwnZtWc.mjs";
|
|
20
|
+
import { t as GlobalUpgrade } from "../GlobalUpgrade-qtE-SaGP.mjs";
|
|
21
|
+
import { t as Invasion } from "../Invasion-D0BFYPUI.mjs";
|
|
22
|
+
import { t as Kuva } from "../Kuva-zzcdntDZ.mjs";
|
|
23
|
+
import "../MidrathCycle-DqyVY2Wf.mjs";
|
|
24
|
+
import { t as News } from "../News-DM9GFMMz.mjs";
|
|
25
|
+
import "../NightwaveChallenge-iPlf04Gb.mjs";
|
|
26
|
+
import { t as Nightwave } from "../Nightwave-DqLM-MSj.mjs";
|
|
27
|
+
import { t as PersistentEnemy } from "../PersistentEnemy-CvWvgrmu.mjs";
|
|
28
|
+
import "../SentientOutpost-CgPBpuXR.mjs";
|
|
29
|
+
import { t as Simaris } from "../Simaris-BgkOf90G.mjs";
|
|
30
|
+
import "../SortieVariant-DD0mRbCN.mjs";
|
|
31
|
+
import { t as Sortie } from "../Sortie-BH6D31pZ.mjs";
|
|
32
|
+
import { t as SteelPathOfferings } from "../SteelPathOffering-DcPYvPOo.mjs";
|
|
33
|
+
import { t as DuviriChoice } from "../DuviriChoice-DV4-9YID.mjs";
|
|
34
|
+
import "../FetchProxy-TCdGknYu.mjs";
|
|
35
|
+
import "../supporting-2nt4XfjJ.mjs";
|
|
36
|
+
import "../SyndicateJob-Vxg8T9Sf.mjs";
|
|
37
|
+
import { t as SyndicateMission } from "../SyndicateMission-R1kv29yd.mjs";
|
|
38
|
+
import { t as Tmp } from "../Tmp-DjsDBCOw.mjs";
|
|
39
|
+
import { t as VallisCycle } from "../VallisCycle-D03Vz9pB.mjs";
|
|
40
|
+
import "../VoidTraderItem-D-gayDfb.mjs";
|
|
41
|
+
import "../VoidTraderSchedule-DNcJIJFz.mjs";
|
|
42
|
+
import { t as VoidTrader } from "../VoidTrader-Dhv3-c_H.mjs";
|
|
43
|
+
import { t as WeeklyChallenge } from "../WeeklyChallenge-CZyrIreL.mjs";
|
|
44
|
+
import { t as WorldEvent } from "../WorldEvent-DIlV4p7s.mjs";
|
|
45
|
+
import { t as ZarimanCycle } from "../ZarimanCycle-C1UCndAe.mjs";
|
|
46
|
+
import "./models/index.mjs";
|
|
47
|
+
import { createHash } from "node:crypto";
|
|
48
|
+
import wsData from "warframe-worldstate-data";
|
|
49
|
+
import { parseDate } from "warframe-worldstate-data/utilities";
|
|
44
50
|
|
|
51
|
+
//#region lib/WorldState.ts
|
|
52
|
+
const { sortie } = wsData;
|
|
53
|
+
const safeArray = (arr) => arr ?? [];
|
|
54
|
+
const safeObj = (obj) => obj ?? {};
|
|
55
|
+
/**
|
|
56
|
+
* Default Dependency object
|
|
57
|
+
* @type {Dependency}
|
|
58
|
+
*/
|
|
59
|
+
const defaultDeps = {
|
|
60
|
+
sortieData: sortie,
|
|
61
|
+
locale: "en",
|
|
62
|
+
logger: console
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
*
|
|
66
|
+
* @param ParserClass class for parsing data
|
|
67
|
+
* @param dataArray array of raw data
|
|
68
|
+
* @param deps shared dependency object
|
|
69
|
+
* @param uniqueField field to treat as unique
|
|
70
|
+
* @returns array of parsed objects
|
|
71
|
+
*/
|
|
72
|
+
function parseArray(ParserClass, dataArray, deps, uniqueField) {
|
|
73
|
+
const arr = (dataArray || []).map((d) => new ParserClass(d, deps));
|
|
74
|
+
if (uniqueField) {
|
|
75
|
+
const utemp = {};
|
|
76
|
+
arr.sort((a, b) => (a.id || "").localeCompare(b.id || ""));
|
|
77
|
+
arr.forEach((obj) => {
|
|
78
|
+
const key = String(obj[uniqueField]);
|
|
79
|
+
utemp[key] = obj;
|
|
80
|
+
});
|
|
81
|
+
return Array.from(arr).filter((obj) => {
|
|
82
|
+
if (obj?.active && typeof obj.active !== "undefined") return obj.active;
|
|
83
|
+
return true;
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
return arr;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Parse array of objects that requires async parsing
|
|
90
|
+
* @param ParserClass class for parsing data - must expose a static build method
|
|
91
|
+
* @param dataArray array of raw data
|
|
92
|
+
* @param deps shared dependency object
|
|
93
|
+
* @param uniqueField field to treat as unique
|
|
94
|
+
* @returns array of parsed objects
|
|
95
|
+
*/
|
|
96
|
+
async function parseAsyncArray(ParserClass, dataArray, deps, uniqueField) {
|
|
97
|
+
const arr = [];
|
|
98
|
+
for await (const d of dataArray ?? []) arr.push(await ParserClass.build(d, deps));
|
|
99
|
+
if (uniqueField) {
|
|
100
|
+
const utemp = {};
|
|
101
|
+
arr.sort((a, b) => (a.id ?? "").localeCompare(b.id ?? ""));
|
|
102
|
+
arr.forEach((obj) => {
|
|
103
|
+
const key = String(obj[uniqueField]);
|
|
104
|
+
utemp[key] = obj;
|
|
105
|
+
});
|
|
106
|
+
return Array.from(arr).filter((obj) => {
|
|
107
|
+
if (obj?.active && typeof obj.active !== "undefined") return obj.active;
|
|
108
|
+
return true;
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
return arr;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Parses Warframe Worldstate JSON
|
|
115
|
+
*/
|
|
116
|
+
var WorldState = class WorldState {
|
|
117
|
+
/**
|
|
118
|
+
* The date and time at which the World State was generated
|
|
119
|
+
*/
|
|
120
|
+
timestamp;
|
|
121
|
+
/**
|
|
122
|
+
* Current Warframe version
|
|
123
|
+
*/
|
|
124
|
+
buildLabel;
|
|
125
|
+
/**
|
|
126
|
+
* The in-game news
|
|
127
|
+
*/
|
|
128
|
+
news;
|
|
129
|
+
/**
|
|
130
|
+
* The current events
|
|
131
|
+
*/
|
|
132
|
+
events;
|
|
133
|
+
/**
|
|
134
|
+
* The current alerts
|
|
135
|
+
*/
|
|
136
|
+
alerts;
|
|
137
|
+
/**
|
|
138
|
+
* The current sortie
|
|
139
|
+
*/
|
|
140
|
+
sortie;
|
|
141
|
+
/**
|
|
142
|
+
* The current syndicate missions
|
|
143
|
+
*/
|
|
144
|
+
syndicateMissions;
|
|
145
|
+
/**
|
|
146
|
+
* The current fissures: 'ActiveMissions' & 'VoidStorms'
|
|
147
|
+
*/
|
|
148
|
+
fissures;
|
|
149
|
+
/**
|
|
150
|
+
* The current global upgrades
|
|
151
|
+
*/
|
|
152
|
+
globalUpgrades;
|
|
153
|
+
/**
|
|
154
|
+
* The current flash sales
|
|
155
|
+
*/
|
|
156
|
+
flashSales;
|
|
157
|
+
/**
|
|
158
|
+
* The current invasions
|
|
159
|
+
*/
|
|
160
|
+
invasions;
|
|
161
|
+
/**
|
|
162
|
+
* The state of the dark sectors
|
|
163
|
+
*/
|
|
164
|
+
darkSectors;
|
|
165
|
+
/**
|
|
166
|
+
* The state of all Void Traders
|
|
167
|
+
*/
|
|
168
|
+
voidTraders;
|
|
169
|
+
/**
|
|
170
|
+
* The first entry for voidTraders
|
|
171
|
+
* @deprecated
|
|
172
|
+
*/
|
|
173
|
+
voidTrader;
|
|
174
|
+
/**
|
|
175
|
+
* The current daily deals
|
|
176
|
+
*/
|
|
177
|
+
dailyDeals;
|
|
178
|
+
/**
|
|
179
|
+
* The state of the sanctuary synthesis targets
|
|
180
|
+
*/
|
|
181
|
+
simaris;
|
|
182
|
+
/**
|
|
183
|
+
* The current conclave challenges
|
|
184
|
+
*/
|
|
185
|
+
conclaveChallenges;
|
|
186
|
+
/**
|
|
187
|
+
* The currently active persistent enemies
|
|
188
|
+
*/
|
|
189
|
+
persistentEnemies;
|
|
190
|
+
/**
|
|
191
|
+
* The current earth cycle
|
|
192
|
+
*/
|
|
193
|
+
earthCycle;
|
|
194
|
+
/**
|
|
195
|
+
* The current Cetus cycle
|
|
196
|
+
*/
|
|
197
|
+
cetusCycle;
|
|
198
|
+
/**
|
|
199
|
+
* Cambion Drift Cycle
|
|
200
|
+
*/
|
|
201
|
+
cambionCycle;
|
|
202
|
+
/**
|
|
203
|
+
* The current Zariman cycle based off current time
|
|
204
|
+
*/
|
|
205
|
+
zarimanCycle;
|
|
206
|
+
/**
|
|
207
|
+
* Midrath cycle (soulframe)
|
|
208
|
+
* Game seems to desync while you play and appearntly it changes between updates.
|
|
209
|
+
*/
|
|
210
|
+
/**
|
|
211
|
+
* Weekly challenges
|
|
212
|
+
*/
|
|
213
|
+
weeklyChallenges;
|
|
214
|
+
/**
|
|
215
|
+
* The Current construction progress for Fomorians/Razorback/etc.
|
|
216
|
+
*/
|
|
217
|
+
constructionProgress;
|
|
218
|
+
/**
|
|
219
|
+
* The current Orb Vallis cycle state
|
|
220
|
+
*/
|
|
221
|
+
vallisCycle;
|
|
222
|
+
/**
|
|
223
|
+
* The current nightwave season
|
|
224
|
+
*/
|
|
225
|
+
nightwave;
|
|
226
|
+
/**
|
|
227
|
+
* Kuva missions array
|
|
228
|
+
*/
|
|
229
|
+
kuva;
|
|
230
|
+
/**
|
|
231
|
+
* Arbitration mission
|
|
232
|
+
*/
|
|
233
|
+
arbitration;
|
|
234
|
+
/**
|
|
235
|
+
* Current sentient outposts
|
|
236
|
+
*/
|
|
237
|
+
sentientOutposts;
|
|
238
|
+
/**
|
|
239
|
+
* Steel path offering rotation
|
|
240
|
+
*/
|
|
241
|
+
steelPath;
|
|
242
|
+
/**
|
|
243
|
+
* The current prime resurgence
|
|
244
|
+
*/
|
|
245
|
+
vaultTrader;
|
|
246
|
+
/**
|
|
247
|
+
* The current archon hunt
|
|
248
|
+
*/
|
|
249
|
+
archonHunt;
|
|
250
|
+
/**
|
|
251
|
+
* Current Duviri circuit choices
|
|
252
|
+
*/
|
|
253
|
+
duviriCycle;
|
|
254
|
+
/**
|
|
255
|
+
* Current kinepage message
|
|
256
|
+
*/
|
|
257
|
+
kinepage;
|
|
258
|
+
/**
|
|
259
|
+
* The current Archimedea missions and modifiers
|
|
260
|
+
*/
|
|
261
|
+
archimedeas;
|
|
262
|
+
/**
|
|
263
|
+
* The current calendar for 1999
|
|
264
|
+
*/
|
|
265
|
+
calendar;
|
|
266
|
+
/**
|
|
267
|
+
* Faceoff bonus current state
|
|
268
|
+
*/
|
|
269
|
+
faceoffBonus;
|
|
270
|
+
/**
|
|
271
|
+
* Warframe's annual Quest to Conquer Cancer donation count and next tier goal
|
|
272
|
+
*/
|
|
273
|
+
questToConquerCancer;
|
|
274
|
+
/**
|
|
275
|
+
* Generates the worldstate json as a string into usable objects
|
|
276
|
+
*/
|
|
277
|
+
static async build(json, deps = defaultDeps) {
|
|
278
|
+
if (typeof json !== "string") throw new TypeError(`json needs to be a string, provided ${typeof json} : ${JSON.stringify(json)}`);
|
|
279
|
+
const data = JSON.parse(json);
|
|
280
|
+
const ws = new WorldState(data, deps);
|
|
281
|
+
ws.events = await parseAsyncArray(WorldEvent, data.Goals, deps);
|
|
282
|
+
ws.syndicateMissions = await parseAsyncArray(SyndicateMission, data.SyndicateMissions, deps, "syndicate");
|
|
283
|
+
return ws;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* @param data The worldstate JSON string
|
|
287
|
+
* @param deps The options object
|
|
288
|
+
*/
|
|
289
|
+
constructor(data, deps = defaultDeps) {
|
|
290
|
+
deps = {
|
|
291
|
+
...defaultDeps,
|
|
292
|
+
...deps
|
|
293
|
+
};
|
|
294
|
+
this.timestamp = /* @__PURE__ */ new Date(data.Time * 1e3);
|
|
295
|
+
this.buildLabel = data.BuildLabel;
|
|
296
|
+
this.news = parseArray(News, safeArray(data.Events).filter((e) => typeof e.Messages.find((msg) => msg.LanguageCode === deps.locale) !== "undefined"), deps);
|
|
297
|
+
this.events = [];
|
|
298
|
+
this.alerts = parseArray(Alert, data.Alerts, deps);
|
|
299
|
+
[this.sortie] = parseArray(Sortie, data.Sorties, deps);
|
|
300
|
+
this.syndicateMissions = [];
|
|
301
|
+
this.fissures = parseArray(Fissure, data.ActiveMissions, deps).concat(parseArray(Fissure, data.VoidStorms, deps));
|
|
302
|
+
this.globalUpgrades = parseArray(GlobalUpgrade, data.GlobalUpgrades, deps);
|
|
303
|
+
this.flashSales = parseArray(FlashSale, data.FlashSales, deps);
|
|
304
|
+
this.invasions = parseArray(Invasion, data.Invasions, deps);
|
|
305
|
+
this.darkSectors = parseArray(DarkSector, data.BadlandNodes, deps);
|
|
306
|
+
this.voidTraders = parseArray(VoidTrader, data.VoidTraders, deps).sort((a, b) => a.activation.getTime() - b.activation.getTime());
|
|
307
|
+
[this.voidTrader] = this.voidTraders;
|
|
308
|
+
this.dailyDeals = parseArray(DailyDeal, data.DailyDeals, deps);
|
|
309
|
+
this.simaris = new Simaris(safeObj(data.LibraryInfo), deps);
|
|
310
|
+
this.conclaveChallenges = parseArray(ConclaveChallenge, data.PVPChallengeInstances, deps);
|
|
311
|
+
this.persistentEnemies = parseArray(PersistentEnemy, data.PersistentEnemies, deps);
|
|
312
|
+
this.earthCycle = new EarthCycle();
|
|
313
|
+
const cetusSynd = safeArray(data.SyndicateMissions).filter((syndicate$1) => syndicate$1.Tag === "CetusSyndicate");
|
|
314
|
+
const bountyEnd = parseDate(cetusSynd.length > 0 ? cetusSynd[0].Expiry : { $date: { $numberLong: 0 } });
|
|
315
|
+
this.cetusCycle = new CetusCycle(bountyEnd);
|
|
316
|
+
this.cambionCycle = new CambionCycle(this.cetusCycle);
|
|
317
|
+
this.zarimanCycle = new ZarimanCycle(bountyEnd);
|
|
318
|
+
this.weeklyChallenges = data.WeeklyChallenges ? new WeeklyChallenge(data.WeeklyChallenges) : void 0;
|
|
319
|
+
this.constructionProgress = new ConstructionProgress(data.ProjectPct);
|
|
320
|
+
this.vallisCycle = new VallisCycle();
|
|
321
|
+
if (data.SeasonInfo) this.nightwave = new Nightwave(data.SeasonInfo, deps);
|
|
322
|
+
const externalMissions = new Kuva(deps);
|
|
323
|
+
({kuva: this.kuva, arbitration: this.arbitration} = externalMissions);
|
|
324
|
+
if (!this.arbitration || !Object.keys(this.arbitration).length) this.arbitration = {
|
|
325
|
+
id: createHash("sha256").update("SolNode000", "utf8").digest("hex"),
|
|
326
|
+
node: "SolNode000",
|
|
327
|
+
nodeKey: "SolNode000",
|
|
328
|
+
activation: /* @__PURE__ */ new Date(0),
|
|
329
|
+
expiry: /* @__PURE__ */ new Date(864e13),
|
|
330
|
+
enemy: "Tenno",
|
|
331
|
+
type: "Unknown",
|
|
332
|
+
typeKey: "Unknown",
|
|
333
|
+
archwing: false,
|
|
334
|
+
sharkwing: false,
|
|
335
|
+
expired: true
|
|
336
|
+
};
|
|
337
|
+
this.steelPath = new SteelPathOfferings(deps);
|
|
338
|
+
[this.vaultTrader] = parseArray(VoidTrader, data.PrimeVaultTraders, {
|
|
339
|
+
...deps,
|
|
340
|
+
character: "Varzia"
|
|
341
|
+
});
|
|
342
|
+
[this.archonHunt] = parseArray(Sortie, data.LiteSorties, deps);
|
|
343
|
+
this.duviriCycle = new DuviriCycle(parseArray(DuviriChoice, data.EndlessXpChoices, deps));
|
|
344
|
+
[this.calendar] = parseArray(Calendar, data.KnownCalendarSeasons, deps);
|
|
345
|
+
this.archimedeas = parseArray(Archimedea, data.Conquests, deps);
|
|
346
|
+
({kinepage: this.kinepage, sentientOutposts: this.sentientOutposts, faceoffBonus: this.faceoffBonus, questToConquerCancer: this.questToConquerCancer} = new Tmp(data.Tmp, deps));
|
|
347
|
+
}
|
|
348
|
+
};
|
|
349
|
+
var WorldState_default = async (json, deps) => WorldState.build(json, deps);
|
|
350
|
+
|
|
351
|
+
//#endregion
|
|
45
352
|
export { WorldState, WorldState_default as default, parseArray, parseAsyncArray };
|