-import { Position, NodeTypes } from '../src/ast'
-import {
- getInnerRange,
- advancePositionWithClone,
- isEmptyExpression
-} from '../src/utils'
+import { Position } from '../src/ast'
+import { getInnerRange, advancePositionWithClone } from '../src/utils'
function p(line: number, column: number, offset: number): Position {
return { column, line, offset }
expect(loc2.end.offset).toBe(7)
})
})
-
-describe('isEmptyExpression', () => {
- test('empty', () => {
- expect(
- isEmptyExpression({
- content: '',
- type: NodeTypes.SIMPLE_EXPRESSION,
- isStatic: true,
- isConstant: true,
- loc: null as any
- })
- ).toBe(true)
- })
-
- test('spaces', () => {
- expect(
- isEmptyExpression({
- content: ' \t ',
- type: NodeTypes.SIMPLE_EXPRESSION,
- isStatic: true,
- isConstant: true,
- loc: null as any
- })
- ).toBe(true)
- })
-
- test('identifier', () => {
- expect(
- isEmptyExpression({
- content: 'foo',
- type: NodeTypes.SIMPLE_EXPRESSION,
- isStatic: true,
- isConstant: true,
- loc: null as any
- })
- ).toBe(false)
- })
-})
const p = node.props[i]
if (p.type === NodeTypes.ATTRIBUTE) {
if (dynamicOnly) continue
- if (p.name === name && p.value && !p.value.isEmpty) {
+ if (p.name === name && p.value) {
return p
}
} else if (
return `_${type}_${name.replace(/[^\w]/g, '_')}`
}
-export function isEmptyExpression(node: ExpressionNode) {
- return node.type === NodeTypes.SIMPLE_EXPRESSION && !node.content.trim()
-}
-
// Check if a node contains expressions that reference current context scope ids
export function hasScopeRef(
node: TemplateChildNode | IfBranchNode | ExpressionNode | undefined,