Type Alias SimpleArvoContract<TUri, TType, TVersions, TMetaData>

SimpleArvoContract<TUri, TType, TVersions, TMetaData>: ArvoContract<TUri, `com.${TType}`, {
    [V in ArvoSemanticVersion & keyof TVersions]: {
        accepts: TVersions[V]["accepts"];
        emits: {
            [K in SimpleArvoContractEmitType<TType>]: TVersions[V]["emits"]
        };
    }
}, TMetaData & {
    contractType: "SimpleArvoContract";
    rootType: TType;
}>

Type Parameters

  • TUri extends string = string
  • TType extends string = string
  • TVersions extends Record<ArvoSemanticVersion, {
        accepts: z.ZodTypeAny;
        emits: z.ZodTypeAny;
    }> = Record<ArvoSemanticVersion, {
        accepts: z.ZodTypeAny;
        emits: z.ZodTypeAny;
    }>
  • TMetaData extends Record<string, any> = Record<string, any>