]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
refactor: applyDirectives -> withDirectives
authorEvan You <yyx990803@gmail.com>
Fri, 18 Oct 2019 20:35:01 +0000 (16:35 -0400)
committerEvan You <yyx990803@gmail.com>
Fri, 18 Oct 2019 20:35:01 +0000 (16:35 -0400)
20 files changed:
packages/compiler-core/__tests__/transform.spec.ts
packages/compiler-core/__tests__/transforms/__snapshots__/hoistStatic.spec.ts.snap
packages/compiler-core/__tests__/transforms/__snapshots__/vFor.spec.ts.snap
packages/compiler-core/__tests__/transforms/hoistStatic.spec.ts
packages/compiler-core/__tests__/transforms/transformElement.spec.ts
packages/compiler-core/__tests__/transforms/vFor.spec.ts
packages/compiler-core/__tests__/transforms/vIf.spec.ts
packages/compiler-core/src/ast.ts
packages/compiler-core/src/runtimeHelpers.ts
packages/compiler-core/src/transform.ts
packages/compiler-core/src/transforms/hoistStatic.ts
packages/compiler-core/src/transforms/transformElement.ts
packages/compiler-core/src/transforms/vFor.ts
packages/compiler-core/src/transforms/vIf.ts
packages/compiler-dom/__tests__/transforms/__snapshots__/vModel.spec.ts.snap
packages/runtime-core/__tests__/apiApp.spec.ts
packages/runtime-core/__tests__/directives.spec.ts
packages/runtime-core/src/directives.ts
packages/runtime-core/src/index.ts
packages/runtime-dom/__tests__/directives/vModel.spec.ts

index d9203fe8801be0523071a63af3931c44c8188e58..a4fe1911d9352c01c642c915506bd273107e7ff4 100644 (file)
@@ -15,7 +15,7 @@ import {
   CREATE_BLOCK,
   FRAGMENT,
   RENDER_SLOT,
-  APPLY_DIRECTIVES
+  WITH_DIRECTIVES
 } from '../src/runtimeHelpers'
 import { transformIf } from '../src/transforms/vIf'
 import { transformFor } from '../src/transforms/vFor'
