@final-hill/decorator-contracts
Version:
Code Contracts for TypeScript and ECMAScript classes
18 lines (17 loc) • 833 B
text/typescript
import { InvariantPredicate } from './invariant.mjs';
import { DemandsPredicate } from './demands.mjs';
import { EnsuresPredicate } from './ensures.mjs';
import { RescueHandler } from './rescue.mjs';
export declare const checkedMode: unique symbol;
export declare class Contracted {
static [Symbol.metadata]: {
invariants: InvariantPredicate<typeof Contracted>[];
demands: Record<PropertyKey, DemandsPredicate<Contracted>[]>;
ensures: Record<PropertyKey, EnsuresPredicate<Contracted>[]>;
rescue: Record<PropertyKey, RescueHandler<Contracted>>;
};
protected static _allowConstruction: boolean;
static [checkedMode]: boolean;
static new<C extends typeof Contracted, Args extends ConstructorParameters<C>>(this: C, ...args: Args): InstanceType<C>;
constructor(..._args: any[]);
}