warframe-worldstate-parser 5.2.16 → 5.2.17

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 (181) hide show
  1. package/dist/lib/WorldState.d.mts +35 -19
  2. package/dist/lib/WorldState.mjs +31 -45
  3. package/dist/lib/models/Alert.d.mts +45 -17
  4. package/dist/lib/models/Alert.mjs +49 -5
  5. package/dist/lib/models/Archimedea.d.mts +86 -17
  6. package/dist/lib/models/Archimedea.mjs +88 -2
  7. package/dist/lib/models/Calendar.d.mts +77 -2
  8. package/dist/lib/models/Calendar.mjs +79 -2
  9. package/dist/lib/models/CambionCycle.d.mts +21 -3
  10. package/dist/lib/models/CambionCycle.mjs +28 -2
  11. package/dist/lib/models/CetusCycle.d.mts +48 -2
  12. package/dist/lib/models/CetusCycle.mjs +87 -2
  13. package/dist/lib/models/ChallengeInstance.d.mts +53 -17
  14. package/dist/lib/models/ChallengeInstance.mjs +46 -1
  15. package/dist/lib/models/ConclaveChallenge.d.mts +76 -17
  16. package/dist/lib/models/ConclaveChallenge.mjs +77 -2
  17. package/dist/lib/models/ConstructionProgress.d.mts +17 -2
  18. package/dist/lib/models/ConstructionProgress.mjs +23 -2
  19. package/dist/lib/models/DailyDeal.d.mts +66 -17
  20. package/dist/lib/models/DailyDeal.mjs +64 -2
  21. package/dist/lib/models/DarkSector.d.mts +142 -17
  22. package/dist/lib/models/DarkSector.mjs +136 -6
  23. package/dist/lib/models/DarkSectorBattle.d.mts +52 -2
  24. package/dist/lib/models/DarkSectorBattle.mjs +49 -1
  25. package/dist/lib/models/DuviriCycle.d.mts +23 -17
  26. package/dist/lib/models/DuviriCycle.mjs +55 -2
  27. package/dist/lib/models/EarthCycle.d.mts +59 -2
  28. package/dist/lib/models/EarthCycle.mjs +73 -2
  29. package/dist/lib/models/Fissure.d.mts +78 -17
  30. package/dist/lib/models/Fissure.mjs +83 -2
  31. package/dist/lib/models/FlashSale.d.mts +71 -17
  32. package/dist/lib/models/FlashSale.mjs +73 -2
  33. package/dist/lib/models/GlobalUpgrade.d.mts +55 -17
  34. package/dist/lib/models/GlobalUpgrade.mjs +56 -2
  35. package/dist/lib/models/Invasion.d.mts +113 -17
  36. package/dist/lib/models/Invasion.mjs +106 -4
  37. package/dist/lib/models/Kinepage.d.mts +21 -1
  38. package/dist/lib/models/Kinepage.mjs +22 -1
  39. package/dist/lib/models/Kuva.d.mts +20 -17
  40. package/dist/lib/models/Kuva.mjs +85 -1
  41. package/dist/lib/models/MidrathCycle.d.mts +24 -2
  42. package/dist/lib/models/MidrathCycle.mjs +66 -2
  43. package/dist/lib/models/Mission.d.mts +138 -17
  44. package/dist/lib/models/Mission.mjs +138 -3
  45. package/dist/lib/models/News.d.mts +100 -2
  46. package/dist/lib/models/News.mjs +116 -2
  47. package/dist/lib/models/Nightwave.d.mts +58 -3
  48. package/dist/lib/models/Nightwave.mjs +58 -3
  49. package/dist/lib/models/NightwaveChallenge.d.mts +50 -2
  50. package/dist/lib/models/NightwaveChallenge.mjs +51 -2
  51. package/dist/lib/models/PersistentEnemy.d.mts +78 -2
  52. package/dist/lib/models/PersistentEnemy.mjs +74 -2
  53. package/dist/lib/models/Reward.d.mts +67 -17
  54. package/dist/lib/models/Reward.mjs +71 -2
  55. package/dist/lib/models/SentientOutpost.d.mts +46 -17
  56. package/dist/lib/models/SentientOutpost.mjs +63 -1
  57. package/dist/lib/models/Simaris.d.mts +36 -17
  58. package/dist/lib/models/Simaris.mjs +33 -1
  59. package/dist/lib/models/Sortie.d.mts +60 -17
  60. package/dist/lib/models/Sortie.mjs +71 -6
  61. package/dist/lib/models/SortieVariant.d.mts +49 -17
  62. package/dist/lib/models/SortieVariant.mjs +49 -1
  63. package/dist/lib/models/SteelPathOffering.d.mts +36 -1
  64. package/dist/lib/models/SteelPathOffering.mjs +81 -1
  65. package/dist/lib/models/SyndicateJob.d.mts +92 -17
  66. package/dist/lib/models/SyndicateJob.mjs +161 -5
  67. package/dist/lib/models/SyndicateMission.d.mts +58 -17
  68. package/dist/lib/models/SyndicateMission.mjs +64 -6
  69. package/dist/lib/models/Tmp.d.mts +34 -17
  70. package/dist/lib/models/Tmp.mjs +28 -2
  71. package/dist/lib/models/VallisCycle.d.mts +29 -2
  72. package/dist/lib/models/VallisCycle.mjs +72 -2
  73. package/dist/lib/models/VoidTrader.d.mts +76 -17
  74. package/dist/lib/models/VoidTrader.mjs +76 -4
  75. package/dist/lib/models/VoidTraderItem.d.mts +43 -17
  76. package/dist/lib/models/VoidTraderItem.mjs +36 -1
  77. package/dist/lib/models/VoidTraderSchedule.d.mts +16 -17
  78. package/dist/lib/models/VoidTraderSchedule.mjs +12 -1
  79. package/dist/lib/models/WeeklyChallenge.d.mts +19 -17
  80. package/dist/lib/models/WeeklyChallenge.mjs +19 -3
  81. package/dist/lib/models/WorldEvent.d.mts +204 -17
  82. package/dist/lib/models/WorldEvent.mjs +211 -7
  83. package/dist/lib/models/WorldStateObject.d.mts +47 -1
  84. package/dist/lib/models/WorldStateObject.mjs +52 -1
  85. package/dist/lib/models/ZarimanCycle.d.mts +44 -2
  86. package/dist/lib/models/ZarimanCycle.mjs +77 -2
  87. package/dist/lib/models/index.d.mts +42 -18
  88. package/dist/lib/models/index.mjs +42 -45
  89. package/dist/lib/supporting/Dependency.d.mts +40 -1
  90. package/dist/lib/supporting/DuviriChoice.d.mts +18 -17
  91. package/dist/lib/supporting/DuviriChoice.mjs +23 -1
  92. package/dist/lib/supporting/ExternalMission.d.mts +48 -1
  93. package/dist/lib/supporting/FetchProxy.d.mts +9 -1
  94. package/dist/lib/supporting/FetchProxy.mjs +44 -1
  95. package/dist/lib/supporting/ImgCdn.d.mts +5 -1
  96. package/dist/lib/supporting/ImgCdn.mjs +5 -1
  97. package/dist/lib/supporting/KuvaLogEntry.d.mts +20 -1
  98. package/dist/lib/supporting/RewardData.d.mts +10 -1
  99. package/dist/lib/supporting/RewardData.mjs +74 -1
  100. package/dist/lib/supporting/RewardTypes.d.mts +33 -1
  101. package/dist/lib/supporting/RewardTypes.mjs +326 -1
  102. package/dist/lib/supporting/index.d.mts +8 -23
  103. package/dist/lib/supporting/index.mjs +5 -6
  104. package/dist/main.d.mts +52 -24
  105. package/dist/main.mjs +47 -48
  106. package/package.json +1 -1
  107. package/dist/Alert-CPT2sBmd.mjs +0 -51
  108. package/dist/Archimedea-Vo36QE99.mjs +0 -90
  109. package/dist/Calendar-CRM0XhAy.d.mts +0 -78
  110. package/dist/Calendar-_gEQ9BEd.mjs +0 -81
  111. package/dist/CambionCycle-B1pqIgks.mjs +0 -30
  112. package/dist/CambionCycle-OI3v1knd.d.mts +0 -22
  113. package/dist/CetusCycle-Ct51M2pd.mjs +0 -89
  114. package/dist/CetusCycle-DQ4n05vO.d.mts +0 -49
  115. package/dist/ChallengeInstance-BOu_e7ML.mjs +0 -48
  116. package/dist/ConclaveChallenge-BTN6UyV6.mjs +0 -79
  117. package/dist/ConstructionProgress-BoF2P9fx.mjs +0 -25
  118. package/dist/ConstructionProgress-DG2KzS0X.d.mts +0 -18
  119. package/dist/DailyDeal-aoNeCFWT.mjs +0 -66
  120. package/dist/DarkSector-D0uJWCg7.mjs +0 -138
  121. package/dist/DarkSectorBattle-CiSe3kFm.d.mts +0 -53
  122. package/dist/DarkSectorBattle-CqRYeNpe.mjs +0 -51
  123. package/dist/Dependency-BR-dAeHI.mjs +0 -1
  124. package/dist/Dependency-CNqXngHD.d.mts +0 -41
  125. package/dist/DuviriChoice-BEBiWA-g.mjs +0 -25
  126. package/dist/DuviriCycle-Do7mMnoC.mjs +0 -57
  127. package/dist/EarthCycle-BOAlcAuQ.mjs +0 -75
  128. package/dist/EarthCycle-CxtijnVV.d.mts +0 -60
  129. package/dist/ExternalMission-C82w4uMq.d.mts +0 -49
  130. package/dist/ExternalMission-D3MSZgnN.mjs +0 -1
  131. package/dist/FetchProxy-Bkdk15SX.mjs +0 -46
  132. package/dist/FetchProxy-DfSTUgkf.d.mts +0 -10
  133. package/dist/Fissure-diM4hyi3.mjs +0 -85
  134. package/dist/FlashSale-CNfRaZhM.mjs +0 -75
  135. package/dist/GlobalUpgrade-CUtZw05z.mjs +0 -58
  136. package/dist/ImgCdn-BJOdWAbU.mjs +0 -7
  137. package/dist/ImgCdn-D0hSGSB1.d.mts +0 -6
  138. package/dist/Invasion-Corx1lxf.mjs +0 -108
  139. package/dist/Kinepage-B-Ym_VW5.d.mts +0 -22
  140. package/dist/Kinepage-CbSzge67.mjs +0 -24
  141. package/dist/Kuva-Ijy2ZGBL.mjs +0 -87
  142. package/dist/KuvaLogEntry-D_VzIT3W.mjs +0 -1
  143. package/dist/KuvaLogEntry-cftxhjfU.d.mts +0 -21
  144. package/dist/MidrathCycle-E0gMF3AR.d.mts +0 -25
  145. package/dist/MidrathCycle-XD2T8Dx5.mjs +0 -68
  146. package/dist/Mission-b8KP-YDf.mjs +0 -140
  147. package/dist/News-DxEm-q6V.d.mts +0 -101
  148. package/dist/News-zAK-sYRg.mjs +0 -118
  149. package/dist/Nightwave-CPqMSqGK.d.mts +0 -59
  150. package/dist/Nightwave-cTRmlbwH.mjs +0 -60
  151. package/dist/NightwaveChallenge-C8ARG7LC.mjs +0 -53
  152. package/dist/NightwaveChallenge-CG3uychc.d.mts +0 -51
  153. package/dist/PersistentEnemy-3Sw5E8AN.mjs +0 -76
  154. package/dist/PersistentEnemy-DnnnreSz.d.mts +0 -79
  155. package/dist/Reward-3FBJF_hS.mjs +0 -73
  156. package/dist/RewardData-C_9b8Yhi.mjs +0 -76
  157. package/dist/RewardData-DWCgJ3UT.d.mts +0 -11
  158. package/dist/RewardTypes-DUrR7H3G.mjs +0 -328
  159. package/dist/RewardTypes-Y3tHrtIJ.d.mts +0 -34
  160. package/dist/SentientOutpost-Cadk-pIW.mjs +0 -65
  161. package/dist/Simaris-D6etEQp_.mjs +0 -35
  162. package/dist/Sortie-rSBgJc6U.mjs +0 -73
  163. package/dist/SortieVariant-CnuLkkNZ.mjs +0 -51
  164. package/dist/SteelPathOffering--wm-7hwb.mjs +0 -83
  165. package/dist/SteelPathOffering-CQkoKi5T.d.mts +0 -37
  166. package/dist/SyndicateJob-R89tWqvT.mjs +0 -162
  167. package/dist/SyndicateMission-CKZDWNyf.mjs +0 -66
  168. package/dist/Tmp-BYL_mYIG.mjs +0 -30
  169. package/dist/VallisCycle-6DCaWFoR.d.mts +0 -30
  170. package/dist/VallisCycle-BW2g49wB.mjs +0 -74
  171. package/dist/VoidTrader-DtjtVUgR.mjs +0 -78
  172. package/dist/VoidTraderItem-Cz6x1KTF.mjs +0 -38
  173. package/dist/VoidTraderSchedule-BsJLu50V.mjs +0 -14
  174. package/dist/WeeklyChallenge-Dl2ekl6X.mjs +0 -21
  175. package/dist/WorldEvent-C-LaV2ug.mjs +0 -213
  176. package/dist/WorldStateObject-45dbRgp7.mjs +0 -54
  177. package/dist/WorldStateObject-C1HEDkH7.d.mts +0 -48
  178. package/dist/ZarimanCycle-BrSLIWhD.d.mts +0 -45
  179. package/dist/ZarimanCycle-DoAPwgaM.mjs +0 -79
  180. package/dist/index-Bgx8kIDy.d.mts +0 -1671
  181. package/dist/supporting-BLSXhlWM.mjs +0 -1
