TDD: red (test-only), then green. defineEvent(name, schema) returns a typed EventDescriptor<TName, TSchema>. Also added @repo/core-testing to devDeps (required for nodeVitestConfig's setupFiles). 3 tests passing. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
14 lines
346 B
TypeScript
14 lines
346 B
TypeScript
import type { z } from "zod";
|
|
|
|
export type EventDescriptor<TName extends string, TSchema extends z.ZodType> = {
|
|
readonly name: TName;
|
|
readonly schema: TSchema;
|
|
};
|
|
|
|
export function defineEvent<TName extends string, TSchema extends z.ZodType>(
|
|
name: TName,
|
|
schema: TSchema,
|
|
): EventDescriptor<TName, TSchema> {
|
|
return { name, schema };
|
|
}
|