@elite-dangerous-almanac/core 0.2.8 → 0.2.10

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 (263) hide show
  1. package/PROVENANCE/astro/SOURCES.md +13 -12
  2. package/PROVENANCE/commodities/SOURCES.md +50 -6
  3. package/PROVENANCE/equipment/SOURCES.md +137 -45
  4. package/PROVENANCE/i18n/SOURCES.md +187 -81
  5. package/PROVENANCE/ships/SOURCES.md +344 -200
  6. package/README.md +10 -2
  7. package/THIRD_PARTY_NOTICES.md +11 -3
  8. package/dist/astro/body-rings.d.ts +2 -2
  9. package/dist/astro/codex-region-lookup.d.ts +1 -1
  10. package/dist/astro/codex-region-lookup.js +1 -1
  11. package/dist/astro/hand-authored-regions.d.ts +1 -1
  12. package/dist/astro/index.d.ts +1 -1
  13. package/dist/astro/index.js +1 -1
  14. package/dist/astro/naming-region-origins.d.ts +1 -1
  15. package/dist/astro/naming-region-origins.js +1 -1
  16. package/dist/astro/nebulae-all.d.ts +4 -6
  17. package/dist/astro/nebulae-all.js +1 -1
  18. package/dist/astro/nebulae-all.js.map +1 -1
  19. package/dist/astro/nebulae-planetary.d.ts +4 -5
  20. package/dist/astro/nebulae-planetary.js +1 -1
  21. package/dist/astro/nebulae-procgen.d.ts +3 -3
  22. package/dist/astro/nebulae-real.d.ts +3 -3
  23. package/dist/astro/nebulae.d.ts +8 -8
  24. package/dist/astro/permit-locked-regions.d.ts +2 -2
  25. package/dist/astro/permit-locked-systems.d.ts +1 -1
  26. package/dist/astro/permit-locks.d.ts +2 -2
  27. package/dist/astro/procedural-system.d.ts +3 -3
  28. package/dist/astro/procedural-system.js +1 -1
  29. package/dist/astro/system-address.d.ts +1 -1
  30. package/dist/astro/system-address.js +1 -1
  31. package/dist/astro/system-name.js +1 -1
  32. package/dist/{chunk-XSLPWM5N.js → chunk-2J6NNI3Y.js} +1 -1
  33. package/dist/{chunk-DWRNXUAX.js → chunk-2KIZN3BY.js} +1 -1
  34. package/dist/{chunk-J7BM5NGK.js → chunk-2TY42PTF.js} +1 -1
  35. package/dist/{chunk-773VO2GK.js → chunk-4T3TTYUT.js} +1 -1
  36. package/dist/{chunk-773VO2GK.js.map → chunk-4T3TTYUT.js.map} +1 -1
  37. package/dist/{chunk-W5ULI75F.js → chunk-7C7NJWCF.js} +1 -1
  38. package/dist/{chunk-W5ULI75F.js.map → chunk-7C7NJWCF.js.map} +1 -1
  39. package/dist/{chunk-IMNOEFUE.js → chunk-7Y5EK2VO.js} +1 -1
  40. package/dist/{chunk-IMNOEFUE.js.map → chunk-7Y5EK2VO.js.map} +1 -1
  41. package/dist/{chunk-2OBUSQA7.js → chunk-AAU7OM47.js} +1 -1
  42. package/dist/{chunk-2OBUSQA7.js.map → chunk-AAU7OM47.js.map} +1 -1
  43. package/dist/{chunk-BJU27V6C.js → chunk-AUBV6S7V.js} +1 -1
  44. package/dist/{chunk-BJU27V6C.js.map → chunk-AUBV6S7V.js.map} +1 -1
  45. package/dist/{chunk-DI5RXSJR.js → chunk-BVLBS2QY.js} +1 -1
  46. package/dist/{chunk-DI5RXSJR.js.map → chunk-BVLBS2QY.js.map} +1 -1
  47. package/dist/{chunk-IN36YSS4.js → chunk-C3YZ5KTA.js} +1 -1
  48. package/dist/{chunk-IN36YSS4.js.map → chunk-C3YZ5KTA.js.map} +1 -1
  49. package/dist/{chunk-6UNAD74Z.js → chunk-C4FUV6GF.js} +1 -1
  50. package/dist/{chunk-6UNAD74Z.js.map → chunk-C4FUV6GF.js.map} +1 -1
  51. package/dist/chunk-C6G7IN74.js +1 -0
  52. package/dist/chunk-C6G7IN74.js.map +1 -0
  53. package/dist/chunk-CEF7SMB2.js +1 -0
  54. package/dist/chunk-CEF7SMB2.js.map +1 -0
  55. package/dist/chunk-E2HDF6PJ.js +1 -0
  56. package/dist/chunk-E2HDF6PJ.js.map +1 -0
  57. package/dist/{chunk-OFZGNWBT.js → chunk-ETREYN5U.js} +1 -1
  58. package/dist/{chunk-OFZGNWBT.js.map → chunk-ETREYN5U.js.map} +1 -1
  59. package/dist/{chunk-KBCA4GEZ.js → chunk-FP2TQJZP.js} +1 -1
  60. package/dist/{chunk-YJAH6DFY.js → chunk-G7WARJ3X.js} +1 -1
  61. package/dist/chunk-G7WARJ3X.js.map +1 -0
  62. package/dist/{chunk-Z4OUB4SJ.js → chunk-GLTCCDN5.js} +1 -1
  63. package/dist/{chunk-Z4OUB4SJ.js.map → chunk-GLTCCDN5.js.map} +1 -1
  64. package/dist/chunk-GVNTKCVF.js +1 -0
  65. package/dist/chunk-GVNTKCVF.js.map +1 -0
  66. package/dist/{chunk-Q6YDPREF.js → chunk-GZLD7RTK.js} +1 -1
  67. package/dist/{chunk-Q6YDPREF.js.map → chunk-GZLD7RTK.js.map} +1 -1
  68. package/dist/{chunk-SC4MEHVY.js → chunk-HIJR7DOC.js} +1 -1
  69. package/dist/{chunk-SC4MEHVY.js.map → chunk-HIJR7DOC.js.map} +1 -1
  70. package/dist/{chunk-ETWMPMZP.js → chunk-K5JK3XQB.js} +1 -1
  71. package/dist/{chunk-GRIK3EDH.js → chunk-KY7KSPU6.js} +1 -1
  72. package/dist/{chunk-GRIK3EDH.js.map → chunk-KY7KSPU6.js.map} +1 -1
  73. package/dist/{chunk-EHFHRQEP.js → chunk-M4STXLXO.js} +1 -1
  74. package/dist/{chunk-EHFHRQEP.js.map → chunk-M4STXLXO.js.map} +1 -1
  75. package/dist/{chunk-5YEHJM6V.js → chunk-OSMBAFRW.js} +1 -1
  76. package/dist/{chunk-5YEHJM6V.js.map → chunk-OSMBAFRW.js.map} +1 -1
  77. package/dist/chunk-PIU24HRN.js +1 -0
  78. package/dist/chunk-PIU24HRN.js.map +1 -0
  79. package/dist/{chunk-ELT3FEA4.js → chunk-PKKBYBL4.js} +1 -1
  80. package/dist/{chunk-ELT3FEA4.js.map → chunk-PKKBYBL4.js.map} +1 -1
  81. package/dist/{chunk-6HMIF2RJ.js → chunk-Q647OXON.js} +1 -1
  82. package/dist/{chunk-6HMIF2RJ.js.map → chunk-Q647OXON.js.map} +1 -1
  83. package/dist/{chunk-BMQM4JBL.js → chunk-QPT2WJYN.js} +1 -1
  84. package/dist/{chunk-BMQM4JBL.js.map → chunk-QPT2WJYN.js.map} +1 -1
  85. package/dist/{chunk-3WGXGBW5.js → chunk-R2AEZYX7.js} +1 -1
  86. package/dist/{chunk-FJIWJYKO.js → chunk-RA4YJBU5.js} +1 -1
  87. package/dist/chunk-RA4YJBU5.js.map +1 -0
  88. package/dist/{chunk-MRLUWHGI.js → chunk-RJ3ZLQRB.js} +1 -1
  89. package/dist/{chunk-MRLUWHGI.js.map → chunk-RJ3ZLQRB.js.map} +1 -1
  90. package/dist/chunk-SFEQXUIA.js +1 -0
  91. package/dist/{chunk-WV7QCDL5.js → chunk-SIL356HB.js} +1 -1
  92. package/dist/{chunk-WV7QCDL5.js.map → chunk-SIL356HB.js.map} +1 -1
  93. package/dist/{chunk-OLKOWR7S.js → chunk-SS7HVNP5.js} +1 -1
  94. package/dist/{chunk-OLKOWR7S.js.map → chunk-SS7HVNP5.js.map} +1 -1
  95. package/dist/chunk-TRGHPX2O.js +1 -0
  96. package/dist/chunk-TRGHPX2O.js.map +1 -0
  97. package/dist/{chunk-GMTAFUAG.js → chunk-TYRH73MO.js} +1 -1
  98. package/dist/{chunk-GMTAFUAG.js.map → chunk-TYRH73MO.js.map} +1 -1
  99. package/dist/{chunk-7TVFV3VO.js → chunk-U3IRMXMR.js} +1 -1
  100. package/dist/{chunk-A7IVMYNF.js → chunk-U73MBQ45.js} +1 -1
  101. package/dist/{chunk-A7IVMYNF.js.map → chunk-U73MBQ45.js.map} +1 -1
  102. package/dist/{chunk-IZIIGK3W.js → chunk-UE22QU7A.js} +1 -1
  103. package/dist/{chunk-IZIIGK3W.js.map → chunk-UE22QU7A.js.map} +1 -1
  104. package/dist/{chunk-DBDCOHI4.js → chunk-UI5RROGI.js} +1 -1
  105. package/dist/{chunk-DBDCOHI4.js.map → chunk-UI5RROGI.js.map} +1 -1
  106. package/dist/chunk-URRPEUIK.js +1 -0
  107. package/dist/{chunk-QJECDMQQ.js.map → chunk-URRPEUIK.js.map} +1 -1
  108. package/dist/chunk-UVX7RCMP.js +1 -0
  109. package/dist/chunk-UVX7RCMP.js.map +1 -0
  110. package/dist/{chunk-7ATBEOVC.js → chunk-WG4DPXJI.js} +1 -1
  111. package/dist/{chunk-XFDMCPDW.js → chunk-WZIBBJHA.js} +1 -1
  112. package/dist/{chunk-XFDMCPDW.js.map → chunk-WZIBBJHA.js.map} +1 -1
  113. package/dist/{chunk-7EWZGDWY.js → chunk-X3MXPE7G.js} +1 -1
  114. package/dist/{chunk-7EWZGDWY.js.map → chunk-X3MXPE7G.js.map} +1 -1
  115. package/dist/{chunk-JCYOE3C4.js → chunk-XQJERZUS.js} +1 -1
  116. package/dist/{chunk-JCYOE3C4.js.map → chunk-XQJERZUS.js.map} +1 -1
  117. package/dist/{chunk-SD6GNFDX.js → chunk-YBE5M27G.js} +1 -1
  118. package/dist/{chunk-SD6GNFDX.js.map → chunk-YBE5M27G.js.map} +1 -1
  119. package/dist/chunk-YI5XKWW2.js +1 -0
  120. package/dist/{chunk-GIGRBFIJ.js.map → chunk-YI5XKWW2.js.map} +1 -1
  121. package/dist/chunk-ZBUTGTZ3.js +1 -0
  122. package/dist/chunk-ZBUTGTZ3.js.map +1 -0
  123. package/dist/commodities/commodities-all.d.ts +2 -2
  124. package/dist/commodities/commodities-all.js +1 -1
  125. package/dist/commodities/commodities-rare.d.ts +3 -4
  126. package/dist/commodities/commodities-rare.js +1 -1
  127. package/dist/commodities/commodities-standard.d.ts +7 -7
  128. package/dist/commodities/commodities-standard.js +1 -1
  129. package/dist/commodities/commodities.d.ts +12 -12
  130. package/dist/commodities/commodities.js +1 -1
  131. package/dist/commodities/index.js +1 -1
  132. package/dist/equipment/engineering.d.ts +11 -6
  133. package/dist/equipment/engineering.js +1 -1
  134. package/dist/equipment/index.d.ts +4 -4
  135. package/dist/equipment/index.js +1 -1
  136. package/dist/equipment/modification-journal.js +1 -1
  137. package/dist/equipment/modifications.d.ts +23 -14
  138. package/dist/equipment/modifications.js +1 -1
  139. package/dist/equipment/suits.d.ts +2 -145
  140. package/dist/equipment/suits.js +1 -1
  141. package/dist/equipment/tools.d.ts +102 -0
  142. package/dist/equipment/tools.js +1 -0
  143. package/dist/equipment/tools.js.map +1 -0
  144. package/dist/equipment/upgrade-costs.d.ts +2 -3
  145. package/dist/equipment/upgrade-costs.js +1 -1
  146. package/dist/equipment/weapons.d.ts +2 -135
  147. package/dist/equipment/weapons.js +1 -1
  148. package/dist/i18n/blueprints.d.ts +2 -3
  149. package/dist/i18n/blueprints.js +1 -1
  150. package/dist/i18n/commodities.d.ts +36 -0
  151. package/dist/i18n/commodities.js +1 -0
  152. package/dist/i18n/commodities.js.map +1 -0
  153. package/dist/i18n/experimental-effect-descriptions.d.ts +5 -6
  154. package/dist/i18n/experimental-effect-descriptions.js +1 -1
  155. package/dist/i18n/experimental-effects.d.ts +2 -3
  156. package/dist/i18n/experimental-effects.js +1 -1
  157. package/dist/i18n/index.d.ts +19 -9
  158. package/dist/i18n/index.js +1 -1
  159. package/dist/i18n/materials.d.ts +2 -4
  160. package/dist/i18n/materials.js +1 -1
  161. package/dist/i18n/micro-resources.d.ts +2 -4
  162. package/dist/i18n/micro-resources.js +1 -1
  163. package/dist/i18n/module-families.d.ts +3 -5
  164. package/dist/i18n/module-families.js +1 -1
  165. package/dist/i18n/modules.d.ts +3 -6
  166. package/dist/i18n/modules.js +1 -1
  167. package/dist/i18n/personal-modifications.d.ts +4 -6
  168. package/dist/i18n/personal-modifications.js +1 -1
  169. package/dist/i18n/personal-tools.d.ts +33 -0
  170. package/dist/i18n/personal-tools.js +1 -0
  171. package/dist/i18n/personal-tools.js.map +1 -0
  172. package/dist/i18n/personal-weapons.d.ts +3 -4
  173. package/dist/i18n/personal-weapons.js +1 -1
  174. package/dist/i18n/pre-engineered.d.ts +1 -1
  175. package/dist/i18n/slots.d.ts +2 -2
  176. package/dist/i18n/suits.d.ts +36 -6
  177. package/dist/i18n/suits.js +1 -1
  178. package/dist/materials/index.d.ts +4 -3
  179. package/dist/materials/index.js +1 -1
  180. package/dist/materials/materials-all.d.ts +2 -2
  181. package/dist/materials/materials-all.js +1 -1
  182. package/dist/materials/materials-raw.d.ts +3 -4
  183. package/dist/materials/materials-raw.js +1 -1
  184. package/dist/materials/materials.d.ts +18 -15
  185. package/dist/materials/materials.js +1 -1
  186. package/dist/materials/micro-resources-all.d.ts +2 -2
  187. package/dist/materials/micro-resources-all.js +1 -1
  188. package/dist/materials/micro-resources-component.d.ts +2 -2
  189. package/dist/materials/micro-resources-consumable.d.ts +2 -2
  190. package/dist/materials/micro-resources-data.d.ts +2 -2
  191. package/dist/materials/micro-resources-item.d.ts +2 -2
  192. package/dist/materials/micro-resources.d.ts +17 -14
  193. package/dist/materials/micro-resources.js +1 -1
  194. package/dist/ships/ammunition.d.ts +4 -4
  195. package/dist/ships/blueprint-costs.d.ts +13 -13
  196. package/dist/ships/blueprint-costs.js +1 -1
  197. package/dist/ships/blueprint-journal.d.ts +3 -3
  198. package/dist/ships/blueprint-journal.js +1 -1
  199. package/dist/ships/blueprints.d.ts +3 -3
  200. package/dist/ships/build-metrics.d.ts +2 -1
  201. package/dist/ships/build-metrics.js +1 -1
  202. package/dist/ships/default-loadouts.d.ts +2 -3
  203. package/dist/ships/default-loadouts.js +1 -1
  204. package/dist/ships/engineering-options.d.ts +29 -32
  205. package/dist/ships/engineering-options.js +1 -1
  206. package/dist/ships/engineering.d.ts +1 -2
  207. package/dist/ships/engineering.js +1 -1
  208. package/dist/ships/experimental-effect-costs.d.ts +1 -1
  209. package/dist/ships/gunsights.d.ts +3 -3
  210. package/dist/ships/heat.d.ts +1 -1
  211. package/dist/ships/index.d.ts +4 -5
  212. package/dist/ships/index.js +1 -1
  213. package/dist/ships/loadout-validation.d.ts +1 -1
  214. package/dist/ships/module-families.d.ts +1 -1
  215. package/dist/ships/modules-all.d.ts +2 -3
  216. package/dist/ships/modules-all.js +1 -1
  217. package/dist/ships/modules-core.d.ts +3 -3
  218. package/dist/ships/modules-hardpoint.d.ts +4 -5
  219. package/dist/ships/modules-hardpoint.js +1 -1
  220. package/dist/ships/modules-internal.d.ts +5 -6
  221. package/dist/ships/modules-internal.js +1 -1
  222. package/dist/ships/modules-utility.d.ts +3 -4
  223. package/dist/ships/modules-utility.js +1 -1
  224. package/dist/ships/modules.d.ts +26 -24
  225. package/dist/ships/modules.js +1 -1
  226. package/dist/ships/pre-engineered-stats.d.ts +1 -1
  227. package/dist/ships/pre-engineered-stats.js +1 -1
  228. package/dist/ships/pre-engineered.d.ts +9 -10
  229. package/dist/ships/pre-engineered.js +1 -1
  230. package/dist/ships/shield-capacitor.js +1 -1
  231. package/dist/ships/ship-loadout.d.ts +7 -7
  232. package/dist/ships/ship-loadout.js +1 -1
  233. package/dist/ships/ships.d.ts +1 -2
  234. package/dist/ships/ships.js +1 -1
  235. package/dist/ships/slots.d.ts +5 -5
  236. package/dist/ships/weapons.js +1 -1
  237. package/dist/suits-B4sQMLFe.d.ts +450 -0
  238. package/dist/{system-address-cyJaeZIS.d.ts → system-address-DmzXRD48.d.ts} +6 -4
  239. package/package.json +13 -1
  240. package/dist/chunk-77TT4K53.js +0 -1
  241. package/dist/chunk-DAQ3PJ4R.js +0 -1
  242. package/dist/chunk-DAQ3PJ4R.js.map +0 -1
  243. package/dist/chunk-DHACRCLI.js +0 -1
  244. package/dist/chunk-DHACRCLI.js.map +0 -1
  245. package/dist/chunk-FJIWJYKO.js.map +0 -1
  246. package/dist/chunk-GIGRBFIJ.js +0 -1
  247. package/dist/chunk-IUSMAX5T.js +0 -1
  248. package/dist/chunk-IUSMAX5T.js.map +0 -1
  249. package/dist/chunk-LWNBWRKL.js +0 -1
  250. package/dist/chunk-LWNBWRKL.js.map +0 -1
  251. package/dist/chunk-MT5AHPNP.js +0 -1
  252. package/dist/chunk-MT5AHPNP.js.map +0 -1
  253. package/dist/chunk-QJECDMQQ.js +0 -1
  254. package/dist/chunk-YJAH6DFY.js.map +0 -1
  255. /package/dist/{chunk-XSLPWM5N.js.map → chunk-2J6NNI3Y.js.map} +0 -0
  256. /package/dist/{chunk-DWRNXUAX.js.map → chunk-2KIZN3BY.js.map} +0 -0
  257. /package/dist/{chunk-J7BM5NGK.js.map → chunk-2TY42PTF.js.map} +0 -0
  258. /package/dist/{chunk-KBCA4GEZ.js.map → chunk-FP2TQJZP.js.map} +0 -0
  259. /package/dist/{chunk-ETWMPMZP.js.map → chunk-K5JK3XQB.js.map} +0 -0
  260. /package/dist/{chunk-3WGXGBW5.js.map → chunk-R2AEZYX7.js.map} +0 -0
  261. /package/dist/{chunk-77TT4K53.js.map → chunk-SFEQXUIA.js.map} +0 -0
  262. /package/dist/{chunk-7TVFV3VO.js.map → chunk-U3IRMXMR.js.map} +0 -0
  263. /package/dist/{chunk-7ATBEOVC.js.map → chunk-WG4DPXJI.js.map} +0 -0
