react-cheminfo 0.69.0 → 0.71.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (616) hide show
  1. package/README.md +70 -2
  2. package/lib/about/core/providers.d.ts +6 -0
  3. package/lib/about/core/providers.d.ts.map +1 -1
  4. package/lib/about/core/providers.js +7 -0
  5. package/lib/about/core/providers.js.map +1 -1
  6. package/lib/about/ui/AboutProvidedBy.js +34 -0
  7. package/lib/about/ui/AboutProvidedBy.js.map +1 -1
  8. package/lib/chart/ui/useChartPointer.d.ts +9 -1
  9. package/lib/chart/ui/useChartPointer.d.ts.map +1 -1
  10. package/lib/chart/ui/useChartPointer.js +11 -3
  11. package/lib/chart/ui/useChartPointer.js.map +1 -1
  12. package/lib/credits/core/credits.d.ts +41 -0
  13. package/lib/credits/core/credits.d.ts.map +1 -1
  14. package/lib/credits/core/credits.js +50 -0
  15. package/lib/credits/core/credits.js.map +1 -1
  16. package/lib/download/core/drawingMarkup.d.ts +8 -1
  17. package/lib/download/core/drawingMarkup.d.ts.map +1 -1
  18. package/lib/download/core/drawingMarkup.js +13 -1
  19. package/lib/download/core/drawingMarkup.js.map +1 -1
  20. package/lib/download/core/figurePng.d.ts +14 -0
  21. package/lib/download/core/figurePng.d.ts.map +1 -1
  22. package/lib/download/core/figurePng.js +21 -6
  23. package/lib/download/core/figurePng.js.map +1 -1
  24. package/lib/download/core/figureSvg.d.ts.map +1 -1
  25. package/lib/download/core/figureSvg.js +5 -3
  26. package/lib/download/core/figureSvg.js.map +1 -1
  27. package/lib/download/core/figureTarget.d.ts +13 -0
  28. package/lib/download/core/figureTarget.d.ts.map +1 -1
  29. package/lib/download/core/figureTarget.js +25 -5
  30. package/lib/download/core/figureTarget.js.map +1 -1
  31. package/lib/download/core/svgBounds.d.ts +15 -0
  32. package/lib/download/core/svgBounds.d.ts.map +1 -1
  33. package/lib/download/core/svgBounds.js +20 -0
  34. package/lib/download/core/svgBounds.js.map +1 -1
  35. package/lib/download/core/svgToPng.d.ts.map +1 -1
  36. package/lib/download/core/svgToPng.js +4 -2
  37. package/lib/download/core/svgToPng.js.map +1 -1
  38. package/lib/format/core/relativeTime.d.ts +8 -3
  39. package/lib/format/core/relativeTime.d.ts.map +1 -1
  40. package/lib/format/core/relativeTime.js +19 -7
  41. package/lib/format/core/relativeTime.js.map +1 -1
  42. package/lib/host/core/connectHost.d.ts +25 -34
  43. package/lib/host/core/connectHost.d.ts.map +1 -1
  44. package/lib/host/core/connectHost.js +43 -89
  45. package/lib/host/core/connectHost.js.map +1 -1
  46. package/lib/host/core/hostOutputs.d.ts +58 -0
  47. package/lib/host/core/hostOutputs.d.ts.map +1 -0
  48. package/lib/host/core/hostOutputs.js +151 -0
  49. package/lib/host/core/hostOutputs.js.map +1 -0
  50. package/lib/host/core/index.d.ts +9 -3
  51. package/lib/host/core/index.d.ts.map +1 -1
  52. package/lib/host/core/index.js +4 -1
  53. package/lib/host/core/index.js.map +1 -1
  54. package/lib/host/core/irKinds.d.ts +124 -0
  55. package/lib/host/core/irKinds.d.ts.map +1 -0
  56. package/lib/host/core/irKinds.js +46 -0
  57. package/lib/host/core/irKinds.js.map +1 -0
  58. package/lib/host/core/kinds.d.ts +13 -5
  59. package/lib/host/core/kinds.d.ts.map +1 -1
  60. package/lib/host/core/kinds.js +11 -5
  61. package/lib/host/core/kinds.js.map +1 -1
  62. package/lib/host/core/protocol.d.ts +50 -7
  63. package/lib/host/core/protocol.d.ts.map +1 -1
  64. package/lib/host/core/protocol.js +10 -6
  65. package/lib/host/core/protocol.js.map +1 -1
  66. package/lib/host/core/selectInputs.d.ts +37 -0
  67. package/lib/host/core/selectInputs.d.ts.map +1 -0
  68. package/lib/host/core/selectInputs.js +110 -0
  69. package/lib/host/core/selectInputs.js.map +1 -0
  70. package/lib/host/testing/sciPeaks.d.ts +31 -0
  71. package/lib/host/testing/sciPeaks.d.ts.map +1 -1
  72. package/lib/host/testing/sciPeaks.js +73 -0
  73. package/lib/host/testing/sciPeaks.js.map +1 -1
  74. package/lib/host/testing/standInHost.d.ts +9 -1
  75. package/lib/host/testing/standInHost.d.ts.map +1 -1
  76. package/lib/host/testing/standInHost.js +19 -1
  77. package/lib/host/testing/standInHost.js.map +1 -1
  78. package/lib/host/ui/useHostConnection.d.ts +13 -5
  79. package/lib/host/ui/useHostConnection.d.ts.map +1 -1
  80. package/lib/host/ui/useHostConnection.js +4 -3
  81. package/lib/host/ui/useHostConnection.js.map +1 -1
  82. package/lib/host-testing.d.ts +2 -2
  83. package/lib/host-testing.d.ts.map +1 -1
  84. package/lib/host-testing.js +2 -2
  85. package/lib/host-testing.js.map +1 -1
  86. package/lib/i18n/core/chromeCatalog.d.ts +1 -1
  87. package/lib/i18n/core/chromeCatalog.d.ts.map +1 -1
  88. package/lib/ir/core/handPicking.d.ts +58 -0
  89. package/lib/ir/core/handPicking.d.ts.map +1 -0
  90. package/lib/ir/core/handPicking.js +130 -0
  91. package/lib/ir/core/handPicking.js.map +1 -0
  92. package/lib/ir/core/index.d.ts +3 -0
  93. package/lib/ir/core/index.d.ts.map +1 -1
  94. package/lib/ir/core/index.js +3 -0
  95. package/lib/ir/core/index.js.map +1 -1
  96. package/lib/ir/core/irBandState.d.ts +57 -0
  97. package/lib/ir/core/irBandState.d.ts.map +1 -0
  98. package/lib/ir/core/irBandState.js +119 -0
  99. package/lib/ir/core/irBandState.js.map +1 -0
  100. package/lib/ir/core/irCommands.d.ts +11 -0
  101. package/lib/ir/core/irCommands.d.ts.map +1 -1
  102. package/lib/ir/core/irCommands.js +6 -0
  103. package/lib/ir/core/irCommands.js.map +1 -1
  104. package/lib/ir/core/irPeaks.d.ts +28 -0
  105. package/lib/ir/core/irPeaks.d.ts.map +1 -0
  106. package/lib/ir/core/irPeaks.js +66 -0
  107. package/lib/ir/core/irPeaks.js.map +1 -0
  108. package/lib/ir/core/irReducer.d.ts +8 -0
  109. package/lib/ir/core/irReducer.d.ts.map +1 -1
  110. package/lib/ir/core/irReducer.js +15 -32
  111. package/lib/ir/core/irReducer.js.map +1 -1
  112. package/lib/ir/core/irSpectrum.d.ts +15 -0
  113. package/lib/ir/core/irSpectrum.d.ts.map +1 -1
  114. package/lib/ir/core/irSpectrum.js.map +1 -1
  115. package/lib/ir/core/irState.d.ts +9 -6
  116. package/lib/ir/core/irState.d.ts.map +1 -1
  117. package/lib/ir/core/irState.js +10 -6
  118. package/lib/ir/core/irState.js.map +1 -1
  119. package/lib/ir/core/pickBands.d.ts +14 -0
  120. package/lib/ir/core/pickBands.d.ts.map +1 -1
  121. package/lib/ir/core/pickBands.js +39 -33
  122. package/lib/ir/core/pickBands.js.map +1 -1
  123. package/lib/ir/core/ramanBands.d.ts +9 -1
  124. package/lib/ir/core/ramanBands.d.ts.map +1 -1
  125. package/lib/ir/core/ramanBands.js +2 -2
  126. package/lib/ir/core/ramanBands.js.map +1 -1
  127. package/lib/ir/core/spectrumBands.d.ts +46 -0
  128. package/lib/ir/core/spectrumBands.d.ts.map +1 -0
  129. package/lib/ir/core/spectrumBands.js +98 -0
  130. package/lib/ir/core/spectrumBands.js.map +1 -0
  131. package/lib/ir/ui/BandRow.d.ts +5 -0
  132. package/lib/ir/ui/BandRow.d.ts.map +1 -1
  133. package/lib/ir/ui/BandRow.js +4 -3
  134. package/lib/ir/ui/BandRow.js.map +1 -1
  135. package/lib/ir/ui/BandsPanel.d.ts +5 -0
  136. package/lib/ir/ui/BandsPanel.d.ts.map +1 -1
  137. package/lib/ir/ui/BandsPanel.js +36 -16
  138. package/lib/ir/ui/BandsPanel.js.map +1 -1
  139. package/lib/ir/ui/BandsToolbar.d.ts +9 -0
  140. package/lib/ir/ui/BandsToolbar.d.ts.map +1 -0
  141. package/lib/ir/ui/BandsToolbar.js +61 -0
  142. package/lib/ir/ui/BandsToolbar.js.map +1 -0
  143. package/lib/ir/ui/IrCanvas.d.ts +2 -1
  144. package/lib/ir/ui/IrCanvas.d.ts.map +1 -1
  145. package/lib/ir/ui/IrCanvas.js +19 -5
  146. package/lib/ir/ui/IrCanvas.js.map +1 -1
  147. package/lib/ir/ui/IrChart.d.ts.map +1 -1
  148. package/lib/ir/ui/IrChart.js +8 -1
  149. package/lib/ir/ui/IrChart.js.map +1 -1
  150. package/lib/ir/ui/IrDocumentationDialog.js +1 -1
  151. package/lib/ir/ui/IrDocumentationDialog.js.map +1 -1
  152. package/lib/ir/ui/IrEditor.d.ts +4 -2
  153. package/lib/ir/ui/IrEditor.d.ts.map +1 -1
  154. package/lib/ir/ui/IrEditor.js.map +1 -1
  155. package/lib/ir/ui/IrShell.d.ts.map +1 -1
  156. package/lib/ir/ui/IrShell.js +6 -0
  157. package/lib/ir/ui/IrShell.js.map +1 -1
  158. package/lib/ir/ui/IrStatusBar.d.ts.map +1 -1
  159. package/lib/ir/ui/IrStatusBar.js +1 -1
  160. package/lib/ir/ui/IrStatusBar.js.map +1 -1
  161. package/lib/ir/ui/IrToolbar.d.ts +4 -3
  162. package/lib/ir/ui/IrToolbar.d.ts.map +1 -1
  163. package/lib/ir/ui/IrToolbar.js +5 -4
  164. package/lib/ir/ui/IrToolbar.js.map +1 -1
  165. package/lib/ir/ui/VibrationalEditor.d.ts +2 -1
  166. package/lib/ir/ui/VibrationalEditor.d.ts.map +1 -1
  167. package/lib/ir/ui/VibrationalEditor.js.map +1 -1
  168. package/lib/ir/ui/irActions.d.ts +5 -0
  169. package/lib/ir/ui/irActions.d.ts.map +1 -1
  170. package/lib/ir/ui/irActions.js +6 -0
  171. package/lib/ir/ui/irActions.js.map +1 -1
  172. package/lib/ir/ui/irChartProps.d.ts +4 -1
  173. package/lib/ir/ui/irChartProps.d.ts.map +1 -1
  174. package/lib/ir/ui/useIrEditor.d.ts +5 -11
  175. package/lib/ir/ui/useIrEditor.d.ts.map +1 -1
  176. package/lib/ir/ui/useIrEditor.js +17 -18
  177. package/lib/ir/ui/useIrEditor.js.map +1 -1
  178. package/lib/locales/de.json +63 -0
  179. package/lib/locales/en.json +63 -0
  180. package/lib/locales/es.json +63 -0
  181. package/lib/locales/fr.json +63 -0
  182. package/lib/locales/it.json +63 -0
  183. package/lib/mass/core/analyseSpectrum.d.ts +85 -0
  184. package/lib/mass/core/analyseSpectrum.d.ts.map +1 -0
  185. package/lib/mass/core/analyseSpectrum.js +101 -0
  186. package/lib/mass/core/analyseSpectrum.js.map +1 -0
  187. package/lib/mass/core/ascendingTrace.d.ts +24 -0
  188. package/lib/mass/core/ascendingTrace.d.ts.map +1 -0
  189. package/lib/mass/core/ascendingTrace.js +57 -0
  190. package/lib/mass/core/ascendingTrace.js.map +1 -0
  191. package/lib/mass/core/centroidPeaks.d.ts +77 -0
  192. package/lib/mass/core/centroidPeaks.d.ts.map +1 -0
  193. package/lib/mass/core/centroidPeaks.js +62 -0
  194. package/lib/mass/core/centroidPeaks.js.map +1 -0
  195. package/lib/mass/core/detectMassFormat.d.ts +24 -0
  196. package/lib/mass/core/detectMassFormat.d.ts.map +1 -0
  197. package/lib/mass/core/detectMassFormat.js +105 -0
  198. package/lib/mass/core/detectMassFormat.js.map +1 -0
  199. package/lib/mass/core/downloadSpectra.d.ts +24 -0
  200. package/lib/mass/core/downloadSpectra.d.ts.map +1 -0
  201. package/lib/mass/core/downloadSpectra.js +35 -0
  202. package/lib/mass/core/downloadSpectra.js.map +1 -0
  203. package/lib/mass/core/fromJcamp.d.ts +46 -0
  204. package/lib/mass/core/fromJcamp.d.ts.map +1 -0
  205. package/lib/mass/core/fromJcamp.js +123 -0
  206. package/lib/mass/core/fromJcamp.js.map +1 -0
  207. package/lib/mass/core/fromText.d.ts +30 -0
  208. package/lib/mass/core/fromText.d.ts.map +1 -0
  209. package/lib/mass/core/fromText.js +39 -0
  210. package/lib/mass/core/fromText.js.map +1 -0
  211. package/lib/mass/core/index.d.ts +70 -0
  212. package/lib/mass/core/index.d.ts.map +1 -0
  213. package/lib/mass/core/index.js +42 -0
  214. package/lib/mass/core/index.js.map +1 -0
  215. package/lib/mass/core/jcampTechnique.d.ts +38 -0
  216. package/lib/mass/core/jcampTechnique.d.ts.map +1 -0
  217. package/lib/mass/core/jcampTechnique.js +70 -0
  218. package/lib/mass/core/jcampTechnique.js.map +1 -0
  219. package/lib/mass/core/labelStackBox.d.ts +49 -0
  220. package/lib/mass/core/labelStackBox.d.ts.map +1 -0
  221. package/lib/mass/core/labelStackBox.js +44 -0
  222. package/lib/mass/core/labelStackBox.js.map +1 -0
  223. package/lib/mass/core/labelledPeaks.d.ts +79 -0
  224. package/lib/mass/core/labelledPeaks.d.ts.map +1 -0
  225. package/lib/mass/core/labelledPeaks.js +74 -0
  226. package/lib/mass/core/labelledPeaks.js.map +1 -0
  227. package/lib/mass/core/loadMassSpectra.d.ts +57 -0
  228. package/lib/mass/core/loadMassSpectra.d.ts.map +1 -0
  229. package/lib/mass/core/loadMassSpectra.js +45 -0
  230. package/lib/mass/core/loadMassSpectra.js.map +1 -0
  231. package/lib/mass/core/loadedMassSpectrum.d.ts +42 -0
  232. package/lib/mass/core/loadedMassSpectrum.d.ts.map +1 -0
  233. package/lib/mass/core/loadedMassSpectrum.js +15 -0
  234. package/lib/mass/core/loadedMassSpectrum.js.map +1 -0
  235. package/lib/mass/core/massCommands.d.ts +170 -0
  236. package/lib/mass/core/massCommands.d.ts.map +1 -0
  237. package/lib/mass/core/massCommands.js +95 -0
  238. package/lib/mass/core/massCommands.js.map +1 -0
  239. package/lib/mass/core/massDomain.d.ts +121 -0
  240. package/lib/mass/core/massDomain.d.ts.map +1 -0
  241. package/lib/mass/core/massDomain.js +179 -0
  242. package/lib/mass/core/massDomain.js.map +1 -0
  243. package/lib/mass/core/massEditorApi.d.ts +65 -0
  244. package/lib/mass/core/massEditorApi.d.ts.map +1 -0
  245. package/lib/mass/core/massEditorApi.js +10 -0
  246. package/lib/mass/core/massEditorApi.js.map +1 -0
  247. package/lib/mass/core/massFormat.d.ts +78 -0
  248. package/lib/mass/core/massFormat.d.ts.map +1 -0
  249. package/lib/mass/core/massFormat.js +168 -0
  250. package/lib/mass/core/massFormat.js.map +1 -0
  251. package/lib/mass/core/massMeta.d.ts +85 -0
  252. package/lib/mass/core/massMeta.d.ts.map +1 -0
  253. package/lib/mass/core/massMeta.js +182 -0
  254. package/lib/mass/core/massMeta.js.map +1 -0
  255. package/lib/mass/core/massReducer.d.ts +82 -0
  256. package/lib/mass/core/massReducer.d.ts.map +1 -0
  257. package/lib/mass/core/massReducer.js +163 -0
  258. package/lib/mass/core/massReducer.js.map +1 -0
  259. package/lib/mass/core/massResolution.d.ts +92 -0
  260. package/lib/mass/core/massResolution.d.ts.map +1 -0
  261. package/lib/mass/core/massResolution.js +126 -0
  262. package/lib/mass/core/massResolution.js.map +1 -0
  263. package/lib/mass/core/massSidePanels.d.ts +28 -0
  264. package/lib/mass/core/massSidePanels.d.ts.map +1 -0
  265. package/lib/mass/core/massSidePanels.js +12 -0
  266. package/lib/mass/core/massSidePanels.js.map +1 -0
  267. package/lib/mass/core/massSpectrum.d.ts +206 -0
  268. package/lib/mass/core/massSpectrum.d.ts.map +1 -0
  269. package/lib/mass/core/massSpectrum.js +41 -0
  270. package/lib/mass/core/massSpectrum.js.map +1 -0
  271. package/lib/mass/core/massState.d.ts +145 -0
  272. package/lib/mass/core/massState.d.ts.map +1 -0
  273. package/lib/mass/core/massState.js +102 -0
  274. package/lib/mass/core/massState.js.map +1 -0
  275. package/lib/mass/core/massStateEdits.d.ts +51 -0
  276. package/lib/mass/core/massStateEdits.d.ts.map +1 -0
  277. package/lib/mass/core/massStateEdits.js +90 -0
  278. package/lib/mass/core/massStateEdits.js.map +1 -0
  279. package/lib/mass/core/massSummary.d.ts +77 -0
  280. package/lib/mass/core/massSummary.d.ts.map +1 -0
  281. package/lib/mass/core/massSummary.js +174 -0
  282. package/lib/mass/core/massSummary.js.map +1 -0
  283. package/lib/mass/core/mzDecimalsSetting.d.ts +36 -0
  284. package/lib/mass/core/mzDecimalsSetting.d.ts.map +1 -0
  285. package/lib/mass/core/mzDecimalsSetting.js +42 -0
  286. package/lib/mass/core/mzDecimalsSetting.js.map +1 -0
  287. package/lib/mass/core/nearestPeak.d.ts +75 -0
  288. package/lib/mass/core/nearestPeak.d.ts.map +1 -0
  289. package/lib/mass/core/nearestPeak.js +99 -0
  290. package/lib/mass/core/nearestPeak.js.map +1 -0
  291. package/lib/mass/core/peakLabelLines.d.ts +77 -0
  292. package/lib/mass/core/peakLabelLines.d.ts.map +1 -0
  293. package/lib/mass/core/peakLabelLines.js +54 -0
  294. package/lib/mass/core/peakLabelLines.js.map +1 -0
  295. package/lib/mass/core/peakLabelPlan.d.ts +109 -0
  296. package/lib/mass/core/peakLabelPlan.d.ts.map +1 -0
  297. package/lib/mass/core/peakLabelPlan.js +143 -0
  298. package/lib/mass/core/peakLabelPlan.js.map +1 -0
  299. package/lib/mass/core/peakTable.d.ts +54 -0
  300. package/lib/mass/core/peakTable.d.ts.map +1 -0
  301. package/lib/mass/core/peakTable.js +53 -0
  302. package/lib/mass/core/peakTable.js.map +1 -0
  303. package/lib/mass/core/resolutionOf.d.ts +60 -0
  304. package/lib/mass/core/resolutionOf.d.ts.map +1 -0
  305. package/lib/mass/core/resolutionOf.js +84 -0
  306. package/lib/mass/core/resolutionOf.js.map +1 -0
  307. package/lib/mass/core/scanFilter.d.ts +25 -0
  308. package/lib/mass/core/scanFilter.d.ts.map +1 -0
  309. package/lib/mass/core/scanFilter.js +107 -0
  310. package/lib/mass/core/scanFilter.js.map +1 -0
  311. package/lib/mass/core/spectrumJcamp.d.ts +47 -0
  312. package/lib/mass/core/spectrumJcamp.d.ts.map +1 -0
  313. package/lib/mass/core/spectrumJcamp.js +167 -0
  314. package/lib/mass/core/spectrumJcamp.js.map +1 -0
  315. package/lib/mass/core/toMassSpectrum.d.ts +67 -0
  316. package/lib/mass/core/toMassSpectrum.d.ts.map +1 -0
  317. package/lib/mass/core/toMassSpectrum.js +78 -0
  318. package/lib/mass/core/toMassSpectrum.js.map +1 -0
  319. package/lib/mass/core/traceIcon.d.ts +82 -0
  320. package/lib/mass/core/traceIcon.d.ts.map +1 -0
  321. package/lib/mass/core/traceIcon.js +66 -0
  322. package/lib/mass/core/traceIcon.js.map +1 -0
  323. package/lib/mass/core/writtenResolution.d.ts +40 -0
  324. package/lib/mass/core/writtenResolution.d.ts.map +1 -0
  325. package/lib/mass/core/writtenResolution.js +77 -0
  326. package/lib/mass/core/writtenResolution.js.map +1 -0
  327. package/lib/mass/ui/MassAboutDialog.d.ts +16 -0
  328. package/lib/mass/ui/MassAboutDialog.d.ts.map +1 -0
  329. package/lib/mass/ui/MassAboutDialog.js +44 -0
  330. package/lib/mass/ui/MassAboutDialog.js.map +1 -0
  331. package/lib/mass/ui/MassCanvas.d.ts +46 -0
  332. package/lib/mass/ui/MassCanvas.d.ts.map +1 -0
  333. package/lib/mass/ui/MassCanvas.js +84 -0
  334. package/lib/mass/ui/MassCanvas.js.map +1 -0
  335. package/lib/mass/ui/MassChart.d.ts +21 -0
  336. package/lib/mass/ui/MassChart.d.ts.map +1 -0
  337. package/lib/mass/ui/MassChart.js +139 -0
  338. package/lib/mass/ui/MassChart.js.map +1 -0
  339. package/lib/mass/ui/MassCommandProvider.d.ts +15 -0
  340. package/lib/mass/ui/MassCommandProvider.d.ts.map +1 -0
  341. package/lib/mass/ui/MassCommandProvider.js +14 -0
  342. package/lib/mass/ui/MassCommandProvider.js.map +1 -0
  343. package/lib/mass/ui/MassCommandTooltip.d.ts +16 -0
  344. package/lib/mass/ui/MassCommandTooltip.d.ts.map +1 -0
  345. package/lib/mass/ui/MassCommandTooltip.js +22 -0
  346. package/lib/mass/ui/MassCommandTooltip.js.map +1 -0
  347. package/lib/mass/ui/MassDocumentationDialog.d.ts +18 -0
  348. package/lib/mass/ui/MassDocumentationDialog.d.ts.map +1 -0
  349. package/lib/mass/ui/MassDocumentationDialog.js +70 -0
  350. package/lib/mass/ui/MassDocumentationDialog.js.map +1 -0
  351. package/lib/mass/ui/MassEditor.d.ts +78 -0
  352. package/lib/mass/ui/MassEditor.d.ts.map +1 -0
  353. package/lib/mass/ui/MassEditor.js +42 -0
  354. package/lib/mass/ui/MassEditor.js.map +1 -0
  355. package/lib/mass/ui/MassHeader.d.ts +12 -0
  356. package/lib/mass/ui/MassHeader.d.ts.map +1 -0
  357. package/lib/mass/ui/MassHeader.js +20 -0
  358. package/lib/mass/ui/MassHeader.js.map +1 -0
  359. package/lib/mass/ui/MassLogo.d.ts +21 -0
  360. package/lib/mass/ui/MassLogo.d.ts.map +1 -0
  361. package/lib/mass/ui/MassLogo.js +36 -0
  362. package/lib/mass/ui/MassLogo.js.map +1 -0
  363. package/lib/mass/ui/MassPointerTracker.d.ts +44 -0
  364. package/lib/mass/ui/MassPointerTracker.d.ts.map +1 -0
  365. package/lib/mass/ui/MassPointerTracker.js +29 -0
  366. package/lib/mass/ui/MassPointerTracker.js.map +1 -0
  367. package/lib/mass/ui/MassShell.d.ts +29 -0
  368. package/lib/mass/ui/MassShell.d.ts.map +1 -0
  369. package/lib/mass/ui/MassShell.js +133 -0
  370. package/lib/mass/ui/MassShell.js.map +1 -0
  371. package/lib/mass/ui/MassSidePanel.d.ts +32 -0
  372. package/lib/mass/ui/MassSidePanel.d.ts.map +1 -0
  373. package/lib/mass/ui/MassSidePanel.js +44 -0
  374. package/lib/mass/ui/MassSidePanel.js.map +1 -0
  375. package/lib/mass/ui/MassStateProvider.d.ts +19 -0
  376. package/lib/mass/ui/MassStateProvider.d.ts.map +1 -0
  377. package/lib/mass/ui/MassStateProvider.js +16 -0
  378. package/lib/mass/ui/MassStateProvider.js.map +1 -0
  379. package/lib/mass/ui/MassStatusBar.d.ts +15 -0
  380. package/lib/mass/ui/MassStatusBar.d.ts.map +1 -0
  381. package/lib/mass/ui/MassStatusBar.js +50 -0
  382. package/lib/mass/ui/MassStatusBar.js.map +1 -0
  383. package/lib/mass/ui/MassToolbar.d.ts +24 -0
  384. package/lib/mass/ui/MassToolbar.d.ts.map +1 -0
  385. package/lib/mass/ui/MassToolbar.js +36 -0
  386. package/lib/mass/ui/MassToolbar.js.map +1 -0
  387. package/lib/mass/ui/MetadataPanel.d.ts +35 -0
  388. package/lib/mass/ui/MetadataPanel.d.ts.map +1 -0
  389. package/lib/mass/ui/MetadataPanel.js +100 -0
  390. package/lib/mass/ui/MetadataPanel.js.map +1 -0
  391. package/lib/mass/ui/MzDecimalsMenu.d.ts +28 -0
  392. package/lib/mass/ui/MzDecimalsMenu.d.ts.map +1 -0
  393. package/lib/mass/ui/MzDecimalsMenu.js +40 -0
  394. package/lib/mass/ui/MzDecimalsMenu.js.map +1 -0
  395. package/lib/mass/ui/PeakLabels.d.ts +93 -0
  396. package/lib/mass/ui/PeakLabels.d.ts.map +1 -0
  397. package/lib/mass/ui/PeakLabels.js +91 -0
  398. package/lib/mass/ui/PeakLabels.js.map +1 -0
  399. package/lib/mass/ui/PeakTable.d.ts +34 -0
  400. package/lib/mass/ui/PeakTable.d.ts.map +1 -0
  401. package/lib/mass/ui/PeakTable.js +49 -0
  402. package/lib/mass/ui/PeakTable.js.map +1 -0
  403. package/lib/mass/ui/PeaksPanel.d.ts +31 -0
  404. package/lib/mass/ui/PeaksPanel.d.ts.map +1 -0
  405. package/lib/mass/ui/PeaksPanel.js +53 -0
  406. package/lib/mass/ui/PeaksPanel.js.map +1 -0
  407. package/lib/mass/ui/SpectraPanel.d.ts +17 -0
  408. package/lib/mass/ui/SpectraPanel.d.ts.map +1 -0
  409. package/lib/mass/ui/SpectraPanel.js +76 -0
  410. package/lib/mass/ui/SpectraPanel.js.map +1 -0
  411. package/lib/mass/ui/SpectrumRow.d.ts +26 -0
  412. package/lib/mass/ui/SpectrumRow.d.ts.map +1 -0
  413. package/lib/mass/ui/SpectrumRow.js +141 -0
  414. package/lib/mass/ui/SpectrumRow.js.map +1 -0
  415. package/lib/mass/ui/SpectrumTrace.d.ts +46 -0
  416. package/lib/mass/ui/SpectrumTrace.d.ts.map +1 -0
  417. package/lib/mass/ui/SpectrumTrace.js +68 -0
  418. package/lib/mass/ui/SpectrumTrace.js.map +1 -0
  419. package/lib/mass/ui/index.d.ts +69 -0
  420. package/lib/mass/ui/index.d.ts.map +1 -0
  421. package/lib/mass/ui/index.js +42 -0
  422. package/lib/mass/ui/index.js.map +1 -0
  423. package/lib/mass/ui/massActions.d.ts +52 -0
  424. package/lib/mass/ui/massActions.d.ts.map +1 -0
  425. package/lib/mass/ui/massActions.js +62 -0
  426. package/lib/mass/ui/massActions.js.map +1 -0
  427. package/lib/mass/ui/massChartProps.d.ts +128 -0
  428. package/lib/mass/ui/massChartProps.d.ts.map +1 -0
  429. package/lib/mass/ui/massChartProps.js +14 -0
  430. package/lib/mass/ui/massChartProps.js.map +1 -0
  431. package/lib/mass/ui/massCommandContext.d.ts +36 -0
  432. package/lib/mass/ui/massCommandContext.d.ts.map +1 -0
  433. package/lib/mass/ui/massCommandContext.js +45 -0
  434. package/lib/mass/ui/massCommandContext.js.map +1 -0
  435. package/lib/mass/ui/massHostPanels.d.ts +48 -0
  436. package/lib/mass/ui/massHostPanels.d.ts.map +1 -0
  437. package/lib/mass/ui/massHostPanels.js +41 -0
  438. package/lib/mass/ui/massHostPanels.js.map +1 -0
  439. package/lib/mass/ui/massStateContext.d.ts +26 -0
  440. package/lib/mass/ui/massStateContext.d.ts.map +1 -0
  441. package/lib/mass/ui/massStateContext.js +37 -0
  442. package/lib/mass/ui/massStateContext.js.map +1 -0
  443. package/lib/mass/ui/useIntensityZoom.d.ts +20 -0
  444. package/lib/mass/ui/useIntensityZoom.d.ts.map +1 -0
  445. package/lib/mass/ui/useIntensityZoom.js +42 -0
  446. package/lib/mass/ui/useIntensityZoom.js.map +1 -0
  447. package/lib/mass/ui/useMassEditor.d.ts +52 -0
  448. package/lib/mass/ui/useMassEditor.d.ts.map +1 -0
  449. package/lib/mass/ui/useMassEditor.js +93 -0
  450. package/lib/mass/ui/useMassEditor.js.map +1 -0
  451. package/lib/mass/ui/useMassFiles.d.ts +22 -0
  452. package/lib/mass/ui/useMassFiles.d.ts.map +1 -0
  453. package/lib/mass/ui/useMassFiles.js +71 -0
  454. package/lib/mass/ui/useMassFiles.js.map +1 -0
  455. package/lib/mass/ui/useMassHandle.d.ts +15 -0
  456. package/lib/mass/ui/useMassHandle.d.ts.map +1 -0
  457. package/lib/mass/ui/useMassHandle.js +35 -0
  458. package/lib/mass/ui/useMassHandle.js.map +1 -0
  459. package/lib/mass/ui/useMassPointer.d.ts +70 -0
  460. package/lib/mass/ui/useMassPointer.d.ts.map +1 -0
  461. package/lib/mass/ui/useMassPointer.js +57 -0
  462. package/lib/mass/ui/useMassPointer.js.map +1 -0
  463. package/lib/mass/ui/useMassShortcuts.d.ts +21 -0
  464. package/lib/mass/ui/useMassShortcuts.d.ts.map +1 -0
  465. package/lib/mass/ui/useMassShortcuts.js +66 -0
  466. package/lib/mass/ui/useMassShortcuts.js.map +1 -0
  467. package/lib/mass/ui/useMassSide.d.ts +27 -0
  468. package/lib/mass/ui/useMassSide.d.ts.map +1 -0
  469. package/lib/mass/ui/useMassSide.js +45 -0
  470. package/lib/mass/ui/useMassSide.js.map +1 -0
  471. package/lib/mass/ui/useMassZoom.d.ts +92 -0
  472. package/lib/mass/ui/useMassZoom.d.ts.map +1 -0
  473. package/lib/mass/ui/useMassZoom.js +65 -0
  474. package/lib/mass/ui/useMassZoom.js.map +1 -0
  475. package/lib/mass.d.ts +16 -0
  476. package/lib/mass.d.ts.map +1 -0
  477. package/lib/mass.js +16 -0
  478. package/lib/mass.js.map +1 -0
  479. package/lib/panel/ui/PanelRail.d.ts.map +1 -1
  480. package/lib/panel/ui/PanelRail.js +6 -1
  481. package/lib/panel/ui/PanelRail.js.map +1 -1
  482. package/lib/slides/ui/slideSanitizeSchema.d.ts +3 -2
  483. package/lib/slides/ui/slideSanitizeSchema.d.ts.map +1 -1
  484. package/lib/slides/ui/slideSanitizeSchema.js +82 -2
  485. package/lib/slides/ui/slideSanitizeSchema.js.map +1 -1
  486. package/package.json +6 -1
  487. package/src/about/core/providers.ts +7 -0
  488. package/src/about/ui/AboutProvidedBy.tsx +49 -0
  489. package/src/chart/ui/useChartPointer.ts +18 -4
  490. package/src/credits/core/credits.ts +53 -0
  491. package/src/download/core/drawingMarkup.ts +18 -1
  492. package/src/download/core/figurePng.ts +21 -8
  493. package/src/download/core/figureSvg.ts +5 -2
  494. package/src/download/core/figureTarget.ts +28 -3
  495. package/src/download/core/svgBounds.ts +21 -0
  496. package/src/download/core/svgToPng.ts +3 -4
  497. package/src/format/core/relativeTime.ts +29 -7
  498. package/src/host/core/connectHost.ts +77 -120
  499. package/src/host/core/hostOutputs.ts +197 -0
  500. package/src/host/core/index.ts +13 -7
  501. package/src/host/core/irKinds.ts +92 -0
  502. package/src/host/core/kinds.ts +16 -6
  503. package/src/host/core/protocol.ts +50 -8
  504. package/src/host/core/selectInputs.ts +145 -0
  505. package/src/host/testing/sciPeaks.ts +140 -0
  506. package/src/host/testing/standInHost.ts +30 -5
  507. package/src/host/ui/useHostConnection.ts +17 -8
  508. package/src/host-testing.ts +4 -0
  509. package/src/ir/core/handPicking.ts +154 -0
  510. package/src/ir/core/index.ts +14 -0
  511. package/src/ir/core/irBandState.ts +155 -0
  512. package/src/ir/core/irCommands.ts +7 -0
  513. package/src/ir/core/irPeaks.ts +79 -0
  514. package/src/ir/core/irReducer.ts +27 -34
  515. package/src/ir/core/irSpectrum.ts +16 -0
  516. package/src/ir/core/irState.ts +15 -8
  517. package/src/ir/core/pickBands.ts +46 -39
  518. package/src/ir/core/ramanBands.ts +2 -2
  519. package/src/ir/core/spectrumBands.ts +113 -0
  520. package/src/ir/ui/BandRow.tsx +20 -2
  521. package/src/ir/ui/BandsPanel.tsx +46 -88
  522. package/src/ir/ui/BandsToolbar.tsx +152 -0
  523. package/src/ir/ui/IrCanvas.tsx +22 -11
  524. package/src/ir/ui/IrChart.tsx +10 -1
  525. package/src/ir/ui/IrDocumentationDialog.tsx +7 -0
  526. package/src/ir/ui/IrEditor.tsx +4 -2
  527. package/src/ir/ui/IrShell.tsx +5 -0
  528. package/src/ir/ui/IrStatusBar.tsx +4 -1
  529. package/src/ir/ui/IrToolbar.tsx +14 -5
  530. package/src/ir/ui/VibrationalEditor.tsx +2 -1
  531. package/src/ir/ui/irActions.ts +11 -0
  532. package/src/ir/ui/irChartProps.ts +4 -1
  533. package/src/ir/ui/useIrEditor.ts +21 -21
  534. package/src/locales/de.json +63 -0
  535. package/src/locales/en.json +63 -0
  536. package/src/locales/es.json +63 -0
  537. package/src/locales/fr.json +63 -0
  538. package/src/locales/it.json +63 -0
  539. package/src/mass/core/analyseSpectrum.ts +191 -0
  540. package/src/mass/core/ascendingTrace.ts +62 -0
  541. package/src/mass/core/centroidPeaks.ts +114 -0
  542. package/src/mass/core/detectMassFormat.ts +113 -0
  543. package/src/mass/core/downloadSpectra.ts +52 -0
  544. package/src/mass/core/fromJcamp.ts +151 -0
  545. package/src/mass/core/fromText.ts +58 -0
  546. package/src/mass/core/index.ts +194 -0
  547. package/src/mass/core/jcampTechnique.ts +87 -0
  548. package/src/mass/core/labelStackBox.ts +75 -0
  549. package/src/mass/core/labelledPeaks.ts +135 -0
  550. package/src/mass/core/loadMassSpectra.ts +86 -0
  551. package/src/mass/core/loadedMassSpectrum.ts +43 -0
  552. package/src/mass/core/massCommands.ts +156 -0
  553. package/src/mass/core/massDomain.ts +229 -0
  554. package/src/mass/core/massEditorApi.ts +68 -0
  555. package/src/mass/core/massFormat.ts +187 -0
  556. package/src/mass/core/massMeta.ts +239 -0
  557. package/src/mass/core/massReducer.ts +232 -0
  558. package/src/mass/core/massResolution.ts +169 -0
  559. package/src/mass/core/massSidePanels.ts +27 -0
  560. package/src/mass/core/massSpectrum.ts +220 -0
  561. package/src/mass/core/massState.ts +206 -0
  562. package/src/mass/core/massStateEdits.ts +104 -0
  563. package/src/mass/core/massSummary.ts +213 -0
  564. package/src/mass/core/mzDecimalsSetting.ts +52 -0
  565. package/src/mass/core/nearestPeak.ts +130 -0
  566. package/src/mass/core/peakLabelLines.ts +112 -0
  567. package/src/mass/core/peakLabelPlan.ts +246 -0
  568. package/src/mass/core/peakTable.ts +82 -0
  569. package/src/mass/core/resolutionOf.ts +100 -0
  570. package/src/mass/core/scanFilter.ts +119 -0
  571. package/src/mass/core/spectrumJcamp.ts +186 -0
  572. package/src/mass/core/toMassSpectrum.ts +126 -0
  573. package/src/mass/core/traceIcon.ts +105 -0
  574. package/src/mass/core/writtenResolution.ts +81 -0
  575. package/src/mass/ui/MassAboutDialog.tsx +89 -0
  576. package/src/mass/ui/MassCanvas.tsx +170 -0
  577. package/src/mass/ui/MassChart.tsx +266 -0
  578. package/src/mass/ui/MassCommandProvider.tsx +34 -0
  579. package/src/mass/ui/MassCommandTooltip.tsx +36 -0
  580. package/src/mass/ui/MassDocumentationDialog.tsx +136 -0
  581. package/src/mass/ui/MassEditor.tsx +130 -0
  582. package/src/mass/ui/MassHeader.tsx +38 -0
  583. package/src/mass/ui/MassLogo.tsx +84 -0
  584. package/src/mass/ui/MassPointerTracker.tsx +72 -0
  585. package/src/mass/ui/MassShell.tsx +237 -0
  586. package/src/mass/ui/MassSidePanel.tsx +107 -0
  587. package/src/mass/ui/MassStateProvider.tsx +32 -0
  588. package/src/mass/ui/MassStatusBar.tsx +108 -0
  589. package/src/mass/ui/MassToolbar.tsx +120 -0
  590. package/src/mass/ui/MetadataPanel.tsx +201 -0
  591. package/src/mass/ui/MzDecimalsMenu.tsx +86 -0
  592. package/src/mass/ui/PeakLabels.tsx +242 -0
  593. package/src/mass/ui/PeakTable.tsx +199 -0
  594. package/src/mass/ui/PeaksPanel.tsx +182 -0
  595. package/src/mass/ui/SpectraPanel.tsx +153 -0
  596. package/src/mass/ui/SpectrumRow.tsx +246 -0
  597. package/src/mass/ui/SpectrumTrace.tsx +119 -0
  598. package/src/mass/ui/index.ts +69 -0
  599. package/src/mass/ui/massActions.ts +109 -0
  600. package/src/mass/ui/massChartProps.ts +130 -0
  601. package/src/mass/ui/massCommandContext.tsx +65 -0
  602. package/src/mass/ui/massHostPanels.ts +71 -0
  603. package/src/mass/ui/massStateContext.ts +48 -0
  604. package/src/mass/ui/useIntensityZoom.ts +55 -0
  605. package/src/mass/ui/useMassEditor.ts +156 -0
  606. package/src/mass/ui/useMassFiles.ts +91 -0
  607. package/src/mass/ui/useMassHandle.ts +58 -0
  608. package/src/mass/ui/useMassPointer.ts +120 -0
  609. package/src/mass/ui/useMassShortcuts.ts +85 -0
  610. package/src/mass/ui/useMassSide.ts +63 -0
  611. package/src/mass/ui/useMassZoom.ts +157 -0
  612. package/src/mass.ts +16 -0
  613. package/src/panel/ui/PanelRail.tsx +5 -1
  614. package/src/slides/ui/slideSanitizeSchema.ts +86 -2
  615. package/styles/chrome.css +7 -0
  616. package/styles/slides.css +47 -0
