@payloadcms/next 3.0.0-beta.90 → 3.0.0-beta.91
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.
- package/dist/cjs/withPayload.js +111 -0
- package/dist/cjs/withPayload.js.map +1 -0
- package/dist/config.js +0 -1
- package/dist/config.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +15 -9
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +100 -35
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +74 -63
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +31 -35
- package/dist/elements/DocumentHeader/Tabs/getCustomViews.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +15 -12
- package/dist/elements/DocumentHeader/Tabs/getViewConfig.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.js +86 -79
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +32 -13
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js +60 -52
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.js +24 -23
- package/dist/elements/DocumentHeader/index.js.map +1 -1
- package/dist/elements/EmailAndUsername/index.js +107 -75
- package/dist/elements/EmailAndUsername/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js +150 -83
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +119 -101
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
- package/dist/elements/Logo/index.js +36 -21
- package/dist/elements/Logo/index.js.map +1 -1
- package/dist/elements/Nav/NavHamburger/index.js +41 -13
- package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.js +48 -16
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
- package/dist/elements/Nav/index.client.js +149 -76
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/elements/Nav/index.js +56 -50
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/exports/layouts.js +0 -1
- package/dist/exports/layouts.js.map +1 -1
- package/dist/exports/routes.js +0 -1
- package/dist/exports/routes.js.map +1 -1
- package/dist/exports/templates.js +0 -1
- package/dist/exports/templates.js.map +1 -1
- package/dist/exports/utilities.js +0 -1
- package/dist/exports/utilities.js.map +1 -1
- package/dist/exports/views.js +0 -1
- package/dist/exports/views.js.map +1 -1
- package/dist/fetchAPI-multipart/fileFactory.js +35 -34
- package/dist/fetchAPI-multipart/fileFactory.js.map +1 -1
- package/dist/fetchAPI-multipart/handlers.js +77 -78
- package/dist/fetchAPI-multipart/handlers.js.map +1 -1
- package/dist/fetchAPI-multipart/index.js +33 -31
- package/dist/fetchAPI-multipart/index.js.map +1 -1
- package/dist/fetchAPI-multipart/isEligibleRequest.js +13 -21
- package/dist/fetchAPI-multipart/isEligibleRequest.js.map +1 -1
- package/dist/fetchAPI-multipart/processMultipart.js +158 -141
- package/dist/fetchAPI-multipart/processMultipart.js.map +1 -1
- package/dist/fetchAPI-multipart/processNested.js +23 -21
- package/dist/fetchAPI-multipart/processNested.js.map +1 -1
- package/dist/fetchAPI-multipart/uploadTimer.js +16 -17
- package/dist/fetchAPI-multipart/uploadTimer.js.map +1 -1
- package/dist/fetchAPI-multipart/utilities.js +166 -166
- package/dist/fetchAPI-multipart/utilities.js.map +1 -1
- package/dist/fetchAPI-stream-file/index.js +19 -17
- package/dist/fetchAPI-stream-file/index.js.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/layouts/Root/index.js +118 -115
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/prod/styles.css +1 -1
- package/dist/routes/graphql/handler.js +109 -103
- package/dist/routes/graphql/handler.js.map +1 -1
- package/dist/routes/graphql/index.js +0 -1
- package/dist/routes/graphql/index.js.map +1 -1
- package/dist/routes/graphql/playground.js +23 -24
- package/dist/routes/graphql/playground.js.map +1 -1
- package/dist/routes/index.js +0 -1
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/rest/auth/access.js +22 -21
- package/dist/routes/rest/auth/access.js.map +1 -1
- package/dist/routes/rest/auth/forgotPassword.js +29 -25
- package/dist/routes/rest/auth/forgotPassword.js.map +1 -1
- package/dist/routes/rest/auth/init.js +16 -14
- package/dist/routes/rest/auth/init.js.map +1 -1
- package/dist/routes/rest/auth/login.js +43 -38
- package/dist/routes/rest/auth/login.js.map +1 -1
- package/dist/routes/rest/auth/logout.js +31 -27
- package/dist/routes/rest/auth/logout.js.map +1 -1
- package/dist/routes/rest/auth/me.js +23 -21
- package/dist/routes/rest/auth/me.js.map +1 -1
- package/dist/routes/rest/auth/refresh.js +31 -27
- package/dist/routes/rest/auth/refresh.js.map +1 -1
- package/dist/routes/rest/auth/registerFirstUser.js +43 -38
- package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
- package/dist/routes/rest/auth/resetPassword.js +38 -33
- package/dist/routes/rest/auth/resetPassword.js.map +1 -1
- package/dist/routes/rest/auth/unlock.js +27 -23
- package/dist/routes/rest/auth/unlock.js.map +1 -1
- package/dist/routes/rest/auth/verifyEmail.js +22 -17
- package/dist/routes/rest/auth/verifyEmail.js.map +1 -1
- package/dist/routes/rest/buildFormState.js +38 -37
- package/dist/routes/rest/buildFormState.js.map +1 -1
- package/dist/routes/rest/checkEndpoints.js +11 -9
- package/dist/routes/rest/checkEndpoints.js.map +1 -1
- package/dist/routes/rest/collections/count.js +15 -11
- package/dist/routes/rest/collections/count.js.map +1 -1
- package/dist/routes/rest/collections/create.js +30 -26
- package/dist/routes/rest/collections/create.js.map +1 -1
- package/dist/routes/rest/collections/delete.js +40 -35
- package/dist/routes/rest/collections/delete.js.map +1 -1
- package/dist/routes/rest/collections/deleteByID.js +36 -31
- package/dist/routes/rest/collections/deleteByID.js.map +1 -1
- package/dist/routes/rest/collections/docAccess.js +17 -14
- package/dist/routes/rest/collections/docAccess.js.map +1 -1
- package/dist/routes/rest/collections/duplicate.js +36 -31
- package/dist/routes/rest/collections/duplicate.js.map +1 -1
- package/dist/routes/rest/collections/find.js +29 -20
- package/dist/routes/rest/collections/find.js.map +1 -1
- package/dist/routes/rest/collections/findByID.js +28 -23
- package/dist/routes/rest/collections/findByID.js.map +1 -1
- package/dist/routes/rest/collections/findVersionByID.js +27 -22
- package/dist/routes/rest/collections/findVersionByID.js.map +1 -1
- package/dist/routes/rest/collections/findVersions.js +27 -19
- package/dist/routes/rest/collections/findVersions.js.map +1 -1
- package/dist/routes/rest/collections/preview.js +39 -34
- package/dist/routes/rest/collections/preview.js.map +1 -1
- package/dist/routes/rest/collections/restoreVersion.js +32 -27
- package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
- package/dist/routes/rest/collections/update.js +43 -37
- package/dist/routes/rest/collections/update.js.map +1 -1
- package/dist/routes/rest/collections/updateByID.js +38 -33
- package/dist/routes/rest/collections/updateByID.js.map +1 -1
- package/dist/routes/rest/files/checkFileAccess.js +46 -44
- package/dist/routes/rest/files/checkFileAccess.js.map +1 -1
- package/dist/routes/rest/files/getFile.js +52 -49
- package/dist/routes/rest/files/getFile.js.map +1 -1
- package/dist/routes/rest/files/getFileTypeFallback.js +16 -17
- package/dist/routes/rest/files/getFileTypeFallback.js.map +1 -1
- package/dist/routes/rest/globals/docAccess.js +15 -13
- package/dist/routes/rest/globals/docAccess.js.map +1 -1
- package/dist/routes/rest/globals/findOne.js +22 -18
- package/dist/routes/rest/globals/findOne.js.map +1 -1
- package/dist/routes/rest/globals/findVersionByID.js +22 -17
- package/dist/routes/rest/globals/findVersionByID.js.map +1 -1
- package/dist/routes/rest/globals/findVersions.js +27 -19
- package/dist/routes/rest/globals/findVersions.js.map +1 -1
- package/dist/routes/rest/globals/preview.js +38 -34
- package/dist/routes/rest/globals/preview.js.map +1 -1
- package/dist/routes/rest/globals/restoreVersion.js +27 -22
- package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
- package/dist/routes/rest/globals/update.js +32 -28
- package/dist/routes/rest/globals/update.js.map +1 -1
- package/dist/routes/rest/index.js +651 -626
- package/dist/routes/rest/index.js.map +1 -1
- package/dist/routes/rest/og/image.js +74 -76
- package/dist/routes/rest/og/image.js.map +1 -1
- package/dist/routes/rest/og/index.js +60 -59
- package/dist/routes/rest/og/index.js.map +1 -1
- package/dist/routes/rest/routeError.js +102 -95
- package/dist/routes/rest/routeError.js.map +1 -1
- package/dist/routes/rest/types.js +1 -2
- package/dist/routes/rest/types.js.map +1 -1
- package/dist/routes/rest/utilities/sanitizeCollectionID.js +14 -11
- package/dist/routes/rest/utilities/sanitizeCollectionID.js.map +1 -1
- package/dist/scss/app.scss +4 -4
- package/dist/scss/type.scss +4 -4
- package/dist/templates/Default/NavHamburger/index.js +18 -6
- package/dist/templates/Default/NavHamburger/index.js.map +1 -1
- package/dist/templates/Default/Wrapper/index.js +42 -13
- package/dist/templates/Default/Wrapper/index.js.map +1 -1
- package/dist/templates/Default/index.js +54 -47
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/templates/Minimal/index.js +16 -16
- package/dist/templates/Minimal/index.js.map +1 -1
- package/dist/utilities/addDataAndFileToRequest.js +40 -35
- package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
- package/dist/utilities/addLocalesToRequest.js +44 -36
- package/dist/utilities/addLocalesToRequest.js.map +1 -1
- package/dist/utilities/createPayloadRequest.js +85 -74
- package/dist/utilities/createPayloadRequest.js.map +1 -1
- package/dist/utilities/getNextRequestI18n.js +13 -11
- package/dist/utilities/getNextRequestI18n.js.map +1 -1
- package/dist/utilities/getPayloadHMR.d.ts +1 -1
- package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
- package/dist/utilities/getPayloadHMR.js +91 -94
- package/dist/utilities/getPayloadHMR.js.map +1 -1
- package/dist/utilities/getRequestLanguage.js +16 -13
- package/dist/utilities/getRequestLanguage.js.map +1 -1
- package/dist/utilities/getRequestLocales.js +27 -24
- package/dist/utilities/getRequestLocales.js.map +1 -1
- package/dist/utilities/getRequestTheme.js +16 -16
- package/dist/utilities/getRequestTheme.js.map +1 -1
- package/dist/utilities/headersWithCors.js +21 -30
- package/dist/utilities/headersWithCors.js.map +1 -1
- package/dist/utilities/initPage/handleAdminPage.js +46 -42
- package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
- package/dist/utilities/initPage/handleAuthRedirect.js +45 -32
- package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
- package/dist/utilities/initPage/index.js +146 -120
- package/dist/utilities/initPage/index.js.map +1 -1
- package/dist/utilities/initPage/shared.js +26 -25
- package/dist/utilities/initPage/shared.js.map +1 -1
- package/dist/utilities/initPage/types.js +1 -2
- package/dist/utilities/initPage/types.js.map +1 -1
- package/dist/utilities/mergeHeaders.js +8 -9
- package/dist/utilities/mergeHeaders.js.map +1 -1
- package/dist/utilities/meta.js +66 -68
- package/dist/utilities/meta.js.map +1 -1
- package/dist/utilities/timestamp.js +4 -5
- package/dist/utilities/timestamp.js.map +1 -1
- package/dist/views/API/LocaleSelector/index.d.ts.map +1 -1
- package/dist/views/API/LocaleSelector/index.js +38 -11
- package/dist/views/API/LocaleSelector/index.js.map +1 -1
- package/dist/views/API/RenderJSON/index.js +124 -112
- package/dist/views/API/RenderJSON/index.js.map +1 -1
- package/dist/views/API/index.client.js +190 -202
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/API/index.js +2 -3
- package/dist/views/API/index.js.map +1 -1
- package/dist/views/API/meta.js +22 -18
- package/dist/views/API/meta.js.map +1 -1
- package/dist/views/Account/Settings/LanguageSelector.js +45 -12
- package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
- package/dist/views/Account/Settings/index.js +21 -28
- package/dist/views/Account/Settings/index.js.map +1 -1
- package/dist/views/Account/ToggleTheme/index.js +51 -30
- package/dist/views/Account/ToggleTheme/index.js.map +1 -1
- package/dist/views/Account/index.client.js +32 -16
- package/dist/views/Account/index.client.js.map +1 -1
- package/dist/views/Account/index.js +99 -68
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/Account/meta.js +12 -8
- package/dist/views/Account/meta.js.map +1 -1
- package/dist/views/CreateFirstUser/index.client.js +95 -57
- package/dist/views/CreateFirstUser/index.client.js.map +1 -1
- package/dist/views/CreateFirstUser/index.js +42 -28
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/CreateFirstUser/meta.js +12 -8
- package/dist/views/CreateFirstUser/meta.js.map +1 -1
- package/dist/views/Dashboard/Default/index.js +132 -115
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Dashboard/index.js +61 -52
- package/dist/views/Dashboard/index.js.map +1 -1
- package/dist/views/Dashboard/meta.js +16 -12
- package/dist/views/Dashboard/meta.js.map +1 -1
- package/dist/views/Document/getCustomViewByKey.js +2 -3
- package/dist/views/Document/getCustomViewByKey.js.map +1 -1
- package/dist/views/Document/getCustomViewByRoute.js +30 -27
- package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
- package/dist/views/Document/getDocumentData.js +34 -28
- package/dist/views/Document/getDocumentData.js.map +1 -1
- package/dist/views/Document/getDocumentPermissions.js +83 -74
- package/dist/views/Document/getDocumentPermissions.js.map +1 -1
- package/dist/views/Document/getMetaBySegment.js +113 -107
- package/dist/views/Document/getMetaBySegment.js.map +1 -1
- package/dist/views/Document/getViewsFromConfig.js +309 -331
- package/dist/views/Document/getViewsFromConfig.js.map +1 -1
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +193 -159
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Document/meta.js +1 -2
- package/dist/views/Document/meta.js.map +1 -1
- package/dist/views/Edit/Default/Auth/APIKey.js +118 -132
- package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Default/Auth/index.js +293 -196
- package/dist/views/Edit/Default/Auth/index.js.map +1 -1
- package/dist/views/Edit/Default/Auth/types.js +1 -2
- package/dist/views/Edit/Default/Auth/types.js.map +1 -1
- package/dist/views/Edit/Default/SetDocumentStepNav/index.js +121 -70
- package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +1 -1
- package/dist/views/Edit/Default/SetDocumentTitle/index.js +74 -29
- package/dist/views/Edit/Default/SetDocumentTitle/index.js.map +1 -1
- package/dist/views/Edit/Default/index.js +190 -187
- package/dist/views/Edit/Default/index.js.map +1 -1
- package/dist/views/Edit/Default/types.js +1 -2
- package/dist/views/Edit/Default/types.js.map +1 -1
- package/dist/views/Edit/index.client.js +45 -21
- package/dist/views/Edit/index.client.js.map +1 -1
- package/dist/views/Edit/index.js +2 -3
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/Edit/meta.js +43 -35
- package/dist/views/Edit/meta.js.map +1 -1
- package/dist/views/Edit/sanitizeEditViewProps.js +8 -9
- package/dist/views/Edit/sanitizeEditViewProps.js.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +151 -94
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/ForgotPassword/index.js +59 -46
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/ForgotPassword/meta.js +12 -8
- package/dist/views/ForgotPassword/meta.js.map +1 -1
- package/dist/views/List/Default/index.js +348 -208
- package/dist/views/List/Default/index.js.map +1 -1
- package/dist/views/List/Default/types.js +1 -2
- package/dist/views/List/Default/types.js.map +1 -1
- package/dist/views/List/index.js +153 -137
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/meta.js +20 -17
- package/dist/views/List/meta.js.map +1 -1
- package/dist/views/LivePreview/Context/collisionDetection.js +24 -21
- package/dist/views/LivePreview/Context/collisionDetection.js.map +1 -1
- package/dist/views/LivePreview/Context/context.d.ts +2 -1
- package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
- package/dist/views/LivePreview/Context/context.js +39 -36
- package/dist/views/LivePreview/Context/context.js.map +1 -1
- package/dist/views/LivePreview/Context/index.js +134 -142
- package/dist/views/LivePreview/Context/index.js.map +1 -1
- package/dist/views/LivePreview/Context/sizeReducer.js +18 -19
- package/dist/views/LivePreview/Context/sizeReducer.js.map +1 -1
- package/dist/views/LivePreview/Device/index.js +78 -71
- package/dist/views/LivePreview/Device/index.js.map +1 -1
- package/dist/views/LivePreview/DeviceContainer/index.js +47 -23
- package/dist/views/LivePreview/DeviceContainer/index.js.map +1 -1
- package/dist/views/LivePreview/IFrame/index.js +21 -16
- package/dist/views/LivePreview/IFrame/index.js.map +1 -1
- package/dist/views/LivePreview/Preview/index.js +145 -92
- package/dist/views/LivePreview/Preview/index.js.map +1 -1
- package/dist/views/LivePreview/Toolbar/Controls/index.js +136 -115
- package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/views/LivePreview/Toolbar/SizeInput/index.js +89 -51
- package/dist/views/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
- package/dist/views/LivePreview/Toolbar/index.js +82 -50
- package/dist/views/LivePreview/Toolbar/index.js.map +1 -1
- package/dist/views/LivePreview/ToolbarArea/index.js +32 -10
- package/dist/views/LivePreview/ToolbarArea/index.js.map +1 -1
- package/dist/views/LivePreview/index.client.js +316 -160
- package/dist/views/LivePreview/index.client.js.map +1 -1
- package/dist/views/LivePreview/index.js +67 -55
- package/dist/views/LivePreview/index.js.map +1 -1
- package/dist/views/LivePreview/meta.js +14 -9
- package/dist/views/LivePreview/meta.js.map +1 -1
- package/dist/views/LivePreview/usePopupWindow.js +91 -94
- package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
- package/dist/views/Login/LoginField/index.js +83 -39
- package/dist/views/Login/LoginField/index.js.map +1 -1
- package/dist/views/Login/LoginForm/index.js +130 -66
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/Login/index.js +77 -54
- package/dist/views/Login/index.js.map +1 -1
- package/dist/views/Login/meta.js +12 -8
- package/dist/views/Login/meta.js.map +1 -1
- package/dist/views/Logout/LogoutClient.js +84 -39
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/Logout/index.js +29 -16
- package/dist/views/Logout/index.js.map +1 -1
- package/dist/views/Logout/meta.js +11 -7
- package/dist/views/Logout/meta.js.map +1 -1
- package/dist/views/NotFound/index.client.js +78 -40
- package/dist/views/NotFound/index.client.js.map +1 -1
- package/dist/views/NotFound/index.js +47 -37
- package/dist/views/NotFound/index.js.map +1 -1
- package/dist/views/NotFound/meta.js +9 -7
- package/dist/views/NotFound/meta.js.map +1 -1
- package/dist/views/ResetPassword/index.client.js +97 -59
- package/dist/views/ResetPassword/index.client.js.map +1 -1
- package/dist/views/ResetPassword/index.js +68 -53
- package/dist/views/ResetPassword/index.js.map +1 -1
- package/dist/views/ResetPassword/meta.js +12 -8
- package/dist/views/ResetPassword/meta.js.map +1 -1
- package/dist/views/Root/generateCustomViewMetadata.js +21 -19
- package/dist/views/Root/generateCustomViewMetadata.js.map +1 -1
- package/dist/views/Root/getCustomViewByRoute.js +42 -31
- package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
- package/dist/views/Root/getViewFromConfig.js +162 -156
- package/dist/views/Root/getViewFromConfig.js.map +1 -1
- package/dist/views/Root/index.js +99 -82
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Root/isPathMatchingRoute.js +18 -13
- package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
- package/dist/views/Root/meta.js +141 -136
- package/dist/views/Root/meta.js.map +1 -1
- package/dist/views/Unauthorized/index.js +32 -22
- package/dist/views/Unauthorized/index.js.map +1 -1
- package/dist/views/Unauthorized/meta.js +12 -8
- package/dist/views/Unauthorized/meta.js.map +1 -1
- package/dist/views/Verify/index.js +58 -43
- package/dist/views/Verify/index.js.map +1 -1
- package/dist/views/Verify/meta.js +12 -8
- package/dist/views/Verify/meta.js.map +1 -1
- package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
- package/dist/views/Version/Default/SetStepNav.js +147 -103
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.js +198 -114
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/Default/types.js +1 -2
- package/dist/views/Version/Default/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/Label/index.js +6 -5
- package/dist/views/Version/RenderFieldsToDiff/Label/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +65 -69
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +34 -31
- package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +108 -78
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js +17 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +40 -38
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +42 -32
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js +17 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +34 -31
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js +4 -5
- package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js +20 -21
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.js +23 -24
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/types.js +1 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.js +102 -97
- package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/types.js +1 -2
- package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
- package/dist/views/Version/Restore/index.js +107 -110
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/Restore/types.js +1 -2
- package/dist/views/Version/Restore/types.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.js +130 -138
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/types.js +1 -2
- package/dist/views/Version/SelectComparison/types.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.js +58 -30
- package/dist/views/Version/SelectLocales/index.js.map +1 -1
- package/dist/views/Version/SelectLocales/types.js +1 -2
- package/dist/views/Version/SelectLocales/types.js.map +1 -1
- package/dist/views/Version/index.js +126 -105
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Version/meta.js +49 -43
- package/dist/views/Version/meta.js.map +1 -1
- package/dist/views/Versions/buildColumns.js +87 -82
- package/dist/views/Versions/buildColumns.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +69 -42
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js +70 -17
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/cells/ID/index.js +17 -5
- package/dist/views/Versions/cells/ID/index.js.map +1 -1
- package/dist/views/Versions/getLatestVersion.js +33 -29
- package/dist/views/Versions/getLatestVersion.js.map +1 -1
- package/dist/views/Versions/index.client.js +80 -77
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/views/Versions/index.js +148 -127
- package/dist/views/Versions/index.js.map +1 -1
- package/dist/views/Versions/meta.js +43 -37
- package/dist/views/Versions/meta.js.map +1 -1
- package/dist/views/Versions/types.js +1 -2
- package/dist/views/Versions/types.js.map +1 -1
- package/dist/withPayload.js +83 -117
- package/dist/withPayload.js.map +1 -1
- package/package.json +20 -10
- package/dist/cjs/withPayload.cjs +0 -145
- package/dist/cjs/withPayload.cjs.map +0 -1
|
@@ -10,198 +10,198 @@ const TEMP_PREFIX = 'tmp';
|
|
|
10
10
|
let tempCounter = 0;
|
|
11
11
|
/**
|
|
12
12
|
* Logs message to console if options.debug option set to true.
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
*/
|
|
14
|
+
export const debugLog = (options, msg) => {
|
|
15
|
+
const opts = options || {};
|
|
16
|
+
if (!opts.debug) return false;
|
|
17
|
+
console.log(`Next-file-upload: ${msg}`) // eslint-disable-line
|
|
18
|
+
;
|
|
19
|
+
return true;
|
|
19
20
|
};
|
|
20
21
|
/**
|
|
21
22
|
* Generates unique temporary file name. e.g. tmp-5000-156788789789.
|
|
22
|
-
*/
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
*/
|
|
24
|
+
export const getTempFilename = (prefix = TEMP_PREFIX) => {
|
|
25
|
+
tempCounter = tempCounter >= TEMP_COUNTER_MAX ? 1 : tempCounter + 1;
|
|
26
|
+
return `${prefix}-${tempCounter}-${Date.now()}`;
|
|
25
27
|
};
|
|
26
|
-
export const isFunc =
|
|
27
|
-
|
|
28
|
+
export const isFunc = value => {
|
|
29
|
+
return typeof value === 'function';
|
|
28
30
|
};
|
|
29
|
-
const errorFunc = (resolve, reject)=>isFunc(reject) ? reject : resolve;
|
|
30
|
-
export const promiseCallback = (resolve, reject)=>{
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
31
|
+
const errorFunc = (resolve, reject) => isFunc(reject) ? reject : resolve;
|
|
32
|
+
export const promiseCallback = (resolve, reject) => {
|
|
33
|
+
let hasFired = false;
|
|
34
|
+
return err => {
|
|
35
|
+
if (hasFired) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
hasFired = true;
|
|
39
|
+
return err ? errorFunc(resolve, reject)(err) : resolve();
|
|
40
|
+
};
|
|
39
41
|
};
|
|
40
42
|
// The default prototypes for both objects and arrays.
|
|
41
43
|
// Used by isSafeFromPollution
|
|
42
44
|
const OBJECT_PROTOTYPE_KEYS = Object.getOwnPropertyNames(Object.prototype);
|
|
43
45
|
const ARRAY_PROTOTYPE_KEYS = Object.getOwnPropertyNames(Array.prototype);
|
|
44
|
-
export const isSafeFromPollution = (base, key)=>{
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
46
|
+
export const isSafeFromPollution = (base, key) => {
|
|
47
|
+
// We perform an instanceof check instead of Array.isArray as the former is more
|
|
48
|
+
// permissive for cases in which the object as an Array prototype but was not constructed
|
|
49
|
+
// via an Array constructor or literal.
|
|
50
|
+
const TOUCHES_ARRAY_PROTOTYPE = base instanceof Array && ARRAY_PROTOTYPE_KEYS.includes(key);
|
|
51
|
+
const TOUCHES_OBJECT_PROTOTYPE = OBJECT_PROTOTYPE_KEYS.includes(key);
|
|
52
|
+
return !TOUCHES_ARRAY_PROTOTYPE && !TOUCHES_OBJECT_PROTOTYPE;
|
|
51
53
|
};
|
|
52
|
-
export const buildFields = (instance, field, value)=>{
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
return instance;
|
|
63
|
-
}
|
|
64
|
-
// Array fields
|
|
65
|
-
if (instance[field] instanceof Array) {
|
|
66
|
-
instance[field].push(value);
|
|
67
|
-
} else {
|
|
68
|
-
instance[field] = [
|
|
69
|
-
instance[field],
|
|
70
|
-
value
|
|
71
|
-
];
|
|
72
|
-
}
|
|
54
|
+
export const buildFields = (instance, field, value) => {
|
|
55
|
+
// Do nothing if value is not set.
|
|
56
|
+
if (value === null || value === undefined) return instance;
|
|
57
|
+
instance = instance || Object.create(null);
|
|
58
|
+
if (!isSafeFromPollution(instance, field)) {
|
|
59
|
+
return instance;
|
|
60
|
+
}
|
|
61
|
+
// Non-array fields
|
|
62
|
+
if (!instance[field]) {
|
|
63
|
+
instance[field] = value;
|
|
73
64
|
return instance;
|
|
65
|
+
}
|
|
66
|
+
// Array fields
|
|
67
|
+
if (instance[field] instanceof Array) {
|
|
68
|
+
instance[field].push(value);
|
|
69
|
+
} else {
|
|
70
|
+
instance[field] = [instance[field], value];
|
|
71
|
+
}
|
|
72
|
+
return instance;
|
|
74
73
|
};
|
|
75
|
-
export const checkAndMakeDir = (fileUploadOptions, filePath)=>{
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
74
|
+
export const checkAndMakeDir = (fileUploadOptions, filePath) => {
|
|
75
|
+
if (!fileUploadOptions.createParentPath) return false;
|
|
76
|
+
// Check whether folder for the file exists.
|
|
77
|
+
const parentPath = path.dirname(filePath);
|
|
78
|
+
// Create folder if it doesn't exist.
|
|
79
|
+
if (!fs.existsSync(parentPath)) fs.mkdirSync(parentPath, {
|
|
80
|
+
recursive: true
|
|
81
|
+
});
|
|
82
|
+
// Checks folder again and return a results.
|
|
83
|
+
return fs.existsSync(parentPath);
|
|
85
84
|
};
|
|
86
|
-
export const deleteFile = (filePath, callback)=>fs.unlink(filePath, callback);
|
|
87
|
-
const copyFile = (src, dst, callback)=>{
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
85
|
+
export const deleteFile = (filePath, callback) => fs.unlink(filePath, callback);
|
|
86
|
+
const copyFile = (src, dst, callback) => {
|
|
87
|
+
// cbCalled flag and runCb helps to run cb only once.
|
|
88
|
+
let cbCalled = false;
|
|
89
|
+
const runCb = err => {
|
|
90
|
+
if (cbCalled) return;
|
|
91
|
+
cbCalled = true;
|
|
92
|
+
callback(err);
|
|
93
|
+
};
|
|
94
|
+
// Create read stream
|
|
95
|
+
const readable = fs.createReadStream(src);
|
|
96
|
+
readable.on('error', runCb);
|
|
97
|
+
// Create write stream
|
|
98
|
+
const writable = fs.createWriteStream(dst);
|
|
99
|
+
writable.on('error', err => {
|
|
100
|
+
readable.destroy();
|
|
101
|
+
runCb(err);
|
|
102
|
+
});
|
|
103
|
+
writable.on('close', () => runCb());
|
|
104
|
+
// Copy file via piping streams.
|
|
105
|
+
readable.pipe(writable);
|
|
107
106
|
};
|
|
108
|
-
export const moveFile = (src, dst, callback)=>fs.rename(src, dst,
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
107
|
+
export const moveFile = (src, dst, callback) => fs.rename(src, dst, err => {
|
|
108
|
+
if (err) {
|
|
109
|
+
// Try to copy file if rename didn't work.
|
|
110
|
+
copyFile(src, dst, cpErr => cpErr ? callback(cpErr) : deleteFile(src, callback));
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
// File was renamed successfully: Add true to the callback to indicate that.
|
|
114
|
+
callback(null, true);
|
|
115
|
+
});
|
|
117
116
|
/**
|
|
118
117
|
* Save buffer data to a file.
|
|
119
118
|
* @param {Buffer} buffer - buffer to save to a file.
|
|
120
119
|
* @param {string} filePath - path to a file.
|
|
121
|
-
*/
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
120
|
+
*/
|
|
121
|
+
export const saveBufferToFile = (buffer, filePath, callback) => {
|
|
122
|
+
if (!Buffer.isBuffer(buffer)) {
|
|
123
|
+
return callback(new Error('buffer variable should be type of Buffer!'));
|
|
124
|
+
}
|
|
125
|
+
// Setup readable stream from buffer.
|
|
126
|
+
let streamData = buffer;
|
|
127
|
+
const readStream = new Readable();
|
|
128
|
+
readStream._read = () => {
|
|
129
|
+
readStream.push(streamData);
|
|
130
|
+
streamData = null;
|
|
131
|
+
};
|
|
132
|
+
// Setup file system writable stream.
|
|
133
|
+
const fstream = fs.createWriteStream(filePath);
|
|
134
|
+
// console.log("Calling saveBuffer");
|
|
135
|
+
fstream.on('error', err => {
|
|
136
|
+
// console.log("err cb")
|
|
137
|
+
callback(err);
|
|
138
|
+
});
|
|
139
|
+
fstream.on('close', () => {
|
|
140
|
+
// console.log("close cb");
|
|
141
|
+
callback();
|
|
142
|
+
});
|
|
143
|
+
// Copy file via piping streams.
|
|
144
|
+
readStream.pipe(fstream);
|
|
145
145
|
};
|
|
146
146
|
/**
|
|
147
147
|
* Decodes uriEncoded file names.
|
|
148
148
|
* @param {Object} opts - middleware options.
|
|
149
149
|
* @param fileName {String} - file name to decode.
|
|
150
150
|
* @returns {String}
|
|
151
|
-
*/
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
}
|
|
151
|
+
*/
|
|
152
|
+
const uriDecodeFileName = (opts, fileName) => {
|
|
153
|
+
if (!opts || !opts.uriDecodeFileNames) {
|
|
154
|
+
return fileName;
|
|
155
|
+
}
|
|
156
|
+
// Decode file name from URI with checking URI malformed errors.
|
|
157
|
+
// See Issue https://github.com/richardgirges/express-fileupload/issues/342.
|
|
158
|
+
try {
|
|
159
|
+
return decodeURIComponent(fileName);
|
|
160
|
+
} catch (err) {
|
|
161
|
+
const matcher = /(%[a-f\d]{2})/gi;
|
|
162
|
+
return fileName.split(matcher).map(str => {
|
|
163
|
+
try {
|
|
164
|
+
return decodeURIComponent(str);
|
|
165
|
+
} catch (err) {
|
|
166
|
+
return '';
|
|
167
|
+
}
|
|
168
|
+
}).join('');
|
|
169
|
+
}
|
|
169
170
|
};
|
|
170
|
-
export const parseFileNameExtension = (preserveExtension, fileName)=>{
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
171
|
+
export const parseFileNameExtension = (preserveExtension, fileName) => {
|
|
172
|
+
const defaultResult = {
|
|
173
|
+
name: fileName,
|
|
174
|
+
extension: ''
|
|
175
|
+
};
|
|
176
|
+
if (!preserveExtension) return defaultResult;
|
|
177
|
+
// Define maximum extension length
|
|
178
|
+
const maxExtLength = typeof preserveExtension === 'boolean' ? MAX_EXTENSION_LENGTH : preserveExtension;
|
|
179
|
+
const nameParts = fileName.split('.');
|
|
180
|
+
if (nameParts.length < 2) return defaultResult;
|
|
181
|
+
let extension = nameParts.pop();
|
|
182
|
+
if (extension.length > maxExtLength && maxExtLength > 0) {
|
|
183
|
+
nameParts[nameParts.length - 1] += '.' + extension.substr(0, extension.length - maxExtLength);
|
|
184
|
+
extension = extension.substr(-maxExtLength);
|
|
185
|
+
}
|
|
186
|
+
return {
|
|
187
|
+
name: nameParts.join('.'),
|
|
188
|
+
extension: maxExtLength ? extension : ''
|
|
189
|
+
};
|
|
189
190
|
};
|
|
190
|
-
export const parseFileName = (opts, fileName)=>{
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
191
|
+
export const parseFileName = (opts, fileName) => {
|
|
192
|
+
// Check fileName argument
|
|
193
|
+
if (!fileName || typeof fileName !== 'string') return getTempFilename();
|
|
194
|
+
// Cut off file name if it's length more then 255.
|
|
195
|
+
let parsedName = fileName.length <= 255 ? fileName : fileName.substr(0, 255);
|
|
196
|
+
// Decode file name if uriDecodeFileNames option set true.
|
|
197
|
+
parsedName = uriDecodeFileName(opts, parsedName);
|
|
198
|
+
// Stop parsing file name if safeFileNames options hasn't been set.
|
|
199
|
+
if (!opts.safeFileNames) return parsedName;
|
|
200
|
+
// Set regular expression for the file name.
|
|
201
|
+
const nameRegex = typeof opts.safeFileNames === 'object' && opts.safeFileNames instanceof RegExp ? opts.safeFileNames : SAFE_FILE_NAME_REGEX;
|
|
202
|
+
// Parse file name extension.
|
|
203
|
+
const parsedFileName = parseFileNameExtension(opts.preserveExtension, parsedName);
|
|
204
|
+
if (parsedFileName.extension.length) parsedFileName.extension = '.' + parsedFileName.extension.replace(nameRegex, '');
|
|
205
|
+
return parsedFileName.name.replace(nameRegex, '').concat(parsedFileName.extension);
|
|
205
206
|
};
|
|
206
|
-
|
|
207
207
|
//# sourceMappingURL=utilities.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/fetchAPI-multipart/utilities.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\nimport { Readable } from 'stream'\n\nimport type { FetchAPIFileUploadOptions } from './index.js'\n\n// Parameters for safe file name parsing.\nconst SAFE_FILE_NAME_REGEX = /[^\\w-]/g\nconst MAX_EXTENSION_LENGTH = 3\n\n// Parameters to generate unique temporary file names:\nconst TEMP_COUNTER_MAX = 65536\nconst TEMP_PREFIX = 'tmp'\nlet tempCounter = 0\n\n/**\n * Logs message to console if options.debug option set to true.\n */\nexport const debugLog = (options: FetchAPIFileUploadOptions, msg: string) => {\n const opts = options || {}\n if (!opts.debug) return false\n console.log(`Next-file-upload: ${msg}`) // eslint-disable-line\n return true\n}\n\n/**\n * Generates unique temporary file name. e.g. tmp-5000-156788789789.\n */\nexport const getTempFilename = (prefix: string = TEMP_PREFIX) => {\n tempCounter = tempCounter >= TEMP_COUNTER_MAX ? 1 : tempCounter + 1\n return `${prefix}-${tempCounter}-${Date.now()}`\n}\n\ntype FuncType = (...args: any[]) => any\nexport const isFunc = (value: any): value is FuncType => {\n return typeof value === 'function'\n}\n\n/**\n * Set errorFunc to the same value as successFunc for callback mode.\n */\ntype ErrorFunc = (resolve: () => void, reject: (err: Error) => void) => (err: Error) => void\nconst errorFunc: ErrorFunc = (resolve, reject) => (isFunc(reject) ? reject : resolve)\n\n/**\n * Return a callback function for promise resole/reject args.\n * Ensures that callback is called only once.\n */\ntype PromiseCallback = (resolve: () => void, reject: (err: Error) => void) => (err: Error) => void\nexport const promiseCallback: PromiseCallback = (resolve, reject) => {\n let hasFired = false\n return (err: Error) => {\n if (hasFired) {\n return\n }\n\n hasFired = true\n return err ? errorFunc(resolve, reject)(err) : resolve()\n }\n}\n\n// The default prototypes for both objects and arrays.\n// Used by isSafeFromPollution\nconst OBJECT_PROTOTYPE_KEYS = Object.getOwnPropertyNames(Object.prototype)\nconst ARRAY_PROTOTYPE_KEYS = Object.getOwnPropertyNames(Array.prototype)\n\n/**\n * Determines whether a key insertion into an object could result in a prototype pollution\n */\ntype IsSafeFromPollution = (base: any, key: string) => boolean\nexport const isSafeFromPollution: IsSafeFromPollution = (base, key) => {\n // We perform an instanceof check instead of Array.isArray as the former is more\n // permissive for cases in which the object as an Array prototype but was not constructed\n // via an Array constructor or literal.\n const TOUCHES_ARRAY_PROTOTYPE = base instanceof Array && ARRAY_PROTOTYPE_KEYS.includes(key)\n const TOUCHES_OBJECT_PROTOTYPE = OBJECT_PROTOTYPE_KEYS.includes(key)\n\n return !TOUCHES_ARRAY_PROTOTYPE && !TOUCHES_OBJECT_PROTOTYPE\n}\n\n/**\n * Build request field/file objects to return\n */\ntype BuildFields = (instance: any, field: string, value: any) => any\nexport const buildFields: BuildFields = (instance, field, value) => {\n // Do nothing if value is not set.\n if (value === null || value === undefined) return instance\n instance = instance || Object.create(null)\n\n if (!isSafeFromPollution(instance, field)) {\n return instance\n }\n // Non-array fields\n if (!instance[field]) {\n instance[field] = value\n return instance\n }\n // Array fields\n if (instance[field] instanceof Array) {\n instance[field].push(value)\n } else {\n instance[field] = [instance[field], value]\n }\n return instance\n}\n\n/**\n * Creates a folder if it does not exist\n * for file specified in the path variable\n */\ntype CheckAndMakeDir = (fileUploadOptions: FetchAPIFileUploadOptions, filePath: string) => boolean\nexport const checkAndMakeDir: CheckAndMakeDir = (fileUploadOptions, filePath) => {\n if (!fileUploadOptions.createParentPath) return false\n // Check whether folder for the file exists.\n const parentPath = path.dirname(filePath)\n // Create folder if it doesn't exist.\n if (!fs.existsSync(parentPath)) fs.mkdirSync(parentPath, { recursive: true })\n // Checks folder again and return a results.\n return fs.existsSync(parentPath)\n}\n\n/**\n * Delete a file.\n */\ntype DeleteFile = (filePath: string, callback: (args: any) => void) => void\nexport const deleteFile: DeleteFile = (filePath, callback: (args) => void) =>\n fs.unlink(filePath, callback)\n\n/**\n * Copy file via streams\n */\ntype CopyFile = (src: string, dst: string, callback: (err: Error) => void) => void\nconst copyFile: CopyFile = (src, dst, callback) => {\n // cbCalled flag and runCb helps to run cb only once.\n let cbCalled = false\n const runCb = (err?: Error) => {\n if (cbCalled) return\n cbCalled = true\n callback(err)\n }\n // Create read stream\n const readable = fs.createReadStream(src)\n readable.on('error', runCb)\n // Create write stream\n const writable = fs.createWriteStream(dst)\n writable.on('error', (err: Error) => {\n readable.destroy()\n runCb(err)\n })\n writable.on('close', () => runCb())\n // Copy file via piping streams.\n readable.pipe(writable)\n}\n\n/**\n * moveFile: moves the file from src to dst.\n * Firstly trying to rename the file if no luck copying it to dst and then deleting src.\n */\ntype MoveFile = (\n src: string,\n dst: string,\n callback: (err: Error, renamed?: boolean) => void,\n) => void\nexport const moveFile: MoveFile = (src, dst, callback) =>\n fs.rename(src, dst, (err) => {\n if (err) {\n // Try to copy file if rename didn't work.\n copyFile(src, dst, (cpErr) => (cpErr ? callback(cpErr) : deleteFile(src, callback)))\n return\n }\n // File was renamed successfully: Add true to the callback to indicate that.\n callback(null, true)\n })\n\n/**\n * Save buffer data to a file.\n * @param {Buffer} buffer - buffer to save to a file.\n * @param {string} filePath - path to a file.\n */\nexport const saveBufferToFile = (buffer, filePath, callback) => {\n if (!Buffer.isBuffer(buffer)) {\n return callback(new Error('buffer variable should be type of Buffer!'))\n }\n // Setup readable stream from buffer.\n let streamData = buffer\n const readStream = new Readable()\n readStream._read = () => {\n readStream.push(streamData)\n streamData = null\n }\n // Setup file system writable stream.\n const fstream = fs.createWriteStream(filePath)\n // console.log(\"Calling saveBuffer\");\n fstream.on('error', (err) => {\n // console.log(\"err cb\")\n callback(err)\n })\n fstream.on('close', () => {\n // console.log(\"close cb\");\n callback()\n })\n // Copy file via piping streams.\n readStream.pipe(fstream)\n}\n\n/**\n * Decodes uriEncoded file names.\n * @param {Object} opts - middleware options.\n * @param fileName {String} - file name to decode.\n * @returns {String}\n */\nconst uriDecodeFileName = (opts, fileName) => {\n if (!opts || !opts.uriDecodeFileNames) {\n return fileName\n }\n // Decode file name from URI with checking URI malformed errors.\n // See Issue https://github.com/richardgirges/express-fileupload/issues/342.\n try {\n return decodeURIComponent(fileName)\n } catch (err) {\n const matcher = /(%[a-f\\d]{2})/gi\n return fileName\n .split(matcher)\n .map((str) => {\n try {\n return decodeURIComponent(str)\n } catch (err) {\n return ''\n }\n })\n .join('')\n }\n}\n\n/**\n * Parses filename and extension and returns object {name, extension}.\n */\ntype ParseFileNameExtension = (\n preserveExtension: boolean | number,\n fileName: string,\n) => {\n extension: string\n name: string\n}\nexport const parseFileNameExtension: ParseFileNameExtension = (preserveExtension, fileName) => {\n const defaultResult = {\n name: fileName,\n extension: '',\n }\n if (!preserveExtension) return defaultResult\n\n // Define maximum extension length\n const maxExtLength =\n typeof preserveExtension === 'boolean' ? MAX_EXTENSION_LENGTH : preserveExtension\n\n const nameParts = fileName.split('.')\n if (nameParts.length < 2) return defaultResult\n\n let extension = nameParts.pop()\n if (extension.length > maxExtLength && maxExtLength > 0) {\n nameParts[nameParts.length - 1] += '.' + extension.substr(0, extension.length - maxExtLength)\n extension = extension.substr(-maxExtLength)\n }\n\n return {\n name: nameParts.join('.'),\n extension: maxExtLength ? extension : '',\n }\n}\n\n/**\n * Parse file name and extension.\n */\ntype ParseFileName = (opts: FetchAPIFileUploadOptions, fileName: string) => string\nexport const parseFileName: ParseFileName = (opts, fileName) => {\n // Check fileName argument\n if (!fileName || typeof fileName !== 'string') return getTempFilename()\n // Cut off file name if it's length more then 255.\n let parsedName = fileName.length <= 255 ? fileName : fileName.substr(0, 255)\n // Decode file name if uriDecodeFileNames option set true.\n parsedName = uriDecodeFileName(opts, parsedName)\n // Stop parsing file name if safeFileNames options hasn't been set.\n if (!opts.safeFileNames) return parsedName\n // Set regular expression for the file name.\n const nameRegex =\n typeof opts.safeFileNames === 'object' && opts.safeFileNames instanceof RegExp\n ? opts.safeFileNames\n : SAFE_FILE_NAME_REGEX\n // Parse file name extension.\n const parsedFileName = parseFileNameExtension(opts.preserveExtension, parsedName)\n if (parsedFileName.extension.length)\n parsedFileName.extension = '.' + parsedFileName.extension.replace(nameRegex, '')\n\n return parsedFileName.name.replace(nameRegex, '').concat(parsedFileName.extension)\n}\n"],"names":["fs","path","Readable","SAFE_FILE_NAME_REGEX","MAX_EXTENSION_LENGTH","TEMP_COUNTER_MAX","TEMP_PREFIX","tempCounter","debugLog","options","msg","opts","debug","console","log","getTempFilename","prefix","Date","now","isFunc","value","errorFunc","resolve","reject","promiseCallback","hasFired","err","OBJECT_PROTOTYPE_KEYS","Object","getOwnPropertyNames","prototype","ARRAY_PROTOTYPE_KEYS","Array","isSafeFromPollution","base","key","TOUCHES_ARRAY_PROTOTYPE","includes","TOUCHES_OBJECT_PROTOTYPE","buildFields","instance","field","undefined","create","push","checkAndMakeDir","fileUploadOptions","filePath","createParentPath","parentPath","dirname","existsSync","mkdirSync","recursive","deleteFile","callback","unlink","copyFile","src","dst","cbCalled","runCb","readable","createReadStream","on","writable","createWriteStream","destroy","pipe","moveFile","rename","cpErr","saveBufferToFile","buffer","Buffer","isBuffer","Error","streamData","readStream","_read","fstream","uriDecodeFileName","fileName","uriDecodeFileNames","decodeURIComponent","matcher","split","map","str","join","parseFileNameExtension","preserveExtension","defaultResult","name","extension","maxExtLength","nameParts","length","pop","substr","parseFileName","parsedName","safeFileNames","nameRegex","RegExp","parsedFileName","replace","concat"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utilities.js","names":["fs","path","Readable","SAFE_FILE_NAME_REGEX","MAX_EXTENSION_LENGTH","TEMP_COUNTER_MAX","TEMP_PREFIX","tempCounter","debugLog","options","msg","opts","debug","console","log","getTempFilename","prefix","Date","now","isFunc","value","errorFunc","resolve","reject","promiseCallback","hasFired","err","OBJECT_PROTOTYPE_KEYS","Object","getOwnPropertyNames","prototype","ARRAY_PROTOTYPE_KEYS","Array","isSafeFromPollution","base","key","TOUCHES_ARRAY_PROTOTYPE","includes","TOUCHES_OBJECT_PROTOTYPE","buildFields","instance","field","undefined","create","push","checkAndMakeDir","fileUploadOptions","filePath","createParentPath","parentPath","dirname","existsSync","mkdirSync","recursive","deleteFile","callback","unlink","copyFile","src","dst","cbCalled","runCb","readable","createReadStream","on","writable","createWriteStream","destroy","pipe","moveFile","rename","cpErr","saveBufferToFile","buffer","Buffer","isBuffer","Error","streamData","readStream","_read","fstream","uriDecodeFileName","fileName","uriDecodeFileNames","decodeURIComponent","matcher","split","map","str","join","parseFileNameExtension","preserveExtension","defaultResult","name","extension","maxExtLength","nameParts","length","pop","substr","parseFileName","parsedName","safeFileNames","nameRegex","RegExp","parsedFileName","replace","concat"],"sources":["../../src/fetchAPI-multipart/utilities.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\nimport { Readable } from 'stream'\n\nimport type { FetchAPIFileUploadOptions } from './index.js'\n\n// Parameters for safe file name parsing.\nconst SAFE_FILE_NAME_REGEX = /[^\\w-]/g\nconst MAX_EXTENSION_LENGTH = 3\n\n// Parameters to generate unique temporary file names:\nconst TEMP_COUNTER_MAX = 65536\nconst TEMP_PREFIX = 'tmp'\nlet tempCounter = 0\n\n/**\n * Logs message to console if options.debug option set to true.\n */\nexport const debugLog = (options: FetchAPIFileUploadOptions, msg: string) => {\n const opts = options || {}\n if (!opts.debug) return false\n console.log(`Next-file-upload: ${msg}`) // eslint-disable-line\n return true\n}\n\n/**\n * Generates unique temporary file name. e.g. tmp-5000-156788789789.\n */\nexport const getTempFilename = (prefix: string = TEMP_PREFIX) => {\n tempCounter = tempCounter >= TEMP_COUNTER_MAX ? 1 : tempCounter + 1\n return `${prefix}-${tempCounter}-${Date.now()}`\n}\n\ntype FuncType = (...args: any[]) => any\nexport const isFunc = (value: any): value is FuncType => {\n return typeof value === 'function'\n}\n\n/**\n * Set errorFunc to the same value as successFunc for callback mode.\n */\ntype ErrorFunc = (resolve: () => void, reject: (err: Error) => void) => (err: Error) => void\nconst errorFunc: ErrorFunc = (resolve, reject) => (isFunc(reject) ? reject : resolve)\n\n/**\n * Return a callback function for promise resole/reject args.\n * Ensures that callback is called only once.\n */\ntype PromiseCallback = (resolve: () => void, reject: (err: Error) => void) => (err: Error) => void\nexport const promiseCallback: PromiseCallback = (resolve, reject) => {\n let hasFired = false\n return (err: Error) => {\n if (hasFired) {\n return\n }\n\n hasFired = true\n return err ? errorFunc(resolve, reject)(err) : resolve()\n }\n}\n\n// The default prototypes for both objects and arrays.\n// Used by isSafeFromPollution\nconst OBJECT_PROTOTYPE_KEYS = Object.getOwnPropertyNames(Object.prototype)\nconst ARRAY_PROTOTYPE_KEYS = Object.getOwnPropertyNames(Array.prototype)\n\n/**\n * Determines whether a key insertion into an object could result in a prototype pollution\n */\ntype IsSafeFromPollution = (base: any, key: string) => boolean\nexport const isSafeFromPollution: IsSafeFromPollution = (base, key) => {\n // We perform an instanceof check instead of Array.isArray as the former is more\n // permissive for cases in which the object as an Array prototype but was not constructed\n // via an Array constructor or literal.\n const TOUCHES_ARRAY_PROTOTYPE = base instanceof Array && ARRAY_PROTOTYPE_KEYS.includes(key)\n const TOUCHES_OBJECT_PROTOTYPE = OBJECT_PROTOTYPE_KEYS.includes(key)\n\n return !TOUCHES_ARRAY_PROTOTYPE && !TOUCHES_OBJECT_PROTOTYPE\n}\n\n/**\n * Build request field/file objects to return\n */\ntype BuildFields = (instance: any, field: string, value: any) => any\nexport const buildFields: BuildFields = (instance, field, value) => {\n // Do nothing if value is not set.\n if (value === null || value === undefined) return instance\n instance = instance || Object.create(null)\n\n if (!isSafeFromPollution(instance, field)) {\n return instance\n }\n // Non-array fields\n if (!instance[field]) {\n instance[field] = value\n return instance\n }\n // Array fields\n if (instance[field] instanceof Array) {\n instance[field].push(value)\n } else {\n instance[field] = [instance[field], value]\n }\n return instance\n}\n\n/**\n * Creates a folder if it does not exist\n * for file specified in the path variable\n */\ntype CheckAndMakeDir = (fileUploadOptions: FetchAPIFileUploadOptions, filePath: string) => boolean\nexport const checkAndMakeDir: CheckAndMakeDir = (fileUploadOptions, filePath) => {\n if (!fileUploadOptions.createParentPath) return false\n // Check whether folder for the file exists.\n const parentPath = path.dirname(filePath)\n // Create folder if it doesn't exist.\n if (!fs.existsSync(parentPath)) fs.mkdirSync(parentPath, { recursive: true })\n // Checks folder again and return a results.\n return fs.existsSync(parentPath)\n}\n\n/**\n * Delete a file.\n */\ntype DeleteFile = (filePath: string, callback: (args: any) => void) => void\nexport const deleteFile: DeleteFile = (filePath, callback: (args) => void) =>\n fs.unlink(filePath, callback)\n\n/**\n * Copy file via streams\n */\ntype CopyFile = (src: string, dst: string, callback: (err: Error) => void) => void\nconst copyFile: CopyFile = (src, dst, callback) => {\n // cbCalled flag and runCb helps to run cb only once.\n let cbCalled = false\n const runCb = (err?: Error) => {\n if (cbCalled) return\n cbCalled = true\n callback(err)\n }\n // Create read stream\n const readable = fs.createReadStream(src)\n readable.on('error', runCb)\n // Create write stream\n const writable = fs.createWriteStream(dst)\n writable.on('error', (err: Error) => {\n readable.destroy()\n runCb(err)\n })\n writable.on('close', () => runCb())\n // Copy file via piping streams.\n readable.pipe(writable)\n}\n\n/**\n * moveFile: moves the file from src to dst.\n * Firstly trying to rename the file if no luck copying it to dst and then deleting src.\n */\ntype MoveFile = (\n src: string,\n dst: string,\n callback: (err: Error, renamed?: boolean) => void,\n) => void\nexport const moveFile: MoveFile = (src, dst, callback) =>\n fs.rename(src, dst, (err) => {\n if (err) {\n // Try to copy file if rename didn't work.\n copyFile(src, dst, (cpErr) => (cpErr ? callback(cpErr) : deleteFile(src, callback)))\n return\n }\n // File was renamed successfully: Add true to the callback to indicate that.\n callback(null, true)\n })\n\n/**\n * Save buffer data to a file.\n * @param {Buffer} buffer - buffer to save to a file.\n * @param {string} filePath - path to a file.\n */\nexport const saveBufferToFile = (buffer, filePath, callback) => {\n if (!Buffer.isBuffer(buffer)) {\n return callback(new Error('buffer variable should be type of Buffer!'))\n }\n // Setup readable stream from buffer.\n let streamData = buffer\n const readStream = new Readable()\n readStream._read = () => {\n readStream.push(streamData)\n streamData = null\n }\n // Setup file system writable stream.\n const fstream = fs.createWriteStream(filePath)\n // console.log(\"Calling saveBuffer\");\n fstream.on('error', (err) => {\n // console.log(\"err cb\")\n callback(err)\n })\n fstream.on('close', () => {\n // console.log(\"close cb\");\n callback()\n })\n // Copy file via piping streams.\n readStream.pipe(fstream)\n}\n\n/**\n * Decodes uriEncoded file names.\n * @param {Object} opts - middleware options.\n * @param fileName {String} - file name to decode.\n * @returns {String}\n */\nconst uriDecodeFileName = (opts, fileName) => {\n if (!opts || !opts.uriDecodeFileNames) {\n return fileName\n }\n // Decode file name from URI with checking URI malformed errors.\n // See Issue https://github.com/richardgirges/express-fileupload/issues/342.\n try {\n return decodeURIComponent(fileName)\n } catch (err) {\n const matcher = /(%[a-f\\d]{2})/gi\n return fileName\n .split(matcher)\n .map((str) => {\n try {\n return decodeURIComponent(str)\n } catch (err) {\n return ''\n }\n })\n .join('')\n }\n}\n\n/**\n * Parses filename and extension and returns object {name, extension}.\n */\ntype ParseFileNameExtension = (\n preserveExtension: boolean | number,\n fileName: string,\n) => {\n extension: string\n name: string\n}\nexport const parseFileNameExtension: ParseFileNameExtension = (preserveExtension, fileName) => {\n const defaultResult = {\n name: fileName,\n extension: '',\n }\n if (!preserveExtension) return defaultResult\n\n // Define maximum extension length\n const maxExtLength =\n typeof preserveExtension === 'boolean' ? MAX_EXTENSION_LENGTH : preserveExtension\n\n const nameParts = fileName.split('.')\n if (nameParts.length < 2) return defaultResult\n\n let extension = nameParts.pop()\n if (extension.length > maxExtLength && maxExtLength > 0) {\n nameParts[nameParts.length - 1] += '.' + extension.substr(0, extension.length - maxExtLength)\n extension = extension.substr(-maxExtLength)\n }\n\n return {\n name: nameParts.join('.'),\n extension: maxExtLength ? extension : '',\n }\n}\n\n/**\n * Parse file name and extension.\n */\ntype ParseFileName = (opts: FetchAPIFileUploadOptions, fileName: string) => string\nexport const parseFileName: ParseFileName = (opts, fileName) => {\n // Check fileName argument\n if (!fileName || typeof fileName !== 'string') return getTempFilename()\n // Cut off file name if it's length more then 255.\n let parsedName = fileName.length <= 255 ? fileName : fileName.substr(0, 255)\n // Decode file name if uriDecodeFileNames option set true.\n parsedName = uriDecodeFileName(opts, parsedName)\n // Stop parsing file name if safeFileNames options hasn't been set.\n if (!opts.safeFileNames) return parsedName\n // Set regular expression for the file name.\n const nameRegex =\n typeof opts.safeFileNames === 'object' && opts.safeFileNames instanceof RegExp\n ? opts.safeFileNames\n : SAFE_FILE_NAME_REGEX\n // Parse file name extension.\n const parsedFileName = parseFileNameExtension(opts.preserveExtension, parsedName)\n if (parsedFileName.extension.length)\n parsedFileName.extension = '.' + parsedFileName.extension.replace(nameRegex, '')\n\n return parsedFileName.name.replace(nameRegex, '').concat(parsedFileName.extension)\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,25 +1,27 @@
|
|
|
1
1
|
import fs from 'fs';
|
|
2
2
|
export function iteratorToStream(iterator) {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
3
|
+
return new ReadableStream({
|
|
4
|
+
async pull(controller) {
|
|
5
|
+
const {
|
|
6
|
+
done,
|
|
7
|
+
value
|
|
8
|
+
} = await iterator.next();
|
|
9
|
+
if (done) {
|
|
10
|
+
controller.close();
|
|
11
|
+
} else {
|
|
12
|
+
controller.enqueue(value);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
});
|
|
13
16
|
}
|
|
14
17
|
export async function* nodeStreamToIterator(stream) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
for await (const chunk of stream) {
|
|
19
|
+
yield new Uint8Array(chunk);
|
|
20
|
+
}
|
|
18
21
|
}
|
|
19
22
|
export function streamFile(path) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
+
const nodeStream = fs.createReadStream(path);
|
|
24
|
+
const data = iteratorToStream(nodeStreamToIterator(nodeStream));
|
|
25
|
+
return data;
|
|
23
26
|
}
|
|
24
|
-
|
|
25
27
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/fetchAPI-stream-file/index.ts"],"sourcesContent":["import fs from 'fs'\n\nexport function iteratorToStream(iterator) {\n return new ReadableStream({\n async pull(controller) {\n const { done, value } = await iterator.next()\n if (done) {\n controller.close()\n } else {\n controller.enqueue(value)\n }\n },\n })\n}\n\nexport async function* nodeStreamToIterator(stream: fs.ReadStream) {\n for await (const chunk of stream) {\n yield new Uint8Array(chunk)\n }\n}\n\nexport function streamFile(path: string): ReadableStream {\n const nodeStream = fs.createReadStream(path)\n const data: ReadableStream = iteratorToStream(nodeStreamToIterator(nodeStream))\n return data\n}\n"],"
|
|
1
|
+
{"version":3,"file":"index.js","names":["fs","iteratorToStream","iterator","ReadableStream","pull","controller","done","value","next","close","enqueue","nodeStreamToIterator","stream","chunk","Uint8Array","streamFile","path","nodeStream","createReadStream","data"],"sources":["../../src/fetchAPI-stream-file/index.ts"],"sourcesContent":["import fs from 'fs'\n\nexport function iteratorToStream(iterator) {\n return new ReadableStream({\n async pull(controller) {\n const { done, value } = await iterator.next()\n if (done) {\n controller.close()\n } else {\n controller.enqueue(value)\n }\n },\n })\n}\n\nexport async function* nodeStreamToIterator(stream: fs.ReadStream) {\n for await (const chunk of stream) {\n yield new Uint8Array(chunk)\n }\n}\n\nexport function streamFile(path: string): ReadableStream {\n const nodeStream = fs.createReadStream(path)\n const data: ReadableStream = iteratorToStream(nodeStreamToIterator(nodeStream))\n return data\n}\n"],"mappings":"AAAA,OAAOA,EAAA,MAAQ;AAEf,OAAO,SAASC,iBAAiBC,QAAQ;EACvC,OAAO,IAAIC,cAAA,CAAe;IACxB,MAAMC,KAAKC,UAAU;MACnB,MAAM;QAAEC,IAAI;QAAEC;MAAK,CAAE,GAAG,MAAML,QAAA,CAASM,IAAI;MAC3C,IAAIF,IAAA,EAAM;QACRD,UAAA,CAAWI,KAAK;MAClB,OAAO;QACLJ,UAAA,CAAWK,OAAO,CAACH,KAAA;MACrB;IACF;EACF;AACF;AAEA,OAAO,gBAAgBI,qBAAqBC,MAAqB;EAC/D,WAAW,MAAMC,KAAA,IAASD,MAAA,EAAQ;IAChC,MAAM,IAAIE,UAAA,CAAWD,KAAA;EACvB;AACF;AAEA,OAAO,SAASE,WAAWC,IAAY;EACrC,MAAMC,UAAA,GAAajB,EAAA,CAAGkB,gBAAgB,CAACF,IAAA;EACvC,MAAMG,IAAA,GAAuBlB,gBAAA,CAAiBU,oBAAA,CAAqBM,UAAA;EACnE,OAAOE,IAAA;AACT","ignoreList":[]}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"sourcesContent":["export { default as withPayload } from './withPayload.js'\n"],"
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","withPayload"],"sources":["../src/index.js"],"sourcesContent":["export { default as withPayload } from './withPayload.js'\n"],"mappings":"AAAA,SAASA,OAAA,IAAWC,WAAW,QAAQ","ignoreList":[]}
|