1
+
2
+## Input
3
+
4
+```javascript
5
+import {Stringify, identity} from 'shared-runtime';
6
+
7
+function foo() {
8
+ try {
9
+ identity(`${Symbol('0')}`); // Uncaught TypeError: Cannot convert a Symbol value to a string (leave as is)
10
+ } catch {}
11
+
12
+ return (
13
+ <Stringify
14
+ value={[
15
+ `` === '',
16
+ `\n` === '\n',
17
+ `a\nb`,
18
+ `\n`,
19
+ `a${1}b`,
20
+ ` abc \u0041\n\u000a\ŧ`,
21
+ `abc${1}def`,
22
+ `abc${1}def${2}`,
23
+ `abc${1}def${2}ghi`,
24
+ `a${1 + 3}b${``}c${'d' + `e${2 + 4}f`}`,
25
+ `1${2}${Math.sin(0)}`,
26
+ `${NaN}`,
27
+ `${Infinity}`,
28
+ `${-Infinity}`,
29
+ `${Number.MAX_SAFE_INTEGER}`,
30
+ `${Number.MIN_SAFE_INTEGER}`,
31
+ `${Number.MAX_VALUE}`,
32
+ `${Number.MIN_VALUE}`,
33
+ `${-0}`,
34
+ `
35
+ `,
36
+ `${{}}`,
37
+ `${[1, 2, 3]}`,
38
+ `${true}`,
39
+ `${false}`,
40
+ `${null}`,
41
+ `${undefined}`,
42
+ `123456789${0}`,
43
+ `${0}123456789`,
44
+ `${0}123456789${0}`,
45
+ `${0}1234${5}6789${0}`,
46
+ `${0}1234${`${0}123456789${`${0}123456789${0}`}`}6789${0}`,
47
+ `${0}1234${`${0}123456789${`${identity(0)}`}`}6789${0}`,
48
+ `${`${`${`${0}`}`}`}`,
49
+ `${`${`${`${''}`}`}`}`,
50
+ `${`${`${`${identity('')}`}`}`}`,
51
+ ]}
52
+ />
53
+ );
54
+}
55
+
56
+export const FIXTURE_ENTRYPOINT = {
57
+ fn: foo,
58
+ params: [],
59
+ isComponent: false,
60
+};
61
+
62
+```
63
+
64
+## Code
65
+
66
+```javascript
67
+import { c as _c } from "react/compiler-runtime";
68
+import { Stringify, identity } from "shared-runtime";
69
+
70
+function foo() {
71
+ const $ = _c(1);
72
+ try {
73
+ identity(`${Symbol("0")}`);
74
+ } catch {}
75
+ let t0;
76
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
77
+ t0 = (
78
+ <Stringify
79
+ value={[
80
+ true,
81
+ true,
82
+
83
+ "a\nb",
84
+ "\n",
85
+ "a1b",
86
+ " abc A\n\n\u0167",
87
+ "abc1def",
88
+ "abc1def2",
89
+ "abc1def2ghi",
90
+ "a4bcde6f",
91
+ `1${2}${Math.sin(0)}`,
92
+ `${NaN}`,
93
+ `${Infinity}`,
94
+ `${-Infinity}`,
95
+ `${Number.MAX_SAFE_INTEGER}`,
96
+ `${Number.MIN_SAFE_INTEGER}`,
97
+ `${Number.MAX_VALUE}`,
98
+ `${Number.MIN_VALUE}`,
99
+ "0",
100
+ "\n ",
101
+
102
+ `${{}}`,
103
+ `${[1, 2, 3]}`,
104
+ "true",
105
+ "false",
106
+ "null",
107
+ `${undefined}`,
108
+ "1234567890",
109
+ "0123456789",
110
+ "01234567890",
111
+ "01234567890",
112
+ "0123401234567890123456789067890",
113
+ `${0}1234${`${0}123456789${`${identity(0)}`}`}6789${0}`,
114
+ "0",
115
+ "",
116
+ `${`${`${`${identity("")}`}`}`}`,
117
+ ]}
118
+ />
119
+ );
120
+ $[0] = t0;
121
+ } else {
122
+ t0 = $[0];
123
+ }
124
+ return t0;
125
+}
126
+
127
+export const FIXTURE_ENTRYPOINT = {
128
+ fn: foo,
129
+ params: [],
130
+ isComponent: false,
131
+};
132
+
133
+```
134
+
135
+### Eval output
136
+(kind: ok) <div>{"value":[true,true,"a\nb","\n","a1b"," abc A\n\nŧ","abc1def","abc1def2","abc1def2ghi","a4bcde6f","120","NaN","Infinity","-Infinity","9007199254740991","-9007199254740991","1.7976931348623157e+308","5e-324","0","\n ","[object Object]","1,2,3","true","false","null","undefined","1234567890","0123456789","01234567890","01234567890","0123401234567890123456789067890","012340123456789067890","0","",""]}</div>
\ No newline at end of file