From 2f349df4ecb8d776722a2f5d9d6a78785cc661db Mon Sep 17 00:00:00 2001 From: 0x1eef <0x1eef@protonmail.com> Date: Wed, 2 Oct 2024 07:13:48 -0300 Subject: [PATCH] Apply async / await pattern --- src/js/loaders/SurahIndexLoader.ts | 23 ++++++++++------------- src/js/loaders/SurahStreamLoader.ts | 25 +++++++++++-------------- 2 files changed, 21 insertions(+), 27 deletions(-) diff --git a/src/js/loaders/SurahIndexLoader.ts b/src/js/loaders/SurahIndexLoader.ts index b7ff37d69..258a4cb56 100644 --- a/src/js/loaders/SurahIndexLoader.ts +++ b/src/js/loaders/SurahIndexLoader.ts @@ -1,8 +1,7 @@ import postman, { item } from "postman"; -import type { Parcel } from "postman"; import { formatNumber } from "~/lib/t"; -(function () { +(async function () { const docel = document.documentElement; const main: HTMLElement = docel.querySelector(".postman.main")!; const css: HTMLStyleElement = docel.querySelector(".postman.css")!; @@ -20,7 +19,7 @@ import { formatNumber } from "~/lib/t"; return f; })(); - const delivery = postman( + const parcel = await postman( item.script(`/js/main/vendor.js?v=${rev}`, { id: "0" }), item.script(`/js/main/surah-index.js?v=${rev}`, { id: "1" }), ...fonts, @@ -31,14 +30,12 @@ import { formatNumber } from "~/lib/t"; num.innerText = formatNumber(docel.lang, Number(percent.toFixed(0))); }), ).deliver(); - delivery.then((parcel: Parcel) => { - [main, css].forEach((el) => el.remove()); - parcel.fonts.forEach((f) => document.fonts.add(f)); - parcel.css.forEach((s: HTMLElement) => document.head.appendChild(s)); - parcel.scripts - .sort((a, b) => Number(a.id) - Number(b.id)) - .forEach((s) => { - document.body.removeChild(document.body.appendChild(s)); - }); - }); + [main, css].forEach((el) => el.remove()); + parcel.fonts.forEach((f) => document.fonts.add(f)); + parcel.css.forEach((s: HTMLElement) => document.head.appendChild(s)); + parcel.scripts + .sort((a, b) => Number(a.id) - Number(b.id)) + .forEach((s) => { + document.body.removeChild(document.body.appendChild(s)); + }); })(); diff --git a/src/js/loaders/SurahStreamLoader.ts b/src/js/loaders/SurahStreamLoader.ts index ba91cd6dd..3bd7c6b67 100644 --- a/src/js/loaders/SurahStreamLoader.ts +++ b/src/js/loaders/SurahStreamLoader.ts @@ -1,8 +1,7 @@ import postman, { item } from "postman"; -import type { Parcel } from "postman"; import { formatNumber } from "~/lib/t"; -(function () { +(async function () { const docel = document.documentElement; const main = docel.querySelector(".postman.main")!; const css = docel.querySelector(".postman.css")!; @@ -22,7 +21,7 @@ import { formatNumber } from "~/lib/t"; return f; })(); - const delivery = postman( + const parcel = await postman( item.script(`/js/main/vendor.js?v=${rev}`, { id: "0" }), item.script(`/js/main/surah-stream.js?v=${rev}`, { id: "1" }), ...fonts, @@ -38,15 +37,13 @@ import { formatNumber } from "~/lib/t"; num.innerText = formatNumber(docel.lang, Number(percent.toFixed(0))); }), ).deliver(); - delivery.then((parcel: Parcel) => { - [main, css].forEach((el) => el.remove()); - parcel.fonts.forEach((f) => document.fonts.add(f)); - parcel.css.forEach((s) => document.head.appendChild(s)); - parcel.json.forEach((o) => document.body.appendChild(o)); - parcel.scripts - .sort((a, b) => Number(a.id) - Number(b.id)) - .forEach((s) => { - document.body.removeChild(document.body.appendChild(s)); - }); - }); + [main, css].forEach((el) => el.remove()); + parcel.fonts.forEach((f) => document.fonts.add(f)); + parcel.css.forEach((s) => document.head.appendChild(s)); + parcel.json.forEach((o) => document.body.appendChild(o)); + parcel.scripts + .sort((a, b) => Number(a.id) - Number(b.id)) + .forEach((s) => { + document.body.removeChild(document.body.appendChild(s)); + }); })();