UNPKG

self-assert

Version:

A small TypeScript library for designing models with built-in validity.

36 lines 1.42 kB
import type { LabeledRule, SelfContainedAssertion, SelfContainedAssertions, SelfContainedRule, SelfContainedRules } from "./types"; /** * Runs all rules and throws an error if any has failed. * The failed rules are included in the error. * * @category Rules */ export declare class Ruleset { protected assertions: SelfContainedAssertion[]; protected rules: SelfContainedRule[]; /** * Evaluates all assertions **synchronously** and throws an error if any has failed. * * @throws {@link RulesBroken} if any rule has failed. * * @example * {@includeCode ../../../../examples/snippets/rules.ts#ruleset-ensureAll} */ static ensureAll(...assertions: SelfContainedAssertions[]): void; /** * Evaluates all rules **asynchronously** and throws an error if any has failed. * * @throws {@link RulesBroken} if any rule has failed * * @example * {@includeCode ../../../../examples/snippets/rules.ts#email-unique,ruleset-workOn} */ static workOn(...rules: SelfContainedRules[]): Promise<void>; constructor(assertions: SelfContainedAssertion[], rules: SelfContainedRule[]); mustHold(): Promise<void>; ensure(): void; protected failedAssertions(): LabeledRule[]; protected brokenRules(): Promise<LabeledRule[]>; protected throwIfNotEmpty(brokenRules: LabeledRule[]): void; } //# sourceMappingURL=Ruleset.d.ts.map