@payloadcms/db-postgres 0.1.9 → 0.1.10
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/find/traverseFields.js +2 -2
- package/dist/schema/idToUUID.d.ts +3 -0
- package/dist/schema/idToUUID.d.ts.map +1 -0
- package/dist/schema/idToUUID.js +21 -0
- package/dist/schema/traverseFields.d.ts.map +1 -1
- package/dist/schema/traverseFields.js +4 -3
- package/dist/schema/validateExistingBlockIsIdentical.js +3 -2
- package/dist/transform/read/index.d.ts.map +1 -1
- package/dist/transform/read/index.js +4 -1
- package/dist/transform/read/traverseFields.d.ts +5 -1
- package/dist/transform/read/traverseFields.d.ts.map +1 -1
- package/dist/transform/read/traverseFields.js +29 -2
- package/dist/transform/write/array.d.ts +3 -1
- package/dist/transform/write/array.d.ts.map +1 -1
- package/dist/transform/write/array.js +13 -2
- package/dist/transform/write/blocks.d.ts +3 -1
- package/dist/transform/write/blocks.d.ts.map +1 -1
- package/dist/transform/write/blocks.js +13 -2
- package/dist/transform/write/index.d.ts +3 -1
- package/dist/transform/write/index.d.ts.map +1 -1
- package/dist/transform/write/index.js +3 -2
- package/dist/transform/write/traverseFields.d.ts +3 -1
- package/dist/transform/write/traverseFields.d.ts.map +1 -1
- package/dist/transform/write/traverseFields.js +12 -2
- package/dist/upsertRow/index.d.ts.map +1 -1
- package/dist/upsertRow/index.js +5 -1
- package/package.json +6 -3
@@ -11,7 +11,7 @@ Object.defineProperty(exports, "traverseFields", {
|
|
11
11
|
const _types = require("payload/types");
|
12
12
|
const _hasManyNumber = require("./hasManyNumber");
|
13
13
|
const _relationship = require("./relationship");
|
14
|
-
const traverseFields = ({ blocks, config, dataRef, fieldPrefix, fields, numbers, path, relationships, table })=>{
|
14
|
+
const traverseFields = ({ blocks, config, dataRef, deletions, fieldPrefix, fields, numbers, path, relationships, table })=>{
|
15
15
|
const sanitizedPath = path ? `${path}.` : path;
|
16
16
|
const formatted = fields.reduce((result, field)=>{
|
17
17
|
if (field.type === 'tabs') {
|
@@ -19,6 +19,7 @@ const traverseFields = ({ blocks, config, dataRef, fieldPrefix, fields, numbers,
|
|
19
19
|
blocks,
|
20
20
|
config,
|
21
21
|
dataRef,
|
22
|
+
deletions,
|
22
23
|
fieldPrefix,
|
23
24
|
fields: field.tabs.map((tab)=>({
|
24
25
|
...tab,
|
@@ -35,6 +36,7 @@ const traverseFields = ({ blocks, config, dataRef, fieldPrefix, fields, numbers,
|
|
35
36
|
blocks,
|
36
37
|
config,
|
37
38
|
dataRef,
|
39
|
+
deletions,
|
38
40
|
fieldPrefix,
|
39
41
|
fields: field.fields,
|
40
42
|
numbers,
|
@@ -55,10 +57,15 @@ const traverseFields = ({ blocks, config, dataRef, fieldPrefix, fields, numbers,
|
|
55
57
|
const locale = row._locale;
|
56
58
|
const data = {};
|
57
59
|
delete row._locale;
|
60
|
+
if (row._uuid) {
|
61
|
+
row.id = row._uuid;
|
62
|
+
delete row._uuid;
|
63
|
+
}
|
58
64
|
const rowResult = traverseFields({
|
59
65
|
blocks,
|
60
66
|
config,
|
61
67
|
dataRef: data,
|
68
|
+
deletions,
|
62
69
|
fieldPrefix: '',
|
63
70
|
fields: field.fields,
|
64
71
|
numbers,
|
@@ -72,10 +79,15 @@ const traverseFields = ({ blocks, config, dataRef, fieldPrefix, fields, numbers,
|
|
72
79
|
}, {});
|
73
80
|
} else {
|
74
81
|
result[field.name] = fieldData.map((row, i)=>{
|
82
|
+
if (row._uuid) {
|
83
|
+
row.id = row._uuid;
|
84
|
+
delete row._uuid;
|
85
|
+
}
|
75
86
|
return traverseFields({
|
76
87
|
blocks,
|
77
88
|
config,
|
78
89
|
dataRef: row,
|
90
|
+
deletions,
|
79
91
|
fieldPrefix: '',
|
80
92
|
fields: field.fields,
|
81
93
|
numbers,
|
@@ -94,6 +106,10 @@ const traverseFields = ({ blocks, config, dataRef, fieldPrefix, fields, numbers,
|
|
94
106
|
if (field.localized) {
|
95
107
|
result[field.name] = {};
|
96
108
|
blocks[blockFieldPath].forEach((row)=>{
|
109
|
+
if (row._uuid) {
|
110
|
+
row.id = row._uuid;
|
111
|
+
delete row._uuid;
|
112
|
+
}
|
97
113
|
if (typeof row._locale === 'string') {
|
98
114
|
if (!result[field.name][row._locale]) result[field.name][row._locale] = [];
|
99
115
|
result[field.name][row._locale].push(row);
|
@@ -108,6 +124,7 @@ const traverseFields = ({ blocks, config, dataRef, fieldPrefix, fields, numbers,
|
|
108
124
|
blocks,
|
109
125
|
config,
|
110
126
|
dataRef: row,
|
127
|
+
deletions,
|
111
128
|
fieldPrefix: '',
|
112
129
|
fields: block.fields,
|
113
130
|
numbers,
|
@@ -124,12 +141,17 @@ const traverseFields = ({ blocks, config, dataRef, fieldPrefix, fields, numbers,
|
|
124
141
|
} else {
|
125
142
|
result[field.name] = blocks[blockFieldPath].map((row, i)=>{
|
126
143
|
delete row._order;
|
144
|
+
if (row._uuid) {
|
145
|
+
row.id = row._uuid;
|
146
|
+
delete row._uuid;
|
147
|
+
}
|
127
148
|
const block = field.blocks.find(({ slug })=>slug === row.blockType);
|
128
149
|
if (block) {
|
129
150
|
return traverseFields({
|
130
151
|
blocks,
|
131
152
|
config,
|
132
153
|
dataRef: row,
|
154
|
+
deletions,
|
133
155
|
fieldPrefix: '',
|
134
156
|
fields: block.fields,
|
135
157
|
numbers,
|
@@ -262,6 +284,7 @@ const traverseFields = ({ blocks, config, dataRef, fieldPrefix, fields, numbers,
|
|
262
284
|
blocks,
|
263
285
|
config,
|
264
286
|
dataRef: groupLocaleData,
|
287
|
+
deletions,
|
265
288
|
fieldPrefix: groupFieldPrefix,
|
266
289
|
fields: field.fields,
|
267
290
|
numbers,
|
@@ -276,6 +299,7 @@ const traverseFields = ({ blocks, config, dataRef, fieldPrefix, fields, numbers,
|
|
276
299
|
blocks,
|
277
300
|
config,
|
278
301
|
dataRef: groupData,
|
302
|
+
deletions,
|
279
303
|
fieldPrefix: groupFieldPrefix,
|
280
304
|
fields: field.fields,
|
281
305
|
numbers,
|
@@ -330,7 +354,10 @@ const traverseFields = ({ blocks, config, dataRef, fieldPrefix, fields, numbers,
|
|
330
354
|
}
|
331
355
|
return result;
|
332
356
|
}, dataRef);
|
357
|
+
if (Array.isArray(table._locales)) {
|
358
|
+
deletions.push(()=>delete table._locales);
|
359
|
+
}
|
333
360
|
return formatted;
|
334
361
|
};
|
335
362
|
|
336
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vcmVhZC90cmF2ZXJzZUZpZWxkcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcbmltcG9ydCB0eXBlIHsgRmllbGQsIFRhYkFzRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHR5cGUgeyBCbG9ja3NNYXAgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY3JlYXRlQmxvY2tzTWFwJ1xuXG5pbXBvcnQgeyB0cmFuc2Zvcm1IYXNNYW55TnVtYmVyIH0gZnJvbSAnLi9oYXNNYW55TnVtYmVyJ1xuaW1wb3J0IHsgdHJhbnNmb3JtUmVsYXRpb25zaGlwIH0gZnJvbSAnLi9yZWxhdGlvbnNoaXAnXG5cbnR5cGUgVHJhdmVyc2VGaWVsZHNBcmdzID0ge1xuICAvKipcbiAgICogUHJlLWZvcm1hdHRlZCBibG9ja3MgbWFwXG4gICAqL1xuICBibG9ja3M6IEJsb2Nrc01hcFxuICAvKipcbiAgICogVGhlIGZ1bGwgUGF5bG9hZCBjb25maWdcbiAgICovXG4gIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnXG4gIC8qKlxuICAgKiBUaGUgZGF0YSByZWZlcmVuY2UgdG8gYmUgbXV0YXRlZCB3aXRoaW4gdGhpcyByZWN1cnNpdmUgZnVuY3Rpb25cbiAgICovXG4gIGRhdGFSZWY6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIC8qKlxuICAgKiBDb2x1bW4gcHJlZml4IGNhbiBiZSBidWlsdCB1cCBieSBncm91cCBhbmQgbmFtZWQgdGFiIGZpZWxkc1xuICAgKi9cbiAgZmllbGRQcmVmaXg6IHN0cmluZ1xuICAvKipcbiAgICogQW4gYXJyYXkgb2YgUGF5bG9hZCBmaWVsZHMgdG8gdHJhdmVyc2VcbiAgICovXG4gIGZpZWxkczogKEZpZWxkIHwgVGFiQXNGaWVsZClbXVxuICAvKipcbiAgICogQWxsIGhhc01hbnkgbnVtYmVyIGZpZWxkcywgYXMgcmV0dXJuZWQgYnkgRHJpenpsZSwga2V5ZWQgb24gYW4gb2JqZWN0IGJ5IGZpZWxkIHBhdGhcbiAgICovXG4gIG51bWJlcnM6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHVua25vd24+W10+XG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBmaWVsZCBwYXRoIChpbiBkb3Qgbm90YXRpb24pLCB1c2VkIHRvIG1lcmdlIGluIHJlbGF0aW9uc2hpcHNcbiAgICovXG4gIHBhdGg6IHN0cmluZ1xuICAvKipcbiAgICogQWxsIHJlbGF0ZWQgZG9jdW1lbnRzLCBhcyByZXR1cm5lZCBieSBEcml6emxlLCBrZXllZCBvbiBhbiBvYmplY3QgYnkgZmllbGQgcGF0aFxuICAgKi9cbiAgcmVsYXRpb25zaGlwczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXT5cbiAgLyoqXG4gICAqIERhdGEgc3RydWN0dXJlIHJlcHJlc2VudGluZyB0aGUgbmVhcmVzdCB0YWJsZSBmcm9tIGRiXG4gICAqL1xuICB0YWJsZTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbn1cblxuLy8gVHJhdmVyc2UgZmllbGRzIHJlY3Vyc2l2ZWx5LCB0cmFuc2Zvcm1pbmcgZGF0YVxuLy8gZm9yIGVhY2ggZmllbGQgdHlwZSBpbnRvIHJlcXVpcmVkIFBheWxvYWQgc2hhcGVcbmV4cG9ydCBjb25zdCB0cmF2ZXJzZUZpZWxkcyA9IDxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+KHtcbiAgYmxvY2tzLFxuICBjb25maWcsXG4gIGRhdGFSZWYsXG4gIGZpZWxkUHJlZml4LFxuICBmaWVsZHMsXG4gIG51bWJlcnMsXG4gIHBhdGgsXG4gIHJlbGF0aW9uc2hpcHMsXG4gIHRhYmxlLFxufTogVHJhdmVyc2VGaWVsZHNBcmdzKTogVCA9PiB7XG4gIGNvbnN0IHNhbml0aXplZFBhdGggPSBwYXRoID8gYCR7cGF0aH0uYCA6IHBhdGhcblxuICBjb25zdCBmb3JtYXR0ZWQgPSBmaWVsZHMucmVkdWNlKChyZXN1bHQsIGZpZWxkKSA9PiB7XG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICd0YWJzJykge1xuICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICBibG9ja3MsXG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgZGF0YVJlZixcbiAgICAgICAgZmllbGRQcmVmaXgsXG4gICAgICAgIGZpZWxkczogZmllbGQudGFicy5tYXAoKHRhYikgPT4gKHsgLi4udGFiLCB0eXBlOiAndGFiJyB9KSksXG4gICAgICAgIG51bWJlcnMsXG4gICAgICAgIHBhdGgsXG4gICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgIHRhYmxlLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBmaWVsZC50eXBlID09PSAnY29sbGFwc2libGUnIHx8XG4gICAgICBmaWVsZC50eXBlID09PSAncm93JyB8fFxuICAgICAgKGZpZWxkLnR5cGUgPT09ICd0YWInICYmICEoJ25hbWUnIGluIGZpZWxkKSlcbiAgICApIHtcbiAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgYmxvY2tzLFxuICAgICAgICBjb25maWcsXG4gICAgICAgIGRhdGFSZWYsXG4gICAgICAgIGZpZWxkUHJlZml4LFxuICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgbnVtYmVycyxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgdGFibGUsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSkge1xuICAgICAgY29uc3QgZmllbGROYW1lID0gYCR7ZmllbGRQcmVmaXggfHwgJyd9JHtmaWVsZC5uYW1lfWBcbiAgICAgIGNvbnN0IGZpZWxkRGF0YSA9IHRhYmxlW2ZpZWxkTmFtZV1cblxuICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdhcnJheScpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGREYXRhKSkge1xuICAgICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXSA9IGZpZWxkRGF0YS5yZWR1Y2UoKGFycmF5UmVzdWx0LCByb3cpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR5cGVvZiByb3cuX2xvY2FsZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWFycmF5UmVzdWx0W3Jvdy5fbG9jYWxlXSkgYXJyYXlSZXN1bHRbcm93Ll9sb2NhbGVdID0gW11cbiAgICAgICAgICAgICAgICBjb25zdCBsb2NhbGUgPSByb3cuX2xvY2FsZVxuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB7fVxuICAgICAgICAgICAgICAgIGRlbGV0ZSByb3cuX2xvY2FsZVxuXG4gICAgICAgICAgICAgICAgY29uc3Qgcm93UmVzdWx0ID0gdHJhdmVyc2VGaWVsZHM8VD4oe1xuICAgICAgICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgICAgICAgZGF0YVJlZjogZGF0YSxcbiAgICAgICAgICAgICAgICAgIGZpZWxkUHJlZml4OiAnJyxcbiAgICAgICAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgICAgICAgIHBhdGg6IGAke3Nhbml0aXplZFBhdGh9JHtmaWVsZC5uYW1lfS4ke3Jvdy5fb3JkZXIgLSAxfWAsXG4gICAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgICAgdGFibGU6IHJvdyxcbiAgICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgICAgYXJyYXlSZXN1bHRbbG9jYWxlXS5wdXNoKHJvd1Jlc3VsdClcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiBhcnJheVJlc3VsdFxuICAgICAgICAgICAgfSwge30pXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXSA9IGZpZWxkRGF0YS5tYXAoKHJvdywgaSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gdHJhdmVyc2VGaWVsZHM8VD4oe1xuICAgICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgZGF0YVJlZjogcm93LFxuICAgICAgICAgICAgICAgIGZpZWxkUHJlZml4OiAnJyxcbiAgICAgICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgIHBhdGg6IGAke3Nhbml0aXplZFBhdGh9JHtmaWVsZC5uYW1lfS4ke2l9YCxcbiAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgIHRhYmxlOiByb3csXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgIH1cblxuICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdibG9ja3MnKSB7XG4gICAgICAgIGNvbnN0IGJsb2NrRmllbGRQYXRoID0gYCR7c2FuaXRpemVkUGF0aH0ke2ZpZWxkLm5hbWV9YFxuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGJsb2Nrc1tibG9ja0ZpZWxkUGF0aF0pKSB7XG4gICAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0ge31cblxuICAgICAgICAgICAgYmxvY2tzW2Jsb2NrRmllbGRQYXRoXS5mb3JFYWNoKChyb3cpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR5cGVvZiByb3cuX2xvY2FsZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdFtmaWVsZC5uYW1lXVtyb3cuX2xvY2FsZV0pIHJlc3VsdFtmaWVsZC5uYW1lXVtyb3cuX2xvY2FsZV0gPSBbXVxuICAgICAgICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXVtyb3cuX2xvY2FsZV0ucHVzaChyb3cpXG4gICAgICAgICAgICAgICAgZGVsZXRlIHJvdy5fbG9jYWxlXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHJlc3VsdFtmaWVsZC5uYW1lXSkuZm9yRWFjaCgoW2xvY2FsZSwgbG9jYWxpemVkQmxvY2tzXSkgPT4ge1xuICAgICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV1bbG9jYWxlXSA9IGxvY2FsaXplZEJsb2Nrcy5tYXAoKHJvdykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrID0gZmllbGQuYmxvY2tzLmZpbmQoKHsgc2x1ZyB9KSA9PiBzbHVnID09PSByb3cuYmxvY2tUeXBlKVxuXG4gICAgICAgICAgICAgICAgaWYgKGJsb2NrKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBibG9ja1Jlc3VsdCA9IHRyYXZlcnNlRmllbGRzPFQ+KHtcbiAgICAgICAgICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgICAgIGRhdGFSZWY6IHJvdyxcbiAgICAgICAgICAgICAgICAgICAgZmllbGRQcmVmaXg6ICcnLFxuICAgICAgICAgICAgICAgICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgICAgICAgICAgcGF0aDogYCR7YmxvY2tGaWVsZFBhdGh9LiR7cm93Ll9vcmRlciAtIDF9YCxcbiAgICAgICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgICAgICAgdGFibGU6IHJvdyxcbiAgICAgICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgICAgIGRlbGV0ZSBibG9ja1Jlc3VsdC5fb3JkZXJcbiAgICAgICAgICAgICAgICAgIHJldHVybiBibG9ja1Jlc3VsdFxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiB7fVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gYmxvY2tzW2Jsb2NrRmllbGRQYXRoXS5tYXAoKHJvdywgaSkgPT4ge1xuICAgICAgICAgICAgICBkZWxldGUgcm93Ll9vcmRlclxuICAgICAgICAgICAgICBjb25zdCBibG9jayA9IGZpZWxkLmJsb2Nrcy5maW5kKCh7IHNsdWcgfSkgPT4gc2x1ZyA9PT0gcm93LmJsb2NrVHlwZSlcblxuICAgICAgICAgICAgICBpZiAoYmxvY2spIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJhdmVyc2VGaWVsZHM8VD4oe1xuICAgICAgICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgICAgICAgZGF0YVJlZjogcm93LFxuICAgICAgICAgICAgICAgICAgZmllbGRQcmVmaXg6ICcnLFxuICAgICAgICAgICAgICAgICAgZmllbGRzOiBibG9jay5maWVsZHMsXG4gICAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgICAgcGF0aDogYCR7YmxvY2tGaWVsZFBhdGh9LiR7aX1gLFxuICAgICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgICAgIHRhYmxlOiByb3csXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiB7fVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZC50eXBlID09PSAncmVsYXRpb25zaGlwJyB8fCBmaWVsZC50eXBlID09PSAndXBsb2FkJykge1xuICAgICAgICBjb25zdCByZWxhdGlvblBhdGhNYXRjaCA9IHJlbGF0aW9uc2hpcHNbYCR7c2FuaXRpemVkUGF0aH0ke2ZpZWxkLm5hbWV9YF1cbiAgICAgICAgaWYgKCFyZWxhdGlvblBhdGhNYXRjaCkge1xuICAgICAgICAgIGlmICgnaGFzTWFueScgaW4gZmllbGQgJiYgZmllbGQuaGFzTWFueSkge1xuICAgICAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCAmJiBjb25maWcubG9jYWxpemF0aW9uICYmIGNvbmZpZy5sb2NhbGl6YXRpb24ubG9jYWxlcykge1xuICAgICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSB7XG4gICAgICAgICAgICAgICAgW2NvbmZpZy5sb2NhbGl6YXRpb24uZGVmYXVsdExvY2FsZV06IFtdLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSBbXVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSB7fVxuICAgICAgICAgIGNvbnN0IHJlbGF0aW9uc0J5TG9jYWxlOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdPiA9IHt9XG5cbiAgICAgICAgICByZWxhdGlvblBhdGhNYXRjaC5mb3JFYWNoKChyb3cpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygcm93LmxvY2FsZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgaWYgKCFyZWxhdGlvbnNCeUxvY2FsZVtyb3cubG9jYWxlXSkgcmVsYXRpb25zQnlMb2NhbGVbcm93LmxvY2FsZV0gPSBbXVxuICAgICAgICAgICAgICByZWxhdGlvbnNCeUxvY2FsZVtyb3cubG9jYWxlXS5wdXNoKHJvdylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMocmVsYXRpb25zQnlMb2NhbGUpLmZvckVhY2goKFtsb2NhbGUsIHJlbGF0aW9uc10pID0+IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybVJlbGF0aW9uc2hpcCh7XG4gICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgIHJlZjogcmVzdWx0LFxuICAgICAgICAgICAgICByZWxhdGlvbnMsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdHJhbnNmb3JtUmVsYXRpb25zaGlwKHtcbiAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgcmVmOiByZXN1bHQsXG4gICAgICAgICAgICByZWxhdGlvbnM6IHJlbGF0aW9uUGF0aE1hdGNoLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZC50eXBlID09PSAnbnVtYmVyJyAmJiBmaWVsZC5oYXNNYW55KSB7XG4gICAgICAgIGNvbnN0IG51bWJlclBhdGhNYXRjaCA9IG51bWJlcnNbYCR7c2FuaXRpemVkUGF0aH0ke2ZpZWxkLm5hbWV9YF1cbiAgICAgICAgaWYgKCFudW1iZXJQYXRoTWF0Y2gpIHJldHVybiByZXN1bHRcblxuICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0ge31cbiAgICAgICAgICBjb25zdCBudW1iZXJzQnlMb2NhbGU6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHVua25vd24+W10+ID0ge31cblxuICAgICAgICAgIG51bWJlclBhdGhNYXRjaC5mb3JFYWNoKChyb3cpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygcm93LmxvY2FsZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgaWYgKCFudW1iZXJzQnlMb2NhbGVbcm93LmxvY2FsZV0pIG51bWJlcnNCeUxvY2FsZVtyb3cubG9jYWxlXSA9IFtdXG4gICAgICAgICAgICAgIG51bWJlcnNCeUxvY2FsZVtyb3cubG9jYWxlXS5wdXNoKHJvdylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMobnVtYmVyc0J5TG9jYWxlKS5mb3JFYWNoKChbbG9jYWxlLCBudW1iZXJzXSkgPT4ge1xuICAgICAgICAgICAgdHJhbnNmb3JtSGFzTWFueU51bWJlcih7XG4gICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgIG51bWJlclJvd3M6IG51bWJlcnMsXG4gICAgICAgICAgICAgIHJlZjogcmVzdWx0LFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRyYW5zZm9ybUhhc01hbnlOdW1iZXIoe1xuICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICBudW1iZXJSb3dzOiBudW1iZXJQYXRoTWF0Y2gsXG4gICAgICAgICAgICByZWY6IHJlc3VsdCxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgfVxuXG4gICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3NlbGVjdCcgJiYgZmllbGQuaGFzTWFueSkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZERhdGEpKSB7XG4gICAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gZmllbGREYXRhLnJlZHVjZSgoc2VsZWN0UmVzdWx0LCByb3cpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR5cGVvZiByb3cubG9jYWxlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGlmICghc2VsZWN0UmVzdWx0W3Jvdy5sb2NhbGVdKSBzZWxlY3RSZXN1bHRbcm93LmxvY2FsZV0gPSBbXVxuICAgICAgICAgICAgICAgIHNlbGVjdFJlc3VsdFtyb3cubG9jYWxlXS5wdXNoKHJvdy52YWx1ZSlcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiBzZWxlY3RSZXN1bHRcbiAgICAgICAgICAgIH0sIHt9KVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSBmaWVsZERhdGEubWFwKCh7IHZhbHVlIH0pID0+IHZhbHVlKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGxvY2FsaXplZEZpZWxkRGF0YSA9IHt9XG4gICAgICBjb25zdCB2YWx1ZXNUb1RyYW5zZm9ybToge1xuICAgICAgICByZWY6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgICAgIHRhYmxlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgICAgfVtdID0gW11cblxuICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCAmJiBBcnJheS5pc0FycmF5KHRhYmxlLl9sb2NhbGVzKSkge1xuICAgICAgICB0YWJsZS5fbG9jYWxlcy5mb3JFYWNoKChsb2NhbGVSb3cpID0+IHtcbiAgICAgICAgICB2YWx1ZXNUb1RyYW5zZm9ybS5wdXNoKHsgcmVmOiBsb2NhbGl6ZWRGaWVsZERhdGEsIHRhYmxlOiBsb2NhbGVSb3cgfSlcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhbHVlc1RvVHJhbnNmb3JtLnB1c2goeyByZWY6IHJlc3VsdCwgdGFibGUgfSlcbiAgICAgIH1cblxuICAgICAgdmFsdWVzVG9UcmFuc2Zvcm0uZm9yRWFjaCgoeyByZWYsIHRhYmxlIH0pID0+IHtcbiAgICAgICAgY29uc3QgZmllbGREYXRhID0gdGFibGVbYCR7ZmllbGRQcmVmaXggfHwgJyd9JHtmaWVsZC5uYW1lfWBdXG4gICAgICAgIGNvbnN0IGxvY2FsZSA9IHRhYmxlPy5fbG9jYWxlXG5cbiAgICAgICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICAgICAgY2FzZSAndGFiJzpcbiAgICAgICAgICBjYXNlICdncm91cCc6IHtcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwRmllbGRQcmVmaXggPSBgJHtmaWVsZFByZWZpeCB8fCAnJ30ke2ZpZWxkLm5hbWV9X2BcblxuICAgICAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICAgICAgICBpZiAodHlwZW9mIGxvY2FsZSA9PT0gJ3N0cmluZycgJiYgIXJlZltsb2NhbGVdKSB7XG4gICAgICAgICAgICAgICAgcmVmW2xvY2FsZV0gPSB7fVxuICAgICAgICAgICAgICAgIGRlbGV0ZSB0YWJsZS5fbG9jYWxlXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyhyZWYpLmZvckVhY2goKFtncm91cExvY2FsZSwgZ3JvdXBMb2NhbGVEYXRhXSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlZltncm91cExvY2FsZV0gPSB0cmF2ZXJzZUZpZWxkczxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oe1xuICAgICAgICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgICAgICAgZGF0YVJlZjogZ3JvdXBMb2NhbGVEYXRhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICAgICAgICAgICAgICAgZmllbGRQcmVmaXg6IGdyb3VwRmllbGRQcmVmaXgsXG4gICAgICAgICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICAgICAgICBwYXRoOiBgJHtzYW5pdGl6ZWRQYXRofSR7ZmllbGQubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgICAgIHRhYmxlLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb25zdCBncm91cERhdGEgPSB7fVxuXG4gICAgICAgICAgICAgIHJlZltmaWVsZC5uYW1lXSA9IHRyYXZlcnNlRmllbGRzPFJlY29yZDxzdHJpbmcsIHVua25vd24+Pih7XG4gICAgICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgICAgICBkYXRhUmVmOiBncm91cERhdGEgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgICAgICAgICAgICAgZmllbGRQcmVmaXg6IGdyb3VwRmllbGRQcmVmaXgsXG4gICAgICAgICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgICAgICBwYXRoOiBgJHtzYW5pdGl6ZWRQYXRofSR7ZmllbGQubmFtZX1gLFxuICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICAgICAgdGFibGUsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnbnVtYmVyJzoge1xuICAgICAgICAgICAgbGV0IHZhbCA9IGZpZWxkRGF0YVxuICAgICAgICAgICAgaWYgKHR5cGVvZiBmaWVsZERhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIHZhbCA9IE51bWJlci5wYXJzZUZsb2F0KGZpZWxkRGF0YSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHR5cGVvZiBsb2NhbGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIHJlZltsb2NhbGVdID0gdmFsXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSB2YWxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdkYXRlJzoge1xuICAgICAgICAgICAgbGV0IHZhbCA9IGZpZWxkRGF0YVxuXG4gICAgICAgICAgICBpZiAodHlwZW9mIGZpZWxkRGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgdmFsID0gbmV3IERhdGUoZmllbGREYXRhKS50b0lTT1N0cmluZygpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0eXBlb2YgbG9jYWxlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICByZWZbbG9jYWxlXSA9IHZhbFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gdmFsXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBsb2NhbGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIHJlZltsb2NhbGVdID0gZmllbGREYXRhXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSBmaWVsZERhdGFcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIGlmIChPYmplY3Qua2V5cyhsb2NhbGl6ZWRGaWVsZERhdGEpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gbG9jYWxpemVkRmllbGREYXRhXG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHRcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH0sIGRhdGFSZWYpXG5cbiAgcmV0dXJuIGZvcm1hdHRlZCBhcyBUXG59XG4iXSwibmFtZXMiOlsidHJhdmVyc2VGaWVsZHMiLCJibG9ja3MiLCJjb25maWciLCJkYXRhUmVmIiwiZmllbGRQcmVmaXgiLCJmaWVsZHMiLCJudW1iZXJzIiwicGF0aCIsInJlbGF0aW9uc2hpcHMiLCJ0YWJsZSIsInNhbml0aXplZFBhdGgiLCJmb3JtYXR0ZWQiLCJyZWR1Y2UiLCJyZXN1bHQiLCJmaWVsZCIsInR5cGUiLCJ0YWJzIiwibWFwIiwidGFiIiwiZmllbGRBZmZlY3RzRGF0YSIsImZpZWxkTmFtZSIsIm5hbWUiLCJmaWVsZERhdGEiLCJBcnJheSIsImlzQXJyYXkiLCJsb2NhbGl6ZWQiLCJhcnJheVJlc3VsdCIsInJvdyIsIl9sb2NhbGUiLCJsb2NhbGUiLCJkYXRhIiwicm93UmVzdWx0IiwiX29yZGVyIiwicHVzaCIsImkiLCJibG9ja0ZpZWxkUGF0aCIsImZvckVhY2giLCJPYmplY3QiLCJlbnRyaWVzIiwibG9jYWxpemVkQmxvY2tzIiwiYmxvY2siLCJmaW5kIiwic2x1ZyIsImJsb2NrVHlwZSIsImJsb2NrUmVzdWx0IiwicmVsYXRpb25QYXRoTWF0Y2giLCJoYXNNYW55IiwibG9jYWxpemF0aW9uIiwibG9jYWxlcyIsImRlZmF1bHRMb2NhbGUiLCJyZWxhdGlvbnNCeUxvY2FsZSIsInJlbGF0aW9ucyIsInRyYW5zZm9ybVJlbGF0aW9uc2hpcCIsInJlZiIsIm51bWJlclBhdGhNYXRjaCIsIm51bWJlcnNCeUxvY2FsZSIsInRyYW5zZm9ybUhhc01hbnlOdW1iZXIiLCJudW1iZXJSb3dzIiwic2VsZWN0UmVzdWx0IiwidmFsdWUiLCJsb2NhbGl6ZWRGaWVsZERhdGEiLCJ2YWx1ZXNUb1RyYW5zZm9ybSIsIl9sb2NhbGVzIiwibG9jYWxlUm93IiwiZ3JvdXBGaWVsZFByZWZpeCIsImdyb3VwTG9jYWxlIiwiZ3JvdXBMb2NhbGVEYXRhIiwiZ3JvdXBEYXRhIiwidmFsIiwiTnVtYmVyIiwicGFyc2VGbG9hdCIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsImtleXMiLCJsZW5ndGgiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkFvRHZCQTs7O2VBQUFBOzs7dUJBaERvQjsrQkFJTTs4QkFDRDtBQTJDL0IsTUFBTUEsaUJBQWlCLENBQW9DLEVBQ2hFQyxNQUFNLEVBQ05DLE1BQU0sRUFDTkMsT0FBTyxFQUNQQyxXQUFXLEVBQ1hDLE1BQU0sRUFDTkMsT0FBTyxFQUNQQyxJQUFJLEVBQ0pDLGFBQWEsRUFDYkMsS0FBSyxFQUNjO0lBQ25CLE1BQU1DLGdCQUFnQkgsT0FBTyxDQUFDLEVBQUVBLEtBQUssQ0FBQyxDQUFDLEdBQUdBO0lBRTFDLE1BQU1JLFlBQVlOLE9BQU9PLE1BQU0sQ0FBQyxDQUFDQyxRQUFRQztRQUN2QyxJQUFJQSxNQUFNQyxJQUFJLEtBQUssUUFBUTtZQUN6QmYsZUFBZTtnQkFDYkM7Z0JBQ0FDO2dCQUNBQztnQkFDQUM7Z0JBQ0FDLFFBQVFTLE1BQU1FLElBQUksQ0FBQ0MsR0FBRyxDQUFDLENBQUNDLE1BQVMsQ0FBQTt3QkFBRSxHQUFHQSxHQUFHO3dCQUFFSCxNQUFNO29CQUFNLENBQUE7Z0JBQ3ZEVDtnQkFDQUM7Z0JBQ0FDO2dCQUNBQztZQUNGO1FBQ0Y7UUFFQSxJQUNFSyxNQUFNQyxJQUFJLEtBQUssaUJBQ2ZELE1BQU1DLElBQUksS0FBSyxTQUNkRCxNQUFNQyxJQUFJLEtBQUssU0FBUyxDQUFFLENBQUEsVUFBVUQsS0FBSSxHQUN6QztZQUNBZCxlQUFlO2dCQUNiQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQztnQkFDQUMsUUFBUVMsTUFBTVQsTUFBTTtnQkFDcEJDO2dCQUNBQztnQkFDQUM7Z0JBQ0FDO1lBQ0Y7UUFDRjtRQUVBLElBQUlVLElBQUFBLHVCQUFnQixF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
|
363
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vcmVhZC90cmF2ZXJzZUZpZWxkcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcbmltcG9ydCB0eXBlIHsgRmllbGQsIFRhYkFzRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHR5cGUgeyBCbG9ja3NNYXAgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY3JlYXRlQmxvY2tzTWFwJ1xuXG5pbXBvcnQgeyB0cmFuc2Zvcm1IYXNNYW55TnVtYmVyIH0gZnJvbSAnLi9oYXNNYW55TnVtYmVyJ1xuaW1wb3J0IHsgdHJhbnNmb3JtUmVsYXRpb25zaGlwIH0gZnJvbSAnLi9yZWxhdGlvbnNoaXAnXG5cbnR5cGUgVHJhdmVyc2VGaWVsZHNBcmdzID0ge1xuICAvKipcbiAgICogUHJlLWZvcm1hdHRlZCBibG9ja3MgbWFwXG4gICAqL1xuICBibG9ja3M6IEJsb2Nrc01hcFxuICAvKipcbiAgICogVGhlIGZ1bGwgUGF5bG9hZCBjb25maWdcbiAgICovXG4gIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnXG4gIC8qKlxuICAgKiBUaGUgZGF0YSByZWZlcmVuY2UgdG8gYmUgbXV0YXRlZCB3aXRoaW4gdGhpcyByZWN1cnNpdmUgZnVuY3Rpb25cbiAgICovXG4gIGRhdGFSZWY6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIC8qKlxuICAgKiBEYXRhIHRoYXQgbmVlZHMgdG8gYmUgcmVtb3ZlZCBmcm9tIHRoZSByZXN1bHQgYWZ0ZXIgYWxsIGZpZWxkcyBoYXZlIHBvcHVsYXRlZFxuICAgKi9cbiAgZGVsZXRpb25zOiAoKCkgPT4gdm9pZClbXVxuICAvKipcbiAgICogQ29sdW1uIHByZWZpeCBjYW4gYmUgYnVpbHQgdXAgYnkgZ3JvdXAgYW5kIG5hbWVkIHRhYiBmaWVsZHNcbiAgICovXG4gIGZpZWxkUHJlZml4OiBzdHJpbmdcbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIFBheWxvYWQgZmllbGRzIHRvIHRyYXZlcnNlXG4gICAqL1xuICBmaWVsZHM6IChGaWVsZCB8IFRhYkFzRmllbGQpW11cbiAgLyoqXG4gICAqIEFsbCBoYXNNYW55IG51bWJlciBmaWVsZHMsIGFzIHJldHVybmVkIGJ5IERyaXp6bGUsIGtleWVkIG9uIGFuIG9iamVjdCBieSBmaWVsZCBwYXRoXG4gICAqL1xuICBudW1iZXJzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdPlxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgZmllbGQgcGF0aCAoaW4gZG90IG5vdGF0aW9uKSwgdXNlZCB0byBtZXJnZSBpbiByZWxhdGlvbnNoaXBzXG4gICAqL1xuICBwYXRoOiBzdHJpbmdcbiAgLyoqXG4gICAqIEFsbCByZWxhdGVkIGRvY3VtZW50cywgYXMgcmV0dXJuZWQgYnkgRHJpenpsZSwga2V5ZWQgb24gYW4gb2JqZWN0IGJ5IGZpZWxkIHBhdGhcbiAgICovXG4gIHJlbGF0aW9uc2hpcHM6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHVua25vd24+W10+XG4gIC8qKlxuICAgKiBEYXRhIHN0cnVjdHVyZSByZXByZXNlbnRpbmcgdGhlIG5lYXJlc3QgdGFibGUgZnJvbSBkYlxuICAgKi9cbiAgdGFibGU6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG59XG5cbi8vIFRyYXZlcnNlIGZpZWxkcyByZWN1cnNpdmVseSwgdHJhbnNmb3JtaW5nIGRhdGFcbi8vIGZvciBlYWNoIGZpZWxkIHR5cGUgaW50byByZXF1aXJlZCBQYXlsb2FkIHNoYXBlXG5leHBvcnQgY29uc3QgdHJhdmVyc2VGaWVsZHMgPSA8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+Pih7XG4gIGJsb2NrcyxcbiAgY29uZmlnLFxuICBkYXRhUmVmLFxuICBkZWxldGlvbnMsXG4gIGZpZWxkUHJlZml4LFxuICBmaWVsZHMsXG4gIG51bWJlcnMsXG4gIHBhdGgsXG4gIHJlbGF0aW9uc2hpcHMsXG4gIHRhYmxlLFxufTogVHJhdmVyc2VGaWVsZHNBcmdzKTogVCA9PiB7XG4gIGNvbnN0IHNhbml0aXplZFBhdGggPSBwYXRoID8gYCR7cGF0aH0uYCA6IHBhdGhcblxuICBjb25zdCBmb3JtYXR0ZWQgPSBmaWVsZHMucmVkdWNlKChyZXN1bHQsIGZpZWxkKSA9PiB7XG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICd0YWJzJykge1xuICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICBibG9ja3MsXG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgZGF0YVJlZixcbiAgICAgICAgZGVsZXRpb25zLFxuICAgICAgICBmaWVsZFByZWZpeCxcbiAgICAgICAgZmllbGRzOiBmaWVsZC50YWJzLm1hcCgodGFiKSA9PiAoeyAuLi50YWIsIHR5cGU6ICd0YWInIH0pKSxcbiAgICAgICAgbnVtYmVycyxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgdGFibGUsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGZpZWxkLnR5cGUgPT09ICdjb2xsYXBzaWJsZScgfHxcbiAgICAgIGZpZWxkLnR5cGUgPT09ICdyb3cnIHx8XG4gICAgICAoZmllbGQudHlwZSA9PT0gJ3RhYicgJiYgISgnbmFtZScgaW4gZmllbGQpKVxuICAgICkge1xuICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICBibG9ja3MsXG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgZGF0YVJlZixcbiAgICAgICAgZGVsZXRpb25zLFxuICAgICAgICBmaWVsZFByZWZpeCxcbiAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgIG51bWJlcnMsXG4gICAgICAgIHBhdGgsXG4gICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgIHRhYmxlLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAoZmllbGRBZmZlY3RzRGF0YShmaWVsZCkpIHtcbiAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IGAke2ZpZWxkUHJlZml4IHx8ICcnfSR7ZmllbGQubmFtZX1gXG4gICAgICBjb25zdCBmaWVsZERhdGEgPSB0YWJsZVtmaWVsZE5hbWVdXG4gICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2FycmF5Jykge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZERhdGEpKSB7XG4gICAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gZmllbGREYXRhLnJlZHVjZSgoYXJyYXlSZXN1bHQsIHJvdykgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZW9mIHJvdy5fbG9jYWxlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGlmICghYXJyYXlSZXN1bHRbcm93Ll9sb2NhbGVdKSBhcnJheVJlc3VsdFtyb3cuX2xvY2FsZV0gPSBbXVxuICAgICAgICAgICAgICAgIGNvbnN0IGxvY2FsZSA9IHJvdy5fbG9jYWxlXG4gICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IHt9XG4gICAgICAgICAgICAgICAgZGVsZXRlIHJvdy5fbG9jYWxlXG4gICAgICAgICAgICAgICAgaWYgKHJvdy5fdXVpZCkge1xuICAgICAgICAgICAgICAgICAgcm93LmlkID0gcm93Ll91dWlkXG4gICAgICAgICAgICAgICAgICBkZWxldGUgcm93Ll91dWlkXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3Qgcm93UmVzdWx0ID0gdHJhdmVyc2VGaWVsZHM8VD4oe1xuICAgICAgICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgICAgICAgZGF0YVJlZjogZGF0YSxcbiAgICAgICAgICAgICAgICAgIGRlbGV0aW9ucyxcbiAgICAgICAgICAgICAgICAgIGZpZWxkUHJlZml4OiAnJyxcbiAgICAgICAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgICAgICAgIHBhdGg6IGAke3Nhbml0aXplZFBhdGh9JHtmaWVsZC5uYW1lfS4ke3Jvdy5fb3JkZXIgLSAxfWAsXG4gICAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgICAgdGFibGU6IHJvdyxcbiAgICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgICAgYXJyYXlSZXN1bHRbbG9jYWxlXS5wdXNoKHJvd1Jlc3VsdClcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiBhcnJheVJlc3VsdFxuICAgICAgICAgICAgfSwge30pXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXSA9IGZpZWxkRGF0YS5tYXAoKHJvdywgaSkgPT4ge1xuICAgICAgICAgICAgICBpZiAocm93Ll91dWlkKSB7XG4gICAgICAgICAgICAgICAgcm93LmlkID0gcm93Ll91dWlkXG4gICAgICAgICAgICAgICAgZGVsZXRlIHJvdy5fdXVpZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiB0cmF2ZXJzZUZpZWxkczxUPih7XG4gICAgICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgICAgICBkYXRhUmVmOiByb3csXG4gICAgICAgICAgICAgICAgZGVsZXRpb25zLFxuICAgICAgICAgICAgICAgIGZpZWxkUHJlZml4OiAnJyxcbiAgICAgICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgIHBhdGg6IGAke3Nhbml0aXplZFBhdGh9JHtmaWVsZC5uYW1lfS4ke2l9YCxcbiAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgIHRhYmxlOiByb3csXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgIH1cblxuICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdibG9ja3MnKSB7XG4gICAgICAgIGNvbnN0IGJsb2NrRmllbGRQYXRoID0gYCR7c2FuaXRpemVkUGF0aH0ke2ZpZWxkLm5hbWV9YFxuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGJsb2Nrc1tibG9ja0ZpZWxkUGF0aF0pKSB7XG4gICAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0ge31cblxuICAgICAgICAgICAgYmxvY2tzW2Jsb2NrRmllbGRQYXRoXS5mb3JFYWNoKChyb3cpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHJvdy5fdXVpZCkge1xuICAgICAgICAgICAgICAgIHJvdy5pZCA9IHJvdy5fdXVpZFxuICAgICAgICAgICAgICAgIGRlbGV0ZSByb3cuX3V1aWRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAodHlwZW9mIHJvdy5fbG9jYWxlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGlmICghcmVzdWx0W2ZpZWxkLm5hbWVdW3Jvdy5fbG9jYWxlXSkgcmVzdWx0W2ZpZWxkLm5hbWVdW3Jvdy5fbG9jYWxlXSA9IFtdXG4gICAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdW3Jvdy5fbG9jYWxlXS5wdXNoKHJvdylcbiAgICAgICAgICAgICAgICBkZWxldGUgcm93Ll9sb2NhbGVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMocmVzdWx0W2ZpZWxkLm5hbWVdKS5mb3JFYWNoKChbbG9jYWxlLCBsb2NhbGl6ZWRCbG9ja3NdKSA9PiB7XG4gICAgICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXVtsb2NhbGVdID0gbG9jYWxpemVkQmxvY2tzLm1hcCgocm93KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmxvY2sgPSBmaWVsZC5ibG9ja3MuZmluZCgoeyBzbHVnIH0pID0+IHNsdWcgPT09IHJvdy5ibG9ja1R5cGUpXG5cbiAgICAgICAgICAgICAgICBpZiAoYmxvY2spIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrUmVzdWx0ID0gdHJhdmVyc2VGaWVsZHM8VD4oe1xuICAgICAgICAgICAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgICAgICAgICAgZGF0YVJlZjogcm93LFxuICAgICAgICAgICAgICAgICAgICBkZWxldGlvbnMsXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkUHJlZml4OiAnJyxcbiAgICAgICAgICAgICAgICAgICAgZmllbGRzOiBibG9jay5maWVsZHMsXG4gICAgICAgICAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICAgICAgICAgIHBhdGg6IGAke2Jsb2NrRmllbGRQYXRofS4ke3Jvdy5fb3JkZXIgLSAxfWAsXG4gICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlOiByb3csXG4gICAgICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgICAgICBkZWxldGUgYmxvY2tSZXN1bHQuX29yZGVyXG4gICAgICAgICAgICAgICAgICByZXR1cm4gYmxvY2tSZXN1bHRcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4ge31cbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXSA9IGJsb2Nrc1tibG9ja0ZpZWxkUGF0aF0ubWFwKChyb3csIGkpID0+IHtcbiAgICAgICAgICAgICAgZGVsZXRlIHJvdy5fb3JkZXJcbiAgICAgICAgICAgICAgaWYgKHJvdy5fdXVpZCkge1xuICAgICAgICAgICAgICAgIHJvdy5pZCA9IHJvdy5fdXVpZFxuICAgICAgICAgICAgICAgIGRlbGV0ZSByb3cuX3V1aWRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjb25zdCBibG9jayA9IGZpZWxkLmJsb2Nrcy5maW5kKCh7IHNsdWcgfSkgPT4gc2x1ZyA9PT0gcm93LmJsb2NrVHlwZSlcblxuICAgICAgICAgICAgICBpZiAoYmxvY2spIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJhdmVyc2VGaWVsZHM8VD4oe1xuICAgICAgICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgICAgICAgZGF0YVJlZjogcm93LFxuICAgICAgICAgICAgICAgICAgZGVsZXRpb25zLFxuICAgICAgICAgICAgICAgICAgZmllbGRQcmVmaXg6ICcnLFxuICAgICAgICAgICAgICAgICAgZmllbGRzOiBibG9jay5maWVsZHMsXG4gICAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgICAgcGF0aDogYCR7YmxvY2tGaWVsZFBhdGh9LiR7aX1gLFxuICAgICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgICAgIHRhYmxlOiByb3csXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiB7fVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZC50eXBlID09PSAncmVsYXRpb25zaGlwJyB8fCBmaWVsZC50eXBlID09PSAndXBsb2FkJykge1xuICAgICAgICBjb25zdCByZWxhdGlvblBhdGhNYXRjaCA9IHJlbGF0aW9uc2hpcHNbYCR7c2FuaXRpemVkUGF0aH0ke2ZpZWxkLm5hbWV9YF1cbiAgICAgICAgaWYgKCFyZWxhdGlvblBhdGhNYXRjaCkge1xuICAgICAgICAgIGlmICgnaGFzTWFueScgaW4gZmllbGQgJiYgZmllbGQuaGFzTWFueSkge1xuICAgICAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCAmJiBjb25maWcubG9jYWxpemF0aW9uICYmIGNvbmZpZy5sb2NhbGl6YXRpb24ubG9jYWxlcykge1xuICAgICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSB7XG4gICAgICAgICAgICAgICAgW2NvbmZpZy5sb2NhbGl6YXRpb24uZGVmYXVsdExvY2FsZV06IFtdLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSBbXVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSB7fVxuICAgICAgICAgIGNvbnN0IHJlbGF0aW9uc0J5TG9jYWxlOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdPiA9IHt9XG5cbiAgICAgICAgICByZWxhdGlvblBhdGhNYXRjaC5mb3JFYWNoKChyb3cpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygcm93LmxvY2FsZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgaWYgKCFyZWxhdGlvbnNCeUxvY2FsZVtyb3cubG9jYWxlXSkgcmVsYXRpb25zQnlMb2NhbGVbcm93LmxvY2FsZV0gPSBbXVxuICAgICAgICAgICAgICByZWxhdGlvbnNCeUxvY2FsZVtyb3cubG9jYWxlXS5wdXNoKHJvdylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMocmVsYXRpb25zQnlMb2NhbGUpLmZvckVhY2goKFtsb2NhbGUsIHJlbGF0aW9uc10pID0+IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybVJlbGF0aW9uc2hpcCh7XG4gICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgIHJlZjogcmVzdWx0LFxuICAgICAgICAgICAgICByZWxhdGlvbnMsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdHJhbnNmb3JtUmVsYXRpb25zaGlwKHtcbiAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgcmVmOiByZXN1bHQsXG4gICAgICAgICAgICByZWxhdGlvbnM6IHJlbGF0aW9uUGF0aE1hdGNoLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZC50eXBlID09PSAnbnVtYmVyJyAmJiBmaWVsZC5oYXNNYW55KSB7XG4gICAgICAgIGNvbnN0IG51bWJlclBhdGhNYXRjaCA9IG51bWJlcnNbYCR7c2FuaXRpemVkUGF0aH0ke2ZpZWxkLm5hbWV9YF1cbiAgICAgICAgaWYgKCFudW1iZXJQYXRoTWF0Y2gpIHJldHVybiByZXN1bHRcblxuICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0ge31cbiAgICAgICAgICBjb25zdCBudW1iZXJzQnlMb2NhbGU6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHVua25vd24+W10+ID0ge31cblxuICAgICAgICAgIG51bWJlclBhdGhNYXRjaC5mb3JFYWNoKChyb3cpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygcm93LmxvY2FsZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgaWYgKCFudW1iZXJzQnlMb2NhbGVbcm93LmxvY2FsZV0pIG51bWJlcnNCeUxvY2FsZVtyb3cubG9jYWxlXSA9IFtdXG4gICAgICAgICAgICAgIG51bWJlcnNCeUxvY2FsZVtyb3cubG9jYWxlXS5wdXNoKHJvdylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMobnVtYmVyc0J5TG9jYWxlKS5mb3JFYWNoKChbbG9jYWxlLCBudW1iZXJzXSkgPT4ge1xuICAgICAgICAgICAgdHJhbnNmb3JtSGFzTWFueU51bWJlcih7XG4gICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgIG51bWJlclJvd3M6IG51bWJlcnMsXG4gICAgICAgICAgICAgIHJlZjogcmVzdWx0LFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRyYW5zZm9ybUhhc01hbnlOdW1iZXIoe1xuICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICBudW1iZXJSb3dzOiBudW1iZXJQYXRoTWF0Y2gsXG4gICAgICAgICAgICByZWY6IHJlc3VsdCxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgfVxuXG4gICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3NlbGVjdCcgJiYgZmllbGQuaGFzTWFueSkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZERhdGEpKSB7XG4gICAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gZmllbGREYXRhLnJlZHVjZSgoc2VsZWN0UmVzdWx0LCByb3cpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR5cGVvZiByb3cubG9jYWxlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGlmICghc2VsZWN0UmVzdWx0W3Jvdy5sb2NhbGVdKSBzZWxlY3RSZXN1bHRbcm93LmxvY2FsZV0gPSBbXVxuICAgICAgICAgICAgICAgIHNlbGVjdFJlc3VsdFtyb3cubG9jYWxlXS5wdXNoKHJvdy52YWx1ZSlcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiBzZWxlY3RSZXN1bHRcbiAgICAgICAgICAgIH0sIHt9KVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSBmaWVsZERhdGEubWFwKCh7IHZhbHVlIH0pID0+IHZhbHVlKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGxvY2FsaXplZEZpZWxkRGF0YSA9IHt9XG4gICAgICBjb25zdCB2YWx1ZXNUb1RyYW5zZm9ybToge1xuICAgICAgICByZWY6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgICAgIHRhYmxlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgICAgfVtdID0gW11cblxuICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCAmJiBBcnJheS5pc0FycmF5KHRhYmxlLl9sb2NhbGVzKSkge1xuICAgICAgICB0YWJsZS5fbG9jYWxlcy5mb3JFYWNoKChsb2NhbGVSb3cpID0+IHtcbiAgICAgICAgICB2YWx1ZXNUb1RyYW5zZm9ybS5wdXNoKHsgcmVmOiBsb2NhbGl6ZWRGaWVsZERhdGEsIHRhYmxlOiBsb2NhbGVSb3cgfSlcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhbHVlc1RvVHJhbnNmb3JtLnB1c2goeyByZWY6IHJlc3VsdCwgdGFibGUgfSlcbiAgICAgIH1cblxuICAgICAgdmFsdWVzVG9UcmFuc2Zvcm0uZm9yRWFjaCgoeyByZWYsIHRhYmxlIH0pID0+IHtcbiAgICAgICAgY29uc3QgZmllbGREYXRhID0gdGFibGVbYCR7ZmllbGRQcmVmaXggfHwgJyd9JHtmaWVsZC5uYW1lfWBdXG4gICAgICAgIGNvbnN0IGxvY2FsZSA9IHRhYmxlPy5fbG9jYWxlXG5cbiAgICAgICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICAgICAgY2FzZSAndGFiJzpcbiAgICAgICAgICBjYXNlICdncm91cCc6IHtcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwRmllbGRQcmVmaXggPSBgJHtmaWVsZFByZWZpeCB8fCAnJ30ke2ZpZWxkLm5hbWV9X2BcblxuICAgICAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICAgICAgICBpZiAodHlwZW9mIGxvY2FsZSA9PT0gJ3N0cmluZycgJiYgIXJlZltsb2NhbGVdKSB7XG4gICAgICAgICAgICAgICAgcmVmW2xvY2FsZV0gPSB7fVxuICAgICAgICAgICAgICAgIGRlbGV0ZSB0YWJsZS5fbG9jYWxlXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyhyZWYpLmZvckVhY2goKFtncm91cExvY2FsZSwgZ3JvdXBMb2NhbGVEYXRhXSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlZltncm91cExvY2FsZV0gPSB0cmF2ZXJzZUZpZWxkczxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oe1xuICAgICAgICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgICAgICAgZGF0YVJlZjogZ3JvdXBMb2NhbGVEYXRhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICAgICAgICAgICAgICAgZGVsZXRpb25zLFxuICAgICAgICAgICAgICAgICAgZmllbGRQcmVmaXg6IGdyb3VwRmllbGRQcmVmaXgsXG4gICAgICAgICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICAgICAgICBwYXRoOiBgJHtzYW5pdGl6ZWRQYXRofSR7ZmllbGQubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgICAgIHRhYmxlLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb25zdCBncm91cERhdGEgPSB7fVxuXG4gICAgICAgICAgICAgIHJlZltmaWVsZC5uYW1lXSA9IHRyYXZlcnNlRmllbGRzPFJlY29yZDxzdHJpbmcsIHVua25vd24+Pih7XG4gICAgICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgICAgICBkYXRhUmVmOiBncm91cERhdGEgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgICAgICAgICAgICAgZGVsZXRpb25zLFxuICAgICAgICAgICAgICAgIGZpZWxkUHJlZml4OiBncm91cEZpZWxkUHJlZml4LFxuICAgICAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICAgICAgcGF0aDogYCR7c2FuaXRpemVkUGF0aH0ke2ZpZWxkLm5hbWV9YCxcbiAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgIHRhYmxlLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ251bWJlcic6IHtcbiAgICAgICAgICAgIGxldCB2YWwgPSBmaWVsZERhdGFcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZmllbGREYXRhID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICB2YWwgPSBOdW1iZXIucGFyc2VGbG9hdChmaWVsZERhdGEpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0eXBlb2YgbG9jYWxlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICByZWZbbG9jYWxlXSA9IHZhbFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gdmFsXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnZGF0ZSc6IHtcbiAgICAgICAgICAgIGxldCB2YWwgPSBmaWVsZERhdGFcblxuICAgICAgICAgICAgaWYgKHR5cGVvZiBmaWVsZERhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIHZhbCA9IG5ldyBEYXRlKGZpZWxkRGF0YSkudG9JU09TdHJpbmcoKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodHlwZW9mIGxvY2FsZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgcmVmW2xvY2FsZV0gPSB2YWxcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXSA9IHZhbFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgbG9jYWxlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICByZWZbbG9jYWxlXSA9IGZpZWxkRGF0YVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gZmllbGREYXRhXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuXG4gICAgICBpZiAoT2JqZWN0LmtleXMobG9jYWxpemVkRmllbGREYXRhKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXSA9IGxvY2FsaXplZEZpZWxkRGF0YVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9LCBkYXRhUmVmKVxuXG4gIGlmIChBcnJheS5pc0FycmF5KHRhYmxlLl9sb2NhbGVzKSkge1xuICAgIGRlbGV0aW9ucy5wdXNoKCgpID0+IGRlbGV0ZSB0YWJsZS5fbG9jYWxlcylcbiAgfVxuXG4gIHJldHVybiBmb3JtYXR0ZWQgYXMgVFxufVxuIl0sIm5hbWVzIjpbInRyYXZlcnNlRmllbGRzIiwiYmxvY2tzIiwiY29uZmlnIiwiZGF0YVJlZiIsImRlbGV0aW9ucyIsImZpZWxkUHJlZml4IiwiZmllbGRzIiwibnVtYmVycyIsInBhdGgiLCJyZWxhdGlvbnNoaXBzIiwidGFibGUiLCJzYW5pdGl6ZWRQYXRoIiwiZm9ybWF0dGVkIiwicmVkdWNlIiwicmVzdWx0IiwiZmllbGQiLCJ0eXBlIiwidGFicyIsIm1hcCIsInRhYiIsImZpZWxkQWZmZWN0c0RhdGEiLCJmaWVsZE5hbWUiLCJuYW1lIiwiZmllbGREYXRhIiwiQXJyYXkiLCJpc0FycmF5IiwibG9jYWxpemVkIiwiYXJyYXlSZXN1bHQiLCJyb3ciLCJfbG9jYWxlIiwibG9jYWxlIiwiZGF0YSIsIl91dWlkIiwiaWQiLCJyb3dSZXN1bHQiLCJfb3JkZXIiLCJwdXNoIiwiaSIsImJsb2NrRmllbGRQYXRoIiwiZm9yRWFjaCIsIk9iamVjdCIsImVudHJpZXMiLCJsb2NhbGl6ZWRCbG9ja3MiLCJibG9jayIsImZpbmQiLCJzbHVnIiwiYmxvY2tUeXBlIiwiYmxvY2tSZXN1bHQiLCJyZWxhdGlvblBhdGhNYXRjaCIsImhhc01hbnkiLCJsb2NhbGl6YXRpb24iLCJsb2NhbGVzIiwiZGVmYXVsdExvY2FsZSIsInJlbGF0aW9uc0J5TG9jYWxlIiwicmVsYXRpb25zIiwidHJhbnNmb3JtUmVsYXRpb25zaGlwIiwicmVmIiwibnVtYmVyUGF0aE1hdGNoIiwibnVtYmVyc0J5TG9jYWxlIiwidHJhbnNmb3JtSGFzTWFueU51bWJlciIsIm51bWJlclJvd3MiLCJzZWxlY3RSZXN1bHQiLCJ2YWx1ZSIsImxvY2FsaXplZEZpZWxkRGF0YSIsInZhbHVlc1RvVHJhbnNmb3JtIiwiX2xvY2FsZXMiLCJsb2NhbGVSb3ciLCJncm91cEZpZWxkUHJlZml4IiwiZ3JvdXBMb2NhbGUiLCJncm91cExvY2FsZURhdGEiLCJncm91cERhdGEiLCJ2YWwiLCJOdW1iZXIiLCJwYXJzZUZsb2F0IiwiRGF0ZSIsInRvSVNPU3RyaW5nIiwia2V5cyIsImxlbmd0aCJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQXdEdkJBOzs7ZUFBQUE7Ozt1QkFwRG9COytCQUlNOzhCQUNEO0FBK0MvQixNQUFNQSxpQkFBaUIsQ0FBb0MsRUFDaEVDLE1BQU0sRUFDTkMsTUFBTSxFQUNOQyxPQUFPLEVBQ1BDLFNBQVMsRUFDVEMsV0FBVyxFQUNYQyxNQUFNLEVBQ05DLE9BQU8sRUFDUEMsSUFBSSxFQUNKQyxhQUFhLEVBQ2JDLEtBQUssRUFDYztJQUNuQixNQUFNQyxnQkFBZ0JILE9BQU8sQ0FBQyxFQUFFQSxLQUFLLENBQUMsQ0FBQyxHQUFHQTtJQUUxQyxNQUFNSSxZQUFZTixPQUFPTyxNQUFNLENBQUMsQ0FBQ0MsUUFBUUM7UUFDdkMsSUFBSUEsTUFBTUMsSUFBSSxLQUFLLFFBQVE7WUFDekJoQixlQUFlO2dCQUNiQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQztnQkFDQUM7Z0JBQ0FDLFFBQVFTLE1BQU1FLElBQUksQ0FBQ0MsR0FBRyxDQUFDLENBQUNDLE1BQVMsQ0FBQTt3QkFBRSxHQUFHQSxHQUFHO3dCQUFFSCxNQUFNO29CQUFNLENBQUE7Z0JBQ3ZEVDtnQkFDQUM7Z0JBQ0FDO2dCQUNBQztZQUNGO1FBQ0Y7UUFFQSxJQUNFSyxNQUFNQyxJQUFJLEtBQUssaUJBQ2ZELE1BQU1DLElBQUksS0FBSyxTQUNkRCxNQUFNQyxJQUFJLEtBQUssU0FBUyxDQUFFLENBQUEsVUFBVUQsS0FBSSxHQUN6QztZQUNBZixlQUFlO2dCQUNiQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQztnQkFDQUM7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
|
@@ -1,6 +1,8 @@
|
|
1
1
|
import type { ArrayField } from 'payload/types';
|
2
|
+
import type { PostgresAdapter } from '../../types';
|
2
3
|
import type { ArrayRowToInsert, BlockRowToInsert, RelationshipToDelete } from './types';
|
3
4
|
type Args = {
|
5
|
+
adapter: PostgresAdapter;
|
4
6
|
arrayTableName: string;
|
5
7
|
baseTableName: string;
|
6
8
|
blocks: {
|
@@ -17,6 +19,6 @@ type Args = {
|
|
17
19
|
[tableName: string]: Record<string, unknown>[];
|
18
20
|
};
|
19
21
|
};
|
20
|
-
export declare const transformArray: ({ arrayTableName, baseTableName, blocks, data, field, locale, numbers, path, relationships, relationshipsToDelete, selects, }: Args) => ArrayRowToInsert[];
|
22
|
+
export declare const transformArray: ({ adapter, arrayTableName, baseTableName, blocks, data, field, locale, numbers, path, relationships, relationshipsToDelete, selects, }: Args) => ArrayRowToInsert[];
|
21
23
|
export {};
|
22
24
|
//# sourceMappingURL=array.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../src/transform/write/array.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAKvF,KAAK,IAAI,GAAG;IACV,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,CAAA;IACD,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,UAAU,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACxC,qBAAqB,EAAE,oBAAoB,EAAE,CAAA;IAC7C,OAAO,EAAE;QACP,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAC/C,CAAA;CACF,CAAA;AAED,eAAO,MAAM,cAAc,
|
1
|
+
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../src/transform/write/array.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAKvF,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,CAAA;IACD,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,UAAU,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACxC,qBAAqB,EAAE,oBAAoB,EAAE,CAAA;IAC7C,OAAO,EAAE;QACP,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAC/C,CAAA;CACF,CAAA;AAED,eAAO,MAAM,cAAc,2IAaxB,IAAI,uBA0DN,CAAA"}
|
@@ -10,8 +10,9 @@ Object.defineProperty(exports, "transformArray", {
|
|
10
10
|
});
|
11
11
|
const _isArrayOfRows = require("../../utilities/isArrayOfRows");
|
12
12
|
const _traverseFields = require("./traverseFields");
|
13
|
-
const transformArray = ({ arrayTableName, baseTableName, blocks, data, field, locale, numbers, path, relationships, relationshipsToDelete, selects })=>{
|
13
|
+
const transformArray = ({ adapter, arrayTableName, baseTableName, blocks, data, field, locale, numbers, path, relationships, relationshipsToDelete, selects })=>{
|
14
14
|
const newRows = [];
|
15
|
+
const hasUUID = adapter.tables[arrayTableName]._uuid;
|
15
16
|
if ((0, _isArrayOfRows.isArrayOfRows)(data)) {
|
16
17
|
data.forEach((arrayRow, i)=>{
|
17
18
|
const newRow = {
|
@@ -21,6 +22,15 @@ const transformArray = ({ arrayTableName, baseTableName, blocks, data, field, lo
|
|
21
22
|
_order: i + 1
|
22
23
|
}
|
23
24
|
};
|
25
|
+
// If we have declared a _uuid field on arrays,
|
26
|
+
// that means the ID has to be unique,
|
27
|
+
// and our ids within arrays are not unique.
|
28
|
+
// So move the ID to a uuid field for storage
|
29
|
+
// and allow the database to generate a serial id automatically
|
30
|
+
if (hasUUID) {
|
31
|
+
newRow.row._uuid = arrayRow.id;
|
32
|
+
delete arrayRow.id;
|
33
|
+
}
|
24
34
|
if (locale) {
|
25
35
|
newRow.locales[locale] = {
|
26
36
|
_locale: locale
|
@@ -30,6 +40,7 @@ const transformArray = ({ arrayTableName, baseTableName, blocks, data, field, lo
|
|
30
40
|
newRow.row._locale = locale;
|
31
41
|
}
|
32
42
|
(0, _traverseFields.traverseFields)({
|
43
|
+
adapter,
|
33
44
|
arrays: newRow.arrays,
|
34
45
|
baseTableName,
|
35
46
|
blocks,
|
@@ -52,4 +63,4 @@ const transformArray = ({ arrayTableName, baseTableName, blocks, data, field, lo
|
|
52
63
|
return newRows;
|
53
64
|
};
|
54
65
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vd3JpdGUvYXJyYXkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgQXJyYXlGaWVsZCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEFycmF5Um93VG9JbnNlcnQsIEJsb2NrUm93VG9JbnNlcnQsIFJlbGF0aW9uc2hpcFRvRGVsZXRlIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgaXNBcnJheU9mUm93cyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9pc0FycmF5T2ZSb3dzJ1xuaW1wb3J0IHsgdHJhdmVyc2VGaWVsZHMgfSBmcm9tICcuL3RyYXZlcnNlRmllbGRzJ1xuXG50eXBlIEFyZ3MgPSB7XG4gIGFkYXB0ZXI6IFBvc3RncmVzQWRhcHRlclxuICBhcnJheVRhYmxlTmFtZTogc3RyaW5nXG4gIGJhc2VUYWJsZU5hbWU6IHN0cmluZ1xuICBibG9ja3M6IHtcbiAgICBbYmxvY2tUeXBlOiBzdHJpbmddOiBCbG9ja1Jvd1RvSW5zZXJ0W11cbiAgfVxuICBkYXRhOiB1bmtub3duXG4gIGZpZWxkOiBBcnJheUZpZWxkXG4gIGxvY2FsZT86IHN0cmluZ1xuICBudW1iZXJzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIHBhdGg6IHN0cmluZ1xuICByZWxhdGlvbnNoaXBzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZTogUmVsYXRpb25zaGlwVG9EZWxldGVbXVxuICBzZWxlY3RzOiB7XG4gICAgW3RhYmxlTmFtZTogc3RyaW5nXTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxuICB9XG59XG5cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1BcnJheSA9ICh7XG4gIGFkYXB0ZXIsXG4gIGFycmF5VGFibGVOYW1lLFxuICBiYXNlVGFibGVOYW1lLFxuICBibG9ja3MsXG4gIGRhdGEsXG4gIGZpZWxkLFxuICBsb2NhbGUsXG4gIG51bWJlcnMsXG4gIHBhdGgsXG4gIHJlbGF0aW9uc2hpcHMsXG4gIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgc2VsZWN0cyxcbn06IEFyZ3MpID0+IHtcbiAgY29uc3QgbmV3Um93czogQXJyYXlSb3dUb0luc2VydFtdID0gW11cbiAgY29uc3QgaGFzVVVJRCA9IGFkYXB0ZXIudGFibGVzW2FycmF5VGFibGVOYW1lXS5fdXVpZFxuXG4gIGlmIChpc0FycmF5T2ZSb3dzKGRhdGEpKSB7XG4gICAgZGF0YS5mb3JFYWNoKChhcnJheVJvdywgaSkgPT4ge1xuICAgICAgY29uc3QgbmV3Um93OiBBcnJheVJvd1RvSW5zZXJ0ID0ge1xuICAgICAgICBhcnJheXM6IHt9LFxuICAgICAgICBsb2NhbGVzOiB7fSxcbiAgICAgICAgcm93OiB7XG4gICAgICAgICAgX29yZGVyOiBpICsgMSxcbiAgICAgICAgfSxcbiAgICAgIH1cblxuICAgICAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBhIF91dWlkIGZpZWxkIG9uIGFycmF5cyxcbiAgICAgIC8vIHRoYXQgbWVhbnMgdGhlIElEIGhhcyB0byBiZSB1bmlxdWUsXG4gICAgICAvLyBhbmQgb3VyIGlkcyB3aXRoaW4gYXJyYXlzIGFyZSBub3QgdW5pcXVlLlxuICAgICAgLy8gU28gbW92ZSB0aGUgSUQgdG8gYSB1dWlkIGZpZWxkIGZvciBzdG9yYWdlXG4gICAgICAvLyBhbmQgYWxsb3cgdGhlIGRhdGFiYXNlIHRvIGdlbmVyYXRlIGEgc2VyaWFsIGlkIGF1dG9tYXRpY2FsbHlcbiAgICAgIGlmIChoYXNVVUlEKSB7XG4gICAgICAgIG5ld1Jvdy5yb3cuX3V1aWQgPSBhcnJheVJvdy5pZFxuICAgICAgICBkZWxldGUgYXJyYXlSb3cuaWRcbiAgICAgIH1cblxuICAgICAgaWYgKGxvY2FsZSkge1xuICAgICAgICBuZXdSb3cubG9jYWxlc1tsb2NhbGVdID0ge1xuICAgICAgICAgIF9sb2NhbGU6IGxvY2FsZSxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgIG5ld1Jvdy5yb3cuX2xvY2FsZSA9IGxvY2FsZVxuICAgICAgfVxuXG4gICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgIGFkYXB0ZXIsXG4gICAgICAgIGFycmF5czogbmV3Um93LmFycmF5cyxcbiAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgYmxvY2tzLFxuICAgICAgICBjb2x1bW5QcmVmaXg6ICcnLFxuICAgICAgICBkYXRhOiBhcnJheVJvdyxcbiAgICAgICAgZmllbGRQcmVmaXg6ICcnLFxuICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgbG9jYWxlczogbmV3Um93LmxvY2FsZXMsXG4gICAgICAgIG51bWJlcnMsXG4gICAgICAgIHBhcmVudFRhYmxlTmFtZTogYXJyYXlUYWJsZU5hbWUsXG4gICAgICAgIHBhdGg6IGAke3BhdGggfHwgJyd9JHtmaWVsZC5uYW1lfS4ke2l9LmAsXG4gICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgcm93OiBuZXdSb3cucm93LFxuICAgICAgICBzZWxlY3RzLFxuICAgICAgfSlcblxuICAgICAgbmV3Um93cy5wdXNoKG5ld1JvdylcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIG5ld1Jvd3Ncbn1cbiJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1BcnJheSIsImFkYXB0ZXIiLCJhcnJheVRhYmxlTmFtZSIsImJhc2VUYWJsZU5hbWUiLCJibG9ja3MiLCJkYXRhIiwiZmllbGQiLCJsb2NhbGUiLCJudW1iZXJzIiwicGF0aCIsInJlbGF0aW9uc2hpcHMiLCJyZWxhdGlvbnNoaXBzVG9EZWxldGUiLCJzZWxlY3RzIiwibmV3Um93cyIsImhhc1VVSUQiLCJ0YWJsZXMiLCJfdXVpZCIsImlzQXJyYXlPZlJvd3MiLCJmb3JFYWNoIiwiYXJyYXlSb3ciLCJpIiwibmV3Um93IiwiYXJyYXlzIiwibG9jYWxlcyIsInJvdyIsIl9vcmRlciIsImlkIiwiX2xvY2FsZSIsImxvY2FsaXplZCIsInRyYXZlcnNlRmllbGRzIiwiY29sdW1uUHJlZml4IiwiZmllbGRQcmVmaXgiLCJmaWVsZHMiLCJwYXJlbnRUYWJsZU5hbWUiLCJuYW1lIiwicHVzaCJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQTRCdkJBOzs7ZUFBQUE7OzsrQkF0QmlCO2dDQUNDO0FBcUJ4QixNQUFNQSxpQkFBaUIsQ0FBQyxFQUM3QkMsT0FBTyxFQUNQQyxjQUFjLEVBQ2RDLGFBQWEsRUFDYkMsTUFBTSxFQUNOQyxJQUFJLEVBQ0pDLEtBQUssRUFDTEMsTUFBTSxFQUNOQyxPQUFPLEVBQ1BDLElBQUksRUFDSkMsYUFBYSxFQUNiQyxxQkFBcUIsRUFDckJDLE9BQU8sRUFDRjtJQUNMLE1BQU1DLFVBQThCLEVBQUU7SUFDdEMsTUFBTUMsVUFBVWIsUUFBUWMsTUFBTSxDQUFDYixlQUFlLENBQUNjLEtBQUs7SUFFcEQsSUFBSUMsSUFBQUEsNEJBQWEsRUFBQ1osT0FBTztRQUN2QkEsS0FBS2EsT0FBTyxDQUFDLENBQUNDLFVBQVVDO1lBQ3RCLE1BQU1DLFNBQTJCO2dCQUMvQkMsUUFBUSxDQUFDO2dCQUNUQyxTQUFTLENBQUM7Z0JBQ1ZDLEtBQUs7b0JBQ0hDLFFBQVFMLElBQUk7Z0JBQ2Q7WUFDRjtZQUVBLCtDQUErQztZQUMvQyxzQ0FBc0M7WUFDdEMsNENBQTRDO1lBQzVDLDZDQUE2QztZQUM3QywrREFBK0Q7WUFDL0QsSUFBSU4sU0FBUztnQkFDWE8sT0FBT0csR0FBRyxDQUFDUixLQUFLLEdBQUdHLFNBQVNPLEVBQUU7Z0JBQzlCLE9BQU9QLFNBQVNPLEVBQUU7WUFDcEI7WUFFQSxJQUFJbkIsUUFBUTtnQkFDVmMsT0FBT0UsT0FBTyxDQUFDaEIsT0FBTyxHQUFHO29CQUN2Qm9CLFNBQVNwQjtnQkFDWDtZQUNGO1lBRUEsSUFBSUQsTUFBTXNCLFNBQVMsRUFBRTtnQkFDbkJQLE9BQU9HLEdBQUcsQ0FBQ0csT0FBTyxHQUFHcEI7WUFDdkI7WUFFQXNCLElBQUFBLDhCQUFjLEVBQUM7Z0JBQ2I1QjtnQkFDQXFCLFFBQVFELE9BQU9DLE1BQU07Z0JBQ3JCbkI7Z0JBQ0FDO2dCQUNBMEIsY0FBYztnQkFDZHpCLE1BQU1jO2dCQUNOWSxhQUFhO2dCQUNiQyxRQUFRMUIsTUFBTTBCLE1BQU07Z0JBQ3BCVCxTQUFTRixPQUFPRSxPQUFPO2dCQUN2QmY7Z0JBQ0F5QixpQkFBaUIvQjtnQkFDakJPLE1BQU0sQ0FBQyxFQUFFQSxRQUFRLEdBQUcsRUFBRUgsTUFBTTRCLElBQUksQ0FBQyxDQUFDLEVBQUVkLEVBQUUsQ0FBQyxDQUFDO2dCQUN4Q1Y7Z0JBQ0FDO2dCQUNBYSxLQUFLSCxPQUFPRyxHQUFHO2dCQUNmWjtZQUNGO1lBRUFDLFFBQVFzQixJQUFJLENBQUNkO1FBQ2Y7SUFDRjtJQUVBLE9BQU9SO0FBQ1QifQ==
|
@@ -1,6 +1,8 @@
|
|
1
1
|
import type { BlockField } from 'payload/types';
|
2
|
+
import type { PostgresAdapter } from '../../types';
|
2
3
|
import type { BlockRowToInsert, RelationshipToDelete } from './types';
|
3
4
|
type Args = {
|
5
|
+
adapter: PostgresAdapter;
|
4
6
|
baseTableName: string;
|
5
7
|
blocks: {
|
6
8
|
[blockType: string]: BlockRowToInsert[];
|
@@ -16,6 +18,6 @@ type Args = {
|
|
16
18
|
[tableName: string]: Record<string, unknown>[];
|
17
19
|
};
|
18
20
|
};
|
19
|
-
export declare const transformBlocks: ({ baseTableName, blocks, data, field, locale, numbers, path, relationships, relationshipsToDelete, selects, }: Args) => void;
|
21
|
+
export declare const transformBlocks: ({ adapter, baseTableName, blocks, data, field, locale, numbers, path, relationships, relationshipsToDelete, selects, }: Args) => void;
|
20
22
|
export {};
|
21
23
|
//# sourceMappingURL=blocks.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../src/transform/write/blocks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAI/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAIrE,KAAK,IAAI,GAAG;IACV,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,CAAA;IACD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAC/B,KAAK,EAAE,UAAU,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACxC,qBAAqB,EAAE,oBAAoB,EAAE,CAAA;IAC7C,OAAO,EAAE;QACP,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAC/C,CAAA;CACF,CAAA;AACD,eAAO,MAAM,eAAe,
|
1
|
+
{"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../src/transform/write/blocks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAI/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAIrE,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,CAAA;IACD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAC/B,KAAK,EAAE,UAAU,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACxC,qBAAqB,EAAE,oBAAoB,EAAE,CAAA;IAC7C,OAAO,EAAE;QACP,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAC/C,CAAA;CACF,CAAA;AACD,eAAO,MAAM,eAAe,2HAYzB,IAAI,SAuDN,CAAA"}
|
@@ -15,7 +15,7 @@ function _interop_require_default(obj) {
|
|
15
15
|
default: obj
|
16
16
|
};
|
17
17
|
}
|
18
|
-
const transformBlocks = ({ baseTableName, blocks, data, field, locale, numbers, path, relationships, relationshipsToDelete, selects })=>{
|
18
|
+
const transformBlocks = ({ adapter, baseTableName, blocks, data, field, locale, numbers, path, relationships, relationshipsToDelete, selects })=>{
|
19
19
|
data.forEach((blockRow, i)=>{
|
20
20
|
if (typeof blockRow.blockType !== 'string') return;
|
21
21
|
const matchedBlock = field.blocks.find(({ slug })=>slug === blockRow.blockType);
|
@@ -32,7 +32,18 @@ const transformBlocks = ({ baseTableName, blocks, data, field, locale, numbers,
|
|
32
32
|
};
|
33
33
|
if (field.localized && locale) newRow.row._locale = locale;
|
34
34
|
const blockTableName = `${baseTableName}_blocks_${blockType}`;
|
35
|
+
const hasUUID = adapter.tables[blockTableName]._uuid;
|
36
|
+
// If we have declared a _uuid field on arrays,
|
37
|
+
// that means the ID has to be unique,
|
38
|
+
// and our ids within arrays are not unique.
|
39
|
+
// So move the ID to a uuid field for storage
|
40
|
+
// and allow the database to generate a serial id automatically
|
41
|
+
if (hasUUID) {
|
42
|
+
newRow.row._uuid = blockRow.id;
|
43
|
+
delete blockRow.id;
|
44
|
+
}
|
35
45
|
(0, _traverseFields.traverseFields)({
|
46
|
+
adapter,
|
36
47
|
arrays: newRow.arrays,
|
37
48
|
baseTableName,
|
38
49
|
blocks,
|
@@ -53,4 +64,4 @@ const transformBlocks = ({ baseTableName, blocks, data, field, locale, numbers,
|
|
53
64
|
});
|
54
65
|
};
|
55
66
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vd3JpdGUvYmxvY2tzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5pbXBvcnQgdHlwZSB7IEJsb2NrRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgQmxvY2tSb3dUb0luc2VydCwgUmVsYXRpb25zaGlwVG9EZWxldGUgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyB0cmF2ZXJzZUZpZWxkcyB9IGZyb20gJy4vdHJhdmVyc2VGaWVsZHMnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGJhc2VUYWJsZU5hbWU6IHN0cmluZ1xuICBibG9ja3M6IHtcbiAgICBbYmxvY2tUeXBlOiBzdHJpbmddOiBCbG9ja1Jvd1RvSW5zZXJ0W11cbiAgfVxuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIGZpZWxkOiBCbG9ja0ZpZWxkXG4gIGxvY2FsZT86IHN0cmluZ1xuICBudW1iZXJzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIHBhdGg6IHN0cmluZ1xuICByZWxhdGlvbnNoaXBzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZTogUmVsYXRpb25zaGlwVG9EZWxldGVbXVxuICBzZWxlY3RzOiB7XG4gICAgW3RhYmxlTmFtZTogc3RyaW5nXTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxuICB9XG59XG5leHBvcnQgY29uc3QgdHJhbnNmb3JtQmxvY2tzID0gKHtcbiAgYWRhcHRlcixcbiAgYmFzZVRhYmxlTmFtZSxcbiAgYmxvY2tzLFxuICBkYXRhLFxuICBmaWVsZCxcbiAgbG9jYWxlLFxuICBudW1iZXJzLFxuICBwYXRoLFxuICByZWxhdGlvbnNoaXBzLFxuICByZWxhdGlvbnNoaXBzVG9EZWxldGUsXG4gIHNlbGVjdHMsXG59OiBBcmdzKSA9PiB7XG4gIGRhdGEuZm9yRWFjaCgoYmxvY2tSb3csIGkpID0+IHtcbiAgICBpZiAodHlwZW9mIGJsb2NrUm93LmJsb2NrVHlwZSAhPT0gJ3N0cmluZycpIHJldHVyblxuICAgIGNvbnN0IG1hdGNoZWRCbG9jayA9IGZpZWxkLmJsb2Nrcy5maW5kKCh7IHNsdWcgfSkgPT4gc2x1ZyA9PT0gYmxvY2tSb3cuYmxvY2tUeXBlKVxuICAgIGlmICghbWF0Y2hlZEJsb2NrKSByZXR1cm5cbiAgICBjb25zdCBibG9ja1R5cGUgPSB0b1NuYWtlQ2FzZShibG9ja1Jvdy5ibG9ja1R5cGUpXG5cbiAgICBpZiAoIWJsb2Nrc1tibG9ja1R5cGVdKSBibG9ja3NbYmxvY2tUeXBlXSA9IFtdXG5cbiAgICBjb25zdCBuZXdSb3c6IEJsb2NrUm93VG9JbnNlcnQgPSB7XG4gICAgICBhcnJheXM6IHt9LFxuICAgICAgbG9jYWxlczoge30sXG4gICAgICByb3c6IHtcbiAgICAgICAgX29yZGVyOiBpICsgMSxcbiAgICAgICAgX3BhdGg6IGAke3BhdGh9JHtmaWVsZC5uYW1lfWAsXG4gICAgICB9LFxuICAgIH1cblxuICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQgJiYgbG9jYWxlKSBuZXdSb3cucm93Ll9sb2NhbGUgPSBsb2NhbGVcblxuICAgIGNvbnN0IGJsb2NrVGFibGVOYW1lID0gYCR7YmFzZVRhYmxlTmFtZX1fYmxvY2tzXyR7YmxvY2tUeXBlfWBcblxuICAgIGNvbnN0IGhhc1VVSUQgPSBhZGFwdGVyLnRhYmxlc1tibG9ja1RhYmxlTmFtZV0uX3V1aWRcblxuICAgIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgYSBfdXVpZCBmaWVsZCBvbiBhcnJheXMsXG4gICAgLy8gdGhhdCBtZWFucyB0aGUgSUQgaGFzIHRvIGJlIHVuaXF1ZSxcbiAgICAvLyBhbmQgb3VyIGlkcyB3aXRoaW4gYXJyYXlzIGFyZSBub3QgdW5pcXVlLlxuICAgIC8vIFNvIG1vdmUgdGhlIElEIHRvIGEgdXVpZCBmaWVsZCBmb3Igc3RvcmFnZVxuICAgIC8vIGFuZCBhbGxvdyB0aGUgZGF0YWJhc2UgdG8gZ2VuZXJhdGUgYSBzZXJpYWwgaWQgYXV0b21hdGljYWxseVxuICAgIGlmIChoYXNVVUlEKSB7XG4gICAgICBuZXdSb3cucm93Ll91dWlkID0gYmxvY2tSb3cuaWRcbiAgICAgIGRlbGV0ZSBibG9ja1Jvdy5pZFxuICAgIH1cblxuICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgIGFkYXB0ZXIsXG4gICAgICBhcnJheXM6IG5ld1Jvdy5hcnJheXMsXG4gICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgYmxvY2tzLFxuICAgICAgY29sdW1uUHJlZml4OiAnJyxcbiAgICAgIGRhdGE6IGJsb2NrUm93LFxuICAgICAgZmllbGRQcmVmaXg6ICcnLFxuICAgICAgZmllbGRzOiBtYXRjaGVkQmxvY2suZmllbGRzLFxuICAgICAgbG9jYWxlczogbmV3Um93LmxvY2FsZXMsXG4gICAgICBudW1iZXJzLFxuICAgICAgcGFyZW50VGFibGVOYW1lOiBibG9ja1RhYmxlTmFtZSxcbiAgICAgIHBhdGg6IGAke3BhdGggfHwgJyd9JHtmaWVsZC5uYW1lfS4ke2l9LmAsXG4gICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgcm93OiBuZXdSb3cucm93LFxuICAgICAgc2VsZWN0cyxcbiAgICB9KVxuXG4gICAgYmxvY2tzW2Jsb2NrVHlwZV0ucHVzaChuZXdSb3cpXG4gIH0pXG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtQmxvY2tzIiwiYWRhcHRlciIsImJhc2VUYWJsZU5hbWUiLCJibG9ja3MiLCJkYXRhIiwiZmllbGQiLCJsb2NhbGUiLCJudW1iZXJzIiwicGF0aCIsInJlbGF0aW9uc2hpcHMiLCJyZWxhdGlvbnNoaXBzVG9EZWxldGUiLCJzZWxlY3RzIiwiZm9yRWFjaCIsImJsb2NrUm93IiwiaSIsImJsb2NrVHlwZSIsIm1hdGNoZWRCbG9jayIsImZpbmQiLCJzbHVnIiwidG9TbmFrZUNhc2UiLCJuZXdSb3ciLCJhcnJheXMiLCJsb2NhbGVzIiwicm93IiwiX29yZGVyIiwiX3BhdGgiLCJuYW1lIiwibG9jYWxpemVkIiwiX2xvY2FsZSIsImJsb2NrVGFibGVOYW1lIiwiaGFzVVVJRCIsInRhYmxlcyIsIl91dWlkIiwiaWQiLCJ0cmF2ZXJzZUZpZWxkcyIsImNvbHVtblByZWZpeCIsImZpZWxkUHJlZml4IiwiZmllbGRzIiwicGFyZW50VGFibGVOYW1lIiwicHVzaCJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQTJCdkJBOzs7ZUFBQUE7OztvRUF4Qlc7Z0NBS087Ozs7OztBQW1CeEIsTUFBTUEsa0JBQWtCLENBQUMsRUFDOUJDLE9BQU8sRUFDUEMsYUFBYSxFQUNiQyxNQUFNLEVBQ05DLElBQUksRUFDSkMsS0FBSyxFQUNMQyxNQUFNLEVBQ05DLE9BQU8sRUFDUEMsSUFBSSxFQUNKQyxhQUFhLEVBQ2JDLHFCQUFxQixFQUNyQkMsT0FBTyxFQUNGO0lBQ0xQLEtBQUtRLE9BQU8sQ0FBQyxDQUFDQyxVQUFVQztRQUN0QixJQUFJLE9BQU9ELFNBQVNFLFNBQVMsS0FBSyxVQUFVO1FBQzVDLE1BQU1DLGVBQWVYLE1BQU1GLE1BQU0sQ0FBQ2MsSUFBSSxDQUFDLENBQUMsRUFBRUMsSUFBSSxFQUFFLEdBQUtBLFNBQVNMLFNBQVNFLFNBQVM7UUFDaEYsSUFBSSxDQUFDQyxjQUFjO1FBQ25CLE1BQU1ELFlBQVlJLElBQUFBLG9CQUFXLEVBQUNOLFNBQVNFLFNBQVM7UUFFaEQsSUFBSSxDQUFDWixNQUFNLENBQUNZLFVBQVUsRUFBRVosTUFBTSxDQUFDWSxVQUFVLEdBQUcsRUFBRTtRQUU5QyxNQUFNSyxTQUEyQjtZQUMvQkMsUUFBUSxDQUFDO1lBQ1RDLFNBQVMsQ0FBQztZQUNWQyxLQUFLO2dCQUNIQyxRQUFRVixJQUFJO2dCQUNaVyxPQUFPLENBQUMsRUFBRWpCLEtBQUssRUFBRUgsTUFBTXFCLElBQUksQ0FBQyxDQUFDO1lBQy9CO1FBQ0Y7UUFFQSxJQUFJckIsTUFBTXNCLFNBQVMsSUFBSXJCLFFBQVFjLE9BQU9HLEdBQUcsQ0FBQ0ssT0FBTyxHQUFHdEI7UUFFcEQsTUFBTXVCLGlCQUFpQixDQUFDLEVBQUUzQixjQUFjLFFBQVEsRUFBRWEsVUFBVSxDQUFDO1FBRTdELE1BQU1lLFVBQVU3QixRQUFROEIsTUFBTSxDQUFDRixlQUFlLENBQUNHLEtBQUs7UUFFcEQsK0NBQStDO1FBQy9DLHNDQUFzQztRQUN0Qyw0Q0FBNEM7UUFDNUMsNkNBQTZDO1FBQzdDLCtEQUErRDtRQUMvRCxJQUFJRixTQUFTO1lBQ1hWLE9BQU9HLEdBQUcsQ0FBQ1MsS0FBSyxHQUFHbkIsU0FBU29CLEVBQUU7WUFDOUIsT0FBT3BCLFNBQVNvQixFQUFFO1FBQ3BCO1FBRUFDLElBQUFBLDhCQUFjLEVBQUM7WUFDYmpDO1lBQ0FvQixRQUFRRCxPQUFPQyxNQUFNO1lBQ3JCbkI7WUFDQUM7WUFDQWdDLGNBQWM7WUFDZC9CLE1BQU1TO1lBQ051QixhQUFhO1lBQ2JDLFFBQVFyQixhQUFhcUIsTUFBTTtZQUMzQmYsU0FBU0YsT0FBT0UsT0FBTztZQUN2QmY7WUFDQStCLGlCQUFpQlQ7WUFDakJyQixNQUFNLENBQUMsRUFBRUEsUUFBUSxHQUFHLEVBQUVILE1BQU1xQixJQUFJLENBQUMsQ0FBQyxFQUFFWixFQUFFLENBQUMsQ0FBQztZQUN4Q0w7WUFDQUM7WUFDQWEsS0FBS0gsT0FBT0csR0FBRztZQUNmWjtRQUNGO1FBRUFSLE1BQU0sQ0FBQ1ksVUFBVSxDQUFDd0IsSUFBSSxDQUFDbkI7SUFDekI7QUFDRiJ9
|
@@ -1,11 +1,13 @@
|
|
1
1
|
import type { Field } from 'payload/types';
|
2
|
+
import type { PostgresAdapter } from '../../types';
|
2
3
|
import type { RowToInsert } from './types';
|
3
4
|
type Args = {
|
5
|
+
adapter: PostgresAdapter;
|
4
6
|
data: Record<string, unknown>;
|
5
7
|
fields: Field[];
|
6
8
|
path?: string;
|
7
9
|
tableName: string;
|
8
10
|
};
|
9
|
-
export declare const transformForWrite: ({ data, fields, path, tableName }: Args) => RowToInsert;
|
11
|
+
export declare const transformForWrite: ({ adapter, data, fields, path, tableName, }: Args) => RowToInsert;
|
10
12
|
export {};
|
11
13
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transform/write/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAE1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1C,KAAK,IAAI,GAAG;IACV,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,iBAAiB,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transform/write/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAE1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1C,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,iBAAiB,gDAM3B,IAAI,KAAG,WAmCT,CAAA"}
|
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "transformForWrite", {
|
|
9
9
|
}
|
10
10
|
});
|
11
11
|
const _traverseFields = require("./traverseFields");
|
12
|
-
const transformForWrite = ({ data, fields, path = '', tableName })=>{
|
12
|
+
const transformForWrite = ({ adapter, data, fields, path = '', tableName })=>{
|
13
13
|
// Split out the incoming data into rows to insert / delete
|
14
14
|
const rowToInsert = {
|
15
15
|
arrays: {},
|
@@ -24,6 +24,7 @@ const transformForWrite = ({ data, fields, path = '', tableName })=>{
|
|
24
24
|
// This function is responsible for building up the
|
25
25
|
// above rowToInsert
|
26
26
|
(0, _traverseFields.traverseFields)({
|
27
|
+
adapter,
|
27
28
|
arrays: rowToInsert.arrays,
|
28
29
|
baseTableName: tableName,
|
29
30
|
blocks: rowToInsert.blocks,
|
@@ -43,4 +44,4 @@ const transformForWrite = ({ data, fields, path = '', tableName })=>{
|
|
43
44
|
return rowToInsert;
|
44
45
|
};
|
45
46
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vd3JpdGUvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBSb3dUb0luc2VydCB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IHRyYXZlcnNlRmllbGRzIH0gZnJvbSAnLi90cmF2ZXJzZUZpZWxkcydcblxudHlwZSBBcmdzID0ge1xuICBhZGFwdGVyOiBQb3N0Z3Jlc0FkYXB0ZXJcbiAgZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgZmllbGRzOiBGaWVsZFtdXG4gIHBhdGg/OiBzdHJpbmdcbiAgdGFibGVOYW1lOiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IHRyYW5zZm9ybUZvcldyaXRlID0gKHtcbiAgYWRhcHRlcixcbiAgZGF0YSxcbiAgZmllbGRzLFxuICBwYXRoID0gJycsXG4gIHRhYmxlTmFtZSxcbn06IEFyZ3MpOiBSb3dUb0luc2VydCA9PiB7XG4gIC8vIFNwbGl0IG91dCB0aGUgaW5jb21pbmcgZGF0YSBpbnRvIHJvd3MgdG8gaW5zZXJ0IC8gZGVsZXRlXG4gIGNvbnN0IHJvd1RvSW5zZXJ0OiBSb3dUb0luc2VydCA9IHtcbiAgICBhcnJheXM6IHt9LFxuICAgIGJsb2Nrczoge30sXG4gICAgbG9jYWxlczoge30sXG4gICAgbnVtYmVyczogW10sXG4gICAgcmVsYXRpb25zaGlwczogW10sXG4gICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlOiBbXSxcbiAgICByb3c6IHt9LFxuICAgIHNlbGVjdHM6IHt9LFxuICB9XG5cbiAgLy8gVGhpcyBmdW5jdGlvbiBpcyByZXNwb25zaWJsZSBmb3IgYnVpbGRpbmcgdXAgdGhlXG4gIC8vIGFib3ZlIHJvd1RvSW5zZXJ0XG4gIHRyYXZlcnNlRmllbGRzKHtcbiAgICBhZGFwdGVyLFxuICAgIGFycmF5czogcm93VG9JbnNlcnQuYXJyYXlzLFxuICAgIGJhc2VUYWJsZU5hbWU6IHRhYmxlTmFtZSxcbiAgICBibG9ja3M6IHJvd1RvSW5zZXJ0LmJsb2NrcyxcbiAgICBjb2x1bW5QcmVmaXg6ICcnLFxuICAgIGRhdGEsXG4gICAgZmllbGRQcmVmaXg6ICcnLFxuICAgIGZpZWxkcyxcbiAgICBsb2NhbGVzOiByb3dUb0luc2VydC5sb2NhbGVzLFxuICAgIG51bWJlcnM6IHJvd1RvSW5zZXJ0Lm51bWJlcnMsXG4gICAgcGFyZW50VGFibGVOYW1lOiB0YWJsZU5hbWUsXG4gICAgcGF0aCxcbiAgICByZWxhdGlvbnNoaXBzOiByb3dUb0luc2VydC5yZWxhdGlvbnNoaXBzLFxuICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZTogcm93VG9JbnNlcnQucmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgIHJvdzogcm93VG9JbnNlcnQucm93LFxuICAgIHNlbGVjdHM6IHJvd1RvSW5zZXJ0LnNlbGVjdHMsXG4gIH0pXG5cbiAgcmV0dXJuIHJvd1RvSW5zZXJ0XG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtRm9yV3JpdGUiLCJhZGFwdGVyIiwiZGF0YSIsImZpZWxkcyIsInBhdGgiLCJ0YWJsZU5hbWUiLCJyb3dUb0luc2VydCIsImFycmF5cyIsImJsb2NrcyIsImxvY2FsZXMiLCJudW1iZXJzIiwicmVsYXRpb25zaGlwcyIsInJlbGF0aW9uc2hpcHNUb0RlbGV0ZSIsInJvdyIsInNlbGVjdHMiLCJ0cmF2ZXJzZUZpZWxkcyIsImJhc2VUYWJsZU5hbWUiLCJjb2x1bW5QcmVmaXgiLCJmaWVsZFByZWZpeCIsInBhcmVudFRhYmxlTmFtZSJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQWdCdkJBOzs7ZUFBQUE7OztnQ0FWa0I7QUFVeEIsTUFBTUEsb0JBQW9CLENBQUMsRUFDaENDLE9BQU8sRUFDUEMsSUFBSSxFQUNKQyxNQUFNLEVBQ05DLE9BQU8sRUFBRSxFQUNUQyxTQUFTLEVBQ0o7SUFDTCwyREFBMkQ7SUFDM0QsTUFBTUMsY0FBMkI7UUFDL0JDLFFBQVEsQ0FBQztRQUNUQyxRQUFRLENBQUM7UUFDVEMsU0FBUyxDQUFDO1FBQ1ZDLFNBQVMsRUFBRTtRQUNYQyxlQUFlLEVBQUU7UUFDakJDLHVCQUF1QixFQUFFO1FBQ3pCQyxLQUFLLENBQUM7UUFDTkMsU0FBUyxDQUFDO0lBQ1o7SUFFQSxtREFBbUQ7SUFDbkQsb0JBQW9CO0lBQ3BCQyxJQUFBQSw4QkFBYyxFQUFDO1FBQ2JkO1FBQ0FNLFFBQVFELFlBQVlDLE1BQU07UUFDMUJTLGVBQWVYO1FBQ2ZHLFFBQVFGLFlBQVlFLE1BQU07UUFDMUJTLGNBQWM7UUFDZGY7UUFDQWdCLGFBQWE7UUFDYmY7UUFDQU0sU0FBU0gsWUFBWUcsT0FBTztRQUM1QkMsU0FBU0osWUFBWUksT0FBTztRQUM1QlMsaUJBQWlCZDtRQUNqQkQ7UUFDQU8sZUFBZUwsWUFBWUssYUFBYTtRQUN4Q0MsdUJBQXVCTixZQUFZTSxxQkFBcUI7UUFDeERDLEtBQUtQLFlBQVlPLEdBQUc7UUFDcEJDLFNBQVNSLFlBQVlRLE9BQU87SUFDOUI7SUFFQSxPQUFPUjtBQUNUIn0=
|
@@ -1,6 +1,8 @@
|
|
1
1
|
import type { Field } from 'payload/types';
|
2
|
+
import type { PostgresAdapter } from '../../types';
|
2
3
|
import type { ArrayRowToInsert, BlockRowToInsert, RelationshipToDelete } from './types';
|
3
4
|
type Args = {
|
5
|
+
adapter: PostgresAdapter;
|
4
6
|
arrays: {
|
5
7
|
[tableName: string]: ArrayRowToInsert[];
|
6
8
|
};
|
@@ -41,6 +43,6 @@ type Args = {
|
|
41
43
|
[tableName: string]: Record<string, unknown>[];
|
42
44
|
};
|
43
45
|
};
|
44
|
-
export declare const traverseFields: ({ arrays, baseTableName, blocks, columnPrefix, data, existingLocales, fieldPrefix, fields, forcedLocale, locales, numbers, parentTableName, path, relationships, relationshipsToDelete, row, selects, }: Args) => void;
|
46
|
+
export declare const traverseFields: ({ adapter, arrays, baseTableName, blocks, columnPrefix, data, existingLocales, fieldPrefix, fields, forcedLocale, locales, numbers, parentTableName, path, relationships, relationshipsToDelete, row, selects, }: Args) => void;
|
45
47
|
export {};
|
46
48
|
//# sourceMappingURL=traverseFields.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../src/transform/write/traverseFields.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAK1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AASvF,KAAK,IAAI,GAAG;IACV,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,CAAA;IACD;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,CAAA;IACD;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAC3C;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE;QACP,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAC1C,CAAA;IACD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAClC;;OAEG;IACH,eAAe,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACxC,qBAAqB,EAAE,oBAAoB,EAAE,CAAA;IAC7C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,OAAO,EAAE;QACP,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAC/C,CAAA;CACF,CAAA;AAED,eAAO,MAAM,cAAc,
|
1
|
+
{"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../src/transform/write/traverseFields.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAK1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AASvF,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,CAAA;IACD;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,CAAA;IACD;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAC3C;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE;QACP,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAC1C,CAAA;IACD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAClC;;OAEG;IACH,eAAe,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACxC,qBAAqB,EAAE,oBAAoB,EAAE,CAAA;IAC7C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,OAAO,EAAE;QACP,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAC/C,CAAA;CACF,CAAA;AAED,eAAO,MAAM,cAAc,qNAmBxB,IAAI,SAwYN,CAAA"}
|