API reference › @evolu/common › Type › instanceOf
function instanceOf<Constructor extends InstanceConstructor<object>>(
constructor: ValidateInstanceConstructor<Constructor>,
): InstanceOfType<Constructor>;
Defined in: packages/common/src/Type.ts:4171
Instance Type for one constructor.
Membership uses the intrinsic prototype chain, so subclasses are accepted,
equivalent constructors from other realms are rejected, and custom
Symbol.hasInstance implementations are ignored.
Use object instead when only the structure matters.
Example
import { assertFalse, assertTrue, instanceOf } from "@evolu/common";
class User {
readonly name: string;
constructor(name: string) {
this.name = name;
}
}
const UserInstance = instanceOf(User);
assertTrue(UserInstance.is(new User("Ada")));
assertFalse(UserInstance.is({ name: "Ada" }));