From d535c647be87c16f2cd71db57de1b1e3ec4b9185 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=89=E5=92=B2=E6=99=BA=E5=AD=90=20Kevin=20Deng?= Date: Sun, 28 Apr 2024 03:06:20 +0900 Subject: [PATCH] refactor(compiler-vapor): new dynamic info --- packages/compiler-vapor/src/transform.ts | 8 +++----- packages/compiler-vapor/src/transforms/utils.ts | 4 ++-- packages/compiler-vapor/src/transforms/vFor.ts | 8 ++------ packages/compiler-vapor/src/transforms/vIf.ts | 7 ++----- 4 files changed, 9 insertions(+), 18 deletions(-) diff --git a/packages/compiler-vapor/src/transform.ts b/packages/compiler-vapor/src/transform.ts index 81b137fe6..045960cf6 100644 --- a/packages/compiler-vapor/src/transform.ts +++ b/packages/compiler-vapor/src/transform.ts @@ -25,7 +25,7 @@ import { type VaporDirectiveNode, } from './ir' import { isConstantExpression } from './utils' -import { genDefaultDynamic } from './transforms/utils' +import { newDynamic } from './transforms/utils' export type NodeTransform = ( node: RootNode | TemplateChildNode, @@ -174,7 +174,7 @@ export class TransformContext { template: '', childrenTemplate: [], - dynamic: genDefaultDynamic(), + dynamic: newDynamic(), } satisfies Partial>) } } @@ -217,9 +217,7 @@ export function transform( block: { type: IRNodeTypes.BLOCK, node: root, - dynamic: extend(genDefaultDynamic(), { - flags: DynamicFlag.REFERENCED, - } satisfies Partial), + dynamic: newDynamic(), effect: [], operation: [], returns: [], diff --git a/packages/compiler-vapor/src/transforms/utils.ts b/packages/compiler-vapor/src/transforms/utils.ts index e340f1bce..4c5c6acad 100644 --- a/packages/compiler-vapor/src/transforms/utils.ts +++ b/packages/compiler-vapor/src/transforms/utils.ts @@ -11,8 +11,8 @@ import { import { extend } from '@vue/shared' import { DynamicFlag, type IRDynamicInfo } from '../ir' -export const genDefaultDynamic = (): IRDynamicInfo => ({ - flags: DynamicFlag.NONE, +export const newDynamic = (): IRDynamicInfo => ({ + flags: DynamicFlag.REFERENCED, children: [], }) diff --git a/packages/compiler-vapor/src/transforms/vFor.ts b/packages/compiler-vapor/src/transforms/vFor.ts index 4ab66ad68..2a1fbe8b8 100644 --- a/packages/compiler-vapor/src/transforms/vFor.ts +++ b/packages/compiler-vapor/src/transforms/vFor.ts @@ -11,13 +11,11 @@ import { import { type BlockIRNode, DynamicFlag, - type IRDynamicInfo, IRNodeTypes, type VaporDirectiveNode, } from '../ir' -import { extend } from '@vue/shared' import { findProp, propToExpression } from '../utils' -import { genDefaultDynamic, wrapTemplate } from './utils' +import { newDynamic, wrapTemplate } from './utils' export const transformVFor = createStructuralDirectiveTransform( 'for', @@ -53,9 +51,7 @@ export function processFor( const render: BlockIRNode = { type: IRNodeTypes.BLOCK, node, - dynamic: extend(genDefaultDynamic(), { - flags: DynamicFlag.REFERENCED, - } satisfies Partial), + dynamic: newDynamic(), effect: [], operation: [], returns: [], diff --git a/packages/compiler-vapor/src/transforms/vIf.ts b/packages/compiler-vapor/src/transforms/vIf.ts index 5efc7e437..f6afd0f1b 100644 --- a/packages/compiler-vapor/src/transforms/vIf.ts +++ b/packages/compiler-vapor/src/transforms/vIf.ts @@ -11,12 +11,11 @@ import { import { type BlockIRNode, DynamicFlag, - type IRDynamicInfo, IRNodeTypes, type VaporDirectiveNode, } from '../ir' import { extend } from '@vue/shared' -import { genDefaultDynamic, wrapTemplate } from './utils' +import { newDynamic, wrapTemplate } from './utils' import { getSiblingIf } from './transformComment' export const transformVIf = createStructuralDirectiveTransform( @@ -118,9 +117,7 @@ export function createIfBranch( const branch: BlockIRNode = { type: IRNodeTypes.BLOCK, node, - dynamic: extend(genDefaultDynamic(), { - flags: DynamicFlag.REFERENCED, - } satisfies Partial), + dynamic: newDynamic(), effect: [], operation: [], returns: [],