import { Block, Children, List } from "@alloy-js/core"; import { useJavaNamePolicy } from "../name-policy.js"; import { ArgumentList } from "./ArgumentList.jsx"; import { CommonDeclarationProps, Declaration } from "./Declaration.js"; import { ImplementsClause } from "./ImplementsClause.jsx"; import { LexicalScope } from "./LexicalScope.jsx"; import { ModifierProps, Modifiers } from "./Modifiers.jsx"; import { Name } from "./Name.js"; export interface EnumProps extends CommonDeclarationProps, ModifierProps { implements?: Children[]; } export function Enum(props: EnumProps) { return ( enum {" "} {props.children} ); } export interface EnumMemberProps extends ModifierProps { name: string; args?: Children[]; } export function EnumMember(props: EnumMemberProps) { const name = useJavaNamePolicy().getName(props.name, "enum-member"); return ( <> {name} ); } export interface EnumMemberListProps { children: Children; } /** * Create a list of enum members, joining with a comma and a hardline, and * ending with a semicolon. */ export function EnumMemberList(props: EnumMemberListProps) { return ; }