From 507709ab00700de6e8473cd5908376cd63218c7b Mon Sep 17 00:00:00 2001 From: robinknaapen Date: Thu, 13 Dec 2018 21:19:31 +0100 Subject: [PATCH] Add namespace for Meikan --- src/domain/index.ts | 9 ++++----- src/layouts/Base.vue | 2 +- src/store/module/user.ts | 13 +++++++------ src/store/module/userAnime.ts | 8 ++++---- src/types/shims-vue.d.ts | 16 +++++++++------- src/views/UserAnime.vue | 6 +++--- src/views/UserSelect.vue | 8 ++++---- 7 files changed, 32 insertions(+), 30 deletions(-) diff --git a/src/domain/index.ts b/src/domain/index.ts index 67e793e..600f48c 100644 --- a/src/domain/index.ts +++ b/src/domain/index.ts @@ -1,11 +1,11 @@ -export const GetAnimeList = async (userID: number): Promise => { +export const GetAnimeList = async (userID: number): Promise => { const res = await fetch(`https://api.meikan.moe/v1/users/${userID}/anime`) - const anime: UserAnime[] = await res.json() + const anime: Meikan.UserAnime[] = await res.json() return anime } -export const FindUsers = async (name: string): Promise => { +export const FindUsers = async (name: string): Promise => { const res = await fetch('https://api.meikan.moe/v1/users', { method: 'POST', mode: 'cors', @@ -13,8 +13,7 @@ export const FindUsers = async (name: string): Promise => { name, }), }) - - const users: User[] = await res.json() + const users: Meikan.User[] = await res.json() return users } diff --git a/src/layouts/Base.vue b/src/layouts/Base.vue index 594b0e3..cb5e771 100644 --- a/src/layouts/Base.vue +++ b/src/layouts/Base.vue @@ -24,6 +24,6 @@ const user = namespace('user') @Component({}) export default class Base extends Vue { - @user.Getter('currentUser') private currentUser!: User | null + @user.Getter('currentUser') private currentUser!: Meikan.User | null } diff --git a/src/store/module/user.ts b/src/store/module/user.ts index 05b28f0..c407cb6 100644 --- a/src/store/module/user.ts +++ b/src/store/module/user.ts @@ -3,8 +3,8 @@ import { RootState } from '@/store' import { BareActionContext, getStoreBuilder } from 'vuex-typex' export interface UserState { - currentUser: User | null - foundUsers: User[] + currentUser: Meikan.User | null + foundUsers: Meikan.User[] } const initialState: UserState = { @@ -23,11 +23,11 @@ const getterCurrentUser = builder.read(function currentUser(state: UserState) { }) // Mutations -function setUserList(state: UserState, foundUsers: User[]) { +function setUserList(state: UserState, foundUsers: Meikan.User[]) { state.foundUsers = foundUsers } -function setCurrentUser(state: UserState, currentUser: User) { +function setCurrentUser(state: UserState, currentUser: Meikan.User) { state.currentUser = currentUser } @@ -43,10 +43,11 @@ function resetFoundUsers(context: BareActionContext) { } export const user = { - get foundUsers(): User[] { + get foundUsers(): Meikan.User[] { return getterUserList() }, - getCurrentUser(): User | null { + + get currentUser(): Meikan.User | null { return getterCurrentUser() }, diff --git a/src/store/module/userAnime.ts b/src/store/module/userAnime.ts index 326f6d9..ef7d5c6 100644 --- a/src/store/module/userAnime.ts +++ b/src/store/module/userAnime.ts @@ -3,7 +3,7 @@ import { RootState } from '@/store' import { BareActionContext, getStoreBuilder } from 'vuex-typex' export interface UserAnimeState { - anime: UserAnime[] + anime: Meikan.UserAnime[] } const initialState: UserAnimeState = { @@ -17,12 +17,12 @@ const getterUserAnime = builder.read(function anime(state: UserAnimeState) { }) // Mutations -function setAnime(state: UserAnimeState, animeList: UserAnime[]) { +function setAnime(state: UserAnimeState, animeList: Meikan.UserAnime[]) { state.anime = animeList } // Action -async function fetchUserAnime(context: BareActionContext, user: User) { +async function fetchUserAnime(context: BareActionContext, user: Meikan.User) { const list = await GetAnimeList(user.id) userAnime.setAnime(list) @@ -33,7 +33,7 @@ function resetUserAnime(context: BareActionContext) { } export const userAnime = { - get anime(): UserAnime[] { + get anime(): Meikan.UserAnime[] { return getterUserAnime() }, diff --git a/src/types/shims-vue.d.ts b/src/types/shims-vue.d.ts index 7adb195..0f2f124 100644 --- a/src/types/shims-vue.d.ts +++ b/src/types/shims-vue.d.ts @@ -3,12 +3,14 @@ declare module '*.vue' { export default Vue } -interface User { - id: number - name: string -} +declare namespace Meikan { + export interface User { + id: number + name: string + } -interface UserAnime { - id: number - title: string + export interface UserAnime { + id: number + title: string + } } diff --git a/src/views/UserAnime.vue b/src/views/UserAnime.vue index eaa3304..f87f3f6 100644 --- a/src/views/UserAnime.vue +++ b/src/views/UserAnime.vue @@ -29,16 +29,16 @@ const userAnime = namespace('userAnime') @Component({}) export default class Home extends Vue { @user.Getter - private currentUser!: User + private currentUser!: Meikan.User @userAnime.Action private resetUserAnime!: () => void @userAnime.Action - private fetchUserAnime!: (user: User) => Promise + private fetchUserAnime!: (user: Meikan.User) => Promise @userAnime.Getter - private anime!: UserAnime[] + private anime!: Meikan.UserAnime[] private created() { if (this.anime.length === 0) { diff --git a/src/views/UserSelect.vue b/src/views/UserSelect.vue index afc30a1..e5a2e64 100644 --- a/src/views/UserSelect.vue +++ b/src/views/UserSelect.vue @@ -30,16 +30,16 @@ const userAnimeStore = namespace('userAnime') @Component({}) export default class Home extends Vue { @userStore.Mutation('setCurrentUser') - private setCurrentUser!: (user: User) => void + private setCurrentUser!: (user: Meikan.User) => void @userStore.Action('findUsers') - private findUsers!: (name: string) => Promise + private findUsers!: (name: string) => Promise @userStore.Action('resetFoundUsers') private resetFoundUsers!: () => void @userStore.Getter('foundUsers') - private foundUsers!: User[] + private foundUsers!: Meikan.User[] @userAnimeStore.Action private resetUserAnime!: () => void @@ -53,7 +53,7 @@ export default class Home extends Vue { this.findUsers(name) }, 200) - private onSelect(user: User) { + private onSelect(user: Meikan.User) { this.setCurrentUser(user) this.resetUserAnime()