UNPKG

1.48 kBJavaScriptView Raw
1'use strict';
2
3var chars = {};
4
5/**
6 * Regex for common characters
7 */
8
9chars.escapeRegex = {
10 '?': /\?/g,
11 '@': /\@/g,
12 '!': /\!/g,
13 '+': /\+/g,
14 '*': /\*/g,
15 '(': /\(/g,
16 ')': /\)/g,
17 '[': /\[/g,
18 ']': /\]/g,
19};
20
21/**
22 * Escape characters
23 */
24
25chars.ESC = {
26 '?': '__UNESC_QMRK__',
27 '@': '__UNESC_AMPE__',
28 '!': '__UNESC_EXCL__',
29 '+': '__UNESC_PLUS__',
30 '*': '__UNESC_STAR__',
31 ',': '__UNESC_COMMA__',
32 '(': '__UNESC_LTPAREN__',
33 ')': '__UNESC_RTPAREN__',
34 '[': '__UNESC_LTBRACK__',
35 ']': '__UNESC_RTBRACK__',
36};
37
38/**
39 * Unescape characters
40 */
41
42chars.UNESC = {
43 '__UNESC_QMRK__' : '\\?',
44 '__UNESC_AMPE__' : '\\@',
45 '__UNESC_EXCL__' : '\\!',
46 '__UNESC_PLUS__' : '\\+',
47 '__UNESC_STAR__' : '\\*',
48 '__UNESC_COMMA__' : '\\*',
49 '__UNESC_LTPAREN__': '\\(',
50 '__UNESC_RTPAREN__': '\\)',
51 '__UNESC_LTBRACK__': '\\[',
52 '__UNESC_RTBRACK__': '\\]',
53};
54
55chars.ESC_TEMP = {
56 '?': '__TEMP_QMRK__',
57 '@': '__TEMP_AMPE__',
58 '!': '__TEMP_EXCL__',
59 '*': '__TEMP_STAR__',
60 '+': '__TEMP_PLUS__',
61 ',': '__TEMP_COMMA__',
62 '(': '__TEMP_LTPAREN__',
63 ')': '__TEMP_RTPAREN__',
64 '[': '__TEMP_LTBRACK__',
65 ']': '__TEMP_RTBRACK__',
66};
67
68chars.TEMP = {
69 '__TEMP_QMRK__' : '?',
70 '__TEMP_AMPE__' : '@',
71 '__TEMP_EXCL__' : '!',
72 '__TEMP_STAR__' : '*',
73 '__TEMP_PLUS__' : '+',
74 '__TEMP_COMMA__' : ',',
75 '__TEMP_LTPAREN__': '(',
76 '__TEMP_RTPAREN__': ')',
77 '__TEMP_LTBRACK__': '[',
78 '__TEMP_RTBRACK__': ']',
79};
80
81module.exports = chars;