Merge branch 'custom-event-teardown' of https://github.com/ekhaled/svelte into ekhaled-custom-event-teardown

pull/1296/head
Rich-Harris 8 years ago
commit e585ccf242

@ -516,8 +516,16 @@ export default class Element extends Node {
});
`);
block.builders.hydrate.addBlock(deindent`
if (${handlerName}.teardown) {
${handlerName}.destroy = ${handlerName}.teardown;
${generator.options.dev && `console.warn("Return 'destroy()' from custom event handlers. Returning 'teardown()' has been deprecated and will be unsupported in Svelte 2");`}
}
`);
block.builders.destroy.addLine(deindent`
${handlerName}.teardown();
${handlerName}.destroy();
`);
} else {
const handler = deindent`

@ -199,6 +199,10 @@ function create_main_fragment(component, state) {
var state = component.get();
component.foo( state.bar );
});
if (foo_handler.teardown) {
foo_handler.destroy = foo_handler.teardown;
}
},
m: function mount(target, anchor) {
@ -212,7 +216,7 @@ function create_main_fragment(component, state) {
},
d: function destroy$$1() {
foo_handler.teardown();
foo_handler.destroy();
}
};
}

@ -26,6 +26,10 @@ function create_main_fragment(component, state) {
var state = component.get();
component.foo( state.bar );
});
if (foo_handler.teardown) {
foo_handler.destroy = foo_handler.teardown;
}
},
m: function mount(target, anchor) {
@ -39,7 +43,7 @@ function create_main_fragment(component, state) {
},
d: function destroy() {
foo_handler.teardown();
foo_handler.destroy();
}
};
}

@ -0,0 +1,7 @@
export default {
dev: true,
warnings: [
`Return 'destroy()' from custom event handlers. Returning 'teardown()' has been deprecated and will be unsupported in Svelte 2`
]
};

@ -0,0 +1,16 @@
<button on:foo='foo()'>foo</button>
<script>
export default {
methods: {
foo() {}
},
events: {
foo(node, callback) {
return {
teardown() {}
}
}
}
};
</script>
Loading…
Cancel
Save