nmr-processing 11.0.1 → 11.1.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.
|
@@ -9,14 +9,14 @@ export interface RangesToACSOptions {
|
|
|
9
9
|
format?: string;
|
|
10
10
|
/**
|
|
11
11
|
* default value depends of nucleus
|
|
12
|
-
* @default
|
|
12
|
+
* @default '0.00'
|
|
13
13
|
*/
|
|
14
|
-
|
|
14
|
+
deltaFormat?: string;
|
|
15
15
|
/**
|
|
16
16
|
* Number of decimals to round the scalar coupling value
|
|
17
|
-
* @default
|
|
17
|
+
* @default '0.0'
|
|
18
18
|
*/
|
|
19
|
-
|
|
19
|
+
couplingFormat?: string;
|
|
20
20
|
/**
|
|
21
21
|
* default value depends of nucleus
|
|
22
22
|
* @default 400|100
|
|
@@ -1,26 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.rangesToACS = void 0;
|
|
4
7
|
const is_any_array_1 = require("is-any-array");
|
|
8
|
+
const numeral_1 = __importDefault(require("numeral"));
|
|
5
9
|
const signalJoinCouplings_1 = require("../signal/signalJoinCouplings");
|
|
6
10
|
const signalMultiplicityPattern_1 = require("../signal/signalMultiplicityPattern");
|
|
7
11
|
const globalOptions = {
|
|
8
12
|
h: {
|
|
9
13
|
nucleus: '1H',
|
|
10
|
-
|
|
11
|
-
|
|
14
|
+
deltaFormat: '0.00',
|
|
15
|
+
couplingFormat: '0.0',
|
|
12
16
|
observedFrequency: 400,
|
|
13
17
|
},
|
|
14
18
|
c: {
|
|
15
19
|
nucleus: '13C',
|
|
16
|
-
|
|
17
|
-
|
|
20
|
+
deltaFormat: '0.0',
|
|
21
|
+
couplingFormat: '0.0',
|
|
18
22
|
observedFrequency: 100,
|
|
19
23
|
},
|
|
20
24
|
f: {
|
|
21
25
|
nucleus: '19F',
|
|
22
|
-
|
|
23
|
-
|
|
26
|
+
deltaFormat: '0.00',
|
|
27
|
+
couplingFormat: '0.0',
|
|
24
28
|
observedFrequency: 400,
|
|
25
29
|
},
|
|
26
30
|
};
|
|
@@ -73,7 +77,7 @@ function spectroInformation(options) {
|
|
|
73
77
|
parenthesis.push(formatMF(options.solvent));
|
|
74
78
|
}
|
|
75
79
|
if (options.observedFrequency) {
|
|
76
|
-
parenthesis.push(`${(options.observedFrequency * 1).
|
|
80
|
+
parenthesis.push(`${(0, numeral_1.default)(options.observedFrequency * 1).format('0')} MHz`);
|
|
77
81
|
}
|
|
78
82
|
if (parenthesis.length > 0) {
|
|
79
83
|
strings += ` (${parenthesis.join(', ')}): δ `;
|
|
@@ -98,14 +102,16 @@ function pushDelta(range, acsRanges, options) {
|
|
|
98
102
|
return a.delta - b.delta;
|
|
99
103
|
});
|
|
100
104
|
}
|
|
101
|
-
|
|
105
|
+
const to = (0, numeral_1.default)(Math.max(...fromTo));
|
|
106
|
+
const from = (0, numeral_1.default)(Math.min(...fromTo));
|
|
107
|
+
strings += `${from.format(options.deltaFormat)}-${to.format(options.deltaFormat)}`;
|
|
102
108
|
strings += ` (${getIntegral(range, options)}`;
|
|
103
109
|
if (signals.some((signal) => signal.multiplicity || (signal.js && signal.js.length > 0))) {
|
|
104
110
|
for (const signal of signals) {
|
|
105
111
|
parenthesis = [];
|
|
106
112
|
if (signal.delta !== undefined) {
|
|
107
113
|
strings = appendSeparator(strings);
|
|
108
|
-
strings += signal.delta.
|
|
114
|
+
strings += (0, numeral_1.default)(signal.delta).format(options.deltaFormat);
|
|
109
115
|
}
|
|
110
116
|
const range = {
|
|
111
117
|
from: Number.MIN_SAFE_INTEGER,
|
|
@@ -121,13 +127,15 @@ function pushDelta(range, acsRanges, options) {
|
|
|
121
127
|
else {
|
|
122
128
|
parenthesis = [];
|
|
123
129
|
if (signals[0].delta !== undefined) {
|
|
124
|
-
strings += signals[0].delta.
|
|
130
|
+
strings += (0, numeral_1.default)(signals[0].delta).format(options.deltaFormat);
|
|
125
131
|
switchFormat(range, signals[0], parenthesis, options);
|
|
126
132
|
if (parenthesis.length > 0)
|
|
127
133
|
strings += ` (${parenthesis.join(', ')})`;
|
|
128
134
|
}
|
|
129
135
|
else {
|
|
130
|
-
|
|
136
|
+
const to = (0, numeral_1.default)(Math.max(...fromTo));
|
|
137
|
+
const from = (0, numeral_1.default)(Math.min(...fromTo));
|
|
138
|
+
strings += `${from.format(options.deltaFormat)}-${to.format(options.deltaFormat)}`;
|
|
131
139
|
switchFormat(range, signals[0], parenthesis, options);
|
|
132
140
|
if (parenthesis.length > 0)
|
|
133
141
|
strings += ` (${parenthesis})`;
|
|
@@ -135,7 +143,9 @@ function pushDelta(range, acsRanges, options) {
|
|
|
135
143
|
}
|
|
136
144
|
}
|
|
137
145
|
else {
|
|
138
|
-
|
|
146
|
+
const to = (0, numeral_1.default)(Math.max(...fromTo));
|
|
147
|
+
const from = (0, numeral_1.default)(Math.min(...fromTo));
|
|
148
|
+
strings += `${from.format(options.deltaFormat)}-${to.format(options.deltaFormat)}`;
|
|
139
149
|
const signal = {};
|
|
140
150
|
switchFormat(range, signal, parenthesis, options);
|
|
141
151
|
if (parenthesis.length > 0)
|
|
@@ -150,7 +160,8 @@ function getIntegral(range, options) {
|
|
|
150
160
|
}
|
|
151
161
|
else if (range.integration) {
|
|
152
162
|
const { nucleus } = options;
|
|
153
|
-
integration =
|
|
163
|
+
integration =
|
|
164
|
+
(0, numeral_1.default)(range.integration).format('0') + nucleus[nucleus.length - 1];
|
|
154
165
|
}
|
|
155
166
|
return integration;
|
|
156
167
|
}
|
|
@@ -217,7 +228,7 @@ function pushCoupling(signal, parenthesis, options) {
|
|
|
217
228
|
const values = [];
|
|
218
229
|
for (const j of signal.js) {
|
|
219
230
|
if (j.coupling !== undefined) {
|
|
220
|
-
values.push(j.coupling.
|
|
231
|
+
values.push((0, numeral_1.default)(j.coupling).format(options.couplingFormat));
|
|
221
232
|
}
|
|
222
233
|
}
|
|
223
234
|
if (values.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rangesToACS.js","sourceRoot":"","sources":["../../src/ranges/rangesToACS.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rangesToACS.js","sourceRoot":"","sources":["../../src/ranges/rangesToACS.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
import { isAnyArray } from 'is-any-array';
|
|
2
|
+
import numeral from 'numeral';
|
|
2
3
|
import { signalJoinCouplings } from '../signal/signalJoinCouplings';
|
|
3
4
|
import { signalMultiplicityPattern } from '../signal/signalMultiplicityPattern';
|
|
4
5
|
const globalOptions = {
|
|
5
6
|
h: {
|
|
6
7
|
nucleus: '1H',
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
deltaFormat: '0.00',
|
|
9
|
+
couplingFormat: '0.0',
|
|
9
10
|
observedFrequency: 400,
|
|
10
11
|
},
|
|
11
12
|
c: {
|
|
12
13
|
nucleus: '13C',
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
deltaFormat: '0.0',
|
|
15
|
+
couplingFormat: '0.0',
|
|
15
16
|
observedFrequency: 100,
|
|
16
17
|
},
|
|
17
18
|
f: {
|
|
18
19
|
nucleus: '19F',
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
deltaFormat: '0.00',
|
|
21
|
+
couplingFormat: '0.0',
|
|
21
22
|
observedFrequency: 400,
|
|
22
23
|
},
|
|
23
24
|
};
|
|
@@ -69,7 +70,7 @@ function spectroInformation(options) {
|
|
|
69
70
|
parenthesis.push(formatMF(options.solvent));
|
|
70
71
|
}
|
|
71
72
|
if (options.observedFrequency) {
|
|
72
|
-
parenthesis.push(`${(options.observedFrequency * 1).
|
|
73
|
+
parenthesis.push(`${numeral(options.observedFrequency * 1).format('0')} MHz`);
|
|
73
74
|
}
|
|
74
75
|
if (parenthesis.length > 0) {
|
|
75
76
|
strings += ` (${parenthesis.join(', ')}): δ `;
|
|
@@ -94,14 +95,16 @@ function pushDelta(range, acsRanges, options) {
|
|
|
94
95
|
return a.delta - b.delta;
|
|
95
96
|
});
|
|
96
97
|
}
|
|
97
|
-
|
|
98
|
+
const to = numeral(Math.max(...fromTo));
|
|
99
|
+
const from = numeral(Math.min(...fromTo));
|
|
100
|
+
strings += `${from.format(options.deltaFormat)}-${to.format(options.deltaFormat)}`;
|
|
98
101
|
strings += ` (${getIntegral(range, options)}`;
|
|
99
102
|
if (signals.some((signal) => signal.multiplicity || (signal.js && signal.js.length > 0))) {
|
|
100
103
|
for (const signal of signals) {
|
|
101
104
|
parenthesis = [];
|
|
102
105
|
if (signal.delta !== undefined) {
|
|
103
106
|
strings = appendSeparator(strings);
|
|
104
|
-
strings += signal.delta.
|
|
107
|
+
strings += numeral(signal.delta).format(options.deltaFormat);
|
|
105
108
|
}
|
|
106
109
|
const range = {
|
|
107
110
|
from: Number.MIN_SAFE_INTEGER,
|
|
@@ -117,13 +120,15 @@ function pushDelta(range, acsRanges, options) {
|
|
|
117
120
|
else {
|
|
118
121
|
parenthesis = [];
|
|
119
122
|
if (signals[0].delta !== undefined) {
|
|
120
|
-
strings += signals[0].delta.
|
|
123
|
+
strings += numeral(signals[0].delta).format(options.deltaFormat);
|
|
121
124
|
switchFormat(range, signals[0], parenthesis, options);
|
|
122
125
|
if (parenthesis.length > 0)
|
|
123
126
|
strings += ` (${parenthesis.join(', ')})`;
|
|
124
127
|
}
|
|
125
128
|
else {
|
|
126
|
-
|
|
129
|
+
const to = numeral(Math.max(...fromTo));
|
|
130
|
+
const from = numeral(Math.min(...fromTo));
|
|
131
|
+
strings += `${from.format(options.deltaFormat)}-${to.format(options.deltaFormat)}`;
|
|
127
132
|
switchFormat(range, signals[0], parenthesis, options);
|
|
128
133
|
if (parenthesis.length > 0)
|
|
129
134
|
strings += ` (${parenthesis})`;
|
|
@@ -131,7 +136,9 @@ function pushDelta(range, acsRanges, options) {
|
|
|
131
136
|
}
|
|
132
137
|
}
|
|
133
138
|
else {
|
|
134
|
-
|
|
139
|
+
const to = numeral(Math.max(...fromTo));
|
|
140
|
+
const from = numeral(Math.min(...fromTo));
|
|
141
|
+
strings += `${from.format(options.deltaFormat)}-${to.format(options.deltaFormat)}`;
|
|
135
142
|
const signal = {};
|
|
136
143
|
switchFormat(range, signal, parenthesis, options);
|
|
137
144
|
if (parenthesis.length > 0)
|
|
@@ -146,7 +153,8 @@ function getIntegral(range, options) {
|
|
|
146
153
|
}
|
|
147
154
|
else if (range.integration) {
|
|
148
155
|
const { nucleus } = options;
|
|
149
|
-
integration =
|
|
156
|
+
integration =
|
|
157
|
+
numeral(range.integration).format('0') + nucleus[nucleus.length - 1];
|
|
150
158
|
}
|
|
151
159
|
return integration;
|
|
152
160
|
}
|
|
@@ -213,7 +221,7 @@ function pushCoupling(signal, parenthesis, options) {
|
|
|
213
221
|
const values = [];
|
|
214
222
|
for (const j of signal.js) {
|
|
215
223
|
if (j.coupling !== undefined) {
|
|
216
|
-
values.push(j.coupling.
|
|
224
|
+
values.push(numeral(j.coupling).format(options.couplingFormat));
|
|
217
225
|
}
|
|
218
226
|
}
|
|
219
227
|
if (values.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rangesToACS.js","sourceRoot":"","sources":["../../src/ranges/rangesToACS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"rangesToACS.js","sourceRoot":"","sources":["../../src/ranges/rangesToACS.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nmr-processing",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.1.1",
|
|
4
4
|
"description": "Pure functions allowing to process NMR spectra.",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"module": "./lib-esm/index.js",
|
|
@@ -38,25 +38,26 @@
|
|
|
38
38
|
},
|
|
39
39
|
"homepage": "https://github.com/cheminfo/nmr-processing#readme",
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@types/jest": "^29.5.
|
|
41
|
+
"@types/jest": "^29.5.4",
|
|
42
|
+
"@types/numeral": "^2.0.2",
|
|
42
43
|
"cheminfo-build": "^1.2.0",
|
|
43
44
|
"cheminfo-types": "^1.7.2",
|
|
44
|
-
"eslint": "^8.
|
|
45
|
+
"eslint": "^8.49.0",
|
|
45
46
|
"eslint-config-cheminfo-typescript": "^12.0.4",
|
|
46
47
|
"fifo-logger": "^0.6.1",
|
|
47
|
-
"jest": "^29.
|
|
48
|
+
"jest": "^29.7.0",
|
|
48
49
|
"jest-matcher-deep-close-to": "^3.0.2",
|
|
49
50
|
"md5": "^2.3.0",
|
|
50
51
|
"nmr-xy-testdata": "^0.5.1",
|
|
51
52
|
"openchemlib": "^8.5.0",
|
|
52
|
-
"prettier": "^3.0.
|
|
53
|
+
"prettier": "^3.0.3",
|
|
53
54
|
"rimraf": "^5.0.1",
|
|
54
55
|
"ts-jest": "^29.1.1",
|
|
55
|
-
"typescript": "~5.
|
|
56
|
+
"typescript": "~5.2.2"
|
|
56
57
|
},
|
|
57
58
|
"dependencies": {
|
|
58
59
|
"@lukeed/uuid": "^2.0.1",
|
|
59
|
-
"@types/lodash": "^4.14.
|
|
60
|
+
"@types/lodash": "^4.14.198",
|
|
60
61
|
"binary-search": "^1.3.6",
|
|
61
62
|
"cross-fetch": "^4.0.0",
|
|
62
63
|
"form-data": "^4.0.0",
|
|
@@ -77,10 +78,11 @@
|
|
|
77
78
|
"ml-signal-processing": "^1.0.3",
|
|
78
79
|
"ml-simple-clustering": "^0.1.0",
|
|
79
80
|
"ml-sparse-matrix": "^2.1.0",
|
|
80
|
-
"ml-spectra-processing": "^12.5.
|
|
81
|
+
"ml-spectra-processing": "^12.5.1",
|
|
81
82
|
"ml-tree-set": "^0.1.1",
|
|
82
83
|
"nmr-correlation": "^2.3.3",
|
|
84
|
+
"numeral": "^2.0.6",
|
|
83
85
|
"openchemlib-utils": "^5.2.0",
|
|
84
86
|
"spectrum-generator": "^8.0.8"
|
|
85
87
|
}
|
|
86
|
-
}
|
|
88
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { isAnyArray } from 'is-any-array';
|
|
2
|
+
import numeral from 'numeral';
|
|
2
3
|
|
|
3
4
|
import { signalJoinCouplings } from '../signal/signalJoinCouplings';
|
|
4
5
|
import { signalMultiplicityPattern } from '../signal/signalMultiplicityPattern';
|
|
@@ -9,27 +10,27 @@ const globalOptions: Record<
|
|
|
9
10
|
string,
|
|
10
11
|
{
|
|
11
12
|
nucleus: string;
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
deltaFormat: string;
|
|
14
|
+
couplingFormat: string;
|
|
14
15
|
observedFrequency: number;
|
|
15
16
|
}
|
|
16
17
|
> = {
|
|
17
18
|
h: {
|
|
18
19
|
nucleus: '1H',
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
deltaFormat: '0.00',
|
|
21
|
+
couplingFormat: '0.0',
|
|
21
22
|
observedFrequency: 400,
|
|
22
23
|
},
|
|
23
24
|
c: {
|
|
24
25
|
nucleus: '13C',
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
deltaFormat: '0.0',
|
|
27
|
+
couplingFormat: '0.0',
|
|
27
28
|
observedFrequency: 100,
|
|
28
29
|
},
|
|
29
30
|
f: {
|
|
30
31
|
nucleus: '19F',
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
deltaFormat: '0.00',
|
|
33
|
+
couplingFormat: '0.0',
|
|
33
34
|
observedFrequency: 400,
|
|
34
35
|
},
|
|
35
36
|
};
|
|
@@ -44,14 +45,14 @@ export interface RangesToACSOptions {
|
|
|
44
45
|
format?: string;
|
|
45
46
|
/**
|
|
46
47
|
* default value depends of nucleus
|
|
47
|
-
* @default
|
|
48
|
+
* @default '0.00'
|
|
48
49
|
*/
|
|
49
|
-
|
|
50
|
+
deltaFormat?: string;
|
|
50
51
|
/**
|
|
51
52
|
* Number of decimals to round the scalar coupling value
|
|
52
|
-
* @default
|
|
53
|
+
* @default '0.0'
|
|
53
54
|
*/
|
|
54
|
-
|
|
55
|
+
couplingFormat?: string;
|
|
55
56
|
/**
|
|
56
57
|
* default value depends of nucleus
|
|
57
58
|
* @default 400|100
|
|
@@ -118,7 +119,9 @@ function spectroInformation(options: any) {
|
|
|
118
119
|
parenthesis.push(formatMF(options.solvent));
|
|
119
120
|
}
|
|
120
121
|
if (options.observedFrequency) {
|
|
121
|
-
parenthesis.push(
|
|
122
|
+
parenthesis.push(
|
|
123
|
+
`${numeral(options.observedFrequency * 1).format('0')} MHz`,
|
|
124
|
+
);
|
|
122
125
|
}
|
|
123
126
|
if (parenthesis.length > 0) {
|
|
124
127
|
strings += ` (${parenthesis.join(', ')}): δ `;
|
|
@@ -147,9 +150,11 @@ function pushDelta(range: NMRRange, acsRanges: string[], options: any) {
|
|
|
147
150
|
return a.delta - b.delta;
|
|
148
151
|
});
|
|
149
152
|
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
+
const to = numeral(Math.max(...fromTo));
|
|
154
|
+
const from = numeral(Math.min(...fromTo));
|
|
155
|
+
strings += `${from.format(options.deltaFormat)}-${to.format(
|
|
156
|
+
options.deltaFormat,
|
|
157
|
+
)}`;
|
|
153
158
|
strings += ` (${getIntegral(range, options)}`;
|
|
154
159
|
|
|
155
160
|
if (
|
|
@@ -162,7 +167,7 @@ function pushDelta(range: NMRRange, acsRanges: string[], options: any) {
|
|
|
162
167
|
parenthesis = [];
|
|
163
168
|
if (signal.delta !== undefined) {
|
|
164
169
|
strings = appendSeparator(strings);
|
|
165
|
-
strings += signal.delta.
|
|
170
|
+
strings += numeral(signal.delta).format(options.deltaFormat);
|
|
166
171
|
}
|
|
167
172
|
const range: NMRRange = {
|
|
168
173
|
from: Number.MIN_SAFE_INTEGER,
|
|
@@ -176,21 +181,25 @@ function pushDelta(range: NMRRange, acsRanges: string[], options: any) {
|
|
|
176
181
|
} else {
|
|
177
182
|
parenthesis = [];
|
|
178
183
|
if (signals[0].delta !== undefined) {
|
|
179
|
-
strings += signals[0].delta.
|
|
184
|
+
strings += numeral(signals[0].delta).format(options.deltaFormat);
|
|
180
185
|
switchFormat(range, signals[0], parenthesis, options);
|
|
181
186
|
if (parenthesis.length > 0) strings += ` (${parenthesis.join(', ')})`;
|
|
182
187
|
} else {
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
188
|
+
const to = numeral(Math.max(...fromTo));
|
|
189
|
+
const from = numeral(Math.min(...fromTo));
|
|
190
|
+
strings += `${from.format(options.deltaFormat)}-${to.format(
|
|
191
|
+
options.deltaFormat,
|
|
192
|
+
)}`;
|
|
186
193
|
switchFormat(range, signals[0], parenthesis, options);
|
|
187
194
|
if (parenthesis.length > 0) strings += ` (${parenthesis})`;
|
|
188
195
|
}
|
|
189
196
|
}
|
|
190
197
|
} else {
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
198
|
+
const to = numeral(Math.max(...fromTo));
|
|
199
|
+
const from = numeral(Math.min(...fromTo));
|
|
200
|
+
strings += `${from.format(options.deltaFormat)}-${to.format(
|
|
201
|
+
options.deltaFormat,
|
|
202
|
+
)}`;
|
|
194
203
|
const signal: any = {};
|
|
195
204
|
switchFormat(range, signal, parenthesis, options);
|
|
196
205
|
if (parenthesis.length > 0) strings += ` (${parenthesis.join(', ')})`;
|
|
@@ -204,7 +213,8 @@ function getIntegral(range: NMRRange, options: { nucleus: string[] }) {
|
|
|
204
213
|
integration = String(range.pubIntegral);
|
|
205
214
|
} else if (range.integration) {
|
|
206
215
|
const { nucleus } = options;
|
|
207
|
-
integration =
|
|
216
|
+
integration =
|
|
217
|
+
numeral(range.integration).format('0') + nucleus[nucleus.length - 1];
|
|
208
218
|
}
|
|
209
219
|
return integration;
|
|
210
220
|
}
|
|
@@ -290,7 +300,7 @@ function pushCoupling(
|
|
|
290
300
|
const values = [];
|
|
291
301
|
for (const j of signal.js) {
|
|
292
302
|
if (j.coupling !== undefined) {
|
|
293
|
-
values.push(j.coupling.
|
|
303
|
+
values.push(numeral(j.coupling).format(options.couplingFormat));
|
|
294
304
|
}
|
|
295
305
|
}
|
|
296
306
|
if (values.length > 0) {
|