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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
// To update this, copy paste the following into the console of the browser
// ------------------------------------------------------------
var tab = "\t";
var シ = "wow";
var f = "";
var f = "\u2087";
var obj = {
"\r\n": "\r\n",
"\n": "\n",
"\t": "\t",
"\f": "\f",
"\v": "\v",
"\u2028": "\u2028",
"\u2029": "\u2029",
"😊": "😊",
"😃": "😃",
"🕵🏽♂️": "🕵🏽♂️",
"㋡": "㋡",
"☺": "☺",
シ: "シ",
"👋": "👋",
f: f,
"☹": "☹",
"☻": "☻",
children: 123,
};
const encoder = new TextEncoder();
const encodedObj = encoder.encode(JSON.stringify(obj));
// ------------------------------------------------------------
const correctEncodedObj = [
123, 34, 92, 114, 92, 110, 34, 58, 34, 92, 114, 92, 110, 34, 44, 34, 92, 110,
34, 58, 34, 92, 110, 34, 44, 34, 92, 116, 34, 58, 34, 92, 116, 34, 44, 34, 92,
102, 34, 58, 34, 92, 102, 34, 44, 34, 92, 117, 48, 48, 48, 98, 34, 58, 34, 92,
117, 48, 48, 48, 98, 34, 44, 34, 226, 128, 168, 34, 58, 34, 226, 128, 168, 34,
44, 34, 226, 128, 169, 34, 58, 34, 226, 128, 169, 34, 44, 34, 240, 159, 152,
138, 34, 58, 34, 240, 159, 152, 138, 34, 44, 34, 240, 159, 152, 131, 34, 58,
34, 240, 159, 152, 131, 34, 44, 34, 240, 159, 149, 181, 240, 159, 143, 189,
226, 128, 141, 226, 153, 130, 239, 184, 143, 34, 58, 34, 240, 159, 149, 181,
240, 159, 143, 189, 226, 128, 141, 226, 153, 130, 239, 184, 143, 34, 44, 34,
227, 139, 161, 34, 58, 34, 227, 139, 161, 34, 44, 34, 226, 152, 186, 34, 58,
34, 226, 152, 186, 34, 44, 34, 227, 130, 183, 34, 58, 34, 227, 130, 183, 34,
44, 34, 240, 159, 145, 139, 34, 58, 34, 240, 159, 145, 139, 34, 44, 34, 102,
34, 58, 34, 226, 130, 135, 34, 44, 34, 226, 152, 185, 34, 58, 34, 226, 152,
185, 34, 44, 34, 226, 152, 187, 34, 58, 34, 226, 152, 187, 34, 44, 34, 99,
104, 105, 108, 100, 114, 101, 110, 34, 58, 49, 50, 51, 125,
];
const jsxVariants = (
<>
"\r\n": "\r\n", "\n": "\n", "\t": "\t", "\f": "\f", "\v": "\v", "\u2028":
"\u2028", "\u2029": "\u2029", "😊": "😊", "😃": "😃", "🕵🏽♂️": "🕵🏽♂️", "㋡":
"㋡", "☺": "☺", シ: "シ", "👋": "👋", f: f, "☹": "☹", "☻": "☻", children:
123,
<div data="\r\n" />
<div data="\n" />
<div data="\t" />
<div data="\f" />
<div data="\v" />
<div data="\u2028" />
<div data="\u2029" />
<div data="😊" />
<div data="😃" />
<div data="🕵🏽♂️" />
<div data="㋡" />
<div data="☺" />
<div data="シ" />
<div data="👋" />
<div data="☹" />
<div data="☻" />
<div data="123" />
<div key="\r\n" />
<div>\r\n</div>
<div key="\n" />
<div>\n</div>
<div key="\t" />
<div>\t</div>
<div key="\f" />
<div>\f</div>
<div key="\v" />
<div>\v</div>
<div key="\u2028" />
<div>\u2028</div>
<div key="\u2029" />
<div>\u2029</div>
<div key="😊" />
<div>😊</div>
<div key="😃" />
<div>😃</div>
<div key="🕵🏽♂️" />
<div>🕵🏽♂️</div>
<div key="㋡" />
<div>㋡</div>
<div key="☺" />
<div>☺</div>
<div key="シ" />
<div>シ</div>
<div key="👋" />
<div>👋</div>
<div key="☹" />
<div>☹</div>
<div key="☻" />
<div>☻</div>
<div key="123" />
<div>123</div>
</>
);
const foo = () => {};
const Bar = foo("a", {
children: 123,
});
const carriage = obj["\r\n"];
const newline = obj["\n"];
export { obj };
export function test() {
console.assert(carriage === "\r\n");
console.assert(newline === "\n");
console.assert(tab === "\t");
console.assert(correctEncodedObj.length === encodedObj.length);
console.assert(correctEncodedObj.every((v, i) => v === encodedObj[i]));
return testDone(import.meta.url);
}
|