ClassDeclaration
Create a TypeScript class declaration.
import { ClassDeclaration } from "@alloy-js/typescript";
<ClassDeclaration extends={Children} implements={Children[]} />import { ClassDeclaration } from "@alloy-js/typescript/stc";
ClassDeclaration({ extends: Children, implements: Children[],}).children(children)| extends | optional Children | |
| implements | optional Children[] |
Remarks
Section titled “Remarks”Example
Section titled “Example”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)}