@@ -10,10 +10,6 @@ import {
10
10
} from '../../constants.js' ;
11
11
import { escape_html } from '../../escaping.js' ;
12
12
import { DEV } from 'esm-env' ;
13
-
14
- export * from '../client/validate.js' ;
15
- export { add_snippet_symbol } from '../client/dom/blocks/snippet.js' ;
16
- export { default_slot } from '../client/dom/legacy/misc.js' ;
17
13
import { current_component , pop , push } from './context.js' ;
18
14
import { BLOCK_CLOSE , BLOCK_OPEN } from './hydration.js' ;
19
15
import { validate_store } from '../shared/validate.js' ;
@@ -280,8 +276,9 @@ export function spread_attributes(attrs, lowercase_attributes, is_html, class_ha
280
276
for ( let i = 0 ; i < attrs . length ; i ++ ) {
281
277
const obj = attrs [ i ] ;
282
278
for ( key in obj ) {
283
- // omit functions
284
- if ( typeof obj [ key ] !== 'function' ) {
279
+ // omit functions and internal svelte properties
280
+ const prefix = key [ 0 ] + key [ 1 ] ; // this is faster than key.slice(0, 2)
281
+ if ( typeof obj [ key ] !== 'function' && prefix !== '$$' ) {
285
282
merged_attrs [ key ] = obj [ key ] ;
286
283
}
287
284
}
@@ -626,10 +623,13 @@ export function once(get_value) {
626
623
export { push , pop } from './context.js' ;
627
624
628
625
export {
626
+ add_snippet_symbol ,
629
627
validate_component ,
630
628
validate_dynamic_element_tag ,
631
629
validate_snippet ,
632
630
validate_void_dynamic_element
633
631
} from '../shared/validate.js' ;
634
632
635
633
export { escape_html as escape } ;
634
+
635
+ export { default_slot } from '../client/dom/legacy/misc.js' ;
0 commit comments