@@ -1,18 +1,79 @@
1
- import "../../Dependency-CNqXngHD.mjs";
2
- import { I as Fissure, L as RawFissure } from "../../index-Bgx8kIDy.mjs";
3
- import "../../WorldStateObject-C1HEDkH7.mjs";
4
- import "../../Calendar-CRM0XhAy.mjs";
5
- import "../../CetusCycle-DQ4n05vO.mjs";
6
- import "../../CambionCycle-OI3v1knd.mjs";
7
- import "../../ConstructionProgress-DG2KzS0X.mjs";
8
- import "../../DarkSectorBattle-CiSe3kFm.mjs";
9
- import "../../EarthCycle-CxtijnVV.mjs";
10
- import "../../MidrathCycle-E0gMF3AR.mjs";
11
- import "../../News-DxEm-q6V.mjs";
12
- import "../../NightwaveChallenge-CG3uychc.mjs";
13
- import "../../Nightwave-CPqMSqGK.mjs";
14
- import "../../PersistentEnemy-DnnnreSz.mjs";
15
- import "../../SteelPathOffering-CQkoKi5T.mjs";
16
- import "../../VallisCycle-6DCaWFoR.mjs";
17
- import "../../ZarimanCycle-BrSLIWhD.mjs";
1
+ import { Dependency } from "../supporting/Dependency.mjs";
2
+ import "../supporting/index.mjs";
3
+ import { BaseContentObject, WorldStateObject } from "./WorldStateObject.mjs";
4
+ import { ContentTimestamp } from "warframe-worldstate-data/utilities";
5
+
6
+ //#region lib/models/Fissure.d.ts
7
+ interface RawFissure extends BaseContentObject {
8
+ Node: string;
9
+ MissionType: string;
10
+ Modifier: string;
11
+ ActiveMissionTier: string;
12
+ Activation: ContentTimestamp;
13
+ Expiry: ContentTimestamp;
14
+ Hard?: boolean;
15
+ }
16
+ /**
17
+ * Represents a fissure mission
18
+ * @augments {WorldStateObject}
19
+ */
20
+ declare class Fissure extends WorldStateObject {
21
+ /**
22
+ * The node where the fissure has appeared
23
+ */
24
+ node: string;
25
+ /**
26
+ * The fissure mission type
27
+ */
28
+ missionType: string;
29
+ /**
30
+ * The fissure mission type key
31
+ */
32
+ missionTypeKey: string;
33
+ /**
34
+ * The faction controlling the node where the fissure has appeared
35
+ */
36
+ enemy: string;
37
+ /**
38
+ * Faction enum for the faction controlling the node where the fissure has appeared
39
+ */
40
+ enemyKey: string;
41
+ /**
42
+ * The node key where the fissure has appeared
43
+ */
44
+ nodeKey: string;
45
+ /**
46
+ * The fissure's tier
47
+ */
48
+ tier: string;
49
+ /**
50
+ * The fissure's tier as a number
51
+ */
52
+ tierNum: string | number;
53
+ /**
54
+ * Whether this fissure corresponds to a RailJack Void Storm
55
+ */
56
+ isStorm: boolean;
57
+ /**
58
+ * Whether this fissure is a Steel Path fissure
59
+ */
60
+ isHard: boolean;
61
+ /**
62
+ * @param {object} data The fissure data
63
+ * @param {Dependency} deps The dependencies object
64
+ * @param {string} deps.locale Locale to use for translations
65
+ */
66
+ constructor(data: RawFissure, {
67
+ locale
68
+ }?: Dependency);
69
+ /**
70
+ * Whether this is expired (at time of object creation)
71
+ */
72
+ get expired(): boolean;
73
+ /**
74
+ * ETA string (at time of object creation)
75
+ */
76
+ get eta(): string;
77
+ }
78
+ //#endregion
18
79
  export { Fissure, RawFissure };
