@omerlo/omerlo-webkit 0.0.20 → 0.0.22
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.
|
@@ -3,8 +3,8 @@ export async function parseApiResponse(response, parser) {
|
|
|
3
3
|
const payload = await response.json();
|
|
4
4
|
let data = null, meta = null;
|
|
5
5
|
if (response.ok) {
|
|
6
|
-
|
|
7
|
-
parseAssocs(assocs);
|
|
6
|
+
let assocs = initAssocs(payload.assocs);
|
|
7
|
+
assocs = parseAssocs(assocs);
|
|
8
8
|
meta = payload.meta;
|
|
9
9
|
data = parser(payload.data, assocs);
|
|
10
10
|
}
|
|
@@ -12,5 +12,5 @@ export declare function initAssocs(apiAssocs: ApiAssocs): Record<string, Record<
|
|
|
12
12
|
/**
|
|
13
13
|
* Parse all assocs using an ordering system to prevent any clone.
|
|
14
14
|
*/
|
|
15
|
-
export declare function parseAssocs(apiAssocs: Record<string, Record<string, Assoc>>):
|
|
15
|
+
export declare function parseAssocs(apiAssocs: Record<string, Record<string, Assoc>>): Record<string, Record<string, any>>;
|
|
16
16
|
export type Assoc = ApiData;
|
|
@@ -41,15 +41,24 @@ export function initAssocs(apiAssocs) {
|
|
|
41
41
|
* Parse all assocs using an ordering system to prevent any clone.
|
|
42
42
|
*/
|
|
43
43
|
export function parseAssocs(apiAssocs) {
|
|
44
|
+
const assocs = {};
|
|
44
45
|
for (const assocName in apiAssocs) {
|
|
45
|
-
|
|
46
|
-
for (const assocId in
|
|
47
|
-
|
|
46
|
+
assocs[assocName] = {};
|
|
47
|
+
for (const assocId in apiAssocs[assocName]) {
|
|
48
|
+
assocs[assocName][assocId] = {};
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
for (const assocName in apiAssocs) {
|
|
52
|
+
const currentApiAssocs = apiAssocs[assocName];
|
|
53
|
+
for (const assocId in currentApiAssocs) {
|
|
54
|
+
const assoc = currentApiAssocs[assocId];
|
|
48
55
|
if (!assocsParsers[assocName]) {
|
|
49
56
|
console.error(`No assoc parser found for ${assocName}`);
|
|
50
57
|
continue;
|
|
51
58
|
}
|
|
52
|
-
|
|
59
|
+
const parsedAssoc = assocsParsers[assocName](assoc, assocs);
|
|
60
|
+
Object.assign(assocs[assocName][assocId], parsedAssoc);
|
|
53
61
|
}
|
|
54
62
|
}
|
|
63
|
+
return assocs;
|
|
55
64
|
}
|