@payloadcms/db-postgres 0.8.7 → 0.8.8
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/connect.d.ts.map +1 -1
- package/dist/connect.js +5 -52
- package/dist/count.d.ts.map +1 -1
- package/dist/count.js +3 -3
- package/dist/createMigration.d.ts.map +1 -1
- package/dist/createMigration.js +10 -4
- package/dist/find/findMany.d.ts.map +1 -1
- package/dist/find/findMany.js +3 -3
- package/dist/init.js +3 -2
- package/dist/migrate.js +3 -3
- package/dist/migrateDown.js +2 -2
- package/dist/migrateRefresh.js +2 -2
- package/dist/migrateReset.js +3 -3
- package/dist/migrateStatus.js +2 -2
- package/dist/queries/parseParams.d.ts.map +1 -1
- package/dist/queries/parseParams.js +3 -1
- package/dist/queries/sanitizeQueryValue.d.ts +2 -1
- package/dist/queries/sanitizeQueryValue.d.ts.map +1 -1
- package/dist/queries/sanitizeQueryValue.js +11 -2
- package/dist/schema/build.d.ts +10 -2
- package/dist/schema/build.d.ts.map +1 -1
- package/dist/schema/build.js +23 -6
- package/dist/schema/traverseFields.d.ts +6 -1
- package/dist/schema/traverseFields.d.ts.map +1 -1
- package/dist/schema/traverseFields.js +46 -17
- package/dist/transform/read/hasManyNumber.d.ts +2 -1
- package/dist/transform/read/hasManyNumber.d.ts.map +1 -1
- package/dist/transform/read/hasManyNumber.js +14 -4
- package/dist/transform/read/hasManyText.d.ts +2 -1
- package/dist/transform/read/hasManyText.d.ts.map +1 -1
- package/dist/transform/read/hasManyText.js +14 -4
- package/dist/transform/read/relationship.d.ts +2 -1
- package/dist/transform/read/relationship.d.ts.map +1 -1
- package/dist/transform/read/relationship.js +16 -7
- 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 +118 -85
- package/dist/transform/write/array.d.ts +6 -1
- package/dist/transform/write/array.d.ts.map +1 -1
- package/dist/transform/write/array.js +7 -3
- package/dist/transform/write/blocks.d.ts +6 -1
- package/dist/transform/write/blocks.d.ts.map +1 -1
- package/dist/transform/write/blocks.js +5 -3
- package/dist/transform/write/traverseFields.d.ts +6 -1
- package/dist/transform/write/traverseFields.d.ts.map +1 -1
- package/dist/transform/write/traverseFields.js +40 -15
- package/dist/types.d.ts +9 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/utilities/migrationTableExists.d.ts +2 -2
- package/dist/utilities/migrationTableExists.d.ts.map +1 -1
- package/dist/utilities/migrationTableExists.js +10 -6
- package/dist/utilities/pushDevSchema.d.ts +9 -0
- package/dist/utilities/pushDevSchema.d.ts.map +1 -0
- package/dist/utilities/pushDevSchema.js +59 -0
- package/dist/utilities/requireDrizzleKit.d.ts +14 -0
- package/dist/utilities/requireDrizzleKit.d.ts.map +1 -0
- package/dist/utilities/requireDrizzleKit.js +13 -0
- package/package.json +5 -5
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "transformArray", {
|
|
10
10
|
});
|
11
11
|
const _isArrayOfRows = require("../../utilities/isArrayOfRows");
|
12
12
|
const _traverseFields = require("./traverseFields");
|
13
|
-
const transformArray = ({ adapter, arrayTableName, baseTableName, blocks, blocksToDelete, data, field, locale, numbers, path, relationships, relationshipsToDelete, selects, texts })=>{
|
13
|
+
const transformArray = ({ adapter, arrayTableName, baseTableName, blocks, blocksToDelete, data, field, locale, numbers, path, relationships, relationshipsToDelete, selects, texts, withinArrayOrBlockLocale })=>{
|
14
14
|
const newRows = [];
|
15
15
|
const hasUUID = adapter.tables[arrayTableName]._uuid;
|
16
16
|
if ((0, _isArrayOfRows.isArrayOfRows)(data)) {
|
@@ -39,6 +39,9 @@ const transformArray = ({ adapter, arrayTableName, baseTableName, blocks, blocks
|
|
39
39
|
if (field.localized) {
|
40
40
|
newRow.row._locale = locale;
|
41
41
|
}
|
42
|
+
if (withinArrayOrBlockLocale) {
|
43
|
+
newRow.row._locale = withinArrayOrBlockLocale;
|
44
|
+
}
|
42
45
|
(0, _traverseFields.traverseFields)({
|
43
46
|
adapter,
|
44
47
|
arrays: newRow.arrays,
|
@@ -57,7 +60,8 @@ const transformArray = ({ adapter, arrayTableName, baseTableName, blocks, blocks
|
|
57
60
|
relationshipsToDelete,
|
58
61
|
row: newRow.row,
|
59
62
|
selects,
|
60
|
-
texts
|
63
|
+
texts,
|
64
|
+
withinArrayOrBlockLocale
|
61
65
|
});
|
62
66
|
newRows.push(newRow);
|
63
67
|
});
|
@@ -65,4 +69,4 @@ const transformArray = ({ adapter, arrayTableName, baseTableName, blocks, blocks
|
|
65
69
|
return newRows;
|
66
70
|
};
|
67
71
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vd3JpdGUvYXJyYXkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgQXJyYXlGaWVsZCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEFycmF5Um93VG9JbnNlcnQsIEJsb2NrUm93VG9JbnNlcnQsIFJlbGF0aW9uc2hpcFRvRGVsZXRlIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgaXNBcnJheU9mUm93cyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9pc0FycmF5T2ZSb3dzJ1xuaW1wb3J0IHsgdHJhdmVyc2VGaWVsZHMgfSBmcm9tICcuL3RyYXZlcnNlRmllbGRzJ1xuXG50eXBlIEFyZ3MgPSB7XG4gIGFkYXB0ZXI6IFBvc3RncmVzQWRhcHRlclxuICBhcnJheVRhYmxlTmFtZTogc3RyaW5nXG4gIGJhc2VUYWJsZU5hbWU6IHN0cmluZ1xuICBibG9ja3M6IHtcbiAgICBbYmxvY2tUeXBlOiBzdHJpbmddOiBCbG9ja1Jvd1RvSW5zZXJ0W11cbiAgfVxuICBibG9ja3NUb0RlbGV0ZTogU2V0PHN0cmluZz5cbiAgZGF0YTogdW5rbm93blxuICBmaWVsZDogQXJyYXlGaWVsZFxuICBsb2NhbGU/OiBzdHJpbmdcbiAgbnVtYmVyczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxuICBwYXRoOiBzdHJpbmdcbiAgcmVsYXRpb25zaGlwczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxuICByZWxhdGlvbnNoaXBzVG9EZWxldGU6IFJlbGF0aW9uc2hpcFRvRGVsZXRlW11cbiAgc2VsZWN0czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIHVua25vd24+
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vd3JpdGUvYXJyYXkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgQXJyYXlGaWVsZCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEFycmF5Um93VG9JbnNlcnQsIEJsb2NrUm93VG9JbnNlcnQsIFJlbGF0aW9uc2hpcFRvRGVsZXRlIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgaXNBcnJheU9mUm93cyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9pc0FycmF5T2ZSb3dzJ1xuaW1wb3J0IHsgdHJhdmVyc2VGaWVsZHMgfSBmcm9tICcuL3RyYXZlcnNlRmllbGRzJ1xuXG50eXBlIEFyZ3MgPSB7XG4gIGFkYXB0ZXI6IFBvc3RncmVzQWRhcHRlclxuICBhcnJheVRhYmxlTmFtZTogc3RyaW5nXG4gIGJhc2VUYWJsZU5hbWU6IHN0cmluZ1xuICBibG9ja3M6IHtcbiAgICBbYmxvY2tUeXBlOiBzdHJpbmddOiBCbG9ja1Jvd1RvSW5zZXJ0W11cbiAgfVxuICBibG9ja3NUb0RlbGV0ZTogU2V0PHN0cmluZz5cbiAgZGF0YTogdW5rbm93blxuICBmaWVsZDogQXJyYXlGaWVsZFxuICBsb2NhbGU/OiBzdHJpbmdcbiAgbnVtYmVyczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxuICBwYXRoOiBzdHJpbmdcbiAgcmVsYXRpb25zaGlwczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxuICByZWxhdGlvbnNoaXBzVG9EZWxldGU6IFJlbGF0aW9uc2hpcFRvRGVsZXRlW11cbiAgc2VsZWN0czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgfVxuICB0ZXh0czogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxuICAvKipcbiAgICogU2V0IHRvIGEgbG9jYWxlIGNvZGUgaWYgdGhpcyBzZXQgb2YgZmllbGRzIGlzIHRyYXZlcnNlZCB3aXRoaW4gYVxuICAgKiBsb2NhbGl6ZWQgYXJyYXkgb3IgYmxvY2sgZmllbGRcbiAgICovXG4gIHdpdGhpbkFycmF5T3JCbG9ja0xvY2FsZT86IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtQXJyYXkgPSAoe1xuICBhZGFwdGVyLFxuICBhcnJheVRhYmxlTmFtZSxcbiAgYmFzZVRhYmxlTmFtZSxcbiAgYmxvY2tzLFxuICBibG9ja3NUb0RlbGV0ZSxcbiAgZGF0YSxcbiAgZmllbGQsXG4gIGxvY2FsZSxcbiAgbnVtYmVycyxcbiAgcGF0aCxcbiAgcmVsYXRpb25zaGlwcyxcbiAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICBzZWxlY3RzLFxuICB0ZXh0cyxcbiAgd2l0aGluQXJyYXlPckJsb2NrTG9jYWxlLFxufTogQXJncykgPT4ge1xuICBjb25zdCBuZXdSb3dzOiBBcnJheVJvd1RvSW5zZXJ0W10gPSBbXVxuXG4gIGNvbnN0IGhhc1VVSUQgPSBhZGFwdGVyLnRhYmxlc1thcnJheVRhYmxlTmFtZV0uX3V1aWRcblxuICBpZiAoaXNBcnJheU9mUm93cyhkYXRhKSkge1xuICAgIGRhdGEuZm9yRWFjaCgoYXJyYXlSb3csIGkpID0+IHtcbiAgICAgIGNvbnN0IG5ld1JvdzogQXJyYXlSb3dUb0luc2VydCA9IHtcbiAgICAgICAgYXJyYXlzOiB7fSxcbiAgICAgICAgbG9jYWxlczoge30sXG4gICAgICAgIHJvdzoge1xuICAgICAgICAgIF9vcmRlcjogaSArIDEsXG4gICAgICAgIH0sXG4gICAgICB9XG5cbiAgICAgIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgYSBfdXVpZCBmaWVsZCBvbiBhcnJheXMsXG4gICAgICAvLyB0aGF0IG1lYW5zIHRoZSBJRCBoYXMgdG8gYmUgdW5pcXVlLFxuICAgICAgLy8gYW5kIG91ciBpZHMgd2l0aGluIGFycmF5cyBhcmUgbm90IHVuaXF1ZS5cbiAgICAgIC8vIFNvIG1vdmUgdGhlIElEIHRvIGEgdXVpZCBmaWVsZCBmb3Igc3RvcmFnZVxuICAgICAgLy8gYW5kIGFsbG93IHRoZSBkYXRhYmFzZSB0byBnZW5lcmF0ZSBhIHNlcmlhbCBpZCBhdXRvbWF0aWNhbGx5XG4gICAgICBpZiAoaGFzVVVJRCkge1xuICAgICAgICBuZXdSb3cucm93Ll91dWlkID0gYXJyYXlSb3cuaWRcbiAgICAgICAgZGVsZXRlIGFycmF5Um93LmlkXG4gICAgICB9XG5cbiAgICAgIGlmIChsb2NhbGUpIHtcbiAgICAgICAgbmV3Um93LmxvY2FsZXNbbG9jYWxlXSA9IHtcbiAgICAgICAgICBfbG9jYWxlOiBsb2NhbGUsXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICBuZXdSb3cucm93Ll9sb2NhbGUgPSBsb2NhbGVcbiAgICAgIH1cblxuICAgICAgaWYgKHdpdGhpbkFycmF5T3JCbG9ja0xvY2FsZSkge1xuICAgICAgICBuZXdSb3cucm93Ll9sb2NhbGUgPSB3aXRoaW5BcnJheU9yQmxvY2tMb2NhbGVcbiAgICAgIH1cblxuICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICBhZGFwdGVyLFxuICAgICAgICBhcnJheXM6IG5ld1Jvdy5hcnJheXMsXG4gICAgICAgIGJhc2VUYWJsZU5hbWUsXG4gICAgICAgIGJsb2NrcyxcbiAgICAgICAgYmxvY2tzVG9EZWxldGUsXG4gICAgICAgIGNvbHVtblByZWZpeDogJycsXG4gICAgICAgIGRhdGE6IGFycmF5Um93LFxuICAgICAgICBmaWVsZFByZWZpeDogJycsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBsb2NhbGVzOiBuZXdSb3cubG9jYWxlcyxcbiAgICAgICAgbnVtYmVycyxcbiAgICAgICAgcGFyZW50VGFibGVOYW1lOiBhcnJheVRhYmxlTmFtZSxcbiAgICAgICAgcGF0aDogYCR7cGF0aCB8fCAnJ30ke2ZpZWxkLm5hbWV9LiR7aX0uYCxcbiAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgICByb3c6IG5ld1Jvdy5yb3csXG4gICAgICAgIHNlbGVjdHMsXG4gICAgICAgIHRleHRzLFxuICAgICAgICB3aXRoaW5BcnJheU9yQmxvY2tMb2NhbGUsXG4gICAgICB9KVxuXG4gICAgICBuZXdSb3dzLnB1c2gobmV3Um93KVxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gbmV3Um93c1xufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybUFycmF5IiwiYWRhcHRlciIsImFycmF5VGFibGVOYW1lIiwiYmFzZVRhYmxlTmFtZSIsImJsb2NrcyIsImJsb2Nrc1RvRGVsZXRlIiwiZGF0YSIsImZpZWxkIiwibG9jYWxlIiwibnVtYmVycyIsInBhdGgiLCJyZWxhdGlvbnNoaXBzIiwicmVsYXRpb25zaGlwc1RvRGVsZXRlIiwic2VsZWN0cyIsInRleHRzIiwid2l0aGluQXJyYXlPckJsb2NrTG9jYWxlIiwibmV3Um93cyIsImhhc1VVSUQiLCJ0YWJsZXMiLCJfdXVpZCIsImlzQXJyYXlPZlJvd3MiLCJmb3JFYWNoIiwiYXJyYXlSb3ciLCJpIiwibmV3Um93IiwiYXJyYXlzIiwibG9jYWxlcyIsInJvdyIsIl9vcmRlciIsImlkIiwiX2xvY2FsZSIsImxvY2FsaXplZCIsInRyYXZlcnNlRmllbGRzIiwiY29sdW1uUHJlZml4IiwiZmllbGRQcmVmaXgiLCJmaWVsZHMiLCJwYXJlbnRUYWJsZU5hbWUiLCJuYW1lIiwicHVzaCJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkFtQ3ZCQTs7O2VBQUFBOzs7K0JBN0JpQjtnQ0FDQztBQTRCeEIsTUFBTUEsaUJBQWlCLENBQUMsRUFDN0JDLE9BQU8sRUFDUEMsY0FBYyxFQUNkQyxhQUFhLEVBQ2JDLE1BQU0sRUFDTkMsY0FBYyxFQUNkQyxJQUFJLEVBQ0pDLEtBQUssRUFDTEMsTUFBTSxFQUNOQyxPQUFPLEVBQ1BDLElBQUksRUFDSkMsYUFBYSxFQUNiQyxxQkFBcUIsRUFDckJDLE9BQU8sRUFDUEMsS0FBSyxFQUNMQyx3QkFBd0IsRUFDbkI7SUFDTCxNQUFNQyxVQUE4QixFQUFFO0lBRXRDLE1BQU1DLFVBQVVoQixRQUFRaUIsTUFBTSxDQUFDaEIsZUFBZSxDQUFDaUIsS0FBSztJQUVwRCxJQUFJQyxJQUFBQSw0QkFBYSxFQUFDZCxPQUFPO1FBQ3ZCQSxLQUFLZSxPQUFPLENBQUMsQ0FBQ0MsVUFBVUM7WUFDdEIsTUFBTUMsU0FBMkI7Z0JBQy9CQyxRQUFRLENBQUM7Z0JBQ1RDLFNBQVMsQ0FBQztnQkFDVkMsS0FBSztvQkFDSEMsUUFBUUwsSUFBSTtnQkFDZDtZQUNGO1lBRUEsK0NBQStDO1lBQy9DLHNDQUFzQztZQUN0Qyw0Q0FBNEM7WUFDNUMsNkNBQTZDO1lBQzdDLCtEQUErRDtZQUMvRCxJQUFJTixTQUFTO2dCQUNYTyxPQUFPRyxHQUFHLENBQUNSLEtBQUssR0FBR0csU0FBU08sRUFBRTtnQkFDOUIsT0FBT1AsU0FBU08sRUFBRTtZQUNwQjtZQUVBLElBQUlyQixRQUFRO2dCQUNWZ0IsT0FBT0UsT0FBTyxDQUFDbEIsT0FBTyxHQUFHO29CQUN2QnNCLFNBQVN0QjtnQkFDWDtZQUNGO1lBRUEsSUFBSUQsTUFBTXdCLFNBQVMsRUFBRTtnQkFDbkJQLE9BQU9HLEdBQUcsQ0FBQ0csT0FBTyxHQUFHdEI7WUFDdkI7WUFFQSxJQUFJTywwQkFBMEI7Z0JBQzVCUyxPQUFPRyxHQUFHLENBQUNHLE9BQU8sR0FBR2Y7WUFDdkI7WUFFQWlCLElBQUFBLDhCQUFjLEVBQUM7Z0JBQ2IvQjtnQkFDQXdCLFFBQVFELE9BQU9DLE1BQU07Z0JBQ3JCdEI7Z0JBQ0FDO2dCQUNBQztnQkFDQTRCLGNBQWM7Z0JBQ2QzQixNQUFNZ0I7Z0JBQ05ZLGFBQWE7Z0JBQ2JDLFFBQVE1QixNQUFNNEIsTUFBTTtnQkFDcEJULFNBQVNGLE9BQU9FLE9BQU87Z0JBQ3ZCakI7Z0JBQ0EyQixpQkFBaUJsQztnQkFDakJRLE1BQU0sQ0FBQyxFQUFFQSxRQUFRLEdBQUcsRUFBRUgsTUFBTThCLElBQUksQ0FBQyxDQUFDLEVBQUVkLEVBQUUsQ0FBQyxDQUFDO2dCQUN4Q1o7Z0JBQ0FDO2dCQUNBZSxLQUFLSCxPQUFPRyxHQUFHO2dCQUNmZDtnQkFDQUM7Z0JBQ0FDO1lBQ0Y7WUFFQUMsUUFBUXNCLElBQUksQ0FBQ2Q7UUFDZjtJQUNGO0lBRUEsT0FBT1I7QUFDVCJ9
|
@@ -19,7 +19,12 @@ type Args = {
|
|
19
19
|
[tableName: string]: Record<string, unknown>[];
|
20
20
|
};
|
21
21
|
texts: Record<string, unknown>[];
|
22
|
+
/**
|
23
|
+
* Set to a locale code if this set of fields is traversed within a
|
24
|
+
* localized array or block field
|
25
|
+
*/
|
26
|
+
withinArrayOrBlockLocale?: string;
|
22
27
|
};
|
23
|
-
export declare const transformBlocks: ({ adapter, baseTableName, blocks, blocksToDelete, data, field, locale, numbers, path, relationships, relationshipsToDelete, selects, texts, }: Args) => void;
|
28
|
+
export declare const transformBlocks: ({ adapter, baseTableName, blocks, blocksToDelete, data, field, locale, numbers, path, relationships, relationshipsToDelete, selects, texts, withinArrayOrBlockLocale, }: Args) => void;
|
24
29
|
export {};
|
25
30
|
//# 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,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,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B,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;IACD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;
|
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,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B,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;IACD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAChC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAA;CAClC,CAAA;AACD,eAAO,MAAM,eAAe,4KAezB,IAAI,SA2DN,CAAA"}
|
@@ -15,7 +15,7 @@ function _interop_require_default(obj) {
|
|
15
15
|
default: obj
|
16
16
|
};
|
17
17
|
}
|
18
|
-
const transformBlocks = ({ adapter, baseTableName, blocks, blocksToDelete, data, field, locale, numbers, path, relationships, relationshipsToDelete, selects, texts })=>{
|
18
|
+
const transformBlocks = ({ adapter, baseTableName, blocks, blocksToDelete, data, field, locale, numbers, path, relationships, relationshipsToDelete, selects, texts, withinArrayOrBlockLocale })=>{
|
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);
|
@@ -31,6 +31,7 @@ const transformBlocks = ({ adapter, baseTableName, blocks, blocksToDelete, data,
|
|
31
31
|
}
|
32
32
|
};
|
33
33
|
if (field.localized && locale) newRow.row._locale = locale;
|
34
|
+
if (withinArrayOrBlockLocale) newRow.row._locale = withinArrayOrBlockLocale;
|
34
35
|
const blockTableName = adapter.tableNameMap.get(`${baseTableName}_blocks_${blockType}`);
|
35
36
|
const hasUUID = adapter.tables[blockTableName]._uuid;
|
36
37
|
// If we have declared a _uuid field on arrays,
|
@@ -60,10 +61,11 @@ const transformBlocks = ({ adapter, baseTableName, blocks, blocksToDelete, data,
|
|
60
61
|
relationshipsToDelete,
|
61
62
|
row: newRow.row,
|
62
63
|
selects,
|
63
|
-
texts
|
64
|
+
texts,
|
65
|
+
withinArrayOrBlockLocale
|
64
66
|
});
|
65
67
|
blocks[blockType].push(newRow);
|
66
68
|
});
|
67
69
|
};
|
68
70
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vd3JpdGUvYmxvY2tzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5pbXBvcnQgdHlwZSB7IEJsb2NrRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgQmxvY2tSb3dUb0luc2VydCwgUmVsYXRpb25zaGlwVG9EZWxldGUgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyB0cmF2ZXJzZUZpZWxkcyB9IGZyb20gJy4vdHJhdmVyc2VGaWVsZHMnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGJhc2VUYWJsZU5hbWU6IHN0cmluZ1xuICBibG9ja3M6IHtcbiAgICBbYmxvY2tUeXBlOiBzdHJpbmddOiBCbG9ja1Jvd1RvSW5zZXJ0W11cbiAgfVxuICBibG9ja3NUb0RlbGV0ZTogU2V0PHN0cmluZz5cbiAgZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxuICBmaWVsZDogQmxvY2tGaWVsZFxuICBsb2NhbGU/OiBzdHJpbmdcbiAgbnVtYmVyczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxuICBwYXRoOiBzdHJpbmdcbiAgcmVsYXRpb25zaGlwczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxuICByZWxhdGlvbnNoaXBzVG9EZWxldGU6IFJlbGF0aW9uc2hpcFRvRGVsZXRlW11cbiAgc2VsZWN0czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIHVua25vd24+
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vd3JpdGUvYmxvY2tzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5pbXBvcnQgdHlwZSB7IEJsb2NrRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgQmxvY2tSb3dUb0luc2VydCwgUmVsYXRpb25zaGlwVG9EZWxldGUgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyB0cmF2ZXJzZUZpZWxkcyB9IGZyb20gJy4vdHJhdmVyc2VGaWVsZHMnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGJhc2VUYWJsZU5hbWU6IHN0cmluZ1xuICBibG9ja3M6IHtcbiAgICBbYmxvY2tUeXBlOiBzdHJpbmddOiBCbG9ja1Jvd1RvSW5zZXJ0W11cbiAgfVxuICBibG9ja3NUb0RlbGV0ZTogU2V0PHN0cmluZz5cbiAgZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxuICBmaWVsZDogQmxvY2tGaWVsZFxuICBsb2NhbGU/OiBzdHJpbmdcbiAgbnVtYmVyczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxuICBwYXRoOiBzdHJpbmdcbiAgcmVsYXRpb25zaGlwczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxuICByZWxhdGlvbnNoaXBzVG9EZWxldGU6IFJlbGF0aW9uc2hpcFRvRGVsZXRlW11cbiAgc2VsZWN0czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgfVxuICB0ZXh0czogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxuICAvKipcbiAgICogU2V0IHRvIGEgbG9jYWxlIGNvZGUgaWYgdGhpcyBzZXQgb2YgZmllbGRzIGlzIHRyYXZlcnNlZCB3aXRoaW4gYVxuICAgKiBsb2NhbGl6ZWQgYXJyYXkgb3IgYmxvY2sgZmllbGRcbiAgICovXG4gIHdpdGhpbkFycmF5T3JCbG9ja0xvY2FsZT86IHN0cmluZ1xufVxuZXhwb3J0IGNvbnN0IHRyYW5zZm9ybUJsb2NrcyA9ICh7XG4gIGFkYXB0ZXIsXG4gIGJhc2VUYWJsZU5hbWUsXG4gIGJsb2NrcyxcbiAgYmxvY2tzVG9EZWxldGUsXG4gIGRhdGEsXG4gIGZpZWxkLFxuICBsb2NhbGUsXG4gIG51bWJlcnMsXG4gIHBhdGgsXG4gIHJlbGF0aW9uc2hpcHMsXG4gIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgc2VsZWN0cyxcbiAgdGV4dHMsXG4gIHdpdGhpbkFycmF5T3JCbG9ja0xvY2FsZSxcbn06IEFyZ3MpID0+IHtcbiAgZGF0YS5mb3JFYWNoKChibG9ja1JvdywgaSkgPT4ge1xuICAgIGlmICh0eXBlb2YgYmxvY2tSb3cuYmxvY2tUeXBlICE9PSAnc3RyaW5nJykgcmV0dXJuXG4gICAgY29uc3QgbWF0Y2hlZEJsb2NrID0gZmllbGQuYmxvY2tzLmZpbmQoKHsgc2x1ZyB9KSA9PiBzbHVnID09PSBibG9ja1Jvdy5ibG9ja1R5cGUpXG4gICAgaWYgKCFtYXRjaGVkQmxvY2spIHJldHVyblxuICAgIGNvbnN0IGJsb2NrVHlwZSA9IHRvU25ha2VDYXNlKGJsb2NrUm93LmJsb2NrVHlwZSlcblxuICAgIGlmICghYmxvY2tzW2Jsb2NrVHlwZV0pIGJsb2Nrc1tibG9ja1R5cGVdID0gW11cblxuICAgIGNvbnN0IG5ld1JvdzogQmxvY2tSb3dUb0luc2VydCA9IHtcbiAgICAgIGFycmF5czoge30sXG4gICAgICBsb2NhbGVzOiB7fSxcbiAgICAgIHJvdzoge1xuICAgICAgICBfb3JkZXI6IGkgKyAxLFxuICAgICAgICBfcGF0aDogYCR7cGF0aH0ke2ZpZWxkLm5hbWV9YCxcbiAgICAgIH0sXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLmxvY2FsaXplZCAmJiBsb2NhbGUpIG5ld1Jvdy5yb3cuX2xvY2FsZSA9IGxvY2FsZVxuICAgIGlmICh3aXRoaW5BcnJheU9yQmxvY2tMb2NhbGUpIG5ld1Jvdy5yb3cuX2xvY2FsZSA9IHdpdGhpbkFycmF5T3JCbG9ja0xvY2FsZVxuXG4gICAgY29uc3QgYmxvY2tUYWJsZU5hbWUgPSBhZGFwdGVyLnRhYmxlTmFtZU1hcC5nZXQoYCR7YmFzZVRhYmxlTmFtZX1fYmxvY2tzXyR7YmxvY2tUeXBlfWApXG5cbiAgICBjb25zdCBoYXNVVUlEID0gYWRhcHRlci50YWJsZXNbYmxvY2tUYWJsZU5hbWVdLl91dWlkXG5cbiAgICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIGEgX3V1aWQgZmllbGQgb24gYXJyYXlzLFxuICAgIC8vIHRoYXQgbWVhbnMgdGhlIElEIGhhcyB0byBiZSB1bmlxdWUsXG4gICAgLy8gYW5kIG91ciBpZHMgd2l0aGluIGFycmF5cyBhcmUgbm90IHVuaXF1ZS5cbiAgICAvLyBTbyBtb3ZlIHRoZSBJRCB0byBhIHV1aWQgZmllbGQgZm9yIHN0b3JhZ2VcbiAgICAvLyBhbmQgYWxsb3cgdGhlIGRhdGFiYXNlIHRvIGdlbmVyYXRlIGEgc2VyaWFsIGlkIGF1dG9tYXRpY2FsbHlcbiAgICBpZiAoaGFzVVVJRCkge1xuICAgICAgbmV3Um93LnJvdy5fdXVpZCA9IGJsb2NrUm93LmlkXG4gICAgICBkZWxldGUgYmxvY2tSb3cuaWRcbiAgICB9XG5cbiAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICBhZGFwdGVyLFxuICAgICAgYXJyYXlzOiBuZXdSb3cuYXJyYXlzLFxuICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgIGJsb2NrcyxcbiAgICAgIGJsb2Nrc1RvRGVsZXRlLFxuICAgICAgY29sdW1uUHJlZml4OiAnJyxcbiAgICAgIGRhdGE6IGJsb2NrUm93LFxuICAgICAgZmllbGRQcmVmaXg6ICcnLFxuICAgICAgZmllbGRzOiBtYXRjaGVkQmxvY2suZmllbGRzLFxuICAgICAgbG9jYWxlczogbmV3Um93LmxvY2FsZXMsXG4gICAgICBudW1iZXJzLFxuICAgICAgcGFyZW50VGFibGVOYW1lOiBibG9ja1RhYmxlTmFtZSxcbiAgICAgIHBhdGg6IGAke3BhdGggfHwgJyd9JHtmaWVsZC5uYW1lfS4ke2l9LmAsXG4gICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgcm93OiBuZXdSb3cucm93LFxuICAgICAgc2VsZWN0cyxcbiAgICAgIHRleHRzLFxuICAgICAgd2l0aGluQXJyYXlPckJsb2NrTG9jYWxlLFxuICAgIH0pXG5cbiAgICBibG9ja3NbYmxvY2tUeXBlXS5wdXNoKG5ld1JvdylcbiAgfSlcbn1cbiJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1CbG9ja3MiLCJhZGFwdGVyIiwiYmFzZVRhYmxlTmFtZSIsImJsb2NrcyIsImJsb2Nrc1RvRGVsZXRlIiwiZGF0YSIsImZpZWxkIiwibG9jYWxlIiwibnVtYmVycyIsInBhdGgiLCJyZWxhdGlvbnNoaXBzIiwicmVsYXRpb25zaGlwc1RvRGVsZXRlIiwic2VsZWN0cyIsInRleHRzIiwid2l0aGluQXJyYXlPckJsb2NrTG9jYWxlIiwiZm9yRWFjaCIsImJsb2NrUm93IiwiaSIsImJsb2NrVHlwZSIsIm1hdGNoZWRCbG9jayIsImZpbmQiLCJzbHVnIiwidG9TbmFrZUNhc2UiLCJuZXdSb3ciLCJhcnJheXMiLCJsb2NhbGVzIiwicm93IiwiX29yZGVyIiwiX3BhdGgiLCJuYW1lIiwibG9jYWxpemVkIiwiX2xvY2FsZSIsImJsb2NrVGFibGVOYW1lIiwidGFibGVOYW1lTWFwIiwiZ2V0IiwiaGFzVVVJRCIsInRhYmxlcyIsIl91dWlkIiwiaWQiLCJ0cmF2ZXJzZUZpZWxkcyIsImNvbHVtblByZWZpeCIsImZpZWxkUHJlZml4IiwiZmllbGRzIiwicGFyZW50VGFibGVOYW1lIiwicHVzaCJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
@@ -44,7 +44,12 @@ type Args = {
|
|
44
44
|
[tableName: string]: Record<string, unknown>[];
|
45
45
|
};
|
46
46
|
texts: Record<string, unknown>[];
|
47
|
+
/**
|
48
|
+
* Set to a locale code if this set of fields is traversed within a
|
49
|
+
* localized array or block field
|
50
|
+
*/
|
51
|
+
withinArrayOrBlockLocale?: string;
|
47
52
|
};
|
48
|
-
export declare const traverseFields: ({ adapter, arrays, baseTableName, blocks, blocksToDelete, columnPrefix, data, existingLocales, fieldPrefix, fields, forcedLocale, locales, numbers, parentTableName, path, relationships, relationshipsToDelete, row, selects, texts, }: Args) => void;
|
53
|
+
export declare const traverseFields: ({ adapter, arrays, baseTableName, blocks, blocksToDelete, columnPrefix, data, existingLocales, fieldPrefix, fields, forcedLocale, locales, numbers, parentTableName, path, relationships, relationshipsToDelete, row, selects, texts, withinArrayOrBlockLocale, }: Args) => void;
|
49
54
|
export {};
|
50
55
|
//# 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,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAUvF,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,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B;;;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;IACD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;
|
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;AAUvF,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,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B;;;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;IACD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAChC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAA;CAClC,CAAA;AAED,eAAO,MAAM,cAAc,sQAsBxB,IAAI,SA8dN,CAAA"}
|
@@ -22,7 +22,7 @@ function _interop_require_default(obj) {
|
|
22
22
|
default: obj
|
23
23
|
};
|
24
24
|
}
|
25
|
-
const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete, columnPrefix, data, existingLocales, fieldPrefix, fields, forcedLocale, locales, numbers, parentTableName, path, relationships, relationshipsToDelete, row, selects, texts })=>{
|
25
|
+
const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete, columnPrefix, data, existingLocales, fieldPrefix, fields, forcedLocale, locales, numbers, parentTableName, path, relationships, relationshipsToDelete, row, selects, texts, withinArrayOrBlockLocale })=>{
|
26
26
|
fields.forEach((field)=>{
|
27
27
|
let columnName = '';
|
28
28
|
let fieldName = '';
|
@@ -53,7 +53,8 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
53
53
|
relationships,
|
54
54
|
relationshipsToDelete,
|
55
55
|
selects,
|
56
|
-
texts
|
56
|
+
texts,
|
57
|
+
withinArrayOrBlockLocale: localeKey
|
57
58
|
});
|
58
59
|
arrays[arrayTableName] = arrays[arrayTableName].concat(newRows);
|
59
60
|
}
|
@@ -73,7 +74,8 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
73
74
|
relationships,
|
74
75
|
relationshipsToDelete,
|
75
76
|
selects,
|
76
|
-
texts
|
77
|
+
texts,
|
78
|
+
withinArrayOrBlockLocale
|
77
79
|
});
|
78
80
|
arrays[arrayTableName] = arrays[arrayTableName].concat(newRows);
|
79
81
|
}
|
@@ -100,7 +102,8 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
100
102
|
relationships,
|
101
103
|
relationshipsToDelete,
|
102
104
|
selects,
|
103
|
-
texts
|
105
|
+
texts,
|
106
|
+
withinArrayOrBlockLocale: localeKey
|
104
107
|
});
|
105
108
|
}
|
106
109
|
});
|
@@ -118,7 +121,8 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
118
121
|
relationships,
|
119
122
|
relationshipsToDelete,
|
120
123
|
selects,
|
121
|
-
texts
|
124
|
+
texts,
|
125
|
+
withinArrayOrBlockLocale
|
122
126
|
});
|
123
127
|
}
|
124
128
|
return;
|
@@ -127,6 +131,8 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
127
131
|
if (typeof data[field.name] === 'object' && data[field.name] !== null) {
|
128
132
|
if (field.localized) {
|
129
133
|
Object.entries(data[field.name]).forEach(([localeKey, localeData])=>{
|
134
|
+
// preserve array ID if there is
|
135
|
+
localeData._uuid = data.id || data._uuid;
|
130
136
|
traverseFields({
|
131
137
|
adapter,
|
132
138
|
arrays,
|
@@ -147,10 +153,14 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
147
153
|
relationshipsToDelete,
|
148
154
|
row,
|
149
155
|
selects,
|
150
|
-
texts
|
156
|
+
texts,
|
157
|
+
withinArrayOrBlockLocale: localeKey
|
151
158
|
});
|
152
159
|
});
|
153
160
|
} else {
|
161
|
+
// preserve array ID if there is
|
162
|
+
const groupData = data[field.name];
|
163
|
+
groupData._uuid = data.id || data._uuid;
|
154
164
|
traverseFields({
|
155
165
|
adapter,
|
156
166
|
arrays,
|
@@ -158,7 +168,7 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
158
168
|
blocks,
|
159
169
|
blocksToDelete,
|
160
170
|
columnPrefix: `${columnName}_`,
|
161
|
-
data:
|
171
|
+
data: groupData,
|
162
172
|
existingLocales,
|
163
173
|
fieldPrefix: `${fieldName}_`,
|
164
174
|
fields: field.fields,
|
@@ -170,7 +180,8 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
170
180
|
relationshipsToDelete,
|
171
181
|
row,
|
172
182
|
selects,
|
173
|
-
texts
|
183
|
+
texts,
|
184
|
+
withinArrayOrBlockLocale
|
174
185
|
});
|
175
186
|
}
|
176
187
|
}
|
@@ -182,6 +193,8 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
182
193
|
if (typeof data[tab.name] === 'object' && data[tab.name] !== null) {
|
183
194
|
if (tab.localized) {
|
184
195
|
Object.entries(data[tab.name]).forEach(([localeKey, localeData])=>{
|
196
|
+
// preserve array ID if there is
|
197
|
+
localeData._uuid = data.id || data._uuid;
|
185
198
|
traverseFields({
|
186
199
|
adapter,
|
187
200
|
arrays,
|
@@ -202,10 +215,14 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
202
215
|
relationshipsToDelete,
|
203
216
|
row,
|
204
217
|
selects,
|
205
|
-
texts
|
218
|
+
texts,
|
219
|
+
withinArrayOrBlockLocale: localeKey
|
206
220
|
});
|
207
221
|
});
|
208
222
|
} else {
|
223
|
+
const tabData = data[tab.name];
|
224
|
+
// preserve array ID if there is
|
225
|
+
tabData._uuid = data.id || data._uuid;
|
209
226
|
traverseFields({
|
210
227
|
adapter,
|
211
228
|
arrays,
|
@@ -213,7 +230,7 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
213
230
|
blocks,
|
214
231
|
blocksToDelete,
|
215
232
|
columnPrefix: `${columnPrefix || ''}${(0, _tosnakecase.default)(tab.name)}_`,
|
216
|
-
data:
|
233
|
+
data: tabData,
|
217
234
|
existingLocales,
|
218
235
|
fieldPrefix: `${fieldPrefix || ''}${tab.name}_`,
|
219
236
|
fields: tab.fields,
|
@@ -225,7 +242,8 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
225
242
|
relationshipsToDelete,
|
226
243
|
row,
|
227
244
|
selects,
|
228
|
-
texts
|
245
|
+
texts,
|
246
|
+
withinArrayOrBlockLocale
|
229
247
|
});
|
230
248
|
}
|
231
249
|
}
|
@@ -249,7 +267,8 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
249
267
|
relationshipsToDelete,
|
250
268
|
row,
|
251
269
|
selects,
|
252
|
-
texts
|
270
|
+
texts,
|
271
|
+
withinArrayOrBlockLocale
|
253
272
|
});
|
254
273
|
}
|
255
274
|
});
|
@@ -266,6 +285,7 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
266
285
|
existingLocales,
|
267
286
|
fieldPrefix,
|
268
287
|
fields: field.fields,
|
288
|
+
forcedLocale,
|
269
289
|
locales,
|
270
290
|
numbers,
|
271
291
|
parentTableName,
|
@@ -274,7 +294,8 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
274
294
|
relationshipsToDelete,
|
275
295
|
row,
|
276
296
|
selects,
|
277
|
-
texts
|
297
|
+
texts,
|
298
|
+
withinArrayOrBlockLocale
|
278
299
|
});
|
279
300
|
}
|
280
301
|
if (field.type === 'relationship' || field.type === 'upload') {
|
@@ -309,6 +330,7 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
309
330
|
}
|
310
331
|
(0, _relationships.transformRelationship)({
|
311
332
|
baseRow: {
|
333
|
+
locale: withinArrayOrBlockLocale,
|
312
334
|
path: relationshipPath
|
313
335
|
},
|
314
336
|
data: fieldData,
|
@@ -338,6 +360,7 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
338
360
|
} else if (Array.isArray(fieldData)) {
|
339
361
|
(0, _texts.transformTexts)({
|
340
362
|
baseRow: {
|
363
|
+
locale: withinArrayOrBlockLocale,
|
341
364
|
path: textPath
|
342
365
|
},
|
343
366
|
data: fieldData,
|
@@ -366,6 +389,7 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
366
389
|
} else if (Array.isArray(fieldData)) {
|
367
390
|
(0, _numbers.transformNumbers)({
|
368
391
|
baseRow: {
|
392
|
+
locale: withinArrayOrBlockLocale,
|
369
393
|
path: numberPath
|
370
394
|
},
|
371
395
|
data: fieldData,
|
@@ -393,7 +417,8 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
393
417
|
} else if (Array.isArray(data[field.name])) {
|
394
418
|
const newRows = (0, _selects.transformSelects)({
|
395
419
|
id: data._uuid || data.id,
|
396
|
-
data: data[field.name]
|
420
|
+
data: data[field.name],
|
421
|
+
locale: withinArrayOrBlockLocale
|
397
422
|
});
|
398
423
|
selects[selectTableName] = selects[selectTableName].concat(newRows);
|
399
424
|
}
|
@@ -440,4 +465,4 @@ const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksToDelete
|
|
440
465
|
});
|
441
466
|
};
|
442
467
|
|
443
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vd3JpdGUvdHJhdmVyc2VGaWVsZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhIH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCB0b1NuYWtlQ2FzZSBmcm9tICd0by1zbmFrZS1jYXNlJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBBcnJheVJvd1RvSW5zZXJ0LCBCbG9ja1Jvd1RvSW5zZXJ0LCBSZWxhdGlvbnNoaXBUb0RlbGV0ZSB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGlzQXJyYXlPZlJvd3MgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvaXNBcnJheU9mUm93cydcbmltcG9ydCB7IHRyYW5zZm9ybUFycmF5IH0gZnJvbSAnLi9hcnJheSdcbmltcG9ydCB7IHRyYW5zZm9ybUJsb2NrcyB9IGZyb20gJy4vYmxvY2tzJ1xuaW1wb3J0IHsgdHJhbnNmb3JtTnVtYmVycyB9IGZyb20gJy4vbnVtYmVycydcbmltcG9ydCB7IHRyYW5zZm9ybVJlbGF0aW9uc2hpcCB9IGZyb20gJy4vcmVsYXRpb25zaGlwcydcbmltcG9ydCB7IHRyYW5zZm9ybVNlbGVjdHMgfSBmcm9tICcuL3NlbGVjdHMnXG5pbXBvcnQgeyB0cmFuc2Zvcm1UZXh0cyB9IGZyb20gJy4vdGV4dHMnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGFycmF5czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IEFycmF5Um93VG9JbnNlcnRbXVxuICB9XG4gIC8qKlxuICAgKiBUaGlzIGlzIHRoZSBuYW1lIG9mIHRoZSBiYXNlIHRhYmxlXG4gICAqL1xuICBiYXNlVGFibGVOYW1lOiBzdHJpbmdcbiAgYmxvY2tzOiB7XG4gICAgW2Jsb2NrVHlwZTogc3RyaW5nXTogQmxvY2tSb3dUb0luc2VydFtdXG4gIH1cbiAgYmxvY2tzVG9EZWxldGU6IFNldDxzdHJpbmc+XG4gIC8qKlxuICAgKiBBIHNuYWtlLWNhc2UgZmllbGQgcHJlZml4LCByZXByZXNlbnRpbmcgcHJpb3IgZmllbGRzXG4gICAqIEV4OiBteV9ncm91cF9teV9uYW1lZF90YWJfXG4gICAqL1xuICBjb2x1bW5QcmVmaXg6IHN0cmluZ1xuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBleGlzdGluZ0xvY2FsZXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIC8qKlxuICAgKiBBIHByZWZpeCB0aGF0IHdpbGwgcmV0YWluIGNhbWVsLWNhc2UgZm9ybWF0dGluZywgcmVwcmVzZW50aW5nIHByaW9yIGZpZWxkc1xuICAgKiBFeDogbXlHcm91cF9teU5hbWVkVGFiX1xuICAgKi9cbiAgZmllbGRQcmVmaXg6IHN0cmluZ1xuICBmaWVsZHM6IEZpZWxkW11cbiAgZm9yY2VkTG9jYWxlPzogc3RyaW5nXG4gIGxvY2FsZXM6IHtcbiAgICBbbG9jYWxlOiBzdHJpbmddOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICB9XG4gIG51bWJlcnM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgLyoqXG4gICAqIFRoaXMgaXMgdGhlIG5hbWUgb2YgdGhlIHBhcmVudCB0YWJsZVxuICAgKi9cbiAgcGFyZW50VGFibGVOYW1lOiBzdHJpbmdcbiAgcGF0aDogc3RyaW5nXG4gIHJlbGF0aW9uc2hpcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgcmVsYXRpb25zaGlwc1RvRGVsZXRlOiBSZWxhdGlvbnNoaXBUb0RlbGV0ZVtdXG4gIHJvdzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgc2VsZWN0czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgfVxuICB0ZXh0czogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxufVxuXG5leHBvcnQgY29uc3QgdHJhdmVyc2VGaWVsZHMgPSAoe1xuICBhZGFwdGVyLFxuICBhcnJheXMsXG4gIGJhc2VUYWJsZU5hbWUsXG4gIGJsb2NrcyxcbiAgYmxvY2tzVG9EZWxldGUsXG4gIGNvbHVtblByZWZpeCxcbiAgZGF0YSxcbiAgZXhpc3RpbmdMb2NhbGVzLFxuICBmaWVsZFByZWZpeCxcbiAgZmllbGRzLFxuICBmb3JjZWRMb2NhbGUsXG4gIGxvY2FsZXMsXG4gIG51bWJlcnMsXG4gIHBhcmVudFRhYmxlTmFtZSxcbiAgcGF0aCxcbiAgcmVsYXRpb25zaGlwcyxcbiAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICByb3csXG4gIHNlbGVjdHMsXG4gIHRleHRzLFxufTogQXJncykgPT4ge1xuICBmaWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICBsZXQgY29sdW1uTmFtZSA9ICcnXG4gICAgbGV0IGZpZWxkTmFtZSA9ICcnXG4gICAgbGV0IGZpZWxkRGF0YTogdW5rbm93blxuXG4gICAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgICBjb2x1bW5OYW1lID0gYCR7Y29sdW1uUHJlZml4IHx8ICcnfSR7dG9TbmFrZUNhc2UoZmllbGQubmFtZSl9YFxuICAgICAgZmllbGROYW1lID0gYCR7ZmllbGRQcmVmaXggfHwgJyd9JHtmaWVsZC5uYW1lfWBcbiAgICAgIGZpZWxkRGF0YSA9IGRhdGFbZmllbGQubmFtZV1cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2FycmF5Jykge1xuICAgICAgY29uc3QgYXJyYXlUYWJsZU5hbWUgPSBhZGFwdGVyLnRhYmxlTmFtZU1hcC5nZXQoYCR7cGFyZW50VGFibGVOYW1lfV8ke2NvbHVtbk5hbWV9YClcblxuICAgICAgaWYgKCFhcnJheXNbYXJyYXlUYWJsZU5hbWVdKSBhcnJheXNbYXJyYXlUYWJsZU5hbWVdID0gW11cblxuICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICBpZiAodHlwZW9mIGRhdGFbZmllbGQubmFtZV0gPT09ICdvYmplY3QnICYmIGRhdGFbZmllbGQubmFtZV0gIT09IG51bGwpIHtcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhkYXRhW2ZpZWxkLm5hbWVdKS5mb3JFYWNoKChbbG9jYWxlS2V5LCBsb2NhbGVEYXRhXSkgPT4ge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobG9jYWxlRGF0YSkpIHtcbiAgICAgICAgICAgICAgY29uc3QgbmV3Um93cyA9IHRyYW5zZm9ybUFycmF5KHtcbiAgICAgICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgICAgIGFycmF5VGFibGVOYW1lLFxuICAgICAgICAgICAgICAgIGJhc2VUYWJsZU5hbWUsXG4gICAgICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgICAgIGJsb2Nrc1RvRGVsZXRlLFxuICAgICAgICAgICAgICAgIGRhdGE6IGxvY2FsZURhdGEsXG4gICAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgICAgbG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgICAgICAgICAgIHNlbGVjdHMsXG4gICAgICAgICAgICAgICAgdGV4dHMsXG4gICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgYXJyYXlzW2FycmF5VGFibGVOYW1lXSA9IGFycmF5c1thcnJheVRhYmxlTmFtZV0uY29uY2F0KG5ld1Jvd3MpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbmV3Um93cyA9IHRyYW5zZm9ybUFycmF5KHtcbiAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgIGFycmF5VGFibGVOYW1lLFxuICAgICAgICAgIGJhc2VUYWJsZU5hbWUsXG4gICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgIGJsb2Nrc1RvRGVsZXRlLFxuICAgICAgICAgIGRhdGE6IGRhdGFbZmllbGQubmFtZV0sXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICBwYXRoLFxuICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgICAgIHNlbGVjdHMsXG4gICAgICAgICAgdGV4dHMsXG4gICAgICAgIH0pXG5cbiAgICAgICAgYXJyYXlzW2FycmF5VGFibGVOYW1lXSA9IGFycmF5c1thcnJheVRhYmxlTmFtZV0uY29uY2F0KG5ld1Jvd3MpXG4gICAgICB9XG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAnYmxvY2tzJykge1xuICAgICAgZmllbGQuYmxvY2tzLmZvckVhY2goKHsgc2x1ZyB9KSA9PiB7XG4gICAgICAgIGJsb2Nrc1RvRGVsZXRlLmFkZCh0b1NuYWtlQ2FzZShzbHVnKSlcbiAgICAgIH0pXG5cbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBkYXRhW2ZpZWxkLm5hbWVdID09PSAnb2JqZWN0JyAmJiBkYXRhW2ZpZWxkLm5hbWVdICE9PSBudWxsKSB7XG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoZGF0YVtmaWVsZC5uYW1lXSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsZURhdGEpKSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybUJsb2Nrcyh7XG4gICAgICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgICBibG9ja3NUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICBkYXRhOiBsb2NhbGVEYXRhLFxuICAgICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICAgIGxvY2FsZTogbG9jYWxlS2V5LFxuICAgICAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoaXNBcnJheU9mUm93cyhmaWVsZERhdGEpKSB7XG4gICAgICAgIHRyYW5zZm9ybUJsb2Nrcyh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICBibG9ja3NUb0RlbGV0ZSxcbiAgICAgICAgICBkYXRhOiBmaWVsZERhdGEsXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICBwYXRoLFxuICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgICAgIHNlbGVjdHMsXG4gICAgICAgICAgdGV4dHMsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAnZ3JvdXAnKSB7XG4gICAgICBpZiAodHlwZW9mIGRhdGFbZmllbGQubmFtZV0gPT09ICdvYmplY3QnICYmIGRhdGFbZmllbGQubmFtZV0gIT09IG51bGwpIHtcbiAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGRhdGFbZmllbGQubmFtZV0pLmZvckVhY2goKFtsb2NhbGVLZXksIGxvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICAgIGFycmF5cyxcbiAgICAgICAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgICBibG9ja3NUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgY29sdW1uUHJlZml4OiBgJHtjb2x1bW5OYW1lfV9gLFxuICAgICAgICAgICAgICBkYXRhOiBsb2NhbGVEYXRhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICAgICAgICAgICBleGlzdGluZ0xvY2FsZXMsXG4gICAgICAgICAgICAgIGZpZWxkUHJlZml4OiBgJHtmaWVsZE5hbWV9X2AsXG4gICAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgICBmb3JjZWRMb2NhbGU6IGxvY2FsZUtleSxcbiAgICAgICAgICAgICAgbG9jYWxlcyxcbiAgICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgICAgcGFyZW50VGFibGVOYW1lLFxuICAgICAgICAgICAgICBwYXRoOiBgJHtwYXRoIHx8ICcnfSR7ZmllbGQubmFtZX0uYCxcbiAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgICAgICAgICByb3csXG4gICAgICAgICAgICAgIHNlbGVjdHMsXG4gICAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICBhcnJheXMsXG4gICAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgYmxvY2tzVG9EZWxldGUsXG4gICAgICAgICAgICBjb2x1bW5QcmVmaXg6IGAke2NvbHVtbk5hbWV9X2AsXG4gICAgICAgICAgICBkYXRhOiBkYXRhW2ZpZWxkLm5hbWVdIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICAgICAgICAgZXhpc3RpbmdMb2NhbGVzLFxuICAgICAgICAgICAgZmllbGRQcmVmaXg6IGAke2ZpZWxkTmFtZX1fYCxcbiAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgbG9jYWxlcyxcbiAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgICBwYXRoOiBgJHtwYXRoIHx8ICcnfSR7ZmllbGQubmFtZX0uYCxcbiAgICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUsXG4gICAgICAgICAgICByb3csXG4gICAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICAgICAgdGV4dHMsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3RhYnMnKSB7XG4gICAgICBmaWVsZC50YWJzLmZvckVhY2goKHRhYikgPT4ge1xuICAgICAgICBpZiAoJ25hbWUnIGluIHRhYikge1xuICAgICAgICAgIGlmICh0eXBlb2YgZGF0YVt0YWIubmFtZV0gPT09ICdvYmplY3QnICYmIGRhdGFbdGFiLm5hbWVdICE9PSBudWxsKSB7XG4gICAgICAgICAgICBpZiAodGFiLmxvY2FsaXplZCkge1xuICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyhkYXRhW3RhYi5uYW1lXSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgICAgICAgYXJyYXlzLFxuICAgICAgICAgICAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgICAgIGJsb2Nrc1RvRGVsZXRlLFxuICAgICAgICAgICAgICAgICAgY29sdW1uUHJlZml4OiBgJHtjb2x1bW5QcmVmaXggfHwgJyd9JHt0b1NuYWtlQ2FzZSh0YWIubmFtZSl9X2AsXG4gICAgICAgICAgICAgICAgICBkYXRhOiBsb2NhbGVEYXRhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICAgICAgICAgICAgICAgZXhpc3RpbmdMb2NhbGVzLFxuICAgICAgICAgICAgICAgICAgZmllbGRQcmVmaXg6IGAke2ZpZWxkUHJlZml4IHx8ICcnfSR7dGFiLm5hbWV9X2AsXG4gICAgICAgICAgICAgICAgICBmaWVsZHM6IHRhYi5maWVsZHMsXG4gICAgICAgICAgICAgICAgICBmb3JjZWRMb2NhbGU6IGxvY2FsZUtleSxcbiAgICAgICAgICAgICAgICAgIGxvY2FsZXMsXG4gICAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgICAgcGFyZW50VGFibGVOYW1lLFxuICAgICAgICAgICAgICAgICAgcGF0aDogYCR7cGF0aCB8fCAnJ30ke3RhYi5uYW1lfS5gLFxuICAgICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICAgIHJvdyxcbiAgICAgICAgICAgICAgICAgIHNlbGVjdHMsXG4gICAgICAgICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICAgICAgYXJyYXlzLFxuICAgICAgICAgICAgICAgIGJhc2VUYWJsZU5hbWUsXG4gICAgICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgICAgIGJsb2Nrc1RvRGVsZXRlLFxuICAgICAgICAgICAgICAgIGNvbHVtblByZWZpeDogYCR7Y29sdW1uUHJlZml4IHx8ICcnfSR7dG9TbmFrZUNhc2UodGFiLm5hbWUpfV9gLFxuICAgICAgICAgICAgICAgIGRhdGE6IGRhdGFbdGFiLm5hbWVdIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICAgICAgICAgICAgIGV4aXN0aW5nTG9jYWxlcyxcbiAgICAgICAgICAgICAgICBmaWVsZFByZWZpeDogYCR7ZmllbGRQcmVmaXggfHwgJyd9JHt0YWIubmFtZX1fYCxcbiAgICAgICAgICAgICAgICBmaWVsZHM6IHRhYi5maWVsZHMsXG4gICAgICAgICAgICAgICAgbG9jYWxlcyxcbiAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgICBwYXRoOiBgJHtwYXRoIHx8ICcnfSR7dGFiLm5hbWV9LmAsXG4gICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUsXG4gICAgICAgICAgICAgICAgcm93LFxuICAgICAgICAgICAgICAgIHNlbGVjdHMsXG4gICAgICAgICAgICAgICAgdGV4dHMsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICBhcnJheXMsXG4gICAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgYmxvY2tzVG9EZWxldGUsXG4gICAgICAgICAgICBjb2x1bW5QcmVmaXgsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgZXhpc3RpbmdMb2NhbGVzLFxuICAgICAgICAgICAgZmllbGRQcmVmaXgsXG4gICAgICAgICAgICBmaWVsZHM6IHRhYi5maWVsZHMsXG4gICAgICAgICAgICBsb2NhbGVzLFxuICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgICAgICAgcm93LFxuICAgICAgICAgICAgc2VsZWN0cyxcbiAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICdyb3cnIHx8IGZpZWxkLnR5cGUgPT09ICdjb2xsYXBzaWJsZScpIHtcbiAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgYWRhcHRlcixcbiAgICAgICAgYXJyYXlzLFxuICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICBibG9ja3MsXG4gICAgICAgIGJsb2Nrc1RvRGVsZXRlLFxuICAgICAgICBjb2x1bW5QcmVmaXgsXG4gICAgICAgIGRhdGEsXG4gICAgICAgIGV4aXN0aW5nTG9jYWxlcyxcbiAgICAgICAgZmllbGRQcmVmaXgsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBsb2NhbGVzLFxuICAgICAgICBudW1iZXJzLFxuICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgIHBhdGgsXG4gICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgcm93LFxuICAgICAgICBzZWxlY3RzLFxuICAgICAgICB0ZXh0cyxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICdyZWxhdGlvbnNoaXAnIHx8IGZpZWxkLnR5cGUgPT09ICd1cGxvYWQnKSB7XG4gICAgICBjb25zdCByZWxhdGlvbnNoaXBQYXRoID0gYCR7cGF0aCB8fCAnJ30ke2ZpZWxkLm5hbWV9YFxuXG4gICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZmllbGREYXRhID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGZpZWxkRGF0YSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmIChsb2NhbGVEYXRhID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZS5wdXNoKHtcbiAgICAgICAgICAgICAgICBsb2NhbGU6IGxvY2FsZUtleSxcbiAgICAgICAgICAgICAgICBwYXRoOiByZWxhdGlvbnNoaXBQYXRoLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdHJhbnNmb3JtUmVsYXRpb25zaGlwKHtcbiAgICAgICAgICAgICAgYmFzZVJvdzoge1xuICAgICAgICAgICAgICAgIGxvY2FsZTogbG9jYWxlS2V5LFxuICAgICAgICAgICAgICAgIHBhdGg6IHJlbGF0aW9uc2hpcFBhdGgsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGRhdGE6IGxvY2FsZURhdGEsXG4gICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoZmllbGREYXRhID09PSBudWxsIHx8IChBcnJheS5pc0FycmF5KGZpZWxkRGF0YSkgJiYgZmllbGREYXRhLmxlbmd0aCA9PT0gMCkpIHtcbiAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUucHVzaCh7IHBhdGg6IHJlbGF0aW9uc2hpcFBhdGggfSlcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIHRyYW5zZm9ybVJlbGF0aW9uc2hpcCh7XG4gICAgICAgICAgYmFzZVJvdzoge1xuICAgICAgICAgICAgcGF0aDogcmVsYXRpb25zaGlwUGF0aCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRhdGE6IGZpZWxkRGF0YSxcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3RleHQnICYmIGZpZWxkLmhhc01hbnkpIHtcbiAgICAgIGNvbnN0IHRleHRQYXRoID0gYCR7cGF0aCB8fCAnJ30ke2ZpZWxkLm5hbWV9YFxuXG4gICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZmllbGREYXRhID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGZpZWxkRGF0YSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsZURhdGEpKSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybVRleHRzKHtcbiAgICAgICAgICAgICAgICBiYXNlUm93OiB7XG4gICAgICAgICAgICAgICAgICBsb2NhbGU6IGxvY2FsZUtleSxcbiAgICAgICAgICAgICAgICAgIHBhdGg6IHRleHRQYXRoLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZGF0YTogbG9jYWxlRGF0YSxcbiAgICAgICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoZmllbGREYXRhKSkge1xuICAgICAgICB0cmFuc2Zvcm1UZXh0cyh7XG4gICAgICAgICAgYmFzZVJvdzoge1xuICAgICAgICAgICAgcGF0aDogdGV4dFBhdGgsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBkYXRhOiBmaWVsZERhdGEsXG4gICAgICAgICAgdGV4dHMsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAnbnVtYmVyJyAmJiBmaWVsZC5oYXNNYW55KSB7XG4gICAgICBjb25zdCBudW1iZXJQYXRoID0gYCR7cGF0aCB8fCAnJ30ke2ZpZWxkLm5hbWV9YFxuXG4gICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZmllbGREYXRhID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGZpZWxkRGF0YSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsZURhdGEpKSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybU51bWJlcnMoe1xuICAgICAgICAgICAgICAgIGJhc2VSb3c6IHtcbiAgICAgICAgICAgICAgICAgIGxvY2FsZTogbG9jYWxlS2V5LFxuICAgICAgICAgICAgICAgICAgcGF0aDogbnVtYmVyUGF0aCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGRhdGE6IGxvY2FsZURhdGEsXG4gICAgICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoZmllbGREYXRhKSkge1xuICAgICAgICB0cmFuc2Zvcm1OdW1iZXJzKHtcbiAgICAgICAgICBiYXNlUm93OiB7XG4gICAgICAgICAgICBwYXRoOiBudW1iZXJQYXRoLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZGF0YTogZmllbGREYXRhLFxuICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAnc2VsZWN0JyAmJiBmaWVsZC5oYXNNYW55KSB7XG4gICAgICBjb25zdCBzZWxlY3RUYWJsZU5hbWUgPSBhZGFwdGVyLnRhYmxlTmFtZU1hcC5nZXQoYCR7cGFyZW50VGFibGVOYW1lfV8ke2NvbHVtbk5hbWV9YClcbiAgICAgIGlmICghc2VsZWN0c1tzZWxlY3RUYWJsZU5hbWVdKSBzZWxlY3RzW3NlbGVjdFRhYmxlTmFtZV0gPSBbXVxuXG4gICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZGF0YVtmaWVsZC5uYW1lXSA9PT0gJ29iamVjdCcgJiYgZGF0YVtmaWVsZC5uYW1lXSAhPT0gbnVsbCkge1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGRhdGFbZmllbGQubmFtZV0pLmZvckVhY2goKFtsb2NhbGVLZXksIGxvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShsb2NhbGVEYXRhKSkge1xuICAgICAgICAgICAgICBjb25zdCBuZXdSb3dzID0gdHJhbnNmb3JtU2VsZWN0cyh7XG4gICAgICAgICAgICAgICAgaWQ6IGRhdGEuX3V1aWQgfHwgZGF0YS5pZCxcbiAgICAgICAgICAgICAgICBkYXRhOiBsb2NhbGVEYXRhLFxuICAgICAgICAgICAgICAgIGxvY2FsZTogbG9jYWxlS2V5LFxuICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgIHNlbGVjdHNbc2VsZWN0VGFibGVOYW1lXSA9IHNlbGVjdHNbc2VsZWN0VGFibGVOYW1lXS5jb25jYXQobmV3Um93cylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoZGF0YVtmaWVsZC5uYW1lXSkpIHtcbiAgICAgICAgY29uc3QgbmV3Um93cyA9IHRyYW5zZm9ybVNlbGVjdHMoe1xuICAgICAgICAgIGlkOiBkYXRhLl91dWlkIHx8IGRhdGEuaWQsXG4gICAgICAgICAgZGF0YTogZGF0YVtmaWVsZC5uYW1lXSxcbiAgICAgICAgfSlcblxuICAgICAgICBzZWxlY3RzW3NlbGVjdFRhYmxlTmFtZV0gPSBzZWxlY3RzW3NlbGVjdFRhYmxlTmFtZV0uY29uY2F0KG5ld1Jvd3MpXG4gICAgICB9XG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSkge1xuICAgICAgY29uc3QgdmFsdWVzVG9UcmFuc2Zvcm06IHsgbG9jYWxlS2V5Pzogc3RyaW5nOyByZWY6IHVua25vd247IHZhbHVlOiB1bmtub3duIH1bXSA9IFtdXG5cbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBmaWVsZERhdGEgPT09ICdvYmplY3QnICYmIGZpZWxkRGF0YSAhPT0gbnVsbCkge1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGZpZWxkRGF0YSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmICghbG9jYWxlc1tsb2NhbGVLZXldKSBsb2NhbGVzW2xvY2FsZUtleV0gPSB7fVxuXG4gICAgICAgICAgICB2YWx1ZXNUb1RyYW5zZm9ybS5wdXNoKHtcbiAgICAgICAgICAgICAgbG9jYWxlS2V5LFxuICAgICAgICAgICAgICByZWY6IGxvY2FsZXMsXG4gICAgICAgICAgICAgIHZhbHVlOiBsb2NhbGVEYXRhLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgcmVmID0gcm93XG5cbiAgICAgICAgaWYgKGZvcmNlZExvY2FsZSkge1xuICAgICAgICAgIGlmICghbG9jYWxlc1tmb3JjZWRMb2NhbGVdKSBsb2NhbGVzW2ZvcmNlZExvY2FsZV0gPSB7fVxuICAgICAgICAgIHJlZiA9IGxvY2FsZXNbZm9yY2VkTG9jYWxlXVxuICAgICAgICB9XG5cbiAgICAgICAgdmFsdWVzVG9UcmFuc2Zvcm0ucHVzaCh7IHJlZiwgdmFsdWU6IGZpZWxkRGF0YSB9KVxuICAgICAgfVxuXG4gICAgICB2YWx1ZXNUb1RyYW5zZm9ybS5mb3JFYWNoKCh7IGxvY2FsZUtleSwgcmVmLCB2YWx1ZSB9KSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgbGV0IGZvcm1hdHRlZFZhbHVlID0gdmFsdWVcblxuICAgICAgICAgIGlmIChmaWVsZC50eXBlID09PSAnZGF0ZScgJiYgZmllbGQubmFtZSA9PT0gJ3VwZGF0ZWRBdCcpIHtcbiAgICAgICAgICAgIGZvcm1hdHRlZFZhbHVlID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGxvY2FsZUtleSkge1xuICAgICAgICAgICAgcmVmW2xvY2FsZUtleV1bZmllbGROYW1lXSA9IGZvcm1hdHRlZFZhbHVlXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlZltmaWVsZE5hbWVdID0gZm9ybWF0dGVkVmFsdWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICB9KVxufVxuIl0sIm5hbWVzIjpbInRyYXZlcnNlRmllbGRzIiwiYWRhcHRlciIsImFycmF5cyIsImJhc2VUYWJsZU5hbWUiLCJibG9ja3MiLCJibG9ja3NUb0RlbGV0ZSIsImNvbHVtblByZWZpeCIsImRhdGEiLCJleGlzdGluZ0xvY2FsZXMiLCJmaWVsZFByZWZpeCIsImZpZWxkcyIsImZvcmNlZExvY2FsZSIsImxvY2FsZXMiLCJudW1iZXJzIiwicGFyZW50VGFibGVOYW1lIiwicGF0aCIsInJlbGF0aW9uc2hpcHMiLCJyZWxhdGlvbnNoaXBzVG9EZWxldGUiLCJyb3ciLCJzZWxlY3RzIiwidGV4dHMiLCJmb3JFYWNoIiwiZmllbGQiLCJjb2x1bW5OYW1lIiwiZmllbGROYW1lIiwiZmllbGREYXRhIiwiZmllbGRBZmZlY3RzRGF0YSIsInRvU25ha2VDYXNlIiwibmFtZSIsInR5cGUiLCJhcnJheVRhYmxlTmFtZSIsInRhYmxlTmFtZU1hcCIsImdldCIsImxvY2FsaXplZCIsIk9iamVjdCIsImVudHJpZXMiLCJsb2NhbGVLZXkiLCJsb2NhbGVEYXRhIiwiQXJyYXkiLCJpc0FycmF5IiwibmV3Um93cyIsInRyYW5zZm9ybUFycmF5IiwibG9jYWxlIiwiY29uY2F0Iiwic2x1ZyIsImFkZCIsInRyYW5zZm9ybUJsb2NrcyIsImlzQXJyYXlPZlJvd3MiLCJ0YWJzIiwidGFiIiwicmVsYXRpb25zaGlwUGF0aCIsInB1c2giLCJ0cmFuc2Zvcm1SZWxhdGlvbnNoaXAiLCJiYXNlUm93IiwibGVuZ3RoIiwiaGFzTWFueSIsInRleHRQYXRoIiwidHJhbnNmb3JtVGV4dHMiLCJudW1iZXJQYXRoIiwidHJhbnNmb3JtTnVtYmVycyIsInNlbGVjdFRhYmxlTmFtZSIsInRyYW5zZm9ybVNlbGVjdHMiLCJpZCIsIl91dWlkIiwidmFsdWVzVG9UcmFuc2Zvcm0iLCJyZWYiLCJ2YWx1ZSIsImZvcm1hdHRlZFZhbHVlIiwiRGF0ZSIsInRvSVNPU3RyaW5nIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
468
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vd3JpdGUvdHJhdmVyc2VGaWVsZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhIH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCB0b1NuYWtlQ2FzZSBmcm9tICd0by1zbmFrZS1jYXNlJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBBcnJheVJvd1RvSW5zZXJ0LCBCbG9ja1Jvd1RvSW5zZXJ0LCBSZWxhdGlvbnNoaXBUb0RlbGV0ZSB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGlzQXJyYXlPZlJvd3MgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvaXNBcnJheU9mUm93cydcbmltcG9ydCB7IHRyYW5zZm9ybUFycmF5IH0gZnJvbSAnLi9hcnJheSdcbmltcG9ydCB7IHRyYW5zZm9ybUJsb2NrcyB9IGZyb20gJy4vYmxvY2tzJ1xuaW1wb3J0IHsgdHJhbnNmb3JtTnVtYmVycyB9IGZyb20gJy4vbnVtYmVycydcbmltcG9ydCB7IHRyYW5zZm9ybVJlbGF0aW9uc2hpcCB9IGZyb20gJy4vcmVsYXRpb25zaGlwcydcbmltcG9ydCB7IHRyYW5zZm9ybVNlbGVjdHMgfSBmcm9tICcuL3NlbGVjdHMnXG5pbXBvcnQgeyB0cmFuc2Zvcm1UZXh0cyB9IGZyb20gJy4vdGV4dHMnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGFycmF5czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IEFycmF5Um93VG9JbnNlcnRbXVxuICB9XG4gIC8qKlxuICAgKiBUaGlzIGlzIHRoZSBuYW1lIG9mIHRoZSBiYXNlIHRhYmxlXG4gICAqL1xuICBiYXNlVGFibGVOYW1lOiBzdHJpbmdcbiAgYmxvY2tzOiB7XG4gICAgW2Jsb2NrVHlwZTogc3RyaW5nXTogQmxvY2tSb3dUb0luc2VydFtdXG4gIH1cbiAgYmxvY2tzVG9EZWxldGU6IFNldDxzdHJpbmc+XG4gIC8qKlxuICAgKiBBIHNuYWtlLWNhc2UgZmllbGQgcHJlZml4LCByZXByZXNlbnRpbmcgcHJpb3IgZmllbGRzXG4gICAqIEV4OiBteV9ncm91cF9teV9uYW1lZF90YWJfXG4gICAqL1xuICBjb2x1bW5QcmVmaXg6IHN0cmluZ1xuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBleGlzdGluZ0xvY2FsZXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIC8qKlxuICAgKiBBIHByZWZpeCB0aGF0IHdpbGwgcmV0YWluIGNhbWVsLWNhc2UgZm9ybWF0dGluZywgcmVwcmVzZW50aW5nIHByaW9yIGZpZWxkc1xuICAgKiBFeDogbXlHcm91cF9teU5hbWVkVGFiX1xuICAgKi9cbiAgZmllbGRQcmVmaXg6IHN0cmluZ1xuICBmaWVsZHM6IEZpZWxkW11cbiAgZm9yY2VkTG9jYWxlPzogc3RyaW5nXG4gIGxvY2FsZXM6IHtcbiAgICBbbG9jYWxlOiBzdHJpbmddOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICB9XG4gIG51bWJlcnM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgLyoqXG4gICAqIFRoaXMgaXMgdGhlIG5hbWUgb2YgdGhlIHBhcmVudCB0YWJsZVxuICAgKi9cbiAgcGFyZW50VGFibGVOYW1lOiBzdHJpbmdcbiAgcGF0aDogc3RyaW5nXG4gIHJlbGF0aW9uc2hpcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgcmVsYXRpb25zaGlwc1RvRGVsZXRlOiBSZWxhdGlvbnNoaXBUb0RlbGV0ZVtdXG4gIHJvdzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgc2VsZWN0czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgfVxuICB0ZXh0czogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxuICAvKipcbiAgICogU2V0IHRvIGEgbG9jYWxlIGNvZGUgaWYgdGhpcyBzZXQgb2YgZmllbGRzIGlzIHRyYXZlcnNlZCB3aXRoaW4gYVxuICAgKiBsb2NhbGl6ZWQgYXJyYXkgb3IgYmxvY2sgZmllbGRcbiAgICovXG4gIHdpdGhpbkFycmF5T3JCbG9ja0xvY2FsZT86IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgdHJhdmVyc2VGaWVsZHMgPSAoe1xuICBhZGFwdGVyLFxuICBhcnJheXMsXG4gIGJhc2VUYWJsZU5hbWUsXG4gIGJsb2NrcyxcbiAgYmxvY2tzVG9EZWxldGUsXG4gIGNvbHVtblByZWZpeCxcbiAgZGF0YSxcbiAgZXhpc3RpbmdMb2NhbGVzLFxuICBmaWVsZFByZWZpeCxcbiAgZmllbGRzLFxuICBmb3JjZWRMb2NhbGUsXG4gIGxvY2FsZXMsXG4gIG51bWJlcnMsXG4gIHBhcmVudFRhYmxlTmFtZSxcbiAgcGF0aCxcbiAgcmVsYXRpb25zaGlwcyxcbiAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICByb3csXG4gIHNlbGVjdHMsXG4gIHRleHRzLFxuICB3aXRoaW5BcnJheU9yQmxvY2tMb2NhbGUsXG59OiBBcmdzKSA9PiB7XG4gIGZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgIGxldCBjb2x1bW5OYW1lID0gJydcbiAgICBsZXQgZmllbGROYW1lID0gJydcbiAgICBsZXQgZmllbGREYXRhOiB1bmtub3duXG5cbiAgICBpZiAoZmllbGRBZmZlY3RzRGF0YShmaWVsZCkpIHtcbiAgICAgIGNvbHVtbk5hbWUgPSBgJHtjb2x1bW5QcmVmaXggfHwgJyd9JHt0b1NuYWtlQ2FzZShmaWVsZC5uYW1lKX1gXG4gICAgICBmaWVsZE5hbWUgPSBgJHtmaWVsZFByZWZpeCB8fCAnJ30ke2ZpZWxkLm5hbWV9YFxuICAgICAgZmllbGREYXRhID0gZGF0YVtmaWVsZC5uYW1lXVxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAnYXJyYXknKSB7XG4gICAgICBjb25zdCBhcnJheVRhYmxlTmFtZSA9IGFkYXB0ZXIudGFibGVOYW1lTWFwLmdldChgJHtwYXJlbnRUYWJsZU5hbWV9XyR7Y29sdW1uTmFtZX1gKVxuXG4gICAgICBpZiAoIWFycmF5c1thcnJheVRhYmxlTmFtZV0pIGFycmF5c1thcnJheVRhYmxlTmFtZV0gPSBbXVxuXG4gICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZGF0YVtmaWVsZC5uYW1lXSA9PT0gJ29iamVjdCcgJiYgZGF0YVtmaWVsZC5uYW1lXSAhPT0gbnVsbCkge1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGRhdGFbZmllbGQubmFtZV0pLmZvckVhY2goKFtsb2NhbGVLZXksIGxvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShsb2NhbGVEYXRhKSkge1xuICAgICAgICAgICAgICBjb25zdCBuZXdSb3dzID0gdHJhbnNmb3JtQXJyYXkoe1xuICAgICAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICAgICAgYXJyYXlUYWJsZU5hbWUsXG4gICAgICAgICAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgICAgICAgYmxvY2tzVG9EZWxldGUsXG4gICAgICAgICAgICAgICAgZGF0YTogbG9jYWxlRGF0YSxcbiAgICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgICBsb2NhbGU6IGxvY2FsZUtleSxcbiAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUsXG4gICAgICAgICAgICAgICAgc2VsZWN0cyxcbiAgICAgICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgICAgICB3aXRoaW5BcnJheU9yQmxvY2tMb2NhbGU6IGxvY2FsZUtleSxcbiAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICBhcnJheXNbYXJyYXlUYWJsZU5hbWVdID0gYXJyYXlzW2FycmF5VGFibGVOYW1lXS5jb25jYXQobmV3Um93cylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBuZXdSb3dzID0gdHJhbnNmb3JtQXJyYXkoe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgYXJyYXlUYWJsZU5hbWUsXG4gICAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgYmxvY2tzVG9EZWxldGUsXG4gICAgICAgICAgZGF0YTogZGF0YVtmaWVsZC5uYW1lXSxcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUsXG4gICAgICAgICAgc2VsZWN0cyxcbiAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICB3aXRoaW5BcnJheU9yQmxvY2tMb2NhbGUsXG4gICAgICAgIH0pXG5cbiAgICAgICAgYXJyYXlzW2FycmF5VGFibGVOYW1lXSA9IGFycmF5c1thcnJheVRhYmxlTmFtZV0uY29uY2F0KG5ld1Jvd3MpXG4gICAgICB9XG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAnYmxvY2tzJykge1xuICAgICAgZmllbGQuYmxvY2tzLmZvckVhY2goKHsgc2x1ZyB9KSA9PiB7XG4gICAgICAgIGJsb2Nrc1RvRGVsZXRlLmFkZCh0b1NuYWtlQ2FzZShzbHVnKSlcbiAgICAgIH0pXG5cbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBkYXRhW2ZpZWxkLm5hbWVdID09PSAnb2JqZWN0JyAmJiBkYXRhW2ZpZWxkLm5hbWVdICE9PSBudWxsKSB7XG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoZGF0YVtmaWVsZC5uYW1lXSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsZURhdGEpKSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybUJsb2Nrcyh7XG4gICAgICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgICBibG9ja3NUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICBkYXRhOiBsb2NhbGVEYXRhLFxuICAgICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICAgIGxvY2FsZTogbG9jYWxlS2V5LFxuICAgICAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgICAgIHdpdGhpbkFycmF5T3JCbG9ja0xvY2FsZTogbG9jYWxlS2V5LFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoaXNBcnJheU9mUm93cyhmaWVsZERhdGEpKSB7XG4gICAgICAgIHRyYW5zZm9ybUJsb2Nrcyh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICBibG9ja3NUb0RlbGV0ZSxcbiAgICAgICAgICBkYXRhOiBmaWVsZERhdGEsXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICBwYXRoLFxuICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgICAgIHNlbGVjdHMsXG4gICAgICAgICAgdGV4dHMsXG4gICAgICAgICAgd2l0aGluQXJyYXlPckJsb2NrTG9jYWxlLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2dyb3VwJykge1xuICAgICAgaWYgKHR5cGVvZiBkYXRhW2ZpZWxkLm5hbWVdID09PSAnb2JqZWN0JyAmJiBkYXRhW2ZpZWxkLm5hbWVdICE9PSBudWxsKSB7XG4gICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhkYXRhW2ZpZWxkLm5hbWVdKS5mb3JFYWNoKChbbG9jYWxlS2V5LCBsb2NhbGVEYXRhXSkgPT4ge1xuICAgICAgICAgICAgLy8gcHJlc2VydmUgYXJyYXkgSUQgaWYgdGhlcmUgaXNcbiAgICAgICAgICAgIGxvY2FsZURhdGEuX3V1aWQgPSBkYXRhLmlkIHx8IGRhdGEuX3V1aWRcblxuICAgICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgICBhcnJheXMsXG4gICAgICAgICAgICAgIGJhc2VUYWJsZU5hbWUsXG4gICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgYmxvY2tzVG9EZWxldGUsXG4gICAgICAgICAgICAgIGNvbHVtblByZWZpeDogYCR7Y29sdW1uTmFtZX1fYCxcbiAgICAgICAgICAgICAgZGF0YTogbG9jYWxlRGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgICAgICAgZXhpc3RpbmdMb2NhbGVzLFxuICAgICAgICAgICAgICBmaWVsZFByZWZpeDogYCR7ZmllbGROYW1lfV9gLFxuICAgICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgICAgZm9yY2VkTG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgIGxvY2FsZXMsXG4gICAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgcGF0aDogYCR7cGF0aCB8fCAnJ30ke2ZpZWxkLm5hbWV9LmAsXG4gICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgcm93LFxuICAgICAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgICAgd2l0aGluQXJyYXlPckJsb2NrTG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gcHJlc2VydmUgYXJyYXkgSUQgaWYgdGhlcmUgaXNcbiAgICAgICAgICBjb25zdCBncm91cERhdGEgPSBkYXRhW2ZpZWxkLm5hbWVdIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgICAgICAgZ3JvdXBEYXRhLl91dWlkID0gZGF0YS5pZCB8fCBkYXRhLl91dWlkXG5cbiAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgYXJyYXlzLFxuICAgICAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgIGJsb2Nrc1RvRGVsZXRlLFxuICAgICAgICAgICAgY29sdW1uUHJlZml4OiBgJHtjb2x1bW5OYW1lfV9gLFxuICAgICAgICAgICAgZGF0YTogZ3JvdXBEYXRhLFxuICAgICAgICAgICAgZXhpc3RpbmdMb2NhbGVzLFxuICAgICAgICAgICAgZmllbGRQcmVmaXg6IGAke2ZpZWxkTmFtZX1fYCxcbiAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgbG9jYWxlcyxcbiAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgICBwYXRoOiBgJHtwYXRoIHx8ICcnfSR7ZmllbGQubmFtZX0uYCxcbiAgICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUsXG4gICAgICAgICAgICByb3csXG4gICAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICAgICAgdGV4dHMsXG4gICAgICAgICAgICB3aXRoaW5BcnJheU9yQmxvY2tMb2NhbGUsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3RhYnMnKSB7XG4gICAgICBmaWVsZC50YWJzLmZvckVhY2goKHRhYikgPT4ge1xuICAgICAgICBpZiAoJ25hbWUnIGluIHRhYikge1xuICAgICAgICAgIGlmICh0eXBlb2YgZGF0YVt0YWIubmFtZV0gPT09ICdvYmplY3QnICYmIGRhdGFbdGFiLm5hbWVdICE9PSBudWxsKSB7XG4gICAgICAgICAgICBpZiAodGFiLmxvY2FsaXplZCkge1xuICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyhkYXRhW3RhYi5uYW1lXSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgICAgICAvLyBwcmVzZXJ2ZSBhcnJheSBJRCBpZiB0aGVyZSBpc1xuICAgICAgICAgICAgICAgIGxvY2FsZURhdGEuX3V1aWQgPSBkYXRhLmlkIHx8IGRhdGEuX3V1aWRcblxuICAgICAgICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICAgICAgICBhcnJheXMsXG4gICAgICAgICAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgICAgICAgYmxvY2tzVG9EZWxldGUsXG4gICAgICAgICAgICAgICAgICBjb2x1bW5QcmVmaXg6IGAke2NvbHVtblByZWZpeCB8fCAnJ30ke3RvU25ha2VDYXNlKHRhYi5uYW1lKX1fYCxcbiAgICAgICAgICAgICAgICAgIGRhdGE6IGxvY2FsZURhdGEgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgICAgICAgICAgICAgICBleGlzdGluZ0xvY2FsZXMsXG4gICAgICAgICAgICAgICAgICBmaWVsZFByZWZpeDogYCR7ZmllbGRQcmVmaXggfHwgJyd9JHt0YWIubmFtZX1fYCxcbiAgICAgICAgICAgICAgICAgIGZpZWxkczogdGFiLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgIGZvcmNlZExvY2FsZTogbG9jYWxlS2V5LFxuICAgICAgICAgICAgICAgICAgbG9jYWxlcyxcbiAgICAgICAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgICAgICAgICBwYXRoOiBgJHtwYXRoIHx8ICcnfSR7dGFiLm5hbWV9LmAsXG4gICAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgICAgICAgICAgICAgcm93LFxuICAgICAgICAgICAgICAgICAgc2VsZWN0cyxcbiAgICAgICAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgICAgICAgd2l0aGluQXJyYXlPckJsb2NrTG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnN0IHRhYkRhdGEgPSBkYXRhW3RhYi5uYW1lXSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgICAgICAgICAgICAvLyBwcmVzZXJ2ZSBhcnJheSBJRCBpZiB0aGVyZSBpc1xuICAgICAgICAgICAgICB0YWJEYXRhLl91dWlkID0gZGF0YS5pZCB8fCBkYXRhLl91dWlkXG5cbiAgICAgICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICAgICAgYXJyYXlzLFxuICAgICAgICAgICAgICAgIGJhc2VUYWJsZU5hbWUsXG4gICAgICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgICAgIGJsb2Nrc1RvRGVsZXRlLFxuICAgICAgICAgICAgICAgIGNvbHVtblByZWZpeDogYCR7Y29sdW1uUHJlZml4IHx8ICcnfSR7dG9TbmFrZUNhc2UodGFiLm5hbWUpfV9gLFxuICAgICAgICAgICAgICAgIGRhdGE6IHRhYkRhdGEsXG4gICAgICAgICAgICAgICAgZXhpc3RpbmdMb2NhbGVzLFxuICAgICAgICAgICAgICAgIGZpZWxkUHJlZml4OiBgJHtmaWVsZFByZWZpeCB8fCAnJ30ke3RhYi5uYW1lfV9gLFxuICAgICAgICAgICAgICAgIGZpZWxkczogdGFiLmZpZWxkcyxcbiAgICAgICAgICAgICAgICBsb2NhbGVzLFxuICAgICAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICAgICAgcGFyZW50VGFibGVOYW1lLFxuICAgICAgICAgICAgICAgIHBhdGg6IGAke3BhdGggfHwgJyd9JHt0YWIubmFtZX0uYCxcbiAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICByb3csXG4gICAgICAgICAgICAgICAgc2VsZWN0cyxcbiAgICAgICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgICAgICB3aXRoaW5BcnJheU9yQmxvY2tMb2NhbGUsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICBhcnJheXMsXG4gICAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgYmxvY2tzVG9EZWxldGUsXG4gICAgICAgICAgICBjb2x1bW5QcmVmaXgsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgZXhpc3RpbmdMb2NhbGVzLFxuICAgICAgICAgICAgZmllbGRQcmVmaXgsXG4gICAgICAgICAgICBmaWVsZHM6IHRhYi5maWVsZHMsXG4gICAgICAgICAgICBsb2NhbGVzLFxuICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgICAgICAgcm93LFxuICAgICAgICAgICAgc2VsZWN0cyxcbiAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgd2l0aGluQXJyYXlPckJsb2NrTG9jYWxlLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICdyb3cnIHx8IGZpZWxkLnR5cGUgPT09ICdjb2xsYXBzaWJsZScpIHtcbiAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgYWRhcHRlcixcbiAgICAgICAgYXJyYXlzLFxuICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICBibG9ja3MsXG4gICAgICAgIGJsb2Nrc1RvRGVsZXRlLFxuICAgICAgICBjb2x1bW5QcmVmaXgsXG4gICAgICAgIGRhdGEsXG4gICAgICAgIGV4aXN0aW5nTG9jYWxlcyxcbiAgICAgICAgZmllbGRQcmVmaXgsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBmb3JjZWRMb2NhbGUsXG4gICAgICAgIGxvY2FsZXMsXG4gICAgICAgIG51bWJlcnMsXG4gICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgICByb3csXG4gICAgICAgIHNlbGVjdHMsXG4gICAgICAgIHRleHRzLFxuICAgICAgICB3aXRoaW5BcnJheU9yQmxvY2tMb2NhbGUsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAncmVsYXRpb25zaGlwJyB8fCBmaWVsZC50eXBlID09PSAndXBsb2FkJykge1xuICAgICAgY29uc3QgcmVsYXRpb25zaGlwUGF0aCA9IGAke3BhdGggfHwgJyd9JHtmaWVsZC5uYW1lfWBcblxuICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICBpZiAodHlwZW9mIGZpZWxkRGF0YSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhmaWVsZERhdGEpLmZvckVhY2goKFtsb2NhbGVLZXksIGxvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICBpZiAobG9jYWxlRGF0YSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUucHVzaCh7XG4gICAgICAgICAgICAgICAgbG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgICAgcGF0aDogcmVsYXRpb25zaGlwUGF0aCxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRyYW5zZm9ybVJlbGF0aW9uc2hpcCh7XG4gICAgICAgICAgICAgIGJhc2VSb3c6IHtcbiAgICAgICAgICAgICAgICBsb2NhbGU6IGxvY2FsZUtleSxcbiAgICAgICAgICAgICAgICBwYXRoOiByZWxhdGlvbnNoaXBQYXRoLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBkYXRhOiBsb2NhbGVEYXRhLFxuICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGZpZWxkRGF0YSA9PT0gbnVsbCB8fCAoQXJyYXkuaXNBcnJheShmaWVsZERhdGEpICYmIGZpZWxkRGF0YS5sZW5ndGggPT09IDApKSB7XG4gICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLnB1c2goeyBwYXRoOiByZWxhdGlvbnNoaXBQYXRoIH0pXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICB0cmFuc2Zvcm1SZWxhdGlvbnNoaXAoe1xuICAgICAgICAgIGJhc2VSb3c6IHtcbiAgICAgICAgICAgIGxvY2FsZTogd2l0aGluQXJyYXlPckJsb2NrTG9jYWxlLFxuICAgICAgICAgICAgcGF0aDogcmVsYXRpb25zaGlwUGF0aCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRhdGE6IGZpZWxkRGF0YSxcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3RleHQnICYmIGZpZWxkLmhhc01hbnkpIHtcbiAgICAgIGNvbnN0IHRleHRQYXRoID0gYCR7cGF0aCB8fCAnJ30ke2ZpZWxkLm5hbWV9YFxuXG4gICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZmllbGREYXRhID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGZpZWxkRGF0YSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsZURhdGEpKSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybVRleHRzKHtcbiAgICAgICAgICAgICAgICBiYXNlUm93OiB7XG4gICAgICAgICAgICAgICAgICBsb2NhbGU6IGxvY2FsZUtleSxcbiAgICAgICAgICAgICAgICAgIHBhdGg6IHRleHRQYXRoLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZGF0YTogbG9jYWxlRGF0YSxcbiAgICAgICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoZmllbGREYXRhKSkge1xuICAgICAgICB0cmFuc2Zvcm1UZXh0cyh7XG4gICAgICAgICAgYmFzZVJvdzoge1xuICAgICAgICAgICAgbG9jYWxlOiB3aXRoaW5BcnJheU9yQmxvY2tMb2NhbGUsXG4gICAgICAgICAgICBwYXRoOiB0ZXh0UGF0aCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRhdGE6IGZpZWxkRGF0YSxcbiAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICdudW1iZXInICYmIGZpZWxkLmhhc01hbnkpIHtcbiAgICAgIGNvbnN0IG51bWJlclBhdGggPSBgJHtwYXRoIHx8ICcnfSR7ZmllbGQubmFtZX1gXG5cbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBmaWVsZERhdGEgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoZmllbGREYXRhKS5mb3JFYWNoKChbbG9jYWxlS2V5LCBsb2NhbGVEYXRhXSkgPT4ge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobG9jYWxlRGF0YSkpIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtTnVtYmVycyh7XG4gICAgICAgICAgICAgICAgYmFzZVJvdzoge1xuICAgICAgICAgICAgICAgICAgbG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgICAgICBwYXRoOiBudW1iZXJQYXRoLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZGF0YTogbG9jYWxlRGF0YSxcbiAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShmaWVsZERhdGEpKSB7XG4gICAgICAgIHRyYW5zZm9ybU51bWJlcnMoe1xuICAgICAgICAgIGJhc2VSb3c6IHtcbiAgICAgICAgICAgIGxvY2FsZTogd2l0aGluQXJyYXlPckJsb2NrTG9jYWxlLFxuICAgICAgICAgICAgcGF0aDogbnVtYmVyUGF0aCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRhdGE6IGZpZWxkRGF0YSxcbiAgICAgICAgICBudW1iZXJzLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3NlbGVjdCcgJiYgZmllbGQuaGFzTWFueSkge1xuICAgICAgY29uc3Qgc2VsZWN0VGFibGVOYW1lID0gYWRhcHRlci50YWJsZU5hbWVNYXAuZ2V0KGAke3BhcmVudFRhYmxlTmFtZX1fJHtjb2x1bW5OYW1lfWApXG4gICAgICBpZiAoIXNlbGVjdHNbc2VsZWN0VGFibGVOYW1lXSkgc2VsZWN0c1tzZWxlY3RUYWJsZU5hbWVdID0gW11cblxuICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICBpZiAodHlwZW9mIGRhdGFbZmllbGQubmFtZV0gPT09ICdvYmplY3QnICYmIGRhdGFbZmllbGQubmFtZV0gIT09IG51bGwpIHtcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhkYXRhW2ZpZWxkLm5hbWVdKS5mb3JFYWNoKChbbG9jYWxlS2V5LCBsb2NhbGVEYXRhXSkgPT4ge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobG9jYWxlRGF0YSkpIHtcbiAgICAgICAgICAgICAgY29uc3QgbmV3Um93cyA9IHRyYW5zZm9ybVNlbGVjdHMoe1xuICAgICAgICAgICAgICAgIGlkOiBkYXRhLl91dWlkIHx8IGRhdGEuaWQsXG4gICAgICAgICAgICAgICAgZGF0YTogbG9jYWxlRGF0YSxcbiAgICAgICAgICAgICAgICBsb2NhbGU6IGxvY2FsZUtleSxcbiAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICBzZWxlY3RzW3NlbGVjdFRhYmxlTmFtZV0gPSBzZWxlY3RzW3NlbGVjdFRhYmxlTmFtZV0uY29uY2F0KG5ld1Jvd3MpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGRhdGFbZmllbGQubmFtZV0pKSB7XG4gICAgICAgIGNvbnN0IG5ld1Jvd3MgPSB0cmFuc2Zvcm1TZWxlY3RzKHtcbiAgICAgICAgICBpZDogZGF0YS5fdXVpZCB8fCBkYXRhLmlkLFxuICAgICAgICAgIGRhdGE6IGRhdGFbZmllbGQubmFtZV0sXG4gICAgICAgICAgbG9jYWxlOiB3aXRoaW5BcnJheU9yQmxvY2tMb2NhbGUsXG4gICAgICAgIH0pXG5cbiAgICAgICAgc2VsZWN0c1tzZWxlY3RUYWJsZU5hbWVdID0gc2VsZWN0c1tzZWxlY3RUYWJsZU5hbWVdLmNvbmNhdChuZXdSb3dzKVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmllbGRBZmZlY3RzRGF0YShmaWVsZCkpIHtcbiAgICAgIGNvbnN0IHZhbHVlc1RvVHJhbnNmb3JtOiB7IGxvY2FsZUtleT86IHN0cmluZzsgcmVmOiB1bmtub3duOyB2YWx1ZTogdW5rbm93biB9W10gPSBbXVxuXG4gICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZmllbGREYXRhID09PSAnb2JqZWN0JyAmJiBmaWVsZERhdGEgIT09IG51bGwpIHtcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhmaWVsZERhdGEpLmZvckVhY2goKFtsb2NhbGVLZXksIGxvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWxvY2FsZXNbbG9jYWxlS2V5XSkgbG9jYWxlc1tsb2NhbGVLZXldID0ge31cblxuICAgICAgICAgICAgdmFsdWVzVG9UcmFuc2Zvcm0ucHVzaCh7XG4gICAgICAgICAgICAgIGxvY2FsZUtleSxcbiAgICAgICAgICAgICAgcmVmOiBsb2NhbGVzLFxuICAgICAgICAgICAgICB2YWx1ZTogbG9jYWxlRGF0YSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IHJlZiA9IHJvd1xuXG4gICAgICAgIGlmIChmb3JjZWRMb2NhbGUpIHtcbiAgICAgICAgICBpZiAoIWxvY2FsZXNbZm9yY2VkTG9jYWxlXSkgbG9jYWxlc1tmb3JjZWRMb2NhbGVdID0ge31cbiAgICAgICAgICByZWYgPSBsb2NhbGVzW2ZvcmNlZExvY2FsZV1cbiAgICAgICAgfVxuXG4gICAgICAgIHZhbHVlc1RvVHJhbnNmb3JtLnB1c2goeyByZWYsIHZhbHVlOiBmaWVsZERhdGEgfSlcbiAgICAgIH1cblxuICAgICAgdmFsdWVzVG9UcmFuc2Zvcm0uZm9yRWFjaCgoeyBsb2NhbGVLZXksIHJlZiwgdmFsdWUgfSkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIGxldCBmb3JtYXR0ZWRWYWx1ZSA9IHZhbHVlXG5cbiAgICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2RhdGUnICYmIGZpZWxkLm5hbWUgPT09ICd1cGRhdGVkQXQnKSB7XG4gICAgICAgICAgICBmb3JtYXR0ZWRWYWx1ZSA9IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChsb2NhbGVLZXkpIHtcbiAgICAgICAgICAgIHJlZltsb2NhbGVLZXldW2ZpZWxkTmFtZV0gPSBmb3JtYXR0ZWRWYWx1ZVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZWZbZmllbGROYW1lXSA9IGZvcm1hdHRlZFZhbHVlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cbiAgfSlcbn1cbiJdLCJuYW1lcyI6WyJ0cmF2ZXJzZUZpZWxkcyIsImFkYXB0ZXIiLCJhcnJheXMiLCJiYXNlVGFibGVOYW1lIiwiYmxvY2tzIiwiYmxvY2tzVG9EZWxldGUiLCJjb2x1bW5QcmVmaXgiLCJkYXRhIiwiZXhpc3RpbmdMb2NhbGVzIiwiZmllbGRQcmVmaXgiLCJmaWVsZHMiLCJmb3JjZWRMb2NhbGUiLCJsb2NhbGVzIiwibnVtYmVycyIsInBhcmVudFRhYmxlTmFtZSIsInBhdGgiLCJyZWxhdGlvbnNoaXBzIiwicmVsYXRpb25zaGlwc1RvRGVsZXRlIiwicm93Iiwic2VsZWN0cyIsInRleHRzIiwid2l0aGluQXJyYXlPckJsb2NrTG9jYWxlIiwiZm9yRWFjaCIsImZpZWxkIiwiY29sdW1uTmFtZSIsImZpZWxkTmFtZSIsImZpZWxkRGF0YSIsImZpZWxkQWZmZWN0c0RhdGEiLCJ0b1NuYWtlQ2FzZSIsIm5hbWUiLCJ0eXBlIiwiYXJyYXlUYWJsZU5hbWUiLCJ0YWJsZU5hbWVNYXAiLCJnZXQiLCJsb2NhbGl6ZWQiLCJPYmplY3QiLCJlbnRyaWVzIiwibG9jYWxlS2V5IiwibG9jYWxlRGF0YSIsIkFycmF5IiwiaXNBcnJheSIsIm5ld1Jvd3MiLCJ0cmFuc2Zvcm1BcnJheSIsImxvY2FsZSIsImNvbmNhdCIsInNsdWciLCJhZGQiLCJ0cmFuc2Zvcm1CbG9ja3MiLCJpc0FycmF5T2ZSb3dzIiwiX3V1aWQiLCJpZCIsImdyb3VwRGF0YSIsInRhYnMiLCJ0YWIiLCJ0YWJEYXRhIiwicmVsYXRpb25zaGlwUGF0aCIsInB1c2giLCJ0cmFuc2Zvcm1SZWxhdGlvbnNoaXAiLCJiYXNlUm93IiwibGVuZ3RoIiwiaGFzTWFueSIsInRleHRQYXRoIiwidHJhbnNmb3JtVGV4dHMiLCJudW1iZXJQYXRoIiwidHJhbnNmb3JtTnVtYmVycyIsInNlbGVjdFRhYmxlTmFtZSIsInRyYW5zZm9ybVNlbGVjdHMiLCJ2YWx1ZXNUb1RyYW5zZm9ybSIsInJlZiIsInZhbHVlIiwiZm9ybWF0dGVkVmFsdWUiLCJEYXRlIiwidG9JU09TdHJpbmciXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7Ozs7K0JBbUV2QkE7OztlQUFBQTs7O3VCQWhFb0I7b0VBQ1Q7K0JBS007dUJBQ0M7d0JBQ0M7eUJBQ0M7K0JBQ0s7eUJBQ0w7dUJBQ0Y7Ozs7OztBQW9EeEIsTUFBTUEsaUJB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
|
package/dist/types.d.ts
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
import type { ColumnBaseConfig, ColumnDataType, DrizzleConfig, ExtractTablesWithRelations, Relation, Relations } from 'drizzle-orm';
|
2
2
|
import type { NodePgDatabase, NodePgQueryResultHKT } from 'drizzle-orm/node-postgres';
|
3
3
|
import type { PgColumn, PgEnum, PgSchema, PgTableWithColumns, PgTransaction } from 'drizzle-orm/pg-core';
|
4
|
+
import type { pgEnum } from 'drizzle-orm/pg-core';
|
4
5
|
import type { PgTableFn } from 'drizzle-orm/pg-core/table';
|
5
6
|
import type { Payload } from 'payload';
|
6
7
|
import type { BaseDatabaseAdapter } from 'payload/database';
|
@@ -31,6 +32,10 @@ export type GenericTable = PgTableWithColumns<{
|
|
31
32
|
export type GenericEnum = PgEnum<[string, ...string[]]>;
|
32
33
|
export type GenericRelation = Relations<string, Record<string, Relation<string>>>;
|
33
34
|
export type DrizzleTransaction = PgTransaction<NodePgQueryResultHKT, Record<string, unknown>, ExtractTablesWithRelations<Record<string, unknown>>>;
|
35
|
+
type Schema = {
|
36
|
+
enum: typeof pgEnum;
|
37
|
+
table: PgTableFn;
|
38
|
+
} | PgSchema;
|
34
39
|
export type PostgresAdapter = BaseDatabaseAdapter & {
|
35
40
|
drizzle: DrizzleDB;
|
36
41
|
enums: Record<string, GenericEnum>;
|
@@ -42,15 +47,13 @@ export type PostgresAdapter = BaseDatabaseAdapter & {
|
|
42
47
|
idType: Args['idType'];
|
43
48
|
localesSuffix?: string;
|
44
49
|
logger: DrizzleConfig['logger'];
|
45
|
-
pgSchema?:
|
46
|
-
table: PgTableFn;
|
47
|
-
} | PgSchema;
|
50
|
+
pgSchema?: Schema;
|
48
51
|
pool: Pool;
|
49
52
|
poolOptions: Args['pool'];
|
50
53
|
push: boolean;
|
51
54
|
relations: Record<string, GenericRelation>;
|
52
55
|
relationshipsSuffix?: string;
|
53
|
-
schema: Record<string,
|
56
|
+
schema: Record<string, unknown>;
|
54
57
|
schemaName?: Args['schemaName'];
|
55
58
|
sessions: {
|
56
59
|
[id: string]: {
|
@@ -85,7 +88,7 @@ declare module 'payload' {
|
|
85
88
|
push: boolean;
|
86
89
|
relations: Record<string, GenericRelation>;
|
87
90
|
relationshipsSuffix?: string;
|
88
|
-
schema: Record<string,
|
91
|
+
schema: Record<string, unknown>;
|
89
92
|
sessions: {
|
90
93
|
[id: string]: {
|
91
94
|
db: DrizzleTransaction;
|
@@ -97,4 +100,5 @@ declare module 'payload' {
|
|
97
100
|
versionsSuffix?: string;
|
98
101
|
}
|
99
102
|
}
|
103
|
+
export {};
|
100
104
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,0BAA0B,EAC1B,QAAQ,EACR,SAAS,EACV,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AACrF,OAAO,KAAK,EACV,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,kBAAkB,EAClB,aAAa,EACd,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAE1C,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAE/D,MAAM,MAAM,IAAI,GAAG;IACjB,MAAM,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IAChC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,CAClC,gBAAgB,CAAC,cAAc,EAAE,MAAM,CAAC,EACxC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACxB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,kBAAkB,CAAC;IAC5C,OAAO,EAAE,cAAc,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,CAAA;CAClB,CAAC,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAA;AAEvD,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAEjF,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAC5C,oBAAoB,EACpB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvB,0BAA0B,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CACpD,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG;IAClD,OAAO,EAAE,SAAS,CAAA;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAClC;;;OAGG;IACH,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACxD,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC/B,QAAQ,CAAC,EAAE
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
@@ -1,3 +1,3 @@
|
|
1
|
-
import type {
|
2
|
-
export declare const migrationTableExists: (
|
1
|
+
import type { PostgresAdapter } from '../types.js';
|
2
|
+
export declare const migrationTableExists: (adapter: PostgresAdapter) => Promise<boolean>;
|
3
3
|
//# sourceMappingURL=migrationTableExists.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"migrationTableExists.d.ts","sourceRoot":"","sources":["../../src/utilities/migrationTableExists.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,
|
1
|
+
{"version":3,"file":"migrationTableExists.d.ts","sourceRoot":"","sources":["../../src/utilities/migrationTableExists.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,eAAO,MAAM,oBAAoB,YAAmB,eAAe,KAAG,QAAQ,OAAO,CAapF,CAAA"}
|