@elite-dangerous-almanac/core 0.2.7 → 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 (266) hide show
  1. package/PROVENANCE/astro/SOURCES.md +13 -12
  2. package/PROVENANCE/commodities/SOURCES.md +50 -6
  3. package/PROVENANCE/equipment/SOURCES.md +229 -29
  4. package/PROVENANCE/i18n/SOURCES.md +328 -73
  5. package/PROVENANCE/ships/SOURCES.md +352 -216
  6. package/README.md +30 -7
  7. package/THIRD_PARTY_NOTICES.md +12 -1
  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-MVBVXK3G.js → chunk-3GNYPM6J.js} +1 -1
  36. package/dist/{chunk-MVBVXK3G.js.map → chunk-3GNYPM6J.js.map} +1 -1
  37. package/dist/{chunk-773VO2GK.js → chunk-4T3TTYUT.js} +1 -1
  38. package/dist/{chunk-773VO2GK.js.map → chunk-4T3TTYUT.js.map} +1 -1
  39. package/dist/chunk-7C7NJWCF.js +1 -0
  40. package/dist/chunk-7C7NJWCF.js.map +1 -0
  41. package/dist/{chunk-FMA36V6A.js → chunk-7Y5EK2VO.js} +1 -1
  42. package/dist/{chunk-FMA36V6A.js.map → chunk-7Y5EK2VO.js.map} +1 -1
  43. package/dist/chunk-AC3U7LRK.js +1 -0
  44. package/dist/{chunk-MGRDB2BZ.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-C3YZ5KTA.js +1 -0
  50. package/dist/chunk-C3YZ5KTA.js.map +1 -0
  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-F7VWRDSL.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-HIJR7DOC.js +1 -0
  69. package/dist/chunk-HIJR7DOC.js.map +1 -0
  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-NZXSIHAW.js → chunk-OSMBAFRW.js} +1 -1
  76. package/dist/{chunk-NZXSIHAW.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-A6OINYNP.js → chunk-R2AEZYX7.js} +1 -1
  86. package/dist/chunk-RA4YJBU5.js +1 -0
  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-SIL356HB.js +1 -0
  92. package/dist/chunk-SIL356HB.js.map +1 -0
  93. package/dist/chunk-SS7HVNP5.js +1 -0
  94. package/dist/chunk-SS7HVNP5.js.map +1 -0
  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-ZEN5K3GE.js → chunk-UVX7RCMP.js} +1 -1
  111. package/dist/{chunk-ZEN5K3GE.js.map → chunk-UVX7RCMP.js.map} +1 -1
  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-7S7ZTZZY.js → chunk-X3MXPE7G.js} +1 -1
  116. package/dist/{chunk-7S7ZTZZY.js.map → chunk-X3MXPE7G.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-ZBUTGTZ3.js +1 -0
  120. package/dist/chunk-ZBUTGTZ3.js.map +1 -0
  121. package/dist/commodities/commodities-all.d.ts +2 -2
  122. package/dist/commodities/commodities-all.js +1 -1
  123. package/dist/commodities/commodities-rare.d.ts +3 -4
  124. package/dist/commodities/commodities-rare.js +1 -1
  125. package/dist/commodities/commodities-standard.d.ts +7 -7
  126. package/dist/commodities/commodities-standard.js +1 -1
  127. package/dist/commodities/commodities.d.ts +12 -12
  128. package/dist/commodities/commodities.js +1 -1
  129. package/dist/commodities/index.js +1 -1
  130. package/dist/equipment/engineering.d.ts +58 -1
  131. package/dist/equipment/engineering.js +1 -1
  132. package/dist/equipment/index.d.ts +14 -3
  133. package/dist/equipment/index.js +1 -1
  134. package/dist/equipment/modification-journal.js +1 -1
  135. package/dist/equipment/modifications.d.ts +43 -11
  136. package/dist/equipment/modifications.js +1 -1
  137. package/dist/equipment/suits.d.ts +2 -115
  138. package/dist/equipment/suits.js +1 -1
  139. package/dist/equipment/tools.d.ts +102 -0
  140. package/dist/equipment/tools.js +1 -0
  141. package/dist/equipment/tools.js.map +1 -0
  142. package/dist/equipment/upgrade-costs.d.ts +2 -3
  143. package/dist/equipment/upgrade-costs.js +1 -1
  144. package/dist/equipment/weapons.d.ts +2 -121
  145. package/dist/equipment/weapons.js +1 -1
  146. package/dist/i18n/blueprints.d.ts +2 -3
  147. package/dist/i18n/blueprints.js +1 -1
  148. package/dist/i18n/commodities.d.ts +36 -0
  149. package/dist/i18n/commodities.js +1 -0
  150. package/dist/i18n/commodities.js.map +1 -0
  151. package/dist/i18n/experimental-effect-descriptions.d.ts +5 -6
  152. package/dist/i18n/experimental-effect-descriptions.js +1 -1
  153. package/dist/i18n/experimental-effects.d.ts +2 -3
  154. package/dist/i18n/experimental-effects.js +1 -1
  155. package/dist/i18n/index.d.ts +87 -1
  156. package/dist/i18n/index.js +1 -1
  157. package/dist/i18n/materials.d.ts +2 -4
  158. package/dist/i18n/materials.js +1 -1
  159. package/dist/i18n/micro-resources.d.ts +2 -4
  160. package/dist/i18n/micro-resources.js +1 -1
  161. package/dist/i18n/module-families.d.ts +3 -5
  162. package/dist/i18n/module-families.js +1 -1
  163. package/dist/i18n/modules.d.ts +3 -6
  164. package/dist/i18n/modules.js +1 -1
  165. package/dist/i18n/personal-modifications.d.ts +66 -0
  166. package/dist/i18n/personal-modifications.js +1 -0
  167. package/dist/i18n/personal-modifications.js.map +1 -0
  168. package/dist/i18n/personal-tools.d.ts +33 -0
  169. package/dist/i18n/personal-tools.js +1 -0
  170. package/dist/i18n/personal-tools.js.map +1 -0
  171. package/dist/i18n/personal-weapons.d.ts +32 -0
  172. package/dist/i18n/personal-weapons.js +1 -0
  173. package/dist/i18n/personal-weapons.js.map +1 -0
  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 +89 -0
  177. package/dist/i18n/suits.js +1 -0
  178. package/dist/i18n/suits.js.map +1 -0
  179. package/dist/materials/index.d.ts +4 -3
  180. package/dist/materials/index.js +1 -1
  181. package/dist/materials/materials-all.d.ts +2 -2
  182. package/dist/materials/materials-all.js +1 -1
  183. package/dist/materials/materials-raw.d.ts +3 -4
  184. package/dist/materials/materials-raw.js +1 -1
  185. package/dist/materials/materials.d.ts +18 -15
  186. package/dist/materials/materials.js +1 -1
  187. package/dist/materials/micro-resources-all.d.ts +2 -2
  188. package/dist/materials/micro-resources-all.js +1 -1
  189. package/dist/materials/micro-resources-component.d.ts +2 -2
  190. package/dist/materials/micro-resources-consumable.d.ts +2 -2
  191. package/dist/materials/micro-resources-data.d.ts +2 -2
  192. package/dist/materials/micro-resources-item.d.ts +2 -2
  193. package/dist/materials/micro-resources.d.ts +17 -14
  194. package/dist/materials/micro-resources.js +1 -1
  195. package/dist/ships/ammunition.d.ts +4 -4
  196. package/dist/ships/blueprint-costs.d.ts +13 -13
  197. package/dist/ships/blueprint-costs.js +1 -1
  198. package/dist/ships/blueprint-journal.d.ts +3 -3
  199. package/dist/ships/blueprint-journal.js +1 -1
  200. package/dist/ships/blueprints.d.ts +3 -3
  201. package/dist/ships/build-metrics.d.ts +2 -1
  202. package/dist/ships/build-metrics.js +1 -1
  203. package/dist/ships/default-loadouts.d.ts +2 -3
  204. package/dist/ships/default-loadouts.js +1 -1
  205. package/dist/ships/engineering-options.d.ts +29 -32
  206. package/dist/ships/engineering-options.js +1 -1
  207. package/dist/ships/engineering.d.ts +1 -2
  208. package/dist/ships/engineering.js +1 -1
  209. package/dist/ships/experimental-effect-costs.d.ts +1 -1
  210. package/dist/ships/gunsights.d.ts +3 -3
  211. package/dist/ships/heat.d.ts +1 -1
  212. package/dist/ships/index.d.ts +4 -5
  213. package/dist/ships/index.js +1 -1
  214. package/dist/ships/loadout-validation.d.ts +8 -3
  215. package/dist/ships/loadout-validation.js +1 -1
  216. package/dist/ships/module-families.d.ts +1 -1
  217. package/dist/ships/modules-all.d.ts +2 -3
  218. package/dist/ships/modules-all.js +1 -1
  219. package/dist/ships/modules-core.d.ts +3 -3
  220. package/dist/ships/modules-hardpoint.d.ts +4 -5
  221. package/dist/ships/modules-hardpoint.js +1 -1
  222. package/dist/ships/modules-internal.d.ts +19 -9
  223. package/dist/ships/modules-internal.js +1 -1
  224. package/dist/ships/modules-utility.d.ts +3 -4
  225. package/dist/ships/modules-utility.js +1 -1
  226. package/dist/ships/modules.d.ts +31 -25
  227. package/dist/ships/modules.js +1 -1
  228. package/dist/ships/pre-engineered-stats.d.ts +1 -1
  229. package/dist/ships/pre-engineered-stats.js +1 -1
  230. package/dist/ships/pre-engineered.d.ts +9 -10
  231. package/dist/ships/pre-engineered.js +1 -1
  232. package/dist/ships/ship-loadout.d.ts +13 -7
  233. package/dist/ships/ship-loadout.js +1 -1
  234. package/dist/ships/ships.d.ts +1 -2
  235. package/dist/ships/ships.js +1 -1
  236. package/dist/ships/slots.d.ts +5 -5
  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 +25 -1
  240. package/dist/chunk-4U7KYQGK.js +0 -1
  241. package/dist/chunk-4U7KYQGK.js.map +0 -1
  242. package/dist/chunk-6GJHUWMO.js +0 -1
  243. package/dist/chunk-6GJHUWMO.js.map +0 -1
  244. package/dist/chunk-77TT4K53.js +0 -1
  245. package/dist/chunk-B7EYTZRK.js +0 -1
  246. package/dist/chunk-B7EYTZRK.js.map +0 -1
  247. package/dist/chunk-C5HG4GJI.js +0 -1
  248. package/dist/chunk-C5HG4GJI.js.map +0 -1
  249. package/dist/chunk-F7VWRDSL.js.map +0 -1
  250. package/dist/chunk-KLC5XT6F.js +0 -1
  251. package/dist/chunk-KLC5XT6F.js.map +0 -1
  252. package/dist/chunk-MGRDB2BZ.js +0 -1
  253. package/dist/chunk-QJECDMQQ.js +0 -1
  254. package/dist/chunk-TSEDU73T.js +0 -1
  255. package/dist/chunk-TSEDU73T.js.map +0 -1
  256. package/dist/chunk-XRGECU7S.js +0 -1
  257. package/dist/chunk-XRGECU7S.js.map +0 -1
  258. /package/dist/{chunk-XSLPWM5N.js.map → chunk-2J6NNI3Y.js.map} +0 -0
  259. /package/dist/{chunk-DWRNXUAX.js.map → chunk-2KIZN3BY.js.map} +0 -0
  260. /package/dist/{chunk-J7BM5NGK.js.map → chunk-2TY42PTF.js.map} +0 -0
  261. /package/dist/{chunk-KBCA4GEZ.js.map → chunk-FP2TQJZP.js.map} +0 -0
  262. /package/dist/{chunk-ETWMPMZP.js.map → chunk-K5JK3XQB.js.map} +0 -0
  263. /package/dist/{chunk-A6OINYNP.js.map → chunk-R2AEZYX7.js.map} +0 -0
  264. /package/dist/{chunk-77TT4K53.js.map → chunk-SFEQXUIA.js.map} +0 -0
  265. /package/dist/{chunk-7TVFV3VO.js.map → chunk-U3IRMXMR.js.map} +0 -0
  266. /package/dist/{chunk-7ATBEOVC.js.map → chunk-WG4DPXJI.js.map} +0 -0
@@ -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
@@ -0,0 +1,89 @@
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
+
9
+ /**
10
+ * Look up an Odyssey suit's source-backed display name for a locale.
11
+ *
12
+ * @param suit - Either the grade-independent family `Suit.family` carries, such as
13
+ * `"utilitysuit"`, or one grade's Frontier symbol, such as `"utilitysuit_class3"` — the
14
+ * form a journal line writes. Matching ignores case and surrounding whitespace.
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.
17
+ * @returns The localized suit name; the canonical `Suit.name` for any English tag; or
18
+ * `null` when the suit is unknown or the locale is not one of the six this catalogue
19
+ * stores.
20
+ * @remarks
21
+ * All six stored locales are complete for this dataset, so a supported locale always
22
+ * answers. The game names a suit per family rather than per grade, so every grade of one
23
+ * suit resolves to the same name. The name is the suit's own: the outfitting list
24
+ * prefixes it with the manufacturer — "Remlok Maverick Suit" — which names a shop
25
+ * listing rather than the suit, and is not stored. This lookup bundles no suit stats.
26
+ * @throws {TypeError} If `suit` is present and not a string, or `locale` is not a
27
+ * string. A nullish `suit` is a lookup miss and returns `null`.
28
+ * @example
29
+ * ```ts
30
+ * import { getSuitName } from '@elite-dangerous-almanac/core/i18n/suits';
31
+ *
32
+ * getSuitName('utilitysuit', 'de-DE'); // -> 'Maverick-Anzug'
33
+ * getSuitName('explorationsuit_class3', 'fr'); // -> 'Combinaison Artemis'
34
+ * getSuitName('utilitysuit', 'it'); // -> null
35
+ * ```
36
+ */
37
+ declare function getSuitName(suit: string, locale: string): string | null;
38
+ /**
39
+ * Look up an Odyssey suit's display description — the prose the game shows a player, in
40
+ * all six stored locales.
41
+ *
42
+ * @param suit - Either the grade-independent family `Suit.family` carries or one grade's
43
+ * Frontier symbol, exactly as {@link getSuitName} accepts. Matching ignores case and
44
+ * surrounding whitespace.
45
+ * @param locale - A BCP 47 locale. All six stored locales are complete for this dataset.
46
+ * @returns The localized description, or `null` when the suit is unknown or the
47
+ * requested locale is not one this catalogue stores.
48
+ * @remarks
49
+ * This is display prose, not a statement of what the suit does: it names no shield
50
+ * strength, no battery capacity and no resistance. Those are the stats
51
+ * `SUITS` carries, and the two are deliberately not the same string. English is the
52
+ * game's own wording here rather than a projection of `Suit.name`.
53
+ * @throws {TypeError} If a present `suit` or `locale` is not a string.
54
+ * @example
55
+ * ```ts
56
+ * import { getSuitDescription } from '@elite-dangerous-almanac/core/i18n/suits';
57
+ *
58
+ * getSuitDescription('flightsuit', 'en')?.startsWith('Remlok'); // -> true
59
+ * getSuitDescription('flightsuit', 'ja'); // -> null
60
+ * ```
61
+ */
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;
88
+
89
+ export { getPersonalMountName, getSuitDescription, getSuitName };
@@ -0,0 +1 @@
1
+ export{getPersonalMountName,getSuitDescription,getSuitName}from"../chunk-RA4YJBU5.js"; //# sourceMappingURL=suits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"O"}
@@ -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{getMicroResourceByName,getMicroResourceBySymbol,microResourcesInCategory}from"../chunk-7S7ZTZZY.js";export{MaterialGrade,MaterialLine,getMaterialByElementSymbol,getMaterialByName,getMaterialBySymbol,materialsByGrade,materialsInCategory,materialsInLine}from"../chunk-OFZGNWBT.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"; export{ALL_MICRO_RESOURCES}from"../chunk-KLC5XT6F.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{COMPONENT_MICRO_RESOURCES}from"../chunk-HTB52N6S.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-KLC5XT6F.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-7S7ZTZZY.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
@@ -24,7 +24,8 @@
24
24
  * The same holds for `Weapon_Overcharged`, which the game writes for every weapon, though
25
25
  * a multi-cannon's also cuts the clip — 3% at grade 1 falling to 15% at grade 5.
26
26
  * `BLUEPRINTS` keys that side under `MC_Overcharged`, and this is the common case: 70 of
27
- * the build corpus's 1902 declared entries go through it, against one for the scanners.
27
+ * the build corpus's 1902 declared entries go through it, against a single entry for the
28
+ * Long Range collision above.
28
29
  * The clip penalty is folded only where a module's menu offers the multi-cannon recipe —
29
30
  * anti-xeno multi-cannons have no ordinary menu, and cannons, fragment cannons and plasma
30
31
  * accelerators take no clip leg. See
@@ -49,8 +50,7 @@
49
50
  * @throws {TypeError} If `blueprintSymbol` is not a string, including when it is missing — this
50
51
  * returns an id rather than reporting whether one is known, so there is no miss for a
51
52
  * nullish one to be. A nullish `moduleSymbol` *is* a miss: an unknown module offers no
52
- * menu,
53
- * and `blueprintSymbol` comes back unchanged.
53
+ * menu, and `blueprintSymbol` comes back unchanged.
54
54
  * @example
55
55
  * ```ts
56
56
  * import { resolveBlueprintForModule } from '@elite-dangerous-almanac/core/ships/blueprint-journal';
@@ -1 +1 @@
1
- export{resolveBlueprintForModule}from"../chunk-XSLPWM5N.js"; //# sourceMappingURL=blueprint-journal.js.map
1
+ export{resolveBlueprintForModule}from"../chunk-2J6NNI3Y.js"; //# sourceMappingURL=blueprint-journal.js.map
@@ -29,8 +29,8 @@ import './slots.js';
29
29
  * leaves it alone. `ships/blueprint-journal` keeps those three spellings apart from this
30
30
  * full mechanics catalogue and resolves one against a module.
31
31
  *
32
- * A further 25 keys are the **Operations** ids: 21 recipes a module is *sold*
33
- * carrying (`ships/pre-engineered`) and four Operations recipes a player rolls at an
32
+ * Further keys are the **Operations** ids: recipes a module is *sold*
33
+ * carrying (`ships/pre-engineered`) and the four Operations recipes a player rolls at an
34
34
  * engineer (`ships/engineering-options`). No journal spelling has been observed for those
35
35
  * Operations ids — a gap in the evidence, not a claim that the game writes none.
36
36
  *
@@ -39,7 +39,7 @@ import './slots.js';
39
39
  * Guardian modules; the Inara registry's `recipe_guardianmodule_sturdy` and
40
40
  * `recipe_guardianweapon_sturdy` are that registry's own spellings of the same recipe and
41
41
  * are not keys here.
42
- * Enumerate the 107 blueprints with `Object.keys(BLUEPRINTS)`.
42
+ * Enumerate every blueprint with `Object.keys(BLUEPRINTS)`.
43
43
  *
44
44
  * Data from EDCD/coriolis-data (`modifications/blueprints.json`): `features` from the
45
45
  * grade with journal Labels resolved via EDSY; see
@@ -42,7 +42,8 @@ import './loadout-validation.js';
42
42
  * Every calculation here is also available data-free: `./jump-range`, `./power`,
43
43
  * `./heat`, `./mobility`, `./mobility-capacitor`, `./shields`, `./shield-capacitor`,
44
44
  * `./shield-recovery`, `./armour`, `./weapons`, `./weapons-capacitor` and
45
- * `./distributor` each take a plain input object and import no catalogue. This class is the convenience that reads those inputs off a build.
45
+ * `./distributor` each take a plain input object and import no catalogue. This class is
46
+ * the convenience that reads those inputs off a build.
46
47
  *
47
48
  * Metrics that depend on optional build state return a {@link CalculationResult}: its
48
49
  * `value` is the completed figure or `null`, and `issues` explains an unavailable one.
@@ -1 +1 @@
1
- export{BuildMetrics}from"../chunk-F7VWRDSL.js"; //# sourceMappingURL=build-metrics.js.map
1
+ export{BuildMetrics}from"../chunk-G7WARJ3X.js"; //# sourceMappingURL=build-metrics.js.map