@@ -314,7 +314,7 @@ describe('compiler: transform', () => {
           {
             type: NodeTypes.JS_CALL_EXPRESSION,
             // should wrap applyDirectives() around createBlock()
-            callee: APPLY_DIRECTIVES,
+            callee: WITH_DIRECTIVES,
             arguments: [
               { callee: CREATE_BLOCK },
               { type: NodeTypes.JS_ARRAY_EXPRESSION }
index b739baf454de856b0568565a0dc8519bbb195fd9..859db34470d84b5659231a56b8b94faca51309e7 100644 (file)
@@ -101,12 +101,12 @@ const _hoisted_1 = { id: \\"foo\\" }
 
 return function render() {
   with (this) {
-    const { createVNode: _createVNode, applyDirectives: _applyDirectives, resolveDirective: _resolveDirective, createBlock: _createBlock, openBlock: _openBlock } = _Vue
+    const { createVNode: _createVNode, withDirectives: _withDirectives, resolveDirective: _resolveDirective, createBlock: _createBlock, openBlock: _openBlock } = _Vue
     
     const _directive_foo = _resolveDirective(\\"foo\\")
     
     return (_openBlock(), _createBlock(\\"div\\", null, [
-      _applyDirectives(_createVNode(\\"div\\", _hoisted_1, null, 32 /* NEED_PATCH */), [
+      _withDirectives(_createVNode(\\"div\\", _hoisted_1, null, 32 /* NEED_PATCH */), [
         [_directive_foo]
       ])
     ]))
index 534bf9f6280b5378e394e500ae244fb02b2277d0..236bb02595cd91fed305edfa9142495c83fc798d 100644 (file)
@@ -137,12 +137,12 @@ exports[`compiler: v-for codegen v-for on element with custom directive 1`] = `
 
 return function render() {
   with (this) {
-    const { renderList: _renderList, openBlock: _openBlock, createBlock: _createBlock, Fragment: _Fragment, createVNode: _createVNode, applyDirectives: _applyDirectives, resolveDirective: _resolveDirective } = _Vue
+    const { renderList: _renderList, openBlock: _openBlock, createBlock: _createBlock, Fragment: _Fragment, createVNode: _createVNode, withDirectives: _withDirectives, resolveDirective: _resolveDirective } = _Vue
     
     const _directive_foo = _resolveDirective(\\"foo\\")
     
     return (_openBlock(), _createBlock(_Fragment, null, _renderList(list, (i) => {
-      return (_openBlock(), _applyDirectives(_createBlock(\\"div\\", null, null, 32 /* NEED_PATCH */), [
+      return (_openBlock(), _withDirectives(_createBlock(\\"div\\", null, null, 32 /* NEED_PATCH */), [
         [_directive_foo]
       ]))
     }), 128 /* UNKEYED_FRAGMENT */))
index f5567b982245104d9f72525ee156794a5d617e51..8632ce95a33b1339902b1093620ca3a19cc7e102 100644 (file)
@@ -9,7 +9,7 @@ import {
   OPEN_BLOCK,
   CREATE_BLOCK,
   CREATE_VNODE,
-  APPLY_DIRECTIVES,
+  WITH_DIRECTIVES,
   FRAGMENT,
   RENDER_LIST
 } from '../../src/runtimeHelpers'
@@ -304,7 +304,7 @@ describe('compiler: hoistStatic transform', () => {
       {
         type: NodeTypes.ELEMENT,
         codegenNode: {
-          callee: APPLY_DIRECTIVES,
+          callee: WITH_DIRECTIVES,
           arguments: [
             {
               callee: CREATE_VNODE,
index 6bda8342bd5630914495708dacc05819a9633d33..74b2cc878e2753f1fc06fd1248f1a726f8a60454 100644 (file)
@@ -4,7 +4,7 @@ import {
   CREATE_VNODE,
   MERGE_PROPS,
   RESOLVE_DIRECTIVE,
-  APPLY_DIRECTIVES,
+  WITH_DIRECTIVES,
   TO_HANDLERS,
   helperNameMap,
   PORTAL,
@@ -368,7 +368,7 @@ describe('compiler: element transform', () => {
     expect(root.helpers).toContain(RESOLVE_DIRECTIVE)
     expect(root.directives).toContain(`foo`)
 
-    expect(node.callee).toBe(APPLY_DIRECTIVES)
+    expect(node.callee).toBe(WITH_DIRECTIVES)
     expect(node.arguments).toMatchObject([
       {
         type: NodeTypes.JS_CALL_EXPRESSION,
@@ -438,7 +438,7 @@ describe('compiler: element transform', () => {
     expect(root.directives).toContain(`bar`)
     expect(root.directives).toContain(`baz`)
 
-    expect(node.callee).toBe(APPLY_DIRECTIVES)
+    expect(node.callee).toBe(WITH_DIRECTIVES)
     expect(node.arguments).toMatchObject([
       {
         type: NodeTypes.JS_CALL_EXPRESSION
index eb1141d9dd7c9357b21ea3a0379fa5974b6f2807..a5b81a8c67b98aabf7b9c73783f53639356b57e1 100644 (file)
@@ -23,7 +23,7 @@ import {
   FRAGMENT,
   RENDER_LIST,
   RENDER_SLOT,
-  APPLY_DIRECTIVES
+  WITH_DIRECTIVES
 } from '../../src/runtimeHelpers'
 import { PatchFlags } from '@vue/runtime-dom'
 import { createObjectMatcher, genFlagText } from '../testUtils'
@@ -859,7 +859,7 @@ describe('compiler: v-for', () => {
           { callee: OPEN_BLOCK },
           // should wrap applyDirectives() around createBlock()
           {
-            callee: APPLY_DIRECTIVES,
+            callee: WITH_DIRECTIVES,
             arguments: [
               { callee: CREATE_BLOCK },
               { type: NodeTypes.JS_ARRAY_EXPRESSION }
index 73f140849b66f34c34e79df57886d0ec020d173c..4ca81333e069504aa11c6cdee427b9a3a615e0dc 100644 (file)
@@ -22,7 +22,7 @@ import {
   COMMENT,
   FRAGMENT,
   MERGE_PROPS,
-  APPLY_DIRECTIVES,
+  WITH_DIRECTIVES,
   RENDER_SLOT
 } from '../../src/runtimeHelpers'
 import { createObjectMatcher } from '../testUtils'
@@ -513,7 +513,7 @@ describe('compiler: v-if', () => {
       } = parseWithIfTransform(`<div v-if="ok" v-foo />`)
       const branch1 = (codegenNode.expressions[1] as ConditionalExpression)
         .consequent as CallExpression
-      expect(branch1.callee).toBe(APPLY_DIRECTIVES)
+      expect(branch1.callee).toBe(WITH_DIRECTIVES)
       const realBranch = branch1.arguments[0] as CallExpression
       expect(realBranch.arguments[1]).toMatchObject(
         createObjectMatcher({ key: `[0]` })
index 9825b91668c0c9a08b43020057c7fa16b664ebda..5813f363248734e6c2ef7f2a2fea616771b45d2a 100644 (file)
@@ -2,7 +2,7 @@ import { isString } from '@vue/shared'
 import { ForParseResult } from './transforms/vFor'
 import {
   CREATE_VNODE,
-  APPLY_DIRECTIVES,
+  WITH_DIRECTIVES,
   RENDER_SLOT,
   CREATE_SLOTS,
   RENDER_LIST,
@@ -393,7 +393,7 @@ export interface DynamicSlotFnProperty extends Property {
 // ])
 export interface CodegenNodeWithDirective<T extends CallExpression>
   extends CallExpression {
-  callee: typeof APPLY_DIRECTIVES
+  callee: typeof WITH_DIRECTIVES
   arguments: [T, DirectiveArguments]
 }
 
@@ -548,7 +548,7 @@ type InferCodegenNodeType<T> = T extends
   | typeof CREATE_VNODE
   | typeof CREATE_BLOCK
   ? PlainElementCodegenNode | PlainComponentCodegenNode
-  : T extends typeof APPLY_DIRECTIVES
+  : T extends typeof WITH_DIRECTIVES
     ?
         | CodegenNodeWithDirective<PlainElementCodegenNode>
         | CodegenNodeWithDirective<PlainComponentCodegenNode>
index 8993d067494c6f591ab230bca652829d0b78af17..6cd690ced779d9db36464a193cede44030d505b2 100644 (file)
@@ -11,7 +11,7 @@ export const RESOLVE_DYNAMIC_COMPONENT = Symbol(
   __DEV__ ? `resolveDynamicComponent` : ``
 )
 export const RESOLVE_DIRECTIVE = Symbol(__DEV__ ? `resolveDirective` : ``)
-export const APPLY_DIRECTIVES = Symbol(__DEV__ ? `applyDirectives` : ``)
+export const WITH_DIRECTIVES = Symbol(__DEV__ ? `withDirectives` : ``)
 export const RENDER_LIST = Symbol(__DEV__ ? `renderList` : ``)
 export const RENDER_SLOT = Symbol(__DEV__ ? `renderSlot` : ``)
 export const CREATE_SLOTS = Symbol(__DEV__ ? `createSlots` : ``)
@@ -35,7 +35,7 @@ export const helperNameMap: any = {
   [RESOLVE_COMPONENT]: `resolveComponent`,
   [RESOLVE_DYNAMIC_COMPONENT]: `resolveDynamicComponent`,
   [RESOLVE_DIRECTIVE]: `resolveDirective`,
-  [APPLY_DIRECTIVES]: `applyDirectives`,
+  [WITH_DIRECTIVES]: `withDirectives`,
   [RENDER_LIST]: `renderList`,
   [RENDER_SLOT]: `renderSlot`,
   [CREATE_SLOTS]: `createSlots`,
index 14ce67b3958bfb7e3f7b013742b4cbdff8597ca3..ae3e9e7a02b8e650906f7f170344ae48789f73df 100644 (file)
@@ -23,7 +23,7 @@ import {
   CREATE_VNODE,
   FRAGMENT,
   helperNameMap,
-  APPLY_DIRECTIVES,
+  WITH_DIRECTIVES,
   CREATE_BLOCK
 } from './runtimeHelpers'
 import { isVSlot, createBlockExpression } from './utils'
@@ -243,7 +243,7 @@ function finalizeRoot(root: RootNode, context: TransformContext) {
       const codegenNode = child.codegenNode as
         | ElementCodegenNode
         | ComponentCodegenNode
-      if (codegenNode.callee === APPLY_DIRECTIVES) {
+      if (codegenNode.callee === WITH_DIRECTIVES) {
         codegenNode.arguments[0].callee = helper(CREATE_BLOCK)
       } else {
         codegenNode.callee = helper(CREATE_BLOCK)
index e528536df427b514500232f233121e63445284e7..87e2a1362dff080e474acb51bc384cc21b3f6c60 100644 (file)
@@ -11,7 +11,7 @@ import {
   ElementNode
 } from '../ast'
 import { TransformContext } from '../transform'
-import { APPLY_DIRECTIVES } from '../runtimeHelpers'
+import { WITH_DIRECTIVES } from '../runtimeHelpers'
 import { PatchFlags, isString, isSymbol } from '@vue/shared'
 import { isSlotOutlet, findProp } from '../utils'
 
@@ -72,7 +72,7 @@ function walk(
           !hasDynamicKeyOrRef(child)
         ) {
           let codegenNode = child.codegenNode as ElementCodegenNode
-          if (codegenNode.callee === APPLY_DIRECTIVES) {
+          if (codegenNode.callee === WITH_DIRECTIVES) {
             codegenNode = codegenNode.arguments[0]
           }
           const props = codegenNode.arguments[1]
@@ -99,7 +99,7 @@ function walk(
 
 function getPatchFlag(node: PlainElementNode): number | undefined {
   let codegenNode = node.codegenNode as ElementCodegenNode
-  if (codegenNode.callee === APPLY_DIRECTIVES) {
+  if (codegenNode.callee === WITH_DIRECTIVES) {
     codegenNode = codegenNode.arguments[0]
   }
   const flag = codegenNode.arguments[3]
index 88838886dd7b1f02a222e02658bc9eb318eec4ca..970173ff3c655a13206e5861ad38fcf6330b74dc 100644 (file)
@@ -19,7 +19,7 @@ import { PatchFlags, PatchFlagNames, isSymbol } from '@vue/shared'
 import { createCompilerError, ErrorCodes } from '../errors'
 import {
   CREATE_VNODE,
-  APPLY_DIRECTIVES,
+  WITH_DIRECTIVES,
   RESOLVE_DIRECTIVE,
   RESOLVE_COMPONENT,
   RESOLVE_DYNAMIC_COMPONENT,
@@ -177,7 +177,7 @@ export const transformElement: NodeTransform = (node, context) => {
 
     if (runtimeDirectives && runtimeDirectives.length) {
       node.codegenNode = createCallExpression(
-        context.helper(APPLY_DIRECTIVES),
+        context.helper(WITH_DIRECTIVES),
         [
           vnode,
           createArrayExpression(
index 5f176e26c5377d5bea95d6d694c56b467baee85c..6325fa98149d2ac5343e1152a830a6d9604af865 100644 (file)
@@ -31,7 +31,7 @@ import {
   OPEN_BLOCK,
   CREATE_BLOCK,
   FRAGMENT,
-  APPLY_DIRECTIVES
+  WITH_DIRECTIVES
 } from '../runtimeHelpers'
 import { processExpression } from './transformExpression'
 import { PatchFlags, PatchFlagNames } from '@vue/shared'
@@ -151,7 +151,7 @@ export const transformFor = createStructuralDirectiveTransform(
         // Normal element v-for. Directly use the child's codegenNode
         // arguments, but replace createVNode() with createBlock()
         let codegenNode = node.codegenNode as ElementCodegenNode
-        if (codegenNode.callee === APPLY_DIRECTIVES) {
+        if (codegenNode.callee === WITH_DIRECTIVES) {
           codegenNode.arguments[0].callee = helper(CREATE_BLOCK)
         } else {
           codegenNode.callee = helper(CREATE_BLOCK)
index 6c0b56b9170b43b94b250dd53eed264e66237a3b..5f6c41402ed581bed62cf8e6de9e035ced2b7fd2 100644 (file)
@@ -32,7 +32,7 @@ import {
   CREATE_BLOCK,
   COMMENT,
   FRAGMENT,
-  APPLY_DIRECTIVES,
+  WITH_DIRECTIVES,
   CREATE_VNODE
 } from '../runtimeHelpers'
 import { injectProp } from '../utils'
@@ -196,7 +196,7 @@ function createChildrenCodegenNode(
       | SlotOutletCodegenNode
     let vnodeCall = childCodegen
     // Element with custom directives. Locate the actual createVNode() call.
-    if (vnodeCall.callee === APPLY_DIRECTIVES) {
+    if (vnodeCall.callee === WITH_DIRECTIVES) {
       vnodeCall = vnodeCall.arguments[0]
     }
     // Change createVNode to createBlock.
index 968a19db9f778ebe335e356bfa15409d64f0ec64..f996e95578716aa41368c092c71008e7f0fcc2c2 100644 (file)
@@ -5,9 +5,9 @@ exports[`compiler: transform v-model modifiers .lazy 1`] = `
 
 return function render() {
   with (this) {
-    const { vModelText: _vModelText, createVNode: _createVNode, applyDirectives: _applyDirectives, createBlock: _createBlock, openBlock: _openBlock } = _Vue
+    const { vModelText: _vModelText, createVNode: _createVNode, withDirectives: _withDirectives, createBlock: _createBlock, openBlock: _openBlock } = _Vue
     
-    return (_openBlock(), _applyDirectives(_createBlock(\\"input\\", {
+    return (_openBlock(), _withDirectives(_createBlock(\\"input\\", {
       modelValue: model,
       \\"onUpdate:modelValue\\": $event => (model = $event)
     }, null, 8 /* PROPS */, [\\"modelValue\\", \\"onUpdate:modelValue\\"]), [
@@ -27,9 +27,9 @@ exports[`compiler: transform v-model modifiers .number 1`] = `
 
 return function render() {
   with (this) {
-    const { vModelText: _vModelText, createVNode: _createVNode, applyDirectives: _applyDirectives, createBlock: _createBlock, openBlock: _openBlock } = _Vue
+    const { vModelText: _vModelText, createVNode: _createVNode, withDirectives: _withDirectives, createBlock: _createBlock, openBlock: _openBlock } = _Vue
     
-    return (_openBlock(), _applyDirectives(_createBlock(\\"input\\", {
+    return (_openBlock(), _withDirectives(_createBlock(\\"input\\", {
       modelValue: model,
       \\"onUpdate:modelValue\\": $event => (model = $event)
     }, null, 8 /* PROPS */, [\\"modelValue\\", \\"onUpdate:modelValue\\"]), [
@@ -49,9 +49,9 @@ exports[`compiler: transform v-model modifiers .trim 1`] = `
 
 return function render() {
   with (this) {
-    const { vModelText: _vModelText, createVNode: _createVNode, applyDirectives: _applyDirectives, createBlock: _createBlock, openBlock: _openBlock } = _Vue
+    const { vModelText: _vModelText, createVNode: _createVNode, withDirectives: _withDirectives, createBlock: _createBlock, openBlock: _openBlock } = _Vue
     
-    return (_openBlock(), _applyDirectives(_createBlock(\\"input\\", {
+    return (_openBlock(), _withDirectives(_createBlock(\\"input\\", {
       modelValue: model,
       \\"onUpdate:modelValue\\": $event => (model = $event)
     }, null, 8 /* PROPS */, [\\"modelValue\\", \\"onUpdate:modelValue\\"]), [
@@ -71,9 +71,9 @@ exports[`compiler: transform v-model simple expression 1`] = `
 
 return function render() {
   with (this) {
-    const { vModelText: _vModelText, createVNode: _createVNode, applyDirectives: _applyDirectives, createBlock: _createBlock, openBlock: _openBlock } = _Vue
+    const { vModelText: _vModelText, createVNode: _createVNode, withDirectives: _withDirectives, createBlock: _createBlock, openBlock: _openBlock } = _Vue
     
-    return (_openBlock(), _applyDirectives(_createBlock(\\"input\\", {
+    return (_openBlock(), _withDirectives(_createBlock(\\"input\\", {
       modelValue: model,
       \\"onUpdate:modelValue\\": $event => (model = $event)
     }, null, 8 /* PROPS */, [\\"modelValue\\", \\"onUpdate:modelValue\\"]), [
@@ -88,9 +88,9 @@ exports[`compiler: transform v-model simple expression for input (checkbox) 1`]
 
 return function render() {
   with (this) {
-    const { vModelCheckbox: _vModelCheckbox, createVNode: _createVNode, applyDirectives: _applyDirectives, createBlock: _createBlock, openBlock: _openBlock } = _Vue
+    const { vModelCheckbox: _vModelCheckbox, createVNode: _createVNode, withDirectives: _withDirectives, createBlock: _createBlock, openBlock: _openBlock } = _Vue
     
-    return (_openBlock(), _applyDirectives(_createBlock(\\"input\\", {
+    return (_openBlock(), _withDirectives(_createBlock(\\"input\\", {
       type: \\"checkbox\\",
       modelValue: model,
       \\"onUpdate:modelValue\\": $event => (model = $event)
@@ -106,11 +106,11 @@ exports[`compiler: transform v-model simple expression for input (dynamic type)
 
 return function render() {
   with (this) {
-    const { vModelDynamic: _vModelDynamic, createVNode: _createVNode, applyDirectives: _applyDirectives, resolveDirective: _resolveDirective, createBlock: _createBlock, openBlock: _openBlock } = _Vue
+    const { vModelDynamic: _vModelDynamic, createVNode: _createVNode, withDirectives: _withDirectives, resolveDirective: _resolveDirective, createBlock: _createBlock, openBlock: _openBlock } = _Vue
     
     const _directive_bind = _resolveDirective(\\"bind\\")
     
-    return (_openBlock(), _applyDirectives(_createBlock(\\"input\\", {
+    return (_openBlock(), _withDirectives(_createBlock(\\"input\\", {
       modelValue: model,
       \\"onUpdate:modelValue\\": $event => (model = $event)
     }, null, 8 /* PROPS */, [\\"modelValue\\", \\"onUpdate:modelValue\\"]), [
@@ -126,9 +126,9 @@ exports[`compiler: transform v-model simple expression for input (radio) 1`] = `
 
 return function render() {
   with (this) {
-    const { vModelRadio: _vModelRadio, createVNode: _createVNode, applyDirectives: _applyDirectives, createBlock: _createBlock, openBlock: _openBlock } = _Vue
+    const { vModelRadio: _vModelRadio, createVNode: _createVNode, withDirectives: _withDirectives, createBlock: _createBlock, openBlock: _openBlock } = _Vue
     
-    return (_openBlock(), _applyDirectives(_createBlock(\\"input\\", {
+    return (_openBlock(), _withDirectives(_createBlock(\\"input\\", {
       type: \\"radio\\",
       modelValue: model,
       \\"onUpdate:modelValue\\": $event => (model = $event)
@@ -144,9 +144,9 @@ exports[`compiler: transform v-model simple expression for input (text) 1`] = `
 
 return function render() {
   with (this) {
-    const { vModelText: _vModelText, createVNode: _createVNode, applyDirectives: _applyDirectives, createBlock: _createBlock, openBlock: _openBlock } = _Vue
+    const { vModelText: _vModelText, createVNode: _createVNode, withDirectives: _withDirectives, createBlock: _createBlock, openBlock: _openBlock } = _Vue
     
-    return (_openBlock(), _applyDirectives(_createBlock(\\"input\\", {
+    return (_openBlock(), _withDirectives(_createBlock(\\"input\\", {
       type: \\"text\\",
       modelValue: model,
       \\"onUpdate:modelValue\\": $event => (model = $event)
@@ -162,9 +162,9 @@ exports[`compiler: transform v-model simple expression for select 1`] = `
 
 return function render() {
   with (this) {
-    const { vModelSelect: _vModelSelect, createVNode: _createVNode, applyDirectives: _applyDirectives, createBlock: _createBlock, openBlock: _openBlock } = _Vue
+    const { vModelSelect: _vModelSelect, createVNode: _createVNode, withDirectives: _withDirectives, createBlock: _createBlock, openBlock: _openBlock } = _Vue
     
-    return (_openBlock(), _applyDirectives(_createBlock(\\"select\\", {
+    return (_openBlock(), _withDirectives(_createBlock(\\"select\\", {
       modelValue: model,
       \\"onUpdate:modelValue\\": $event => (model = $event)
     }, null, 8 /* PROPS */, [\\"modelValue\\", \\"onUpdate:modelValue\\"]), [
@@ -179,9 +179,9 @@ exports[`compiler: transform v-model simple expression for textarea 1`] = `
 
 return function render() {
   with (this) {
-    const { vModelText: _vModelText, createVNode: _createVNode, applyDirectives: _applyDirectives, createBlock: _createBlock, openBlock: _openBlock } = _Vue
+    const { vModelText: _vModelText, createVNode: _createVNode, withDirectives: _withDirectives, createBlock: _createBlock, openBlock: _openBlock } = _Vue
     
-    return (_openBlock(), _applyDirectives(_createBlock(\\"textarea\\", {
+    return (_openBlock(), _withDirectives(_createBlock(\\"textarea\\", {
       modelValue: model,
       \\"onUpdate:modelValue\\": $event => (model = $event)
     }, null, 8 /* PROPS */, [\\"modelValue\\", \\"onUpdate:modelValue\\"]), [
index 4bcf3614a895edd2823a7d344b0bc829e1ee2afb..a4c11222e1aea9b28d601036663198c93e8a7a92 100644 (file)
@@ -8,7 +8,7 @@ import {
   inject,
   resolveComponent,
   resolveDirective,
-  applyDirectives,
+  withDirectives,
   Plugin,
   ref,
   getCurrentInstance
@@ -128,7 +128,7 @@ describe('api: createApp', () => {
         return () => {
           // resolve in render
           const BarBaz = resolveDirective('bar-baz')!
-          return applyDirectives(h('div'), [[FooBar], [BarBaz]])
+          return withDirectives(h('div'), [[FooBar], [BarBaz]])
         }
       }
     }
index e2bbf04f1966e97b8affa8cb6536de672d31648e..50baa150be536a277a91abeb257bdf7b861fb0e8 100644 (file)
@@ -1,6 +1,6 @@
 import {
   h,
-  applyDirectives,
+  withDirectives,
   ref,
   render,
   nodeOps,
@@ -107,7 +107,7 @@ describe('directives', () => {
       },
       render() {
         _prevVnode = _vnode
-        _vnode = applyDirectives(h('div', count.value), [
+        _vnode = withDirectives(h('div', count.value), [
           [
             {
               beforeMount,
@@ -174,7 +174,7 @@ describe('directives', () => {
       },
       render() {
         _prevVnode = _vnode
-        _vnode = applyDirectives(h('div', count.value), [
+        _vnode = withDirectives(h('div', count.value), [
           [
             fn,
             // value
index 088695040d6ebb50b1ebb7ccf08f16b325a3a540..ea82606cff0b8065be13019fe0f40056fe762396 100644 (file)
@@ -11,8 +11,8 @@ return applyDirectives(h(comp), [
 ])
 */
 
-import { VNode, cloneVNode } from './vnode'
-import { extend, isArray, isFunction, EMPTY_OBJ, makeMap } from '@vue/shared'
+import { VNode } from './vnode'
+import { isArray, isFunction, EMPTY_OBJ, makeMap } from '@vue/shared'
 import { warn } from './warning'
 import { ComponentInternalInstance } from './component'
 import { currentRenderingInstance } from './componentRenderUtils'
@@ -120,11 +120,10 @@ export type DirectiveArguments = Array<
   | [Directive, any, string, DirectiveModifiers]
 >
 
-export function applyDirectives(vnode: VNode, directives: DirectiveArguments) {
+export function withDirectives(vnode: VNode, directives: DirectiveArguments) {
   const instance = currentRenderingInstance
   if (instance !== null) {
-    vnode = cloneVNode(vnode)
-    vnode.props = vnode.props != null ? extend({}, vnode.props) : {}
+    vnode.props = vnode.props || {}
     for (let i = 0; i < directives.length; i++) {
       const [dir, value, arg, modifiers] = directives[i]
       applyDirective(vnode.props, instance, dir, value, arg, modifiers)
index 75ed1765db7cfec0f083545ae8e50f6622b242b5..d55cc7b142d2d8aa8d8955d4aa8e00cca4db79da 100644 (file)
@@ -38,7 +38,7 @@ export {
 
 // Internal, for compiler generated code
 // should sync with '@vue/compiler-core/src/runtimeConstants.ts'
-export { applyDirectives } from './directives'
+export { withDirectives } from './directives'
 export {
   resolveComponent,
   resolveDirective,
index 80319562fcd9f0fef040eeb4f5b1684046ff6a41..357e827beff7beecefbc57065c0d798788e49167 100644 (file)
@@ -4,7 +4,7 @@ import {
   nextTick,
   createComponent,
   vModelDynamic,
-  applyDirectives,
+  withDirectives,
   VNode
 } from '@vue/runtime-dom'
 
@@ -14,7 +14,7 @@ const triggerEvent = (type: string, el: Element) => {
 }
 
 const withVModel = (node: VNode, arg: any, mods?: any) =>
-  applyDirectives(node, [[vModelDynamic, arg, '', mods]])
+  withDirectives(node, [[vModelDynamic, arg, '', mods]])
 
 const setValue = function(this: any, value: any) {
   this.value = value