From: Evan You Date: Mon, 15 Oct 2018 23:08:19 +0000 (-0400) Subject: chore: comments, signature X-Git-Tag: v3.0.0-alpha.0~1108 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=be95ad00e9c73fa29e14c2aaf7006bba723d3b14;p=thirdparty%2Fvuejs%2Fcore.git chore: comments, signature --- diff --git a/packages/core/src/optional/mixin.ts b/packages/core/src/optional/mixin.ts index 152aba376b..0fbd7fca6b 100644 --- a/packages/core/src/optional/mixin.ts +++ b/packages/core/src/optional/mixin.ts @@ -5,6 +5,7 @@ interface ComponentConstructor { } // mind = blown +// https://stackoverflow.com/questions/50374908/transform-union-type-to-intersection-type type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) @@ -15,10 +16,11 @@ type ExtractInstance = T extends (infer U)[] ? UnionToIntersection ? V : never> : never -function mixins>( - ...args: T -): ComponentConstructor -function mixins(...args: any[]): any { +export function mixins< + T extends ComponentConstructor[], + V = ExtractInstance +>(...args: T): ComponentConstructor +export function mixins(...args: any[]): any { // TODO }