poi-plugin-quest-info-2 0.8.2 → 0.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "poi-plugin-quest-info-2",
3
- "version": "0.8.2",
3
+ "version": "0.8.3",
4
4
  "private": false,
5
5
  "description": "show quest info",
6
6
  "homepage": "https://github.com/lawvs/poi-plugin-quest-2/",
@@ -248,15 +248,35 @@ const calcQuestMap = (
248
248
  return map
249
249
  }
250
250
 
251
- export const getCompletedQuest = moize((inProgressQuest: number[]) => {
252
- const completedQuest = calcQuestMap(inProgressQuest, getPreQuestIds)
253
- return completedQuest
254
- })
251
+ export const getCompletedQuest = moize(
252
+ (inProgressQuest: number[]) => {
253
+ const completedQuest = calcQuestMap(inProgressQuest, getPreQuestIds)
254
+ return completedQuest
255
+ },
256
+ {
257
+ matchesArg: (cacheKeyArg, keyArg) => {
258
+ if (Array.isArray(cacheKeyArg) && Array.isArray(keyArg)) {
259
+ return cacheKeyArg.join(',') === keyArg.join(',')
260
+ }
261
+ return cacheKeyArg === keyArg
262
+ },
263
+ }
264
+ )
255
265
 
256
- export const getLockedQuest = moize((inProgressQuest: number[]) => {
257
- const lockedQuest = calcQuestMap(inProgressQuest, getPostQuestIds)
258
- return lockedQuest
259
- })
266
+ export const getLockedQuest = moize(
267
+ (inProgressQuest: number[]) => {
268
+ const lockedQuest = calcQuestMap(inProgressQuest, getPostQuestIds)
269
+ return lockedQuest
270
+ },
271
+ {
272
+ matchesArg: (cacheKeyArg, keyArg) => {
273
+ if (Array.isArray(cacheKeyArg) && Array.isArray(keyArg)) {
274
+ return cacheKeyArg.join(',') === keyArg.join(',')
275
+ }
276
+ return cacheKeyArg === keyArg
277
+ },
278
+ }
279
+ )
260
280
 
261
281
  export const questApiStateToQuestStatus = (
262
282
  state: QUEST_API_STATE | undefined
@@ -88,7 +88,7 @@ export const useQuest = (): UnionQuest[] => {
88
88
  }
89
89
  }
90
90
 
91
- export const useQuestByCode = (code: string): UnionQuest | null => {
91
+ export const useQuestByCode = (code: string) => {
92
92
  const questMap = useQuestMap()
93
93
  const gameId = getQuestIdByCode(code)
94
94
  if (gameId && gameId in questMap) {
@@ -102,17 +102,20 @@ export const useQuestByCode = (code: string): UnionQuest | null => {
102
102
 
103
103
  export const useQuestStatus = (gameId: number | null) => {
104
104
  const gameQuest = useGameQuest()
105
- const gameQuestId = gameQuest.map((quest) => quest.api_no)
106
- const completedQuest = getCompletedQuest(gameQuestId)
107
- const lockedQuest = getLockedQuest(gameQuestId)
108
105
 
109
106
  if (!gameId) {
110
107
  return QUEST_STATUS.UNKNOWN
111
108
  }
112
109
  const theGameQuest = gameQuest.find((quest) => quest.api_no === gameId)
113
110
  if (theGameQuest) {
111
+ // the quest is in game
114
112
  return questApiStateToQuestStatus(theGameQuest.api_state)
115
113
  }
114
+
115
+ const gameQuestId = gameQuest.map((quest) => quest.api_no)
116
+ const completedQuest = getCompletedQuest(gameQuestId)
117
+ const lockedQuest = getLockedQuest(gameQuestId)
118
+
116
119
  if (gameId in lockedQuest) {
117
120
  return QUEST_STATUS.LOCKED
118
121
  }
@@ -111,6 +111,7 @@ export const useSyncWithGame = () => {
111
111
  }, [setSyncWithGame, syncWithGame])
112
112
  return {
113
113
  syncWithGame,
114
+ setSyncWithGame,
114
115
  toggleSyncWithGame,
115
116
  }
116
117
  }