mirror of https://github.com/sveltejs/svelte
				
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							193 lines
						
					
					
						
							4.8 KiB
						
					
					
				
			
		
		
	
	
							193 lines
						
					
					
						
							4.8 KiB
						
					
					
				/* generated by Svelte vX.Y.Z */
 | 
						|
import { SvelteComponent as SvelteComponent_1, addListener, add_render_callback, createElement, detachNode, flush, init, insert, run, run_all, safe_not_equal, timeRangesToArray } from "svelte/internal";
 | 
						|
 | 
						|
function create_fragment(component, ctx) {
 | 
						|
	var audio, audio_is_paused = true, audio_updating = false, audio_animationframe, current, dispose;
 | 
						|
 | 
						|
	return {
 | 
						|
		c() {
 | 
						|
			audio = createElement("audio");
 | 
						|
			if (ctx.played === void 0 || ctx.currentTime === void 0) add_render_callback(() => ctx.audio_timeupdate_handler.call(audio));
 | 
						|
			if (ctx.duration === void 0) add_render_callback(() => ctx.audio_durationchange_handler.call(audio));
 | 
						|
			if (ctx.buffered === void 0) add_render_callback(() => ctx.audio_progress_handler.call(audio));
 | 
						|
			if (ctx.buffered === void 0 || ctx.seekable === void 0) add_render_callback(() => ctx.audio_loadedmetadata_handler.call(audio));
 | 
						|
 | 
						|
			dispose = [
 | 
						|
				addListener(audio, "timeupdate", ctx.audio_timeupdate_handler),
 | 
						|
				addListener(audio, "durationchange", ctx.audio_durationchange_handler),
 | 
						|
				addListener(audio, "play", ctx.audio_play_pause_handler),
 | 
						|
				addListener(audio, "pause", ctx.audio_play_pause_handler),
 | 
						|
				addListener(audio, "progress", ctx.audio_progress_handler),
 | 
						|
				addListener(audio, "loadedmetadata", ctx.audio_loadedmetadata_handler),
 | 
						|
				addListener(audio, "volumechange", ctx.audio_volumechange_handler)
 | 
						|
			];
 | 
						|
		},
 | 
						|
 | 
						|
		m(target, anchor) {
 | 
						|
			insert(target, audio, anchor);
 | 
						|
 | 
						|
			audio.volume = ctx.volume;
 | 
						|
 | 
						|
			current = true;
 | 
						|
		},
 | 
						|
 | 
						|
		p(changed, ctx) {
 | 
						|
			if (!audio_updating && !isNaN(ctx.currentTime) && changed.currentTime) audio.currentTime = ctx.currentTime;
 | 
						|
			if (!audio_updating && audio_is_paused !== (audio_is_paused = ctx.paused) && changed.paused) audio[audio_is_paused ? "pause" : "play"]();
 | 
						|
			if (!audio_updating && !isNaN(ctx.volume) && changed.volume) audio.volume = ctx.volume;
 | 
						|
		},
 | 
						|
 | 
						|
		i(target, anchor) {
 | 
						|
			if (current) return;
 | 
						|
			this.m(target, anchor);
 | 
						|
		},
 | 
						|
 | 
						|
		o: run,
 | 
						|
 | 
						|
		d(detach) {
 | 
						|
			if (detach) {
 | 
						|
				detachNode(audio);
 | 
						|
			}
 | 
						|
 | 
						|
			run_all(dispose);
 | 
						|
		}
 | 
						|
	};
 | 
						|
}
 | 
						|
 | 
						|
