summaryrefslogtreecommitdiffstats
path: root/src/store/index.ts
blob: 26bf4e571bce4cec10689f9be2b759fe26f1e792 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import { FOLDER_MUTATION_TYPES, FEED_MUTATION_TYPES, FEED_ITEM_MUTATION_TYPES, APPLICATION_MUTATION_TYPES } from '../types/MutationTypes'
import feeds, { FEED_ACTION_TYPES, FeedState } from './feed'
import folders, { FOLDER_ACTION_TYPES, FolderState } from './folder'
import items, { FEED_ITEM_ACTION_TYPES, ItemState } from './item'
import app, { APPLICATION_ACTION_TYPES, AppInfoState } from './app'

export const MUTATIONS = {
	...APPLICATION_MUTATION_TYPES,
	...FEED_MUTATION_TYPES,
	...FOLDER_MUTATION_TYPES,
	...FEED_ITEM_MUTATION_TYPES,
}

export const ACTIONS = {
	...APPLICATION_ACTION_TYPES,
	...FEED_ACTION_TYPES,
	...FOLDER_ACTION_TYPES,
	...FEED_ITEM_ACTION_TYPES,
}

export type AppState = FolderState & FeedState & ItemState & AppInfoState;

type Func = (name: string, value: unknown) => void;
export type ActionParams<T> = { commit: Func; dispatch: Func; state: T };

export default {
	modules: {
		feeds,
		folders,
		items,
		app,
	},
}