Merge pull request #2027 from sveltejs/avoid-spread

avoid spread pattern, it causes some problems with some setups somehow???
pull/2029/head
Rich Harris 6 years ago committed by GitHub
commit 411a9f91b1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,6 +1,6 @@
{ {
"name": "svelte", "name": "svelte",
"version": "3.0.0-alpha23", "version": "3.0.0-alpha25",
"description": "The magical disappearing UI framework", "description": "The magical disappearing UI framework",
"module": "index.mjs", "module": "index.mjs",
"main": "index.js", "main": "index.js",

@ -83,7 +83,7 @@ export default class Attribute extends Node {
} }
}); });
return [...dependencies]; return Array.from(dependencies);
} }
getValue() { getValue() {

@ -598,7 +598,7 @@ export default class Element extends Node {
if (!validModifiers.has(modifier)) { if (!validModifiers.has(modifier)) {
component.error(handler, { component.error(handler, {
code: 'invalid-event-modifier', code: 'invalid-event-modifier',
message: `Valid event modifiers are ${list([...validModifiers])}` message: `Valid event modifiers are ${list(Array.from(validModifiers))}`
}); });
} }

@ -343,7 +343,7 @@ export default class Expression {
); );
const args = contextual_dependencies.size > 0 const args = contextual_dependencies.size > 0
? [`{ ${[...contextual_dependencies].join(', ')} }`] ? [`{ ${Array.from(contextual_dependencies).join(', ')} }`]
: []; : [];
let original_params; let original_params;
@ -356,7 +356,7 @@ export default class Expression {
let body = code.slice(node.body.start, node.body.end).trim(); let body = code.slice(node.body.start, node.body.end).trim();
if (node.body.type !== 'BlockStatement') { if (node.body.type !== 'BlockStatement') {
if (pending_assignments.size > 0) { if (pending_assignments.size > 0) {
const insert = [...pending_assignments].map(name => `$$invalidate('${name}', ${name})`).join('; '); const insert = Array.from(pending_assignments).map(name => `$$invalidate('${name}', ${name})`).join('; ');
pending_assignments = new Set(); pending_assignments = new Set();
component.has_reactive_assignments = true; component.has_reactive_assignments = true;
@ -431,7 +431,7 @@ export default class Expression {
const insert = ( const insert = (
(has_semi ? ' ' : '; ') + (has_semi ? ' ' : '; ') +
[...pending_assignments].map(name => `$$invalidate('${name}', ${name})`).join('; ') Array.from(pending_assignments).map(name => `$$invalidate('${name}', ${name})`).join('; ')
); );
if (/^(Break|Continue|Return)Statement/.test(node.type)) { if (/^(Break|Continue|Return)Statement/.test(node.type)) {

@ -203,7 +203,7 @@ export default function dom(
if (pending_assignments.size > 0) { if (pending_assignments.size > 0) {
if (node.type === 'ArrowFunctionExpression') { if (node.type === 'ArrowFunctionExpression') {
const insert = [...pending_assignments].map(name => `$$invalidate('${name}', ${name})`).join(';'); const insert = Array.from(pending_assignments).map(name => `$$invalidate('${name}', ${name})`).join(';');
pending_assignments = new Set(); pending_assignments = new Set();
code.prependRight(node.body.start, `{ const $$result = `); code.prependRight(node.body.start, `{ const $$result = `);
@ -213,7 +213,7 @@ export default function dom(
} }
else if (/Statement/.test(node.type)) { else if (/Statement/.test(node.type)) {
const insert = [...pending_assignments].map(name => `$$invalidate('${name}', ${name})`).join('; '); const insert = Array.from(pending_assignments).map(name => `$$invalidate('${name}', ${name})`).join('; ');
if (/^(Break|Continue|Return)Statement/.test(node.type)) { if (/^(Break|Continue|Return)Statement/.test(node.type)) {
if (node.argument) { if (node.argument) {

@ -48,7 +48,7 @@ export default class DebugTagWrapper extends Wrapper {
addToSet(dependencies, expression.dependencies); addToSet(dependencies, expression.dependencies);
}); });
const condition = [...dependencies].map(d => `changed.${d}`).join(' || '); const condition = Array.from(dependencies).map(d => `changed.${d}`).join(' || ');
const identifiers = this.node.expressions.map(e => e.node.name).join(', '); const identifiers = this.node.expressions.map(e => e.node.name).join(', ');

@ -459,7 +459,7 @@ export default class ElementWrapper extends Wrapper {
} }
this.renderer.component.partly_hoisted.push(deindent` this.renderer.component.partly_hoisted.push(deindent`
function ${handler}(${contextual_dependencies.size > 0 ? `{ ${[...contextual_dependencies].join(', ')} }` : ``}) { function ${handler}(${contextual_dependencies.size > 0 ? `{ ${Array.from(contextual_dependencies).join(', ')} }` : ``}) {
${group.bindings.map(b => b.handler.mutation)} ${group.bindings.map(b => b.handler.mutation)}
${Array.from(dependencies).filter(dep => dep[0] !== '$').map(dep => `$$invalidate('${dep}', ${dep});`)} ${Array.from(dependencies).filter(dep => dep[0] !== '$').map(dep => `$$invalidate('${dep}', ${dep});`)}
} }

@ -181,7 +181,7 @@ export default class InlineComponentWrapper extends Wrapper {
const { name, dependencies } = attr; const { name, dependencies } = attr;
const condition = dependencies.size > 0 && (dependencies.size !== allDependencies.size) const condition = dependencies.size > 0 && (dependencies.size !== allDependencies.size)
? `(${[...dependencies].map(d => `changed.${d}`).join(' || ')})` ? `(${Array.from(dependencies).map(d => `changed.${d}`).join(' || ')})`
: null; : null;
if (attr.isSpread) { if (attr.isSpread) {
@ -209,7 +209,7 @@ export default class InlineComponentWrapper extends Wrapper {
} }
`); `);
const conditions = [...allDependencies].map(dep => `changed.${dep}`).join(' || '); const conditions = Array.from(allDependencies).map(dep => `changed.${dep}`).join(' || ');
updates.push(deindent` updates.push(deindent`
var ${name_changes} = ${allDependencies.size === 1 ? `${conditions}` : `(${conditions})`} ? @getSpreadUpdate(${levels}, [ var ${name_changes} = ${allDependencies.size === 1 ? `${conditions}` : `(${conditions})`} ? @getSpreadUpdate(${levels}, [
@ -232,7 +232,7 @@ export default class InlineComponentWrapper extends Wrapper {
} }
if (fragment_dependencies.size > 0) { if (fragment_dependencies.size > 0) {
updates.push(`if (${[...fragment_dependencies].map(n => `changed.${n}`).join(' || ')}) ${name_changes}.$$scope = { changed, ctx };`); updates.push(`if (${Array.from(fragment_dependencies).map(n => `changed.${n}`).join(' || ')}) ${name_changes}.$$scope = { changed, ctx };`);
} }
const munged_bindings = this.node.bindings.map(binding => { const munged_bindings = this.node.bindings.map(binding => {

@ -81,7 +81,7 @@ export default class SlotWrapper extends Wrapper {
} }
}); });
const arg = dependencies.size > 0 ? `{ ${[...dependencies].join(', ')} }` : '{}'; const arg = dependencies.size > 0 ? `{ ${Array.from(dependencies).join(', ')} }` : '{}';
renderer.blocks.push(deindent` renderer.blocks.push(deindent`
const ${get_slot_changes} = (${arg}) => (${stringifyProps(changes_props)}); const ${get_slot_changes} = (${arg}) => (${stringifyProps(changes_props)});

@ -17,7 +17,7 @@ const metaTags = new Map([
['svelte:body', 'Body'] ['svelte:body', 'Body']
]); ]);
const valid_meta_tags = [...metaTags.keys(), 'svelte:self', 'svelte:component']; const valid_meta_tags = Array.from(metaTags.keys()).concat('svelte:self', 'svelte:component');
const specials = new Map([ const specials = new Map([
[ [

Loading…
Cancel
Save