@complat/react-spectra-editor 1.0.0-rc2 → 1.0.0-rc20.patch-1

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 (202) hide show
  1. package/README.md +16 -0
  2. package/dist/__tests__/fixtures/aif_jcamp_1.js +136 -0
  3. package/dist/__tests__/fixtures/aif_jcamp_2.js +122 -0
  4. package/dist/__tests__/fixtures/backup/nmr1h_a.js +3518 -0
  5. package/dist/__tests__/fixtures/backup/xrd_jcamp_1.js +10705 -0
  6. package/dist/__tests__/fixtures/cds_jcamp.js +861 -0
  7. package/dist/__tests__/fixtures/compare_ir_1_jcamp.js +585 -0
  8. package/dist/__tests__/fixtures/compare_ir_2_jcamp.js +515 -0
  9. package/dist/__tests__/fixtures/compare_uv_vis_jcamp.js +640 -0
  10. package/dist/__tests__/fixtures/cyclic_voltammetry_1.js +778 -0
  11. package/dist/__tests__/fixtures/cyclic_voltammetry_2.js +758 -0
  12. package/dist/__tests__/fixtures/cyclic_voltammetry_3.js +759 -0
  13. package/dist/__tests__/fixtures/dls_acf_jcamp.js +148 -0
  14. package/dist/__tests__/fixtures/dls_intensity_jcamp.js +151 -0
  15. package/dist/__tests__/fixtures/emissions_jcamp.js +883 -0
  16. package/dist/__tests__/fixtures/hplc_uvvis_jcamp.js +638 -0
  17. package/dist/__tests__/fixtures/hplc_uvvis_jcamp_2.js +221 -0
  18. package/dist/__tests__/fixtures/ir_jcamp.js +148 -0
  19. package/dist/__tests__/fixtures/ir_result.js +46 -0
  20. package/dist/__tests__/fixtures/ir_svg.js +8 -0
  21. package/dist/__tests__/fixtures/ms_jcamp.js +64 -0
  22. package/dist/__tests__/fixtures/nmr13c_dept_jcamp.js +3543 -0
  23. package/dist/__tests__/fixtures/nmr13c_jcamp.js +1229 -0
  24. package/dist/__tests__/fixtures/nmr15n_jcamp.js +7177 -0
  25. package/dist/__tests__/fixtures/nmr19f_jcamp.js +6560 -0
  26. package/dist/__tests__/fixtures/nmr1h_2_jcamp.js +2005 -0
  27. package/dist/__tests__/fixtures/nmr1h_jcamp.js +4516 -0
  28. package/dist/__tests__/fixtures/nmr29si_jcamp.js +3029 -0
  29. package/dist/__tests__/fixtures/nmr31p_jcamp.js +3418 -0
  30. package/dist/__tests__/fixtures/nmr_result.js +68 -0
  31. package/dist/__tests__/fixtures/nmr_svg.js +8 -0
  32. package/dist/__tests__/fixtures/phenylalanin.js +142 -0
  33. package/dist/__tests__/fixtures/qDescValue.js +65 -0
  34. package/dist/__tests__/fixtures/raman_jcamp.js +410 -0
  35. package/dist/__tests__/fixtures/sec_1_jcamp.js +425 -0
  36. package/dist/__tests__/fixtures/sec_2_jcamp.js +407 -0
  37. package/dist/__tests__/fixtures/sec_3_jcamp.js +408 -0
  38. package/dist/__tests__/fixtures/sec_4_jcamp.js +407 -0
  39. package/dist/__tests__/fixtures/tga_jcamp.js +4157 -0
  40. package/dist/__tests__/fixtures/uv_vis_jcamp.js +249 -0
  41. package/dist/__tests__/fixtures/xrd_jcamp_1.js +436 -0
  42. package/dist/__tests__/fixtures/xrd_jcamp_2.js +955 -0
  43. package/dist/__tests__/fixtures/xrd_jcamp_3.js +1871 -0
  44. package/dist/__tests__/units/components/panel/graph_selection.test.js +72 -0
  45. package/dist/__tests__/units/components/panel/peaks.test.js +87 -0
  46. package/dist/actions/curve.js +15 -14
  47. package/dist/actions/cyclic_voltammetry.js +40 -60
  48. package/dist/actions/edit_peak.js +8 -12
  49. package/dist/actions/forecast.js +16 -24
  50. package/dist/actions/integration.js +12 -18
  51. package/dist/actions/jcamp.js +16 -24
  52. package/dist/actions/layout.js +4 -6
  53. package/dist/actions/manager.js +20 -30
  54. package/dist/actions/meta.js +4 -6
  55. package/dist/actions/multiplicity.js +24 -36
  56. package/dist/actions/scan.js +12 -18
  57. package/dist/actions/shift.js +8 -12
  58. package/dist/actions/status.js +12 -18
  59. package/dist/actions/submit.js +16 -24
  60. package/dist/actions/threshold.js +20 -30
  61. package/dist/actions/ui.js +25 -31
  62. package/dist/actions/wavelength.js +4 -6
  63. package/dist/app.js +25 -23
  64. package/dist/components/cmd_bar/01_viewer.js +24 -34
  65. package/dist/components/cmd_bar/02_zoom.js +18 -28
  66. package/dist/components/cmd_bar/03_peak.js +50 -66
  67. package/dist/components/cmd_bar/04_integration.js +70 -84
  68. package/dist/components/cmd_bar/05_multiplicity.js +42 -56
  69. package/dist/components/cmd_bar/06_undo_redo.js +22 -36
  70. package/dist/components/cmd_bar/07_pecker.js +24 -34
  71. package/dist/components/cmd_bar/common.js +11 -7
  72. package/dist/components/cmd_bar/index.js +17 -23
  73. package/dist/components/cmd_bar/r01_layout.js +79 -56
  74. package/dist/components/cmd_bar/r02_scan.js +70 -87
  75. package/dist/components/cmd_bar/r03_threshold.js +54 -68
  76. package/dist/components/cmd_bar/r04_submit.js +71 -83
  77. package/dist/components/cmd_bar/r05_submit_btn.js +64 -72
  78. package/dist/components/cmd_bar/r06_predict_btn.js +142 -152
  79. package/dist/components/cmd_bar/r07_wavelength_btn.js +28 -36
  80. package/dist/components/cmd_bar/tri_btn.js +91 -113
  81. package/dist/components/common/chem.js +2 -3
  82. package/dist/components/common/comps.js +2 -2
  83. package/dist/components/common/draw.js +30 -11
  84. package/dist/components/d3_line/index.js +154 -176
  85. package/dist/components/d3_line/line_focus.js +595 -739
  86. package/dist/components/d3_multi/index.js +153 -174
  87. package/dist/components/d3_multi/multi_focus.js +725 -850
  88. package/dist/components/d3_rect/index.js +112 -134
  89. package/dist/components/d3_rect/rect_focus.js +163 -208
  90. package/dist/components/forecast/comps.js +60 -68
  91. package/dist/components/forecast/ir_comps.js +49 -56
  92. package/dist/components/forecast/ir_viewer.js +61 -68
  93. package/dist/components/forecast/nmr_comps.js +62 -72
  94. package/dist/components/forecast/nmr_viewer.js +59 -68
  95. package/dist/components/forecast/section_loading.js +39 -63
  96. package/dist/components/forecast_viewer.js +109 -119
  97. package/dist/components/multi_jcamps_viewer.js +97 -113
  98. package/dist/components/panel/compare.js +183 -192
  99. package/dist/components/panel/cyclic_voltamery_data.js +149 -165
  100. package/dist/components/panel/graph_selection.js +143 -132
  101. package/dist/components/panel/index.js +112 -144
  102. package/dist/components/panel/info.js +125 -132
  103. package/dist/components/panel/multiplicity.js +215 -223
  104. package/dist/components/panel/multiplicity_coupling.js +108 -136
  105. package/dist/components/panel/multiplicity_select.js +43 -51
  106. package/dist/components/panel/peaks.js +130 -132
  107. package/dist/constants/action_type.js +23 -39
  108. package/dist/constants/list_layout.js +7 -4
  109. package/dist/constants/list_shift.js +117 -103
  110. package/dist/constants/list_ui.js +3 -6
  111. package/dist/constants/list_wavelength.js +7 -8
  112. package/dist/fn.js +2 -3
  113. package/dist/helpers/brush.js +49 -65
  114. package/dist/helpers/calc.js +2 -4
  115. package/dist/helpers/carbonFeatures.js +22 -20
  116. package/dist/helpers/cfg.js +49 -67
  117. package/dist/helpers/chem.js +450 -393
  118. package/dist/helpers/compass.js +92 -83
  119. package/dist/helpers/converter.js +52 -65
  120. package/dist/helpers/extractParams.js +60 -52
  121. package/dist/helpers/extractPeaksEdit.js +29 -25
  122. package/dist/helpers/focus.js +2 -6
  123. package/dist/helpers/format.js +416 -361
  124. package/dist/helpers/init.js +41 -37
  125. package/dist/helpers/integration.js +18 -21
  126. package/dist/helpers/mount.js +57 -61
  127. package/dist/helpers/multiplicity.js +19 -24
  128. package/dist/helpers/multiplicity_calc.js +39 -50
  129. package/dist/helpers/multiplicity_complat.js +21 -47
  130. package/dist/helpers/multiplicity_manual.js +49 -55
  131. package/dist/helpers/multiplicity_verify_basic.js +108 -111
  132. package/dist/helpers/shift.js +15 -23
  133. package/dist/helpers/zoom.js +7 -11
  134. package/dist/index.js +680 -630
  135. package/dist/layer_content.js +40 -43
  136. package/dist/layer_init.js +162 -184
  137. package/dist/layer_prism.js +38 -41
  138. package/dist/reducers/index.js +2 -3
  139. package/dist/reducers/reducer_curve.js +35 -26
  140. package/dist/reducers/reducer_edit_peak.js +122 -98
  141. package/dist/reducers/reducer_forecast.js +57 -44
  142. package/dist/reducers/reducer_integration.js +135 -103
  143. package/dist/reducers/reducer_jcamp.js +49 -44
  144. package/dist/reducers/reducer_layout.js +5 -6
  145. package/dist/reducers/reducer_manager.js +5 -6
  146. package/dist/reducers/reducer_meta.js +5 -6
  147. package/dist/reducers/reducer_multiplicity.js +100 -77
  148. package/dist/reducers/reducer_scan.js +17 -20
  149. package/dist/reducers/reducer_shift.js +115 -70
  150. package/dist/reducers/reducer_simulation.js +7 -8
  151. package/dist/reducers/reducer_status.js +5 -6
  152. package/dist/reducers/reducer_submit.js +12 -15
  153. package/dist/reducers/reducer_threshold.js +5 -6
  154. package/dist/reducers/reducer_ui.js +5 -6
  155. package/dist/reducers/reducer_voltammetry.js +156 -96
  156. package/dist/reducers/reducer_wavelength.js +5 -6
  157. package/dist/reducers/undo_redo_config.js +3 -5
  158. package/dist/sagas/index.js +2 -15
  159. package/dist/sagas/saga_edit_peak.js +54 -68
  160. package/dist/sagas/saga_manager.js +86 -130
  161. package/dist/sagas/saga_meta.js +25 -31
  162. package/dist/sagas/saga_multi_entities.js +40 -103
  163. package/dist/sagas/saga_multiplicity.js +336 -406
  164. package/dist/sagas/saga_ui.js +296 -475
  165. package/dist/setupTests.js +8 -0
  166. package/dist/third_party/jAnalyzer.js +66 -67
  167. package/dist/third_party/peakInterval.js +34 -34
  168. package/package.json +14 -14
  169. package/dist/components/cmd_bar/03_peak_bk.js +0 -139
  170. package/dist/components/cmd_bar/04_integration_bk.js +0 -180
  171. package/dist/components/cmd_bar/05_multiplicity_bk.js +0 -131
  172. package/dist/components/cmd_bar/r01_layout_bk.js +0 -186
  173. package/dist/components/cmd_bar/r06_predict_btn_bk.js +0 -220
  174. package/dist/components/d3_line/line_focus_bk.js +0 -825
  175. package/dist/components/d3_multi/index_bk.js +0 -210
  176. package/dist/components/d3_multi/multi_focus_bk.js +0 -533
  177. package/dist/components/panel/compare_bk.js +0 -256
  178. package/dist/components/panel/cyclic_voltamery_data_bk.js +0 -292
  179. package/dist/components/panel/index_bk.js +0 -178
  180. package/dist/components/panel/info_bk.js +0 -235
  181. package/dist/components/panel/multiplicity_bk.js +0 -280
  182. package/dist/helpers/carbonFeatures_bk.js +0 -45
  183. package/dist/helpers/cfg_bk.js +0 -80
  184. package/dist/helpers/chem_bk.js +0 -787
  185. package/dist/helpers/compass_bk.js +0 -149
  186. package/dist/helpers/converter_bk.js +0 -96
  187. package/dist/helpers/extractPeaksEdit_bk.js +0 -53
  188. package/dist/helpers/format_bk.js +0 -497
  189. package/dist/index_bk.js +0 -640
  190. package/dist/layer_content_bk.js +0 -105
  191. package/dist/layer_init_bk.js +0 -235
  192. package/dist/layer_prism_bk.js +0 -133
  193. package/dist/reducers/reducer_edit_peak_bk.js +0 -108
  194. package/dist/reducers/reducer_integration_bk.js +0 -134
  195. package/dist/reducers/reducer_jcamp_bk.js +0 -71
  196. package/dist/reducers/reducer_multiplicity_bk.js +0 -126
  197. package/dist/reducers/reducer_shift_bk.js +0 -88
  198. package/dist/reducers/reducer_voltammetry_bk.js +0 -287
  199. package/dist/sagas/saga_edit_peak_bk.js +0 -73
  200. package/dist/sagas/saga_multi_entities_bk.js +0 -106
  201. package/dist/sagas/saga_multiplicity_bk.js +0 -351
  202. package/dist/sagas/saga_ui_bk.js +0 -453
