@payloadcms/live-preview 1.0.0-beta.1
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 +7 -0
- package/dist/handleMessage.d.ts.map +1 -0
- package/dist/handleMessage.js +29 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +30 -0
- package/dist/mergeData.d.ts +10 -0
- package/dist/mergeData.d.ts.map +1 -0
- package/dist/mergeData.js +30 -0
- package/dist/promise.d.ts +12 -0
- package/dist/promise.d.ts.map +1 -0
- package/dist/promise.js +16 -0
- package/dist/subscribe.d.ts +7 -0
- package/dist/subscribe.d.ts.map +1 -0
- package/dist/subscribe.js +30 -0
- package/dist/traverseFields.d.ts +12 -0
- package/dist/traverseFields.d.ts.map +1 -0
- package/dist/traverseFields.js +179 -0
- package/dist/types.d.ts +3 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/unsubscribe.d.ts +2 -0
- package/dist/unsubscribe.d.ts.map +1 -0
- package/dist/unsubscribe.js +17 -0
- package/package.json +34 -0
- package/src/index.ts +4 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleMessage.d.ts","sourceRoot":"","sources":["../src/handleMessage.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa;WACjB,MAAM;WACN,YAAY;;eAER,MAAM;gBAmBlB,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "handleMessage", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return handleMessage;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _ = require(".");
|
|
12
|
+
const handleMessage = async (args)=>{
|
|
13
|
+
const { depth, event, initialData, serverURL } = args;
|
|
14
|
+
if (event.origin === serverURL && event.data) {
|
|
15
|
+
const eventData = JSON.parse(event?.data);
|
|
16
|
+
if (eventData.type === 'livePreview') {
|
|
17
|
+
const mergedData = await (0, _.mergeData)({
|
|
18
|
+
depth,
|
|
19
|
+
fieldSchema: eventData.fieldSchemaJSON,
|
|
20
|
+
incomingData: eventData.data,
|
|
21
|
+
initialData,
|
|
22
|
+
serverURL
|
|
23
|
+
});
|
|
24
|
+
return mergedData;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9oYW5kbGVNZXNzYWdlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1lcmdlRGF0YSB9IGZyb20gJy4nXG5cbmV4cG9ydCBjb25zdCBoYW5kbGVNZXNzYWdlID0gYXN5bmMgPFQ+KGFyZ3M6IHtcbiAgZGVwdGg6IG51bWJlclxuICBldmVudDogTWVzc2FnZUV2ZW50XG4gIGluaXRpYWxEYXRhOiBUXG4gIHNlcnZlclVSTDogc3RyaW5nXG59KTogUHJvbWlzZTxUPiA9PiB7XG4gIGNvbnN0IHsgZGVwdGgsIGV2ZW50LCBpbml0aWFsRGF0YSwgc2VydmVyVVJMIH0gPSBhcmdzXG5cbiAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gc2VydmVyVVJMICYmIGV2ZW50LmRhdGEpIHtcbiAgICBjb25zdCBldmVudERhdGEgPSBKU09OLnBhcnNlKGV2ZW50Py5kYXRhKVxuXG4gICAgaWYgKGV2ZW50RGF0YS50eXBlID09PSAnbGl2ZVByZXZpZXcnKSB7XG4gICAgICBjb25zdCBtZXJnZWREYXRhID0gYXdhaXQgbWVyZ2VEYXRhPFQ+KHtcbiAgICAgICAgZGVwdGgsXG4gICAgICAgIGZpZWxkU2NoZW1hOiBldmVudERhdGEuZmllbGRTY2hlbWFKU09OLFxuICAgICAgICBpbmNvbWluZ0RhdGE6IGV2ZW50RGF0YS5kYXRhLFxuICAgICAgICBpbml0aWFsRGF0YSxcbiAgICAgICAgc2VydmVyVVJMLFxuICAgICAgfSlcblxuICAgICAgcmV0dXJuIG1lcmdlZERhdGFcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJoYW5kbGVNZXNzYWdlIiwiYXJncyIsImRlcHRoIiwiZXZlbnQiLCJpbml0aWFsRGF0YSIsInNlcnZlclVSTCIsIm9yaWdpbiIsImRhdGEiLCJldmVudERhdGEiLCJKU09OIiwicGFyc2UiLCJ0eXBlIiwibWVyZ2VkRGF0YSIsIm1lcmdlRGF0YSIsImZpZWxkU2NoZW1hIiwiZmllbGRTY2hlbWFKU09OIiwiaW5jb21pbmdEYXRhIl0sIm1hcHBpbmdzIjoiOzs7OytCQUVhQTs7O2VBQUFBOzs7a0JBRmE7QUFFbkIsTUFBTUEsZ0JBQWdCLE9BQVVDO0lBTXJDLE1BQU0sRUFBRUMsS0FBSyxFQUFFQyxLQUFLLEVBQUVDLFdBQVcsRUFBRUMsU0FBUyxFQUFFLEdBQUdKO0lBRWpELElBQUlFLE1BQU1HLE1BQU0sS0FBS0QsYUFBYUYsTUFBTUksSUFBSSxFQUFFO1FBQzVDLE1BQU1DLFlBQVlDLEtBQUtDLEtBQUssQ0FBQ1AsT0FBT0k7UUFFcEMsSUFBSUMsVUFBVUcsSUFBSSxLQUFLLGVBQWU7WUFDcEMsTUFBTUMsYUFBYSxNQUFNQyxJQUFBQSxXQUFTLEVBQUk7Z0JBQ3BDWDtnQkFDQVksYUFBYU4sVUFBVU8sZUFBZTtnQkFDdENDLGNBQWNSLFVBQVVELElBQUk7Z0JBQzVCSDtnQkFDQUM7WUFDRjtZQUVBLE9BQU9PO1FBQ1Q7SUFDRjtBQUNGIn0=
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
handleMessage: function() {
|
|
13
|
+
return _handleMessage.handleMessage;
|
|
14
|
+
},
|
|
15
|
+
mergeData: function() {
|
|
16
|
+
return _mergeData.mergeData;
|
|
17
|
+
},
|
|
18
|
+
subscribe: function() {
|
|
19
|
+
return _subscribe.subscribe;
|
|
20
|
+
},
|
|
21
|
+
unsubscribe: function() {
|
|
22
|
+
return _unsubscribe.unsubscribe;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
const _handleMessage = require("./handleMessage");
|
|
26
|
+
const _mergeData = require("./mergeData");
|
|
27
|
+
const _subscribe = require("./subscribe");
|
|
28
|
+
const _unsubscribe = require("./unsubscribe");
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBoYW5kbGVNZXNzYWdlIH0gZnJvbSAnLi9oYW5kbGVNZXNzYWdlJ1xuZXhwb3J0IHsgbWVyZ2VEYXRhIH0gZnJvbSAnLi9tZXJnZURhdGEnXG5leHBvcnQgeyBzdWJzY3JpYmUgfSBmcm9tICcuL3N1YnNjcmliZSdcbmV4cG9ydCB7IHVuc3Vic2NyaWJlIH0gZnJvbSAnLi91bnN1YnNjcmliZSdcbiJdLCJuYW1lcyI6WyJoYW5kbGVNZXNzYWdlIiwibWVyZ2VEYXRhIiwic3Vic2NyaWJlIiwidW5zdWJzY3JpYmUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBQVNBLGFBQWE7ZUFBYkEsNEJBQWE7O0lBQ2JDLFNBQVM7ZUFBVEEsb0JBQVM7O0lBQ1RDLFNBQVM7ZUFBVEEsb0JBQVM7O0lBQ1RDLFdBQVc7ZUFBWEEsd0JBQVc7OzsrQkFIVTsyQkFDSjsyQkFDQTs2QkFDRSJ9
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type MergeLiveDataArgs<T> = {
|
|
2
|
+
apiRoute?: string;
|
|
3
|
+
depth: number;
|
|
4
|
+
fieldSchema: Record<string, unknown>[];
|
|
5
|
+
incomingData: T;
|
|
6
|
+
initialData: T;
|
|
7
|
+
serverURL: string;
|
|
8
|
+
};
|
|
9
|
+
export declare const mergeData: <T>({ apiRoute, depth, fieldSchema, incomingData, initialData, serverURL, }: MergeLiveDataArgs<T>) => Promise<T>;
|
|
10
|
+
//# sourceMappingURL=mergeData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeData.d.ts","sourceRoot":"","sources":["../src/mergeData.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACtC,YAAY,EAAE,CAAC,CAAA;IACf,WAAW,EAAE,CAAC,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,SAAS,kHAyBrB,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "mergeData", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return mergeData;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _traverseFields = require("./traverseFields");
|
|
12
|
+
const mergeData = async ({ apiRoute, depth, fieldSchema, incomingData, initialData, serverURL })=>{
|
|
13
|
+
const result = {
|
|
14
|
+
...initialData
|
|
15
|
+
};
|
|
16
|
+
const populationPromises = [];
|
|
17
|
+
(0, _traverseFields.traverseFields)({
|
|
18
|
+
apiRoute,
|
|
19
|
+
depth,
|
|
20
|
+
fieldSchema,
|
|
21
|
+
incomingData,
|
|
22
|
+
populationPromises,
|
|
23
|
+
result,
|
|
24
|
+
serverURL
|
|
25
|
+
});
|
|
26
|
+
await Promise.all(populationPromises);
|
|
27
|
+
return result;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXJnZURhdGEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHJhdmVyc2VGaWVsZHMgfSBmcm9tICcuL3RyYXZlcnNlRmllbGRzJ1xuXG5leHBvcnQgdHlwZSBNZXJnZUxpdmVEYXRhQXJnczxUPiA9IHtcbiAgYXBpUm91dGU/OiBzdHJpbmdcbiAgZGVwdGg6IG51bWJlclxuICBmaWVsZFNjaGVtYTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxuICBpbmNvbWluZ0RhdGE6IFRcbiAgaW5pdGlhbERhdGE6IFRcbiAgc2VydmVyVVJMOiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IG1lcmdlRGF0YSA9IGFzeW5jIDxUPih7XG4gIGFwaVJvdXRlLFxuICBkZXB0aCxcbiAgZmllbGRTY2hlbWEsXG4gIGluY29taW5nRGF0YSxcbiAgaW5pdGlhbERhdGEsXG4gIHNlcnZlclVSTCxcbn06IE1lcmdlTGl2ZURhdGFBcmdzPFQ+KTogUHJvbWlzZTxUPiA9PiB7XG4gIGNvbnN0IHJlc3VsdCA9IHsgLi4uaW5pdGlhbERhdGEgfVxuXG4gIGNvbnN0IHBvcHVsYXRpb25Qcm9taXNlczogUHJvbWlzZTx2b2lkPltdID0gW11cblxuICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgYXBpUm91dGUsXG4gICAgZGVwdGgsXG4gICAgZmllbGRTY2hlbWEsXG4gICAgaW5jb21pbmdEYXRhLFxuICAgIHBvcHVsYXRpb25Qcm9taXNlcyxcbiAgICByZXN1bHQsXG4gICAgc2VydmVyVVJMLFxuICB9KVxuXG4gIGF3YWl0IFByb21pc2UuYWxsKHBvcHVsYXRpb25Qcm9taXNlcylcblxuICByZXR1cm4gcmVzdWx0XG59XG4iXSwibmFtZXMiOlsibWVyZ2VEYXRhIiwiYXBpUm91dGUiLCJkZXB0aCIsImZpZWxkU2NoZW1hIiwiaW5jb21pbmdEYXRhIiwiaW5pdGlhbERhdGEiLCJzZXJ2ZXJVUkwiLCJyZXN1bHQiLCJwb3B1bGF0aW9uUHJvbWlzZXMiLCJ0cmF2ZXJzZUZpZWxkcyIsIlByb21pc2UiLCJhbGwiXSwibWFwcGluZ3MiOiI7Ozs7K0JBV2FBOzs7ZUFBQUE7OztnQ0FYa0I7QUFXeEIsTUFBTUEsWUFBWSxPQUFVLEVBQ2pDQyxRQUFRLEVBQ1JDLEtBQUssRUFDTEMsV0FBVyxFQUNYQyxZQUFZLEVBQ1pDLFdBQVcsRUFDWEMsU0FBUyxFQUNZO0lBQ3JCLE1BQU1DLFNBQVM7UUFBRSxHQUFHRixXQUFXO0lBQUM7SUFFaEMsTUFBTUcscUJBQXNDLEVBQUU7SUFFOUNDLElBQUFBLDhCQUFjLEVBQUM7UUFDYlI7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUk7UUFDQUQ7UUFDQUQ7SUFDRjtJQUVBLE1BQU1JLFFBQVFDLEdBQUcsQ0FBQ0g7SUFFbEIsT0FBT0Q7QUFDVCJ9
|
|
@@ -0,0 +1,12 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
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=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["../src/subscribe.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;2BACG,IAAI;WACpB,MAAM;;eAEF,MAAM;cACN,YAAY,KAAK,IAc7B,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "subscribe", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return subscribe;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _ = require(".");
|
|
12
|
+
const subscribe = (args)=>{
|
|
13
|
+
const { callback, depth, initialData, serverURL } = args;
|
|
14
|
+
if (typeof window !== 'undefined') {
|
|
15
|
+
const handleMessageCallback = async (event)=>{
|
|
16
|
+
const mergedData = await (0, _.handleMessage)({
|
|
17
|
+
depth,
|
|
18
|
+
event,
|
|
19
|
+
initialData,
|
|
20
|
+
serverURL
|
|
21
|
+
});
|
|
22
|
+
callback(mergedData);
|
|
23
|
+
};
|
|
24
|
+
window.addEventListener('message', handleMessageCallback);
|
|
25
|
+
window.parent.postMessage('ready', serverURL);
|
|
26
|
+
return handleMessageCallback;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdWJzY3JpYmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaGFuZGxlTWVzc2FnZSB9IGZyb20gJy4nXG5cbmV4cG9ydCBjb25zdCBzdWJzY3JpYmUgPSA8VD4oYXJnczoge1xuICBjYWxsYmFjazogKGRhdGE6IFQpID0+IHZvaWRcbiAgZGVwdGg6IG51bWJlclxuICBpbml0aWFsRGF0YTogVFxuICBzZXJ2ZXJVUkw6IHN0cmluZ1xufSk6ICgoZXZlbnQ6IE1lc3NhZ2VFdmVudCkgPT4gdm9pZCkgPT4ge1xuICBjb25zdCB7IGNhbGxiYWNrLCBkZXB0aCwgaW5pdGlhbERhdGEsIHNlcnZlclVSTCB9ID0gYXJnc1xuXG4gIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgIGNvbnN0IGhhbmRsZU1lc3NhZ2VDYWxsYmFjayA9IGFzeW5jIChldmVudDogTWVzc2FnZUV2ZW50KSA9PiB7XG4gICAgICBjb25zdCBtZXJnZWREYXRhID0gYXdhaXQgaGFuZGxlTWVzc2FnZSh7IGRlcHRoLCBldmVudCwgaW5pdGlhbERhdGEsIHNlcnZlclVSTCB9KVxuICAgICAgY2FsbGJhY2sobWVyZ2VkRGF0YSlcbiAgICB9XG5cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGhhbmRsZU1lc3NhZ2VDYWxsYmFjaylcbiAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKCdyZWFkeScsIHNlcnZlclVSTClcblxuICAgIHJldHVybiBoYW5kbGVNZXNzYWdlQ2FsbGJhY2tcbiAgfVxufVxuIl0sIm5hbWVzIjpbInN1YnNjcmliZSIsImFyZ3MiLCJjYWxsYmFjayIsImRlcHRoIiwiaW5pdGlhbERhdGEiLCJzZXJ2ZXJVUkwiLCJ3aW5kb3ciLCJoYW5kbGVNZXNzYWdlQ2FsbGJhY2siLCJldmVudCIsIm1lcmdlZERhdGEiLCJoYW5kbGVNZXNzYWdlIiwiYWRkRXZlbnRMaXN0ZW5lciIsInBhcmVudCIsInBvc3RNZXNzYWdlIl0sIm1hcHBpbmdzIjoiOzs7OytCQUVhQTs7O2VBQUFBOzs7a0JBRmlCO0FBRXZCLE1BQU1BLFlBQVksQ0FBSUM7SUFNM0IsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLEtBQUssRUFBRUMsV0FBVyxFQUFFQyxTQUFTLEVBQUUsR0FBR0o7SUFFcEQsSUFBSSxPQUFPSyxXQUFXLGFBQWE7UUFDakMsTUFBTUMsd0JBQXdCLE9BQU9DO1lBQ25DLE1BQU1DLGFBQWEsTUFBTUMsSUFBQUEsZUFBYSxFQUFDO2dCQUFFUDtnQkFBT0s7Z0JBQU9KO2dCQUFhQztZQUFVO1lBQzlFSCxTQUFTTztRQUNYO1FBRUFILE9BQU9LLGdCQUFnQixDQUFDLFdBQVdKO1FBQ25DRCxPQUFPTSxNQUFNLENBQUNDLFdBQVcsQ0FBQyxTQUFTUjtRQUVuQyxPQUFPRTtJQUNUO0FBQ0YifQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
type Args<T> = {
|
|
2
|
+
apiRoute?: string;
|
|
3
|
+
depth: number;
|
|
4
|
+
fieldSchema: Record<string, unknown>[];
|
|
5
|
+
incomingData: T;
|
|
6
|
+
populationPromises: Promise<void>[];
|
|
7
|
+
result: T;
|
|
8
|
+
serverURL: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const traverseFields: <T>({ apiRoute, depth, fieldSchema, incomingData, populationPromises, result, serverURL, }: Args<T>) => void;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=traverseFields.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../src/traverseFields.ts"],"names":[],"mappings":"AAEA,KAAK,IAAI,CAAC,CAAC,IAAI;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACtC,YAAY,EAAE,CAAC,CAAA;IACf,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;IACnC,MAAM,EAAE,CAAC,CAAA;IACT,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,cAAc,0GAQd,IAkNZ,CAAA"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "traverseFields", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return traverseFields;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _promise = require("./promise");
|
|
12
|
+
const traverseFields = ({ apiRoute, depth, fieldSchema, incomingData, populationPromises, result, serverURL })=>{
|
|
13
|
+
fieldSchema.forEach((field)=>{
|
|
14
|
+
if ('name' in field && typeof field.name === 'string') {
|
|
15
|
+
// TODO: type this
|
|
16
|
+
const fieldName = field.name;
|
|
17
|
+
switch(field.type){
|
|
18
|
+
case 'array':
|
|
19
|
+
if (Array.isArray(incomingData[fieldName])) {
|
|
20
|
+
result[fieldName] = incomingData[fieldName].map((row, i)=>{
|
|
21
|
+
const hasExistingRow = Array.isArray(result[fieldName]) && typeof result[fieldName][i] === 'object' && result[fieldName][i] !== null;
|
|
22
|
+
const newRow = hasExistingRow ? {
|
|
23
|
+
...result[fieldName][i]
|
|
24
|
+
} : {};
|
|
25
|
+
traverseFields({
|
|
26
|
+
apiRoute,
|
|
27
|
+
depth,
|
|
28
|
+
fieldSchema: field.fields,
|
|
29
|
+
incomingData: row,
|
|
30
|
+
populationPromises,
|
|
31
|
+
result: newRow,
|
|
32
|
+
serverURL
|
|
33
|
+
});
|
|
34
|
+
return newRow;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
break;
|
|
38
|
+
case 'blocks':
|
|
39
|
+
if (Array.isArray(incomingData[fieldName])) {
|
|
40
|
+
result[fieldName] = incomingData[fieldName].map((row, i)=>{
|
|
41
|
+
const matchedBlock = field.blocks[row.blockType];
|
|
42
|
+
const hasExistingRow = Array.isArray(result[fieldName]) && typeof result[fieldName][i] === 'object' && result[fieldName][i] !== null && result[fieldName][i].blockType === row.blockType;
|
|
43
|
+
const newRow = hasExistingRow ? {
|
|
44
|
+
...result[fieldName][i]
|
|
45
|
+
} : {
|
|
46
|
+
blockType: matchedBlock.slug
|
|
47
|
+
};
|
|
48
|
+
traverseFields({
|
|
49
|
+
apiRoute,
|
|
50
|
+
depth,
|
|
51
|
+
fieldSchema: matchedBlock.fields,
|
|
52
|
+
incomingData: row,
|
|
53
|
+
populationPromises,
|
|
54
|
+
result: newRow,
|
|
55
|
+
serverURL
|
|
56
|
+
});
|
|
57
|
+
return newRow;
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
break;
|
|
61
|
+
case 'tab':
|
|
62
|
+
case 'group':
|
|
63
|
+
if (!result[fieldName]) {
|
|
64
|
+
result[fieldName] = {};
|
|
65
|
+
}
|
|
66
|
+
traverseFields({
|
|
67
|
+
apiRoute,
|
|
68
|
+
depth,
|
|
69
|
+
fieldSchema: field.fields,
|
|
70
|
+
incomingData: incomingData[fieldName] || {},
|
|
71
|
+
populationPromises,
|
|
72
|
+
result: result[fieldName],
|
|
73
|
+
serverURL
|
|
74
|
+
});
|
|
75
|
+
break;
|
|
76
|
+
case 'upload':
|
|
77
|
+
case 'relationship':
|
|
78
|
+
if (field.hasMany && Array.isArray(incomingData[fieldName])) {
|
|
79
|
+
const existingValue = Array.isArray(result[fieldName]) ? [
|
|
80
|
+
...result[fieldName]
|
|
81
|
+
] : [];
|
|
82
|
+
result[fieldName] = Array.isArray(result[fieldName]) ? [
|
|
83
|
+
...result[fieldName]
|
|
84
|
+
].slice(0, incomingData[fieldName].length) : [];
|
|
85
|
+
incomingData[fieldName].forEach((relation, i)=>{
|
|
86
|
+
// Handle `hasMany` polymorphic
|
|
87
|
+
if (Array.isArray(field.relationTo)) {
|
|
88
|
+
const existingID = existingValue[i]?.value?.id;
|
|
89
|
+
if (existingID !== relation.value || existingValue[i]?.relationTo !== relation.relationTo) {
|
|
90
|
+
result[fieldName][i] = {
|
|
91
|
+
relationTo: relation.relationTo
|
|
92
|
+
};
|
|
93
|
+
populationPromises.push((0, _promise.promise)({
|
|
94
|
+
id: relation.value,
|
|
95
|
+
accessor: 'value',
|
|
96
|
+
apiRoute,
|
|
97
|
+
collection: relation.relationTo,
|
|
98
|
+
depth,
|
|
99
|
+
ref: result[fieldName][i],
|
|
100
|
+
serverURL
|
|
101
|
+
}));
|
|
102
|
+
}
|
|
103
|
+
} else {
|
|
104
|
+
// Handle `hasMany` singular
|
|
105
|
+
const existingID = existingValue[i]?.id;
|
|
106
|
+
if (existingID !== relation) {
|
|
107
|
+
populationPromises.push((0, _promise.promise)({
|
|
108
|
+
id: relation,
|
|
109
|
+
accessor: i,
|
|
110
|
+
apiRoute,
|
|
111
|
+
collection: String(field.relationTo),
|
|
112
|
+
depth,
|
|
113
|
+
ref: result[fieldName],
|
|
114
|
+
serverURL
|
|
115
|
+
}));
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
} else {
|
|
120
|
+
// Handle `hasOne` polymorphic
|
|
121
|
+
if (Array.isArray(field.relationTo)) {
|
|
122
|
+
const hasNewValue = typeof incomingData[fieldName] === 'object' && incomingData[fieldName] !== null;
|
|
123
|
+
const hasOldValue = typeof result[fieldName] === 'object' && result[fieldName] !== null;
|
|
124
|
+
const newValue = hasNewValue ? incomingData[fieldName].value : '';
|
|
125
|
+
const newRelation = hasNewValue ? incomingData[fieldName].relationTo : '';
|
|
126
|
+
const oldValue = hasOldValue ? result[fieldName].value : '';
|
|
127
|
+
const oldRelation = hasOldValue ? result[fieldName].relationTo : '';
|
|
128
|
+
if (newValue !== oldValue || newRelation !== oldRelation) {
|
|
129
|
+
if (newValue) {
|
|
130
|
+
if (!result[fieldName]) {
|
|
131
|
+
result[fieldName] = {
|
|
132
|
+
relationTo: newRelation
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
populationPromises.push((0, _promise.promise)({
|
|
136
|
+
id: newValue,
|
|
137
|
+
accessor: 'value',
|
|
138
|
+
apiRoute,
|
|
139
|
+
collection: newRelation,
|
|
140
|
+
depth,
|
|
141
|
+
ref: result[fieldName],
|
|
142
|
+
serverURL
|
|
143
|
+
}));
|
|
144
|
+
}
|
|
145
|
+
} else {
|
|
146
|
+
result[fieldName] = null;
|
|
147
|
+
}
|
|
148
|
+
} else {
|
|
149
|
+
const hasNewValue = typeof incomingData[fieldName] === 'object' && incomingData[fieldName] !== null;
|
|
150
|
+
const hasOldValue = typeof result[fieldName] === 'object' && result[fieldName] !== null;
|
|
151
|
+
const newValue = hasNewValue ? incomingData[fieldName].value : '';
|
|
152
|
+
const oldValue = hasOldValue ? result[fieldName].value : '';
|
|
153
|
+
if (newValue !== oldValue) {
|
|
154
|
+
if (newValue) {
|
|
155
|
+
populationPromises.push((0, _promise.promise)({
|
|
156
|
+
id: newValue,
|
|
157
|
+
accessor: fieldName,
|
|
158
|
+
apiRoute,
|
|
159
|
+
collection: String(field.relationTo),
|
|
160
|
+
depth,
|
|
161
|
+
ref: result,
|
|
162
|
+
serverURL
|
|
163
|
+
}));
|
|
164
|
+
}
|
|
165
|
+
} else {
|
|
166
|
+
result[fieldName] = null;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
break;
|
|
171
|
+
default:
|
|
172
|
+
result[fieldName] = incomingData[fieldName];
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
return null;
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90cmF2ZXJzZUZpZWxkcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwcm9taXNlIH0gZnJvbSAnLi9wcm9taXNlJ1xuXG50eXBlIEFyZ3M8VD4gPSB7XG4gIGFwaVJvdXRlPzogc3RyaW5nXG4gIGRlcHRoOiBudW1iZXJcbiAgZmllbGRTY2hlbWE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgaW5jb21pbmdEYXRhOiBUXG4gIHBvcHVsYXRpb25Qcm9taXNlczogUHJvbWlzZTx2b2lkPltdXG4gIHJlc3VsdDogVFxuICBzZXJ2ZXJVUkw6IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgdHJhdmVyc2VGaWVsZHMgPSA8VD4oe1xuICBhcGlSb3V0ZSxcbiAgZGVwdGgsXG4gIGZpZWxkU2NoZW1hLFxuICBpbmNvbWluZ0RhdGEsXG4gIHBvcHVsYXRpb25Qcm9taXNlcyxcbiAgcmVzdWx0LFxuICBzZXJ2ZXJVUkwsXG59OiBBcmdzPFQ+KTogdm9pZCA9PiB7XG4gIGZpZWxkU2NoZW1hLmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgaWYgKCduYW1lJyBpbiBmaWVsZCAmJiB0eXBlb2YgZmllbGQubmFtZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIFRPRE86IHR5cGUgdGhpc1xuICAgICAgY29uc3QgZmllbGROYW1lID0gZmllbGQubmFtZVxuXG4gICAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnYXJyYXknOlxuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGluY29taW5nRGF0YVtmaWVsZE5hbWVdKSkge1xuICAgICAgICAgICAgcmVzdWx0W2ZpZWxkTmFtZV0gPSBpbmNvbWluZ0RhdGFbZmllbGROYW1lXS5tYXAoKHJvdywgaSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBoYXNFeGlzdGluZ1JvdyA9XG4gICAgICAgICAgICAgICAgQXJyYXkuaXNBcnJheShyZXN1bHRbZmllbGROYW1lXSkgJiZcbiAgICAgICAgICAgICAgICB0eXBlb2YgcmVzdWx0W2ZpZWxkTmFtZV1baV0gPT09ICdvYmplY3QnICYmXG4gICAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkTmFtZV1baV0gIT09IG51bGxcblxuICAgICAgICAgICAgICBjb25zdCBuZXdSb3cgPSBoYXNFeGlzdGluZ1JvdyA/IHsgLi4ucmVzdWx0W2ZpZWxkTmFtZV1baV0gfSA6IHt9XG5cbiAgICAgICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgICAgIGFwaVJvdXRlLFxuICAgICAgICAgICAgICAgIGRlcHRoLFxuICAgICAgICAgICAgICAgIGZpZWxkU2NoZW1hOiBmaWVsZC5maWVsZHMgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXSwgLy8gVE9ETzogdHlwZSB0aGlzXG4gICAgICAgICAgICAgICAgaW5jb21pbmdEYXRhOiByb3csXG4gICAgICAgICAgICAgICAgcG9wdWxhdGlvblByb21pc2VzLFxuICAgICAgICAgICAgICAgIHJlc3VsdDogbmV3Um93LFxuICAgICAgICAgICAgICAgIHNlcnZlclVSTCxcbiAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICByZXR1cm4gbmV3Um93XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVha1xuXG4gICAgICAgIGNhc2UgJ2Jsb2Nrcyc6XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0pKSB7XG4gICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXSA9IGluY29taW5nRGF0YVtmaWVsZE5hbWVdLm1hcCgocm93LCBpKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IG1hdGNoZWRCbG9jayA9IGZpZWxkLmJsb2Nrc1tyb3cuYmxvY2tUeXBlXVxuXG4gICAgICAgICAgICAgIGNvbnN0IGhhc0V4aXN0aW5nUm93ID1cbiAgICAgICAgICAgICAgICBBcnJheS5pc0FycmF5KHJlc3VsdFtmaWVsZE5hbWVdKSAmJlxuICAgICAgICAgICAgICAgIHR5cGVvZiByZXN1bHRbZmllbGROYW1lXVtpXSA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXVtpXSAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdW2ldLmJsb2NrVHlwZSA9PT0gcm93LmJsb2NrVHlwZVxuXG4gICAgICAgICAgICAgIGNvbnN0IG5ld1JvdyA9IGhhc0V4aXN0aW5nUm93XG4gICAgICAgICAgICAgICAgPyB7IC4uLnJlc3VsdFtmaWVsZE5hbWVdW2ldIH1cbiAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgYmxvY2tUeXBlOiBtYXRjaGVkQmxvY2suc2x1ZyxcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICAgICAgYXBpUm91dGUsXG4gICAgICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICAgICAgZmllbGRTY2hlbWE6IG1hdGNoZWRCbG9jay5maWVsZHMgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXSwgLy8gVE9ETzogdHlwZSB0aGlzXG4gICAgICAgICAgICAgICAgaW5jb21pbmdEYXRhOiByb3csXG4gICAgICAgICAgICAgICAgcG9wdWxhdGlvblByb21pc2VzLFxuICAgICAgICAgICAgICAgIHJlc3VsdDogbmV3Um93LFxuICAgICAgICAgICAgICAgIHNlcnZlclVSTCxcbiAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICByZXR1cm4gbmV3Um93XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVha1xuXG4gICAgICAgIGNhc2UgJ3RhYic6XG4gICAgICAgIGNhc2UgJ2dyb3VwJzpcbiAgICAgICAgICBpZiAoIXJlc3VsdFtmaWVsZE5hbWVdKSB7XG4gICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXSA9IHt9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgYXBpUm91dGUsXG4gICAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hOiBmaWVsZC5maWVsZHMgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXSwgLy8gVE9ETzogdHlwZSB0aGlzXG4gICAgICAgICAgICBpbmNvbWluZ0RhdGE6IGluY29taW5nRGF0YVtmaWVsZE5hbWVdIHx8IHt9LFxuICAgICAgICAgICAgcG9wdWxhdGlvblByb21pc2VzLFxuICAgICAgICAgICAgcmVzdWx0OiByZXN1bHRbZmllbGROYW1lXSxcbiAgICAgICAgICAgIHNlcnZlclVSTCxcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgYnJlYWtcblxuICAgICAgICBjYXNlICd1cGxvYWQnOlxuICAgICAgICBjYXNlICdyZWxhdGlvbnNoaXAnOlxuICAgICAgICAgIGlmIChmaWVsZC5oYXNNYW55ICYmIEFycmF5LmlzQXJyYXkoaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0pKSB7XG4gICAgICAgICAgICBjb25zdCBleGlzdGluZ1ZhbHVlID0gQXJyYXkuaXNBcnJheShyZXN1bHRbZmllbGROYW1lXSkgPyBbLi4ucmVzdWx0W2ZpZWxkTmFtZV1dIDogW11cbiAgICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdID0gQXJyYXkuaXNBcnJheShyZXN1bHRbZmllbGROYW1lXSlcbiAgICAgICAgICAgICAgPyBbLi4ucmVzdWx0W2ZpZWxkTmFtZV1dLnNsaWNlKDAsIGluY29taW5nRGF0YVtmaWVsZE5hbWVdLmxlbmd0aClcbiAgICAgICAgICAgICAgOiBbXVxuXG4gICAgICAgICAgICBpbmNvbWluZ0RhdGFbZmllbGROYW1lXS5mb3JFYWNoKChyZWxhdGlvbiwgaSkgPT4ge1xuICAgICAgICAgICAgICAvLyBIYW5kbGUgYGhhc01hbnlgIHBvbHltb3JwaGljXG4gICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkLnJlbGF0aW9uVG8pKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZXhpc3RpbmdJRCA9IGV4aXN0aW5nVmFsdWVbaV0/LnZhbHVlPy5pZFxuXG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgZXhpc3RpbmdJRCAhPT0gcmVsYXRpb24udmFsdWUgfHxcbiAgICAgICAgICAgICAgICAgIGV4aXN0aW5nVmFsdWVbaV0/LnJlbGF0aW9uVG8gIT09IHJlbGF0aW9uLnJlbGF0aW9uVG9cbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdW2ldID0ge1xuICAgICAgICAgICAgICAgICAgICByZWxhdGlvblRvOiByZWxhdGlvbi5yZWxhdGlvblRvLFxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgcHJvbWlzZSh7XG4gICAgICAgICAgICAgICAgICAgICAgaWQ6IHJlbGF0aW9uLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc29yOiAndmFsdWUnLFxuICAgICAgICAgICAgICAgICAgICAgIGFwaVJvdXRlLFxuICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb246IHJlbGF0aW9uLnJlbGF0aW9uVG8sXG4gICAgICAgICAgICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICAgICAgICAgICAgcmVmOiByZXN1bHRbZmllbGROYW1lXVtpXSxcbiAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJVUkwsXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBIYW5kbGUgYGhhc01hbnlgIHNpbmd1bGFyXG4gICAgICAgICAgICAgICAgY29uc3QgZXhpc3RpbmdJRCA9IGV4aXN0aW5nVmFsdWVbaV0/LmlkXG5cbiAgICAgICAgICAgICAgICBpZiAoZXhpc3RpbmdJRCAhPT0gcmVsYXRpb24pIHtcbiAgICAgICAgICAgICAgICAgIHBvcHVsYXRpb25Qcm9taXNlcy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICBwcm9taXNlKHtcbiAgICAgICAgICAgICAgICAgICAgICBpZDogcmVsYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgYWNjZXNzb3I6IGksXG4gICAgICAgICAgICAgICAgICAgICAgYXBpUm91dGUsXG4gICAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbjogU3RyaW5nKGZpZWxkLnJlbGF0aW9uVG8pLFxuICAgICAgICAgICAgICAgICAgICAgIGRlcHRoLFxuICAgICAgICAgICAgICAgICAgICAgIHJlZjogcmVzdWx0W2ZpZWxkTmFtZV0sXG4gICAgICAgICAgICAgICAgICAgICAgc2VydmVyVVJMLFxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIEhhbmRsZSBgaGFzT25lYCBwb2x5bW9ycGhpY1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGQucmVsYXRpb25UbykpIHtcbiAgICAgICAgICAgICAgY29uc3QgaGFzTmV3VmFsdWUgPVxuICAgICAgICAgICAgICAgIHR5cGVvZiBpbmNvbWluZ0RhdGFbZmllbGROYW1lXSA9PT0gJ29iamVjdCcgJiYgaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0gIT09IG51bGxcbiAgICAgICAgICAgICAgY29uc3QgaGFzT2xkVmFsdWUgPVxuICAgICAgICAgICAgICAgIHR5cGVvZiByZXN1bHRbZmllbGROYW1lXSA9PT0gJ29iamVjdCcgJiYgcmVzdWx0W2ZpZWxkTmFtZV0gIT09IG51bGxcblxuICAgICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGhhc05ld1ZhbHVlID8gaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0udmFsdWUgOiAnJ1xuICAgICAgICAgICAgICBjb25zdCBuZXdSZWxhdGlvbiA9IGhhc05ld1ZhbHVlID8gaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0ucmVsYXRpb25UbyA6ICcnXG5cbiAgICAgICAgICAgICAgY29uc3Qgb2xkVmFsdWUgPSBoYXNPbGRWYWx1ZSA/IHJlc3VsdFtmaWVsZE5hbWVdLnZhbHVlIDogJydcbiAgICAgICAgICAgICAgY29uc3Qgb2xkUmVsYXRpb24gPSBoYXNPbGRWYWx1ZSA/IHJlc3VsdFtmaWVsZE5hbWVdLnJlbGF0aW9uVG8gOiAnJ1xuXG4gICAgICAgICAgICAgIGlmIChuZXdWYWx1ZSAhPT0gb2xkVmFsdWUgfHwgbmV3UmVsYXRpb24gIT09IG9sZFJlbGF0aW9uKSB7XG4gICAgICAgICAgICAgICAgaWYgKG5ld1ZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdFtmaWVsZE5hbWVdKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdID0ge1xuICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uVG86IG5ld1JlbGF0aW9uLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIHBvcHVsYXRpb25Qcm9taXNlcy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICBwcm9taXNlKHtcbiAgICAgICAgICAgICAgICAgICAgICBpZDogbmV3VmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgYWNjZXNzb3I6ICd2YWx1ZScsXG4gICAgICAgICAgICAgICAgICAgICAgYXBpUm91dGUsXG4gICAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbjogbmV3UmVsYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICAgICAgICAgICAgcmVmOiByZXN1bHRbZmllbGROYW1lXSxcbiAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJVUkwsXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXSA9IG51bGxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3QgaGFzTmV3VmFsdWUgPVxuICAgICAgICAgICAgICAgIHR5cGVvZiBpbmNvbWluZ0RhdGFbZmllbGROYW1lXSA9PT0gJ29iamVjdCcgJiYgaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0gIT09IG51bGxcbiAgICAgICAgICAgICAgY29uc3QgaGFzT2xkVmFsdWUgPVxuICAgICAgICAgICAgICAgIHR5cGVvZiByZXN1bHRbZmllbGROYW1lXSA9PT0gJ29iamVjdCcgJiYgcmVzdWx0W2ZpZWxkTmFtZV0gIT09IG51bGxcblxuICAgICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGhhc05ld1ZhbHVlID8gaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0udmFsdWUgOiAnJ1xuXG4gICAgICAgICAgICAgIGNvbnN0IG9sZFZhbHVlID0gaGFzT2xkVmFsdWUgPyByZXN1bHRbZmllbGROYW1lXS52YWx1ZSA6ICcnXG5cbiAgICAgICAgICAgICAgaWYgKG5ld1ZhbHVlICE9PSBvbGRWYWx1ZSkge1xuICAgICAgICAgICAgICAgIGlmIChuZXdWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgcG9wdWxhdGlvblByb21pc2VzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIHByb21pc2Uoe1xuICAgICAgICAgICAgICAgICAgICAgIGlkOiBuZXdWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NvcjogZmllbGROYW1lLFxuICAgICAgICAgICAgICAgICAgICAgIGFwaVJvdXRlLFxuICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb246IFN0cmluZyhmaWVsZC5yZWxhdGlvblRvKSxcbiAgICAgICAgICAgICAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICAgICAgICAgICAgICByZWY6IHJlc3VsdCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJVUkwsXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXSA9IG51bGxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrXG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXN1bHRbZmllbGROYW1lXSA9IGluY29taW5nRGF0YVtmaWVsZE5hbWVdXG4gICAgICB9XG4gICAgfVxuICB9KVxuXG4gIHJldHVybiBudWxsXG59XG4iXSwibmFtZXMiOlsidHJhdmVyc2VGaWVsZHMiLCJhcGlSb3V0ZSIsImRlcHRoIiwiZmllbGRTY2hlbWEiLCJpbmNvbWluZ0RhdGEiLCJwb3B1bGF0aW9uUHJvbWlzZXMiLCJyZXN1bHQiLCJzZXJ2ZXJVUkwiLCJmb3JFYWNoIiwiZmllbGQiLCJuYW1lIiwiZmllbGROYW1lIiwidHlwZSIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsInJvdyIsImkiLCJoYXNFeGlzdGluZ1JvdyIsIm5ld1JvdyIsImZpZWxkcyIsIm1hdGNoZWRCbG9jayIsImJsb2NrcyIsImJsb2NrVHlwZSIsInNsdWciLCJoYXNNYW55IiwiZXhpc3RpbmdWYWx1ZSIsInNsaWNlIiwibGVuZ3RoIiwicmVsYXRpb24iLCJyZWxhdGlvblRvIiwiZXhpc3RpbmdJRCIsInZhbHVlIiwiaWQiLCJwdXNoIiwicHJvbWlzZSIsImFjY2Vzc29yIiwiY29sbGVjdGlvbiIsInJlZiIsIlN0cmluZyIsImhhc05ld1ZhbHVlIiwiaGFzT2xkVmFsdWUiLCJuZXdWYWx1ZSIsIm5ld1JlbGF0aW9uIiwib2xkVmFsdWUiLCJvbGRSZWxhdGlvbiJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFZYUE7OztlQUFBQTs7O3lCQVpXO0FBWWpCLE1BQU1BLGlCQUFpQixDQUFJLEVBQ2hDQyxRQUFRLEVBQ1JDLEtBQUssRUFDTEMsV0FBVyxFQUNYQyxZQUFZLEVBQ1pDLGtCQUFrQixFQUNsQkMsTUFBTSxFQUNOQyxTQUFTLEVBQ0Q7SUFDUkosWUFBWUssT0FBTyxDQUFDLENBQUNDO1FBQ25CLElBQUksVUFBVUEsU0FBUyxPQUFPQSxNQUFNQyxJQUFJLEtBQUssVUFBVTtZQUNyRCxrQkFBa0I7WUFDbEIsTUFBTUMsWUFBWUYsTUFBTUMsSUFBSTtZQUU1QixPQUFRRCxNQUFNRyxJQUFJO2dCQUNoQixLQUFLO29CQUNILElBQUlDLE1BQU1DLE9BQU8sQ0FBQ1YsWUFBWSxDQUFDTyxVQUFVLEdBQUc7d0JBQzFDTCxNQUFNLENBQUNLLFVBQVUsR0FBR1AsWUFBWSxDQUFDTyxVQUFVLENBQUNJLEdBQUcsQ0FBQyxDQUFDQyxLQUFLQzs0QkFDcEQsTUFBTUMsaUJBQ0pMLE1BQU1DLE9BQU8sQ0FBQ1IsTUFBTSxDQUFDSyxVQUFVLEtBQy9CLE9BQU9MLE1BQU0sQ0FBQ0ssVUFBVSxDQUFDTSxFQUFFLEtBQUssWUFDaENYLE1BQU0sQ0FBQ0ssVUFBVSxDQUFDTSxFQUFFLEtBQUs7NEJBRTNCLE1BQU1FLFNBQVNELGlCQUFpQjtnQ0FBRSxHQUFHWixNQUFNLENBQUNLLFVBQVUsQ0FBQ00sRUFBRTs0QkFBQyxJQUFJLENBQUM7NEJBRS9EakIsZUFBZTtnQ0FDYkM7Z0NBQ0FDO2dDQUNBQyxhQUFhTSxNQUFNVyxNQUFNO2dDQUN6QmhCLGNBQWNZO2dDQUNkWDtnQ0FDQUMsUUFBUWE7Z0NBQ1JaOzRCQUNGOzRCQUVBLE9BQU9ZO3dCQUNU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
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unsubscribe.d.ts","sourceRoot":"","sources":["../src/unsubscribe.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,qBAAsB,YAAY,KAAK,IAAI,SAIlE,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "unsubscribe", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return unsubscribe;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const unsubscribe = (callback)=>{
|
|
12
|
+
if (typeof window !== 'undefined') {
|
|
13
|
+
window.removeEventListener('message', callback);
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91bnN1YnNjcmliZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgdW5zdWJzY3JpYmUgPSAoY2FsbGJhY2s6IChldmVudDogTWVzc2FnZUV2ZW50KSA9PiB2b2lkKSA9PiB7XG4gIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgY2FsbGJhY2spXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJ1bnN1YnNjcmliZSIsImNhbGxiYWNrIiwid2luZG93IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFBYUE7OztlQUFBQTs7O0FBQU4sTUFBTUEsY0FBYyxDQUFDQztJQUMxQixJQUFJLE9BQU9DLFdBQVcsYUFBYTtRQUNqQ0EsT0FBT0MsbUJBQW1CLENBQUMsV0FBV0Y7SUFDeEM7QUFDRiJ9
|
package/package.json
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@payloadcms/live-preview",
|
|
3
|
+
"version": "1.0.0-beta.1",
|
|
4
|
+
"description": "The official live preview JavaScript SDK for Payload",
|
|
5
|
+
"repository": "https://github.com/payloadcms/payload",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"homepage": "https://payloadcms.com",
|
|
8
|
+
"author": "Payload CMS, Inc.",
|
|
9
|
+
"main": "./dist/index.js",
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"react": "18.2.0"
|
|
13
|
+
},
|
|
14
|
+
"devDependencies": {
|
|
15
|
+
"@types/node": "20.5.7",
|
|
16
|
+
"@types/react": "18.2.15",
|
|
17
|
+
"@payloadcms/eslint-config": "0.0.1",
|
|
18
|
+
"payload": "2.0.0-beta.15"
|
|
19
|
+
},
|
|
20
|
+
"exports": null,
|
|
21
|
+
"publishConfig": {
|
|
22
|
+
"registry": "https://registry.npmjs.org/"
|
|
23
|
+
},
|
|
24
|
+
"files": [
|
|
25
|
+
"dist"
|
|
26
|
+
],
|
|
27
|
+
"scripts": {
|
|
28
|
+
"build": "pnpm copyfiles && pnpm build:swc && pnpm build:types",
|
|
29
|
+
"build:swc": "swc ./src -d ./dist --config-file .swcrc",
|
|
30
|
+
"build:types": "tsc --emitDeclarationOnly --outDir dist",
|
|
31
|
+
"clean": "rimraf {dist,*.tsbuildinfo}",
|
|
32
|
+
"copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/"
|
|
33
|
+
}
|
|
34
|
+
}
|
package/src/index.ts
ADDED