mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-20 05:40:17 +08:00
* Expand static Effect support across common APIs * Preserve compiler parity across expanded Effect patterns * Fix compiler regressions exposed by Effect coverage * Bound shared type conversion traversal * Clarify conversion contracts and tidy fixtures * Run every Effect fixture in CI shards * Preserve inferred array assignments in concurrent Effect programs * Record inferred array fixture compiler ordering
10 lines
574 B
TypeScript
10 lines
574 B
TypeScript
class Item { value = 42; }
|
|
const key = Symbol.for("checked-record-constructor");
|
|
function check(value: unknown): { constructor: typeof Item; key: symbol } {
|
|
return value as { constructor: typeof Item; key: symbol };
|
|
}
|
|
const record = check({ constructor: Item, key });
|
|
console.log(new record.constructor().value, record.key === key);
|
|
try { new (check({ constructor: 3, key }).constructor)(); } catch (error) { console.log((error as Error).name); }
|
|
try { Symbol.keyFor(check({ constructor: Item, key: "wrong" }).key); } catch (error) { console.log((error as Error).name); }
|