@@ -1,4 +1,85 @@
1
- import "../../WorldStateObject-45dbRgp7.mjs";
2
- import { t as Fissure } from "../../Fissure-diM4hyi3.mjs";
1
+ import { WorldStateObject } from "./WorldStateObject.mjs";
2
+ import { fissureModifier, fissureTier, fromNow, missionType, node, nodeEnemy, nodeMissionType, parseDate, timeDeltaToString } from "warframe-worldstate-data/utilities";
3
3
 
4
+ //#region lib/models/Fissure.ts
5
+ /**
6
+ * Represents a fissure mission
7
+ * @augments {WorldStateObject}
8
+ */
9
+ var Fissure = class extends WorldStateObject {
10
+ /**
11
+ * The node where the fissure has appeared
12
+ */
13
+ node;
14
+ /**
15
+ * The fissure mission type
16
+ */
17
+ missionType;
18
+ /**
19
+ * The fissure mission type key
20
+ */
21
+ missionTypeKey;
22
+ /**
23
+ * The faction controlling the node where the fissure has appeared
24
+ */
25
+ enemy;
26
+ /**
27
+ * Faction enum for the faction controlling the node where the fissure has appeared
28
+ */
29
+ enemyKey;
30
+ /**
31
+ * The node key where the fissure has appeared
32
+ */
33
+ nodeKey;
34
+ /**
35
+ * The fissure's tier
36
+ */
37
+ tier;
38
+ /**
39
+ * The fissure's tier as a number
40
+ */
41
+ tierNum;
42
+ /**
43
+ * Whether this fissure corresponds to a RailJack Void Storm
44
+ */
45
+ isStorm;
46
+ /**
47
+ * Whether this fissure is a Steel Path fissure
48
+ */
49
+ isHard;
50
+ /**
51
+ * @param {object} data The fissure data
52
+ * @param {Dependency} deps The dependencies object
53
+ * @param {string} deps.locale Locale to use for translations
54
+ */
55
+ constructor(data, { locale = "en" } = { locale: "en" }) {
56
+ super(data);
57
+ this.node = node(data.Node, locale);
58
+ this.missionType = data.MissionType ? missionType(data.MissionType, locale) : nodeMissionType(data.Node, locale);
59
+ this.missionTypeKey = data.MissionType ? missionType(data.MissionType) : nodeMissionType(data.Node);
60
+ this.enemy = nodeEnemy(data.Node, locale);
61
+ this.enemyKey = nodeEnemy(data.Node);
62
+ this.nodeKey = node(data.Node);
63
+ this.tier = fissureModifier(data.Modifier || data.ActiveMissionTier, locale);
64
+ this.tierNum = fissureTier(data.Modifier || data.ActiveMissionTier, locale);
65
+ this.activation = parseDate(data.Activation);
66
+ this.expiry = parseDate(data.Expiry);
67
+ this.isStorm = Boolean(data.ActiveMissionTier);
68
+ this.isHard = Boolean(data.Hard);
69
+ }
70
+ /**
71
+ * Whether this is expired (at time of object creation)
72
+ */
73
+ get expired() {
74
+ return fromNow(this.expiry) < 0;
75
+ }
76
+ /**
77
+ * ETA string (at time of object creation)
78
+ */
79
+ get eta() {
80
+ return timeDeltaToString(fromNow(this.expiry));
81
+ }
82
+ };
83
+
84
+ //#endregion
4
85
  export { Fissure };
