blob: ca22bb0494ea6f9bdb3bab2fca1b8ee2a8021464 [file] [log] [blame]
<script lang="ts">
import type { Writable } from "svelte/store";
import { writable } from "svelte/store";
import type { FileMetadata } from "../types/files.js";
import Session from "./Session.svelte";
import { wrap } from "comlink";
import { StatService } from "../workers/service.js";
// Stores
let entries: Writable<FileMetadata[]> = writable([]);
const url = new URL("../workers/worker.ts", import.meta.url);
const service = wrap<StatService>(
new Worker(url, {
type: "module",
})
);
function onFilesChanged(event: CustomEvent) {
const detail: FileMetadata[] = event.detail;
if (detail) {
const enabled = detail.filter((metadata) => metadata.enabled === true);
$entries = [...enabled];
}
}
</script>
<details class="heading">
<summary>Plot Benchmarks</summary>
<p>Just drag and drop the output JSON file to visualize Benchmark results.</p>
</details>
<div class="container">
<Session fileEntries={$entries} {service} on:entries={onFilesChanged} />
</div>