Skip to content

ClassDeclaration

Create a TypeScript class declaration.

import { ClassDeclaration } from "@alloy-js/typescript";
<ClassDeclaration extends={Children} />
extendsoptionalChildren
const myPetRefkey = refkey();
const Animal = refkey();
const staticMember = refkey();
const instanceMember = refkey();
<ClassDeclaration name="Animal" refkey={Animal}>
<ClassMember public static name="something" type="string" refkey={staticMember}>
"hello"
</ClassMember>
<ClassMember public name="kind" type="string" />
<ClassMember public name="name" type="string" refkey={instanceMember} />
<ClassConstructor parameters="name: string">
this.name = name;
</ClassConstructor>
</ClassDeclaration>
<VarDeclaration const name="myPet" refkey={myPetRefkey}>
new {Animal}();
</VarDeclaration>
{staticMember}; // Animal.something
<MemberReference path={[myPetRefkey, instanceMember]} /> // myPet.name
{memberRefkey(myPetRefkey, instanceMember)}