@symbo.ls/fetch 2.6.1 → 2.6.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.
Files changed (2) hide show
  1. package/index.js +36 -14
  2. package/package.json +2 -2
package/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict'
2
2
 
3
- import { client, fetch } from '@symbo.ls/based'
3
+ import { client, fetch, set } from '@symbo.ls/based'
4
4
  import { deepMerge } from '@domql/utils'
5
5
 
6
6
  import TMP_DATA from '@symbo.ls/temp-db'
@@ -19,16 +19,28 @@ export const fetchIcon = async (el, s, { icon }) => {
19
19
  })
20
20
  }
21
21
 
22
+ export const syncSystem = (data, el, s) => {
23
+ const { SYSTEM, STATE } = TMP_DATA[s.appKey]
24
+ const { system, state } = data
25
+
26
+ const defObjs = {
27
+ system: SYSTEM || CONFIG_DEFAULT,
28
+ state: STATE || {}
29
+ }
30
+
31
+ if (system) deepMerge(s.CLIENT_SYSTEM, system)
32
+ else set({ $id: s.projectId, system: defObjs.system })
33
+
34
+ if (state) deepMerge(s.CLIENT_STATE, state)
35
+ else set({ $id: s.projectId, state: defObjs.state })
36
+ }
37
+
22
38
  export const fetchProject = (el, s, { userName, projectId, ...options }) => {
23
39
  fetch({
24
40
  $id: projectId,
25
41
  $all: true
26
42
  }, async data => {
27
- const { key, name, state, icon, system } = data
28
-
29
- const { SYSTEM, STATE } = TMP_DATA[key]
30
- deepMerge(s.SYSTEM, system || SYSTEM || CONFIG_DEFAULT)
31
- deepMerge(s.STATE, state || STATE || {})
43
+ const { key, name, icon } = data
32
44
 
33
45
  s.update({
34
46
  appKey: key,
@@ -37,17 +49,27 @@ export const fetchProject = (el, s, { userName, projectId, ...options }) => {
37
49
  projectId
38
50
  }, options)
39
51
 
52
+ syncSystem(data, el, s)
53
+
40
54
  await fetchIcon(el, s, { icon })
41
55
  })
42
56
  }
43
57
 
44
58
  export const fetchUser = (el, s, options) => {
45
- fetch({ $id: s.userId, name: true, projects: true }, data => {
46
- const { projects } = data
47
- const userName = data.name
48
- if (projects) {
49
- const projectId = projects[0]
50
- fetchProject(el, s, { userName, projectId, ...options })
51
- }
52
- })
59
+ if (!s.projectId) {
60
+ fetch({ $id: s.userId, name: true, projects: true }, data => {
61
+ const { projects } = data
62
+ const userName = data.name
63
+ if (projects) {
64
+ const projectId = projects[0]
65
+ fetchProject(el, s, { userName, projectId, ...options })
66
+ }
67
+ })
68
+ } else {
69
+ fetchProject(el, s, {
70
+ userName: s.userName,
71
+ projectId: s.projectId,
72
+ ...options
73
+ })
74
+ }
53
75
  }
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@symbo.ls/fetch",
3
- "version": "2.6.1",
3
+ "version": "2.6.3",
4
4
  "main": "index.js",
5
5
  "dependencies": {
6
6
  "@symbo.ls/based": "latest",
7
7
  "@symbo.ls/config-default": "latest",
8
8
  "@symbo.ls/temp-db": "latest"
9
9
  },
10
- "gitHead": "1e2a78210100223b80558d76fd6db7d9fc022a1b"
10
+ "gitHead": "60bd577f711919070e28d2fdfdabeaf9fd2e2069"
11
11
  }