diff --git a/src/generators/dom/preprocess.ts b/src/generators/dom/preprocess.ts index b91aacd266..0ac58adfa8 100644 --- a/src/generators/dom/preprocess.ts +++ b/src/generators/dom/preprocess.ts @@ -75,14 +75,11 @@ const preprocessors = { componentStack: Node[], stripWhitespace: boolean ) => { - node._state = getChildState(state); - - if (!/\S/.test(node.data)) { - if (state.namespace) return; - if (elementsWithoutText.has(state.parentNodeName)) return; + if (!/\S/.test(node.data) && (state.namespace || elementsWithoutText.has(state.parentNodeName))) { + node.shouldSkip = true; + return; } - node.shouldCreate = true; node.var = block.getUniqueName(`text`); }, diff --git a/src/generators/dom/visitors/Text.ts b/src/generators/dom/visitors/Text.ts index d4d423d546..cc510521c3 100644 --- a/src/generators/dom/visitors/Text.ts +++ b/src/generators/dom/visitors/Text.ts @@ -10,7 +10,7 @@ export default function visitText( state: State, node: Node ) { - if (!node.shouldCreate) return; + if (node.shouldSkip) return; block.addElement( node.var, diff --git a/src/generators/dom/visitors/YieldTag.ts b/src/generators/dom/visitors/YieldTag.ts deleted file mode 100644 index dbfee33f29..0000000000 --- a/src/generators/dom/visitors/YieldTag.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { DomGenerator } from '../index'; -import Block from '../Block'; -import { State } from '../interfaces'; - -export default function visitYieldTag( - generator: DomGenerator, - block: Block, - state: State -) { - const parentNode = state.parentNode || '#target'; - - block.builders.mount.addLine( - `if ( #component._yield ) #component._yield.mount( ${parentNode}, null );` - ); - - block.builders.unmount.addLine( - `if ( #component._yield ) #component._yield.unmount();` - ); -} diff --git a/src/generators/dom/visitors/index.ts b/src/generators/dom/visitors/index.ts index 3a6a1d02cf..74a272d1dd 100644 --- a/src/generators/dom/visitors/index.ts +++ b/src/generators/dom/visitors/index.ts @@ -4,7 +4,6 @@ import IfBlock from './IfBlock'; import MustacheTag from './MustacheTag'; import RawMustacheTag from './RawMustacheTag'; import Text from './Text'; -import YieldTag from './YieldTag'; import { Visitor } from '../interfaces'; const visitors: Record = { @@ -13,8 +12,7 @@ const visitors: Record = { IfBlock, MustacheTag, RawMustacheTag, - Text, - YieldTag, + Text }; export default visitors; \ No newline at end of file