@@ -1,18 +1,72 @@
1
- import "../../Dependency-CNqXngHD.mjs";
2
- import { F as RawFlashSale, P as FlashSale } from "../../index-Bgx8kIDy.mjs";
3
- import "../../WorldStateObject-C1HEDkH7.mjs";
4
- import "../../Calendar-CRM0XhAy.mjs";
5
- import "../../CetusCycle-DQ4n05vO.mjs";
6
- import "../../CambionCycle-OI3v1knd.mjs";
7
- import "../../ConstructionProgress-DG2KzS0X.mjs";
8
- import "../../DarkSectorBattle-CiSe3kFm.mjs";
9
- import "../../EarthCycle-CxtijnVV.mjs";
10
- import "../../MidrathCycle-E0gMF3AR.mjs";
11
- import "../../News-DxEm-q6V.mjs";
12
- import "../../NightwaveChallenge-CG3uychc.mjs";
13
- import "../../Nightwave-CPqMSqGK.mjs";
14
- import "../../PersistentEnemy-DnnnreSz.mjs";
15
- import "../../SteelPathOffering-CQkoKi5T.mjs";
16
- import "../../VallisCycle-6DCaWFoR.mjs";
17
- import "../../ZarimanCycle-BrSLIWhD.mjs";
1
+ import { Dependency } from "../supporting/Dependency.mjs";
2
+ import "../supporting/index.mjs";
3
+ import { BaseContentObject, WorldStateObject } from "./WorldStateObject.mjs";
4
+ import { ContentTimestamp } from "warframe-worldstate-data/utilities";
5
+
6
+ //#region lib/models/FlashSale.d.ts
7
+ interface RawFlashSale extends BaseContentObject {
8
+ TypeName: string;
9
+ EndDate: ContentTimestamp;
10
+ StartDate: ContentTimestamp;
11
+ Discount: number;
12
+ RegularOverride: number;
13
+ PremiumOverride: number;
14
+ ShowInMarket: boolean;
15
+ Featured: boolean;
16
+ Popular: boolean;
17
+ }
18
+ /**
19
+ * Represents a flash sale
20
+ */
21
+ declare class FlashSale extends WorldStateObject {
22
+ /**
23
+ * The item being offered in the flash sale
24
+ */
25
+ item: string;
26
+ /**
27
+ * The item's discount percentage
28
+ */
29
+ discount: number;
30
+ /**
31
+ * The item's discounted credit price
32
+ */
33
+ regularOverride: number;
34
+ /**
35
+ * The item's discounted platinum price
36
+ */
37
+ premiumOverride: number;
38
+ /**
39
+ * Whether this item is show in the in-game market
40
+ */
41
+ isShownInMarket: boolean;
42
+ /**
43
+ * Whether this item is featured in the in-game market
44
+ */
45
+ isFeatured: boolean;
46
+ /**
47
+ * Whether this item is marked as popular in the in-game market
48
+ */
49
+ isPopular: boolean;
50
+ /**
51
+ * Unique identifier for this sale built from the end time and reward
52
+ */
53
+ id: string;
54
+ /**
55
+ * @param {object} data The flash sale data
56
+ * @param {Dependency} deps The dependencies object
57
+ * @param {string} deps.locale Locale to use for translations
58
+ */
59
+ constructor(data: RawFlashSale, {
60
+ locale
61
+ }?: Dependency);
62
+ /**
63
+ * ETA string (at time of object creation)
64
+ */
65
+ get eta(): string;
66
+ /**
67
+ * Whether or not this is expired (at time of object creation)
68
+ */
69
+ get expired(): boolean;
70
+ }
71
+ //#endregion
18
72
  export { FlashSale, RawFlashSale };
