-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLibLoader.svelte
44 lines (36 loc) · 1.22 KB
/
LibLoader.svelte
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<script>
import { onMount, onDestroy, createEventDispatcher } from "svelte";
const dispatch = createEventDispatcher();
export let src;
export let libraryExpectedObject;
let script;
onMount(async () => {
if (
libraryExpectedObject &&
window &&
typeof window[libraryExpectedObject] !== "undefined"
) {
console.log(
`LibLoader verifying requested object is not undefined:${typeof window[
libraryExpectedObject
]}`,
window[libraryExpectedObject]
);
return dispatch("loaded");
}
script.addEventListener("load", () => {
console.log(`LibLoader successfully loaded ${libraryExpectedObject} from ${src}`);
dispatch("loaded");
});
script.addEventListener("error", (event) => {
console.error(
`LibLoader encountered an error loading ${src}`,
event
);
dispatch("error");
});
});
onDestroy(async()=> {
});
</script>
<svelte:head><script bind:this={script} {src}></script></svelte:head>