Type Alias InferVersionedArvoContract<TVersion>

InferVersionedArvoContract<TVersion>: {
    accepts: InferArvoEvent<ArvoEvent<InferZodSchema<TVersion["accepts"]["schema"]>, z.infer<typeof CloudEventExtensionSchema>, TVersion["accepts"]["type"]>>;
    description: TVersion["description"];
    emitList: {
        [K in string & keyof TVersion["emits"]]: InferArvoEvent<ArvoEvent<InferZodSchema<TVersion["emits"][K]>, Record<string, any>, K>>
    }[string & keyof TVersion["emits"]][];
    emits: {
        [K in string & keyof TVersion["emits"]]: InferArvoEvent<ArvoEvent<InferZodSchema<TVersion["emits"][K]>, Record<string, any>, K>>
    };
    metadata: TVersion["metadata"];
    systemError: InferArvoEvent<ArvoEvent<InferZodSchema<TVersion["systemError"]["schema"]>, z.infer<typeof CloudEventExtensionSchema>, TVersion["systemError"]["type"]>>;
    uri: TVersion["uri"];
    version: TVersion["version"];
}

Infers that complete ArvoEvent structure for all the events that can be accepted and emitted by the handler bound to the provided versioned ArvoContract.

Type Parameters