@payloadcms/next 3.0.0-beta.66 → 3.0.0-beta.67

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 (925) hide show
  1. package/dist/cjs/withPayload.cjs +138 -0
  2. package/dist/cjs/withPayload.cjs.map +1 -0
  3. package/dist/config.d.ts +4 -0
  4. package/dist/config.d.ts.map +1 -0
  5. package/dist/config.js +3 -0
  6. package/dist/config.js.map +1 -0
  7. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.d.ts +5 -0
  8. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.d.ts.map +1 -0
  9. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +13 -0
  10. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -0
  11. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts +13 -0
  12. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -0
  13. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +43 -0
  14. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -0
  15. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +6 -0
  16. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -0
  17. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +58 -0
  18. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -0
  19. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +91 -0
  20. package/dist/elements/DocumentHeader/Tabs/getCustomViews.d.ts +6 -0
  21. package/dist/elements/DocumentHeader/Tabs/getCustomViews.d.ts.map +1 -0
  22. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +38 -0
  23. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js.map +1 -0
  24. package/dist/elements/DocumentHeader/Tabs/getViewConfig.d.ts +7 -0
  25. package/dist/elements/DocumentHeader/Tabs/getViewConfig.d.ts.map +1 -0
  26. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +14 -0
  27. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js.map +1 -0
  28. package/dist/elements/DocumentHeader/Tabs/index.d.ts +12 -0
  29. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -0
  30. package/dist/elements/DocumentHeader/Tabs/index.js +81 -0
  31. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -0
  32. package/dist/elements/DocumentHeader/Tabs/index.scss +53 -0
  33. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts +3 -0
  34. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -0
  35. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +23 -0
  36. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -0
  37. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts +7 -0
  38. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -0
  39. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +57 -0
  40. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -0
  41. package/dist/elements/DocumentHeader/index.d.ts +14 -0
  42. package/dist/elements/DocumentHeader/index.d.ts.map +1 -0
  43. package/dist/elements/DocumentHeader/index.js +30 -0
  44. package/dist/elements/DocumentHeader/index.js.map +1 -0
  45. package/dist/elements/DocumentHeader/index.scss +51 -0
  46. package/dist/elements/LeaveWithoutSaving/index.d.ts +4 -0
  47. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -0
  48. package/dist/elements/LeaveWithoutSaving/index.js +86 -0
  49. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -0
  50. package/dist/elements/LeaveWithoutSaving/index.scss +36 -0
  51. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +8 -0
  52. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -0
  53. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +114 -0
  54. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -0
  55. package/dist/elements/Logo/index.d.ts +4 -0
  56. package/dist/elements/Logo/index.d.ts.map +1 -0
  57. package/dist/elements/Logo/index.js +24 -0
  58. package/dist/elements/Logo/index.js.map +1 -0
  59. package/dist/elements/Nav/NavHamburger/index.d.ts +5 -0
  60. package/dist/elements/Nav/NavHamburger/index.d.ts.map +1 -0
  61. package/dist/elements/Nav/NavHamburger/index.js +20 -0
  62. package/dist/elements/Nav/NavHamburger/index.js.map +1 -0
  63. package/dist/elements/Nav/NavWrapper/index.d.ts +7 -0
  64. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -0
  65. package/dist/elements/Nav/NavWrapper/index.js +21 -0
  66. package/dist/elements/Nav/NavWrapper/index.js.map +1 -0
  67. package/dist/elements/Nav/NavWrapper/index.scss +17 -0
  68. package/dist/elements/Nav/index.client.d.ts +3 -0
  69. package/dist/elements/Nav/index.client.d.ts.map +1 -0
  70. package/dist/elements/Nav/index.client.js +79 -0
  71. package/dist/elements/Nav/index.client.js.map +1 -0
  72. package/dist/elements/Nav/index.d.ts +6 -0
  73. package/dist/elements/Nav/index.d.ts.map +1 -0
  74. package/dist/elements/Nav/index.js +67 -0
  75. package/dist/elements/Nav/index.js.map +1 -0
  76. package/dist/elements/Nav/index.scss +150 -0
  77. package/dist/exports/layouts.d.ts +2 -0
  78. package/dist/exports/layouts.d.ts.map +1 -0
  79. package/dist/exports/layouts.js +3 -0
  80. package/dist/exports/layouts.js.map +1 -0
  81. package/dist/exports/routes.d.ts +3 -0
  82. package/dist/exports/routes.d.ts.map +1 -0
  83. package/dist/exports/routes.js +4 -0
  84. package/dist/exports/routes.js.map +1 -0
  85. package/dist/exports/templates.d.ts +3 -0
  86. package/dist/exports/templates.d.ts.map +1 -0
  87. package/dist/exports/templates.js +4 -0
  88. package/dist/exports/templates.js.map +1 -0
  89. package/dist/exports/utilities.d.ts +7 -0
  90. package/dist/exports/utilities.d.ts.map +1 -0
  91. package/dist/exports/utilities.js +8 -0
  92. package/dist/exports/utilities.js.map +1 -0
  93. package/dist/exports/views.d.ts +5 -0
  94. package/dist/exports/views.d.ts.map +1 -0
  95. package/dist/exports/views.js +6 -0
  96. package/dist/exports/views.js.map +1 -0
  97. package/dist/fetchAPI-multipart/fileFactory.d.ts +15 -0
  98. package/dist/fetchAPI-multipart/fileFactory.d.ts.map +1 -0
  99. package/dist/fetchAPI-multipart/fileFactory.js +43 -0
  100. package/dist/fetchAPI-multipart/fileFactory.js.map +1 -0
  101. package/dist/fetchAPI-multipart/handlers.d.ts +14 -0
  102. package/dist/fetchAPI-multipart/handlers.d.ts.map +1 -0
  103. package/dist/fetchAPI-multipart/handlers.js +86 -0
  104. package/dist/fetchAPI-multipart/handlers.js.map +1 -0
  105. package/dist/fetchAPI-multipart/index.d.ts +132 -0
  106. package/dist/fetchAPI-multipart/index.d.ts.map +1 -0
  107. package/dist/fetchAPI-multipart/index.js +41 -0
  108. package/dist/fetchAPI-multipart/index.js.map +1 -0
  109. package/dist/fetchAPI-multipart/isEligibleRequest.d.ts +2 -0
  110. package/dist/fetchAPI-multipart/isEligibleRequest.d.ts.map +1 -0
  111. package/dist/fetchAPI-multipart/isEligibleRequest.js +26 -0
  112. package/dist/fetchAPI-multipart/isEligibleRequest.js.map +1 -0
  113. package/dist/fetchAPI-multipart/processMultipart.d.ts +8 -0
  114. package/dist/fetchAPI-multipart/processMultipart.d.ts.map +1 -0
  115. package/dist/fetchAPI-multipart/processMultipart.js +162 -0
  116. package/dist/fetchAPI-multipart/processMultipart.js.map +1 -0
  117. package/dist/fetchAPI-multipart/processNested.d.ts +2 -0
  118. package/dist/fetchAPI-multipart/processNested.d.ts.map +1 -0
  119. package/dist/fetchAPI-multipart/processNested.js +25 -0
  120. package/dist/fetchAPI-multipart/processNested.js.map +1 -0
  121. package/dist/fetchAPI-multipart/uploadTimer.d.ts +7 -0
  122. package/dist/fetchAPI-multipart/uploadTimer.d.ts.map +1 -0
  123. package/dist/fetchAPI-multipart/uploadTimer.js +19 -0
  124. package/dist/fetchAPI-multipart/uploadTimer.js.map +1 -0
  125. package/dist/fetchAPI-multipart/utilities.d.ts +65 -0
  126. package/dist/fetchAPI-multipart/utilities.d.ts.map +1 -0
  127. package/dist/fetchAPI-multipart/utilities.js +207 -0
  128. package/dist/fetchAPI-multipart/utilities.js.map +1 -0
  129. package/dist/fetchAPI-stream-file/index.d.ts +5 -0
  130. package/dist/fetchAPI-stream-file/index.d.ts.map +1 -0
  131. package/dist/fetchAPI-stream-file/index.js +25 -0
  132. package/dist/fetchAPI-stream-file/index.js.map +1 -0
  133. package/dist/index.js +3 -0
  134. package/dist/index.js.map +1 -0
  135. package/dist/layouts/Root/index.d.ts +12 -0
  136. package/dist/layouts/Root/index.d.ts.map +1 -0
  137. package/dist/layouts/Root/index.js +112 -0
  138. package/dist/layouts/Root/index.js.map +1 -0
  139. package/dist/prod/styles.css +1 -0
  140. package/dist/routes/graphql/handler.d.ts +4 -0
  141. package/dist/routes/graphql/handler.d.ts.map +1 -0
  142. package/dist/routes/graphql/handler.js +122 -0
  143. package/dist/routes/graphql/handler.js.map +1 -0
  144. package/dist/routes/graphql/index.d.ts +3 -0
  145. package/dist/routes/graphql/index.d.ts.map +1 -0
  146. package/dist/routes/graphql/index.js +4 -0
  147. package/dist/routes/graphql/index.js.map +1 -0
  148. package/dist/routes/graphql/playground.d.ts +3 -0
  149. package/dist/routes/graphql/playground.d.ts.map +1 -0
  150. package/dist/routes/graphql/playground.js +27 -0
  151. package/dist/routes/graphql/playground.js.map +1 -0
  152. package/dist/routes/index.d.ts +3 -0
  153. package/dist/routes/index.d.ts.map +1 -0
  154. package/dist/routes/index.js +4 -0
  155. package/dist/routes/index.js.map +1 -0
  156. package/dist/routes/rest/auth/access.d.ts +3 -0
  157. package/dist/routes/rest/auth/access.d.ts.map +1 -0
  158. package/dist/routes/rest/auth/access.js +27 -0
  159. package/dist/routes/rest/auth/access.js.map +1 -0
  160. package/dist/routes/rest/auth/forgotPassword.d.ts +3 -0
  161. package/dist/routes/rest/auth/forgotPassword.d.ts.map +1 -0
  162. package/dist/routes/rest/auth/forgotPassword.js +30 -0
  163. package/dist/routes/rest/auth/forgotPassword.js.map +1 -0
  164. package/dist/routes/rest/auth/init.d.ts +3 -0
  165. package/dist/routes/rest/auth/init.d.ts.map +1 -0
  166. package/dist/routes/rest/auth/init.js +18 -0
  167. package/dist/routes/rest/auth/init.js.map +1 -0
  168. package/dist/routes/rest/auth/login.d.ts +3 -0
  169. package/dist/routes/rest/auth/login.d.ts.map +1 -0
  170. package/dist/routes/rest/auth/login.js +44 -0
  171. package/dist/routes/rest/auth/login.js.map +1 -0
  172. package/dist/routes/rest/auth/logout.d.ts +3 -0
  173. package/dist/routes/rest/auth/logout.d.ts.map +1 -0
  174. package/dist/routes/rest/auth/logout.js +35 -0
  175. package/dist/routes/rest/auth/logout.js.map +1 -0
  176. package/dist/routes/rest/auth/me.d.ts +3 -0
  177. package/dist/routes/rest/auth/me.d.ts.map +1 -0
  178. package/dist/routes/rest/auth/me.js +26 -0
  179. package/dist/routes/rest/auth/me.js.map +1 -0
  180. package/dist/routes/rest/auth/refresh.d.ts +3 -0
  181. package/dist/routes/rest/auth/refresh.d.ts.map +1 -0
  182. package/dist/routes/rest/auth/refresh.js +34 -0
  183. package/dist/routes/rest/auth/refresh.js.map +1 -0
  184. package/dist/routes/rest/auth/registerFirstUser.d.ts +3 -0
  185. package/dist/routes/rest/auth/registerFirstUser.d.ts.map +1 -0
  186. package/dist/routes/rest/auth/registerFirstUser.js +43 -0
  187. package/dist/routes/rest/auth/registerFirstUser.js.map +1 -0
  188. package/dist/routes/rest/auth/resetPassword.d.ts +3 -0
  189. package/dist/routes/rest/auth/resetPassword.d.ts.map +1 -0
  190. package/dist/routes/rest/auth/resetPassword.js +38 -0
  191. package/dist/routes/rest/auth/resetPassword.js.map +1 -0
  192. package/dist/routes/rest/auth/unlock.d.ts +3 -0
  193. package/dist/routes/rest/auth/unlock.d.ts.map +1 -0
  194. package/dist/routes/rest/auth/unlock.js +28 -0
  195. package/dist/routes/rest/auth/unlock.js.map +1 -0
  196. package/dist/routes/rest/auth/verifyEmail.d.ts +3 -0
  197. package/dist/routes/rest/auth/verifyEmail.d.ts.map +1 -0
  198. package/dist/routes/rest/auth/verifyEmail.js +22 -0
  199. package/dist/routes/rest/auth/verifyEmail.js.map +1 -0
  200. package/dist/routes/rest/buildFormState.d.ts +5 -0
  201. package/dist/routes/rest/buildFormState.d.ts.map +1 -0
  202. package/dist/routes/rest/buildFormState.js +45 -0
  203. package/dist/routes/rest/buildFormState.js.map +1 -0
  204. package/dist/routes/rest/checkEndpoints.d.ts +5 -0
  205. package/dist/routes/rest/checkEndpoints.d.ts.map +1 -0
  206. package/dist/routes/rest/checkEndpoints.js +12 -0
  207. package/dist/routes/rest/checkEndpoints.js.map +1 -0
  208. package/dist/routes/rest/collections/count.d.ts +3 -0
  209. package/dist/routes/rest/collections/count.d.ts.map +1 -0
  210. package/dist/routes/rest/collections/count.js +15 -0
  211. package/dist/routes/rest/collections/count.js.map +1 -0
  212. package/dist/routes/rest/collections/create.d.ts +3 -0
  213. package/dist/routes/rest/collections/create.d.ts.map +1 -0
  214. package/dist/routes/rest/collections/create.js +33 -0
  215. package/dist/routes/rest/collections/create.js.map +1 -0
  216. package/dist/routes/rest/collections/delete.d.ts +3 -0
  217. package/dist/routes/rest/collections/delete.d.ts.map +1 -0
  218. package/dist/routes/rest/collections/delete.js +46 -0
  219. package/dist/routes/rest/collections/delete.js.map +1 -0
  220. package/dist/routes/rest/collections/deleteByID.d.ts +3 -0
  221. package/dist/routes/rest/collections/deleteByID.d.ts.map +1 -0
  222. package/dist/routes/rest/collections/deleteByID.js +41 -0
  223. package/dist/routes/rest/collections/deleteByID.js.map +1 -0
  224. package/dist/routes/rest/collections/docAccess.d.ts +3 -0
  225. package/dist/routes/rest/collections/docAccess.d.ts.map +1 -0
  226. package/dist/routes/rest/collections/docAccess.js +19 -0
  227. package/dist/routes/rest/collections/docAccess.js.map +1 -0
  228. package/dist/routes/rest/collections/duplicate.d.ts +3 -0
  229. package/dist/routes/rest/collections/duplicate.d.ts.map +1 -0
  230. package/dist/routes/rest/collections/duplicate.js +39 -0
  231. package/dist/routes/rest/collections/duplicate.js.map +1 -0
  232. package/dist/routes/rest/collections/find.d.ts +3 -0
  233. package/dist/routes/rest/collections/find.d.ts.map +1 -0
  234. package/dist/routes/rest/collections/find.js +26 -0
  235. package/dist/routes/rest/collections/find.js.map +1 -0
  236. package/dist/routes/rest/collections/findByID.d.ts +3 -0
  237. package/dist/routes/rest/collections/findByID.d.ts.map +1 -0
  238. package/dist/routes/rest/collections/findByID.js +30 -0
  239. package/dist/routes/rest/collections/findByID.js.map +1 -0
  240. package/dist/routes/rest/collections/findVersionByID.d.ts +3 -0
  241. package/dist/routes/rest/collections/findVersionByID.d.ts.map +1 -0
  242. package/dist/routes/rest/collections/findVersionByID.js +29 -0
  243. package/dist/routes/rest/collections/findVersionByID.js.map +1 -0
  244. package/dist/routes/rest/collections/findVersions.d.ts +3 -0
  245. package/dist/routes/rest/collections/findVersions.d.ts.map +1 -0
  246. package/dist/routes/rest/collections/findVersions.js +25 -0
  247. package/dist/routes/rest/collections/findVersions.js.map +1 -0
  248. package/dist/routes/rest/collections/preview.d.ts +3 -0
  249. package/dist/routes/rest/collections/preview.d.ts.map +1 -0
  250. package/dist/routes/rest/collections/preview.js +44 -0
  251. package/dist/routes/rest/collections/preview.js.map +1 -0
  252. package/dist/routes/rest/collections/restoreVersion.d.ts +3 -0
  253. package/dist/routes/rest/collections/restoreVersion.d.ts.map +1 -0
  254. package/dist/routes/rest/collections/restoreVersion.js +32 -0
  255. package/dist/routes/rest/collections/restoreVersion.js.map +1 -0
  256. package/dist/routes/rest/collections/update.d.ts +3 -0
  257. package/dist/routes/rest/collections/update.d.ts.map +1 -0
  258. package/dist/routes/rest/collections/update.js +48 -0
  259. package/dist/routes/rest/collections/update.js.map +1 -0
  260. package/dist/routes/rest/collections/updateByID.d.ts +3 -0
  261. package/dist/routes/rest/collections/updateByID.d.ts.map +1 -0
  262. package/dist/routes/rest/collections/updateByID.js +40 -0
  263. package/dist/routes/rest/collections/updateByID.js.map +1 -0
  264. package/dist/routes/rest/files/checkFileAccess.d.ts +7 -0
  265. package/dist/routes/rest/files/checkFileAccess.d.ts.map +1 -0
  266. package/dist/routes/rest/files/checkFileAccess.js +50 -0
  267. package/dist/routes/rest/files/checkFileAccess.js.map +1 -0
  268. package/dist/routes/rest/files/getFile.d.ts +9 -0
  269. package/dist/routes/rest/files/getFile.d.ts.map +1 -0
  270. package/dist/routes/rest/files/getFile.js +63 -0
  271. package/dist/routes/rest/files/getFile.js.map +1 -0
  272. package/dist/routes/rest/files/getFileTypeFallback.d.ts +7 -0
  273. package/dist/routes/rest/files/getFileTypeFallback.d.ts.map +1 -0
  274. package/dist/routes/rest/files/getFileTypeFallback.js +21 -0
  275. package/dist/routes/rest/files/getFileTypeFallback.js.map +1 -0
  276. package/dist/routes/rest/globals/docAccess.d.ts +3 -0
  277. package/dist/routes/rest/globals/docAccess.d.ts.map +1 -0
  278. package/dist/routes/rest/globals/docAccess.js +18 -0
  279. package/dist/routes/rest/globals/docAccess.js.map +1 -0
  280. package/dist/routes/rest/globals/findOne.d.ts +3 -0
  281. package/dist/routes/rest/globals/findOne.d.ts.map +1 -0
  282. package/dist/routes/rest/globals/findOne.js +24 -0
  283. package/dist/routes/rest/globals/findOne.js.map +1 -0
  284. package/dist/routes/rest/globals/findVersionByID.d.ts +3 -0
  285. package/dist/routes/rest/globals/findVersionByID.d.ts.map +1 -0
  286. package/dist/routes/rest/globals/findVersionByID.js +23 -0
  287. package/dist/routes/rest/globals/findVersionByID.js.map +1 -0
  288. package/dist/routes/rest/globals/findVersions.d.ts +3 -0
  289. package/dist/routes/rest/globals/findVersions.d.ts.map +1 -0
  290. package/dist/routes/rest/globals/findVersions.js +25 -0
  291. package/dist/routes/rest/globals/findVersions.js.map +1 -0
  292. package/dist/routes/rest/globals/preview.d.ts +3 -0
  293. package/dist/routes/rest/globals/preview.d.ts.map +1 -0
  294. package/dist/routes/rest/globals/preview.js +43 -0
  295. package/dist/routes/rest/globals/preview.js.map +1 -0
  296. package/dist/routes/rest/globals/restoreVersion.d.ts +3 -0
  297. package/dist/routes/rest/globals/restoreVersion.d.ts.map +1 -0
  298. package/dist/routes/rest/globals/restoreVersion.js +26 -0
  299. package/dist/routes/rest/globals/restoreVersion.js.map +1 -0
  300. package/dist/routes/rest/globals/update.d.ts +3 -0
  301. package/dist/routes/rest/globals/update.d.ts.map +1 -0
  302. package/dist/routes/rest/globals/update.js +34 -0
  303. package/dist/routes/rest/globals/update.js.map +1 -0
  304. package/dist/routes/rest/index.d.ts +23 -0
  305. package/dist/routes/rest/index.d.ts.map +1 -0
  306. package/dist/routes/rest/index.js +679 -0
  307. package/dist/routes/rest/index.js.map +1 -0
  308. package/dist/routes/rest/og/image.d.ts +9 -0
  309. package/dist/routes/rest/og/image.d.ts.map +1 -0
  310. package/dist/routes/rest/og/image.js +79 -0
  311. package/dist/routes/rest/og/image.js.map +1 -0
  312. package/dist/routes/rest/og/index.d.ts +11 -0
  313. package/dist/routes/rest/og/index.d.ts.map +1 -0
  314. package/dist/routes/rest/og/index.js +73 -0
  315. package/dist/routes/rest/og/index.js.map +1 -0
  316. package/dist/routes/rest/og/roboto-regular.woff +0 -0
  317. package/dist/routes/rest/routeError.d.ts +14 -0
  318. package/dist/routes/rest/routeError.d.ts.map +1 -0
  319. package/dist/routes/rest/routeError.js +107 -0
  320. package/dist/routes/rest/routeError.js.map +1 -0
  321. package/dist/routes/rest/types.d.ts +23 -0
  322. package/dist/routes/rest/types.d.ts.map +1 -0
  323. package/dist/routes/rest/types.js +3 -0
  324. package/dist/routes/rest/types.js.map +1 -0
  325. package/dist/routes/rest/utilities/sanitizeCollectionID.d.ts +9 -0
  326. package/dist/routes/rest/utilities/sanitizeCollectionID.d.ts.map +1 -0
  327. package/dist/routes/rest/utilities/sanitizeCollectionID.js +13 -0
  328. package/dist/routes/rest/utilities/sanitizeCollectionID.js.map +1 -0
  329. package/dist/scss/app.scss +208 -0
  330. package/dist/scss/colors.scss +269 -0
  331. package/dist/scss/custom.css +1 -0
  332. package/dist/scss/queries.scss +27 -0
  333. package/dist/scss/resets.scss +17 -0
  334. package/dist/scss/styles.scss +11 -0
  335. package/dist/scss/svg.scss +10 -0
  336. package/dist/scss/toasts.scss +111 -0
  337. package/dist/scss/type.scss +117 -0
  338. package/dist/scss/vars.scss +213 -0
  339. package/dist/scss/z-index.scss +9 -0
  340. package/dist/templates/Default/NavHamburger/index.d.ts +3 -0
  341. package/dist/templates/Default/NavHamburger/index.d.ts.map +1 -0
  342. package/dist/templates/Default/NavHamburger/index.js +13 -0
  343. package/dist/templates/Default/NavHamburger/index.js.map +1 -0
  344. package/dist/templates/Default/Wrapper/index.d.ts +8 -0
  345. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -0
  346. package/dist/templates/Default/Wrapper/index.js +18 -0
  347. package/dist/templates/Default/Wrapper/index.js.map +1 -0
  348. package/dist/templates/Default/Wrapper/index.scss +25 -0
  349. package/dist/templates/Default/index.d.ts +10 -0
  350. package/dist/templates/Default/index.d.ts.map +1 -0
  351. package/dist/templates/Default/index.js +66 -0
  352. package/dist/templates/Default/index.js.map +1 -0
  353. package/dist/templates/Default/index.scss +67 -0
  354. package/dist/templates/Minimal/index.d.ts +10 -0
  355. package/dist/templates/Minimal/index.d.ts.map +1 -0
  356. package/dist/templates/Minimal/index.js +21 -0
  357. package/dist/templates/Minimal/index.js.map +1 -0
  358. package/dist/templates/Minimal/index.scss +28 -0
  359. package/dist/utilities/addDataAndFileToRequest.d.ts +8 -0
  360. package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -0
  361. package/dist/utilities/addDataAndFileToRequest.js +42 -0
  362. package/dist/utilities/addDataAndFileToRequest.js.map +1 -0
  363. package/dist/utilities/addLocalesToRequest.d.ts +17 -0
  364. package/dist/utilities/addLocalesToRequest.d.ts.map +1 -0
  365. package/dist/utilities/addLocalesToRequest.js +43 -0
  366. package/dist/utilities/addLocalesToRequest.js.map +1 -0
  367. package/dist/utilities/createPayloadRequest.d.ts +11 -0
  368. package/dist/utilities/createPayloadRequest.d.ts.map +1 -0
  369. package/dist/utilities/createPayloadRequest.js +84 -0
  370. package/dist/utilities/createPayloadRequest.js.map +1 -0
  371. package/dist/utilities/getNextRequestI18n.d.ts +11 -0
  372. package/dist/utilities/getNextRequestI18n.d.ts.map +1 -0
  373. package/dist/utilities/getNextRequestI18n.js +20 -0
  374. package/dist/utilities/getNextRequestI18n.js.map +1 -0
  375. package/dist/utilities/getPayloadHMR.d.ts +4 -0
  376. package/dist/utilities/getPayloadHMR.d.ts.map +1 -0
  377. package/dist/utilities/getPayloadHMR.js +95 -0
  378. package/dist/utilities/getPayloadHMR.js.map +1 -0
  379. package/dist/utilities/getRequestLanguage.d.ts +12 -0
  380. package/dist/utilities/getRequestLanguage.d.ts.map +1 -0
  381. package/dist/utilities/getRequestLanguage.js +16 -0
  382. package/dist/utilities/getRequestLanguage.js.map +1 -0
  383. package/dist/utilities/getRequestLocales.d.ts +12 -0
  384. package/dist/utilities/getRequestLocales.d.ts.map +1 -0
  385. package/dist/utilities/getRequestLocales.js +28 -0
  386. package/dist/utilities/getRequestLocales.js.map +1 -0
  387. package/dist/utilities/getRequestTheme.d.ts +11 -0
  388. package/dist/utilities/getRequestTheme.d.ts.map +1 -0
  389. package/dist/utilities/getRequestTheme.js +19 -0
  390. package/dist/utilities/getRequestTheme.js.map +1 -0
  391. package/dist/utilities/headersWithCors.d.ts +8 -0
  392. package/dist/utilities/headersWithCors.d.ts.map +1 -0
  393. package/dist/utilities/headersWithCors.js +33 -0
  394. package/dist/utilities/headersWithCors.js.map +1 -0
  395. package/dist/utilities/initPage/handleAdminPage.d.ts +12 -0
  396. package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -0
  397. package/dist/utilities/initPage/handleAdminPage.js +35 -0
  398. package/dist/utilities/initPage/handleAdminPage.js.map +1 -0
  399. package/dist/utilities/initPage/handleAuthRedirect.d.ts +9 -0
  400. package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +1 -0
  401. package/dist/utilities/initPage/handleAuthRedirect.js +27 -0
  402. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -0
  403. package/dist/utilities/initPage/index.d.ts +4 -0
  404. package/dist/utilities/initPage/index.d.ts.map +1 -0
  405. package/dist/utilities/initPage/index.js +133 -0
  406. package/dist/utilities/initPage/index.js.map +1 -0
  407. package/dist/utilities/initPage/shared.d.ts +4 -0
  408. package/dist/utilities/initPage/shared.d.ts.map +1 -0
  409. package/dist/utilities/initPage/shared.js +19 -0
  410. package/dist/utilities/initPage/shared.js.map +1 -0
  411. package/dist/utilities/initPage/types.d.ts +24 -0
  412. package/dist/utilities/initPage/types.d.ts.map +1 -0
  413. package/dist/utilities/initPage/types.js +3 -0
  414. package/dist/utilities/initPage/types.js.map +1 -0
  415. package/dist/utilities/mergeHeaders.d.ts +2 -0
  416. package/dist/utilities/mergeHeaders.d.ts.map +1 -0
  417. package/dist/utilities/mergeHeaders.js +37 -0
  418. package/dist/utilities/mergeHeaders.js.map +1 -0
  419. package/dist/utilities/meta.d.ts +5 -0
  420. package/dist/utilities/meta.d.ts.map +1 -0
  421. package/dist/utilities/meta.js +73 -0
  422. package/dist/utilities/meta.js.map +1 -0
  423. package/dist/utilities/timestamp.d.ts +2 -0
  424. package/dist/utilities/timestamp.d.ts.map +1 -0
  425. package/dist/utilities/timestamp.js +7 -0
  426. package/dist/utilities/timestamp.js.map +1 -0
  427. package/dist/views/API/LocaleSelector/index.d.ts +9 -0
  428. package/dist/views/API/LocaleSelector/index.d.ts.map +1 -0
  429. package/dist/views/API/LocaleSelector/index.js +15 -0
  430. package/dist/views/API/LocaleSelector/index.js.map +1 -0
  431. package/dist/views/API/RenderJSON/index.d.ts +12 -0
  432. package/dist/views/API/RenderJSON/index.d.ts.map +1 -0
  433. package/dist/views/API/RenderJSON/index.js +122 -0
  434. package/dist/views/API/RenderJSON/index.js.map +1 -0
  435. package/dist/views/API/RenderJSON/index.scss +90 -0
  436. package/dist/views/API/index.client.d.ts +4 -0
  437. package/dist/views/API/index.client.d.ts.map +1 -0
  438. package/dist/views/API/index.client.js +208 -0
  439. package/dist/views/API/index.client.js.map +1 -0
  440. package/dist/views/API/index.d.ts +3 -0
  441. package/dist/views/API/index.d.ts.map +1 -0
  442. package/dist/views/API/index.js +8 -0
  443. package/dist/views/API/index.js.map +1 -0
  444. package/dist/views/API/index.scss +124 -0
  445. package/dist/views/API/meta.d.ts +3 -0
  446. package/dist/views/API/meta.d.ts.map +1 -0
  447. package/dist/views/API/meta.js +18 -0
  448. package/dist/views/API/meta.js.map +1 -0
  449. package/dist/views/Account/Settings/LanguageSelector.d.ts +6 -0
  450. package/dist/views/Account/Settings/LanguageSelector.d.ts.map +1 -0
  451. package/dist/views/Account/Settings/LanguageSelector.js +19 -0
  452. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -0
  453. package/dist/views/Account/Settings/index.d.ts +10 -0
  454. package/dist/views/Account/Settings/index.d.ts.map +1 -0
  455. package/dist/views/Account/Settings/index.js +35 -0
  456. package/dist/views/Account/Settings/index.js.map +1 -0
  457. package/dist/views/Account/Settings/index.scss +46 -0
  458. package/dist/views/Account/ToggleTheme/index.d.ts +3 -0
  459. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -0
  460. package/dist/views/Account/ToggleTheme/index.js +35 -0
  461. package/dist/views/Account/ToggleTheme/index.js.map +1 -0
  462. package/dist/views/Account/index.d.ts +5 -0
  463. package/dist/views/Account/index.d.ts.map +1 -0
  464. package/dist/views/Account/index.js +81 -0
  465. package/dist/views/Account/index.js.map +1 -0
  466. package/dist/views/Account/meta.d.ts +3 -0
  467. package/dist/views/Account/meta.d.ts.map +1 -0
  468. package/dist/views/Account/meta.js +10 -0
  469. package/dist/views/Account/meta.js.map +1 -0
  470. package/dist/views/CreateFirstUser/index.client.d.ts +7 -0
  471. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -0
  472. package/dist/views/CreateFirstUser/index.client.js +66 -0
  473. package/dist/views/CreateFirstUser/index.client.js.map +1 -0
  474. package/dist/views/CreateFirstUser/index.d.ts +6 -0
  475. package/dist/views/CreateFirstUser/index.d.ts.map +1 -0
  476. package/dist/views/CreateFirstUser/index.js +53 -0
  477. package/dist/views/CreateFirstUser/index.js.map +1 -0
  478. package/dist/views/CreateFirstUser/index.scss +5 -0
  479. package/dist/views/CreateFirstUser/meta.d.ts +3 -0
  480. package/dist/views/CreateFirstUser/meta.d.ts.map +1 -0
  481. package/dist/views/CreateFirstUser/meta.js +10 -0
  482. package/dist/views/CreateFirstUser/meta.js.map +1 -0
  483. package/dist/views/Dashboard/Default/index.d.ts +12 -0
  484. package/dist/views/Dashboard/Default/index.d.ts.map +1 -0
  485. package/dist/views/Dashboard/Default/index.js +121 -0
  486. package/dist/views/Dashboard/Default/index.js.map +1 -0
  487. package/dist/views/Dashboard/Default/index.scss +58 -0
  488. package/dist/views/Dashboard/index.d.ts +5 -0
  489. package/dist/views/Dashboard/index.d.ts.map +1 -0
  490. package/dist/views/Dashboard/index.js +66 -0
  491. package/dist/views/Dashboard/index.js.map +1 -0
  492. package/dist/views/Dashboard/meta.d.ts +3 -0
  493. package/dist/views/Dashboard/meta.d.ts.map +1 -0
  494. package/dist/views/Dashboard/meta.js +14 -0
  495. package/dist/views/Dashboard/meta.js.map +1 -0
  496. package/dist/views/Document/getCustomViewByKey.d.ts +3 -0
  497. package/dist/views/Document/getCustomViewByKey.d.ts.map +1 -0
  498. package/dist/views/Document/getCustomViewByKey.js +6 -0
  499. package/dist/views/Document/getCustomViewByKey.js.map +1 -0
  500. package/dist/views/Document/getCustomViewByRoute.d.ts +7 -0
  501. package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -0
  502. package/dist/views/Document/getCustomViewByRoute.js +22 -0
  503. package/dist/views/Document/getCustomViewByRoute.js.map +1 -0
  504. package/dist/views/Document/getDocumentData.d.ts +9 -0
  505. package/dist/views/Document/getDocumentData.d.ts.map +1 -0
  506. package/dist/views/Document/getDocumentData.js +31 -0
  507. package/dist/views/Document/getDocumentData.js.map +1 -0
  508. package/dist/views/Document/getDocumentPermissions.d.ts +13 -0
  509. package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -0
  510. package/dist/views/Document/getDocumentPermissions.js +82 -0
  511. package/dist/views/Document/getDocumentPermissions.js.map +1 -0
  512. package/dist/views/Document/getMetaBySegment.d.ts +9 -0
  513. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -0
  514. package/dist/views/Document/getMetaBySegment.js +77 -0
  515. package/dist/views/Document/getMetaBySegment.js.map +1 -0
  516. package/dist/views/Document/getViewsFromConfig.d.ts +16 -0
  517. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -0
  518. package/dist/views/Document/getViewsFromConfig.js +256 -0
  519. package/dist/views/Document/getViewsFromConfig.js.map +1 -0
  520. package/dist/views/Document/index.d.ts +6 -0
  521. package/dist/views/Document/index.d.ts.map +1 -0
  522. package/dist/views/Document/index.js +176 -0
  523. package/dist/views/Document/index.js.map +1 -0
  524. package/dist/views/Document/meta.d.ts +3 -0
  525. package/dist/views/Document/meta.d.ts.map +1 -0
  526. package/dist/views/Document/meta.js +4 -0
  527. package/dist/views/Document/meta.js.map +1 -0
  528. package/dist/views/Edit/Default/Auth/APIKey.d.ts +6 -0
  529. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +1 -0
  530. package/dist/views/Edit/Default/Auth/APIKey.js +116 -0
  531. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -0
  532. package/dist/views/Edit/Default/Auth/index.d.ts +5 -0
  533. package/dist/views/Edit/Default/Auth/index.d.ts.map +1 -0
  534. package/dist/views/Edit/Default/Auth/index.js +161 -0
  535. package/dist/views/Edit/Default/Auth/index.js.map +1 -0
  536. package/dist/views/Edit/Default/Auth/index.scss +76 -0
  537. package/dist/views/Edit/Default/Auth/types.d.ts +14 -0
  538. package/dist/views/Edit/Default/Auth/types.d.ts.map +1 -0
  539. package/dist/views/Edit/Default/Auth/types.js +3 -0
  540. package/dist/views/Edit/Default/Auth/types.js.map +1 -0
  541. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts +11 -0
  542. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +1 -0
  543. package/dist/views/Edit/Default/SetDocumentStepNav/index.js +69 -0
  544. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +1 -0
  545. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts +8 -0
  546. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts.map +1 -0
  547. package/dist/views/Edit/Default/SetDocumentTitle/index.js +36 -0
  548. package/dist/views/Edit/Default/SetDocumentTitle/index.js.map +1 -0
  549. package/dist/views/Edit/Default/index.d.ts +4 -0
  550. package/dist/views/Edit/Default/index.d.ts.map +1 -0
  551. package/dist/views/Edit/Default/index.js +193 -0
  552. package/dist/views/Edit/Default/index.js.map +1 -0
  553. package/dist/views/Edit/Default/index.scss +21 -0
  554. package/dist/views/Edit/Default/types.d.ts +6 -0
  555. package/dist/views/Edit/Default/types.d.ts.map +1 -0
  556. package/dist/views/Edit/Default/types.js +3 -0
  557. package/dist/views/Edit/Default/types.js.map +1 -0
  558. package/dist/views/Edit/index.client.d.ts +3 -0
  559. package/dist/views/Edit/index.client.d.ts.map +1 -0
  560. package/dist/views/Edit/index.client.js +25 -0
  561. package/dist/views/Edit/index.client.js.map +1 -0
  562. package/dist/views/Edit/index.d.ts +3 -0
  563. package/dist/views/Edit/index.d.ts.map +1 -0
  564. package/dist/views/Edit/index.js +8 -0
  565. package/dist/views/Edit/index.js.map +1 -0
  566. package/dist/views/Edit/meta.d.ts +3 -0
  567. package/dist/views/Edit/meta.d.ts.map +1 -0
  568. package/dist/views/Edit/meta.js +28 -0
  569. package/dist/views/Edit/meta.js.map +1 -0
  570. package/dist/views/Edit/sanitizeEditViewProps.d.ts +3 -0
  571. package/dist/views/Edit/sanitizeEditViewProps.d.ts.map +1 -0
  572. package/dist/views/Edit/sanitizeEditViewProps.js +11 -0
  573. package/dist/views/Edit/sanitizeEditViewProps.js.map +1 -0
  574. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts +3 -0
  575. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -0
  576. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +104 -0
  577. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -0
  578. package/dist/views/ForgotPassword/index.d.ts +6 -0
  579. package/dist/views/ForgotPassword/index.d.ts.map +1 -0
  580. package/dist/views/ForgotPassword/index.js +52 -0
  581. package/dist/views/ForgotPassword/index.js.map +1 -0
  582. package/dist/views/ForgotPassword/meta.d.ts +3 -0
  583. package/dist/views/ForgotPassword/meta.d.ts.map +1 -0
  584. package/dist/views/ForgotPassword/meta.js +10 -0
  585. package/dist/views/ForgotPassword/meta.js.map +1 -0
  586. package/dist/views/List/Default/index.d.ts +4 -0
  587. package/dist/views/List/Default/index.d.ts.map +1 -0
  588. package/dist/views/List/Default/index.js +200 -0
  589. package/dist/views/List/Default/index.js.map +1 -0
  590. package/dist/views/List/Default/index.scss +195 -0
  591. package/dist/views/List/Default/types.d.ts +15 -0
  592. package/dist/views/List/Default/types.d.ts.map +1 -0
  593. package/dist/views/List/Default/types.js +3 -0
  594. package/dist/views/List/Default/types.js.map +1 -0
  595. package/dist/views/List/index.d.ts +5 -0
  596. package/dist/views/List/index.d.ts.map +1 -0
  597. package/dist/views/List/index.js +126 -0
  598. package/dist/views/List/index.js.map +1 -0
  599. package/dist/views/List/meta.d.ts +7 -0
  600. package/dist/views/List/meta.d.ts.map +1 -0
  601. package/dist/views/List/meta.js +21 -0
  602. package/dist/views/List/meta.js.map +1 -0
  603. package/dist/views/LivePreview/Context/collisionDetection.d.ts +3 -0
  604. package/dist/views/LivePreview/Context/collisionDetection.d.ts.map +1 -0
  605. package/dist/views/LivePreview/Context/collisionDetection.js +26 -0
  606. package/dist/views/LivePreview/Context/collisionDetection.js.map +1 -0
  607. package/dist/views/LivePreview/Context/context.d.ts +50 -0
  608. package/dist/views/LivePreview/Context/context.d.ts.map +1 -0
  609. package/dist/views/LivePreview/Context/context.js +40 -0
  610. package/dist/views/LivePreview/Context/context.js.map +1 -0
  611. package/dist/views/LivePreview/Context/index.d.ts +19 -0
  612. package/dist/views/LivePreview/Context/index.d.ts.map +1 -0
  613. package/dist/views/LivePreview/Context/index.js +156 -0
  614. package/dist/views/LivePreview/Context/index.js.map +1 -0
  615. package/dist/views/LivePreview/Context/sizeReducer.d.ts +20 -0
  616. package/dist/views/LivePreview/Context/sizeReducer.d.ts.map +1 -0
  617. package/dist/views/LivePreview/Context/sizeReducer.js +31 -0
  618. package/dist/views/LivePreview/Context/sizeReducer.js.map +1 -0
  619. package/dist/views/LivePreview/Device/index.d.ts +5 -0
  620. package/dist/views/LivePreview/Device/index.d.ts.map +1 -0
  621. package/dist/views/LivePreview/Device/index.js +81 -0
  622. package/dist/views/LivePreview/Device/index.js.map +1 -0
  623. package/dist/views/LivePreview/DeviceContainer/index.d.ts +5 -0
  624. package/dist/views/LivePreview/DeviceContainer/index.d.ts.map +1 -0
  625. package/dist/views/LivePreview/DeviceContainer/index.js +31 -0
  626. package/dist/views/LivePreview/DeviceContainer/index.js.map +1 -0
  627. package/dist/views/LivePreview/IFrame/index.d.ts +9 -0
  628. package/dist/views/LivePreview/IFrame/index.d.ts.map +1 -0
  629. package/dist/views/LivePreview/IFrame/index.js +23 -0
  630. package/dist/views/LivePreview/IFrame/index.js.map +1 -0
  631. package/dist/views/LivePreview/IFrame/index.scss +7 -0
  632. package/dist/views/LivePreview/Preview/index.d.ts +5 -0
  633. package/dist/views/LivePreview/Preview/index.d.ts.map +1 -0
  634. package/dist/views/LivePreview/Preview/index.js +110 -0
  635. package/dist/views/LivePreview/Preview/index.js.map +1 -0
  636. package/dist/views/LivePreview/Preview/index.scss +41 -0
  637. package/dist/views/LivePreview/Toolbar/Controls/index.d.ts +5 -0
  638. package/dist/views/LivePreview/Toolbar/Controls/index.d.ts.map +1 -0
  639. package/dist/views/LivePreview/Toolbar/Controls/index.js +129 -0
  640. package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -0
  641. package/dist/views/LivePreview/Toolbar/Controls/index.scss +59 -0
  642. package/dist/views/LivePreview/Toolbar/SizeInput/index.d.ts +6 -0
  643. package/dist/views/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -0
  644. package/dist/views/LivePreview/Toolbar/SizeInput/index.js +61 -0
  645. package/dist/views/LivePreview/Toolbar/SizeInput/index.js.map +1 -0
  646. package/dist/views/LivePreview/Toolbar/SizeInput/index.scss +10 -0
  647. package/dist/views/LivePreview/Toolbar/index.d.ts +7 -0
  648. package/dist/views/LivePreview/Toolbar/index.d.ts.map +1 -0
  649. package/dist/views/LivePreview/Toolbar/index.js +64 -0
  650. package/dist/views/LivePreview/Toolbar/index.js.map +1 -0
  651. package/dist/views/LivePreview/Toolbar/index.scss +41 -0
  652. package/dist/views/LivePreview/ToolbarArea/index.d.ts +6 -0
  653. package/dist/views/LivePreview/ToolbarArea/index.d.ts.map +1 -0
  654. package/dist/views/LivePreview/ToolbarArea/index.js +18 -0
  655. package/dist/views/LivePreview/ToolbarArea/index.js.map +1 -0
  656. package/dist/views/LivePreview/ToolbarArea/index.scss +4 -0
  657. package/dist/views/LivePreview/index.client.d.ts +9 -0
  658. package/dist/views/LivePreview/index.client.d.ts.map +1 -0
  659. package/dist/views/LivePreview/index.client.js +195 -0
  660. package/dist/views/LivePreview/index.client.js.map +1 -0
  661. package/dist/views/LivePreview/index.d.ts +4 -0
  662. package/dist/views/LivePreview/index.d.ts.map +1 -0
  663. package/dist/views/LivePreview/index.js +66 -0
  664. package/dist/views/LivePreview/index.js.map +1 -0
  665. package/dist/views/LivePreview/index.scss +66 -0
  666. package/dist/views/LivePreview/meta.d.ts +3 -0
  667. package/dist/views/LivePreview/meta.d.ts.map +1 -0
  668. package/dist/views/LivePreview/meta.js +10 -0
  669. package/dist/views/LivePreview/meta.js.map +1 -0
  670. package/dist/views/LivePreview/usePopupWindow.d.ts +19 -0
  671. package/dist/views/LivePreview/usePopupWindow.d.ts.map +1 -0
  672. package/dist/views/LivePreview/usePopupWindow.js +102 -0
  673. package/dist/views/LivePreview/usePopupWindow.js.map +1 -0
  674. package/dist/views/Login/LoginField/index.d.ts +6 -0
  675. package/dist/views/Login/LoginField/index.d.ts.map +1 -0
  676. package/dist/views/Login/LoginField/index.js +101 -0
  677. package/dist/views/Login/LoginField/index.js.map +1 -0
  678. package/dist/views/Login/LoginForm/index.d.ts +8 -0
  679. package/dist/views/Login/LoginForm/index.d.ts.map +1 -0
  680. package/dist/views/Login/LoginForm/index.js +95 -0
  681. package/dist/views/Login/LoginForm/index.js.map +1 -0
  682. package/dist/views/Login/LoginForm/index.scss +8 -0
  683. package/dist/views/Login/index.d.ts +7 -0
  684. package/dist/views/Login/index.d.ts.map +1 -0
  685. package/dist/views/Login/index.js +64 -0
  686. package/dist/views/Login/index.js.map +1 -0
  687. package/dist/views/Login/index.scss +8 -0
  688. package/dist/views/Login/meta.d.ts +3 -0
  689. package/dist/views/Login/meta.d.ts.map +1 -0
  690. package/dist/views/Login/meta.js +10 -0
  691. package/dist/views/Login/meta.js.map +1 -0
  692. package/dist/views/Logout/LogoutClient.d.ts +7 -0
  693. package/dist/views/Logout/LogoutClient.d.ts.map +1 -0
  694. package/dist/views/Logout/LogoutClient.js +45 -0
  695. package/dist/views/Logout/LogoutClient.js.map +1 -0
  696. package/dist/views/Logout/index.d.ts +9 -0
  697. package/dist/views/Logout/index.d.ts.map +1 -0
  698. package/dist/views/Logout/index.js +24 -0
  699. package/dist/views/Logout/index.js.map +1 -0
  700. package/dist/views/Logout/index.scss +20 -0
  701. package/dist/views/Logout/meta.d.ts +3 -0
  702. package/dist/views/Logout/meta.d.ts.map +1 -0
  703. package/dist/views/Logout/meta.js +9 -0
  704. package/dist/views/Logout/meta.js.map +1 -0
  705. package/dist/views/NotFound/index.client.d.ts +6 -0
  706. package/dist/views/NotFound/index.client.d.ts.map +1 -0
  707. package/dist/views/NotFound/index.client.js +49 -0
  708. package/dist/views/NotFound/index.client.js.map +1 -0
  709. package/dist/views/NotFound/index.d.ts +28 -0
  710. package/dist/views/NotFound/index.d.ts.map +1 -0
  711. package/dist/views/NotFound/index.js +52 -0
  712. package/dist/views/NotFound/index.js.map +1 -0
  713. package/dist/views/NotFound/index.scss +37 -0
  714. package/dist/views/NotFound/meta.d.ts +8 -0
  715. package/dist/views/NotFound/meta.d.ts.map +1 -0
  716. package/dist/views/NotFound/meta.js +9 -0
  717. package/dist/views/NotFound/meta.js.map +1 -0
  718. package/dist/views/ResetPassword/index.client.d.ts +7 -0
  719. package/dist/views/ResetPassword/index.client.d.ts.map +1 -0
  720. package/dist/views/ResetPassword/index.client.js +81 -0
  721. package/dist/views/ResetPassword/index.client.js.map +1 -0
  722. package/dist/views/ResetPassword/index.d.ts +7 -0
  723. package/dist/views/ResetPassword/index.d.ts.map +1 -0
  724. package/dist/views/ResetPassword/index.js +64 -0
  725. package/dist/views/ResetPassword/index.js.map +1 -0
  726. package/dist/views/ResetPassword/index.scss +5 -0
  727. package/dist/views/ResetPassword/meta.d.ts +3 -0
  728. package/dist/views/ResetPassword/meta.d.ts.map +1 -0
  729. package/dist/views/ResetPassword/meta.js +10 -0
  730. package/dist/views/ResetPassword/meta.js.map +1 -0
  731. package/dist/views/Root/getCustomViewByRoute.d.ts +6 -0
  732. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -0
  733. package/dist/views/Root/getCustomViewByRoute.js +19 -0
  734. package/dist/views/Root/getCustomViewByRoute.js.map +1 -0
  735. package/dist/views/Root/getViewFromConfig.d.ts +17 -0
  736. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -0
  737. package/dist/views/Root/getViewFromConfig.js +155 -0
  738. package/dist/views/Root/getViewFromConfig.js.map +1 -0
  739. package/dist/views/Root/index.d.ts +23 -0
  740. package/dist/views/Root/index.d.ts.map +1 -0
  741. package/dist/views/Root/index.js +82 -0
  742. package/dist/views/Root/index.js.map +1 -0
  743. package/dist/views/Root/isPathMatchingRoute.d.ts +8 -0
  744. package/dist/views/Root/isPathMatchingRoute.d.ts.map +1 -0
  745. package/dist/views/Root/isPathMatchingRoute.js +16 -0
  746. package/dist/views/Root/isPathMatchingRoute.js.map +1 -0
  747. package/dist/views/Root/meta.d.ts +14 -0
  748. package/dist/views/Root/meta.d.ts.map +1 -0
  749. package/dist/views/Root/meta.js +140 -0
  750. package/dist/views/Root/meta.js.map +1 -0
  751. package/dist/views/Unauthorized/index.d.ts +5 -0
  752. package/dist/views/Unauthorized/index.d.ts.map +1 -0
  753. package/dist/views/Unauthorized/index.js +30 -0
  754. package/dist/views/Unauthorized/index.js.map +1 -0
  755. package/dist/views/Unauthorized/index.scss +36 -0
  756. package/dist/views/Unauthorized/meta.d.ts +3 -0
  757. package/dist/views/Unauthorized/meta.d.ts.map +1 -0
  758. package/dist/views/Unauthorized/meta.js +10 -0
  759. package/dist/views/Unauthorized/meta.js.map +1 -0
  760. package/dist/views/Verify/index.d.ts +7 -0
  761. package/dist/views/Verify/index.d.ts.map +1 -0
  762. package/dist/views/Verify/index.js +47 -0
  763. package/dist/views/Verify/index.js.map +1 -0
  764. package/dist/views/Verify/index.scss +14 -0
  765. package/dist/views/Verify/meta.d.ts +3 -0
  766. package/dist/views/Verify/meta.d.ts.map +1 -0
  767. package/dist/views/Verify/meta.js +10 -0
  768. package/dist/views/Verify/meta.js.map +1 -0
  769. package/dist/views/Version/Default/SetStepNav.d.ts +13 -0
  770. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -0
  771. package/dist/views/Version/Default/SetStepNav.js +97 -0
  772. package/dist/views/Version/Default/SetStepNav.js.map +1 -0
  773. package/dist/views/Version/Default/index.d.ts +5 -0
  774. package/dist/views/Version/Default/index.d.ts.map +1 -0
  775. package/dist/views/Version/Default/index.js +133 -0
  776. package/dist/views/Version/Default/index.js.map +1 -0
  777. package/dist/views/Version/Default/index.scss +70 -0
  778. package/dist/views/Version/Default/types.d.ts +17 -0
  779. package/dist/views/Version/Default/types.d.ts.map +1 -0
  780. package/dist/views/Version/Default/types.js +3 -0
  781. package/dist/views/Version/Default/types.js.map +1 -0
  782. package/dist/views/Version/RenderFieldsToDiff/Label/index.d.ts +7 -0
  783. package/dist/views/Version/RenderFieldsToDiff/Label/index.d.ts.map +1 -0
  784. package/dist/views/Version/RenderFieldsToDiff/Label/index.js +10 -0
  785. package/dist/views/Version/RenderFieldsToDiff/Label/index.js.map +1 -0
  786. package/dist/views/Version/RenderFieldsToDiff/Label/index.scss +4 -0
  787. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts +6 -0
  788. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -0
  789. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +79 -0
  790. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -0
  791. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +34 -0
  792. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.d.ts +6 -0
  793. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.d.ts.map +1 -0
  794. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +40 -0
  795. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -0
  796. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.scss +12 -0
  797. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts +6 -0
  798. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -0
  799. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +85 -0
  800. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -0
  801. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +13 -0
  802. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.d.ts +9 -0
  803. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.d.ts.map +1 -0
  804. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js +18 -0
  805. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js.map +1 -0
  806. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts +10 -0
  807. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -0
  808. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +50 -0
  809. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -0
  810. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +13 -0
  811. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +8 -0
  812. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -0
  813. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +40 -0
  814. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -0
  815. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.d.ts +9 -0
  816. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.d.ts.map +1 -0
  817. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js +18 -0
  818. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js.map +1 -0
  819. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts +6 -0
  820. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -0
  821. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +41 -0
  822. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -0
  823. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +13 -0
  824. package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.d.ts +7 -0
  825. package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.d.ts.map +1 -0
  826. package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js +8 -0
  827. package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js.map +1 -0
  828. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +30 -0
  829. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -0
  830. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +29 -0
  831. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -0
  832. package/dist/views/Version/RenderFieldsToDiff/fields/styles.d.ts +27 -0
  833. package/dist/views/Version/RenderFieldsToDiff/fields/styles.d.ts.map +1 -0
  834. package/dist/views/Version/RenderFieldsToDiff/fields/styles.js +28 -0
  835. package/dist/views/Version/RenderFieldsToDiff/fields/styles.js.map +1 -0
  836. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts +21 -0
  837. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts.map +1 -0
  838. package/dist/views/Version/RenderFieldsToDiff/fields/types.js +3 -0
  839. package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -0
  840. package/dist/views/Version/RenderFieldsToDiff/index.d.ts +6 -0
  841. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -0
  842. package/dist/views/Version/RenderFieldsToDiff/index.js +103 -0
  843. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -0
  844. package/dist/views/Version/RenderFieldsToDiff/index.scss +18 -0
  845. package/dist/views/Version/RenderFieldsToDiff/types.d.ts +20 -0
  846. package/dist/views/Version/RenderFieldsToDiff/types.d.ts.map +1 -0
  847. package/dist/views/Version/RenderFieldsToDiff/types.js +3 -0
  848. package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -0
  849. package/dist/views/Version/Restore/index.d.ts +6 -0
  850. package/dist/views/Version/Restore/index.d.ts.map +1 -0
  851. package/dist/views/Version/Restore/index.js +93 -0
  852. package/dist/views/Version/Restore/index.js.map +1 -0
  853. package/dist/views/Version/Restore/index.scss +30 -0
  854. package/dist/views/Version/Restore/types.d.ts +11 -0
  855. package/dist/views/Version/Restore/types.d.ts.map +1 -0
  856. package/dist/views/Version/Restore/types.js +3 -0
  857. package/dist/views/Version/Restore/types.js.map +1 -0
  858. package/dist/views/Version/SelectComparison/index.d.ts +5 -0
  859. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -0
  860. package/dist/views/Version/SelectComparison/index.js +155 -0
  861. package/dist/views/Version/SelectComparison/index.js.map +1 -0
  862. package/dist/views/Version/SelectComparison/index.scss +13 -0
  863. package/dist/views/Version/SelectComparison/types.d.ts +27 -0
  864. package/dist/views/Version/SelectComparison/types.d.ts.map +1 -0
  865. package/dist/views/Version/SelectComparison/types.js +3 -0
  866. package/dist/views/Version/SelectComparison/types.js.map +1 -0
  867. package/dist/views/Version/SelectLocales/index.d.ts +5 -0
  868. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -0
  869. package/dist/views/Version/SelectLocales/index.js +38 -0
  870. package/dist/views/Version/SelectLocales/index.js.map +1 -0
  871. package/dist/views/Version/SelectLocales/index.scss +7 -0
  872. package/dist/views/Version/SelectLocales/types.d.ts +7 -0
  873. package/dist/views/Version/SelectLocales/types.d.ts.map +1 -0
  874. package/dist/views/Version/SelectLocales/types.js +3 -0
  875. package/dist/views/Version/SelectLocales/types.js.map +1 -0
  876. package/dist/views/Version/index.d.ts +3 -0
  877. package/dist/views/Version/index.d.ts.map +1 -0
  878. package/dist/views/Version/index.js +88 -0
  879. package/dist/views/Version/index.js.map +1 -0
  880. package/dist/views/Version/meta.d.ts +3 -0
  881. package/dist/views/Version/meta.d.ts.map +1 -0
  882. package/dist/views/Version/meta.js +44 -0
  883. package/dist/views/Version/meta.js.map +1 -0
  884. package/dist/views/Versions/buildColumns.d.ts +13 -0
  885. package/dist/views/Versions/buildColumns.d.ts.map +1 -0
  886. package/dist/views/Versions/buildColumns.js +67 -0
  887. package/dist/views/Versions/buildColumns.js.map +1 -0
  888. package/dist/views/Versions/cells/AutosaveCell/index.d.ts +9 -0
  889. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -0
  890. package/dist/views/Versions/cells/AutosaveCell/index.js +52 -0
  891. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -0
  892. package/dist/views/Versions/cells/CreatedAt/index.d.ts +9 -0
  893. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -0
  894. package/dist/views/Versions/cells/CreatedAt/index.js +26 -0
  895. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -0
  896. package/dist/views/Versions/cells/ID/index.d.ts +3 -0
  897. package/dist/views/Versions/cells/ID/index.d.ts.map +1 -0
  898. package/dist/views/Versions/cells/ID/index.js +12 -0
  899. package/dist/views/Versions/cells/ID/index.js.map +1 -0
  900. package/dist/views/Versions/getLatestVersion.d.ts +5 -0
  901. package/dist/views/Versions/getLatestVersion.d.ts.map +1 -0
  902. package/dist/views/Versions/getLatestVersion.js +29 -0
  903. package/dist/views/Versions/getLatestVersion.js.map +1 -0
  904. package/dist/views/Versions/index.client.d.ts +10 -0
  905. package/dist/views/Versions/index.client.d.ts.map +1 -0
  906. package/dist/views/Versions/index.client.js +81 -0
  907. package/dist/views/Versions/index.client.js.map +1 -0
  908. package/dist/views/Versions/index.d.ts +5 -0
  909. package/dist/views/Versions/index.d.ts.map +1 -0
  910. package/dist/views/Versions/index.js +123 -0
  911. package/dist/views/Versions/index.js.map +1 -0
  912. package/dist/views/Versions/index.scss +108 -0
  913. package/dist/views/Versions/meta.d.ts +3 -0
  914. package/dist/views/Versions/meta.d.ts.map +1 -0
  915. package/dist/views/Versions/meta.js +37 -0
  916. package/dist/views/Versions/meta.js.map +1 -0
  917. package/dist/views/Versions/types.d.ts +17 -0
  918. package/dist/views/Versions/types.d.ts.map +1 -0
  919. package/dist/views/Versions/types.js +3 -0
  920. package/dist/views/Versions/types.js.map +1 -0
  921. package/dist/withPayload.d.ts +3 -0
  922. package/dist/withPayload.d.ts.map +1 -0
  923. package/dist/withPayload.js +119 -0
  924. package/dist/withPayload.js.map +1 -0
  925. package/package.json +6 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/fetchAPI-multipart/handlers.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAI3D,KAAK,OAAO,GAAG,CACb,OAAO,EAAE,yBAAyB,EAClC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,KACb;IACH,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,EAAE,MAAM,MAAM,CAAA;IACtB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,WAAW,EAAE,MAAM,MAAM,CAAA;IACzB,WAAW,EAAE,MAAM,MAAM,CAAA;IACzB,OAAO,EAAE,MAAM,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;CACxC,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,OAsD7B,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,OAgCxB,CAAA"}
