rename $$rest -> $$restProps

pull/4489/head
Tan Li Hau 6 years ago
parent 7d4ecba928
commit 6fd37e10ba

@ -71,7 +71,7 @@ export default function dom(
} }
const uses_props = component.var_lookup.has('$$props'); const uses_props = component.var_lookup.has('$$props');
const uses_rest = component.var_lookup.has('$$rest'); const uses_rest = component.var_lookup.has('$$restProps');
const $$props = uses_props || uses_rest ? `$$new_props` : `$$props`; const $$props = uses_props || uses_rest ? `$$new_props` : `$$props`;
const props = component.vars.filter(variable => !variable.module && variable.export_name); const props = component.vars.filter(variable => !variable.module && variable.export_name);
const writable_props = props.filter(variable => variable.writable); const writable_props = props.filter(variable => variable.writable);
@ -80,7 +80,7 @@ export default function dom(
const compute_rest = x`@compute_rest_props($$props, ${omit_props_names.name})`; const compute_rest = x`@compute_rest_props($$props, ${omit_props_names.name})`;
const rest = uses_rest ? b` const rest = uses_rest ? b`
const ${omit_props_names.name} = [${props.map(prop => `"${prop.export_name}"`).join(',')}]; const ${omit_props_names.name} = [${props.map(prop => `"${prop.export_name}"`).join(',')}];
let $$rest = ${compute_rest}; let $$restProps = ${compute_rest};
` : null; ` : null;
const set = (uses_props || uses_rest || writable_props.length > 0 || component.slots.size > 0) const set = (uses_props || uses_rest || writable_props.length > 0 || component.slots.size > 0)
@ -88,7 +88,7 @@ export default function dom(
${$$props} => { ${$$props} => {
${uses_props && renderer.invalidate('$$props', x`$$props = @assign(@assign({}, $$props), @exclude_internal_props($$new_props))`)} ${uses_props && renderer.invalidate('$$props', x`$$props = @assign(@assign({}, $$props), @exclude_internal_props($$new_props))`)}
${uses_rest && !uses_props && x`$$props = @assign(@assign({}, $$props), @exclude_internal_props($$new_props))`} ${uses_rest && !uses_props && x`$$props = @assign(@assign({}, $$props), @exclude_internal_props($$new_props))`}
${uses_rest && renderer.invalidate('$$rest', x`$$rest = ${compute_rest}`)} ${uses_rest && renderer.invalidate('$$restProps', x`$$restProps = ${compute_rest}`)}
${writable_props.map(prop => ${writable_props.map(prop =>
b`if ('${prop.export_name}' in ${$$props}) ${renderer.invalidate(prop.name, x`${prop.name} = ${$$props}.${prop.export_name}`)};` b`if ('${prop.export_name}' in ${$$props}) ${renderer.invalidate(prop.name, x`${prop.name} = ${$$props}.${prop.export_name}`)};`
)} )}
@ -351,7 +351,7 @@ export default function dom(
component.reactive_declarations.forEach(d => { component.reactive_declarations.forEach(d => {
const dependencies = Array.from(d.dependencies); const dependencies = Array.from(d.dependencies);
const uses_rest_or_props = !!dependencies.find(n => n === '$$props' || n === '$$rest'); const uses_rest_or_props = !!dependencies.find(n => n === '$$props' || n === '$$restProps');
const writable = dependencies.filter(n => { const writable = dependencies.filter(n => {
const variable = component.var_lookup.get(n); const variable = component.var_lookup.get(n);

@ -31,9 +31,9 @@ export default function ssr(
{ code: null, map: null } : { code: null, map: null } :
component.stylesheet.render(options.filename, true); component.stylesheet.render(options.filename, true);
const uses_rest = component.var_lookup.has('$$rest'); const uses_rest = component.var_lookup.has('$$restProps');
const props = component.vars.filter(variable => !variable.module && variable.export_name); const props = component.vars.filter(variable => !variable.module && variable.export_name);
const rest = uses_rest ? b`let $$rest = @compute_rest_props($$props, [${props.map(prop => `"${prop.export_name}"`).join(',')}]);` : null; const rest = uses_rest ? b`let $$restProps = @compute_rest_props($$props, [${props.map(prop => `"${prop.export_name}"`).join(',')}]);` : null;
const reactive_stores = component.vars.filter(variable => variable.name[0] === '$' && variable.name[1] !== '$'); const reactive_stores = component.vars.filter(variable => variable.name[0] === '$' && variable.name[1] !== '$');
const reactive_store_values = reactive_stores const reactive_store_values = reactive_stores

@ -1,4 +1,4 @@
export const reserved_keywords = new Set(["$$props", "$$rest"]); export const reserved_keywords = new Set(["$$props", "$$restProps"]);
export function is_reserved_keyword(name) { export function is_reserved_keyword(name) {
return reserved_keywords.has(name); return reserved_keywords.has(name);

@ -3,10 +3,10 @@
export function b() {} export function b() {}
export let c = 1; export let c = 1;
$: length = Object.keys($$rest).length; $: length = Object.keys($$restProps).length;
$: values = Object.values($$rest); $: values = Object.values($$restProps);
</script> </script>
<div>Length: {length}</div> <div>Length: {length}</div>
<div>Values: {values.join(',')}</div> <div>Values: {values.join(',')}</div>
<div {...$$rest} /> <div {...$$restProps} />

@ -3,11 +3,11 @@
export function b() {} export function b() {}
export let c = 1; export let c = 1;
$: length = Object.keys($$rest).length; $: length = Object.keys($$restProps).length;
$: values = Object.values($$rest); $: values = Object.values($$restProps);
</script> </script>
<div>Length: {length}</div> <div>Length: {length}</div>
<div>Values: {values.join(',')}</div> <div>Values: {values.join(',')}</div>
<div {...$$rest} /> <div {...$$restProps} />
<div {...$$props} /> <div {...$$props} />

@ -4,4 +4,4 @@
</script> </script>
<div>{foo}</div> <div>{foo}</div>
<div>{JSON.stringify($$rest)}</div> <div>{JSON.stringify($$restProps)}</div>

Loading…
Cancel
Save