mirror of
https://github.com/Zagrios/bs-manager.git
synced 2026-07-03 14:08:25 +02:00
[feature] remove code smells
This commit is contained in:
@@ -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>
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user