@@ -46,26 +46,28 @@ $: if (item.component) {
4646 componentProps = { ... props, ... (sendIdTo && { [sendIdTo]: item .id }) }
4747}
4848
49+ const check = (prop , kind = ' undefined' ) => typeof prop === kind
4950// `progress` has been renamed to `next`; shim included for backward compatibility, to remove in next major
50- $: if (typeof item .progress !== ' undefined ' ) {
51+ $: if (! check ( item .progress ) ) {
5152 item .next = item .progress
5253}
5354
54- const handler = () => ( document . hidden ? pause () : resume ())
55- const listener = (add ) => {
56- const { hidden , addEventListener , removeEventListener } = document
57- if ( typeof hidden === ' undefined ' ) return
55+ let unlisten
56+ const listen = (d = document ) => {
57+ if ( check ( d . hidden )) return
58+ const handler = () => ( d . hidden ? pause () : resume ())
5859 const name = ' visibilitychange'
59- add ? addEventListener (name, handler) : removeEventListener (name, handler)
60- return true
60+ d .addEventListener (name, handler)
61+ unlisten = () => d .removeEventListener (name, handler)
62+ handler ()
6163}
62- onMount (() => listener (true ) && handler ())
6364
65+ onMount (listen)
6466onDestroy (() => {
65- if (typeof item .onpop === ' function' ) {
67+ if (check ( item .onpop , ' function' ) ) {
6668 item .onpop (item .id )
6769 }
68- listener ( false )
70+ unlisten && unlisten ( )
6971})
7072 </script >
7173
0 commit comments