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