@@ -1,4 +1,75 @@
1
- import "../../WorldStateObject-45dbRgp7.mjs";
2
- import { t as FlashSale } from "../../FlashSale-CNfRaZhM.mjs";
1
+ import { WorldStateObject } from "./WorldStateObject.mjs";
2
+ import { fromNow, languageString, timeDeltaToString } from "warframe-worldstate-data/utilities";
3
3
 
4
+ //#region lib/models/FlashSale.ts
5
+ /**
6
+ * Represents a flash sale
7
+ */
8
+ var FlashSale = class extends WorldStateObject {
9
+ /**
10
+ * The item being offered in the flash sale
11
+ */
12
+ item;
13
+ /**
14
+ * The item's discount percentage
15
+ */
16
+ discount;
17
+ /**
18
+ * The item's discounted credit price
19
+ */
20
+ regularOverride;
21
+ /**
22
+ * The item's discounted platinum price
23
+ */
24
+ premiumOverride;
25
+ /**
26
+ * Whether this item is show in the in-game market
27
+ */
28
+ isShownInMarket;
29
+ /**
30
+ * Whether this item is featured in the in-game market
31
+ */
32
+ isFeatured;
33
+ /**
34
+ * Whether this item is marked as popular in the in-game market
35
+ */
36
+ isPopular;
37
+ /**
38
+ * Unique identifier for this sale built from the end time and reward
39
+ */
40
+ id;
41
+ /**
42
+ * @param {object} data The flash sale data
43
+ * @param {Dependency} deps The dependencies object
44
+ * @param {string} deps.locale Locale to use for translations
45
+ */
46
+ constructor(data, { locale = "en" } = { locale: "en" }) {
47
+ super({
48
+ Activation: data.StartDate,
49
+ Expiry: data.EndDate
50
+ });
51
+ this.item = languageString(data.TypeName, locale);
52
+ this.discount = data.Discount;
53
+ this.regularOverride = data.RegularOverride;
54
+ this.premiumOverride = data.PremiumOverride;
55
+ this.isShownInMarket = data.ShowInMarket;
56
+ this.isFeatured = data.Featured;
57
+ this.isPopular = data.Popular;
58
+ this.id = `${data.TypeName.split("/").slice(-1)[0]}${this.expiry.getTime()}`;
59
+ }
60
+ /**
61
+ * ETA string (at time of object creation)
62
+ */
63
+ get eta() {
64
+ return timeDeltaToString(fromNow(this.expiry));
65
+ }
66
+ /**
67
+ * Whether or not this is expired (at time of object creation)
68
+ */
69
+ get expired() {
70
+ return fromNow(this.expiry) < 0;
71
+ }
72
+ };
73
+
74
+ //#endregion
4
75
  export { FlashSale };
