From: Evan You Date: Fri, 1 Nov 2019 16:43:27 +0000 (-0400) Subject: types: fix suspense exported type X-Git-Tag: v3.0.0-alpha.0~263 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=492c1306f6f774f28caabee54771611b45bb8068;p=thirdparty%2Fvuejs%2Fcore.git types: fix suspense exported type --- diff --git a/packages/runtime-core/src/suspense.ts b/packages/runtime-core/src/suspense.ts index a8d323c0dd..a01d7b2052 100644 --- a/packages/runtime-core/src/suspense.ts +++ b/packages/runtime-core/src/suspense.ts @@ -10,11 +10,11 @@ import { handleError, ErrorCodes } from './errorHandling' import { pushWarningContext, popWarningContext } from './warning' export function isSuspenseType(type: VNodeTypes): type is typeof SuspenseImpl { - return (type as any).__isSuspenseImpl === true + return (type as any).__isSuspense === true } export const SuspenseImpl = { - __isSuspenseImpl: true, + __isSuspense: true, process( n1: VNode | null, n2: VNode, diff --git a/packages/runtime-core/src/vnode.ts b/packages/runtime-core/src/vnode.ts index 08407429e6..acc4537c3a 100644 --- a/packages/runtime-core/src/vnode.ts +++ b/packages/runtime-core/src/vnode.ts @@ -25,12 +25,14 @@ export const Portal = Symbol(__DEV__ ? 'Portal' : undefined) export const Text = Symbol(__DEV__ ? 'Text' : undefined) export const Comment = Symbol(__DEV__ ? 'Comment' : undefined) -// Export as {} to avoid circular type dependency between `suspense.ts` and -// `createRenderer.ts` in exported types. +// Export Suspense with casting to avoid circular type dependency between +// `suspense.ts` and `createRenderer.ts` in exported types. // A circular type dependency causes tsc to generate d.ts with dynmaic import() // calls using realtive paths, which works for separate d.ts files, but will // fail after d.ts rollup with API Extractor. -const Suspense = (__FEATURE_SUSPENSE__ ? SuspenseImpl : null) as {} +const Suspense = ((__FEATURE_SUSPENSE__ ? SuspenseImpl : null) as any) as { + __isSuspense: true +} export { Suspense } export type VNodeTypes =