payload 2.0.14 → 2.1.0

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 (245) hide show
  1. package/README.md +3 -4
  2. package/components/hooks.d.ts +1 -0
  3. package/components/hooks.js +5 -1
  4. package/components/index.js +1 -1
  5. package/components/styles.css +1 -1
  6. package/dist/admin/components/elements/DatePicker/DatePicker.d.ts.map +1 -1
  7. package/dist/admin/components/elements/DatePicker/DatePicker.js +4 -3
  8. package/dist/admin/components/elements/DatePicker/types.d.ts +2 -0
  9. package/dist/admin/components/elements/DatePicker/types.d.ts.map +1 -1
  10. package/dist/admin/components/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  11. package/dist/admin/components/elements/DocumentDrawer/DrawerContent.js +2 -2
  12. package/dist/admin/components/elements/DocumentHeader/Tabs/getCustomViews.d.ts +3 -2
  13. package/dist/admin/components/elements/DocumentHeader/Tabs/getCustomViews.d.ts.map +1 -1
  14. package/dist/admin/components/elements/DocumentHeader/Tabs/getCustomViews.js +1 -1
  15. package/dist/admin/components/elements/DocumentHeader/Tabs/getViewConfig.d.ts +10 -0
  16. package/dist/admin/components/elements/DocumentHeader/Tabs/getViewConfig.d.ts.map +1 -0
  17. package/dist/admin/components/elements/DocumentHeader/Tabs/getViewConfig.js +24 -0
  18. package/dist/admin/components/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  19. package/dist/admin/components/elements/DocumentHeader/Tabs/index.js +28 -12
  20. package/dist/admin/components/elements/DocumentHeader/Tabs/tabs.d.ts +4 -1
  21. package/dist/admin/components/elements/DocumentHeader/Tabs/tabs.d.ts.map +1 -1
  22. package/dist/admin/components/elements/DocumentHeader/Tabs/tabs.js +26 -17
  23. package/dist/admin/components/elements/DocumentHeader/Tabs/types.d.ts +2 -2
  24. package/dist/admin/components/elements/DocumentHeader/Tabs/types.d.ts.map +1 -1
  25. package/dist/admin/components/elements/EditUpload/index.js +2 -2
  26. package/dist/admin/components/elements/FileDetails/index.scss +1 -1
  27. package/dist/admin/components/elements/ListControls/index.d.ts.map +1 -1
  28. package/dist/admin/components/elements/ListControls/index.js +5 -7
  29. package/dist/admin/components/elements/ListControls/index.scss +3 -6
  30. package/dist/admin/components/elements/Localizer/LocalizerLabel/index.d.ts +1 -1
  31. package/dist/admin/components/elements/Localizer/LocalizerLabel/index.d.ts.map +1 -1
  32. package/dist/admin/components/elements/Localizer/LocalizerLabel/index.js +8 -6
  33. package/dist/admin/components/elements/Localizer/index.d.ts.map +1 -1
  34. package/dist/admin/components/elements/Localizer/index.js +8 -3
  35. package/dist/admin/components/elements/Nav/NavToggler/index.js +2 -2
  36. package/dist/admin/components/elements/SortColumn/index.d.ts.map +1 -1
  37. package/dist/admin/components/elements/SortColumn/index.js +7 -5
  38. package/dist/admin/components/elements/StepNav/index.d.ts.map +1 -1
  39. package/dist/admin/components/elements/StepNav/index.js +11 -5
  40. package/dist/admin/components/elements/StepNav/index.scss +2 -0
  41. package/dist/admin/components/elements/Tooltip/index.d.ts.map +1 -1
  42. package/dist/admin/components/elements/Tooltip/index.js +15 -6
  43. package/dist/admin/components/elements/Tooltip/index.scss +24 -1
  44. package/dist/admin/components/elements/Tooltip/types.d.ts +1 -0
  45. package/dist/admin/components/elements/Tooltip/types.d.ts.map +1 -1
  46. package/dist/admin/components/elements/WhereBuilder/Condition/Date/index.js +3 -2
  47. package/dist/admin/components/elements/WhereBuilder/Condition/Date/types.d.ts +1 -0
  48. package/dist/admin/components/elements/WhereBuilder/Condition/Date/types.d.ts.map +1 -1
  49. package/dist/admin/components/elements/WhereBuilder/Condition/Number/index.d.ts.map +1 -1
  50. package/dist/admin/components/elements/WhereBuilder/Condition/Number/index.js +3 -2
  51. package/dist/admin/components/elements/WhereBuilder/Condition/Number/types.d.ts +1 -0
  52. package/dist/admin/components/elements/WhereBuilder/Condition/Number/types.d.ts.map +1 -1
  53. package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  54. package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/index.js +3 -2
  55. package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/types.d.ts +1 -0
  56. package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/types.d.ts.map +1 -1
  57. package/dist/admin/components/elements/WhereBuilder/Condition/Select/index.d.ts.map +1 -1
  58. package/dist/admin/components/elements/WhereBuilder/Condition/Select/index.js +3 -2
  59. package/dist/admin/components/elements/WhereBuilder/Condition/Select/types.d.ts +1 -0
  60. package/dist/admin/components/elements/WhereBuilder/Condition/Select/types.d.ts.map +1 -1
  61. package/dist/admin/components/elements/WhereBuilder/Condition/Text/index.d.ts.map +1 -1
  62. package/dist/admin/components/elements/WhereBuilder/Condition/Text/index.js +3 -2
  63. package/dist/admin/components/elements/WhereBuilder/Condition/Text/types.d.ts +1 -0
  64. package/dist/admin/components/elements/WhereBuilder/Condition/Text/types.d.ts.map +1 -1
  65. package/dist/admin/components/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  66. package/dist/admin/components/elements/WhereBuilder/Condition/index.js +27 -17
  67. package/dist/admin/components/elements/WhereBuilder/reducer.js +6 -6
  68. package/dist/admin/components/forms/Error/index.js +3 -2
  69. package/dist/admin/components/forms/Error/index.scss +2 -1
  70. package/dist/admin/components/forms/Error/types.d.ts +1 -0
  71. package/dist/admin/components/forms/Error/types.d.ts.map +1 -1
  72. package/dist/admin/components/forms/Form/buildStateFromSchema/addFieldStatePromise.js +2 -2
  73. package/dist/admin/components/forms/RenderFields/filterFields.d.ts.map +1 -1
  74. package/dist/admin/components/forms/RenderFields/filterFields.js +12 -5
  75. package/dist/admin/components/forms/field-types/Checkbox/Input.d.ts +5 -1
  76. package/dist/admin/components/forms/field-types/Checkbox/Input.d.ts.map +1 -1
  77. package/dist/admin/components/forms/field-types/Checkbox/Input.js +6 -5
  78. package/dist/admin/components/forms/field-types/Checkbox/index.d.ts.map +1 -1
  79. package/dist/admin/components/forms/field-types/Checkbox/index.js +11 -5
  80. package/dist/admin/components/forms/field-types/Code/index.d.ts.map +1 -1
  81. package/dist/admin/components/forms/field-types/Code/index.js +6 -4
  82. package/dist/admin/components/forms/field-types/DateTime/Input.d.ts +6 -0
  83. package/dist/admin/components/forms/field-types/DateTime/Input.d.ts.map +1 -1
  84. package/dist/admin/components/forms/field-types/DateTime/Input.js +8 -6
  85. package/dist/admin/components/forms/field-types/DateTime/index.d.ts.map +1 -1
  86. package/dist/admin/components/forms/field-types/DateTime/index.js +3 -2
  87. package/dist/admin/components/forms/field-types/Email/index.d.ts.map +1 -1
  88. package/dist/admin/components/forms/field-types/Email/index.js +10 -6
  89. package/dist/admin/components/forms/field-types/JSON/index.d.ts.map +1 -1
  90. package/dist/admin/components/forms/field-types/JSON/index.js +6 -4
  91. package/dist/admin/components/forms/field-types/Number/index.d.ts.map +1 -1
  92. package/dist/admin/components/forms/field-types/Number/index.js +10 -6
  93. package/dist/admin/components/forms/field-types/Point/index.d.ts.map +1 -1
  94. package/dist/admin/components/forms/field-types/Point/index.js +14 -8
  95. package/dist/admin/components/forms/field-types/RadioGroup/Input.d.ts +2 -0
  96. package/dist/admin/components/forms/field-types/RadioGroup/Input.d.ts.map +1 -1
  97. package/dist/admin/components/forms/field-types/RadioGroup/Input.js +6 -4
  98. package/dist/admin/components/forms/field-types/RadioGroup/index.d.ts.map +1 -1
  99. package/dist/admin/components/forms/field-types/RadioGroup/index.js +5 -3
  100. package/dist/admin/components/forms/field-types/Relationship/index.d.ts.map +1 -1
  101. package/dist/admin/components/forms/field-types/Relationship/index.js +7 -5
  102. package/dist/admin/components/forms/field-types/Select/Input.d.ts +2 -0
  103. package/dist/admin/components/forms/field-types/Select/Input.d.ts.map +1 -1
  104. package/dist/admin/components/forms/field-types/Select/Input.js +6 -4
  105. package/dist/admin/components/forms/field-types/Select/index.d.ts.map +1 -1
  106. package/dist/admin/components/forms/field-types/Select/index.js +5 -3
  107. package/dist/admin/components/forms/field-types/Text/Input.d.ts +4 -0
  108. package/dist/admin/components/forms/field-types/Text/Input.d.ts.map +1 -1
  109. package/dist/admin/components/forms/field-types/Text/Input.js +11 -7
  110. package/dist/admin/components/forms/field-types/Text/index.d.ts.map +1 -1
  111. package/dist/admin/components/forms/field-types/Text/index.js +7 -3
  112. package/dist/admin/components/forms/field-types/Textarea/Input.d.ts +4 -0
  113. package/dist/admin/components/forms/field-types/Textarea/Input.d.ts.map +1 -1
  114. package/dist/admin/components/forms/field-types/Textarea/Input.js +8 -6
  115. package/dist/admin/components/forms/field-types/Textarea/index.d.ts.map +1 -1
  116. package/dist/admin/components/forms/field-types/Textarea/index.js +7 -3
  117. package/dist/admin/components/forms/field-types/Upload/Input.d.ts +2 -0
  118. package/dist/admin/components/forms/field-types/Upload/Input.d.ts.map +1 -1
  119. package/dist/admin/components/forms/field-types/Upload/Input.js +6 -4
  120. package/dist/admin/components/forms/field-types/Upload/index.d.ts.map +1 -1
  121. package/dist/admin/components/forms/field-types/Upload/index.js +5 -3
  122. package/dist/admin/components/utilities/Auth/index.d.ts +1 -3
  123. package/dist/admin/components/utilities/Auth/index.d.ts.map +1 -1
  124. package/dist/admin/components/utilities/Auth/index.js +1 -1
  125. package/dist/admin/components/views/API/index.d.ts.map +1 -1
  126. package/dist/admin/components/views/API/index.js +6 -6
  127. package/dist/admin/components/views/Account/Default.d.ts.map +1 -1
  128. package/dist/admin/components/views/Account/Default.js +3 -3
  129. package/dist/admin/components/views/Account/index.js +2 -2
  130. package/dist/admin/components/views/Global/Routes/custom.js +3 -3
  131. package/dist/admin/components/views/Versions/index.d.ts.map +1 -1
  132. package/dist/admin/components/views/Versions/index.js +3 -3
  133. package/dist/admin/components/views/collections/Edit/Routes/custom.js +3 -3
  134. package/dist/auth/graphql/resolvers/access.d.ts.map +1 -1
  135. package/dist/auth/graphql/resolvers/access.js +4 -2
  136. package/dist/auth/graphql/resolvers/forgotPassword.d.ts.map +1 -1
  137. package/dist/auth/graphql/resolvers/forgotPassword.js +4 -2
  138. package/dist/auth/graphql/resolvers/init.d.ts.map +1 -1
  139. package/dist/auth/graphql/resolvers/init.js +4 -2
  140. package/dist/auth/graphql/resolvers/login.d.ts.map +1 -1
  141. package/dist/auth/graphql/resolvers/login.js +4 -2
  142. package/dist/auth/graphql/resolvers/logout.d.ts.map +1 -1
  143. package/dist/auth/graphql/resolvers/logout.js +4 -2
  144. package/dist/auth/graphql/resolvers/me.d.ts.map +1 -1
  145. package/dist/auth/graphql/resolvers/me.js +4 -2
  146. package/dist/auth/graphql/resolvers/refresh.d.ts.map +1 -1
  147. package/dist/auth/graphql/resolvers/refresh.js +4 -2
  148. package/dist/auth/graphql/resolvers/resetPassword.d.ts.map +1 -1
  149. package/dist/auth/graphql/resolvers/resetPassword.js +4 -2
  150. package/dist/auth/graphql/resolvers/unlock.d.ts.map +1 -1
  151. package/dist/auth/graphql/resolvers/unlock.js +4 -2
  152. package/dist/auth/graphql/resolvers/verifyEmail.d.ts.map +1 -1
  153. package/dist/auth/graphql/resolvers/verifyEmail.js +4 -2
  154. package/dist/auth/operations/refresh.js +2 -2
  155. package/dist/collections/config/types.d.ts +11 -10
  156. package/dist/collections/config/types.d.ts.map +1 -1
  157. package/dist/collections/config/types.js +1 -1
  158. package/dist/collections/dataloader.js +5 -5
  159. package/dist/collections/graphql/resolvers/create.js +4 -2
  160. package/dist/collections/graphql/resolvers/delete.js +4 -2
  161. package/dist/collections/graphql/resolvers/docAccess.js +4 -2
  162. package/dist/collections/graphql/resolvers/find.js +4 -2
  163. package/dist/collections/graphql/resolvers/findVersionByID.js +4 -2
  164. package/dist/collections/graphql/resolvers/findVersions.js +4 -2
  165. package/dist/collections/graphql/resolvers/restoreVersion.js +4 -2
  166. package/dist/collections/graphql/resolvers/update.js +4 -2
  167. package/dist/collections/operations/findVersions.d.ts +1 -0
  168. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  169. package/dist/collections/operations/findVersions.js +3 -2
  170. package/dist/config/schema.d.ts.map +1 -1
  171. package/dist/config/schema.js +4 -2
  172. package/dist/config/shared/componentSchema.js +3 -3
  173. package/dist/config/types.d.ts +16 -5
  174. package/dist/config/types.d.ts.map +1 -1
  175. package/dist/config/types.js +1 -1
  176. package/dist/database/queryValidation/validateSearchParams.js +2 -2
  177. package/dist/exports/components/hooks.d.ts +1 -0
  178. package/dist/exports/components/hooks.d.ts.map +1 -1
  179. package/dist/exports/components/hooks.js +5 -1
  180. package/dist/fields/config/schema.d.ts.map +1 -1
  181. package/dist/fields/config/schema.js +90 -10
  182. package/dist/fields/config/types.d.ts +66 -0
  183. package/dist/fields/config/types.d.ts.map +1 -1
  184. package/dist/fields/config/types.js +1 -1
  185. package/dist/fields/validations.d.ts +4 -0
  186. package/dist/fields/validations.d.ts.map +1 -1
  187. package/dist/globals/config/types.d.ts +11 -10
  188. package/dist/globals/config/types.d.ts.map +1 -1
  189. package/dist/globals/graphql/resolvers/docAccess.js +4 -2
  190. package/dist/globals/graphql/resolvers/findOne.d.ts.map +1 -1
  191. package/dist/globals/graphql/resolvers/findOne.js +4 -2
  192. package/dist/globals/graphql/resolvers/findVersionByID.js +4 -2
  193. package/dist/globals/graphql/resolvers/findVersions.js +4 -2
  194. package/dist/globals/graphql/resolvers/restoreVersion.js +4 -2
  195. package/dist/globals/graphql/resolvers/update.js +4 -2
  196. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  197. package/dist/globals/operations/findVersionByID.js +3 -1
  198. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  199. package/dist/globals/operations/findVersions.js +6 -2
  200. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  201. package/dist/globals/operations/restoreVersion.js +3 -1
  202. package/dist/globals/operations/update.d.ts.map +1 -1
  203. package/dist/globals/operations/update.js +3 -1
  204. package/dist/translations/ar.json +3 -2
  205. package/dist/translations/az.json +3 -2
  206. package/dist/translations/bg.json +3 -2
  207. package/dist/translations/cs.json +3 -2
  208. package/dist/translations/de.json +3 -2
  209. package/dist/translations/en.json +1 -0
  210. package/dist/translations/es.json +3 -2
  211. package/dist/translations/fa.json +3 -2
  212. package/dist/translations/fr.json +3 -2
  213. package/dist/translations/hr.json +3 -2
  214. package/dist/translations/hu.json +3 -2
  215. package/dist/translations/index.d.ts +51 -25
  216. package/dist/translations/index.d.ts.map +1 -1
  217. package/dist/translations/it.json +3 -2
  218. package/dist/translations/ja.json +3 -2
  219. package/dist/translations/my.json +3 -2
  220. package/dist/translations/nb.json +3 -2
  221. package/dist/translations/nl.json +3 -2
  222. package/dist/translations/pl.json +6 -5
  223. package/dist/translations/pt.json +3 -2
  224. package/dist/translations/ro.json +3 -2
  225. package/dist/translations/ru.json +3 -2
  226. package/dist/translations/sv.json +3 -2
  227. package/dist/translations/th.json +3 -2
  228. package/dist/translations/tr.json +3 -2
  229. package/dist/translations/translation-schema.json +3 -0
  230. package/dist/translations/ua.json +3 -2
  231. package/dist/translations/vi.json +3 -2
  232. package/dist/translations/zh.json +3 -2
  233. package/dist/uploads/generateFileData.d.ts.map +1 -1
  234. package/dist/uploads/generateFileData.js +17 -14
  235. package/dist/uploads/imageResizer.d.ts.map +1 -1
  236. package/dist/uploads/imageResizer.js +87 -55
  237. package/dist/utilities/fieldSchemaToJSON.d.ts.map +1 -1
  238. package/dist/utilities/fieldSchemaToJSON.js +21 -3
  239. package/dist/utilities/parseCookies.d.ts.map +1 -1
  240. package/dist/utilities/parseCookies.js +10 -2
  241. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
  242. package/dist/versions/drafts/replaceWithDraftIfAvailable.js +5 -1
  243. package/dist/versions/saveVersion.d.ts.map +1 -1
  244. package/dist/versions/saveVersion.js +8 -10
  245. package/package.json +2 -2