@@ -1,18 +1,56 @@
1
- import "../../Dependency-CNqXngHD.mjs";
2
- import { M as GlobalUpgrade, N as RawGlobalUpgrade } from "../../index-Bgx8kIDy.mjs";
3
- import "../../WorldStateObject-C1HEDkH7.mjs";
4
- import "../../Calendar-CRM0XhAy.mjs";
5
- import "../../CetusCycle-DQ4n05vO.mjs";
6
- import "../../CambionCycle-OI3v1knd.mjs";
7
- import "../../ConstructionProgress-DG2KzS0X.mjs";
8
- import "../../DarkSectorBattle-CiSe3kFm.mjs";
9
- import "../../EarthCycle-CxtijnVV.mjs";
10
- import "../../MidrathCycle-E0gMF3AR.mjs";
11
- import "../../News-DxEm-q6V.mjs";
12
- import "../../NightwaveChallenge-CG3uychc.mjs";
13
- import "../../Nightwave-CPqMSqGK.mjs";
14
- import "../../PersistentEnemy-DnnnreSz.mjs";
15
- import "../../SteelPathOffering-CQkoKi5T.mjs";
16
- import "../../VallisCycle-6DCaWFoR.mjs";
17
- import "../../ZarimanCycle-BrSLIWhD.mjs";
1
+ import { Dependency } from "../supporting/Dependency.mjs";
2
+ import "../supporting/index.mjs";
3
+ import { BaseContentObject, WorldStateObject } from "./WorldStateObject.mjs";
4
+ import { ContentTimestamp } from "warframe-worldstate-data/utilities";
5
+
6
+ //#region lib/models/GlobalUpgrade.d.ts
7
+ interface RawGlobalUpgrade extends BaseContentObject {
8
+ Activation: ContentTimestamp;
9
+ Expiry: ContentTimestamp;
10
+ UpgradeType: string;
11
+ OperationType: string;
12
+ Value: number;
13
+ }
14
+ /**
15
+ * Represents an upgrade that applies to all players
16
+ */
17
+ declare class GlobalUpgrade extends WorldStateObject {
18
+ /**
19
+ * The effect of the upgrade
20
+ */
21
+ upgrade: string;
22
+ /**
23
+ * The operation type
24
+ */
25
+ operation: string;
26
+ /**
27
+ * Symbol for operation
28
+ */
29
+ operationSymbol: string;
30
+ /**
31
+ * The operation value
32
+ */
33
+ upgradeOperationValue: number;
34
+ /**
35
+ * @param {object} data The global upgrade data
36
+ * @param {object} deps The dependencies object
37
+ * @param {string} deps.locale Locale to use for translations
38
+ */
39
+ constructor(data: RawGlobalUpgrade, {
40
+ locale
41
+ }?: Dependency);
42
+ /**
43
+ * Plaintext description of upgrade
44
+ */
45
+ get desc(): string;
46
+ /**
47
+ * ETA string (at time of object creation)
48
+ */
49
+ get eta(): string;
50
+ /**
51
+ * Whether or not this is expired (at time of object creation)
52
+ */
53
+ get expired(): boolean;
54
+ }
55
+ //#endregion
18
56
  export { GlobalUpgrade, RawGlobalUpgrade };
