mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-21 05:50:55 +08:00
* Compile Effect generators statically * test: declare the dormant array write's expected fence
22 lines
842 B
TypeScript
22 lines
842 B
TypeScript
class Failure extends globalThis.Error {
|
|
code = "E_FAILURE";
|
|
constructor(message: string) {
|
|
super(message);
|
|
this.name = "Failure";
|
|
}
|
|
}
|
|
class Invalid extends globalThis.TypeError {}
|
|
|
|
const failure = new Failure("failed");
|
|
console.log(failure.name, failure.message, failure.code);
|
|
console.log(failure instanceof Error, failure instanceof Failure);
|
|
const invalid = new Invalid("invalid");
|
|
console.log(invalid.name, invalid.message, invalid instanceof TypeError);
|
|
console.log(failure instanceof globalThis.Error, invalid instanceof globalThis.TypeError);
|
|
const erased: unknown = invalid;
|
|
console.log(erased instanceof globalThis.Error, erased instanceof globalThis.TypeError, erased instanceof globalThis.RangeError);
|
|
|
|
try { throw failure; } catch (error) {
|
|
if (error instanceof Failure) console.log(error.message, error.code);
|
|
}
|