@@ -1,8 +1,10 @@
1
1
  /**
2
2
  * Sparse, source-backed localized display names and descriptions for Elite Dangerous
3
- * outfitting, personal-equipment and engineering catalogues.
3
+ * outfitting, personal-equipment, engineering, material and market-commodity
4
+ * catalogues.
4
5
  *
5
- * Each lookup takes the same Frontier symbol as its owning catalogue and a BCP 47
6
+ * Each lookup takes the identifier its owning catalogue is keyed by — a Frontier symbol,
7
+ * or the library id where the game publishes none, as for a suit tool — and a BCP 47
6
8
  * locale. English is complete: for a name catalogue it is exactly the owning record's
7
9
  * `name`, and for a description catalogue it is the game's own display prose, which no
8
10
  * catalogue otherwise publishes.
@@ -17,8 +19,8 @@
17
19
  * **How sparse, dataset by dataset.** Each column below is the percentage of that
18
20
  * lookup's keys carrying a stored value for the locale, so a `0` would mean the dataset
19
21
  * holds nothing in that language at all and the lookup returns `null` for every key:
20
- * German module names are near-complete, while a quarter of the outfitting families
21
- * the ones the game does not name separately have no locale at all. Plan fallback per
22
+ * most datasets are complete in every locale, while the outfitting families the game
23
+ * does not name separately have no locale at all. Plan fallback per
22
24
  * lookup rather than per application. The table is generated from the
23
25
  * [`data/i18n/` catalogues](https://github.com/DarkSession/Elite-Dangerous-Almanac/tree/main/data/i18n),
24
26
  * so it moves when the data does.
@@ -27,13 +29,15 @@
27
29
  * | Lookup | Keys | en | de | es | fr | pt | ru |
28
30
  * | --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
29
31
  * | `getBlueprintName` | 107 | 100 | 100 | 100 | 100 | 100 | 100 |
32
+ * | `getCommodityName` | 412 | 100 | 100 | 100 | 100 | 100 | 100 |
30
33
  * | `getExperimentalEffectDescription` | 86 | 100 | 100 | 100 | 100 | 100 | 100 |
31
34
  * | `getExperimentalEffectName` | 86 | 100 | 100 | 100 | 100 | 100 | 100 |
32
35
  * | `getMaterialName` | 146 | 100 | 100 | 100 | 100 | 100 | 100 |
33
36
  * | `getMicroResourceName` | 226 | 100 | 100 | 100 | 100 | 100 | 100 |
34
- * | `getModuleName` | 1194 | 100 | 100 | 100 | 100 | 100 | 100 |
37
+ * | `getModuleName` | 1203 | 100 | 100 | 100 | 100 | 100 | 100 |
35
38
  * | `getPersonalModificationDescription` | 31 | 100 | 100 | 100 | 100 | 100 | 100 |
36
39
  * | `getPersonalModificationName` | 31 | 100 | 100 | 100 | 100 | 100 | 100 |
40
+ * | `getPersonalToolName` | 4 | 100 | 100 | 100 | 100 | 100 | 100 |
37
41
  * | `getPersonalWeaponDescription` | 11 | 100 | 100 | 100 | 100 | 100 | 100 |
38
42
  * | `getSuitDescription` | 19 | 100 | 100 | 100 | 100 | 100 | 100 |
39
43
  * | `getSuitName` | 19 | 100 | 100 | 100 | 100 | 100 | 100 |
@@ -45,7 +49,7 @@
45
49
  * convenience or from the corresponding `i18n/*` subpath for an explicit bundle
46
50
  * boundary.
47
51
  *
48
- * Structured diagnostic helpers expose their current English fallback only for English
52
+ * Structured diagnostic helpers expose their English fallback only for English
49
53
  * locales and return `null` otherwise, so a UI never mistakes English prose for a
50
54
  * requested translation. Stable codes and `params` remain available for applications
51
55
  * that supply their own message catalogues.
@@ -63,7 +67,7 @@
63
67
  * getBlueprintName('FSD_LongRange', 'de-DE'); // -> 'Erhöhte FSA-Reichweite'
64
68
  * getMaterialName('GridResistors', 'de'); // -> 'Gitterwiderstände'
65
69
  *
66
- * // Sparseness is per dataset, not per locale: German module names are near-complete,
70
+ * // Sparseness is per dataset, not per locale: German module names are complete,
67
71
  * // while no outfitting family the game does not name separately has any.
68
72
  * getOutfittingFamilyName('shieldGenerators', 'de'); // -> 'Schildgeneratoren'
69
73
  * getOutfittingFamilyName('xenoScanners', 'de'); // -> null
@@ -76,14 +80,18 @@ export { getOutfittingFamilyName } from './module-families.js';
76
80
  export { getBlueprintName } from './blueprints.js';
77
81
  export { getExperimentalEffectName } from './experimental-effects.js';
78
82
  export { getExperimentalEffectDescription } from './experimental-effect-descriptions.js';
83
+ export { getCommodityName } from './commodities.js';
79
84
  export { getMaterialName } from './materials.js';
80
85
  export { getMicroResourceName } from './micro-resources.js';
81
- export { getSuitDescription, getSuitName } from './suits.js';
86
+ export { getPersonalMountName, getSuitDescription, getSuitName } from './suits.js';
87
+ export { getPersonalToolName } from './personal-tools.js';
82
88
  export { getPersonalWeaponDescription } from './personal-weapons.js';
83
89
  export { getPersonalModificationDescription, getPersonalModificationName } from './personal-modifications.js';
84
90
  export { getLoadoutSlotName, getSlotRestrictionLabel } from './slots.js';
85
91
  export { getCalculationIssueMessage, getLoadoutEditErrorMessage, getLoadoutIssueMessage, getSlefDiagnosticMessage } from './diagnostics.js';
86
92
  export { PreEngineeredVariantIdentity, getPreEngineeredVariantName } from './pre-engineered.js';
93
+ import '../suits-B4sQMLFe.js';
94
+ import '../equipment/engineering.js';
87
95
  import '../ships/slots.js';
88
96
  import '../ships/loadout-calculations.js';
89
97
  import '../ships/loadout-validation.js';
@@ -104,7 +112,9 @@ import '../ships/source-purchase.js';
104
112
  * Almanac. Every other locale is sparse and source-dependent. A lookup accepts any
105
113
  * string rather than only this union so callers can pass their application locale
106
114
  * directly: a regional tag such as `de-DE` falls back to `de`, while an unsupported tag
107
- * or a missing translation returns `null`.
115
+ * or a missing translation returns `null`. Matching is case-insensitive and accepts an
116
+ * underscore in place of a hyphen; a regional or script subtag is dropped rather than
117
+ * matched, since every stored locale is a bare language tag.
108
118
  * A source may explicitly publish a localized value whose spelling equals the canonical
109
119
  * English name. Lookups return that source value verbatim; they never generate an
110
120
  * English fallback for a missing locale.
@@ -1 +1 @@
1
- export{getPreEngineeredVariantName}from"../chunk-T7IQHFQ2.js";export{getLoadoutSlotName,getSlotRestrictionLabel}from"../chunk-ZRG35JSH.js"; export{getSuitDescription,getSuitName}from"../chunk-FJIWJYKO.js";export{getExperimentalEffectName}from"../chunk-BMQM4JBL.js";export{getMaterialName}from"../chunk-IZIIGK3W.js";export{getMicroResourceName}from"../chunk-XFDMCPDW.js";export{getOutfittingFamilyName}from"../chunk-SD6GNFDX.js";export{getModuleName}from"../chunk-QJECDMQQ.js";export{getPersonalModificationDescription,getPersonalModificationName}from"../chunk-OLKOWR7S.js";export{getPersonalWeaponDescription}from"../chunk-W5ULI75F.js";export{getBlueprintName}from"../chunk-DBDCOHI4.js";export{getCalculationIssueMessage,getLoadoutEditErrorMessage,getLoadoutIssueMessage,getSlefDiagnosticMessage}from"../chunk-6G6TYW2D.js";export{getExperimentalEffectDescription}from"../chunk-MRLUWHGI.js"; //# sourceMappingURL=index.js.map
1
+ export{getPersonalModificationDescription,getPersonalModificationName}from"../chunk-SS7HVNP5.js";export{getPersonalToolName}from"../chunk-E2HDF6PJ.js";export{getPersonalWeaponDescription}from"../chunk-7C7NJWCF.js";export{getPreEngineeredVariantName}from"../chunk-T7IQHFQ2.js";export{getLoadoutSlotName,getSlotRestrictionLabel}from"../chunk-ZRG35JSH.js"; export{getPersonalMountName,getSuitDescription,getSuitName}from"../chunk-RA4YJBU5.js";export{getCalculationIssueMessage,getLoadoutEditErrorMessage,getLoadoutIssueMessage,getSlefDiagnosticMessage}from"../chunk-6G6TYW2D.js";export{getExperimentalEffectDescription}from"../chunk-RJ3ZLQRB.js";export{getExperimentalEffectName}from"../chunk-QPT2WJYN.js";export{getMaterialName}from"../chunk-UE22QU7A.js";export{getMicroResourceName}from"../chunk-WZIBBJHA.js";export{getOutfittingFamilyName}from"../chunk-YBE5M27G.js";export{getModuleName}from"../chunk-URRPEUIK.js";export{getBlueprintName}from"../chunk-UI5RROGI.js";export{getCommodityName}from"../chunk-TRGHPX2O.js"; //# sourceMappingURL=index.js.map
@@ -4,10 +4,8 @@
4
4
  *
5
5
  * @param symbol - Frontier's material symbol, such as `"GridResistors"`. Matching
6
6
  * ignores case and surrounding whitespace.
7
- * @param locale - A BCP 47 language or regional tag, such as `"de"`, `"de-DE"` or
8
- * `"en-GB"`. Matching is case-insensitive; underscores are accepted in place of
9
- * hyphens. A regional or script subtag is dropped: every stored locale is a bare
10
- * language tag.
7
+ * @param locale - A BCP 47 language or regional tag, such as `"de"` or `"de-DE"`; see
8
+ * {@link GameLocale} for how a tag is matched.
11
9
  * @returns The localized material name; the canonical `Material.name` for any English
12
10
  * tag; or `null` when the symbol is unknown or the locale is not one of the six this
13
11
  * catalogue stores.
@@ -1 +1 @@
1
- export{getMaterialName}from"../chunk-IZIIGK3W.js"; //# sourceMappingURL=materials.js.map
1
+ export{getMaterialName}from"../chunk-UE22QU7A.js"; //# sourceMappingURL=materials.js.map
@@ -4,10 +4,8 @@
4
4
  *
5
5
  * @param symbol - Frontier's micro-resource symbol, such as `"graphene"`. Matching
6
6
  * ignores case and surrounding whitespace.
7
- * @param locale - A BCP 47 language or regional tag, such as `"de"`, `"de-DE"` or
8
- * `"en-GB"`. Matching is case-insensitive; underscores are accepted in place of
9
- * hyphens. A regional or script subtag is dropped: every stored locale is a bare
10
- * language tag.
7
+ * @param locale - A BCP 47 language or regional tag, such as `"de"` or `"de-DE"`; see
8
+ * {@link GameLocale} for how a tag is matched.
11
9
  * @returns The localized micro-resource name; the canonical `MicroResource.name` for
12
10
  * any English tag; or `null` when the symbol is unknown or the locale is not one of the
13
11
  * six this catalogue stores.
@@ -1 +1 @@
1
- export{getMicroResourceName}from"../chunk-XFDMCPDW.js"; //# sourceMappingURL=micro-resources.js.map
1
+ export{getMicroResourceName}from"../chunk-WZIBBJHA.js"; //# sourceMappingURL=micro-resources.js.map
@@ -4,17 +4,15 @@
4
4
  *
5
5
  * @param familyId - The stable family id carried by `OutfittingModuleIdentity.familyId`,
6
6
  * such as `"shieldGenerators"`. Matching ignores case and surrounding whitespace.
7
- * @param locale - A BCP 47 language or regional tag, such as `"de"`, `"de-DE"` or
8
- * `"en-GB"`. Matching is case-insensitive; underscores are accepted in place of
9
- * hyphens. A regional or script subtag is dropped: every stored locale is a bare
10
- * language tag.
7
+ * @param locale - A BCP 47 language or regional tag, such as `"de"` or `"de-DE"`; see
8
+ * {@link GameLocale} for how a tag is matched.
11
9
  * @returns The localized family name; the canonical `OUTFITTING_FAMILIES` name for any
12
10
  * English tag; or `null` when the family is unknown, the locale is unsupported, or the
13
11
  * pinned source carries no category label for that family and locale.
14
12
  * @remarks
15
13
  * Every module carries a family, so an outfitting list can group and label every choice
16
14
  * `ShipLoadout.modulesForSlot()` returns from this lookup alone. The table bundles no
17
- * module stats. Missing translations never silently fall back to English: 19 of the 77
15
+ * module stats. Missing translations never silently fall back to English: some
18
16
  * families have no source-backed label in any locale, tracked by
19
17
  * [#320](https://github.com/DarkSession/Elite-Dangerous-Almanac/issues/320).
20
18
  * @throws {TypeError} If `familyId` is present and not a string, or `locale` is not a
@@ -1 +1 @@
1
- export{getOutfittingFamilyName}from"../chunk-SD6GNFDX.js"; //# sourceMappingURL=module-families.js.map
1
+ export{getOutfittingFamilyName}from"../chunk-YBE5M27G.js"; //# sourceMappingURL=module-families.js.map
@@ -4,10 +4,8 @@
4
4
  *
5
5
  * @param symbol - Frontier's module symbol, such as `"Int_Hyperdrive_Size6_Class5"`.
6
6
  * Matching ignores case and surrounding whitespace.
7
- * @param locale - A BCP 47 language or regional tag, such as `"de"`, `"de-DE"` or
8
- * `"en-GB"`. Matching is case-insensitive; underscores are accepted in place of
9
- * hyphens. A regional or script subtag is dropped: every stored locale is a bare
10
- * language tag.
7
+ * @param locale - A BCP 47 language or regional tag, such as `"de"` or `"de-DE"`; see
8
+ * {@link GameLocale} for how a tag is matched.
11
9
  * @returns The localized outfitting name; the canonical `OutfittingModule.name` for any
12
10
  * English tag; or `null` when the symbol is unknown or the locale is not one of the six
13
11
  * this catalogue stores.
@@ -16,8 +14,7 @@
16
14
  * answers. The table deduplicates modules that share one name in every locale, which is
17
15
  * finer than sharing one canonical English name: the game distinguishes the singular and
18
16
  * plural hull alloys, for instance, where English spells both the same. It does not
19
- * bundle any module stats, so this lookup avoids the 1,194-record `ALL_MODULES`
20
- * catalogue.
17
+ * bundle any module stats, so this lookup avoids the `ALL_MODULES` catalogue.
21
18
  * @throws {TypeError} If `symbol` is present and not a string, or `locale` is not a
22
19
  * string. A nullish `symbol` is a lookup miss and returns `null`.
23
20
  * @example
@@ -1 +1 @@
1
- export{getModuleName}from"../chunk-QJECDMQQ.js"; //# sourceMappingURL=modules.js.map
1
+ export{getModuleName}from"../chunk-URRPEUIK.js"; //# sourceMappingURL=modules.js.map
@@ -11,10 +11,8 @@
11
11
  * `"weapon_range_laser"`. A journal line writes the unsuffixed `"weapon_range"`, which
12
12
  * `resolvePersonalModificationForWeapon` turns into the specific symbol. Matching
13
13
  * ignores case and surrounding whitespace.
14
- * @param locale - A BCP 47 language or regional tag, such as `"de"`, `"de-DE"` or
15
- * `"en-GB"`. Matching is case-insensitive; underscores are accepted in place of
16
- * hyphens. A regional or script subtag is dropped: every stored locale is a bare
17
- * language tag.
14
+ * @param locale - A BCP 47 language or regional tag, such as `"de"` or `"de-DE"`; see
15
+ * {@link GameLocale} for how a tag is matched.
18
16
  * @returns The localized modification name; the canonical `PersonalModification.name`
19
17
  * for any English tag; or `null` when the recipe is unknown or the locale is not one of
20
18
  * the six this catalogue stores.
@@ -49,8 +47,8 @@ declare function getPersonalModificationName(modificationSymbol: string, locale:
49
47
  * This is display prose, not a statement of the magnitudes a recipe applies: the game
50
48
  * says a modification "allows more ammo to be carried for each weapon", never how much
51
49
  * more. `PersonalModification.modifiers` answers that, and the two are deliberately not
52
- * the same string. It is also the only account of the ten recipes whose `modifiers` list
53
- * is empty, whether because the recipe switches a capability on or because it moves a
50
+ * the same string. It is also the only account of the recipes whose `modifiers` list is
51
+ * empty, whether because the recipe switches a capability on or because it moves a
54
52
  * stat the panel puts no number on. English is the game's own wording rather than a
55
53
  * projection of `PersonalModification.name`.
56
54
  * @throws {TypeError} If a present `modificationSymbol` or `locale` is not a string.
@@ -1 +1 @@
1
- export{getPersonalModificationDescription,getPersonalModificationName}from"../chunk-OLKOWR7S.js"; //# sourceMappingURL=personal-modifications.js.map
1
+ export{getPersonalModificationDescription,getPersonalModificationName}from"../chunk-SS7HVNP5.js"; //# sourceMappingURL=personal-modifications.js.map
@@ -0,0 +1,33 @@
1
+ /** Localized suit-tool display names, isolated from tool battery and timing stats. */
2
+ /**
3
+ * Look up a suit tool's source-backed display name for a locale.
4
+ *
5
+ * @param id - The library id `PersonalTool.id` carries, such as `"arc-cutter"`. Matching
6
+ * ignores case and surrounding whitespace.
7
+ * @param locale - A BCP 47 language or regional tag, such as `"de"` or `"de-DE"`; see
8
+ * {@link GameLocale} for how a tag is matched.
9
+ * @returns The localized tool name; the canonical `PersonalTool.name` for any English
10
+ * tag; or `null` when the tool is unknown or the locale is not one of the six this
11
+ * catalogue stores.
12
+ * @remarks
13
+ * All six stored locales are complete for this dataset, so a supported locale always
14
+ * answers. Frontier publishes no item symbol for a tool, so the library id is the only
15
+ * identifier this lookup takes — the same one `getPersonalToolById` takes.
16
+ *
17
+ * A returned value can equal the English, because the game leaves some tool names
18
+ * untranslated. Such a value is the game's own, stored verbatim; the library never
19
+ * supplies an English fallback. This lookup bundles no tool stats.
20
+ * @throws {TypeError} If `id` is present and not a string, or `locale` is not a string. A
21
+ * nullish `id` is a lookup miss and returns `null`.
22
+ * @example
23
+ * ```ts
24
+ * import { getPersonalToolName } from '@elite-dangerous-almanac/core/i18n/personal-tools';
25
+ *
26
+ * getPersonalToolName('energylink', 'de-DE'); // -> 'Energie-Link'
27
+ * getPersonalToolName('profile-analyser', 'fr'); // -> 'Analyseur de profil'
28
+ * getPersonalToolName('arc-cutter', 'it'); // -> null
29
+ * ```
30
+ */
31
+ declare function getPersonalToolName(id: string, locale: string): string | null;
32
+
33
+ export { getPersonalToolName };
@@ -0,0 +1 @@
1
+ export{getPersonalToolName}from"../chunk-E2HDF6PJ.js"; //# sourceMappingURL=personal-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"O"}
@@ -5,10 +5,9 @@
5
5
  *
