handle circular values when rendering bindings - fixes #2135

pull/3146/head
Richard Harris 5 years ago
parent 220515b605
commit 4082566392

@ -122,7 +122,7 @@ export function get_store_value<T>(store: Readable<T>): T | undefined {
export function add_attribute(name, value) {
if (!value) return '';
return ` ${name}${value === true ? '' : `=${JSON.stringify(value)}`}`;
return ` ${name}${value === true ? '' : `=${typeof value === 'string' ? JSON.stringify(value) : `"${value}"`}`}`;
}
export function add_classes(classes) {

@ -0,0 +1,13 @@
export default {
html: `
<select>
<option value="[object Object]">wheeee</option>
</select>
`,
ssrHtml: `
<select value="[object Object]">
<option value="[object Object]">wheeee</option>
</select>
`
};

@ -0,0 +1,10 @@
<script>
let obj = {};
obj.self = obj;
let selected = obj;
</script>
<select bind:value={selected}>
<option value={obj}>wheeee</option>
</select>
Loading…
Cancel
Save