@yobta/validator
Version:
Tree-shakable es6 validator
14 lines • 815 B
TypeScript
import type { YobtaAsyncRule } from '../_types/YobtaAsyncRule.js';
import type { YobtaMaybe } from '../_types/YobtaMaybe.js';
import type { SyncOrAsyncRule } from '../rule/rule.js';
type AsyncRulesRecord = Record<PropertyKey, SyncOrAsyncRule<any, any>>;
type AwaitShapeConfig<Record extends AsyncRulesRecord> = {
[Rule in keyof Record]: Record[Rule];
};
type ValidAsyncShapeYobta<I, Record extends AsyncRulesRecord> = YobtaMaybe<I, {
[Rule in keyof Record]: Awaited<ReturnType<ReturnType<Record[Rule]>>>;
}>;
export declare const asyncShapeMessage = "Invalid shape";
export declare const asyncShape: <I, Record extends AsyncRulesRecord>(rulesSet: AwaitShapeConfig<Record>, validationMessage?: string) => YobtaAsyncRule<I, ValidAsyncShapeYobta<I, Record>>;
export {};
//# sourceMappingURL=asyncShape.d.ts.map