(events: DebugEvent
[], timer = 0): void => {
16 | if (isEnvBrowser()) {
17 | for (const event of events) {
18 | setTimeout(() => {
19 | window.dispatchEvent(
20 | new MessageEvent("message", {
21 | data: {
22 | action: event.action,
23 | data: event.data,
24 | },
25 | })
26 | );
27 | }, timer);
28 | }
29 | }
30 | };
--------------------------------------------------------------------------------
/ui/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@tsconfig/svelte/tsconfig.json",
3 | "compilerOptions": {
4 | "target": "esnext",
5 | "useDefineForClassFields": true,
6 | "module": "esnext",
7 | "resolveJsonModule": true,
8 | "baseUrl": ".",
9 | "paths": {
10 | "@assets/*": ["src/assets/*"],
11 | "@components/*": ["src/components/*"],
12 | "@providers/*": ["src/providers/*"],
13 | "@store/*": ["src/store/*"],
14 | "@utils/*": ["src/utils/*"],
15 | "@typings/*": ["src/typings/*"],
16 | },
17 | /**
18 | * Typecheck JS in `.svelte` and `.js` files by default.
19 | * Disable checkJs if you'd like to use dynamic types in JS.
20 | * Note that setting allowJs false does not prevent the use
21 | * of JS in `.svelte` files.
22 | */
23 | "allowJs": true,
24 | "checkJs": true
25 | },
26 | "include": ["src/**/*.d.ts", "src/**/*.ts", "src/**/*.js", "src/**/*.svelte"]
27 | }
28 |
--------------------------------------------------------------------------------
/ui/src/App.svelte:
--------------------------------------------------------------------------------
1 |
9 |
10 |
{option.component}
67 | {#each option.actions as action} 68 | 85 | {/each} 86 |