52 lines
1.8 KiB
JavaScript
52 lines
1.8 KiB
JavaScript
|
|
import { createStore } from 'vuex'
|
||
|
|
import { cloneDeep } from 'lodash'
|
||
|
|
import instanceModule from 'src/modules/instance.js'
|
||
|
|
import statusesModule from 'src/modules/statuses.js'
|
||
|
|
import notificationsModule from 'src/modules/notifications.js'
|
||
|
|
import usersModule from 'src/modules/users.js'
|
||
|
|
import apiModule from 'src/modules/api.js'
|
||
|
|
import configModule from 'src/modules/config.js'
|
||
|
|
import profileConfigModule from 'src/modules/profileConfig.js'
|
||
|
|
import serverSideStorageModule from 'src/modules/serverSideStorage.js'
|
||
|
|
import adminSettingsModule from 'src/modules/adminSettings.js'
|
||
|
|
import oauthModule from 'src/modules/oauth.js'
|
||
|
|
import authFlowModule from 'src/modules/auth_flow.js'
|
||
|
|
import oauthTokensModule from 'src/modules/oauth_tokens.js'
|
||
|
|
import draftsModule from 'src/modules/drafts.js'
|
||
|
|
import chatsModule from 'src/modules/chats.js'
|
||
|
|
import bookmarkFoldersModule from 'src/modules/bookmark_folders.js'
|
||
|
|
|
||
|
|
const tweakModules = modules => {
|
||
|
|
const res = {}
|
||
|
|
Object.entries(modules).forEach(([name, module]) => {
|
||
|
|
const m = { ...module }
|
||
|
|
m.state = cloneDeep(module.state)
|
||
|
|
res[name] = m
|
||
|
|
})
|
||
|
|
return res
|
||
|
|
}
|
||
|
|
|
||
|
|
const makeMockStore = () => {
|
||
|
|
return createStore({
|
||
|
|
modules: tweakModules({
|
||
|
|
instance: instanceModule,
|
||
|
|
// TODO refactor users/statuses modules, they depend on each other
|
||
|
|
users: usersModule,
|
||
|
|
statuses: statusesModule,
|
||
|
|
notifications: notificationsModule,
|
||
|
|
api: apiModule,
|
||
|
|
config: configModule,
|
||
|
|
profileConfig: profileConfigModule,
|
||
|
|
serverSideStorage: serverSideStorageModule,
|
||
|
|
adminSettings: adminSettingsModule,
|
||
|
|
oauth: oauthModule,
|
||
|
|
authFlow: authFlowModule,
|
||
|
|
oauthTokens: oauthTokensModule,
|
||
|
|
drafts: draftsModule,
|
||
|
|
chats: chatsModule,
|
||
|
|
bookmarkFolders: bookmarkFoldersModule
|
||
|
|
}),
|
||
|
|
})
|
||
|
|
}
|
||
|
|
|
||
|
|
export default makeMockStore
|