6
6
  * @param symbol - Frontier's weapon symbol, such as `"wpn_s_pistol_kinetic_sauto"`.
7
7
  * Matching ignores case and surrounding whitespace.
8
- * @param locale - A BCP 47 language or regional tag, such as `"de"`, `"de-DE"` or
9
- * `"en-GB"`. Matching is case-insensitive; underscores are accepted in place of
10
- * hyphens. A regional or script subtag is dropped: every stored locale is a bare
11
- * language tag. All six stored locales are complete for this dataset.
8
+ * @param locale - A BCP 47 language or regional tag, such as `"de"` or `"de-DE"`; see
9
+ * {@link GameLocale} for how a tag is matched. All six stored locales are complete for
10
+ * this dataset.
12
11
  * @returns The localized description, or `null` when the weapon is unknown or the
13
12
  * requested locale is not one this catalogue stores.
14
13
  * @remarks
@@ -1 +1 @@
1
- export{getPersonalWeaponDescription}from"../chunk-W5ULI75F.js"; //# sourceMappingURL=personal-weapons.js.map
1
+ export{getPersonalWeaponDescription}from"../chunk-7C7NJWCF.js"; //# sourceMappingURL=personal-weapons.js.map
@@ -20,7 +20,7 @@ interface PreEngineeredVariantIdentity {
20
20
  * because a base module and blueprint alone do not uniquely identify every reward.
21
21
  * @param locale - A BCP 47 locale. Regional tags fall back to their supported language.
22
22
  * @returns The explicit localized name, or `null` for an unknown variant or unavailable
23
- * translation. Decorative reward names currently have English values only.
23
+ * translation. Decorative reward names have English values only.
24
24
  * @throws {TypeError} If `variant` is not an object, a required identity field or a
25
25
  * non-null `experimentalEffectSymbol` value is not a string, or `locale` is not a
26
26
  * string.
@@ -6,7 +6,7 @@ import { BuildSlot, SlotRestriction } from '../ships/slots.js';
6
6
  * Resolve a loadout slot's display name for a locale.
7
7
  *
8
8
  * @param slot - A slot returned by `enumerateSlots` or `ShipLoadout.slots`.
9
- * @param locale - A BCP 47 locale. Current slot-label sources supply English only.
9
+ * @param locale - A BCP 47 locale. The slot-label sources supply English only.
10
10
  * @returns The slot's English display name for an English locale, otherwise `null`.
11
11
  * @throws {TypeError} If `slot` is not an object or `locale` is not a string.
12
12
  * @example
@@ -26,7 +26,7 @@ declare function getLoadoutSlotName(slot: BuildSlot, locale: string): string | n
26
26
  * Resolve the short display label for a restricted slot.
27
27
  *
28
28
  * @param restriction - A `BuildSlot.restriction` value.
29
- * @param locale - A BCP 47 locale. Current restriction-label sources supply English only.
29
+ * @param locale - A BCP 47 locale. The restriction-label sources supply English only.
30
30
  * @returns The English label for an English locale, otherwise `null`.
31
31
  * @throws {TypeError} If `locale` is not a string.
32
32
  * @example
@@ -1,14 +1,19 @@
1
- /** Localized personal-suit display names and descriptions, isolated from suit stats. */
1
+ import { c as PersonalMount } from '../suits-B4sQMLFe.js';
2
+ import '../equipment/engineering.js';
3
+
4
+ /**
5
+ * Localized personal-suit display names and descriptions, and the weapon-mount labels,
6
+ * isolated from suit stats.
7
+ */
8
+
2
9
  /**
3
10
  * Look up an Odyssey suit's source-backed display name for a locale.
4
11
  *
5
12
  * @param suit - Either the grade-independent family `Suit.family` carries, such as
6
13
  * `"utilitysuit"`, or one grade's Frontier symbol, such as `"utilitysuit_class3"` — the
7
14
  * form a journal line writes. Matching ignores case and surrounding whitespace.
8
- * @param locale - A BCP 47 language or regional tag, such as `"de"`, `"de-DE"` or
9
- * `"en-GB"`. Matching is case-insensitive; underscores are accepted in place of
10
- * hyphens. A regional or script subtag is dropped: every stored locale is a bare
11
- * language tag.
15
+ * @param locale - A BCP 47 language or regional tag, such as `"de"` or `"de-DE"`; see
16
+ * {@link GameLocale} for how a tag is matched.
12
17
  * @returns The localized suit name; the canonical `Suit.name` for any English tag; or
13
18
  * `null` when the suit is unknown or the locale is not one of the six this catalogue
14
19
  * stores.
@@ -55,5 +60,30 @@ declare function getSuitName(suit: string, locale: string): string | null;
55
60
  * ```
56
61
  */
57
62
  declare function getSuitDescription(suit: string, locale: string): string | null;
63
+ /**
64
+ * Resolve a suit weapon mount's display name for a locale.
65
+ *
66
+ * @param mount - A mount from `Suit.mounts`.
67
+ * @param locale - A BCP 47 locale. The mount-label source supplies English only.
68
+ * @returns The mount's English display name for an English locale, otherwise `null`.
69
+ * `null` too when the mount carries a key this library does not name.
70
+ * @throws {TypeError} If `mount` is not an object or `locale` is not a string.
71
+ * @remarks
72
+ * The label reads the Frontier journal `SlotName` the mount carries, so it distinguishes
73
+ * a suit's primary mounts from each other. A consumer needs no table of its own.
74
+ *
75
+ * No locale but English answers, although the game itself publishes all six:
76
+ * https://github.com/DarkSession/Elite-Dangerous-Almanac/issues/26
77
+ * @example
78
+ * ```ts
79
+ * import { getSuitByFamily } from '@elite-dangerous-almanac/core/equipment/suits';
80
+ * import { getPersonalMountName } from '@elite-dangerous-almanac/core/i18n/suits';
81
+ *
82
+ * const suit = getSuitByFamily('tacticalsuit')!;
83
+ * getPersonalMountName(suit.mounts[1]!, 'en-GB'); // -> 'Primary Weapon 2'
84
+ * getPersonalMountName(suit.mounts[2]!, 'de'); // -> null
85
+ * ```
86
+ */
87
+ declare function getPersonalMountName(mount: PersonalMount, locale: string): string | null;
58
88
 
59
- export { getSuitDescription, getSuitName };
89
+ export { getPersonalMountName, getSuitDescription, getSuitName };
@@ -1 +1 @@
1
- export{getSuitDescription,getSuitName}from"../chunk-FJIWJYKO.js"; //# sourceMappingURL=suits.js.map
1
+ export{getPersonalMountName,getSuitDescription,getSuitName}from"../chunk-RA4YJBU5.js"; //# sourceMappingURL=suits.js.map
@@ -17,8 +17,8 @@
17
17
  * } from '@elite-dangerous-almanac/core/materials';
