arvo-core
    Preparing search index...

    Type Alias InferVersionedArvoContract<TVersion>

    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 InferVersionedArvoContract<
        TVersion extends VersionedArvoContract<any, any>,
    > = {
        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"];
    }

    Type Parameters

    Index

    Properties

    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"]