|
| 1 | +import type { Expect, Equal } from "type-testing"; |
| 2 | + |
| 3 | +const createRoute = <T>(author: string, route: T) => { |
| 4 | + console.log( |
| 5 | + `[createRoute] route created by ${author} at ${Date.now().toLocaleString()}`, |
| 6 | + ); |
| 7 | + return route; |
| 8 | +}; |
| 9 | + |
| 10 | +// ------------------- Test section --------------------- |
| 11 | + |
| 12 | +const oneMill = createRoute("💨Dasher", 100_000_000); |
| 13 | +type t0_actual = typeof oneMill; // => |
| 14 | +type t0_expected = 100_000_000; // => |
| 15 | +type t0 = Expect<Equal<t0_actual, t0_expected>>; |
| 16 | + |
| 17 | +const two = createRoute("💃Dancer", 2); |
| 18 | +type t1_actual = typeof two; // => |
| 19 | +type t1_expected = 2; // => |
| 20 | +type t1 = Expect<Equal<t1_actual, t1_expected>>; |
| 21 | + |
| 22 | +const three = createRoute("🦌Prancer", 2); |
| 23 | +type t2_actual = typeof three; // => |
| 24 | +type t2_expected = 2; // => |
| 25 | +type t2 = Expect<Equal<t2_actual, t2_expected>>; |
| 26 | + |
| 27 | +const four = createRoute("🌟Vixen", "1"); |
| 28 | +type t3_actual = typeof four; // => |
| 29 | +type t3_expected = "1"; // => |
| 30 | +type t3 = Expect<Equal<t3_actual, t3_expected>>; |
| 31 | + |
| 32 | +const five = createRoute("☄️Comet", true); |
| 33 | +type t4_actual = typeof five; // => |
| 34 | +type t4_expected = true; // => |
| 35 | +type t4 = Expect<Equal<t4_actual, t4_expected>>; |
| 36 | + |
| 37 | +const six = createRoute("❤️Cupid", [1]); |
| 38 | +type t5_actual = typeof six; // => |
| 39 | +type t5_expected = number[]; // => |
| 40 | +type t5 = Expect<Equal<t5_actual, t5_expected>>; |
| 41 | + |
| 42 | +const seven = createRoute("🌩️Donner", { 1: 1 }); |
| 43 | +type t6_actual = typeof seven; // => |
| 44 | +interface t6_expected { |
| 45 | + 1: number; |
| 46 | +} // => |
| 47 | +type t6 = Expect<Equal<t6_actual, t6_expected>>; |
| 48 | + |
| 49 | +const eight = createRoute("⚡Blitzen", Symbol("🔴 === evil")); |
| 50 | +type t7_actual = typeof eight; // => |
| 51 | +type t7_expected = symbol; // => |
| 52 | +type t7 = Expect<Equal<t7_actual, t7_expected>>; |
0 commit comments