1 | import { parse } from '../swu/swu-parse';
|
2 | import { coord2swu } from '../convert';
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 | const swu2query = (swuSign, flags) => {
|
23 | let query = '';
|
24 | const parsed = parse.sign(swuSign);
|
25 |
|
26 | if (parsed.box) {
|
27 | const A_flag = flags.indexOf('A') > -1;
|
28 | const a_flag = flags.indexOf('a') > -1;
|
29 | const S_flag = flags.indexOf('S') > -1;
|
30 | const s_flag = flags.indexOf('s') > -1;
|
31 | const L_flag = flags.indexOf('L') > -1;
|
32 |
|
33 | if (A_flag || a_flag || S_flag || s_flag) {
|
34 | if ((A_flag || a_flag) && parsed.sequence) {
|
35 | query += 'A';
|
36 | query += parsed.sequence.map(sym => sym + (a_flag ? 'fr' : '')).join('');
|
37 | query += 'T';
|
38 | }
|
39 |
|
40 | if ((S_flag || s_flag) && parsed.spatials) {
|
41 | query += parsed.spatials.map(spatial => spatial.symbol + (s_flag ? 'fr' : '') + (L_flag ? coord2swu(spatial.coord) : '')).join('');
|
42 | }
|
43 | }
|
44 | return query ? "Q" + query : undefined;
|
45 | } else {
|
46 | return undefined;
|
47 | }
|
48 | }
|
49 |
|
50 | export { swu2query } |
\ | No newline at end of file |