@typespec/compiler
Version:
TypeSpec Compiler Preview
52 lines • 1.32 kB
TypeScript
import type { Entity, Enum, EnumMember } from "../../core/types.js";
import { DecoratorArgs } from "../utils.js";
/**
* A descriptor for creating an enum member.
*/
export interface EnumMemberDescriptor {
/**
* The name of the enum member.
*/
name: string;
/**
* Decorators to apply to the enum member.
*/
decorators?: DecoratorArgs[];
/**
* The value of the enum member. If not supplied, the value will be the same
* as the name.
*/
value?: string | number;
/**
* The enum that the member belongs to. If not provided here, it is assumed
* that it will be set in `enum.build`.
*/
enum?: Enum;
}
/**
* A kit for working with enum members.
*
* @experimental
* @typekit enumMember
*/
export interface EnumMemberKit {
/**
* Create an enum member. The enum member will be finished (i.e. decorators are run).
*/
create(desc: EnumMemberDescriptor): EnumMember;
/**
* Check if `type` is an enum member type.
*
* @param type the type to check.
*/
is(type: Entity): type is EnumMember;
}
interface TypekitExtension {
enumMember: EnumMemberKit;
}
declare module "../define-kit.js" {
interface Typekit extends TypekitExtension {
}
}
export {};
//# sourceMappingURL=enum-member.d.ts.map