···11-import * as URI from "uri-js";
22-31import type { Consult, ConsultGrouping, GroupConsult, Track } from "@applets/core/types.d.ts";
42import { isAudioFile } from "@scripts/input/common";
53import {
···1210 loadBuckets,
1311 parseURI,
1412} from "./common";
1515-import { expose } from "@scripts/common";
1313+import { expose, transfer } from "@scripts/common";
1614import { SCHEME } from "./constants";
17151816////////////////////////////////////////////
···6058 });
61596260 const entries = (await Promise.all(promises)).map((entry) => [entry.key, entry.grouping]);
6363- return Object.fromEntries(entries);
6161+ const obj = Object.fromEntries(entries);
6262+6363+ return transfer(obj);
6464}
65656666async function list(cachedTracks: Track[] = []) {
···105105 });
106106 });
107107108108- return (await Promise.all(promises)).flat(1);
108108+ const tracks = (await Promise.all(promises)).flat(1);
109109+ return transfer(tracks);
109110}
110111111112async function resolve({ method, uri }: { method: string; uri: string }) {
+3-2
src/scripts/output/indexed-db/worker.ts
···11import * as IDB from "idb-keyval";
2233-import { expose, jsonDecode, jsonEncode } from "@scripts/common";
33+import { expose, jsonDecode, jsonEncode, transfer } from "@scripts/common";
44import type { Track } from "@applets/core/types";
55import { IDB_PREFIX } from "./constants";
66···1919async function getTracks() {
2020 const encoded = await get({ name: "tracks.json" });
2121 if (!encoded) return [];
2222- return jsonDecode<Track[]>(encoded);
2222+ const tracks = jsonDecode<Track[]>(encoded);
2323+ return transfer(tracks);
2324}
24252526async function putTracks(tracks: Track[]) {
+3-2
src/scripts/output/native-fs/worker.ts
···11import * as IDB from "idb-keyval";
2233-import { expose, jsonDecode, jsonEncode } from "@scripts/common";
33+import { expose, jsonDecode, jsonEncode, transfer } from "@scripts/common";
44import type { Track } from "@applets/core/types";
55import { IDB_DEVICE_KEY, IDB_PREFIX } from "./constants";
66···1919async function getTracks() {
2020 const encoded = await get({ name: "tracks.json" });
2121 if (!encoded) return [];
2222- return jsonDecode<Track[]>(encoded);
2222+ const tracks = jsonDecode<Track[]>(encoded);
2323+ return transfer(tracks);
2324}
24252526async function putTracks(tracks: Track[]) {
+4-3
src/scripts/processor/artwork/worker.ts
···22import * as IDB from "idb-keyval";
3344import type { Artwork, ArtworkRequest } from "./types";
55-import { expose } from "@scripts/common";
55+import { expose, transfer } from "@scripts/common";
66import { IDB_ARTWORK_PREFIX } from "./constants";
77import { musicMetadataTags } from "../metadata/common";
88···21212222// Actions
23232424-function artwork(request: ArtworkRequest) {
2424+async function artwork(request: ArtworkRequest) {
2525 console.log("INSERT REQ", request);
2626- return processRequest(request);
2626+ const art = await processRequest(request);
2727+ return transfer(art);
2728}
28292930function supply(items: ArtworkRequest[]) {
+2-2
src/scripts/processor/metadata/worker.ts
···11import type { Extraction, Urls } from "./types.d.ts";
22-import { expose } from "@scripts/common";
22+import { expose, transfer } from "@scripts/common";
33import { musicMetadataTags } from "./common.ts";
4455////////////////////////////////////////////
···2929 });
30303131 // Fin
3232- return response;
3232+ return transfer(response);
3333}
+3-2
src/scripts/processor/search/worker.ts
···22// import { pluginQPS } from "@orama/plugin-qps";
3344import type { Track } from "@applets/core/types";
55-import { expose } from "@scripts/common";
55+import { expose, transfer } from "@scripts/common";
66import { SCHEMA } from "./constants";
77import type { State } from "./types";
88···7070 term,
7171 });
72727373- return results.hits.map((hit) => hit.document as unknown as Track);
7373+ const tracks = results.hits.map((hit) => hit.document as unknown as Track);
7474+ return transfer(tracks);
7475}
75767677async function supply(tracks: Track[]) {