]> Repos - mime-chat/commitdiff
fix emitter typing issues
authorriqo <hernandeze2@xavier.edu>
Fri, 6 Nov 2020 16:53:52 +0000 (10:53 -0600)
committerriqo <hernandeze2@xavier.edu>
Fri, 6 Nov 2020 17:01:53 +0000 (11:01 -0600)
src/components/UI/index.vue
src/types/mitt/index.ts [new file with mode: 0644]
src/views/home/index.vue

index b59a50593809bd914cd3cdbfdb4080f86f2903a5..d8108fd210d476feede16147a63130264b110a51 100644 (file)
@@ -4,7 +4,7 @@
     version="1.1"
     xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink"
-    @click="renderMessage"
+    @click="emittMessage"
   >
     <AI />
     <MessageRenderer />
 </template>
 
 <script lang="ts">
-import { defineComponent, ref, reactive, inject } from "vue";
-import MessageItem from "./UIDetails/messageItem.vue";
+import { defineComponent, ref, inject } from "vue";
 import AI from "../AI/index.vue";
 import InputItem from "./UIDetails/inputItem.vue";
 import TitleBar from "./UIDetails/titleBar.vue";
 import Messages from "./UIDetails/messages";
 import MessageRenderer from "./UIDetails/messageRenderer.vue";
+import { Mitt } from "@/types/mitt/index";
 export default defineComponent({
   name: "UIindex",
-  components: { AI, MessageItem, InputItem, TitleBar, MessageRenderer },
+  components: { AI, MessageRenderer, InputItem, TitleBar },
   setup() {
     const messages = Messages;
     const count = ref(0);
-    const emitter: any = inject("mitt");
 
-    const renderMessage = () => {
+    // imports mitt Emitter safely
+    let emitter: Mitt;
+    const emitterInject: Mitt | undefined = inject("mitt");
+    if (emitterInject) emitter = emitterInject;
+
+    function emittMessage() {
       if (count.value < messages.length) {
-        emitter.emit("renderMessage", messages[count.value])
+        emitter.emit("renderMessage", messages[count.value]);
         count.value++;
         return;
       }
-    };
+    }
 
     return {
-      renderMessage,
+      emittMessage,
     };
   },
 });
diff --git a/src/types/mitt/index.ts b/src/types/mitt/index.ts
new file mode 100644 (file)
index 0000000..a1ba637
--- /dev/null
@@ -0,0 +1,3 @@
+import { Emitter } from "mitt";
+
+export type Mitt = Emitter;
index 69e6ae6dedc7edf2bb3f78281e426cb95de7a0cd..b8b6722b9a2ce24f930c27f82c88b3aa17f3fc65 100644 (file)
@@ -3,15 +3,10 @@
 </template>
 
 <script lang="ts">
-import { defineComponent, inject } from "vue";
+import { defineComponent } from "vue";
 import UIindex from "@/components/UI/index.vue";
-
 export default defineComponent({
   name: "HomeIndex",
   components: { UIindex },
-  setup() {
-    const emitter: any = inject("mitt");
-    emitter.on("newSelfMessage", (payload: any) => console.log("foo", payload));
-  },
 });
 </script>