@payloadcms/live-preview 0.1.4 → 0.1.6

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.
@@ -1,5 +1,6 @@
1
1
  export declare const handleMessage: <T>(args: {
2
- depth: number;
2
+ apiRoute?: string;
3
+ depth?: number;
3
4
  event: MessageEvent;
4
5
  initialData: T;
5
6
  serverURL: string;
@@ -1 +1 @@
1
- {"version":3,"file":"handleMessage.d.ts","sourceRoot":"","sources":["../src/handleMessage.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,aAAa;WACjB,MAAM;WACN,YAAY;;eAER,MAAM;gBAwBlB,CAAA"}
1
+ {"version":3,"file":"handleMessage.d.ts","sourceRoot":"","sources":["../src/handleMessage.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,aAAa;eACb,MAAM;YACT,MAAM;WACP,YAAY;;eAER,MAAM;gBAmClB,CAAA"}
@@ -16,14 +16,20 @@ const _ = require(".");
16
16
  let payloadLivePreviewFieldSchema = undefined // TODO: type this from `fieldSchemaToJSON` return type
17
17
  ;
18
18
  const handleMessage = async (args)=>{
19
- const { depth, event, initialData, serverURL } = args;
19
+ const { apiRoute, depth, event, initialData, serverURL } = args;
20
20
  if (event.origin === serverURL && event.data) {
21
21
  const eventData = JSON.parse(event?.data);
22
22
  if (eventData.type === 'payload-live-preview') {
23
23
  if (!payloadLivePreviewFieldSchema && eventData.fieldSchemaJSON) {
24
24
  payloadLivePreviewFieldSchema = eventData.fieldSchemaJSON;
25
25
  }
26
+ if (!payloadLivePreviewFieldSchema) {
27
+ // eslint-disable-next-line no-console
28
+ console.warn('Payload Live Preview: No `fieldSchemaJSON` was received from the parent window. Unable to merge data.');
29
+ return initialData;
30
+ }
26
31
  const mergedData = await (0, _.mergeData)({
32
+ apiRoute,
27
33
  depth,
28
34
  fieldSchema: payloadLivePreviewFieldSchema,
29
35
  incomingData: eventData.data,
@@ -36,4 +42,4 @@ const handleMessage = async (args)=>{
36
42
  return initialData;
37
43
  };
38
44
 
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9oYW5kbGVNZXNzYWdlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1lcmdlRGF0YSB9IGZyb20gJy4nXG5cbi8vIEZvciBwZXJmb3JtYW5jZSByZWFzb25zLCBgZmllbGRTY2hlbWFKU09OYCB3aWxsIG9ubHkgYmUgc2VudCBvbmNlIG9uIHRoZSBpbml0aWFsIG1lc3NhZ2Vcbi8vIFdlIG5lZWQgdG8gY2FjaGUgdGhpcyB2YWx1ZSBzbyB0aGF0IGl0IGNhbiBiZSB1c2VkIGFjcm9zcyBzdWJzZXF1ZW50IG1lc3NhZ2VzXG4vLyBUbyBkbyB0aGlzLCBzYXZlIGBmaWVsZFNjaGVtYUpTT05gIHdoZW4gaXQgYXJyaXZlcyBhcyBhIGdsb2JhbCB2YXJpYWJsZVxuLy8gU2VuZCB0aGlzIGNhY2hlZCB2YWx1ZSB0byBgbWVyZ2VEYXRhYCwgaW5zdGVhZCBvZiBgZXZlbnREYXRhLmZpZWxkU2NoZW1hSlNPTmAgZGlyZWN0bHlcbmxldCBwYXlsb2FkTGl2ZVByZXZpZXdGaWVsZFNjaGVtYSA9IHVuZGVmaW5lZCAvLyBUT0RPOiB0eXBlIHRoaXMgZnJvbSBgZmllbGRTY2hlbWFUb0pTT05gIHJldHVybiB0eXBlXG5cbmV4cG9ydCBjb25zdCBoYW5kbGVNZXNzYWdlID0gYXN5bmMgPFQ+KGFyZ3M6IHtcbiAgZGVwdGg6IG51bWJlclxuICBldmVudDogTWVzc2FnZUV2ZW50XG4gIGluaXRpYWxEYXRhOiBUXG4gIHNlcnZlclVSTDogc3RyaW5nXG59KTogUHJvbWlzZTxUPiA9PiB7XG4gIGNvbnN0IHsgZGVwdGgsIGV2ZW50LCBpbml0aWFsRGF0YSwgc2VydmVyVVJMIH0gPSBhcmdzXG4gIGlmIChldmVudC5vcmlnaW4gPT09IHNlcnZlclVSTCAmJiBldmVudC5kYXRhKSB7XG4gICAgY29uc3QgZXZlbnREYXRhID0gSlNPTi5wYXJzZShldmVudD8uZGF0YSlcblxuICAgIGlmIChldmVudERhdGEudHlwZSA9PT0gJ3BheWxvYWQtbGl2ZS1wcmV2aWV3Jykge1xuICAgICAgaWYgKCFwYXlsb2FkTGl2ZVByZXZpZXdGaWVsZFNjaGVtYSAmJiBldmVudERhdGEuZmllbGRTY2hlbWFKU09OKSB7XG4gICAgICAgIHBheWxvYWRMaXZlUHJldmlld0ZpZWxkU2NoZW1hID0gZXZlbnREYXRhLmZpZWxkU2NoZW1hSlNPTlxuICAgICAgfVxuXG4gICAgICBjb25zdCBtZXJnZWREYXRhID0gYXdhaXQgbWVyZ2VEYXRhPFQ+KHtcbiAgICAgICAgZGVwdGgsXG4gICAgICAgIGZpZWxkU2NoZW1hOiBwYXlsb2FkTGl2ZVByZXZpZXdGaWVsZFNjaGVtYSxcbiAgICAgICAgaW5jb21pbmdEYXRhOiBldmVudERhdGEuZGF0YSxcbiAgICAgICAgaW5pdGlhbERhdGEsXG4gICAgICAgIHNlcnZlclVSTCxcbiAgICAgIH0pXG5cbiAgICAgIHJldHVybiBtZXJnZWREYXRhXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGluaXRpYWxEYXRhXG59XG4iXSwibmFtZXMiOlsiaGFuZGxlTWVzc2FnZSIsInBheWxvYWRMaXZlUHJldmlld0ZpZWxkU2NoZW1hIiwidW5kZWZpbmVkIiwiYXJncyIsImRlcHRoIiwiZXZlbnQiLCJpbml0aWFsRGF0YSIsInNlcnZlclVSTCIsIm9yaWdpbiIsImRhdGEiLCJldmVudERhdGEiLCJKU09OIiwicGFyc2UiLCJ0eXBlIiwiZmllbGRTY2hlbWFKU09OIiwibWVyZ2VkRGF0YSIsIm1lcmdlRGF0YSIsImZpZWxkU2NoZW1hIiwiaW5jb21pbmdEYXRhIl0sIm1hcHBpbmdzIjoiOzs7OytCQVFhQTs7O2VBQUFBOzs7a0JBUmE7QUFFMUIsMkZBQTJGO0FBQzNGLGdGQUFnRjtBQUNoRiwwRUFBMEU7QUFDMUUseUZBQXlGO0FBQ3pGLElBQUlDLGdDQUFnQ0MsVUFBVSx1REFBdUQ7O0FBRTlGLE1BQU1GLGdCQUFnQixPQUFVRztJQU1yQyxNQUFNLEVBQUVDLEtBQUssRUFBRUMsS0FBSyxFQUFFQyxXQUFXLEVBQUVDLFNBQVMsRUFBRSxHQUFHSjtJQUNqRCxJQUFJRSxNQUFNRyxNQUFNLEtBQUtELGFBQWFGLE1BQU1JLElBQUksRUFBRTtRQUM1QyxNQUFNQyxZQUFZQyxLQUFLQyxLQUFLLENBQUNQLE9BQU9JO1FBRXBDLElBQUlDLFVBQVVHLElBQUksS0FBSyx3QkFBd0I7WUFDN0MsSUFBSSxDQUFDWixpQ0FBaUNTLFVBQVVJLGVBQWUsRUFBRTtnQkFDL0RiLGdDQUFnQ1MsVUFBVUksZUFBZTtZQUMzRDtZQUVBLE1BQU1DLGFBQWEsTUFBTUMsSUFBQUEsV0FBUyxFQUFJO2dCQUNwQ1o7Z0JBQ0FhLGFBQWFoQjtnQkFDYmlCLGNBQWNSLFVBQVVELElBQUk7Z0JBQzVCSDtnQkFDQUM7WUFDRjtZQUVBLE9BQU9RO1FBQ1Q7SUFDRjtJQUVBLE9BQU9UO0FBQ1QifQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9oYW5kbGVNZXNzYWdlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1lcmdlRGF0YSB9IGZyb20gJy4nXG5cbi8vIEZvciBwZXJmb3JtYW5jZSByZWFzb25zLCBgZmllbGRTY2hlbWFKU09OYCB3aWxsIG9ubHkgYmUgc2VudCBvbmNlIG9uIHRoZSBpbml0aWFsIG1lc3NhZ2Vcbi8vIFdlIG5lZWQgdG8gY2FjaGUgdGhpcyB2YWx1ZSBzbyB0aGF0IGl0IGNhbiBiZSB1c2VkIGFjcm9zcyBzdWJzZXF1ZW50IG1lc3NhZ2VzXG4vLyBUbyBkbyB0aGlzLCBzYXZlIGBmaWVsZFNjaGVtYUpTT05gIHdoZW4gaXQgYXJyaXZlcyBhcyBhIGdsb2JhbCB2YXJpYWJsZVxuLy8gU2VuZCB0aGlzIGNhY2hlZCB2YWx1ZSB0byBgbWVyZ2VEYXRhYCwgaW5zdGVhZCBvZiBgZXZlbnREYXRhLmZpZWxkU2NoZW1hSlNPTmAgZGlyZWN0bHlcbmxldCBwYXlsb2FkTGl2ZVByZXZpZXdGaWVsZFNjaGVtYSA9IHVuZGVmaW5lZCAvLyBUT0RPOiB0eXBlIHRoaXMgZnJvbSBgZmllbGRTY2hlbWFUb0pTT05gIHJldHVybiB0eXBlXG5cbmV4cG9ydCBjb25zdCBoYW5kbGVNZXNzYWdlID0gYXN5bmMgPFQ+KGFyZ3M6IHtcbiAgYXBpUm91dGU/OiBzdHJpbmdcbiAgZGVwdGg/OiBudW1iZXJcbiAgZXZlbnQ6IE1lc3NhZ2VFdmVudFxuICBpbml0aWFsRGF0YTogVFxuICBzZXJ2ZXJVUkw6IHN0cmluZ1xufSk6IFByb21pc2U8VD4gPT4ge1xuICBjb25zdCB7IGFwaVJvdXRlLCBkZXB0aCwgZXZlbnQsIGluaXRpYWxEYXRhLCBzZXJ2ZXJVUkwgfSA9IGFyZ3NcblxuICBpZiAoZXZlbnQub3JpZ2luID09PSBzZXJ2ZXJVUkwgJiYgZXZlbnQuZGF0YSkge1xuICAgIGNvbnN0IGV2ZW50RGF0YSA9IEpTT04ucGFyc2UoZXZlbnQ/LmRhdGEpXG5cbiAgICBpZiAoZXZlbnREYXRhLnR5cGUgPT09ICdwYXlsb2FkLWxpdmUtcHJldmlldycpIHtcbiAgICAgIGlmICghcGF5bG9hZExpdmVQcmV2aWV3RmllbGRTY2hlbWEgJiYgZXZlbnREYXRhLmZpZWxkU2NoZW1hSlNPTikge1xuICAgICAgICBwYXlsb2FkTGl2ZVByZXZpZXdGaWVsZFNjaGVtYSA9IGV2ZW50RGF0YS5maWVsZFNjaGVtYUpTT05cbiAgICAgIH1cblxuICAgICAgaWYgKCFwYXlsb2FkTGl2ZVByZXZpZXdGaWVsZFNjaGVtYSkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgJ1BheWxvYWQgTGl2ZSBQcmV2aWV3OiBObyBgZmllbGRTY2hlbWFKU09OYCB3YXMgcmVjZWl2ZWQgZnJvbSB0aGUgcGFyZW50IHdpbmRvdy4gVW5hYmxlIHRvIG1lcmdlIGRhdGEuJyxcbiAgICAgICAgKVxuXG4gICAgICAgIHJldHVybiBpbml0aWFsRGF0YVxuICAgICAgfVxuXG4gICAgICBjb25zdCBtZXJnZWREYXRhID0gYXdhaXQgbWVyZ2VEYXRhPFQ+KHtcbiAgICAgICAgYXBpUm91dGUsXG4gICAgICAgIGRlcHRoLFxuICAgICAgICBmaWVsZFNjaGVtYTogcGF5bG9hZExpdmVQcmV2aWV3RmllbGRTY2hlbWEsXG4gICAgICAgIGluY29taW5nRGF0YTogZXZlbnREYXRhLmRhdGEsXG4gICAgICAgIGluaXRpYWxEYXRhLFxuICAgICAgICBzZXJ2ZXJVUkwsXG4gICAgICB9KVxuXG4gICAgICByZXR1cm4gbWVyZ2VkRGF0YVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBpbml0aWFsRGF0YVxufVxuIl0sIm5hbWVzIjpbImhhbmRsZU1lc3NhZ2UiLCJwYXlsb2FkTGl2ZVByZXZpZXdGaWVsZFNjaGVtYSIsInVuZGVmaW5lZCIsImFyZ3MiLCJhcGlSb3V0ZSIsImRlcHRoIiwiZXZlbnQiLCJpbml0aWFsRGF0YSIsInNlcnZlclVSTCIsIm9yaWdpbiIsImRhdGEiLCJldmVudERhdGEiLCJKU09OIiwicGFyc2UiLCJ0eXBlIiwiZmllbGRTY2hlbWFKU09OIiwiY29uc29sZSIsIndhcm4iLCJtZXJnZWREYXRhIiwibWVyZ2VEYXRhIiwiZmllbGRTY2hlbWEiLCJpbmNvbWluZ0RhdGEiXSwibWFwcGluZ3MiOiI7Ozs7K0JBUWFBOzs7ZUFBQUE7OztrQkFSYTtBQUUxQiwyRkFBMkY7QUFDM0YsZ0ZBQWdGO0FBQ2hGLDBFQUEwRTtBQUMxRSx5RkFBeUY7QUFDekYsSUFBSUMsZ0NBQWdDQyxVQUFVLHVEQUF1RDs7QUFFOUYsTUFBTUYsZ0JBQWdCLE9BQVVHO0lBT3JDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxLQUFLLEVBQUVDLEtBQUssRUFBRUMsV0FBVyxFQUFFQyxTQUFTLEVBQUUsR0FBR0w7SUFFM0QsSUFBSUcsTUFBTUcsTUFBTSxLQUFLRCxhQUFhRixNQUFNSSxJQUFJLEVBQUU7UUFDNUMsTUFBTUMsWUFBWUMsS0FBS0MsS0FBSyxDQUFDUCxPQUFPSTtRQUVwQyxJQUFJQyxVQUFVRyxJQUFJLEtBQUssd0JBQXdCO1lBQzdDLElBQUksQ0FBQ2IsaUNBQWlDVSxVQUFVSSxlQUFlLEVBQUU7Z0JBQy9EZCxnQ0FBZ0NVLFVBQVVJLGVBQWU7WUFDM0Q7WUFFQSxJQUFJLENBQUNkLCtCQUErQjtnQkFDbEMsc0NBQXNDO2dCQUN0Q2UsUUFBUUMsSUFBSSxDQUNWO2dCQUdGLE9BQU9WO1lBQ1Q7WUFFQSxNQUFNVyxhQUFhLE1BQU1DLElBQUFBLFdBQVMsRUFBSTtnQkFDcENmO2dCQUNBQztnQkFDQWUsYUFBYW5CO2dCQUNib0IsY0FBY1YsVUFBVUQsSUFBSTtnQkFDNUJIO2dCQUNBQztZQUNGO1lBRUEsT0FBT1U7UUFDVDtJQUNGO0lBRUEsT0FBT1g7QUFDVCJ9
@@ -1,10 +1,13 @@
1
- export type MergeLiveDataArgs<T> = {
1
+ import type { fieldSchemaToJSON } from 'payload/utilities';
2
+ export declare const mergeData: <T>(args: {
2
3
  apiRoute?: string;
3
- depth: number;
4
- fieldSchema: Record<string, unknown>[];
5
- incomingData: T;
4
+ depth?: number;
5
+ fieldSchema: ReturnType<typeof fieldSchemaToJSON>;
6
+ incomingData: Partial<T>;
6
7
  initialData: T;
8
+ returnNumberOfRequests?: boolean;
7
9
  serverURL: string;
8
- };
9
- export declare const mergeData: <T>({ apiRoute, depth, fieldSchema, incomingData, initialData, serverURL, }: MergeLiveDataArgs<T>) => Promise<T>;
10
+ }) => Promise<T & {
11
+ _numberOfRequests?: number;
12
+ }>;
10
13
  //# sourceMappingURL=mergeData.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"mergeData.d.ts","sourceRoot":"","sources":["../src/mergeData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAI1D,eAAO,MAAM,SAAS;eACT,MAAM;YACT,MAAM;iBACD,WAAW,wBAAwB,CAAC;;;6BAGxB,OAAO;eACrB,MAAM;;wBAGK,MAAM;EAiC7B,CAAA"}
package/dist/mergeData.js CHANGED
@@ -9,7 +9,8 @@ Object.defineProperty(exports, "mergeData", {
9
9
  }
10
10
  });
11
11
  const _traverseFields = require("./traverseFields");
12
- const mergeData = async ({ apiRoute, depth, fieldSchema, incomingData, initialData, serverURL })=>{
12
+ const mergeData = async (args)=>{
13
+ const { apiRoute, depth, fieldSchema, incomingData, initialData, returnNumberOfRequests, serverURL } = args;
13
14
  const result = {
14
15
  ...initialData
15
16
  };
@@ -24,7 +25,12 @@ const mergeData = async ({ apiRoute, depth, fieldSchema, incomingData, initialDa
24
25
  serverURL
25
26
  });
26
27
  await Promise.all(populationPromises);
27
- return result;
28
+ return {
29
+ ...result,
30
+ ...returnNumberOfRequests ? {
31
+ _numberOfRequests: populationPromises.length
32
+ } : {}
33
+ };
28
34
  };
29
35
 
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXJnZURhdGEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHJhdmVyc2VGaWVsZHMgfSBmcm9tICcuL3RyYXZlcnNlRmllbGRzJ1xuXG5leHBvcnQgdHlwZSBNZXJnZUxpdmVEYXRhQXJnczxUPiA9IHtcbiAgYXBpUm91dGU/OiBzdHJpbmdcbiAgZGVwdGg6IG51bWJlclxuICBmaWVsZFNjaGVtYTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxuICBpbmNvbWluZ0RhdGE6IFRcbiAgaW5pdGlhbERhdGE6IFRcbiAgc2VydmVyVVJMOiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IG1lcmdlRGF0YSA9IGFzeW5jIDxUPih7XG4gIGFwaVJvdXRlLFxuICBkZXB0aCxcbiAgZmllbGRTY2hlbWEsXG4gIGluY29taW5nRGF0YSxcbiAgaW5pdGlhbERhdGEsXG4gIHNlcnZlclVSTCxcbn06IE1lcmdlTGl2ZURhdGFBcmdzPFQ+KTogUHJvbWlzZTxUPiA9PiB7XG4gIGNvbnN0IHJlc3VsdCA9IHsgLi4uaW5pdGlhbERhdGEgfVxuXG4gIGNvbnN0IHBvcHVsYXRpb25Qcm9taXNlczogUHJvbWlzZTx2b2lkPltdID0gW11cblxuICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgYXBpUm91dGUsXG4gICAgZGVwdGgsXG4gICAgZmllbGRTY2hlbWEsXG4gICAgaW5jb21pbmdEYXRhLFxuICAgIHBvcHVsYXRpb25Qcm9taXNlcyxcbiAgICByZXN1bHQsXG4gICAgc2VydmVyVVJMLFxuICB9KVxuXG4gIGF3YWl0IFByb21pc2UuYWxsKHBvcHVsYXRpb25Qcm9taXNlcylcblxuICByZXR1cm4gcmVzdWx0XG59XG4iXSwibmFtZXMiOlsibWVyZ2VEYXRhIiwiYXBpUm91dGUiLCJkZXB0aCIsImZpZWxkU2NoZW1hIiwiaW5jb21pbmdEYXRhIiwiaW5pdGlhbERhdGEiLCJzZXJ2ZXJVUkwiLCJyZXN1bHQiLCJwb3B1bGF0aW9uUHJvbWlzZXMiLCJ0cmF2ZXJzZUZpZWxkcyIsIlByb21pc2UiLCJhbGwiXSwibWFwcGluZ3MiOiI7Ozs7K0JBV2FBOzs7ZUFBQUE7OztnQ0FYa0I7QUFXeEIsTUFBTUEsWUFBWSxPQUFVLEVBQ2pDQyxRQUFRLEVBQ1JDLEtBQUssRUFDTEMsV0FBVyxFQUNYQyxZQUFZLEVBQ1pDLFdBQVcsRUFDWEMsU0FBUyxFQUNZO0lBQ3JCLE1BQU1DLFNBQVM7UUFBRSxHQUFHRixXQUFXO0lBQUM7SUFFaEMsTUFBTUcscUJBQXNDLEVBQUU7SUFFOUNDLElBQUFBLDhCQUFjLEVBQUM7UUFDYlI7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUk7UUFDQUQ7UUFDQUQ7SUFDRjtJQUVBLE1BQU1JLFFBQVFDLEdBQUcsQ0FBQ0g7SUFFbEIsT0FBT0Q7QUFDVCJ9
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXJnZURhdGEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBmaWVsZFNjaGVtYVRvSlNPTiB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuXG5pbXBvcnQgeyB0cmF2ZXJzZUZpZWxkcyB9IGZyb20gJy4vdHJhdmVyc2VGaWVsZHMnXG5cbmV4cG9ydCBjb25zdCBtZXJnZURhdGEgPSBhc3luYyA8VD4oYXJnczoge1xuICBhcGlSb3V0ZT86IHN0cmluZ1xuICBkZXB0aD86IG51bWJlclxuICBmaWVsZFNjaGVtYTogUmV0dXJuVHlwZTx0eXBlb2YgZmllbGRTY2hlbWFUb0pTT04+XG4gIGluY29taW5nRGF0YTogUGFydGlhbDxUPlxuICBpbml0aWFsRGF0YTogVFxuICByZXR1cm5OdW1iZXJPZlJlcXVlc3RzPzogYm9vbGVhblxuICBzZXJ2ZXJVUkw6IHN0cmluZ1xufSk6IFByb21pc2U8XG4gIFQgJiB7XG4gICAgX251bWJlck9mUmVxdWVzdHM/OiBudW1iZXJcbiAgfVxuPiA9PiB7XG4gIGNvbnN0IHtcbiAgICBhcGlSb3V0ZSxcbiAgICBkZXB0aCxcbiAgICBmaWVsZFNjaGVtYSxcbiAgICBpbmNvbWluZ0RhdGEsXG4gICAgaW5pdGlhbERhdGEsXG4gICAgcmV0dXJuTnVtYmVyT2ZSZXF1ZXN0cyxcbiAgICBzZXJ2ZXJVUkwsXG4gIH0gPSBhcmdzXG5cbiAgY29uc3QgcmVzdWx0ID0geyAuLi5pbml0aWFsRGF0YSB9XG5cbiAgY29uc3QgcG9wdWxhdGlvblByb21pc2VzOiBQcm9taXNlPHZvaWQ+W10gPSBbXVxuXG4gIHRyYXZlcnNlRmllbGRzKHtcbiAgICBhcGlSb3V0ZSxcbiAgICBkZXB0aCxcbiAgICBmaWVsZFNjaGVtYSxcbiAgICBpbmNvbWluZ0RhdGEsXG4gICAgcG9wdWxhdGlvblByb21pc2VzLFxuICAgIHJlc3VsdCxcbiAgICBzZXJ2ZXJVUkwsXG4gIH0pXG5cbiAgYXdhaXQgUHJvbWlzZS5hbGwocG9wdWxhdGlvblByb21pc2VzKVxuXG4gIHJldHVybiB7XG4gICAgLi4ucmVzdWx0LFxuICAgIC4uLihyZXR1cm5OdW1iZXJPZlJlcXVlc3RzID8geyBfbnVtYmVyT2ZSZXF1ZXN0czogcG9wdWxhdGlvblByb21pc2VzLmxlbmd0aCB9IDoge30pLFxuICB9XG59XG4iXSwibmFtZXMiOlsibWVyZ2VEYXRhIiwiYXJncyIsImFwaVJvdXRlIiwiZGVwdGgiLCJmaWVsZFNjaGVtYSIsImluY29taW5nRGF0YSIsImluaXRpYWxEYXRhIiwicmV0dXJuTnVtYmVyT2ZSZXF1ZXN0cyIsInNlcnZlclVSTCIsInJlc3VsdCIsInBvcHVsYXRpb25Qcm9taXNlcyIsInRyYXZlcnNlRmllbGRzIiwiUHJvbWlzZSIsImFsbCIsIl9udW1iZXJPZlJlcXVlc3RzIiwibGVuZ3RoIl0sIm1hcHBpbmdzIjoiOzs7OytCQUlhQTs7O2VBQUFBOzs7Z0NBRmtCO0FBRXhCLE1BQU1BLFlBQVksT0FBVUM7SUFhakMsTUFBTSxFQUNKQyxRQUFRLEVBQ1JDLEtBQUssRUFDTEMsV0FBVyxFQUNYQyxZQUFZLEVBQ1pDLFdBQVcsRUFDWEMsc0JBQXNCLEVBQ3RCQyxTQUFTLEVBQ1YsR0FBR1A7SUFFSixNQUFNUSxTQUFTO1FBQUUsR0FBR0gsV0FBVztJQUFDO0lBRWhDLE1BQU1JLHFCQUFzQyxFQUFFO0lBRTlDQyxJQUFBQSw4QkFBYyxFQUFDO1FBQ2JUO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FLO1FBQ0FEO1FBQ0FEO0lBQ0Y7SUFFQSxNQUFNSSxRQUFRQyxHQUFHLENBQUNIO0lBRWxCLE9BQU87UUFDTCxHQUFHRCxNQUFNO1FBQ1QsR0FBSUYseUJBQXlCO1lBQUVPLG1CQUFtQkosbUJBQW1CSyxNQUFNO1FBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEY7QUFDRiJ9
package/dist/promise.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- type Args = {
1
+ export declare const promise: (args: {
2
2
  accessor: number | string;
3
3
  apiRoute?: string;
4
4
  collection: string;
@@ -6,7 +6,5 @@ type Args = {
6
6
  id: number | string;
7
7
  ref: Record<string, unknown>;
8
8
  serverURL: string;
9
- };
10
- export declare const promise: ({ id, accessor, apiRoute, collection, depth, ref, serverURL, }: Args) => Promise<void>;
11
- export {};
9
+ }) => Promise<void>;
12
10
  //# sourceMappingURL=promise.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../src/promise.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,SAAgB;IAClC,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,OAAO,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,SAAS,EAAE,MAAM,CAAA;CAClB,KAAG,QAAQ,IAAI,CAmBf,CAAA"}
package/dist/promise.js CHANGED
@@ -8,9 +8,22 @@ Object.defineProperty(exports, "promise", {
8
8
  return promise;
9
9
  }
10
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());
11
+ const promise = async (args)=>{
12
+ const { id, accessor, apiRoute, collection, depth, ref, serverURL } = args;
13
+ const url = `${serverURL}${apiRoute || '/api'}/${collection}/${id}?depth=${depth}`;
14
+ let res = null;
15
+ try {
16
+ res = await fetch(url, {
17
+ credentials: 'include',
18
+ headers: {
19
+ 'Content-Type': 'application/json'
20
+ }
21
+ }).then((res)=>res.json());
22
+ } catch (err) {
23
+ console.error(err) // eslint-disable-line no-console
24
+ ;
25
+ }
13
26
  ref[accessor] = res;
14
27
  };
15
28
 
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9taXNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbInR5cGUgQXJncyA9IHtcbiAgYWNjZXNzb3I6IG51bWJlciB8IHN0cmluZ1xuICBhcGlSb3V0ZT86IHN0cmluZ1xuICBjb2xsZWN0aW9uOiBzdHJpbmdcbiAgZGVwdGg6IG51bWJlclxuICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gIHJlZjogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgc2VydmVyVVJMOiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IHByb21pc2UgPSBhc3luYyAoe1xuICBpZCxcbiAgYWNjZXNzb3IsXG4gIGFwaVJvdXRlLFxuICBjb2xsZWN0aW9uLFxuICBkZXB0aCxcbiAgcmVmLFxuICBzZXJ2ZXJVUkwsXG59OiBBcmdzKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGNvbnN0IHJlczogYW55ID0gYXdhaXQgZmV0Y2goXG4gICAgYCR7c2VydmVyVVJMfSR7YXBpUm91dGUgfHwgJy9hcGknfS8ke2NvbGxlY3Rpb259LyR7aWR9P2RlcHRoPSR7ZGVwdGh9YCxcbiAgKS50aGVuKChyZXMpID0+IHJlcy5qc29uKCkpXG5cbiAgcmVmW2FjY2Vzc29yXSA9IHJlc1xufVxuIl0sIm5hbWVzIjpbInByb21pc2UiLCJpZCIsImFjY2Vzc29yIiwiYXBpUm91dGUiLCJjb2xsZWN0aW9uIiwiZGVwdGgiLCJyZWYiLCJzZXJ2ZXJVUkwiLCJyZXMiLCJmZXRjaCIsInRoZW4iLCJqc29uIl0sIm1hcHBpbmdzIjoiOzs7OytCQVVhQTs7O2VBQUFBOzs7QUFBTixNQUFNQSxVQUFVLE9BQU8sRUFDNUJDLEVBQUUsRUFDRkMsUUFBUSxFQUNSQyxRQUFRLEVBQ1JDLFVBQVUsRUFDVkMsS0FBSyxFQUNMQyxHQUFHLEVBQ0hDLFNBQVMsRUFDSjtJQUNMLE1BQU1DLE1BQVcsTUFBTUMsTUFDckIsQ0FBQyxFQUFFRixVQUFVLEVBQUVKLFlBQVksT0FBTyxDQUFDLEVBQUVDLFdBQVcsQ0FBQyxFQUFFSCxHQUFHLE9BQU8sRUFBRUksTUFBTSxDQUFDLEVBQ3RFSyxJQUFJLENBQUMsQ0FBQ0YsTUFBUUEsSUFBSUcsSUFBSTtJQUV4QkwsR0FBRyxDQUFDSixTQUFTLEdBQUdNO0FBQ2xCIn0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9taXNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBwcm9taXNlID0gYXN5bmMgKGFyZ3M6IHtcbiAgYWNjZXNzb3I6IG51bWJlciB8IHN0cmluZ1xuICBhcGlSb3V0ZT86IHN0cmluZ1xuICBjb2xsZWN0aW9uOiBzdHJpbmdcbiAgZGVwdGg6IG51bWJlclxuICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gIHJlZjogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgc2VydmVyVVJMOiBzdHJpbmdcbn0pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgY29uc3QgeyBpZCwgYWNjZXNzb3IsIGFwaVJvdXRlLCBjb2xsZWN0aW9uLCBkZXB0aCwgcmVmLCBzZXJ2ZXJVUkwgfSA9IGFyZ3NcblxuICBjb25zdCB1cmwgPSBgJHtzZXJ2ZXJVUkx9JHthcGlSb3V0ZSB8fCAnL2FwaSd9LyR7Y29sbGVjdGlvbn0vJHtpZH0/ZGVwdGg9JHtkZXB0aH1gXG5cbiAgbGV0IHJlczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbFxuXG4gIHRyeSB7XG4gICAgcmVzID0gYXdhaXQgZmV0Y2godXJsLCB7XG4gICAgICBjcmVkZW50aWFsczogJ2luY2x1ZGUnLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgfSxcbiAgICB9KS50aGVuKChyZXMpID0+IHJlcy5qc29uKCkpXG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGNvbnNvbGUuZXJyb3IoZXJyKSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWNvbnNvbGVcbiAgfVxuXG4gIHJlZlthY2Nlc3Nvcl0gPSByZXNcbn1cbiJdLCJuYW1lcyI6WyJwcm9taXNlIiwiYXJncyIsImlkIiwiYWNjZXNzb3IiLCJhcGlSb3V0ZSIsImNvbGxlY3Rpb24iLCJkZXB0aCIsInJlZiIsInNlcnZlclVSTCIsInVybCIsInJlcyIsImZldGNoIiwiY3JlZGVudGlhbHMiLCJoZWFkZXJzIiwidGhlbiIsImpzb24iLCJlcnIiLCJjb25zb2xlIiwiZXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7K0JBQWFBOzs7ZUFBQUE7OztBQUFOLE1BQU1BLFVBQVUsT0FBT0M7SUFTNUIsTUFBTSxFQUFFQyxFQUFFLEVBQUVDLFFBQVEsRUFBRUMsUUFBUSxFQUFFQyxVQUFVLEVBQUVDLEtBQUssRUFBRUMsR0FBRyxFQUFFQyxTQUFTLEVBQUUsR0FBR1A7SUFFdEUsTUFBTVEsTUFBTSxDQUFDLEVBQUVELFVBQVUsRUFBRUosWUFBWSxPQUFPLENBQUMsRUFBRUMsV0FBVyxDQUFDLEVBQUVILEdBQUcsT0FBTyxFQUFFSSxNQUFNLENBQUM7SUFFbEYsSUFBSUksTUFBa0Q7SUFFdEQsSUFBSTtRQUNGQSxNQUFNLE1BQU1DLE1BQU1GLEtBQUs7WUFDckJHLGFBQWE7WUFDYkMsU0FBUztnQkFDUCxnQkFBZ0I7WUFDbEI7UUFDRixHQUFHQyxJQUFJLENBQUMsQ0FBQ0osTUFBUUEsSUFBSUssSUFBSTtJQUMzQixFQUFFLE9BQU9DLEtBQUs7UUFDWkMsUUFBUUMsS0FBSyxDQUFDRixLQUFLLGlDQUFpQzs7SUFDdEQ7SUFFQVQsR0FBRyxDQUFDSixTQUFTLEdBQUdPO0FBQ2xCIn0=
@@ -1,6 +1,7 @@
1
1
  export declare const subscribe: <T>(args: {
2
+ apiRoute?: string;
2
3
  callback: (data: T) => void;
3
- depth: number;
4
+ depth?: number;
4
5
  initialData: T;
5
6
  serverURL: string;
6
7
  }) => (event: MessageEvent) => void;
@@ -1 +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,IAa7B,CAAA"}
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdWJzY3JpYmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaGFuZGxlTWVzc2FnZSB9IGZyb20gJy4nXG5cbmV4cG9ydCBjb25zdCBzdWJzY3JpYmUgPSA8VD4oYXJnczoge1xuICBjYWxsYmFjazogKGRhdGE6IFQpID0+IHZvaWRcbiAgZGVwdGg6IG51bWJlclxuICBpbml0aWFsRGF0YTogVFxuICBzZXJ2ZXJVUkw6IHN0cmluZ1xufSk6ICgoZXZlbnQ6IE1lc3NhZ2VFdmVudCkgPT4gdm9pZCkgPT4ge1xuICBjb25zdCB7IGNhbGxiYWNrLCBkZXB0aCwgaW5pdGlhbERhdGEsIHNlcnZlclVSTCB9ID0gYXJnc1xuXG4gIGNvbnN0IG9uTWVzc2FnZSA9IGFzeW5jIChldmVudDogTWVzc2FnZUV2ZW50KSA9PiB7XG4gICAgY29uc3QgbWVyZ2VkRGF0YSA9IGF3YWl0IGhhbmRsZU1lc3NhZ2U8VD4oeyBkZXB0aCwgZXZlbnQsIGluaXRpYWxEYXRhLCBzZXJ2ZXJVUkwgfSlcbiAgICBjYWxsYmFjayhtZXJnZWREYXRhKVxuICB9XG5cbiAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBvbk1lc3NhZ2UpXG4gIH1cblxuICByZXR1cm4gb25NZXNzYWdlXG59XG4iXSwibmFtZXMiOlsic3Vic2NyaWJlIiwiYXJncyIsImNhbGxiYWNrIiwiZGVwdGgiLCJpbml0aWFsRGF0YSIsInNlcnZlclVSTCIsIm9uTWVzc2FnZSIsImV2ZW50IiwibWVyZ2VkRGF0YSIsImhhbmRsZU1lc3NhZ2UiLCJ3aW5kb3ciLCJhZGRFdmVudExpc3RlbmVyIl0sIm1hcHBpbmdzIjoiOzs7OytCQUVhQTs7O2VBQUFBOzs7a0JBRmlCO0FBRXZCLE1BQU1BLFlBQVksQ0FBSUM7SUFNM0IsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLEtBQUssRUFBRUMsV0FBVyxFQUFFQyxTQUFTLEVBQUUsR0FBR0o7SUFFcEQsTUFBTUssWUFBWSxPQUFPQztRQUN2QixNQUFNQyxhQUFhLE1BQU1DLElBQUFBLGVBQWEsRUFBSTtZQUFFTjtZQUFPSTtZQUFPSDtZQUFhQztRQUFVO1FBQ2pGSCxTQUFTTTtJQUNYO0lBRUEsSUFBSSxPQUFPRSxXQUFXLGFBQWE7UUFDakNBLE9BQU9DLGdCQUFnQixDQUFDLFdBQVdMO0lBQ3JDO0lBRUEsT0FBT0E7QUFDVCJ9
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdWJzY3JpYmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaGFuZGxlTWVzc2FnZSB9IGZyb20gJy4nXG5cbmV4cG9ydCBjb25zdCBzdWJzY3JpYmUgPSA8VD4oYXJnczoge1xuICBhcGlSb3V0ZT86IHN0cmluZ1xuICBjYWxsYmFjazogKGRhdGE6IFQpID0+IHZvaWRcbiAgZGVwdGg/OiBudW1iZXJcbiAgaW5pdGlhbERhdGE6IFRcbiAgc2VydmVyVVJMOiBzdHJpbmdcbn0pOiAoKGV2ZW50OiBNZXNzYWdlRXZlbnQpID0+IHZvaWQpID0+IHtcbiAgY29uc3QgeyBhcGlSb3V0ZSwgY2FsbGJhY2ssIGRlcHRoLCBpbml0aWFsRGF0YSwgc2VydmVyVVJMIH0gPSBhcmdzXG5cbiAgY29uc3Qgb25NZXNzYWdlID0gYXN5bmMgKGV2ZW50OiBNZXNzYWdlRXZlbnQpID0+IHtcbiAgICBjb25zdCBtZXJnZWREYXRhID0gYXdhaXQgaGFuZGxlTWVzc2FnZTxUPih7IGFwaVJvdXRlLCBkZXB0aCwgZXZlbnQsIGluaXRpYWxEYXRhLCBzZXJ2ZXJVUkwgfSlcbiAgICBjYWxsYmFjayhtZXJnZWREYXRhKVxuICB9XG5cbiAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBvbk1lc3NhZ2UpXG4gIH1cblxuICByZXR1cm4gb25NZXNzYWdlXG59XG4iXSwibmFtZXMiOlsic3Vic2NyaWJlIiwiYXJncyIsImFwaVJvdXRlIiwiY2FsbGJhY2siLCJkZXB0aCIsImluaXRpYWxEYXRhIiwic2VydmVyVVJMIiwib25NZXNzYWdlIiwiZXZlbnQiLCJtZXJnZWREYXRhIiwiaGFuZGxlTWVzc2FnZSIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiXSwibWFwcGluZ3MiOiI7Ozs7K0JBRWFBOzs7ZUFBQUE7OztrQkFGaUI7QUFFdkIsTUFBTUEsWUFBWSxDQUFJQztJQU8zQixNQUFNLEVBQUVDLFFBQVEsRUFBRUMsUUFBUSxFQUFFQyxLQUFLLEVBQUVDLFdBQVcsRUFBRUMsU0FBUyxFQUFFLEdBQUdMO0lBRTlELE1BQU1NLFlBQVksT0FBT0M7UUFDdkIsTUFBTUMsYUFBYSxNQUFNQyxJQUFBQSxlQUFhLEVBQUk7WUFBRVI7WUFBVUU7WUFBT0k7WUFBT0g7WUFBYUM7UUFBVTtRQUMzRkgsU0FBU007SUFDWDtJQUVBLElBQUksT0FBT0UsV0FBVyxhQUFhO1FBQ2pDQSxPQUFPQyxnQkFBZ0IsQ0FBQyxXQUFXTDtJQUNyQztJQUVBLE9BQU9BO0FBQ1QifQ==
@@ -1,12 +1,11 @@
1
- type Args<T> = {
1
+ import type { fieldSchemaToJSON } from 'payload/utilities';
2
+ export declare const traverseFields: <T>(args: {
2
3
  apiRoute?: string;
3
- depth: number;
4
- fieldSchema: Record<string, unknown>[];
4
+ depth?: number;
5
+ fieldSchema: ReturnType<typeof fieldSchemaToJSON>;
5
6
  incomingData: T;
6
7
  populationPromises: Promise<void>[];
7
8
  result: T;
8
9
  serverURL: string;
9
- };
10
- export declare const traverseFields: <T>({ apiRoute, depth, fieldSchema, incomingData, populationPromises, result, serverURL, }: Args<T>) => void;
11
- export {};
10
+ }) => void;
12
11
  //# sourceMappingURL=traverseFields.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../src/traverseFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAI1D,eAAO,MAAM,cAAc;eACd,MAAM;YACT,MAAM;iBACD,WAAW,wBAAwB,CAAC;;wBAE7B,QAAQ,IAAI,CAAC,EAAE;;eAExB,MAAM;MACf,IA6PH,CAAA"}
@@ -9,56 +9,62 @@ Object.defineProperty(exports, "traverseFields", {
9
9
  }
10
10
  });
11
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){
12
+ const traverseFields = (args)=>{
13
+ const { apiRoute, depth, fieldSchema: fieldSchemas, incomingData, populationPromises, result, serverURL } = args;
14
+ fieldSchemas.forEach((fieldSchema)=>{
15
+ if ('name' in fieldSchema && typeof fieldSchema.name === 'string') {
16
+ const fieldName = fieldSchema.name;
17
+ switch(fieldSchema.type){
18
18
  case 'array':
19
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
- } : {};
20
+ result[fieldName] = incomingData[fieldName].map((incomingRow, i)=>{
21
+ if (!result[fieldName]) {
22
+ result[fieldName] = [];
23
+ }
24
+ if (!result[fieldName][i]) {
25
+ result[fieldName][i] = {};
26
+ }
25
27
  traverseFields({
26
28
  apiRoute,
27
29
  depth,
28
- fieldSchema: field.fields,
29
- incomingData: row,
30
+ fieldSchema: fieldSchema.fields,
31
+ incomingData: incomingRow,
30
32
  populationPromises,
31
- result: newRow,
33
+ result: result[fieldName][i],
32
34
  serverURL
33
35
  });
34
- return newRow;
36
+ return result[fieldName][i];
35
37
  });
36
38
  }
37
39
  break;
38
40
  case 'blocks':
39
41
  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
- };
42
+ result[fieldName] = incomingData[fieldName].map((incomingBlock, i)=>{
43
+ const incomingBlockJSON = fieldSchema.blocks[incomingBlock.blockType];
44
+ if (!result[fieldName]) {
45
+ result[fieldName] = [];
46
+ }
47
+ if (!result[fieldName][i] || result[fieldName][i].id !== incomingBlock.id || result[fieldName][i].blockType !== incomingBlock.blockType) {
48
+ result[fieldName][i] = {
49
+ blockType: incomingBlock.blockType
50
+ };
51
+ }
48
52
  traverseFields({
49
53
  apiRoute,
50
54
  depth,
51
- fieldSchema: matchedBlock.fields,
52
- incomingData: row,
55
+ fieldSchema: incomingBlockJSON.fields,
56
+ incomingData: incomingBlock,
53
57
  populationPromises,
54
- result: newRow,
58
+ result: result[fieldName][i],
55
59
  serverURL
56
60
  });
57
- return newRow;
61
+ return result[fieldName][i];
58
62
  });
63
+ } else {
64
+ result[fieldName] = [];
59
65
  }
60
66
  break;
61
- case 'tab':
67
+ case 'tabs':
62
68
  case 'group':
63
69
  if (!result[fieldName]) {
64
70
  result[fieldName] = {};
@@ -66,7 +72,7 @@ const traverseFields = ({ apiRoute, depth, fieldSchema, incomingData, population
66
72
  traverseFields({
67
73
  apiRoute,
68
74
  depth,
69
- fieldSchema: field.fields,
75
+ fieldSchema: fieldSchema.fields,
70
76
  incomingData: incomingData[fieldName] || {},
71
77
  populationPromises,
72
78
  result: result[fieldName],
@@ -75,40 +81,44 @@ const traverseFields = ({ apiRoute, depth, fieldSchema, incomingData, population
75
81
  break;
76
82
  case 'upload':
77
83
  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)=>{
84
+ // Handle `hasMany` relationships
85
+ if (fieldSchema.hasMany && Array.isArray(incomingData[fieldName])) {
86
+ if (!result[fieldName]) {
87
+ result[fieldName] = [];
88
+ }
89
+ incomingData[fieldName].forEach((incomingRelation, i)=>{
86
90
  // 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) {
91
+ if (Array.isArray(fieldSchema.relationTo)) {
92
+ // if the field doesn't exist on the result, create it
93
+ // the value will be populated later
94
+ if (!result[fieldName][i]) {
90
95
  result[fieldName][i] = {
91
- relationTo: relation.relationTo
96
+ relationTo: incomingRelation.relationTo
92
97
  };
98
+ }
99
+ const oldID = result[fieldName][i]?.value?.id;
100
+ const oldRelation = result[fieldName][i]?.relationTo;
101
+ const newID = incomingRelation.value;
102
+ const newRelation = incomingRelation.relationTo;
103
+ if (oldID !== newID || oldRelation !== newRelation) {
93
104
  populationPromises.push((0, _promise.promise)({
94
- id: relation.value,
105
+ id: incomingRelation.value,
95
106
  accessor: 'value',
96
107
  apiRoute,
97
- collection: relation.relationTo,
108
+ collection: newRelation,
98
109
  depth,
99
110
  ref: result[fieldName][i],
100
111
  serverURL
101
112
  }));
102
113
  }
103
114
  } else {
104
- // Handle `hasMany` singular
105
- const existingID = existingValue[i]?.id;
106
- if (existingID !== relation) {
115
+ // Handle `hasMany` monomorphic
116
+ if (result[fieldName][i]?.id !== incomingRelation) {
107
117
  populationPromises.push((0, _promise.promise)({
108
- id: relation,
118
+ id: incomingRelation,
109
119
  accessor: i,
110
120
  apiRoute,
111
- collection: String(field.relationTo),
121
+ collection: String(fieldSchema.relationTo),
112
122
  depth,
113
123
  ref: result[fieldName],
114
124
  serverURL
@@ -118,22 +128,28 @@ const traverseFields = ({ apiRoute, depth, fieldSchema, incomingData, population
118
128
  });
119
129
  } else {
120
130
  // 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 : '';
131
+ if (Array.isArray(fieldSchema.relationTo)) {
132
+ // if the field doesn't exist on the result, create it
133
+ // the value will be populated later
134
+ if (!result[fieldName]) {
135
+ result[fieldName] = {
136
+ relationTo: incomingData[fieldName]?.relationTo
137
+ };
138
+ }
139
+ const hasNewValue = incomingData[fieldName] && typeof incomingData[fieldName] === 'object' && incomingData[fieldName] !== null;
140
+ const hasOldValue = result[fieldName] && typeof result[fieldName] === 'object' && result[fieldName] !== null;
141
+ const newID = hasNewValue ? typeof incomingData[fieldName].value === 'object' ? incomingData[fieldName].value.id : incomingData[fieldName].value : '';
142
+ const oldID = hasOldValue ? typeof result[fieldName].value === 'object' ? result[fieldName].value.id : result[fieldName].value : '';
125
143
  const newRelation = hasNewValue ? incomingData[fieldName].relationTo : '';
126
- const oldValue = hasOldValue ? result[fieldName].value : '';
127
144
  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
- }
145
+ // if the new value/relation is different from the old value/relation
146
+ // populate the new value, otherwise leave it alone
147
+ if (newID !== oldID || newRelation !== oldRelation) {
148
+ // if the new value is not empty, populate it
149
+ // otherwise set the value to null
150
+ if (newID) {
135
151
  populationPromises.push((0, _promise.promise)({
136
- id: newValue,
152
+ id: newID,
137
153
  accessor: 'value',
138
154
  apiRoute,
139
155
  collection: newRelation,
@@ -141,29 +157,32 @@ const traverseFields = ({ apiRoute, depth, fieldSchema, incomingData, population
141
157
  ref: result[fieldName],
142
158
  serverURL
143
159
  }));
160
+ } else {
161
+ result[fieldName] = null;
144
162
  }
145
- } else {
146
- result[fieldName] = null;
147
163
  }
148
164
  } 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) {
165
+ // Handle `hasOne` monomorphic
166
+ const newID = incomingData[fieldName] && typeof incomingData[fieldName] === 'object' && incomingData[fieldName].id || incomingData[fieldName];
167
+ const oldID = result[fieldName] && typeof result[fieldName] === 'object' && result[fieldName].id || result[fieldName];
168
+ // if the new value is different from the old value
169
+ // populate the new value, otherwise leave it alone
170
+ if (newID !== oldID) {
171
+ // if the new value is not empty, populate it
172
+ // otherwise set the value to null
173
+ if (newID) {
155
174
  populationPromises.push((0, _promise.promise)({
156
- id: newValue,
175
+ id: newID,
157
176
  accessor: fieldName,
158
177
  apiRoute,
159
- collection: String(field.relationTo),
178
+ collection: String(fieldSchema.relationTo),
160
179
  depth,
161
180
  ref: result,
162
181
  serverURL
163
182
  }));
183
+ } else {
184
+ result[fieldName] = null;
164
185
  }
165
- } else {
166
- result[fieldName] = null;
167
186
  }
168
187
  }
169
188
  }
@@ -173,7 +192,6 @@ const traverseFields = ({ apiRoute, depth, fieldSchema, incomingData, population
173
192
  }
174
193
  }
175
194
  });
176
- return null;
177
195
  };
178
196
 
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90cmF2ZXJzZUZpZWxkcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwcm9taXNlIH0gZnJvbSAnLi9wcm9taXNlJ1xuXG50eXBlIEFyZ3M8VD4gPSB7XG4gIGFwaVJvdXRlPzogc3RyaW5nXG4gIGRlcHRoOiBudW1iZXJcbiAgZmllbGRTY2hlbWE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgaW5jb21pbmdEYXRhOiBUXG4gIHBvcHVsYXRpb25Qcm9taXNlczogUHJvbWlzZTx2b2lkPltdXG4gIHJlc3VsdDogVFxuICBzZXJ2ZXJVUkw6IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgdHJhdmVyc2VGaWVsZHMgPSA8VD4oe1xuICBhcGlSb3V0ZSxcbiAgZGVwdGgsXG4gIGZpZWxkU2NoZW1hLFxuICBpbmNvbWluZ0RhdGEsXG4gIHBvcHVsYXRpb25Qcm9taXNlcyxcbiAgcmVzdWx0LFxuICBzZXJ2ZXJVUkwsXG59OiBBcmdzPFQ+KTogdm9pZCA9PiB7XG4gIGZpZWxkU2NoZW1hLmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgaWYgKCduYW1lJyBpbiBmaWVsZCAmJiB0eXBlb2YgZmllbGQubmFtZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIFRPRE86IHR5cGUgdGhpc1xuICAgICAgY29uc3QgZmllbGROYW1lID0gZmllbGQubmFtZVxuXG4gICAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnYXJyYXknOlxuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGluY29taW5nRGF0YVtmaWVsZE5hbWVdKSkge1xuICAgICAgICAgICAgcmVzdWx0W2ZpZWxkTmFtZV0gPSBpbmNvbWluZ0RhdGFbZmllbGROYW1lXS5tYXAoKHJvdywgaSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBoYXNFeGlzdGluZ1JvdyA9XG4gICAgICAgICAgICAgICAgQXJyYXkuaXNBcnJheShyZXN1bHRbZmllbGROYW1lXSkgJiZcbiAgICAgICAgICAgICAgICB0eXBlb2YgcmVzdWx0W2ZpZWxkTmFtZV1baV0gPT09ICdvYmplY3QnICYmXG4gICAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkTmFtZV1baV0gIT09IG51bGxcblxuICAgICAgICAgICAgICBjb25zdCBuZXdSb3cgPSBoYXNFeGlzdGluZ1JvdyA/IHsgLi4ucmVzdWx0W2ZpZWxkTmFtZV1baV0gfSA6IHt9XG5cbiAgICAgICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgICAgIGFwaVJvdXRlLFxuICAgICAgICAgICAgICAgIGRlcHRoLFxuICAgICAgICAgICAgICAgIGZpZWxkU2NoZW1hOiBmaWVsZC5maWVsZHMgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXSwgLy8gVE9ETzogdHlwZSB0aGlzXG4gICAgICAgICAgICAgICAgaW5jb21pbmdEYXRhOiByb3csXG4gICAgICAgICAgICAgICAgcG9wdWxhdGlvblByb21pc2VzLFxuICAgICAgICAgICAgICAgIHJlc3VsdDogbmV3Um93LFxuICAgICAgICAgICAgICAgIHNlcnZlclVSTCxcbiAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICByZXR1cm4gbmV3Um93XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVha1xuXG4gICAgICAgIGNhc2UgJ2Jsb2Nrcyc6XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0pKSB7XG4gICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXSA9IGluY29taW5nRGF0YVtmaWVsZE5hbWVdLm1hcCgocm93LCBpKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IG1hdGNoZWRCbG9jayA9IGZpZWxkLmJsb2Nrc1tyb3cuYmxvY2tUeXBlXVxuXG4gICAgICAgICAgICAgIGNvbnN0IGhhc0V4aXN0aW5nUm93ID1cbiAgICAgICAgICAgICAgICBBcnJheS5pc0FycmF5KHJlc3VsdFtmaWVsZE5hbWVdKSAmJlxuICAgICAgICAgICAgICAgIHR5cGVvZiByZXN1bHRbZmllbGROYW1lXVtpXSA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXVtpXSAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdW2ldLmJsb2NrVHlwZSA9PT0gcm93LmJsb2NrVHlwZVxuXG4gICAgICAgICAgICAgIGNvbnN0IG5ld1JvdyA9IGhhc0V4aXN0aW5nUm93XG4gICAgICAgICAgICAgICAgPyB7IC4uLnJlc3VsdFtmaWVsZE5hbWVdW2ldIH1cbiAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgYmxvY2tUeXBlOiBtYXRjaGVkQmxvY2suc2x1ZyxcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICAgICAgYXBpUm91dGUsXG4gICAgICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICAgICAgZmllbGRTY2hlbWE6IG1hdGNoZWRCbG9jay5maWVsZHMgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXSwgLy8gVE9ETzogdHlwZSB0aGlzXG4gICAgICAgICAgICAgICAgaW5jb21pbmdEYXRhOiByb3csXG4gICAgICAgICAgICAgICAgcG9wdWxhdGlvblByb21pc2VzLFxuICAgICAgICAgICAgICAgIHJlc3VsdDogbmV3Um93LFxuICAgICAgICAgICAgICAgIHNlcnZlclVSTCxcbiAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICByZXR1cm4gbmV3Um93XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVha1xuXG4gICAgICAgIGNhc2UgJ3RhYic6XG4gICAgICAgIGNhc2UgJ2dyb3VwJzpcbiAgICAgICAgICBpZiAoIXJlc3VsdFtmaWVsZE5hbWVdKSB7XG4gICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXSA9IHt9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgYXBpUm91dGUsXG4gICAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hOiBmaWVsZC5maWVsZHMgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXSwgLy8gVE9ETzogdHlwZSB0aGlzXG4gICAgICAgICAgICBpbmNvbWluZ0RhdGE6IGluY29taW5nRGF0YVtmaWVsZE5hbWVdIHx8IHt9LFxuICAgICAgICAgICAgcG9wdWxhdGlvblByb21pc2VzLFxuICAgICAgICAgICAgcmVzdWx0OiByZXN1bHRbZmllbGROYW1lXSxcbiAgICAgICAgICAgIHNlcnZlclVSTCxcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgYnJlYWtcblxuICAgICAgICBjYXNlICd1cGxvYWQnOlxuICAgICAgICBjYXNlICdyZWxhdGlvbnNoaXAnOlxuICAgICAgICAgIGlmIChmaWVsZC5oYXNNYW55ICYmIEFycmF5LmlzQXJyYXkoaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0pKSB7XG4gICAgICAgICAgICBjb25zdCBleGlzdGluZ1ZhbHVlID0gQXJyYXkuaXNBcnJheShyZXN1bHRbZmllbGROYW1lXSkgPyBbLi4ucmVzdWx0W2ZpZWxkTmFtZV1dIDogW11cbiAgICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdID0gQXJyYXkuaXNBcnJheShyZXN1bHRbZmllbGROYW1lXSlcbiAgICAgICAgICAgICAgPyBbLi4ucmVzdWx0W2ZpZWxkTmFtZV1dLnNsaWNlKDAsIGluY29taW5nRGF0YVtmaWVsZE5hbWVdLmxlbmd0aClcbiAgICAgICAgICAgICAgOiBbXVxuXG4gICAgICAgICAgICBpbmNvbWluZ0RhdGFbZmllbGROYW1lXS5mb3JFYWNoKChyZWxhdGlvbiwgaSkgPT4ge1xuICAgICAgICAgICAgICAvLyBIYW5kbGUgYGhhc01hbnlgIHBvbHltb3JwaGljXG4gICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkLnJlbGF0aW9uVG8pKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZXhpc3RpbmdJRCA9IGV4aXN0aW5nVmFsdWVbaV0/LnZhbHVlPy5pZFxuXG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgZXhpc3RpbmdJRCAhPT0gcmVsYXRpb24udmFsdWUgfHxcbiAgICAgICAgICAgICAgICAgIGV4aXN0aW5nVmFsdWVbaV0/LnJlbGF0aW9uVG8gIT09IHJlbGF0aW9uLnJlbGF0aW9uVG9cbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdW2ldID0ge1xuICAgICAgICAgICAgICAgICAgICByZWxhdGlvblRvOiByZWxhdGlvbi5yZWxhdGlvblRvLFxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgcHJvbWlzZSh7XG4gICAgICAgICAgICAgICAgICAgICAgaWQ6IHJlbGF0aW9uLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc29yOiAndmFsdWUnLFxuICAgICAgICAgICAgICAgICAgICAgIGFwaVJvdXRlLFxuICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb246IHJlbGF0aW9uLnJlbGF0aW9uVG8sXG4gICAgICAgICAgICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICAgICAgICAgICAgcmVmOiByZXN1bHRbZmllbGROYW1lXVtpXSxcbiAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJVUkwsXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBIYW5kbGUgYGhhc01hbnlgIHNpbmd1bGFyXG4gICAgICAgICAgICAgICAgY29uc3QgZXhpc3RpbmdJRCA9IGV4aXN0aW5nVmFsdWVbaV0/LmlkXG5cbiAgICAgICAgICAgICAgICBpZiAoZXhpc3RpbmdJRCAhPT0gcmVsYXRpb24pIHtcbiAgICAgICAgICAgICAgICAgIHBvcHVsYXRpb25Qcm9taXNlcy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICBwcm9taXNlKHtcbiAgICAgICAgICAgICAgICAgICAgICBpZDogcmVsYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgYWNjZXNzb3I6IGksXG4gICAgICAgICAgICAgICAgICAgICAgYXBpUm91dGUsXG4gICAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbjogU3RyaW5nKGZpZWxkLnJlbGF0aW9uVG8pLFxuICAgICAgICAgICAgICAgICAgICAgIGRlcHRoLFxuICAgICAgICAgICAgICAgICAgICAgIHJlZjogcmVzdWx0W2ZpZWxkTmFtZV0sXG4gICAgICAgICAgICAgICAgICAgICAgc2VydmVyVVJMLFxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIEhhbmRsZSBgaGFzT25lYCBwb2x5bW9ycGhpY1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGQucmVsYXRpb25UbykpIHtcbiAgICAgICAgICAgICAgY29uc3QgaGFzTmV3VmFsdWUgPVxuICAgICAgICAgICAgICAgIHR5cGVvZiBpbmNvbWluZ0RhdGFbZmllbGROYW1lXSA9PT0gJ29iamVjdCcgJiYgaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0gIT09IG51bGxcbiAgICAgICAgICAgICAgY29uc3QgaGFzT2xkVmFsdWUgPVxuICAgICAgICAgICAgICAgIHR5cGVvZiByZXN1bHRbZmllbGROYW1lXSA9PT0gJ29iamVjdCcgJiYgcmVzdWx0W2ZpZWxkTmFtZV0gIT09IG51bGxcblxuICAgICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGhhc05ld1ZhbHVlID8gaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0udmFsdWUgOiAnJ1xuICAgICAgICAgICAgICBjb25zdCBuZXdSZWxhdGlvbiA9IGhhc05ld1ZhbHVlID8gaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0ucmVsYXRpb25UbyA6ICcnXG5cbiAgICAgICAgICAgICAgY29uc3Qgb2xkVmFsdWUgPSBoYXNPbGRWYWx1ZSA/IHJlc3VsdFtmaWVsZE5hbWVdLnZhbHVlIDogJydcbiAgICAgICAgICAgICAgY29uc3Qgb2xkUmVsYXRpb24gPSBoYXNPbGRWYWx1ZSA/IHJlc3VsdFtmaWVsZE5hbWVdLnJlbGF0aW9uVG8gOiAnJ1xuXG4gICAgICAgICAgICAgIGlmIChuZXdWYWx1ZSAhPT0gb2xkVmFsdWUgfHwgbmV3UmVsYXRpb24gIT09IG9sZFJlbGF0aW9uKSB7XG4gICAgICAgICAgICAgICAgaWYgKG5ld1ZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdFtmaWVsZE5hbWVdKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdID0ge1xuICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uVG86IG5ld1JlbGF0aW9uLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIHBvcHVsYXRpb25Qcm9taXNlcy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICBwcm9taXNlKHtcbiAgICAgICAgICAgICAgICAgICAgICBpZDogbmV3VmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgYWNjZXNzb3I6ICd2YWx1ZScsXG4gICAgICAgICAgICAgICAgICAgICAgYXBpUm91dGUsXG4gICAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbjogbmV3UmVsYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICAgICAgICAgICAgcmVmOiByZXN1bHRbZmllbGROYW1lXSxcbiAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJVUkwsXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXSA9IG51bGxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3QgaGFzTmV3VmFsdWUgPVxuICAgICAgICAgICAgICAgIHR5cGVvZiBpbmNvbWluZ0RhdGFbZmllbGROYW1lXSA9PT0gJ29iamVjdCcgJiYgaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0gIT09IG51bGxcbiAgICAgICAgICAgICAgY29uc3QgaGFzT2xkVmFsdWUgPVxuICAgICAgICAgICAgICAgIHR5cGVvZiByZXN1bHRbZmllbGROYW1lXSA9PT0gJ29iamVjdCcgJiYgcmVzdWx0W2ZpZWxkTmFtZV0gIT09IG51bGxcblxuICAgICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGhhc05ld1ZhbHVlID8gaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0udmFsdWUgOiAnJ1xuXG4gICAgICAgICAgICAgIGNvbnN0IG9sZFZhbHVlID0gaGFzT2xkVmFsdWUgPyByZXN1bHRbZmllbGROYW1lXS52YWx1ZSA6ICcnXG5cbiAgICAgICAgICAgICAgaWYgKG5ld1ZhbHVlICE9PSBvbGRWYWx1ZSkge1xuICAgICAgICAgICAgICAgIGlmIChuZXdWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgcG9wdWxhdGlvblByb21pc2VzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIHByb21pc2Uoe1xuICAgICAgICAgICAgICAgICAgICAgIGlkOiBuZXdWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NvcjogZmllbGROYW1lLFxuICAgICAgICAgICAgICAgICAgICAgIGFwaVJvdXRlLFxuICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb246IFN0cmluZyhmaWVsZC5yZWxhdGlvblRvKSxcbiAgICAgICAgICAgICAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICAgICAgICAgICAgICByZWY6IHJlc3VsdCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJVUkwsXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXSA9IG51bGxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrXG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXN1bHRbZmllbGROYW1lXSA9IGluY29taW5nRGF0YVtmaWVsZE5hbWVdXG4gICAgICB9XG4gICAgfVxuICB9KVxuXG4gIHJldHVybiBudWxsXG59XG4iXSwibmFtZXMiOlsidHJhdmVyc2VGaWVsZHMiLCJhcGlSb3V0ZSIsImRlcHRoIiwiZmllbGRTY2hlbWEiLCJpbmNvbWluZ0RhdGEiLCJwb3B1bGF0aW9uUHJvbWlzZXMiLCJyZXN1bHQiLCJzZXJ2ZXJVUkwiLCJmb3JFYWNoIiwiZmllbGQiLCJuYW1lIiwiZmllbGROYW1lIiwidHlwZSIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsInJvdyIsImkiLCJoYXNFeGlzdGluZ1JvdyIsIm5ld1JvdyIsImZpZWxkcyIsIm1hdGNoZWRCbG9jayIsImJsb2NrcyIsImJsb2NrVHlwZSIsInNsdWciLCJoYXNNYW55IiwiZXhpc3RpbmdWYWx1ZSIsInNsaWNlIiwibGVuZ3RoIiwicmVsYXRpb24iLCJyZWxhdGlvblRvIiwiZXhpc3RpbmdJRCIsInZhbHVlIiwiaWQiLCJwdXNoIiwicHJvbWlzZSIsImFjY2Vzc29yIiwiY29sbGVjdGlvbiIsInJlZiIsIlN0cmluZyIsImhhc05ld1ZhbHVlIiwiaGFzT2xkVmFsdWUiLCJuZXdWYWx1ZSIsIm5ld1JlbGF0aW9uIiwib2xkVmFsdWUiLCJvbGRSZWxhdGlvbiJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFZYUE7OztlQUFBQTs7O3lCQVpXO0FBWWpCLE1BQU1BLGlCQUFpQixDQUFJLEVBQ2hDQyxRQUFRLEVBQ1JDLEtBQUssRUFDTEMsV0FBVyxFQUNYQyxZQUFZLEVBQ1pDLGtCQUFrQixFQUNsQkMsTUFBTSxFQUNOQyxTQUFTLEVBQ0Q7SUFDUkosWUFBWUssT0FBTyxDQUFDLENBQUNDO1FBQ25CLElBQUksVUFBVUEsU0FBUyxPQUFPQSxNQUFNQyxJQUFJLEtBQUssVUFBVTtZQUNyRCxrQkFBa0I7WUFDbEIsTUFBTUMsWUFBWUYsTUFBTUMsSUFBSTtZQUU1QixPQUFRRCxNQUFNRyxJQUFJO2dCQUNoQixLQUFLO29CQUNILElBQUlDLE1BQU1DLE9BQU8sQ0FBQ1YsWUFBWSxDQUFDTyxVQUFVLEdBQUc7d0JBQzFDTCxNQUFNLENBQUNLLFVBQVUsR0FBR1AsWUFBWSxDQUFDTyxVQUFVLENBQUNJLEdBQUcsQ0FBQyxDQUFDQyxLQUFLQzs0QkFDcEQsTUFBTUMsaUJBQ0pMLE1BQU1DLE9BQU8sQ0FBQ1IsTUFBTSxDQUFDSyxVQUFVLEtBQy9CLE9BQU9MLE1BQU0sQ0FBQ0ssVUFBVSxDQUFDTSxFQUFFLEtBQUssWUFDaENYLE1BQU0sQ0FBQ0ssVUFBVSxDQUFDTSxFQUFFLEtBQUs7NEJBRTNCLE1BQU1FLFNBQVNELGlCQUFpQjtnQ0FBRSxHQUFHWixNQUFNLENBQUNLLFVBQVUsQ0FBQ00sRUFBRTs0QkFBQyxJQUFJLENBQUM7NEJBRS9EakIsZUFBZTtnQ0FDYkM7Z0NBQ0FDO2dDQUNBQyxhQUFhTSxNQUFNVyxNQUFNO2dDQUN6QmhCLGNBQWNZO2dDQUNkWDtnQ0FDQUMsUUFBUWE7Z0NBQ1JaOzRCQUNGOzRCQUVBLE9BQU9ZO3dCQUNU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
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90cmF2ZXJzZUZpZWxkcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IGZpZWxkU2NoZW1hVG9KU09OIH0gZnJvbSAncGF5bG9hZC91dGlsaXRpZXMnXG5cbmltcG9ydCB7IHByb21pc2UgfSBmcm9tICcuL3Byb21pc2UnXG5cbmV4cG9ydCBjb25zdCB0cmF2ZXJzZUZpZWxkcyA9IDxUPihhcmdzOiB7XG4gIGFwaVJvdXRlPzogc3RyaW5nXG4gIGRlcHRoPzogbnVtYmVyXG4gIGZpZWxkU2NoZW1hOiBSZXR1cm5UeXBlPHR5cGVvZiBmaWVsZFNjaGVtYVRvSlNPTj5cbiAgaW5jb21pbmdEYXRhOiBUXG4gIHBvcHVsYXRpb25Qcm9taXNlczogUHJvbWlzZTx2b2lkPltdXG4gIHJlc3VsdDogVFxuICBzZXJ2ZXJVUkw6IHN0cmluZ1xufSk6IHZvaWQgPT4ge1xuICBjb25zdCB7XG4gICAgYXBpUm91dGUsXG4gICAgZGVwdGgsXG4gICAgZmllbGRTY2hlbWE6IGZpZWxkU2NoZW1hcyxcbiAgICBpbmNvbWluZ0RhdGEsXG4gICAgcG9wdWxhdGlvblByb21pc2VzLFxuICAgIHJlc3VsdCxcbiAgICBzZXJ2ZXJVUkwsXG4gIH0gPSBhcmdzXG5cbiAgZmllbGRTY2hlbWFzLmZvckVhY2goKGZpZWxkU2NoZW1hKSA9PiB7XG4gICAgaWYgKCduYW1lJyBpbiBmaWVsZFNjaGVtYSAmJiB0eXBlb2YgZmllbGRTY2hlbWEubmFtZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkU2NoZW1hLm5hbWVcblxuICAgICAgc3dpdGNoIChmaWVsZFNjaGVtYS50eXBlKSB7XG4gICAgICAgIGNhc2UgJ2FycmF5JzpcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpbmNvbWluZ0RhdGFbZmllbGROYW1lXSkpIHtcbiAgICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdID0gaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0ubWFwKChpbmNvbWluZ1JvdywgaSkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXJlc3VsdFtmaWVsZE5hbWVdKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkTmFtZV0gPSBbXVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaWYgKCFyZXN1bHRbZmllbGROYW1lXVtpXSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdW2ldID0ge31cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgICAgICBhcGlSb3V0ZSxcbiAgICAgICAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICAgICAgICBmaWVsZFNjaGVtYTogZmllbGRTY2hlbWEuZmllbGRzLFxuICAgICAgICAgICAgICAgIGluY29taW5nRGF0YTogaW5jb21pbmdSb3csXG4gICAgICAgICAgICAgICAgcG9wdWxhdGlvblByb21pc2VzLFxuICAgICAgICAgICAgICAgIHJlc3VsdDogcmVzdWx0W2ZpZWxkTmFtZV1baV0sXG4gICAgICAgICAgICAgICAgc2VydmVyVVJMLFxuICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgIHJldHVybiByZXN1bHRbZmllbGROYW1lXVtpXVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWtcblxuICAgICAgICBjYXNlICdibG9ja3MnOlxuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGluY29taW5nRGF0YVtmaWVsZE5hbWVdKSkge1xuICAgICAgICAgICAgcmVzdWx0W2ZpZWxkTmFtZV0gPSBpbmNvbWluZ0RhdGFbZmllbGROYW1lXS5tYXAoKGluY29taW5nQmxvY2ssIGkpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgaW5jb21pbmdCbG9ja0pTT04gPSBmaWVsZFNjaGVtYS5ibG9ja3NbaW5jb21pbmdCbG9jay5ibG9ja1R5cGVdXG5cbiAgICAgICAgICAgICAgaWYgKCFyZXN1bHRbZmllbGROYW1lXSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdID0gW11cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAhcmVzdWx0W2ZpZWxkTmFtZV1baV0gfHxcbiAgICAgICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXVtpXS5pZCAhPT0gaW5jb21pbmdCbG9jay5pZCB8fFxuICAgICAgICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdW2ldLmJsb2NrVHlwZSAhPT0gaW5jb21pbmdCbG9jay5ibG9ja1R5cGVcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkTmFtZV1baV0gPSB7XG4gICAgICAgICAgICAgICAgICBibG9ja1R5cGU6IGluY29taW5nQmxvY2suYmxvY2tUeXBlLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgICAgICBhcGlSb3V0ZSxcbiAgICAgICAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICAgICAgICBmaWVsZFNjaGVtYTogaW5jb21pbmdCbG9ja0pTT04uZmllbGRzLFxuICAgICAgICAgICAgICAgIGluY29taW5nRGF0YTogaW5jb21pbmdCbG9jayxcbiAgICAgICAgICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMsXG4gICAgICAgICAgICAgICAgcmVzdWx0OiByZXN1bHRbZmllbGROYW1lXVtpXSxcbiAgICAgICAgICAgICAgICBzZXJ2ZXJVUkwsXG4gICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdFtmaWVsZE5hbWVdW2ldXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXSA9IFtdXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWtcblxuICAgICAgICBjYXNlICd0YWJzJzpcbiAgICAgICAgY2FzZSAnZ3JvdXAnOlxuICAgICAgICAgIGlmICghcmVzdWx0W2ZpZWxkTmFtZV0pIHtcbiAgICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdID0ge31cbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICBhcGlSb3V0ZSxcbiAgICAgICAgICAgIGRlcHRoLFxuICAgICAgICAgICAgZmllbGRTY2hlbWE6IGZpZWxkU2NoZW1hLmZpZWxkcyxcbiAgICAgICAgICAgIGluY29taW5nRGF0YTogaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0gfHwge30sXG4gICAgICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMsXG4gICAgICAgICAgICByZXN1bHQ6IHJlc3VsdFtmaWVsZE5hbWVdLFxuICAgICAgICAgICAgc2VydmVyVVJMLFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBicmVha1xuXG4gICAgICAgIGNhc2UgJ3VwbG9hZCc6XG4gICAgICAgIGNhc2UgJ3JlbGF0aW9uc2hpcCc6XG4gICAgICAgICAgLy8gSGFuZGxlIGBoYXNNYW55YCByZWxhdGlvbnNoaXBzXG4gICAgICAgICAgaWYgKGZpZWxkU2NoZW1hLmhhc01hbnkgJiYgQXJyYXkuaXNBcnJheShpbmNvbWluZ0RhdGFbZmllbGROYW1lXSkpIHtcbiAgICAgICAgICAgIGlmICghcmVzdWx0W2ZpZWxkTmFtZV0pIHtcbiAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkTmFtZV0gPSBbXVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbmNvbWluZ0RhdGFbZmllbGROYW1lXS5mb3JFYWNoKChpbmNvbWluZ1JlbGF0aW9uLCBpKSA9PiB7XG4gICAgICAgICAgICAgIC8vIEhhbmRsZSBgaGFzTWFueWAgcG9seW1vcnBoaWNcbiAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGRTY2hlbWEucmVsYXRpb25UbykpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgZmllbGQgZG9lc24ndCBleGlzdCBvbiB0aGUgcmVzdWx0LCBjcmVhdGUgaXRcbiAgICAgICAgICAgICAgICAvLyB0aGUgdmFsdWUgd2lsbCBiZSBwb3B1bGF0ZWQgbGF0ZXJcbiAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdFtmaWVsZE5hbWVdW2ldKSB7XG4gICAgICAgICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXVtpXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgcmVsYXRpb25UbzogaW5jb21pbmdSZWxhdGlvbi5yZWxhdGlvblRvLFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IG9sZElEID0gcmVzdWx0W2ZpZWxkTmFtZV1baV0/LnZhbHVlPy5pZFxuICAgICAgICAgICAgICAgIGNvbnN0IG9sZFJlbGF0aW9uID0gcmVzdWx0W2ZpZWxkTmFtZV1baV0/LnJlbGF0aW9uVG9cbiAgICAgICAgICAgICAgICBjb25zdCBuZXdJRCA9IGluY29taW5nUmVsYXRpb24udmFsdWVcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdSZWxhdGlvbiA9IGluY29taW5nUmVsYXRpb24ucmVsYXRpb25Ub1xuXG4gICAgICAgICAgICAgICAgaWYgKG9sZElEICE9PSBuZXdJRCB8fCBvbGRSZWxhdGlvbiAhPT0gbmV3UmVsYXRpb24pIHtcbiAgICAgICAgICAgICAgICAgIHBvcHVsYXRpb25Qcm9taXNlcy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICBwcm9taXNlKHtcbiAgICAgICAgICAgICAgICAgICAgICBpZDogaW5jb21pbmdSZWxhdGlvbi52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NvcjogJ3ZhbHVlJyxcbiAgICAgICAgICAgICAgICAgICAgICBhcGlSb3V0ZSxcbiAgICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uOiBuZXdSZWxhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICAgICAgICAgICAgICByZWY6IHJlc3VsdFtmaWVsZE5hbWVdW2ldLFxuICAgICAgICAgICAgICAgICAgICAgIHNlcnZlclVSTCxcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIEhhbmRsZSBgaGFzTWFueWAgbW9ub21vcnBoaWNcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0W2ZpZWxkTmFtZV1baV0/LmlkICE9PSBpbmNvbWluZ1JlbGF0aW9uKSB7XG4gICAgICAgICAgICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgcHJvbWlzZSh7XG4gICAgICAgICAgICAgICAgICAgICAgaWQ6IGluY29taW5nUmVsYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgYWNjZXNzb3I6IGksXG4gICAgICAgICAgICAgICAgICAgICAgYXBpUm91dGUsXG4gICAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbjogU3RyaW5nKGZpZWxkU2NoZW1hLnJlbGF0aW9uVG8pLFxuICAgICAgICAgICAgICAgICAgICAgIGRlcHRoLFxuICAgICAgICAgICAgICAgICAgICAgIHJlZjogcmVzdWx0W2ZpZWxkTmFtZV0sXG4gICAgICAgICAgICAgICAgICAgICAgc2VydmVyVVJMLFxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIEhhbmRsZSBgaGFzT25lYCBwb2x5bW9ycGhpY1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGRTY2hlbWEucmVsYXRpb25UbykpIHtcbiAgICAgICAgICAgICAgLy8gaWYgdGhlIGZpZWxkIGRvZXNuJ3QgZXhpc3Qgb24gdGhlIHJlc3VsdCwgY3JlYXRlIGl0XG4gICAgICAgICAgICAgIC8vIHRoZSB2YWx1ZSB3aWxsIGJlIHBvcHVsYXRlZCBsYXRlclxuICAgICAgICAgICAgICBpZiAoIXJlc3VsdFtmaWVsZE5hbWVdKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkTmFtZV0gPSB7XG4gICAgICAgICAgICAgICAgICByZWxhdGlvblRvOiBpbmNvbWluZ0RhdGFbZmllbGROYW1lXT8ucmVsYXRpb25UbyxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBjb25zdCBoYXNOZXdWYWx1ZSA9XG4gICAgICAgICAgICAgICAgaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0gJiZcbiAgICAgICAgICAgICAgICB0eXBlb2YgaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0gPT09ICdvYmplY3QnICYmXG4gICAgICAgICAgICAgICAgaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0gIT09IG51bGxcblxuICAgICAgICAgICAgICBjb25zdCBoYXNPbGRWYWx1ZSA9XG4gICAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkTmFtZV0gJiZcbiAgICAgICAgICAgICAgICB0eXBlb2YgcmVzdWx0W2ZpZWxkTmFtZV0gPT09ICdvYmplY3QnICYmXG4gICAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkTmFtZV0gIT09IG51bGxcblxuICAgICAgICAgICAgICBjb25zdCBuZXdJRCA9IGhhc05ld1ZhbHVlXG4gICAgICAgICAgICAgICAgPyB0eXBlb2YgaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0udmFsdWUgPT09ICdvYmplY3QnXG4gICAgICAgICAgICAgICAgICA/IGluY29taW5nRGF0YVtmaWVsZE5hbWVdLnZhbHVlLmlkXG4gICAgICAgICAgICAgICAgICA6IGluY29taW5nRGF0YVtmaWVsZE5hbWVdLnZhbHVlXG4gICAgICAgICAgICAgICAgOiAnJ1xuXG4gICAgICAgICAgICAgIGNvbnN0IG9sZElEID0gaGFzT2xkVmFsdWVcbiAgICAgICAgICAgICAgICA/IHR5cGVvZiByZXN1bHRbZmllbGROYW1lXS52YWx1ZSA9PT0gJ29iamVjdCdcbiAgICAgICAgICAgICAgICAgID8gcmVzdWx0W2ZpZWxkTmFtZV0udmFsdWUuaWRcbiAgICAgICAgICAgICAgICAgIDogcmVzdWx0W2ZpZWxkTmFtZV0udmFsdWVcbiAgICAgICAgICAgICAgICA6ICcnXG5cbiAgICAgICAgICAgICAgY29uc3QgbmV3UmVsYXRpb24gPSBoYXNOZXdWYWx1ZSA/IGluY29taW5nRGF0YVtmaWVsZE5hbWVdLnJlbGF0aW9uVG8gOiAnJ1xuICAgICAgICAgICAgICBjb25zdCBvbGRSZWxhdGlvbiA9IGhhc09sZFZhbHVlID8gcmVzdWx0W2ZpZWxkTmFtZV0ucmVsYXRpb25UbyA6ICcnXG5cbiAgICAgICAgICAgICAgLy8gaWYgdGhlIG5ldyB2YWx1ZS9yZWxhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgb2xkIHZhbHVlL3JlbGF0aW9uXG4gICAgICAgICAgICAgIC8vIHBvcHVsYXRlIHRoZSBuZXcgdmFsdWUsIG90aGVyd2lzZSBsZWF2ZSBpdCBhbG9uZVxuICAgICAgICAgICAgICBpZiAobmV3SUQgIT09IG9sZElEIHx8IG5ld1JlbGF0aW9uICE9PSBvbGRSZWxhdGlvbikge1xuICAgICAgICAgICAgICAgIC8vIGlmIHRoZSBuZXcgdmFsdWUgaXMgbm90IGVtcHR5LCBwb3B1bGF0ZSBpdFxuICAgICAgICAgICAgICAgIC8vIG90aGVyd2lzZSBzZXQgdGhlIHZhbHVlIHRvIG51bGxcbiAgICAgICAgICAgICAgICBpZiAobmV3SUQpIHtcbiAgICAgICAgICAgICAgICAgIHBvcHVsYXRpb25Qcm9taXNlcy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICBwcm9taXNlKHtcbiAgICAgICAgICAgICAgICAgICAgICBpZDogbmV3SUQsXG4gICAgICAgICAgICAgICAgICAgICAgYWNjZXNzb3I6ICd2YWx1ZScsXG4gICAgICAgICAgICAgICAgICAgICAgYXBpUm91dGUsXG4gICAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbjogbmV3UmVsYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICAgICAgICAgICAgcmVmOiByZXN1bHRbZmllbGROYW1lXSxcbiAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJVUkwsXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXSA9IG51bGxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIEhhbmRsZSBgaGFzT25lYCBtb25vbW9ycGhpY1xuICAgICAgICAgICAgICBjb25zdCBuZXdJRDogbnVtYmVyIHwgc3RyaW5nIHwgdW5kZWZpbmVkID1cbiAgICAgICAgICAgICAgICAoaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV0gJiZcbiAgICAgICAgICAgICAgICAgIHR5cGVvZiBpbmNvbWluZ0RhdGFbZmllbGROYW1lXSA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAgICAgICAgIGluY29taW5nRGF0YVtmaWVsZE5hbWVdLmlkKSB8fFxuICAgICAgICAgICAgICAgIGluY29taW5nRGF0YVtmaWVsZE5hbWVdXG5cbiAgICAgICAgICAgICAgY29uc3Qgb2xkSUQ6IG51bWJlciB8IHN0cmluZyB8IHVuZGVmaW5lZCA9XG4gICAgICAgICAgICAgICAgKHJlc3VsdFtmaWVsZE5hbWVdICYmXG4gICAgICAgICAgICAgICAgICB0eXBlb2YgcmVzdWx0W2ZpZWxkTmFtZV0gPT09ICdvYmplY3QnICYmXG4gICAgICAgICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXS5pZCkgfHxcbiAgICAgICAgICAgICAgICByZXN1bHRbZmllbGROYW1lXVxuXG4gICAgICAgICAgICAgIC8vIGlmIHRoZSBuZXcgdmFsdWUgaXMgZGlmZmVyZW50IGZyb20gdGhlIG9sZCB2YWx1ZVxuICAgICAgICAgICAgICAvLyBwb3B1bGF0ZSB0aGUgbmV3IHZhbHVlLCBvdGhlcndpc2UgbGVhdmUgaXQgYWxvbmVcbiAgICAgICAgICAgICAgaWYgKG5ld0lEICE9PSBvbGRJRCkge1xuICAgICAgICAgICAgICAgIC8vIGlmIHRoZSBuZXcgdmFsdWUgaXMgbm90IGVtcHR5LCBwb3B1bGF0ZSBpdFxuICAgICAgICAgICAgICAgIC8vIG90aGVyd2lzZSBzZXQgdGhlIHZhbHVlIHRvIG51bGxcbiAgICAgICAgICAgICAgICBpZiAobmV3SUQpIHtcbiAgICAgICAgICAgICAgICAgIHBvcHVsYXRpb25Qcm9taXNlcy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICBwcm9taXNlKHtcbiAgICAgICAgICAgICAgICAgICAgICBpZDogbmV3SUQsXG4gICAgICAgICAgICAgICAgICAgICAgYWNjZXNzb3I6IGZpZWxkTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICBhcGlSb3V0ZSxcbiAgICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uOiBTdHJpbmcoZmllbGRTY2hlbWEucmVsYXRpb25UbyksXG4gICAgICAgICAgICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICAgICAgICAgICAgcmVmOiByZXN1bHQgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgICAgICAgICAgICAgICAgICAgc2VydmVyVVJMLFxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkTmFtZV0gPSBudWxsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWtcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJlc3VsdFtmaWVsZE5hbWVdID0gaW5jb21pbmdEYXRhW2ZpZWxkTmFtZV1cbiAgICAgIH1cbiAgICB9XG4gIH0pXG59XG4iXSwibmFtZXMiOlsidHJhdmVyc2VGaWVsZHMiLCJhcmdzIiwiYXBpUm91dGUiLCJkZXB0aCIsImZpZWxkU2NoZW1hIiwiZmllbGRTY2hlbWFzIiwiaW5jb21pbmdEYXRhIiwicG9wdWxhdGlvblByb21pc2VzIiwicmVzdWx0Iiwic2VydmVyVVJMIiwiZm9yRWFjaCIsIm5hbWUiLCJmaWVsZE5hbWUiLCJ0eXBlIiwiQXJyYXkiLCJpc0FycmF5IiwibWFwIiwiaW5jb21pbmdSb3ciLCJpIiwiZmllbGRzIiwiaW5jb21pbmdCbG9jayIsImluY29taW5nQmxvY2tKU09OIiwiYmxvY2tzIiwiYmxvY2tUeXBlIiwiaWQiLCJoYXNNYW55IiwiaW5jb21pbmdSZWxhdGlvbiIsInJlbGF0aW9uVG8iLCJvbGRJRCIsInZhbHVlIiwib2xkUmVsYXRpb24iLCJuZXdJRCIsIm5ld1JlbGF0aW9uIiwicHVzaCIsInByb21pc2UiLCJhY2Nlc3NvciIsImNvbGxlY3Rpb24iLCJyZWYiLCJTdHJpbmciLCJoYXNOZXdWYWx1ZSIsImhhc09sZFZhbHVlIl0sIm1hcHBpbmdzIjoiOzs7OytCQUlhQTs7O2VBQUFBOzs7eUJBRlc7QUFFakIsTUFBTUEsaUJBQWlCLENBQUlDO0lBU2hDLE1BQU0sRUFDSkMsUUFBUSxFQUNSQyxLQUFLLEVBQ0xDLGFBQWFDLFlBQVksRUFDekJDLFlBQVksRUFDWkMsa0JBQWtCLEVBQ2xCQyxNQUFNLEVBQ05DLFNBQVMsRUFDVixHQUFHUjtJQUVKSSxhQUFhSyxPQUFPLENBQUMsQ0FBQ047UUFDcEIsSUFBSSxVQUFVQSxlQUFlLE9BQU9BLFlBQVlPLElBQUksS0FBSyxVQUFVO1lBQ2pFLE1BQU1DLFlBQVlSLFlBQVlPLElBQUk7WUFFbEMsT0FBUVAsWUFBWVMsSUFBSTtnQkFDdEIsS0FBSztvQkFDSCxJQUFJQyxNQUFNQyxPQUFPLENBQUNULFlBQVksQ0FBQ00sVUFBVSxHQUFHO3dCQUMxQ0osTUFBTSxDQUFDSSxVQUFVLEdBQUdOLFlBQVksQ0FBQ00sVUFBVSxDQUFDSSxHQUFHLENBQUMsQ0FBQ0MsYUFBYUM7NEJBQzVELElBQUksQ0FBQ1YsTUFBTSxDQUFDSSxVQUFVLEVBQUU7Z0NBQ3RCSixNQUFNLENBQUNJLFVBQVUsR0FBRyxFQUFFOzRCQUN4Qjs0QkFFQSxJQUFJLENBQUNKLE1BQU0sQ0FBQ0ksVUFBVSxDQUFDTSxFQUFFLEVBQUU7Z0NBQ3pCVixNQUFNLENBQUNJLFVBQVUsQ0FBQ00sRUFBRSxHQUFHLENBQUM7NEJBQzFCOzRCQUVBbEIsZUFBZTtnQ0FDYkU7Z0NBQ0FDO2dDQUNBQyxhQUFhQSxZQUFZZSxNQUFNO2dDQUMvQmIsY0FBY1c7Z0NBQ2RWO2dDQUNBQyxRQUFRQSxNQUFNLENBQUNJLFVBQVUsQ0FBQ00sRUFBRTtnQ0FDNUJUOzRCQUNGOzRCQUVBLE9BQU9ELE1BQU0sQ0FBQ0ksVUFBVSxDQUFDTSxFQUFFO3dCQUM3QjtvQkFDRjtvQkFDQTtnQkFFRixLQUFLO29CQUNILElBQUlKLE1BQU1DLE9BQU8sQ0FBQ1QsWUFBWSxDQUFDTSxVQUFVLEdBQUc7d0JBQzFDSixNQUFNLENBQUNJLFVBQVUsR0FBR04sWUFBWSxDQUFDTSxVQUFVLENBQUNJLEdBQUcsQ0FBQyxDQUFDSSxlQUFlRjs0QkFDOUQsTUFBTUcsb0JBQW9CakIsWUFBWWtCLE1BQU0sQ0FBQ0YsY0FBY0csU0FBUyxDQUFDOzRCQUVyRSxJQUFJLENBQUNmLE1BQU0sQ0FBQ0ksVUFBVSxFQUFFO2dDQUN0QkosTUFBTSxDQUFDSSxVQUFVLEdBQUcsRUFBRTs0QkFDeEI7NEJBRUEsSUFDRSxDQUFDSixNQUFNLENBQUNJLFVBQVUsQ0FBQ00sRUFBRSxJQUNyQlYsTUFBTSxDQUFDSSxVQUFVLENBQUNNLEVBQUUsQ0FBQ00sRUFBRSxLQUFLSixjQUFjSSxFQUFFLElBQzVDaEIsTUFBTSxDQUFDSSxVQUFVLENBQUNNLEVBQUUsQ0FBQ0ssU0FBUyxLQUFLSCxjQUFjRyxTQUFTLEVBQzFEO2dDQUNBZixNQUFNLENBQUNJLFVBQVUsQ0FBQ00sRUFBRSxHQUFHO29DQUNyQkssV0FBV0gsY0FBY0csU0FBUztnQ0FDcEM7NEJBQ0Y7NEJBRUF2QixlQUFlO2dDQUNiRTtnQ0FDQUM7Z0NBQ0FDLGFBQWFpQixrQkFBa0JGLE1BQU07Z0NBQ3JDYixjQUFjYztnQ0FDZGI7Z0NBQ0FDLFFBQVFBLE1BQU0sQ0FBQ0ksVUFBVSxDQUFDTSxFQUFFO2dDQUM1QlQ7NEJBQ0Y7NEJBRUEsT0FBT0QsTUFBTSxDQUFDSSxVQUFVLENBQUNNLEVBQUU7d0JBQzdCO29CQUNGLE9BQU87d0JBQ0xWLE1BQU0sQ0FBQ0ksVUFBVSxHQUFHLEVBQUU7b0JBQ3hCO29CQUVBO2dCQUVGLEtBQUs7Z0JBQ0wsS0FBSztvQkFDSCxJQUFJLENBQUNKLE1BQU0sQ0FBQ0ksVUFBVSxFQUFFO3dCQUN0QkosTUFBTSxDQUFDSSxVQUFVLEdBQUcsQ0FBQztvQkFDdkI7b0JBRUFaLGVBQWU7d0JBQ2JFO3dCQUNBQzt3QkFDQUMsYUFBYUEsWUFBWWUsTUFBTTt3QkFDL0JiLGNBQWNBLFlBQVksQ0FBQ00sVUFBVSxJQUFJLENBQUM7d0JBQzFDTDt3QkFDQUMsUUFBUUEsTUFBTSxDQUFDSSxVQUFVO3dCQUN6Qkg7b0JBQ0Y7b0JBRUE7Z0JBRUYsS0FBSztnQkFDTCxLQUFLO29CQUNILGlDQUFpQztvQkFDakMsSUFBSUwsWUFBWXFCLE9BQU8sSUFBSVgsTUFBTUMsT0FBTyxDQUFDVCxZQUFZLENBQUNNLFVBQVUsR0FBRzt3QkFDakUsSUFBSSxDQUFDSixNQUFNLENBQUNJLFVBQVUsRUFBRTs0QkFDdEJKLE1BQU0sQ0FBQ0ksVUFBVSxHQUFHLEVBQUU7d0JBQ3hCO3dCQUVBTixZQUFZLENBQUNNLFVBQVUsQ0FBQ0YsT0FBTyxDQUFDLENBQUNnQixrQkFBa0JSOzRCQUNqRCwrQkFBK0I7NEJBQy9CLElBQUlKLE1BQU1DLE9BQU8sQ0FBQ1gsWUFBWXVCLFVBQVUsR0FBRztnQ0FDekMsc0RBQXNEO2dDQUN0RCxvQ0FBb0M7Z0NBQ3BDLElBQUksQ0FBQ25CLE1BQU0sQ0FBQ0ksVUFBVSxDQUFDTSxFQUFFLEVBQUU7b0NBQ3pCVixNQUFNLENBQUNJLFVBQVUsQ0FBQ00sRUFBRSxHQUFHO3dDQUNyQlMsWUFBWUQsaUJBQWlCQyxVQUFVO29DQUN6QztnQ0FDRjtnQ0FFQSxNQUFNQyxRQUFRcEIsTUFBTSxDQUFDSSxVQUFVLENBQUNNLEVBQUUsRUFBRVcsT0FBT0w7Z0NBQzNDLE1BQU1NLGNBQWN0QixNQUFNLENBQUNJLFVBQVUsQ0FBQ00sRUFBRSxFQUFFUztnQ0FDMUMsTUFBTUksUUFBUUwsaUJBQWlCRyxLQUFLO2dDQUNwQyxNQUFNRyxjQUFjTixpQkFBaUJDLFVBQVU7Z0NBRS9DLElBQUlDLFVBQVVHLFNBQVNELGdCQUFnQkUsYUFBYTtvQ0FDbER6QixtQkFBbUIwQixJQUFJLENBQ3JCQyxJQUFBQSxnQkFBTyxFQUFDO3dDQUNOVixJQUFJRSxpQkFBaUJHLEtBQUs7d0NBQzFCTSxVQUFVO3dDQUNWakM7d0NBQ0FrQyxZQUFZSjt3Q0FDWjdCO3dDQUNBa0MsS0FBSzdCLE1BQU0sQ0FBQ0ksVUFBVSxDQUFDTSxFQUFFO3dDQUN6QlQ7b0NBQ0Y7Z0NBRUo7NEJBQ0YsT0FBTztnQ0FDTCwrQkFBK0I7Z0NBQy9CLElBQUlELE1BQU0sQ0FBQ0ksVUFBVSxDQUFDTSxFQUFFLEVBQUVNLE9BQU9FLGtCQUFrQjtvQ0FDakRuQixtQkFBbUIwQixJQUFJLENBQ3JCQyxJQUFBQSxnQkFBTyxFQUFDO3dDQUNOVixJQUFJRTt3Q0FDSlMsVUFBVWpCO3dDQUNWaEI7d0NBQ0FrQyxZQUFZRSxPQUFPbEMsWUFBWXVCLFVBQVU7d0NBQ3pDeEI7d0NBQ0FrQyxLQUFLN0IsTUFBTSxDQUFDSSxVQUFVO3dDQUN0Qkg7b0NBQ0Y7Z0NBRUo7NEJBQ0Y7d0JBQ0Y7b0JBQ0YsT0FBTzt3QkFDTCw4QkFBOEI7d0JBQzlCLElBQUlLLE1BQU1DLE9BQU8sQ0FBQ1gsWUFBWXVCLFVBQVUsR0FBRzs0QkFDekMsc0RBQXNEOzRCQUN0RCxvQ0FBb0M7NEJBQ3BDLElBQUksQ0FBQ25CLE1BQU0sQ0FBQ0ksVUFBVSxFQUFFO2dDQUN0QkosTUFBTSxDQUFDSSxVQUFVLEdBQUc7b0NBQ2xCZSxZQUFZckIsWUFBWSxDQUFDTSxVQUFVLEVBQUVlO2dDQUN2Qzs0QkFDRjs0QkFFQSxNQUFNWSxjQUNKakMsWUFBWSxDQUFDTSxVQUFVLElBQ3ZCLE9BQU9OLFlBQVksQ0FBQ00sVUFBVSxLQUFLLFlBQ25DTixZQUFZLENBQUNNLFVBQVUsS0FBSzs0QkFFOUIsTUFBTTRCLGNBQ0poQyxNQUFNLENBQUNJLFVBQVUsSUFDakIsT0FBT0osTUFBTSxDQUFDSSxVQUFVLEtBQUssWUFDN0JKLE1BQU0sQ0FBQ0ksVUFBVSxLQUFLOzRCQUV4QixNQUFNbUIsUUFBUVEsY0FDVixPQUFPakMsWUFBWSxDQUFDTSxVQUFVLENBQUNpQixLQUFLLEtBQUssV0FDdkN2QixZQUFZLENBQUNNLFVBQVUsQ0FBQ2lCLEtBQUssQ0FBQ0wsRUFBRSxHQUNoQ2xCLFlBQVksQ0FBQ00sVUFBVSxDQUFDaUIsS0FBSyxHQUMvQjs0QkFFSixNQUFNRCxRQUFRWSxjQUNWLE9BQU9oQyxNQUFNLENBQUNJLFVBQVUsQ0FBQ2lCLEtBQUssS0FBSyxXQUNqQ3JCLE1BQU0sQ0FBQ0ksVUFBVSxDQUFDaUIsS0FBSyxDQUFDTCxFQUFFLEdBQzFCaEIsTUFBTSxDQUFDSSxVQUFVLENBQUNpQixLQUFLLEdBQ3pCOzRCQUVKLE1BQU1HLGNBQWNPLGNBQWNqQyxZQUFZLENBQUNNLFVBQVUsQ0FBQ2UsVUFBVSxHQUFHOzRCQUN2RSxNQUFNRyxjQUFjVSxjQUFjaEMsTUFBTSxDQUFDSSxVQUFVLENBQUNlLFVBQVUsR0FBRzs0QkFFakUscUVBQXFFOzRCQUNyRSxtREFBbUQ7NEJBQ25ELElBQUlJLFVBQVVILFNBQVNJLGdCQUFnQkYsYUFBYTtnQ0FDbEQsNkNBQTZDO2dDQUM3QyxrQ0FBa0M7Z0NBQ2xDLElBQUlDLE9BQU87b0NBQ1R4QixtQkFBbUIwQixJQUFJLENBQ3JCQyxJQUFBQSxnQkFBTyxFQUFDO3dDQUNOVixJQUFJTzt3Q0FDSkksVUFBVTt3Q0FDVmpDO3dDQUNBa0MsWUFBWUo7d0NBQ1o3Qjt3Q0FDQWtDLEtBQUs3QixNQUFNLENBQUNJLFVBQVU7d0NBQ3RCSDtvQ0FDRjtnQ0FFSixPQUFPO29DQUNMRCxNQUFNLENBQUNJLFVBQVUsR0FBRztnQ0FDdEI7NEJBQ0Y7d0JBQ0YsT0FBTzs0QkFDTCw4QkFBOEI7NEJBQzlCLE1BQU1tQixRQUNKLEFBQUN6QixZQUFZLENBQUNNLFVBQVUsSUFDdEIsT0FBT04sWUFBWSxDQUFDTSxVQUFVLEtBQUssWUFDbkNOLFlBQVksQ0FBQ00sVUFBVSxDQUFDWSxFQUFFLElBQzVCbEIsWUFBWSxDQUFDTSxVQUFVOzRCQUV6QixNQUFNZ0IsUUFDSixBQUFDcEIsTUFBTSxDQUFDSSxVQUFVLElBQ2hCLE9BQU9KLE1BQU0sQ0FBQ0ksVUFBVSxLQUFLLFlBQzdCSixNQUFNLENBQUNJLFVBQVUsQ0FBQ1ksRUFBRSxJQUN0QmhCLE1BQU0sQ0FBQ0ksVUFBVTs0QkFFbkIsbURBQW1EOzRCQUNuRCxtREFBbUQ7NEJBQ25ELElBQUltQixVQUFVSCxPQUFPO2dDQUNuQiw2Q0FBNkM7Z0NBQzdDLGtDQUFrQztnQ0FDbEMsSUFBSUcsT0FBTztvQ0FDVHhCLG1CQUFtQjBCLElBQUksQ0FDckJDLElBQUFBLGdCQUFPLEVBQUM7d0NBQ05WLElBQUlPO3dDQUNKSSxVQUFVdkI7d0NBQ1ZWO3dDQUNBa0MsWUFBWUUsT0FBT2xDLFlBQVl1QixVQUFVO3dDQUN6Q3hCO3dDQUNBa0MsS0FBSzdCO3dDQUNMQztvQ0FDRjtnQ0FFSixPQUFPO29DQUNMRCxNQUFNLENBQUNJLFVBQVUsR0FBRztnQ0FDdEI7NEJBQ0Y7d0JBQ0Y7b0JBQ0Y7b0JBRUE7Z0JBRUY7b0JBQ0VKLE1BQU0sQ0FBQ0ksVUFBVSxHQUFHTixZQUFZLENBQUNNLFVBQVU7WUFDL0M7UUFDRjtJQUNGO0FBQ0YifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/live-preview",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "The official live preview JavaScript SDK for Payload",
5
5
  "repository": "https://github.com/payloadcms/payload",
6
6
  "license": "MIT",
@@ -9,8 +9,11 @@
9
9
  "main": "./dist/index.js",
10
10
  "types": "./dist/index.d.ts",
11
11
  "devDependencies": {
12
- "@payloadcms/eslint-config": "0.0.1",
13
- "payload": "2.0.8"
12
+ "@payloadcms/eslint-config": "1.0.0",
13
+ "payload": "2.1.1"
14
+ },
15
+ "peerDependencies": {
16
+ "payload": "^2.0.0"
14
17
  },
15
18
  "exports": null,
16
19
  "publishConfig": {