payload 2.1.1 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/dist/admin/components/elements/Dropzone/index.d.ts.map +1 -1
  2. package/dist/admin/components/elements/Dropzone/index.js +2 -2
  3. package/dist/admin/components/elements/Publish/index.d.ts +1 -0
  4. package/dist/admin/components/elements/Publish/index.d.ts.map +1 -1
  5. package/dist/admin/components/elements/Publish/index.js +56 -5
  6. package/dist/admin/components/forms/field-types/Blocks/SectionTitle/index.scss +1 -0
  7. package/dist/admin/components/forms/field-types/Checkbox/Input.d.ts +2 -2
  8. package/dist/admin/components/forms/field-types/Checkbox/Input.d.ts.map +1 -1
  9. package/dist/admin/components/forms/field-types/Checkbox/Input.js +8 -4
  10. package/dist/admin/components/forms/field-types/Checkbox/index.js +5 -5
  11. package/dist/admin/components/forms/field-types/Code/index.d.ts.map +1 -1
  12. package/dist/admin/components/forms/field-types/Code/index.js +3 -3
  13. package/dist/admin/components/forms/field-types/DateTime/Input.d.ts +2 -2
  14. package/dist/admin/components/forms/field-types/DateTime/Input.d.ts.map +1 -1
  15. package/dist/admin/components/forms/field-types/DateTime/Input.js +8 -4
  16. package/dist/admin/components/forms/field-types/Email/index.d.ts.map +1 -1
  17. package/dist/admin/components/forms/field-types/Email/index.js +9 -5
  18. package/dist/admin/components/forms/field-types/Number/index.d.ts.map +1 -1
  19. package/dist/admin/components/forms/field-types/Number/index.js +9 -5
  20. package/dist/admin/components/forms/field-types/Point/index.d.ts.map +1 -1
  21. package/dist/admin/components/forms/field-types/Point/index.js +15 -7
  22. package/dist/admin/components/forms/field-types/RichText/types.d.ts +5 -0
  23. package/dist/admin/components/forms/field-types/RichText/types.d.ts.map +1 -1
  24. package/dist/admin/components/forms/field-types/Tabs/index.d.ts.map +1 -1
  25. package/dist/admin/components/forms/field-types/Tabs/index.js +2 -2
  26. package/dist/admin/components/forms/field-types/Text/Input.d.ts +4 -4
  27. package/dist/admin/components/forms/field-types/Text/Input.d.ts.map +1 -1
  28. package/dist/admin/components/forms/field-types/Text/Input.js +8 -4
  29. package/dist/admin/components/forms/field-types/Text/index.js +7 -7
  30. package/dist/admin/components/forms/field-types/Textarea/Input.d.ts +4 -4
  31. package/dist/admin/components/forms/field-types/Textarea/Input.d.ts.map +1 -1
  32. package/dist/admin/components/forms/field-types/Textarea/Input.js +9 -5
  33. package/dist/admin/components/forms/field-types/Textarea/index.js +7 -7
  34. package/dist/admin/components/utilities/Auth/index.d.ts.map +1 -1
  35. package/dist/admin/components/utilities/Auth/index.js +10 -3
  36. package/dist/admin/components/utilities/DocumentInfo/index.d.ts.map +1 -1
  37. package/dist/admin/components/utilities/DocumentInfo/index.js +7 -3
  38. package/dist/admin/components/views/LivePreview/Toolbar/Controls/index.d.ts.map +1 -1
  39. package/dist/admin/components/views/LivePreview/Toolbar/Controls/index.js +91 -29
  40. package/dist/admin/components/views/LivePreview/Toolbar/Controls/index.scss +5 -0
  41. package/dist/admin/components/views/collections/List/Cell/index.d.ts.map +1 -1
  42. package/dist/admin/components/views/collections/List/Cell/index.js +3 -3
  43. package/dist/admin/components/views/collections/List/index.scss +9 -0
  44. package/dist/auth/graphql/resolvers/access.d.ts.map +1 -1
  45. package/dist/auth/graphql/resolvers/access.js +3 -4
  46. package/dist/auth/graphql/resolvers/forgotPassword.js +3 -4
  47. package/dist/auth/graphql/resolvers/init.d.ts.map +1 -1
  48. package/dist/auth/graphql/resolvers/init.js +3 -4
  49. package/dist/auth/graphql/resolvers/login.js +3 -4
  50. package/dist/auth/graphql/resolvers/logout.js +3 -4
  51. package/dist/auth/graphql/resolvers/me.js +3 -4
  52. package/dist/auth/graphql/resolvers/refresh.js +3 -4
  53. package/dist/auth/graphql/resolvers/resetPassword.js +3 -4
  54. package/dist/auth/graphql/resolvers/unlock.js +3 -4
  55. package/dist/auth/graphql/resolvers/verifyEmail.js +3 -4
  56. package/dist/auth/operations/access.d.ts.map +1 -1
  57. package/dist/auth/operations/access.js +52 -42
  58. package/dist/collections/buildEndpoints.d.ts.map +1 -1
  59. package/dist/collections/buildEndpoints.js +9 -1
  60. package/dist/collections/graphql/resolvers/create.d.ts.map +1 -1
  61. package/dist/collections/graphql/resolvers/create.js +3 -4
  62. package/dist/collections/graphql/resolvers/delete.d.ts.map +1 -1
  63. package/dist/collections/graphql/resolvers/delete.js +3 -4
  64. package/dist/collections/graphql/resolvers/docAccess.d.ts.map +1 -1
  65. package/dist/collections/graphql/resolvers/docAccess.js +8 -4
  66. package/dist/collections/graphql/resolvers/find.d.ts.map +1 -1
  67. package/dist/collections/graphql/resolvers/find.js +3 -4
  68. package/dist/collections/graphql/resolvers/findByID.d.ts.map +1 -1
  69. package/dist/collections/graphql/resolvers/findByID.js +3 -2
  70. package/dist/collections/graphql/resolvers/findVersionByID.d.ts.map +1 -1
  71. package/dist/collections/graphql/resolvers/findVersionByID.js +3 -4
  72. package/dist/collections/graphql/resolvers/findVersions.d.ts.map +1 -1
  73. package/dist/collections/graphql/resolvers/findVersions.js +3 -4
  74. package/dist/collections/graphql/resolvers/restoreVersion.d.ts.map +1 -1
  75. package/dist/collections/graphql/resolvers/restoreVersion.js +3 -4
  76. package/dist/collections/graphql/resolvers/update.d.ts.map +1 -1
  77. package/dist/collections/graphql/resolvers/update.js +3 -4
  78. package/dist/collections/operations/docAccess.d.ts.map +1 -1
  79. package/dist/collections/operations/docAccess.js +19 -8
  80. package/dist/config/schema.d.ts.map +1 -1
  81. package/dist/config/schema.js +2 -1
  82. package/dist/exports/utilities.d.ts +1 -1
  83. package/dist/exports/utilities.d.ts.map +1 -1
  84. package/dist/exports/utilities.js +4 -1
  85. package/dist/express/types.d.ts +4 -0
  86. package/dist/express/types.d.ts.map +1 -1
  87. package/dist/fields/config/schema.d.ts.map +1 -1
  88. package/dist/fields/config/schema.js +63 -61
  89. package/dist/fields/config/types.d.ts +52 -34
  90. package/dist/fields/config/types.d.ts.map +1 -1
  91. package/dist/fields/config/types.js +1 -1
  92. package/dist/fields/validations.d.ts +4 -4
  93. package/dist/fields/validations.d.ts.map +1 -1
  94. package/dist/fields/validations.js +89 -106
  95. package/dist/fields/validations.spec.js +4 -4
  96. package/dist/globals/buildEndpoints.d.ts.map +1 -1
  97. package/dist/globals/buildEndpoints.js +5 -1
  98. package/dist/globals/graphql/resolvers/docAccess.d.ts.map +1 -1
  99. package/dist/globals/graphql/resolvers/docAccess.js +8 -4
  100. package/dist/globals/graphql/resolvers/findOne.d.ts.map +1 -1
  101. package/dist/globals/graphql/resolvers/findOne.js +3 -4
  102. package/dist/globals/graphql/resolvers/findVersionByID.d.ts.map +1 -1
  103. package/dist/globals/graphql/resolvers/findVersionByID.js +3 -4
  104. package/dist/globals/graphql/resolvers/findVersions.d.ts.map +1 -1
  105. package/dist/globals/graphql/resolvers/findVersions.js +3 -4
  106. package/dist/globals/graphql/resolvers/restoreVersion.d.ts.map +1 -1
  107. package/dist/globals/graphql/resolvers/restoreVersion.js +3 -4
  108. package/dist/globals/graphql/resolvers/update.d.ts.map +1 -1
  109. package/dist/globals/graphql/resolvers/update.js +3 -4
  110. package/dist/globals/operations/docAccess.d.ts.map +1 -1
  111. package/dist/globals/operations/docAccess.js +18 -7
  112. package/dist/graphql/registerSchema.d.ts.map +1 -1
  113. package/dist/graphql/registerSchema.js +4 -3
  114. package/dist/graphql/utilities/wrapCustomResolver.d.ts +9 -0
  115. package/dist/graphql/utilities/wrapCustomResolver.d.ts.map +1 -0
  116. package/dist/graphql/utilities/wrapCustomResolver.js +34 -0
  117. package/dist/translations/pl.json +24 -24
  118. package/dist/uploads/imageResizer.d.ts.map +1 -1
  119. package/dist/uploads/imageResizer.js +4 -3
  120. package/dist/utilities/configToJSONSchema.d.ts +8 -1
  121. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  122. package/dist/utilities/configToJSONSchema.js +34 -25
  123. package/dist/utilities/flattenTopLevelFields.d.ts +7 -0
  124. package/dist/utilities/flattenTopLevelFields.d.ts.map +1 -1
  125. package/dist/utilities/flattenTopLevelFields.js +8 -2
  126. package/dist/utilities/getEntityPolicies.d.ts.map +1 -1
  127. package/dist/utilities/getEntityPolicies.js +3 -1
  128. package/dist/utilities/initTransaction.d.ts.map +1 -1
  129. package/dist/utilities/initTransaction.js +19 -7
  130. package/dist/utilities/isolateTransactionID.d.ts +6 -0
  131. package/dist/utilities/isolateTransactionID.d.ts.map +1 -0
  132. package/dist/utilities/isolateTransactionID.js +38 -0
  133. package/package.json +1 -1
  134. package/utilities.d.ts +1 -1
  135. package/utilities.js +4 -1
