diff --git a/src/generators/nodes/Attribute.ts b/src/generators/nodes/Attribute.ts index 90031d261e..904c971c1d 100644 --- a/src/generators/nodes/Attribute.ts +++ b/src/generators/nodes/Attribute.ts @@ -223,10 +223,9 @@ export default class Attribute { ); } } else { - const value = - this.value === true + const value = this.value === true ? 'true' - : this.value.length === 0 ? `''` : stringify(this.value[0].data); + : this.value.length === 0 ? `""` : stringify(this.value[0].data); const statement = ( isLegacyInputType diff --git a/src/generators/nodes/Component.ts b/src/generators/nodes/Component.ts index bababef766..83bf02614e 100644 --- a/src/generators/nodes/Component.ts +++ b/src/generators/nodes/Component.ts @@ -1,21 +1,14 @@ import deindent from '../../utils/deindent'; -import { stringify } from '../../utils/stringify'; import stringifyProps from '../../utils/stringifyProps'; import CodeBuilder from '../../utils/CodeBuilder'; import getTailSnippet from '../../utils/getTailSnippet'; import getObject from '../../utils/getObject'; -import getExpressionPrecedence from '../../utils/getExpressionPrecedence'; -import isValidIdentifier from '../../utils/isValidIdentifier'; -import reservedNames from '../../utils/reservedNames'; +import quoteIfNecessary from '../../utils/quoteIfNecessary'; +import mungeAttribute from './shared/mungeAttribute'; import Node from './shared/Node'; import Block from '../dom/Block'; import Attribute from './Attribute'; -function quoteIfNecessary(name, legacy) { - if (!isValidIdentifier || (legacy && reservedNames.has(name))) return `"${name}"`; - return name; -} - export default class Component extends Node { type: 'Component'; name: string; @@ -409,79 +402,6 @@ export default class Component extends Node { } } -function mungeAttribute(attribute: Node, block: Block): Attribute { - if (attribute.value === true) { - // attributes without values, e.g.