Add tags fields & add findByTags getter
This commit is contained in:
@@ -1,9 +1,21 @@
|
||||
import resources from '../resources/'
|
||||
|
||||
/**
|
||||
* Check if list 2 has an element of list 1.
|
||||
* includesElOf(list1, list2) -> read as list1 includesElOf list2.
|
||||
* @param {any[]} list1
|
||||
* @param {any[]} list2
|
||||
*/
|
||||
const includesElOf = (list1, list2) => list1.some(element => list2.includes(element))
|
||||
|
||||
export const state = () => resources
|
||||
|
||||
export const getters = {
|
||||
findResources: state => title => {
|
||||
return state.find(resource => resource.title.toLowerCase() === title.toLowerCase())
|
||||
},
|
||||
findByTags: state => tags => {
|
||||
const flat = state.map(category => category.resources).flat()
|
||||
return flat.filter(resource => resource.tags && includesElOf(resource.tags, tags))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user