18
18
  *
19
19
  * getMaterialByName('iron')?.grade; // -> MaterialGrade.VeryCommon
20
- * materialsByGrade(MaterialGrade.Rare).length; // -> across every category
21
- * materialsInCategory('raw').length; // -> 28
20
+ * materialsByGrade(MaterialGrade.Rare)[0]?.name; // -> 'Yttrium'
21
+ * materialsInCategory('raw')[0]?.name; // -> 'Carbon'
22
22
  * getMicroResourceBySymbol('graphene')?.name; // -> 'Graphene'
23
23
  * ```
24
24
  *
@@ -41,7 +41,8 @@
41
41
  * import { MaterialGrade } from '@elite-dangerous-almanac/core/materials';
42
42
  * import { RAW_MATERIALS } from '@elite-dangerous-almanac/core/materials/materials-raw';
43
43
  *
44
- * RAW_MATERIALS.filter((m) => m.grade === MaterialGrade.Rare).length; // -> 7, one per raw line
44
+ * RAW_MATERIALS.filter((m) => m.grade === MaterialGrade.Rare).map((m) => m.name);
45
+ * // -> ['Yttrium', 'Selenium', 'Antimony', 'Tellurium', 'Technetium', 'Polonium', 'Ruthenium']
45
46
  * ```
