types: fix suspense exported type

This commit is contained in:
Evan You 2019-11-01 12:43:27 -04:00
parent fc5b2964de
commit 492c1306f6
2 changed files with 7 additions and 5 deletions

View File

@ -10,11 +10,11 @@ import { handleError, ErrorCodes } from './errorHandling'
import { pushWarningContext, popWarningContext } from './warning' import { pushWarningContext, popWarningContext } from './warning'
export function isSuspenseType(type: VNodeTypes): type is typeof SuspenseImpl { export function isSuspenseType(type: VNodeTypes): type is typeof SuspenseImpl {
return (type as any).__isSuspenseImpl === true return (type as any).__isSuspense === true
} }
export const SuspenseImpl = { export const SuspenseImpl = {
__isSuspenseImpl: true, __isSuspense: true,
process( process(
n1: VNode | null, n1: VNode | null,
n2: VNode, n2: VNode,

View File

@ -25,12 +25,14 @@ export const Portal = Symbol(__DEV__ ? 'Portal' : undefined)
export const Text = Symbol(__DEV__ ? 'Text' : undefined) export const Text = Symbol(__DEV__ ? 'Text' : undefined)
export const Comment = Symbol(__DEV__ ? 'Comment' : undefined) export const Comment = Symbol(__DEV__ ? 'Comment' : undefined)
// Export as {} to avoid circular type dependency between `suspense.ts` and // Export Suspense with casting to avoid circular type dependency between
// `createRenderer.ts` in exported types. // `suspense.ts` and `createRenderer.ts` in exported types.
// A circular type dependency causes tsc to generate d.ts with dynmaic import() // 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 // calls using realtive paths, which works for separate d.ts files, but will
// fail after d.ts rollup with API Extractor. // 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 { Suspense }
export type VNodeTypes = export type VNodeTypes =