arvo-core
    Preparing search index...

    Class VersionedArvoContract<TContract, TVersion>

    Implements a version-specific view of an ArvoContract with type-safe schema validation and JSON Schema generation capabilities.

    Type Parameters

    Index

    Constructors

    • Type Parameters

      • TContract extends ArvoContract<
            string,
            string,
            Record<
                `${number}.${number}.${number}`,
                { accepts: ZodTypeAny; emits: Record<string, z.ZodTypeAny> },
            >,
            Record<string, any>,
        >
      • TVersion extends `${number}.${number}.${number}`

      Parameters

      Returns VersionedArvoContract<TContract, TVersion>

    Properties

    _accepts: ArvoContractRecord<
        TContract["type"],
        TContract["versions"][TVersion]["accepts"],
    >
    _contract: TContract
    _emitList: {
        [K in string]: ArvoContractRecord<
            K,
            TContract["versions"][TVersion]["emits"][K],
        >
    }[keyof TContract["versions"][TVersion]["emits"] & string][]
    _emits: TContract["versions"][TVersion]["emits"]
    _version: TVersion

    Accessors

    Methods

    • Converts the contract to JSON Schema format

      Returns VersionedArvoContractJSONSchema

      Contract specification in JSON Schema format for documentation/serialization