46
47
  *
47
48
  * @packageDocumentation
@@ -1 +1 @@
1
- export{MaterialGrade,MaterialLine,getMaterialByElementSymbol,getMaterialByName,getMaterialBySymbol,materialsByGrade,materialsInCategory,materialsInLine}from"../chunk-OFZGNWBT.js";export{getMicroResourceByName,getMicroResourceBySymbol,microResourcesInCategory}from"../chunk-7EWZGDWY.js";export{ALL_MICRO_RESOURCES}from"../chunk-DAQ3PJ4R.js";export{COMPONENT_MICRO_RESOURCES}from"../chunk-HTB52N6S.js";export{CONSUMABLE_MICRO_RESOURCES}from"../chunk-K7L7SMIR.js";export{DATA_MICRO_RESOURCES}from"../chunk-GVLDFJEY.js";export{ITEM_MICRO_RESOURCES}from"../chunk-WHWFKHV3.js"; export{ALL_MATERIALS}from"../chunk-KBCA4GEZ.js";export{ENCODED_MATERIALS}from"../chunk-A5TCT2AJ.js";export{MANUFACTURED_MATERIALS}from"../chunk-PF3HZ73R.js";export{RAW_MATERIALS}from"../chunk-Q6YDPREF.js"; //# sourceMappingURL=index.js.map
1
+ export{getMicroResourceByName,getMicroResourceBySymbol,microResourcesInCategory}from"../chunk-X3MXPE7G.js";export{MaterialGrade,MaterialLine,getMaterialByElementSymbol,getMaterialByName,getMaterialBySymbol,materialsByGrade,materialsInCategory,materialsInLine}from"../chunk-ETREYN5U.js";export{ALL_MICRO_RESOURCES}from"../chunk-GVNTKCVF.js";export{ITEM_MICRO_RESOURCES}from"../chunk-WHWFKHV3.js";export{COMPONENT_MICRO_RESOURCES}from"../chunk-HTB52N6S.js";export{CONSUMABLE_MICRO_RESOURCES}from"../chunk-K7L7SMIR.js";export{DATA_MICRO_RESOURCES}from"../chunk-GVLDFJEY.js"; export{ALL_MATERIALS}from"../chunk-FP2TQJZP.js";export{ENCODED_MATERIALS}from"../chunk-A5TCT2AJ.js";export{MANUFACTURED_MATERIALS}from"../chunk-PF3HZ73R.js";export{RAW_MATERIALS}from"../chunk-GZLD7RTK.js"; //# sourceMappingURL=index.js.map
@@ -12,13 +12,13 @@ import { Material } from './materials.js';
12
12
  */