@@ -65,8 +65,10 @@ async function getEntityPolicies(args) {
65
65
  if (accessLevel === 'field' && docBeingAccessed === undefined) {
66
66
  docBeingAccessed = await getEntityDoc();
67
67
  }
68
+ const data = req?.body;
68
69
  const accessResult = await access({
69
70
  id,
71
+ data,
70
72
  doc: docBeingAccessed,
71
73
  req
72
74
  });
@@ -198,4 +200,4 @@ async function getEntityPolicies(args) {
198
200
  return policies;
199
201
  }
200
202
 
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ2V0RW50aXR5UG9saWNpZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uUGVybWlzc2lvbiwgR2xvYmFsUGVybWlzc2lvbiB9IGZyb20gJy4uL2F1dGgvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcsIFR5cGVXaXRoSUQgfSBmcm9tICcuLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEFjY2VzcyB9IGZyb20gJy4uL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi9leHByZXNzL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZEFjY2VzcyB9IGZyb20gJy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZEdsb2JhbENvbmZpZyB9IGZyb20gJy4uL2dsb2JhbHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBBbGxPcGVyYXRpb25zLCBEb2N1bWVudCwgV2hlcmUgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHsgdGFiSGFzTmFtZSB9IGZyb20gJy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5cbnR5cGUgQXJncyA9IHtcbiAgZW50aXR5OiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIHwgU2FuaXRpemVkR2xvYmFsQ29uZmlnXG4gIGlkPzogc3RyaW5nXG4gIG9wZXJhdGlvbnM6IEFsbE9wZXJhdGlvbnNbXVxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHR5cGU6ICdjb2xsZWN0aW9uJyB8ICdnbG9iYWwnXG59XG5cbnR5cGUgUmV0dXJuVHlwZTxUIGV4dGVuZHMgQXJncz4gPSBUWyd0eXBlJ10gZXh0ZW5kcyAnZ2xvYmFsJ1xuICA/IEdsb2JhbFBlcm1pc3Npb25cbiAgOiBDb2xsZWN0aW9uUGVybWlzc2lvblxuXG50eXBlIENyZWF0ZUFjY2Vzc1Byb21pc2UgPSAoYXJnczoge1xuICBhY2Nlc3M6IEFjY2VzcyB8IEZpZWxkQWNjZXNzXG4gIGFjY2Vzc0xldmVsOiAnZW50aXR5JyB8ICdmaWVsZCdcbiAgZGlzYWJsZVdoZXJlPzogYm9vbGVhblxuICBvcGVyYXRpb246IEFsbE9wZXJhdGlvbnNcbiAgcG9saWNpZXNPYmo6IHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnlcbiAgfVxufSkgPT4gUHJvbWlzZTx2b2lkPlxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RW50aXR5UG9saWNpZXM8VCBleHRlbmRzIEFyZ3M+KGFyZ3M6IFQpOiBQcm9taXNlPFJldHVyblR5cGU8VD4+IHtcbiAgY29uc3QgeyBpZCwgZW50aXR5LCBvcGVyYXRpb25zLCByZXEsIHR5cGUgfSA9IGFyZ3NcbiAgY29uc3QgaXNMb2dnZWRJbiA9ICEhcmVxLnVzZXJcbiAgLy8gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS1cbiAgLy8gYHBvbGljaWVzYCBhbmQgYHByb21pc2VzYCBnZXQgbXV0YXRlZCBpblxuICAvLyB0aGUgZnVuY3Rpb25zIGJlbG93LCBhbmQgcmV0dXJuIGluIHRoZSBlbmRcbiAgLy8gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS1cbiAgY29uc3QgcG9saWNpZXMgPSB7XG4gICAgZmllbGRzOiB7fSxcbiAgfSBhcyBSZXR1cm5UeXBlPFQ+XG5cbiAgbGV0IGRvY0JlaW5nQWNjZXNzZWRcblxuICBhc3luYyBmdW5jdGlvbiBnZXRFbnRpdHlEb2MoeyB3aGVyZSB9OiB7IHdoZXJlPzogV2hlcmUgfSA9IHt9KTogUHJvbWlzZTxUeXBlV2l0aElEICYgRG9jdW1lbnQ+IHtcbiAgICBpZiAoZW50aXR5LnNsdWcpIHtcbiAgICAgIGlmICh0eXBlID09PSAnZ2xvYmFsJykge1xuICAgICAgICByZXR1cm4gcmVxLnBheWxvYWQuZmluZEdsb2JhbCh7XG4gICAgICAgICAgb3ZlcnJpZGVBY2Nlc3M6IHRydWUsXG4gICAgICAgICAgcmVxLFxuICAgICAgICAgIHNsdWc6IGVudGl0eS5zbHVnLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICBpZiAodHlwZSA9PT0gJ2NvbGxlY3Rpb24nICYmIGlkKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygd2hlcmUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgY29uc3QgcGFnaW5hdGVkUmVzID0gYXdhaXQgcmVxLnBheWxvYWQuZmluZCh7XG4gICAgICAgICAgICBjb2xsZWN0aW9uOiBlbnRpdHkuc2x1ZyxcbiAgICAgICAgICAgIGxpbWl0OiAxLFxuICAgICAgICAgICAgb3ZlcnJpZGVBY2Nlc3M6IHRydWUsXG4gICAgICAgICAgICByZXEsXG4gICAgICAgICAgICB3aGVyZToge1xuICAgICAgICAgICAgICAuLi53aGVyZSxcbiAgICAgICAgICAgICAgYW5kOiBbXG4gICAgICAgICAgICAgICAgLi4uKHdoZXJlLmFuZCB8fCBbXSksXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgaWQ6IHtcbiAgICAgICAgICAgICAgICAgICAgZXF1YWxzOiBpZCxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIHJldHVybiBwYWdpbmF0ZWRSZXM/LmRvY3M/LlswXSB8fCB1bmRlZmluZWRcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXEucGF5bG9hZC5maW5kQnlJRCh7XG4gICAgICAgICAgaWQsXG4gICAgICAgICAgY29sbGVjdGlvbjogZW50aXR5LnNsdWcsXG4gICAgICAgICAgb3ZlcnJpZGVBY2Nlc3M6IHRydWUsXG4gICAgICAgICAgcmVxLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxuXG4gIGNvbnN0IGNyZWF0ZUFjY2Vzc1Byb21pc2U6IENyZWF0ZUFjY2Vzc1Byb21pc2UgPSBhc3luYyAoe1xuICAgIGFjY2VzcyxcbiAgICBhY2Nlc3NMZXZlbCxcbiAgICBkaXNhYmxlV2hlcmUgPSBmYWxzZSxcbiAgICBvcGVyYXRpb24sXG4gICAgcG9saWNpZXNPYmosXG4gIH0pID0+IHtcbiAgICBjb25zdCBtdXRhYmxlUG9saWNpZXMgPSBwb2xpY2llc09ialxuXG4gICAgaWYgKGFjY2Vzc0xldmVsID09PSAnZmllbGQnICYmIGRvY0JlaW5nQWNjZXNzZWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgZG9jQmVpbmdBY2Nlc3NlZCA9IGF3YWl0IGdldEVudGl0eURvYygpXG4gICAgfVxuICAgIGNvbnN0IGFjY2Vzc1Jlc3VsdCA9IGF3YWl0IGFjY2Vzcyh7IGlkLCBkb2M6IGRvY0JlaW5nQWNjZXNzZWQsIHJlcSB9KVxuXG4gICAgaWYgKHR5cGVvZiBhY2Nlc3NSZXN1bHQgPT09ICdvYmplY3QnICYmICFkaXNhYmxlV2hlcmUpIHtcbiAgICAgIG11dGFibGVQb2xpY2llc1tvcGVyYXRpb25dID0ge1xuICAgICAgICBwZXJtaXNzaW9uOlxuICAgICAgICAgIGlkIHx8IHR5cGUgPT09ICdnbG9iYWwnID8gISEoYXdhaXQgZ2V0RW50aXR5RG9jKHsgd2hlcmU6IGFjY2Vzc1Jlc3VsdCB9KSkgOiB0cnVlLFxuICAgICAgICB3aGVyZTogYWNjZXNzUmVzdWx0LFxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobXV0YWJsZVBvbGljaWVzW29wZXJhdGlvbl0/LnBlcm1pc3Npb24gIT09IGZhbHNlKSB7XG4gICAgICBtdXRhYmxlUG9saWNpZXNbb3BlcmF0aW9uXSA9IHtcbiAgICAgICAgcGVybWlzc2lvbjogISFhY2Nlc3NSZXN1bHQsXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgZXhlY3V0ZUZpZWxkUG9saWNpZXMgPSBhc3luYyAoeyBlbnRpdHlQZXJtaXNzaW9uLCBmaWVsZHMsIG9wZXJhdGlvbiwgcG9saWNpZXNPYmogfSkgPT4ge1xuICAgIGNvbnN0IG11dGFibGVQb2xpY2llcyA9IHBvbGljaWVzT2JqLmZpZWxkc1xuXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICBmaWVsZHMubWFwKGFzeW5jIChmaWVsZCkgPT4ge1xuICAgICAgICBpZiAoZmllbGQubmFtZSkge1xuICAgICAgICAgIGlmICghbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdKSBtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0gPSB7fVxuXG4gICAgICAgICAgaWYgKGZpZWxkLmFjY2VzcyAmJiB0eXBlb2YgZmllbGQuYWNjZXNzW29wZXJhdGlvbl0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGF3YWl0IGNyZWF0ZUFjY2Vzc1Byb21pc2Uoe1xuICAgICAgICAgICAgICBhY2Nlc3M6IGZpZWxkLmFjY2Vzc1tvcGVyYXRpb25dLFxuICAgICAgICAgICAgICBhY2Nlc3NMZXZlbDogJ2ZpZWxkJyxcbiAgICAgICAgICAgICAgZGlzYWJsZVdoZXJlOiB0cnVlLFxuICAgICAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgICAgIHBvbGljaWVzT2JqOiBtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV1bb3BlcmF0aW9uXSA9IHtcbiAgICAgICAgICAgICAgcGVybWlzc2lvbjogcG9saWNpZXNPYmpbb3BlcmF0aW9uXT8ucGVybWlzc2lvbixcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmllbGQuZmllbGRzKSB7XG4gICAgICAgICAgICBpZiAoIW11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXS5maWVsZHMpIG11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXS5maWVsZHMgPSB7fVxuXG4gICAgICAgICAgICBhd2FpdCBleGVjdXRlRmllbGRQb2xpY2llcyh7XG4gICAgICAgICAgICAgIGVudGl0eVBlcm1pc3Npb24sXG4gICAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgICAgIHBvbGljaWVzT2JqOiBtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChmaWVsZD8uYmxvY2tzKSB7XG4gICAgICAgICAgICBpZiAoIW11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXT8uYmxvY2tzKSBtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0uYmxvY2tzID0ge31cblxuICAgICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICAgIGZpZWxkLmJsb2Nrcy5tYXAoYXN5bmMgKGJsb2NrKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0uYmxvY2tzPy5bYmxvY2suc2x1Z10pIHtcbiAgICAgICAgICAgICAgICAgIG11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXS5ibG9ja3NbYmxvY2suc2x1Z10gPSB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkczoge30sXG4gICAgICAgICAgICAgICAgICAgIFtvcGVyYXRpb25dOiB7IHBlcm1pc3Npb246IGVudGl0eVBlcm1pc3Npb24gfSxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0uYmxvY2tzW2Jsb2NrLnNsdWddW29wZXJhdGlvbl0pIHtcbiAgICAgICAgICAgICAgICAgIG11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXS5ibG9ja3NbYmxvY2suc2x1Z11bb3BlcmF0aW9uXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgcGVybWlzc2lvbjogZW50aXR5UGVybWlzc2lvbixcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhd2FpdCBleGVjdXRlRmllbGRQb2xpY2llcyh7XG4gICAgICAgICAgICAgICAgICBlbnRpdHlQZXJtaXNzaW9uLFxuICAgICAgICAgICAgICAgICAgZmllbGRzOiBibG9jay5maWVsZHMsXG4gICAgICAgICAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgICAgICAgICBwb2xpY2llc09iajogbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLmJsb2Nrc1tibG9jay5zbHVnXSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoZmllbGQuZmllbGRzKSB7XG4gICAgICAgICAgYXdhaXQgZXhlY3V0ZUZpZWxkUG9saWNpZXMoe1xuICAgICAgICAgICAgZW50aXR5UGVybWlzc2lvbixcbiAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgcG9saWNpZXNPYmosXG4gICAgICAgICAgfSlcbiAgICAgICAgfSBlbHNlIGlmIChmaWVsZC50eXBlID09PSAndGFicycpIHtcbiAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgIGZpZWxkLnRhYnMubWFwKGFzeW5jICh0YWIpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHRhYkhhc05hbWUodGFiKSkge1xuICAgICAgICAgICAgICAgIGlmICghbXV0YWJsZVBvbGljaWVzW3RhYi5uYW1lXSkge1xuICAgICAgICAgICAgICAgICAgbXV0YWJsZVBvbGljaWVzW3RhYi5uYW1lXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGRzOiB7fSxcbiAgICAgICAgICAgICAgICAgICAgW29wZXJhdGlvbl06IHsgcGVybWlzc2lvbjogZW50aXR5UGVybWlzc2lvbiB9LFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIW11dGFibGVQb2xpY2llc1t0YWIubmFtZV1bb3BlcmF0aW9uXSkge1xuICAgICAgICAgICAgICAgICAgbXV0YWJsZVBvbGljaWVzW3RhYi5uYW1lXVtvcGVyYXRpb25dID0geyBwZXJtaXNzaW9uOiBlbnRpdHlQZXJtaXNzaW9uIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYXdhaXQgZXhlY3V0ZUZpZWxkUG9saWNpZXMoe1xuICAgICAgICAgICAgICAgICAgZW50aXR5UGVybWlzc2lvbixcbiAgICAgICAgICAgICAgICAgIGZpZWxkczogdGFiLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgICAgICAgICAgIHBvbGljaWVzT2JqOiBtdXRhYmxlUG9saWNpZXNbdGFiLm5hbWVdLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgZXhlY3V0ZUZpZWxkUG9saWNpZXMoe1xuICAgICAgICAgICAgICAgICAgZW50aXR5UGVybWlzc2lvbixcbiAgICAgICAgICAgICAgICAgIGZpZWxkczogdGFiLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgICAgICAgICAgIHBvbGljaWVzT2JqLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgb3BlcmF0aW9ucy5tYXAoYXN5bmMgKG9wZXJhdGlvbikgPT4ge1xuICAgICAgbGV0IGVudGl0eUFjY2Vzc1Byb21pc2U6IFByb21pc2U8dm9pZD5cblxuICAgICAgaWYgKHR5cGVvZiBlbnRpdHkuYWNjZXNzW29wZXJhdGlvbl0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZW50aXR5QWNjZXNzUHJvbWlzZSA9IGNyZWF0ZUFjY2Vzc1Byb21pc2Uoe1xuICAgICAgICAgIGFjY2VzczogZW50aXR5LmFjY2Vzc1tvcGVyYXRpb25dLFxuICAgICAgICAgIGFjY2Vzc0xldmVsOiAnZW50aXR5JyxcbiAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgcG9saWNpZXNPYmo6IHBvbGljaWVzLFxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcG9saWNpZXNbb3BlcmF0aW9uXSA9IHtcbiAgICAgICAgICBwZXJtaXNzaW9uOiBpc0xvZ2dlZEluLFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IGVudGl0eUFjY2Vzc1Byb21pc2VcblxuICAgICAgYXdhaXQgZXhlY3V0ZUZpZWxkUG9saWNpZXMoe1xuICAgICAgICBlbnRpdHlQZXJtaXNzaW9uOiBwb2xpY2llc1tvcGVyYXRpb25dLnBlcm1pc3Npb24sXG4gICAgICAgIGZpZWxkczogZW50aXR5LmZpZWxkcyxcbiAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICBwb2xpY2llc09iajogcG9saWNpZXMsXG4gICAgICB9KVxuICAgIH0pLFxuICApXG5cbiAgcmV0dXJuIHBvbGljaWVzXG59XG4iXSwibmFtZXMiOlsiZ2V0RW50aXR5UG9saWNpZXMiLCJhcmdzIiwiaWQiLCJlbnRpdHkiLCJvcGVyYXRpb25zIiwicmVxIiwidHlwZSIsImlzTG9nZ2VkSW4iLCJ1c2VyIiwicG9saWNpZXMiLCJmaWVsZHMiLCJkb2NCZWluZ0FjY2Vzc2VkIiwiZ2V0RW50aXR5RG9jIiwid2hlcmUiLCJzbHVnIiwicGF5bG9hZCIsImZpbmRHbG9iYWwiLCJvdmVycmlkZUFjY2VzcyIsInBhZ2luYXRlZFJlcyIsImZpbmQiLCJjb2xsZWN0aW9uIiwibGltaXQiLCJhbmQiLCJlcXVhbHMiLCJkb2NzIiwidW5kZWZpbmVkIiwiZmluZEJ5SUQiLCJjcmVhdGVBY2Nlc3NQcm9taXNlIiwiYWNjZXNzIiwiYWNjZXNzTGV2ZWwiLCJkaXNhYmxlV2hlcmUiLCJvcGVyYXRpb24iLCJwb2xpY2llc09iaiIsIm11dGFibGVQb2xpY2llcyIsImFjY2Vzc1Jlc3VsdCIsImRvYyIsInBlcm1pc3Npb24iLCJleGVjdXRlRmllbGRQb2xpY2llcyIsImVudGl0eVBlcm1pc3Npb24iLCJQcm9taXNlIiwiYWxsIiwibWFwIiwiZmllbGQiLCJuYW1lIiwiYmxvY2tzIiwiYmxvY2siLCJ0YWJzIiwidGFiIiwidGFiSGFzTmFtZSIsImVudGl0eUFjY2Vzc1Byb21pc2UiXSwibWFwcGluZ3MiOiI7Ozs7K0JBZ0NzQkE7OztlQUFBQTs7O3VCQXhCSztBQXdCcEIsZUFBZUEsa0JBQWtDQyxJQUFPO0lBQzdELE1BQU0sRUFBRUMsRUFBRSxFQUFFQyxNQUFNLEVBQUVDLFVBQVUsRUFBRUMsR0FBRyxFQUFFQyxJQUFJLEVBQUUsR0FBR0w7SUFDOUMsTUFBTU0sYUFBYSxDQUFDLENBQUNGLElBQUlHLElBQUk7SUFDN0IsK0NBQStDO0lBQy9DLDJDQUEyQztJQUMzQyw2Q0FBNkM7SUFDN0MsK0NBQStDO0lBQy9DLE1BQU1DLFdBQVc7UUFDZkMsUUFBUSxDQUFDO0lBQ1g7SUFFQSxJQUFJQztJQUVKLGVBQWVDLGFBQWEsRUFBRUMsS0FBSyxFQUFxQixHQUFHLENBQUMsQ0FBQztRQUMzRCxJQUFJVixPQUFPVyxJQUFJLEVBQUU7WUFDZixJQUFJUixTQUFTLFVBQVU7Z0JBQ3JCLE9BQU9ELElBQUlVLE9BQU8sQ0FBQ0MsVUFBVSxDQUFDO29CQUM1QkMsZ0JBQWdCO29CQUNoQlo7b0JBQ0FTLE1BQU1YLE9BQU9XLElBQUk7Z0JBQ25CO1lBQ0Y7WUFFQSxJQUFJUixTQUFTLGdCQUFnQkosSUFBSTtnQkFDL0IsSUFBSSxPQUFPVyxVQUFVLFVBQVU7b0JBQzdCLE1BQU1LLGVBQWUsTUFBTWIsSUFBSVUsT0FBTyxDQUFDSSxJQUFJLENBQUM7d0JBQzFDQyxZQUFZakIsT0FBT1csSUFBSTt3QkFDdkJPLE9BQU87d0JB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
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ2V0RW50aXR5UG9saWNpZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uUGVybWlzc2lvbiwgR2xvYmFsUGVybWlzc2lvbiB9IGZyb20gJy4uL2F1dGgvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcsIFR5cGVXaXRoSUQgfSBmcm9tICcuLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEFjY2VzcyB9IGZyb20gJy4uL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi9leHByZXNzL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZEFjY2VzcyB9IGZyb20gJy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZEdsb2JhbENvbmZpZyB9IGZyb20gJy4uL2dsb2JhbHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBBbGxPcGVyYXRpb25zLCBEb2N1bWVudCwgV2hlcmUgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHsgdGFiSGFzTmFtZSB9IGZyb20gJy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5cbnR5cGUgQXJncyA9IHtcbiAgZW50aXR5OiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIHwgU2FuaXRpemVkR2xvYmFsQ29uZmlnXG4gIGlkPzogc3RyaW5nXG4gIG9wZXJhdGlvbnM6IEFsbE9wZXJhdGlvbnNbXVxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHR5cGU6ICdjb2xsZWN0aW9uJyB8ICdnbG9iYWwnXG59XG5cbnR5cGUgUmV0dXJuVHlwZTxUIGV4dGVuZHMgQXJncz4gPSBUWyd0eXBlJ10gZXh0ZW5kcyAnZ2xvYmFsJ1xuICA/IEdsb2JhbFBlcm1pc3Npb25cbiAgOiBDb2xsZWN0aW9uUGVybWlzc2lvblxuXG50eXBlIENyZWF0ZUFjY2Vzc1Byb21pc2UgPSAoYXJnczoge1xuICBhY2Nlc3M6IEFjY2VzcyB8IEZpZWxkQWNjZXNzXG4gIGFjY2Vzc0xldmVsOiAnZW50aXR5JyB8ICdmaWVsZCdcbiAgZGlzYWJsZVdoZXJlPzogYm9vbGVhblxuICBvcGVyYXRpb246IEFsbE9wZXJhdGlvbnNcbiAgcG9saWNpZXNPYmo6IHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnlcbiAgfVxufSkgPT4gUHJvbWlzZTx2b2lkPlxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RW50aXR5UG9saWNpZXM8VCBleHRlbmRzIEFyZ3M+KGFyZ3M6IFQpOiBQcm9taXNlPFJldHVyblR5cGU8VD4+IHtcbiAgY29uc3QgeyBpZCwgZW50aXR5LCBvcGVyYXRpb25zLCByZXEsIHR5cGUgfSA9IGFyZ3NcbiAgY29uc3QgaXNMb2dnZWRJbiA9ICEhcmVxLnVzZXJcbiAgLy8gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS1cbiAgLy8gYHBvbGljaWVzYCBhbmQgYHByb21pc2VzYCBnZXQgbXV0YXRlZCBpblxuICAvLyB0aGUgZnVuY3Rpb25zIGJlbG93LCBhbmQgcmV0dXJuIGluIHRoZSBlbmRcbiAgLy8gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS1cbiAgY29uc3QgcG9saWNpZXMgPSB7XG4gICAgZmllbGRzOiB7fSxcbiAgfSBhcyBSZXR1cm5UeXBlPFQ+XG5cbiAgbGV0IGRvY0JlaW5nQWNjZXNzZWRcblxuICBhc3luYyBmdW5jdGlvbiBnZXRFbnRpdHlEb2MoeyB3aGVyZSB9OiB7IHdoZXJlPzogV2hlcmUgfSA9IHt9KTogUHJvbWlzZTxUeXBlV2l0aElEICYgRG9jdW1lbnQ+IHtcbiAgICBpZiAoZW50aXR5LnNsdWcpIHtcbiAgICAgIGlmICh0eXBlID09PSAnZ2xvYmFsJykge1xuICAgICAgICByZXR1cm4gcmVxLnBheWxvYWQuZmluZEdsb2JhbCh7XG4gICAgICAgICAgb3ZlcnJpZGVBY2Nlc3M6IHRydWUsXG4gICAgICAgICAgcmVxLFxuICAgICAgICAgIHNsdWc6IGVudGl0eS5zbHVnLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICBpZiAodHlwZSA9PT0gJ2NvbGxlY3Rpb24nICYmIGlkKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygd2hlcmUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgY29uc3QgcGFnaW5hdGVkUmVzID0gYXdhaXQgcmVxLnBheWxvYWQuZmluZCh7XG4gICAgICAgICAgICBjb2xsZWN0aW9uOiBlbnRpdHkuc2x1ZyxcbiAgICAgICAgICAgIGxpbWl0OiAxLFxuICAgICAgICAgICAgb3ZlcnJpZGVBY2Nlc3M6IHRydWUsXG4gICAgICAgICAgICByZXEsXG4gICAgICAgICAgICB3aGVyZToge1xuICAgICAgICAgICAgICAuLi53aGVyZSxcbiAgICAgICAgICAgICAgYW5kOiBbXG4gICAgICAgICAgICAgICAgLi4uKHdoZXJlLmFuZCB8fCBbXSksXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgaWQ6IHtcbiAgICAgICAgICAgICAgICAgICAgZXF1YWxzOiBpZCxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIHJldHVybiBwYWdpbmF0ZWRSZXM/LmRvY3M/LlswXSB8fCB1bmRlZmluZWRcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXEucGF5bG9hZC5maW5kQnlJRCh7XG4gICAgICAgICAgaWQsXG4gICAgICAgICAgY29sbGVjdGlvbjogZW50aXR5LnNsdWcsXG4gICAgICAgICAgb3ZlcnJpZGVBY2Nlc3M6IHRydWUsXG4gICAgICAgICAgcmVxLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxuXG4gIGNvbnN0IGNyZWF0ZUFjY2Vzc1Byb21pc2U6IENyZWF0ZUFjY2Vzc1Byb21pc2UgPSBhc3luYyAoe1xuICAgIGFjY2VzcyxcbiAgICBhY2Nlc3NMZXZlbCxcbiAgICBkaXNhYmxlV2hlcmUgPSBmYWxzZSxcbiAgICBvcGVyYXRpb24sXG4gICAgcG9saWNpZXNPYmosXG4gIH0pID0+IHtcbiAgICBjb25zdCBtdXRhYmxlUG9saWNpZXMgPSBwb2xpY2llc09ialxuXG4gICAgaWYgKGFjY2Vzc0xldmVsID09PSAnZmllbGQnICYmIGRvY0JlaW5nQWNjZXNzZWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgZG9jQmVpbmdBY2Nlc3NlZCA9IGF3YWl0IGdldEVudGl0eURvYygpXG4gICAgfVxuXG4gICAgY29uc3QgZGF0YSA9IHJlcT8uYm9keVxuXG4gICAgY29uc3QgYWNjZXNzUmVzdWx0ID0gYXdhaXQgYWNjZXNzKHsgaWQsIGRhdGEsIGRvYzogZG9jQmVpbmdBY2Nlc3NlZCwgcmVxIH0pXG5cbiAgICBpZiAodHlwZW9mIGFjY2Vzc1Jlc3VsdCA9PT0gJ29iamVjdCcgJiYgIWRpc2FibGVXaGVyZSkge1xuICAgICAgbXV0YWJsZVBvbGljaWVzW29wZXJhdGlvbl0gPSB7XG4gICAgICAgIHBlcm1pc3Npb246XG4gICAgICAgICAgaWQgfHwgdHlwZSA9PT0gJ2dsb2JhbCcgPyAhIShhd2FpdCBnZXRFbnRpdHlEb2MoeyB3aGVyZTogYWNjZXNzUmVzdWx0IH0pKSA6IHRydWUsXG4gICAgICAgIHdoZXJlOiBhY2Nlc3NSZXN1bHQsXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChtdXRhYmxlUG9saWNpZXNbb3BlcmF0aW9uXT8ucGVybWlzc2lvbiAhPT0gZmFsc2UpIHtcbiAgICAgIG11dGFibGVQb2xpY2llc1tvcGVyYXRpb25dID0ge1xuICAgICAgICBwZXJtaXNzaW9uOiAhIWFjY2Vzc1Jlc3VsdCxcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBleGVjdXRlRmllbGRQb2xpY2llcyA9IGFzeW5jICh7IGVudGl0eVBlcm1pc3Npb24sIGZpZWxkcywgb3BlcmF0aW9uLCBwb2xpY2llc09iaiB9KSA9PiB7XG4gICAgY29uc3QgbXV0YWJsZVBvbGljaWVzID0gcG9saWNpZXNPYmouZmllbGRzXG5cbiAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIGZpZWxkcy5tYXAoYXN5bmMgKGZpZWxkKSA9PiB7XG4gICAgICAgIGlmIChmaWVsZC5uYW1lKSB7XG4gICAgICAgICAgaWYgKCFtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0pIG11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXSA9IHt9XG5cbiAgICAgICAgICBpZiAoZmllbGQuYWNjZXNzICYmIHR5cGVvZiBmaWVsZC5hY2Nlc3Nbb3BlcmF0aW9uXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgYXdhaXQgY3JlYXRlQWNjZXNzUHJvbWlzZSh7XG4gICAgICAgICAgICAgIGFjY2VzczogZmllbGQuYWNjZXNzW29wZXJhdGlvbl0sXG4gICAgICAgICAgICAgIGFjY2Vzc0xldmVsOiAnZmllbGQnLFxuICAgICAgICAgICAgICBkaXNhYmxlV2hlcmU6IHRydWUsXG4gICAgICAgICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgICAgICAgcG9saWNpZXNPYmo6IG11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXVtvcGVyYXRpb25dID0ge1xuICAgICAgICAgICAgICBwZXJtaXNzaW9uOiBwb2xpY2llc09ialtvcGVyYXRpb25dPy5wZXJtaXNzaW9uLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChmaWVsZC5maWVsZHMpIHtcbiAgICAgICAgICAgIGlmICghbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLmZpZWxkcykgbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLmZpZWxkcyA9IHt9XG5cbiAgICAgICAgICAgIGF3YWl0IGV4ZWN1dGVGaWVsZFBvbGljaWVzKHtcbiAgICAgICAgICAgICAgZW50aXR5UGVybWlzc2lvbixcbiAgICAgICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgICAgICAgcG9saWNpZXNPYmo6IG11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGZpZWxkPy5ibG9ja3MpIHtcbiAgICAgICAgICAgIGlmICghbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdPy5ibG9ja3MpIG11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXS5ibG9ja3MgPSB7fVxuXG4gICAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgICAgZmllbGQuYmxvY2tzLm1hcChhc3luYyAoYmxvY2spID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIW11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXS5ibG9ja3M/LltibG9jay5zbHVnXSkge1xuICAgICAgICAgICAgICAgICAgbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLmJsb2Nrc1tibG9jay5zbHVnXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGRzOiB7fSxcbiAgICAgICAgICAgICAgICAgICAgW29wZXJhdGlvbl06IHsgcGVybWlzc2lvbjogZW50aXR5UGVybWlzc2lvbiB9LFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIW11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXS5ibG9ja3NbYmxvY2suc2x1Z11bb3BlcmF0aW9uXSkge1xuICAgICAgICAgICAgICAgICAgbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLmJsb2Nrc1tibG9jay5zbHVnXVtvcGVyYXRpb25dID0ge1xuICAgICAgICAgICAgICAgICAgICBwZXJtaXNzaW9uOiBlbnRpdHlQZXJtaXNzaW9uLFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGF3YWl0IGV4ZWN1dGVGaWVsZFBvbGljaWVzKHtcbiAgICAgICAgICAgICAgICAgIGVudGl0eVBlcm1pc3Npb24sXG4gICAgICAgICAgICAgICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgICAgICAgICAgIHBvbGljaWVzT2JqOiBtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0uYmxvY2tzW2Jsb2NrLnNsdWddLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChmaWVsZC5maWVsZHMpIHtcbiAgICAgICAgICBhd2FpdCBleGVjdXRlRmllbGRQb2xpY2llcyh7XG4gICAgICAgICAgICBlbnRpdHlQZXJtaXNzaW9uLFxuICAgICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgICBwb2xpY2llc09iaixcbiAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2UgaWYgKGZpZWxkLnR5cGUgPT09ICd0YWJzJykge1xuICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgZmllbGQudGFicy5tYXAoYXN5bmMgKHRhYikgPT4ge1xuICAgICAgICAgICAgICBpZiAodGFiSGFzTmFtZSh0YWIpKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFtdXRhYmxlUG9saWNpZXNbdGFiLm5hbWVdKSB7XG4gICAgICAgICAgICAgICAgICBtdXRhYmxlUG9saWNpZXNbdGFiLm5hbWVdID0ge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZHM6IHt9LFxuICAgICAgICAgICAgICAgICAgICBbb3BlcmF0aW9uXTogeyBwZXJtaXNzaW9uOiBlbnRpdHlQZXJtaXNzaW9uIH0sXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICghbXV0YWJsZVBvbGljaWVzW3RhYi5uYW1lXVtvcGVyYXRpb25dKSB7XG4gICAgICAgICAgICAgICAgICBtdXRhYmxlUG9saWNpZXNbdGFiLm5hbWVdW29wZXJhdGlvbl0gPSB7IHBlcm1pc3Npb246IGVudGl0eVBlcm1pc3Npb24gfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhd2FpdCBleGVjdXRlRmllbGRQb2xpY2llcyh7XG4gICAgICAgICAgICAgICAgICBlbnRpdHlQZXJtaXNzaW9uLFxuICAgICAgICAgICAgICAgICAgZmllbGRzOiB0YWIuZmllbGRzLFxuICAgICAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICAgICAgcG9saWNpZXNPYmo6IG11dGFibGVQb2xpY2llc1t0YWIubmFtZV0sXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBhd2FpdCBleGVjdXRlRmllbGRQb2xpY2llcyh7XG4gICAgICAgICAgICAgICAgICBlbnRpdHlQZXJtaXNzaW9uLFxuICAgICAgICAgICAgICAgICAgZmllbGRzOiB0YWIuZmllbGRzLFxuICAgICAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICAgICAgcG9saWNpZXNPYmosXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICBvcGVyYXRpb25zLm1hcChhc3luYyAob3BlcmF0aW9uKSA9PiB7XG4gICAgICBsZXQgZW50aXR5QWNjZXNzUHJvbWlzZTogUHJvbWlzZTx2b2lkPlxuXG4gICAgICBpZiAodHlwZW9mIGVudGl0eS5hY2Nlc3Nbb3BlcmF0aW9uXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBlbnRpdHlBY2Nlc3NQcm9taXNlID0gY3JlYXRlQWNjZXNzUHJvbWlzZSh7XG4gICAgICAgICAgYWNjZXNzOiBlbnRpdHkuYWNjZXNzW29wZXJhdGlvbl0sXG4gICAgICAgICAgYWNjZXNzTGV2ZWw6ICdlbnRpdHknLFxuICAgICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgICBwb2xpY2llc09iajogcG9saWNpZXMsXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwb2xpY2llc1tvcGVyYXRpb25dID0ge1xuICAgICAgICAgIHBlcm1pc3Npb246IGlzTG9nZ2VkSW4sXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYXdhaXQgZW50aXR5QWNjZXNzUHJvbWlzZVxuXG4gICAgICBhd2FpdCBleGVjdXRlRmllbGRQb2xpY2llcyh7XG4gICAgICAgIGVudGl0eVBlcm1pc3Npb246IHBvbGljaWVzW29wZXJhdGlvbl0ucGVybWlzc2lvbixcbiAgICAgICAgZmllbGRzOiBlbnRpdHkuZmllbGRzLFxuICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgIHBvbGljaWVzT2JqOiBwb2xpY2llcyxcbiAgICAgIH0pXG4gICAgfSksXG4gIClcblxuICByZXR1cm4gcG9saWNpZXNcbn1cbiJdLCJuYW1lcyI6WyJnZXRFbnRpdHlQb2xpY2llcyIsImFyZ3MiLCJpZCIsImVudGl0eSIsIm9wZXJhdGlvbnMiLCJyZXEiLCJ0eXBlIiwiaXNMb2dnZWRJbiIsInVzZXIiLCJwb2xpY2llcyIsImZpZWxkcyIsImRvY0JlaW5nQWNjZXNzZWQiLCJnZXRFbnRpdHlEb2MiLCJ3aGVyZSIsInNsdWciLCJwYXlsb2FkIiwiZmluZEdsb2JhbCIsIm92ZXJyaWRlQWNjZXNzIiwicGFnaW5hdGVkUmVzIiwiZmluZCIsImNvbGxlY3Rpb24iLCJsaW1pdCIsImFuZCIsImVxdWFscyIsImRvY3MiLCJ1bmRlZmluZWQiLCJmaW5kQnlJRCIsImNyZWF0ZUFjY2Vzc1Byb21pc2UiLCJhY2Nlc3MiLCJhY2Nlc3NMZXZlbCIsImRpc2FibGVXaGVyZSIsIm9wZXJhdGlvbiIsInBvbGljaWVzT2JqIiwibXV0YWJsZVBvbGljaWVzIiwiZGF0YSIsImJvZHkiLCJhY2Nlc3NSZXN1bHQiLCJkb2MiLCJwZXJtaXNzaW9uIiwiZXhlY3V0ZUZpZWxkUG9saWNpZXMiLCJlbnRpdHlQZXJtaXNzaW9uIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsImZpZWxkIiwibmFtZSIsImJsb2NrcyIsImJsb2NrIiwidGFicyIsInRhYiIsInRhYkhhc05hbWUiLCJlbnRpdHlBY2Nlc3NQcm9taXNlIl0sIm1hcHBpbmdzIjoiOzs7OytCQWdDc0JBOzs7ZUFBQUE7Ozt1QkF4Qks7QUF3QnBCLGVBQWVBLGtCQUFrQ0MsSUFBTztJQUM3RCxNQUFNLEVBQUVDLEVBQUUsRUFBRUMsTUFBTSxFQUFFQyxVQUFVLEVBQUVDLEdBQUcsRUFBRUMsSUFBSSxFQUFFLEdBQUdMO0lBQzlDLE1BQU1NLGFBQWEsQ0FBQyxDQUFDRixJQUFJRyxJQUFJO0lBQzdCLCtDQUErQztJQUMvQywyQ0FBMkM7SUFDM0MsNkNBQTZDO0lBQzdDLCtDQUErQztJQUMvQyxNQUFNQyxXQUFXO1FBQ2ZDLFFBQVEsQ0FBQztJQUNYO0lBRUEsSUFBSUM7SUFFSixlQUFlQyxhQUFhLEVBQUVDLEtBQUssRUFBcUIsR0FBRyxDQUFDLENBQUM7UUFDM0QsSUFBSVYsT0FBT1csSUFBSSxFQUFFO1lBQ2YsSUFBSVIsU0FBUyxVQUFVO2dCQUNyQixPQUFPRCxJQUFJVSxPQUFPLENBQUNDLFVBQVUsQ0FBQztvQkFDNUJDLGdCQUFnQjtvQkFDaEJaO29CQUNBUyxNQUFNWCxPQUFPVyxJQUFJO2dCQUNuQjtZQUNGO1lBRUEsSUFBSVIsU0FBUyxnQkFBZ0JKLElBQUk7Z0JBQy9CLElBQUksT0FBT1csVUFBVSxVQUFVO29CQUM3QixNQUFNSyxlQUFlLE1BQU1iLElBQUlVLE9BQU8sQ0FBQ0ks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
@@ -1 +1 @@
1
- {"version":3,"file":"initTransaction.d.ts","sourceRoot":"","sources":["../../src/utilities/initTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEtD;;;GAGG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAS3E"}
1
+ {"version":3,"file":"initTransaction.d.ts","sourceRoot":"","sources":["../../src/utilities/initTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEtD;;;GAGG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAqB3E"}
@@ -9,14 +9,26 @@ Object.defineProperty(exports, "initTransaction", {
9
9
  }
10
10
  });
11
11
  async function initTransaction(req) {
12
- const { payload, transactionID } = req;
13
- if (!transactionID && typeof payload.db.beginTransaction === 'function') {
14
- req.transactionID = await payload.db.beginTransaction();
15
- if (req.transactionID) {
16
- return true;
17
- }
12
+ const { payload, transactionID, transactionIDPromise } = req;
13
+ if (transactionID) {
14
+ // we already have a transaction, we're not in charge of committing it
15
+ return false;
16
+ }
17
+ if (transactionIDPromise) {
18
+ // wait for whoever else is already creating the transaction
19
+ await transactionIDPromise;
20
+ return false;
21
+ }
22
+ if (typeof payload.db.beginTransaction === 'function') {
23
+ // create a new transaction
24
+ req.transactionIDPromise = payload.db.beginTransaction().then((transactionID)=>{
25
+ req.transactionID = transactionID;
26
+ delete req.transactionIDPromise;
27
+ });
28
+ await req.transactionIDPromise;
29
+ return !!req.transactionID;
18
30
  }
19
31
  return false;
20
32
  }
21
33
 
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaW5pdFRyYW5zYWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi9leHByZXNzL3R5cGVzJ1xuXG4vKipcbiAqIFN0YXJ0cyBhIG5ldyB0cmFuc2FjdGlvbiB1c2luZyB0aGUgZGIgYWRhcHRlciB3aXRoIGEgcmFuZG9tIGlkIGFuZCB0aGVuIGFzc2lnbnMgaXQgdG8gdGhlIHJlcS50cmFuc2FjdGlvblxuICogQHJldHVybnMgdHJ1ZSBpZiBiZWdpbm5pbmcgYSB0cmFuc2FjdGlvbiBhbmQgZmFsc2Ugd2hlbiByZXEgYWxyZWFkeSBoYXMgYSB0cmFuc2FjdGlvbiB0byB1c2VcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGluaXRUcmFuc2FjdGlvbihyZXE6IFBheWxvYWRSZXF1ZXN0KTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGNvbnN0IHsgcGF5bG9hZCwgdHJhbnNhY3Rpb25JRCB9ID0gcmVxXG4gIGlmICghdHJhbnNhY3Rpb25JRCAmJiB0eXBlb2YgcGF5bG9hZC5kYi5iZWdpblRyYW5zYWN0aW9uID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmVxLnRyYW5zYWN0aW9uSUQgPSBhd2FpdCBwYXlsb2FkLmRiLmJlZ2luVHJhbnNhY3Rpb24oKVxuICAgIGlmIChyZXEudHJhbnNhY3Rpb25JRCkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG4iXSwibmFtZXMiOlsiaW5pdFRyYW5zYWN0aW9uIiwicmVxIiwicGF5bG9hZCIsInRyYW5zYWN0aW9uSUQiLCJkYiIsImJlZ2luVHJhbnNhY3Rpb24iXSwibWFwcGluZ3MiOiI7Ozs7K0JBTXNCQTs7O2VBQUFBOzs7QUFBZixlQUFlQSxnQkFBZ0JDLEdBQW1CO0lBQ3ZELE1BQU0sRUFBRUMsT0FBTyxFQUFFQyxhQUFhLEVBQUUsR0FBR0Y7SUFDbkMsSUFBSSxDQUFDRSxpQkFBaUIsT0FBT0QsUUFBUUUsRUFBRSxDQUFDQyxnQkFBZ0IsS0FBSyxZQUFZO1FBQ3ZFSixJQUFJRSxhQUFhLEdBQUcsTUFBTUQsUUFBUUUsRUFBRSxDQUFDQyxnQkFBZ0I7UUFDckQsSUFBSUosSUFBSUUsYUFBYSxFQUFFO1lBQ3JCLE9BQU87UUFDVDtJQUNGO0lBQ0EsT0FBTztBQUNUIn0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaW5pdFRyYW5zYWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi9leHByZXNzL3R5cGVzJ1xuXG4vKipcbiAqIFN0YXJ0cyBhIG5ldyB0cmFuc2FjdGlvbiB1c2luZyB0aGUgZGIgYWRhcHRlciB3aXRoIGEgcmFuZG9tIGlkIGFuZCB0aGVuIGFzc2lnbnMgaXQgdG8gdGhlIHJlcS50cmFuc2FjdGlvblxuICogQHJldHVybnMgdHJ1ZSBpZiBiZWdpbm5pbmcgYSB0cmFuc2FjdGlvbiBhbmQgZmFsc2Ugd2hlbiByZXEgYWxyZWFkeSBoYXMgYSB0cmFuc2FjdGlvbiB0byB1c2VcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGluaXRUcmFuc2FjdGlvbihyZXE6IFBheWxvYWRSZXF1ZXN0KTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGNvbnN0IHsgcGF5bG9hZCwgdHJhbnNhY3Rpb25JRCwgdHJhbnNhY3Rpb25JRFByb21pc2UgfSA9IHJlcVxuICBpZiAodHJhbnNhY3Rpb25JRCkge1xuICAgIC8vIHdlIGFscmVhZHkgaGF2ZSBhIHRyYW5zYWN0aW9uLCB3ZSdyZSBub3QgaW4gY2hhcmdlIG9mIGNvbW1pdHRpbmcgaXRcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICBpZiAodHJhbnNhY3Rpb25JRFByb21pc2UpIHtcbiAgICAvLyB3YWl0IGZvciB3aG9ldmVyIGVsc2UgaXMgYWxyZWFkeSBjcmVhdGluZyB0aGUgdHJhbnNhY3Rpb25cbiAgICBhd2FpdCB0cmFuc2FjdGlvbklEUHJvbWlzZVxuICAgIHJldHVybiBmYWxzZVxuICB9XG4gIGlmICh0eXBlb2YgcGF5bG9hZC5kYi5iZWdpblRyYW5zYWN0aW9uID09PSAnZnVuY3Rpb24nKSB7XG4gICAgLy8gY3JlYXRlIGEgbmV3IHRyYW5zYWN0aW9uXG4gICAgcmVxLnRyYW5zYWN0aW9uSURQcm9taXNlID0gcGF5bG9hZC5kYi5iZWdpblRyYW5zYWN0aW9uKCkudGhlbigodHJhbnNhY3Rpb25JRCkgPT4ge1xuICAgICAgcmVxLnRyYW5zYWN0aW9uSUQgPSB0cmFuc2FjdGlvbklEXG4gICAgICBkZWxldGUgcmVxLnRyYW5zYWN0aW9uSURQcm9taXNlXG4gICAgfSlcbiAgICBhd2FpdCByZXEudHJhbnNhY3Rpb25JRFByb21pc2VcbiAgICByZXR1cm4gISFyZXEudHJhbnNhY3Rpb25JRFxuICB9XG4gIHJldHVybiBmYWxzZVxufVxuIl0sIm5hbWVzIjpbImluaXRUcmFuc2FjdGlvbiIsInJlcSIsInBheWxvYWQiLCJ0cmFuc2FjdGlvbklEIiwidHJhbnNhY3Rpb25JRFByb21pc2UiLCJkYiIsImJlZ2luVHJhbnNhY3Rpb24iLCJ0aGVuIl0sIm1hcHBpbmdzIjoiOzs7OytCQU1zQkE7OztlQUFBQTs7O0FBQWYsZUFBZUEsZ0JBQWdCQyxHQUFtQjtJQUN2RCxNQUFNLEVBQUVDLE9BQU8sRUFBRUMsYUFBYSxFQUFFQyxvQkFBb0IsRUFBRSxHQUFHSDtJQUN6RCxJQUFJRSxlQUFlO1FBQ2pCLHNFQUFzRTtRQUN0RSxPQUFPO0lBQ1Q7SUFDQSxJQUFJQyxzQkFBc0I7UUFDeEIsNERBQTREO1FBQzVELE1BQU1BO1FBQ04sT0FBTztJQUNUO0lBQ0EsSUFBSSxPQUFPRixRQUFRRyxFQUFFLENBQUNDLGdCQUFnQixLQUFLLFlBQVk7UUFDckQsMkJBQTJCO1FBQzNCTCxJQUFJRyxvQkFBb0IsR0FBR0YsUUFBUUcsRUFBRSxDQUFDQyxnQkFBZ0IsR0FBR0MsSUFBSSxDQUFDLENBQUNKO1lBQzdERixJQUFJRSxhQUFhLEdBQUdBO1lBQ3BCLE9BQU9GLElBQUlHLG9CQUFvQjtRQUNqQztRQUNBLE1BQU1ILElBQUlHLG9CQUFvQjtRQUM5QixPQUFPLENBQUMsQ0FBQ0gsSUFBSUUsYUFBYTtJQUM1QjtJQUNBLE9BQU87QUFDVCJ9
@@ -0,0 +1,6 @@
1
+ import type { PayloadRequest } from '../express/types';
2
+ /**
3
+ * Creates a proxy for the given request that has its own TransactionID
4
+ */
5
+ export default function isolateTransactionID(req: PayloadRequest): PayloadRequest;
6
+ //# sourceMappingURL=isolateTransactionID.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isolateTransactionID.d.ts","sourceRoot":"","sources":["../../src/utilities/isolateTransactionID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEtD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,cAAc,CAuBhF"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, /**
6
+ * Creates a proxy for the given request that has its own TransactionID
7
+ */ "default", {
8
+ enumerable: true,
9
+ get: function() {
10
+ return isolateTransactionID;
11
+ }
12
+ });
13
+ function isolateTransactionID(req) {
14
+ const delegate = {};
15
+ const handler = {
16
+ deleteProperty (target, p) {
17
+ return Reflect.deleteProperty(p === 'transactionID' ? delegate : target, p);
18
+ },
19
+ get (target, p, receiver) {
20
+ return Reflect.get(p === 'transactionID' ? delegate : target, p, receiver);
21
+ },
22
+ has (target, p) {
23
+ return Reflect.has(p === 'transactionID' ? delegate : target, p);
24
+ },
25
+ set (target, p, newValue, receiver) {
26
+ if (p === 'transactionID') {
27
+ // in case of transactionID we must ignore any receiver, because
28
+ // "If provided and target does not have a setter for propertyKey, the property will be set on receiver instead."
29
+ return Reflect.set(delegate, p, newValue);
30
+ } else {
31
+ return Reflect.set(target, p, newValue, receiver);
32
+ }
33
+ }
34
+ };
35
+ return new Proxy(req, handler);
36
+ }
37
+
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaXNvbGF0ZVRyYW5zYWN0aW9uSUQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uL2V4cHJlc3MvdHlwZXMnXG5cbi8qKlxuICogQ3JlYXRlcyBhIHByb3h5IGZvciB0aGUgZ2l2ZW4gcmVxdWVzdCB0aGF0IGhhcyBpdHMgb3duIFRyYW5zYWN0aW9uSURcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNvbGF0ZVRyYW5zYWN0aW9uSUQocmVxOiBQYXlsb2FkUmVxdWVzdCk6IFBheWxvYWRSZXF1ZXN0IHtcbiAgY29uc3QgZGVsZWdhdGUgPSB7fVxuICBjb25zdCBoYW5kbGVyOiBQcm94eUhhbmRsZXI8UGF5bG9hZFJlcXVlc3Q+ID0ge1xuICAgIGRlbGV0ZVByb3BlcnR5KHRhcmdldCwgcCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIFJlZmxlY3QuZGVsZXRlUHJvcGVydHkocCA9PT0gJ3RyYW5zYWN0aW9uSUQnID8gZGVsZWdhdGUgOiB0YXJnZXQsIHApXG4gICAgfSxcbiAgICBnZXQodGFyZ2V0LCBwLCByZWNlaXZlcikge1xuICAgICAgcmV0dXJuIFJlZmxlY3QuZ2V0KHAgPT09ICd0cmFuc2FjdGlvbklEJyA/IGRlbGVnYXRlIDogdGFyZ2V0LCBwLCByZWNlaXZlcilcbiAgICB9LFxuICAgIGhhcyh0YXJnZXQsIHApIHtcbiAgICAgIHJldHVybiBSZWZsZWN0LmhhcyhwID09PSAndHJhbnNhY3Rpb25JRCcgPyBkZWxlZ2F0ZSA6IHRhcmdldCwgcClcbiAgICB9LFxuICAgIHNldCh0YXJnZXQsIHAsIG5ld1ZhbHVlLCByZWNlaXZlcikge1xuICAgICAgaWYgKHAgPT09ICd0cmFuc2FjdGlvbklEJykge1xuICAgICAgICAvLyBpbiBjYXNlIG9mIHRyYW5zYWN0aW9uSUQgd2UgbXVzdCBpZ25vcmUgYW55IHJlY2VpdmVyLCBiZWNhdXNlXG4gICAgICAgIC8vIFwiSWYgcHJvdmlkZWQgYW5kIHRhcmdldCBkb2VzIG5vdCBoYXZlIGEgc2V0dGVyIGZvciBwcm9wZXJ0eUtleSwgdGhlIHByb3BlcnR5IHdpbGwgYmUgc2V0IG9uIHJlY2VpdmVyIGluc3RlYWQuXCJcbiAgICAgICAgcmV0dXJuIFJlZmxlY3Quc2V0KGRlbGVnYXRlLCBwLCBuZXdWYWx1ZSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBSZWZsZWN0LnNldCh0YXJnZXQsIHAsIG5ld1ZhbHVlLCByZWNlaXZlcilcbiAgICAgIH1cbiAgICB9LFxuICB9XG4gIHJldHVybiBuZXcgUHJveHkocmVxLCBoYW5kbGVyKVxufVxuIl0sIm5hbWVzIjpbImlzb2xhdGVUcmFuc2FjdGlvbklEIiwicmVxIiwiZGVsZWdhdGUiLCJoYW5kbGVyIiwiZGVsZXRlUHJvcGVydHkiLCJ0YXJnZXQiLCJwIiwiUmVmbGVjdCIsImdldCIsInJlY2VpdmVyIiwiaGFzIiwic2V0IiwibmV3VmFsdWUiLCJQcm94eSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFFQTs7Q0FFQyxHQUNEOzs7ZUFBd0JBOzs7QUFBVCxTQUFTQSxxQkFBcUJDLEdBQW1CO0lBQzlELE1BQU1DLFdBQVcsQ0FBQztJQUNsQixNQUFNQyxVQUF3QztRQUM1Q0MsZ0JBQWVDLE1BQU0sRUFBRUMsQ0FBQztZQUN0QixPQUFPQyxRQUFRSCxjQUFjLENBQUNFLE1BQU0sa0JBQWtCSixXQUFXRyxRQUFRQztRQUMzRTtRQUNBRSxLQUFJSCxNQUFNLEVBQUVDLENBQUMsRUFBRUcsUUFBUTtZQUNyQixPQUFPRixRQUFRQyxHQUFHLENBQUNGLE1BQU0sa0JBQWtCSixXQUFXRyxRQUFRQyxHQUFHRztRQUNuRTtRQUNBQyxLQUFJTCxNQUFNLEVBQUVDLENBQUM7WUFDWCxPQUFPQyxRQUFRRyxHQUFHLENBQUNKLE1BQU0sa0JBQWtCSixXQUFXRyxRQUFRQztRQUNoRTtRQUNBSyxLQUFJTixNQUFNLEVBQUVDLENBQUMsRUFBRU0sUUFBUSxFQUFFSCxRQUFRO1lBQy9CLElBQUlILE1BQU0saUJBQWlCO2dCQUN6QixnRUFBZ0U7Z0JBQ2hFLGlIQUFpSDtnQkFDakgsT0FBT0MsUUFBUUksR0FBRyxDQUFDVCxVQUFVSSxHQUFHTTtZQUNsQyxPQUFPO2dCQUNMLE9BQU9MLFFBQVFJLEdBQUcsQ0FBQ04sUUFBUUMsR0FBR00sVUFBVUg7WUFDMUM7UUFDRjtJQUNGO0lBQ0EsT0FBTyxJQUFJSSxNQUFNWixLQUFLRTtBQUN4QiJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "payload",
3
- "version": "2.1.1",
3
+ "version": "2.2.1",
4
4
  "description": "Node, React and MongoDB Headless CMS and Application Framework",
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.js",
package/utilities.d.ts CHANGED
@@ -2,7 +2,7 @@ export { withMergedProps } from './dist/admin/components/utilities/WithMergedPro
2
2
  export { extractTranslations } from './dist/translations/extractTranslations';
3
3
  export { i18nInit } from './dist/translations/init';
4
4
  export { combineMerge } from './dist/utilities/combineMerge';
5
- export { configToJSONSchema, entityToJSONSchema } from './dist/utilities/configToJSONSchema';
5
+ export { configToJSONSchema, entityToJSONSchema, withNullableJSONSchemaType, } from './dist/utilities/configToJSONSchema';
6
6
  export { createArrayFromCommaDelineated } from './dist/utilities/createArrayFromCommaDelineated';
7
7
  export { deepCopyObject } from './dist/utilities/deepCopyObject';
8
8
  export { deepMerge } from './dist/utilities/deepMerge';
package/utilities.js CHANGED
@@ -27,6 +27,9 @@ _export(exports, {
27
27
  entityToJSONSchema: function() {
28
28
  return _configToJSONSchema.entityToJSONSchema;
29
29
  },
30
+ withNullableJSONSchemaType: function() {
31
+ return _configToJSONSchema.withNullableJSONSchemaType;
32
+ },
30
33
  createArrayFromCommaDelineated: function() {
31
34
  return _createArrayFromCommaDelineated.createArrayFromCommaDelineated;
32
35
  },
@@ -81,4 +84,4 @@ function _interop_require_default(obj) {
81
84
  };
82
85
  }
83
86
 
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHBvcnRzL3V0aWxpdGllcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyB3aXRoTWVyZ2VkUHJvcHMgfSBmcm9tICcuLi9hZG1pbi9jb21wb25lbnRzL3V0aWxpdGllcy9XaXRoTWVyZ2VkUHJvcHMnXG5leHBvcnQgeyBleHRyYWN0VHJhbnNsYXRpb25zIH0gZnJvbSAnLi4vdHJhbnNsYXRpb25zL2V4dHJhY3RUcmFuc2xhdGlvbnMnXG5cbmV4cG9ydCB7IGkxOG5Jbml0IH0gZnJvbSAnLi4vdHJhbnNsYXRpb25zL2luaXQnXG5leHBvcnQgeyBjb21iaW5lTWVyZ2UgfSBmcm9tICcuLi91dGlsaXRpZXMvY29tYmluZU1lcmdlJ1xuZXhwb3J0IHsgY29uZmlnVG9KU09OU2NoZW1hLCBlbnRpdHlUb0pTT05TY2hlbWEgfSBmcm9tICcuLi91dGlsaXRpZXMvY29uZmlnVG9KU09OU2NoZW1hJ1xuXG5leHBvcnQgeyBjcmVhdGVBcnJheUZyb21Db21tYURlbGluZWF0ZWQgfSBmcm9tICcuLi91dGlsaXRpZXMvY3JlYXRlQXJyYXlGcm9tQ29tbWFEZWxpbmVhdGVkJ1xuZXhwb3J0IHsgZGVlcENvcHlPYmplY3QgfSBmcm9tICcuLi91dGlsaXRpZXMvZGVlcENvcHlPYmplY3QnXG5cbmV4cG9ydCB7IGRlZXBNZXJnZSB9IGZyb20gJy4uL3V0aWxpdGllcy9kZWVwTWVyZ2UnXG5leHBvcnQgeyBmaWVsZFNjaGVtYVRvSlNPTiB9IGZyb20gJy4uL3V0aWxpdGllcy9maWVsZFNjaGVtYVRvSlNPTidcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZmxhdHRlblRvcExldmVsRmllbGRzIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2ZsYXR0ZW5Ub3BMZXZlbEZpZWxkcydcbmV4cG9ydCB7IGZvcm1hdExhYmVscywgZm9ybWF0TmFtZXMsIHRvV29yZHMgfSBmcm9tICcuLi91dGlsaXRpZXMvZm9ybWF0TGFiZWxzJ1xuZXhwb3J0IHsgZ2V0SURUeXBlIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2dldElEVHlwZSdcbmV4cG9ydCB7IGdldFRyYW5zbGF0aW9uIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2dldFRyYW5zbGF0aW9uJ1xuZXhwb3J0IHsgaXNWYWxpZElEIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2lzVmFsaWRJRCdcbiJdLCJuYW1lcyI6WyJ3aXRoTWVyZ2VkUHJvcHMiLCJleHRyYWN0VHJhbnNsYXRpb25zIiwiaTE4bkluaXQiLCJjb21iaW5lTWVyZ2UiLCJjb25maWdUb0pTT05TY2hlbWEiLCJlbnRpdHlUb0pTT05TY2hlbWEiLCJjcmVhdGVBcnJheUZyb21Db21tYURlbGluZWF0ZWQiLCJkZWVwQ29weU9iamVjdCIsImRlZXBNZXJnZSIsImZpZWxkU2NoZW1hVG9KU09OIiwiZmxhdHRlblRvcExldmVsRmllbGRzIiwiZm9ybWF0TGFiZWxzIiwiZm9ybWF0TmFtZXMiLCJ0b1dvcmRzIiwiZ2V0SURUeXBlIiwiZ2V0VHJhbnNsYXRpb24iLCJpc1ZhbGlkSUQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBQVNBLGVBQWU7ZUFBZkEsZ0NBQWU7O0lBQ2ZDLG1CQUFtQjtlQUFuQkEsd0NBQW1COztJQUVuQkMsUUFBUTtlQUFSQSxjQUFROztJQUNSQyxZQUFZO2VBQVpBLDBCQUFZOztJQUNaQyxrQkFBa0I7ZUFBbEJBLHNDQUFrQjs7SUFBRUMsa0JBQWtCO2VBQWxCQSxzQ0FBa0I7O0lBRXRDQyw4QkFBOEI7ZUFBOUJBLDhEQUE4Qjs7SUFDOUJDLGNBQWM7ZUFBZEEsOEJBQWM7O0lBRWRDLFNBQVM7ZUFBVEEsb0JBQVM7O0lBQ1RDLGlCQUFpQjtlQUFqQkEsb0NBQWlCOztJQUNOQyxxQkFBcUI7ZUFBckJBLDhCQUFxQjs7SUFDaENDLFlBQVk7ZUFBWkEsMEJBQVk7O0lBQUVDLFdBQVc7ZUFBWEEseUJBQVc7O0lBQUVDLE9BQU87ZUFBUEEscUJBQU87O0lBQ2xDQyxTQUFTO2VBQVRBLG9CQUFTOztJQUNUQyxjQUFjO2VBQWRBLDhCQUFjOztJQUNkQyxTQUFTO2VBQVRBLG9CQUFTOzs7aUNBaEJjO3FDQUNJO3NCQUVYOzhCQUNJO29DQUMwQjtnREFFUjtnQ0FDaEI7MkJBRUw7bUNBQ1E7OEVBQ2U7OEJBQ0U7MkJBQ3pCO2dDQUNLOzJCQUNMIn0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHBvcnRzL3V0aWxpdGllcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyB3aXRoTWVyZ2VkUHJvcHMgfSBmcm9tICcuLi9hZG1pbi9jb21wb25lbnRzL3V0aWxpdGllcy9XaXRoTWVyZ2VkUHJvcHMnXG5leHBvcnQgeyBleHRyYWN0VHJhbnNsYXRpb25zIH0gZnJvbSAnLi4vdHJhbnNsYXRpb25zL2V4dHJhY3RUcmFuc2xhdGlvbnMnXG5cbmV4cG9ydCB7IGkxOG5Jbml0IH0gZnJvbSAnLi4vdHJhbnNsYXRpb25zL2luaXQnXG5leHBvcnQgeyBjb21iaW5lTWVyZ2UgfSBmcm9tICcuLi91dGlsaXRpZXMvY29tYmluZU1lcmdlJ1xuZXhwb3J0IHtcbiAgY29uZmlnVG9KU09OU2NoZW1hLFxuICBlbnRpdHlUb0pTT05TY2hlbWEsXG4gIHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlLFxufSBmcm9tICcuLi91dGlsaXRpZXMvY29uZmlnVG9KU09OU2NoZW1hJ1xuXG5leHBvcnQgeyBjcmVhdGVBcnJheUZyb21Db21tYURlbGluZWF0ZWQgfSBmcm9tICcuLi91dGlsaXRpZXMvY3JlYXRlQXJyYXlGcm9tQ29tbWFEZWxpbmVhdGVkJ1xuZXhwb3J0IHsgZGVlcENvcHlPYmplY3QgfSBmcm9tICcuLi91dGlsaXRpZXMvZGVlcENvcHlPYmplY3QnXG5cbmV4cG9ydCB7IGRlZXBNZXJnZSB9IGZyb20gJy4uL3V0aWxpdGllcy9kZWVwTWVyZ2UnXG5leHBvcnQgeyBmaWVsZFNjaGVtYVRvSlNPTiB9IGZyb20gJy4uL3V0aWxpdGllcy9maWVsZFNjaGVtYVRvSlNPTidcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZmxhdHRlblRvcExldmVsRmllbGRzIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2ZsYXR0ZW5Ub3BMZXZlbEZpZWxkcydcbmV4cG9ydCB7IGZvcm1hdExhYmVscywgZm9ybWF0TmFtZXMsIHRvV29yZHMgfSBmcm9tICcuLi91dGlsaXRpZXMvZm9ybWF0TGFiZWxzJ1xuZXhwb3J0IHsgZ2V0SURUeXBlIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2dldElEVHlwZSdcbmV4cG9ydCB7IGdldFRyYW5zbGF0aW9uIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2dldFRyYW5zbGF0aW9uJ1xuZXhwb3J0IHsgaXNWYWxpZElEIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2lzVmFsaWRJRCdcbiJdLCJuYW1lcyI6WyJ3aXRoTWVyZ2VkUHJvcHMiLCJleHRyYWN0VHJhbnNsYXRpb25zIiwiaTE4bkluaXQiLCJjb21iaW5lTWVyZ2UiLCJjb25maWdUb0pTT05TY2hlbWEiLCJlbnRpdHlUb0pTT05TY2hlbWEiLCJ3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSIsImNyZWF0ZUFycmF5RnJvbUNvbW1hRGVsaW5lYXRlZCIsImRlZXBDb3B5T2JqZWN0IiwiZGVlcE1lcmdlIiwiZmllbGRTY2hlbWFUb0pTT04iLCJmbGF0dGVuVG9wTGV2ZWxGaWVsZHMiLCJmb3JtYXRMYWJlbHMiLCJmb3JtYXROYW1lcyIsInRvV29yZHMiLCJnZXRJRFR5cGUiLCJnZXRUcmFuc2xhdGlvbiIsImlzVmFsaWRJRCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFBU0EsZUFBZTtlQUFmQSxnQ0FBZTs7SUFDZkMsbUJBQW1CO2VBQW5CQSx3Q0FBbUI7O0lBRW5CQyxRQUFRO2VBQVJBLGNBQVE7O0lBQ1JDLFlBQVk7ZUFBWkEsMEJBQVk7O0lBRW5CQyxrQkFBa0I7ZUFBbEJBLHNDQUFrQjs7SUFDbEJDLGtCQUFrQjtlQUFsQkEsc0NBQWtCOztJQUNsQkMsMEJBQTBCO2VBQTFCQSw4Q0FBMEI7O0lBR25CQyw4QkFBOEI7ZUFBOUJBLDhEQUE4Qjs7SUFDOUJDLGNBQWM7ZUFBZEEsOEJBQWM7O0lBRWRDLFNBQVM7ZUFBVEEsb0JBQVM7O0lBQ1RDLGlCQUFpQjtlQUFqQkEsb0NBQWlCOztJQUNOQyxxQkFBcUI7ZUFBckJBLDhCQUFxQjs7SUFDaENDLFlBQVk7ZUFBWkEsMEJBQVk7O0lBQUVDLFdBQVc7ZUFBWEEseUJBQVc7O0lBQUVDLE9BQU87ZUFBUEEscUJBQU87O0lBQ2xDQyxTQUFTO2VBQVRBLG9CQUFTOztJQUNUQyxjQUFjO2VBQWRBLDhCQUFjOztJQUNkQyxTQUFTO2VBQVRBLG9CQUFTOzs7aUNBcEJjO3FDQUNJO3NCQUVYOzhCQUNJO29DQUt0QjtnREFFd0M7Z0NBQ2hCOzJCQUVMO21DQUNROzhFQUNlOzhCQUNFOzJCQUN6QjtnQ0FDSzsyQkFDTCJ9