@@ -1,4 +1,58 @@
1
- import "../../WorldStateObject-45dbRgp7.mjs";
2
- import { t as GlobalUpgrade } from "../../GlobalUpgrade-CUtZw05z.mjs";
1
+ import { WorldStateObject } from "./WorldStateObject.mjs";
2
+ import { fromNow, operation, operationSymbol, timeDeltaToString, upgrade } from "warframe-worldstate-data/utilities";
3
3
 
4
+ //#region lib/models/GlobalUpgrade.ts
5
+ /**
6
+ * Represents an upgrade that applies to all players
7
+ */
8
+ var GlobalUpgrade = class extends WorldStateObject {
9
+ /**
10
+ * The effect of the upgrade
11
+ */
12
+ upgrade;
13
+ /**
14
+ * The operation type
15
+ */
16
+ operation;
17
+ /**
18
+ * Symbol for operation
19
+ */
20
+ operationSymbol;
21
+ /**
22
+ * The operation value
23
+ */
24
+ upgradeOperationValue;
25
+ /**
26
+ * @param {object} data The global upgrade data
27
+ * @param {object} deps The dependencies object
28
+ * @param {string} deps.locale Locale to use for translations
29
+ */
30
+ constructor(data, { locale = "en" } = { locale: "en" }) {
31
+ super(data);
32
+ this.upgrade = upgrade(data.UpgradeType, locale);
33
+ this.operation = operation(data.OperationType, locale);
34
+ this.operationSymbol = operationSymbol(data.OperationType, locale);
35
+ this.upgradeOperationValue = data.Value;
36
+ }
37
+ /**
38
+ * Plaintext description of upgrade
39
+ */
40
+ get desc() {
41
+ return `${this.upgradeOperationValue}${this.operationSymbol} ${this.upgrade} for ${this.eta}`;
42
+ }
43
+ /**
44
+ * ETA string (at time of object creation)
45
+ */
46
+ get eta() {
47
+ return timeDeltaToString(fromNow(this.expiry));
48
+ }
49
+ /**
50
+ * Whether or not this is expired (at time of object creation)
51
+ */
52
+ get expired() {
53
+ return fromNow(this.expiry) < 0;
54
+ }
55
+ };
56
+
57
+ //#endregion
4
58
  export { GlobalUpgrade };
