@contember/react-client 2.0.0-alpha.4 → 2.0.0-alpha.40
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/api-extractor.json +3 -0
- package/dist/development/index.cjs +33 -37
- package/dist/development/index.cjs.map +1 -1
- package/dist/development/index.js +25 -27
- package/dist/development/index.js.map +1 -1
- package/dist/development/src/ClientError.cjs.map +1 -0
- package/dist/development/src/ClientError.js.map +1 -0
- package/dist/development/{ContemberClient.cjs → src/ContemberClient.cjs} +11 -11
- package/dist/development/src/ContemberClient.cjs.map +1 -0
- package/dist/development/{ContemberClient.js → src/ContemberClient.js} +6 -6
- package/dist/development/src/ContemberClient.js.map +1 -0
- package/dist/development/src/apiRequest/apiRequestReducer.cjs.map +1 -0
- package/dist/development/src/apiRequest/apiRequestReducer.js.map +1 -0
- package/dist/{production → development/src}/apiRequest/useApiRequest.cjs +8 -8
- package/dist/development/src/apiRequest/useApiRequest.cjs.map +1 -0
- package/dist/{production → development/src}/apiRequest/useApiRequest.js +3 -3
- package/dist/development/src/apiRequest/useApiRequest.js.map +1 -0
- package/dist/{production → development/src}/auth/SessionTokenContext.cjs +2 -2
- package/dist/development/src/auth/SessionTokenContext.cjs.map +1 -0
- package/dist/development/src/auth/SessionTokenContext.js.map +1 -0
- package/dist/{production → development/src}/auth/SetSessionTokenContext.cjs +2 -2
- package/dist/development/src/auth/SetSessionTokenContext.cjs.map +1 -0
- package/dist/development/src/auth/SetSessionTokenContext.js.map +1 -0
- package/dist/{production → development/src}/auth/useSessionToken.cjs +3 -3
- package/dist/development/src/auth/useSessionToken.cjs.map +1 -0
- package/dist/development/src/auth/useSessionToken.js.map +1 -0
- package/dist/{production → development/src}/auth/useSetSessionToken.cjs +2 -2
- package/dist/development/src/auth/useSetSessionToken.cjs.map +1 -0
- package/dist/development/src/auth/useSetSessionToken.js.map +1 -0
- package/dist/{production → development/src}/config/ApiBaseUrlContext.cjs +2 -2
- package/dist/development/src/config/ApiBaseUrlContext.cjs.map +1 -0
- package/dist/development/src/config/ApiBaseUrlContext.js.map +1 -0
- package/dist/{production → development/src}/config/LoginTokenContext.cjs +2 -2
- package/dist/development/src/config/LoginTokenContext.cjs.map +1 -0
- package/dist/development/src/config/LoginTokenContext.js.map +1 -0
- package/dist/development/{config → src/config}/useApiBaseUrl.cjs +2 -2
- package/dist/development/src/config/useApiBaseUrl.cjs.map +1 -0
- package/dist/development/src/config/useApiBaseUrl.js.map +1 -0
- package/dist/development/{config → src/config}/useLoginToken.cjs +2 -2
- package/dist/development/src/config/useLoginToken.cjs.map +1 -0
- package/dist/development/src/config/useLoginToken.js.map +1 -0
- package/dist/development/src/content/useContentApiRequest.cjs.map +1 -0
- package/dist/development/src/content/useContentApiRequest.js.map +1 -0
- package/dist/development/{content → src/content}/useContentGraphQlClient.cjs +1 -2
- package/dist/development/src/content/useContentGraphQlClient.cjs.map +1 -0
- package/dist/{production → development/src}/content/useContentGraphQlClient.js +1 -2
- package/dist/development/src/content/useContentGraphQlClient.js.map +1 -0
- package/dist/development/src/content/useCurrentContentGraphQlClient.cjs.map +1 -0
- package/dist/development/src/content/useCurrentContentGraphQlClient.js.map +1 -0
- package/dist/{production → development/src}/project/ProjectSlugContext.cjs +2 -2
- package/dist/development/src/project/ProjectSlugContext.cjs.map +1 -0
- package/dist/development/src/project/ProjectSlugContext.js.map +1 -0
- package/dist/development/{project → src/project}/StageSlugContext.cjs +2 -2
- package/dist/development/src/project/StageSlugContext.cjs.map +1 -0
- package/dist/development/src/project/StageSlugContext.js.map +1 -0
- package/dist/development/{project → src/project}/useProjectSlug.cjs +2 -2
- package/dist/development/src/project/useProjectSlug.cjs.map +1 -0
- package/dist/development/src/project/useProjectSlug.js.map +1 -0
- package/dist/development/{project → src/project}/useStageSlug.cjs +2 -2
- package/dist/development/src/project/useStageSlug.cjs.map +1 -0
- package/dist/development/src/project/useStageSlug.js.map +1 -0
- package/dist/development/src/system/useCurrentSystemGraphQlClient.cjs.map +1 -0
- package/dist/development/src/system/useCurrentSystemGraphQlClient.js.map +1 -0
- package/dist/development/src/system/useSystemApiRequest.cjs.map +1 -0
- package/dist/development/src/system/useSystemApiRequest.js.map +1 -0
- package/dist/{production → development/src}/system/useSystemGraphQlClient.cjs +1 -2
- package/dist/development/src/system/useSystemGraphQlClient.cjs.map +1 -0
- package/dist/{production → development/src}/system/useSystemGraphQlClient.js +1 -2
- package/dist/development/src/system/useSystemGraphQlClient.js.map +1 -0
- package/dist/development/src/tenant/useTenantApiRequest.cjs.map +1 -0
- package/dist/development/src/tenant/useTenantApiRequest.js.map +1 -0
- package/dist/development/{tenant → src/tenant}/useTenantGraphQlClient.cjs +1 -2
- package/dist/development/src/tenant/useTenantGraphQlClient.cjs.map +1 -0
- package/dist/development/{tenant → src/tenant}/useTenantGraphQlClient.js +1 -2
- package/dist/development/src/tenant/useTenantGraphQlClient.js.map +1 -0
- package/dist/{production → development/src}/useGraphQlClient.cjs +5 -2
- package/dist/development/src/useGraphQlClient.cjs.map +1 -0
- package/dist/development/{useGraphQlClient.js → src/useGraphQlClient.js} +4 -1
- package/dist/development/src/useGraphQlClient.js.map +1 -0
- package/dist/production/index.cjs +33 -37
- package/dist/production/index.cjs.map +1 -1
- package/dist/production/index.js +25 -27
- package/dist/production/index.js.map +1 -1
- package/dist/production/src/ClientError.cjs.map +1 -0
- package/dist/production/src/ClientError.js.map +1 -0
- package/dist/production/{ContemberClient.cjs → src/ContemberClient.cjs} +5 -5
- package/dist/production/src/ContemberClient.cjs.map +1 -0
- package/dist/production/src/ContemberClient.js.map +1 -0
- package/dist/production/src/apiRequest/apiRequestReducer.cjs.map +1 -0
- package/dist/production/src/apiRequest/apiRequestReducer.js.map +1 -0
- package/dist/{development → production/src}/apiRequest/useApiRequest.cjs +8 -8
- package/dist/production/src/apiRequest/useApiRequest.cjs.map +1 -0
- package/dist/{development → production/src}/apiRequest/useApiRequest.js +3 -3
- package/dist/production/src/apiRequest/useApiRequest.js.map +1 -0
- package/dist/{development → production/src}/auth/SessionTokenContext.cjs +2 -2
- package/dist/production/src/auth/SessionTokenContext.cjs.map +1 -0
- package/dist/production/src/auth/SessionTokenContext.js.map +1 -0
- package/dist/{development → production/src}/auth/SetSessionTokenContext.cjs +2 -2
- package/dist/production/src/auth/SetSessionTokenContext.cjs.map +1 -0
- package/dist/production/src/auth/SetSessionTokenContext.js.map +1 -0
- package/dist/{development → production/src}/auth/useSessionToken.cjs +3 -3
- package/dist/production/src/auth/useSessionToken.cjs.map +1 -0
- package/dist/production/src/auth/useSessionToken.js.map +1 -0
- package/dist/{development → production/src}/auth/useSetSessionToken.cjs +2 -2
- package/dist/production/src/auth/useSetSessionToken.cjs.map +1 -0
- package/dist/production/src/auth/useSetSessionToken.js.map +1 -0
- package/dist/{development → production/src}/config/ApiBaseUrlContext.cjs +2 -2
- package/dist/production/src/config/ApiBaseUrlContext.cjs.map +1 -0
- package/dist/production/src/config/ApiBaseUrlContext.js.map +1 -0
- package/dist/{development → production/src}/config/LoginTokenContext.cjs +2 -2
- package/dist/production/src/config/LoginTokenContext.cjs.map +1 -0
- package/dist/production/src/config/LoginTokenContext.js.map +1 -0
- package/dist/production/{config → src/config}/useApiBaseUrl.cjs +2 -2
- package/dist/production/src/config/useApiBaseUrl.cjs.map +1 -0
- package/dist/production/src/config/useApiBaseUrl.js.map +1 -0
- package/dist/production/{config → src/config}/useLoginToken.cjs +2 -2
- package/dist/production/src/config/useLoginToken.cjs.map +1 -0
- package/dist/production/src/config/useLoginToken.js.map +1 -0
- package/dist/production/src/content/useContentApiRequest.cjs.map +1 -0
- package/dist/production/src/content/useContentApiRequest.js.map +1 -0
- package/dist/production/{content → src/content}/useContentGraphQlClient.cjs +1 -2
- package/dist/production/src/content/useContentGraphQlClient.cjs.map +1 -0
- package/dist/{development → production/src}/content/useContentGraphQlClient.js +1 -2
- package/dist/production/src/content/useContentGraphQlClient.js.map +1 -0
- package/dist/production/src/content/useCurrentContentGraphQlClient.cjs.map +1 -0
- package/dist/production/src/content/useCurrentContentGraphQlClient.js.map +1 -0
- package/dist/{development → production/src}/project/ProjectSlugContext.cjs +2 -2
- package/dist/production/src/project/ProjectSlugContext.cjs.map +1 -0
- package/dist/production/src/project/ProjectSlugContext.js.map +1 -0
- package/dist/production/{project → src/project}/StageSlugContext.cjs +2 -2
- package/dist/production/src/project/StageSlugContext.cjs.map +1 -0
- package/dist/production/src/project/StageSlugContext.js.map +1 -0
- package/dist/production/{project → src/project}/useProjectSlug.cjs +2 -2
- package/dist/production/src/project/useProjectSlug.cjs.map +1 -0
- package/dist/production/src/project/useProjectSlug.js.map +1 -0
- package/dist/production/{project → src/project}/useStageSlug.cjs +2 -2
- package/dist/production/src/project/useStageSlug.cjs.map +1 -0
- package/dist/production/src/project/useStageSlug.js.map +1 -0
- package/dist/production/src/system/useCurrentSystemGraphQlClient.cjs.map +1 -0
- package/dist/production/src/system/useCurrentSystemGraphQlClient.js.map +1 -0
- package/dist/production/src/system/useSystemApiRequest.cjs.map +1 -0
- package/dist/production/src/system/useSystemApiRequest.js.map +1 -0
- package/dist/{development → production/src}/system/useSystemGraphQlClient.cjs +1 -2
- package/dist/production/src/system/useSystemGraphQlClient.cjs.map +1 -0
- package/dist/{development → production/src}/system/useSystemGraphQlClient.js +1 -2
- package/dist/production/src/system/useSystemGraphQlClient.js.map +1 -0
- package/dist/production/src/tenant/useTenantApiRequest.cjs.map +1 -0
- package/dist/production/src/tenant/useTenantApiRequest.js.map +1 -0
- package/dist/production/{tenant → src/tenant}/useTenantGraphQlClient.cjs +1 -2
- package/dist/production/src/tenant/useTenantGraphQlClient.cjs.map +1 -0
- package/dist/production/{tenant → src/tenant}/useTenantGraphQlClient.js +1 -2
- package/dist/production/src/tenant/useTenantGraphQlClient.js.map +1 -0
- package/dist/{development → production/src}/useGraphQlClient.cjs +5 -2
- package/dist/production/src/useGraphQlClient.cjs.map +1 -0
- package/dist/production/{useGraphQlClient.js → src/useGraphQlClient.js} +4 -1
- package/dist/production/src/useGraphQlClient.js.map +1 -0
- package/dist/types/ContemberClient.d.ts.map +1 -1
- package/dist/types/apiRequest/ApiRequestAction.d.ts +2 -2
- package/dist/types/apiRequest/ApiRequestAction.d.ts.map +1 -1
- package/dist/types/apiRequest/ApiRequestState.d.ts +2 -2
- package/dist/types/apiRequest/ApiRequestState.d.ts.map +1 -1
- package/dist/types/apiRequest/apiRequestReducer.d.ts.map +1 -1
- package/dist/types/apiRequest/useApiRequest.d.ts.map +1 -1
- package/dist/types/content/useContentApiRequest.d.ts.map +1 -1
- package/dist/types/content/useContentGraphQlClient.d.ts.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/system/useSystemApiRequest.d.ts.map +1 -1
- package/dist/types/system/useSystemGraphQlClient.d.ts +1 -1
- package/dist/types/system/useSystemGraphQlClient.d.ts.map +1 -1
- package/dist/types/tenant/useTenantApiRequest.d.ts.map +1 -1
- package/dist/types/tenant/useTenantGraphQlClient.d.ts +1 -1
- package/dist/types/tenant/useTenantGraphQlClient.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/types/useGraphQlClient.d.ts.map +1 -1
- package/package.json +7 -14
- package/src/apiRequest/ApiRequestAction.ts +7 -7
- package/src/apiRequest/ApiRequestState.ts +15 -15
- package/src/apiRequest/useApiRequest.ts +5 -5
- package/src/content/useContentGraphQlClient.ts +1 -3
- package/src/index.ts +0 -1
- package/src/system/useSystemGraphQlClient.ts +1 -2
- package/src/tenant/useTenantGraphQlClient.ts +1 -2
- package/src/tsconfig.json +1 -2
- package/src/useGraphQlClient.ts +4 -1
- package/tsconfig.json +7 -0
- package/tsdoc.json +6 -0
- package/dist/development/ClientError.cjs.map +0 -1
- package/dist/development/ClientError.js.map +0 -1
- package/dist/development/ContemberClient.cjs.map +0 -1
- package/dist/development/ContemberClient.js.map +0 -1
- package/dist/development/apiRequest/apiRequestReducer.cjs.map +0 -1
- package/dist/development/apiRequest/apiRequestReducer.js.map +0 -1
- package/dist/development/apiRequest/useApiRequest.cjs.map +0 -1
- package/dist/development/apiRequest/useApiRequest.js.map +0 -1
- package/dist/development/auth/SessionTokenContext.cjs.map +0 -1
- package/dist/development/auth/SessionTokenContext.js.map +0 -1
- package/dist/development/auth/SetSessionTokenContext.cjs.map +0 -1
- package/dist/development/auth/SetSessionTokenContext.js.map +0 -1
- package/dist/development/auth/useSessionToken.cjs.map +0 -1
- package/dist/development/auth/useSessionToken.js.map +0 -1
- package/dist/development/auth/useSetSessionToken.cjs.map +0 -1
- package/dist/development/auth/useSetSessionToken.js.map +0 -1
- package/dist/development/config/ApiBaseUrlContext.cjs.map +0 -1
- package/dist/development/config/ApiBaseUrlContext.js.map +0 -1
- package/dist/development/config/LoginTokenContext.cjs.map +0 -1
- package/dist/development/config/LoginTokenContext.js.map +0 -1
- package/dist/development/config/useApiBaseUrl.cjs.map +0 -1
- package/dist/development/config/useApiBaseUrl.js.map +0 -1
- package/dist/development/config/useLoginToken.cjs.map +0 -1
- package/dist/development/config/useLoginToken.js.map +0 -1
- package/dist/development/content/useContentApiRequest.cjs.map +0 -1
- package/dist/development/content/useContentApiRequest.js.map +0 -1
- package/dist/development/content/useContentGraphQlClient.cjs.map +0 -1
- package/dist/development/content/useContentGraphQlClient.js.map +0 -1
- package/dist/development/content/useCurrentContentGraphQlClient.cjs.map +0 -1
- package/dist/development/content/useCurrentContentGraphQlClient.js.map +0 -1
- package/dist/development/project/ProjectSlugContext.cjs.map +0 -1
- package/dist/development/project/ProjectSlugContext.js.map +0 -1
- package/dist/development/project/StageSlugContext.cjs.map +0 -1
- package/dist/development/project/StageSlugContext.js.map +0 -1
- package/dist/development/project/useProjectSlug.cjs.map +0 -1
- package/dist/development/project/useProjectSlug.js.map +0 -1
- package/dist/development/project/useStageSlug.cjs.map +0 -1
- package/dist/development/project/useStageSlug.js.map +0 -1
- package/dist/development/system/useCurrentSystemGraphQlClient.cjs.map +0 -1
- package/dist/development/system/useCurrentSystemGraphQlClient.js.map +0 -1
- package/dist/development/system/useSystemApiRequest.cjs.map +0 -1
- package/dist/development/system/useSystemApiRequest.js.map +0 -1
- package/dist/development/system/useSystemGraphQlClient.cjs.map +0 -1
- package/dist/development/system/useSystemGraphQlClient.js.map +0 -1
- package/dist/development/tenant/useTenantApiRequest.cjs.map +0 -1
- package/dist/development/tenant/useTenantApiRequest.js.map +0 -1
- package/dist/development/tenant/useTenantGraphQlClient.cjs.map +0 -1
- package/dist/development/tenant/useTenantGraphQlClient.js.map +0 -1
- package/dist/development/upload/fileUploadReducer.cjs +0 -149
- package/dist/development/upload/fileUploadReducer.cjs.map +0 -1
- package/dist/development/upload/fileUploadReducer.js +0 -149
- package/dist/development/upload/fileUploadReducer.js.map +0 -1
- package/dist/development/upload/toFileId.cjs +0 -10
- package/dist/development/upload/toFileId.cjs.map +0 -1
- package/dist/development/upload/toFileId.js +0 -10
- package/dist/development/upload/toFileId.js.map +0 -1
- package/dist/development/upload/useFileUpload.cjs +0 -166
- package/dist/development/upload/useFileUpload.cjs.map +0 -1
- package/dist/development/upload/useFileUpload.js +0 -166
- package/dist/development/upload/useFileUpload.js.map +0 -1
- package/dist/development/useGraphQlClient.cjs.map +0 -1
- package/dist/development/useGraphQlClient.js.map +0 -1
- package/dist/production/ClientError.cjs.map +0 -1
- package/dist/production/ClientError.js.map +0 -1
- package/dist/production/ContemberClient.cjs.map +0 -1
- package/dist/production/ContemberClient.js.map +0 -1
- package/dist/production/apiRequest/apiRequestReducer.cjs.map +0 -1
- package/dist/production/apiRequest/apiRequestReducer.js.map +0 -1
- package/dist/production/apiRequest/useApiRequest.cjs.map +0 -1
- package/dist/production/apiRequest/useApiRequest.js.map +0 -1
- package/dist/production/auth/SessionTokenContext.cjs.map +0 -1
- package/dist/production/auth/SessionTokenContext.js.map +0 -1
- package/dist/production/auth/SetSessionTokenContext.cjs.map +0 -1
- package/dist/production/auth/SetSessionTokenContext.js.map +0 -1
- package/dist/production/auth/useSessionToken.cjs.map +0 -1
- package/dist/production/auth/useSessionToken.js.map +0 -1
- package/dist/production/auth/useSetSessionToken.cjs.map +0 -1
- package/dist/production/auth/useSetSessionToken.js.map +0 -1
- package/dist/production/config/ApiBaseUrlContext.cjs.map +0 -1
- package/dist/production/config/ApiBaseUrlContext.js.map +0 -1
- package/dist/production/config/LoginTokenContext.cjs.map +0 -1
- package/dist/production/config/LoginTokenContext.js.map +0 -1
- package/dist/production/config/useApiBaseUrl.cjs.map +0 -1
- package/dist/production/config/useApiBaseUrl.js.map +0 -1
- package/dist/production/config/useLoginToken.cjs.map +0 -1
- package/dist/production/config/useLoginToken.js.map +0 -1
- package/dist/production/content/useContentApiRequest.cjs.map +0 -1
- package/dist/production/content/useContentApiRequest.js.map +0 -1
- package/dist/production/content/useContentGraphQlClient.cjs.map +0 -1
- package/dist/production/content/useContentGraphQlClient.js.map +0 -1
- package/dist/production/content/useCurrentContentGraphQlClient.cjs.map +0 -1
- package/dist/production/content/useCurrentContentGraphQlClient.js.map +0 -1
- package/dist/production/project/ProjectSlugContext.cjs.map +0 -1
- package/dist/production/project/ProjectSlugContext.js.map +0 -1
- package/dist/production/project/StageSlugContext.cjs.map +0 -1
- package/dist/production/project/StageSlugContext.js.map +0 -1
- package/dist/production/project/useProjectSlug.cjs.map +0 -1
- package/dist/production/project/useProjectSlug.js.map +0 -1
- package/dist/production/project/useStageSlug.cjs.map +0 -1
- package/dist/production/project/useStageSlug.js.map +0 -1
- package/dist/production/system/useCurrentSystemGraphQlClient.cjs.map +0 -1
- package/dist/production/system/useCurrentSystemGraphQlClient.js.map +0 -1
- package/dist/production/system/useSystemApiRequest.cjs.map +0 -1
- package/dist/production/system/useSystemApiRequest.js.map +0 -1
- package/dist/production/system/useSystemGraphQlClient.cjs.map +0 -1
- package/dist/production/system/useSystemGraphQlClient.js.map +0 -1
- package/dist/production/tenant/useTenantApiRequest.cjs.map +0 -1
- package/dist/production/tenant/useTenantApiRequest.js.map +0 -1
- package/dist/production/tenant/useTenantGraphQlClient.cjs.map +0 -1
- package/dist/production/tenant/useTenantGraphQlClient.js.map +0 -1
- package/dist/production/upload/fileUploadReducer.cjs +0 -149
- package/dist/production/upload/fileUploadReducer.cjs.map +0 -1
- package/dist/production/upload/fileUploadReducer.js +0 -149
- package/dist/production/upload/fileUploadReducer.js.map +0 -1
- package/dist/production/upload/toFileId.cjs +0 -10
- package/dist/production/upload/toFileId.cjs.map +0 -1
- package/dist/production/upload/toFileId.js +0 -10
- package/dist/production/upload/toFileId.js.map +0 -1
- package/dist/production/upload/useFileUpload.cjs +0 -166
- package/dist/production/upload/useFileUpload.cjs.map +0 -1
- package/dist/production/upload/useFileUpload.js +0 -166
- package/dist/production/upload/useFileUpload.js.map +0 -1
- package/dist/production/useGraphQlClient.cjs.map +0 -1
- package/dist/production/useGraphQlClient.js.map +0 -1
- package/dist/types/upload/FileId.d.ts +0 -2
- package/dist/types/upload/FileId.d.ts.map +0 -1
- package/dist/types/upload/FileUploadAction.d.ts +0 -24
- package/dist/types/upload/FileUploadAction.d.ts.map +0 -1
- package/dist/types/upload/FileUploadCompoundState.d.ts +0 -4
- package/dist/types/upload/FileUploadCompoundState.d.ts.map +0 -1
- package/dist/types/upload/FileUploadMetadata.d.ts +0 -6
- package/dist/types/upload/FileUploadMetadata.d.ts.map +0 -1
- package/dist/types/upload/FileUploadMultiTemporalState.d.ts +0 -7
- package/dist/types/upload/FileUploadMultiTemporalState.d.ts.map +0 -1
- package/dist/types/upload/FileUploadOperations.d.ts +0 -18
- package/dist/types/upload/FileUploadOperations.d.ts.map +0 -1
- package/dist/types/upload/FileWithMetadata.d.ts +0 -8
- package/dist/types/upload/FileWithMetadata.d.ts.map +0 -1
- package/dist/types/upload/SingleFileUploadState.d.ts +0 -35
- package/dist/types/upload/SingleFileUploadState.d.ts.map +0 -1
- package/dist/types/upload/fileUploadReducer.d.ts +0 -5
- package/dist/types/upload/fileUploadReducer.d.ts.map +0 -1
- package/dist/types/upload/index.d.ts +0 -8
- package/dist/types/upload/index.d.ts.map +0 -1
- package/dist/types/upload/toFileId.d.ts +0 -4
- package/dist/types/upload/toFileId.d.ts.map +0 -1
- package/dist/types/upload/useFileUpload.d.ts +0 -10
- package/dist/types/upload/useFileUpload.d.ts.map +0 -1
- package/src/upload/FileId.ts +0 -1
- package/src/upload/FileUploadAction.ts +0 -30
- package/src/upload/FileUploadCompoundState.ts +0 -7
- package/src/upload/FileUploadMetadata.ts +0 -6
- package/src/upload/FileUploadMultiTemporalState.ts +0 -7
- package/src/upload/FileUploadOperations.ts +0 -22
- package/src/upload/FileWithMetadata.ts +0 -8
- package/src/upload/SingleFileUploadState.ts +0 -43
- package/src/upload/fileUploadReducer.ts +0 -166
- package/src/upload/index.ts +0 -15
- package/src/upload/toFileId.ts +0 -12
- package/src/upload/useFileUpload.ts +0 -218
- /package/dist/development/{ClientError.cjs → src/ClientError.cjs} +0 -0
- /package/dist/development/{ClientError.js → src/ClientError.js} +0 -0
- /package/dist/development/{apiRequest → src/apiRequest}/apiRequestReducer.cjs +0 -0
- /package/dist/development/{apiRequest → src/apiRequest}/apiRequestReducer.js +0 -0
- /package/dist/development/{auth → src/auth}/SessionTokenContext.js +0 -0
- /package/dist/development/{auth → src/auth}/SetSessionTokenContext.js +0 -0
- /package/dist/development/{auth → src/auth}/useSessionToken.js +0 -0
- /package/dist/development/{auth → src/auth}/useSetSessionToken.js +0 -0
- /package/dist/development/{config → src/config}/ApiBaseUrlContext.js +0 -0
- /package/dist/development/{config → src/config}/LoginTokenContext.js +0 -0
- /package/dist/development/{config → src/config}/useApiBaseUrl.js +0 -0
- /package/dist/development/{config → src/config}/useLoginToken.js +0 -0
- /package/dist/development/{content → src/content}/useContentApiRequest.cjs +0 -0
- /package/dist/development/{content → src/content}/useContentApiRequest.js +0 -0
- /package/dist/development/{content → src/content}/useCurrentContentGraphQlClient.cjs +0 -0
- /package/dist/development/{content → src/content}/useCurrentContentGraphQlClient.js +0 -0
- /package/dist/development/{project → src/project}/ProjectSlugContext.js +0 -0
- /package/dist/development/{project → src/project}/StageSlugContext.js +0 -0
- /package/dist/development/{project → src/project}/useProjectSlug.js +0 -0
- /package/dist/development/{project → src/project}/useStageSlug.js +0 -0
- /package/dist/development/{system → src/system}/useCurrentSystemGraphQlClient.cjs +0 -0
- /package/dist/development/{system → src/system}/useCurrentSystemGraphQlClient.js +0 -0
- /package/dist/development/{system → src/system}/useSystemApiRequest.cjs +0 -0
- /package/dist/development/{system → src/system}/useSystemApiRequest.js +0 -0
- /package/dist/development/{tenant → src/tenant}/useTenantApiRequest.cjs +0 -0
- /package/dist/development/{tenant → src/tenant}/useTenantApiRequest.js +0 -0
- /package/dist/production/{ClientError.cjs → src/ClientError.cjs} +0 -0
- /package/dist/production/{ClientError.js → src/ClientError.js} +0 -0
- /package/dist/production/{ContemberClient.js → src/ContemberClient.js} +0 -0
- /package/dist/production/{apiRequest → src/apiRequest}/apiRequestReducer.cjs +0 -0
- /package/dist/production/{apiRequest → src/apiRequest}/apiRequestReducer.js +0 -0
- /package/dist/production/{auth → src/auth}/SessionTokenContext.js +0 -0
- /package/dist/production/{auth → src/auth}/SetSessionTokenContext.js +0 -0
- /package/dist/production/{auth → src/auth}/useSessionToken.js +0 -0
- /package/dist/production/{auth → src/auth}/useSetSessionToken.js +0 -0
- /package/dist/production/{config → src/config}/ApiBaseUrlContext.js +0 -0
- /package/dist/production/{config → src/config}/LoginTokenContext.js +0 -0
- /package/dist/production/{config → src/config}/useApiBaseUrl.js +0 -0
- /package/dist/production/{config → src/config}/useLoginToken.js +0 -0
- /package/dist/production/{content → src/content}/useContentApiRequest.cjs +0 -0
- /package/dist/production/{content → src/content}/useContentApiRequest.js +0 -0
- /package/dist/production/{content → src/content}/useCurrentContentGraphQlClient.cjs +0 -0
- /package/dist/production/{content → src/content}/useCurrentContentGraphQlClient.js +0 -0
- /package/dist/production/{project → src/project}/ProjectSlugContext.js +0 -0
- /package/dist/production/{project → src/project}/StageSlugContext.js +0 -0
- /package/dist/production/{project → src/project}/useProjectSlug.js +0 -0
- /package/dist/production/{project → src/project}/useStageSlug.js +0 -0
- /package/dist/production/{system → src/system}/useCurrentSystemGraphQlClient.cjs +0 -0
- /package/dist/production/{system → src/system}/useCurrentSystemGraphQlClient.js +0 -0
- /package/dist/production/{system → src/system}/useSystemApiRequest.cjs +0 -0
- /package/dist/production/{system → src/system}/useSystemApiRequest.js +0 -0
- /package/dist/production/{tenant → src/tenant}/useTenantApiRequest.cjs +0 -0
- /package/dist/production/{tenant → src/tenant}/useTenantApiRequest.js +0 -0
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
import { FileUploadError } from '@contember/client'
|
|
2
|
-
import { assertNever } from '@contember/utilities'
|
|
3
|
-
import type { FileId } from './FileId'
|
|
4
|
-
import type { FileUploadAction } from './FileUploadAction'
|
|
5
|
-
import type { FileUploadMultiTemporalState } from './FileUploadMultiTemporalState'
|
|
6
|
-
import { toFileId } from './toFileId'
|
|
7
|
-
|
|
8
|
-
export const initializeFileUploadState = <Result = unknown, Metadata = undefined>(): FileUploadMultiTemporalState<Result, Metadata> => ({
|
|
9
|
-
fileIdByFile: new WeakMap<File, FileId>(),
|
|
10
|
-
state: new Map(),
|
|
11
|
-
})
|
|
12
|
-
|
|
13
|
-
export const fileUploadReducer = <Result = unknown, Metadata = undefined>(
|
|
14
|
-
previousState: FileUploadMultiTemporalState<Result, Metadata>,
|
|
15
|
-
action: FileUploadAction<Result, Metadata>,
|
|
16
|
-
): FileUploadMultiTemporalState<Result, Metadata> => {
|
|
17
|
-
let newState: undefined | FileUploadMultiTemporalState<Result, Metadata>['state'] = undefined
|
|
18
|
-
|
|
19
|
-
switch (action.type) {
|
|
20
|
-
case 'initialize': {
|
|
21
|
-
for (const [fileId, metadata] of action.files) {
|
|
22
|
-
// Deliberately allowing starting a new upload with the same id
|
|
23
|
-
(newState ??= new Map(previousState.state)).set(fileId, {
|
|
24
|
-
readyState: 'initializing',
|
|
25
|
-
abortController: metadata.abortController,
|
|
26
|
-
previewUrl: metadata.previewUrl,
|
|
27
|
-
file: metadata.file,
|
|
28
|
-
})
|
|
29
|
-
// Deliberately mutating
|
|
30
|
-
previousState.fileIdByFile.set(metadata.file, fileId)
|
|
31
|
-
}
|
|
32
|
-
break
|
|
33
|
-
}
|
|
34
|
-
case 'startUploading': {
|
|
35
|
-
for (const [fileOrId, metadata] of action.files) {
|
|
36
|
-
const fileId = toFileId(previousState, fileOrId)
|
|
37
|
-
const fileState = (newState ?? previousState.state).get(fileId)
|
|
38
|
-
|
|
39
|
-
if (fileState === undefined || fileState.readyState !== 'initializing') {
|
|
40
|
-
continue
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
(newState ??= new Map(previousState.state)).set(fileId, {
|
|
44
|
-
readyState: 'uploading',
|
|
45
|
-
abortController: fileState.abortController,
|
|
46
|
-
file: fileState.file,
|
|
47
|
-
metadata: metadata.metadata!, // If the user didn't supply the metadata, then that's on them.
|
|
48
|
-
previewUrl: fileState.previewUrl,
|
|
49
|
-
progress: undefined,
|
|
50
|
-
uploader: metadata.uploader,
|
|
51
|
-
})
|
|
52
|
-
}
|
|
53
|
-
break
|
|
54
|
-
}
|
|
55
|
-
case 'finishSuccessfully': {
|
|
56
|
-
for (const [fileOrId, result] of action.result) {
|
|
57
|
-
const fileId = toFileId(previousState, fileOrId)
|
|
58
|
-
const previousFileState = (newState ?? previousState.state).get(fileId)
|
|
59
|
-
if (previousFileState === undefined || previousFileState.readyState !== 'uploading') {
|
|
60
|
-
continue
|
|
61
|
-
}
|
|
62
|
-
(newState ??= new Map(previousState.state)).set(fileId, {
|
|
63
|
-
readyState: 'success',
|
|
64
|
-
file: previousFileState.file,
|
|
65
|
-
metadata: previousFileState.metadata,
|
|
66
|
-
previewUrl: previousFileState.previewUrl,
|
|
67
|
-
result,
|
|
68
|
-
uploader: previousFileState.uploader,
|
|
69
|
-
})
|
|
70
|
-
}
|
|
71
|
-
break
|
|
72
|
-
}
|
|
73
|
-
case 'finishWithError': {
|
|
74
|
-
for (const errorSpec of action.error) {
|
|
75
|
-
let fileOrId: File | FileId
|
|
76
|
-
let rawError: unknown
|
|
77
|
-
|
|
78
|
-
if (Array.isArray(errorSpec)) {
|
|
79
|
-
[fileOrId, rawError] = errorSpec
|
|
80
|
-
} else {
|
|
81
|
-
fileOrId = errorSpec
|
|
82
|
-
rawError = undefined
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
const errors: FileUploadError[] = []
|
|
86
|
-
|
|
87
|
-
if (rawError instanceof FileUploadError) {
|
|
88
|
-
errors.push(rawError)
|
|
89
|
-
} else if (Array.isArray(rawError)) {
|
|
90
|
-
for (const error of rawError) {
|
|
91
|
-
if (error instanceof FileUploadError) {
|
|
92
|
-
errors.push(error)
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
const fileId = toFileId(previousState, fileOrId)
|
|
98
|
-
const previousFileState = (newState ?? previousState.state).get(fileId)
|
|
99
|
-
if (
|
|
100
|
-
previousFileState === undefined ||
|
|
101
|
-
(previousFileState.readyState !== 'initializing' && previousFileState.readyState !== 'uploading')
|
|
102
|
-
) {
|
|
103
|
-
continue
|
|
104
|
-
}
|
|
105
|
-
const uploader = previousFileState.readyState === 'uploading' ? previousFileState.uploader : undefined
|
|
106
|
-
const metadata = previousFileState.readyState === 'uploading' ? previousFileState.metadata : undefined
|
|
107
|
-
; (newState ??= new Map(previousState.state)).set(fileId, {
|
|
108
|
-
readyState: 'error',
|
|
109
|
-
errors: errors.length ? errors : undefined,
|
|
110
|
-
rawError,
|
|
111
|
-
file: previousFileState.file,
|
|
112
|
-
metadata,
|
|
113
|
-
previewUrl: previousFileState.previewUrl,
|
|
114
|
-
uploader,
|
|
115
|
-
})
|
|
116
|
-
}
|
|
117
|
-
break
|
|
118
|
-
}
|
|
119
|
-
case 'purge': {
|
|
120
|
-
for (const fileOrId of action.files) {
|
|
121
|
-
const fileId = toFileId(previousState, fileOrId)
|
|
122
|
-
const fileState = (newState ?? previousState.state).get(fileId)
|
|
123
|
-
|
|
124
|
-
if (fileState === undefined) {
|
|
125
|
-
continue
|
|
126
|
-
}
|
|
127
|
-
URL.revokeObjectURL(fileState.previewUrl)
|
|
128
|
-
if (fileState.readyState === 'initializing' || fileState.readyState === 'uploading') {
|
|
129
|
-
fileState.abortController.abort() // This is a bit naughty… We shouldn't do this from here.
|
|
130
|
-
}
|
|
131
|
-
(newState ??= new Map(previousState.state)).delete(fileId)
|
|
132
|
-
}
|
|
133
|
-
break
|
|
134
|
-
}
|
|
135
|
-
case 'updateUploadProgress': {
|
|
136
|
-
for (const [fileOrId, { progress }] of action.progress) {
|
|
137
|
-
const fileId = toFileId(previousState, fileOrId)
|
|
138
|
-
const previousFileState = (newState ?? previousState.state).get(fileId)
|
|
139
|
-
if (progress === undefined || previousFileState === undefined || previousFileState.readyState !== 'uploading') {
|
|
140
|
-
continue
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
if (previousFileState.progress && Math.abs(progress - previousFileState.progress) < 0.01) {
|
|
144
|
-
continue
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
(newState ??= new Map(previousState.state)).set(fileId, {
|
|
148
|
-
readyState: 'uploading',
|
|
149
|
-
file: previousFileState.file,
|
|
150
|
-
uploader: previousFileState.uploader,
|
|
151
|
-
abortController: previousFileState.abortController,
|
|
152
|
-
previewUrl: previousFileState.previewUrl,
|
|
153
|
-
metadata: previousFileState.metadata,
|
|
154
|
-
progress: progress,
|
|
155
|
-
})
|
|
156
|
-
}
|
|
157
|
-
break
|
|
158
|
-
}
|
|
159
|
-
default:
|
|
160
|
-
assertNever(action)
|
|
161
|
-
}
|
|
162
|
-
if (newState === undefined) {
|
|
163
|
-
return previousState
|
|
164
|
-
}
|
|
165
|
-
return { ...previousState, state: newState }
|
|
166
|
-
}
|
package/src/upload/index.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export * from './useFileUpload'
|
|
2
|
-
|
|
3
|
-
export type { FileId } from './FileId'
|
|
4
|
-
export type { FileUploadCompoundState } from './FileUploadCompoundState'
|
|
5
|
-
export type { FileUploadMetadata } from './FileUploadMetadata'
|
|
6
|
-
export type {
|
|
7
|
-
StartUploadFileOptions,
|
|
8
|
-
StartUpload,
|
|
9
|
-
FileUploadOperations,
|
|
10
|
-
InitializeUpload,
|
|
11
|
-
PurgeUpload,
|
|
12
|
-
FailUpload,
|
|
13
|
-
} from './FileUploadOperations'
|
|
14
|
-
export type { FileWithMetadata } from './FileWithMetadata'
|
|
15
|
-
export * from './SingleFileUploadState'
|
package/src/upload/toFileId.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { FileId } from './FileId'
|
|
2
|
-
import type { FileUploadMultiTemporalState } from './FileUploadMultiTemporalState'
|
|
3
|
-
|
|
4
|
-
export const toFileId = <Result = unknown, Metadata = undefined>(
|
|
5
|
-
state: FileUploadMultiTemporalState<Result, Metadata>,
|
|
6
|
-
fileOrId: File | FileId,
|
|
7
|
-
): FileId => {
|
|
8
|
-
if (fileOrId instanceof File) {
|
|
9
|
-
return state.fileIdByFile.get(fileOrId)! // Should we throw instead of the yolo "!"?
|
|
10
|
-
}
|
|
11
|
-
return fileOrId
|
|
12
|
-
}
|
|
@@ -1,218 +0,0 @@
|
|
|
1
|
-
import { FileUploader, S3FileUploader, UploadedFileMetadata } from '@contember/client'
|
|
2
|
-
import { Reducer, useCallback, useEffect, useMemo, useReducer, useRef } from 'react'
|
|
3
|
-
import { useCurrentContentGraphQlClient } from '../content'
|
|
4
|
-
import type { FileId } from './FileId'
|
|
5
|
-
import type { FileUploadAction } from './FileUploadAction'
|
|
6
|
-
import type { FileUploadCompoundState } from './FileUploadCompoundState'
|
|
7
|
-
import type { FileUploadMetadata } from './FileUploadMetadata'
|
|
8
|
-
import type { FileUploadMultiTemporalState } from './FileUploadMultiTemporalState'
|
|
9
|
-
import type {
|
|
10
|
-
PurgeUpload,
|
|
11
|
-
FileUploadOperations,
|
|
12
|
-
InitializeUpload,
|
|
13
|
-
StartUpload,
|
|
14
|
-
StartUploadFileOptions,
|
|
15
|
-
FailUpload,
|
|
16
|
-
} from './FileUploadOperations'
|
|
17
|
-
import { fileUploadReducer, initializeFileUploadState } from './fileUploadReducer'
|
|
18
|
-
import type { FileWithMetadata } from './FileWithMetadata'
|
|
19
|
-
|
|
20
|
-
export type FileUpload<Result = unknown, Metadata = undefined> = [
|
|
21
|
-
FileUploadCompoundState<Result, Metadata>,
|
|
22
|
-
FileUploadOperations<Metadata>,
|
|
23
|
-
]
|
|
24
|
-
|
|
25
|
-
export interface FileUploadOptions {
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export const useFileUpload = <Result = unknown, Metadata = undefined>({}: FileUploadOptions = {}): FileUpload<Result, Metadata> => {
|
|
29
|
-
const contentApiClient = useCurrentContentGraphQlClient()
|
|
30
|
-
|
|
31
|
-
const fileIdSeedRef = useRef(1)
|
|
32
|
-
|
|
33
|
-
const [internalState, dispatch] = useReducer<
|
|
34
|
-
Reducer<FileUploadMultiTemporalState<Result, Metadata>, FileUploadAction<Result, Metadata>>,
|
|
35
|
-
undefined
|
|
36
|
-
>(fileUploadReducer, undefined, initializeFileUploadState)
|
|
37
|
-
|
|
38
|
-
const defaultUploader = useMemo(() => new S3FileUploader(), [])
|
|
39
|
-
|
|
40
|
-
const purgeUpload = useCallback<PurgeUpload>(files => {
|
|
41
|
-
dispatch({
|
|
42
|
-
type: 'purge',
|
|
43
|
-
files,
|
|
44
|
-
})
|
|
45
|
-
}, [])
|
|
46
|
-
const failUpload = useCallback<FailUpload>(error => {
|
|
47
|
-
dispatch({
|
|
48
|
-
type: 'finishWithError',
|
|
49
|
-
error,
|
|
50
|
-
})
|
|
51
|
-
}, [])
|
|
52
|
-
|
|
53
|
-
const previewUrls = useRef(new Set<string>())
|
|
54
|
-
const fileIds = useRef(new WeakMap<File, FileId>())
|
|
55
|
-
const filesWithMetadataById = useRef(new Map<FileId, WeakRef<FileWithMetadata>>)
|
|
56
|
-
|
|
57
|
-
const initializeUpload = useCallback<InitializeUpload>(
|
|
58
|
-
files => {
|
|
59
|
-
const newFileIds = new Set<FileId>()
|
|
60
|
-
const fileWithMetadataByFileConfig = new Map<FileId, FileWithMetadata>()
|
|
61
|
-
|
|
62
|
-
for (const fileMaybeWithId of files) {
|
|
63
|
-
const abortController = new AbortController()
|
|
64
|
-
|
|
65
|
-
let fileId: FileId
|
|
66
|
-
let file: File
|
|
67
|
-
|
|
68
|
-
if (fileMaybeWithId instanceof File) {
|
|
69
|
-
fileId = `__contember__file-${fileIdSeedRef.current++}`
|
|
70
|
-
file = fileMaybeWithId
|
|
71
|
-
} else {
|
|
72
|
-
fileId = fileMaybeWithId[0]
|
|
73
|
-
file = fileMaybeWithId[1]
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
abortController.signal.addEventListener('abort', () => {
|
|
77
|
-
purgeUpload([fileId])
|
|
78
|
-
})
|
|
79
|
-
|
|
80
|
-
const previewUrl = URL.createObjectURL(file)
|
|
81
|
-
const fileWithMetadata: FileWithMetadata = {
|
|
82
|
-
previewUrl: previewUrl,
|
|
83
|
-
abortController,
|
|
84
|
-
file,
|
|
85
|
-
fileId,
|
|
86
|
-
}
|
|
87
|
-
fileWithMetadataByFileConfig.set(fileId, fileWithMetadata)
|
|
88
|
-
|
|
89
|
-
newFileIds.add(fileId)
|
|
90
|
-
|
|
91
|
-
previewUrls.current.add(previewUrl)
|
|
92
|
-
fileIds.current.set(file, fileId)
|
|
93
|
-
filesWithMetadataById.current.set(fileId, new WeakRef(fileWithMetadata))
|
|
94
|
-
}
|
|
95
|
-
if (fileWithMetadataByFileConfig.size === 0) {
|
|
96
|
-
return fileWithMetadataByFileConfig
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
if (newFileIds.size) {
|
|
100
|
-
dispatch({
|
|
101
|
-
type: 'purge',
|
|
102
|
-
files: newFileIds,
|
|
103
|
-
})
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
dispatch({
|
|
107
|
-
type: 'initialize',
|
|
108
|
-
files: fileWithMetadataByFileConfig,
|
|
109
|
-
})
|
|
110
|
-
|
|
111
|
-
return fileWithMetadataByFileConfig
|
|
112
|
-
},
|
|
113
|
-
[purgeUpload],
|
|
114
|
-
)
|
|
115
|
-
const startUpload = useCallback<StartUpload<Metadata>>(
|
|
116
|
-
files => {
|
|
117
|
-
const filesById = new Map<FileId, FileUploadMetadata<Metadata>>()
|
|
118
|
-
const groupedByUploader: Map<FileUploader, Map<File, UploadedFileMetadata>> = new Map()
|
|
119
|
-
|
|
120
|
-
for (const fileOrIdMaybeWithOptions of files) {
|
|
121
|
-
let fileOrId: File | FileId
|
|
122
|
-
let options: StartUploadFileOptions<Metadata>
|
|
123
|
-
|
|
124
|
-
if (Array.isArray(fileOrIdMaybeWithOptions)) {
|
|
125
|
-
fileOrId = fileOrIdMaybeWithOptions[0]
|
|
126
|
-
options = fileOrIdMaybeWithOptions[1]
|
|
127
|
-
} else {
|
|
128
|
-
fileOrId = fileOrIdMaybeWithOptions
|
|
129
|
-
options = {}
|
|
130
|
-
}
|
|
131
|
-
const { uploader = defaultUploader, metadata } = options
|
|
132
|
-
|
|
133
|
-
const fileId = fileOrId instanceof File ? fileIds.current.get(fileOrId) : fileOrId
|
|
134
|
-
const fileState = fileId ? filesWithMetadataById.current.get(fileId)?.deref() : undefined
|
|
135
|
-
|
|
136
|
-
if (fileId === undefined || fileState === undefined) {
|
|
137
|
-
throw new Error(
|
|
138
|
-
`Trying to startUpload a file that hasn't been previously initialized. ` +
|
|
139
|
-
`This will be possible in future, but isn't yet.`,
|
|
140
|
-
)
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
filesById.set(fileId, {
|
|
145
|
-
uploader,
|
|
146
|
-
metadata,
|
|
147
|
-
})
|
|
148
|
-
|
|
149
|
-
let filesWithSameUploader = groupedByUploader.get(uploader)
|
|
150
|
-
if (filesWithSameUploader === undefined) {
|
|
151
|
-
groupedByUploader.set(uploader, (filesWithSameUploader = new Map()))
|
|
152
|
-
}
|
|
153
|
-
filesWithSameUploader.set(fileState.file, {
|
|
154
|
-
abortSignal: fileState.abortController.signal,
|
|
155
|
-
})
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
dispatch({
|
|
159
|
-
type: 'startUploading',
|
|
160
|
-
files: filesById,
|
|
161
|
-
})
|
|
162
|
-
|
|
163
|
-
for (const [uploader, filesForUpload] of groupedByUploader) {
|
|
164
|
-
try {
|
|
165
|
-
uploader.upload(filesForUpload, {
|
|
166
|
-
onProgress: progress => {
|
|
167
|
-
dispatch({
|
|
168
|
-
type: 'updateUploadProgress',
|
|
169
|
-
progress,
|
|
170
|
-
})
|
|
171
|
-
},
|
|
172
|
-
onSuccess: result => {
|
|
173
|
-
dispatch({
|
|
174
|
-
type: 'finishSuccessfully',
|
|
175
|
-
result,
|
|
176
|
-
})
|
|
177
|
-
},
|
|
178
|
-
onError: error => {
|
|
179
|
-
dispatch({
|
|
180
|
-
type: 'finishWithError',
|
|
181
|
-
error,
|
|
182
|
-
})
|
|
183
|
-
},
|
|
184
|
-
contentApiClient,
|
|
185
|
-
})
|
|
186
|
-
} catch (error) {
|
|
187
|
-
dispatch({
|
|
188
|
-
type: 'finishWithError',
|
|
189
|
-
error: Array.from(filesForUpload).map(([file]) => [file, error]),
|
|
190
|
-
})
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
},
|
|
194
|
-
[contentApiClient, defaultUploader],
|
|
195
|
-
)
|
|
196
|
-
|
|
197
|
-
const operations = useMemo<FileUploadOperations<Metadata>>(
|
|
198
|
-
() => ({
|
|
199
|
-
failUpload,
|
|
200
|
-
initializeUpload,
|
|
201
|
-
purgeUpload,
|
|
202
|
-
startUpload,
|
|
203
|
-
}),
|
|
204
|
-
[failUpload, initializeUpload, purgeUpload, startUpload],
|
|
205
|
-
)
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
useEffect(
|
|
209
|
-
() => () => {
|
|
210
|
-
for (const previewUrl of Array.from(previewUrls.current)) {
|
|
211
|
-
URL.revokeObjectURL(previewUrl)
|
|
212
|
-
}
|
|
213
|
-
},
|
|
214
|
-
[],
|
|
215
|
-
)
|
|
216
|
-
|
|
217
|
-
return [internalState.state, operations]
|
|
218
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|