function instance($$self, $$props, $$invalidate) {
 | 
						|
	let { buffered, seekable, played, currentTime, duration, paused, volume } = $$props;
 | 
						|
 | 
						|
	function audio_timeupdate_handler() {
 | 
						|
		cancelAnimationFrame(audio_animationframe);
 | 
						|
		if (!audio.paused) audio_animationframe = requestAnimationFrame(audio_timeupdate_handler);
 | 
						|
		played = timeRangesToArray(this.played);
 | 
						|
		currentTime = this.currentTime;
 | 
						|
		$$invalidate('played', played);
 | 
						|
		$$invalidate('currentTime', currentTime);
 | 
						|
	}
 | 
						|
 | 
						|
	function audio_durationchange_handler() {
 | 
						|
		duration = this.duration;
 | 
						|
		$$invalidate('duration', duration);
 | 
						|
	}
 | 
						|
 | 
						|
	function audio_play_pause_handler() {
 | 
						|
		paused = this.paused;
 | 
						|
		$$invalidate('paused', paused);
 | 
						|
	}
 | 
						|
 | 
						|
	function audio_progress_handler() {
 | 
						|
		buffered = timeRangesToArray(this.buffered);
 | 
						|
		$$invalidate('buffered', buffered);
 | 
						|
	}
 | 
						|
 | 
						|
	function audio_loadedmetadata_handler() {
 | 
						|
		buffered = timeRangesToArray(this.buffered);
 | 
						|
		seekable = timeRangesToArray(this.seekable);
 | 
						|
		$$invalidate('buffered', buffered);
 | 
						|
		$$invalidate('seekable', seekable);
 | 
						|
	}
 | 
						|
 | 
						|
	function audio_volumechange_handler() {
 | 
						|
		volume = this.volume;
 | 
						|
		$$invalidate('volume', volume);
 | 
						|
	}
 | 
						|
 | 
						|
	$$self.$$.set = $$props => {
 | 
						|
		if ('buffered' in $$props) buffered = $$props.buffered;
 | 
						|
		if ('seekable' in $$props) seekable = $$props.seekable;
 | 
						|
		if ('played' in $$props) played = $$props.played;
 | 
						|
		if ('currentTime' in $$props) currentTime = $$props.currentTime;
 | 
						|
		if ('duration' in $$props) duration = $$props.duration;
 | 
						|
		if ('paused' in $$props) paused = $$props.paused;
 | 
						|
		if ('volume' in $$props) volume = $$props.volume;
 | 
						|
	};
 | 
						|
 | 
						|
	return {
 | 
						|
		buffered,
 | 
						|
		seekable,
 | 
						|
		played,
 | 
						|
		currentTime,
 | 
						|
		duration,
 | 
						|
		paused,
 | 
						|
		volume,
 | 
						|
		audio_timeupdate_handler,
 | 
						|
		audio_durationchange_handler,
 | 
						|
		audio_play_pause_handler,
 | 
						|
		audio_progress_handler,
 | 
						|
		audio_loadedmetadata_handler,
 | 
						|
		audio_volumechange_handler
 | 
						|
	};
 | 
						|
}
 | 
						|
 | 
						|
class SvelteComponent extends SvelteComponent_1 {
 | 
						|
	constructor(options) {
 | 
						|
		super();
 | 
						|
		init(this, options, instance, create_fragment, safe_not_equal);
 | 
						|
	}
 | 
						|
 | 
						|
	get buffered() {
 | 
						|
		return this.$$.ctx.buffered;
 | 
						|
	}
 | 
						|
 | 
						|
	set buffered(buffered) {
 | 
						|
		this.$set({ buffered });
 | 
						|
		flush();
 | 
						|
	}
 | 
						|
 | 
						|
	get seekable() {
 | 
						|
		return this.$$.ctx.seekable;
 | 
						|
	}
 | 
						|
 | 
						|
	set seekable(seekable) {
 | 
						|
		this.$set({ seekable });
 | 
						|
		flush();
 | 
						|
	}
 | 
						|
 | 
						|
	get played() {
 | 
						|
		return this.$$.ctx.played;
 | 
						|
	}
 | 
						|
 | 
						|
	set played(played) {
 | 
						|
		this.$set({ played });
 | 
						|
		flush();
 | 
						|
	}
 | 
						|
 | 
						|
	get currentTime() {
 | 
						|
		return this.$$.ctx.currentTime;
 | 
						|
	}
 | 
						|
 | 
						|
	set currentTime(currentTime) {
 | 
						|
		this.$set({ currentTime });
 | 
						|
		flush();
 | 
						|
	}
 | 
						|
 | 
						|
	get duration() {
 | 
						|
		return this.$$.ctx.duration;
 | 
						|
	}
 | 
						|
 | 
						|
	set duration(duration) {
 | 
						|
		this.$set({ duration });
 | 
						|
		flush();
 | 
						|
	}
 | 
						|
 | 
						|
	get paused() {
 | 
						|
		return this.$$.ctx.paused;
 | 
						|
	}
 | 
						|
 | 
						|
	set paused(paused) {
 | 
						|
		this.$set({ paused });
 | 
						|
		flush();
 | 
						|
	}
 | 
						|
 | 
						|
	get volume() {
 | 
						|
		return this.$$.ctx.volume;
 | 
						|
	}
 | 
						|
 | 
						|
	set volume(volume) {
 | 
						|
		this.$set({ volume });
 | 
						|
		flush();
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
export default SvelteComponent; |