@@ -1,18 +1,114 @@
1
- import "../../Dependency-CNqXngHD.mjs";
2
- import { A as InvasionParticipant, j as RawInvasion, k as Invasion } from "../../index-Bgx8kIDy.mjs";
3
- import "../../WorldStateObject-C1HEDkH7.mjs";
4
- import "../../Calendar-CRM0XhAy.mjs";
5
- import "../../CetusCycle-DQ4n05vO.mjs";
6
- import "../../CambionCycle-OI3v1knd.mjs";
7
- import "../../ConstructionProgress-DG2KzS0X.mjs";
8
- import "../../DarkSectorBattle-CiSe3kFm.mjs";
9
- import "../../EarthCycle-CxtijnVV.mjs";
10
- import "../../MidrathCycle-E0gMF3AR.mjs";
11
- import "../../News-DxEm-q6V.mjs";
12
- import "../../NightwaveChallenge-CG3uychc.mjs";
13
- import "../../Nightwave-CPqMSqGK.mjs";
14
- import "../../PersistentEnemy-DnnnreSz.mjs";
15
- import "../../SteelPathOffering-CQkoKi5T.mjs";
16
- import "../../VallisCycle-6DCaWFoR.mjs";
17
- import "../../ZarimanCycle-BrSLIWhD.mjs";
1
+ import { Dependency } from "../supporting/Dependency.mjs";
2
+ import "../supporting/index.mjs";
3
+ import { RawReward, Reward } from "./Reward.mjs";
4
+ import { BaseContentObject, WorldStateObject } from "./WorldStateObject.mjs";
5
+ import { ContentTimestamp } from "warframe-worldstate-data/utilities";
6
+
7
+ //#region lib/models/Invasion.d.ts
8
+ interface RawInvasion extends BaseContentObject {
9
+ Node: string;
10
+ LocTag: string;
11
+ DefenderMissionInfo: {
12
+ faction: string;
13
+ };
14
+ AttackerReward: RawReward;
15
+ DefenderReward: RawReward;
16
+ AttackerMissionInfo: {
17
+ faction: string;
18
+ };
19
+ Activation: ContentTimestamp;
20
+ Count: number;
21
+ Goal: number;
22
+ Completed: boolean;
23
+ }
24
+ /**
25
+ * An invasion participant
26
+ */
27
+ interface InvasionParticipant {
28
+ /**
29
+ * Reward for supporting this participant in the invasion
30
+ */
31
+ reward?: Reward;
32
+ /**
33
+ * Faction of this participant (localized)
34
+ */
35
+ faction: string;
36
+ /**
37
+ * Faction of this participant (always English)
38
+ */
39
+ factionKey: string;
40
+ }
41
+ /**
42
+ * Represents an invasion
43
+ */
44
+ declare class Invasion extends WorldStateObject {
45
+ /**
46
+ * The node where the invasion is taking place
47
+ */
48
+ node: string;
49
+ /**
50
+ * The node key where the invasion is taking place
51
+ */
52
+ nodeKey: string;
53
+ /**
54
+ * The invasion's description
55
+ */
56
+ desc: string;
57
+ /**
58
+ * Invasion attacker
59
+ */
60
+ attacker: InvasionParticipant;
61
+ /**
62
+ * Invasion defender
63
+ */
64
+ defender: InvasionParticipant;
65
+ /**
66
+ * Whether this invasion is against the infestation
67
+ */
68
+ vsInfestation: boolean;
69
+ /**
70
+ * The signed count of completed runs. Supporting the attackers makes the count go up,
71
+ * supporting the defenders makes it go down
72
+ */
73
+ count: number;
74
+ /**
75
+ * The number of runs that one side needs to win
76
+ */
77
+ requiredRuns: number;
78
+ /**
79
+ * The invasion's completion percentage. Defenders win if it gets to 0
80
+ * Grineer vs. Corpus invasions start at 50, Infested invasions start at 100
81
+ */
82
+ completion: number;
83
+ /**
84
+ * Whether the invasion has finished
85
+ */
86
+ completed: boolean;
87
+ /**
88
+ * An array containing the types of all of the invasions's rewards
89
+ */
90
+ rewardTypes: string[];
91
+ /**
92
+ * @param {object} data The invasion data
93
+ * @param {Dependency} deps The dependencies object
94
+ * @param {string} deps.locale Locale to use for translations
95
+ */
96
+ constructor(data: RawInvasion, {
97
+ locale
98
+ }?: Dependency);
99
+ /**
100
+ * Whether or not the attackers are winning.
101
+ * This is always false when the infestation is attacking
102
+ */
103
+ get isAttackerWinning(): boolean;
104
+ /**
105
+ * ETA string (at time of object creation)
106
+ */
107
+ get eta(): string;
108
+ /**
109
+ * Get an estimation of how much time is left before the invasion ends in milliseconds
110
+ */
111
+ private getRemainingTime;
112
+ }
113
+ //#endregion
18
114
  export { Invasion, InvasionParticipant, RawInvasion };