[feature] remove code smells

This commit is contained in:
MathieuG-P
2023-08-06 16:07:58 +02:00
parent 0d75b56d19
commit 1f99ce1ec1
3 changed files with 10 additions and 14 deletions
+4 -8
View File
@@ -1,7 +1,6 @@
import { ChildProcessWithoutNullStreams, SpawnOptionsWithoutStdio, spawn } from "child_process";
import { Observable, ReplaySubject, Subscriber, filter, map, share } from "rxjs";
import { DepotDownloaderArgsOptions, DepotDownloaderErrorEvent, DepotDownloaderEvent, DepotDownloaderEventType, DepotDownloaderEventTypes, DepotDownloaderInfoEvent, DepotDownloaderWarningEvent } from "../../shared/models/depot-downloader.model";
import { DownloadEvent } from "main/services/bs-installer.service";
export class DepotDownloader {
@@ -17,8 +16,6 @@ export class DepotDownloader {
this.subscriber = subscriber;
console.log(`${options.command} ${options.args?.join(" ")}}`)
this.process = spawn(options.command, options.args ?? [], options.options);
subscriber.next(`[Info]|[Start]|${JSON.stringify(options.echoStartData) ?? ""}`);
@@ -32,7 +29,6 @@ export class DepotDownloader {
this.process.on("exit", code => subscriber.complete());
return () => {
console.log("DepotDownloader process killed")
this.process.kill();
this.process = null;
}
@@ -60,14 +56,14 @@ export class DepotDownloader {
const splitedLine = matched.split("|").map(str => str.trim().replaceAll("[", "").replaceAll("]", "")) as [DepotDownloaderEventType, DepotDownloaderEventTypes, unknown];
if(!eventTypesArr.includes(splitedLine[0] as DepotDownloaderEventType) || !DepotDownloaderSubTypeOfEventType[splitedLine[0]].includes(splitedLine[1])){
if(!eventTypesArr.includes(splitedLine[0]) || !DepotDownloaderSubTypeOfEventType[splitedLine[0]].includes(splitedLine[1])){
return null;
}
return {
type: splitedLine[0] as DepotDownloaderEventType,
subType: splitedLine[1] as DepotDownloaderEventTypes,
data: splitedLine[2] as unknown,
type: splitedLine[0],
subType: splitedLine[1],
data: splitedLine[2],
}
}),
@@ -1,7 +1,7 @@
import { AvailableVersionsSlider } from "../components/available-versions/available-versions-slider.component";
import { BsDownloaderService } from "../services/bs-downloader.service";
import { Slideshow } from "renderer/components/slideshow/slideshow.component";
import { createContext, useState } from "react";
import { createContext, useMemo, useState } from "react";
import { BsmButton } from "renderer/components/shared/bsm-button.component";
import { AnimatePresence, motion } from "framer-motion";
import { useTranslation } from "renderer/hooks/use-translation.hook";
@@ -29,6 +29,8 @@ export function AvailableVersionsList() {
const notification = useService(NotificationService);
const [selectedVersion, setSelectedVersion] = useState<BSVersion>(null);
const contextValue = useMemo(() => ({ selectedVersion, setSelectedVersion }), [selectedVersion]);
const downloading = useObservable(bsDownloader.currentBsVersionDownload$.pipe(map(v => !!v)));
const t = useTranslation();
@@ -80,7 +82,7 @@ export function AvailableVersionsList() {
<Slideshow className="absolute w-full h-full top-0" />
<h1 className="text-gray-100 text-2xl mb-4 z-[1]">{t("pages.available-versions.title")}</h1>
<AvailableVersionsContext.Provider value={{selectedVersion, setSelectedVersion}}>
<AvailableVersionsContext.Provider value={contextValue}>
<AvailableVersionsSlider />
</AvailableVersionsContext.Provider>
+2 -4
View File
@@ -66,7 +66,8 @@ export class IpcService {
if (!request) {
request = { args: null, responceChannel: null };
}
if (!request.responceChannel) { // TODO : Remove this
if (!request.responceChannel) {
request.responceChannel = `${channel}_responce_${crypto.randomUUID()}`;
}
@@ -81,10 +82,7 @@ export class IpcService {
window.electron.ipcRenderer.sendMessage(channel, request);
console.log("Subscribe IPC", request.responceChannel, request.args); // TODO : Remove this
return () => {
console.log("Unsubscribe IPC", request.responceChannel, request.args); // TODO : Remove this
window.electron.ipcRenderer.removeAllListeners(request.responceChannel);
window.electron.ipcRenderer.removeAllListeners(errorChannel);
window.electron.ipcRenderer.removeAllListeners(completeChannel);