13
13
 
14
14
  /**
15
- * All 146 materials across every category, raw then manufactured then encoded.
15
+ * Every material across every category, raw then manufactured then encoded.
16
16
  *
17
17
  * @example
18
18
  * ```ts
19
19
  * import { ALL_MATERIALS } from '@elite-dangerous-almanac/core/materials/materials-all';
20
20
  *
21
- * ALL_MATERIALS.length; // -> 146
21
+ * ALL_MATERIALS.find((material) => material.symbol === 'Iron')?.category; // -> 'raw'
22
22
  * ```
23
23
  */
24
24
  declare const ALL_MATERIALS: readonly Material[];
@@ -1 +1 @@
1
- export{ALL_MATERIALS}from"../chunk-KBCA4GEZ.js"; //# sourceMappingURL=materials-all.js.map
1
+ export{ALL_MATERIALS}from"../chunk-FP2TQJZP.js"; //# sourceMappingURL=materials-all.js.map
@@ -1,8 +1,8 @@
1
1
  import { Material } from './materials.js';
2
2
 
3
3
  /**
4
- * The catalogue of **raw** materials — the 28 chemical elements, in seven lines of
5
- * four grades (grade 1–4; raw materials have no grade 5).
4
+ * The catalogue of **raw** materials — the chemical elements, in seven lines of four
5
+ * grades (grade 1–4; raw materials have no grade 5).
6
6
  *
7
7
  * Each line is named after its grade-1 element: Carbon, Phosphorus, Sulphur, Iron,
8
8
  * Nickel, Rhenium, Lead. Search it with the query functions in `./materials`.
@@ -13,7 +13,7 @@ import { Material } from './materials.js';
13
13
  */
