warframe-worldstate-data 2.25.0 → 3.0.0

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 (283) hide show
  1. package/.lintstagedrc.yml +5 -5
  2. package/.mocharc.yml +7 -1
  3. package/biome.json +51 -0
  4. package/data/synthTargets.json +1 -1
  5. package/dist/data/arcanes.json +461 -0
  6. package/dist/data/archonShards.json +224 -0
  7. package/dist/data/conclaveData.json +425 -0
  8. package/dist/data/cs/arcanes.json +461 -0
  9. package/dist/data/cs/archonShards.json +224 -0
  10. package/dist/data/cs/conclaveData.json +425 -0
  11. package/dist/data/cs/eventsData.json +27 -0
  12. package/dist/data/cs/factionsData.json +26 -0
  13. package/dist/data/cs/fissureModifiers.json +26 -0
  14. package/dist/data/cs/languages.json +19240 -0
  15. package/dist/data/cs/missionTypes.json +77 -0
  16. package/dist/data/cs/operationTypes.json +6 -0
  17. package/dist/data/cs/persistentEnemyData.json +21 -0
  18. package/dist/data/cs/solNodes.json +2237 -0
  19. package/dist/data/cs/sortieData.json +4253 -0
  20. package/dist/data/cs/steelPath.json +114 -0
  21. package/dist/data/cs/syndicatesData.json +86 -0
  22. package/dist/data/cs/synthTargets.json +1262 -0
  23. package/dist/data/cs/tutorials.json +17 -0
  24. package/dist/data/cs/upgradeTypes.json +14 -0
  25. package/dist/data/de/arcanes.json +461 -0
  26. package/dist/data/de/archonShards.json +224 -0
  27. package/dist/data/de/conclaveData.json +425 -0
  28. package/dist/data/de/eventsData.json +27 -0
  29. package/dist/data/de/factionsData.json +26 -0
  30. package/dist/data/de/fissureModifiers.json +26 -0
  31. package/dist/data/de/languages.json +19240 -0
  32. package/dist/data/de/missionTypes.json +77 -0
  33. package/dist/data/de/operationTypes.json +6 -0
  34. package/dist/data/de/persistentEnemyData.json +21 -0
  35. package/dist/data/de/solNodes.json +2237 -0
  36. package/dist/data/de/sortieData.json +4253 -0
  37. package/dist/data/de/steelPath.json +114 -0
  38. package/dist/data/de/syndicatesData.json +86 -0
  39. package/dist/data/de/synthTargets.json +1262 -0
  40. package/dist/data/de/tutorials.json +17 -0
  41. package/dist/data/de/upgradeTypes.json +14 -0
  42. package/dist/data/es/arcanes.json +461 -0
  43. package/dist/data/es/archonShards.json +224 -0
  44. package/dist/data/es/conclaveData.json +425 -0
  45. package/dist/data/es/eventsData.json +27 -0
  46. package/dist/data/es/factionsData.json +26 -0
  47. package/dist/data/es/fissureModifiers.json +26 -0
  48. package/dist/data/es/languages.json +19240 -0
  49. package/dist/data/es/missionTypes.json +77 -0
  50. package/dist/data/es/operationTypes.json +6 -0
  51. package/dist/data/es/persistentEnemyData.json +21 -0
  52. package/dist/data/es/solNodes.json +2237 -0
  53. package/dist/data/es/sortieData.json +4253 -0
  54. package/dist/data/es/steelPath.json +114 -0
  55. package/dist/data/es/syndicatesData.json +86 -0
  56. package/dist/data/es/synthTargets.json +1262 -0
  57. package/dist/data/es/tutorials.json +17 -0
  58. package/dist/data/es/upgradeTypes.json +14 -0
  59. package/dist/data/eventsData.json +27 -0
  60. package/dist/data/factionsData.json +26 -0
  61. package/dist/data/fissureModifiers.json +26 -0
  62. package/dist/data/fr/arcanes.json +461 -0
  63. package/dist/data/fr/archonShards.json +224 -0
  64. package/dist/data/fr/conclaveData.json +425 -0
  65. package/dist/data/fr/eventsData.json +27 -0
  66. package/dist/data/fr/factionsData.json +26 -0
  67. package/dist/data/fr/fissureModifiers.json +26 -0
  68. package/dist/data/fr/languages.json +19240 -0
  69. package/dist/data/fr/missionTypes.json +77 -0
  70. package/dist/data/fr/operationTypes.json +6 -0
  71. package/dist/data/fr/persistentEnemyData.json +21 -0
  72. package/dist/data/fr/solNodes.json +2237 -0
  73. package/dist/data/fr/sortieData.json +4253 -0
  74. package/dist/data/fr/steelPath.json +114 -0
  75. package/dist/data/fr/syndicatesData.json +86 -0
  76. package/dist/data/fr/synthTargets.json +1262 -0
  77. package/dist/data/fr/tutorials.json +17 -0
  78. package/dist/data/fr/upgradeTypes.json +14 -0
  79. package/dist/data/index.html +13 -0
  80. package/dist/data/it/arcanes.json +461 -0
  81. package/dist/data/it/archonShards.json +224 -0
  82. package/dist/data/it/conclaveData.json +425 -0
  83. package/dist/data/it/eventsData.json +27 -0
  84. package/dist/data/it/factionsData.json +26 -0
  85. package/dist/data/it/fissureModifiers.json +26 -0
  86. package/dist/data/it/languages.json +19240 -0
  87. package/dist/data/it/missionTypes.json +77 -0
  88. package/dist/data/it/operationTypes.json +6 -0
  89. package/dist/data/it/persistentEnemyData.json +21 -0
  90. package/dist/data/it/solNodes.json +2237 -0
  91. package/dist/data/it/sortieData.json +4253 -0
  92. package/dist/data/it/steelPath.json +114 -0
  93. package/dist/data/it/syndicatesData.json +86 -0
  94. package/dist/data/it/synthTargets.json +1262 -0
  95. package/dist/data/it/tutorials.json +17 -0
  96. package/dist/data/it/upgradeTypes.json +14 -0
  97. package/dist/data/ko/arcanes.json +461 -0
  98. package/dist/data/ko/archonShards.json +224 -0
  99. package/dist/data/ko/conclaveData.json +425 -0
  100. package/dist/data/ko/eventsData.json +27 -0
  101. package/dist/data/ko/factionsData.json +26 -0
  102. package/dist/data/ko/fissureModifiers.json +26 -0
  103. package/dist/data/ko/languages.json +19240 -0
  104. package/dist/data/ko/missionTypes.json +77 -0
  105. package/dist/data/ko/operationTypes.json +6 -0
  106. package/dist/data/ko/persistentEnemyData.json +21 -0
  107. package/dist/data/ko/solNodes.json +2237 -0
  108. package/dist/data/ko/sortieData.json +4253 -0
  109. package/dist/data/ko/steelPath.json +114 -0
  110. package/dist/data/ko/syndicatesData.json +86 -0
  111. package/dist/data/ko/synthTargets.json +1262 -0
  112. package/dist/data/ko/tutorials.json +17 -0
  113. package/dist/data/ko/upgradeTypes.json +14 -0
  114. package/dist/data/languages.json +19249 -0
  115. package/dist/data/missionTypes.json +77 -0
  116. package/dist/data/operationTypes.json +6 -0
  117. package/dist/data/persistentEnemyData.json +21 -0
  118. package/dist/data/pl/arcanes.json +461 -0
  119. package/dist/data/pl/archonShards.json +224 -0
  120. package/dist/data/pl/conclaveData.json +425 -0
  121. package/dist/data/pl/eventsData.json +27 -0
  122. package/dist/data/pl/factionsData.json +26 -0
  123. package/dist/data/pl/fissureModifiers.json +26 -0
  124. package/dist/data/pl/languages.json +19240 -0
  125. package/dist/data/pl/missionTypes.json +77 -0
  126. package/dist/data/pl/operationTypes.json +6 -0
  127. package/dist/data/pl/persistentEnemyData.json +21 -0
  128. package/dist/data/pl/solNodes.json +2237 -0
  129. package/dist/data/pl/sortieData.json +4253 -0
  130. package/dist/data/pl/steelPath.json +114 -0
  131. package/dist/data/pl/syndicatesData.json +86 -0
  132. package/dist/data/pl/synthTargets.json +1262 -0
  133. package/dist/data/pl/tutorials.json +17 -0
  134. package/dist/data/pl/upgradeTypes.json +14 -0
  135. package/dist/data/pt/arcanes.json +461 -0
  136. package/dist/data/pt/archonShards.json +224 -0
  137. package/dist/data/pt/conclaveData.json +425 -0
  138. package/dist/data/pt/eventsData.json +27 -0
  139. package/dist/data/pt/factionsData.json +26 -0
  140. package/dist/data/pt/fissureModifiers.json +26 -0
  141. package/dist/data/pt/languages.json +19240 -0
  142. package/dist/data/pt/missionTypes.json +77 -0
  143. package/dist/data/pt/operationTypes.json +6 -0
  144. package/dist/data/pt/persistentEnemyData.json +21 -0
  145. package/dist/data/pt/solNodes.json +2237 -0
  146. package/dist/data/pt/sortieData.json +4253 -0
  147. package/dist/data/pt/steelPath.json +114 -0
  148. package/dist/data/pt/syndicatesData.json +86 -0
  149. package/dist/data/pt/synthTargets.json +1262 -0
  150. package/dist/data/pt/tutorials.json +17 -0
  151. package/dist/data/pt/upgradeTypes.json +14 -0
  152. package/dist/data/ru/arcanes.json +461 -0
  153. package/dist/data/ru/archonShards.json +224 -0
  154. package/dist/data/ru/conclaveData.json +425 -0
  155. package/dist/data/ru/eventsData.json +27 -0
  156. package/dist/data/ru/factionsData.json +26 -0
  157. package/dist/data/ru/fissureModifiers.json +26 -0
  158. package/dist/data/ru/languages.json +19240 -0
  159. package/dist/data/ru/missionTypes.json +77 -0
  160. package/dist/data/ru/operationTypes.json +6 -0
  161. package/dist/data/ru/persistentEnemyData.json +21 -0
  162. package/dist/data/ru/solNodes.json +2237 -0
  163. package/dist/data/ru/sortieData.json +4253 -0
  164. package/dist/data/ru/steelPath.json +114 -0
  165. package/dist/data/ru/syndicatesData.json +86 -0
  166. package/dist/data/ru/synthTargets.json +1262 -0
  167. package/dist/data/ru/tutorials.json +17 -0
  168. package/dist/data/ru/upgradeTypes.json +14 -0
  169. package/dist/data/solNodes.json +2237 -0
  170. package/dist/data/sortieData.json +4253 -0
  171. package/dist/data/sr/arcanes.json +461 -0
  172. package/dist/data/sr/archonShards.json +224 -0
  173. package/dist/data/sr/conclaveData.json +425 -0
  174. package/dist/data/sr/eventsData.json +27 -0
  175. package/dist/data/sr/factionsData.json +26 -0
  176. package/dist/data/sr/fissureModifiers.json +26 -0
  177. package/dist/data/sr/languages.json +19240 -0
  178. package/dist/data/sr/missionTypes.json +77 -0
  179. package/dist/data/sr/operationTypes.json +6 -0
  180. package/dist/data/sr/persistentEnemyData.json +21 -0
  181. package/dist/data/sr/solNodes.json +2237 -0
  182. package/dist/data/sr/sortieData.json +4253 -0
  183. package/dist/data/sr/steelPath.json +114 -0
  184. package/dist/data/sr/syndicatesData.json +86 -0
  185. package/dist/data/sr/synthTargets.json +1262 -0
  186. package/dist/data/sr/tutorials.json +17 -0
  187. package/dist/data/sr/upgradeTypes.json +14 -0
  188. package/dist/data/steelPath.json +33 -0
  189. package/dist/data/syndicatesData.json +86 -0
  190. package/dist/data/synthTargets.json +1262 -0
  191. package/dist/data/tr/arcanes.json +461 -0
  192. package/dist/data/tr/archonShards.json +224 -0
  193. package/dist/data/tr/conclaveData.json +425 -0
  194. package/dist/data/tr/eventsData.json +27 -0
  195. package/dist/data/tr/factionsData.json +26 -0
  196. package/dist/data/tr/fissureModifiers.json +26 -0
  197. package/dist/data/tr/languages.json +19240 -0
  198. package/dist/data/tr/missionTypes.json +77 -0
  199. package/dist/data/tr/operationTypes.json +6 -0
  200. package/dist/data/tr/persistentEnemyData.json +21 -0
  201. package/dist/data/tr/solNodes.json +2237 -0
  202. package/dist/data/tr/sortieData.json +4253 -0
  203. package/dist/data/tr/steelPath.json +114 -0
  204. package/dist/data/tr/syndicatesData.json +86 -0
  205. package/dist/data/tr/synthTargets.json +1262 -0
  206. package/dist/data/tr/tutorials.json +17 -0
  207. package/dist/data/tr/upgradeTypes.json +14 -0
  208. package/dist/data/tutorials.json +17 -0
  209. package/dist/data/uk/arcanes.json +461 -0
  210. package/dist/data/uk/archonShards.json +224 -0
  211. package/dist/data/uk/conclaveData.json +425 -0
  212. package/dist/data/uk/eventsData.json +27 -0
  213. package/dist/data/uk/factionsData.json +26 -0
  214. package/dist/data/uk/fissureModifiers.json +26 -0
  215. package/dist/data/uk/languages.json +19240 -0
  216. package/dist/data/uk/missionTypes.json +77 -0
  217. package/dist/data/uk/operationTypes.json +6 -0
  218. package/dist/data/uk/persistentEnemyData.json +21 -0
  219. package/dist/data/uk/solNodes.json +2237 -0
  220. package/dist/data/uk/sortieData.json +4253 -0
  221. package/dist/data/uk/steelPath.json +114 -0
  222. package/dist/data/uk/syndicatesData.json +86 -0
  223. package/dist/data/uk/synthTargets.json +1262 -0
  224. package/dist/data/uk/tutorials.json +17 -0
  225. package/dist/data/uk/upgradeTypes.json +14 -0
  226. package/dist/data/upgradeTypes.json +14 -0
  227. package/dist/data/zh/arcanes.json +461 -0
  228. package/dist/data/zh/archonShards.json +224 -0
  229. package/dist/data/zh/conclaveData.json +425 -0
  230. package/dist/data/zh/eventsData.json +27 -0
  231. package/dist/data/zh/factionsData.json +26 -0
  232. package/dist/data/zh/fissureModifiers.json +26 -0
  233. package/dist/data/zh/languages.json +19240 -0
  234. package/dist/data/zh/missionTypes.json +77 -0
  235. package/dist/data/zh/operationTypes.json +6 -0
  236. package/dist/data/zh/persistentEnemyData.json +21 -0
  237. package/dist/data/zh/solNodes.json +2237 -0
  238. package/dist/data/zh/sortieData.json +4253 -0
  239. package/dist/data/zh/steelPath.json +114 -0
  240. package/dist/data/zh/syndicatesData.json +86 -0
  241. package/dist/data/zh/synthTargets.json +1262 -0
  242. package/dist/data/zh/tutorials.json +17 -0
  243. package/dist/data/zh/upgradeTypes.json +14 -0
  244. package/dist/exports-D0bYygo0.d.ts +122 -0
  245. package/dist/exports-DOwA1rwv.js +78 -0
  246. package/dist/exports.d.ts +3 -0
  247. package/dist/exports.js +4 -0
  248. package/dist/integrity-Cp6DXUCT.js +15 -0
  249. package/dist/integrity-hhdd4nAB.d.ts +9 -0
  250. package/dist/safeImport-BXmqy9V4.js +21 -0
  251. package/dist/safeImport.d.ts +10 -0
  252. package/dist/safeImport.js +3 -0
  253. package/dist/timeDate-B78E0z0S.js +74 -0
  254. package/dist/timeDate-BZaZFq86.d.ts +48 -0
  255. package/dist/tools/integrity.d.ts +2 -0
  256. package/dist/tools/integrity.js +3 -0
  257. package/dist/tools/timeDate.d.ts +2 -0
  258. package/dist/tools/timeDate.js +3 -0
  259. package/dist/tools/translation.d.ts +4 -0
  260. package/dist/tools/translation.js +5 -0
  261. package/dist/tools/utilities.d.ts +6 -0
  262. package/dist/tools/utilities.js +7 -0
  263. package/dist/translation-BbEpzl6v.js +342 -0
  264. package/dist/translation-CMA-O2tP.d.ts +292 -0
  265. package/dist/types-Clh1x9kB.d.ts +94 -0
  266. package/dist/types.d.ts +2 -0
  267. package/dist/types.js +0 -0
  268. package/exports.ts +153 -0
  269. package/package.json +31 -18
  270. package/{safeImport.js → safeImport.ts} +8 -4
  271. package/tools/integrity.ts +16 -0
  272. package/tools/sortLanguages.ts +44 -0
  273. package/tools/{timeDate.js → timeDate.ts} +12 -8
  274. package/tools/{translation.js → translation.ts} +79 -52
  275. package/tools/utilities.ts +3 -0
  276. package/tsconfig.json +13 -0
  277. package/tsdown.config.ts +15 -0
  278. package/types.ts +69 -0
  279. package/.eslintignore +0 -3
  280. package/.eslintrc.yml +0 -19
  281. package/exports.js +0 -144
  282. package/tools/integrity.js +0 -15
  283. package/tools/utilities.js +0 -3
