autotel
Version:
Write Once, Observe Anywhere
25 lines (24 loc) • 855 B
TypeScript
import { i as EventSchemaMetadata } from "./event-subscriber-D1XLkPzi.js";
//#region src/define-event.d.ts
type SafeParseResult<T> = {
success: true;
data: T;
} | {
success: false;
error: unknown;
};
interface SchemaLike<T> {
safeParse(input: unknown): SafeParseResult<T>;
}
interface DefineEventOptions<S> {
toJsonSchema?: (schema: S) => unknown;
}
interface DefinedEvent<Name extends string, Payload> {
readonly name: Name;
readonly schemaMetadata?: EventSchemaMetadata;
track(payload: Payload): void;
}
declare function defineEvent<Name extends string, Payload, S extends SchemaLike<Payload>>(name: Name, schema: S, options?: DefineEventOptions<S>): DefinedEvent<Name, Payload>;
//#endregion
export { defineEvent as i, DefinedEvent as n, SchemaLike as r, DefineEventOptions as t };
//# sourceMappingURL=define-event-CreknLm3.d.ts.map