jcampconverter 9.2.0 → 9.2.2

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 (156) hide show
  1. package/jcampconverter.cjs +8 -0
  2. package/{lib/convert.d.ts → jcampconverter.d.ts} +222 -182
  3. package/jcampconverter.mjs +8 -0
  4. package/package.json +27 -19
  5. package/lib/2d/add2D.d.ts +0 -2
  6. package/lib/2d/add2D.d.ts.map +0 -1
  7. package/lib/2d/add2D.js +0 -17
  8. package/lib/2d/add2D.js.map +0 -1
  9. package/lib/2d/convertTo3DZ.d.ts +0 -11
  10. package/lib/2d/convertTo3DZ.d.ts.map +0 -1
  11. package/lib/2d/convertTo3DZ.js +0 -59
  12. package/lib/2d/convertTo3DZ.js.map +0 -1
  13. package/lib/2d/generateContourLines.d.ts +0 -8
  14. package/lib/2d/generateContourLines.d.ts.map +0 -1
  15. package/lib/2d/generateContourLines.js +0 -163
  16. package/lib/2d/generateContourLines.js.map +0 -1
  17. package/lib/complexChromatogram.d.ts +0 -4
  18. package/lib/complexChromatogram.d.ts.map +0 -1
  19. package/lib/complexChromatogram.js +0 -49
  20. package/lib/complexChromatogram.js.map +0 -1
  21. package/lib/convert.d.ts.map +0 -1
  22. package/lib/convert.js +0 -412
  23. package/lib/convert.js.map +0 -1
  24. package/lib/convertToFloatArray.d.ts +0 -2
  25. package/lib/convertToFloatArray.d.ts.map +0 -1
  26. package/lib/convertToFloatArray.js +0 -11
  27. package/lib/convertToFloatArray.js.map +0 -1
  28. package/lib/createTree.d.ts +0 -29
  29. package/lib/createTree.d.ts.map +0 -1
  30. package/lib/createTree.js +0 -101
  31. package/lib/createTree.js.map +0 -1
  32. package/lib/index.d.ts +0 -3
  33. package/lib/index.d.ts.map +0 -1
  34. package/lib/index.js +0 -8
  35. package/lib/index.js.map +0 -1
  36. package/lib/parse/fastParseXYData.d.ts +0 -2
  37. package/lib/parse/fastParseXYData.d.ts.map +0 -1
  38. package/lib/parse/fastParseXYData.js +0 -193
  39. package/lib/parse/fastParseXYData.js.map +0 -1
  40. package/lib/parse/parsePeakTable.d.ts +0 -2
  41. package/lib/parse/parsePeakTable.d.ts.map +0 -1
  42. package/lib/parse/parsePeakTable.js +0 -67
  43. package/lib/parse/parsePeakTable.js.map +0 -1
  44. package/lib/parse/parseXYA.d.ts +0 -2
  45. package/lib/parse/parseXYA.d.ts.map +0 -1
  46. package/lib/parse/parseXYA.js +0 -51
  47. package/lib/parse/parseXYA.js.map +0 -1
  48. package/lib/postProcessing.d.ts +0 -2
  49. package/lib/postProcessing.d.ts.map +0 -1
  50. package/lib/postProcessing.js +0 -93
  51. package/lib/postProcessing.js.map +0 -1
  52. package/lib/postProcessingNMR.d.ts +0 -2
  53. package/lib/postProcessingNMR.d.ts.map +0 -1
  54. package/lib/postProcessingNMR.js +0 -95
  55. package/lib/postProcessingNMR.js.map +0 -1
  56. package/lib/prepareNtuplesDatatable.d.ts +0 -2
  57. package/lib/prepareNtuplesDatatable.d.ts.map +0 -1
  58. package/lib/prepareNtuplesDatatable.js +0 -87
  59. package/lib/prepareNtuplesDatatable.js.map +0 -1
  60. package/lib/prepareSpectrum.d.ts +0 -2
  61. package/lib/prepareSpectrum.d.ts.map +0 -1
  62. package/lib/prepareSpectrum.js +0 -10
  63. package/lib/prepareSpectrum.js.map +0 -1
  64. package/lib/profiling.d.ts +0 -2
  65. package/lib/profiling.d.ts.map +0 -1
  66. package/lib/profiling.js +0 -13
  67. package/lib/profiling.js.map +0 -1
  68. package/lib/simpleChromatogram.d.ts +0 -2
  69. package/lib/simpleChromatogram.d.ts.map +0 -1
  70. package/lib/simpleChromatogram.js +0 -16
  71. package/lib/simpleChromatogram.js.map +0 -1
  72. package/lib-esm/2d/add2D.d.ts +0 -2
  73. package/lib-esm/2d/add2D.d.ts.map +0 -1
  74. package/lib-esm/2d/add2D.js +0 -11
  75. package/lib-esm/2d/add2D.js.map +0 -1
  76. package/lib-esm/2d/convertTo3DZ.d.ts +0 -11
  77. package/lib-esm/2d/convertTo3DZ.d.ts.map +0 -1
  78. package/lib-esm/2d/convertTo3DZ.js +0 -53
  79. package/lib-esm/2d/convertTo3DZ.js.map +0 -1
  80. package/lib-esm/2d/generateContourLines.d.ts +0 -8
  81. package/lib-esm/2d/generateContourLines.d.ts.map +0 -1
  82. package/lib-esm/2d/generateContourLines.js +0 -160
  83. package/lib-esm/2d/generateContourLines.js.map +0 -1
  84. package/lib-esm/complexChromatogram.d.ts +0 -4
  85. package/lib-esm/complexChromatogram.d.ts.map +0 -1
  86. package/lib-esm/complexChromatogram.js +0 -43
  87. package/lib-esm/complexChromatogram.js.map +0 -1
  88. package/lib-esm/convert.d.ts +0 -182
  89. package/lib-esm/convert.d.ts.map +0 -1
  90. package/lib-esm/convert.js +0 -405
  91. package/lib-esm/convert.js.map +0 -1
  92. package/lib-esm/convertToFloatArray.d.ts +0 -2
  93. package/lib-esm/convertToFloatArray.d.ts.map +0 -1
  94. package/lib-esm/convertToFloatArray.js +0 -8
  95. package/lib-esm/convertToFloatArray.js.map +0 -1
  96. package/lib-esm/createTree.d.ts +0 -29
  97. package/lib-esm/createTree.d.ts.map +0 -1
  98. package/lib-esm/createTree.js +0 -97
  99. package/lib-esm/createTree.js.map +0 -1
  100. package/lib-esm/index.d.ts +0 -3
  101. package/lib-esm/index.d.ts.map +0 -1
  102. package/lib-esm/index.js +0 -3
  103. package/lib-esm/index.js.map +0 -1
  104. package/lib-esm/parse/fastParseXYData.d.ts +0 -2
  105. package/lib-esm/parse/fastParseXYData.d.ts.map +0 -1
  106. package/lib-esm/parse/fastParseXYData.js +0 -190
  107. package/lib-esm/parse/fastParseXYData.js.map +0 -1
  108. package/lib-esm/parse/parsePeakTable.d.ts +0 -2
  109. package/lib-esm/parse/parsePeakTable.d.ts.map +0 -1
  110. package/lib-esm/parse/parsePeakTable.js +0 -64
  111. package/lib-esm/parse/parsePeakTable.js.map +0 -1
  112. package/lib-esm/parse/parseXYA.d.ts +0 -2
  113. package/lib-esm/parse/parseXYA.d.ts.map +0 -1
  114. package/lib-esm/parse/parseXYA.js +0 -48
  115. package/lib-esm/parse/parseXYA.js.map +0 -1
  116. package/lib-esm/postProcessing.d.ts +0 -2
  117. package/lib-esm/postProcessing.d.ts.map +0 -1
  118. package/lib-esm/postProcessing.js +0 -87
  119. package/lib-esm/postProcessing.js.map +0 -1
  120. package/lib-esm/postProcessingNMR.d.ts +0 -2
  121. package/lib-esm/postProcessingNMR.d.ts.map +0 -1
  122. package/lib-esm/postProcessingNMR.js +0 -92
  123. package/lib-esm/postProcessingNMR.js.map +0 -1
  124. package/lib-esm/prepareNtuplesDatatable.d.ts +0 -2
  125. package/lib-esm/prepareNtuplesDatatable.d.ts.map +0 -1
  126. package/lib-esm/prepareNtuplesDatatable.js +0 -84
  127. package/lib-esm/prepareNtuplesDatatable.js.map +0 -1
  128. package/lib-esm/prepareSpectrum.d.ts +0 -2
  129. package/lib-esm/prepareSpectrum.d.ts.map +0 -1
  130. package/lib-esm/prepareSpectrum.js +0 -7
  131. package/lib-esm/prepareSpectrum.js.map +0 -1
  132. package/lib-esm/profiling.d.ts +0 -2
  133. package/lib-esm/profiling.d.ts.map +0 -1
  134. package/lib-esm/profiling.js +0 -10
  135. package/lib-esm/profiling.js.map +0 -1
  136. package/lib-esm/simpleChromatogram.d.ts +0 -2
  137. package/lib-esm/simpleChromatogram.d.ts.map +0 -1
  138. package/lib-esm/simpleChromatogram.js +0 -13
  139. package/lib-esm/simpleChromatogram.js.map +0 -1
  140. package/src/2d/add2D.js +0 -11
  141. package/src/2d/convertTo3DZ.js +0 -55
  142. package/src/2d/generateContourLines.js +0 -166
  143. package/src/complexChromatogram.js +0 -49
  144. package/src/convert.js +0 -412
  145. package/src/convertToFloatArray.js +0 -7
  146. package/src/createTree.js +0 -100
  147. package/src/index.js +0 -2
  148. package/src/parse/fastParseXYData.js +0 -175
  149. package/src/parse/parsePeakTable.js +0 -69
  150. package/src/parse/parseXYA.js +0 -50
  151. package/src/postProcessing.js +0 -93
  152. package/src/postProcessingNMR.js +0 -99
  153. package/src/prepareNtuplesDatatable.js +0 -85
  154. package/src/prepareSpectrum.js +0 -4
  155. package/src/profiling.js +0 -9
  156. package/src/simpleChromatogram.js +0 -12
