UNPKG

n4s

Version:

typed schema validation version of enforce

31 lines (27 loc) 758 B
/** * Compound rules type declarations. */ import './allOf'; import './anyOf'; import './noneOf'; import './oneOf'; import type { RuleInstance } from '../../utils/RuleInstance'; import type { AllOfRuleInstance, AnyOfRuleInstance, NoneOfRuleInstance, OneOfRuleInstance, } from './compoundRules'; /** * Type mappings for compound rule lazy API return types */ export type CompoundRuleLazyTypes = { allOf: <T>(...rules: any[]) => AllOfRuleInstance<T>; anyOf: <Rules extends RuleInstance<any>[]>( ...rules: Rules ) => AnyOfRuleInstance<Rules[number]['infer']>; noneOf: <T>(...rules: any[]) => NoneOfRuleInstance<T>; oneOf: <Rules extends RuleInstance<any>[]>( ...rules: Rules ) => OneOfRuleInstance<Rules[number]['infer']>; };