1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| var commonFormatterKeys = [
| 'M', 'MM', 'Q', 'D', 'DD', 'DDD', 'DDDD', 'd',
| 'E', 'W', 'WW', 'YY', 'YYYY', 'GG', 'GGGG',
| 'H', 'HH', 'h', 'hh', 'm', 'mm',
| 's', 'ss', 'S', 'SS', 'SSS',
| 'Z', 'ZZ', 'X', 'x'
| ]
|
| function buildFormattingTokensRegExp (formatters) {
| var formatterKeys = []
| for (var key in formatters) {
| if (formatters.hasOwnProperty(key)) {
| formatterKeys.push(key)
| }
| }
|
| var formattingTokens = commonFormatterKeys
| .concat(formatterKeys)
| .sort()
| .reverse()
| var formattingTokensRegExp = new RegExp(
| '(\\[[^\\[]*\\])|(\\\\)?' + '(' + formattingTokens.join('|') + '|.)', 'g'
| )
|
| return formattingTokensRegExp
| }
|
| module.exports = buildFormattingTokensRegExp
|
|