From 05d9f53c08762a6547932ff5f68a15301bc71da8 Mon Sep 17 00:00:00 2001 From: daiwei Date: Fri, 7 Mar 2025 15:25:46 +0800 Subject: [PATCH] wip: rename key to $key --- .../__tests__/transforms/TransformTransition.spec.ts | 4 ++-- .../__snapshots__/TransformTransition.spec.ts.snap | 4 ++-- packages/compiler-vapor/src/generators/block.ts | 2 +- packages/runtime-vapor/src/block.ts | 4 ++-- packages/runtime-vapor/src/components/Transition.ts | 6 +++--- packages/runtime-vapor/src/dom/prop.ts | 1 + 6 files changed, 11 insertions(+), 10 deletions(-) diff --git a/packages/compiler-vapor/__tests__/transforms/TransformTransition.spec.ts b/packages/compiler-vapor/__tests__/transforms/TransformTransition.spec.ts index 28425e5fd3..3fbabe7337 100644 --- a/packages/compiler-vapor/__tests__/transforms/TransformTransition.spec.ts +++ b/packages/compiler-vapor/__tests__/transforms/TransformTransition.spec.ts @@ -37,7 +37,7 @@ describe('compiler: transition', () => { expect(code).toMatchSnapshot() // n2 should have a key - expect(code).contains('n2.key = 2') + expect(code).contains('n2.$key = 2') }) test('work with dynamic keyed children', () => { @@ -50,6 +50,6 @@ describe('compiler: transition', () => { expect(code).toMatchSnapshot() expect(code).contains('_createKeyedFragment(() => _ctx.key') // should preserve key - expect(code).contains('n0.key = _ctx.key') + expect(code).contains('n0.$key = _ctx.key') }) }) diff --git a/packages/compiler-vapor/__tests__/transforms/__snapshots__/TransformTransition.spec.ts.snap b/packages/compiler-vapor/__tests__/transforms/__snapshots__/TransformTransition.spec.ts.snap index d515ed7a28..dd33a4ddf2 100644 --- a/packages/compiler-vapor/__tests__/transforms/__snapshots__/TransformTransition.spec.ts.snap +++ b/packages/compiler-vapor/__tests__/transforms/__snapshots__/TransformTransition.spec.ts.snap @@ -24,7 +24,7 @@ export function render(_ctx) { "default": () => { return _createKeyedFragment(() => _ctx.key, () => { const n0 = t0() - n0.key = _ctx.key + n0.$key = _ctx.key return n0 }) } @@ -42,7 +42,7 @@ export function render(_ctx) { "default": () => { const n0 = _createIf(() => (_ctx.show), () => { const n2 = t0() - n2.key = 2 + n2.$key = 2 return n2 }) return n0 diff --git a/packages/compiler-vapor/src/generators/block.ts b/packages/compiler-vapor/src/generators/block.ts index 39354e252a..654816e09d 100644 --- a/packages/compiler-vapor/src/generators/block.ts +++ b/packages/compiler-vapor/src/generators/block.ts @@ -61,7 +61,7 @@ export function genBlockContent( const keyValue = key ? genExpression(key, context) : JSON.stringify(child.id) - push(NEWLINE, `n${child.id}.key = `, ...keyValue) + push(NEWLINE, `n${child.id}.$key = `, ...keyValue) } } diff --git a/packages/runtime-vapor/src/block.ts b/packages/runtime-vapor/src/block.ts index 18313d191d..fecdfd659d 100644 --- a/packages/runtime-vapor/src/block.ts +++ b/packages/runtime-vapor/src/block.ts @@ -20,7 +20,7 @@ import { } from './components/Transition' export interface TransitionOptions { - key?: any + $key?: any $transition?: VaporTransitionHooks } @@ -39,7 +39,7 @@ export type Block = TransitionBlock | VaporComponentInstance | Block[] export type BlockFn = (...args: any[]) => Block export class VaporFragment implements TransitionOptions { - key?: any + $key?: any $transition?: VaporTransitionHooks | undefined nodes: Block anchor?: Node diff --git a/packages/runtime-vapor/src/components/Transition.ts b/packages/runtime-vapor/src/components/Transition.ts index e3094ed14b..d262c47238 100644 --- a/packages/runtime-vapor/src/components/Transition.ts +++ b/packages/runtime-vapor/src/components/Transition.ts @@ -101,7 +101,7 @@ function resolveTransitionHooks( postClone?: (hooks: TransitionHooks) => void, ): VaporTransitionHooks { const context = getTransitionHooksContext( - String(block.key), + String(block.$key), props, state, instance, @@ -181,7 +181,7 @@ export function applyTransitionLeaveHooks( earlyRemove, delayedLeave, ) => { - state.leavingNodes.set(String(leavingBlock.key), leavingBlock) + state.leavingNodes.set(String(leavingBlock.$key), leavingBlock) // early removal callback block[leaveCbKey] = () => { earlyRemove() @@ -210,7 +210,7 @@ export function findTransitionBlock(block: Block): TransitionBlock | undefined { if (block instanceof Element) child = block } else if (isVaporComponent(block)) { child = findTransitionBlock(block.block) - if (child && child.key === undefined) child.key = block.type.__name + if (child && child.$key === undefined) child.$key = block.type.__name } else if (Array.isArray(block)) { child = block[0] as TransitionBlock let hasFound = false diff --git a/packages/runtime-vapor/src/dom/prop.ts b/packages/runtime-vapor/src/dom/prop.ts index 377d67c934..6c553337c6 100644 --- a/packages/runtime-vapor/src/dom/prop.ts +++ b/packages/runtime-vapor/src/dom/prop.ts @@ -268,6 +268,7 @@ export function optimizePropertyLookup(): void { isOptimized = true const proto = Element.prototype as any proto.$transition = undefined + proto.$key = undefined proto.$evtclick = undefined proto.$root = false proto.$html = -- 2.47.2