14
14
 
15
15
  /**
16
- * All 28 raw materials, sorted by line then grade.
16
+ * Every raw material, sorted by line then grade.
17
17
  *
18
18
  * @remarks
19
19
  * Every record has `category: 'raw'`. The array and its records are frozen.
@@ -22,7 +22,6 @@ import { Material } from './materials.js';
22
22
  * ```ts
23
23
  * import { RAW_MATERIALS } from '@elite-dangerous-almanac/core/materials/materials-raw';
24
24
  *
25
- * RAW_MATERIALS.length; // -> 28
26
25
  * RAW_MATERIALS.find((m) => m.name === 'Iron')?.elementSymbol; // -> 'Fe'
27
26
  * ```
28
27
  */
@@ -1 +1 @@
1
- export{RAW_MATERIALS}from"../chunk-Q6YDPREF.js"; //# sourceMappingURL=materials-raw.js.map
1
+ export{RAW_MATERIALS}from"../chunk-GZLD7RTK.js"; //# sourceMappingURL=materials-raw.js.map
@@ -9,7 +9,7 @@
9
9
  * ({@link getMaterialBySymbol}, {@link getMaterialByName}, {@link materialsByGrade},
10
10
  * {@link materialsInLine}, …).
11
11
  *
12
- * **Every lookup searches all 146 materials by default** — you do not have to hand it
12
+ * **Every lookup searches every material by default** — you do not have to hand it
13
13
  * a catalogue:
14
14
  *
