@beignet/core
Version:
Core framework primitives for Beignet
21 lines • 760 B
TypeScript
import type { HttpContractConfig } from "./types.js";
/**
* Contract input accepted by APIs that can unwrap builders.
*/
export type ContractLike = HttpContractConfig | {
config: HttpContractConfig;
};
/**
* Resolve a contract-like type to its plain `HttpContractConfig`.
*/
export type ResolveContract<T> = T extends {
config: infer C;
} ? C extends HttpContractConfig ? C : never : T extends HttpContractConfig ? T : never;
/**
* Resolve a contract builder or plain config to the underlying contract config.
*
* @param c - The contract-like object to resolve
* @returns The underlying HttpContractConfig
*/
export declare function resolveContract<T extends ContractLike>(c: T): ResolveContract<T>;
//# sourceMappingURL=contract-like.d.ts.map