1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 | export class CHARCODE {
|
9 | static NULL: i32 = 0;
|
10 | static TAB: i32 = 9;
|
11 | static LINE_FEED: i32 = 10;
|
12 | static CARRIAGE_RETURN: i32 = 13;
|
13 | static UNIT_SEPERATOR: i32 = 31;
|
14 | static SPACE: i32 = 32;
|
15 | static EXCLAMATION_POINT: i32 = 33;
|
16 | static DOUBLE_QUOTE: i32 = 34;
|
17 | static HASHTAG: i32 = 35;
|
18 | static PERCENT: i32 = 37;
|
19 | static SINGLE_QUOTE: i32 = 39;
|
20 | static ASTERISK: i32 = 42;
|
21 | static PERIOD: i32 = 46;
|
22 | static SLASH: i32 = 47;
|
23 | static ZERO: i32 = 48;
|
24 | static NINE: i32 = 57;
|
25 | static COLON: i32 = 58;
|
26 | static SEMI_COLON: i32 = 59;
|
27 | static LESS_THAN: i32 = 60;
|
28 | static EQUALS: i32 = 61;
|
29 | static GREATER_THAN: i32 = 62;
|
30 | static QUESTION_MARK: i32 = 63;
|
31 | static AT_SIGN: i32 = 64;
|
32 | static UPPERCASE_A: i32 = 65;
|
33 | static UPPERCASE_Z: i32 = 90;
|
34 | static LEFT_BRACKET: i32 = 91;
|
35 | static BACKSLASH: i32 = 92;
|
36 | static CARET: i32 = 94;
|
37 | static GRAVE_ACCENT: i32 = 96;
|
38 | static LOWERCASE_A: i32 = 97;
|
39 | static LOWERCASE_Z: i32 = 122;
|
40 | static LEFT_CURLY_BRACKET: i32 = 123;
|
41 | static VERTICAL_BAR: i32 = 124;
|
42 | static RIGHT_CURLY_BRACKET: i32 = 125;
|
43 | static TILDE: i32 = 126;
|
44 | }
|
45 |
|
46 | export function isCZeroControlPercentEncodeSet(charcode: i32): boolean {
|
47 | if (charcode <= CHARCODE.UNIT_SEPERATOR) {
|
48 | return true;
|
49 | } else if (charcode > CHARCODE.TILDE) {
|
50 | return true;
|
51 | }
|
52 |
|
53 | return false;
|
54 | }
|
55 |
|
56 | export function isFragmentPercentEncodeSet(charcode: i32): boolean {
|
57 | if (isCZeroControlPercentEncodeSet(charcode)) {
|
58 | return true;
|
59 | } else if (
|
60 | charcode === CHARCODE.SPACE ||
|
61 | charcode === CHARCODE.DOUBLE_QUOTE ||
|
62 | charcode === CHARCODE.LESS_THAN ||
|
63 | charcode === CHARCODE.GREATER_THAN ||
|
64 | charcode === CHARCODE.GRAVE_ACCENT
|
65 | ) {
|
66 | return true;
|
67 | }
|
68 | return false;
|
69 | }
|
70 |
|
71 | export function isQueryPercentEncodeSet(charcode: i32): boolean {
|
72 | if (isCZeroControlPercentEncodeSet(charcode)) {
|
73 | return true;
|
74 | } else if (
|
75 | charcode === CHARCODE.SPACE ||
|
76 | charcode === CHARCODE.DOUBLE_QUOTE ||
|
77 | charcode === CHARCODE.HASHTAG ||
|
78 | charcode === CHARCODE.LESS_THAN ||
|
79 | charcode === CHARCODE.GREATER_THAN
|
80 | ) {
|
81 | return true;
|
82 | }
|
83 |
|
84 | return false;
|
85 | }
|
86 |
|
87 | export function isPathPercentEncodeSet(charcode: i32): boolean {
|
88 | if (isQueryPercentEncodeSet(charcode)) {
|
89 | return true;
|
90 | } else if (
|
91 | charcode === CHARCODE.QUESTION_MARK ||
|
92 | charcode === CHARCODE.GRAVE_ACCENT ||
|
93 | charcode === CHARCODE.LEFT_CURLY_BRACKET ||
|
94 | charcode === CHARCODE.RIGHT_CURLY_BRACKET
|
95 | ) {
|
96 | return true;
|
97 | }
|
98 |
|
99 | return false;
|
100 | }
|
101 |
|
102 | export function isUserInfoPercentEncodeSet(charcode: i32): boolean {
|
103 | if (isPathPercentEncodeSet(charcode)) {
|
104 | return true;
|
105 | } else if (
|
106 | charcode === CHARCODE.SLASH ||
|
107 | charcode === CHARCODE.COLON ||
|
108 | charcode === CHARCODE.SEMI_COLON ||
|
109 | charcode === CHARCODE.EQUALS ||
|
110 | charcode === CHARCODE.AT_SIGN ||
|
111 | charcode === CHARCODE.CARET ||
|
112 | charcode === CHARCODE.VERTICAL_BAR
|
113 | ) {
|
114 | return true;
|
115 | }
|
116 |
|
117 | return false;
|
118 | }
|