@@ -1 +1 @@
1
- {"version":3,"file":"useIrEditor.js","sourceRoot":"","sources":["../../../src/ir/ui/useIrEditor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useIrEditor.js","sourceRoot":"","sources":["../../../src/ir/ui/useIrEditor.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,69 @@
8
8
  "account.signIn": "Anmelden",
9
9
  "account.signOut": "Abmelden",
10
10
  "account.signedInAs": "Angemeldet als {name}",
11
+ "account.username": "Benutzername",
12
+ "account.password": "Passwort",
13
+ "account.role": "Rolle",
14
+ "account.role.read": "Lesen",
15
+ "account.role.write": "Lesen und Schreiben",
16
+ "account.role.admin": "Administrator",
17
+ "account.you": "Sie",
18
+ "account.envManaged": "in .env festgelegt",
19
+ "account.envManagedTitle": "ADMIN_USERNAME und ADMIN_PASSWORD in der .env des Servers legen dieses Konto fest, es wird dort geändert.",
20
+ "account.accounts": "Konten",
21
+ "account.accountsNote": "Lesen sieht die Daten, Lesen und Schreiben ändert sie auch, und Administrator verwaltet zudem diese Konten.",
22
+ "account.column.added": "Hinzugefügt",
23
+ "account.column.lastSignIn": "Letzte Anmeldung",
24
+ "account.column.passwordChanged": "Passwort geändert",
25
+ "account.column.actions": "Ändern",
26
+ "account.never": "nie",
27
+ "account.add": "Konto hinzufügen",
28
+ "account.addSubmit": "Das Konto hinzufügen",
29
+ "account.added": "{username} kann sich jetzt anmelden.",
30
+ "account.usernameHelp": "Buchstaben, Ziffern, Punkte, Bindestriche und Unterstriche.",
31
+ "account.setPassword": "Passwort setzen",
32
+ "account.setPasswordTitle": "Das Passwort von {username} setzen",
33
+ "account.setPasswordNote": "{username} wird überall abgemeldet und meldet sich ab jetzt mit diesem Passwort an.",
34
+ "account.setPasswordSubmit": "Das Passwort setzen",
35
+ "account.roleOf": "Rolle von {username}",
36
+ "account.changePassword": "Ihr Passwort ändern",
37
+ "account.currentPassword": "Aktuelles Passwort",
38
+ "account.newPassword": "Neues Passwort",
39
+ "account.repeatPassword": "Neues Passwort, noch einmal",
40
+ "account.passwordsDiffer": "Die beiden neuen Passwörter unterscheiden sich.",
41
+ "account.passwordChanged": "Ihr Passwort ist geändert. Andere Browser, die mit Ihrem Konto angemeldet waren, sind abgemeldet.",
42
+ "account.ownEnvManaged": "Die .env des Servers legt Ihr Konto fest: Ändern Sie ADMIN_PASSWORD dort und starten Sie den Server neu.",
43
+ "account.remove": "Entfernen",
44
+ "account.removeQuestion": "{username} entfernen? Das Konto kann sich dann nicht mehr anmelden.",
45
+ "account.needsWrite": "Diese Seite ändert die Daten, und {username} darf sie nur lesen.",
46
+ "account.needsAdmin": "Diese Seite ist für Administratoren, und {username} ist keiner.",
47
+ "account.switchAccount": "Mit einem anderen Konto anmelden",
48
+ "account.unreachable": "Der Server ist nicht erreichbar. Versuchen Sie es gleich noch einmal.",
49
+ "account.refusal.wrongCredentials": "Falscher Benutzername oder falsches Passwort.",
50
+ "account.refusal.tooManyAttempts": "Zu viele Anmeldeversuche von hier. Versuchen Sie es in 15 Minuten wieder.",
51
+ "account.refusal.signInElsewhere": "Die Anmeldung geschieht auf den Seiten dieser Website.",
52
+ "account.refusal.signOutElsewhere": "Die Abmeldung geschieht auf den Seiten dieser Website.",
53
+ "account.refusal.changeElsewhere": "Änderungen geschehen von den Seiten dieser Website aus.",
54
+ "account.refusal.signInRequired": "Dies ist für die Konten dieser Website: Melden Sie sich an.",
55
+ "account.refusal.sessionEnded": "Die Sitzung ist zu Ende: Melden Sie sich erneut an.",
56
+ "account.refusal.wrongToken": "Das ist nicht das ADMIN_TOKEN dieses Servers.",
57
+ "account.refusal.noAdminToken": "Auf diesem Server ist kein ADMIN_TOKEN gesetzt: Melden Sie sich stattdessen an.",
58
+ "account.refusal.roleTooLow": "Ihr Konto darf das nicht: Fragen Sie einen Administrator.",
59
+ "account.refusal.usernameLength": "Ein Benutzername hat {min} bis {max} Zeichen.",
60
+ "account.refusal.usernameCharacters": "Ein Benutzername enthält Buchstaben, Ziffern, Punkte, Bindestriche und Unterstriche und beginnt mit einem Buchstaben oder einer Ziffer.",
61
+ "account.refusal.usernameTaken": "Dieser Benutzername ist vergeben.",
62
+ "account.refusal.passwordEmpty": "Ein Passwort darf nicht leer sein.",
63
+ "account.refusal.passwordTooLong": "Ein Passwort hat höchstens {max} Zeichen.",
64
+ "account.refusal.noSuchAccount": "Dieses Konto gibt es nicht mehr.",
65
+ "account.refusal.nothingToChange": "Senden Sie ein neues Passwort, eine neue Rolle oder beides.",
66
+ "account.refusal.useChangePassword": "Ändern Sie Ihr eigenes Passwort mit POST /password, das nach dem aktuellen fragt.",
67
+ "account.refusal.ownRole": "Sie können Ihre eigene Rolle nicht ändern.",
68
+ "account.refusal.removeYourself": "Sie können das Konto, das Sie verwenden, nicht entfernen.",
69
+ "account.refusal.lastAdmin": "Der letzte Administrator kann weder entfernt noch herabgestuft werden.",
70
+ "account.refusal.envManaged": "Die .env des Servers legt dieses Konto fest, es wird dort geändert.",
71
+ "account.refusal.tokenCannotChangePassword": "Ein Passwort ändert das angemeldete Konto, nicht das ADMIN_TOKEN.",
72
+ "account.refusal.wrongCurrentPassword": "Das aktuelle Passwort ist nicht dieses.",
73
+ "account.refusal.accountRemoved": "Das angemeldete Konto wurde entfernt.",
11
74
  "ecosystem.tools": "Werkzeuge",
12
75
  "ecosystem.menuHeading": "Unsere Werkzeuge, alle im Browser",
13
76
  "ecosystem.otherTools": "Unsere weiteren Werkzeuge",
@@ -8,6 +8,69 @@
8
8
  "account.signIn": "Sign in",
9
9
  "account.signOut": "Sign out",
10
10
  "account.signedInAs": "Signed in as {name}",
11
+ "account.username": "Username",
12
+ "account.password": "Password",
13
+ "account.role": "Role",
14
+ "account.role.read": "Read",
15
+ "account.role.write": "Read and write",
16
+ "account.role.admin": "Administrator",
17
+ "account.you": "you",
18
+ "account.envManaged": "defined in .env",
19
+ "account.envManagedTitle": "ADMIN_USERNAME and ADMIN_PASSWORD in the server's .env define this account, so it is changed there.",
20
+ "account.accounts": "Accounts",
21
+ "account.accountsNote": "Read sees the data, Read and write also changes it, and Administrator also manages these accounts.",
22
+ "account.column.added": "Added",
23
+ "account.column.lastSignIn": "Last sign-in",
24
+ "account.column.passwordChanged": "Password changed",
25
+ "account.column.actions": "Change",
26
+ "account.never": "never",
27
+ "account.add": "Add an account",
28
+ "account.addSubmit": "Add the account",
29
+ "account.added": "{username} can sign in now.",
30
+ "account.usernameHelp": "Letters, digits, dots, dashes and underscores.",
31
+ "account.setPassword": "Set password",
32
+ "account.setPasswordTitle": "Set the password of {username}",
33
+ "account.setPasswordNote": "{username} is signed out everywhere, and signs in with this password from now on.",
34
+ "account.setPasswordSubmit": "Set the password",
35
+ "account.roleOf": "Role of {username}",
36
+ "account.changePassword": "Change your password",
37
+ "account.currentPassword": "Current password",
38
+ "account.newPassword": "New password",
39
+ "account.repeatPassword": "New password, again",
40
+ "account.passwordsDiffer": "The two new passwords differ.",
41
+ "account.passwordChanged": "Your password is changed. Other browsers signed in as you are signed out.",
42
+ "account.ownEnvManaged": "The server's .env defines your account: change ADMIN_PASSWORD there, then restart the server.",
43
+ "account.remove": "Remove",
44
+ "account.removeQuestion": "Remove {username}? It can no longer sign in.",
45
+ "account.needsWrite": "This page changes the data, and {username} can only read it.",
46
+ "account.needsAdmin": "This page is for administrators, and {username} is not one.",
47
+ "account.switchAccount": "Sign in as somebody else",
48
+ "account.unreachable": "The server cannot be reached. Try again in a moment.",
49
+ "account.refusal.wrongCredentials": "Wrong username or password.",
50
+ "account.refusal.tooManyAttempts": "Too many sign-ins from here. Try again in 15 minutes.",
51
+ "account.refusal.signInElsewhere": "Signing in happens on this site's own pages.",
52
+ "account.refusal.signOutElsewhere": "Signing out happens on this site's own pages.",
53
+ "account.refusal.changeElsewhere": "Changes are made from this site's own pages.",
54
+ "account.refusal.signInRequired": "This is for the accounts of this site: sign in.",
55
+ "account.refusal.sessionEnded": "The session has ended: sign in again.",
56
+ "account.refusal.wrongToken": "That is not the ADMIN_TOKEN of this server.",
57
+ "account.refusal.noAdminToken": "No ADMIN_TOKEN is set on this server: sign in instead.",
58
+ "account.refusal.roleTooLow": "Your account cannot do this: ask an administrator.",
59
+ "account.refusal.usernameLength": "A username has {min} to {max} characters.",
60
+ "account.refusal.usernameCharacters": "A username holds letters, digits, dots, dashes and underscores, and starts with a letter or a digit.",
61
+ "account.refusal.usernameTaken": "That username is taken.",
62
+ "account.refusal.passwordEmpty": "A password cannot be empty.",
63
+ "account.refusal.passwordTooLong": "A password has at most {max} characters.",
64
+ "account.refusal.noSuchAccount": "That account no longer exists.",
65
+ "account.refusal.nothingToChange": "Send a new password, a new role, or both.",
66
+ "account.refusal.useChangePassword": "Change your own password with POST /password, which asks for the current one.",
67
+ "account.refusal.ownRole": "You cannot change your own role.",
68
+ "account.refusal.removeYourself": "You cannot remove the account you are using.",
69
+ "account.refusal.lastAdmin": "The last administrator can be neither removed nor demoted.",
70
+ "account.refusal.envManaged": "The server's .env defines this account, so it is changed there.",
71
+ "account.refusal.tokenCannotChangePassword": "A password is changed by the account signed in, not with the ADMIN_TOKEN.",
72
+ "account.refusal.wrongCurrentPassword": "The current password is not that one.",
73
+ "account.refusal.accountRemoved": "The account signed in was removed.",
11
74
  "ecosystem.tools": "Tools",
12
75
  "ecosystem.menuHeading": "Our tools, all in the browser",
13
76
  "ecosystem.otherTools": "Our other tools",
@@ -8,6 +8,69 @@
8
8
  "account.signIn": "Iniciar sesión",
9
9
  "account.signOut": "Cerrar sesión",
10
10
  "account.signedInAs": "Sesión iniciada como {name}",
11
+ "account.username": "Nombre de usuario",
12
+ "account.password": "Contraseña",
13
+ "account.role": "Rol",
14
+ "account.role.read": "Lectura",
15
+ "account.role.write": "Lectura y escritura",
16
+ "account.role.admin": "Administrador",
17
+ "account.you": "usted",
18
+ "account.envManaged": "definida en .env",
19
+ "account.envManagedTitle": "ADMIN_USERNAME y ADMIN_PASSWORD, en el .env del servidor, definen esta cuenta, que se cambia allí.",
20
+ "account.accounts": "Cuentas",
21
+ "account.accountsNote": "Lectura ve los datos, Lectura y escritura también los cambia, y Administrador también gestiona estas cuentas.",
22
+ "account.column.added": "Añadida",
23
+ "account.column.lastSignIn": "Último inicio de sesión",
24
+ "account.column.passwordChanged": "Contraseña cambiada",
25
+ "account.column.actions": "Cambiar",
26
+ "account.never": "nunca",
27
+ "account.add": "Añadir una cuenta",
28
+ "account.addSubmit": "Añadir la cuenta",
29
+ "account.added": "{username} ya puede iniciar sesión.",
30
+ "account.usernameHelp": "Letras, cifras, puntos, guiones y guiones bajos.",
31
+ "account.setPassword": "Fijar contraseña",
32
+ "account.setPasswordTitle": "Fijar la contraseña de {username}",
33
+ "account.setPasswordNote": "{username} queda desconectado en todas partes, e inicia sesión con esta contraseña a partir de ahora.",
34
+ "account.setPasswordSubmit": "Fijar la contraseña",
35
+ "account.roleOf": "Rol de {username}",
36
+ "account.changePassword": "Cambiar su contraseña",
37
+ "account.currentPassword": "Contraseña actual",
38
+ "account.newPassword": "Nueva contraseña",
39
+ "account.repeatPassword": "Nueva contraseña, otra vez",
40
+ "account.passwordsDiffer": "Las dos contraseñas nuevas no coinciden.",
41
+ "account.passwordChanged": "Su contraseña ha cambiado. Los demás navegadores con su sesión quedan desconectados.",
42
+ "account.ownEnvManaged": "El .env del servidor define su cuenta: cambie ADMIN_PASSWORD allí y reinicie el servidor.",
43
+ "account.remove": "Eliminar",
44
+ "account.removeQuestion": "¿Eliminar {username}? Ya no podrá iniciar sesión.",
45
+ "account.needsWrite": "Esta página cambia los datos, y {username} solo puede leerlos.",
46
+ "account.needsAdmin": "Esta página es para administradores, y {username} no lo es.",
47
+ "account.switchAccount": "Iniciar sesión con otra cuenta",
48
+ "account.unreachable": "No se puede contactar con el servidor. Inténtelo de nuevo en un momento.",
49
+ "account.refusal.wrongCredentials": "Nombre de usuario o contraseña incorrectos.",
50
+ "account.refusal.tooManyAttempts": "Demasiados intentos de inicio de sesión desde aquí. Inténtelo de nuevo dentro de 15 minutos.",
51
+ "account.refusal.signInElsewhere": "El inicio de sesión se hace desde las páginas de este sitio.",
52
+ "account.refusal.signOutElsewhere": "El cierre de sesión se hace desde las páginas de este sitio.",
53
+ "account.refusal.changeElsewhere": "Los cambios se hacen desde las páginas de este sitio.",
54
+ "account.refusal.signInRequired": "Esto es para las cuentas de este sitio: inicie sesión.",
55
+ "account.refusal.sessionEnded": "La sesión ha terminado: vuelva a iniciar sesión.",
56
+ "account.refusal.wrongToken": "Ese no es el ADMIN_TOKEN de este servidor.",
57
+ "account.refusal.noAdminToken": "Este servidor no tiene ningún ADMIN_TOKEN: inicie sesión en su lugar.",
58
+ "account.refusal.roleTooLow": "Su cuenta no puede hacer esto: pídaselo a un administrador.",
59
+ "account.refusal.usernameLength": "Un nombre de usuario tiene de {min} a {max} caracteres.",
60
+ "account.refusal.usernameCharacters": "Un nombre de usuario contiene letras, cifras, puntos, guiones y guiones bajos, y empieza por una letra o una cifra.",
61
+ "account.refusal.usernameTaken": "Ese nombre de usuario ya existe.",
62
+ "account.refusal.passwordEmpty": "Una contraseña no puede estar vacía.",
63
+ "account.refusal.passwordTooLong": "Una contraseña tiene como máximo {max} caracteres.",
64
+ "account.refusal.noSuchAccount": "Esa cuenta ya no existe.",
65
+ "account.refusal.nothingToChange": "Envíe una contraseña nueva, un rol nuevo, o ambos.",
66
+ "account.refusal.useChangePassword": "Cambie su propia contraseña con POST /password, que pide la actual.",
67
+ "account.refusal.ownRole": "No puede cambiar su propio rol.",
68
+ "account.refusal.removeYourself": "No puede eliminar la cuenta que está usando.",
69
+ "account.refusal.lastAdmin": "El último administrador no puede eliminarse ni degradarse.",
70
+ "account.refusal.envManaged": "El .env del servidor define esta cuenta, que se cambia allí.",
71
+ "account.refusal.tokenCannotChangePassword": "Una contraseña la cambia la cuenta con la sesión iniciada, no el ADMIN_TOKEN.",
72
+ "account.refusal.wrongCurrentPassword": "La contraseña actual no es esa.",
73
+ "account.refusal.accountRemoved": "La cuenta con la sesión iniciada fue eliminada.",
11
74
  "ecosystem.tools": "Herramientas",
12
75
  "ecosystem.menuHeading": "Nuestras herramientas, todas en el navegador",
13
76
  "ecosystem.otherTools": "Nuestras otras herramientas",
@@ -8,6 +8,69 @@
8
8
  "account.signIn": "Se connecter",
9
9
  "account.signOut": "Se déconnecter",
10
10
  "account.signedInAs": "Connecté comme {name}",
11
+ "account.username": "Nom d'utilisateur",
12
+ "account.password": "Mot de passe",
13
+ "account.role": "Rôle",
14
+ "account.role.read": "Lecture",
15
+ "account.role.write": "Lecture et écriture",
16
+ "account.role.admin": "Administrateur",
17
+ "account.you": "vous",
18
+ "account.envManaged": "défini dans .env",
19
+ "account.envManagedTitle": "ADMIN_USERNAME et ADMIN_PASSWORD, dans le .env du serveur, définissent ce compte : il se modifie là.",
20
+ "account.accounts": "Comptes",
21
+ "account.accountsNote": "Lecture consulte les données, Lecture et écriture les modifie aussi, et Administrateur gère aussi ces comptes.",
22
+ "account.column.added": "Ajouté",
23
+ "account.column.lastSignIn": "Dernière connexion",
24
+ "account.column.passwordChanged": "Mot de passe changé",
25
+ "account.column.actions": "Modifier",
26
+ "account.never": "jamais",
27
+ "account.add": "Ajouter un compte",
28
+ "account.addSubmit": "Ajouter le compte",
29
+ "account.added": "{username} peut se connecter dès maintenant.",
30
+ "account.usernameHelp": "Lettres, chiffres, points, tirets et soulignés.",
31
+ "account.setPassword": "Définir le mot de passe",
32
+ "account.setPasswordTitle": "Définir le mot de passe de {username}",
33
+ "account.setPasswordNote": "{username} est déconnecté partout, et se connecte désormais avec ce mot de passe.",
34
+ "account.setPasswordSubmit": "Définir le mot de passe",
35
+ "account.roleOf": "Rôle de {username}",
36
+ "account.changePassword": "Changer votre mot de passe",
37
+ "account.currentPassword": "Mot de passe actuel",
38
+ "account.newPassword": "Nouveau mot de passe",
39
+ "account.repeatPassword": "Nouveau mot de passe, à nouveau",
40
+ "account.passwordsDiffer": "Les deux nouveaux mots de passe diffèrent.",
41
+ "account.passwordChanged": "Votre mot de passe est changé. Les autres navigateurs connectés avec votre compte sont déconnectés.",
42
+ "account.ownEnvManaged": "Le .env du serveur définit votre compte : changez ADMIN_PASSWORD là, puis redémarrez le serveur.",
43
+ "account.remove": "Supprimer",
44
+ "account.removeQuestion": "Supprimer {username} ? Ce compte ne pourra plus se connecter.",
45
+ "account.needsWrite": "Cette page modifie les données, et {username} peut seulement les lire.",
46
+ "account.needsAdmin": "Cette page est réservée aux administrateurs, et {username} n'en est pas un.",
47
+ "account.switchAccount": "Se connecter avec un autre compte",
48
+ "account.unreachable": "Le serveur est injoignable. Réessayez dans un instant.",
49
+ "account.refusal.wrongCredentials": "Nom d'utilisateur ou mot de passe incorrect.",
50
+ "account.refusal.tooManyAttempts": "Trop de tentatives de connexion depuis ici. Réessayez dans 15 minutes.",
51
+ "account.refusal.signInElsewhere": "La connexion se fait depuis les pages de ce site.",
52
+ "account.refusal.signOutElsewhere": "La déconnexion se fait depuis les pages de ce site.",
53
+ "account.refusal.changeElsewhere": "Les modifications se font depuis les pages de ce site.",
54
+ "account.refusal.signInRequired": "Ceci est réservé aux comptes de ce site : connectez-vous.",
55
+ "account.refusal.sessionEnded": "La session a pris fin : reconnectez-vous.",
56
+ "account.refusal.wrongToken": "Ce n'est pas l'ADMIN_TOKEN de ce serveur.",
57
+ "account.refusal.noAdminToken": "Aucun ADMIN_TOKEN n'est défini sur ce serveur : connectez-vous plutôt.",
58
+ "account.refusal.roleTooLow": "Votre compte ne peut pas faire ceci : demandez à un administrateur.",
59
+ "account.refusal.usernameLength": "Un nom d'utilisateur compte de {min} à {max} caractères.",
60
+ "account.refusal.usernameCharacters": "Un nom d'utilisateur contient des lettres, des chiffres, des points, des tirets et des soulignés, et commence par une lettre ou un chiffre.",
61
+ "account.refusal.usernameTaken": "Ce nom d'utilisateur est déjà pris.",
62
+ "account.refusal.passwordEmpty": "Un mot de passe ne peut pas être vide.",
63
+ "account.refusal.passwordTooLong": "Un mot de passe compte au plus {max} caractères.",
64
+ "account.refusal.noSuchAccount": "Ce compte n'existe plus.",
65
+ "account.refusal.nothingToChange": "Envoyez un nouveau mot de passe, un nouveau rôle, ou les deux.",
66
+ "account.refusal.useChangePassword": "Changez votre propre mot de passe avec POST /password, qui demande le mot de passe actuel.",
67
+ "account.refusal.ownRole": "Vous ne pouvez pas changer votre propre rôle.",
68
+ "account.refusal.removeYourself": "Vous ne pouvez pas supprimer le compte que vous utilisez.",
69
+ "account.refusal.lastAdmin": "Le dernier administrateur ne peut être ni supprimé ni rétrogradé.",
70
+ "account.refusal.envManaged": "Le .env du serveur définit ce compte : il se modifie là.",
71
+ "account.refusal.tokenCannotChangePassword": "Un mot de passe se change depuis le compte connecté, pas avec l'ADMIN_TOKEN.",
72
+ "account.refusal.wrongCurrentPassword": "Le mot de passe actuel n'est pas celui-là.",
73
+ "account.refusal.accountRemoved": "Le compte connecté a été supprimé.",
11
74
  "ecosystem.tools": "Outils",
12
75
  "ecosystem.menuHeading": "Nos outils, tous dans le navigateur",
13
76
  "ecosystem.otherTools": "Nos autres outils",
@@ -8,6 +8,69 @@
8
8
  "account.signIn": "Accedi",
9
9
  "account.signOut": "Esci",
10
10
  "account.signedInAs": "Accesso effettuato come {name}",
11
+ "account.username": "Nome utente",
12
+ "account.password": "Password",
13
+ "account.role": "Ruolo",
14
+ "account.role.read": "Lettura",
15
+ "account.role.write": "Lettura e scrittura",
16
+ "account.role.admin": "Amministratore",
17
+ "account.you": "tu",
18
+ "account.envManaged": "definito in .env",
19
+ "account.envManagedTitle": "ADMIN_USERNAME e ADMIN_PASSWORD, nel .env del server, definiscono questo account, che si cambia lì.",
20
+ "account.accounts": "Account",
21
+ "account.accountsNote": "Lettura vede i dati, Lettura e scrittura li modifica anche, e Amministratore gestisce anche questi account.",
22
+ "account.column.added": "Aggiunto",
23
+ "account.column.lastSignIn": "Ultimo accesso",
24
+ "account.column.passwordChanged": "Password cambiata",
25
+ "account.column.actions": "Modifica",
26
+ "account.never": "mai",
27
+ "account.add": "Aggiungi un account",
28
+ "account.addSubmit": "Aggiungi l'account",
29
+ "account.added": "{username} può accedere da ora.",
30
+ "account.usernameHelp": "Lettere, cifre, punti, trattini e trattini bassi.",
31
+ "account.setPassword": "Imposta password",
32
+ "account.setPasswordTitle": "Imposta la password di {username}",
33
+ "account.setPasswordNote": "{username} viene disconnesso ovunque, e d'ora in poi accede con questa password.",
34
+ "account.setPasswordSubmit": "Imposta la password",
35
+ "account.roleOf": "Ruolo di {username}",
36
+ "account.changePassword": "Cambia la tua password",
37
+ "account.currentPassword": "Password attuale",
38
+ "account.newPassword": "Nuova password",
39
+ "account.repeatPassword": "Nuova password, di nuovo",
40
+ "account.passwordsDiffer": "Le due nuove password sono diverse.",
41
+ "account.passwordChanged": "La tua password è cambiata. Gli altri browser connessi con il tuo account sono disconnessi.",
42
+ "account.ownEnvManaged": "Il .env del server definisce il tuo account: cambia ADMIN_PASSWORD lì, poi riavvia il server.",
43
+ "account.remove": "Rimuovi",
44
+ "account.removeQuestion": "Rimuovere {username}? Non potrà più accedere.",
45
+ "account.needsWrite": "Questa pagina modifica i dati, e {username} può solo leggerli.",
46
+ "account.needsAdmin": "Questa pagina è per gli amministratori, e {username} non lo è.",
47
+ "account.switchAccount": "Accedi con un altro account",
48
+ "account.unreachable": "Il server non è raggiungibile. Riprova tra un momento.",
49
+ "account.refusal.wrongCredentials": "Nome utente o password errati.",
50
+ "account.refusal.tooManyAttempts": "Troppi tentativi di accesso da qui. Riprova tra 15 minuti.",
51
+ "account.refusal.signInElsewhere": "L'accesso avviene dalle pagine di questo sito.",
52
+ "account.refusal.signOutElsewhere": "L'uscita avviene dalle pagine di questo sito.",
53
+ "account.refusal.changeElsewhere": "Le modifiche si fanno dalle pagine di questo sito.",
54
+ "account.refusal.signInRequired": "Questo è per gli account di questo sito: accedi.",
55
+ "account.refusal.sessionEnded": "La sessione è terminata: accedi di nuovo.",
56
+ "account.refusal.wrongToken": "Questo non è l'ADMIN_TOKEN di questo server.",
57
+ "account.refusal.noAdminToken": "Su questo server non è impostato alcun ADMIN_TOKEN: accedi invece.",
58
+ "account.refusal.roleTooLow": "Il tuo account non può farlo: chiedi a un amministratore.",
59
+ "account.refusal.usernameLength": "Un nome utente ha da {min} a {max} caratteri.",
60
+ "account.refusal.usernameCharacters": "Un nome utente contiene lettere, cifre, punti, trattini e trattini bassi, e inizia con una lettera o una cifra.",
61
+ "account.refusal.usernameTaken": "Questo nome utente è già preso.",
62
+ "account.refusal.passwordEmpty": "Una password non può essere vuota.",
63
+ "account.refusal.passwordTooLong": "Una password ha al massimo {max} caratteri.",
64
+ "account.refusal.noSuchAccount": "Questo account non esiste più.",
65
+ "account.refusal.nothingToChange": "Invia una nuova password, un nuovo ruolo, o entrambi.",
66
+ "account.refusal.useChangePassword": "Cambia la tua password con POST /password, che chiede quella attuale.",
67
+ "account.refusal.ownRole": "Non puoi cambiare il tuo ruolo.",
68
+ "account.refusal.removeYourself": "Non puoi rimuovere l'account che stai usando.",
69
+ "account.refusal.lastAdmin": "L'ultimo amministratore non può essere né rimosso né declassato.",
70
+ "account.refusal.envManaged": "Il .env del server definisce questo account, che si cambia lì.",
71
+ "account.refusal.tokenCannotChangePassword": "Una password la cambia l'account connesso, non l'ADMIN_TOKEN.",
72
+ "account.refusal.wrongCurrentPassword": "La password attuale non è questa.",
73
+ "account.refusal.accountRemoved": "L'account connesso è stato rimosso.",
11
74
  "ecosystem.tools": "Strumenti",
12
75
  "ecosystem.menuHeading": "I nostri strumenti, tutti nel browser",
13
76
  "ecosystem.otherTools": "I nostri altri strumenti",
@@ -0,0 +1,85 @@
1
+ /**
2
+ * The one place a raw trace meets `ms-spectrum`.
3
+ *
4
+ * Whether a trace is a profile or a peak table, where its peaks are, what
5
+ * charge each carries and how wide they are all come out of `ms-spectrum`'s
6
+ * `Spectrum`, once, when a trace is read — everything downstream reads a
7
+ * `MassSpectrum` and never a `Spectrum`. A profile is peak picked by `ml-gsd`
8
+ * through it; a peak table is taken as it stands, each point a peak.
9
+ *
10
+ * Intensities leave here on a 0–100 scale. Two spectra acquired an hour apart
11
+ * are compared by shape and never by counts, so normalising once at the door is
12
+ * what lets a label threshold and a table floor mean the same thing whichever
13
+ * file they were read from.
14
+ */
15
+ import type { MassResolution } from './massResolution.ts';
16
+ import type { MassPeaks, MassTrace } from './massSpectrum.ts';
17
+ /** How the trace is read, where the file knows better than the arithmetic. */
18
+ export interface AnalyseSpectrumOptions {
19
+ /**
20
+ * Whether the trace is a continuous profile, overriding what the spacing of
21
+ * the points says. `ms-spectrum` calls anything under a hundred points a
22
+ * centroid, which is right for a two-column paste and wrong for a short
23
+ * profile out of a file that said so in its own header — a reader that read
24
+ * the answer says it here rather than being second-guessed.
25
+ * @default undefined — the spacing of the points decides
26
+ */
27
+ continuous?: boolean;
28
+ /**
29
+ * Fraction of the base peak under which a maximum of a profile is not a peak.
30
+ * @default 0.00025
31
+ */
32
+ threshold?: number;
33
+ /**
34
+ * How many noise standard deviations above the noise median a maximum has to
35
+ * rise before the peak picking believes it. `0` lets the peak picking decide.
36
+ * @default 3
37
+ */
38
+ noiseFactor?: number;
39
+ /**
40
+ * The charge carriers a charge-state ladder may be built from, as `mf-parser`
41
+ * reads them: `'H+,Na+'`. Only ladders use them — an isotopologue cluster
42
+ * shows its charge through its spacing, whatever carried it.
43
+ * @default 'H+'
44
+ */
45
+ ionizations?: string;
46
+ /**
47
+ * Highest charge to look for, left to `ms-spectrum` when unset: it decides a
48
+ * charge on whether the series a peak belongs to is as long as the mass that
49
+ * charge would imply, which a ceiling here could only restrict.
50
+ * @default 100
51
+ */
52
+ maxCharge?: number;
53
+ }
54
+ /** The two traces of one measurement, and what the peak widths said. */
55
+ export interface AnalysedSpectrum {
56
+ /** The continuous trace, `null` when what was read was already centroided. */
57
+ profile: MassTrace | null;
58
+ /** The picked peaks, each carrying the charge of the series it belongs to. */
59
+ centroid: MassPeaks;
60
+ /**
61
+ * The resolution measured on the widths of the picked peaks, `null` for a
62
+ * peak table, which has no widths to measure.
63
+ */
64
+ resolution: MassResolution | null;
65
+ }
66
+ /**
67
+ * Turn a raw trace into the two traces a spectrum is drawn from.
68
+ *
69
+ * The profile shares the very `x` it was handed, only `y` being fresh, so a
70
+ * caller that rescales masses has to clone first rather than write into the
71
+ * trace it kept.
72
+ *
73
+ * The charges come out of a single pass over all the peaks, because a charge is
74
+ * never readable off one peak: it is the spacing of an isotopologue cluster
75
+ * (0.5 apart means doubly charged) or the rungs of a charge-state ladder that
76
+ * says so, and a peak belonging to neither honestly has no charge.
77
+ * @param trace - The measurement as it was read, m/z ascending.
78
+ * @param options - What the file already knows, and how hard to look.
79
+ * @returns The profile, when there is one, the picked peaks and the resolution
80
+ * their widths imply.
81
+ * @throws {RangeError} When the trace carries a different number of masses and
82
+ * intensities.
83
+ */
84
+ export declare function analyseSpectrum(trace: MassTrace, options?: AnalyseSpectrumOptions): AnalysedSpectrum;
85
+ //# sourceMappingURL=analyseSpectrum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyseSpectrum.d.ts","sourceRoot":"","sources":["../../../src/mass/core/analyseSpectrum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9D,8EAA8E;AAC9E,MAAM,WAAW,sBAAsB;IACrC;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wEAAwE;AACxE,MAAM,WAAW,gBAAgB;IAC/B,8EAA8E;IAC9E,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1B,8EAA8E;IAC9E,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,UAAU,EAAE,cAAc,GAAG,IAAI,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,EAChB,OAAO,GAAE,sBAA2B,GACnC,gBAAgB,CAwDlB"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * The one place a raw trace meets `ms-spectrum`.
3
+ *
4
+ * Whether a trace is a profile or a peak table, where its peaks are, what
5
+ * charge each carries and how wide they are all come out of `ms-spectrum`'s
6
+ * `Spectrum`, once, when a trace is read — everything downstream reads a
7
+ * `MassSpectrum` and never a `Spectrum`. A profile is peak picked by `ml-gsd`
8
+ * through it; a peak table is taken as it stands, each point a peak.
9
+ *
10
+ * Intensities leave here on a 0–100 scale. Two spectra acquired an hour apart
11
+ * are compared by shape and never by counts, so normalising once at the door is
12
+ * what lets a label threshold and a table floor mean the same thing whichever
13
+ * file they were read from.
14
+ */
15
+ import { xMaxValue, xNormed } from 'ml-spectra-processing';
16
+ import { Spectrum } from 'ms-spectrum';
17
+ import { measuredResolution } from "./massResolution.js";
18
+ /**
19
+ * Turn a raw trace into the two traces a spectrum is drawn from.
20
+ *
21
+ * The profile shares the very `x` it was handed, only `y` being fresh, so a
22
+ * caller that rescales masses has to clone first rather than write into the
23
+ * trace it kept.
24
+ *
25
+ * The charges come out of a single pass over all the peaks, because a charge is
26
+ * never readable off one peak: it is the spacing of an isotopologue cluster
27
+ * (0.5 apart means doubly charged) or the rungs of a charge-state ladder that
28
+ * says so, and a peak belonging to neither honestly has no charge.
29
+ * @param trace - The measurement as it was read, m/z ascending.
30
+ * @param options - What the file already knows, and how hard to look.
31
+ * @returns The profile, when there is one, the picked peaks and the resolution
32
+ * their widths imply.
33
+ * @throws {RangeError} When the trace carries a different number of masses and
34
+ * intensities.
35
+ */
36
+ export function analyseSpectrum(trace, options = {}) {
37
+ const { continuous, threshold = 0.00025, noiseFactor = 3, ionizations = 'H+', maxCharge, } = options;
38
+ const length = trace.x.length;
39
+ if (trace.y.length !== length) {
40
+ throw new RangeError(`The trace carries ${length} masses but ${trace.y.length} intensities; every mass needs its own intensity`);
41
+ }
42
+ if (length === 0) {
43
+ return { profile: null, centroid: emptyPeaks(), resolution: null };
44
+ }
45
+ const y = normalise(trace.y);
46
+ // `Spectrum` shallow-copies the object it is handed and reads both columns
47
+ // through plain indexing, so the typed arrays go in as they are — a profile
48
+ // scan runs to hundreds of thousands of points, and converting it to two
49
+ // plain arrays would be the largest allocation of the whole load.
50
+ const spectrum = new Spectrum({ x: trace.x, y }, { threshold, noiseFactor, ionizations });
51
+ // `isContinuous` answers from `continuous` whenever it is already set, which
52
+ // is the only way to tell it what the file said about itself.
53
+ if (continuous !== undefined)
54
+ spectrum.continuous = continuous;
55
+ const isProfile = spectrum.isContinuous();
56
+ // The charges are cached inside `Spectrum` only for an empty options object,
57
+ // so nothing is passed unless there is something to say.
58
+ const peaks = spectrum.getPeaksWithCharge(maxCharge === undefined ? {} : { max: maxCharge });
59
+ const count = peaks.length;
60
+ const centroid = {
61
+ x: new Float64Array(count),
62
+ y: new Float64Array(count),
63
+ charge: new Int16Array(count),
64
+ };
65
+ for (let index = 0; index < count; index++) {
66
+ const peak = peaks[index];
67
+ centroid.x[index] = peak.x;
68
+ centroid.y[index] = peak.y;
69
+ centroid.charge[index] = peak.charge ?? 0;
70
+ }
71
+ return {
72
+ profile: isProfile ? { x: trace.x, y } : null,
73
+ centroid,
74
+ resolution: isProfile ? measuredResolution(peaks) : null,
75
+ };
76
+ }
77
+ /**
78
+ * The centroid of a spectrum holding nothing.
79
+ * @returns Three empty columns.
80
+ */
81
+ function emptyPeaks() {
82
+ return {
83
+ x: new Float64Array(0),
84
+ y: new Float64Array(0),
85
+ charge: new Int16Array(0),
86
+ };
87
+ }
88
+ /**
89
+ * The intensities on the 0–100 scale everything downstream assumes.
90
+ * @param intensities - The intensities as they were read.
91
+ * @returns A fresh array, all zeros when the trace carries no signal at all.
92
+ */
93
+ function normalise(intensities) {
94
+ const output = new Float64Array(intensities.length);
95
+ // `xNormed` refuses to divide by zero, and a trace of zeros is a legitimate
96
+ // thing to be handed — an empty scan of a chromatographic run.
97
+ if (xMaxValue(intensities) <= 0)
98
+ return output;
99
+ return xNormed(intensities, { algorithm: 'max', value: 100, output });
100
+ }
101
+ //# sourceMappingURL=analyseSpectrum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyseSpectrum.js","sourceRoot":"","sources":["../../../src/mass/core/analyseSpectrum.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * The one thing both readers have to do to the points a parser hands back.
3
+ *
4
+ * Every peak lookup, crosshair and label here finds its point by bisection, and
5
+ * bisection over a descending axis does not fail — it answers confidently and
6
+ * wrongly. A JCAMP keeps the order the file wrote, and a peak table pasted out
7
+ * of a report may be sorted by intensity, so the order is checked and mended
8
+ * here, once, rather than trusted downstream.
9
+ */
10
+ import type { NumberArray } from 'cheminfo-types';
11
+ import type { MassTrace } from './massSpectrum.ts';
12
+ /**
13
+ * The points, typed, in increasing m/z, each m/z once.
14
+ *
15
+ * A mass written twice is summed into one point rather than kept as two: a
16
+ * peak list exported from two overlapping scan ranges repeats the masses where
17
+ * they meet, and two sticks at one m/z are one ion measured twice.
18
+ * @param x - The masses, in the order the parser read them.
19
+ * @param y - The intensities, in the same order.
20
+ * @returns The trace; the arrays handed in themselves when they were already
21
+ * typed, ascending and free of repeats.
22
+ */
23
+ export declare function ascendingTrace(x: NumberArray, y: NumberArray): MassTrace;
24
+ //# sourceMappingURL=ascendingTrace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ascendingTrace.d.ts","sourceRoot":"","sources":["../../../src/mass/core/ascendingTrace.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,SAAS,CAOxE"}