pull/4923/head
pushkine 5 years ago
parent d354a5bc6d
commit f20359c920

@ -469,7 +469,7 @@ export default class Block {
const listener = this.get_unique_name(`${sanitize_name((node.arguments[1] as Literal).value)}_listener`); const listener = this.get_unique_name(`${sanitize_name((node.arguments[1] as Literal).value)}_listener`);
this.add_variable(listener); this.add_variable(listener);
mount.push(b`${listener} = ${node};`); mount.push(b`${listener} = ${node};`);
destroy.push(b`${listener}();`) destroy.push(b`${listener}();`);
} else if ( } else if (
node.type === "AssignmentExpression" && node.type === "AssignmentExpression" &&
node.left.type === "Identifier" && node.left.type === "Identifier" &&
@ -477,7 +477,7 @@ export default class Block {
) { ) {
// b`identifier = use_action(args);` // b`identifier = use_action(args);`
mount.push(node); mount.push(node);
destroy.push(b`if (${node.left} && typeof ${node.left}.destroy === "function") ${node.left}.destroy();`) destroy.push(b`if (${node.left} && typeof ${node.left}.destroy === "function") ${node.left}.destroy();`);
} else { } else {
throw new Error(`Forgot to specify logic for event_listener handling`); throw new Error(`Forgot to specify logic for event_listener handling`);
} }
@ -498,4 +498,4 @@ export default class Block {
} }
} }
const isCallExpression = (node): node is CallExpression => node.type === "CallExpression" const isCallExpression = (node): node is CallExpression => node.type === "CallExpression";

@ -101,7 +101,7 @@ export default function dom(
} }
${uses_props && renderer.invalidate("$$props")} ${uses_props && renderer.invalidate("$$props")}
${uses_rest && renderer.invalidate("$$restProps")} ${uses_rest && renderer.invalidate("$$restProps")}
` `;
const set = (uses_$$ || writable_props.length > 0 || component.slots.size > 0) const set = (uses_$$ || writable_props.length > 0 || component.slots.size > 0)
? x`${$$props} => { ? x`${$$props} => {
@ -111,7 +111,7 @@ export default function dom(
}` }`
: null; : null;
const k = uses_$$ ? b`let #k;` : null const k = uses_$$ ? b`let #k;` : null;
const accessors = []; const accessors = [];
const not_equal = component.component_options.immutable ? x`@not_equal` : x`@safe_not_equal`; const not_equal = component.component_options.immutable ? x`@not_equal` : x`@safe_not_equal`;

@ -241,7 +241,7 @@ export default class InlineComponentWrapper extends Wrapper {
let value_object = value; let value_object = value;
if (attr.expression.node.type !== 'ObjectExpression') { if (attr.expression.node.type !== 'ObjectExpression') {
value_object = x`typeof (#buffer = ${value}) === 'object' && #buffer !== null ? #buffer : {}` value_object = x`typeof (#buffer = ${value}) === 'object' && #buffer !== null ? #buffer : {}`;
} }
change_object = value_object; change_object = value_object;
} else { } else {

@ -6,7 +6,7 @@ export function string_literal(data: string) {
} }
export function sanitize_name(str) { export function sanitize_name(str) {
return str.replace(/[^a-zA-Z0-9_$]/g, '_') return str.replace(/[^a-zA-Z0-9_$]/g, '_');
} }
export function escape(data: string, { only_escape_at_symbol = false } = {}) { export function escape(data: string, { only_escape_at_symbol = false } = {}) {

@ -42,7 +42,7 @@ export function flush() {
for (let i = 0; i < dirty_components.length; i += 1) { for (let i = 0; i < dirty_components.length; i += 1) {
const component = dirty_components[i]; const component = dirty_components[i];
set_current_component(component); set_current_component(component);
const { $$ } = component const { $$ } = component;
if ($$.fragment !== null) { if ($$.fragment !== null) {
$$.update(); $$.update();
$$.before_update.forEach(v => v()); $$.before_update.forEach(v => v());

@ -4,9 +4,9 @@ export function get_spread_update(levels, updates) {
const to_null_out = {}; const to_null_out = {};
const accounted_for = { $$scope: 1 }; const accounted_for = { $$scope: 1 };
let i = levels.length, let i = levels.length;
key, let key;
n; let n;
while (i--) { while (i--) {
if (n = updates[i]) { if (n = updates[i]) {
for (key in levels[i]) { for (key in levels[i]) {

Loading…
Cancel
Save