UNPKG

472 BTypeScriptView Raw
1import { Type } from '@nestjs/common';
2type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
3type ClassRefsToConstructors<T extends Type[]> = {
4 [U in keyof T]: T[U] extends Type<infer V> ? V : never;
5};
6type Intersection<T extends Type[]> = Type<UnionToIntersection<ClassRefsToConstructors<T>[number]>>;
7export declare function IntersectionType<T extends Type[]>(...classRefs: T): Intersection<T>;
8export {};