三咲智子 Kevin Deng 2 лет назад
Родитель
Сommit
da931ea942

+ 1 - 1
packages/compiler-vapor/src/errors.ts

@@ -10,7 +10,7 @@ export function defaultOnWarn(msg: CompilerError) {
   __DEV__ && console.warn(`[Vue warn] ${msg.message}`)
   __DEV__ && console.warn(`[Vue warn] ${msg.message}`)
 }
 }
 
 
-export const enum ErrorCodes {
+export enum ErrorCodes {
   // transform errors
   // transform errors
   VAPOR_BIND_NO_EXPRESSION,
   VAPOR_BIND_NO_EXPRESSION,
   VAPOR_ON_NO_EXPRESSION,
   VAPOR_ON_NO_EXPRESSION,

+ 1 - 1
packages/compiler-vapor/src/ir.ts

@@ -1,6 +1,6 @@
 import type { SourceLocation } from '@vue/compiler-dom'
 import type { SourceLocation } from '@vue/compiler-dom'
 
 
-export const enum IRNodeTypes {
+export enum IRNodeTypes {
   ROOT,
   ROOT,
   TEMPLATE_FACTORY,
   TEMPLATE_FACTORY,
   FRAGMENT_FACTORY,
   FRAGMENT_FACTORY,

+ 21 - 26
packages/compiler-vapor/src/transform.ts

@@ -1,14 +1,14 @@
-import type {
+import {
+  type RootNode,
+  type Node,
+  type TemplateChildNode,
+  type ElementNode,
+  type AttributeNode,
+  type InterpolationNode,
+  type TransformOptions,
+  type DirectiveNode,
+  type ExpressionNode,
   NodeTypes,
   NodeTypes,
-  RootNode,
-  Node,
-  TemplateChildNode,
-  ElementNode,
-  AttributeNode,
-  InterpolationNode,
-  TransformOptions,
-  DirectiveNode,
-  ExpressionNode,
 } from '@vue/compiler-dom'
 } from '@vue/compiler-dom'
 import {
 import {
   type OperationNode,
   type OperationNode,
@@ -235,19 +235,19 @@ function transformChildren(
     const isLast = index === children.length - 1
     const isLast = index === children.length - 1
 
 
     switch (node.type) {
     switch (node.type) {
-      case 1 satisfies NodeTypes.ELEMENT: {
+      case NodeTypes.ELEMENT: {
         transformElement(child as TransformContext<ElementNode>)
         transformElement(child as TransformContext<ElementNode>)
         break
         break
       }
       }
-      case 2 satisfies NodeTypes.TEXT: {
+      case NodeTypes.TEXT: {
         child.template += node.content
         child.template += node.content
         break
         break
       }
       }
-      case 3 satisfies NodeTypes.COMMENT: {
+      case NodeTypes.COMMENT: {
         child.template += `<!--${node.content}-->`
         child.template += `<!--${node.content}-->`
         break
         break
       }
       }
-      case 5 satisfies NodeTypes.INTERPOLATION: {
+      case NodeTypes.INTERPOLATION: {
         transformInterpolation(
         transformInterpolation(
           child as TransformContext<InterpolationNode>,
           child as TransformContext<InterpolationNode>,
           isFirst,
           isFirst,
@@ -255,7 +255,7 @@ function transformChildren(
         )
         )
         break
         break
       }
       }
-      case 12 satisfies NodeTypes.TEXT_CALL:
+      case NodeTypes.TEXT_CALL:
         // never?
         // never?
         break
         break
       default: {
       default: {
@@ -305,7 +305,7 @@ function transformInterpolation(
 ) {
 ) {
   const { node } = ctx
   const { node } = ctx
 
 
-  if (node.content.type === (8 satisfies NodeTypes.COMPOUND_EXPRESSION)) {
+  if (node.content.type === NodeTypes.COMPOUND_EXPRESSION) {
     // TODO: CompoundExpressionNode: {{ count + 1 }}
     // TODO: CompoundExpressionNode: {{ count + 1 }}
     return
     return
   }
   }
@@ -345,7 +345,7 @@ function transformProp(
 ): void {
 ): void {
   const { name } = node
   const { name } = node
 
 
-  if (node.type === (6 satisfies NodeTypes.ATTRIBUTE)) {
+  if (node.type === NodeTypes.ATTRIBUTE) {
     if (node.value) {
     if (node.value) {
       ctx.template += ` ${name}="${node.value.content}"`
       ctx.template += ` ${name}="${node.value.content}"`
     } else {
     } else {
@@ -361,8 +361,7 @@ function transformProp(
     case 'bind': {
     case 'bind': {
       if (
       if (
         !exp ||
         !exp ||
-        (exp.type === (4 satisfies NodeTypes.SIMPLE_EXPRESSION) &&
-          !exp.content.trim())
+        (exp.type === NodeTypes.SIMPLE_EXPRESSION && !exp.content.trim())
       ) {
       ) {
         ctx.options.onError!(
         ctx.options.onError!(
           createCompilerError(ErrorCodes.VAPOR_BIND_NO_EXPRESSION, loc),
           createCompilerError(ErrorCodes.VAPOR_BIND_NO_EXPRESSION, loc),
@@ -377,9 +376,7 @@ function transformProp(
       } else if (!node.arg) {
       } else if (!node.arg) {
         // TODO support v-bind="{}"
         // TODO support v-bind="{}"
         return
         return
-      } else if (
-        node.arg.type === (8 satisfies NodeTypes.COMPOUND_EXPRESSION)
-      ) {
+      } else if (node.arg.type === NodeTypes.COMPOUND_EXPRESSION) {
         // TODO support :[foo]="bar"
         // TODO support :[foo]="bar"
         return
         return
       }
       }
@@ -404,9 +401,7 @@ function transformProp(
       if (!node.arg) {
       if (!node.arg) {
         // TODO support v-on="{}"
         // TODO support v-on="{}"
         return
         return
-      } else if (
-        node.arg.type === (8 satisfies NodeTypes.COMPOUND_EXPRESSION)
-      ) {
+      } else if (node.arg.type === NodeTypes.COMPOUND_EXPRESSION) {
         // TODO support @[foo]="bar"
         // TODO support @[foo]="bar"
         return
         return
       } else if (expr === null) {
       } else if (expr === null) {
@@ -461,7 +456,7 @@ function processExpression(
   expr: ExpressionNode | undefined,
   expr: ExpressionNode | undefined,
 ): string | null {
 ): string | null {
   if (!expr) return null
   if (!expr) return null
-  if (expr.type === (8 satisfies NodeTypes.COMPOUND_EXPRESSION)) {
+  if (expr.type === NodeTypes.COMPOUND_EXPRESSION) {
     // TODO
     // TODO
     return ''
     return ''
   }
   }