@pact-foundation/pact
Version:
Pact for all things Javascript
49 lines (48 loc) • 1.55 kB
TypeScript
/**
* Pact Options module.
* @module PactV2Options
*/
import type { VerifierOptions as PactCoreVerifierOptions } from '@pact-foundation/pact-core';
import type { MessageProviders, MessageStateHandlers } from './message';
import type { PactfileWriteMode } from './mockService';
export type LogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error';
export interface PactV2Options {
consumer: string;
provider: string;
port?: number;
host?: string;
ssl?: boolean;
sslcert?: string;
sslkey?: string;
dir?: string;
log?: string;
logLevel?: LogLevel;
spec?: number;
cors?: boolean;
timeout?: number;
pactfileWriteMode?: PactfileWriteMode;
}
export interface MandatoryPactV2Options {
port: number;
host: string;
ssl: boolean;
}
export type PactV2OptionsComplete = PactV2Options & MandatoryPactV2Options;
export interface MessageProviderOptions {
logLevel?: LogLevel;
messageProviders: MessageProviders;
stateHandlers?: MessageStateHandlers;
}
type ExcludedPactNodeVerifierKeys = Exclude<keyof PactCoreVerifierOptions, 'providerBaseUrl'>;
export type PactNodeVerificationExcludedOptions = Pick<PactCoreVerifierOptions, ExcludedPactNodeVerifierKeys>;
export type PactMessageProviderOptions = PactNodeVerificationExcludedOptions & MessageProviderOptions;
export interface MessageConsumerOptions {
consumer: string;
dir?: string;
provider: string;
log?: string;
logLevel?: LogLevel;
spec?: number;
pactfileWriteMode?: PactfileWriteMode;
}
export {};