@@ -0,0 +1,86 @@
1
+ import crypto from 'crypto';
2
+ import fs, { WriteStream } from 'fs';
3
+ import path from 'path';
4
+ import { checkAndMakeDir, debugLog, deleteFile, getTempFilename } from './utilities.js';
5
+ export const tempFileHandler = (options, fieldname, filename)=>{
6
+ const dir = path.normalize(options.tempFileDir);
7
+ const tempFilePath = path.join(process.cwd(), dir, getTempFilename());
8
+ checkAndMakeDir({
9
+ createParentPath: true
10
+ }, tempFilePath);
11
+ debugLog(options, `Temporary file path is ${tempFilePath}`);
12
+ const hash = crypto.createHash('md5');
13
+ let fileSize = 0;
14
+ let completed = false;
15
+ debugLog(options, `Opening write stream for ${fieldname}->${filename}...`);
16
+ const writeStream = fs.createWriteStream(tempFilePath);
17
+ const writePromise = new Promise((resolve, reject)=>{
18
+ writeStream.on('finish', ()=>resolve(true));
19
+ writeStream.on('error', (err)=>{
20
+ debugLog(options, `Error write temp file: ${err}`);
21
+ reject(err);
22
+ });
23
+ });
24
+ return {
25
+ cleanup: ()=>{
26
+ completed = true;
27
+ debugLog(options, `Cleaning up temporary file ${tempFilePath}...`);
28
+ writeStream.end();
29
+ deleteFile(tempFilePath, (err)=>err ? debugLog(options, `Cleaning up temporary file ${tempFilePath} failed: ${err}`) : debugLog(options, `Cleaning up temporary file ${tempFilePath} done.`));
30
+ },
31
+ complete: ()=>{
32
+ completed = true;
33
+ debugLog(options, `Upload ${fieldname}->${filename} completed, bytes:${fileSize}.`);
34
+ if (writeStream instanceof WriteStream) writeStream.end();
35
+ // Return empty buff since data was uploaded into a temp file.
36
+ return Buffer.concat([]);
37
+ },
38
+ dataHandler: (data)=>{
39
+ if (completed === true) {
40
+ debugLog(options, `Error: got ${fieldname}->${filename} data chunk for completed upload!`);
41
+ return;
42
+ }
43
+ writeStream.write(data);
44
+ hash.update(data);
45
+ fileSize += data.length;
46
+ debugLog(options, `Uploading ${fieldname}->${filename}, bytes:${fileSize}...`);
47
+ },
48
+ getFilePath: ()=>tempFilePath,
49
+ getFileSize: ()=>fileSize,
50
+ getHash: ()=>hash.digest('hex'),
51
+ getWritePromise: ()=>writePromise
52
+ };
53
+ };
54
+ export const memHandler = (options, fieldname, filename)=>{
55
+ const buffers = [];
56
+ const hash = crypto.createHash('md5');
57
+ let fileSize = 0;
58
+ let completed = false;
59
+ const getBuffer = ()=>Buffer.concat(buffers, fileSize);
60
+ return {
61
+ cleanup: ()=>{
62
+ completed = true;
63
+ },
64
+ complete: ()=>{
65
+ debugLog(options, `Upload ${fieldname}->${filename} completed, bytes:${fileSize}.`);
66
+ completed = true;
67
+ return getBuffer();
68
+ },
69
+ dataHandler: (data)=>{
70
+ if (completed === true) {
71
+ debugLog(options, `Error: got ${fieldname}->${filename} data chunk for completed upload!`);
72
+ return;
73
+ }
74
+ buffers.push(data);
75
+ hash.update(data);
76
+ fileSize += data.length;
77
+ debugLog(options, `Uploading ${fieldname}->${filename}, bytes:${fileSize}...`);
78
+ },
79
+ getFilePath: ()=>'',
80
+ getFileSize: ()=>fileSize,
81
+ getHash: ()=>hash.digest('hex'),
82
+ getWritePromise: ()=>Promise.resolve(true)
83
+ };
84
+ };
85
+
86
+ //# sourceMappingURL=handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/fetchAPI-multipart/handlers.ts"],"sourcesContent":["import crypto from 'crypto'\nimport fs, { WriteStream } from 'fs'\nimport path from 'path'\n\nimport type { FetchAPIFileUploadOptions } from './index.js'\n\nimport { checkAndMakeDir, debugLog, deleteFile, getTempFilename } from './utilities.js'\n\ntype Handler = (\n options: FetchAPIFileUploadOptions,\n fieldname: string,\n filename: string,\n) => {\n cleanup: () => void\n complete: () => Buffer\n dataHandler: (data: Buffer) => void\n getFilePath: () => string\n getFileSize: () => number\n getHash: () => string\n getWritePromise: () => Promise<boolean>\n}\n\nexport const tempFileHandler: Handler = (options, fieldname, filename) => {\n const dir = path.normalize(options.tempFileDir)\n const tempFilePath = path.join(process.cwd(), dir, getTempFilename())\n checkAndMakeDir({ createParentPath: true }, tempFilePath)\n\n debugLog(options, `Temporary file path is ${tempFilePath}`)\n\n const hash = crypto.createHash('md5')\n let fileSize = 0\n let completed = false\n\n debugLog(options, `Opening write stream for ${fieldname}->${filename}...`)\n const writeStream = fs.createWriteStream(tempFilePath)\n const writePromise = new Promise<boolean>((resolve, reject) => {\n writeStream.on('finish', () => resolve(true))\n writeStream.on('error', (err) => {\n debugLog(options, `Error write temp file: ${err}`)\n reject(err)\n })\n })\n\n return {\n cleanup: () => {\n completed = true\n debugLog(options, `Cleaning up temporary file ${tempFilePath}...`)\n writeStream.end()\n deleteFile(tempFilePath, (err) =>\n err\n ? debugLog(options, `Cleaning up temporary file ${tempFilePath} failed: ${err}`)\n : debugLog(options, `Cleaning up temporary file ${tempFilePath} done.`),\n )\n },\n complete: () => {\n completed = true\n debugLog(options, `Upload ${fieldname}->${filename} completed, bytes:${fileSize}.`)\n if (writeStream instanceof WriteStream) writeStream.end()\n // Return empty buff since data was uploaded into a temp file.\n return Buffer.concat([])\n },\n dataHandler: (data) => {\n if (completed === true) {\n debugLog(options, `Error: got ${fieldname}->${filename} data chunk for completed upload!`)\n return\n }\n writeStream.write(data)\n hash.update(data)\n fileSize += data.length\n debugLog(options, `Uploading ${fieldname}->${filename}, bytes:${fileSize}...`)\n },\n getFilePath: () => tempFilePath,\n getFileSize: () => fileSize,\n getHash: () => hash.digest('hex'),\n getWritePromise: () => writePromise,\n }\n}\n\nexport const memHandler: Handler = (options, fieldname, filename) => {\n const buffers: Buffer[] = []\n const hash = crypto.createHash('md5')\n let fileSize = 0\n let completed = false\n\n const getBuffer = () => Buffer.concat(buffers, fileSize)\n\n return {\n cleanup: () => {\n completed = true\n },\n complete: () => {\n debugLog(options, `Upload ${fieldname}->${filename} completed, bytes:${fileSize}.`)\n completed = true\n return getBuffer()\n },\n dataHandler: (data) => {\n if (completed === true) {\n debugLog(options, `Error: got ${fieldname}->${filename} data chunk for completed upload!`)\n return\n }\n buffers.push(data)\n hash.update(data)\n fileSize += data.length\n debugLog(options, `Uploading ${fieldname}->${filename}, bytes:${fileSize}...`)\n },\n getFilePath: () => '',\n getFileSize: () => fileSize,\n getHash: () => hash.digest('hex'),\n getWritePromise: () => Promise.resolve(true),\n }\n}\n"],"names":["crypto","fs","WriteStream","path","checkAndMakeDir","debugLog","deleteFile","getTempFilename","tempFileHandler","options","fieldname","filename","dir","normalize","tempFileDir","tempFilePath","join","process","cwd","createParentPath","hash","createHash","fileSize","completed","writeStream","createWriteStream","writePromise","Promise","resolve","reject","on","err","cleanup","end","complete","Buffer","concat","dataHandler","data","write","update","length","getFilePath","getFileSize","getHash","digest","getWritePromise","memHandler","buffers","getBuffer","push"],"mappings":"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"}
@@ -0,0 +1,132 @@
1
+ import type { BusboyConfig } from 'busboy';
2
+ import { APIError } from 'payload';
3
+ export type FileShape = {
4
+ data: Buffer;
5
+ encoding: string;
6
+ md5: Buffer | string;
7
+ mimetype: string;
8
+ mv: (filePath: string, callback: () => void) => Promise<void> | void;
9
+ name: string;
10
+ size: number;
11
+ tempFilePath: string;
12
+ truncated: boolean;
13
+ };
14
+ export type FetchAPIFileUploadOptions = {
15
+ /**
16
+ * Returns a HTTP 413 when the file is bigger than the size limit if `true`.
17
+ * Otherwise, it will add a `truncated = true` to the resulting file structure.
18
+ * @default false
19
+ */
20
+ abortOnLimit?: boolean | undefined;
21
+ /**
22
+ * Automatically creates the directory path specified in `.mv(filePathName)`
23
+ * @default false
24
+ */
25
+ createParentPath?: boolean | undefined;
26
+ /**
27
+ * Turn on/off upload process logging. Can be useful for troubleshooting.
28
+ * @default false
29
+ */
30
+ debug?: boolean | undefined;
31
+ /**
32
+ * User defined limit handler which will be invoked if the file is bigger than configured limits.
33
+ * @default false
34
+ */
35
+ limitHandler?: ((args: {
36
+ request: Request;
37
+ size: number;
38
+ }) => void) | boolean | undefined;
39
+ /**
40
+ * By default, `req.body` and `req.files` are flattened like this:
41
+ * `{'name': 'John', 'hobbies[0]': 'Cinema', 'hobbies[1]': 'Bike'}
42
+ *
43
+ * When this option is enabled they are parsed in order to be nested like this:
44
+ * `{'name': 'John', 'hobbies': ['Cinema', 'Bike']}`
45
+ * @default false
46
+ */
47
+ parseNested?: boolean | undefined;
48
+ /**
49
+ * Preserves filename extension when using `safeFileNames` option.
50
+ * If set to `true`, will default to an extension length of `3`.
51
+ * If set to `number`, this will be the max allowable extension length.
52
+ * If an extension is smaller than the extension length, it remains untouched. If the extension is longer,
53
+ * it is shifted.
54
+ * @default false
55
+ *
56
+ * @example
57
+ * // true
58
+ * app.use(fileUpload({ safeFileNames: true, preserveExtension: true }));
59
+ * // myFileName.ext --> myFileName.ext
60
+ *
61
+ * @example
62
+ * // max extension length 2, extension shifted
63
+ * app.use(fileUpload({ safeFileNames: true, preserveExtension: 2 }));
64
+ * // myFileName.ext --> myFileNamee.xt
65
+ */
66
+ preserveExtension?: boolean | number | undefined;
67
+ /**
68
+ * Response which will be send to client if file size limit exceeded when `abortOnLimit` set to `true`.
69
+ * @default 'File size limit has been reached'
70
+ */
71
+ responseOnLimit?: string | undefined;
72
+ /**
73
+ * Strips characters from the upload's filename.
74
+ * You can use custom regex to determine what to strip.
75
+ * If set to `true`, non-alphanumeric characters _except_ dashes and underscores will be stripped.
76
+ * This option is off by default.
77
+ * @default false
78
+ *
79
+ * @example
80
+ * // strip slashes from file names
81
+ * app.use(fileUpload({ safeFileNames: /\\/g }))
82
+ *
83
+ * @example
84
+ * app.use(fileUpload({ safeFileNames: true }))
85
+ */
86
+ safeFileNames?: RegExp | boolean | undefined;
87
+ /**
88
+ * Path to store temporary files.
89
+ * Used along with the `useTempFiles` option. By default this module uses `'tmp'` folder
90
+ * in the current working directory.
91
+ * You can use trailing slash, but it is not necessary.
92
+ * @default './tmp'
93
+ */
94
+ tempFileDir?: string | undefined;
95
+ /**
96
+ * This defines how long to wait for data before aborting. Set to `0` if you want to turn off timeout checks.
97
+ * @default 60_000
98
+ */
99
+ uploadTimeout?: number | undefined;
100
+ /**
101
+ * Applies uri decoding to file names if set `true`.
102
+ * @default false
103
+ */
104
+ uriDecodeFileNames?: boolean | undefined;
105
+ /**
106
+ * By default this module uploads files into RAM.
107
+ * Setting this option to `true` turns on using temporary files instead of utilising RAM.
108
+ * This avoids memory overflow issues when uploading large files or in case of uploading
109
+ * lots of files at same time.
110
+ * @default false
111
+ */
112
+ useTempFiles?: boolean | undefined;
113
+ } & Partial<BusboyConfig>;
114
+ type FetchAPIFileUploadResponseFile = {
115
+ data: Buffer;
116
+ mimetype: string;
117
+ name: string;
118
+ size: number;
119
+ tempFilePath?: string;
120
+ };
121
+ export type FetchAPIFileUploadResponse = {
122
+ error?: APIError;
123
+ fields: Record<string, string>;
124
+ files: Record<string, FetchAPIFileUploadResponseFile>;
125
+ };
126
+ type FetchAPIFileUpload = (args: {
127
+ options?: FetchAPIFileUploadOptions;
128
+ request: Request;
129
+ }) => Promise<FetchAPIFileUploadResponse>;
130
+ export declare const fetchAPIFileUpload: FetchAPIFileUpload;
131
+ export {};
132
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fetchAPI-multipart/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAG1C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAsBlC,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACpE,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAClC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACtC;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC3B;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,OAAO,GAAG,SAAS,CAAA;IACzF;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACjC;;;;;;;;;;;;;;;;;OAiBG;IACH,iBAAiB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;IAChD;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC;;;;;;;;;;;;;OAaG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;IAC5C;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACxC;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CACnC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;AAEzB,KAAK,8BAA8B,GAAG;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAA;CACtD,CAAA;AAED,KAAK,kBAAkB,GAAG,CAAC,IAAI,EAAE;IAC/B,OAAO,CAAC,EAAE,yBAAyB,CAAA;IACnC,OAAO,EAAE,OAAO,CAAA;CACjB,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAA;AACzC,eAAO,MAAM,kBAAkB,EAAE,kBAYhC,CAAA"}
@@ -0,0 +1,41 @@
1
+ import path from 'path';
2
+ import { APIError } from 'payload';
3
+ import { isEligibleRequest } from './isEligibleRequest.js';
4
+ import { processMultipart } from './processMultipart.js';
5
+ import { debugLog } from './utilities.js';
6
+ const DEFAULT_OPTIONS = {
7
+ abortOnLimit: false,
8
+ createParentPath: false,
9
+ debug: false,
10
+ fileHandler: false,
11
+ limitHandler: false,
12
+ parseNested: false,
13
+ preserveExtension: false,
14
+ responseOnLimit: 'File size limit has been reached',
15
+ safeFileNames: false,
16
+ tempFileDir: path.join(process.cwd(), 'tmp'),
17
+ uploadTimeout: 60000,
18
+ uriDecodeFileNames: false,
19
+ useTempFiles: false
20
+ };
21
+ export const fetchAPIFileUpload = async ({ options, request })=>{
22
+ const uploadOptions = {
23
+ ...DEFAULT_OPTIONS,
24
+ ...options
25
+ };
26
+ if (!isEligibleRequest(request)) {
27
+ debugLog(uploadOptions, 'Request is not eligible for file upload!');
28
+ return {
29
+ error: new APIError('Request is not eligible for file upload', 500),
30
+ fields: undefined,
31
+ files: undefined
32
+ };
33
+ } else {
34
+ return processMultipart({
35
+ options: uploadOptions,
36
+ request
37
+ });
38
+ }
39
+ };
40
+
41
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/fetchAPI-multipart/index.ts"],"sourcesContent":["import type { BusboyConfig } from 'busboy'\n\nimport path from 'path'\nimport { APIError } from 'payload'\n\nimport { isEligibleRequest } from './isEligibleRequest.js'\nimport { processMultipart } from './processMultipart.js'\nimport { debugLog } from './utilities.js'\n\nconst DEFAULT_OPTIONS = {\n abortOnLimit: false,\n createParentPath: false,\n debug: false,\n fileHandler: false,\n limitHandler: false,\n parseNested: false,\n preserveExtension: false,\n responseOnLimit: 'File size limit has been reached',\n safeFileNames: false,\n tempFileDir: path.join(process.cwd(), 'tmp'),\n uploadTimeout: 60000,\n uriDecodeFileNames: false,\n useTempFiles: false,\n}\n\nexport type FileShape = {\n data: Buffer\n encoding: string\n md5: Buffer | string\n mimetype: string\n mv: (filePath: string, callback: () => void) => Promise<void> | void\n name: string\n size: number\n tempFilePath: string\n truncated: boolean\n}\n\nexport type FetchAPIFileUploadOptions = {\n /**\n * Returns a HTTP 413 when the file is bigger than the size limit if `true`.\n * Otherwise, it will add a `truncated = true` to the resulting file structure.\n * @default false\n */\n abortOnLimit?: boolean | undefined\n /**\n * Automatically creates the directory path specified in `.mv(filePathName)`\n * @default false\n */\n createParentPath?: boolean | undefined\n /**\n * Turn on/off upload process logging. Can be useful for troubleshooting.\n * @default false\n */\n debug?: boolean | undefined\n /**\n * User defined limit handler which will be invoked if the file is bigger than configured limits.\n * @default false\n */\n limitHandler?: ((args: { request: Request; size: number }) => void) | boolean | undefined\n /**\n * By default, `req.body` and `req.files` are flattened like this:\n * `{'name': 'John', 'hobbies[0]': 'Cinema', 'hobbies[1]': 'Bike'}\n *\n * When this option is enabled they are parsed in order to be nested like this:\n * `{'name': 'John', 'hobbies': ['Cinema', 'Bike']}`\n * @default false\n */\n parseNested?: boolean | undefined\n /**\n * Preserves filename extension when using `safeFileNames` option.\n * If set to `true`, will default to an extension length of `3`.\n * If set to `number`, this will be the max allowable extension length.\n * If an extension is smaller than the extension length, it remains untouched. If the extension is longer,\n * it is shifted.\n * @default false\n *\n * @example\n * // true\n * app.use(fileUpload({ safeFileNames: true, preserveExtension: true }));\n * // myFileName.ext --> myFileName.ext\n *\n * @example\n * // max extension length 2, extension shifted\n * app.use(fileUpload({ safeFileNames: true, preserveExtension: 2 }));\n * // myFileName.ext --> myFileNamee.xt\n */\n preserveExtension?: boolean | number | undefined\n /**\n * Response which will be send to client if file size limit exceeded when `abortOnLimit` set to `true`.\n * @default 'File size limit has been reached'\n */\n responseOnLimit?: string | undefined\n /**\n * Strips characters from the upload's filename.\n * You can use custom regex to determine what to strip.\n * If set to `true`, non-alphanumeric characters _except_ dashes and underscores will be stripped.\n * This option is off by default.\n * @default false\n *\n * @example\n * // strip slashes from file names\n * app.use(fileUpload({ safeFileNames: /\\\\/g }))\n *\n * @example\n * app.use(fileUpload({ safeFileNames: true }))\n */\n safeFileNames?: RegExp | boolean | undefined\n /**\n * Path to store temporary files.\n * Used along with the `useTempFiles` option. By default this module uses `'tmp'` folder\n * in the current working directory.\n * You can use trailing slash, but it is not necessary.\n * @default './tmp'\n */\n tempFileDir?: string | undefined\n /**\n * This defines how long to wait for data before aborting. Set to `0` if you want to turn off timeout checks.\n * @default 60_000\n */\n uploadTimeout?: number | undefined\n /**\n * Applies uri decoding to file names if set `true`.\n * @default false\n */\n uriDecodeFileNames?: boolean | undefined\n /**\n * By default this module uploads files into RAM.\n * Setting this option to `true` turns on using temporary files instead of utilising RAM.\n * This avoids memory overflow issues when uploading large files or in case of uploading\n * lots of files at same time.\n * @default false\n */\n useTempFiles?: boolean | undefined\n} & Partial<BusboyConfig>\n\ntype FetchAPIFileUploadResponseFile = {\n data: Buffer\n mimetype: string\n name: string\n size: number\n tempFilePath?: string\n}\n\nexport type FetchAPIFileUploadResponse = {\n error?: APIError\n fields: Record<string, string>\n files: Record<string, FetchAPIFileUploadResponseFile>\n}\n\ntype FetchAPIFileUpload = (args: {\n options?: FetchAPIFileUploadOptions\n request: Request\n}) => Promise<FetchAPIFileUploadResponse>\nexport const fetchAPIFileUpload: FetchAPIFileUpload = async ({ options, request }) => {\n const uploadOptions: FetchAPIFileUploadOptions = { ...DEFAULT_OPTIONS, ...options }\n if (!isEligibleRequest(request)) {\n debugLog(uploadOptions, 'Request is not eligible for file upload!')\n return {\n error: new APIError('Request is not eligible for file upload', 500),\n fields: undefined,\n files: undefined,\n }\n } else {\n return processMultipart({ options: uploadOptions, request })\n }\n}\n"],"names":["path","APIError","isEligibleRequest","processMultipart","debugLog","DEFAULT_OPTIONS","abortOnLimit","createParentPath","debug","fileHandler","limitHandler","parseNested","preserveExtension","responseOnLimit","safeFileNames","tempFileDir","join","process","cwd","uploadTimeout","uriDecodeFileNames","useTempFiles","fetchAPIFileUpload","options","request","uploadOptions","error","fields","undefined","files"],"mappings":"AAEA,OAAOA,UAAU,OAAM;AACvB,SAASC,QAAQ,QAAQ,UAAS;AAElC,SAASC,iBAAiB,QAAQ,yBAAwB;AAC1D,SAASC,gBAAgB,QAAQ,wBAAuB;AACxD,SAASC,QAAQ,QAAQ,iBAAgB;AAEzC,MAAMC,kBAAkB;IACtBC,cAAc;IACdC,kBAAkB;IAClBC,OAAO;IACPC,aAAa;IACbC,cAAc;IACdC,aAAa;IACbC,mBAAmB;IACnBC,iBAAiB;IACjBC,eAAe;IACfC,aAAaf,KAAKgB,IAAI,CAACC,QAAQC,GAAG,IAAI;IACtCC,eAAe;IACfC,oBAAoB;IACpBC,cAAc;AAChB;AAkIA,OAAO,MAAMC,qBAAyC,OAAO,EAAEC,OAAO,EAAEC,OAAO,EAAE;IAC/E,MAAMC,gBAA2C;QAAE,GAAGpB,eAAe;QAAE,GAAGkB,OAAO;IAAC;IAClF,IAAI,CAACrB,kBAAkBsB,UAAU;QAC/BpB,SAASqB,eAAe;QACxB,OAAO;YACLC,OAAO,IAAIzB,SAAS,2CAA2C;YAC/D0B,QAAQC;YACRC,OAAOD;QACT;IACF,OAAO;QACL,OAAOzB,iBAAiB;YAAEoB,SAASE;YAAeD;QAAQ;IAC5D;AACF,EAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const isEligibleRequest: (req: Request) => boolean;
2
+ //# sourceMappingURL=isEligibleRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isEligibleRequest.d.ts","sourceRoot":"","sources":["../../src/fetchAPI-multipart/isEligibleRequest.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,iBAAiB,QAAS,OAAO,KAAG,OAMhD,CAAA"}
@@ -0,0 +1,26 @@
1
+ const ACCEPTABLE_CONTENT_TYPE = /multipart\/['"()+-_]+(?:; ?['"()+-_]*)+$/i;
2
+ const UNACCEPTABLE_METHODS = new Set([
3
+ 'GET',
4
+ 'HEAD',
5
+ 'DELETE',
6
+ 'OPTIONS',
7
+ 'CONNECT',
8
+ 'TRACE'
9
+ ]);
10
+ const hasBody = (req)=>{
11
+ return Boolean(req.headers.get('transfer-encoding') || req.headers.get('content-length') && req.headers.get('content-length') !== '0');
12
+ };
13
+ const hasAcceptableMethod = (req)=>!UNACCEPTABLE_METHODS.has(req.method);
14
+ const hasAcceptableContentType = (req)=>{
15
+ const contType = req.headers.get('content-type');
16
+ return contType.includes('boundary=') && ACCEPTABLE_CONTENT_TYPE.test(contType);
17
+ };
18
+ export const isEligibleRequest = (req)=>{
19
+ try {
20
+ return hasBody(req) && hasAcceptableMethod(req) && hasAcceptableContentType(req);
21
+ } catch (e) {
22
+ return false;
23
+ }
24
+ };
25
+
26
+ //# sourceMappingURL=isEligibleRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/fetchAPI-multipart/isEligibleRequest.ts"],"sourcesContent":["const ACCEPTABLE_CONTENT_TYPE = /multipart\\/['\"()+-_]+(?:; ?['\"()+-_]*)+$/i\nconst UNACCEPTABLE_METHODS = new Set(['GET', 'HEAD', 'DELETE', 'OPTIONS', 'CONNECT', 'TRACE'])\n\nconst hasBody = (req: Request): boolean => {\n return Boolean(\n req.headers.get('transfer-encoding') ||\n (req.headers.get('content-length') && req.headers.get('content-length') !== '0'),\n )\n}\n\nconst hasAcceptableMethod = (req: Request): boolean => !UNACCEPTABLE_METHODS.has(req.method)\n\nconst hasAcceptableContentType = (req: Request): boolean => {\n const contType = req.headers.get('content-type')\n return contType.includes('boundary=') && ACCEPTABLE_CONTENT_TYPE.test(contType)\n}\n\nexport const isEligibleRequest = (req: Request): boolean => {\n try {\n return hasBody(req) && hasAcceptableMethod(req) && hasAcceptableContentType(req)\n } catch (e) {\n return false\n }\n}\n"],"names":["ACCEPTABLE_CONTENT_TYPE","UNACCEPTABLE_METHODS","Set","hasBody","req","Boolean","headers","get","hasAcceptableMethod","has","method","hasAcceptableContentType","contType","includes","test","isEligibleRequest","e"],"mappings":"AAAA,MAAMA,0BAA0B;AAChC,MAAMC,uBAAuB,IAAIC,IAAI;IAAC;IAAO;IAAQ;IAAU;IAAW;IAAW;CAAQ;AAE7F,MAAMC,UAAU,CAACC;IACf,OAAOC,QACLD,IAAIE,OAAO,CAACC,GAAG,CAAC,wBACbH,IAAIE,OAAO,CAACC,GAAG,CAAC,qBAAqBH,IAAIE,OAAO,CAACC,GAAG,CAAC,sBAAsB;AAElF;AAEA,MAAMC,sBAAsB,CAACJ,MAA0B,CAACH,qBAAqBQ,GAAG,CAACL,IAAIM,MAAM;AAE3F,MAAMC,2BAA2B,CAACP;IAChC,MAAMQ,WAAWR,IAAIE,OAAO,CAACC,GAAG,CAAC;IACjC,OAAOK,SAASC,QAAQ,CAAC,gBAAgBb,wBAAwBc,IAAI,CAACF;AACxE;AAEA,OAAO,MAAMG,oBAAoB,CAACX;IAChC,IAAI;QACF,OAAOD,QAAQC,QAAQI,oBAAoBJ,QAAQO,yBAAyBP;IAC9E,EAAE,OAAOY,GAAG;QACV,OAAO;IACT;AACF,EAAC"}
@@ -0,0 +1,8 @@
1
+ import type { FetchAPIFileUploadOptions, FetchAPIFileUploadResponse } from './index.js';
2
+ type ProcessMultipart = (args: {
3
+ options: FetchAPIFileUploadOptions;
4
+ request: Request;
5
+ }) => Promise<FetchAPIFileUploadResponse>;
6
+ export declare const processMultipart: ProcessMultipart;
7
+ export {};
8
+ //# sourceMappingURL=processMultipart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processMultipart.d.ts","sourceRoot":"","sources":["../../src/fetchAPI-multipart/processMultipart.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AAUvF,KAAK,gBAAgB,GAAG,CAAC,IAAI,EAAE;IAC7B,OAAO,EAAE,yBAAyB,CAAA;IAClC,OAAO,EAAE,OAAO,CAAA;CACjB,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAA;AACzC,eAAO,MAAM,gBAAgB,EAAE,gBAoM9B,CAAA"}
@@ -0,0 +1,162 @@
1
+ import Busboy from 'busboy';
2
+ import httpStatus from 'http-status';
3
+ import { APIError } from 'payload';
4
+ import { fileFactory } from './fileFactory.js';
5
+ import { memHandler, tempFileHandler } from './handlers.js';
6
+ import { processNested } from './processNested.js';
7
+ import { createUploadTimer } from './uploadTimer.js';
8
+ import { buildFields, debugLog, isFunc, parseFileName } from './utilities.js';
9
+ const waitFlushProperty = Symbol('wait flush property symbol');
10
+ export const processMultipart = async ({ options, request })=>{
11
+ let parsingRequest = true;
12
+ let fileCount = 0;
13
+ let filesCompleted = 0;
14
+ let allFilesHaveResolved;
15
+ let failedResolvingFiles;
16
+ const allFilesComplete = new Promise((res, rej)=>{
17
+ allFilesHaveResolved = res;
18
+ failedResolvingFiles = rej;
19
+ });
20
+ const result = {
21
+ fields: undefined,
22
+ files: undefined
23
+ };
24
+ const headersObject = {};
25
+ request.headers.forEach((value, name)=>{
26
+ headersObject[name] = value;
27
+ });
28
+ function abortAndDestroyFile(file, err) {
29
+ file.destroy();
30
+ parsingRequest = false;
31
+ failedResolvingFiles(err);
32
+ }
33
+ const busboy = Busboy({
34
+ ...options,
35
+ headers: headersObject
36
+ });
37
+ // Build multipart req.body fields
38
+ busboy.on('field', (field, val)=>{
39
+ result.fields = buildFields(result.fields, field, val);
40
+ });
41
+ // Build req.files fields
42
+ busboy.on('file', (field, file, info)=>{
43
+ fileCount += 1;
44
+ // Parse file name(cutting huge names, decoding, etc..).
45
+ const { encoding, filename: name, mimeType: mime } = info;
46
+ const filename = parseFileName(options, name);
47
+ // Define methods and handlers for upload process.
48
+ const { cleanup, complete, dataHandler, getFilePath, getFileSize, getHash, getWritePromise } = options.useTempFiles ? tempFileHandler(options, field, filename) // Upload into temporary file.
49
+ : memHandler(options, field, filename) // Upload into RAM.
50
+ ;
51
+ const writePromise = options.useTempFiles ? getWritePromise().catch((err)=>{
52
+ busboy.end();
53
+ cleanup();
54
+ }) : getWritePromise();
55
+ const uploadTimer = createUploadTimer(options.uploadTimeout, ()=>{
56
+ return abortAndDestroyFile(file, new APIError(`Upload timeout for ${field}->${filename}, bytes:${getFileSize()}`));
57
+ });
58
+ file.on('limit', ()=>{
59
+ debugLog(options, `Size limit reached for ${field}->${filename}, bytes:${getFileSize()}`);
60
+ uploadTimer.clear();
61
+ if (isFunc(options.limitHandler)) {
62
+ options.limitHandler({
63
+ request,
64
+ size: getFileSize()
65
+ });
66
+ }
67
+ // Return error and cleanup files if abortOnLimit set.
68
+ if (options.abortOnLimit) {
69
+ debugLog(options, `Upload file size limit reached ${field}->${filename}.`);
70
+ cleanup();
71
+ abortAndDestroyFile(file, new APIError(options.responseOnLimit, httpStatus.REQUEST_ENTITY_TOO_LARGE, {
72
+ size: getFileSize()
73
+ }));
74
+ }
75
+ });
76
+ file.on('data', (data)=>{
77
+ uploadTimer.set();
78
+ dataHandler(data);
79
+ });
80
+ file.on('end', ()=>{
81
+ const size = getFileSize();
82
+ debugLog(options, `Upload finished ${field}->${filename}, bytes:${size}`);
83
+ uploadTimer.clear();
84
+ if (!name && size === 0) {
85
+ fileCount -= 1;
86
+ if (options.useTempFiles) {
87
+ cleanup();
88
+ debugLog(options, `Removing the empty file ${field}->${filename}`);
89
+ }
90
+ return debugLog(options, `Don't add file instance if original name and size are empty`);
91
+ }
92
+ filesCompleted += 1;
93
+ result.files = buildFields(result.files, field, fileFactory({
94
+ name: filename,
95
+ buffer: complete(),
96
+ encoding,
97
+ hash: getHash(),
98
+ mimetype: mime,
99
+ size,
100
+ tempFilePath: getFilePath(),
101
+ truncated: Boolean('truncated' in file && file.truncated)
102
+ }, options));
103
+ if (!request[waitFlushProperty]) {
104
+ request[waitFlushProperty] = [];
105
+ }
106
+ request[waitFlushProperty].push(writePromise);
107
+ if (filesCompleted === fileCount) {
108
+ allFilesHaveResolved();
109
+ }
110
+ });
111
+ file.on('error', (err)=>{
112
+ uploadTimer.clear();
113
+ debugLog(options, `File Error: ${err.message}`);
114
+ cleanup();
115
+ failedResolvingFiles(err);
116
+ });
117
+ // Start upload process.
118
+ debugLog(options, `New upload started ${field}->${filename}, bytes:${getFileSize()}`);
119
+ uploadTimer.set();
120
+ });
121
+ busboy.on('finish', async ()=>{
122
+ debugLog(options, `Busboy finished parsing request.`);
123
+ if (options.parseNested) {
124
+ result.fields = processNested(result.fields);
125
+ result.files = processNested(result.files);
126
+ }
127
+ if (request[waitFlushProperty]) {
128
+ try {
129
+ await Promise.all(request[waitFlushProperty]).then(()=>{
130
+ delete request[waitFlushProperty];
131
+ });
132
+ } catch (err) {
133
+ debugLog(options, `Error waiting for file write promises: ${err}`);
134
+ }
135
+ }
136
+ return result;
137
+ });
138
+ busboy.on('error', (err = new APIError('Busboy error parsing multipart request', httpStatus.BAD_REQUEST))=>{
139
+ debugLog(options, `Busboy error`);
140
+ parsingRequest = false;
141
+ throw err;
142
+ });
143
+ const reader = request.body.getReader();
144
+ // Start parsing request
145
+ while(parsingRequest){
146
+ const { done, value } = await reader.read();
147
+ if (done) {
148
+ parsingRequest = false;
149
+ }
150
+ if (value) {
151
+ busboy.write(value);
152
+ }
153
+ }
154
+ if (fileCount !== 0) {
155
+ await allFilesComplete.catch((e)=>{
156
+ throw e;
157
+ });
158
+ }
159
+ return result;
160
+ };
161
+
162
+ //# sourceMappingURL=processMultipart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/fetchAPI-multipart/processMultipart.ts"],"sourcesContent":["import type { Readable } from 'stream'\n\nimport Busboy from 'busboy'\nimport httpStatus from 'http-status'\nimport { APIError } from 'payload'\n\nimport type { FetchAPIFileUploadOptions, FetchAPIFileUploadResponse } from './index.js'\n\nimport { fileFactory } from './fileFactory.js'\nimport { memHandler, tempFileHandler } from './handlers.js'\nimport { processNested } from './processNested.js'\nimport { createUploadTimer } from './uploadTimer.js'\nimport { buildFields, debugLog, isFunc, parseFileName } from './utilities.js'\n\nconst waitFlushProperty = Symbol('wait flush property symbol')\n\ntype ProcessMultipart = (args: {\n options: FetchAPIFileUploadOptions\n request: Request\n}) => Promise<FetchAPIFileUploadResponse>\nexport const processMultipart: ProcessMultipart = async ({ options, request }) => {\n let parsingRequest = true\n\n let fileCount = 0\n let filesCompleted = 0\n let allFilesHaveResolved: (value?: unknown) => void\n let failedResolvingFiles: (err: Error) => void\n\n const allFilesComplete = new Promise((res, rej) => {\n allFilesHaveResolved = res\n failedResolvingFiles = rej\n })\n\n const result: FetchAPIFileUploadResponse = {\n fields: undefined,\n files: undefined,\n }\n\n const headersObject = {}\n request.headers.forEach((value, name) => {\n headersObject[name] = value\n })\n\n function abortAndDestroyFile(file: Readable, err: APIError) {\n file.destroy()\n parsingRequest = false\n failedResolvingFiles(err)\n }\n\n const busboy = Busboy({ ...options, headers: headersObject })\n\n // Build multipart req.body fields\n busboy.on('field', (field, val) => {\n result.fields = buildFields(result.fields, field, val)\n })\n\n // Build req.files fields\n busboy.on('file', (field, file, info) => {\n fileCount += 1\n // Parse file name(cutting huge names, decoding, etc..).\n const { encoding, filename: name, mimeType: mime } = info\n const filename = parseFileName(options, name)\n\n // Define methods and handlers for upload process.\n const { cleanup, complete, dataHandler, getFilePath, getFileSize, getHash, getWritePromise } =\n options.useTempFiles\n ? tempFileHandler(options, field, filename) // Upload into temporary file.\n : memHandler(options, field, filename) // Upload into RAM.\n\n const writePromise = options.useTempFiles\n ? getWritePromise().catch((err) => {\n busboy.end()\n cleanup()\n })\n : getWritePromise()\n\n const uploadTimer = createUploadTimer(options.uploadTimeout, () => {\n return abortAndDestroyFile(\n file,\n new APIError(`Upload timeout for ${field}->${filename}, bytes:${getFileSize()}`),\n )\n })\n\n file.on('limit', () => {\n debugLog(options, `Size limit reached for ${field}->${filename}, bytes:${getFileSize()}`)\n uploadTimer.clear()\n\n if (isFunc(options.limitHandler)) {\n options.limitHandler({ request, size: getFileSize() })\n }\n\n // Return error and cleanup files if abortOnLimit set.\n if (options.abortOnLimit) {\n debugLog(options, `Upload file size limit reached ${field}->${filename}.`)\n cleanup()\n abortAndDestroyFile(\n file,\n new APIError(options.responseOnLimit, httpStatus.REQUEST_ENTITY_TOO_LARGE, {\n size: getFileSize(),\n }),\n )\n }\n })\n\n file.on('data', (data) => {\n uploadTimer.set()\n dataHandler(data)\n })\n\n file.on('end', () => {\n const size = getFileSize()\n debugLog(options, `Upload finished ${field}->${filename}, bytes:${size}`)\n uploadTimer.clear()\n\n if (!name && size === 0) {\n fileCount -= 1\n if (options.useTempFiles) {\n cleanup()\n debugLog(options, `Removing the empty file ${field}->${filename}`)\n }\n return debugLog(options, `Don't add file instance if original name and size are empty`)\n }\n\n filesCompleted += 1\n\n result.files = buildFields(\n result.files,\n field,\n fileFactory(\n {\n name: filename,\n buffer: complete(),\n encoding,\n hash: getHash(),\n mimetype: mime,\n size,\n tempFilePath: getFilePath(),\n truncated: Boolean('truncated' in file && file.truncated),\n },\n options,\n ),\n )\n\n if (!request[waitFlushProperty]) {\n request[waitFlushProperty] = []\n }\n request[waitFlushProperty].push(writePromise)\n\n if (filesCompleted === fileCount) {\n allFilesHaveResolved()\n }\n })\n\n file.on('error', (err) => {\n uploadTimer.clear()\n debugLog(options, `File Error: ${err.message}`)\n cleanup()\n failedResolvingFiles(err)\n })\n\n // Start upload process.\n debugLog(options, `New upload started ${field}->${filename}, bytes:${getFileSize()}`)\n uploadTimer.set()\n })\n\n busboy.on('finish', async () => {\n debugLog(options, `Busboy finished parsing request.`)\n if (options.parseNested) {\n result.fields = processNested(result.fields)\n result.files = processNested(result.files)\n }\n\n if (request[waitFlushProperty]) {\n try {\n await Promise.all(request[waitFlushProperty]).then(() => {\n delete request[waitFlushProperty]\n })\n } catch (err) {\n debugLog(options, `Error waiting for file write promises: ${err}`)\n }\n }\n\n return result\n })\n\n busboy.on(\n 'error',\n (err = new APIError('Busboy error parsing multipart request', httpStatus.BAD_REQUEST)) => {\n debugLog(options, `Busboy error`)\n parsingRequest = false\n throw err\n },\n )\n\n const reader = request.body.getReader()\n\n // Start parsing request\n while (parsingRequest) {\n const { done, value } = await reader.read()\n\n if (done) {\n parsingRequest = false\n }\n\n if (value) {\n busboy.write(value)\n }\n }\n\n if (fileCount !== 0) {\n await allFilesComplete.catch((e) => {\n throw e\n })\n }\n\n return result\n}\n"],"names":["Busboy","httpStatus","APIError","fileFactory","memHandler","tempFileHandler","processNested","createUploadTimer","buildFields","debugLog","isFunc","parseFileName","waitFlushProperty","Symbol","processMultipart","options","request","parsingRequest","fileCount","filesCompleted","allFilesHaveResolved","failedResolvingFiles","allFilesComplete","Promise","res","rej","result","fields","undefined","files","headersObject","headers","forEach","value","name","abortAndDestroyFile","file","err","destroy","busboy","on","field","val","info","encoding","filename","mimeType","mime","cleanup","complete","dataHandler","getFilePath","getFileSize","getHash","getWritePromise","useTempFiles","writePromise","catch","end","uploadTimer","uploadTimeout","clear","limitHandler","size","abortOnLimit","responseOnLimit","REQUEST_ENTITY_TOO_LARGE","data","set","buffer","hash","mimetype","tempFilePath","truncated","Boolean","push","message","parseNested","all","then","BAD_REQUEST","reader","body","getReader","done","read","write","e"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const processNested: (data: any) => any;
2
+ //# sourceMappingURL=processNested.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processNested.d.ts","sourceRoot":"","sources":["../../src/fetchAPI-multipart/processNested.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,oBA6BzB,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { isSafeFromPollution } from './utilities.js';
2
+ export const processNested = function(data) {
3
+ if (!data || data.length < 1) return Object.create(null);
4
+ const d = Object.create(null), keys = Object.keys(data);
5
+ for(let i = 0; i < keys.length; i++){
6
+ const key = keys[i], value = data[key], keyParts = key.replace(new RegExp(/\[/g), '.').replace(new RegExp(/\]/g), '').split('.');
7
+ let current = d;
8
+ for(let index = 0; index < keyParts.length; index++){
9
+ const k = keyParts[index];
10
+ // Ensure we don't allow prototype pollution
11
+ if (!isSafeFromPollution(current, k)) {
12
+ continue;
13
+ }
14
+ if (index >= keyParts.length - 1) {
15
+ current[k] = value;
16
+ } else {
17
+ if (!current[k]) current[k] = !keyParts[index + 1] ? [] : Object.create(null);
18
+ current = current[k];
19
+ }
20
+ }
21
+ }
22
+ return d;
23
+ };
24
+
25
+ //# sourceMappingURL=processNested.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/fetchAPI-multipart/processNested.ts"],"sourcesContent":["import { isSafeFromPollution } from './utilities.js'\n\nexport const processNested = function (data) {\n if (!data || data.length < 1) return Object.create(null)\n\n const d = Object.create(null),\n keys = Object.keys(data)\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i],\n value = data[key],\n keyParts = key.replace(new RegExp(/\\[/g), '.').replace(new RegExp(/\\]/g), '').split('.')\n let current = d\n\n for (let index = 0; index < keyParts.length; index++) {\n const k = keyParts[index]\n\n // Ensure we don't allow prototype pollution\n if (!isSafeFromPollution(current, k)) {\n continue\n }\n\n if (index >= keyParts.length - 1) {\n current[k] = value\n } else {\n if (!current[k]) current[k] = !keyParts[index + 1] ? [] : Object.create(null)\n current = current[k]\n }\n }\n }\n return d\n}\n"],"names":["isSafeFromPollution","processNested","data","length","Object","create","d","keys","i","key","value","keyParts","replace","RegExp","split","current","index","k"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,iBAAgB;AAEpD,OAAO,MAAMC,gBAAgB,SAAUC,IAAI;IACzC,IAAI,CAACA,QAAQA,KAAKC,MAAM,GAAG,GAAG,OAAOC,OAAOC,MAAM,CAAC;IAEnD,MAAMC,IAAIF,OAAOC,MAAM,CAAC,OACtBE,OAAOH,OAAOG,IAAI,CAACL;IAErB,IAAK,IAAIM,IAAI,GAAGA,IAAID,KAAKJ,MAAM,EAAEK,IAAK;QACpC,MAAMC,MAAMF,IAAI,CAACC,EAAE,EACjBE,QAAQR,IAAI,CAACO,IAAI,EACjBE,WAAWF,IAAIG,OAAO,CAAC,IAAIC,OAAO,QAAQ,KAAKD,OAAO,CAAC,IAAIC,OAAO,QAAQ,IAAIC,KAAK,CAAC;QACtF,IAAIC,UAAUT;QAEd,IAAK,IAAIU,QAAQ,GAAGA,QAAQL,SAASR,MAAM,EAAEa,QAAS;YACpD,MAAMC,IAAIN,QAAQ,CAACK,MAAM;YAEzB,4CAA4C;YAC5C,IAAI,CAAChB,oBAAoBe,SAASE,IAAI;gBACpC;YACF;YAEA,IAAID,SAASL,SAASR,MAAM,GAAG,GAAG;gBAChCY,OAAO,CAACE,EAAE,GAAGP;YACf,OAAO;gBACL,IAAI,CAACK,OAAO,CAACE,EAAE,EAAEF,OAAO,CAACE,EAAE,GAAG,CAACN,QAAQ,CAACK,QAAQ,EAAE,GAAG,EAAE,GAAGZ,OAAOC,MAAM,CAAC;gBACxEU,UAAUA,OAAO,CAACE,EAAE;YACtB;QACF;IACF;IACA,OAAOX;AACT,EAAC"}
@@ -0,0 +1,7 @@
1
+ type CreateUploadTimer = (timeout?: number, callback?: () => void) => {
2
+ clear: () => void;
3
+ set: () => boolean;
4
+ };
5
+ export declare const createUploadTimer: CreateUploadTimer;
6
+ export {};
7
+ //# sourceMappingURL=uploadTimer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadTimer.d.ts","sourceRoot":"","sources":["../../src/fetchAPI-multipart/uploadTimer.ts"],"names":[],"mappings":"AAAA,KAAK,iBAAiB,GAAG,CACvB,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,IAAI,KAClB;IACH,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,GAAG,EAAE,MAAM,OAAO,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,iBAgB/B,CAAA"}
@@ -0,0 +1,19 @@
1
+ export const createUploadTimer = (timeout = 0, callback = ()=>{})=>{
2
+ let timer = null;
3
+ const clear = ()=>{
4
+ clearTimeout(timer);
5
+ };
6
+ const set = ()=>{
7
+ // Do not start a timer if zero timeout or it hasn't been set.
8
+ if (!timeout) return false;
9
+ clear();
10
+ timer = setTimeout(callback, timeout);
11
+ return true;
12
+ };
13
+ return {
14
+ clear,
15
+ set
16
+ };
17
+ };
18
+
19
+ //# sourceMappingURL=uploadTimer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/fetchAPI-multipart/uploadTimer.ts"],"sourcesContent":["type CreateUploadTimer = (\n timeout?: number,\n callback?: () => void,\n) => {\n clear: () => void\n set: () => boolean\n}\n\nexport const createUploadTimer: CreateUploadTimer = (timeout = 0, callback = () => {}) => {\n let timer = null\n\n const clear = () => {\n clearTimeout(timer)\n }\n\n const set = () => {\n // Do not start a timer if zero timeout or it hasn't been set.\n if (!timeout) return false\n clear()\n timer = setTimeout(callback, timeout)\n return true\n }\n\n return { clear, set }\n}\n"],"names":["createUploadTimer","timeout","callback","timer","clear","clearTimeout","set","setTimeout"],"mappings":"AAQA,OAAO,MAAMA,oBAAuC,CAACC,UAAU,CAAC,EAAEC,WAAW,KAAO,CAAC;IACnF,IAAIC,QAAQ;IAEZ,MAAMC,QAAQ;QACZC,aAAaF;IACf;IAEA,MAAMG,MAAM;QACV,8DAA8D;QAC9D,IAAI,CAACL,SAAS,OAAO;QACrBG;QACAD,QAAQI,WAAWL,UAAUD;QAC7B,OAAO;IACT;IAEA,OAAO;QAAEG;QAAOE;IAAI;AACtB,EAAC"}