@@ -0,0 +1,342 @@
1
+ import { exports_default } from "./exports-DOwA1rwv.js";
2
+
3
+ //#region tools/translation.ts
4
+ /**
5
+ * Rough Titlecase!
6
+ * @param {string} str string to be titlecased
7
+ * @returns {string} titlecased string
8
+ */
9
+ const toTitleCase = (str) => {
10
+ return str.replace(/\w\S*/g, (txt) => txt.charAt(0).toUpperCase() + txt.substring(1).toLowerCase());
11
+ };
12
+ /**
13
+ * Utility function to split the resource name and return somewhat human-readable string
14
+ * @param {string} str localization resource key
15
+ * @returns {string} human-readable string
16
+ */
17
+ const splitResourceName = (str) => str.split(/([A-Z]?[^A-Z]*)/g).filter(Boolean).join(" ");
18
+ const lastResourceName = (str) => str ? str.split?.("/").reverse()[0] : str;
19
+ const i18n = (locale = "en") => exports_default[locale] || exports_default;
20
+ const keyInData = (key, dataOverride) => key in i18n(dataOverride) ? i18n(dataOverride)[key] : key;
21
+ /**
22
+ *
23
+ * @param {string} color - The internal color name
24
+ * @param {string} dataOverride locale for use with translation
25
+ * @returns {Object | undefined}
26
+ */
27
+ const archonShard = (color, dataOverride = "en") => {
28
+ return keyInData("archonShards", dataOverride)[color];
29
+ };
30
+ /**
31
+ *
32
+ * @param {string} color - The internal color name
33
+ * @param {string} dataOverride locale for use with translation
34
+ * @returns {string}
35
+ */
36
+ const archonShardColor = (color, dataOverride = "en") => archonShard(color, dataOverride)?.value ?? color;
37
+ /**
38
+ *
39
+ * @param {string} color - The internal color name
40
+ * @param {string} upgradeType - The upgrade type
41
+ * @param {string} dataOverride locale for use with translation
42
+ * @returns {string}
43
+ */
44
+ const archonShardUpgradeType = (color, upgradeType, dataOverride = "en") => archonShard(color, dataOverride)?.upgradeTypes[upgradeType]?.value ?? lastResourceName(upgradeType);
45
+ /**
46
+ *
47
+ * @param {string} key - The data key
48
+ * @param {string} dataOverride locale for use with translation
49
+ * @returns {string} faction name
50
+ */
51
+ const faction = (key, dataOverride = "en") => keyInData("factions", dataOverride)[key]?.value ?? key;
52
+ const solNode = (key, thing, dataOverride = "en") => keyInData("solNodes", dataOverride)?.[key]?.[thing] ?? lastResourceName(key) ?? key;
53
+ /**
54
+ *
55
+ * @param {string} key - The data key
56
+ * @param {string} dataOverride locale for use with translation
57
+ * @returns {string} node name
58
+ */
59
+ const node = (key, dataOverride = "en") => solNode(key, "value", dataOverride);
60
+ /**
61
+ *
62
+ * @param {string} key - The data key
63
+ * @param {string} dataOverride locale for use with translation
64
+ * @returns {string} mission type of the node
65
+ */
66
+ const nodeMissionType = (key, dataOverride = "en") => solNode(key, "type", dataOverride);
67
+ /**
68
+ *
69
+ * @param {string} key - The data key
70
+ * @param {string} dataOverride locale for use with translation
71
+ * @returns {string} faction that controls the node
72
+ */
73
+ const nodeEnemy = (key, dataOverride = "en") => {
74
+ return key in i18n(dataOverride).solNodes ? i18n(dataOverride).solNodes[key].enemy : lastResourceName(key) ?? key;
75
+ };
76
+ /**
77
+ *
78
+ * @param {string} key - The data key
79
+ * @param {string} dataOverride locale for use with translation
80
+ * @returns {string} localization for language string
81
+ */
82
+ const languageString = (key, dataOverride = "en") => {
83
+ const lowerKey = String(key).toLowerCase();
84
+ return i18n(dataOverride).languages[lowerKey]?.value ?? i18n(dataOverride).languages[key]?.value ?? (key ? toTitleCase(splitResourceName(lastResourceName(String(key)) ?? "")) : key);
85
+ };
86
+ /**
87
+ *
88
+ * @param {string} key - The data key
89
+ * @param {string} dataOverride locale for use with translation
90
+ * @returns {string} localization for language description
91
+ */
92
+ const languageDesc = (key, dataOverride = "en") => {
93
+ const lowerKey = String(key).toLowerCase();
94
+ return i18n(dataOverride).languages[lowerKey]?.desc ?? i18n(dataOverride).languages[key]?.desc ?? (key ? `[PH] ${toTitleCase(splitResourceName(lastResourceName(String(key)) ?? ""))} Desc` : key);
95
+ };
96
+ /**
97
+ *
98
+ * @param {string} key - The data key
99
+ * @param {string} dataOverride locale for use with translation
100
+ * @returns {string} translation for mission type
101
+ */
102
+ const missionType = (key, dataOverride = "en") => {
103
+ const keyBased = key && typeof key === "string" && toTitleCase((key ?? "").replace(/^MT_/, ""));
104
+ return key in i18n(dataOverride).missionTypes ? i18n(dataOverride).missionTypes[key].value : keyBased;
105
+ };
106
+ const conclave = (key, thing, dataOverride = "en") => keyInData("conclave", dataOverride)?.[thing]?.[key];
107
+ /**
108
+ *
109
+ * @param {string} key - The data key
110
+ * @param {string} dataOverride locale for use with translation
111
+ * @returns {string} conclave mode
112
+ */
113
+ const conclaveMode = (key, dataOverride = "en") => conclave(key, "modes", dataOverride)?.value ?? key;
114
+ /**
115
+ *
116
+ * @param {string} key - The data key
117
+ * @param {string} dataOverride locale for use with translation
118
+ * @returns {{ value: string; description: string }} conclave category
119
+ */
120
+ const conclaveCategory = (key, dataOverride = "en") => conclave(key, "categories", dataOverride)?.value ?? key;
121
+ const fissure = (key, dataOverride = "en") => keyInData("fissureModifiers", dataOverride)?.[key] ?? key;
122
+ /**
123
+ *
124
+ * @param {string} key - The data key
125
+ * @param {string} dataOverride locale for use with translation
126
+ * @returns {string} fissure modifier data
127
+ */
128
+ const fissureModifier = (key, dataOverride = "en") => fissure(key, dataOverride)?.value ?? key;
129
+ /**
130
+ *
131
+ * @param {string} key - The data key
132
+ * @param {string} dataOverride locale for use with translation
133
+ * @returns {number | string} fissure tier
134
+ */
135
+ const fissureTier = (key, dataOverride = "en") => fissure(key, dataOverride).num ?? key;
136
+ /**
137
+ *
138
+ * @param {string} key - The data key
139
+ * @param {string} dataOverride locale for use with translation
140
+ * @returns {string} syndicate name
141
+ */
142
+ const syndicate = (key, dataOverride = "en") => i18n(dataOverride).syndicates[key]?.name ?? key;
143
+ /**
144
+ *
145
+ * @param {string} key - The data key
146
+ * @param {string} dataOverride locale for use with translation
147
+ * @returns {string} upgrade type
148
+ */
149
+ const upgrade = (key, dataOverride = "en") => i18n(dataOverride).upgradeTypes[key]?.value ?? key;
150
+ const oppo = (key, dataOverride = "en") => i18n(dataOverride).operationTypes[key];
151
+ /**
152
+ *
153
+ * @param {string} key - The data key
154
+ * @param {string} dataOverride locale for use with translation
155
+ * @returns {string} mathematical operation value
156
+ */
157
+ const operation = (key, dataOverride = "en") => oppo(key, dataOverride)?.value ?? key;
158
+ /**
159
+ *
160
+ * @param {string} key - The data key
161
+ * @param {string} dataOverride locale for use with translation
162
+ * @returns {string} symbol of mathematical operation
163
+ */
164
+ const operationSymbol = (key, dataOverride = "en") => oppo(key, dataOverride)?.symbol ?? key;
165
+ const sortie = (key, dataOverride = "en") => i18n(dataOverride).sortie.bosses[key];
166
+ /**
167
+ * @param {string} key - The data key
168
+ * @param {string} dataOverride locale for use with translation
169
+ * @returns {string} sortie boss name
170
+ */
171
+ const sortieBoss = (key, dataOverride = "en") => sortie(key, dataOverride)?.name ?? key;
172
+ /**
173
+ * @param {string} key - The data key
174
+ * @param {string} dataOverride locale for use with translation
175
+ * @returns {string} faction for a sortie based on the boss
176
+ */
177
+ const sortieFaction = (key, dataOverride = "en") => sortie(key, dataOverride)?.faction ?? key;
178
+ /**
179
+ *
180
+ * @param {string} key - The data key
181
+ * @param {string} dataOverride locale for use with translation
182
+ * @returns {string} sortie modifier data
183
+ */
184
+ const sortieModifier = (key, dataOverride = "en") => i18n(dataOverride).sortie.modifierTypes?.[key] ?? key;
185
+ /**
186
+ * @param {string} key - The data key
187
+ * @param {string} dataOverride locale for use with translation
188
+ * @returns {string} sortie modifier description
189
+ */
190
+ const sortieModDesc = (key, dataOverride = "en") => i18n(dataOverride).sortie.modifierDescriptions?.[key] ?? key;
191
+ /**
192
+ * Retrieve the localized region for a given key
193
+ * @param {string | number} key - The region key
194
+ * @param {string} dataOverride - The locale to use for translations
195
+ * @returns {string} localized region name
196
+ */
197
+ const region = (key, dataOverride = "en") => (key && i18n(dataOverride).persistentEnemy?.regions[key]) ?? key;
198
+ /**
199
+ * Retrieve conclave challenge name for the given key and locale
200
+ * @param {string} key key to retrieve
201
+ * @param {string} dataOverride locale key override
202
+ * @returns {{
203
+ * title: string,
204
+ * description: string,
205
+ * standing: number,
206
+ * }} - The conclave challenge name for the given key
207
+ */
208
+ const conclaveChallenge = (key, dataOverride = "en") => {
209
+ const splitKey = lastResourceName(String(key));
210
+ if (splitKey !== void 0 && i18n(dataOverride).conclave?.challenges?.[splitKey]) return i18n(dataOverride).conclave.challenges[splitKey];
211
+ return {
212
+ title: toTitleCase(splitResourceName(splitKey)),
213
+ description: toTitleCase(splitResourceName(splitKey)),
214
+ standing: 0
215
+ };
216
+ };
217
+ /**
218
+ * Get the steel path data for given key
219
+ * @param {string} dataOverride - The locale to use for translations
220
+ * @returns {string} - The steel path data for the given key
221
+ */
222
+ const steelPath = (dataOverride = "en") => (i18n(dataOverride) || exports_default).steelPath;
223
+ const valMapping = (key, map) => {
224
+ let val = "None";
225
+ Object.keys(map).forEach((k) => {
226
+ if (key.includes(k)) val = map[k];
227
+ });
228
+ return val;
229
+ };
230
+ const focusMap = {
231
+ "Focus/Attack": "Madurai",
232
+ "Focus/Defense": "Vazarin",
233
+ "Focus/Tactic": "Naramon",
234
+ "Focus/Power": "Zenurik",
235
+ "Focus/Ward": "Unairu"
236
+ };
237
+ /**
238
+ * Translate the given focus school
239
+ * @param {string} focus The focus school to translate
240
+ * @returns {string} The translated focus school
241
+ */
242
+ const translateFocus = (focus = "") => valMapping(focus, focusMap);
243
+ const polarityMap = {
244
+ AP_ATTACK: "Madurai",
245
+ AP_DEFENSE: "Vazarin",
246
+ AP_TACTIC: "Naramon",
247
+ AP_POWER: "Zenurik",
248
+ AP_WARD: "Unairu",
249
+ AP_UMBRA: "Umbra",
250
+ AP_ANY: "Aura"
251
+ };
252
+ /**
253
+ * Translate the given polarity
254
+ * @param {string?} pol The polarity to translate
255
+ * @returns {string} The translated polarity
256
+ */
257
+ const translatePolarity = (pol = "") => valMapping(pol, polarityMap);
258
+ const eventTypeMap = {
259
+ CET_CHALLENGE: "To Do",
260
+ CET_UPGRADE: "Override",
261
+ CET_REWARD: "Big Prize!",
262
+ CET_PLOT: "Birthday"
263
+ };
264
+ /**
265
+ * Translate the given event key
266
+ * @param {string} key Unique event type
267
+ * @returns {string}
268
+ */
269
+ const translateCalendarEvent = (key) => valMapping(key, eventTypeMap);
270
+ /**
271
+ * Translate the given season name to a non-unique string
272
+ * @param {string} season Unique season name
273
+ * @returns {string}
274
+ */
275
+ const translateSeason = (season) => toTitleCase(season.replace("CST_", ""));
276
+ /**
277
+ * An object containing functions to convert in-game names to their localizations
278
+ * @typedef {Record<string, function>} Translator
279
+ * @property {function} faction - Converts faction names
280
+ * @property {function} node - Converts star map node names
281
+ * @property {function} nodeMissionType - Returns the mission type of given node
282
+ * @property {function} nodeEnemy - Returns the faction that controls a given node
283
+ * @property {function} languageString - Converts generic language strings
284
+ * @property {function} languageDesc - Converts generic language strings
285
+ * and retrieves the description
286
+ * @property {function} missionType - Converts mission types
287
+ * @property {function} conclaveMode - Converts conclave modes
288
+ * @property {function} conclaveCategory - Converts conclave challenge categories
289
+ * @property {function} fissureModifier - Converts fissure mission modifiers
290
+ * @property {function} syndicate - Converts syndicate names
291
+ * @property {function} upgrade - Converts upgrade types
292
+ * @property {function} operation - Converts operation types
293
+ * @property {function} sortieBoss - Converts sortie boss names
294
+ * @property {function} sortieModifier - Converts sortie modifier types
295
+ * @property {function} sortieModDesc - Converts sortie modifier type descriptions
296
+ * @property {function} region - Converts persistent enemy region indicies
297
+ * @property {function} conclaveChallenge - Convert conclave identifiers into standing data
298
+ * @property {function} steelPath - Retrieve Steel Path rotation data for locale
299
+ * @property {function} toTitleCase - Format provided string as titlecase
300
+ * @property {function} translateFocus - Translate focus schools
301
+ * @property {function} translatePolarity - Translate polarities
302
+ * @property {function} archonShard - Converts archon shard names
303
+ * @property {function} archonShardColor - Converts archon shard names to in-game color values
304
+ * @property {function} archonShardUpgradeType - Convert archon shard upgrade type
305
+ * @property {function} translateCalendarEvent - Translate the given event key
306
+ * @property {function} translateSeason - Translate the given season name to a non-unique string
307
+ */
308
+ var translation_default = {
309
+ faction,
310
+ node,
311
+ nodeMissionType,
312
+ nodeEnemy,
313
+ languageString,
314
+ languageDesc,
315
+ missionType,
316
+ conclaveMode,
317
+ conclaveCategory,
318
+ fissureModifier,
319
+ fissureTier,
320
+ syndicate,
321
+ upgrade,
322
+ operation,
323
+ operationSymbol,
324
+ sortieBoss,
325
+ sortieModifier,
326
+ sortieModDesc,
327
+ sortieFaction,
328
+ region,
329
+ conclaveChallenge,
330
+ steelPath,
331
+ toTitleCase,
332
+ translateFocus,
333
+ translatePolarity,
334
+ archonShard,
335
+ archonShardColor,
336
+ archonShardUpgradeType,
337
+ translateCalendarEvent,
338
+ translateSeason
339
+ };
340
+
341
+ //#endregion
342
+ export { archonShard, archonShardColor, archonShardUpgradeType, conclaveCategory, conclaveChallenge, conclaveMode, faction, fissureModifier, fissureTier, languageDesc, languageString, lastResourceName, missionType, node, nodeEnemy, nodeMissionType, operation, operationSymbol, region, sortieBoss, sortieFaction, sortieModDesc, sortieModifier, splitResourceName, steelPath, syndicate, toTitleCase, translateCalendarEvent, translateFocus, translatePolarity, translateSeason, translation_default, upgrade };
@@ -0,0 +1,292 @@
1
+ import { ArchonShard, SteelPath } from "./types-Clh1x9kB.js";
2
+ import { Locale } from "./exports-D0bYygo0.js";
3
+
4
+ //#region tools/translation.d.ts
5
+
6
+ /**
7
+ * Rough Titlecase!
8
+ * @param {string} str string to be titlecased
9
+ * @returns {string} titlecased string
10
+ */
11
+ declare const toTitleCase: (str: string) => string;
12
+ /**
13
+ * Utility function to split the resource name and return somewhat human-readable string
14
+ * @param {string} str localization resource key
15
+ * @returns {string} human-readable string
16
+ */
17
+ declare const splitResourceName: (str: string) => string;
18
+ declare const lastResourceName: (str: string | undefined) => string | undefined;
19
+ /**
20
+ *
21
+ * @param {string} color - The internal color name
22
+ * @param {string} dataOverride locale for use with translation
23
+ * @returns {Object | undefined}
24
+ */
25
+ declare const archonShard: (color: string, dataOverride?: Locale) => ArchonShard;
26
+ /**
27
+ *
28
+ * @param {string} color - The internal color name
29
+ * @param {string} dataOverride locale for use with translation
30
+ * @returns {string}
31
+ */
32
+ declare const archonShardColor: (color: string, dataOverride?: Locale) => string;
33
+ /**
34
+ *
35
+ * @param {string} color - The internal color name
36
+ * @param {string} upgradeType - The upgrade type
37
+ * @param {string} dataOverride locale for use with translation
38
+ * @returns {string}
39
+ */
40
+ declare const archonShardUpgradeType: (color: string, upgradeType: string, dataOverride?: Locale) => string;
41
+ /**
42
+ *
43
+ * @param {string} key - The data key
44
+ * @param {string} dataOverride locale for use with translation
45
+ * @returns {string} faction name
46
+ */
47
+ declare const faction: (key: string, dataOverride?: Locale) => string;
48
+ /**
49
+ *
50
+ * @param {string} key - The data key
51
+ * @param {string} dataOverride locale for use with translation
52
+ * @returns {string} node name
53
+ */
54
+ declare const node: (key: string, dataOverride?: Locale) => string;
55
+ /**
56
+ *
57
+ * @param {string} key - The data key
58
+ * @param {string} dataOverride locale for use with translation
59
+ * @returns {string} mission type of the node
60
+ */
61
+ declare const nodeMissionType: (key: string, dataOverride?: Locale) => string;
62
+ /**
63
+ *
64
+ * @param {string} key - The data key
65
+ * @param {string} dataOverride locale for use with translation
66
+ * @returns {string} faction that controls the node
67
+ */
68
+ declare const nodeEnemy: (key: string, dataOverride?: Locale) => string;
69
+ /**
70
+ *
71
+ * @param {string} key - The data key
72
+ * @param {string} dataOverride locale for use with translation
73
+ * @returns {string} localization for language string
74
+ */
75
+ declare const languageString: (key: string, dataOverride?: Locale) => string;
76
+ /**
77
+ *
78
+ * @param {string} key - The data key
79
+ * @param {string} dataOverride locale for use with translation
80
+ * @returns {string} localization for language description
81
+ */
82
+ declare const languageDesc: (key: string, dataOverride?: Locale) => string;
83
+ /**
84
+ *
85
+ * @param {string} key - The data key
86
+ * @param {string} dataOverride locale for use with translation
87
+ * @returns {string} translation for mission type
88
+ */
89
+ declare const missionType: (key: string, dataOverride?: Locale) => string;
90
+ /**
91
+ *
92
+ * @param {string} key - The data key
93
+ * @param {string} dataOverride locale for use with translation
94
+ * @returns {string} conclave mode
95
+ */
96
+ declare const conclaveMode: (key: string, dataOverride?: Locale) => string;
97
+ /**
98
+ *
99
+ * @param {string} key - The data key
100
+ * @param {string} dataOverride locale for use with translation
101
+ * @returns {{ value: string; description: string }} conclave category
102
+ */
103
+ declare const conclaveCategory: (key: string, dataOverride?: Locale) => string;
104
+ /**
105
+ *
106
+ * @param {string} key - The data key
107
+ * @param {string} dataOverride locale for use with translation
108
+ * @returns {string} fissure modifier data
109
+ */
110
+ declare const fissureModifier: (key: string, dataOverride?: Locale) => string;
111
+ /**
112
+ *
113
+ * @param {string} key - The data key
114
+ * @param {string} dataOverride locale for use with translation
115
+ * @returns {number | string} fissure tier
116
+ */
117
+ declare const fissureTier: (key: string, dataOverride?: Locale) => number | string;
118
+ /**
119
+ *
120
+ * @param {string} key - The data key
121
+ * @param {string} dataOverride locale for use with translation
122
+ * @returns {string} syndicate name
123
+ */
124
+ declare const syndicate: (key: string, dataOverride?: Locale) => string;
125
+ /**
126
+ *
127
+ * @param {string} key - The data key
128
+ * @param {string} dataOverride locale for use with translation
129
+ * @returns {string} upgrade type
130
+ */
131
+ declare const upgrade: (key: string, dataOverride?: Locale) => string;
132
+ /**
133
+ *
134
+ * @param {string} key - The data key
135
+ * @param {string} dataOverride locale for use with translation
136
+ * @returns {string} mathematical operation value
137
+ */
138
+ declare const operation: (key: string, dataOverride?: Locale) => string;
139
+ /**
140
+ *
141
+ * @param {string} key - The data key
142
+ * @param {string} dataOverride locale for use with translation
143
+ * @returns {string} symbol of mathematical operation
144
+ */
145
+ declare const operationSymbol: (key: string, dataOverride?: Locale) => string;
146
+ /**
147
+ * @param {string} key - The data key
148
+ * @param {string} dataOverride locale for use with translation
149
+ * @returns {string} sortie boss name
150
+ */
151
+ declare const sortieBoss: (key: string, dataOverride?: Locale) => string;
152
+ /**
153
+ * @param {string} key - The data key
154
+ * @param {string} dataOverride locale for use with translation
155
+ * @returns {string} faction for a sortie based on the boss
156
+ */
157
+ declare const sortieFaction: (key: string, dataOverride?: Locale) => string;
158
+ /**
159
+ *
160
+ * @param {string} key - The data key
161
+ * @param {string} dataOverride locale for use with translation
162
+ * @returns {string} sortie modifier data
163
+ */
164
+ declare const sortieModifier: (key: string, dataOverride?: Locale) => string;
165
+ /**
166
+ * @param {string} key - The data key
167
+ * @param {string} dataOverride locale for use with translation
168
+ * @returns {string} sortie modifier description
169
+ */
170
+ declare const sortieModDesc: (key: string, dataOverride?: Locale) => string;
171
+ /**
172
+ * Retrieve the localized region for a given key
173
+ * @param {string | number} key - The region key
174
+ * @param {string} dataOverride - The locale to use for translations
175
+ * @returns {string} localized region name
176
+ */
177
+ declare const region: (key: number, dataOverride?: Locale) => string | number;
178
+ /**
179
+ * Retrieve conclave challenge name for the given key and locale
180
+ * @param {string} key key to retrieve
181
+ * @param {string} dataOverride locale key override
182
+ * @returns {{
183
+ * title: string,
184
+ * description: string,
185
+ * standing: number,
186
+ * }} - The conclave challenge name for the given key
187
+ */
188
+ declare const conclaveChallenge: (key: string, dataOverride?: Locale) => {
189
+ title: string;
190
+ description: string;
191
+ standing: number;
192
+ };
193
+ /**
194
+ * Get the steel path data for given key
195
+ * @param {string} dataOverride - The locale to use for translations
196
+ * @returns {string} - The steel path data for the given key
197
+ */
198
+ declare const steelPath: (dataOverride?: Locale) => SteelPath;
199
+ /**
200
+ * Translate the given focus school
201
+ * @param {string} focus The focus school to translate
202
+ * @returns {string} The translated focus school
203
+ */
204
+ declare const translateFocus: (focus?: string) => string;
205
+ /**
206
+ * Translate the given polarity
207
+ * @param {string?} pol The polarity to translate
208
+ * @returns {string} The translated polarity
209
+ */
210
+ declare const translatePolarity: (pol?: string) => string;
211
+ /**
212
+ * Translate the given event key
213
+ * @param {string} key Unique event type
214
+ * @returns {string}
215
+ */
216
+ declare const translateCalendarEvent: (key: string) => string;
217
+ /**
218
+ * Translate the given season name to a non-unique string
219
+ * @param {string} season Unique season name
220
+ * @returns {string}
221
+ */
222
+ declare const translateSeason: (season: string) => string;
223
+ /**
224
+ * An object containing functions to convert in-game names to their localizations
225
+ * @typedef {Record<string, function>} Translator
226
+ * @property {function} faction - Converts faction names
227
+ * @property {function} node - Converts star map node names
228
+ * @property {function} nodeMissionType - Returns the mission type of given node
229
+ * @property {function} nodeEnemy - Returns the faction that controls a given node
230
+ * @property {function} languageString - Converts generic language strings
231
+ * @property {function} languageDesc - Converts generic language strings
232
+ * and retrieves the description
233
+ * @property {function} missionType - Converts mission types
234
+ * @property {function} conclaveMode - Converts conclave modes
235
+ * @property {function} conclaveCategory - Converts conclave challenge categories
236
+ * @property {function} fissureModifier - Converts fissure mission modifiers
237
+ * @property {function} syndicate - Converts syndicate names
238
+ * @property {function} upgrade - Converts upgrade types
239
+ * @property {function} operation - Converts operation types
240
+ * @property {function} sortieBoss - Converts sortie boss names
241
+ * @property {function} sortieModifier - Converts sortie modifier types
242
+ * @property {function} sortieModDesc - Converts sortie modifier type descriptions
243
+ * @property {function} region - Converts persistent enemy region indicies
244
+ * @property {function} conclaveChallenge - Convert conclave identifiers into standing data
245
+ * @property {function} steelPath - Retrieve Steel Path rotation data for locale
246
+ * @property {function} toTitleCase - Format provided string as titlecase
247
+ * @property {function} translateFocus - Translate focus schools
248
+ * @property {function} translatePolarity - Translate polarities
249
+ * @property {function} archonShard - Converts archon shard names
250
+ * @property {function} archonShardColor - Converts archon shard names to in-game color values
251
+ * @property {function} archonShardUpgradeType - Convert archon shard upgrade type
252
+ * @property {function} translateCalendarEvent - Translate the given event key
253
+ * @property {function} translateSeason - Translate the given season name to a non-unique string
254
+ */
255
+ declare const _default: {
256
+ faction: (key: string, dataOverride?: Locale) => string;
257
+ node: (key: string, dataOverride?: Locale) => string;
258
+ nodeMissionType: (key: string, dataOverride?: Locale) => string;
259
+ nodeEnemy: (key: string, dataOverride?: Locale) => string;
260
+ languageString: (key: string, dataOverride?: Locale) => string;
261
+ languageDesc: (key: string, dataOverride?: Locale) => string;
262
+ missionType: (key: string, dataOverride?: Locale) => string;
263
+ conclaveMode: (key: string, dataOverride?: Locale) => string;
264
+ conclaveCategory: (key: string, dataOverride?: Locale) => string;
265
+ fissureModifier: (key: string, dataOverride?: Locale) => string;
266
+ fissureTier: (key: string, dataOverride?: Locale) => number | string;
267
+ syndicate: (key: string, dataOverride?: Locale) => string;
268
+ upgrade: (key: string, dataOverride?: Locale) => string;
269
+ operation: (key: string, dataOverride?: Locale) => string;
270
+ operationSymbol: (key: string, dataOverride?: Locale) => string;
271
+ sortieBoss: (key: string, dataOverride?: Locale) => string;
272
+ sortieModifier: (key: string, dataOverride?: Locale) => string;
273
+ sortieModDesc: (key: string, dataOverride?: Locale) => string;
274
+ sortieFaction: (key: string, dataOverride?: Locale) => string;
275
+ region: (key: number, dataOverride?: Locale) => string | number;
276
+ conclaveChallenge: (key: string, dataOverride?: Locale) => {
277
+ title: string;
278
+ description: string;
279
+ standing: number;
280
+ };
281
+ steelPath: (dataOverride?: Locale) => SteelPath;
282
+ toTitleCase: (str: string) => string;
283
+ translateFocus: (focus?: string) => string;
284
+ translatePolarity: (pol?: string) => string;
285
+ archonShard: (color: string, dataOverride?: Locale) => ArchonShard;
286
+ archonShardColor: (color: string, dataOverride?: Locale) => string;
287
+ archonShardUpgradeType: (color: string, upgradeType: string, dataOverride?: Locale) => string;
288
+ translateCalendarEvent: (key: string) => string;
289
+ translateSeason: (season: string) => string;
290
+ };
291
+ //#endregion
292
+ export { _default, archonShard, archonShardColor, archonShardUpgradeType, conclaveCategory, conclaveChallenge, conclaveMode, faction, fissureModifier, fissureTier, languageDesc, languageString, lastResourceName, missionType, node, nodeEnemy, nodeMissionType, operation, operationSymbol, region, sortieBoss, sortieFaction, sortieModDesc, sortieModifier, splitResourceName, steelPath, syndicate, toTitleCase, translateCalendarEvent, translateFocus, translatePolarity, translateSeason, upgrade };