@@ -5,15 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.calcMpyComplat = void 0;
7
7
  var _multiplicity = require("./multiplicity");
8
- var calcMpyComplat = function calcMpyComplat(origPeaks) {
9
- var peaks = origPeaks.sort(function (a, b) {
10
- return a.x - b.x;
11
- });
12
- var count = peaks.length;
13
- var itvs = (0, _multiplicity.getInterval)(peaks);
14
- var gitvs = (0, _multiplicity.groupInterval)(itvs);
15
- var type = 'm';
16
- var js = [];
8
+ const calcMpyComplat = origPeaks => {
9
+ const peaks = origPeaks.sort((a, b) => a.x - b.x);
10
+ const count = peaks.length;
11
+ const itvs = (0, _multiplicity.getInterval)(peaks);
12
+ const gitvs = (0, _multiplicity.groupInterval)(itvs);
13
+ let type = 'm';
14
+ let js = [];
17
15
  switch (count) {
18
16
  case 1:
19
17
  type = 's';
@@ -22,57 +20,43 @@ var calcMpyComplat = function calcMpyComplat(origPeaks) {
22
20
  case 2:
23
21
  if (gitvs.length === 1) {
24
22
  type = 'd';
25
- js = gitvs.map(function (g) {
26
- return g.c;
27
- });
23
+ js = gitvs.map(g => g.c);
28
24
  break;
29
25
  }
30
26
  break;
31
27
  case 3:
32
28
  if (gitvs.length === 1) {
33
29
  type = 't';
34
- js = gitvs.map(function (g) {
35
- return g.c;
36
- });
30
+ js = gitvs.map(g => g.c);
37
31
  break;
38
32
  }
39
33
  break;
40
34
  case 4:
41
35
  if (gitvs.length === 1) {
42
36
  type = 'q';
43
- js = gitvs.map(function (g) {
44
- return g.c;
45
- });
37
+ js = gitvs.map(g => g.c);
46
38
  break;
47
39
  } else if (gitvs.length === 2) {
48
40
  type = 'dd';
49
- js = gitvs.map(function (g) {
50
- return g.c;
51
- });
41
+ js = gitvs.map(g => g.c);
52
42
  break;
53
43
  }
54
44
  break;
55
45
  case 5:
56
46
  if (gitvs.length === 1) {
57
47
  type = 'quint';
58
- js = gitvs.map(function (g) {
59
- return g.c;
60
- });
48
+ js = gitvs.map(g => g.c);
61
49
  break;
62
50
  }
63
51
  break;
64
52
  case 6:
65
53
  if (gitvs.length === 1) {
66
54
  type = 'h';
67
- js = gitvs.map(function (g) {
68
- return g.c;
69
- });
55
+ js = gitvs.map(g => g.c);
70
56
  break;
71
57
  } else if (gitvs.length === 2) {
72
58
  type = 'dt';
73
- js = gitvs.map(function (g) {
74
- return g.c;
75
- });
59
+ js = gitvs.map(g => g.c);
76
60
  break;
77
61
  }
78
62
  // td
@@ -80,15 +64,11 @@ var calcMpyComplat = function calcMpyComplat(origPeaks) {
80
64
  case 7:
81
65
  if (gitvs.length === 1) {
82
66
  type = 'sept';
83
- js = gitvs.map(function (g) {
84
- return g.c;
85
- });
67
+ js = gitvs.map(g => g.c);
86
68
  break;
87
69
  } else if (gitvs.length === 3) {
88
70
  type = 'ddd';
89
- js = gitvs.map(function (g) {
90
- return g.c;
91
- });
71
+ js = gitvs.map(g => g.c);
92
72
  break;
93
73
  }
94
74
  // td
@@ -96,21 +76,15 @@ var calcMpyComplat = function calcMpyComplat(origPeaks) {
96
76
  case 8:
97
77
  if (gitvs.length === 1) {
98
78
  type = 'o';
99
- js = gitvs.map(function (g) {
100
- return g.c;
101
- });
79
+ js = gitvs.map(g => g.c);
102
80
  break;
103
81
  } else if (gitvs.length === 2) {
104
82
  type = 'dq';
105
- js = gitvs.map(function (g) {
106
- return g.c;
107
- });
83
+ js = gitvs.map(g => g.c);
108
84
  break;
109
85
  } else if (gitvs.length === 3) {
110
86
  type = 'ddd';
111
- js = gitvs.map(function (g) {
112
- return g.c;
113
- });
87
+ js = gitvs.map(g => g.c);
114
88
  break;
115
89
  }
116
90
  // td
@@ -119,8 +93,8 @@ var calcMpyComplat = function calcMpyComplat(origPeaks) {
119
93
  break;
120
94
  }
121
95
  return {
122
- type: type,
123
- js: js
96
+ type,
97
+ js
124
98
  };
125
99
  };
126
100
  exports.calcMpyComplat = calcMpyComplat;
@@ -7,112 +7,106 @@ exports.calcMpyManual = void 0;
7
7
  var _multiplicity = require("./multiplicity");
8
8
  /* eslint-disable prefer-object-spread, default-param-last, no-mixed-operators */
9
9
 
10
- var isTypeM = function isTypeM(mpyType) {
11
- return mpyType === 'm';
12
- };
13
- var isTypeBasic = function isTypeBasic(mpyType) {
14
- return _multiplicity.mpyBasicPatterns.slice(1).indexOf(mpyType) >= 0;
15
- };
16
- var outputTypeM = function outputTypeM(k) {
17
- return Object.assign({}, k, {
18
- mpyType: 'm',
19
- js: []
20
- });
21
- };
22
- var outputTypeBasic = function outputTypeBasic(k, mpyType, ivs, freq) {
23
- var numIvs = ivs.length || 1;
24
- var js = [freq * ivs.reduce(function (sum, x) {
25
- return sum + x;
26
- }) / numIvs];
10
+ const isTypeM = mpyType => mpyType === 'm';
11
+ const isTypeBasic = mpyType => _multiplicity.mpyBasicPatterns.slice(1).indexOf(mpyType) >= 0;
12
+ const outputTypeM = k => Object.assign({}, k, {
13
+ mpyType: 'm',
14
+ js: []
15
+ });
16
+ const outputTypeBasic = (k, mpyType, ivs, freq) => {
17
+ const numIvs = ivs.length || 1;
18
+ const js = [freq * ivs.reduce((sum, x) => sum + x) / numIvs];
27
19
  return Object.assign({}, k, {
28
- mpyType: mpyType,
29
- js: js
20
+ mpyType,
21
+ js
30
22
  });
31
23
  };
32
- var outputTypeDD = function outputTypeDD(k, mpyType, ivs, freq) {
24
+ const outputTypeDD = (k, mpyType, ivs, freq) => {
33
25
  if (ivs.length >= 2) {
34
- var js = [freq * ivs[0], freq * (ivs[0] + ivs[1])];
26
+ const js = [freq * ivs[0], freq * (ivs[0] + ivs[1])];
35
27
  return Object.assign({}, k, {
36
- mpyType: mpyType,
37
- js: js
28
+ mpyType,
29
+ js
38
30
  });
39
31
  }
40
32
  return Object.assign({}, k, {
41
- mpyType: mpyType,
33
+ mpyType,
42
34
  js: []
43
35
  });
44
36
  };
45
- var outputTypeDT = function outputTypeDT(k, mpyType, ivs, freq) {
37
+ const outputTypeDT = (k, mpyType, ivs, freq) => {
46
38
  if (ivs.length >= 4) {
47
- var js = [freq * ivs[0], freq * (ivs[1] + ivs[2] + ivs[3])];
39
+ const js = [freq * ivs[0], freq * (ivs[1] + ivs[2] + ivs[3])];
48
40
  return Object.assign({}, k, {
49
- mpyType: mpyType,
50
- js: js
41
+ mpyType,
42
+ js
51
43
  });
52
44
  }
53
45
  return Object.assign({}, k, {
54
- mpyType: mpyType,
46
+ mpyType,
55
47
  js: []
56
48
  });
57
49
  };
58
- var outputTypeTD = function outputTypeTD(k, mpyType, ivs, freq) {
50
+ const outputTypeTD = (k, mpyType, ivs, freq) => {
59
51
  if (ivs.length >= 2) {
60
- var js = [freq * ivs[0], freq * (ivs[0] + ivs[1])];
52
+ const js = [freq * ivs[0], freq * (ivs[0] + ivs[1])];
61
53
  return Object.assign({}, k, {
62
- mpyType: mpyType,
63
- js: js
54
+ mpyType,
55
+ js
64
56
  });
65
57
  }
66
58
  return Object.assign({}, k, {
67
- mpyType: mpyType,
59
+ mpyType,
68
60
  js: []
69
61
  });
70
62
  };
71
- var outputTypeDQ = function outputTypeDQ(k, mpyType, ivs, freq) {
63
+ const outputTypeDQ = (k, mpyType, ivs, freq) => {
72
64
  if (ivs.length >= 2) {
73
- var js = [freq * ivs[0], freq * (ivs[0] + ivs[1])];
65
+ const js = [freq * ivs[0], freq * (ivs[0] + ivs[1])];
74
66
  return Object.assign({}, k, {
75
- mpyType: mpyType,
76
- js: js
67
+ mpyType,
68
+ js
77
69
  });
78
70
  } // only consider J = ([1,2], [1,3]), not J = ([1,2], [1,5])
79
71
  return Object.assign({}, k, {
80
- mpyType: mpyType,
72
+ mpyType,
81
73
  js: []
82
74
  });
83
75
  };
84
- var outputTypeQD = function outputTypeQD(k, mpyType, ivs, freq) {
76
+ const outputTypeQD = (k, mpyType, ivs, freq) => {
85
77
  if (ivs.length >= 2) {
86
- var js = [freq * ivs[0], freq * (ivs[0] + ivs[1])];
78
+ const js = [freq * ivs[0], freq * (ivs[0] + ivs[1])];
87
79
  return Object.assign({}, k, {
88
- mpyType: mpyType,
89
- js: js
80
+ mpyType,
81
+ js
90
82
  });
91
83
  }
92
84
  return Object.assign({}, k, {
93
- mpyType: mpyType,
85
+ mpyType,
94
86
  js: []
95
87
  });
96
88
  };
97
- var outputTypeDDD = function outputTypeDDD(k, mpyType, ivs, freq) {
89
+ const outputTypeDDD = (k, mpyType, ivs, freq) => {
98
90
  if (ivs.length >= 3) {
99
- var js = [freq * ivs[0], freq * (ivs[0] + ivs[1]), freq * (ivs[0] + ivs[1] + ivs[2] + ivs[3])];
91
+ const js = [freq * ivs[0], freq * (ivs[0] + ivs[1]), freq * (ivs[0] + ivs[1] + ivs[2] + ivs[3])];
100
92
  return Object.assign({}, k, {
101
- mpyType: mpyType,
102
- js: js
93
+ mpyType,
94
+ js
103
95
  });
104
96
  }
105
97
  return Object.assign({}, k, {
106
- mpyType: mpyType,
98
+ mpyType,
107
99
  js: []
108
100
  });
109
101
  };
110
- var calcMpyManual = function calcMpyManual(k, mpyType, metaSt) {
111
- var observeFrequency = metaSt.peaks.observeFrequency;
112
- var freq = observeFrequency || 1.0;
113
- var ivs = (0, _multiplicity.getInterval)(k.peaks);
102
+ const calcMpyManual = (k, mpyType, metaSt) => {
103
+ const {
104
+ observeFrequency
105
+ } = metaSt.peaks;
106
+ const freq = observeFrequency || 1.0;
107
+ const ivs = (0, _multiplicity.getInterval)(k.peaks);
114
108
  if (ivs.length === 0) return Object.assign({}, k, {
115
- mpyType: mpyType,
109
+ mpyType,
116
110
  js: []
117
111
  });
118
112
  if (isTypeM(mpyType)) return outputTypeM(k);
@@ -124,7 +118,7 @@ var calcMpyManual = function calcMpyManual(k, mpyType, metaSt) {
124
118
  if (mpyType === 'qd') return outputTypeQD(k, mpyType, ivs, freq);
125
119
  if (mpyType === 'ddd') return outputTypeDDD(k, mpyType, ivs, freq);
126
120
  return Object.assign({}, k, {
127
- mpyType: mpyType,
121
+ mpyType,
128
122
  js: []
129
123
  });
130
124
  };
@@ -1,37 +1,35 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.verifyTypeT = exports.verifyTypeSept = exports.verifyTypeQuint = exports.verifyTypeQ = exports.verifyTypePeakCount = exports.verifyTypeO = exports.verifyTypeH = void 0;
8
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
7
  /* eslint-disable prefer-object-spread, default-param-last, no-mixed-operators */
10
8
  // ---------------------------------------------------------------
11
9
  // verifyTypePeakCount
12
10
  // ---------------------------------------------------------------
13
11
 
14
- var verifyTypePeakCount = function verifyTypePeakCount(type, peaks) {
15
- var isBasicWrong = type === 's' && peaks.length > 1 || type === 'd' && peaks.length > 2 || type === 't' && peaks.length > 3 || type === 'q' && peaks.length > 4 || type === 'quint' && peaks.length > 5 || type === 'h' && peaks.length > 6 || type === 'sept' && peaks.length > 7 || type === 'o' && peaks.length > 8 || type === 'n' && peaks.length > 9;
16
- var limit = 1;
17
- var mStr = type;
18
- limit *= Math.pow(5, (mStr.match(/quint/g) || []).length);
12
+ const verifyTypePeakCount = (type, peaks) => {
13
+ const isBasicWrong = type === 's' && peaks.length > 1 || type === 'd' && peaks.length > 2 || type === 't' && peaks.length > 3 || type === 'q' && peaks.length > 4 || type === 'quint' && peaks.length > 5 || type === 'h' && peaks.length > 6 || type === 'sept' && peaks.length > 7 || type === 'o' && peaks.length > 8 || type === 'n' && peaks.length > 9;
14
+ let limit = 1;
15
+ let mStr = type;
16
+ limit *= 5 ** (mStr.match(/quint/g) || []).length;
19
17
  mStr = mStr.replace(/quint/g, '');
20
- limit *= Math.pow(7, (mStr.match(/sept/g) || []).length);
18
+ limit *= 7 ** (mStr.match(/sept/g) || []).length;
21
19
  mStr = mStr.replace(/sept/g, '');
22
- limit *= Math.pow(2, (mStr.match(/d/g) || []).length);
20
+ limit *= 2 ** (mStr.match(/d/g) || []).length;
23
21
  mStr = mStr.replace(/d/g, '');
24
- limit *= Math.pow(3, (mStr.match(/t/g) || []).length);
22
+ limit *= 3 ** (mStr.match(/t/g) || []).length;
25
23
  mStr = mStr.replace(/t/g, '');
26
- limit *= Math.pow(4, (mStr.match(/q/g) || []).length);
24
+ limit *= 4 ** (mStr.match(/q/g) || []).length;
27
25
  mStr = mStr.replace(/q/g, '');
28
- limit *= Math.pow(6, (mStr.match(/h/g) || []).length);
26
+ limit *= 6 ** (mStr.match(/h/g) || []).length;
29
27
  mStr = mStr.replace(/h/g, '');
30
- limit *= Math.pow(8, (mStr.match(/o/g) || []).length);
28
+ limit *= 8 ** (mStr.match(/o/g) || []).length;
31
29
  mStr = mStr.replace(/o/g, '');
32
- limit *= Math.pow(9, (mStr.match(/n/g) || []).length);
30
+ limit *= 9 ** (mStr.match(/n/g) || []).length;
33
31
  mStr = mStr.replace(/n/g, '');
34
- var isAdvanWrong = peaks.length > limit;
32
+ const isAdvanWrong = peaks.length > limit;
35
33
  return !(isBasicWrong || isAdvanWrong);
36
34
  };
37
35
 
@@ -39,47 +37,41 @@ var verifyTypePeakCount = function verifyTypePeakCount(type, peaks) {
39
37
  // Basic Multiplicity verification
40
38
  // ---------------------------------------------------------------
41
39
  exports.verifyTypePeakCount = verifyTypePeakCount;
42
- var allowedTolerance = 0.15;
43
- var faktor = 1.1;
44
- var passRuleIntervalCounts = function passRuleIntervalCounts(oivs, limit) {
45
- return oivs.length === limit;
46
- };
47
- var getRuleParams = function getRuleParams(oivs, metaSt) {
48
- var _metaSt$peaks = metaSt.peaks,
49
- deltaX = _metaSt$peaks.deltaX,
50
- observeFrequency = _metaSt$peaks.observeFrequency;
51
- var sivs = (0, _toConsumableArray2.default)(oivs).sort(function (a, b) {
52
- return b - a;
53
- });
54
- var ref = sivs[0];
55
- var rDeltaX = Math.abs(2 * deltaX / ref);
56
- var tTolerance = rDeltaX > allowedTolerance ? rDeltaX : allowedTolerance;
57
- var tolerance = Math.abs(tTolerance * faktor);
58
- var roivs = oivs.map(function (oiv) {
59
- return oiv / ref;
60
- });
61
- var rsivs = sivs.map(function (siv) {
62
- return siv / ref;
63
- });
40
+ const allowedTolerance = 0.15;
41
+ const faktor = 1.1;
42
+ const passRuleIntervalCounts = (oivs, limit) => oivs.length === limit;
43
+ const getRuleParams = (oivs, metaSt) => {
44
+ const {
45
+ deltaX,
46
+ observeFrequency
47
+ } = metaSt.peaks;
48
+ const sivs = [...oivs].sort((a, b) => b - a);
49
+ const ref = sivs[0];
50
+ const rDeltaX = Math.abs(2 * deltaX / ref);
51
+ const tTolerance = rDeltaX > allowedTolerance ? rDeltaX : allowedTolerance;
52
+ const tolerance = Math.abs(tTolerance * faktor);
53
+ const roivs = oivs.map(oiv => oiv / ref);
54
+ const rsivs = sivs.map(siv => siv / ref);
64
55
  return {
65
- roivs: roivs,
66
- rsivs: rsivs,
67
- tolerance: tolerance,
68
- observeFrequency: observeFrequency
56
+ roivs,
57
+ rsivs,
58
+ tolerance,
59
+ observeFrequency
69
60
  };
70
61
  };
71
- var verifyTypeT = function verifyTypeT(type, js, oivs, metaSt) {
62
+ const verifyTypeT = (type, js, oivs, metaSt) => {
72
63
  if (!passRuleIntervalCounts(oivs, 2)) return {
73
64
  type: 'm',
74
65
  js: []
75
66
  };
76
- var _getRuleParams = getRuleParams(oivs, metaSt),
77
- rsivs = _getRuleParams.rsivs,
78
- tolerance = _getRuleParams.tolerance;
79
- var isT = Math.abs(rsivs[0] - rsivs[1]) < tolerance;
67
+ const {
68
+ rsivs,
69
+ tolerance
70
+ } = getRuleParams(oivs, metaSt);
71
+ const isT = Math.abs(rsivs[0] - rsivs[1]) < tolerance;
80
72
  if (isT) return {
81
- type: type,
82
- js: js
73
+ type,
74
+ js
83
75
  };
84
76
  return {
85
77
  type: 'm',
@@ -87,23 +79,24 @@ var verifyTypeT = function verifyTypeT(type, js, oivs, metaSt) {
87
79
  };
88
80
  };
89
81
  exports.verifyTypeT = verifyTypeT;
90
- var verifyTypeQ = function verifyTypeQ(type, js, oivs, metaSt) {
82
+ const verifyTypeQ = (type, js, oivs, metaSt) => {
91
83
  if (!passRuleIntervalCounts(oivs, 3)) return {
92
84
  type: 'm',
93
85
  js: []
94
86
  };
95
- var _getRuleParams2 = getRuleParams(oivs, metaSt),
96
- roivs = _getRuleParams2.roivs,
97
- rsivs = _getRuleParams2.rsivs,
98
- tolerance = _getRuleParams2.tolerance,
99
- observeFrequency = _getRuleParams2.observeFrequency;
100
- var isQ = Math.abs(rsivs[0] - rsivs[2]) < tolerance;
87
+ const {
88
+ roivs,
89
+ rsivs,
90
+ tolerance,
91
+ observeFrequency
92
+ } = getRuleParams(oivs, metaSt);
93
+ const isQ = Math.abs(rsivs[0] - rsivs[2]) < tolerance;
101
94
  if (isQ) return {
102
- type: type,
103
- js: js
95
+ type,
96
+ js
104
97
  };
105
- var isDD = Math.abs(roivs[0] - roivs[2]) < tolerance && Math.abs(roivs[0] - roivs[1]) >= tolerance;
106
- var ddJs = [oivs[0] * observeFrequency, (oivs[0] + oivs[1]) * observeFrequency];
98
+ const isDD = Math.abs(roivs[0] - roivs[2]) < tolerance && Math.abs(roivs[0] - roivs[1]) >= tolerance;
99
+ const ddJs = [oivs[0] * observeFrequency, (oivs[0] + oivs[1]) * observeFrequency];
107
100
  if (isDD) return {
108
101
  type: 'dd',
109
102
  js: ddJs
@@ -114,18 +107,19 @@ var verifyTypeQ = function verifyTypeQ(type, js, oivs, metaSt) {
114
107
  };
115
108
  };
116
109
  exports.verifyTypeQ = verifyTypeQ;
117
- var verifyTypeQuint = function verifyTypeQuint(type, js, oivs, metaSt) {
110
+ const verifyTypeQuint = (type, js, oivs, metaSt) => {
118
111
  if (!passRuleIntervalCounts(oivs, 4)) return {
119
112
  type: 'm',
120
113
  js: []
121
114
  };
122
- var _getRuleParams3 = getRuleParams(oivs, metaSt),
123
- rsivs = _getRuleParams3.rsivs,
124
- tolerance = _getRuleParams3.tolerance;
125
- var isQuint = Math.abs(rsivs[0] - rsivs[3]) < tolerance;
115
+ const {
116
+ rsivs,
117
+ tolerance
118
+ } = getRuleParams(oivs, metaSt);
119
+ const isQuint = Math.abs(rsivs[0] - rsivs[3]) < tolerance;
126
120
  if (isQuint) return {
127
- type: type,
128
- js: js
121
+ type,
122
+ js
129
123
  };
130
124
  return {
131
125
  type: 'm',
@@ -133,35 +127,36 @@ var verifyTypeQuint = function verifyTypeQuint(type, js, oivs, metaSt) {
133
127
  };
134
128
  };
135
129
  exports.verifyTypeQuint = verifyTypeQuint;
136
- var verifyTypeH = function verifyTypeH(type, js, oivs, metaSt) {
130
+ const verifyTypeH = (type, js, oivs, metaSt) => {
137
131
  if (!passRuleIntervalCounts(oivs, 5)) return {
138
132
  type: 'm',
139
133
  js: []
140
134
  };
141
- var _getRuleParams4 = getRuleParams(oivs, metaSt),
142
- roivs = _getRuleParams4.roivs,
143
- rsivs = _getRuleParams4.rsivs,
144
- tolerance = _getRuleParams4.tolerance,
145
- observeFrequency = _getRuleParams4.observeFrequency;
146
- var isH = Math.abs(rsivs[0] - rsivs[4]) < tolerance;
135
+ const {
136
+ roivs,
137
+ rsivs,
138
+ tolerance,
139
+ observeFrequency
140
+ } = getRuleParams(oivs, metaSt);
141
+ const isH = Math.abs(rsivs[0] - rsivs[4]) < tolerance;
147
142
  if (isH) return {
148
- type: type,
149
- js: js
143
+ type,
144
+ js
150
145
  };
151
- var isTD = Math.abs(roivs[0] - roivs[2]) < tolerance && Math.abs(roivs[0] - roivs[4]) < tolerance && Math.abs(roivs[1] - roivs[3]) < tolerance && Math.abs(roivs[0] - roivs[1]) >= tolerance;
152
- var tdJs = [oivs[0] * observeFrequency, (oivs[0] + oivs[1]) * observeFrequency];
146
+ const isTD = Math.abs(roivs[0] - roivs[2]) < tolerance && Math.abs(roivs[0] - roivs[4]) < tolerance && Math.abs(roivs[1] - roivs[3]) < tolerance && Math.abs(roivs[0] - roivs[1]) >= tolerance;
147
+ const tdJs = [oivs[0] * observeFrequency, (oivs[0] + oivs[1]) * observeFrequency];
153
148
  if (isTD) return {
154
149
  type: 'td',
155
150
  js: tdJs
156
151
  };
157
- var isDT1 = Math.abs(roivs[0] - roivs[1]) < tolerance && Math.abs(roivs[0] - roivs[3]) < tolerance && Math.abs(roivs[0] - roivs[4]) < tolerance && Math.abs(roivs[0] - roivs[2]) >= tolerance;
158
- var dt1Js = [oivs[0] * observeFrequency, (oivs[1] + oivs[2] + oivs[3]) * observeFrequency];
152
+ const isDT1 = Math.abs(roivs[0] - roivs[1]) < tolerance && Math.abs(roivs[0] - roivs[3]) < tolerance && Math.abs(roivs[0] - roivs[4]) < tolerance && Math.abs(roivs[0] - roivs[2]) >= tolerance;
153
+ const dt1Js = [oivs[0] * observeFrequency, (oivs[1] + oivs[2] + oivs[3]) * observeFrequency];
159
154
  if (isDT1) return {
160
155
  type: 'dt',
161
156
  js: dt1Js
162
157
  };
163
- var isDT2 = Math.abs(roivs[0] - roivs[4]) < tolerance && Math.abs(roivs[0] - roivs[1] - roivs[2]) < tolerance && Math.abs(roivs[0] - roivs[2] - roivs[3]) < tolerance && Math.abs(roivs[0] - roivs[2]) >= tolerance;
164
- var dt2Js = [oivs[0] * observeFrequency, (oivs[1] + oivs[2] + oivs[3]) * observeFrequency];
158
+ const isDT2 = Math.abs(roivs[0] - roivs[4]) < tolerance && Math.abs(roivs[0] - roivs[1] - roivs[2]) < tolerance && Math.abs(roivs[0] - roivs[2] - roivs[3]) < tolerance && Math.abs(roivs[0] - roivs[2]) >= tolerance;
159
+ const dt2Js = [oivs[0] * observeFrequency, (oivs[1] + oivs[2] + oivs[3]) * observeFrequency];
165
160
  if (isDT2) return {
166
161
  type: 'dt',
167
162
  js: dt2Js
@@ -172,23 +167,24 @@ var verifyTypeH = function verifyTypeH(type, js, oivs, metaSt) {
172
167
  };
173
168
  };
174
169
  exports.verifyTypeH = verifyTypeH;
175
- var verifyTypeSept = function verifyTypeSept(type, js, oivs, metaSt) {
170
+ const verifyTypeSept = (type, js, oivs, metaSt) => {
176
171
  if (!passRuleIntervalCounts(oivs, 6)) return {
177
172
  type: 'm',
178
173
  js: []
179
174
  };
180
- var _getRuleParams5 = getRuleParams(oivs, metaSt),
181
- roivs = _getRuleParams5.roivs,
182
- rsivs = _getRuleParams5.rsivs,
183
- tolerance = _getRuleParams5.tolerance,
184
- observeFrequency = _getRuleParams5.observeFrequency;
185
- var isSept = Math.abs(rsivs[0] - rsivs[5]) < tolerance;
175
+ const {
176
+ roivs,
177
+ rsivs,
178
+ tolerance,
179
+ observeFrequency
180
+ } = getRuleParams(oivs, metaSt);
181
+ const isSept = Math.abs(rsivs[0] - rsivs[5]) < tolerance;
186
182
  if (isSept) return {
187
- type: type,
188
- js: js
183
+ type,
184
+ js
189
185
  };
190
- var isDDD = Math.abs(roivs[0] - roivs[2]) < tolerance && Math.abs(roivs[0] - roivs[3]) < tolerance && Math.abs(roivs[0] - roivs[5]) < tolerance && Math.abs(roivs[1] - roivs[4]) < tolerance && Math.abs(roivs[0] - roivs[1]) >= tolerance;
191
- var dddJs = [oivs[0] * observeFrequency, (oivs[0] + oivs[1]) * observeFrequency, (oivs[0] + oivs[1] + oivs[2]) * observeFrequency];
186
+ const isDDD = Math.abs(roivs[0] - roivs[2]) < tolerance && Math.abs(roivs[0] - roivs[3]) < tolerance && Math.abs(roivs[0] - roivs[5]) < tolerance && Math.abs(roivs[1] - roivs[4]) < tolerance && Math.abs(roivs[0] - roivs[1]) >= tolerance;
187
+ const dddJs = [oivs[0] * observeFrequency, (oivs[0] + oivs[1]) * observeFrequency, (oivs[0] + oivs[1] + oivs[2]) * observeFrequency];
192
188
  if (isDDD) return {
193
189
  type: 'ddd',
194
190
  js: dddJs
@@ -199,47 +195,48 @@ var verifyTypeSept = function verifyTypeSept(type, js, oivs, metaSt) {
199
195
  };
200
196
  };
201
197
  exports.verifyTypeSept = verifyTypeSept;
202
- var verifyTypeO = function verifyTypeO(type, js, oivs, metaSt) {
198
+ const verifyTypeO = (type, js, oivs, metaSt) => {
203
199
  if (!passRuleIntervalCounts(oivs, 7)) return {
204
200
  type: 'm',
205
201
  js: []
206
202
  };
207
- var _getRuleParams6 = getRuleParams(oivs, metaSt),
208
- roivs = _getRuleParams6.roivs,
209
- rsivs = _getRuleParams6.rsivs,
210
- tolerance = _getRuleParams6.tolerance,
211
- observeFrequency = _getRuleParams6.observeFrequency;
212
- var isO = Math.abs(rsivs[0] - rsivs[6]) < tolerance;
203
+ const {
204
+ roivs,
205
+ rsivs,
206
+ tolerance,
207
+ observeFrequency
208
+ } = getRuleParams(oivs, metaSt);
209
+ const isO = Math.abs(rsivs[0] - rsivs[6]) < tolerance;
213
210
  if (isO) return {
214
- type: type,
215
- js: js
211
+ type,
212
+ js
216
213
  };
217
- var isQD = Math.abs(roivs[0] - roivs[2]) < tolerance && Math.abs(roivs[0] - roivs[4]) < tolerance && Math.abs(roivs[0] - roivs[6]) < tolerance && Math.abs(roivs[1] - roivs[3]) < tolerance && Math.abs(roivs[1] - roivs[5]) < tolerance;
218
- var qdJs = [oivs[0] * observeFrequency, (oivs[0] + oivs[1]) * observeFrequency];
214
+ const isQD = Math.abs(roivs[0] - roivs[2]) < tolerance && Math.abs(roivs[0] - roivs[4]) < tolerance && Math.abs(roivs[0] - roivs[6]) < tolerance && Math.abs(roivs[1] - roivs[3]) < tolerance && Math.abs(roivs[1] - roivs[5]) < tolerance;
215
+ const qdJs = [oivs[0] * observeFrequency, (oivs[0] + oivs[1]) * observeFrequency];
219
216
  if (isQD) return {
220
217
  type: 'qd',
221
218
  js: qdJs
222
219
  };
223
- var isDQ1 = Math.abs(roivs[0] - roivs[1] - roivs[2]) < tolerance && Math.abs(roivs[0] - roivs[2] - roivs[3]) < tolerance && Math.abs(roivs[0] - roivs[3] - roivs[4]) < tolerance && Math.abs(roivs[0] - roivs[4] - roivs[5]) < tolerance && Math.abs(roivs[0] - roivs[6]) < tolerance && Math.abs(roivs[1] - roivs[5]) < tolerance;
224
- var dq1Js = [oivs[0] * observeFrequency, (oivs[0] + oivs[1]) * observeFrequency];
220
+ const isDQ1 = Math.abs(roivs[0] - roivs[1] - roivs[2]) < tolerance && Math.abs(roivs[0] - roivs[2] - roivs[3]) < tolerance && Math.abs(roivs[0] - roivs[3] - roivs[4]) < tolerance && Math.abs(roivs[0] - roivs[4] - roivs[5]) < tolerance && Math.abs(roivs[0] - roivs[6]) < tolerance && Math.abs(roivs[1] - roivs[5]) < tolerance;
221
+ const dq1Js = [oivs[0] * observeFrequency, (oivs[0] + oivs[1]) * observeFrequency];
225
222
  if (isDQ1) return {
226
223
  type: 'dq',
227
224
  js: dq1Js
228
225
  };
229
- var isDQ2 = Math.abs(roivs[0] - roivs[1]) < tolerance && Math.abs(roivs[0] - roivs[2]) < tolerance && Math.abs(roivs[0] - roivs[4]) < tolerance && Math.abs(roivs[0] - roivs[5]) < tolerance && Math.abs(roivs[0] - roivs[6]) < tolerance && Math.abs(roivs[0] - roivs[3]) >= tolerance;
230
- var dq2Js = [oivs[0] * observeFrequency, (oivs[0] + oivs[1] + oivs[2] + oivs[3]) * observeFrequency];
226
+ const isDQ2 = Math.abs(roivs[0] - roivs[1]) < tolerance && Math.abs(roivs[0] - roivs[2]) < tolerance && Math.abs(roivs[0] - roivs[4]) < tolerance && Math.abs(roivs[0] - roivs[5]) < tolerance && Math.abs(roivs[0] - roivs[6]) < tolerance && Math.abs(roivs[0] - roivs[3]) >= tolerance;
227
+ const dq2Js = [oivs[0] * observeFrequency, (oivs[0] + oivs[1] + oivs[2] + oivs[3]) * observeFrequency];
231
228
  if (isDQ2) return {
232
229
  type: 'dq',
233
230
  js: dq2Js
234
231
  };
235
- var isDDD1 = Math.abs(roivs[0] - roivs[2]) < tolerance && Math.abs(roivs[0] - roivs[4]) < tolerance && Math.abs(roivs[0] - roivs[6]) < tolerance && Math.abs(roivs[1] - roivs[5]) < tolerance;
236
- var ddd1Js = [oivs[0] * observeFrequency, (oivs[0] + oivs[1]) * observeFrequency, (oivs[0] + oivs[1] + oivs[2] + oivs[3]) * observeFrequency];
232
+ const isDDD1 = Math.abs(roivs[0] - roivs[2]) < tolerance && Math.abs(roivs[0] - roivs[4]) < tolerance && Math.abs(roivs[0] - roivs[6]) < tolerance && Math.abs(roivs[1] - roivs[5]) < tolerance;
233
+ const ddd1Js = [oivs[0] * observeFrequency, (oivs[0] + oivs[1]) * observeFrequency, (oivs[0] + oivs[1] + oivs[2] + oivs[3]) * observeFrequency];
237
234
  if (isDDD1) return {
238
235
  type: 'ddd',
239
236
  js: ddd1Js
240
237
  };
241
- var isDDD2 = Math.abs(roivs[0] - roivs[2] - roivs[3]) < tolerance && Math.abs(roivs[0] - roivs[3] - roivs[4]) < tolerance && Math.abs(roivs[0] - roivs[6]) < tolerance && Math.abs(roivs[1] - roivs[5]) < tolerance && Math.abs(roivs[0] - roivs[1]) >= tolerance;
242
- var ddd2Js = [oivs[0] * observeFrequency, (oivs[0] + oivs[1]) * observeFrequency, (oivs[0] + oivs[1] + oivs[2]) * observeFrequency];
238
+ const isDDD2 = Math.abs(roivs[0] - roivs[2] - roivs[3]) < tolerance && Math.abs(roivs[0] - roivs[3] - roivs[4]) < tolerance && Math.abs(roivs[0] - roivs[6]) < tolerance && Math.abs(roivs[1] - roivs[5]) < tolerance && Math.abs(roivs[0] - roivs[1]) >= tolerance;
239
+ const ddd2Js = [oivs[0] * observeFrequency, (oivs[0] + oivs[1]) * observeFrequency, (oivs[0] + oivs[1] + oivs[2]) * observeFrequency];
243
240
  if (isDDD2) return {
244
241
  type: 'ddd',
245
242
  js: ddd2Js