@beignet/core
Version:
Core framework primitives for Beignet
27 lines • 1.38 kB
TypeScript
import type { ContractErrorResponses, ContractMeta, ContractResponses } from "./types.js";
/**
* Extract catalog error definitions declared in contract metadata.
*/
export declare function catalogErrorsFromMeta(metadata: ContractMeta): ContractErrorResponses;
/**
* Convert catalog error definitions into standard envelope response schemas.
*/
export declare function responsesFromErrors(errors: ContractErrorResponses): ContractResponses;
/**
* Merge catalog errors already declared in metadata with new declarations.
*
* Later declarations win when the same catalog key is declared twice.
*/
export declare function mergeCatalogErrors(metadata: ContractMeta, errorDefs: ContractErrorResponses): ContractErrorResponses;
/**
* Reject `.errors()` statuses that collide with custom response schemas.
*
* Statuses declared by earlier `.errors()` calls are allowed: catalog errors
* share the standard error envelope, so multiple codes can map to one status.
*/
export declare function assertErrorsAvoidCustomResponseStatuses(metadata: ContractMeta, responses: ContractResponses, nextErrorResponses: ContractResponses): void;
/**
* Reject `.responses()` statuses already declared by catalog errors.
*/
export declare function assertResponsesAvoidCatalogErrorStatuses(metadata: ContractMeta, next: ContractResponses): void;
//# sourceMappingURL=catalog-errors.d.ts.map