refactor: move dom-specific options to compiler-dom

This commit is contained in:
Evan You
2019-09-17 11:07:46 -04:00
parent 5849f42ae1
commit 6c14b409ca
10 changed files with 561 additions and 526 deletions

View File

@@ -1,3 +1,12 @@
// Vue template is a platform-agnostic superset of HTML (syntax only).
// More namespaces like SVG and MathML are declared by platform specific
// compilers.
export type Namespace = number
export const enum Namespaces {
HTML
}
export const enum NodeTypes {
TEXT,
COMMENT,
@@ -15,12 +24,6 @@ export const enum ElementTypes {
TEMPLATE // template, component
}
export const enum Namespaces {
HTML,
SVG, // allows CDATA section and forbids end tag omission.
MATH_ML // allows CDATA section and forbids end tag omission.
}
export interface Node {
type: NodeTypes
loc: SourceLocation
@@ -33,7 +36,7 @@ export interface RootNode extends Node {
export interface ElementNode extends Node {
type: NodeTypes.ELEMENT
ns: Namespaces
ns: Namespace
tag: string
tagType: ElementTypes
isSelfClosing: boolean