From d6cb49a0d195451bfbb90a3bcb96662eea29a471 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tristan=20Dani=C3=ABl=20Maat?= Date: Mon, 1 Aug 2022 22:07:15 +0100 Subject: [PATCH] Properly type check codebase with tsc --- src/global.d.ts | 1 + src/lib/js/index.ts | 2 ++ src/music/index.tsx | 1 - src/music/store/music/reducers.ts | 8 ++++++++ src/music/store/ui/types.ts | 0 5 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 src/global.d.ts delete mode 100644 src/music/store/ui/types.ts diff --git a/src/global.d.ts b/src/global.d.ts new file mode 100644 index 0000000..b849a16 --- /dev/null +++ b/src/global.d.ts @@ -0,0 +1 @@ +declare module "*.mp3"; diff --git a/src/lib/js/index.ts b/src/lib/js/index.ts index 5b6eed7..df1cf65 100644 --- a/src/lib/js/index.ts +++ b/src/lib/js/index.ts @@ -28,3 +28,5 @@ document.addEventListener("DOMContentLoaded", () => { }); }); }); + +export {}; diff --git a/src/music/index.tsx b/src/music/index.tsx index 7e25b00..2c02cc8 100644 --- a/src/music/index.tsx +++ b/src/music/index.tsx @@ -5,7 +5,6 @@ import { Provider } from "react-redux"; import { store } from "./store"; import MusicPlayer from "./MusicPlayer"; import { setSource, setTitle } from "./store/music/types"; -// @ts-ignore - mp3 files have no types. import mseq from "./Mseq_-_Journey.mp3"; const rootElement = document.getElementById("playerUI"); diff --git a/src/music/store/music/reducers.ts b/src/music/store/music/reducers.ts index f351d60..bd36f87 100644 --- a/src/music/store/music/reducers.ts +++ b/src/music/store/music/reducers.ts @@ -26,17 +26,25 @@ const initialState: MusicState = { export const musicStateReducer = createReducer( { + // @ts-ignore - These appear to be working, even if functions + // are technically prohibited, and were recommended upstream [setTitle]: (state: MusicState, title: Title): MusicState => { return update(state, { title: { $set: title }, }); }, + // @ts-ignore - These appear to be working, even if functions + // are technically prohibited, and were recommended upstream [togglePlay]: (state: MusicState): MusicState => { return update(state, { $toggle: ["playing"] }); }, + // @ts-ignore - These appear to be working, even if functions + // are technically prohibited, and were recommended upstream [toggleMute]: (state: MusicState): MusicState => { return update(state, { $toggle: ["muted"] }); }, + // @ts-ignore - These appear to be working, even if functions + // are technically prohibited, and were recommended upstream [setSource]: (state: MusicState, source: string): MusicState => { return update(state, { source: { $set: source } }); }, diff --git a/src/music/store/ui/types.ts b/src/music/store/ui/types.ts deleted file mode 100644 index e69de29..0000000