mirror of https://github.com/sveltejs/svelte
Merge branch 'master' of https://github.com/asweingarten/svelte into asweingarten-master
commit
25a18ab495
@ -0,0 +1,21 @@
|
||||
import { Validator } from '../../';
|
||||
import { Node } from '../../../interfaces';
|
||||
import getName from '../../../utils/getName';
|
||||
import { parse } from 'acorn';
|
||||
|
||||
export default function checkForValidIdentifiers(
|
||||
validator: Validator,
|
||||
properties: Node[]
|
||||
) {
|
||||
properties.forEach(prop => {
|
||||
const name = getName(prop.key);
|
||||
const functionDefinitionString = `function ${name}() {}`;
|
||||
try {
|
||||
parse(functionDefinitionString);
|
||||
} catch(exception) {
|
||||
const invalidCharacter = functionDefinitionString[exception.pos]
|
||||
validator.error(`Computed property name "${name}" is invalid. Character '${invalidCharacter}' at position ${exception.pos} is illegal in function identifiers`, prop.start);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
[{
|
||||
"message": "Computed property name \"hours-hyphen\" is invalid. Character '-' at position 14 is illegal in function identifiers",
|
||||
"loc": {
|
||||
"line": 14,
|
||||
"column": 6
|
||||
},
|
||||
"pos": 172
|
||||
}]
|
@ -0,0 +1,17 @@
|
||||
<p>
|
||||
The hour is
|
||||
<strong>{{hours}}</strong>
|
||||
</p>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
time: new Date()
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
"hours-hyphen": time => time.getHours()
|
||||
}
|
||||
};
|
||||
</script>
|
Loading…
Reference in new issue