@payloadcms/live-preview 0.1.5 → 0.2.0
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.
- package/dist/handleMessage.d.ts +2 -1
- package/dist/handleMessage.d.ts.map +1 -1
- package/dist/handleMessage.js +14 -3
- package/dist/mergeData.d.ts +8 -4
- package/dist/mergeData.d.ts.map +1 -1
- package/dist/mergeData.js +38 -10
- package/dist/subscribe.d.ts +2 -1
- package/dist/subscribe.d.ts.map +1 -1
- package/dist/subscribe.js +3 -2
- package/dist/traverseFields.d.ts +5 -8
- package/dist/traverseFields.d.ts.map +1 -1
- package/dist/traverseFields.js +125 -100
- package/dist/traverseRichText.d.ts +8 -0
- package/dist/traverseRichText.d.ts.map +1 -0
- package/dist/traverseRichText.js +76 -0
- package/dist/types.d.ts +12 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -5
- package/dist/promise.d.ts +0 -12
- package/dist/promise.d.ts.map +0 -1
- package/dist/promise.js +0 -16
package/dist/handleMessage.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleMessage.d.ts","sourceRoot":"","sources":["../src/handleMessage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handleMessage.d.ts","sourceRoot":"","sources":["../src/handleMessage.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,aAAa;eACb,MAAM;YACT,MAAM;WACP,YAAY;;eAER,MAAM;gBAsClB,CAAA"}
|
package/dist/handleMessage.js
CHANGED
|
@@ -15,25 +15,36 @@ const _ = require(".");
|
|
|
15
15
|
// Send this cached value to `mergeData`, instead of `eventData.fieldSchemaJSON` directly
|
|
16
16
|
let payloadLivePreviewFieldSchema = undefined // TODO: type this from `fieldSchemaToJSON` return type
|
|
17
17
|
;
|
|
18
|
+
// Each time the data is merged, cache the result as a `previousData` variable
|
|
19
|
+
// This will ensure changes compound overtop of each other
|
|
20
|
+
let payloadLivePreviewPreviousData = undefined;
|
|
18
21
|
const handleMessage = async (args)=>{
|
|
19
|
-
const { depth, event, initialData, serverURL } = args;
|
|
22
|
+
const { apiRoute, depth, event, initialData, serverURL } = args;
|
|
20
23
|
if (event.origin === serverURL && event.data) {
|
|
21
24
|
const eventData = JSON.parse(event?.data);
|
|
22
25
|
if (eventData.type === 'payload-live-preview') {
|
|
23
26
|
if (!payloadLivePreviewFieldSchema && eventData.fieldSchemaJSON) {
|
|
24
27
|
payloadLivePreviewFieldSchema = eventData.fieldSchemaJSON;
|
|
25
28
|
}
|
|
29
|
+
if (!payloadLivePreviewFieldSchema) {
|
|
30
|
+
// eslint-disable-next-line no-console
|
|
31
|
+
console.warn('Payload Live Preview: No `fieldSchemaJSON` was received from the parent window. Unable to merge data.');
|
|
32
|
+
return initialData;
|
|
33
|
+
}
|
|
26
34
|
const mergedData = await (0, _.mergeData)({
|
|
35
|
+
apiRoute,
|
|
27
36
|
depth,
|
|
37
|
+
externallyUpdatedRelationship: eventData.externallyUpdatedRelationship,
|
|
28
38
|
fieldSchema: payloadLivePreviewFieldSchema,
|
|
29
39
|
incomingData: eventData.data,
|
|
30
|
-
initialData,
|
|
40
|
+
initialData: payloadLivePreviewPreviousData || initialData,
|
|
31
41
|
serverURL
|
|
32
42
|
});
|
|
43
|
+
payloadLivePreviewPreviousData = mergedData;
|
|
33
44
|
return mergedData;
|
|
34
45
|
}
|
|
35
46
|
}
|
|
36
47
|
return initialData;
|
|
37
48
|
};
|
|
38
49
|
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9oYW5kbGVNZXNzYWdlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1lcmdlRGF0YSB9IGZyb20gJy4nXG5cbi8vIEZvciBwZXJmb3JtYW5jZSByZWFzb25zLCBgZmllbGRTY2hlbWFKU09OYCB3aWxsIG9ubHkgYmUgc2VudCBvbmNlIG9uIHRoZSBpbml0aWFsIG1lc3NhZ2Vcbi8vIFdlIG5lZWQgdG8gY2FjaGUgdGhpcyB2YWx1ZSBzbyB0aGF0IGl0IGNhbiBiZSB1c2VkIGFjcm9zcyBzdWJzZXF1ZW50IG1lc3NhZ2VzXG4vLyBUbyBkbyB0aGlzLCBzYXZlIGBmaWVsZFNjaGVtYUpTT05gIHdoZW4gaXQgYXJyaXZlcyBhcyBhIGdsb2JhbCB2YXJpYWJsZVxuLy8gU2VuZCB0aGlzIGNhY2hlZCB2YWx1ZSB0byBgbWVyZ2VEYXRhYCwgaW5zdGVhZCBvZiBgZXZlbnREYXRhLmZpZWxkU2NoZW1hSlNPTmAgZGlyZWN0bHlcbmxldCBwYXlsb2FkTGl2ZVByZXZpZXdGaWVsZFNjaGVtYSA9IHVuZGVmaW5lZCAvLyBUT0RPOiB0eXBlIHRoaXMgZnJvbSBgZmllbGRTY2hlbWFUb0pTT05gIHJldHVybiB0eXBlXG5cbi8vIEVhY2ggdGltZSB0aGUgZGF0YSBpcyBtZXJnZWQsIGNhY2hlIHRoZSByZXN1bHQgYXMgYSBgcHJldmlvdXNEYXRhYCB2YXJpYWJsZVxuLy8gVGhpcyB3aWxsIGVuc3VyZSBjaGFuZ2VzIGNvbXBvdW5kIG92ZXJ0b3Agb2YgZWFjaCBvdGhlclxubGV0IHBheWxvYWRMaXZlUHJldmlld1ByZXZpb3VzRGF0YSA9IHVuZGVmaW5lZFxuXG5leHBvcnQgY29uc3QgaGFuZGxlTWVzc2FnZSA9IGFzeW5jIDxUPihhcmdzOiB7XG4gIGFwaVJvdXRlPzogc3RyaW5nXG4gIGRlcHRoPzogbnVtYmVyXG4gIGV2ZW50OiBNZXNzYWdlRXZlbnRcbiAgaW5pdGlhbERhdGE6IFRcbiAgc2VydmVyVVJMOiBzdHJpbmdcbn0pOiBQcm9taXNlPFQ+ID0+IHtcbiAgY29uc3QgeyBhcGlSb3V0ZSwgZGVwdGgsIGV2ZW50LCBpbml0aWFsRGF0YSwgc2VydmVyVVJMIH0gPSBhcmdzXG5cbiAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gc2VydmVyVVJMICYmIGV2ZW50LmRhdGEpIHtcbiAgICBjb25zdCBldmVudERhdGEgPSBKU09OLnBhcnNlKGV2ZW50Py5kYXRhKVxuXG4gICAgaWYgKGV2ZW50RGF0YS50eXBlID09PSAncGF5bG9hZC1saXZlLXByZXZpZXcnKSB7XG4gICAgICBpZiAoIXBheWxvYWRMaXZlUHJldmlld0ZpZWxkU2NoZW1hICYmIGV2ZW50RGF0YS5maWVsZFNjaGVtYUpTT04pIHtcbiAgICAgICAgcGF5bG9hZExpdmVQcmV2aWV3RmllbGRTY2hlbWEgPSBldmVudERhdGEuZmllbGRTY2hlbWFKU09OXG4gICAgICB9XG5cbiAgICAgIGlmICghcGF5bG9hZExpdmVQcmV2aWV3RmllbGRTY2hlbWEpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICdQYXlsb2FkIExpdmUgUHJldmlldzogTm8gYGZpZWxkU2NoZW1hSlNPTmAgd2FzIHJlY2VpdmVkIGZyb20gdGhlIHBhcmVudCB3aW5kb3cuIFVuYWJsZSB0byBtZXJnZSBkYXRhLicsXG4gICAgICAgIClcblxuICAgICAgICByZXR1cm4gaW5pdGlhbERhdGFcbiAgICAgIH1cblxuICAgICAgY29uc3QgbWVyZ2VkRGF0YSA9IGF3YWl0IG1lcmdlRGF0YTxUPih7XG4gICAgICAgIGFwaVJvdXRlLFxuICAgICAgICBkZXB0aCxcbiAgICAgICAgZXh0ZXJuYWxseVVwZGF0ZWRSZWxhdGlvbnNoaXA6IGV2ZW50RGF0YS5leHRlcm5hbGx5VXBkYXRlZFJlbGF0aW9uc2hpcCxcbiAgICAgICAgZmllbGRTY2hlbWE6IHBheWxvYWRMaXZlUHJldmlld0ZpZWxkU2NoZW1hLFxuICAgICAgICBpbmNvbWluZ0RhdGE6IGV2ZW50RGF0YS5kYXRhLFxuICAgICAgICBpbml0aWFsRGF0YTogcGF5bG9hZExpdmVQcmV2aWV3UHJldmlvdXNEYXRhIHx8IGluaXRpYWxEYXRhLFxuICAgICAgICBzZXJ2ZXJVUkwsXG4gICAgICB9KVxuXG4gICAgICBwYXlsb2FkTGl2ZVByZXZpZXdQcmV2aW91c0RhdGEgPSBtZXJnZWREYXRhXG5cbiAgICAgIHJldHVybiBtZXJnZWREYXRhXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGluaXRpYWxEYXRhXG59XG4iXSwibmFtZXMiOlsiaGFuZGxlTWVzc2FnZSIsInBheWxvYWRMaXZlUHJldmlld0ZpZWxkU2NoZW1hIiwidW5kZWZpbmVkIiwicGF5bG9hZExpdmVQcmV2aWV3UHJldmlvdXNEYXRhIiwiYXJncyIsImFwaVJvdXRlIiwiZGVwdGgiLCJldmVudCIsImluaXRpYWxEYXRhIiwic2VydmVyVVJMIiwib3JpZ2luIiwiZGF0YSIsImV2ZW50RGF0YSIsIkpTT04iLCJwYXJzZSIsInR5cGUiLCJmaWVsZFNjaGVtYUpTT04iLCJjb25zb2xlIiwid2FybiIsIm1lcmdlZERhdGEiLCJtZXJnZURhdGEiLCJleHRlcm5hbGx5VXBkYXRlZFJlbGF0aW9uc2hpcCIsImZpZWxkU2NoZW1hIiwiaW5jb21pbmdEYXRhIl0sIm1hcHBpbmdzIjoiOzs7OytCQVlhQTs7O2VBQUFBOzs7a0JBWmE7QUFFMUIsMkZBQTJGO0FBQzNGLGdGQUFnRjtBQUNoRiwwRUFBMEU7QUFDMUUseUZBQXlGO0FBQ3pGLElBQUlDLGdDQUFnQ0MsVUFBVSx1REFBdUQ7O0FBRXJHLDhFQUE4RTtBQUM5RSwwREFBMEQ7QUFDMUQsSUFBSUMsaUNBQWlDRDtBQUU5QixNQUFNRixnQkFBZ0IsT0FBVUk7SUFPckMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLEtBQUssRUFBRUMsS0FBSyxFQUFFQyxXQUFXLEVBQUVDLFNBQVMsRUFBRSxHQUFHTDtJQUUzRCxJQUFJRyxNQUFNRyxNQUFNLEtBQUtELGFBQWFGLE1BQU1JLElBQUksRUFBRTtRQUM1QyxNQUFNQyxZQUFZQyxLQUFLQyxLQUFLLENBQUNQLE9BQU9JO1FBRXBDLElBQUlDLFVBQVVHLElBQUksS0FBSyx3QkFBd0I7WUFDN0MsSUFBSSxDQUFDZCxpQ0FBaUNXLFVBQVVJLGVBQWUsRUFBRTtnQkFDL0RmLGdDQUFnQ1csVUFBVUksZUFBZTtZQUMzRDtZQUVBLElBQUksQ0FBQ2YsK0JBQStCO2dCQUNsQyxzQ0FBc0M7Z0JBQ3RDZ0IsUUFBUUMsSUFBSSxDQUNWO2dCQUdGLE9BQU9WO1lBQ1Q7WUFFQSxNQUFNVyxhQUFhLE1BQU1DLElBQUFBLFdBQVMsRUFBSTtnQkFDcENmO2dCQUNBQztnQkFDQWUsK0JBQStCVCxVQUFVUyw2QkFBNkI7Z0JBQ3RFQyxhQUFhckI7Z0JBQ2JzQixjQUFjWCxVQUFVRCxJQUFJO2dCQUM1QkgsYUFBYUwsa0NBQWtDSztnQkFDL0NDO1lBQ0Y7WUFFQU4saUNBQWlDZ0I7WUFFakMsT0FBT0E7UUFDVDtJQUNGO0lBRUEsT0FBT1g7QUFDVCJ9
|
package/dist/mergeData.d.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import type { fieldSchemaToJSON } from 'payload/utilities';
|
|
2
|
-
|
|
2
|
+
import type { UpdatedDocument } from './types';
|
|
3
|
+
export declare const mergeData: <T>(args: {
|
|
3
4
|
apiRoute?: string;
|
|
4
|
-
depth
|
|
5
|
+
depth?: number;
|
|
6
|
+
externallyUpdatedRelationship?: UpdatedDocument;
|
|
5
7
|
fieldSchema: ReturnType<typeof fieldSchemaToJSON>;
|
|
6
8
|
incomingData: Partial<T>;
|
|
7
9
|
initialData: T;
|
|
10
|
+
returnNumberOfRequests?: boolean;
|
|
8
11
|
serverURL: string;
|
|
9
|
-
}
|
|
10
|
-
|
|
12
|
+
}) => Promise<T & {
|
|
13
|
+
_numberOfRequests?: number;
|
|
14
|
+
}>;
|
|
11
15
|
//# sourceMappingURL=mergeData.d.ts.map
|
package/dist/mergeData.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeData.d.ts","sourceRoot":"","sources":["../src/mergeData.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mergeData.d.ts","sourceRoot":"","sources":["../src/mergeData.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,KAAK,EAA2B,eAAe,EAAE,MAAM,SAAS,CAAA;AAIvE,eAAO,MAAM,SAAS;eACT,MAAM;YACT,MAAM;oCACkB,eAAe;iBAClC,WAAW,wBAAwB,CAAC;;;6BAGxB,OAAO;eACrB,MAAM;;wBAGK,MAAM;EAgE7B,CAAA"}
|
package/dist/mergeData.js
CHANGED
|
@@ -9,22 +9,50 @@ Object.defineProperty(exports, "mergeData", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const _traverseFields = require("./traverseFields");
|
|
12
|
-
const mergeData = async (
|
|
12
|
+
const mergeData = async (args)=>{
|
|
13
|
+
const { apiRoute, depth, externallyUpdatedRelationship, fieldSchema, incomingData, initialData, returnNumberOfRequests, serverURL } = args;
|
|
13
14
|
const result = {
|
|
14
15
|
...initialData
|
|
15
16
|
};
|
|
16
|
-
const
|
|
17
|
+
const populationsByCollection = {};
|
|
17
18
|
(0, _traverseFields.traverseFields)({
|
|
18
|
-
|
|
19
|
-
depth,
|
|
19
|
+
externallyUpdatedRelationship,
|
|
20
20
|
fieldSchema,
|
|
21
21
|
incomingData,
|
|
22
|
-
|
|
23
|
-
result
|
|
24
|
-
serverURL
|
|
22
|
+
populationsByCollection,
|
|
23
|
+
result
|
|
25
24
|
});
|
|
26
|
-
await Promise.all(
|
|
27
|
-
|
|
25
|
+
await Promise.all(Object.entries(populationsByCollection).map(async ([collection, populations])=>{
|
|
26
|
+
const ids = new Set(populations.map(({ id })=>id));
|
|
27
|
+
const url = `${serverURL}${apiRoute || '/api'}/${collection}?depth=${depth}&where[id][in]=${Array.from(ids).join(',')}`;
|
|
28
|
+
let res;
|
|
29
|
+
try {
|
|
30
|
+
res = await fetch(url, {
|
|
31
|
+
credentials: 'include',
|
|
32
|
+
headers: {
|
|
33
|
+
'Content-Type': 'application/json'
|
|
34
|
+
}
|
|
35
|
+
}).then((res)=>res.json());
|
|
36
|
+
if (res?.docs?.length > 0) {
|
|
37
|
+
res.docs.forEach((doc)=>{
|
|
38
|
+
populationsByCollection[collection].forEach((population)=>{
|
|
39
|
+
if (population.id === doc.id) {
|
|
40
|
+
population.ref[population.accessor] = doc;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
} catch (err) {
|
|
46
|
+
console.error(err) // eslint-disable-line no-console
|
|
47
|
+
;
|
|
48
|
+
}
|
|
49
|
+
}));
|
|
50
|
+
return {
|
|
51
|
+
...result,
|
|
52
|
+
...returnNumberOfRequests ? {
|
|
53
|
+
_numberOfRequests: Object.keys(populationsByCollection).length
|
|
54
|
+
} : {}
|
|
55
|
+
};
|
|
28
56
|
};
|
|
29
57
|
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXJnZURhdGEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQYWdpbmF0ZWREb2NzIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcbmltcG9ydCB0eXBlIHsgZmllbGRTY2hlbWFUb0pTT04gfSBmcm9tICdwYXlsb2FkL3V0aWxpdGllcydcblxuaW1wb3J0IHR5cGUgeyBQb3B1bGF0aW9uc0J5Q29sbGVjdGlvbiwgVXBkYXRlZERvY3VtZW50IH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgdHJhdmVyc2VGaWVsZHMgfSBmcm9tICcuL3RyYXZlcnNlRmllbGRzJ1xuXG5leHBvcnQgY29uc3QgbWVyZ2VEYXRhID0gYXN5bmMgPFQ+KGFyZ3M6IHtcbiAgYXBpUm91dGU/OiBzdHJpbmdcbiAgZGVwdGg/OiBudW1iZXJcbiAgZXh0ZXJuYWxseVVwZGF0ZWRSZWxhdGlvbnNoaXA/OiBVcGRhdGVkRG9jdW1lbnRcbiAgZmllbGRTY2hlbWE6IFJldHVyblR5cGU8dHlwZW9mIGZpZWxkU2NoZW1hVG9KU09OPlxuICBpbmNvbWluZ0RhdGE6IFBhcnRpYWw8VD5cbiAgaW5pdGlhbERhdGE6IFRcbiAgcmV0dXJuTnVtYmVyT2ZSZXF1ZXN0cz86IGJvb2xlYW5cbiAgc2VydmVyVVJMOiBzdHJpbmdcbn0pOiBQcm9taXNlPFxuICBUICYge1xuICAgIF9udW1iZXJPZlJlcXVlc3RzPzogbnVtYmVyXG4gIH1cbj4gPT4ge1xuICBjb25zdCB7XG4gICAgYXBpUm91dGUsXG4gICAgZGVwdGgsXG4gICAgZXh0ZXJuYWxseVVwZGF0ZWRSZWxhdGlvbnNoaXAsXG4gICAgZmllbGRTY2hlbWEsXG4gICAgaW5jb21pbmdEYXRhLFxuICAgIGluaXRpYWxEYXRhLFxuICAgIHJldHVybk51bWJlck9mUmVxdWVzdHMsXG4gICAgc2VydmVyVVJMLFxuICB9ID0gYXJnc1xuXG4gIGNvbnN0IHJlc3VsdCA9IHsgLi4uaW5pdGlhbERhdGEgfVxuXG4gIGNvbnN0IHBvcHVsYXRpb25zQnlDb2xsZWN0aW9uOiBQb3B1bGF0aW9uc0J5Q29sbGVjdGlvbiA9IHt9XG5cbiAgdHJhdmVyc2VGaWVsZHMoe1xuICAgIGV4dGVybmFsbHlVcGRhdGVkUmVsYXRpb25zaGlwLFxuICAgIGZpZWxkU2NoZW1hLFxuICAgIGluY29taW5nRGF0YSxcbiAgICBwb3B1bGF0aW9uc0J5Q29sbGVjdGlvbixcbiAgICByZXN1bHQsXG4gIH0pXG5cbiAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgT2JqZWN0LmVudHJpZXMocG9wdWxhdGlvbnNCeUNvbGxlY3Rpb24pLm1hcChhc3luYyAoW2NvbGxlY3Rpb24sIHBvcHVsYXRpb25zXSkgPT4ge1xuICAgICAgY29uc3QgaWRzID0gbmV3IFNldChwb3B1bGF0aW9ucy5tYXAoKHsgaWQgfSkgPT4gaWQpKVxuICAgICAgY29uc3QgdXJsID0gYCR7c2VydmVyVVJMfSR7XG4gICAgICAgIGFwaVJvdXRlIHx8ICcvYXBpJ1xuICAgICAgfS8ke2NvbGxlY3Rpb259P2RlcHRoPSR7ZGVwdGh9JndoZXJlW2lkXVtpbl09JHtBcnJheS5mcm9tKGlkcykuam9pbignLCcpfWBcblxuICAgICAgbGV0IHJlczogUGFnaW5hdGVkRG9jc1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXMgPSBhd2FpdCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICBjcmVkZW50aWFsczogJ2luY2x1ZGUnLFxuICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSkudGhlbigocmVzKSA9PiByZXMuanNvbigpKVxuXG4gICAgICAgIGlmIChyZXM/LmRvY3M/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICByZXMuZG9jcy5mb3JFYWNoKChkb2MpID0+IHtcbiAgICAgICAgICAgIHBvcHVsYXRpb25zQnlDb2xsZWN0aW9uW2NvbGxlY3Rpb25dLmZvckVhY2goKHBvcHVsYXRpb24pID0+IHtcbiAgICAgICAgICAgICAgaWYgKHBvcHVsYXRpb24uaWQgPT09IGRvYy5pZCkge1xuICAgICAgICAgICAgICAgIHBvcHVsYXRpb24ucmVmW3BvcHVsYXRpb24uYWNjZXNzb3JdID0gZG9jXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWNvbnNvbGVcbiAgICAgIH1cbiAgICB9KSxcbiAgKVxuXG4gIHJldHVybiB7XG4gICAgLi4ucmVzdWx0LFxuICAgIC4uLihyZXR1cm5OdW1iZXJPZlJlcXVlc3RzXG4gICAgICA/IHsgX251bWJlck9mUmVxdWVzdHM6IE9iamVjdC5rZXlzKHBvcHVsYXRpb25zQnlDb2xsZWN0aW9uKS5sZW5ndGggfVxuICAgICAgOiB7fSksXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJtZXJnZURhdGEiLCJhcmdzIiwiYXBpUm91dGUiLCJkZXB0aCIsImV4dGVybmFsbHlVcGRhdGVkUmVsYXRpb25zaGlwIiwiZmllbGRTY2hlbWEiLCJpbmNvbWluZ0RhdGEiLCJpbml0aWFsRGF0YSIsInJldHVybk51bWJlck9mUmVxdWVzdHMiLCJzZXJ2ZXJVUkwiLCJyZXN1bHQiLCJwb3B1bGF0aW9uc0J5Q29sbGVjdGlvbiIsInRyYXZlcnNlRmllbGRzIiwiUHJvbWlzZSIsImFsbCIsIk9iamVjdCIsImVudHJpZXMiLCJtYXAiLCJjb2xsZWN0aW9uIiwicG9wdWxhdGlvbnMiLCJpZHMiLCJTZXQiLCJpZCIsInVybCIsIkFycmF5IiwiZnJvbSIsImpvaW4iLCJyZXMiLCJmZXRjaCIsImNyZWRlbnRpYWxzIiwiaGVhZGVycyIsInRoZW4iLCJqc29uIiwiZG9jcyIsImxlbmd0aCIsImZvckVhY2giLCJkb2MiLCJwb3B1bGF0aW9uIiwicmVmIiwiYWNjZXNzb3IiLCJlcnIiLCJjb25zb2xlIiwiZXJyb3IiLCJfbnVtYmVyT2ZSZXF1ZXN0cyIsImtleXMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBT2FBOzs7ZUFBQUE7OztnQ0FGa0I7QUFFeEIsTUFBTUEsWUFBWSxPQUFVQztJQWNqQyxNQUFNLEVBQ0pDLFFBQVEsRUFDUkMsS0FBSyxFQUNMQyw2QkFBNkIsRUFDN0JDLFdBQVcsRUFDWEMsWUFBWSxFQUNaQyxXQUFXLEVBQ1hDLHNCQUFzQixFQUN0QkMsU0FBUyxFQUNWLEdBQUdSO0lBRUosTUFBTVMsU0FBUztRQUFFLEdBQUdILFdBQVc7SUFBQztJQUVoQyxNQUFNSSwwQkFBbUQsQ0FBQztJQUUxREMsSUFBQUEsOEJBQWMsRUFBQztRQUNiUjtRQUNBQztRQUNBQztRQUNBSztRQUNBRDtJQUNGO0lBRUEsTUFBTUcsUUFBUUMsR0FBRyxDQUNmQyxPQUFPQyxPQUFPLENBQUNMLHlCQUF5Qk0sR0FBRyxDQUFDLE9BQU8sQ0FBQ0MsWUFBWUMsWUFBWTtRQUMxRSxNQUFNQyxNQUFNLElBQUlDLElBQUlGLFlBQVlGLEdBQUcsQ0FBQyxDQUFDLEVBQUVLLEVBQUUsRUFBRSxHQUFLQTtRQUNoRCxNQUFNQyxNQUFNLENBQUMsRUFBRWQsVUFBVSxFQUN2QlAsWUFBWSxPQUNiLENBQUMsRUFBRWdCLFdBQVcsT0FBTyxFQUFFZixNQUFNLGVBQWUsRUFBRXFCLE1BQU1DLElBQUksQ0FBQ0wsS0FBS00sSUFBSSxDQUFDLEtBQUssQ0FBQztRQUUxRSxJQUFJQztRQUVKLElBQUk7WUFDRkEsTUFBTSxNQUFNQyxNQUFNTCxLQUFLO2dCQUNyQk0sYUFBYTtnQkFDYkMsU0FBUztvQkFDUCxnQkFBZ0I7Z0JBQ2xCO1lBQ0YsR0FBR0MsSUFBSSxDQUFDLENBQUNKLE1BQVFBLElBQUlLLElBQUk7WUFFekIsSUFBSUwsS0FBS00sTUFBTUMsU0FBUyxHQUFHO2dCQUN6QlAsSUFBSU0sSUFBSSxDQUFDRSxPQUFPLENBQUMsQ0FBQ0M7b0JBQ2hCekIsdUJBQXVCLENBQUNPLFdBQVcsQ0FBQ2lCLE9BQU8sQ0FBQyxDQUFDRTt3QkFDM0MsSUFBSUEsV0FBV2YsRUFBRSxLQUFLYyxJQUFJZCxFQUFFLEVBQUU7NEJBQzVCZSxXQUFXQyxHQUFHLENBQUNELFdBQVdFLFFBQVEsQ0FBQyxHQUFHSDt3QkFDeEM7b0JBQ0Y7Z0JBQ0Y7WUFDRjtRQUNGLEVBQUUsT0FBT0ksS0FBSztZQUNaQyxRQUFRQyxLQUFLLENBQUNGLEtBQUssaUNBQWlDOztRQUN0RDtJQUNGO0lBR0YsT0FBTztRQUNMLEdBQUc5QixNQUFNO1FBQ1QsR0FBSUYseUJBQ0E7WUFBRW1DLG1CQUFtQjVCLE9BQU82QixJQUFJLENBQUNqQyx5QkFBeUJ1QixNQUFNO1FBQUMsSUFDakUsQ0FBQyxDQUFDO0lBQ1I7QUFDRiJ9
|
package/dist/subscribe.d.ts
CHANGED
package/dist/subscribe.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["../src/subscribe.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;
|
|
1
|
+
{"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["../src/subscribe.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;eACT,MAAM;2BACM,IAAI;YACnB,MAAM;;eAEH,MAAM;cACN,YAAY,KAAK,IAa7B,CAAA"}
|
package/dist/subscribe.js
CHANGED
|
@@ -10,9 +10,10 @@ Object.defineProperty(exports, "subscribe", {
|
|
|
10
10
|
});
|
|
11
11
|
const _ = require(".");
|
|
12
12
|
const subscribe = (args)=>{
|
|
13
|
-
const { callback, depth, initialData, serverURL } = args;
|
|
13
|
+
const { apiRoute, callback, depth, initialData, serverURL } = args;
|
|
14
14
|
const onMessage = async (event)=>{
|
|
15
15
|
const mergedData = await (0, _.handleMessage)({
|
|
16
|
+
apiRoute,
|
|
16
17
|
depth,
|
|
17
18
|
event,
|
|
18
19
|
initialData,
|
|
@@ -26,4 +27,4 @@ const subscribe = (args)=>{
|
|
|
26
27
|
return onMessage;
|
|
27
28
|
};
|
|
28
29
|
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdWJzY3JpYmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaGFuZGxlTWVzc2FnZSB9IGZyb20gJy4nXG5cbmV4cG9ydCBjb25zdCBzdWJzY3JpYmUgPSA8VD4oYXJnczoge1xuICBhcGlSb3V0ZT86IHN0cmluZ1xuICBjYWxsYmFjazogKGRhdGE6IFQpID0+IHZvaWRcbiAgZGVwdGg/OiBudW1iZXJcbiAgaW5pdGlhbERhdGE6IFRcbiAgc2VydmVyVVJMOiBzdHJpbmdcbn0pOiAoKGV2ZW50OiBNZXNzYWdlRXZlbnQpID0+IHZvaWQpID0+IHtcbiAgY29uc3QgeyBhcGlSb3V0ZSwgY2FsbGJhY2ssIGRlcHRoLCBpbml0aWFsRGF0YSwgc2VydmVyVVJMIH0gPSBhcmdzXG5cbiAgY29uc3Qgb25NZXNzYWdlID0gYXN5bmMgKGV2ZW50OiBNZXNzYWdlRXZlbnQpID0+IHtcbiAgICBjb25zdCBtZXJnZWREYXRhID0gYXdhaXQgaGFuZGxlTWVzc2FnZTxUPih7IGFwaVJvdXRlLCBkZXB0aCwgZXZlbnQsIGluaXRpYWxEYXRhLCBzZXJ2ZXJVUkwgfSlcbiAgICBjYWxsYmFjayhtZXJnZWREYXRhKVxuICB9XG5cbiAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBvbk1lc3NhZ2UpXG4gIH1cblxuICByZXR1cm4gb25NZXNzYWdlXG59XG4iXSwibmFtZXMiOlsic3Vic2NyaWJlIiwiYXJncyIsImFwaVJvdXRlIiwiY2FsbGJhY2siLCJkZXB0aCIsImluaXRpYWxEYXRhIiwic2VydmVyVVJMIiwib25NZXNzYWdlIiwiZXZlbnQiLCJtZXJnZWREYXRhIiwiaGFuZGxlTWVzc2FnZSIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiXSwibWFwcGluZ3MiOiI7Ozs7K0JBRWFBOzs7ZUFBQUE7OztrQkFGaUI7QUFFdkIsTUFBTUEsWUFBWSxDQUFJQztJQU8zQixNQUFNLEVBQUVDLFFBQVEsRUFBRUMsUUFBUSxFQUFFQyxLQUFLLEVBQUVDLFdBQVcsRUFBRUMsU0FBUyxFQUFFLEdBQUdMO0lBRTlELE1BQU1NLFlBQVksT0FBT0M7UUFDdkIsTUFBTUMsYUFBYSxNQUFNQyxJQUFBQSxlQUFhLEVBQUk7WUFBRVI7WUFBVUU7WUFBT0k7WUFBT0g7WUFBYUM7UUFBVTtRQUMzRkgsU0FBU007SUFDWDtJQUVBLElBQUksT0FBT0UsV0FBVyxhQUFhO1FBQ2pDQSxPQUFPQyxnQkFBZ0IsQ0FBQyxXQUFXTDtJQUNyQztJQUVBLE9BQU9BO0FBQ1QifQ==
|
package/dist/traverseFields.d.ts
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import type { fieldSchemaToJSON } from 'payload/utilities';
|
|
2
|
-
type
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import type { PopulationsByCollection, UpdatedDocument } from './types';
|
|
3
|
+
export declare const traverseFields: <T>(args: {
|
|
4
|
+
externallyUpdatedRelationship?: UpdatedDocument;
|
|
5
5
|
fieldSchema: ReturnType<typeof fieldSchemaToJSON>;
|
|
6
6
|
incomingData: T;
|
|
7
|
-
|
|
7
|
+
populationsByCollection: PopulationsByCollection;
|
|
8
8
|
result: T;
|
|
9
|
-
|
|
10
|
-
};
|
|
11
|
-
export declare const traverseFields: <T>({ apiRoute, depth, fieldSchema, incomingData, populationPromises, result, serverURL, }: Args<T>) => void;
|
|
12
|
-
export {};
|
|
9
|
+
}) => void;
|
|
13
10
|
//# sourceMappingURL=traverseFields.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../src/traverseFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../src/traverseFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAIvE,eAAO,MAAM,cAAc;oCACO,eAAe;iBAClC,WAAW,wBAAwB,CAAC;;6BAExB,uBAAuB;;MAE9C,IA4QH,CAAA"}
|
package/dist/traverseFields.js
CHANGED
|
@@ -8,51 +8,61 @@ Object.defineProperty(exports, "traverseFields", {
|
|
|
8
8
|
return traverseFields;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const
|
|
12
|
-
const traverseFields = (
|
|
13
|
-
fieldSchema
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
const _traverseRichText = require("./traverseRichText");
|
|
12
|
+
const traverseFields = (args)=>{
|
|
13
|
+
const { externallyUpdatedRelationship, fieldSchema: fieldSchemas, incomingData, populationsByCollection, result } = args;
|
|
14
|
+
fieldSchemas.forEach((fieldSchema)=>{
|
|
15
|
+
if ('name' in fieldSchema && typeof fieldSchema.name === 'string') {
|
|
16
|
+
const fieldName = fieldSchema.name;
|
|
17
|
+
switch(fieldSchema.type){
|
|
18
|
+
case 'richText':
|
|
19
|
+
result[fieldName] = (0, _traverseRichText.traverseRichText)({
|
|
20
|
+
externallyUpdatedRelationship,
|
|
21
|
+
incomingData: incomingData[fieldName],
|
|
22
|
+
populationsByCollection,
|
|
23
|
+
result: result[fieldName]
|
|
24
|
+
});
|
|
25
|
+
break;
|
|
17
26
|
case 'array':
|
|
18
27
|
if (Array.isArray(incomingData[fieldName])) {
|
|
19
|
-
result[fieldName] = incomingData[fieldName].map((
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
28
|
+
result[fieldName] = incomingData[fieldName].map((incomingRow, i)=>{
|
|
29
|
+
if (!result[fieldName]) {
|
|
30
|
+
result[fieldName] = [];
|
|
31
|
+
}
|
|
32
|
+
if (!result[fieldName][i]) {
|
|
33
|
+
result[fieldName][i] = {};
|
|
34
|
+
}
|
|
24
35
|
traverseFields({
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
result: newRow,
|
|
31
|
-
serverURL
|
|
36
|
+
externallyUpdatedRelationship,
|
|
37
|
+
fieldSchema: fieldSchema.fields,
|
|
38
|
+
incomingData: incomingRow,
|
|
39
|
+
populationsByCollection,
|
|
40
|
+
result: result[fieldName][i]
|
|
32
41
|
});
|
|
33
|
-
return
|
|
42
|
+
return result[fieldName][i];
|
|
34
43
|
});
|
|
35
44
|
}
|
|
36
45
|
break;
|
|
37
46
|
case 'blocks':
|
|
38
47
|
if (Array.isArray(incomingData[fieldName])) {
|
|
39
48
|
result[fieldName] = incomingData[fieldName].map((incomingBlock, i)=>{
|
|
40
|
-
const incomingBlockJSON =
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
49
|
+
const incomingBlockJSON = fieldSchema.blocks[incomingBlock.blockType];
|
|
50
|
+
if (!result[fieldName]) {
|
|
51
|
+
result[fieldName] = [];
|
|
52
|
+
}
|
|
53
|
+
if (!result[fieldName][i] || result[fieldName][i].id !== incomingBlock.id || result[fieldName][i].blockType !== incomingBlock.blockType) {
|
|
54
|
+
result[fieldName][i] = {
|
|
55
|
+
blockType: incomingBlock.blockType
|
|
56
|
+
};
|
|
57
|
+
}
|
|
46
58
|
traverseFields({
|
|
47
|
-
|
|
48
|
-
depth,
|
|
59
|
+
externallyUpdatedRelationship,
|
|
49
60
|
fieldSchema: incomingBlockJSON.fields,
|
|
50
61
|
incomingData: incomingBlock,
|
|
51
|
-
|
|
52
|
-
result:
|
|
53
|
-
serverURL
|
|
62
|
+
populationsByCollection,
|
|
63
|
+
result: result[fieldName][i]
|
|
54
64
|
});
|
|
55
|
-
return
|
|
65
|
+
return result[fieldName][i];
|
|
56
66
|
});
|
|
57
67
|
} else {
|
|
58
68
|
result[fieldName] = [];
|
|
@@ -64,102 +74,118 @@ const traverseFields = ({ apiRoute, depth, fieldSchema, incomingData, population
|
|
|
64
74
|
result[fieldName] = {};
|
|
65
75
|
}
|
|
66
76
|
traverseFields({
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
fieldSchema: fieldJSON.fields,
|
|
77
|
+
externallyUpdatedRelationship,
|
|
78
|
+
fieldSchema: fieldSchema.fields,
|
|
70
79
|
incomingData: incomingData[fieldName] || {},
|
|
71
|
-
|
|
72
|
-
result: result[fieldName]
|
|
73
|
-
serverURL
|
|
80
|
+
populationsByCollection,
|
|
81
|
+
result: result[fieldName]
|
|
74
82
|
});
|
|
75
83
|
break;
|
|
76
84
|
case 'upload':
|
|
77
85
|
case 'relationship':
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
].slice(0, incomingData[fieldName].length) : [];
|
|
85
|
-
incomingData[fieldName].forEach((relation, i)=>{
|
|
86
|
+
// Handle `hasMany` relationships
|
|
87
|
+
if (fieldSchema.hasMany && Array.isArray(incomingData[fieldName])) {
|
|
88
|
+
if (!result[fieldName] || !incomingData[fieldName].length) {
|
|
89
|
+
result[fieldName] = [];
|
|
90
|
+
}
|
|
91
|
+
incomingData[fieldName].forEach((incomingRelation, i)=>{
|
|
86
92
|
// Handle `hasMany` polymorphic
|
|
87
|
-
if (Array.isArray(
|
|
88
|
-
|
|
89
|
-
|
|
93
|
+
if (Array.isArray(fieldSchema.relationTo)) {
|
|
94
|
+
// if the field doesn't exist on the result, create it
|
|
95
|
+
// the value will be populated later
|
|
96
|
+
if (!result[fieldName][i]) {
|
|
90
97
|
result[fieldName][i] = {
|
|
91
|
-
relationTo:
|
|
98
|
+
relationTo: incomingRelation.relationTo
|
|
92
99
|
};
|
|
93
|
-
|
|
94
|
-
|
|
100
|
+
}
|
|
101
|
+
const oldID = result[fieldName][i]?.value?.id;
|
|
102
|
+
const oldRelation = result[fieldName][i]?.relationTo;
|
|
103
|
+
const newID = incomingRelation.value;
|
|
104
|
+
const newRelation = incomingRelation.relationTo;
|
|
105
|
+
const hasChanged = newID !== oldID || newRelation !== oldRelation;
|
|
106
|
+
const hasUpdated = newRelation === externallyUpdatedRelationship?.entitySlug && newID === externallyUpdatedRelationship?.id;
|
|
107
|
+
if (hasChanged || hasUpdated) {
|
|
108
|
+
if (!populationsByCollection[newRelation]) {
|
|
109
|
+
populationsByCollection[newRelation] = [];
|
|
110
|
+
}
|
|
111
|
+
populationsByCollection[newRelation].push({
|
|
112
|
+
id: incomingRelation.value,
|
|
95
113
|
accessor: 'value',
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
depth,
|
|
99
|
-
ref: result[fieldName][i],
|
|
100
|
-
serverURL
|
|
101
|
-
}));
|
|
114
|
+
ref: result[fieldName][i]
|
|
115
|
+
});
|
|
102
116
|
}
|
|
103
117
|
} else {
|
|
104
118
|
// Handle `hasMany` monomorphic
|
|
105
|
-
const
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
119
|
+
const hasChanged = incomingRelation !== result[fieldName][i]?.id;
|
|
120
|
+
const hasUpdated = fieldSchema.relationTo === externallyUpdatedRelationship?.entitySlug && incomingRelation === externallyUpdatedRelationship?.id;
|
|
121
|
+
if (hasChanged || hasUpdated) {
|
|
122
|
+
if (!populationsByCollection[fieldSchema.relationTo]) {
|
|
123
|
+
populationsByCollection[fieldSchema.relationTo] = [];
|
|
124
|
+
}
|
|
125
|
+
populationsByCollection[fieldSchema.relationTo].push({
|
|
126
|
+
id: incomingRelation,
|
|
109
127
|
accessor: i,
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
depth,
|
|
113
|
-
ref: result[fieldName],
|
|
114
|
-
serverURL
|
|
115
|
-
}));
|
|
128
|
+
ref: result[fieldName]
|
|
129
|
+
});
|
|
116
130
|
}
|
|
117
131
|
}
|
|
118
132
|
});
|
|
119
133
|
} else {
|
|
120
134
|
// Handle `hasOne` polymorphic
|
|
121
|
-
if (Array.isArray(
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
135
|
+
if (Array.isArray(fieldSchema.relationTo)) {
|
|
136
|
+
// if the field doesn't exist on the result, create it
|
|
137
|
+
// the value will be populated later
|
|
138
|
+
if (!result[fieldName]) {
|
|
139
|
+
result[fieldName] = {
|
|
140
|
+
relationTo: incomingData[fieldName]?.relationTo
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
const hasNewValue = incomingData[fieldName] && typeof incomingData[fieldName] === 'object' && incomingData[fieldName] !== null;
|
|
144
|
+
const hasOldValue = result[fieldName] && typeof result[fieldName] === 'object' && result[fieldName] !== null;
|
|
145
|
+
const newID = hasNewValue ? typeof incomingData[fieldName].value === 'object' ? incomingData[fieldName].value.id : incomingData[fieldName].value : '';
|
|
146
|
+
const oldID = hasOldValue ? typeof result[fieldName].value === 'object' ? result[fieldName].value.id : result[fieldName].value : '';
|
|
125
147
|
const newRelation = hasNewValue ? incomingData[fieldName].relationTo : '';
|
|
126
|
-
const oldValue = hasOldValue ? result[fieldName].value : '';
|
|
127
148
|
const oldRelation = hasOldValue ? result[fieldName].relationTo : '';
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
149
|
+
const hasChanged = newID !== oldID || newRelation !== oldRelation;
|
|
150
|
+
const hasUpdated = newRelation === externallyUpdatedRelationship?.entitySlug && newID === externallyUpdatedRelationship?.id;
|
|
151
|
+
// if the new value/relation is different from the old value/relation
|
|
152
|
+
// populate the new value, otherwise leave it alone
|
|
153
|
+
if (hasChanged || hasUpdated) {
|
|
154
|
+
// if the new value is not empty, populate it
|
|
155
|
+
// otherwise set the value to null
|
|
156
|
+
if (newID) {
|
|
157
|
+
if (!populationsByCollection[newRelation]) {
|
|
158
|
+
populationsByCollection[newRelation] = [];
|
|
134
159
|
}
|
|
135
|
-
|
|
136
|
-
id:
|
|
160
|
+
populationsByCollection[newRelation].push({
|
|
161
|
+
id: newID,
|
|
137
162
|
accessor: 'value',
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
serverURL
|
|
143
|
-
}));
|
|
163
|
+
ref: result[fieldName]
|
|
164
|
+
});
|
|
165
|
+
} else {
|
|
166
|
+
result[fieldName] = null;
|
|
144
167
|
}
|
|
145
|
-
} else {
|
|
146
|
-
result[fieldName] = null;
|
|
147
168
|
}
|
|
148
169
|
} else {
|
|
149
170
|
// Handle `hasOne` monomorphic
|
|
150
|
-
const newID =
|
|
151
|
-
const oldID =
|
|
152
|
-
|
|
171
|
+
const newID = incomingData[fieldName] && typeof incomingData[fieldName] === 'object' && incomingData[fieldName].id || incomingData[fieldName];
|
|
172
|
+
const oldID = result[fieldName] && typeof result[fieldName] === 'object' && result[fieldName].id || result[fieldName];
|
|
173
|
+
const hasChanged = newID !== oldID;
|
|
174
|
+
const hasUpdated = fieldSchema.relationTo === externallyUpdatedRelationship?.entitySlug && newID === externallyUpdatedRelationship?.id;
|
|
175
|
+
// if the new value is different from the old value
|
|
176
|
+
// populate the new value, otherwise leave it alone
|
|
177
|
+
if (hasChanged || hasUpdated) {
|
|
178
|
+
// if the new value is not empty, populate it
|
|
179
|
+
// otherwise set the value to null
|
|
153
180
|
if (newID) {
|
|
154
|
-
|
|
181
|
+
if (!populationsByCollection[fieldSchema.relationTo]) {
|
|
182
|
+
populationsByCollection[fieldSchema.relationTo] = [];
|
|
183
|
+
}
|
|
184
|
+
populationsByCollection[fieldSchema.relationTo].push({
|
|
155
185
|
id: newID,
|
|
156
186
|
accessor: fieldName,
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
depth,
|
|
160
|
-
ref: result,
|
|
161
|
-
serverURL
|
|
162
|
-
}));
|
|
187
|
+
ref: result
|
|
188
|
+
});
|
|
163
189
|
} else {
|
|
164
190
|
result[fieldName] = null;
|
|
165
191
|
}
|
|
@@ -172,7 +198,6 @@ const traverseFields = ({ apiRoute, depth, fieldSchema, incomingData, population
|
|
|
172
198
|
}
|
|
173
199
|
}
|
|
174
200
|
});
|
|
175
|
-
return null;
|
|
176
201
|
};
|
|
177
202
|
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90cmF2ZXJzZUZpZWxkcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IGZpZWxkU2NoZW1hVG9KU09OIH0gZnJvbSAncGF5bG9hZC91dGlsaXRpZXMnXG5cbmltcG9ydCB7IHByb21pc2UgfSBmcm9tICcuL3Byb21pc2UnXG5cbnR5cGUgQXJnczxUPiA9IHtcbiAgYXBpUm91dGU/OiBzdHJpbmdcbiAgZGVwdGg6IG51bWJlclxuICBmaWVsZFNjaGVtYTogUmV0dXJuVHlwZTx0eXBlb2YgZmllbGRTY2hlbWFUb0pTT04+XG4gIGluY29taW5nRGF0YTogVFxuICBwb3B1bGF0aW9uUHJvbWlzZXM6IFByb21pc2U8dm9pZD5bXVxuICByZXN1bHQ6IFRcbiAgc2VydmVyVVJMOiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IHRyYXZlcnNlRmllbGRzID0gPFQ+KHtcbiAgYXBpUm91dGUsXG4gIGRlcHRoLFxuICBmaWVsZFNjaGVtYSxcbiAgaW5jb21pbmdEYXRhLFxuICBwb3B1bGF0aW9uUHJvbWlzZXMsXG4gIHJlc3VsdCxcbiAgc2VydmVyVVJMLFxufTogQXJnczxUPik6IHZvaWQgPT4ge1xuICBmaWVsZFNjaGVtYS5mb3JFYWNoKChmaWVsZEpTT04pID0+IHtcbiAgICBpZiAoJ25hbWUnIGluIGZpZWxkSlNPTiAmJiB0eXBlb2YgZmllbGRKU09OLm5hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSBmaWVsZEpTT04ubmFtZVxuXG4gICAgICBzd2l0Y2ggKGZpZWxkSlNPTi50eXBlKSB7XG4gICAgICAgIGNhc2UgJ2FycmF5JzpcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpbmNvbWluZ0RhdGFbZmllbGROYW1lXSkpIHtcbiAgICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdID0gaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0ubWFwKChyb3csIGkpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgaGFzRXhpc3RpbmdSb3cgPVxuICAgICAgICAgICAgICAgIEFycmF5LmlzQXJyYXkocmVzdWx0W2ZpZWxkTmFtZV0pICYmXG4gICAgICAgICAgICAgICAgdHlwZW9mIHJlc3VsdFtmaWVsZE5hbWVdW2ldID09PSAnb2JqZWN0JyAmJlxuICAgICAgICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdW2ldICE9PSBudWxsXG5cbiAgICAgICAgICAgICAgY29uc3QgbmV3Um93ID0gaGFzRXhpc3RpbmdSb3cgPyB7IC4uLnJlc3VsdFtmaWVsZE5hbWVdW2ldIH0gOiB7fVxuXG4gICAgICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgICAgICBhcGlSb3V0ZSxcbiAgICAgICAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICAgICAgICBmaWVsZFNjaGVtYTogZmllbGRKU09OLmZpZWxkcyxcbiAgICAgICAgICAgICAgICBpbmNvbWluZ0RhdGE6IHJvdyxcbiAgICAgICAgICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMsXG4gICAgICAgICAgICAgICAgcmVzdWx0OiBuZXdSb3csXG4gICAgICAgICAgICAgICAgc2VydmVyVVJMLFxuICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgIHJldHVybiBuZXdSb3dcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrXG5cbiAgICAgICAgY2FzZSAnYmxvY2tzJzpcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpbmNvbWluZ0RhdGFbZmllbGROYW1lXSkpIHtcbiAgICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdID0gaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0ubWFwKChpbmNvbWluZ0Jsb2NrLCBpKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGluY29taW5nQmxvY2tKU09OID0gZmllbGRKU09OLmJsb2Nrc1tpbmNvbWluZ0Jsb2NrLmJsb2NrVHlwZV1cblxuICAgICAgICAgICAgICAvLyBDb21wYXJlIHRoZSBpbmRleCBhbmQgaWQgdG8gZGV0ZXJtaW5lIGlmIHRoaXMgYmxvY2sgYWxyZWFkeSBleGlzdHMgaW4gdGhlIHJlc3VsdFxuICAgICAgICAgICAgICAvLyBJZiBzbywgd2Ugd2FudCB0byB1c2UgdGhlIGV4aXN0aW5nIGJsb2NrIGFzIHRoZSBiYXNlLCBvdGhlcndpc2UgdGFrZSB0aGUgaW5jb21pbmcgYmxvY2tcbiAgICAgICAgICAgICAgLy8gRWl0aGVyIHdheSwgd2Ugd2lsbCB0cmF2ZXJzZSB0aGUgZmllbGRzIG9mIHRoZSBibG9jayB0byBwb3B1bGF0ZSByZWxhdGlvbnNoaXBzXG4gICAgICAgICAgICAgIGNvbnN0IGlzRXhpc3RpbmdCbG9jayA9XG4gICAgICAgICAgICAgICAgQXJyYXkuaXNBcnJheShyZXN1bHRbZmllbGROYW1lXSkgJiZcbiAgICAgICAgICAgICAgICB0eXBlb2YgcmVzdWx0W2ZpZWxkTmFtZV1baV0gPT09ICdvYmplY3QnICYmXG4gICAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkTmFtZV1baV0gIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXVtpXS5pZCA9PT0gaW5jb21pbmdCbG9jay5pZFxuXG4gICAgICAgICAgICAgIGNvbnN0IGJsb2NrID0gaXNFeGlzdGluZ0Jsb2NrID8gcmVzdWx0W2ZpZWxkTmFtZV1baV0gOiBpbmNvbWluZ0Jsb2NrXG5cbiAgICAgICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgICAgIGFwaVJvdXRlLFxuICAgICAgICAgICAgICAgIGRlcHRoLFxuICAgICAgICAgICAgICAgIGZpZWxkU2NoZW1hOiBpbmNvbWluZ0Jsb2NrSlNPTi5maWVsZHMsXG4gICAgICAgICAgICAgICAgaW5jb21pbmdEYXRhOiBpbmNvbWluZ0Jsb2NrLFxuICAgICAgICAgICAgICAgIHBvcHVsYXRpb25Qcm9taXNlcyxcbiAgICAgICAgICAgICAgICByZXN1bHQ6IGJsb2NrLFxuICAgICAgICAgICAgICAgIHNlcnZlclVSTCxcbiAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICByZXR1cm4gYmxvY2tcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdID0gW11cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVha1xuXG4gICAgICAgIGNhc2UgJ3RhYnMnOlxuICAgICAgICBjYXNlICdncm91cCc6XG4gICAgICAgICAgaWYgKCFyZXN1bHRbZmllbGROYW1lXSkge1xuICAgICAgICAgICAgcmVzdWx0W2ZpZWxkTmFtZV0gPSB7fVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgIGFwaVJvdXRlLFxuICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICBmaWVsZFNjaGVtYTogZmllbGRKU09OLmZpZWxkcyxcbiAgICAgICAgICAgIGluY29taW5nRGF0YTogaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0gfHwge30sXG4gICAgICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMsXG4gICAgICAgICAgICByZXN1bHQ6IHJlc3VsdFtmaWVsZE5hbWVdLFxuICAgICAgICAgICAgc2VydmVyVVJMLFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBicmVha1xuXG4gICAgICAgIGNhc2UgJ3VwbG9hZCc6XG4gICAgICAgIGNhc2UgJ3JlbGF0aW9uc2hpcCc6XG4gICAgICAgICAgaWYgKGZpZWxkSlNPTi5oYXNNYW55ICYmIEFycmF5LmlzQXJyYXkoaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0pKSB7XG4gICAgICAgICAgICBjb25zdCBleGlzdGluZ1ZhbHVlID0gQXJyYXkuaXNBcnJheShyZXN1bHRbZmllbGROYW1lXSkgPyBbLi4ucmVzdWx0W2ZpZWxkTmFtZV1dIDogW11cbiAgICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdID0gQXJyYXkuaXNBcnJheShyZXN1bHRbZmllbGROYW1lXSlcbiAgICAgICAgICAgICAgPyBbLi4ucmVzdWx0W2ZpZWxkTmFtZV1dLnNsaWNlKDAsIGluY29taW5nRGF0YVtmaWVsZE5hbWVdLmxlbmd0aClcbiAgICAgICAgICAgICAgOiBbXVxuXG4gICAgICAgICAgICBpbmNvbWluZ0RhdGFbZmllbGROYW1lXS5mb3JFYWNoKChyZWxhdGlvbiwgaSkgPT4ge1xuICAgICAgICAgICAgICAvLyBIYW5kbGUgYGhhc01hbnlgIHBvbHltb3JwaGljXG4gICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkSlNPTi5yZWxhdGlvblRvKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGV4aXN0aW5nSUQgPSBleGlzdGluZ1ZhbHVlW2ldPy52YWx1ZT8uaWRcblxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgIGV4aXN0aW5nSUQgIT09IHJlbGF0aW9uLnZhbHVlIHx8XG4gICAgICAgICAgICAgICAgICBleGlzdGluZ1ZhbHVlW2ldPy5yZWxhdGlvblRvICE9PSByZWxhdGlvbi5yZWxhdGlvblRvXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXVtpXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgcmVsYXRpb25UbzogcmVsYXRpb24ucmVsYXRpb25UbyxcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgcG9wdWxhdGlvblByb21pc2VzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIHByb21pc2Uoe1xuICAgICAgICAgICAgICAgICAgICAgIGlkOiByZWxhdGlvbi52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NvcjogJ3ZhbHVlJyxcbiAgICAgICAgICAgICAgICAgICAgICBhcGlSb3V0ZSxcbiAgICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uOiByZWxhdGlvbi5yZWxhdGlvblRvLFxuICAgICAgICAgICAgICAgICAgICAgIGRlcHRoLFxuICAgICAgICAgICAgICAgICAgICAgIHJlZjogcmVzdWx0W2ZpZWxkTmFtZV1baV0sXG4gICAgICAgICAgICAgICAgICAgICAgc2VydmVyVVJMLFxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gSGFuZGxlIGBoYXNNYW55YCBtb25vbW9ycGhpY1xuICAgICAgICAgICAgICAgIGNvbnN0IGV4aXN0aW5nSUQgPSBleGlzdGluZ1ZhbHVlW2ldPy5pZFxuXG4gICAgICAgICAgICAgICAgaWYgKGV4aXN0aW5nSUQgIT09IHJlbGF0aW9uKSB7XG4gICAgICAgICAgICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgcHJvbWlzZSh7XG4gICAgICAgICAgICAgICAgICAgICAgaWQ6IHJlbGF0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc29yOiBpLFxuICAgICAgICAgICAgICAgICAgICAgIGFwaVJvdXRlLFxuICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb246IFN0cmluZyhmaWVsZEpTT04ucmVsYXRpb25UbyksXG4gICAgICAgICAgICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICAgICAgICAgICAgcmVmOiByZXN1bHRbZmllbGROYW1lXSxcbiAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJVUkwsXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gSGFuZGxlIGBoYXNPbmVgIHBvbHltb3JwaGljXG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZEpTT04ucmVsYXRpb25UbykpIHtcbiAgICAgICAgICAgICAgY29uc3QgaGFzTmV3VmFsdWUgPVxuICAgICAgICAgICAgICAgIHR5cGVvZiBpbmNvbWluZ0RhdGFbZmllbGROYW1lXSA9PT0gJ29iamVjdCcgJiYgaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0gIT09IG51bGxcbiAgICAgICAgICAgICAgY29uc3QgaGFzT2xkVmFsdWUgPVxuICAgICAgICAgICAgICAgIHR5cGVvZiByZXN1bHRbZmllbGROYW1lXSA9PT0gJ29iamVjdCcgJiYgcmVzdWx0W2ZpZWxkTmFtZV0gIT09IG51bGxcblxuICAgICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGhhc05ld1ZhbHVlID8gaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0udmFsdWUgOiAnJ1xuICAgICAgICAgICAgICBjb25zdCBuZXdSZWxhdGlvbiA9IGhhc05ld1ZhbHVlID8gaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0ucmVsYXRpb25UbyA6ICcnXG5cbiAgICAgICAgICAgICAgY29uc3Qgb2xkVmFsdWUgPSBoYXNPbGRWYWx1ZSA/IHJlc3VsdFtmaWVsZE5hbWVdLnZhbHVlIDogJydcbiAgICAgICAgICAgICAgY29uc3Qgb2xkUmVsYXRpb24gPSBoYXNPbGRWYWx1ZSA/IHJlc3VsdFtmaWVsZE5hbWVdLnJlbGF0aW9uVG8gOiAnJ1xuXG4gICAgICAgICAgICAgIGlmIChuZXdWYWx1ZSAhPT0gb2xkVmFsdWUgfHwgbmV3UmVsYXRpb24gIT09IG9sZFJlbGF0aW9uKSB7XG4gICAgICAgICAgICAgICAgaWYgKG5ld1ZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdFtmaWVsZE5hbWVdKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdID0ge1xuICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uVG86IG5ld1JlbGF0aW9uLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIHBvcHVsYXRpb25Qcm9taXNlcy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICBwcm9taXNlKHtcbiAgICAgICAgICAgICAgICAgICAgICBpZDogbmV3VmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgYWNjZXNzb3I6ICd2YWx1ZScsXG4gICAgICAgICAgICAgICAgICAgICAgYXBpUm91dGUsXG4gICAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbjogbmV3UmVsYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICAgICAgICAgICAgcmVmOiByZXN1bHRbZmllbGROYW1lXSxcbiAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJVUkwsXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXSA9IG51bGxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gSGFuZGxlIGBoYXNPbmVgIG1vbm9tb3JwaGljXG4gICAgICAgICAgICAgIGNvbnN0IG5ld0lEOiBzdHJpbmcgPVxuICAgICAgICAgICAgICAgICh0eXBlb2YgaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0gPT09ICdzdHJpbmcnICYmIGluY29taW5nRGF0YVtmaWVsZE5hbWVdKSB8fFxuICAgICAgICAgICAgICAgICh0eXBlb2YgaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0gPT09ICdvYmplY3QnICYmXG4gICAgICAgICAgICAgICAgICBpbmNvbWluZ0RhdGFbZmllbGROYW1lXSAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgICAgaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0uaWQpIHx8XG4gICAgICAgICAgICAgICAgJydcblxuICAgICAgICAgICAgICBjb25zdCBvbGRJRDogc3RyaW5nID1cbiAgICAgICAgICAgICAgICAodHlwZW9mIHJlc3VsdFtmaWVsZE5hbWVdID09PSAnc3RyaW5nJyAmJiByZXN1bHRbZmllbGROYW1lXSkgfHxcbiAgICAgICAgICAgICAgICAodHlwZW9mIHJlc3VsdFtmaWVsZE5hbWVdID09PSAnb2JqZWN0JyAmJlxuICAgICAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkTmFtZV0gIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdLmlkKSB8fFxuICAgICAgICAgICAgICAgICcnXG5cbiAgICAgICAgICAgICAgaWYgKG5ld0lEICE9PSBvbGRJRCkge1xuICAgICAgICAgICAgICAgIGlmIChuZXdJRCkge1xuICAgICAgICAgICAgICAgICAgcG9wdWxhdGlvblByb21pc2VzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIHByb21pc2Uoe1xuICAgICAgICAgICAgICAgICAgICAgIGlkOiBuZXdJRCxcbiAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NvcjogZmllbGROYW1lLFxuICAgICAgICAgICAgICAgICAgICAgIGFwaVJvdXRlLFxuICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb246IFN0cmluZyhmaWVsZEpTT04ucmVsYXRpb25UbyksXG4gICAgICAgICAgICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICAgICAgICAgICAgcmVmOiByZXN1bHQgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgICAgICAgICAgICAgICAgICAgc2VydmVyVVJMLFxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkTmFtZV0gPSBudWxsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWtcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdID0gaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV1cbiAgICAgIH1cbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIG51bGxcbn1cbiJdLCJuYW1lcyI6WyJ0cmF2ZXJzZUZpZWxkcyIsImFwaVJvdXRlIiwiZGVwdGgiLCJmaWVsZFNjaGVtYSIsImluY29taW5nRGF0YSIsInBvcHVsYXRpb25Qcm9taXNlcyIsInJlc3VsdCIsInNlcnZlclVSTCIsImZvckVhY2giLCJmaWVsZEpTT04iLCJuYW1lIiwiZmllbGROYW1lIiwidHlwZSIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsInJvdyIsImkiLCJoYXNFeGlzdGluZ1JvdyIsIm5ld1JvdyIsImZpZWxkcyIsImluY29taW5nQmxvY2siLCJpbmNvbWluZ0Jsb2NrSlNPTiIsImJsb2NrcyIsImJsb2NrVHlwZSIsImlzRXhpc3RpbmdCbG9jayIsImlkIiwiYmxvY2siLCJoYXNNYW55IiwiZXhpc3RpbmdWYWx1ZSIsInNsaWNlIiwibGVuZ3RoIiwicmVsYXRpb24iLCJyZWxhdGlvblRvIiwiZXhpc3RpbmdJRCIsInZhbHVlIiwicHVzaCIsInByb21pc2UiLCJhY2Nlc3NvciIsImNvbGxlY3Rpb24iLCJyZWYiLCJTdHJpbmciLCJoYXNOZXdWYWx1ZSIsImhhc09sZFZhbHVlIiwibmV3VmFsdWUiLCJuZXdSZWxhdGlvbiIsIm9sZFZhbHVlIiwib2xkUmVsYXRpb24iLCJuZXdJRCIsIm9sZElEIl0sIm1hcHBpbmdzIjoiOzs7OytCQWNhQTs7O2VBQUFBOzs7eUJBWlc7QUFZakIsTUFBTUEsaUJBQWlCLENBQUksRUFDaENDLFFBQVEsRUFDUkMsS0FBSyxFQUNMQyxXQUFXLEVBQ1hDLFlBQVksRUFDWkMsa0JBQWtCLEVBQ2xCQyxNQUFNLEVBQ05DLFNBQVMsRUFDRDtJQUNSSixZQUFZSyxPQUFPLENBQUMsQ0FBQ0M7UUFDbkIsSUFBSSxVQUFVQSxhQUFhLE9BQU9BLFVBQVVD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
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90cmF2ZXJzZUZpZWxkcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IGZpZWxkU2NoZW1hVG9KU09OIH0gZnJvbSAncGF5bG9hZC91dGlsaXRpZXMnXG5cbmltcG9ydCB0eXBlIHsgUG9wdWxhdGlvbnNCeUNvbGxlY3Rpb24sIFVwZGF0ZWREb2N1bWVudCB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IHRyYXZlcnNlUmljaFRleHQgfSBmcm9tICcuL3RyYXZlcnNlUmljaFRleHQnXG5cbmV4cG9ydCBjb25zdCB0cmF2ZXJzZUZpZWxkcyA9IDxUPihhcmdzOiB7XG4gIGV4dGVybmFsbHlVcGRhdGVkUmVsYXRpb25zaGlwPzogVXBkYXRlZERvY3VtZW50XG4gIGZpZWxkU2NoZW1hOiBSZXR1cm5UeXBlPHR5cGVvZiBmaWVsZFNjaGVtYVRvSlNPTj5cbiAgaW5jb21pbmdEYXRhOiBUXG4gIHBvcHVsYXRpb25zQnlDb2xsZWN0aW9uOiBQb3B1bGF0aW9uc0J5Q29sbGVjdGlvblxuICByZXN1bHQ6IFRcbn0pOiB2b2lkID0+IHtcbiAgY29uc3Qge1xuICAgIGV4dGVybmFsbHlVcGRhdGVkUmVsYXRpb25zaGlwLFxuICAgIGZpZWxkU2NoZW1hOiBmaWVsZFNjaGVtYXMsXG4gICAgaW5jb21pbmdEYXRhLFxuICAgIHBvcHVsYXRpb25zQnlDb2xsZWN0aW9uLFxuICAgIHJlc3VsdCxcbiAgfSA9IGFyZ3NcblxuICBmaWVsZFNjaGVtYXMuZm9yRWFjaCgoZmllbGRTY2hlbWEpID0+IHtcbiAgICBpZiAoJ25hbWUnIGluIGZpZWxkU2NoZW1hICYmIHR5cGVvZiBmaWVsZFNjaGVtYS5uYW1lID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgZmllbGROYW1lID0gZmllbGRTY2hlbWEubmFtZVxuXG4gICAgICBzd2l0Y2ggKGZpZWxkU2NoZW1hLnR5cGUpIHtcbiAgICAgICAgY2FzZSAncmljaFRleHQnOlxuICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdID0gdHJhdmVyc2VSaWNoVGV4dCh7XG4gICAgICAgICAgICBleHRlcm5hbGx5VXBkYXRlZFJlbGF0aW9uc2hpcCxcbiAgICAgICAgICAgIGluY29taW5nRGF0YTogaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0sXG4gICAgICAgICAgICBwb3B1bGF0aW9uc0J5Q29sbGVjdGlvbixcbiAgICAgICAgICAgIHJlc3VsdDogcmVzdWx0W2ZpZWxkTmFtZV0sXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGJyZWFrXG5cbiAgICAgICAgY2FzZSAnYXJyYXknOlxuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGluY29taW5nRGF0YVtmaWVsZE5hbWVdKSkge1xuICAgICAgICAgICAgcmVzdWx0W2ZpZWxkTmFtZV0gPSBpbmNvbWluZ0RhdGFbZmllbGROYW1lXS5tYXAoKGluY29taW5nUm93LCBpKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghcmVzdWx0W2ZpZWxkTmFtZV0pIHtcbiAgICAgICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXSA9IFtdXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBpZiAoIXJlc3VsdFtmaWVsZE5hbWVdW2ldKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkTmFtZV1baV0gPSB7fVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgICAgIGV4dGVybmFsbHlVcGRhdGVkUmVsYXRpb25zaGlwLFxuICAgICAgICAgICAgICAgIGZpZWxkU2NoZW1hOiBmaWVsZFNjaGVtYS5maWVsZHMsXG4gICAgICAgICAgICAgICAgaW5jb21pbmdEYXRhOiBpbmNvbWluZ1JvdyxcbiAgICAgICAgICAgICAgICBwb3B1bGF0aW9uc0J5Q29sbGVjdGlvbixcbiAgICAgICAgICAgICAgICByZXN1bHQ6IHJlc3VsdFtmaWVsZE5hbWVdW2ldLFxuICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgIHJldHVybiByZXN1bHRbZmllbGROYW1lXVtpXVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVha1xuXG4gICAgICAgIGNhc2UgJ2Jsb2Nrcyc6XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0pKSB7XG4gICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXSA9IGluY29taW5nRGF0YVtmaWVsZE5hbWVdLm1hcCgoaW5jb21pbmdCbG9jaywgaSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBpbmNvbWluZ0Jsb2NrSlNPTiA9IGZpZWxkU2NoZW1hLmJsb2Nrc1tpbmNvbWluZ0Jsb2NrLmJsb2NrVHlwZV1cblxuICAgICAgICAgICAgICBpZiAoIXJlc3VsdFtmaWVsZE5hbWVdKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkTmFtZV0gPSBbXVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICFyZXN1bHRbZmllbGROYW1lXVtpXSB8fFxuICAgICAgICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdW2ldLmlkICE9PSBpbmNvbWluZ0Jsb2NrLmlkIHx8XG4gICAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkTmFtZV1baV0uYmxvY2tUeXBlICE9PSBpbmNvbWluZ0Jsb2NrLmJsb2NrVHlwZVxuICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXVtpXSA9IHtcbiAgICAgICAgICAgICAgICAgIGJsb2NrVHlwZTogaW5jb21pbmdCbG9jay5ibG9ja1R5cGUsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgICAgIGV4dGVybmFsbHlVcGRhdGVkUmVsYXRpb25zaGlwLFxuICAgICAgICAgICAgICAgIGZpZWxkU2NoZW1hOiBpbmNvbWluZ0Jsb2NrSlNPTi5maWVsZHMsXG4gICAgICAgICAgICAgICAgaW5jb21pbmdEYXRhOiBpbmNvbWluZ0Jsb2NrLFxuICAgICAgICAgICAgICAgIHBvcHVsYXRpb25zQnlDb2xsZWN0aW9uLFxuICAgICAgICAgICAgICAgIHJlc3VsdDogcmVzdWx0W2ZpZWxkTmFtZV1baV0sXG4gICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdFtmaWVsZE5hbWVdW2ldXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXSA9IFtdXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWtcblxuICAgICAgICBjYXNlICd0YWJzJzpcbiAgICAgICAgY2FzZSAnZ3JvdXAnOlxuICAgICAgICAgIGlmICghcmVzdWx0W2ZpZWxkTmFtZV0pIHtcbiAgICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdID0ge31cbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICBleHRlcm5hbGx5VXBkYXRlZFJlbGF0aW9uc2hpcCxcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hOiBmaWVsZFNjaGVtYS5maWVsZHMsXG4gICAgICAgICAgICBpbmNvbWluZ0RhdGE6IGluY29taW5nRGF0YVtmaWVsZE5hbWVdIHx8IHt9LFxuICAgICAgICAgICAgcG9wdWxhdGlvbnNCeUNvbGxlY3Rpb24sXG4gICAgICAgICAgICByZXN1bHQ6IHJlc3VsdFtmaWVsZE5hbWVdLFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBicmVha1xuXG4gICAgICAgIGNhc2UgJ3VwbG9hZCc6XG4gICAgICAgIGNhc2UgJ3JlbGF0aW9uc2hpcCc6XG4gICAgICAgICAgLy8gSGFuZGxlIGBoYXNNYW55YCByZWxhdGlvbnNoaXBzXG4gICAgICAgICAgaWYgKGZpZWxkU2NoZW1hLmhhc01hbnkgJiYgQXJyYXkuaXNBcnJheShpbmNvbWluZ0RhdGFbZmllbGROYW1lXSkpIHtcbiAgICAgICAgICAgIGlmICghcmVzdWx0W2ZpZWxkTmFtZV0gfHwgIWluY29taW5nRGF0YVtmaWVsZE5hbWVdLmxlbmd0aCkge1xuICAgICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXSA9IFtdXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGluY29taW5nRGF0YVtmaWVsZE5hbWVdLmZvckVhY2goKGluY29taW5nUmVsYXRpb24sIGkpID0+IHtcbiAgICAgICAgICAgICAgLy8gSGFuZGxlIGBoYXNNYW55YCBwb2x5bW9ycGhpY1xuICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZFNjaGVtYS5yZWxhdGlvblRvKSkge1xuICAgICAgICAgICAgICAgIC8vIGlmIHRoZSBmaWVsZCBkb2Vzbid0IGV4aXN0IG9uIHRoZSByZXN1bHQsIGNyZWF0ZSBpdFxuICAgICAgICAgICAgICAgIC8vIHRoZSB2YWx1ZSB3aWxsIGJlIHBvcHVsYXRlZCBsYXRlclxuICAgICAgICAgICAgICAgIGlmICghcmVzdWx0W2ZpZWxkTmFtZV1baV0pIHtcbiAgICAgICAgICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdW2ldID0ge1xuICAgICAgICAgICAgICAgICAgICByZWxhdGlvblRvOiBpbmNvbWluZ1JlbGF0aW9uLnJlbGF0aW9uVG8sXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3Qgb2xkSUQgPSByZXN1bHRbZmllbGROYW1lXVtpXT8udmFsdWU/LmlkXG4gICAgICAgICAgICAgICAgY29uc3Qgb2xkUmVsYXRpb24gPSByZXN1bHRbZmllbGROYW1lXVtpXT8ucmVsYXRpb25Ub1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0lEID0gaW5jb21pbmdSZWxhdGlvbi52YWx1ZVxuICAgICAgICAgICAgICAgIGNvbnN0IG5ld1JlbGF0aW9uID0gaW5jb21pbmdSZWxhdGlvbi5yZWxhdGlvblRvXG5cbiAgICAgICAgICAgICAgICBjb25zdCBoYXNDaGFuZ2VkID0gbmV3SUQgIT09IG9sZElEIHx8IG5ld1JlbGF0aW9uICE9PSBvbGRSZWxhdGlvblxuICAgICAgICAgICAgICAgIGNvbnN0IGhhc1VwZGF0ZWQgPVxuICAgICAgICAgICAgICAgICAgbmV3UmVsYXRpb24gPT09IGV4dGVybmFsbHlVcGRhdGVkUmVsYXRpb25zaGlwPy5lbnRpdHlTbHVnICYmXG4gICAgICAgICAgICAgICAgICBuZXdJRCA9PT0gZXh0ZXJuYWxseVVwZGF0ZWRSZWxhdGlvbnNoaXA/LmlkXG5cbiAgICAgICAgICAgICAgICBpZiAoaGFzQ2hhbmdlZCB8fCBoYXNVcGRhdGVkKSB7XG4gICAgICAgICAgICAgICAgICBpZiAoIXBvcHVsYXRpb25zQnlDb2xsZWN0aW9uW25ld1JlbGF0aW9uXSkge1xuICAgICAgICAgICAgICAgICAgICBwb3B1bGF0aW9uc0J5Q29sbGVjdGlvbltuZXdSZWxhdGlvbl0gPSBbXVxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBwb3B1bGF0aW9uc0J5Q29sbGVjdGlvbltuZXdSZWxhdGlvbl0ucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBpbmNvbWluZ1JlbGF0aW9uLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICBhY2Nlc3NvcjogJ3ZhbHVlJyxcbiAgICAgICAgICAgICAgICAgICAgcmVmOiByZXN1bHRbZmllbGROYW1lXVtpXSxcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIEhhbmRsZSBgaGFzTWFueWAgbW9ub21vcnBoaWNcbiAgICAgICAgICAgICAgICBjb25zdCBoYXNDaGFuZ2VkID0gaW5jb21pbmdSZWxhdGlvbiAhPT0gcmVzdWx0W2ZpZWxkTmFtZV1baV0/LmlkXG4gICAgICAgICAgICAgICAgY29uc3QgaGFzVXBkYXRlZCA9XG4gICAgICAgICAgICAgICAgICBmaWVsZFNjaGVtYS5yZWxhdGlvblRvID09PSBleHRlcm5hbGx5VXBkYXRlZFJlbGF0aW9uc2hpcD8uZW50aXR5U2x1ZyAmJlxuICAgICAgICAgICAgICAgICAgaW5jb21pbmdSZWxhdGlvbiA9PT0gZXh0ZXJuYWxseVVwZGF0ZWRSZWxhdGlvbnNoaXA/LmlkXG5cbiAgICAgICAgICAgICAgICBpZiAoaGFzQ2hhbmdlZCB8fCBoYXNVcGRhdGVkKSB7XG4gICAgICAgICAgICAgICAgICBpZiAoIXBvcHVsYXRpb25zQnlDb2xsZWN0aW9uW2ZpZWxkU2NoZW1hLnJlbGF0aW9uVG9dKSB7XG4gICAgICAgICAgICAgICAgICAgIHBvcHVsYXRpb25zQnlDb2xsZWN0aW9uW2ZpZWxkU2NoZW1hLnJlbGF0aW9uVG9dID0gW11cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgcG9wdWxhdGlvbnNCeUNvbGxlY3Rpb25bZmllbGRTY2hlbWEucmVsYXRpb25Ub10ucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBpbmNvbWluZ1JlbGF0aW9uLFxuICAgICAgICAgICAgICAgICAgICBhY2Nlc3NvcjogaSxcbiAgICAgICAgICAgICAgICAgICAgcmVmOiByZXN1bHRbZmllbGROYW1lXSxcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBIYW5kbGUgYGhhc09uZWAgcG9seW1vcnBoaWNcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkU2NoZW1hLnJlbGF0aW9uVG8pKSB7XG4gICAgICAgICAgICAgIC8vIGlmIHRoZSBmaWVsZCBkb2Vzbid0IGV4aXN0IG9uIHRoZSByZXN1bHQsIGNyZWF0ZSBpdFxuICAgICAgICAgICAgICAvLyB0aGUgdmFsdWUgd2lsbCBiZSBwb3B1bGF0ZWQgbGF0ZXJcbiAgICAgICAgICAgICAgaWYgKCFyZXN1bHRbZmllbGROYW1lXSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdID0ge1xuICAgICAgICAgICAgICAgICAgcmVsYXRpb25UbzogaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0/LnJlbGF0aW9uVG8sXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgY29uc3QgaGFzTmV3VmFsdWUgPVxuICAgICAgICAgICAgICAgIGluY29taW5nRGF0YVtmaWVsZE5hbWVdICYmXG4gICAgICAgICAgICAgICAgdHlwZW9mIGluY29taW5nRGF0YVtmaWVsZE5hbWVdID09PSAnb2JqZWN0JyAmJlxuICAgICAgICAgICAgICAgIGluY29taW5nRGF0YVtmaWVsZE5hbWVdICE9PSBudWxsXG5cbiAgICAgICAgICAgICAgY29uc3QgaGFzT2xkVmFsdWUgPVxuICAgICAgICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdICYmXG4gICAgICAgICAgICAgICAgdHlwZW9mIHJlc3VsdFtmaWVsZE5hbWVdID09PSAnb2JqZWN0JyAmJlxuICAgICAgICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdICE9PSBudWxsXG5cbiAgICAgICAgICAgICAgY29uc3QgbmV3SUQgPSBoYXNOZXdWYWx1ZVxuICAgICAgICAgICAgICAgID8gdHlwZW9mIGluY29taW5nRGF0YVtmaWVsZE5hbWVdLnZhbHVlID09PSAnb2JqZWN0J1xuICAgICAgICAgICAgICAgICAgPyBpbmNvbWluZ0RhdGFbZmllbGROYW1lXS52YWx1ZS5pZFxuICAgICAgICAgICAgICAgICAgOiBpbmNvbWluZ0RhdGFbZmllbGROYW1lXS52YWx1ZVxuICAgICAgICAgICAgICAgIDogJydcblxuICAgICAgICAgICAgICBjb25zdCBvbGRJRCA9IGhhc09sZFZhbHVlXG4gICAgICAgICAgICAgICAgPyB0eXBlb2YgcmVzdWx0W2ZpZWxkTmFtZV0udmFsdWUgPT09ICdvYmplY3QnXG4gICAgICAgICAgICAgICAgICA/IHJlc3VsdFtmaWVsZE5hbWVdLnZhbHVlLmlkXG4gICAgICAgICAgICAgICAgICA6IHJlc3VsdFtmaWVsZE5hbWVdLnZhbHVlXG4gICAgICAgICAgICAgICAgOiAnJ1xuXG4gICAgICAgICAgICAgIGNvbnN0IG5ld1JlbGF0aW9uID0gaGFzTmV3VmFsdWUgPyBpbmNvbWluZ0RhdGFbZmllbGROYW1lXS5yZWxhdGlvblRvIDogJydcbiAgICAgICAgICAgICAgY29uc3Qgb2xkUmVsYXRpb24gPSBoYXNPbGRWYWx1ZSA/IHJlc3VsdFtmaWVsZE5hbWVdLnJlbGF0aW9uVG8gOiAnJ1xuXG4gICAgICAgICAgICAgIGNvbnN0IGhhc0NoYW5nZWQgPSBuZXdJRCAhPT0gb2xkSUQgfHwgbmV3UmVsYXRpb24gIT09IG9sZFJlbGF0aW9uXG4gICAgICAgICAgICAgIGNvbnN0IGhhc1VwZGF0ZWQgPVxuICAgICAgICAgICAgICAgIG5ld1JlbGF0aW9uID09PSBleHRlcm5hbGx5VXBkYXRlZFJlbGF0aW9uc2hpcD8uZW50aXR5U2x1ZyAmJlxuICAgICAgICAgICAgICAgIG5ld0lEID09PSBleHRlcm5hbGx5VXBkYXRlZFJlbGF0aW9uc2hpcD8uaWRcblxuICAgICAgICAgICAgICAvLyBpZiB0aGUgbmV3IHZhbHVlL3JlbGF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBvbGQgdmFsdWUvcmVsYXRpb25cbiAgICAgICAgICAgICAgLy8gcG9wdWxhdGUgdGhlIG5ldyB2YWx1ZSwgb3RoZXJ3aXNlIGxlYXZlIGl0IGFsb25lXG4gICAgICAgICAgICAgIGlmIChoYXNDaGFuZ2VkIHx8IGhhc1VwZGF0ZWQpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbmV3IHZhbHVlIGlzIG5vdCBlbXB0eSwgcG9wdWxhdGUgaXRcbiAgICAgICAgICAgICAgICAvLyBvdGhlcndpc2Ugc2V0IHRoZSB2YWx1ZSB0byBudWxsXG4gICAgICAgICAgICAgICAgaWYgKG5ld0lEKSB7XG4gICAgICAgICAgICAgICAgICBpZiAoIXBvcHVsYXRpb25zQnlDb2xsZWN0aW9uW25ld1JlbGF0aW9uXSkge1xuICAgICAgICAgICAgICAgICAgICBwb3B1bGF0aW9uc0J5Q29sbGVjdGlvbltuZXdSZWxhdGlvbl0gPSBbXVxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBwb3B1bGF0aW9uc0J5Q29sbGVjdGlvbltuZXdSZWxhdGlvbl0ucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBuZXdJRCxcbiAgICAgICAgICAgICAgICAgICAgYWNjZXNzb3I6ICd2YWx1ZScsXG4gICAgICAgICAgICAgICAgICAgIHJlZjogcmVzdWx0W2ZpZWxkTmFtZV0sXG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXSA9IG51bGxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIEhhbmRsZSBgaGFzT25lYCBtb25vbW9ycGhpY1xuICAgICAgICAgICAgICBjb25zdCBuZXdJRDogbnVtYmVyIHwgc3RyaW5nIHwgdW5kZWZpbmVkID1cbiAgICAgICAgICAgICAgICAoaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0gJiZcbiAgICAgICAgICAgICAgICAgIHR5cGVvZiBpbmNvbWluZ0RhdGFbZmllbGROYW1lXSA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAgICAgICAgIGluY29taW5nRGF0YVtmaWVsZE5hbWVdLmlkKSB8fFxuICAgICAgICAgICAgICAgIGluY29taW5nRGF0YVtmaWVsZE5hbWVdXG5cbiAgICAgICAgICAgICAgY29uc3Qgb2xkSUQ6IG51bWJlciB8IHN0cmluZyB8IHVuZGVmaW5lZCA9XG4gICAgICAgICAgICAgICAgKHJlc3VsdFtmaWVsZE5hbWVdICYmXG4gICAgICAgICAgICAgICAgICB0eXBlb2YgcmVzdWx0W2ZpZWxkTmFtZV0gPT09ICdvYmplY3QnICYmXG4gICAgICAgICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXS5pZCkgfHxcbiAgICAgICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXVxuXG4gICAgICAgICAgICAgIGNvbnN0IGhhc0NoYW5nZWQgPSBuZXdJRCAhPT0gb2xkSURcbiAgICAgICAgICAgICAgY29uc3QgaGFzVXBkYXRlZCA9XG4gICAgICAgICAgICAgICAgZmllbGRTY2hlbWEucmVsYXRpb25UbyA9PT0gZXh0ZXJuYWxseVVwZGF0ZWRSZWxhdGlvbnNoaXA/LmVudGl0eVNsdWcgJiZcbiAgICAgICAgICAgICAgICBuZXdJRCA9PT0gZXh0ZXJuYWxseVVwZGF0ZWRSZWxhdGlvbnNoaXA/LmlkXG5cbiAgICAgICAgICAgICAgLy8gaWYgdGhlIG5ldyB2YWx1ZSBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgb2xkIHZhbHVlXG4gICAgICAgICAgICAgIC8vIHBvcHVsYXRlIHRoZSBuZXcgdmFsdWUsIG90aGVyd2lzZSBsZWF2ZSBpdCBhbG9uZVxuICAgICAgICAgICAgICBpZiAoaGFzQ2hhbmdlZCB8fCBoYXNVcGRhdGVkKSB7XG4gICAgICAgICAgICAgICAgLy8gaWYgdGhlIG5ldyB2YWx1ZSBpcyBub3QgZW1wdHksIHBvcHVsYXRlIGl0XG4gICAgICAgICAgICAgICAgLy8gb3RoZXJ3aXNlIHNldCB0aGUgdmFsdWUgdG8gbnVsbFxuICAgICAgICAgICAgICAgIGlmIChuZXdJRCkge1xuICAgICAgICAgICAgICAgICAgaWYgKCFwb3B1bGF0aW9uc0J5Q29sbGVjdGlvbltmaWVsZFNjaGVtYS5yZWxhdGlvblRvXSkge1xuICAgICAgICAgICAgICAgICAgICBwb3B1bGF0aW9uc0J5Q29sbGVjdGlvbltmaWVsZFNjaGVtYS5yZWxhdGlvblRvXSA9IFtdXG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIHBvcHVsYXRpb25zQnlDb2xsZWN0aW9uW2ZpZWxkU2NoZW1hLnJlbGF0aW9uVG9dLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBpZDogbmV3SUQsXG4gICAgICAgICAgICAgICAgICAgIGFjY2Vzc29yOiBmaWVsZE5hbWUsXG4gICAgICAgICAgICAgICAgICAgIHJlZjogcmVzdWx0IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkTmFtZV0gPSBudWxsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWtcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdID0gaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV1cbiAgICAgIH1cbiAgICB9XG4gIH0pXG59XG4iXSwibmFtZXMiOlsidHJhdmVyc2VGaWVsZHMiLCJhcmdzIiwiZXh0ZXJuYWxseVVwZGF0ZWRSZWxhdGlvbnNoaXAiLCJmaWVsZFNjaGVtYSIsImZpZWxkU2NoZW1hcyIsImluY29taW5nRGF0YSIsInBvcHVsYXRpb25zQnlDb2xsZWN0aW9uIiwicmVzdWx0IiwiZm9yRWFjaCIsIm5hbWUiLCJmaWVsZE5hbWUiLCJ0eXBlIiwidHJhdmVyc2VSaWNoVGV4dCIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsImluY29taW5nUm93IiwiaSIsImZpZWxkcyIsImluY29taW5nQmxvY2siLCJpbmNvbWluZ0Jsb2NrSlNPTiIsImJsb2NrcyIsImJsb2NrVHlwZSIsImlkIiwiaGFzTWFueSIsImxlbmd0aCIsImluY29taW5nUmVsYXRpb24iLCJyZWxhdGlvblRvIiwib2xkSUQiLCJ2YWx1ZSIsIm9sZFJlbGF0aW9uIiwibmV3SUQiLCJuZXdSZWxhdGlvbiIsImhhc0NoYW5nZWQiLCJoYXNVcGRhdGVkIiwiZW50aXR5U2x1ZyIsInB1c2giLCJhY2Nlc3NvciIsInJlZiIsImhhc05ld1ZhbHVlIiwiaGFzT2xkVmFsdWUiXSwibWFwcGluZ3MiOiI7Ozs7K0JBTWFBOzs7ZUFBQUE7OztrQ0FGb0I7QUFFMUIsTUFBTUEsaUJBQWlCLENBQUlDO0lBT2hDLE1BQU0sRUFDSkMsNkJBQTZCLEVBQzdCQyxhQUFhQyxZQUFZLEVBQ3pCQyxZQUFZLEVBQ1pDLHVCQUF1QixFQUN2QkMsTUFBTSxFQUNQLEdBQUdOO0lBRUpHLGFBQWFJLE9BQU8sQ0FBQyxDQUFDTDtRQUNwQixJQUFJLFVBQVVBLGVBQWUsT0FBT0EsWUFBWU0sSUFBSSxLQUFLLFVBQVU7WUFDakUsTUFBTUMsWUFBWVAsWUFBWU0sSUFBSTtZQUVsQyxPQUFRTixZQUFZUSxJQUFJO2dCQUN0QixLQUFLO29CQUNISixNQUFNLENBQUNHLFVBQVUsR0FBR0UsSUFBQUEsa0NBQWdCLEVBQUM7d0JBQ25DVjt3QkFDQUcsY0FBY0EsWUFBWSxDQUFDSyxVQUFVO3dCQUNyQ0o7d0JBQ0FDLFFBQVFBLE1BQU0sQ0FBQ0csVUFBVTtvQkFDM0I7b0JBRUE7Z0JBRUYsS0FBSztvQkFDSCxJQUFJRyxNQUFNQyxPQUFPLENBQUNULFlBQVksQ0FBQ0ssVUFBVSxHQUFHO3dCQUMxQ0gsTUFBTSxDQUFDRyxVQUFVLEdBQUdMLFlBQVksQ0FBQ0ssVUFBVSxDQUFDSyxHQUFHLENBQUMsQ0FBQ0MsYUFBYUM7NEJBQzVELElBQUksQ0FBQ1YsTUFBTSxDQUFDRyxVQUFVLEVBQUU7Z0NBQ3RCSCxNQUFNLENBQUNHLFVBQVUsR0FBRyxFQUFFOzRCQUN4Qjs0QkFFQSxJQUFJLENBQUNILE1BQU0sQ0FBQ0csVUFBVSxDQUFDTyxFQUFFLEVBQUU7Z0NBQ3pCVixNQUFNLENBQUNHLFVBQVUsQ0FBQ08sRUFBRSxHQUFHLENBQUM7NEJBQzFCOzRCQUVBakIsZUFBZTtnQ0FDYkU7Z0NBQ0FDLGFBQWFBLFlBQVllLE1BQU07Z0NBQy9CYixjQUFjVztnQ0FDZFY7Z0NBQ0FDLFFBQVFBLE1BQU0sQ0FB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
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { PopulationsByCollection, UpdatedDocument } from './types';
|
|
2
|
+
export declare const traverseRichText: ({ externallyUpdatedRelationship, incomingData, populationsByCollection, result, }: {
|
|
3
|
+
externallyUpdatedRelationship?: UpdatedDocument;
|
|
4
|
+
incomingData: any;
|
|
5
|
+
populationsByCollection: PopulationsByCollection;
|
|
6
|
+
result: any;
|
|
7
|
+
}) => any;
|
|
8
|
+
//# sourceMappingURL=traverseRichText.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traverseRichText.d.ts","sourceRoot":"","sources":["../src/traverseRichText.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEvE,eAAO,MAAM,gBAAgB;oCAMK,eAAe;kBACjC,GAAG;6BACQ,uBAAuB;YACxC,GAAG;MACT,GAgFH,CAAA"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "traverseRichText", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return traverseRichText;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const traverseRichText = ({ externallyUpdatedRelationship, incomingData, populationsByCollection, result })=>{
|
|
12
|
+
if (Array.isArray(incomingData)) {
|
|
13
|
+
if (!result) {
|
|
14
|
+
result = [];
|
|
15
|
+
}
|
|
16
|
+
result = incomingData.map((item, index)=>{
|
|
17
|
+
if (!result[index]) {
|
|
18
|
+
result[index] = item;
|
|
19
|
+
}
|
|
20
|
+
return traverseRichText({
|
|
21
|
+
externallyUpdatedRelationship,
|
|
22
|
+
incomingData: item,
|
|
23
|
+
populationsByCollection,
|
|
24
|
+
result: result[index]
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
} else if (incomingData && typeof incomingData === 'object') {
|
|
28
|
+
if (!result) {
|
|
29
|
+
result = {};
|
|
30
|
+
}
|
|
31
|
+
// Remove keys from `result` that do not appear in `incomingData`
|
|
32
|
+
// There's likely another way to do this,
|
|
33
|
+
// But recursion and references make this very difficult
|
|
34
|
+
Object.keys(result).forEach((key)=>{
|
|
35
|
+
if (!(key in incomingData)) {
|
|
36
|
+
delete result[key];
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
// Iterate over the keys of `incomingData` and populate `result`
|
|
40
|
+
Object.keys(incomingData).forEach((key)=>{
|
|
41
|
+
if (!result[key]) {
|
|
42
|
+
// Instantiate the key in `result` if it doesn't exist
|
|
43
|
+
// Ensure its type matches the type of the `incomingData`
|
|
44
|
+
// We don't have a schema to check against here
|
|
45
|
+
result[key] = incomingData[key] && typeof incomingData[key] === 'object' ? Array.isArray(incomingData[key]) ? [] : {} : incomingData[key];
|
|
46
|
+
}
|
|
47
|
+
const isRelationship = key === 'value' && 'relationTo' in incomingData;
|
|
48
|
+
if (isRelationship) {
|
|
49
|
+
const needsPopulation = !result.value || typeof result.value !== 'object';
|
|
50
|
+
const hasChanged = result && typeof result === 'object' && result.value.id === externallyUpdatedRelationship?.id;
|
|
51
|
+
if (needsPopulation || hasChanged) {
|
|
52
|
+
if (!populationsByCollection[incomingData.relationTo]) {
|
|
53
|
+
populationsByCollection[incomingData.relationTo] = [];
|
|
54
|
+
}
|
|
55
|
+
populationsByCollection[incomingData.relationTo].push({
|
|
56
|
+
id: incomingData[key],
|
|
57
|
+
accessor: 'value',
|
|
58
|
+
ref: result
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
} else {
|
|
62
|
+
result[key] = traverseRichText({
|
|
63
|
+
externallyUpdatedRelationship,
|
|
64
|
+
incomingData: incomingData[key],
|
|
65
|
+
populationsByCollection,
|
|
66
|
+
result: result[key]
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
} else {
|
|
71
|
+
result = incomingData;
|
|
72
|
+
}
|
|
73
|
+
return result;
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90cmF2ZXJzZVJpY2hUZXh0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUG9wdWxhdGlvbnNCeUNvbGxlY3Rpb24sIFVwZGF0ZWREb2N1bWVudCB9IGZyb20gJy4vdHlwZXMnXG5cbmV4cG9ydCBjb25zdCB0cmF2ZXJzZVJpY2hUZXh0ID0gKHtcbiAgZXh0ZXJuYWxseVVwZGF0ZWRSZWxhdGlvbnNoaXAsXG4gIGluY29taW5nRGF0YSxcbiAgcG9wdWxhdGlvbnNCeUNvbGxlY3Rpb24sXG4gIHJlc3VsdCxcbn06IHtcbiAgZXh0ZXJuYWxseVVwZGF0ZWRSZWxhdGlvbnNoaXA/OiBVcGRhdGVkRG9jdW1lbnRcbiAgaW5jb21pbmdEYXRhOiBhbnlcbiAgcG9wdWxhdGlvbnNCeUNvbGxlY3Rpb246IFBvcHVsYXRpb25zQnlDb2xsZWN0aW9uXG4gIHJlc3VsdDogYW55XG59KTogYW55ID0+IHtcbiAgaWYgKEFycmF5LmlzQXJyYXkoaW5jb21pbmdEYXRhKSkge1xuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICByZXN1bHQgPSBbXVxuICAgIH1cblxuICAgIHJlc3VsdCA9IGluY29taW5nRGF0YS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICBpZiAoIXJlc3VsdFtpbmRleF0pIHtcbiAgICAgICAgcmVzdWx0W2luZGV4XSA9IGl0ZW1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRyYXZlcnNlUmljaFRleHQoe1xuICAgICAgICBleHRlcm5hbGx5VXBkYXRlZFJlbGF0aW9uc2hpcCxcbiAgICAgICAgaW5jb21pbmdEYXRhOiBpdGVtLFxuICAgICAgICBwb3B1bGF0aW9uc0J5Q29sbGVjdGlvbixcbiAgICAgICAgcmVzdWx0OiByZXN1bHRbaW5kZXhdLFxuICAgICAgfSlcbiAgICB9KVxuICB9IGVsc2UgaWYgKGluY29taW5nRGF0YSAmJiB0eXBlb2YgaW5jb21pbmdEYXRhID09PSAnb2JqZWN0Jykge1xuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICByZXN1bHQgPSB7fVxuICAgIH1cblxuICAgIC8vIFJlbW92ZSBrZXlzIGZyb20gYHJlc3VsdGAgdGhhdCBkbyBub3QgYXBwZWFyIGluIGBpbmNvbWluZ0RhdGFgXG4gICAgLy8gVGhlcmUncyBsaWtlbHkgYW5vdGhlciB3YXkgdG8gZG8gdGhpcyxcbiAgICAvLyBCdXQgcmVjdXJzaW9uIGFuZCByZWZlcmVuY2VzIG1ha2UgdGhpcyB2ZXJ5IGRpZmZpY3VsdFxuICAgIE9iamVjdC5rZXlzKHJlc3VsdCkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBpZiAoIShrZXkgaW4gaW5jb21pbmdEYXRhKSkge1xuICAgICAgICBkZWxldGUgcmVzdWx0W2tleV1cbiAgICAgIH1cbiAgICB9KVxuXG4gICAgLy8gSXRlcmF0ZSBvdmVyIHRoZSBrZXlzIG9mIGBpbmNvbWluZ0RhdGFgIGFuZCBwb3B1bGF0ZSBgcmVzdWx0YFxuICAgIE9iamVjdC5rZXlzKGluY29taW5nRGF0YSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBpZiAoIXJlc3VsdFtrZXldKSB7XG4gICAgICAgIC8vIEluc3RhbnRpYXRlIHRoZSBrZXkgaW4gYHJlc3VsdGAgaWYgaXQgZG9lc24ndCBleGlzdFxuICAgICAgICAvLyBFbnN1cmUgaXRzIHR5cGUgbWF0Y2hlcyB0aGUgdHlwZSBvZiB0aGUgYGluY29taW5nRGF0YWBcbiAgICAgICAgLy8gV2UgZG9uJ3QgaGF2ZSBhIHNjaGVtYSB0byBjaGVjayBhZ2FpbnN0IGhlcmVcbiAgICAgICAgcmVzdWx0W2tleV0gPVxuICAgICAgICAgIGluY29taW5nRGF0YVtrZXldICYmIHR5cGVvZiBpbmNvbWluZ0RhdGFba2V5XSA9PT0gJ29iamVjdCdcbiAgICAgICAgICAgID8gQXJyYXkuaXNBcnJheShpbmNvbWluZ0RhdGFba2V5XSlcbiAgICAgICAgICAgICAgPyBbXVxuICAgICAgICAgICAgICA6IHt9XG4gICAgICAgICAgICA6IGluY29taW5nRGF0YVtrZXldXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGlzUmVsYXRpb25zaGlwID0ga2V5ID09PSAndmFsdWUnICYmICdyZWxhdGlvblRvJyBpbiBpbmNvbWluZ0RhdGFcblxuICAgICAgaWYgKGlzUmVsYXRpb25zaGlwKSB7XG4gICAgICAgIGNvbnN0IG5lZWRzUG9wdWxhdGlvbiA9ICFyZXN1bHQudmFsdWUgfHwgdHlwZW9mIHJlc3VsdC52YWx1ZSAhPT0gJ29iamVjdCdcbiAgICAgICAgY29uc3QgaGFzQ2hhbmdlZCA9XG4gICAgICAgICAgcmVzdWx0ICYmXG4gICAgICAgICAgdHlwZW9mIHJlc3VsdCA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICByZXN1bHQudmFsdWUuaWQgPT09IGV4dGVybmFsbHlVcGRhdGVkUmVsYXRpb25zaGlwPy5pZFxuXG4gICAgICAgIGlmIChuZWVkc1BvcHVsYXRpb24gfHwgaGFzQ2hhbmdlZCkge1xuICAgICAgICAgIGlmICghcG9wdWxhdGlvbnNCeUNvbGxlY3Rpb25baW5jb21pbmdEYXRhLnJlbGF0aW9uVG9dKSB7XG4gICAgICAgICAgICBwb3B1bGF0aW9uc0J5Q29sbGVjdGlvbltpbmNvbWluZ0RhdGEucmVsYXRpb25Ub10gPSBbXVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHBvcHVsYXRpb25zQnlDb2xsZWN0aW9uW2luY29taW5nRGF0YS5yZWxhdGlvblRvXS5wdXNoKHtcbiAgICAgICAgICAgIGlkOiBpbmNvbWluZ0RhdGFba2V5XSxcbiAgICAgICAgICAgIGFjY2Vzc29yOiAndmFsdWUnLFxuICAgICAgICAgICAgcmVmOiByZXN1bHQsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0W2tleV0gPSB0cmF2ZXJzZVJpY2hUZXh0KHtcbiAgICAgICAgICBleHRlcm5hbGx5VXBkYXRlZFJlbGF0aW9uc2hpcCxcbiAgICAgICAgICBpbmNvbWluZ0RhdGE6IGluY29taW5nRGF0YVtrZXldLFxuICAgICAgICAgIHBvcHVsYXRpb25zQnlDb2xsZWN0aW9uLFxuICAgICAgICAgIHJlc3VsdDogcmVzdWx0W2tleV0sXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSlcbiAgfSBlbHNlIHtcbiAgICByZXN1bHQgPSBpbmNvbWluZ0RhdGFcbiAgfVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJ0cmF2ZXJzZVJpY2hUZXh0IiwiZXh0ZXJuYWxseVVwZGF0ZWRSZWxhdGlvbnNoaXAiLCJpbmNvbWluZ0RhdGEiLCJwb3B1bGF0aW9uc0J5Q29sbGVjdGlvbiIsInJlc3VsdCIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsIml0ZW0iLCJpbmRleCIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwiaXNSZWxhdGlvbnNoaXAiLCJuZWVkc1BvcHVsYXRpb24iLCJ2YWx1ZSIsImhhc0NoYW5nZWQiLCJpZCIsInJlbGF0aW9uVG8iLCJwdXNoIiwiYWNjZXNzb3IiLCJyZWYiXSwibWFwcGluZ3MiOiI7Ozs7K0JBRWFBOzs7ZUFBQUE7OztBQUFOLE1BQU1BLG1CQUFtQixDQUFDLEVBQy9CQyw2QkFBNkIsRUFDN0JDLFlBQVksRUFDWkMsdUJBQXVCLEVBQ3ZCQyxNQUFNLEVBTVA7SUFDQyxJQUFJQyxNQUFNQyxPQUFPLENBQUNKLGVBQWU7UUFDL0IsSUFBSSxDQUFDRSxRQUFRO1lBQ1hBLFNBQVMsRUFBRTtRQUNiO1FBRUFBLFNBQVNGLGFBQWFLLEdBQUcsQ0FBQyxDQUFDQyxNQUFNQztZQUMvQixJQUFJLENBQUNMLE1BQU0sQ0FBQ0ssTUFBTSxFQUFFO2dCQUNsQkwsTUFBTSxDQUFDSyxNQUFNLEdBQUdEO1lBQ2xCO1lBRUEsT0FBT1IsaUJBQWlCO2dCQUN0QkM7Z0JBQ0FDLGNBQWNNO2dCQUNkTDtnQkFDQUMsUUFBUUEsTUFBTSxDQUFDSyxNQUFNO1lBQ3ZCO1FBQ0Y7SUFDRixPQUFPLElBQUlQLGdCQUFnQixPQUFPQSxpQkFBaUIsVUFBVTtRQUMzRCxJQUFJLENBQUNFLFFBQVE7WUFDWEEsU0FBUyxDQUFDO1FBQ1o7UUFFQSxpRUFBaUU7UUFDakUseUNBQXlDO1FBQ3pDLHdEQUF3RDtRQUN4RE0sT0FBT0MsSUFBSSxDQUFDUCxRQUFRUSxPQUFPLENBQUMsQ0FBQ0M7WUFDM0IsSUFBSSxDQUFFQSxDQUFBQSxPQUFPWCxZQUFXLEdBQUk7Z0JBQzFCLE9BQU9FLE1BQU0sQ0FBQ1MsSUFBSTtZQUNwQjtRQUNGO1FBRUEsZ0VBQWdFO1FBQ2hFSCxPQUFPQyxJQUFJLENBQUNULGNBQWNVLE9BQU8sQ0FBQyxDQUFDQztZQUNqQyxJQUFJLENBQUNULE1BQU0sQ0FBQ1MsSUFBSSxFQUFFO2dCQUNoQixzREFBc0Q7Z0JBQ3RELHlEQUF5RDtnQkFDekQsK0NBQStDO2dCQUMvQ1QsTUFBTSxDQUFDUyxJQUFJLEdBQ1RYLFlBQVksQ0FBQ1csSUFBSSxJQUFJLE9BQU9YLFlBQVksQ0FBQ1csSUFBSSxLQUFLLFdBQzlDUixNQUFNQyxPQUFPLENBQUNKLFlBQVksQ0FBQ1csSUFBSSxJQUM3QixFQUFFLEdBQ0YsQ0FBQyxJQUNIWCxZQUFZLENBQUNXLElBQUk7WUFDekI7WUFFQSxNQUFNQyxpQkFBaUJELFFBQVEsV0FBVyxnQkFBZ0JYO1lBRTFELElBQUlZLGdCQUFnQjtnQkFDbEIsTUFBTUMsa0JBQWtCLENBQUNYLE9BQU9ZLEtBQUssSUFBSSxPQUFPWixPQUFPWSxLQUFLLEtBQUs7Z0JBQ2pFLE1BQU1DLGFBQ0piLFVBQ0EsT0FBT0EsV0FBVyxZQUNsQkEsT0FBT1ksS0FBSyxDQUFDRSxFQUFFLEtBQUtqQiwrQkFBK0JpQjtnQkFFckQsSUFBSUgsbUJBQW1CRSxZQUFZO29CQUNqQyxJQUFJLENBQUNkLHVCQUF1QixDQUFDRCxhQUFhaUIsVUFBVSxDQUFDLEVBQUU7d0JBQ3JEaEIsdUJBQXVCLENBQUNELGFBQWFpQixVQUFVLENBQUMsR0FBRyxFQUFFO29CQUN2RDtvQkFFQWhCLHVCQUF1QixDQUFDRCxhQUFhaUIsVUFBVSxDQUFDLENBQUNDLElBQUksQ0FBQzt3QkFDcERGLElBQUloQixZQUFZLENBQUNXLElBQUk7d0JBQ3JCUSxVQUFVO3dCQUNWQyxLQUFLbEI7b0JBQ1A7Z0JBQ0Y7WUFDRixPQUFPO2dCQUNMQSxNQUFNLENBQUNTLElBQUksR0FBR2IsaUJBQWlCO29CQUM3QkM7b0JBQ0FDLGNBQWNBLFlBQVksQ0FBQ1csSUFBSTtvQkFDL0JWO29CQUNBQyxRQUFRQSxNQUFNLENBQUNTLElBQUk7Z0JBQ3JCO1lBQ0Y7UUFDRjtJQUNGLE9BQU87UUFDTFQsU0FBU0Y7SUFDWDtJQUVBLE9BQU9FO0FBQ1QifQ==
|
package/dist/types.d.ts
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
1
|
export type LivePreviewArgs = {};
|
|
2
2
|
export type LivePreview = void;
|
|
3
|
+
export type PopulationsByCollection = {
|
|
4
|
+
[slug: string]: Array<{
|
|
5
|
+
accessor: number | string;
|
|
6
|
+
id: number | string;
|
|
7
|
+
ref: Record<string, unknown>;
|
|
8
|
+
}>;
|
|
9
|
+
};
|
|
10
|
+
export type UpdatedDocument = {
|
|
11
|
+
entitySlug: string;
|
|
12
|
+
id?: number | string;
|
|
13
|
+
updatedAt: string;
|
|
14
|
+
};
|
|
3
15
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,EAAE,CAAA;AAEhC,MAAM,MAAM,WAAW,GAAG,IAAI,CAAA"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,EAAE,CAAA;AAEhC,MAAM,MAAM,WAAW,GAAG,IAAI,CAAA;AAE9B,MAAM,MAAM,uBAAuB,GAAG;IACpC,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;QACpB,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;QACzB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAC7B,CAAC,CAAA;CACH,CAAA;AAGD,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/live-preview",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "The official live preview JavaScript SDK for Payload",
|
|
5
5
|
"repository": "https://github.com/payloadcms/payload",
|
|
6
6
|
"license": "MIT",
|
|
@@ -10,10 +10,7 @@
|
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
11
11
|
"devDependencies": {
|
|
12
12
|
"@payloadcms/eslint-config": "1.0.0",
|
|
13
|
-
"payload": "2.0
|
|
14
|
-
},
|
|
15
|
-
"peerDependencies": {
|
|
16
|
-
"payload": "^2.0.0"
|
|
13
|
+
"payload": "2.3.0"
|
|
17
14
|
},
|
|
18
15
|
"exports": null,
|
|
19
16
|
"publishConfig": {
|
package/dist/promise.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
type Args = {
|
|
2
|
-
accessor: number | string;
|
|
3
|
-
apiRoute?: string;
|
|
4
|
-
collection: string;
|
|
5
|
-
depth: number;
|
|
6
|
-
id: number | string;
|
|
7
|
-
ref: Record<string, unknown>;
|
|
8
|
-
serverURL: string;
|
|
9
|
-
};
|
|
10
|
-
export declare const promise: ({ id, accessor, apiRoute, collection, depth, ref, serverURL, }: Args) => Promise<void>;
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=promise.d.ts.map
|
package/dist/promise.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../src/promise.ts"],"names":[],"mappings":"AAAA,KAAK,IAAI,GAAG;IACV,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,OAAO,mEAQjB,IAAI,KAAG,QAAQ,IAAI,CAMrB,CAAA"}
|
package/dist/promise.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "promise", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return promise;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const promise = async ({ id, accessor, apiRoute, collection, depth, ref, serverURL })=>{
|
|
12
|
-
const res = await fetch(`${serverURL}${apiRoute || '/api'}/${collection}/${id}?depth=${depth}`).then((res)=>res.json());
|
|
13
|
-
ref[accessor] = res;
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9taXNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbInR5cGUgQXJncyA9IHtcbiAgYWNjZXNzb3I6IG51bWJlciB8IHN0cmluZ1xuICBhcGlSb3V0ZT86IHN0cmluZ1xuICBjb2xsZWN0aW9uOiBzdHJpbmdcbiAgZGVwdGg6IG51bWJlclxuICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gIHJlZjogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgc2VydmVyVVJMOiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IHByb21pc2UgPSBhc3luYyAoe1xuICBpZCxcbiAgYWNjZXNzb3IsXG4gIGFwaVJvdXRlLFxuICBjb2xsZWN0aW9uLFxuICBkZXB0aCxcbiAgcmVmLFxuICBzZXJ2ZXJVUkwsXG59OiBBcmdzKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGNvbnN0IHJlczogYW55ID0gYXdhaXQgZmV0Y2goXG4gICAgYCR7c2VydmVyVVJMfSR7YXBpUm91dGUgfHwgJy9hcGknfS8ke2NvbGxlY3Rpb259LyR7aWR9P2RlcHRoPSR7ZGVwdGh9YCxcbiAgKS50aGVuKChyZXMpID0+IHJlcy5qc29uKCkpXG5cbiAgcmVmW2FjY2Vzc29yXSA9IHJlc1xufVxuIl0sIm5hbWVzIjpbInByb21pc2UiLCJpZCIsImFjY2Vzc29yIiwiYXBpUm91dGUiLCJjb2xsZWN0aW9uIiwiZGVwdGgiLCJyZWYiLCJzZXJ2ZXJVUkwiLCJyZXMiLCJmZXRjaCIsInRoZW4iLCJqc29uIl0sIm1hcHBpbmdzIjoiOzs7OytCQVVhQTs7O2VBQUFBOzs7QUFBTixNQUFNQSxVQUFVLE9BQU8sRUFDNUJDLEVBQUUsRUFDRkMsUUFBUSxFQUNSQyxRQUFRLEVBQ1JDLFVBQVUsRUFDVkMsS0FBSyxFQUNMQyxHQUFHLEVBQ0hDLFNBQVMsRUFDSjtJQUNMLE1BQU1DLE1BQVcsTUFBTUMsTUFDckIsQ0FBQyxFQUFFRixVQUFVLEVBQUVKLFlBQVksT0FBTyxDQUFDLEVBQUVDLFdBQVcsQ0FBQyxFQUFFSCxHQUFHLE9BQU8sRUFBRUksTUFBTSxDQUFDLEVBQ3RFSyxJQUFJLENBQUMsQ0FBQ0YsTUFBUUEsSUFBSUcsSUFBSTtJQUV4QkwsR0FBRyxDQUFDSixTQUFTLEdBQUdNO0FBQ2xCIn0=
|