├── gen ├── 1..ts ├── 123.ģ.ts ├── 1f..ts ├── 20. .ts ├── 21.!.ts ├── 22.".ts ├── 23.#.ts ├── 24.$.ts ├── 25.%.ts ├── 26.&.ts ├── 27.'.ts ├── 28.(.ts ├── 29.).ts ├── 2a.*.ts ├── 2b.+.ts ├── 2c.,.ts ├── 3a.:.ts ├── 3b.;.ts ├── 3d.=.ts ├── 3f.?.ts ├── 40.@.ts ├── 5b.[.ts ├── 5c.\.ts ├── 5d.].ts ├── 9. .ts ├── 9f.Ÿ.ts ├── a. .ts ├── d. .ts ├── 1234.ሴ.ts └── 12345.𒍅.ts ├── gen.ts └── main.ts /gen/1..ts: -------------------------------------------------------------------------------- 1 | export default 0x1; -------------------------------------------------------------------------------- /gen/123.ģ.ts: -------------------------------------------------------------------------------- 1 | export default 0x123; -------------------------------------------------------------------------------- /gen/1f..ts: -------------------------------------------------------------------------------- 1 | export default 0x1f; -------------------------------------------------------------------------------- /gen/20. .ts: -------------------------------------------------------------------------------- 1 | export default 0x20; -------------------------------------------------------------------------------- /gen/21.!.ts: -------------------------------------------------------------------------------- 1 | export default 0x21; -------------------------------------------------------------------------------- /gen/22.".ts: -------------------------------------------------------------------------------- 1 | export default 0x22; -------------------------------------------------------------------------------- /gen/23.#.ts: -------------------------------------------------------------------------------- 1 | export default 0x23; -------------------------------------------------------------------------------- /gen/24.$.ts: -------------------------------------------------------------------------------- 1 | export default 0x24; -------------------------------------------------------------------------------- /gen/25.%.ts: -------------------------------------------------------------------------------- 1 | export default 0x25; -------------------------------------------------------------------------------- /gen/26.&.ts: -------------------------------------------------------------------------------- 1 | export default 0x26; -------------------------------------------------------------------------------- /gen/27.'.ts: -------------------------------------------------------------------------------- 1 | export default 0x27; -------------------------------------------------------------------------------- /gen/28.(.ts: -------------------------------------------------------------------------------- 1 | export default 0x28; -------------------------------------------------------------------------------- /gen/29.).ts: -------------------------------------------------------------------------------- 1 | export default 0x29; -------------------------------------------------------------------------------- /gen/2a.*.ts: -------------------------------------------------------------------------------- 1 | export default 0x2a; -------------------------------------------------------------------------------- /gen/2b.+.ts: -------------------------------------------------------------------------------- 1 | export default 0x2b; -------------------------------------------------------------------------------- /gen/2c.,.ts: -------------------------------------------------------------------------------- 1 | export default 0x2c; -------------------------------------------------------------------------------- /gen/3a.:.ts: -------------------------------------------------------------------------------- 1 | export default 0x3a; -------------------------------------------------------------------------------- /gen/3b.;.ts: -------------------------------------------------------------------------------- 1 | export default 0x3b; -------------------------------------------------------------------------------- /gen/3d.=.ts: -------------------------------------------------------------------------------- 1 | export default 0x3d; -------------------------------------------------------------------------------- /gen/3f.?.ts: -------------------------------------------------------------------------------- 1 | export default 0x3f; -------------------------------------------------------------------------------- /gen/40.@.ts: -------------------------------------------------------------------------------- 1 | export default 0x40; -------------------------------------------------------------------------------- /gen/5b.[.ts: -------------------------------------------------------------------------------- 1 | export default 0x5b; -------------------------------------------------------------------------------- /gen/5c.\.ts: -------------------------------------------------------------------------------- 1 | export default 0x5c; -------------------------------------------------------------------------------- /gen/5d.].ts: -------------------------------------------------------------------------------- 1 | export default 0x5d; -------------------------------------------------------------------------------- /gen/9. .ts: -------------------------------------------------------------------------------- 1 | export default 0x9; -------------------------------------------------------------------------------- /gen/9f.Ÿ.ts: -------------------------------------------------------------------------------- 1 | export default 0x9f; -------------------------------------------------------------------------------- /gen/a. .ts: -------------------------------------------------------------------------------- 1 | export default 0xa; -------------------------------------------------------------------------------- /gen/d. .ts: -------------------------------------------------------------------------------- 1 | export default 0xd; -------------------------------------------------------------------------------- /gen/1234.ሴ.ts: -------------------------------------------------------------------------------- 1 | export default 0x1234; -------------------------------------------------------------------------------- /gen/12345.𒍅.ts: -------------------------------------------------------------------------------- 1 | export default 0x12345; -------------------------------------------------------------------------------- /gen.ts: -------------------------------------------------------------------------------- 1 | const CHARS = [ 2 | "\x01", 3 | "\t", 4 | "\n", 5 | "\r", 6 | "\x1f", 7 | " ", 8 | ",", 9 | ";", 10 | ":", 11 | "!", 12 | "?", 13 | "'", 14 | '"', 15 | "(", 16 | ")", 17 | "[", 18 | "]", 19 | "@", 20 | "*", 21 | "\\", 22 | "&", 23 | "#", 24 | "%", 25 | "+", 26 | "=", 27 | "$", 28 | "\x9f", 29 | "\u{123}", 30 | "\u{1234}", 31 | "\u{12345}", 32 | ]; 33 | 34 | Deno.mkdirSync("gen", { recursive: true }); 35 | 36 | let imports = ""; 37 | 38 | for (const char of CHARS) { 39 | const cp = char.codePointAt(0)!.toString(16); 40 | Deno.writeTextFileSync(`gen/${cp}.${char}.ts`, `export default 0x${cp};`); 41 | 42 | // Import URI encoded path. 43 | imports += `import "./gen/${cp}.${encodeURIComponent(char)}.ts";\n`; 44 | 45 | if (/^[\t\r\n\\?#]$/.test(char)) { 46 | // Cannot import raw path. 47 | } else if (char === '"') { 48 | imports += `import './gen/${cp}.${char}.ts';\n`; 49 | } else { 50 | imports += `import "./gen/${cp}.${char}.ts";\n`; 51 | }; 52 | } 53 | 54 | Deno.writeTextFileSync("main.ts", imports); 55 | -------------------------------------------------------------------------------- /main.ts: -------------------------------------------------------------------------------- 1 | import "./gen/1.%01.ts"; 2 | import "./gen/1..ts"; 3 | import "./gen/9.%09.ts"; 4 | import "./gen/a.%0A.ts"; 5 | import "./gen/d.%0D.ts"; 6 | import "./gen/1f.%1F.ts"; 7 | import "./gen/1f..ts"; 8 | import "./gen/20.%20.ts"; 9 | import "./gen/20. .ts"; 10 | import "./gen/2c.%2C.ts"; 11 | import "./gen/2c.,.ts"; 12 | import "./gen/3b.%3B.ts"; 13 | import "./gen/3b.;.ts"; 14 | import "./gen/3a.%3A.ts"; 15 | import "./gen/3a.:.ts"; 16 | import "./gen/21.!.ts"; 17 | import "./gen/21.!.ts"; 18 | import "./gen/3f.%3F.ts"; 19 | import "./gen/27.'.ts"; 20 | import "./gen/27.'.ts"; 21 | import "./gen/22.%22.ts"; 22 | import './gen/22.".ts'; 23 | import "./gen/28.(.ts"; 24 | import "./gen/28.(.ts"; 25 | import "./gen/29.).ts"; 26 | import "./gen/29.).ts"; 27 | import "./gen/5b.%5B.ts"; 28 | import "./gen/5b.[.ts"; 29 | import "./gen/5d.%5D.ts"; 30 | import "./gen/5d.].ts"; 31 | import "./gen/40.%40.ts"; 32 | import "./gen/40.@.ts"; 33 | import "./gen/2a.*.ts"; 34 | import "./gen/2a.*.ts"; 35 | import "./gen/5c.%5C.ts"; 36 | import "./gen/26.%26.ts"; 37 | import "./gen/26.&.ts"; 38 | import "./gen/23.%23.ts"; 39 | import "./gen/25.%25.ts"; 40 | import "./gen/25.%.ts"; 41 | import "./gen/2b.%2B.ts"; 42 | import "./gen/2b.+.ts"; 43 | import "./gen/3d.%3D.ts"; 44 | import "./gen/3d.=.ts"; 45 | import "./gen/24.%24.ts"; 46 | import "./gen/24.$.ts"; 47 | import "./gen/9f.%C2%9F.ts"; 48 | import "./gen/9f.Ÿ.ts"; 49 | import "./gen/123.%C4%A3.ts"; 50 | import "./gen/123.ģ.ts"; 51 | import "./gen/1234.%E1%88%B4.ts"; 52 | import "./gen/1234.ሴ.ts"; 53 | import "./gen/12345.%F0%92%8D%85.ts"; 54 | import "./gen/12345.𒍅.ts"; 55 | --------------------------------------------------------------------------------