@elite-dangerous-almanac/core 0.2.8 → 0.2.9

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 (262) hide show
  1. package/PROVENANCE/astro/SOURCES.md +13 -12
  2. package/PROVENANCE/commodities/SOURCES.md +50 -6
  3. package/PROVENANCE/equipment/SOURCES.md +98 -20
  4. package/PROVENANCE/i18n/SOURCES.md +186 -80
  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-GIGRBFIJ.js → chunk-AC3U7LRK.js} +1 -1
  44. package/dist/{chunk-GIGRBFIJ.js.map → chunk-AC3U7LRK.js.map} +1 -1
  45. package/dist/{chunk-BJU27V6C.js → chunk-AUBV6S7V.js} +1 -1
  46. package/dist/{chunk-BJU27V6C.js.map → chunk-AUBV6S7V.js.map} +1 -1
  47. package/dist/{chunk-DI5RXSJR.js → chunk-BVLBS2QY.js} +1 -1
  48. package/dist/{chunk-DI5RXSJR.js.map → chunk-BVLBS2QY.js.map} +1 -1
  49. package/dist/{chunk-IN36YSS4.js → chunk-C3YZ5KTA.js} +1 -1
  50. package/dist/{chunk-IN36YSS4.js.map → chunk-C3YZ5KTA.js.map} +1 -1
  51. package/dist/{chunk-6UNAD74Z.js → chunk-C4FUV6GF.js} +1 -1
  52. package/dist/{chunk-6UNAD74Z.js.map → chunk-C4FUV6GF.js.map} +1 -1
  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-UTWZZOSA.js +1 -0
  109. package/dist/chunk-UTWZZOSA.js.map +1 -0
  110. package/dist/chunk-UVX7RCMP.js +1 -0
  111. package/dist/chunk-UVX7RCMP.js.map +1 -0
  112. package/dist/{chunk-7ATBEOVC.js → chunk-WG4DPXJI.js} +1 -1
  113. package/dist/{chunk-XFDMCPDW.js → chunk-WZIBBJHA.js} +1 -1
  114. package/dist/{chunk-XFDMCPDW.js.map → chunk-WZIBBJHA.js.map} +1 -1
  115. package/dist/{chunk-7EWZGDWY.js → chunk-X3MXPE7G.js} +1 -1
  116. package/dist/{chunk-7EWZGDWY.js.map → chunk-X3MXPE7G.js.map} +1 -1
  117. package/dist/{chunk-JCYOE3C4.js → chunk-XQJERZUS.js} +1 -1
  118. package/dist/{chunk-JCYOE3C4.js.map → chunk-XQJERZUS.js.map} +1 -1
  119. package/dist/{chunk-SD6GNFDX.js → chunk-YBE5M27G.js} +1 -1
  120. package/dist/{chunk-SD6GNFDX.js.map → chunk-YBE5M27G.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-B37rAORs.d.ts +414 -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-IUSMAX5T.js +0 -1
  247. package/dist/chunk-IUSMAX5T.js.map +0 -1
  248. package/dist/chunk-LWNBWRKL.js +0 -1
  249. package/dist/chunk-LWNBWRKL.js.map +0 -1
  250. package/dist/chunk-MT5AHPNP.js +0 -1
  251. package/dist/chunk-MT5AHPNP.js.map +0 -1
  252. package/dist/chunk-QJECDMQQ.js +0 -1
  253. package/dist/chunk-YJAH6DFY.js.map +0 -1
  254. /package/dist/{chunk-XSLPWM5N.js.map → chunk-2J6NNI3Y.js.map} +0 -0
  255. /package/dist/{chunk-DWRNXUAX.js.map → chunk-2KIZN3BY.js.map} +0 -0
  256. /package/dist/{chunk-J7BM5NGK.js.map → chunk-2TY42PTF.js.map} +0 -0
  257. /package/dist/{chunk-KBCA4GEZ.js.map → chunk-FP2TQJZP.js.map} +0 -0
  258. /package/dist/{chunk-ETWMPMZP.js.map → chunk-K5JK3XQB.js.map} +0 -0
  259. /package/dist/{chunk-3WGXGBW5.js.map → chunk-R2AEZYX7.js.map} +0 -0
  260. /package/dist/{chunk-77TT4K53.js.map → chunk-SFEQXUIA.js.map} +0 -0
  261. /package/dist/{chunk-7TVFV3VO.js.map → chunk-U3IRMXMR.js.map} +0 -0
  262. /package/dist/{chunk-7ATBEOVC.js.map → chunk-WG4DPXJI.js.map} +0 -0
@@ -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-B37rAORs.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[];
@@ -12,7 +12,7 @@ import { MicroResource } from './micro-resources.js';
12
12
  */
13
13
 
14
14
  /**
15
- * All 125 data micro resources, in catalogue order.
15
+ * Every data micro resource, in catalogue order.
16
16
  *
17
17
  * @remarks
18
18
  * Every record has `category: 'data'`. The array and its records are frozen.
@@ -21,7 +21,7 @@ import { MicroResource } from './micro-resources.js';
21
21
  * ```ts
22
22
  * import { DATA_MICRO_RESOURCES } from '@elite-dangerous-almanac/core/materials/micro-resources-data';
23
23
  *
24
- * DATA_MICRO_RESOURCES.length; // -> 125
24
+ * DATA_MICRO_RESOURCES.find((resource) => resource.symbol === 'nocdata')?.name; // -> 'NOC Data'
25
25
  * ```
26
26
  */
27
27
  declare const DATA_MICRO_RESOURCES: readonly MicroResource[];
@@ -12,7 +12,7 @@ import { MicroResource } from './micro-resources.js';
12
12
  */
13
13
 
14
14
  /**
15
- * All 62 item micro resources, in catalogue order.
15
+ * Every item micro resource, in catalogue order.
16
16
  *
17
17
  * @remarks
18
18
  * Every record has `category: 'item'`. The array and its records are frozen.
@@ -21,7 +21,7 @@ import { MicroResource } from './micro-resources.js';
21
21
  * ```ts
22
22
  * import { ITEM_MICRO_RESOURCES } from '@elite-dangerous-almanac/core/materials/micro-resources-item';
23
23
  *
24
- * ITEM_MICRO_RESOURCES.length; // -> 62
24
+ * ITEM_MICRO_RESOURCES.find((resource) => resource.symbol === 'castfossil')?.name; // -> 'Cast Fossil'
25
25
  * ```
26
26
  */
27
27
  declare const ITEM_MICRO_RESOURCES: readonly MicroResource[];
@@ -8,7 +8,7 @@
8
8
  * ({@link getMicroResourceBySymbol}, {@link getMicroResourceByName},
9
9
  * {@link microResourcesInCategory}).
10
10
  *
11
- * **Every lookup searches all 226 micro resources by default** — you do not have to
11
+ * **Every lookup searches every micro resource by default** — you do not have to
12
12
  * hand it a catalogue:
13
13
  *
14
14
  * ```ts
@@ -18,22 +18,25 @@
18
18
  * The two **by-key** lookups take an optional second argument to **narrow** the search
19
19
  * to a subset — one category's catalogue, or any array you have filtered yourself:
20
20
  *
21
- * | Module | Export | Entries |
22
- * | --- | --- | --- |
23
- * | `./micro-resources-component` | `COMPONENT_MICRO_RESOURCES` | 33 |
24
- * | `./micro-resources-consumable` | `CONSUMABLE_MICRO_RESOURCES` | 6 |
25
- * | `./micro-resources-data` | `DATA_MICRO_RESOURCES` | 125 |
26
- * | `./micro-resources-item` | `ITEM_MICRO_RESOURCES` | 62 |
27
- * | `./micro-resources-all` | `ALL_MICRO_RESOURCES` | 226 (the default) |
21
+ * Sizes are each module's import graph once your bundler has minified it — the
22
+ * published package itself is not minified — before any transport compression.
23
+ *
24
+ * | Module | Export | Minified | Gzipped |
25
+ * | --- | --- | --- | --- |
26
+ * | `./micro-resources-component` | `COMPONENT_MICRO_RESOURCES` | ~2 KiB | ~1 KiB |
27
+ * | `./micro-resources-consumable` | `CONSUMABLE_MICRO_RESOURCES` | ~1 KiB | <1 KiB |
28
+ * | `./micro-resources-data` | `DATA_MICRO_RESOURCES` | ~7 KiB | ~2 KiB |
29
+ * | `./micro-resources-item` | `ITEM_MICRO_RESOURCES` | ~3 KiB | ~1 KiB |
30
+ * | `./micro-resources-all` | `ALL_MICRO_RESOURCES` | ~12 KiB | ~3 KiB |
28
31
  *
29
32
  * It narrows *results*, not bundle size: importing a lookup pulls all four
30
- * catalogues, since that is what it falls back to — ~13 KiB minified for all 226.
33
+ * catalogues, since that is what it falls back to — ~12 KiB minified for the set.
31
34
  * {@link microResourcesInCategory} reaches the same subsets from a plain string.
32
35
  *
33
36
  * **Only `ALL_MICRO_RESOURCES` itself is indexed.** A by-key lookup answers from an
34
37
  * O(1) index when the catalogue you pass *is* `ALL_MICRO_RESOURCES` — the same object,
35
38
  * not a copy — and scans linearly otherwise, including for `[...ALL_MICRO_RESOURCES]`,
36
- * which holds the same 226 records. Omitting the argument always takes the indexed
39
+ * which holds the same records. Omitting the argument always takes the indexed
37
40
  * path, so pass one only when you mean to exclude the rest.
38
41
  *
39
42
  * {@link microResourcesInCategory} takes no catalogue: it returns an array, so
@@ -89,8 +92,8 @@ interface MicroResource {
89
92
  *
90
93
  * @param symbol - The internal symbol, e.g. `"graphene"`, or the lower-cased form the
91
94
  * player journal reports. Leading/trailing whitespace and case are ignored.
92
- * @param microResources - Optional subset to search instead of all 226 micro
93
- * resources — `COMPONENT_MICRO_RESOURCES`, `CONSUMABLE_MICRO_RESOURCES`,
95
+ * @param microResources - Optional subset to search instead of every micro
96
+ * resource — `COMPONENT_MICRO_RESOURCES`, `CONSUMABLE_MICRO_RESOURCES`,
94
97
  * `DATA_MICRO_RESOURCES`, `ITEM_MICRO_RESOURCES`, or any array you have filtered
95
98
  * yourself. Omit it unless you specifically want to exclude the rest: the indexed O(1)
96
99
  * path is taken only when the argument is omitted or is `ALL_MICRO_RESOURCES` **by
@@ -138,8 +141,8 @@ declare function getMicroResourceByName(name: string, microResources?: readonly
138
141
  * ```ts
139
142
  * import { microResourcesInCategory } from '@elite-dangerous-almanac/core/materials/micro-resources';
140
143
  *
141
- * microResourcesInCategory('consumable').length; // -> 6
142
- * microResourcesInCategory('Consumable').length; // -> 6; case is ignored
144
+ * microResourcesInCategory('consumable')[0]?.name; // -> 'Medkit'
145
+ * microResourcesInCategory('Consumable')[0]?.name; // -> 'Medkit'; case is ignored
143
146
  * ```
144
147
  */
145
148
  declare function microResourcesInCategory(category: string): MicroResource[];
@@ -1 +1 @@
1
- export{getMicroResourceByName,getMicroResourceBySymbol,microResourcesInCategory}from"../chunk-7EWZGDWY.js"; //# sourceMappingURL=micro-resources.js.map
1
+ export{getMicroResourceByName,getMicroResourceBySymbol,microResourcesInCategory}from"../chunk-X3MXPE7G.js"; //# sourceMappingURL=micro-resources.js.map
@@ -75,10 +75,10 @@ interface AmmunitionCapacity {
75
75
  *
76
76
  * @param stats - The module's stats. A catalogue record works as-is; pass a
77
77
  * post-engineering record (`FittedModule.effectiveStats`, `effectiveModule`) to get the
78
- * capacity a build actually flies with. Fifteen blueprints move one figure or both — High
79
- * Capacity, the chaff, heat-sink and point-defence capacity recipes among them and three
80
- * experimental effects move the reserve: Corrosive Shell costs a fifth of it, and Plasma
81
- * Slug (in both its forms) empties it, because the weapon then reloads from ship fuel.
78
+ * capacity a build actually flies with. Blueprints such as High Capacity and the chaff,
79
+ * heat-sink and point-defence capacity recipes move one figure or both, and experimental
80
+ * effects move the reserve: Corrosive Shell costs a fifth of it, and Plasma Slug (in both
81
+ * its forms) empties it, because the weapon then reloads from ship fuel.
82
82
  * @returns The {@link AmmunitionCapacity}, or `null` for a module that carries no
83
83
  * ammunition at all — the lasers, which state neither figure because they draw from the
84
84
  * weapons capacitor instead.
@@ -14,7 +14,7 @@ import './slots.js';
14
14
  * Use {@link getBlueprintGradeCost} for that per-roll recipe or {@link getBlueprintCost}
15
15
  * for the complete weighted climb to a target grade. Both answer with a
16
16
  * {@link BlueprintCost} — the materials consumed *and* the **Merc Coin** billed beside
17
- * them, since 25 recipes charge a currency as well. The matching stat modifiers live in
17
+ * them, since some recipes charge a currency as well. The matching stat modifiers live in
18
18
  * `ships/blueprints`.
19
19
  *
20
20
  * Data from EDCD/coriolis-data (`modifications/blueprints.json`), with Operations and
@@ -85,8 +85,8 @@ declare function getBlueprintCosts(blueprintSymbol: string): BlueprintGradeCosts
85
85
  *
86
86
  * @remarks
87
87
  * Merc Coin has no credit equivalent and is not a material, so it is its own member
88
- * rather than an entry in `materials`. Only 25 of the catalogued blueprints charge any;
89
- * on every other recipe `mercCoins` is `0`, which is a real amount rather than a missing
88
+ * rather than an entry in `materials`. Only a minority of the catalogued blueprints charge
89
+ * any; on every other recipe `mercCoins` is `0`, which is a real amount rather than a missing
90
90
  * one — a step that is catalogued at all reports both halves of its cost.
91
91
  */
92
92
  interface BlueprintCost {
@@ -99,10 +99,10 @@ interface BlueprintCost {
99
99
  * The Merc Coin the step bills, already weighted for however many rolls the step
100
100
  * covers, exactly as the `materials` counts are.
101
101
  *
102
- * `0` either where the recipe charges no currency — 25 blueprints do and the rest do
103
- * not — or where this particular step covers no grade that charges. It is therefore
102
+ * `0` either where the recipe charges no currency — a minority of blueprints charge
103
+ * it — or where this particular step covers no grade that charges. It is therefore
104
104
  * an amount for *this* step, and reading `0` as "this blueprint never charges Merc
105
- * Coin" is wrong on exactly the 25 that do.
105
+ * Coin" is wrong on every recipe that does.
106
106
  */
107
107
  readonly mercCoins: number;
108
108
  }
@@ -144,9 +144,9 @@ declare function getBlueprintGradeCost(blueprintSymbol: string, grade: number):
144
144
  * `currentGrade` to `grade − 1`; use {@link getBlueprintGradeCost} for one roll.
145
145
  *
146
146
  * A Mercenary article is bought at grade 1 and its recipe defines grades 2–5, so pass
147
- * `1` to price what an engineer can still add. The four ordinary-menu recipes that also
148
- * bill Merc Coin `FuelScoop_Efficiency` and the three `*Laser_ThermalPlasmaConversion`
149
- * define grades 1–5 on a stock module and climb from `0` like any other recipe.
147
+ * `1` to price what an engineer can still add. The ordinary-menu recipes that also bill
148
+ * Merc Coin, `FuelScoop_Efficiency` and the `*Laser_ThermalPlasmaConversion` recipes,
149
+ * define grades 1–5 on a stock module and climb from `0` like any other recipe.
150
150
  *
151
151
  * This is blueprint cost only. An experimental effect is a separate application, and it
152
152
  * costs materials alone; combine its `getExperimentalEffectCost` result with
@@ -203,11 +203,11 @@ type BlueprintMercCoinCosts = Readonly<Record<string, number>>;
203
203
  * @remarks
204
204
  * The raw catalogue behind {@link BlueprintCost.mercCoins}; reach for
205
205
  * {@link getBlueprintCost} or {@link getBlueprintGradeCost} unless you want the table
206
- * itself. A small subset of {@link BLUEPRINT_COSTS} — 25 of its ids, in two shapes.
207
- * Twenty-one are the bespoke grade-2–5 recipes that only a Mercenary article, bought
208
- * already at grade 1, can be taken through. The other four are ordinary
206
+ * itself. A small subset of {@link BLUEPRINT_COSTS}'s ids, in two shapes. Most are the
207
+ * bespoke grade-2–5 recipes that only a Mercenary article, bought
208
+ * already at grade 1, can be taken through. The others are ordinary
209
209
  * engineering-menu recipes spanning grades 1–5 that happen to bill the currency too:
210
- * `FuelScoop_Efficiency` and the three `*Laser_ThermalPlasmaConversion`. Every other
210
+ * `FuelScoop_Efficiency` and the `*Laser_ThermalPlasmaConversion` recipes. Every other
211
211
  * blueprint is absent rather than zero. Merc Coin has no credit equivalent, so it is
212
212
  * never folded into a material list.
213
213
  *
@@ -1 +1 @@
1
- export{BLUEPRINT_COSTS,BLUEPRINT_MERC_COIN_COSTS,getBlueprintCost,getBlueprintCosts,getBlueprintGradeCost}from"../chunk-ETWMPMZP.js"; //# sourceMappingURL=blueprint-costs.js.map
1
+ export{BLUEPRINT_COSTS,BLUEPRINT_MERC_COIN_COSTS,getBlueprintCost,getBlueprintCosts,getBlueprintGradeCost}from"../chunk-K5JK3XQB.js"; //# sourceMappingURL=blueprint-costs.js.map