@@ -1,193 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- function fastParseXYData(spectrum, value) {
4
- // TODO need to deal with result
5
- // console.log(value);
6
- // we check if deltaX is defined otherwise we calculate it
7
- let yFactor = spectrum.yFactor;
8
- let deltaX = spectrum.deltaX;
9
- spectrum.isXYdata = true;
10
- let currentData = { x: [], y: [] };
11
- spectrum.data = currentData;
12
- let currentX = spectrum.firstX;
13
- let currentY = spectrum.firstY;
14
- // we skip the first line
15
- //
16
- let endLine = false;
17
- let ascii;
18
- let i = 0;
19
- for (; i < value.length; i++) {
20
- ascii = value.charCodeAt(i);
21
- if (ascii === 13 || ascii === 10) {
22
- endLine = true;
23
- }
24
- else if (endLine) {
25
- break;
26
- }
27
- }
28
- // we proceed taking the i after the first line
29
- let newLine = true;
30
- let isDifference = false;
31
- let isLastDifference = false;
32
- let lastDifference = 0;
33
- let isDuplicate = false;
34
- let inComment = false;
35
- let currentValue = 0; // can be a difference or a duplicate
36
- let lastValue = 0; // must be the real last value
37
- let isNegative = false;
38
- let inValue = false;
39
- let skipFirstValue = false;
40
- let decimalPosition = 0;
41
- for (; i <= value.length; i++) {
42
- if (i === value.length)
43
- ascii = 13;
44
- else
45
- ascii = value.charCodeAt(i);
46
- if (inComment) {
47
- // we should ignore the text if we are after $$
48
- if (ascii === 13 || ascii === 10) {
49
- newLine = true;
50
- inComment = false;
51
- }
52
- }
53
- else {
54
- // when is it a new value ?
55
- // when it is not a digit, . or comma
56
- // it is a number that is either new or we continue
57
- // eslint-disable-next-line no-lonely-if
58
- if (ascii <= 57 && ascii >= 48) {
59
- // a number
60
- inValue = true;
61
- if (decimalPosition > 0) {
62
- currentValue += (ascii - 48) / Math.pow(10, decimalPosition++);
63
- }
64
- else {
65
- currentValue *= 10;
66
- currentValue += ascii - 48;
67
- }
68
- }
69
- else if (ascii === 44 || ascii === 46) {
70
- // a "," or "."
71
- inValue = true;
72
- decimalPosition++;
73
- }
74
- else {
75
- if (inValue) {
76
- // need to process the previous value
77
- if (newLine) {
78
- newLine = false; // we don't check the X value
79
- // console.log("NEW LINE",isDifference, lastDifference);
80
- // if new line and lastDifference, the first value is just a check !
81
- // that we don't check ...
82
- if (isLastDifference)
83
- skipFirstValue = true;
84
- }
85
- else {
86
- // need to deal with duplicate and differences
87
- // eslint-disable-next-line no-lonely-if
88
- if (skipFirstValue) {
89
- skipFirstValue = false;
90
- }
91
- else {
92
- if (isDifference) {
93
- lastDifference = isNegative ? 0 - currentValue : currentValue;
94
- isLastDifference = true;
95
- isDifference = false;
96
- }
97
- else if (!isDuplicate) {
98
- lastValue = isNegative ? 0 - currentValue : currentValue;
99
- }
100
- let duplicate = isDuplicate ? currentValue - 1 : 1;
101
- for (let j = 0; j < duplicate; j++) {
102
- if (isLastDifference) {
103
- currentY += lastDifference;
104
- }
105
- else {
106
- currentY = lastValue;
107
- }
108
- currentData.x.push(currentX);
109
- currentData.y.push(currentY * yFactor);
110
- currentX += deltaX;
111
- }
112
- }
113
- }
114
- isNegative = false;
115
- currentValue = 0;
116
- decimalPosition = 0;
117
- inValue = false;
118
- isDuplicate = false;
119
- }
120
- // positive SQZ digits @ A B C D E F G H I (ascii 64-73)
121
- if (ascii < 74 && ascii > 63) {
122
- inValue = true;
123
- isLastDifference = false;
124
- currentValue = ascii - 64;
125
- }
126
- else if (ascii > 96 && ascii < 106) {
127
- // negative SQZ digits a b c d e f g h i (ascii 97-105)
128
- inValue = true;
129
- isLastDifference = false;
130
- currentValue = ascii - 96;
131
- isNegative = true;
132
- }
133
- else if (ascii === 115) {
134
- // DUP digits S T U V W X Y Z s (ascii 83-90, 115)
135
- inValue = true;
136
- isDuplicate = true;
137
- currentValue = 9;
138
- }
139
- else if (ascii > 82 && ascii < 91) {
140
- inValue = true;
141
- isDuplicate = true;
142
- currentValue = ascii - 82;
143
- }
144
- else if (ascii > 73 && ascii < 83) {
145
- // positive DIF digits % J K L M N O P Q R (ascii 37, 74-82)
146
- inValue = true;
147
- isDifference = true;
148
- currentValue = ascii - 73;
149
- }
150
- else if (ascii > 105 && ascii < 115) {
151
- // negative DIF digits j k l m n o p q r (ascii 106-114)
152
- inValue = true;
153
- isDifference = true;
154
- currentValue = ascii - 105;
155
- isNegative = true;
156
- }
157
- else if (ascii === 36 && value.charCodeAt(i + 1) === 36) {
158
- // $ sign, we need to check the next one
159
- inValue = true;
160
- inComment = true;
161
- }
162
- else if (ascii === 37) {
163
- // positive DIF digits % J K L M N O P Q R (ascii 37, 74-82)
164
- inValue = true;
165
- isDifference = true;
166
- currentValue = 0;
167
- isNegative = false;
168
- }
169
- else if (ascii === 45) {
170
- // a "-"
171
- // check if after there is a number, decimal or comma
172
- let ascii2 = value.charCodeAt(i + 1);
173
- if ((ascii2 >= 48 && ascii2 <= 57) ||
174
- ascii2 === 44 ||
175
- ascii2 === 46) {
176
- inValue = true;
177
- if (!newLine)
178
- isLastDifference = false;
179
- isNegative = true;
180
- }
181
- }
182
- else if (ascii === 13 || ascii === 10) {
183
- newLine = true;
184
- inComment = false;
185
- }
186
- // and now analyse the details ... space or tabulation
187
- // if "+" we just don't care
188
- }
189
- }
190
- }
191
- }
192
- exports.default = fastParseXYData;
193
- //# sourceMappingURL=fastParseXYData.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fastParseXYData.js","sourceRoot":"","sources":["../../src/parse/fastParseXYData.js"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export default function parsePeakTable(spectrum: any, value: any, result: any): void;
2
- //# sourceMappingURL=parsePeakTable.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parsePeakTable.d.ts","sourceRoot":"","sources":["../../src/parse/parsePeakTable.js"],"names":[],"mappings":"AAGA,qFAeC"}
@@ -1,67 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const removeCommentRegExp = /\$\$.*/;
4
- const peakTableSplitRegExp = /[,\t ]+/;
5
- function parsePeakTable(spectrum, value, result) {
6
- spectrum.isPeaktable = true;
7
- if (!spectrum.variables || Object.keys(spectrum.variables) === 2) {
8
- parseXY(spectrum, value, result);
9
- }
10
- else {
11
- parseXYZ(spectrum, value, result);
12
- }
13
- // we will add the data in the variables
14
- if (spectrum.variables) {
15
- for (let key in spectrum.variables) {
16
- spectrum.variables[key].data = spectrum.data[key];
17
- }
18
- }
19
- }
20
- exports.default = parsePeakTable;
21
- function parseXY(spectrum, value, result) {
22
- let currentData = { x: [], y: [] };
23
- spectrum.data = currentData;
24
- // counts for around 20% of the time
25
- let lines = value.split(/,? *,?[;\r\n]+ */);
26
- for (let i = 1; i < lines.length; i++) {
27
- let values = lines[i]
28
- .trim()
29
- .replace(removeCommentRegExp, '')
30
- .split(peakTableSplitRegExp);
31
- if (values.length % 2 === 0) {
32
- for (let j = 0; j < values.length; j = j + 2) {
33
- // takes around 40% of the time to add and parse the 2 values nearly exclusively because of Number
34
- currentData.x.push(Number(values[j]) * spectrum.xFactor);
35
- currentData.y.push(Number(values[j + 1]) * spectrum.yFactor);
36
- }
37
- }
38
- else {
39
- result.logs.push(`Format error: ${values}`);
40
- }
41
- }
42
- }
43
- function parseXYZ(spectrum, value, result) {
44
- let currentData = {};
45
- let variables = Object.keys(spectrum.variables);
46
- let numberOfVariables = variables.length;
47
- variables.forEach((variable) => (currentData[variable] = []));
48
- spectrum.data = currentData;
49
- // counts for around 20% of the time
50
- let lines = value.split(/,? *,?[;\r\n]+ */);
51
- for (let i = 1; i < lines.length; i++) {
52
- let values = lines[i]
53
- .trim()
54
- .replace(removeCommentRegExp, '')
55
- .split(peakTableSplitRegExp);
56
- if (values.length % numberOfVariables === 0) {
57
- for (let j = 0; j < values.length; j++) {
58
- // todo should try to find a xFactor (y, ...)
59
- currentData[variables[j % numberOfVariables]].push(Number(values[j]));
60
- }
61
- }
62
- else {
63
- result.logs.push(`Format error: ${values}`);
64
- }
65
- }
66
- }
67
- //# sourceMappingURL=parsePeakTable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parsePeakTable.js","sourceRoot":"","sources":["../../src/parse/parsePeakTable.js"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export default function parseXYA(spectrum: any, value: any): void;
2
- //# sourceMappingURL=parseXYA.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseXYA.d.ts","sourceRoot":"","sources":["../../src/parse/parseXYA.js"],"names":[],"mappings":"AAcA,kEAmCC"}
@@ -1,51 +0,0 @@
1
- "use strict";
2
- /*
3
- (5.4.4) ##РЕАК ASSIGNMENTS= (STRING). List
4
- of peak assignments for components or functional groups
5
- in the forms ##РЕАК ASSIGNMENTS= (ХУА),
6
- (XYW А), (ХУМА), (XYMW А). Each entry is surrounded Ьу parentheses and starts а new line. У, W (peak
7
- width), and М (multiplicity) values are optional. The
8
- symbol А stands for а string detailing the assignment
9
- and must Ье enclosed Ьу angle brackets. If the peak width
10
- value is included, then the function used to calculate the
11
- peak width must Ье detailed in а $$ comment on the
12
- line(s) below ##PEAKASSIGNMENTS=. Priority OPTIONAL. N.B.: ##РЕАК ASSIGNMENTS= is the preferred method of transmitting peak information when
13
- the assignments are known.
14
- */
15
- Object.defineProperty(exports, "__esModule", { value: true });
16
- function parseXYA(spectrum, value) {
17
- spectrum.isXYAdata = true;
18
- const currentData = {};
19
- spectrum.data = currentData;
20
- let lines = value.split(/\r?\n/);
21
- const variables = lines[0]
22
- .replace(/^.*?([A-Z]+).*$/, '$1')
23
- .split('')
24
- .map((variable) => variable.toLowerCase());
25
- for (let i = 1; i < lines.length; i++) {
26
- const fields = lines[i].replace(/^\((.*)\)$/, '$1').split(/ *, */);
27
- for (let j = 0; j < variables.length; j++) {
28
- let value = fields[j];
29
- switch (variables[j]) {
30
- case 'x':
31
- case 'y':
32
- case 'w':
33
- value = Number.parseFloat(value);
34
- break;
35
- case 'a':
36
- value = value.replace(/^<(.*)>$/, '$1');
37
- break;
38
- case 'm':
39
- break;
40
- default:
41
- continue;
42
- }
43
- if (!currentData[variables[j]]) {
44
- currentData[variables[j]] = [];
45
- }
46
- currentData[variables[j]].push(value);
47
- }
48
- }
49
- }
50
- exports.default = parseXYA;
51
- //# sourceMappingURL=parseXYA.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseXYA.js","sourceRoot":"","sources":["../../src/parse/parseXYA.js"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;AAEH,SAAwB,QAAQ,CAAC,QAAQ,EAAE,KAAK;IAC9C,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC;IAE5B,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC;SACvB,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC;SAChC,KAAK,CAAC,EAAE,CAAC;SACT,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IAE7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACtB,QAAQ,SAAS,CAAC,CAAC,CAAC,EAAE;gBACpB,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG;oBACN,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBACjC,MAAM;gBACR,KAAK,GAAG;oBACN,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;oBACxC,MAAM;gBACR,KAAK,GAAG;oBACN,MAAM;gBACR;oBACE,SAAS;aACZ;YACD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC9B,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;aAChC;YACD,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACvC;KACF;AACH,CAAC;AAnCD,2BAmCC"}
@@ -1,2 +0,0 @@
1
- export default function postProcessing(entriesFlat: any, result: any, options: any): void;
2
- //# sourceMappingURL=postProcessing.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"postProcessing.d.ts","sourceRoot":"","sources":["../src/postProcessing.js"],"names":[],"mappings":"AAQA,0FA2CC"}
@@ -1,93 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const dynamic_typing_1 = require("dynamic-typing");
7
- const add2D_1 = __importDefault(require("./2d/add2D"));
8
- const complexChromatogram_1 = require("./complexChromatogram");
9
- const postProcessingNMR_1 = __importDefault(require("./postProcessingNMR"));
10
- const profiling_1 = __importDefault(require("./profiling"));
11
- const simpleChromatogram_1 = __importDefault(require("./simpleChromatogram"));
12
- function postProcessing(entriesFlat, result, options) {
13
- // converting Hz to ppm
14
- (0, postProcessingNMR_1.default)(entriesFlat);
15
- createArray(entriesFlat, options);
16
- for (let entry of entriesFlat) {
17
- if (Object.keys(entry.ntuples).length > 0) {
18
- let newNtuples = [];
19
- let keys = Object.keys(entry.ntuples);
20
- for (let i = 0; i < keys.length; i++) {
21
- let key = keys[i];
22
- let values = entry.ntuples[key];
23
- for (let j = 0; j < values.length; j++) {
24
- if (!newNtuples[j])
25
- newNtuples[j] = {};
26
- newNtuples[j][key] = values[j];
27
- }
28
- }
29
- entry.ntuples = newNtuples;
30
- }
31
- if (entry.twoD && options.wantXY) {
32
- (0, add2D_1.default)(entry, options);
33
- (0, profiling_1.default)(result, 'Finished countour plot calculation', options);
34
- if (!options.keepSpectra) {
35
- delete entry.spectra;
36
- }
37
- }
38
- // maybe it is a GC (HPLC) / MS. In this case we add a new format
39
- if (options.chromatogram) {
40
- if (entry.spectra.length > 1) {
41
- (0, complexChromatogram_1.complexChromatogram)(entry);
42
- }
43
- else {
44
- (0, simpleChromatogram_1.default)(entry);
45
- }
46
- (0, profiling_1.default)(result, 'Finished chromatogram calculation', options);
47
- }
48
- delete entry.tmp;
49
- }
50
- }
51
- exports.default = postProcessing;
52
- function createArray(entriesFlat, options) {
53
- for (const entry of entriesFlat) {
54
- for (const key in entry.meta) {
55
- const value = entry.meta[key];
56
- if (typeof value === 'string') {
57
- if (value[0] === '{') {
58
- // could be an array
59
- if (value[value.length - 1] === '}') {
60
- const array = value
61
- .slice(1, -1)
62
- .split(/[,; ]+/)
63
- .filter((e) => e);
64
- for (let i = 0; i < array.length; i++) {
65
- entry.meta[key + String(i)] = options.dynamicTyping
66
- ? (0, dynamic_typing_1.parseString)(array[i])
67
- : array[i];
68
- }
69
- }
70
- }
71
- else if (value[0] === '(') {
72
- const lines = value.split(/\r?\n/);
73
- const regexp = /^\((?<from>\d+)\.\.(?<to>\d+)\)$/;
74
- if (regexp.test(lines[0])) {
75
- // parsing '(0..63)'
76
- const [from, to] = lines[0].match(regexp).slice(1).map(Number);
77
- const array = lines
78
- .slice(1)
79
- .join(' ')
80
- .split(/[,; ]+/)
81
- .filter((e) => e);
82
- for (let i = from; i <= to; i++) {
83
- entry.meta[key + String(i)] = options.dynamicTyping
84
- ? (0, dynamic_typing_1.parseString)(array[i - from])
85
- : array[i - from];
86
- }
87
- }
88
- }
89
- }
90
- }
91
- }
92
- }
93
- //# sourceMappingURL=postProcessing.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"postProcessing.js","sourceRoot":"","sources":["../src/postProcessing.js"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export default function postProcessingNMR(entriesFlat: any): void;
2
- //# sourceMappingURL=postProcessingNMR.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"postProcessingNMR.d.ts","sourceRoot":"","sources":["../src/postProcessingNMR.js"],"names":[],"mappings":"AAEA,kEAgGC"}
@@ -1,95 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const gyromagnetic_ratio_1 = require("gyromagnetic-ratio");
4
- function postProcessingNMR(entriesFlat) {
5
- // specific NMR functions
6
- for (let entry of entriesFlat) {
7
- let observeFrequency = 0;
8
- let shiftOffsetVal = 0;
9
- for (let spectrum of entry.spectra) {
10
- if (entry.ntuples && entry.ntuples.symbol) {
11
- if (!observeFrequency && spectrum.observeFrequency) {
12
- observeFrequency = spectrum.observeFrequency;
13
- }
14
- if (!shiftOffsetVal && spectrum.shiftOffsetVal) {
15
- shiftOffsetVal = spectrum.shiftOffsetVal;
16
- }
17
- }
18
- else {
19
- observeFrequency = spectrum.observeFrequency;
20
- shiftOffsetVal = spectrum.shiftOffsetVal;
21
- }
22
- if (observeFrequency) {
23
- if (spectrum.xUnits && spectrum.xUnits.toUpperCase().includes('HZ')) {
24
- spectrum.xUnits = 'PPM';
25
- spectrum.xFactor = spectrum.xFactor / observeFrequency;
26
- spectrum.firstX = spectrum.firstX / observeFrequency;
27
- spectrum.lastX = spectrum.lastX / observeFrequency;
28
- spectrum.deltaX = spectrum.deltaX / observeFrequency;
29
- for (let i = 0; i < spectrum.data.x.length; i++) {
30
- spectrum.data.x[i] /= observeFrequency;
31
- }
32
- }
33
- }
34
- if (shiftOffsetVal && spectrum.xUnits.toLowerCase().includes('ppm')) {
35
- let shift = spectrum.firstX - shiftOffsetVal;
36
- spectrum.firstX = spectrum.firstX - shift;
37
- spectrum.lastX = spectrum.lastX - shift;
38
- for (let i = 0; i < spectrum.data.x.length; i++) {
39
- spectrum.data.x[i] -= shift;
40
- }
41
- }
42
- // we will check if some nucleus are missing ...
43
- if (entry.ntuples && entry.ntuples.nucleus && entry.ntuples.symbol) {
44
- for (let i = 0; i < entry.ntuples.nucleus.length; i++) {
45
- let symbol = entry.ntuples.symbol[i];
46
- let nucleus = entry.ntuples.nucleus[i];
47
- if (symbol.match(/^[F|T]/) && !nucleus) {
48
- if (symbol.match(/[F|T]1/)) {
49
- // if F1 is defined we will use F2
50
- if (entry.tmp.$NUC2) {
51
- entry.ntuples.nucleus[i] = entry.tmp.$NUC2;
52
- }
53
- else {
54
- let f2index = entry.ntuples.symbol.indexOf(symbol.replace(/^([F|T]).*/, '$12'));
55
- if (f2index && entry.ntuples.nucleus[f2index]) {
56
- entry.ntuples.nucleus[i] = entry.ntuples.nucleus[f2index];
57
- }
58
- }
59
- }
60
- if (symbol.match(/[F|T]2/)) {
61
- entry.ntuples.nucleus[i] = entry.tmp.$NUC1;
62
- }
63
- }
64
- if (symbol.match(/[F|T]2/)) {
65
- entry.yType = entry.ntuples.nucleus[0];
66
- }
67
- }
68
- }
69
- if (observeFrequency &&
70
- entry.ntuples &&
71
- entry.ntuples.symbol &&
72
- entry.ntuples.nucleus) {
73
- let unit = '';
74
- let pageSymbolIndex = entry.ntuples.symbol.indexOf(spectrum.pageSymbol);
75
- if (entry.ntuples.units && entry.ntuples.units[pageSymbolIndex]) {
76
- unit = entry.ntuples.units[pageSymbolIndex];
77
- }
78
- if (unit !== 'PPM') {
79
- if (pageSymbolIndex !== 0) {
80
- throw Error('Not sure about this ntuples format');
81
- }
82
- let ratio0 = gyromagnetic_ratio_1.gyromagneticRatio[entry.ntuples.nucleus[0]];
83
- let ratio1 = gyromagnetic_ratio_1.gyromagneticRatio[entry.ntuples.nucleus[1]];
84
- if (!ratio0 || !ratio1) {
85
- throw Error('Problem with determination of gyromagnetic ratio');
86
- }
87
- let ratio = (ratio0 / ratio1) * observeFrequency;
88
- spectrum.pageValue /= ratio;
89
- }
90
- }
91
- }
92
- }
93
- }
94
- exports.default = postProcessingNMR;
95
- //# sourceMappingURL=postProcessingNMR.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"postProcessingNMR.js","sourceRoot":"","sources":["../src/postProcessingNMR.js"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export default function prepareNtuplesDatatable(currentEntry: any, spectrum: any, kind: any): void;
2
- //# sourceMappingURL=prepareNtuplesDatatable.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prepareNtuplesDatatable.d.ts","sourceRoot":"","sources":["../src/prepareNtuplesDatatable.js"],"names":[],"mappings":"AAAA,mGAoFC"}