@@ -91,32 +91,71 @@ function _interop_require_default(obj) {
91
91
  *
92
92
  * @param resizeConfig - object containing the requested dimensions and resize options
93
93
  * @param original - the original image size
94
- * @returns true if the image needs to be resized, false otherwise
95
- */ const needsResize = ({ height: desiredHeight, width: desiredWidth, withoutEnlargement, withoutReduction }, original)=>{
96
- // allow enlargement or prevent reduction (our default is to prevent
97
- // enlargement and allow reduction)
98
- if (withoutEnlargement !== undefined || withoutReduction !== undefined) {
99
- return true // needs resize
94
+ * @returns true if resizing is not needed, false otherwise
95
+ */ const preventResize = ({ height: desiredHeight, width: desiredWidth, withoutEnlargement, withoutReduction }, original)=>{
96
+ // default is to allow reduction
97
+ if (withoutReduction !== undefined) {
98
+ return false // needs resize
99
+ ;
100
+ }
101
+ // default is to prevent enlargement
102
+ if (withoutEnlargement !== undefined) {
103
+ return false // needs resize
100
104
  ;
101
105
  }
102
106
  const isWidthOrHeightNotDefined = !desiredHeight || !desiredWidth;
103
107
  if (isWidthOrHeightNotDefined) {
104
108
  // If with and height are not defined, it means there is a format conversion
105
109
  // and the image needs to be "resized" (transformed).
106
- return true // needs resize
110
+ return false // needs resize
107
111
  ;
108
112
  }
109
- const hasInsufficientWidth = original.width < desiredWidth;
110
- const hasInsufficientHeight = original.height < desiredHeight;
113
+ const hasInsufficientWidth = desiredWidth > original.width;
114
+ const hasInsufficientHeight = desiredHeight > original.height;
111
115
  if (hasInsufficientWidth && hasInsufficientHeight) {
112
116
  // doesn't need resize - prevent enlargement. This should only happen if both width and height are insufficient.
113
117
  // if only one dimension is insufficient and the other is sufficient, resizing needs to happen, as the image
114
118
  // should be resized to the sufficient dimension.
115
- return false;
119
+ return true // do not create a new size
120
+ ;
116
121
  }
117
- return true // needs resize
122
+ return false // needs resize
118
123
  ;
119
124
  };
125
+ /**
126
+ * Check if the image should be passed directly to sharp without payload adjusting properties.
127
+ *
128
+ * @param resizeConfig - object containing the requested dimensions and resize options
129
+ * @param original - the original image size
130
+ * @returns true if the image should passed directly to sharp
131
+ */ const applyPayloadAdjustments = ({ height, width, withoutEnlargement, withoutReduction }, original)=>{
132
+ if (!(0, _isNumber.isNumber)(height) && !(0, _isNumber.isNumber)(width)) return false;
133
+ const targetAspectRatio = width / height;
134
+ const originalAspectRatio = original.width / original.height;
135
+ if (originalAspectRatio === targetAspectRatio) return false;
136
+ const skipEnlargement = withoutEnlargement && (original.height < height || original.width < width);
137
+ const skipReduction = withoutReduction && (original.height > height || original.width > width);
138
+ if (skipEnlargement || skipReduction) return false;
139
+ return true;
140
+ };
141
+ /**
142
+ * Sanitize the resize config. If the resize config has the `withoutReduction`
143
+ * property set to true, the `fit` and `position` properties will be set to `contain`
144
+ * and `top left` respectively.
145
+ *
146
+ * @param resizeConfig - the resize config
147
+ * @returns a sanitized resize config
148
+ */ const sanitizeResizeConfig = (resizeConfig)=>{
149
+ if (resizeConfig.withoutReduction) {
150
+ return {
151
+ ...resizeConfig,
152
+ // Why fit `contain` should also be set to https://github.com/lovell/sharp/issues/3595
153
+ fit: resizeConfig?.fit || 'contain',
154
+ position: resizeConfig?.position || 'left top'
155
+ };
156
+ }
157
+ return resizeConfig;
158
+ };
120
159
  async function resizeAndTransformImageSizes({ config, dimensions, file, mimeType, req, savedFilename, staticPath }) {
121
160
  const { imageSizes } = config.upload;
122
161
  // Noting to resize here so return as early as possible
@@ -127,55 +166,48 @@ async function resizeAndTransformImageSizes({ config, dimensions, file, mimeType
127
166
  const sharpBase = (0, _sharp.default)(file.tempFilePath || file.data).rotate() // pass rotate() to auto-rotate based on EXIF data. https://github.com/payloadcms/payload/pull/3081
128
167
  ;
129
168
  const results = await Promise.all(imageSizes.map(async (imageResizeConfig)=>{
169
+ imageResizeConfig = sanitizeResizeConfig(imageResizeConfig);
130
170
  // This checks if a resize should happen. If not, the resized image will be
131
171
  // skipped COMPLETELY and thus will not be included in the resulting images.
132
172
  // All further format/trim options will thus be skipped as well.
133
- if (!needsResize(imageResizeConfig, dimensions)) {
173
+ if (preventResize(imageResizeConfig, dimensions)) {
134
174
  return createResult(imageResizeConfig.name);
135
175
  }
136
- let resized = sharpBase.clone();
137
- const hasEdits = req.query?.uploadEdits;
138
- if (hasEdits && imageResizeConfig.width && imageResizeConfig.height) {
139
- const { height, width } = imageResizeConfig;
140
- const targetAspectRatio = width / height;
176
+ const imageToResize = sharpBase.clone();
177
+ let resized = imageToResize.resize(imageResizeConfig);
178
+ if (req.query?.uploadEdits?.focalPoint && applyPayloadAdjustments(imageResizeConfig, dimensions)) {
179
+ const { height: resizeHeight, width: resizeWidth } = imageResizeConfig;
180
+ const resizeAspectRatio = resizeWidth / resizeHeight;
141
181
  const originalAspectRatio = dimensions.width / dimensions.height;
142
- if (originalAspectRatio === targetAspectRatio) {
143
- resized = resized.resize(imageResizeConfig);
144
- } else {
145
- const focalPoint = {
146
- x: 0.5,
147
- y: 0.5
148
- };
149
- if (req.query.uploadEdits?.focalPoint) {
150
- if ((0, _isNumber.isNumber)(req.query.uploadEdits.focalPoint?.x)) {
151
- focalPoint.x = req.query.uploadEdits.focalPoint.x;
152
- }
153
- if ((0, _isNumber.isNumber)(req.query.uploadEdits.focalPoint?.y)) {
154
- focalPoint.y = req.query.uploadEdits.focalPoint.y;
155
- }
156
- }
157
- const prioritizeHeight = originalAspectRatio > targetAspectRatio;
158
- const { info } = await resized.resize({
159
- height: prioritizeHeight ? height : null,
160
- width: prioritizeHeight ? null : width
161
- }).toBuffer({
162
- resolveWithObject: true
163
- });
164
- const maxOffsetX = Math.max(info.width - width, 0);
165
- const maxOffsetY = Math.max(info.height - height, 0);
166
- const focalPointX = Math.floor(info.width / 100 * focalPoint.x);
167
- const focalPointY = Math.floor(info.height / 100 * focalPoint.y);
168
- const offsetX = Math.min(Math.max(focalPointX - width / 2, 0), maxOffsetX);
169
- const offsetY = Math.min(Math.max(focalPointY - height / 2, 0), maxOffsetY);
170
- resized = resized.extract({
171
- height,
172
- left: offsetX,
173
- top: offsetY,
174
- width
175
- });
176
- }
177
- } else {
178
- resized = resized.resize(imageResizeConfig);
182
+ const prioritizeHeight = resizeAspectRatio < originalAspectRatio;
183
+ // Scale the image up or down to fit the resize dimensions
184
+ const scaledImage = imageToResize.resize({
185
+ height: prioritizeHeight ? resizeHeight : null,
186
+ width: prioritizeHeight ? null : resizeWidth
187
+ });
188
+ const { info: scaledImageInfo } = await scaledImage.toBuffer({
189
+ resolveWithObject: true
190
+ });
191
+ // Focal point adjustments
192
+ const focalPoint = {
193
+ x: (0, _isNumber.isNumber)(req.query.uploadEdits.focalPoint?.x) ? req.query.uploadEdits.focalPoint.x : 50,
194
+ y: (0, _isNumber.isNumber)(req.query.uploadEdits.focalPoint?.y) ? req.query.uploadEdits.focalPoint.y : 50
195
+ };
196
+ const safeResizeWidth = resizeWidth ?? scaledImageInfo.width;
197
+ const maxOffsetX = scaledImageInfo.width - safeResizeWidth;
198
+ const leftFocalEdge = Math.round(scaledImageInfo.width * (focalPoint.x / 100) - safeResizeWidth / 2);
199
+ const safeOffsetX = Math.min(Math.max(0, leftFocalEdge), maxOffsetX);
200
+ const safeResizeHeight = resizeHeight ?? scaledImageInfo.height;
201
+ const maxOffsetY = scaledImageInfo.height - safeResizeHeight;
202
+ const topFocalEdge = Math.round(scaledImageInfo.height * (focalPoint.y / 100) - safeResizeHeight / 2);
203
+ const safeOffsetY = Math.min(Math.max(0, topFocalEdge), maxOffsetY);
204
+ // extract the focal area from the scaled image
205
+ resized = scaledImage.extract({
206
+ height: safeResizeHeight,
207
+ left: safeOffsetX,
208
+ top: safeOffsetY,
209
+ width: safeResizeWidth
210
+ });
179
211
  }
180
212
  if (imageResizeConfig.formatOptions) {
181
213
  resized = resized.toFormat(imageResizeConfig.formatOptions.format, imageResizeConfig.formatOptions.options);
@@ -218,4 +250,4 @@ async function resizeAndTransformImageSizes({ config, dimensions, file, mimeType
218
250
  });
219
251
  }
220
252
 
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2ltYWdlUmVzaXplci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFVwbG9hZGVkRmlsZSB9IGZyb20gJ2V4cHJlc3MtZmlsZXVwbG9hZCdcbmltcG9ydCB0eXBlIHsgT3V0cHV0SW5mbyB9IGZyb20gJ3NoYXJwJ1xuXG5pbXBvcnQgeyBmcm9tQnVmZmVyIH0gZnJvbSAnZmlsZS10eXBlJ1xuaW1wb3J0IGZzIGZyb20gJ2ZzJ1xuaW1wb3J0IHNhbml0aXplIGZyb20gJ3Nhbml0aXplLWZpbGVuYW1lJ1xuaW1wb3J0IHNoYXJwIGZyb20gJ3NoYXJwJ1xuXG5pbXBvcnQgdHlwZSB7IFVwbG9hZEVkaXRzIH0gZnJvbSAnLi4vYWRtaW4vY29tcG9uZW50cy92aWV3cy9jb2xsZWN0aW9ucy9FZGl0L3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uL2V4cHJlc3MvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEZpbGVTaXplLCBGaWxlU2l6ZXMsIEZpbGVUb1NhdmUsIEltYWdlU2l6ZSwgUHJvYmVkSW1hZ2VTaXplIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgaXNOdW1iZXIgfSBmcm9tICcuLi91dGlsaXRpZXMvaXNOdW1iZXInXG5pbXBvcnQgZmlsZUV4aXN0cyBmcm9tICcuL2ZpbGVFeGlzdHMnXG5cbnR5cGUgUmVzaXplQXJncyA9IHtcbiAgY29uZmlnOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnXG4gIGRpbWVuc2lvbnM6IFByb2JlZEltYWdlU2l6ZVxuICBmaWxlOiBVcGxvYWRlZEZpbGVcbiAgbWltZVR5cGU6IHN0cmluZ1xuICByZXE6IFBheWxvYWRSZXF1ZXN0ICYge1xuICAgIHF1ZXJ5Pzoge1xuICAgICAgdXBsb2FkRWRpdHM/OiBVcGxvYWRFZGl0c1xuICAgIH1cbiAgfVxuICBzYXZlZEZpbGVuYW1lOiBzdHJpbmdcbiAgc3RhdGljUGF0aDogc3RyaW5nXG59XG5cbi8qKiBSZXN1bHQgZnJvbSByZXNpemluZyBhbmQgdHJhbnNmb3JtaW5nIHRoZSByZXF1ZXN0ZWQgaW1hZ2Ugc2l6ZXMgKi9cbnR5cGUgSW1hZ2VTaXplc1Jlc3VsdCA9IHtcbiAgc2l6ZURhdGE6IEZpbGVTaXplc1xuICBzaXplc1RvU2F2ZTogRmlsZVRvU2F2ZVtdXG59XG5cbnR5cGUgU2FuaXRpemVkSW1hZ2VEYXRhID0ge1xuICBleHQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbn1cblxuLyoqXG4gKiBTYW5pdGl6ZSB0aGUgaW1hZ2UgbmFtZSBhbmQgZXh0cmFjdCB0aGUgZXh0ZW5zaW9uIGZyb20gdGhlIHNvdXJjZSBpbWFnZVxuICpcbiAqIEBwYXJhbSBzb3VyY2VJbWFnZSAtIHRoZSBzb3VyY2UgaW1hZ2VcbiAqIEByZXR1cm5zIHRoZSBzYW5pdGl6ZWQgbmFtZSBhbmQgZXh0ZW5zaW9uXG4gKi9cbmNvbnN0IGdldFNhbml0aXplZEltYWdlRGF0YSA9IChzb3VyY2VJbWFnZTogc3RyaW5nKTogU2FuaXRpemVkSW1hZ2VEYXRhID0+IHtcbiAgY29uc3QgZXh0ZW5zaW9uID0gc291cmNlSW1hZ2Uuc3BsaXQoJy4nKS5wb3AoKVxuICBjb25zdCBuYW1lID0gc2FuaXRpemUoc291cmNlSW1hZ2Uuc3Vic3RyaW5nKDAsIHNvdXJjZUltYWdlLmxhc3RJbmRleE9mKCcuJykpIHx8IHNvdXJjZUltYWdlKVxuICByZXR1cm4geyBuYW1lLCBleHQ6IGV4dGVuc2lvbiB9XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgbmV3IGltYWdlIG5hbWUgYmFzZWQgb24gdGhlIG91dHB1dCBpbWFnZSBuYW1lLCB0aGUgZGltZW5zaW9ucyBhbmRcbiAqIHRoZSBleHRlbnNpb24uXG4gKlxuICogSWdub3JlIHRoZSBmYWN0IHRoYXQgZHVwbGljYXRlIG5hbWVzIGNvdWxkIGhhcHBlbiBpZiB0aGUgdGhlcmUgaXMgb25lXG4gKiBzaXplIHdpdGggYHdpZHRoIEFORCBoZWlnaHRgIGFuZCBvbmUgd2l0aCBvbmx5IGBoZWlnaHQgT1Igd2lkdGhgLiBCZWNhdXNlXG4gKiBzcGFjZSBpcyBleHBlbnNpdmUsIHdlIHdpbGwgcmV1c2UgdGhlIHNhbWUgaW1hZ2UgZm9yIGJvdGggc2l6ZXMuXG4gKlxuICogQHBhcmFtIG91dHB1dEltYWdlTmFtZSAtIHRoZSBzYW5pdGl6ZWQgaW1hZ2UgbmFtZVxuICogQHBhcmFtIGJ1ZmZlckluZm8gLSB0aGUgYnVmZmVyIGluZm9cbiAqIEBwYXJhbSBleHRlbnNpb24gLSB0aGUgZXh0ZW5zaW9uIHRvIHVzZVxuICogQHJldHVybnMgdGhlIG5ldyBpbWFnZSBuYW1lIHRoYXQgaXMgbm90IHRha2VuXG4gKi9cbmNvbnN0IGNyZWF0ZUltYWdlTmFtZSA9IChcbiAgb3V0cHV0SW1hZ2VOYW1lOiBzdHJpbmcsXG4gIHsgaGVpZ2h0LCB3aWR0aCB9OiBPdXRwdXRJbmZvLFxuICBleHRlbnNpb246IHN0cmluZyxcbikgPT4gYCR7b3V0cHV0SW1hZ2VOYW1lfS0ke3dpZHRofXgke2hlaWdodH0uJHtleHRlbnNpb259YFxuXG4vKipcbiAqIENyZWF0ZSB0aGUgcmVzdWx0IG9iamVjdCBmb3IgdGhlIGltYWdlIHJlc2l6ZSBvcGVyYXRpb24gYmFzZWQgb24gdGhlXG4gKiBwcm92aWRlZCBwYXJhbWV0ZXJzLiBJZiB0aGUgbmFtZSBpcyBub3QgcHJvdmlkZWQsIGFuIGVtcHR5IHJlc3VsdCBvYmplY3RcbiAqIGlzIHJldHVybmVkLlxuICpcbiAqIEBwYXJhbSBuYW1lIC0gdGhlIG5hbWUgb2YgdGhlIGltYWdlXG4gKiBAcGFyYW0gZmlsZW5hbWUgLSB0aGUgZmlsZW5hbWUgb2YgdGhlIGltYWdlXG4gKiBAcGFyYW0gd2lkdGggLSB0aGUgd2lkdGggb2YgdGhlIGltYWdlXG4gKiBAcGFyYW0gaGVpZ2h0IC0gdGhlIGhlaWdodCBvZiB0aGUgaW1hZ2VcbiAqIEBwYXJhbSBmaWxlc2l6ZSAtIHRoZSBmaWxlc2l6ZSBvZiB0aGUgaW1hZ2VcbiAqIEBwYXJhbSBtaW1lVHlwZSAtIHRoZSBtaW1lIHR5cGUgb2YgdGhlIGltYWdlXG4gKiBAcGFyYW0gc2l6ZXNUb1NhdmUgLSB0aGUgc2l6ZXMgdG8gc2F2ZVxuICogQHJldHVybnMgdGhlIHJlc3VsdCBvYmplY3RcbiAqL1xuY29uc3QgY3JlYXRlUmVzdWx0ID0gKFxuICBuYW1lOiBzdHJpbmcsXG4gIGZpbGVuYW1lOiBGaWxlU2l6ZVsnZmlsZW5hbWUnXSA9IG51bGwsXG4gIHdpZHRoOiBGaWxlU2l6ZVsnd2lkdGgnXSA9IG51bGwsXG4gIGhlaWdodDogRmlsZVNpemVbJ2hlaWdodCddID0gbnVsbCxcbiAgZmlsZXNpemU6IEZpbGVTaXplWydmaWxlc2l6ZSddID0gbnVsbCxcbiAgbWltZVR5cGU6IEZpbGVTaXplWydtaW1lVHlwZSddID0gbnVsbCxcbiAgc2l6ZXNUb1NhdmU6IEZpbGVUb1NhdmVbXSA9IFtdLFxuKTogSW1hZ2VTaXplc1Jlc3VsdCA9PiAoe1xuICBzaXplRGF0YToge1xuICAgIFtuYW1lXToge1xuICAgICAgZmlsZW5hbWUsXG4gICAgICBmaWxlc2l6ZSxcbiAgICAgIGhlaWdodCxcbiAgICAgIG1pbWVUeXBlLFxuICAgICAgd2lkdGgsXG4gICAgfSxcbiAgfSxcbiAgc2l6ZXNUb1NhdmUsXG59KVxuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBpbWFnZSBuZWVkcyB0byBiZSByZXNpemVkIGFjY29yZGluZyB0byB0aGUgcmVxdWVzdGVkIGRpbWVuc2lvbnNcbiAqIGFuZCB0aGUgb3JpZ2luYWwgaW1hZ2Ugc2l6ZS4gSWYgdGhlIHJlc2l6ZSBvcHRpb25zIHdpdGhvdXRFbmxhcmdlbWVudCBvciB3aXRob3V0UmVkdWN0aW9uIGFyZSBwcm92aWRlZCxcbiAqIHRoZSBpbWFnZSB3aWxsIGJlIHJlc2l6ZWQgcmVnYXJkbGVzcyBvZiB0aGUgcmVxdWVzdGVkIGRpbWVuc2lvbnMsIGdpdmVuIHRoYXQgdGhlXG4gKiB3aWR0aCBvciBoZWlnaHQgdG8gYmUgcmVzaXplZCBpcyBwcm92aWRlZC5cbiAqXG4gKiBAcGFyYW0gcmVzaXplQ29uZmlnIC0gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHJlcXVlc3RlZCBkaW1lbnNpb25zIGFuZCByZXNpemUgb3B0aW9uc1xuICogQHBhcmFtIG9yaWdpbmFsIC0gdGhlIG9yaWdpbmFsIGltYWdlIHNpemVcbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlIGltYWdlIG5lZWRzIHRvIGJlIHJlc2l6ZWQsIGZhbHNlIG90aGVyd2lzZVxuICovXG5jb25zdCBuZWVkc1Jlc2l6ZSA9IChcbiAgeyBoZWlnaHQ6IGRlc2lyZWRIZWlnaHQsIHdpZHRoOiBkZXNpcmVkV2lkdGgsIHdpdGhvdXRFbmxhcmdlbWVudCwgd2l0aG91dFJlZHVjdGlvbiB9OiBJbWFnZVNpemUsXG4gIG9yaWdpbmFsOiBQcm9iZWRJbWFnZVNpemUsXG4pOiBib29sZWFuID0+IHtcbiAgLy8gYWxsb3cgZW5sYXJnZW1lbnQgb3IgcHJldmVudCByZWR1Y3Rpb24gKG91ciBkZWZhdWx0IGlzIHRvIHByZXZlbnRcbiAgLy8gZW5sYXJnZW1lbnQgYW5kIGFsbG93IHJlZHVjdGlvbilcbiAgaWYgKHdpdGhvdXRFbmxhcmdlbWVudCAhPT0gdW5kZWZpbmVkIHx8IHdpdGhvdXRSZWR1Y3Rpb24gIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB0cnVlIC8vIG5lZWRzIHJlc2l6ZVxuICB9XG5cbiAgY29uc3QgaXNXaWR0aE9ySGVpZ2h0Tm90RGVmaW5lZCA9ICFkZXNpcmVkSGVpZ2h0IHx8ICFkZXNpcmVkV2lkdGhcblxuICBpZiAoaXNXaWR0aE9ySGVpZ2h0Tm90RGVmaW5lZCkge1xuICAgIC8vIElmIHdpdGggYW5kIGhlaWdodCBhcmUgbm90IGRlZmluZWQsIGl0IG1lYW5zIHRoZXJlIGlzIGEgZm9ybWF0IGNvbnZlcnNpb25cbiAgICAvLyBhbmQgdGhlIGltYWdlIG5lZWRzIHRvIGJlIFwicmVzaXplZFwiICh0cmFuc2Zvcm1lZCkuXG4gICAgcmV0dXJuIHRydWUgLy8gbmVlZHMgcmVzaXplXG4gIH1cblxuICBjb25zdCBoYXNJbnN1ZmZpY2llbnRXaWR0aCA9IG9yaWdpbmFsLndpZHRoIDwgZGVzaXJlZFdpZHRoXG4gIGNvbnN0IGhhc0luc3VmZmljaWVudEhlaWdodCA9IG9yaWdpbmFsLmhlaWdodCA8IGRlc2lyZWRIZWlnaHRcbiAgaWYgKGhhc0luc3VmZmljaWVudFdpZHRoICYmIGhhc0luc3VmZmljaWVudEhlaWdodCkge1xuICAgIC8vIGRvZXNuJ3QgbmVlZCByZXNpemUgLSBwcmV2ZW50IGVubGFyZ2VtZW50LiBUaGlzIHNob3VsZCBvbmx5IGhhcHBlbiBpZiBib3RoIHdpZHRoIGFuZCBoZWlnaHQgYXJlIGluc3VmZmljaWVudC5cbiAgICAvLyBpZiBvbmx5IG9uZSBkaW1lbnNpb24gaXMgaW5zdWZmaWNpZW50IGFuZCB0aGUgb3RoZXIgaXMgc3VmZmljaWVudCwgcmVzaXppbmcgbmVlZHMgdG8gaGFwcGVuLCBhcyB0aGUgaW1hZ2VcbiAgICAvLyBzaG91bGQgYmUgcmVzaXplZCB0byB0aGUgc3VmZmljaWVudCBkaW1lbnNpb24uXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICByZXR1cm4gdHJ1ZSAvLyBuZWVkcyByZXNpemVcbn1cblxuLyoqXG4gKiBGb3IgdGhlIHByb3ZpZGVkIGltYWdlIHNpemVzLCBoYW5kbGUgdGhlIHJlc2l6aW5nIGFuZCB0aGUgdHJhbnNmb3Jtc1xuICogKGZvcm1hdCwgdHJpbSwgZXRjLikgb2YgZWFjaCByZXF1ZXN0ZWQgaW1hZ2Ugc2l6ZSBhbmQgcmV0dXJuIHRoZSByZXN1bHQgb2JqZWN0LlxuICogVGhpcyBvbmx5IGhhbmRsZXMgdGhlIGltYWdlIHNpemVzLiBUaGUgdHJhbnNmb3JtcyBvZiB0aGUgb3JpZ2luYWwgaW1hZ2VcbiAqIGFyZSBoYW5kbGVkIGluIHtAbGluayAuL2dlbmVyYXRlRmlsZURhdGEudHN9LlxuICpcbiAqIFRoZSBpbWFnZSB3aWxsIGJlIHJlc2l6ZWQgYWNjb3JkaW5nIHRvIHRoZSBwcm92aWRlZFxuICogcmVzaXplIGNvbmZpZy4gSWYgbm8gaW1hZ2Ugc2l6ZXMgYXJlIHJlcXVlc3RlZCwgdGhlIHJlc29sdmVkIGRhdGEgd2lsbCBiZSBlbXB0eS5cbiAqIEZvciBldmVyeSBpbWFnZSB0aGF0IGRvcyBub3QgbmVlZCB0byBiZSByZXNpemVkLCBhbiByZXN1bHQgb2JqZWN0IHdpdGggYG51bGxgXG4gKiBwYXJhbWV0ZXJzIHdpbGwgYmUgcmV0dXJuZWQuXG4gKlxuICogQHBhcmFtIHJlc2l6ZUNvbmZpZyAtIHRoZSByZXNpemUgY29uZmlnXG4gKiBAcmV0dXJucyB0aGUgcmVzdWx0IG9mIHRoZSByZXNpemUgb3BlcmF0aW9uKHMpXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uIHJlc2l6ZUFuZFRyYW5zZm9ybUltYWdlU2l6ZXMoe1xuICBjb25maWcsXG4gIGRpbWVuc2lvbnMsXG4gIGZpbGUsXG4gIG1pbWVUeXBlLFxuICByZXEsXG4gIHNhdmVkRmlsZW5hbWUsXG4gIHN0YXRpY1BhdGgsXG59OiBSZXNpemVBcmdzKTogUHJvbWlzZTxJbWFnZVNpemVzUmVzdWx0PiB7XG4gIGNvbnN0IHsgaW1hZ2VTaXplcyB9ID0gY29uZmlnLnVwbG9hZFxuICAvLyBOb3RpbmcgdG8gcmVzaXplIGhlcmUgc28gcmV0dXJuIGFzIGVhcmx5IGFzIHBvc3NpYmxlXG4gIGlmICghaW1hZ2VTaXplcykgcmV0dXJuIHsgc2l6ZURhdGE6IHt9LCBzaXplc1RvU2F2ZTogW10gfVxuXG4gIGNvbnN0IHNoYXJwQmFzZSA9IHNoYXJwKGZpbGUudGVtcEZpbGVQYXRoIHx8IGZpbGUuZGF0YSkucm90YXRlKCkgLy8gcGFzcyByb3RhdGUoKSB0byBhdXRvLXJvdGF0ZSBiYXNlZCBvbiBFWElGIGRhdGEuIGh0dHBzOi8vZ2l0aHViLmNvbS9wYXlsb2FkY21zL3BheWxvYWQvcHVsbC8zMDgxXG5cbiAgY29uc3QgcmVzdWx0czogSW1hZ2VTaXplc1Jlc3VsdFtdID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgaW1hZ2VTaXplcy5tYXAoYXN5bmMgKGltYWdlUmVzaXplQ29uZmlnKTogUHJvbWlzZTxJbWFnZVNpemVzUmVzdWx0PiA9PiB7XG4gICAgICAvLyBUaGlzIGNoZWNrcyBpZiBhIHJlc2l6ZSBzaG91bGQgaGFwcGVuLiBJZiBub3QsIHRoZSByZXNpemVkIGltYWdlIHdpbGwgYmVcbiAgICAgIC8vIHNraXBwZWQgQ09NUExFVEVMWSBhbmQgdGh1cyB3aWxsIG5vdCBiZSBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0aW5nIGltYWdlcy5cbiAgICAgIC8vIEFsbCBmdXJ0aGVyIGZvcm1hdC90cmltIG9wdGlvbnMgd2lsbCB0aHVzIGJlIHNraXBwZWQgYXMgd2VsbC5cbiAgICAgIGlmICghbmVlZHNSZXNpemUoaW1hZ2VSZXNpemVDb25maWcsIGRpbWVuc2lvbnMpKSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVSZXN1bHQoaW1hZ2VSZXNpemVDb25maWcubmFtZSlcbiAgICAgIH1cbiAgICAgIGxldCByZXNpemVkID0gc2hhcnBCYXNlLmNsb25lKClcblxuICAgICAgY29uc3QgaGFzRWRpdHMgPSByZXEucXVlcnk/LnVwbG9hZEVkaXRzXG5cbiAgICAgIGlmIChoYXNFZGl0cyAmJiBpbWFnZVJlc2l6ZUNvbmZpZy53aWR0aCAmJiBpbWFnZVJlc2l6ZUNvbmZpZy5oZWlnaHQpIHtcbiAgICAgICAgY29uc3QgeyBoZWlnaHQsIHdpZHRoIH0gPSBpbWFnZVJlc2l6ZUNvbmZpZ1xuXG4gICAgICAgIGNvbnN0IHRhcmdldEFzcGVjdFJhdGlvID0gd2lkdGggLyBoZWlnaHRcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxBc3BlY3RSYXRpbyA9IGRpbWVuc2lvbnMud2lkdGggLyBkaW1lbnNpb25zLmhlaWdodFxuXG4gICAgICAgIGlmIChvcmlnaW5hbEFzcGVjdFJhdGlvID09PSB0YXJnZXRBc3BlY3RSYXRpbykge1xuICAgICAgICAgIHJlc2l6ZWQgPSByZXNpemVkLnJlc2l6ZShpbWFnZVJlc2l6ZUNvbmZpZylcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBmb2NhbFBvaW50ID0ge1xuICAgICAgICAgICAgeDogMC41LFxuICAgICAgICAgICAgeTogMC41LFxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChyZXEucXVlcnkudXBsb2FkRWRpdHM/LmZvY2FsUG9pbnQpIHtcbiAgICAgICAgICAgIGlmIChpc051bWJlcihyZXEucXVlcnkudXBsb2FkRWRpdHMuZm9jYWxQb2ludD8ueCkpIHtcbiAgICAgICAgICAgICAgZm9jYWxQb2ludC54ID0gcmVxLnF1ZXJ5LnVwbG9hZEVkaXRzLmZvY2FsUG9pbnQueFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzTnVtYmVyKHJlcS5xdWVyeS51cGxvYWRFZGl0cy5mb2NhbFBvaW50Py55KSkge1xuICAgICAgICAgICAgICBmb2NhbFBvaW50LnkgPSByZXEucXVlcnkudXBsb2FkRWRpdHMuZm9jYWxQb2ludC55XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgcHJpb3JpdGl6ZUhlaWdodCA9IG9yaWdpbmFsQXNwZWN0UmF0aW8gPiB0YXJnZXRBc3BlY3RSYXRpb1xuXG4gICAgICAgICAgY29uc3QgeyBpbmZvIH0gPSBhd2FpdCByZXNpemVkXG4gICAgICAgICAgICAucmVzaXplKHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBwcmlvcml0aXplSGVpZ2h0ID8gaGVpZ2h0IDogbnVsbCxcbiAgICAgICAgICAgICAgd2lkdGg6IHByaW9yaXRpemVIZWlnaHQgPyBudWxsIDogd2lkdGgsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnRvQnVmZmVyKHsgcmVzb2x2ZVdpdGhPYmplY3Q6IHRydWUgfSlcblxuICAgICAgICAgIGNvbnN0IG1heE9mZnNldFggPSBNYXRoLm1heChpbmZvLndpZHRoIC0gd2lkdGgsIDApXG4gICAgICAgICAgY29uc3QgbWF4T2Zmc2V0WSA9IE1hdGgubWF4KGluZm8uaGVpZ2h0IC0gaGVpZ2h0LCAwKVxuXG4gICAgICAgICAgY29uc3QgZm9jYWxQb2ludFggPSBNYXRoLmZsb29yKChpbmZvLndpZHRoIC8gMTAwKSAqIGZvY2FsUG9pbnQueClcbiAgICAgICAgICBjb25zdCBmb2NhbFBvaW50WSA9IE1hdGguZmxvb3IoKGluZm8uaGVpZ2h0IC8gMTAwKSAqIGZvY2FsUG9pbnQueSlcblxuICAgICAgICAgIGNvbnN0IG9mZnNldFggPSBNYXRoLm1pbihNYXRoLm1heChmb2NhbFBvaW50WCAtIHdpZHRoIC8gMiwgMCksIG1heE9mZnNldFgpXG4gICAgICAgICAgY29uc3Qgb2Zmc2V0WSA9IE1hdGgubWluKE1hdGgubWF4KGZvY2FsUG9pbnRZIC0gaGVpZ2h0IC8gMiwgMCksIG1heE9mZnNldFkpXG5cbiAgICAgICAgICByZXNpemVkID0gcmVzaXplZC5leHRyYWN0KHtcbiAgICAgICAgICAgIGhlaWdodCxcbiAgICAgICAgICAgIGxlZnQ6IG9mZnNldFgsXG4gICAgICAgICAgICB0b3A6IG9mZnNldFksXG4gICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNpemVkID0gcmVzaXplZC5yZXNpemUoaW1hZ2VSZXNpemVDb25maWcpXG4gICAgICB9XG5cbiAgICAgIGlmIChpbWFnZVJlc2l6ZUNvbmZpZy5mb3JtYXRPcHRpb25zKSB7XG4gICAgICAgIHJlc2l6ZWQgPSByZXNpemVkLnRvRm9ybWF0KFxuICAgICAgICAgIGltYWdlUmVzaXplQ29uZmlnLmZvcm1hdE9wdGlvbnMuZm9ybWF0LFxuICAgICAgICAgIGltYWdlUmVzaXplQ29uZmlnLmZvcm1hdE9wdGlvbnMub3B0aW9ucyxcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICBpZiAoaW1hZ2VSZXNpemVDb25maWcudHJpbU9wdGlvbnMpIHtcbiAgICAgICAgcmVzaXplZCA9IHJlc2l6ZWQudHJpbShpbWFnZVJlc2l6ZUNvbmZpZy50cmltT3B0aW9ucylcbiAgICAgIH1cblxuICAgICAgY29uc3QgeyBkYXRhOiBidWZmZXJEYXRhLCBpbmZvOiBidWZmZXJJbmZvIH0gPSBhd2FpdCByZXNpemVkLnRvQnVmZmVyKHtcbiAgICAgICAgcmVzb2x2ZVdpdGhPYmplY3Q6IHRydWUsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCBzYW5pdGl6ZWRJbWFnZSA9IGdldFNhbml0aXplZEltYWdlRGF0YShzYXZlZEZpbGVuYW1lKVxuXG4gICAgICBpZiAocmVxLnBheWxvYWRVcGxvYWRTaXplcykge1xuICAgICAgICByZXEucGF5bG9hZFVwbG9hZFNpemVzW2ltYWdlUmVzaXplQ29uZmlnLm5hbWVdID0gYnVmZmVyRGF0YVxuICAgICAgfVxuXG4gICAgICBjb25zdCBtaW1lSW5mbyA9IGF3YWl0IGZyb21CdWZmZXIoYnVmZmVyRGF0YSlcblxuICAgICAgY29uc3QgaW1hZ2VOYW1lV2l0aERpbWVuc2lvbnMgPSBjcmVhdGVJbWFnZU5hbWUoXG4gICAgICAgIHNhbml0aXplZEltYWdlLm5hbWUsXG4gICAgICAgIGJ1ZmZlckluZm8sXG4gICAgICAgIG1pbWVJbmZvPy5leHQgfHwgc2FuaXRpemVkSW1hZ2UuZXh0LFxuICAgICAgKVxuXG4gICAgICBjb25zdCBpbWFnZVBhdGggPSBgJHtzdGF0aWNQYXRofS8ke2ltYWdlTmFtZVdpdGhEaW1lbnNpb25zfWBcblxuICAgICAgaWYgKGF3YWl0IGZpbGVFeGlzdHMoaW1hZ2VQYXRoKSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGZzLnVubGlua1N5bmMoaW1hZ2VQYXRoKVxuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAvLyBJZ25vcmUgdW5saW5rIGVycm9yc1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgaGVpZ2h0LCBzaXplLCB3aWR0aCB9ID0gYnVmZmVySW5mb1xuICAgICAgcmV0dXJuIGNyZWF0ZVJlc3VsdChcbiAgICAgICAgaW1hZ2VSZXNpemVDb25maWcubmFtZSxcbiAgICAgICAgaW1hZ2VOYW1lV2l0aERpbWVuc2lvbnMsXG4gICAgICAgIHdpZHRoLFxuICAgICAgICBoZWlnaHQsXG4gICAgICAgIHNpemUsXG4gICAgICAgIG1pbWVJbmZvPy5taW1lIHx8IG1pbWVUeXBlLFxuICAgICAgICBbeyBidWZmZXI6IGJ1ZmZlckRhdGEsIHBhdGg6IGltYWdlUGF0aCB9XSxcbiAgICAgIClcbiAgICB9KSxcbiAgKVxuXG4gIHJldHVybiByZXN1bHRzLnJlZHVjZShcbiAgICAoYWNjLCByZXN1bHQpID0+IHtcbiAgICAgIE9iamVjdC5hc3NpZ24oYWNjLnNpemVEYXRhLCByZXN1bHQuc2l6ZURhdGEpXG4gICAgICBhY2Muc2l6ZXNUb1NhdmUucHVzaCguLi5yZXN1bHQuc2l6ZXNUb1NhdmUpXG4gICAgICByZXR1cm4gYWNjXG4gICAgfSxcbiAgICB7IHNpemVEYXRhOiB7fSwgc2l6ZXNUb1NhdmU6IFtdIH0sXG4gIClcbn1cbiJdLCJuYW1lcyI6WyJyZXNpemVBbmRUcmFuc2Zvcm1JbWFnZVNpemVzIiwiZ2V0U2FuaXRpemVkSW1hZ2VEYXRhIiwic291cmNlSW1hZ2UiLCJleHRlbnNpb24iLCJzcGxpdCIsInBvcCIsIm5hbWUiLCJzYW5pdGl6ZSIsInN1YnN0cmluZyIsImxhc3RJbmRleE9mIiwiZXh0IiwiY3JlYXRlSW1hZ2VOYW1lIiwib3V0cHV0SW1hZ2VOYW1lIiwiaGVpZ2h0Iiwid2lkdGgiLCJjcmVhdGVSZXN1bHQiLCJmaWxlbmFtZSIsImZpbGVzaXplIiwibWltZVR5cGUiLCJzaXplc1RvU2F2ZSIsInNpemVEYXRhIiwibmVlZHNSZXNpemUiLCJkZXNpcmVkSGVpZ2h0IiwiZGVzaXJlZFdpZHRoIiwid2l0aG91dEVubGFyZ2VtZW50Iiwid2l0aG91dFJlZHVjdGlvbiIsIm9yaWdpbmFsIiwidW5kZWZpbmVkIiwiaXNXaWR0aE9ySGVpZ2h0Tm90RGVmaW5lZCIsImhhc0luc3VmZmljaWVudFdpZHRoIiwiaGFzSW5zdWZmaWNpZW50SGVpZ2h0IiwiY29uZmlnIiwiZGltZW5zaW9ucyIsImZpbGUiLCJyZXEiLCJzYXZlZEZpbGVuYW1lIiwic3RhdGljUGF0aCIsImltYWdlU2l6ZXMiLCJ1cGxvYWQiLCJzaGFycEJhc2UiLCJzaGFycCIsInRlbXBGaWxlUGF0aCIsImRhdGEiLCJyb3RhdGUiLCJyZXN1bHRzIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsImltYWdlUmVzaXplQ29uZmlnIiwicmVzaXplZCIsImNsb25lIiwiaGFzRWRpdHMiLCJxdWVyeSIsInVwbG9hZEVkaXRzIiwidGFyZ2V0QXNwZWN0UmF0aW8iLCJvcmlnaW5hbEFzcGVjdFJhdGlvIiwicmVzaXplIiwiZm9jYWxQb2ludCIsIngiLCJ5IiwiaXNOdW1iZXIiLCJwcmlvcml0aXplSGVpZ2h0IiwiaW5mbyIsInRvQnVmZmVyIiwicmVzb2x2ZVdpdGhPYmplY3QiLCJtYXhPZmZzZXRYIiwiTWF0aCIsIm1heCIsIm1heE9mZnNldFkiLCJmb2NhbFBvaW50WCIsImZsb29yIiwiZm9jYWxQb2ludFkiLCJvZmZzZXRYIiwibWluIiwib2Zmc2V0WSIsImV4dHJhY3QiLCJsZWZ0IiwidG9wIiwiZm9ybWF0T3B0aW9ucyIsInRvRm9ybWF0IiwiZm9ybWF0Iiwib3B0aW9ucyIsInRyaW1PcHRpb25zIiwidHJpbSIsImJ1ZmZlckRhdGEiLCJidWZmZXJJbmZvIiwic2FuaXRpemVkSW1hZ2UiLCJwYXlsb2FkVXBsb2FkU2l6ZXMiLCJtaW1lSW5mbyIsImZyb21CdWZmZXIiLCJpbWFnZU5hbWVXaXRoRGltZW5zaW9ucyIsImltYWdlUGF0aCIsImZpbGVFeGlzdHMiLCJmcyIsInVubGlua1N5bmMiLCJzaXplIiwibWltZSIsImJ1ZmZlciIsInBhdGgiLCJyZWR1Y2UiLCJhY2MiLCJyZXN1bHQiLCJPYmplY3QiLCJhc3NpZ24iLCJwdXNoIl0sIm1hcHBpbmdzIjoiOzs7OytCQW1KQTs7Ozs7Ozs7Ozs7OztDQWFDLEdBQ0Q7OztlQUE4QkE7OzswQkE5Skg7MkRBQ1o7eUVBQ007OERBQ0g7MEJBT087bUVBQ0Y7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
253
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2ltYWdlUmVzaXplci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFVwbG9hZGVkRmlsZSB9IGZyb20gJ2V4cHJlc3MtZmlsZXVwbG9hZCdcbmltcG9ydCB0eXBlIHsgT3V0cHV0SW5mbyB9IGZyb20gJ3NoYXJwJ1xuXG5pbXBvcnQgeyBmcm9tQnVmZmVyIH0gZnJvbSAnZmlsZS10eXBlJ1xuaW1wb3J0IGZzIGZyb20gJ2ZzJ1xuaW1wb3J0IHNhbml0aXplIGZyb20gJ3Nhbml0aXplLWZpbGVuYW1lJ1xuaW1wb3J0IHNoYXJwIGZyb20gJ3NoYXJwJ1xuXG5pbXBvcnQgdHlwZSB7IFVwbG9hZEVkaXRzIH0gZnJvbSAnLi4vYWRtaW4vY29tcG9uZW50cy92aWV3cy9jb2xsZWN0aW9ucy9FZGl0L3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uL2V4cHJlc3MvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEZpbGVTaXplLCBGaWxlU2l6ZXMsIEZpbGVUb1NhdmUsIEltYWdlU2l6ZSwgUHJvYmVkSW1hZ2VTaXplIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgaXNOdW1iZXIgfSBmcm9tICcuLi91dGlsaXRpZXMvaXNOdW1iZXInXG5pbXBvcnQgZmlsZUV4aXN0cyBmcm9tICcuL2ZpbGVFeGlzdHMnXG5cbnR5cGUgUmVzaXplQXJncyA9IHtcbiAgY29uZmlnOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnXG4gIGRpbWVuc2lvbnM6IFByb2JlZEltYWdlU2l6ZVxuICBmaWxlOiBVcGxvYWRlZEZpbGVcbiAgbWltZVR5cGU6IHN0cmluZ1xuICByZXE6IFBheWxvYWRSZXF1ZXN0ICYge1xuICAgIHF1ZXJ5Pzoge1xuICAgICAgdXBsb2FkRWRpdHM/OiBVcGxvYWRFZGl0c1xuICAgIH1cbiAgfVxuICBzYXZlZEZpbGVuYW1lOiBzdHJpbmdcbiAgc3RhdGljUGF0aDogc3RyaW5nXG59XG5cbi8qKiBSZXN1bHQgZnJvbSByZXNpemluZyBhbmQgdHJhbnNmb3JtaW5nIHRoZSByZXF1ZXN0ZWQgaW1hZ2Ugc2l6ZXMgKi9cbnR5cGUgSW1hZ2VTaXplc1Jlc3VsdCA9IHtcbiAgc2l6ZURhdGE6IEZpbGVTaXplc1xuICBzaXplc1RvU2F2ZTogRmlsZVRvU2F2ZVtdXG59XG5cbnR5cGUgU2FuaXRpemVkSW1hZ2VEYXRhID0ge1xuICBleHQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbn1cblxuLyoqXG4gKiBTYW5pdGl6ZSB0aGUgaW1hZ2UgbmFtZSBhbmQgZXh0cmFjdCB0aGUgZXh0ZW5zaW9uIGZyb20gdGhlIHNvdXJjZSBpbWFnZVxuICpcbiAqIEBwYXJhbSBzb3VyY2VJbWFnZSAtIHRoZSBzb3VyY2UgaW1hZ2VcbiAqIEByZXR1cm5zIHRoZSBzYW5pdGl6ZWQgbmFtZSBhbmQgZXh0ZW5zaW9uXG4gKi9cbmNvbnN0IGdldFNhbml0aXplZEltYWdlRGF0YSA9IChzb3VyY2VJbWFnZTogc3RyaW5nKTogU2FuaXRpemVkSW1hZ2VEYXRhID0+IHtcbiAgY29uc3QgZXh0ZW5zaW9uID0gc291cmNlSW1hZ2Uuc3BsaXQoJy4nKS5wb3AoKVxuICBjb25zdCBuYW1lID0gc2FuaXRpemUoc291cmNlSW1hZ2Uuc3Vic3RyaW5nKDAsIHNvdXJjZUltYWdlLmxhc3RJbmRleE9mKCcuJykpIHx8IHNvdXJjZUltYWdlKVxuICByZXR1cm4geyBuYW1lLCBleHQ6IGV4dGVuc2lvbiB9XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgbmV3IGltYWdlIG5hbWUgYmFzZWQgb24gdGhlIG91dHB1dCBpbWFnZSBuYW1lLCB0aGUgZGltZW5zaW9ucyBhbmRcbiAqIHRoZSBleHRlbnNpb24uXG4gKlxuICogSWdub3JlIHRoZSBmYWN0IHRoYXQgZHVwbGljYXRlIG5hbWVzIGNvdWxkIGhhcHBlbiBpZiB0aGUgdGhlcmUgaXMgb25lXG4gKiBzaXplIHdpdGggYHdpZHRoIEFORCBoZWlnaHRgIGFuZCBvbmUgd2l0aCBvbmx5IGBoZWlnaHQgT1Igd2lkdGhgLiBCZWNhdXNlXG4gKiBzcGFjZSBpcyBleHBlbnNpdmUsIHdlIHdpbGwgcmV1c2UgdGhlIHNhbWUgaW1hZ2UgZm9yIGJvdGggc2l6ZXMuXG4gKlxuICogQHBhcmFtIG91dHB1dEltYWdlTmFtZSAtIHRoZSBzYW5pdGl6ZWQgaW1hZ2UgbmFtZVxuICogQHBhcmFtIGJ1ZmZlckluZm8gLSB0aGUgYnVmZmVyIGluZm9cbiAqIEBwYXJhbSBleHRlbnNpb24gLSB0aGUgZXh0ZW5zaW9uIHRvIHVzZVxuICogQHJldHVybnMgdGhlIG5ldyBpbWFnZSBuYW1lIHRoYXQgaXMgbm90IHRha2VuXG4gKi9cbmNvbnN0IGNyZWF0ZUltYWdlTmFtZSA9IChcbiAgb3V0cHV0SW1hZ2VOYW1lOiBzdHJpbmcsXG4gIHsgaGVpZ2h0LCB3aWR0aCB9OiBPdXRwdXRJbmZvLFxuICBleHRlbnNpb246IHN0cmluZyxcbikgPT4gYCR7b3V0cHV0SW1hZ2VOYW1lfS0ke3dpZHRofXgke2hlaWdodH0uJHtleHRlbnNpb259YFxuXG4vKipcbiAqIENyZWF0ZSB0aGUgcmVzdWx0IG9iamVjdCBmb3IgdGhlIGltYWdlIHJlc2l6ZSBvcGVyYXRpb24gYmFzZWQgb24gdGhlXG4gKiBwcm92aWRlZCBwYXJhbWV0ZXJzLiBJZiB0aGUgbmFtZSBpcyBub3QgcHJvdmlkZWQsIGFuIGVtcHR5IHJlc3VsdCBvYmplY3RcbiAqIGlzIHJldHVybmVkLlxuICpcbiAqIEBwYXJhbSBuYW1lIC0gdGhlIG5hbWUgb2YgdGhlIGltYWdlXG4gKiBAcGFyYW0gZmlsZW5hbWUgLSB0aGUgZmlsZW5hbWUgb2YgdGhlIGltYWdlXG4gKiBAcGFyYW0gd2lkdGggLSB0aGUgd2lkdGggb2YgdGhlIGltYWdlXG4gKiBAcGFyYW0gaGVpZ2h0IC0gdGhlIGhlaWdodCBvZiB0aGUgaW1hZ2VcbiAqIEBwYXJhbSBmaWxlc2l6ZSAtIHRoZSBmaWxlc2l6ZSBvZiB0aGUgaW1hZ2VcbiAqIEBwYXJhbSBtaW1lVHlwZSAtIHRoZSBtaW1lIHR5cGUgb2YgdGhlIGltYWdlXG4gKiBAcGFyYW0gc2l6ZXNUb1NhdmUgLSB0aGUgc2l6ZXMgdG8gc2F2ZVxuICogQHJldHVybnMgdGhlIHJlc3VsdCBvYmplY3RcbiAqL1xuY29uc3QgY3JlYXRlUmVzdWx0ID0gKFxuICBuYW1lOiBzdHJpbmcsXG4gIGZpbGVuYW1lOiBGaWxlU2l6ZVsnZmlsZW5hbWUnXSA9IG51bGwsXG4gIHdpZHRoOiBGaWxlU2l6ZVsnd2lkdGgnXSA9IG51bGwsXG4gIGhlaWdodDogRmlsZVNpemVbJ2hlaWdodCddID0gbnVsbCxcbiAgZmlsZXNpemU6IEZpbGVTaXplWydmaWxlc2l6ZSddID0gbnVsbCxcbiAgbWltZVR5cGU6IEZpbGVTaXplWydtaW1lVHlwZSddID0gbnVsbCxcbiAgc2l6ZXNUb1NhdmU6IEZpbGVUb1NhdmVbXSA9IFtdLFxuKTogSW1hZ2VTaXplc1Jlc3VsdCA9PiAoe1xuICBzaXplRGF0YToge1xuICAgIFtuYW1lXToge1xuICAgICAgZmlsZW5hbWUsXG4gICAgICBmaWxlc2l6ZSxcbiAgICAgIGhlaWdodCxcbiAgICAgIG1pbWVUeXBlLFxuICAgICAgd2lkdGgsXG4gICAgfSxcbiAgfSxcbiAgc2l6ZXNUb1NhdmUsXG59KVxuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBpbWFnZSBuZWVkcyB0byBiZSByZXNpemVkIGFjY29yZGluZyB0byB0aGUgcmVxdWVzdGVkIGRpbWVuc2lvbnNcbiAqIGFuZCB0aGUgb3JpZ2luYWwgaW1hZ2Ugc2l6ZS4gSWYgdGhlIHJlc2l6ZSBvcHRpb25zIHdpdGhvdXRFbmxhcmdlbWVudCBvciB3aXRob3V0UmVkdWN0aW9uIGFyZSBwcm92aWRlZCxcbiAqIHRoZSBpbWFnZSB3aWxsIGJlIHJlc2l6ZWQgcmVnYXJkbGVzcyBvZiB0aGUgcmVxdWVzdGVkIGRpbWVuc2lvbnMsIGdpdmVuIHRoYXQgdGhlXG4gKiB3aWR0aCBvciBoZWlnaHQgdG8gYmUgcmVzaXplZCBpcyBwcm92aWRlZC5cbiAqXG4gKiBAcGFyYW0gcmVzaXplQ29uZmlnIC0gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHJlcXVlc3RlZCBkaW1lbnNpb25zIGFuZCByZXNpemUgb3B0aW9uc1xuICogQHBhcmFtIG9yaWdpbmFsIC0gdGhlIG9yaWdpbmFsIGltYWdlIHNpemVcbiAqIEByZXR1cm5zIHRydWUgaWYgcmVzaXppbmcgaXMgbm90IG5lZWRlZCwgZmFsc2Ugb3RoZXJ3aXNlXG4gKi9cbmNvbnN0IHByZXZlbnRSZXNpemUgPSAoXG4gIHsgaGVpZ2h0OiBkZXNpcmVkSGVpZ2h0LCB3aWR0aDogZGVzaXJlZFdpZHRoLCB3aXRob3V0RW5sYXJnZW1lbnQsIHdpdGhvdXRSZWR1Y3Rpb24gfTogSW1hZ2VTaXplLFxuICBvcmlnaW5hbDogUHJvYmVkSW1hZ2VTaXplLFxuKTogYm9vbGVhbiA9PiB7XG4gIC8vIGRlZmF1bHQgaXMgdG8gYWxsb3cgcmVkdWN0aW9uXG4gIGlmICh3aXRob3V0UmVkdWN0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZmFsc2UgLy8gbmVlZHMgcmVzaXplXG4gIH1cblxuICAvLyBkZWZhdWx0IGlzIHRvIHByZXZlbnQgZW5sYXJnZW1lbnRcbiAgaWYgKHdpdGhvdXRFbmxhcmdlbWVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGZhbHNlIC8vIG5lZWRzIHJlc2l6ZVxuICB9XG5cbiAgY29uc3QgaXNXaWR0aE9ySGVpZ2h0Tm90RGVmaW5lZCA9ICFkZXNpcmVkSGVpZ2h0IHx8ICFkZXNpcmVkV2lkdGhcbiAgaWYgKGlzV2lkdGhPckhlaWdodE5vdERlZmluZWQpIHtcbiAgICAvLyBJZiB3aXRoIGFuZCBoZWlnaHQgYXJlIG5vdCBkZWZpbmVkLCBpdCBtZWFucyB0aGVyZSBpcyBhIGZvcm1hdCBjb252ZXJzaW9uXG4gICAgLy8gYW5kIHRoZSBpbWFnZSBuZWVkcyB0byBiZSBcInJlc2l6ZWRcIiAodHJhbnNmb3JtZWQpLlxuICAgIHJldHVybiBmYWxzZSAvLyBuZWVkcyByZXNpemVcbiAgfVxuXG4gIGNvbnN0IGhhc0luc3VmZmljaWVudFdpZHRoID0gZGVzaXJlZFdpZHRoID4gb3JpZ2luYWwud2lkdGhcbiAgY29uc3QgaGFzSW5zdWZmaWNpZW50SGVpZ2h0ID0gZGVzaXJlZEhlaWdodCA+IG9yaWdpbmFsLmhlaWdodFxuICBpZiAoaGFzSW5zdWZmaWNpZW50V2lkdGggJiYgaGFzSW5zdWZmaWNpZW50SGVpZ2h0KSB7XG4gICAgLy8gZG9lc24ndCBuZWVkIHJlc2l6ZSAtIHByZXZlbnQgZW5sYXJnZW1lbnQuIFRoaXMgc2hvdWxkIG9ubHkgaGFwcGVuIGlmIGJvdGggd2lkdGggYW5kIGhlaWdodCBhcmUgaW5zdWZmaWNpZW50LlxuICAgIC8vIGlmIG9ubHkgb25lIGRpbWVuc2lvbiBpcyBpbnN1ZmZpY2llbnQgYW5kIHRoZSBvdGhlciBpcyBzdWZmaWNpZW50LCByZXNpemluZyBuZWVkcyB0byBoYXBwZW4sIGFzIHRoZSBpbWFnZVxuICAgIC8vIHNob3VsZCBiZSByZXNpemVkIHRvIHRoZSBzdWZmaWNpZW50IGRpbWVuc2lvbi5cbiAgICByZXR1cm4gdHJ1ZSAvLyBkbyBub3QgY3JlYXRlIGEgbmV3IHNpemVcbiAgfVxuXG4gIHJldHVybiBmYWxzZSAvLyBuZWVkcyByZXNpemVcbn1cblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgaW1hZ2Ugc2hvdWxkIGJlIHBhc3NlZCBkaXJlY3RseSB0byBzaGFycCB3aXRob3V0IHBheWxvYWQgYWRqdXN0aW5nIHByb3BlcnRpZXMuXG4gKlxuICogQHBhcmFtIHJlc2l6ZUNvbmZpZyAtIG9iamVjdCBjb250YWluaW5nIHRoZSByZXF1ZXN0ZWQgZGltZW5zaW9ucyBhbmQgcmVzaXplIG9wdGlvbnNcbiAqIEBwYXJhbSBvcmlnaW5hbCAtIHRoZSBvcmlnaW5hbCBpbWFnZSBzaXplXG4gKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBpbWFnZSBzaG91bGQgcGFzc2VkIGRpcmVjdGx5IHRvIHNoYXJwXG4gKi9cbmNvbnN0IGFwcGx5UGF5bG9hZEFkanVzdG1lbnRzID0gKFxuICB7IGhlaWdodCwgd2lkdGgsIHdpdGhvdXRFbmxhcmdlbWVudCwgd2l0aG91dFJlZHVjdGlvbiB9OiBJbWFnZVNpemUsXG4gIG9yaWdpbmFsOiBQcm9iZWRJbWFnZVNpemUsXG4pID0+IHtcbiAgaWYgKCFpc051bWJlcihoZWlnaHQpICYmICFpc051bWJlcih3aWR0aCkpIHJldHVybiBmYWxzZVxuXG4gIGNvbnN0IHRhcmdldEFzcGVjdFJhdGlvID0gd2lkdGggLyBoZWlnaHRcbiAgY29uc3Qgb3JpZ2luYWxBc3BlY3RSYXRpbyA9IG9yaWdpbmFsLndpZHRoIC8gb3JpZ2luYWwuaGVpZ2h0XG4gIGlmIChvcmlnaW5hbEFzcGVjdFJhdGlvID09PSB0YXJnZXRBc3BlY3RSYXRpbykgcmV0dXJuIGZhbHNlXG5cbiAgY29uc3Qgc2tpcEVubGFyZ2VtZW50ID0gd2l0aG91dEVubGFyZ2VtZW50ICYmIChvcmlnaW5hbC5oZWlnaHQgPCBoZWlnaHQgfHwgb3JpZ2luYWwud2lkdGggPCB3aWR0aClcbiAgY29uc3Qgc2tpcFJlZHVjdGlvbiA9IHdpdGhvdXRSZWR1Y3Rpb24gJiYgKG9yaWdpbmFsLmhlaWdodCA+IGhlaWdodCB8fCBvcmlnaW5hbC53aWR0aCA+IHdpZHRoKVxuICBpZiAoc2tpcEVubGFyZ2VtZW50IHx8IHNraXBSZWR1Y3Rpb24pIHJldHVybiBmYWxzZVxuXG4gIHJldHVybiB0cnVlXG59XG5cbi8qKlxuICogU2FuaXRpemUgdGhlIHJlc2l6ZSBjb25maWcuIElmIHRoZSByZXNpemUgY29uZmlnIGhhcyB0aGUgYHdpdGhvdXRSZWR1Y3Rpb25gXG4gKiBwcm9wZXJ0eSBzZXQgdG8gdHJ1ZSwgdGhlIGBmaXRgIGFuZCBgcG9zaXRpb25gIHByb3BlcnRpZXMgd2lsbCBiZSBzZXQgdG8gYGNvbnRhaW5gXG4gKiBhbmQgYHRvcCBsZWZ0YCByZXNwZWN0aXZlbHkuXG4gKlxuICogQHBhcmFtIHJlc2l6ZUNvbmZpZyAtIHRoZSByZXNpemUgY29uZmlnXG4gKiBAcmV0dXJucyBhIHNhbml0aXplZCByZXNpemUgY29uZmlnXG4gKi9cbmNvbnN0IHNhbml0aXplUmVzaXplQ29uZmlnID0gKHJlc2l6ZUNvbmZpZzogSW1hZ2VTaXplKTogSW1hZ2VTaXplID0+IHtcbiAgaWYgKHJlc2l6ZUNvbmZpZy53aXRob3V0UmVkdWN0aW9uKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnJlc2l6ZUNvbmZpZyxcbiAgICAgIC8vIFdoeSBmaXQgYGNvbnRhaW5gIHNob3VsZCBhbHNvIGJlIHNldCB0byBodHRwczovL2dpdGh1Yi5jb20vbG92ZWxsL3NoYXJwL2lzc3Vlcy8zNTk1XG4gICAgICBmaXQ6IHJlc2l6ZUNvbmZpZz8uZml0IHx8ICdjb250YWluJyxcbiAgICAgIHBvc2l0aW9uOiByZXNpemVDb25maWc/LnBvc2l0aW9uIHx8ICdsZWZ0IHRvcCcsXG4gICAgfVxuICB9XG4gIHJldHVybiByZXNpemVDb25maWdcbn1cblxuLyoqXG4gKiBGb3IgdGhlIHByb3ZpZGVkIGltYWdlIHNpemVzLCBoYW5kbGUgdGhlIHJlc2l6aW5nIGFuZCB0aGUgdHJhbnNmb3Jtc1xuICogKGZvcm1hdCwgdHJpbSwgZXRjLikgb2YgZWFjaCByZXF1ZXN0ZWQgaW1hZ2Ugc2l6ZSBhbmQgcmV0dXJuIHRoZSByZXN1bHQgb2JqZWN0LlxuICogVGhpcyBvbmx5IGhhbmRsZXMgdGhlIGltYWdlIHNpemVzLiBUaGUgdHJhbnNmb3JtcyBvZiB0aGUgb3JpZ2luYWwgaW1hZ2VcbiAqIGFyZSBoYW5kbGVkIGluIHtAbGluayAuL2dlbmVyYXRlRmlsZURhdGEudHN9LlxuICpcbiAqIFRoZSBpbWFnZSB3aWxsIGJlIHJlc2l6ZWQgYWNjb3JkaW5nIHRvIHRoZSBwcm92aWRlZFxuICogcmVzaXplIGNvbmZpZy4gSWYgbm8gaW1hZ2Ugc2l6ZXMgYXJlIHJlcXVlc3RlZCwgdGhlIHJlc29sdmVkIGRhdGEgd2lsbCBiZSBlbXB0eS5cbiAqIEZvciBldmVyeSBpbWFnZSB0aGF0IGRvcyBub3QgbmVlZCB0byBiZSByZXNpemVkLCBhbiByZXN1bHQgb2JqZWN0IHdpdGggYG51bGxgXG4gKiBwYXJhbWV0ZXJzIHdpbGwgYmUgcmV0dXJuZWQuXG4gKlxuICogQHBhcmFtIHJlc2l6ZUNvbmZpZyAtIHRoZSByZXNpemUgY29uZmlnXG4gKiBAcmV0dXJucyB0aGUgcmVzdWx0IG9mIHRoZSByZXNpemUgb3BlcmF0aW9uKHMpXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uIHJlc2l6ZUFuZFRyYW5zZm9ybUltYWdlU2l6ZXMoe1xuICBjb25maWcsXG4gIGRpbWVuc2lvbnMsXG4gIGZpbGUsXG4gIG1pbWVUeXBlLFxuICByZXEsXG4gIHNhdmVkRmlsZW5hbWUsXG4gIHN0YXRpY1BhdGgsXG59OiBSZXNpemVBcmdzKTogUHJvbWlzZTxJbWFnZVNpemVzUmVzdWx0PiB7XG4gIGNvbnN0IHsgaW1hZ2VTaXplcyB9ID0gY29uZmlnLnVwbG9hZFxuICAvLyBOb3RpbmcgdG8gcmVzaXplIGhlcmUgc28gcmV0dXJuIGFzIGVhcmx5IGFzIHBvc3NpYmxlXG4gIGlmICghaW1hZ2VTaXplcykgcmV0dXJuIHsgc2l6ZURhdGE6IHt9LCBzaXplc1RvU2F2ZTogW10gfVxuXG4gIGNvbnN0IHNoYXJwQmFzZSA9IHNoYXJwKGZpbGUudGVtcEZpbGVQYXRoIHx8IGZpbGUuZGF0YSkucm90YXRlKCkgLy8gcGFzcyByb3RhdGUoKSB0byBhdXRvLXJvdGF0ZSBiYXNlZCBvbiBFWElGIGRhdGEuIGh0dHBzOi8vZ2l0aHViLmNvbS9wYXlsb2FkY21zL3BheWxvYWQvcHVsbC8zMDgxXG5cbiAgY29uc3QgcmVzdWx0czogSW1hZ2VTaXplc1Jlc3VsdFtdID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgaW1hZ2VTaXplcy5tYXAoYXN5bmMgKGltYWdlUmVzaXplQ29uZmlnKTogUHJvbWlzZTxJbWFnZVNpemVzUmVzdWx0PiA9PiB7XG4gICAgICBpbWFnZVJlc2l6ZUNvbmZpZyA9IHNhbml0aXplUmVzaXplQ29uZmlnKGltYWdlUmVzaXplQ29uZmlnKVxuXG4gICAgICAvLyBUaGlzIGNoZWNrcyBpZiBhIHJlc2l6ZSBzaG91bGQgaGFwcGVuLiBJZiBub3QsIHRoZSByZXNpemVkIGltYWdlIHdpbGwgYmVcbiAgICAgIC8vIHNraXBwZWQgQ09NUExFVEVMWSBhbmQgdGh1cyB3aWxsIG5vdCBiZSBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0aW5nIGltYWdlcy5cbiAgICAgIC8vIEFsbCBmdXJ0aGVyIGZvcm1hdC90cmltIG9wdGlvbnMgd2lsbCB0aHVzIGJlIHNraXBwZWQgYXMgd2VsbC5cbiAgICAgIGlmIChwcmV2ZW50UmVzaXplKGltYWdlUmVzaXplQ29uZmlnLCBkaW1lbnNpb25zKSkge1xuICAgICAgICByZXR1cm4gY3JlYXRlUmVzdWx0KGltYWdlUmVzaXplQ29uZmlnLm5hbWUpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGltYWdlVG9SZXNpemUgPSBzaGFycEJhc2UuY2xvbmUoKVxuICAgICAgbGV0IHJlc2l6ZWQgPSBpbWFnZVRvUmVzaXplLnJlc2l6ZShpbWFnZVJlc2l6ZUNvbmZpZylcblxuICAgICAgaWYgKFxuICAgICAgICByZXEucXVlcnk/LnVwbG9hZEVkaXRzPy5mb2NhbFBvaW50ICYmXG4gICAgICAgIGFwcGx5UGF5bG9hZEFkanVzdG1lbnRzKGltYWdlUmVzaXplQ29uZmlnLCBkaW1lbnNpb25zKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IHsgaGVpZ2h0OiByZXNpemVIZWlnaHQsIHdpZHRoOiByZXNpemVXaWR0aCB9ID0gaW1hZ2VSZXNpemVDb25maWdcbiAgICAgICAgY29uc3QgcmVzaXplQXNwZWN0UmF0aW8gPSByZXNpemVXaWR0aCAvIHJlc2l6ZUhlaWdodFxuICAgICAgICBjb25zdCBvcmlnaW5hbEFzcGVjdFJhdGlvID0gZGltZW5zaW9ucy53aWR0aCAvIGRpbWVuc2lvbnMuaGVpZ2h0XG4gICAgICAgIGNvbnN0IHByaW9yaXRpemVIZWlnaHQgPSByZXNpemVBc3BlY3RSYXRpbyA8IG9yaWdpbmFsQXNwZWN0UmF0aW9cblxuICAgICAgICAvLyBTY2FsZSB0aGUgaW1hZ2UgdXAgb3IgZG93biB0byBmaXQgdGhlIHJlc2l6ZSBkaW1lbnNpb25zXG4gICAgICAgIGNvbnN0IHNjYWxlZEltYWdlID0gaW1hZ2VUb1Jlc2l6ZS5yZXNpemUoe1xuICAgICAgICAgIGhlaWdodDogcHJpb3JpdGl6ZUhlaWdodCA/IHJlc2l6ZUhlaWdodCA6IG51bGwsXG4gICAgICAgICAgd2lkdGg6IHByaW9yaXRpemVIZWlnaHQgPyBudWxsIDogcmVzaXplV2lkdGgsXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IHsgaW5mbzogc2NhbGVkSW1hZ2VJbmZvIH0gPSBhd2FpdCBzY2FsZWRJbWFnZS50b0J1ZmZlcih7IHJlc29sdmVXaXRoT2JqZWN0OiB0cnVlIH0pXG5cbiAgICAgICAgLy8gRm9jYWwgcG9pbnQgYWRqdXN0bWVudHNcbiAgICAgICAgY29uc3QgZm9jYWxQb2ludCA9IHtcbiAgICAgICAgICB4OiBpc051bWJlcihyZXEucXVlcnkudXBsb2FkRWRpdHMuZm9jYWxQb2ludD8ueClcbiAgICAgICAgICAgID8gcmVxLnF1ZXJ5LnVwbG9hZEVkaXRzLmZvY2FsUG9pbnQueFxuICAgICAgICAgICAgOiA1MCxcbiAgICAgICAgICB5OiBpc051bWJlcihyZXEucXVlcnkudXBsb2FkRWRpdHMuZm9jYWxQb2ludD8ueSlcbiAgICAgICAgICAgID8gcmVxLnF1ZXJ5LnVwbG9hZEVkaXRzLmZvY2FsUG9pbnQueVxuICAgICAgICAgICAgOiA1MCxcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNhZmVSZXNpemVXaWR0aCA9IHJlc2l6ZVdpZHRoID8/IHNjYWxlZEltYWdlSW5mby53aWR0aFxuICAgICAgICBjb25zdCBtYXhPZmZzZXRYID0gc2NhbGVkSW1hZ2VJbmZvLndpZHRoIC0gc2FmZVJlc2l6ZVdpZHRoXG4gICAgICAgIGNvbnN0IGxlZnRGb2NhbEVkZ2UgPSBNYXRoLnJvdW5kKFxuICAgICAgICAgIHNjYWxlZEltYWdlSW5mby53aWR0aCAqIChmb2NhbFBvaW50LnggLyAxMDApIC0gc2FmZVJlc2l6ZVdpZHRoIC8gMixcbiAgICAgICAgKVxuICAgICAgICBjb25zdCBzYWZlT2Zmc2V0WCA9IE1hdGgubWluKE1hdGgubWF4KDAsIGxlZnRGb2NhbEVkZ2UpLCBtYXhPZmZzZXRYKVxuXG4gICAgICAgIGNvbnN0IHNhZmVSZXNpemVIZWlnaHQgPSByZXNpemVIZWlnaHQgPz8gc2NhbGVkSW1hZ2VJbmZvLmhlaWdodFxuICAgICAgICBjb25zdCBtYXhPZmZzZXRZID0gc2NhbGVkSW1hZ2VJbmZvLmhlaWdodCAtIHNhZmVSZXNpemVIZWlnaHRcbiAgICAgICAgY29uc3QgdG9wRm9jYWxFZGdlID0gTWF0aC5yb3VuZChcbiAgICAgICAgICBzY2FsZWRJbWFnZUluZm8uaGVpZ2h0ICogKGZvY2FsUG9pbnQueSAvIDEwMCkgLSBzYWZlUmVzaXplSGVpZ2h0IC8gMixcbiAgICAgICAgKVxuICAgICAgICBjb25zdCBzYWZlT2Zmc2V0WSA9IE1hdGgubWluKE1hdGgubWF4KDAsIHRvcEZvY2FsRWRnZSksIG1heE9mZnNldFkpXG5cbiAgICAgICAgLy8gZXh0cmFjdCB0aGUgZm9jYWwgYXJlYSBmcm9tIHRoZSBzY2FsZWQgaW1hZ2VcbiAgICAgICAgcmVzaXplZCA9IHNjYWxlZEltYWdlLmV4dHJhY3Qoe1xuICAgICAgICAgIGhlaWdodDogc2FmZVJlc2l6ZUhlaWdodCxcbiAgICAgICAgICBsZWZ0OiBzYWZlT2Zmc2V0WCxcbiAgICAgICAgICB0b3A6IHNhZmVPZmZzZXRZLFxuICAgICAgICAgIHdpZHRoOiBzYWZlUmVzaXplV2lkdGgsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIGlmIChpbWFnZVJlc2l6ZUNvbmZpZy5mb3JtYXRPcHRpb25zKSB7XG4gICAgICAgIHJlc2l6ZWQgPSByZXNpemVkLnRvRm9ybWF0KFxuICAgICAgICAgIGltYWdlUmVzaXplQ29uZmlnLmZvcm1hdE9wdGlvbnMuZm9ybWF0LFxuICAgICAgICAgIGltYWdlUmVzaXplQ29uZmlnLmZvcm1hdE9wdGlvbnMub3B0aW9ucyxcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICBpZiAoaW1hZ2VSZXNpemVDb25maWcudHJpbU9wdGlvbnMpIHtcbiAgICAgICAgcmVzaXplZCA9IHJlc2l6ZWQudHJpbShpbWFnZVJlc2l6ZUNvbmZpZy50cmltT3B0aW9ucylcbiAgICAgIH1cblxuICAgICAgY29uc3QgeyBkYXRhOiBidWZmZXJEYXRhLCBpbmZvOiBidWZmZXJJbmZvIH0gPSBhd2FpdCByZXNpemVkLnRvQnVmZmVyKHtcbiAgICAgICAgcmVzb2x2ZVdpdGhPYmplY3Q6IHRydWUsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCBzYW5pdGl6ZWRJbWFnZSA9IGdldFNhbml0aXplZEltYWdlRGF0YShzYXZlZEZpbGVuYW1lKVxuXG4gICAgICBpZiAocmVxLnBheWxvYWRVcGxvYWRTaXplcykge1xuICAgICAgICByZXEucGF5bG9hZFVwbG9hZFNpemVzW2ltYWdlUmVzaXplQ29uZmlnLm5hbWVdID0gYnVmZmVyRGF0YVxuICAgICAgfVxuXG4gICAgICBjb25zdCBtaW1lSW5mbyA9IGF3YWl0IGZyb21CdWZmZXIoYnVmZmVyRGF0YSlcblxuICAgICAgY29uc3QgaW1hZ2VOYW1lV2l0aERpbWVuc2lvbnMgPSBjcmVhdGVJbWFnZU5hbWUoXG4gICAgICAgIHNhbml0aXplZEltYWdlLm5hbWUsXG4gICAgICAgIGJ1ZmZlckluZm8sXG4gICAgICAgIG1pbWVJbmZvPy5leHQgfHwgc2FuaXRpemVkSW1hZ2UuZXh0LFxuICAgICAgKVxuXG4gICAgICBjb25zdCBpbWFnZVBhdGggPSBgJHtzdGF0aWNQYXRofS8ke2ltYWdlTmFtZVdpdGhEaW1lbnNpb25zfWBcblxuICAgICAgaWYgKGF3YWl0IGZpbGVFeGlzdHMoaW1hZ2VQYXRoKSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGZzLnVubGlua1N5bmMoaW1hZ2VQYXRoKVxuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAvLyBJZ25vcmUgdW5saW5rIGVycm9yc1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgaGVpZ2h0LCBzaXplLCB3aWR0aCB9ID0gYnVmZmVySW5mb1xuICAgICAgcmV0dXJuIGNyZWF0ZVJlc3VsdChcbiAgICAgICAgaW1hZ2VSZXNpemVDb25maWcubmFtZSxcbiAgICAgICAgaW1hZ2VOYW1lV2l0aERpbWVuc2lvbnMsXG4gICAgICAgIHdpZHRoLFxuICAgICAgICBoZWlnaHQsXG4gICAgICAgIHNpemUsXG4gICAgICAgIG1pbWVJbmZvPy5taW1lIHx8IG1pbWVUeXBlLFxuICAgICAgICBbeyBidWZmZXI6IGJ1ZmZlckRhdGEsIHBhdGg6IGltYWdlUGF0aCB9XSxcbiAgICAgIClcbiAgICB9KSxcbiAgKVxuXG4gIHJldHVybiByZXN1bHRzLnJlZHVjZShcbiAgICAoYWNjLCByZXN1bHQpID0+IHtcbiAgICAgIE9iamVjdC5hc3NpZ24oYWNjLnNpemVEYXRhLCByZXN1bHQuc2l6ZURhdGEpXG4gICAgICBhY2Muc2l6ZXNUb1NhdmUucHVzaCguLi5yZXN1bHQuc2l6ZXNUb1NhdmUpXG4gICAgICByZXR1cm4gYWNjXG4gICAgfSxcbiAgICB7IHNpemVEYXRhOiB7fSwgc2l6ZXNUb1NhdmU6IFtdIH0sXG4gIClcbn1cbiJdLCJuYW1lcyI6WyJyZXNpemVBbmRUcmFuc2Zvcm1JbWFnZVNpemVzIiwiZ2V0U2FuaXRpemVkSW1hZ2VEYXRhIiwic291cmNlSW1hZ2UiLCJleHRlbnNpb24iLCJzcGxpdCIsInBvcCIsIm5hbWUiLCJzYW5pdGl6ZSIsInN1YnN0cmluZyIsImxhc3RJbmRleE9mIiwiZXh0IiwiY3JlYXRlSW1hZ2VOYW1lIiwib3V0cHV0SW1hZ2VOYW1lIiwiaGVpZ2h0Iiwid2lkdGgiLCJjcmVhdGVSZXN1bHQiLCJmaWxlbmFtZSIsImZpbGVzaXplIiwibWltZVR5cGUiLCJzaXplc1RvU2F2ZSIsInNpemVEYXRhIiwicHJldmVudFJlc2l6ZSIsImRlc2lyZWRIZWlnaHQiLCJkZXNpcmVkV2lkdGgiLCJ3aXRob3V0RW5sYXJnZW1lbnQiLCJ3aXRob3V0UmVkdWN0aW9uIiwib3JpZ2luYWwiLCJ1bmRlZmluZWQiLCJpc1dpZHRoT3JIZWlnaHROb3REZWZpbmVkIiwiaGFzSW5zdWZmaWNpZW50V2lkdGgiLCJoYXNJbnN1ZmZpY2llbnRIZWlnaHQiLCJhcHBseVBheWxvYWRBZGp1c3RtZW50cyIsImlzTnVtYmVyIiwidGFyZ2V0QXNwZWN0UmF0aW8iLCJvcmlnaW5hbEFzcGVjdFJhdGlvIiwic2tpcEVubGFyZ2VtZW50Iiwic2tpcFJlZHVjdGlvbiIsInNhbml0aXplUmVzaXplQ29uZmlnIiwicmVzaXplQ29uZmlnIiwiZml0IiwicG9zaXRpb24iLCJjb25maWciLCJkaW1lbnNpb25zIiwiZmlsZSIsInJlcSIsInNhdmVkRmlsZW5hbWUiLCJzdGF0aWNQYXRoIiwiaW1hZ2VTaXplcyIsInVwbG9hZCIsInNoYXJwQmFzZSIsInNoYXJwIiwidGVtcEZpbGVQYXRoIiwiZGF0YSIsInJvdGF0ZSIsInJlc3VsdHMiLCJQcm9taXNlIiwiYWxsIiwibWFwIiwiaW1hZ2VSZXNpemVDb25maWciLCJpbWFnZVRvUmVzaXplIiwiY2xvbmUiLCJyZXNpemVkIiwicmVzaXplIiwicXVlcnkiLCJ1cGxvYWRFZGl0cyIsImZvY2FsUG9pbnQiLCJyZXNpemVIZWlnaHQiLCJyZXNpemVXaWR0aCIsInJlc2l6ZUFzcGVjdFJhdGlvIiwicHJpb3JpdGl6ZUhlaWdodCIsInNjYWxlZEltYWdlIiwiaW5mbyIsInNjYWxlZEltYWdlSW5mbyIsInRvQnVmZmVyIiwicmVzb2x2ZVdpdGhPYmplY3QiLCJ4IiwieSIsInNhZmVSZXNpemVXaWR0aCIsIm1heE9mZnNldFgiLCJsZWZ0Rm9jYWxFZGdlIiwiTWF0aCIsInJvdW5kIiwic2FmZU9mZnNldFgiLCJtaW4iLCJtYXgiLCJzYWZlUmVzaXplSGVpZ2h0IiwibWF4T2Zmc2V0WSIsInRvcEZvY2FsRWRnZSIsInNhZmVPZmZzZXRZIiwiZXh0cmFjdCIsImxlZnQiLCJ0b3AiLCJmb3JtYXRPcHRpb25zIiwidG9Gb3JtYXQiLCJmb3JtYXQiLCJvcHRpb25zIiwidHJpbU9wdGlvbnMiLCJ0cmltIiwiYnVmZmVyRGF0YSIsImJ1ZmZlckluZm8iLCJzYW5pdGl6ZWRJbWFnZSIsInBheWxvYWRVcGxvYWRTaXplcyIsIm1pbWVJbmZvIiwiZnJvbUJ1ZmZlciIsImltYWdlTmFtZVdpdGhEaW1lbnNpb25zIiwiaW1hZ2VQYXRoIiwiZmlsZUV4aXN0cyIsImZzIiwidW5saW5rU3luYyIsInNpemUiLCJtaW1lIiwiYnVmZmVyIiwicGF0aCIsInJlZHVjZSIsImFjYyIsInJlc3VsdCIsIk9iamVjdCIsImFzc2lnbiIsInB1c2giXSwibWFwcGluZ3MiOiI7Ozs7K0JBa01BOzs7Ozs7Ozs7Ozs7O0NBYUMsR0FDRDs7O2VBQThCQTs7OzBCQTdNSDsyREFDWjt5RUFDTTs4REFDSDswQkFPTzttRUFDRjs7Ozs7O0FBMkJ2Qjs7Ozs7Q0FLQyxHQUNELE1BQU1DLHdCQUF3QixDQUFDQztJQUM3QixNQUFNQyxZQUFZRCxZQUFZRSxLQUFLLENBQUMsS0FBS0MsR0FBRztJQUM1QyxNQUFNQyxPQUFPQyxJQUFBQSx5QkFBUSxFQUFDTCxZQUFZTSxTQUFTLENBQUMsR0FBR04sWUFBWU8sV0FBVyxDQUFDLFNBQVNQO0lBQ2hGLE9BQU87UUFBRUk7UUFBTUksS0FBS1A7SUFBVTtBQUNoQztBQUVBOzs7Ozs7Ozs7Ozs7Q0FZQyxHQUNELE1BQU1RLGtCQUFrQixDQUN0QkMsaUJBQ0EsRUFBRUMsTUFBTSxFQUFFQyxLQUFLLEVBQWMsRUFDN0JYLFlBQ0csQ0FBQyxFQUFFUyxnQkFBZ0IsQ0FBQyxFQUFFRSxNQUFNLENBQUMsRUFBRUQsT0FBTyxDQUFDLEVBQUVWLFVBQVUsQ0FBQztBQUV6RDs7Ozs7Ozs7Ozs7OztDQWFDLEdBQ0QsTUFBTVksZUFBZSxDQUNuQlQsTUFDQVUsV0FBaUMsSUFBSSxFQUNyQ0YsUUFBMkIsSUFBSSxFQUMvQkQsU0FBNkIsSUFBSSxF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
@@ -1 +1 @@
1
- {"version":3,"file":"fieldSchemaToJSON.d.ts","sourceRoot":"","sources":["../../src/utilities/fieldSchemaToJSON.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAEnD,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,UAAU,CAAA;CACvB,EAAE,CAAA;AAEH,eAAO,MAAM,iBAAiB,WAAY,KAAK,EAAE,oBA6EhD,CAAA"}
1
+ {"version":3,"file":"fieldSchemaToJSON.d.ts","sourceRoot":"","sources":["../../src/utilities/fieldSchemaToJSON.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAEnD,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,UAAU,CAAA;CACvB,EAAE,CAAA;AAEH,eAAO,MAAM,iBAAiB,WAAY,KAAK,EAAE,oBAkGhD,CAAA"}
@@ -13,19 +13,37 @@ const fieldSchemaToJSON = (fields)=>{
13
13
  let result = acc;
14
14
  switch(field.type){
15
15
  case 'group':
16
- case 'array':
17
16
  acc.push({
18
17
  name: field.name,
19
18
  fields: fieldSchemaToJSON(field.fields),
20
19
  type: field.type
21
20
  });
22
21
  break;
22
+ case 'array':
23
+ acc.push({
24
+ name: field.name,
25
+ fields: fieldSchemaToJSON([
26
+ ...field.fields,
27
+ {
28
+ name: 'id',
29
+ type: 'text'
30
+ }
31
+ ]),
32
+ type: field.type
33
+ });
34
+ break;
23
35
  case 'blocks':
24
36
  acc.push({
25
37
  name: field.name,
26
38
  blocks: field.blocks.reduce((acc, block)=>{
27
39
  acc[block.slug] = {
28
- fields: fieldSchemaToJSON(block.fields)
40
+ fields: fieldSchemaToJSON([
41
+ ...block.fields,
42
+ {
43
+ name: 'id',
44
+ type: 'text'
45
+ }
46
+ ])
29
47
  };
30
48
  return acc;
31
49
  }, {}),
@@ -74,4 +92,4 @@ const fieldSchemaToJSON = (fields)=>{
74
92
  }, []);
75
93
  };
76
94
 
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZmllbGRTY2hlbWFUb0pTT04udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGaWVsZFR5cGVzIH0gZnJvbSAnLi4vZXhwb3J0cy9jb25maWcnXG5pbXBvcnQgdHlwZSB7IEZpZWxkIH0gZnJvbSAnLi4vZmllbGRzL2NvbmZpZy90eXBlcydcblxuZXhwb3J0IHR5cGUgRmllbGRTY2hlbWFKU09OID0ge1xuICBibG9ja3M/OiBGaWVsZFNjaGVtYUpTT04gLy8gVE9ETzogY29uZGl0aW9uYWxseSBhZGQgYmFzZWQgb24gYHR5cGVgXG4gIGZpZWxkcz86IEZpZWxkU2NoZW1hSlNPTiAvLyBUT0RPOiBjb25kaXRpb25hbGx5IGFkZCBiYXNlZCBvbiBgdHlwZWBcbiAgaGFzTWFueT86IGJvb2xlYW4gLy8gVE9ETzogY29uZGl0aW9uYWxseSBhZGQgYmFzZWQgb24gYHR5cGVgXG4gIG5hbWU6IHN0cmluZ1xuICByZWxhdGlvblRvPzogc3RyaW5nIC8vIFRPRE86IGNvbmRpdGlvbmFsbHkgYWRkIGJhc2VkIG9uIGB0eXBlYFxuICBzbHVnPzogc3RyaW5nIC8vIFRPRE86IGNvbmRpdGlvbmFsbHkgYWRkIGJhc2VkIG9uIGB0eXBlYFxuICB0eXBlOiBrZXlvZiBGaWVsZFR5cGVzXG59W11cblxuZXhwb3J0IGNvbnN0IGZpZWxkU2NoZW1hVG9KU09OID0gKGZpZWxkczogRmllbGRbXSk6IEZpZWxkU2NoZW1hSlNPTiA9PiB7XG4gIHJldHVybiBmaWVsZHMucmVkdWNlKChhY2MsIGZpZWxkKSA9PiB7XG4gICAgbGV0IHJlc3VsdCA9IGFjY1xuXG4gICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICBjYXNlICdncm91cCc6XG4gICAgICBjYXNlICdhcnJheSc6XG4gICAgICAgIGFjYy5wdXNoKHtcbiAgICAgICAgICBuYW1lOiBmaWVsZC5uYW1lLFxuICAgICAgICAgIGZpZWxkczogZmllbGRTY2hlbWFUb0pTT04oZmllbGQuZmllbGRzKSxcbiAgICAgICAgICB0eXBlOiBmaWVsZC50eXBlLFxuICAgICAgICB9KVxuICAgICAgICBicmVha1xuXG4gICAgICBjYXNlICdibG9ja3MnOlxuICAgICAgICBhY2MucHVzaCh7XG4gICAgICAgICAgbmFtZTogZmllbGQubmFtZSxcbiAgICAgICAgICBibG9ja3M6IGZpZWxkLmJsb2Nrcy5yZWR1Y2UoKGFjYywgYmxvY2spID0+IHtcbiAgICAgICAgICAgIGFjY1tibG9jay5zbHVnXSA9IHtcbiAgICAgICAgICAgICAgZmllbGRzOiBmaWVsZFNjaGVtYVRvSlNPTihibG9jay5maWVsZHMpLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gYWNjXG4gICAgICAgICAgfSwge30pLFxuICAgICAgICAgIHR5cGU6IGZpZWxkLnR5cGUsXG4gICAgICAgIH0pXG4gICAgICAgIGJyZWFrXG5cbiAgICAgIGNhc2UgJ3Jvdyc6XG4gICAgICBjYXNlICdjb2xsYXBzaWJsZSc6XG4gICAgICAgIHJlc3VsdCA9IHJlc3VsdC5jb25jYXQoZmllbGRTY2hlbWFUb0pTT04oZmllbGQuZmllbGRzKSlcblxuICAgICAgICBicmVha1xuXG4gICAgICBjYXNlICd0YWJzJzoge1xuICAgICAgICBsZXQgdGFiRmllbGRzID0gW11cblxuICAgICAgICBmaWVsZC50YWJzLmZvckVhY2goKHRhYikgPT4ge1xuICAgICAgICAgIGlmICgnbmFtZScgaW4gdGFiKSB7XG4gICAgICAgICAgICB0YWJGaWVsZHMucHVzaCh7XG4gICAgICAgICAgICAgIG5hbWU6IHRhYi5uYW1lLFxuICAgICAgICAgICAgICBmaWVsZHM6IGZpZWxkU2NoZW1hVG9KU09OKHRhYi5maWVsZHMpLFxuICAgICAgICAgICAgICB0eXBlOiAndGFiJyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0YWJGaWVsZHMgPSB0YWJGaWVsZHMuY29uY2F0KGZpZWxkU2NoZW1hVG9KU09OKHRhYi5maWVsZHMpKVxuICAgICAgICB9KVxuXG4gICAgICAgIHJlc3VsdCA9IHJlc3VsdC5jb25jYXQodGFiRmllbGRzKVxuXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ3JlbGF0aW9uc2hpcCc6XG4gICAgICBjYXNlICd1cGxvYWQnOlxuICAgICAgICBhY2MucHVzaCh7XG4gICAgICAgICAgbmFtZTogZmllbGQubmFtZSxcbiAgICAgICAgICBoYXNNYW55OiAnaGFzTWFueScgaW4gZmllbGQgPyBCb29sZWFuKGZpZWxkLmhhc01hbnkpIDogZmFsc2UsIC8vIFRPRE86IHR5cGUgdGhpc1xuICAgICAgICAgIHJlbGF0aW9uVG86IGZpZWxkLnJlbGF0aW9uVG8sXG4gICAgICAgICAgdHlwZTogZmllbGQudHlwZSxcbiAgICAgICAgfSlcblxuICAgICAgICBicmVha1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAoJ25hbWUnIGluIGZpZWxkKSB7XG4gICAgICAgICAgYWNjLnB1c2goe1xuICAgICAgICAgICAgbmFtZTogZmllbGQubmFtZSxcbiAgICAgICAgICAgIHR5cGU6IGZpZWxkLnR5cGUsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHRcbiAgfSwgW10pXG59XG4iXSwibmFtZXMiOlsiZmllbGRTY2hlbWFUb0pTT04iLCJmaWVsZHMiLCJyZWR1Y2UiLCJhY2MiLCJmaWVsZCIsInJlc3VsdCIsInR5cGUiLCJwdXNoIiwibmFtZSIsImJsb2NrcyIsImJsb2NrIiwic2x1ZyIsImNvbmNhdCIsInRhYkZpZWxkcyIsInRhYnMiLCJmb3JFYWNoIiwidGFiIiwiaGFzTWFueSIsIkJvb2xlYW4iLCJyZWxhdGlvblRvIl0sIm1hcHBpbmdzIjoiOzs7OytCQWFhQTs7O2VBQUFBOzs7QUFBTixNQUFNQSxvQkFBb0IsQ0FBQ0M7SUFDaEMsT0FBT0EsT0FBT0MsTUFBTSxDQUFDLENBQUNDLEtBQUtDO1FBQ3pCLElBQUlDLFNBQVNGO1FBRWIsT0FBUUMsTUFBTUUsSUFBSTtZQUNoQixLQUFLO1lBQ0wsS0FBSztnQkFDSEgsSUFBSUksSUFBSSxDQUFDO29CQUNQQyxNQUFNSixNQUFNSSxJQUFJO29CQUNoQlAsUUFBUUQsa0JBQWtCSSxNQUFNSCxNQUFNO29CQUN0Q0ssTUFBTUYsTUFBTUUsSUFBSTtnQkFDbEI7Z0JBQ0E7WUFFRixLQUFLO2dCQUNISCxJQUFJSSxJQUFJLENBQUM7b0JBQ1BDLE1BQU1KLE1BQU1JLElBQUk7b0JBQ2hCQyxRQUFRTCxNQUFNSyxNQUFNLENBQUNQLE1BQU0sQ0FBQyxDQUFDQyxLQUFLTzt3QkFDaENQLEdBQUcsQ0FBQ08sTUFBTUMsSUFBSSxDQUFDLEdBQUc7NEJBQ2hCVixRQUFRRCxrQkFBa0JVLE1BQU1ULE1BQU07d0JBQ3hDO3dCQUVBLE9BQU9FO29CQUNULEdBQUcsQ0FBQztvQkFDSkcsTUFBTUYsTUFBTUUsSUFBSTtnQkFDbEI7Z0JBQ0E7WUFFRixLQUFLO1lBQ0wsS0FBSztnQkFDSEQsU0FBU0EsT0FBT08sTUFBTSxDQUFDWixrQkFBa0JJLE1BQU1ILE1BQU07Z0JBRXJEO1lBRUYsS0FBSztnQkFBUTtvQkFDWCxJQUFJWSxZQUFZLEVBQUU7b0JBRWxCVCxNQUFNVSxJQUFJLENBQUNDLE9BQU8sQ0FBQyxDQUFDQzt3QkFDbEIsSUFBSSxVQUFVQSxLQUFLOzRCQUNqQkgsVUFBVU4sSUFBSSxDQUFDO2dDQUNiQyxNQUFNUSxJQUFJUixJQUFJO2dDQUNkUCxRQUFRRCxrQkFBa0JnQixJQUFJZixNQUFNO2dDQUNwQ0ssTUFBTTs0QkFDUjs0QkFDQTt3QkFDRjt3QkFFQU8sWUFBWUEsVUFBVUQsTUFBTSxDQUFDWixrQkFBa0JnQixJQUFJZixNQUFNO29CQUMzRDtvQkFFQUksU0FBU0EsT0FBT08sTUFBTSxDQUFDQztvQkFFdkI7Z0JBQ0Y7WUFFQSxLQUFLO1lBQ0wsS0FBSztnQkFDSFYsSUFBSUksSUFBSSxDQUFDO29CQUNQQyxNQUFNSixNQUFNSSxJQUFJO29CQUNoQlMsU0FBUyxhQUFhYixRQUFRYyxRQUFRZCxNQUFNYSxPQUFPLElBQUk7b0JBQ3ZERSxZQUFZZixNQUFNZSxVQUFVO29CQUM1QmIsTUFBTUYsTUFBTUUsSUFBSTtnQkFDbEI7Z0JBRUE7WUFFRjtnQkFDRSxJQUFJLFVBQVVGLE9BQU87b0JBQ25CRCxJQUFJSSxJQUFJLENBQUM7d0JBQ1BDLE1BQU1KLE1BQU1JLElBQUk7d0JBQ2hCRixNQUFNRixNQUFNRSxJQUFJO29CQUNsQjtnQkFDRjtRQUNKO1FBRUEsT0FBT0Q7SUFDVCxHQUFHLEVBQUU7QUFDUCJ9
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZmllbGRTY2hlbWFUb0pTT04udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGaWVsZFR5cGVzIH0gZnJvbSAnLi4vZXhwb3J0cy9jb25maWcnXG5pbXBvcnQgdHlwZSB7IEZpZWxkIH0gZnJvbSAnLi4vZmllbGRzL2NvbmZpZy90eXBlcydcblxuZXhwb3J0IHR5cGUgRmllbGRTY2hlbWFKU09OID0ge1xuICBibG9ja3M/OiBGaWVsZFNjaGVtYUpTT04gLy8gVE9ETzogY29uZGl0aW9uYWxseSBhZGQgYmFzZWQgb24gYHR5cGVgXG4gIGZpZWxkcz86IEZpZWxkU2NoZW1hSlNPTiAvLyBUT0RPOiBjb25kaXRpb25hbGx5IGFkZCBiYXNlZCBvbiBgdHlwZWBcbiAgaGFzTWFueT86IGJvb2xlYW4gLy8gVE9ETzogY29uZGl0aW9uYWxseSBhZGQgYmFzZWQgb24gYHR5cGVgXG4gIG5hbWU6IHN0cmluZ1xuICByZWxhdGlvblRvPzogc3RyaW5nIC8vIFRPRE86IGNvbmRpdGlvbmFsbHkgYWRkIGJhc2VkIG9uIGB0eXBlYFxuICBzbHVnPzogc3RyaW5nIC8vIFRPRE86IGNvbmRpdGlvbmFsbHkgYWRkIGJhc2VkIG9uIGB0eXBlYFxuICB0eXBlOiBrZXlvZiBGaWVsZFR5cGVzXG59W11cblxuZXhwb3J0IGNvbnN0IGZpZWxkU2NoZW1hVG9KU09OID0gKGZpZWxkczogRmllbGRbXSk6IEZpZWxkU2NoZW1hSlNPTiA9PiB7XG4gIHJldHVybiBmaWVsZHMucmVkdWNlKChhY2MsIGZpZWxkKSA9PiB7XG4gICAgbGV0IHJlc3VsdCA9IGFjY1xuXG4gICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICBjYXNlICdncm91cCc6XG4gICAgICAgIGFjYy5wdXNoKHtcbiAgICAgICAgICBuYW1lOiBmaWVsZC5uYW1lLFxuICAgICAgICAgIGZpZWxkczogZmllbGRTY2hlbWFUb0pTT04oZmllbGQuZmllbGRzKSxcbiAgICAgICAgICB0eXBlOiBmaWVsZC50eXBlLFxuICAgICAgICB9KVxuXG4gICAgICAgIGJyZWFrXG5cbiAgICAgIGNhc2UgJ2FycmF5JzpcbiAgICAgICAgYWNjLnB1c2goe1xuICAgICAgICAgIG5hbWU6IGZpZWxkLm5hbWUsXG4gICAgICAgICAgZmllbGRzOiBmaWVsZFNjaGVtYVRvSlNPTihbXG4gICAgICAgICAgICAuLi5maWVsZC5maWVsZHMsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdpZCcsXG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSksXG4gICAgICAgICAgdHlwZTogZmllbGQudHlwZSxcbiAgICAgICAgfSlcblxuICAgICAgICBicmVha1xuXG4gICAgICBjYXNlICdibG9ja3MnOlxuICAgICAgICBhY2MucHVzaCh7XG4gICAgICAgICAgbmFtZTogZmllbGQubmFtZSxcbiAgICAgICAgICBibG9ja3M6IGZpZWxkLmJsb2Nrcy5yZWR1Y2UoKGFjYywgYmxvY2spID0+IHtcbiAgICAgICAgICAgIGFjY1tibG9jay5zbHVnXSA9IHtcbiAgICAgICAgICAgICAgZmllbGRzOiBmaWVsZFNjaGVtYVRvSlNPTihbXG4gICAgICAgICAgICAgICAgLi4uYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6ICdpZCcsXG4gICAgICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBhY2NcbiAgICAgICAgICB9LCB7fSksXG4gICAgICAgICAgdHlwZTogZmllbGQudHlwZSxcbiAgICAgICAgfSlcblxuICAgICAgICBicmVha1xuXG4gICAgICBjYXNlICdyb3cnOlxuICAgICAgY2FzZSAnY29sbGFwc2libGUnOlxuICAgICAgICByZXN1bHQgPSByZXN1bHQuY29uY2F0KGZpZWxkU2NoZW1hVG9KU09OKGZpZWxkLmZpZWxkcykpXG4gICAgICAgIGJyZWFrXG5cbiAgICAgIGNhc2UgJ3RhYnMnOiB7XG4gICAgICAgIGxldCB0YWJGaWVsZHMgPSBbXVxuXG4gICAgICAgIGZpZWxkLnRhYnMuZm9yRWFjaCgodGFiKSA9PiB7XG4gICAgICAgICAgaWYgKCduYW1lJyBpbiB0YWIpIHtcbiAgICAgICAgICAgIHRhYkZpZWxkcy5wdXNoKHtcbiAgICAgICAgICAgICAgbmFtZTogdGFiLm5hbWUsXG4gICAgICAgICAgICAgIGZpZWxkczogZmllbGRTY2hlbWFUb0pTT04odGFiLmZpZWxkcyksXG4gICAgICAgICAgICAgIHR5cGU6ICd0YWInLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cblxuICAgICAgICAgIHRhYkZpZWxkcyA9IHRhYkZpZWxkcy5jb25jYXQoZmllbGRTY2hlbWFUb0pTT04odGFiLmZpZWxkcykpXG4gICAgICAgIH0pXG5cbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0LmNvbmNhdCh0YWJGaWVsZHMpXG5cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAncmVsYXRpb25zaGlwJzpcbiAgICAgIGNhc2UgJ3VwbG9hZCc6XG4gICAgICAgIGFjYy5wdXNoKHtcbiAgICAgICAgICBuYW1lOiBmaWVsZC5uYW1lLFxuICAgICAgICAgIGhhc01hbnk6ICdoYXNNYW55JyBpbiBmaWVsZCA/IEJvb2xlYW4oZmllbGQuaGFzTWFueSkgOiBmYWxzZSwgLy8gVE9ETzogdHlwZSB0aGlzXG4gICAgICAgICAgcmVsYXRpb25UbzogZmllbGQucmVsYXRpb25UbyxcbiAgICAgICAgICB0eXBlOiBmaWVsZC50eXBlLFxuICAgICAgICB9KVxuXG4gICAgICAgIGJyZWFrXG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGlmICgnbmFtZScgaW4gZmllbGQpIHtcbiAgICAgICAgICBhY2MucHVzaCh7XG4gICAgICAgICAgICBuYW1lOiBmaWVsZC5uYW1lLFxuICAgICAgICAgICAgdHlwZTogZmllbGQudHlwZSxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9LCBbXSlcbn1cbiJdLCJuYW1lcyI6WyJmaWVsZFNjaGVtYVRvSlNPTiIsImZpZWxkcyIsInJlZHVjZSIsImFjYyIsImZpZWxkIiwicmVzdWx0IiwidHlwZSIsInB1c2giLCJuYW1lIiwiYmxvY2tzIiwiYmxvY2siLCJzbHVnIiwiY29uY2F0IiwidGFiRmllbGRzIiwidGFicyIsImZvckVhY2giLCJ0YWIiLCJoYXNNYW55IiwiQm9vbGVhbiIsInJlbGF0aW9uVG8iXSwibWFwcGluZ3MiOiI7Ozs7K0JBYWFBOzs7ZUFBQUE7OztBQUFOLE1BQU1BLG9CQUFvQixDQUFDQztJQUNoQyxPQUFPQSxPQUFPQyxNQUFNLENBQUMsQ0FBQ0MsS0FBS0M7UUFDekIsSUFBSUMsU0FBU0Y7UUFFYixPQUFRQyxNQUFNRSxJQUFJO1lBQ2hCLEtBQUs7Z0JBQ0hILElBQUlJLElBQUksQ0FBQztvQkFDUEMsTUFBTUosTUFBTUksSUFBSTtvQkFDaEJQLFFBQVFELGtCQUFrQkksTUFBTUgsTUFBTTtvQkFDdENLLE1BQU1GLE1BQU1FLElBQUk7Z0JBQ2xCO2dCQUVBO1lBRUYsS0FBSztnQkFDSEgsSUFBSUksSUFBSSxDQUFDO29CQUNQQyxNQUFNSixNQUFNSSxJQUFJO29CQUNoQlAsUUFBUUQsa0JBQWtCOzJCQUNyQkksTUFBTUgsTUFBTTt3QkFDZjs0QkFDRU8sTUFBTTs0QkFDTkYsTUFBTTt3QkFDUjtxQkFDRDtvQkFDREEsTUFBTUYsTUFBTUUsSUFBSTtnQkFDbEI7Z0JBRUE7WUFFRixLQUFLO2dCQUNISCxJQUFJSSxJQUFJLENBQUM7b0JBQ1BDLE1BQU1KLE1BQU1JLElBQUk7b0JBQ2hCQyxRQUFRTCxNQUFNSyxNQUFNLENBQUNQLE1BQU0sQ0FBQyxDQUFDQyxLQUFLTzt3QkFDaENQLEdBQUcsQ0FBQ08sTUFBTUMsSUFBSSxDQUFDLEdBQUc7NEJBQ2hCVixRQUFRRCxrQkFBa0I7bUNBQ3JCVSxNQUFNVCxNQUFNO2dDQUNmO29DQUNFTyxNQUFNO29DQUNORixNQUFNO2dDQUNSOzZCQUNEO3dCQUNIO3dCQUVBLE9BQU9IO29CQUNULEdBQUcsQ0FBQztvQkFDSkcsTUFBTUYsTUFBTUUsSUFBSTtnQkFDbEI7Z0JBRUE7WUFFRixLQUFLO1lBQ0wsS0FBSztnQkFDSEQsU0FBU0EsT0FBT08sTUFBTSxDQUFDWixrQkFBa0JJLE1BQU1ILE1BQU07Z0JBQ3JEO1lBRUYsS0FBSztnQkFBUTtvQkFDWCxJQUFJWSxZQUFZLEVBQUU7b0JBRWxCVCxNQUFNVSxJQUFJLENBQUNDLE9BQU8sQ0FBQyxDQUFDQzt3QkFDbEIsSUFBSSxVQUFVQSxLQUFLOzRCQUNqQkgsVUFBVU4sSUFBSSxDQUFDO2dDQUNiQyxNQUFNUSxJQUFJUixJQUFJO2dDQUNkUCxRQUFRRCxrQkFBa0JnQixJQUFJZixNQUFNO2dDQUNwQ0ssTUFBTTs0QkFDUjs0QkFDQTt3QkFDRjt3QkFFQU8sWUFBWUEsVUFBVUQsTUFBTSxDQUFDWixrQkFBa0JnQixJQUFJZixNQUFNO29CQUMzRDtvQkFFQUksU0FBU0EsT0FBT08sTUFBTSxDQUFDQztvQkFFdkI7Z0JBQ0Y7WUFFQSxLQUFLO1lBQ0wsS0FBSztnQkFDSFYsSUFBSUksSUFBSSxDQUFDO29CQUNQQyxNQUFNSixNQUFNSSxJQUFJO29CQUNoQlMsU0FBUyxhQUFhYixRQUFRYyxRQUFRZCxNQUFNYSxPQUFPLElBQUk7b0JBQ3ZERSxZQUFZZixNQUFNZSxVQUFVO29CQUM1QmIsTUFBTUYsTUFBTUUsSUFBSTtnQkFDbEI7Z0JBRUE7WUFFRjtnQkFDRSxJQUFJLFVBQVVGLE9BQU87b0JBQ25CRCxJQUFJSSxJQUFJLENBQUM7d0JBQ1BDLE1BQU1KLE1BQU1JLElBQUk7d0JBQ2hCRixNQUFNRixNQUFNRSxJQUFJO29CQUNsQjtnQkFDRjtRQUNKO1FBRUEsT0FBT0Q7SUFDVCxHQUFHLEVBQUU7QUFDUCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"parseCookies.d.ts","sourceRoot":"","sources":["../../src/utilities/parseCookies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAY5E"}
1
+ {"version":3,"file":"parseCookies.d.ts","sourceRoot":"","sources":["../../src/utilities/parseCookies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAItC,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAoB5E"}
@@ -8,16 +8,24 @@ Object.defineProperty(exports, "default", {
8
8
  return parseCookies;
9
9
  }
10
10
  });
11
+ const _errors = require("../errors");
11
12
  function parseCookies(req) {
12
13
  const list = {};
13
14
  const rc = req.headers.cookie;
14
15
  if (rc) {
15
16
  rc.split(';').forEach((cookie)=>{
16
17
  const parts = cookie.split('=');
17
- list[parts.shift().trim()] = decodeURI(parts.join('='));
18
+ const key = parts.shift().trim();
19
+ const encodedValue = parts.join('=');
20
+ try {
21
+ const decodedValue = decodeURI(encodedValue);
22
+ list[key] = decodedValue;
23
+ } catch (e) {
24
+ throw new _errors.APIError(`Error decoding cookie value for key ${key}: ${e.message}`);
25
+ }
18
26
  });
19
27
  }
20
28
  return list;
21
29
  }
22
30
 
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGFyc2VDb29raWVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVxdWVzdCB9IGZyb20gJ2V4cHJlc3MnXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHBhcnNlQ29va2llcyhyZXE6IFJlcXVlc3QpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgY29uc3QgbGlzdCA9IHt9XG4gIGNvbnN0IHJjID0gcmVxLmhlYWRlcnMuY29va2llXG5cbiAgaWYgKHJjKSB7XG4gICAgcmMuc3BsaXQoJzsnKS5mb3JFYWNoKChjb29raWUpID0+IHtcbiAgICAgIGNvbnN0IHBhcnRzID0gY29va2llLnNwbGl0KCc9JylcbiAgICAgIGxpc3RbcGFydHMuc2hpZnQoKS50cmltKCldID0gZGVjb2RlVVJJKHBhcnRzLmpvaW4oJz0nKSlcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIGxpc3Rcbn1cbiJdLCJuYW1lcyI6WyJwYXJzZUNvb2tpZXMiLCJyZXEiLCJsaXN0IiwicmMiLCJoZWFkZXJzIiwiY29va2llIiwic3BsaXQiLCJmb3JFYWNoIiwicGFydHMiLCJzaGlmdCIsInRyaW0iLCJkZWNvZGVVUkkiLCJqb2luIl0sIm1hcHBpbmdzIjoiOzs7OytCQUVBOzs7ZUFBd0JBOzs7QUFBVCxTQUFTQSxhQUFhQyxHQUFZO0lBQy9DLE1BQU1DLE9BQU8sQ0FBQztJQUNkLE1BQU1DLEtBQUtGLElBQUlHLE9BQU8sQ0FBQ0MsTUFBTTtJQUU3QixJQUFJRixJQUFJO1FBQ05BLEdBQUdHLEtBQUssQ0FBQyxLQUFLQyxPQUFPLENBQUMsQ0FBQ0Y7WUFDckIsTUFBTUcsUUFBUUgsT0FBT0MsS0FBSyxDQUFDO1lBQzNCSixJQUFJLENBQUNNLE1BQU1DLEtBQUssR0FBR0MsSUFBSSxHQUFHLEdBQUdDLFVBQVVILE1BQU1JLElBQUksQ0FBQztRQUNwRDtJQUNGO0lBRUEsT0FBT1Y7QUFDVCJ9
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGFyc2VDb29raWVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVxdWVzdCB9IGZyb20gJ2V4cHJlc3MnXG5cbmltcG9ydCB7IEFQSUVycm9yIH0gZnJvbSAnLi4vZXJyb3JzJ1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBwYXJzZUNvb2tpZXMocmVxOiBSZXF1ZXN0KTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gIGNvbnN0IGxpc3QgPSB7fVxuICBjb25zdCByYyA9IHJlcS5oZWFkZXJzLmNvb2tpZVxuXG4gIGlmIChyYykge1xuICAgIHJjLnNwbGl0KCc7JykuZm9yRWFjaCgoY29va2llKSA9PiB7XG4gICAgICBjb25zdCBwYXJ0cyA9IGNvb2tpZS5zcGxpdCgnPScpXG4gICAgICBjb25zdCBrZXkgPSBwYXJ0cy5zaGlmdCgpLnRyaW0oKVxuICAgICAgY29uc3QgZW5jb2RlZFZhbHVlID0gcGFydHMuam9pbignPScpXG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGRlY29kZWRWYWx1ZSA9IGRlY29kZVVSSShlbmNvZGVkVmFsdWUpXG4gICAgICAgIGxpc3Rba2V5XSA9IGRlY29kZWRWYWx1ZVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0aHJvdyBuZXcgQVBJRXJyb3IoYEVycm9yIGRlY29kaW5nIGNvb2tpZSB2YWx1ZSBmb3Iga2V5ICR7a2V5fTogJHtlLm1lc3NhZ2V9YClcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIGxpc3Rcbn1cbiJdLCJuYW1lcyI6WyJwYXJzZUNvb2tpZXMiLCJyZXEiLCJsaXN0IiwicmMiLCJoZWFkZXJzIiwiY29va2llIiwic3BsaXQiLCJmb3JFYWNoIiwicGFydHMiLCJrZXkiLCJzaGlmdCIsInRyaW0iLCJlbmNvZGVkVmFsdWUiLCJqb2luIiwiZGVjb2RlZFZhbHVlIiwiZGVjb2RlVVJJIiwiZSIsIkFQSUVycm9yIiwibWVzc2FnZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFJQTs7O2VBQXdCQTs7O3dCQUZDO0FBRVYsU0FBU0EsYUFBYUMsR0FBWTtJQUMvQyxNQUFNQyxPQUFPLENBQUM7SUFDZCxNQUFNQyxLQUFLRixJQUFJRyxPQUFPLENBQUNDLE1BQU07SUFFN0IsSUFBSUYsSUFBSTtRQUNOQSxHQUFHRyxLQUFLLENBQUMsS0FBS0MsT0FBTyxDQUFDLENBQUNGO1lBQ3JCLE1BQU1HLFFBQVFILE9BQU9DLEtBQUssQ0FBQztZQUMzQixNQUFNRyxNQUFNRCxNQUFNRSxLQUFLLEdBQUdDLElBQUk7WUFDOUIsTUFBTUMsZUFBZUosTUFBTUssSUFBSSxDQUFDO1lBRWhDLElBQUk7Z0JBQ0YsTUFBTUMsZUFBZUMsVUFBVUg7Z0JBQy9CVixJQUFJLENBQUNPLElBQUksR0FBR0s7WUFDZCxFQUFFLE9BQU9FLEdBQUc7Z0JBQ1YsTUFBTSxJQUFJQyxnQkFBUSxDQUFDLENBQUMsb0NBQW9DLEVBQUVSLElBQUksRUFBRSxFQUFFTyxFQUFFRSxPQUFPLENBQUMsQ0FBQztZQUMvRTtRQUNGO0lBQ0Y7SUFFQSxPQUFPaEI7QUFDVCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"replaceWithDraftIfAvailable.d.ts","sourceRoot":"","sources":["../../../src/versions/drafts/replaceWithDraftIfAvailable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAC3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,cAAc,EAAS,MAAM,aAAa,CAAA;AAQxD,KAAK,SAAS,CAAC,CAAC,IAAI;IAClB,YAAY,EAAE,YAAY,CAAA;IAC1B,GAAG,EAAE,CAAC,CAAA;IACN,MAAM,EAAE,yBAAyB,GAAG,qBAAqB,CAAA;IACzD,UAAU,EAAE,YAAY,GAAG,QAAQ,CAAA;IACnC,cAAc,EAAE,OAAO,CAAA;IACvB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,QAAA,MAAM,2BAA2B,qGA4EhC,CAAA;AAED,eAAe,2BAA2B,CAAA"}
1
+ {"version":3,"file":"replaceWithDraftIfAvailable.d.ts","sourceRoot":"","sources":["../../../src/versions/drafts/replaceWithDraftIfAvailable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAC3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,cAAc,EAAS,MAAM,aAAa,CAAA;AAQxD,KAAK,SAAS,CAAC,CAAC,IAAI;IAClB,YAAY,EAAE,YAAY,CAAA;IAC1B,GAAG,EAAE,CAAC,CAAA;IACN,MAAM,EAAE,yBAAyB,GAAG,qBAAqB,CAAA;IACzD,UAAU,EAAE,YAAY,GAAG,QAAQ,CAAA;IACnC,cAAc,EAAE,OAAO,CAAA;IACvB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,QAAA,MAAM,2BAA2B,qGAiFhC,CAAA;AAED,eAAe,2BAA2B,CAAA"}
@@ -68,6 +68,10 @@ const replaceWithDraftIfAvailable = async ({ accessResult, doc, entity, entityTy
68
68
  }
69
69
  draft = JSON.parse(JSON.stringify(draft));
70
70
  draft = (0, _sanitizeInternalFields.default)(draft);
71
+ // Patch globalType onto version doc
72
+ if (entityType === 'global' && 'globalType' in doc) {
73
+ draft.version.globalType = doc.globalType;
74
+ }
71
75
  // Disregard all other draft content at this point,
72
76
  // Only interested in the version itself.
73
77
  // Operations will handle firing hooks, etc.
@@ -80,4 +84,4 @@ const replaceWithDraftIfAvailable = async ({ accessResult, doc, entity, entityTy
80
84
  };
81
85
  const _default = replaceWithDraftIfAvailable;
82
86
 
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJzaW9ucy9kcmFmdHMvcmVwbGFjZVdpdGhEcmFmdElmQXZhaWxhYmxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZywgVHlwZVdpdGhJRCB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgQWNjZXNzUmVzdWx0IH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBGaW5kR2xvYmFsVmVyc2lvbnNBcmdzLCBGaW5kVmVyc2lvbnNBcmdzIH0gZnJvbSAnLi4vLi4vZGF0YWJhc2UvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZEdsb2JhbENvbmZpZyB9IGZyb20gJy4uLy4uL2dsb2JhbHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCwgV2hlcmUgfSBmcm9tICcuLi8uLi90eXBlcydcblxuaW1wb3J0IHsgaGFzV2hlcmVBY2Nlc3NSZXN1bHQgfSBmcm9tICcuLi8uLi9hdXRoJ1xuaW1wb3J0IHsgY29tYmluZVF1ZXJpZXMgfSBmcm9tICcuLi8uLi9kYXRhYmFzZS9jb21iaW5lUXVlcmllcydcbmltcG9ydCB7IGRvY0hhc1RpbWVzdGFtcHMgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCBzYW5pdGl6ZUludGVybmFsRmllbGRzIGZyb20gJy4uLy4uL3V0aWxpdGllcy9zYW5pdGl6ZUludGVybmFsRmllbGRzJ1xuaW1wb3J0IHsgYXBwZW5kVmVyc2lvblRvUXVlcnlLZXkgfSBmcm9tICcuL2FwcGVuZFZlcnNpb25Ub1F1ZXJ5S2V5J1xuXG50eXBlIEFyZ3VtZW50czxUPiA9IHtcbiAgYWNjZXNzUmVzdWx0OiBBY2Nlc3NSZXN1bHRcbiAgZG9jOiBUXG4gIGVudGl0eTogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB8IFNhbml0aXplZEdsb2JhbENvbmZpZ1xuICBlbnRpdHlUeXBlOiAnY29sbGVjdGlvbicgfCAnZ2xvYmFsJ1xuICBvdmVycmlkZUFjY2VzczogYm9vbGVhblxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG59XG5cbmNvbnN0IHJlcGxhY2VXaXRoRHJhZnRJZkF2YWlsYWJsZSA9IGFzeW5jIDxUIGV4dGVuZHMgVHlwZVdpdGhJRD4oe1xuICBhY2Nlc3NSZXN1bHQsXG4gIGRvYyxcbiAgZW50aXR5LFxuICBlbnRpdHlUeXBlLFxuICByZXEsXG59OiBBcmd1bWVudHM8VD4pOiBQcm9taXNlPFQ+ID0+IHtcbiAgY29uc3QgeyBsb2NhbGUgfSA9IHJlcVxuXG4gIGNvbnN0IHF1ZXJ5VG9CdWlsZDogV2hlcmUgPSB7XG4gICAgYW5kOiBbXG4gICAgICB7XG4gICAgICAgICd2ZXJzaW9uLl9zdGF0dXMnOiB7XG4gICAgICAgICAgZXF1YWxzOiAnZHJhZnQnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICB9XG5cbiAgaWYgKGVudGl0eVR5cGUgPT09ICdjb2xsZWN0aW9uJykge1xuICAgIHF1ZXJ5VG9CdWlsZC5hbmQucHVzaCh7XG4gICAgICBwYXJlbnQ6IHtcbiAgICAgICAgZXF1YWxzOiBkb2MuaWQsXG4gICAgICB9LFxuICAgIH0pXG4gIH1cblxuICBpZiAoZG9jSGFzVGltZXN0YW1wcyhkb2MpKSB7XG4gICAgcXVlcnlUb0J1aWxkLmFuZC5wdXNoKHtcbiAgICAgIHVwZGF0ZWRBdDoge1xuICAgICAgICBncmVhdGVyX3RoYW46IGRvYy51cGRhdGVkQXQsXG4gICAgICB9LFxuICAgIH0pXG4gIH1cblxuICBsZXQgdmVyc2lvbkFjY2Vzc1Jlc3VsdFxuXG4gIGlmIChoYXNXaGVyZUFjY2Vzc1Jlc3VsdChhY2Nlc3NSZXN1bHQpKSB7XG4gICAgdmVyc2lvbkFjY2Vzc1Jlc3VsdCA9IGFwcGVuZFZlcnNpb25Ub1F1ZXJ5S2V5KGFjY2Vzc1Jlc3VsdClcbiAgfVxuXG4gIGNvbnN0IGZpbmRWZXJzaW9uc0FyZ3M6IEZpbmRWZXJzaW9uc0FyZ3MgJiBGaW5kR2xvYmFsVmVyc2lvbnNBcmdzID0ge1xuICAgIGNvbGxlY3Rpb246IGVudGl0eS5zbHVnLFxuICAgIGdsb2JhbDogZW50aXR5LnNsdWcsXG4gICAgbGltaXQ6IDEsXG4gICAgbG9jYWxlLFxuICAgIHJlcSxcbiAgICBzb3J0OiAnLXVwZGF0ZWRBdCcsXG4gICAgd2hlcmU6IGNvbWJpbmVRdWVyaWVzKHF1ZXJ5VG9CdWlsZCwgdmVyc2lvbkFjY2Vzc1Jlc3VsdCksXG4gIH1cblxuICBsZXQgdmVyc2lvbkRvY3NcbiAgaWYgKGVudGl0eVR5cGUgPT09ICdnbG9iYWwnKSB7XG4gICAgdmVyc2lvbkRvY3MgPSAoYXdhaXQgcmVxLnBheWxvYWQuZGIuZmluZEdsb2JhbFZlcnNpb25zPFQ+KGZpbmRWZXJzaW9uc0FyZ3MpKS5kb2NzXG4gIH0gZWxzZSB7XG4gICAgdmVyc2lvbkRvY3MgPSAoYXdhaXQgcmVxLnBheWxvYWQuZGIuZmluZFZlcnNpb25zPFQ+KGZpbmRWZXJzaW9uc0FyZ3MpKS5kb2NzXG4gIH1cblxuICBsZXQgZHJhZnQgPSB2ZXJzaW9uRG9jc1swXVxuXG4gIGlmICghZHJhZnQpIHtcbiAgICByZXR1cm4gZG9jXG4gIH1cblxuICBkcmFmdCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZHJhZnQpKVxuICBkcmFmdCA9IHNhbml0aXplSW50ZXJuYWxGaWVsZHMoZHJhZnQpXG5cbiAgLy8gRGlzcmVnYXJkIGFsbCBvdGhlciBkcmFmdCBjb250ZW50IGF0IHRoaXMgcG9pbnQsXG4gIC8vIE9ubHkgaW50ZXJlc3RlZCBpbiB0aGUgdmVyc2lvbiBpdHNlbGYuXG4gIC8vIE9wZXJhdGlvbnMgd2lsbCBoYW5kbGUgZmlyaW5nIGhvb2tzLCBldGMuXG4gIHJldHVybiB7XG4gICAgaWQ6IGRvYy5pZCxcbiAgICAuLi5kcmFmdC52ZXJzaW9uLFxuICAgIGNyZWF0ZWRBdDogZHJhZnQuY3JlYXRlZEF0LFxuICAgIHVwZGF0ZWRBdDogZHJhZnQudXBkYXRlZEF0LFxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHJlcGxhY2VXaXRoRHJhZnRJZkF2YWlsYWJsZVxuIl0sIm5hbWVzIjpbInJlcGxhY2VXaXRoRHJhZnRJZkF2YWlsYWJsZSIsImFjY2Vzc1Jlc3VsdCIsImRvYyIsImVudGl0eSIsImVudGl0eVR5cGUiLCJyZXEiLCJsb2NhbGUiLCJxdWVyeVRvQnVpbGQiLCJhbmQiLCJlcXVhbHMiLCJwdXNoIiwicGFyZW50IiwiaWQiLCJkb2NIYXNUaW1lc3RhbXBzIiwidXBkYXRlZEF0IiwiZ3JlYXRlcl90aGFuIiwidmVyc2lvbkFjY2Vzc1Jlc3VsdCIsImhhc1doZXJlQWNjZXNzUmVzdWx0IiwiYXBwZW5kVmVyc2lvblRvUXVlcnlLZXkiLCJmaW5kVmVyc2lvbnNBcmdzIiwiY29sbGVjdGlvbiIsInNsdWciLCJnbG9iYWwiLCJsaW1pdCIsInNvcnQiLCJ3aGVyZSIsImNvbWJpbmVRdWVyaWVzIiwidmVyc2lvbkRvY3MiLCJwYXlsb2FkIiwiZGIiLCJmaW5kR2xvYmFsVmVyc2lvbnMiLCJkb2NzIiwiZmluZFZlcnNpb25zIiwiZHJhZnQiLCJKU09OIiwicGFyc2UiLCJzdHJpbmdpZnkiLCJzYW5pdGl6ZUludGVybmFsRmllbGRzIiwidmVyc2lvbiIsImNyZWF0ZWRBdCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFtR0E7OztlQUFBOzs7c0JBN0ZxQztnQ0FDTjt1QkFDRTsrRUFDRTt5Q0FDSzs7Ozs7O0FBV3hDLE1BQU1BLDhCQUE4QixPQUE2QixFQUMvREMsWUFBWSxFQUNaQyxHQUFHLEVBQ0hDLE1BQU0sRUFDTkMsVUFBVSxFQUNWQyxHQUFHLEVBQ1U7SUFDYixNQUFNLEVBQUVDLE1BQU0sRUFBRSxHQUFHRDtJQUVuQixNQUFNRSxlQUFzQjtRQUMxQkMsS0FBSztZQUNIO2dCQUNFLG1CQUFtQjtvQkFDakJDLFFBQVE7Z0JBQ1Y7WUFDRjtTQUNEO0lBQ0g7SUFFQSxJQUFJTCxlQUFlLGNBQWM7UUFDL0JHLGFBQWFDLEdBQUcsQ0FBQ0UsSUFBSSxDQUFDO1lBQ3BCQyxRQUFRO2dCQUNORixRQUFRUCxJQUFJVSxFQUFFO1lBQ2hCO1FBQ0Y7SUFDRjtJQUVBLElBQUlDLElBQUFBLHVCQUFnQixFQUFDWCxNQUFNO1FBQ3pCSyxhQUFhQyxHQUFHLENBQUNFLElBQUksQ0FBQztZQUNwQkksV0FBVztnQkFDVEMsY0FBY2IsSUFBSVksU0FBUztZQUM3QjtRQUNGO0lBQ0Y7SUFFQSxJQUFJRTtJQUVKLElBQUlDLElBQUFBLDBCQUFvQixFQUFDaEIsZUFBZTtRQUN0Q2Usc0JBQXNCRSxJQUFBQSxnREFBdUIsRUFBQ2pCO0lBQ2hEO0lBRUEsTUFBTWtCLG1CQUE4RDtRQUNsRUMsWUFBWWpCLE9BQU9rQixJQUFJO1FBQ3ZCQyxRQUFRbkIsT0FBT2tCLElBQUk7UUFDbkJFLE9BQU87UUFDUGpCO1FBQ0FEO1FBQ0FtQixNQUFNO1FBQ05DLE9BQU9DLElBQUFBLDhCQUFjLEVBQUNuQixjQUFjUztJQUN0QztJQUVBLElBQUlXO0lBQ0osSUFBSXZCLGVBQWUsVUFBVTtRQUMzQnVCLGNBQWMsQUFBQyxDQUFBLE1BQU10QixJQUFJdUIsT0FBTyxDQUFDQyxFQUFFLENBQUNDLGtCQUFrQixDQUFJWCxpQkFBZ0IsRUFBR1ksSUFBSTtJQUNuRixPQUFPO1FBQ0xKLGNBQWMsQUFBQyxDQUFBLE1BQU10QixJQUFJdUIsT0FBTyxDQUFDQyxFQUFFLENBQUNHLFlBQVksQ0FBSWIsaUJBQWdCLEVBQUdZLElBQUk7SUFDN0U7SUFFQSxJQUFJRSxRQUFRTixXQUFXLENBQUMsRUFBRTtJQUUxQixJQUFJLENBQUNNLE9BQU87UUFDVixPQUFPL0I7SUFDVDtJQUVBK0IsUUFBUUMsS0FBS0MsS0FBSyxDQUFDRCxLQUFLRSxTQUFTLENBQUNIO0lBQ2xDQSxRQUFRSSxJQUFBQSwrQkFBc0IsRUFBQ0o7SUFFL0IsbURBQW1EO0lBQ25ELHlDQUF5QztJQUN6Qyw0Q0FBNEM7SUFDNUMsT0FBTztRQUNMckIsSUFBSVYsSUFBSVUsRUFBRTtRQUNWLEdBQUdxQixNQUFNSyxPQUFPO1FBQ2hCQyxXQUFXTixNQUFNTSxTQUFTO1FBQzFCekIsV0FBV21CLE1BQU1uQixTQUFTO0lBQzVCO0FBQ0Y7TUFFQSxXQUFlZCJ9
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJzaW9ucy9kcmFmdHMvcmVwbGFjZVdpdGhEcmFmdElmQXZhaWxhYmxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZywgVHlwZVdpdGhJRCB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgQWNjZXNzUmVzdWx0IH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBGaW5kR2xvYmFsVmVyc2lvbnNBcmdzLCBGaW5kVmVyc2lvbnNBcmdzIH0gZnJvbSAnLi4vLi4vZGF0YWJhc2UvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZEdsb2JhbENvbmZpZyB9IGZyb20gJy4uLy4uL2dsb2JhbHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCwgV2hlcmUgfSBmcm9tICcuLi8uLi90eXBlcydcblxuaW1wb3J0IHsgaGFzV2hlcmVBY2Nlc3NSZXN1bHQgfSBmcm9tICcuLi8uLi9hdXRoJ1xuaW1wb3J0IHsgY29tYmluZVF1ZXJpZXMgfSBmcm9tICcuLi8uLi9kYXRhYmFzZS9jb21iaW5lUXVlcmllcydcbmltcG9ydCB7IGRvY0hhc1RpbWVzdGFtcHMgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCBzYW5pdGl6ZUludGVybmFsRmllbGRzIGZyb20gJy4uLy4uL3V0aWxpdGllcy9zYW5pdGl6ZUludGVybmFsRmllbGRzJ1xuaW1wb3J0IHsgYXBwZW5kVmVyc2lvblRvUXVlcnlLZXkgfSBmcm9tICcuL2FwcGVuZFZlcnNpb25Ub1F1ZXJ5S2V5J1xuXG50eXBlIEFyZ3VtZW50czxUPiA9IHtcbiAgYWNjZXNzUmVzdWx0OiBBY2Nlc3NSZXN1bHRcbiAgZG9jOiBUXG4gIGVudGl0eTogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB8IFNhbml0aXplZEdsb2JhbENvbmZpZ1xuICBlbnRpdHlUeXBlOiAnY29sbGVjdGlvbicgfCAnZ2xvYmFsJ1xuICBvdmVycmlkZUFjY2VzczogYm9vbGVhblxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG59XG5cbmNvbnN0IHJlcGxhY2VXaXRoRHJhZnRJZkF2YWlsYWJsZSA9IGFzeW5jIDxUIGV4dGVuZHMgVHlwZVdpdGhJRD4oe1xuICBhY2Nlc3NSZXN1bHQsXG4gIGRvYyxcbiAgZW50aXR5LFxuICBlbnRpdHlUeXBlLFxuICByZXEsXG59OiBBcmd1bWVudHM8VD4pOiBQcm9taXNlPFQ+ID0+IHtcbiAgY29uc3QgeyBsb2NhbGUgfSA9IHJlcVxuXG4gIGNvbnN0IHF1ZXJ5VG9CdWlsZDogV2hlcmUgPSB7XG4gICAgYW5kOiBbXG4gICAgICB7XG4gICAgICAgICd2ZXJzaW9uLl9zdGF0dXMnOiB7XG4gICAgICAgICAgZXF1YWxzOiAnZHJhZnQnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICB9XG5cbiAgaWYgKGVudGl0eVR5cGUgPT09ICdjb2xsZWN0aW9uJykge1xuICAgIHF1ZXJ5VG9CdWlsZC5hbmQucHVzaCh7XG4gICAgICBwYXJlbnQ6IHtcbiAgICAgICAgZXF1YWxzOiBkb2MuaWQsXG4gICAgICB9LFxuICAgIH0pXG4gIH1cblxuICBpZiAoZG9jSGFzVGltZXN0YW1wcyhkb2MpKSB7XG4gICAgcXVlcnlUb0J1aWxkLmFuZC5wdXNoKHtcbiAgICAgIHVwZGF0ZWRBdDoge1xuICAgICAgICBncmVhdGVyX3RoYW46IGRvYy51cGRhdGVkQXQsXG4gICAgICB9LFxuICAgIH0pXG4gIH1cblxuICBsZXQgdmVyc2lvbkFjY2Vzc1Jlc3VsdFxuXG4gIGlmIChoYXNXaGVyZUFjY2Vzc1Jlc3VsdChhY2Nlc3NSZXN1bHQpKSB7XG4gICAgdmVyc2lvbkFjY2Vzc1Jlc3VsdCA9IGFwcGVuZFZlcnNpb25Ub1F1ZXJ5S2V5KGFjY2Vzc1Jlc3VsdClcbiAgfVxuXG4gIGNvbnN0IGZpbmRWZXJzaW9uc0FyZ3M6IEZpbmRWZXJzaW9uc0FyZ3MgJiBGaW5kR2xvYmFsVmVyc2lvbnNBcmdzID0ge1xuICAgIGNvbGxlY3Rpb246IGVudGl0eS5zbHVnLFxuICAgIGdsb2JhbDogZW50aXR5LnNsdWcsXG4gICAgbGltaXQ6IDEsXG4gICAgbG9jYWxlLFxuICAgIHJlcSxcbiAgICBzb3J0OiAnLXVwZGF0ZWRBdCcsXG4gICAgd2hlcmU6IGNvbWJpbmVRdWVyaWVzKHF1ZXJ5VG9CdWlsZCwgdmVyc2lvbkFjY2Vzc1Jlc3VsdCksXG4gIH1cblxuICBsZXQgdmVyc2lvbkRvY3NcbiAgaWYgKGVudGl0eVR5cGUgPT09ICdnbG9iYWwnKSB7XG4gICAgdmVyc2lvbkRvY3MgPSAoYXdhaXQgcmVxLnBheWxvYWQuZGIuZmluZEdsb2JhbFZlcnNpb25zPFQ+KGZpbmRWZXJzaW9uc0FyZ3MpKS5kb2NzXG4gIH0gZWxzZSB7XG4gICAgdmVyc2lvbkRvY3MgPSAoYXdhaXQgcmVxLnBheWxvYWQuZGIuZmluZFZlcnNpb25zPFQ+KGZpbmRWZXJzaW9uc0FyZ3MpKS5kb2NzXG4gIH1cblxuICBsZXQgZHJhZnQgPSB2ZXJzaW9uRG9jc1swXVxuXG4gIGlmICghZHJhZnQpIHtcbiAgICByZXR1cm4gZG9jXG4gIH1cblxuICBkcmFmdCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZHJhZnQpKVxuICBkcmFmdCA9IHNhbml0aXplSW50ZXJuYWxGaWVsZHMoZHJhZnQpXG5cbiAgLy8gUGF0Y2ggZ2xvYmFsVHlwZSBvbnRvIHZlcnNpb24gZG9jXG4gIGlmIChlbnRpdHlUeXBlID09PSAnZ2xvYmFsJyAmJiAnZ2xvYmFsVHlwZScgaW4gZG9jKSB7XG4gICAgZHJhZnQudmVyc2lvbi5nbG9iYWxUeXBlID0gZG9jLmdsb2JhbFR5cGVcbiAgfVxuXG4gIC8vIERpc3JlZ2FyZCBhbGwgb3RoZXIgZHJhZnQgY29udGVudCBhdCB0aGlzIHBvaW50LFxuICAvLyBPbmx5IGludGVyZXN0ZWQgaW4gdGhlIHZlcnNpb24gaXRzZWxmLlxuICAvLyBPcGVyYXRpb25zIHdpbGwgaGFuZGxlIGZpcmluZyBob29rcywgZXRjLlxuICByZXR1cm4ge1xuICAgIGlkOiBkb2MuaWQsXG4gICAgLi4uZHJhZnQudmVyc2lvbixcbiAgICBjcmVhdGVkQXQ6IGRyYWZ0LmNyZWF0ZWRBdCxcbiAgICB1cGRhdGVkQXQ6IGRyYWZ0LnVwZGF0ZWRBdCxcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCByZXBsYWNlV2l0aERyYWZ0SWZBdmFpbGFibGVcbiJdLCJuYW1lcyI6WyJyZXBsYWNlV2l0aERyYWZ0SWZBdmFpbGFibGUiLCJhY2Nlc3NSZXN1bHQiLCJkb2MiLCJlbnRpdHkiLCJlbnRpdHlUeXBlIiwicmVxIiwibG9jYWxlIiwicXVlcnlUb0J1aWxkIiwiYW5kIiwiZXF1YWxzIiwicHVzaCIsInBhcmVudCIsImlkIiwiZG9jSGFzVGltZXN0YW1wcyIsInVwZGF0ZWRBdCIsImdyZWF0ZXJfdGhhbiIsInZlcnNpb25BY2Nlc3NSZXN1bHQiLCJoYXNXaGVyZUFjY2Vzc1Jlc3VsdCIsImFwcGVuZFZlcnNpb25Ub1F1ZXJ5S2V5IiwiZmluZFZlcnNpb25zQXJncyIsImNvbGxlY3Rpb24iLCJzbHVnIiwiZ2xvYmFsIiwibGltaXQiLCJzb3J0Iiwid2hlcmUiLCJjb21iaW5lUXVlcmllcyIsInZlcnNpb25Eb2NzIiwicGF5bG9hZCIsImRiIiwiZmluZEdsb2JhbFZlcnNpb25zIiwiZG9jcyIsImZpbmRWZXJzaW9ucyIsImRyYWZ0IiwiSlNPTiIsInBhcnNlIiwic3RyaW5naWZ5Iiwic2FuaXRpemVJbnRlcm5hbEZpZWxkcyIsInZlcnNpb24iLCJnbG9iYWxUeXBlIiwiY3JlYXRlZEF0Il0sIm1hcHBpbmdzIjoiOzs7OytCQXdHQTs7O2VBQUE7OztzQkFsR3FDO2dDQUNOO3VCQUNFOytFQUNFO3lDQUNLOzs7Ozs7QUFXeEMsTUFBTUEsOEJBQThCLE9BQTZCLEVBQy9EQyxZQUFZLEVBQ1pDLEdBQUcsRUFDSEMsTUFBTSxFQUNOQyxVQUFVLEVBQ1ZDLEdBQUcsRUFDVTtJQUNiLE1BQU0sRUFBRUMsTUFBTSxFQUFFLEdBQUdEO0lBRW5CLE1BQU1FLGVBQXNCO1FBQzFCQyxLQUFLO1lBQ0g7Z0JBQ0UsbUJBQW1CO29CQUNqQkMsUUFBUTtnQkFDVjtZQUNGO1NBQ0Q7SUFDSDtJQUVBLElBQUlMLGVBQWUsY0FBYztRQUMvQkcsYUFBYUMsR0FBRyxDQUFDRSxJQUFJLENBQUM7WUFDcEJDLFFBQVE7Z0JBQ05GLFFBQVFQLElBQUlVLEVBQUU7WUFDaEI7UUFDRjtJQUNGO0lBRUEsSUFBSUMsSUFBQUEsdUJBQWdCLEVBQUNYLE1BQU07UUFDekJLLGFBQWFDLEdBQUcsQ0FBQ0UsSUFBSSxDQUFDO1lBQ3BCSSxXQUFXO2dCQUNUQyxjQUFjYixJQUFJWSxTQUFTO1lBQzdCO1FBQ0Y7SUFDRjtJQUVBLElBQUlFO0lBRUosSUFBSUMsSUFBQUEsMEJBQW9CLEVBQUNoQixlQUFlO1FBQ3RDZSxzQkFBc0JFLElBQUFBLGdEQUF1QixFQUFDakI7SUFDaEQ7SUFFQSxNQUFNa0IsbUJBQThEO1FBQ2xFQyxZQUFZakIsT0FBT2tCLElBQUk7UUFDdkJDLFFBQVFuQixPQUFPa0IsSUFBSTtRQUNuQkUsT0FBTztRQUNQakI7UUFDQUQ7UUFDQW1CLE1BQU07UUFDTkMsT0FBT0MsSUFBQUEsOEJBQWMsRUFBQ25CLGNBQWNTO0lBQ3RDO0lBRUEsSUFBSVc7SUFDSixJQUFJdkIsZUFBZSxVQUFVO1FBQzNCdUIsY0FBYyxBQUFDLENBQUEsTUFBTXRCLElBQUl1QixPQUFPLENBQUNDLEVBQUUsQ0FBQ0Msa0JBQWtCLENBQUlYLGlCQUFnQixFQUFHWSxJQUFJO0lBQ25GLE9BQU87UUFDTEosY0FBYyxBQUFDLENBQUEsTUFBTXRCLElBQUl1QixPQUFPLENBQUNDLEVBQUUsQ0FBQ0csWUFBWSxDQUFJYixpQkFBZ0IsRUFBR1ksSUFBSTtJQUM3RTtJQUVBLElBQUlFLFFBQVFOLFdBQVcsQ0FBQyxFQUFFO0lBRTFCLElBQUksQ0FBQ00sT0FBTztRQUNWLE9BQU8vQjtJQUNUO0lBRUErQixRQUFRQyxLQUFLQyxLQUFLLENBQUNELEtBQUtFLFNBQVMsQ0FBQ0g7SUFDbENBLFFBQVFJLElBQUFBLCtCQUFzQixFQUFDSjtJQUUvQixvQ0FBb0M7SUFDcEMsSUFBSTdCLGVBQWUsWUFBWSxnQkFBZ0JGLEtBQUs7UUFDbEQrQixNQUFNSyxPQUFPLENBQUNDLFVBQVUsR0FBR3JDLElBQUlxQyxVQUFVO0lBQzNDO0lBRUEsbURBQW1EO0lBQ25ELHlDQUF5QztJQUN6Qyw0Q0FBNEM7SUFDNUMsT0FBTztRQUNMM0IsSUFBSVYsSUFBSVUsRUFBRTtRQUNWLEdBQUdxQixNQUFNSyxPQUFPO1FBQ2hCRSxXQUFXUCxNQUFNTyxTQUFTO1FBQzFCMUIsV0FBV21CLE1BQU1uQixTQUFTO0lBQzVCO0FBQ0Y7TUFFQSxXQUFlZCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"saveVersion.d.ts","sourceRoot":"","sources":["../../src/versions/saveVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAMzC,KAAK,IAAI,GAAG;IACV,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,yBAAyB,CAAA;IACtC,cAAc,EAAE,GAAG,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,cAAc,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,WAAW,oFASrB,IAAI,KAAG,QAAQ,UAAU,CAmI3B,CAAA"}
1
+ {"version":3,"file":"saveVersion.d.ts","sourceRoot":"","sources":["../../src/versions/saveVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAMzC,KAAK,IAAI,GAAG;IACV,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,yBAAyB,CAAA;IACtC,cAAc,EAAE,GAAG,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,cAAc,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,WAAW,oFASrB,IAAI,KAAG,QAAQ,UAAU,CAiI3B,CAAA"}
@@ -27,22 +27,20 @@ const saveVersion = async ({ id, autosave, collection, docWithLocales: doc, draf
27
27
  if (autosave) {
28
28
  let docs;
29
29
  const findVersionArgs = {
30
- collectionSlug: collection.slug,
31
- globalSlug: collection.slug,
32
30
  limit: 1,
33
31
  req,
34
- sort: '-updatedAt',
35
- where: {
36
- parent: {
37
- equals: id
38
- }
39
- }
32
+ sort: '-updatedAt'
40
33
  };
41
34
  if (collection) {
42
35
  ({ docs } = await payload.db.findVersions({
43
36
  ...findVersionArgs,
44
37
  collection: collection.slug,
45
- req
38
+ req,
39
+ where: {
40
+ parent: {
41
+ equals: id
42
+ }
43
+ }
46
44
  }));
47
45
  } else {
48
46
  ({ docs } = await payload.db.findGlobalVersions({
@@ -132,4 +130,4 @@ const saveVersion = async ({ id, autosave, collection, docWithLocales: doc, draf
132
130
  return createdVersion;
133
131
  };
134
132
 
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJzaW9ucy9zYXZlVmVyc2lvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcsIFR5cGVXaXRoSUQgfSBmcm9tICcuLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vZXhwcmVzcy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi4vZ2xvYmFscy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWQgfSBmcm9tICcuLi9wYXlsb2FkJ1xuXG5pbXBvcnQgeyBkZWVwQ29weU9iamVjdCB9IGZyb20gJy4uL3V0aWxpdGllcy9kZWVwQ29weU9iamVjdCdcbmltcG9ydCBzYW5pdGl6ZUludGVybmFsRmllbGRzIGZyb20gJy4uL3V0aWxpdGllcy9zYW5pdGl6ZUludGVybmFsRmllbGRzJ1xuaW1wb3J0IHsgZW5mb3JjZU1heFZlcnNpb25zIH0gZnJvbSAnLi9lbmZvcmNlTWF4VmVyc2lvbnMnXG5cbnR5cGUgQXJncyA9IHtcbiAgYXV0b3NhdmU/OiBib29sZWFuXG4gIGNvbGxlY3Rpb24/OiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnXG4gIGRvY1dpdGhMb2NhbGVzOiBhbnlcbiAgZHJhZnQ/OiBib29sZWFuXG4gIGdsb2JhbD86IFNhbml0aXplZEdsb2JhbENvbmZpZ1xuICBpZD86IG51bWJlciB8IHN0cmluZ1xuICBwYXlsb2FkOiBQYXlsb2FkXG4gIHJlcT86IFBheWxvYWRSZXF1ZXN0XG59XG5cbmV4cG9ydCBjb25zdCBzYXZlVmVyc2lvbiA9IGFzeW5jICh7XG4gIGlkLFxuICBhdXRvc2F2ZSxcbiAgY29sbGVjdGlvbixcbiAgZG9jV2l0aExvY2FsZXM6IGRvYyxcbiAgZHJhZnQsXG4gIGdsb2JhbCxcbiAgcGF5bG9hZCxcbiAgcmVxLFxufTogQXJncyk6IFByb21pc2U8VHlwZVdpdGhJRD4gPT4ge1xuICBsZXQgcmVzdWx0XG4gIGxldCBjcmVhdGVOZXdWZXJzaW9uID0gdHJ1ZVxuICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKClcbiAgY29uc3QgdmVyc2lvbkRhdGEgPSBkZWVwQ29weU9iamVjdChkb2MpXG4gIGlmIChkcmFmdCkgdmVyc2lvbkRhdGEuX3N0YXR1cyA9ICdkcmFmdCdcbiAgaWYgKHZlcnNpb25EYXRhLl9pZCkgZGVsZXRlIHZlcnNpb25EYXRhLl9pZFxuXG4gIHRyeSB7XG4gICAgaWYgKGF1dG9zYXZlKSB7XG4gICAgICBsZXQgZG9jc1xuICAgICAgY29uc3QgZmluZFZlcnNpb25BcmdzID0ge1xuICAgICAgICBjb2xsZWN0aW9uU2x1ZzogY29sbGVjdGlvbi5zbHVnLFxuICAgICAgICBnbG9iYWxTbHVnOiBjb2xsZWN0aW9uLnNsdWcsXG4gICAgICAgIGxpbWl0OiAxLFxuICAgICAgICByZXEsXG4gICAgICAgIHNvcnQ6ICctdXBkYXRlZEF0JyxcbiAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICBwYXJlbnQ6IHtcbiAgICAgICAgICAgIGVxdWFsczogaWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICAgIGlmIChjb2xsZWN0aW9uKSB7XG4gICAgICAgIDsoeyBkb2NzIH0gPSBhd2FpdCBwYXlsb2FkLmRiLmZpbmRWZXJzaW9ucyh7XG4gICAgICAgICAgLi4uZmluZFZlcnNpb25BcmdzLFxuICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb24uc2x1ZyxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgOyh7IGRvY3MgfSA9IGF3YWl0IHBheWxvYWQuZGIuZmluZEdsb2JhbFZlcnNpb25zKHtcbiAgICAgICAgICAuLi5maW5kVmVyc2lvbkFyZ3MsXG4gICAgICAgICAgZ2xvYmFsOiBnbG9iYWwuc2x1ZyxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pKVxuICAgICAgfVxuICAgICAgY29uc3QgW2xhdGVzdFZlcnNpb25dID0gZG9jc1xuXG4gICAgICAvLyBvdmVyd3JpdGUgdGhlIGxhdGVzdCB2ZXJzaW9uIGlmIGl0J3Mgc2V0IHRvIGF1dG9zYXZlXG4gICAgICBpZiAobGF0ZXN0VmVyc2lvbj8uYXV0b3NhdmUgPT09IHRydWUpIHtcbiAgICAgICAgY3JlYXRlTmV3VmVyc2lvbiA9IGZhbHNlXG5cbiAgICAgICAgY29uc3QgZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gICAgICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZShsYXRlc3RWZXJzaW9uLmNyZWF0ZWRBdCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICB1cGRhdGVkQXQ6IGRyYWZ0ID8gbm93IDogbmV3IERhdGUoZG9jLnVwZGF0ZWRBdCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICB2ZXJzaW9uOiB2ZXJzaW9uRGF0YSxcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHVwZGF0ZVZlcnNpb25BcmdzID0ge1xuICAgICAgICAgIGlkOiBsYXRlc3RWZXJzaW9uLmlkLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgICB2ZXJzaW9uRGF0YTogZGF0YSBhcyBUeXBlV2l0aElELFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbGxlY3Rpb24pIHtcbiAgICAgICAgICByZXN1bHQgPSBhd2FpdCBwYXlsb2FkLmRiLnVwZGF0ZVZlcnNpb24oe1xuICAgICAgICAgICAgLi4udXBkYXRlVmVyc2lvbkFyZ3MsXG4gICAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uLnNsdWcsXG4gICAgICAgICAgICByZXEsXG4gICAgICAgICAgfSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXN1bHQgPSBhd2FpdCBwYXlsb2FkLmRiLnVwZGF0ZUdsb2JhbFZlcnNpb24oe1xuICAgICAgICAgICAgLi4udXBkYXRlVmVyc2lvbkFyZ3MsXG4gICAgICAgICAgICBnbG9iYWw6IGdsb2JhbC5zbHVnLFxuICAgICAgICAgICAgcmVxLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY3JlYXRlTmV3VmVyc2lvbikge1xuICAgICAgaWYgKGNvbGxlY3Rpb24pIHtcbiAgICAgICAgcmVzdWx0ID0gYXdhaXQgcGF5bG9hZC5kYi5jcmVhdGVWZXJzaW9uKHtcbiAgICAgICAgICBhdXRvc2F2ZTogQm9vbGVhbihhdXRvc2F2ZSksXG4gICAgICAgICAgY29sbGVjdGlvblNsdWc6IGNvbGxlY3Rpb24uc2x1ZyxcbiAgICAgICAgICBjcmVhdGVkQXQ6IGRvYz8uY3JlYXRlZEF0ID8gbmV3IERhdGUoZG9jLmNyZWF0ZWRBdCkudG9JU09TdHJpbmcoKSA6IG5vdyxcbiAgICAgICAgICBwYXJlbnQ6IGNvbGxlY3Rpb24gPyBpZCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICByZXEsXG4gICAgICAgICAgdXBkYXRlZEF0OiBkcmFmdCA/IG5vdyA6IG5ldyBEYXRlKGRvYy51cGRhdGVkQXQpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgICAgdmVyc2lvbkRhdGEsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIGlmIChnbG9iYWwpIHtcbiAgICAgICAgcmVzdWx0ID0gYXdhaXQgcGF5bG9hZC5kYi5jcmVhdGVHbG9iYWxWZXJzaW9uKHtcbiAgICAgICAgICBhdXRvc2F2ZTogQm9vbGVhbihhdXRvc2F2ZSksXG4gICAgICAgICAgY3JlYXRlZEF0OiBkb2M/LmNyZWF0ZWRBdCA/IG5ldyBEYXRlKGRvYy5jcmVhdGVkQXQpLnRvSVNPU3RyaW5nKCkgOiBub3csXG4gICAgICAgICAgZ2xvYmFsU2x1ZzogZ2xvYmFsLnNsdWcsXG4gICAgICAgICAgcGFyZW50OiBjb2xsZWN0aW9uID8gaWQgOiB1bmRlZmluZWQsXG4gICAgICAgICAgcmVxLFxuICAgICAgICAgIHVwZGF0ZWRBdDogZHJhZnQgPyBub3cgOiBuZXcgRGF0ZShkb2MudXBkYXRlZEF0KS50b0lTT1N0cmluZygpLFxuICAgICAgICAgIHZlcnNpb25EYXRhLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgbGV0IGVycm9yTWVzc2FnZTogc3RyaW5nXG5cbiAgICBpZiAoY29sbGVjdGlvbilcbiAgICAgIGVycm9yTWVzc2FnZSA9IGBUaGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgc2F2aW5nIGEgdmVyc2lvbiBmb3IgdGhlICR7Y29sbGVjdGlvbi5sYWJlbHMuc2luZ3VsYXJ9IHdpdGggSUQgJHtpZH0uYFxuICAgIGlmIChnbG9iYWwpXG4gICAgICBlcnJvck1lc3NhZ2UgPSBgVGhlcmUgd2FzIGFuIGVycm9yIHdoaWxlIHNhdmluZyBhIHZlcnNpb24gZm9yIHRoZSBnbG9iYWwgJHtnbG9iYWwubGFiZWx9LmBcbiAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcihlcnJvck1lc3NhZ2UpXG4gICAgcGF5bG9hZC5sb2dnZXIuZXJyb3IoZXJyKVxuICB9XG5cbiAgbGV0IG1heCA9IDEwMFxuXG4gIGlmIChjb2xsZWN0aW9uICYmIHR5cGVvZiBjb2xsZWN0aW9uLnZlcnNpb25zLm1heFBlckRvYyA9PT0gJ251bWJlcicpXG4gICAgbWF4ID0gY29sbGVjdGlvbi52ZXJzaW9ucy5tYXhQZXJEb2NcbiAgaWYgKGdsb2JhbCAmJiB0eXBlb2YgZ2xvYmFsLnZlcnNpb25zLm1heCA9PT0gJ251bWJlcicpIG1heCA9IGdsb2JhbC52ZXJzaW9ucy5tYXhcblxuICBpZiAoY3JlYXRlTmV3VmVyc2lvbiAmJiBtYXggPiAwKSB7XG4gICAgYXdhaXQgZW5mb3JjZU1heFZlcnNpb25zKHtcbiAgICAgIGlkLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGdsb2JhbCxcbiAgICAgIG1heCxcbiAgICAgIHBheWxvYWQsXG4gICAgICByZXEsXG4gICAgfSlcbiAgfVxuXG4gIGxldCBjcmVhdGVkVmVyc2lvbiA9IHJlc3VsdC52ZXJzaW9uXG4gIGNyZWF0ZWRWZXJzaW9uLmNyZWF0ZWRBdCA9IHJlc3VsdC5jcmVhdGVkQXRcbiAgY3JlYXRlZFZlcnNpb24udXBkYXRlZEF0ID0gcmVzdWx0LnVwZGF0ZWRBdFxuXG4gIGNyZWF0ZWRWZXJzaW9uID0gc2FuaXRpemVJbnRlcm5hbEZpZWxkcyhjcmVhdGVkVmVyc2lvbilcbiAgY3JlYXRlZFZlcnNpb24uaWQgPSBpZFxuXG4gIHJldHVybiBjcmVhdGVkVmVyc2lvblxufVxuIl0sIm5hbWVzIjpbInNhdmVWZXJzaW9uIiwiaWQiLCJhdXRvc2F2ZSIsImNvbGxlY3Rpb24iLCJkb2NXaXRoTG9jYWxlcyIsImRvYyIsImRyYWZ0IiwiZ2xvYmFsIiwicGF5bG9hZCIsInJlcSIsInJlc3VsdCIsImNyZWF0ZU5ld1ZlcnNpb24iLCJub3ciLCJEYXRlIiwidG9JU09TdHJpbmciLCJ2ZXJzaW9uRGF0YSIsImRlZXBDb3B5T2JqZWN0IiwiX3N0YXR1cyIsIl9pZCIsImRvY3MiLCJmaW5kVmVyc2lvbkFyZ3MiLCJjb2xsZWN0aW9uU2x1ZyIsInNsdWciLCJnbG9iYWxTbHVnIiwibGltaXQiLCJzb3J0Iiwid2hlcmUiLCJwYXJlbnQiLCJlcXVhbHMiLCJkYiIsImZpbmRWZXJzaW9ucyIsImZpbmRHbG9iYWxWZXJzaW9ucyIsImxhdGVzdFZlcnNpb24iLCJkYXRhIiwiY3JlYXRlZEF0IiwidXBkYXRlZEF0IiwidmVyc2lvbiIsInVwZGF0ZVZlcnNpb25BcmdzIiwidXBkYXRlVmVyc2lvbiIsInVwZGF0ZUdsb2JhbFZlcnNpb24iLCJjcmVhdGVWZXJzaW9uIiwiQm9vbGVhbiIsInVuZGVmaW5lZCIsImNyZWF0ZUdsb2JhbFZlcnNpb24iLCJlcnIiLCJlcnJvck1lc3NhZ2UiLCJsYWJlbHMiLCJzaW5ndWxhciIsImxhYmVsIiwibG9nZ2VyIiwiZXJyb3IiLCJtYXgiLCJ2ZXJzaW9ucyIsIm1heFBlckRvYyIsImVuZm9yY2VNYXhWZXJzaW9ucyIsImNyZWF0ZWRWZXJzaW9uIiwic2FuaXRpemVJbnRlcm5hbEZpZWxkcyJd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
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJzaW9ucy9zYXZlVmVyc2lvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcsIFR5cGVXaXRoSUQgfSBmcm9tICcuLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vZXhwcmVzcy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi4vZ2xvYmFscy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWQgfSBmcm9tICcuLi9wYXlsb2FkJ1xuXG5pbXBvcnQgeyBkZWVwQ29weU9iamVjdCB9IGZyb20gJy4uL3V0aWxpdGllcy9kZWVwQ29weU9iamVjdCdcbmltcG9ydCBzYW5pdGl6ZUludGVybmFsRmllbGRzIGZyb20gJy4uL3V0aWxpdGllcy9zYW5pdGl6ZUludGVybmFsRmllbGRzJ1xuaW1wb3J0IHsgZW5mb3JjZU1heFZlcnNpb25zIH0gZnJvbSAnLi9lbmZvcmNlTWF4VmVyc2lvbnMnXG5cbnR5cGUgQXJncyA9IHtcbiAgYXV0b3NhdmU/OiBib29sZWFuXG4gIGNvbGxlY3Rpb24/OiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnXG4gIGRvY1dpdGhMb2NhbGVzOiBhbnlcbiAgZHJhZnQ/OiBib29sZWFuXG4gIGdsb2JhbD86IFNhbml0aXplZEdsb2JhbENvbmZpZ1xuICBpZD86IG51bWJlciB8IHN0cmluZ1xuICBwYXlsb2FkOiBQYXlsb2FkXG4gIHJlcT86IFBheWxvYWRSZXF1ZXN0XG59XG5cbmV4cG9ydCBjb25zdCBzYXZlVmVyc2lvbiA9IGFzeW5jICh7XG4gIGlkLFxuICBhdXRvc2F2ZSxcbiAgY29sbGVjdGlvbixcbiAgZG9jV2l0aExvY2FsZXM6IGRvYyxcbiAgZHJhZnQsXG4gIGdsb2JhbCxcbiAgcGF5bG9hZCxcbiAgcmVxLFxufTogQXJncyk6IFByb21pc2U8VHlwZVdpdGhJRD4gPT4ge1xuICBsZXQgcmVzdWx0XG4gIGxldCBjcmVhdGVOZXdWZXJzaW9uID0gdHJ1ZVxuICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKClcbiAgY29uc3QgdmVyc2lvbkRhdGEgPSBkZWVwQ29weU9iamVjdChkb2MpXG4gIGlmIChkcmFmdCkgdmVyc2lvbkRhdGEuX3N0YXR1cyA9ICdkcmFmdCdcbiAgaWYgKHZlcnNpb25EYXRhLl9pZCkgZGVsZXRlIHZlcnNpb25EYXRhLl9pZFxuXG4gIHRyeSB7XG4gICAgaWYgKGF1dG9zYXZlKSB7XG4gICAgICBsZXQgZG9jc1xuICAgICAgY29uc3QgZmluZFZlcnNpb25BcmdzID0ge1xuICAgICAgICBsaW1pdDogMSxcbiAgICAgICAgcmVxLFxuICAgICAgICBzb3J0OiAnLXVwZGF0ZWRBdCcsXG4gICAgICB9XG4gICAgICBpZiAoY29sbGVjdGlvbikge1xuICAgICAgICA7KHsgZG9jcyB9ID0gYXdhaXQgcGF5bG9hZC5kYi5maW5kVmVyc2lvbnMoe1xuICAgICAgICAgIC4uLmZpbmRWZXJzaW9uQXJncyxcbiAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uLnNsdWcsXG4gICAgICAgICAgcmVxLFxuICAgICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgICBwYXJlbnQ6IHtcbiAgICAgICAgICAgICAgZXF1YWxzOiBpZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSkpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICA7KHsgZG9jcyB9ID0gYXdhaXQgcGF5bG9hZC5kYi5maW5kR2xvYmFsVmVyc2lvbnMoe1xuICAgICAgICAgIC4uLmZpbmRWZXJzaW9uQXJncyxcbiAgICAgICAgICBnbG9iYWw6IGdsb2JhbC5zbHVnLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgfSkpXG4gICAgICB9XG4gICAgICBjb25zdCBbbGF0ZXN0VmVyc2lvbl0gPSBkb2NzXG5cbiAgICAgIC8vIG92ZXJ3cml0ZSB0aGUgbGF0ZXN0IHZlcnNpb24gaWYgaXQncyBzZXQgdG8gYXV0b3NhdmVcbiAgICAgIGlmIChsYXRlc3RWZXJzaW9uPy5hdXRvc2F2ZSA9PT0gdHJ1ZSkge1xuICAgICAgICBjcmVhdGVOZXdWZXJzaW9uID0gZmFsc2VcblxuICAgICAgICBjb25zdCBkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHtcbiAgICAgICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKGxhdGVzdFZlcnNpb24uY3JlYXRlZEF0KS50b0lTT1N0cmluZygpLFxuICAgICAgICAgIHVwZGF0ZWRBdDogZHJhZnQgPyBub3cgOiBuZXcgRGF0ZShkb2MudXBkYXRlZEF0KS50b0lTT1N0cmluZygpLFxuICAgICAgICAgIHZlcnNpb246IHZlcnNpb25EYXRhLFxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdXBkYXRlVmVyc2lvbkFyZ3MgPSB7XG4gICAgICAgICAgaWQ6IGxhdGVzdFZlcnNpb24uaWQsXG4gICAgICAgICAgcmVxLFxuICAgICAgICAgIHZlcnNpb25EYXRhOiBkYXRhIGFzIFR5cGVXaXRoSUQsXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29sbGVjdGlvbikge1xuICAgICAgICAgIHJlc3VsdCA9IGF3YWl0IHBheWxvYWQuZGIudXBkYXRlVmVyc2lvbih7XG4gICAgICAgICAgICAuLi51cGRhdGVWZXJzaW9uQXJncyxcbiAgICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb24uc2x1ZyxcbiAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3VsdCA9IGF3YWl0IHBheWxvYWQuZGIudXBkYXRlR2xvYmFsVmVyc2lvbih7XG4gICAgICAgICAgICAuLi51cGRhdGVWZXJzaW9uQXJncyxcbiAgICAgICAgICAgIGdsb2JhbDogZ2xvYmFsLnNsdWcsXG4gICAgICAgICAgICByZXEsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjcmVhdGVOZXdWZXJzaW9uKSB7XG4gICAgICBpZiAoY29sbGVjdGlvbikge1xuICAgICAgICByZXN1bHQgPSBhd2FpdCBwYXlsb2FkLmRiLmNyZWF0ZVZlcnNpb24oe1xuICAgICAgICAgIGF1dG9zYXZlOiBCb29sZWFuKGF1dG9zYXZlKSxcbiAgICAgICAgICBjb2xsZWN0aW9uU2x1ZzogY29sbGVjdGlvbi5zbHVnLFxuICAgICAgICAgIGNyZWF0ZWRBdDogZG9jPy5jcmVhdGVkQXQgPyBuZXcgRGF0ZShkb2MuY3JlYXRlZEF0KS50b0lTT1N0cmluZygpIDogbm93LFxuICAgICAgICAgIHBhcmVudDogY29sbGVjdGlvbiA/IGlkIDogdW5kZWZpbmVkLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgICB1cGRhdGVkQXQ6IGRyYWZ0ID8gbm93IDogbmV3IERhdGUoZG9jLnVwZGF0ZWRBdCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICB2ZXJzaW9uRGF0YSxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgaWYgKGdsb2JhbCkge1xuICAgICAgICByZXN1bHQgPSBhd2FpdCBwYXlsb2FkLmRiLmNyZWF0ZUdsb2JhbFZlcnNpb24oe1xuICAgICAgICAgIGF1dG9zYXZlOiBCb29sZWFuKGF1dG9zYXZlKSxcbiAgICAgICAgICBjcmVhdGVkQXQ6IGRvYz8uY3JlYXRlZEF0ID8gbmV3IERhdGUoZG9jLmNyZWF0ZWRBdCkudG9JU09TdHJpbmcoKSA6IG5vdyxcbiAgICAgICAgICBnbG9iYWxTbHVnOiBnbG9iYWwuc2x1ZyxcbiAgICAgICAgICBwYXJlbnQ6IGNvbGxlY3Rpb24gPyBpZCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICByZXEsXG4gICAgICAgICAgdXBkYXRlZEF0OiBkcmFmdCA/IG5vdyA6IG5ldyBEYXRlKGRvYy51cGRhdGVkQXQpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgICAgdmVyc2lvbkRhdGEsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuICB9IGNhdGNoIChlcnIpIHtcbiAgICBsZXQgZXJyb3JNZXNzYWdlOiBzdHJpbmdcblxuICAgIGlmIChjb2xsZWN0aW9uKVxuICAgICAgZXJyb3JNZXNzYWdlID0gYFRoZXJlIHdhcyBhbiBlcnJvciB3aGlsZSBzYXZpbmcgYSB2ZXJzaW9uIGZvciB0aGUgJHtjb2xsZWN0aW9uLmxhYmVscy5zaW5ndWxhcn0gd2l0aCBJRCAke2lkfS5gXG4gICAgaWYgKGdsb2JhbClcbiAgICAgIGVycm9yTWVzc2FnZSA9IGBUaGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgc2F2aW5nIGEgdmVyc2lvbiBmb3IgdGhlIGdsb2JhbCAke2dsb2JhbC5sYWJlbH0uYFxuICAgIHBheWxvYWQubG9nZ2VyLmVycm9yKGVycm9yTWVzc2FnZSlcbiAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcihlcnIpXG4gIH1cblxuICBsZXQgbWF4ID0gMTAwXG5cbiAgaWYgKGNvbGxlY3Rpb24gJiYgdHlwZW9mIGNvbGxlY3Rpb24udmVyc2lvbnMubWF4UGVyRG9jID09PSAnbnVtYmVyJylcbiAgICBtYXggPSBjb2xsZWN0aW9uLnZlcnNpb25zLm1heFBlckRvY1xuICBpZiAoZ2xvYmFsICYmIHR5cGVvZiBnbG9iYWwudmVyc2lvbnMubWF4ID09PSAnbnVtYmVyJykgbWF4ID0gZ2xvYmFsLnZlcnNpb25zLm1heFxuXG4gIGlmIChjcmVhdGVOZXdWZXJzaW9uICYmIG1heCA+IDApIHtcbiAgICBhd2FpdCBlbmZvcmNlTWF4VmVyc2lvbnMoe1xuICAgICAgaWQsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgZ2xvYmFsLFxuICAgICAgbWF4LFxuICAgICAgcGF5bG9hZCxcbiAgICAgIHJlcSxcbiAgICB9KVxuICB9XG5cbiAgbGV0IGNyZWF0ZWRWZXJzaW9uID0gcmVzdWx0LnZlcnNpb25cbiAgY3JlYXRlZFZlcnNpb24uY3JlYXRlZEF0ID0gcmVzdWx0LmNyZWF0ZWRBdFxuICBjcmVhdGVkVmVyc2lvbi51cGRhdGVkQXQgPSByZXN1bHQudXBkYXRlZEF0XG5cbiAgY3JlYXRlZFZlcnNpb24gPSBzYW5pdGl6ZUludGVybmFsRmllbGRzKGNyZWF0ZWRWZXJzaW9uKVxuICBjcmVhdGVkVmVyc2lvbi5pZCA9IGlkXG5cbiAgcmV0dXJuIGNyZWF0ZWRWZXJzaW9uXG59XG4iXSwibmFtZXMiOlsic2F2ZVZlcnNpb24iLCJpZCIsImF1dG9zYXZlIiwiY29sbGVjdGlvbiIsImRvY1dpdGhMb2NhbGVzIiwiZG9jIiwiZHJhZnQiLCJnbG9iYWwiLCJwYXlsb2FkIiwicmVxIiwicmVzdWx0IiwiY3JlYXRlTmV3VmVyc2lvbiIsIm5vdyIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsInZlcnNpb25EYXRhIiwiZGVlcENvcHlPYmplY3QiLCJfc3RhdHVzIiwiX2lkIiwiZG9jcyIsImZpbmRWZXJzaW9uQXJncyIsImxpbWl0Iiwic29ydCIsImRiIiwiZmluZFZlcnNpb25zIiwic2x1ZyIsIndoZXJlIiwicGFyZW50IiwiZXF1YWxzIiwiZmluZEdsb2JhbFZlcnNpb25zIiwibGF0ZXN0VmVyc2lvbiIsImRhdGEiLCJjcmVhdGVkQXQiLCJ1cGRhdGVkQXQiLCJ2ZXJzaW9uIiwidXBkYXRlVmVyc2lvbkFyZ3MiLCJ1cGRhdGVWZXJzaW9uIiwidXBkYXRlR2xvYmFsVmVyc2lvbiIsImNyZWF0ZVZlcnNpb24iLCJCb29sZWFuIiwiY29sbGVjdGlvblNsdWciLCJ1bmRlZmluZWQiLCJjcmVhdGVHbG9iYWxWZXJzaW9uIiwiZ2xvYmFsU2x1ZyIsImVyciIsImVycm9yTWVzc2FnZSIsImxhYmVscyIsInNpbmd1bGFyIiwibGFiZWwiLCJsb2dnZXIiLCJlcnJvciIsIm1heCIsInZlcnNpb25zIiwibWF4UGVyRG9jIiwiZW5mb3JjZU1heFZlcnNpb25zIiwiY3JlYXRlZFZlcnNpb24iLCJzYW5pdGl6ZUludGVybmFsRmllbGRzIl0sIm1hcHBpbmdzIjoiOzs7OytCQW9CYUE7OztlQUFBQTs7O2dDQWZrQjsrRUFDSTtvQ0FDQTs7Ozs7O0FBYTVCLE1BQU1B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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "payload",
3
- "version": "2.0.14",
3
+ "version": "2.1.0",
4
4
  "description": "Node, React and MongoDB Headless CMS and Application Framework",
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.js",
@@ -98,7 +98,7 @@
98
98
  "terser-webpack-plugin": "5.3.9",
99
99
  "ts-essentials": "7.0.3",
100
100
  "use-context-selector": "1.4.1",
101
- "uuid": "8.3.2"
101
+ "uuid": "9.0.1"
102
102
  },
103
103
  "devDependencies": {
104
104
  "@release-it/conventional-changelog": "7.0.0",