UNPKG

@final-hill/decorator-contracts

Version:

Code Contracts for TypeScript and ECMAScript classes

7 lines (6 loc) 615 B
import { Contracted } from './Contracted.mjs'; import type { FeatureDecoratorContext } from './types.mjs'; export type RescueHandler<This extends Contracted> = (self: This, error: unknown, args: any[], retry: (this: This, ...args: any[]) => any) => void; export type RescueDecorator = <This extends Contracted>(handler: RescueHandler<This>) => (value: unknown, context: FeatureDecoratorContext) => void; export declare const rescue: RescueDecorator; export declare const applyRescueHandler: (descriptorType: "get" | "set" | "func", instance: Contracted, propertyKey: PropertyKey, error: unknown, args: any) => any;