ClassDeclaration
Create a TypeScript class declaration.
import { ClassDeclaration } from "@alloy-js/typescript";
<ClassDeclaration extends={Children} />
import { ClassDeclaration } from "@alloy-js/typescript/stc";
ClassDeclaration({ extends: Children }).children(children)
extends | optionalChildren |
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)}