15
15
  * ```ts
@@ -20,21 +20,24 @@
20
20
  * search to a subset — one category's catalogue, or any array you have filtered
21
21
  * yourself:
22
22
  *
23
- * | Module | Export | Entries |
24
- * | --- | --- | --- |
25
- * | `./materials-raw` | `RAW_MATERIALS` | 28 |
26
- * | `./materials-manufactured` | `MANUFACTURED_MATERIALS` | 71 |
27
- * | `./materials-encoded` | `ENCODED_MATERIALS` | 47 |
28
- * | `./materials-all` | `ALL_MATERIALS` | 146 (the default) |
23
+ * Sizes are each module's import graph once your bundler has minified it — the
24
+ * published package itself is not minified — before any transport compression.
25
+ *
26
+ * | Module | Export | Minified | Gzipped |
27
+ * | --- | --- | --- | --- |
28
+ * | `./materials-raw` | `RAW_MATERIALS` | ~2 KiB | ~1 KiB |
29
+ * | `./materials-manufactured` | `MANUFACTURED_MATERIALS` | ~7 KiB | ~1 KiB |
30
+ * | `./materials-encoded` | `ENCODED_MATERIALS` | ~5 KiB | ~1 KiB |
31
+ * | `./materials-all` | `ALL_MATERIALS` | ~14 KiB | ~3 KiB |
29
32
  *
30
33
  * It narrows *results*, not bundle size: importing a lookup pulls all three
31
- * catalogues, since that is what it falls back to — ~17 KiB minified for all 146.
34
+ * catalogues, since that is what it falls back to — ~14 KiB minified for the set.
32
35
  * {@link materialsInCategory} reaches the same subsets from a plain string.
33
36
  *
34
37
  * **Only `ALL_MATERIALS` itself is indexed.** A by-key lookup answers from an O(1)
35
38
  * index when the catalogue you pass *is* `ALL_MATERIALS` — the same object, not a copy
36
39
  * — and scans linearly otherwise, including for `[...ALL_MATERIALS]`, which holds the
37
- * same 146 records. Omitting the argument always takes the indexed path, so pass one
40
+ * same records. Omitting the argument always takes the indexed path, so pass one
38
41
  * only when you mean to exclude the rest.
39
42
  *
40
43
  * The filtering lookups ({@link materialsByGrade}, {@link materialsInLine},
@@ -48,8 +51,8 @@
48
51
  * ```ts
49
52
  * import { getMaterialByName, materialsInCategory } from '@elite-dangerous-almanac/core/materials';
50
53
  *
51
- * getMaterialByName('iron')?.grade; // -> MaterialGrade.VeryCommon (1)
52
- * materialsInCategory('raw').length; // -> 28
54
+ * getMaterialByName('iron')?.grade; // -> MaterialGrade.VeryCommon (1)
55
+ * materialsInCategory('raw')[0]?.name; // -> 'Carbon'
53
56
  * ```
54
57
  *
55
58
  * @packageDocumentation
@@ -181,7 +184,7 @@ interface Material {
181
184
  * @param symbol - The internal symbol, e.g. `"GridResistors"`, or the lower-cased
182
185
  * form the player journal reports (`"gridresistors"`). Leading/trailing whitespace
183
186
  * and case are ignored.
184
- * @param materials - Optional subset to search instead of all 146 materials
187
+ * @param materials - Optional subset to search instead of every material
185
188
  * `RAW_MATERIALS`, `MANUFACTURED_MATERIALS`, `ENCODED_MATERIALS`, or any array you
186
189
  * have filtered yourself. Omit it unless you specifically want to exclude the rest:
187
190
  * the indexed O(1) path is taken only when the argument is omitted or is
@@ -246,7 +249,7 @@ declare function getMaterialByElementSymbol(elementSymbol: string, materials?: r
246
249
  * import { MaterialGrade, materialsByGrade } from '@elite-dangerous-almanac/core/materials/materials';
247
250
  * import { RAW_MATERIALS } from '@elite-dangerous-almanac/core/materials/materials-raw';
248
251
  *
249
- * materialsByGrade(MaterialGrade.VeryRare).length; // -> across every category
252
+ * materialsByGrade(MaterialGrade.VeryRare)[0]?.category; // -> 'manufactured'
250
253
  * RAW_MATERIALS.filter((m) => m.grade === MaterialGrade.Rare).length; // -> 7, one per raw line
251
254
  * ```
252
255
  */
@@ -285,8 +288,8 @@ declare function materialsInLine(line: string): Material[];
285
288
  * ```ts
286
289
  * import { materialsInCategory } from '@elite-dangerous-almanac/core/materials/materials';
287
290
  *
288
- * materialsInCategory('raw').length; // -> 28
289
- * materialsInCategory('Encoded').length; // -> 47; case is ignored
291
+ * materialsInCategory('encoded')[0]?.name; // -> 'Anomalous Bulk Scan Data'
292
+ * materialsInCategory('Encoded')[0]?.name; // -> 'Anomalous Bulk Scan Data'; case is ignored
290
293
  * ```
291
294
  */
292
295
  declare function materialsInCategory(category: string): Material[];
@@ -1 +1 @@
1
- export{MaterialGrade,MaterialLine,getMaterialByElementSymbol,getMaterialByName,getMaterialBySymbol,materialsByGrade,materialsInCategory,materialsInLine}from"../chunk-OFZGNWBT.js"; //# sourceMappingURL=materials.js.map
1
+ export{MaterialGrade,MaterialLine,getMaterialByElementSymbol,getMaterialByName,getMaterialBySymbol,materialsByGrade,materialsInCategory,materialsInLine}from"../chunk-ETREYN5U.js"; //# sourceMappingURL=materials.js.map
@@ -13,14 +13,14 @@ import { MicroResource } from './micro-resources.js';
13
13
  */
14
14
 
15
15
  /**
16
- * All 226 micro resources across every category — component, then consumable, then
16
+ * Every micro resource across every category — component, then consumable, then
17
17
  * data, then item.
18
18
  *
19
19
  * @example
20
20
  * ```ts
21
21
  * import { ALL_MICRO_RESOURCES } from '@elite-dangerous-almanac/core/materials/micro-resources-all';
22
22
  *
23
- * ALL_MICRO_RESOURCES.length; // -> 226
23
+ * ALL_MICRO_RESOURCES.find((resource) => resource.symbol === 'graphene')?.category; // -> 'component'
24
24
  * ```
25
25
  */
26
26
  declare const ALL_MICRO_RESOURCES: readonly MicroResource[];
@@ -1 +1 @@
1
- export{ALL_MICRO_RESOURCES}from"../chunk-DAQ3PJ4R.js"; //# sourceMappingURL=micro-resources-all.js.map
1
+ export{ALL_MICRO_RESOURCES}from"../chunk-GVNTKCVF.js"; //# sourceMappingURL=micro-resources-all.js.map
@@ -12,7 +12,7 @@ import { MicroResource } from './micro-resources.js';
12
12
  */
13
13
 
14
14
  /**
15
- * All 33 component micro resources, in Frontier's registry order.
15
+ * Every component micro resource, in Frontier's registry order.
16
16
  *
17
17
  * @remarks
18
18
  * Every record has `category: 'component'`. The array and its records are frozen.
@@ -21,7 +21,7 @@ import { MicroResource } from './micro-resources.js';
21
21
  * ```ts
22
22
  * import { COMPONENT_MICRO_RESOURCES } from '@elite-dangerous-almanac/core/materials/micro-resources-component';
23
23
  *
24
- * COMPONENT_MICRO_RESOURCES.length; // -> 33
24
+ * COMPONENT_MICRO_RESOURCES.find((resource) => resource.symbol === 'graphene')?.name; // -> 'Graphene'
25
25
  * ```
26
26
  */
27
27
  declare const COMPONENT_MICRO_RESOURCES: readonly MicroResource[];
@@ -12,7 +12,7 @@ import { MicroResource } from './micro-resources.js';
12
12
  */
13
13
 
14
14
  /**
15
- * All 6 consumable micro resources, in Frontier's registry order.
15
+ * Every consumable micro resource, in Frontier's registry order.
16
16
  *
17
17
  * @remarks
18
18
  * Every record has `category: 'consumable'`. The array and its records are frozen.
@@ -21,7 +21,7 @@ import { MicroResource } from './micro-resources.js';
21
21
  * ```ts
22
22
  * import { CONSUMABLE_MICRO_RESOURCES } from '@elite-dangerous-almanac/core/materials/micro-resources-consumable';
23
23
  *
24
- * CONSUMABLE_MICRO_RESOURCES.length; // -> 6
24
+ * CONSUMABLE_MICRO_RESOURCES.find((resource) => resource.symbol === 'healthpack')?.name; // -> 'Medkit'
25
25
  * ```
26
26
  */
27
27
  declare const CONSUMABLE_MICRO_RESOURCES: readonly MicroResource[];