1 |
|
2 | /**
|
3 | * Object of regular expressions for FSW query strings
|
4 | *
|
5 | * { base, coord, var, symbol, range, item, list, prefix, signbox, full }
|
6 | * @alias fswquery.re
|
7 | * @type {object}
|
8 | */
|
9 | let re = {
|
10 | 'base': '[123][0-9a-f]{2}',
|
11 | 'coord': '(?:[0-9]{3}x[0-9]{3})?',
|
12 | 'var': 'V[0-9]+'
|
13 | }
|
14 |
|
15 | re.symbol = `S${re.base}[0-5u][0-9a-fu]`;
|
16 | re.range = `R${re.base}t${re.base}`;
|
17 | re.item = `(?:${re.symbol}|${re.range})`;
|
18 | re.list = `${re.item}(?:o${re.item})*`;
|
19 | re.prefix = `(?:A(?:${re.list})+)?T`;
|
20 | re.signbox = `(?:${re.list}${re.coord})*`;
|
21 | re.full = `Q(${re.prefix})?(${re.signbox})?(${re.var})?(-?)`
|
22 |
|
23 | export { re }
|