Guest User

Untitled

a guest
Dec 18th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. export default context => {
  2. const store = createStore()
  3. const router = createRouter()
  4. const app = createApp(store, router)
  5. return new Promise((resolve, reject) => {
  6. router.onError(reject)
  7. router.onReady(resolve, reject)
  8. router.push(context.url)
  9. }).then(() => {
  10. const to = router.currentRoute
  11. const components = router.getMatchedComponents(to)
  12. const permissionsPromises = components.map(component => {
  13. if (component.permissions) {
  14. return component.permissions(store, to, {})
  15. }
  16. return Promise.resolve()
  17. })
  18. return Promise.all(permissionsPromises)
  19. .then(() => {
  20. const criticalDataPromises = components.map(component => {
  21. if (component.criticalData) {
  22. return component.criticalData(store, to, {})
  23. }
  24. return Promise.resolve()
  25. })
  26. return Promise.all(criticalDataPromises)
  27. })
  28. .then(() => {
  29. context.state = store.state
  30. return app
  31. })
  32. })
  33. }
Add Comment
Please, Sign In to add comment