refactor(compiler): refine codegen node types

This commit is contained in:
Evan You
2019-10-05 22:47:20 -04:00
parent bfecf2cdce
commit 82bd9eb1db
10 changed files with 636 additions and 288 deletions

View File

@@ -14,7 +14,9 @@ import {
ObjectExpression,
Property,
JSChildNode,
createObjectExpression
createObjectExpression,
SlotOutletNode,
TemplateNode
} from './ast'
import { parse } from 'acorn'
import { walk } from 'estree-walker'
@@ -180,12 +182,12 @@ export const isVSlot = (p: ElementNode['props'][0]): p is DirectiveNode =>
export const isTemplateNode = (
node: RootNode | TemplateChildNode
): node is ElementNode & { tagType: ElementTypes.TEMPLATE } =>
): node is TemplateNode =>
node.type === NodeTypes.ELEMENT && node.tagType === ElementTypes.TEMPLATE
export const isSlotOutlet = (
node: RootNode | TemplateChildNode
): node is ElementNode & { tagType: ElementTypes.ELEMENT } =>
): node is SlotOutletNode =>
node.type === NodeTypes.ELEMENT && node.tagType === ElementTypes.SLOT
export function injectProp(