Merge pull request #493 from sveltejs/gh-492

Don't treat helpers as dependencies
pull/497/head
Rich Harris 9 years ago committed by GitHub
commit 3d576582da

@ -156,6 +156,8 @@ export default class Generator {
let scope = annotateWithScopes( expression ); let scope = annotateWithScopes( expression );
const dependencies = []; const dependencies = [];
const generator = this; // can't use arrow functions, because of this.skip()
walk( expression, { walk( expression, {
enter ( node, parent ) { enter ( node, parent ) {
if ( node._scope ) { if ( node._scope ) {
@ -165,7 +167,7 @@ export default class Generator {
if ( isReference( node, parent ) ) { if ( isReference( node, parent ) ) {
const { name } = flattenReference( node ); const { name } = flattenReference( node );
if ( scope.has( name ) ) return; if ( scope.has( name ) || generator.helpers.has( name ) ) return;
if ( contextDependencies.has( name ) ) { if ( contextDependencies.has( name ) ) {
dependencies.push( ...contextDependencies.get( name ) ); dependencies.push( ...contextDependencies.get( name ) );

@ -39,15 +39,15 @@ export function createComment () {
} }
export function addEventListener ( node, event, handler ) { export function addEventListener ( node, event, handler ) {
node.addEventListener ( event, handler, false ); node.addEventListener( event, handler, false );
} }
export function removeEventListener ( node, event, handler ) { export function removeEventListener ( node, event, handler ) {
node.removeEventListener ( event, handler, false ); node.removeEventListener( event, handler, false );
} }
export function setAttribute ( node, attribute, value ) { export function setAttribute ( node, attribute, value ) {
node.setAttribute ( attribute, value ); node.setAttribute( attribute, value );
} }
export function setXlinkAttribute ( node, attribute, value ) { export function setXlinkAttribute ( node, attribute, value ) {

@ -0,0 +1,11 @@
export default {
dev: true,
data: {
bar: 1
},
html: '2',
warnings: []
};

@ -0,0 +1,11 @@
{{foo(bar)}}
<script>
export default {
helpers: {
foo ( bar ) {
return bar * 2;
}
}
};
</script>
Loading…
Cancel
Save