filemail-sdk 10.0.0 → 10.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/autoDownloader/autoDownloader.d.ts.map +1 -1
- package/dist/src/autoDownloader/autoDownloader.js +0 -1
- package/dist/src/autoDownloader/autoDownloader.js.map +1 -1
- package/dist/src/client/downloader/node/nodeTransferDownloader.d.ts.map +1 -1
- package/dist/src/client/downloader/node/nodeTransferDownloader.js +0 -2
- package/dist/src/client/downloader/node/nodeTransferDownloader.js.map +1 -1
- package/dist/src/client/uploader/transferUploaderBase.d.ts +1 -0
- package/dist/src/client/uploader/transferUploaderBase.d.ts.map +1 -1
- package/dist/src/client/uploader/transferUploaderBase.js +22 -3
- package/dist/src/client/uploader/transferUploaderBase.js.map +1 -1
- package/dist/src/downloader/api/node/nodeFileServerDownloadClient.d.ts.map +1 -1
- package/dist/src/downloader/api/node/nodeFileServerDownloadClient.js +6 -2
- package/dist/src/downloader/api/node/nodeFileServerDownloadClient.js.map +1 -1
- package/dist/src/downloader/chunkDownloader.d.ts.map +1 -1
- package/dist/src/downloader/chunkDownloader.js +0 -1
- package/dist/src/downloader/chunkDownloader.js.map +1 -1
- package/dist/src/downloader/downloadTracker.d.ts.map +1 -1
- package/dist/src/downloader/downloadTracker.js +0 -1
- package/dist/src/downloader/downloadTracker.js.map +1 -1
- package/dist/src/downloader/filesDownloader.d.ts.map +1 -1
- package/dist/src/downloader/filesDownloader.js +0 -1
- package/dist/src/downloader/filesDownloader.js.map +1 -1
- package/dist/src/index.d.ts +3 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/uploader/eventArgs/filesRegistrationBatchFailedEventArgs.d.ts +6 -0
- package/dist/src/uploader/eventArgs/filesRegistrationBatchFailedEventArgs.d.ts.map +1 -0
- package/dist/src/uploader/eventArgs/filesRegistrationBatchFailedEventArgs.js +2 -0
- package/dist/src/uploader/eventArgs/filesRegistrationBatchFailedEventArgs.js.map +1 -0
- package/dist/src/uploader/export/transferUploadExportData.d.ts +4 -3
- package/dist/src/uploader/export/transferUploadExportData.d.ts.map +1 -1
- package/dist/src/uploader/export/transferUploadExportData.js.map +1 -1
- package/dist/src/uploader/export/transferUploadMetadata.d.ts +0 -2
- package/dist/src/uploader/export/transferUploadMetadata.d.ts.map +1 -1
- package/dist/src/uploader/export/transferUploadMetadata.js.map +1 -1
- package/dist/src/uploader/options/transferUploadAppendInfo.d.ts +1 -0
- package/dist/src/uploader/options/transferUploadAppendInfo.d.ts.map +1 -1
- package/dist/src/uploader/options/transferUploadAppendInfo.js.map +1 -1
- package/dist/src/uploader/state/continuousChunksCalculator.d.ts +1 -0
- package/dist/src/uploader/state/continuousChunksCalculator.d.ts.map +1 -1
- package/dist/src/uploader/state/continuousChunksCalculator.js +8 -2
- package/dist/src/uploader/state/continuousChunksCalculator.js.map +1 -1
- package/dist/src/uploader/state/transferUploadState.d.ts.map +1 -1
- package/dist/src/uploader/state/transferUploadState.js +3 -2
- package/dist/src/uploader/state/transferUploadState.js.map +1 -1
- package/dist/src/uploader/transferFilesRegistrar.d.ts +30 -0
- package/dist/src/uploader/transferFilesRegistrar.d.ts.map +1 -0
- package/dist/src/uploader/transferFilesRegistrar.js +160 -0
- package/dist/src/uploader/transferFilesRegistrar.js.map +1 -0
- package/dist/src/uploader/transferUpload.d.ts +7 -3
- package/dist/src/uploader/transferUpload.d.ts.map +1 -1
- package/dist/src/uploader/transferUpload.js +67 -73
- package/dist/src/uploader/transferUpload.js.map +1 -1
- package/dist/src/uploader/transferUploadAcker.d.ts +1 -2
- package/dist/src/uploader/transferUploadAcker.d.ts.map +1 -1
- package/dist/src/uploader/transferUploadAcker.js +12 -8
- package/dist/src/uploader/transferUploadAcker.js.map +1 -1
- package/dist/src/uploader/transferUploadEvent.d.ts +1 -0
- package/dist/src/uploader/transferUploadEvent.d.ts.map +1 -1
- package/dist/src/uploader/transferUploadEvent.js +1 -0
- package/dist/src/uploader/transferUploadEvent.js.map +1 -1
- package/dist/src/utils/api/dtos/registerTransferFilesRequest.d.ts +1 -0
- package/dist/src/utils/api/dtos/registerTransferFilesRequest.d.ts.map +1 -1
- package/dist/src/utils/api/dtos/registerTransferFilesRequest.js.map +1 -1
- package/dist/src/utils/api/dtos/registerTransferFilesResponse.d.ts +6 -2
- package/dist/src/utils/api/dtos/registerTransferFilesResponse.d.ts.map +1 -1
- package/dist/src/utils/api/dtos/registerTransferFilesResponse.js.map +1 -1
- package/dist/src/utils/api/node/nodeApiClient.d.ts.map +1 -1
- package/dist/src/utils/api/node/nodeApiClient.js +1 -0
- package/dist/src/utils/api/node/nodeApiClient.js.map +1 -1
- package/dist/src/utils/fileSystem/node/nodeFileSystemService.d.ts.map +1 -1
- package/dist/src/utils/fileSystem/node/nodeFileSystemService.js +0 -3
- package/dist/src/utils/fileSystem/node/nodeFileSystemService.js.map +1 -1
- package/dist/src/utils/mergeAbortAndPauseSignals.d.ts +6 -1
- package/dist/src/utils/mergeAbortAndPauseSignals.d.ts.map +1 -1
- package/dist/src/utils/mergeAbortAndPauseSignals.js +14 -7
- package/dist/src/utils/mergeAbortAndPauseSignals.js.map +1 -1
- package/dist/src/utils/promiseAll.d.ts.map +1 -1
- package/dist/src/utils/promiseAll.js +0 -1
- package/dist/src/utils/promiseAll.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeApiClient.js","sourceRoot":"","sources":["../../../../../src/utils/api/node/nodeApiClient.ts"],"names":[],"mappings":"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","sourcesContent":["import got, { Got } from \"got\";\n\nimport NodeClientBase from \"./nodeClientBase.js\";\nimport { BaseResponse } from \"../dtos/baseResponse.js\";\nimport { retryEconnresetWorkaround } from \"./gotWorkarounds.js\";\n\nimport type ApiClient from \"../apiClient.js\";\nimport type CancelTransferRequest from \"../dtos/cancelTransferRequest.js\";\nimport type FinalizeTransferRequest from \"../dtos/finalizeTransferRequest.js\";\nimport type FinalizeTransferResponse from \"../dtos/finalizeTransferResponse.js\";\nimport type { FinalizeTransferResponseRaw } from \"../dtos/finalizeTransferResponse.js\";\nimport type InitializeTransferResponse from \"../dtos/initializeTransferResponse.js\";\nimport type LoginRequest from \"../dtos/loginRequest.js\";\nimport type LoginResponse from \"../dtos/loginResponse.js\";\nimport type GetTransferRequest from \"../dtos/getTransferRequest.js\";\nimport type GetTransferResponse from \"../dtos/getTransferResponse.js\";\nimport type RegisterTransferDownloadRequest from \"../dtos/registerTransferDownloadRequest.js\";\nimport type RegisterFileDownloadRequest from \"../dtos/registerFileDownloadRequest.js\";\nimport type GetInboxTransfersResponse from \"../dtos/getInboxTransfersResponse.js\";\nimport type GetInboxTransfersRequest from \"../dtos/getInboxTransfersRequest.js\";\nimport type ResetTransferRequest from \"../dtos/resetTransferRequest.js\";\nimport type { InitializeTransferRequest, InitializeTransferRequestRaw } from \"../dtos/initializeTransferRequest.js\";\nimport type { InitializeTransferResponseRaw } from \"../dtos/initializeTransferResponse.js\";\nimport type { RegisterTransferFilesRequest } from \"../dtos/registerTransferFilesRequest.js\";\nimport type { RegisterTransferFilesResponse } from \"../dtos/registerTransferFilesResponse.js\";\nimport type { AckTransferFilesRequest } from \"../dtos/ackTransferFilesRequest.js\";\nimport type { AckTransferFilesResponse } from \"../dtos/ackTransferFilesResponse.js\";\n\nexport default class NodeApiClient extends NodeClientBase implements ApiClient {\n #sourceDetails: string;\n #gotInstance: Got;\n\n constructor(baseUrl: string, source: string, sourceDetails: string, totalRequestTimeoutInMs = 60000, retryLimit = 3) {\n super();\n\n try {\n this.validateConstructorParameters(baseUrl, source, sourceDetails, totalRequestTimeoutInMs, retryLimit);\n\n this.#sourceDetails = sourceDetails;\n this.#gotInstance = this.createGotInstance(baseUrl, source, totalRequestTimeoutInMs, retryLimit);\n }\n catch (error) {\n throw this.createApiError(error, `Error constructing NodeApiClient`);\n }\n }\n\n private createGotInstance(baseUrl: string, source: string, totalRequestTimeoutInMs: number, retryLimit: number): Got {\n return got.extend({\n prefixUrl: baseUrl,\n timeout: {\n request: totalRequestTimeoutInMs > 0 ? totalRequestTimeoutInMs : undefined,\n },\n headers: {\n \"x-api-version\": `2.0`,\n source,\n },\n retry: {\n limit: retryLimit,\n methods: [`GET`, `POST`, `PUT`, `PATCH`, `HEAD`, `DELETE`, `OPTIONS`, `TRACE`],\n ...retryEconnresetWorkaround,\n },\n });\n }\n\n setLoginToken(loginToken: string): void {\n try {\n if (!loginToken || loginToken.length === 0)\n throw new Error(`Login token can't be empty`);\n\n this.#gotInstance = this.#gotInstance.extend({ headers: { logintoken: loginToken } });\n }\n catch (error) {\n throw this.createApiError(error, `Error setting login token`);\n }\n }\n\n clearLoginToken(): void {\n this.#gotInstance = this.#gotInstance.extend({ headers: { logintoken: undefined } });\n }\n\n async login(request: LoginRequest, abortSignal?: AbortSignal): Promise<LoginResponse> {\n try {\n const response: BaseResponse<{\n logintoken?: string,\n expired?: boolean,\n }> = await this.#gotInstance.post(`auth/login`, {\n json: request,\n signal: abortSignal,\n }).json();\n\n this.throwIfPayloadNotOk(response, true);\n\n const data = response.data!;\n\n if (data.expired)\n throw new Error(`Subscription has expired`);\n\n if (!data.logintoken)\n throw new Error(`Received empty login token`);\n\n return { loginToken: data.logintoken };\n }\n catch (error) {\n throw this.createApiError(error, `Error logging in`);\n }\n }\n\n async logout(abortSignal?: AbortSignal): Promise<void> {\n try {\n const response: BaseResponse<undefined> = await this.#gotInstance.post(`auth/logout`, {\n signal: abortSignal,\n }).json();\n\n this.throwIfPayloadNotOk(response, false);\n }\n catch (error) {\n throw this.createApiError(error, `Error logging out`);\n }\n }\n\n async initializeTransfer(request: InitializeTransferRequest, abortSignal?: AbortSignal): Promise<InitializeTransferResponse> {\n try {\n const apiRequest: InitializeTransferRequestRaw = this.mapInitializeRequestToApiRequest(request);\n\n const response: BaseResponse<InitializeTransferResponseRaw> = await this.#gotInstance.post(`transfer/initialize`, {\n json: { ...apiRequest, sourcedetails: this.#sourceDetails },\n headers: {\n \"user-agent\": undefined, // the API adds user-agent value to sourceDetails if specified here\n },\n signal: abortSignal,\n }).json();\n\n this.throwIfPayloadNotOk(response, true);\n\n const data = response.data!;\n\n return {\n transferId: data.transferid,\n transferKey: data.transferkey,\n transferUrl: data.transferurl,\n transferRegion: data.region,\n };\n }\n catch (error) {\n throw this.createApiError(error, `Error initializing a transfer`);\n }\n }\n\n async registerTransferFiles(transferId: string, request: RegisterTransferFilesRequest, abortSignal?: AbortSignal): Promise<RegisterTransferFilesResponse> {\n try {\n const response: BaseResponse<RegisterTransferFilesResponse> = await this.#gotInstance.post(`transfer/${transferId}/file`, {\n json: request,\n signal: abortSignal,\n }).json();\n\n this.throwIfPayloadNotOk(response, true);\n\n return response.data!;\n }\n catch (error) {\n throw this.createApiError(error, `Error registering transfer files`);\n }\n }\n\n async ackTransferFiles(transferId: string, request: AckTransferFilesRequest, abortSignal?: AbortSignal): Promise<AckTransferFilesResponse> {\n try {\n const response: BaseResponse<AckTransferFilesResponse> = await this.#gotInstance.post(`transfer/${transferId}/file/ack`, {\n json: request,\n signal: abortSignal,\n }).json();\n\n this.throwIfPayloadNotOk(response, true);\n\n return response.data!;\n }\n catch (error) {\n throw this.createApiError(error, `Error acknowledging transfer files`);\n }\n }\n\n async finalizeTransfer(request: FinalizeTransferRequest, abortSignal?: AbortSignal): Promise<FinalizeTransferResponse> {\n try {\n const response: BaseResponse<FinalizeTransferResponseRaw> = await this.#gotInstance.put(`transfer/complete`, {\n json: { ...request, sourcedetails: this.#sourceDetails },\n signal: abortSignal,\n }).json();\n\n this.throwIfPayloadNotOk(response, true);\n\n return {\n downloadUrl: response.data!.downloadurl,\n confirmationUrl: response.data!.confirmationUrl,\n recipientTrackingLinks: response.data!.recipients?.map(recipient => ({\n email: recipient.email,\n downloadLink: recipient.downloadlink,\n })),\n };\n }\n catch (error) {\n throw this.createApiError(error, `Error finalizing a transfer`);\n }\n }\n\n async resetTransfer(request: ResetTransferRequest, abortSignal?: AbortSignal): Promise<void> {\n try {\n const response: BaseResponse<undefined> = await this.#gotInstance.post(`transfer/${request.transferid}/reset`, {\n signal: abortSignal,\n }).json();\n\n this.throwIfPayloadNotOk(response, false);\n }\n catch (error) {\n throw this.createApiError(error, `Error resetting a transfer`);\n }\n }\n\n async cancelTransfer(request: CancelTransferRequest, abortSignal?: AbortSignal): Promise<void> {\n try {\n const response: BaseResponse<undefined> = await this.#gotInstance.put(`transfer/cancel`, {\n json: request,\n signal: abortSignal,\n }).json();\n\n this.throwIfPayloadNotOk(response, false);\n }\n catch (error) {\n throw this.createApiError(error, `Error canceling a transfer`);\n }\n }\n\n async getTransfer(request: GetTransferRequest, abortSignal?: AbortSignal): Promise<GetTransferResponse> {\n try {\n let gotInstance = this.#gotInstance.extend();\n\n let endpoint = `transfer`;\n if (request.transferid)\n endpoint += `/${request.transferid}`;\n\n const searchParams = new URLSearchParams();\n if (request.trackid)\n searchParams.append(`trackid`, request.trackid);\n if (request.password)\n searchParams.append(`password`, request.password);\n if (request.fprops)\n searchParams.append(`fprops`, request.fprops.join(`,`));\n if (typeof request.fileslimit !== `undefined`)\n searchParams.append(`fileslimit`, request.fileslimit.toString());\n if (request.checkLogintoken === true) {\n gotInstance = gotInstance.extend({\n headers: {\n filemaillogintokencheck: `true`,\n },\n });\n }\n\n const response: BaseResponse<GetTransferResponse> = await gotInstance.get(endpoint, {\n searchParams,\n signal: abortSignal,\n }).json();\n\n this.throwIfPayloadNotOk(response, true);\n\n return response.data!;\n }\n catch (error) {\n throw this.createApiError(error, `Error getting transfer ${request?.transferid || request?.trackid || `NULL`}`);\n }\n }\n\n async registerFileDownload(request: RegisterFileDownloadRequest, abortSignal?: AbortSignal): Promise<void> {\n try {\n const endpoint = `download/file`;\n\n const response: BaseResponse<void> = await this.#gotInstance.post(endpoint, {\n json: request,\n signal: abortSignal,\n }).json();\n\n this.throwIfPayloadNotOk(response, false);\n }\n catch (error) {\n throw this.createApiError(error, `Error registering file download: transfer ${request?.transferid} file ${request?.filename}`);\n }\n }\n\n async registerTransferDownload(request: RegisterTransferDownloadRequest, abortSignal?: AbortSignal): Promise<void> {\n try {\n const endpoint = `download/transfer`;\n\n const response: BaseResponse<void> = await this.#gotInstance.post(endpoint, {\n json: request,\n signal: abortSignal,\n }).json();\n\n this.throwIfPayloadNotOk(response, false);\n }\n catch (error) {\n throw this.createApiError(error, `Error registering transfer download: transfer ${request?.transferid}`);\n }\n }\n\n async getInboxTransfers(request: GetInboxTransfersRequest, abortSignal?: AbortSignal): Promise<GetInboxTransfersResponse> {\n try {\n const searchParams = new URLSearchParams({\n getforallusers: request.getForAllUsers.toString(),\n from: request.sinceUnixTime.toString(),\n ignoreDeletedPortals: `true`,\n });\n\n for (const portal of request.portals ?? [])\n searchParams.append(`portalId`, portal);\n\n const response: BaseResponse<GetInboxTransfersResponse> = await this.#gotInstance.get(`transfer/inbox`, {\n searchParams,\n signal: abortSignal,\n }).json();\n\n this.throwIfPayloadNotOk(response, true);\n\n return response.data!;\n }\n catch (error) {\n throw this.createApiError(error, `Error getting inbox transfers`);\n }\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"nodeApiClient.js","sourceRoot":"","sources":["../../../../../src/utils/api/node/nodeApiClient.ts"],"names":[],"mappings":"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","sourcesContent":["import got, { Got } from \"got\";\n\nimport NodeClientBase from \"./nodeClientBase.js\";\nimport { BaseResponse } from \"../dtos/baseResponse.js\";\nimport { retryEconnresetWorkaround } from \"./gotWorkarounds.js\";\n\nimport type ApiClient from \"../apiClient.js\";\nimport type CancelTransferRequest from \"../dtos/cancelTransferRequest.js\";\nimport type FinalizeTransferRequest from \"../dtos/finalizeTransferRequest.js\";\nimport type FinalizeTransferResponse from \"../dtos/finalizeTransferResponse.js\";\nimport type { FinalizeTransferResponseRaw } from \"../dtos/finalizeTransferResponse.js\";\nimport type InitializeTransferResponse from \"../dtos/initializeTransferResponse.js\";\nimport type LoginRequest from \"../dtos/loginRequest.js\";\nimport type LoginResponse from \"../dtos/loginResponse.js\";\nimport type GetTransferRequest from \"../dtos/getTransferRequest.js\";\nimport type GetTransferResponse from \"../dtos/getTransferResponse.js\";\nimport type RegisterTransferDownloadRequest from \"../dtos/registerTransferDownloadRequest.js\";\nimport type RegisterFileDownloadRequest from \"../dtos/registerFileDownloadRequest.js\";\nimport type GetInboxTransfersResponse from \"../dtos/getInboxTransfersResponse.js\";\nimport type GetInboxTransfersRequest from \"../dtos/getInboxTransfersRequest.js\";\nimport type ResetTransferRequest from \"../dtos/resetTransferRequest.js\";\nimport type { InitializeTransferRequest, InitializeTransferRequestRaw } from \"../dtos/initializeTransferRequest.js\";\nimport type { InitializeTransferResponseRaw } from \"../dtos/initializeTransferResponse.js\";\nimport type { RegisterTransferFilesRequest } from \"../dtos/registerTransferFilesRequest.js\";\nimport type { RegisterTransferFilesResponse } from \"../dtos/registerTransferFilesResponse.js\";\nimport type { AckTransferFilesRequest } from \"../dtos/ackTransferFilesRequest.js\";\nimport type { AckTransferFilesResponse } from \"../dtos/ackTransferFilesResponse.js\";\n\nexport default class NodeApiClient extends NodeClientBase implements ApiClient {\n #sourceDetails: string;\n #gotInstance: Got;\n\n constructor(baseUrl: string, source: string, sourceDetails: string, totalRequestTimeoutInMs = 60000, retryLimit = 3) {\n super();\n\n try {\n this.validateConstructorParameters(baseUrl, source, sourceDetails, totalRequestTimeoutInMs, retryLimit);\n\n this.#sourceDetails = sourceDetails;\n this.#gotInstance = this.createGotInstance(baseUrl, source, totalRequestTimeoutInMs, retryLimit);\n }\n catch (error) {\n throw this.createApiError(error, `Error constructing NodeApiClient`);\n }\n }\n\n private createGotInstance(baseUrl: string, source: string, totalRequestTimeoutInMs: number, retryLimit: number): Got {\n return got.extend({\n prefixUrl: baseUrl,\n timeout: {\n request: totalRequestTimeoutInMs > 0 ? totalRequestTimeoutInMs : undefined,\n },\n headers: {\n \"x-api-version\": `2.0`,\n source,\n },\n retry: {\n limit: retryLimit,\n methods: [`GET`, `POST`, `PUT`, `PATCH`, `HEAD`, `DELETE`, `OPTIONS`, `TRACE`],\n statusCodes: [...(got.defaults.options.retry.statusCodes ?? []), 409],\n ...retryEconnresetWorkaround,\n },\n });\n }\n\n setLoginToken(loginToken: string): void {\n try {\n if (!loginToken || loginToken.length === 0)\n throw new Error(`Login token can't be empty`);\n\n this.#gotInstance = this.#gotInstance.extend({ headers: { logintoken: loginToken } });\n }\n catch (error) {\n throw this.createApiError(error, `Error setting login token`);\n }\n }\n\n clearLoginToken(): void {\n this.#gotInstance = this.#gotInstance.extend({ headers: { logintoken: undefined } });\n }\n\n async login(request: LoginRequest, abortSignal?: AbortSignal): Promise<LoginResponse> {\n try {\n const response: BaseResponse<{\n logintoken?: string,\n expired?: boolean,\n }> = await this.#gotInstance.post(`auth/login`, {\n json: request,\n signal: abortSignal,\n }).json();\n\n this.throwIfPayloadNotOk(response, true);\n\n const data = response.data!;\n\n if (data.expired)\n throw new Error(`Subscription has expired`);\n\n if (!data.logintoken)\n throw new Error(`Received empty login token`);\n\n return { loginToken: data.logintoken };\n }\n catch (error) {\n throw this.createApiError(error, `Error logging in`);\n }\n }\n\n async logout(abortSignal?: AbortSignal): Promise<void> {\n try {\n const response: BaseResponse<undefined> = await this.#gotInstance.post(`auth/logout`, {\n signal: abortSignal,\n }).json();\n\n this.throwIfPayloadNotOk(response, false);\n }\n catch (error) {\n throw this.createApiError(error, `Error logging out`);\n }\n }\n\n async initializeTransfer(request: InitializeTransferRequest, abortSignal?: AbortSignal): Promise<InitializeTransferResponse> {\n try {\n const apiRequest: InitializeTransferRequestRaw = this.mapInitializeRequestToApiRequest(request);\n\n const response: BaseResponse<InitializeTransferResponseRaw> = await this.#gotInstance.post(`transfer/initialize`, {\n json: { ...apiRequest, sourcedetails: this.#sourceDetails },\n headers: {\n \"user-agent\": undefined, // the API adds user-agent value to sourceDetails if specified here\n },\n signal: abortSignal,\n }).json();\n\n this.throwIfPayloadNotOk(response, true);\n\n const data = response.data!;\n\n return {\n transferId: data.transferid,\n transferKey: data.transferkey,\n transferUrl: data.transferurl,\n transferRegion: data.region,\n };\n }\n catch (error) {\n throw this.createApiError(error, `Error initializing a transfer`);\n }\n }\n\n async registerTransferFiles(transferId: string, request: RegisterTransferFilesRequest, abortSignal?: AbortSignal): Promise<RegisterTransferFilesResponse> {\n try {\n const response: BaseResponse<RegisterTransferFilesResponse> = await this.#gotInstance.post(`transfer/${transferId}/file`, {\n json: request,\n signal: abortSignal,\n }).json();\n\n this.throwIfPayloadNotOk(response, true);\n\n return response.data!;\n }\n catch (error) {\n throw this.createApiError(error, `Error registering transfer files`);\n }\n }\n\n async ackTransferFiles(transferId: string, request: AckTransferFilesRequest, abortSignal?: AbortSignal): Promise<AckTransferFilesResponse> {\n try {\n const response: BaseResponse<AckTransferFilesResponse> = await this.#gotInstance.post(`transfer/${transferId}/file/ack`, {\n json: request,\n signal: abortSignal,\n }).json();\n\n this.throwIfPayloadNotOk(response, true);\n\n return response.data!;\n }\n catch (error) {\n throw this.createApiError(error, `Error acknowledging transfer files`);\n }\n }\n\n async finalizeTransfer(request: FinalizeTransferRequest, abortSignal?: AbortSignal): Promise<FinalizeTransferResponse> {\n try {\n const response: BaseResponse<FinalizeTransferResponseRaw> = await this.#gotInstance.put(`transfer/complete`, {\n json: { ...request, sourcedetails: this.#sourceDetails },\n signal: abortSignal,\n }).json();\n\n this.throwIfPayloadNotOk(response, true);\n\n return {\n downloadUrl: response.data!.downloadurl,\n confirmationUrl: response.data!.confirmationUrl,\n recipientTrackingLinks: response.data!.recipients?.map(recipient => ({\n email: recipient.email,\n downloadLink: recipient.downloadlink,\n })),\n };\n }\n catch (error) {\n throw this.createApiError(error, `Error finalizing a transfer`);\n }\n }\n\n async resetTransfer(request: ResetTransferRequest, abortSignal?: AbortSignal): Promise<void> {\n try {\n const response: BaseResponse<undefined> = await this.#gotInstance.post(`transfer/${request.transferid}/reset`, {\n signal: abortSignal,\n }).json();\n\n this.throwIfPayloadNotOk(response, false);\n }\n catch (error) {\n throw this.createApiError(error, `Error resetting a transfer`);\n }\n }\n\n async cancelTransfer(request: CancelTransferRequest, abortSignal?: AbortSignal): Promise<void> {\n try {\n const response: BaseResponse<undefined> = await this.#gotInstance.put(`transfer/cancel`, {\n json: request,\n signal: abortSignal,\n }).json();\n\n this.throwIfPayloadNotOk(response, false);\n }\n catch (error) {\n throw this.createApiError(error, `Error canceling a transfer`);\n }\n }\n\n async getTransfer(request: GetTransferRequest, abortSignal?: AbortSignal): Promise<GetTransferResponse> {\n try {\n let gotInstance = this.#gotInstance.extend();\n\n let endpoint = `transfer`;\n if (request.transferid)\n endpoint += `/${request.transferid}`;\n\n const searchParams = new URLSearchParams();\n if (request.trackid)\n searchParams.append(`trackid`, request.trackid);\n if (request.password)\n searchParams.append(`password`, request.password);\n if (request.fprops)\n searchParams.append(`fprops`, request.fprops.join(`,`));\n if (typeof request.fileslimit !== `undefined`)\n searchParams.append(`fileslimit`, request.fileslimit.toString());\n if (request.checkLogintoken === true) {\n gotInstance = gotInstance.extend({\n headers: {\n filemaillogintokencheck: `true`,\n },\n });\n }\n\n const response: BaseResponse<GetTransferResponse> = await gotInstance.get(endpoint, {\n searchParams,\n signal: abortSignal,\n }).json();\n\n this.throwIfPayloadNotOk(response, true);\n\n return response.data!;\n }\n catch (error) {\n throw this.createApiError(error, `Error getting transfer ${request?.transferid || request?.trackid || `NULL`}`);\n }\n }\n\n async registerFileDownload(request: RegisterFileDownloadRequest, abortSignal?: AbortSignal): Promise<void> {\n try {\n const endpoint = `download/file`;\n\n const response: BaseResponse<void> = await this.#gotInstance.post(endpoint, {\n json: request,\n signal: abortSignal,\n }).json();\n\n this.throwIfPayloadNotOk(response, false);\n }\n catch (error) {\n throw this.createApiError(error, `Error registering file download: transfer ${request?.transferid} file ${request?.filename}`);\n }\n }\n\n async registerTransferDownload(request: RegisterTransferDownloadRequest, abortSignal?: AbortSignal): Promise<void> {\n try {\n const endpoint = `download/transfer`;\n\n const response: BaseResponse<void> = await this.#gotInstance.post(endpoint, {\n json: request,\n signal: abortSignal,\n }).json();\n\n this.throwIfPayloadNotOk(response, false);\n }\n catch (error) {\n throw this.createApiError(error, `Error registering transfer download: transfer ${request?.transferid}`);\n }\n }\n\n async getInboxTransfers(request: GetInboxTransfersRequest, abortSignal?: AbortSignal): Promise<GetInboxTransfersResponse> {\n try {\n const searchParams = new URLSearchParams({\n getforallusers: request.getForAllUsers.toString(),\n from: request.sinceUnixTime.toString(),\n ignoreDeletedPortals: `true`,\n });\n\n for (const portal of request.portals ?? [])\n searchParams.append(`portalId`, portal);\n\n const response: BaseResponse<GetInboxTransfersResponse> = await this.#gotInstance.get(`transfer/inbox`, {\n searchParams,\n signal: abortSignal,\n }).json();\n\n this.throwIfPayloadNotOk(response, true);\n\n return response.data!;\n }\n catch (error) {\n throw this.createApiError(error, `Error getting inbox transfers`);\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeFileSystemService.d.ts","sourceRoot":"","sources":["../../../../../src/utils/fileSystem/node/nodeFileSystemService.ts"],"names":[],"mappings":"AAEA,OAAO,iBAAiB,MAAM,+CAA+C,CAAC;AAC9E,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAE/C,MAAM,CAAC,OAAO,OAAO,qBAAsB,YAAW,iBAAiB;;
|
|
1
|
+
{"version":3,"file":"nodeFileSystemService.d.ts","sourceRoot":"","sources":["../../../../../src/utils/fileSystem/node/nodeFileSystemService.ts"],"names":[],"mappings":"AAEA,OAAO,iBAAiB,MAAM,+CAA+C,CAAC;AAC9E,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAE/C,MAAM,CAAC,OAAO,OAAO,qBAAsB,YAAW,iBAAiB;;IAkB7D,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAM/D,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,cAAuB,EAAE,KAAK,GAAE,WAAW,GAAG,SAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvI,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAI3D,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,cAAuB,EAAE,KAAK,GAAE,WAAW,GAAG,SAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlI,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAY7E,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAmBvC,kBAAkB;IA+B1B,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IA8B1E,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU9C,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKnD,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlD,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK9C,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKjE,QAAQ,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM;IAIzC,4BAA4B,CAAC,KAAK,EAAE,KAAK,GAAG,iBAAiB,GAAG,SAAS;IAoBzE,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU;IAI3C,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;IAI9C,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;CAOvE"}
|
|
@@ -6,9 +6,7 @@ export default class NodeFileSystemService {
|
|
|
6
6
|
const paths = await fs.readdir(folder);
|
|
7
7
|
for (const itemPath of paths) {
|
|
8
8
|
const abs = path.join(folder, itemPath);
|
|
9
|
-
// eslint-disable-next-line no-await-in-loop
|
|
10
9
|
if ((await fs.stat(abs)).isDirectory())
|
|
11
|
-
// eslint-disable-next-line no-await-in-loop
|
|
12
10
|
await this.#readDirRecursive(abs, accumulator);
|
|
13
11
|
else
|
|
14
12
|
accumulator.push(abs);
|
|
@@ -74,7 +72,6 @@ export default class NodeFileSystemService {
|
|
|
74
72
|
if (NodeFileSystemService.#isFolderTheRoot(dir))
|
|
75
73
|
continue; // the requested directory is a root directory (e.g. F:\ or /) - consider it as existing
|
|
76
74
|
try {
|
|
77
|
-
// eslint-disable-next-line no-await-in-loop
|
|
78
75
|
await fs.mkdir(dir);
|
|
79
76
|
}
|
|
80
77
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeFileSystemService.js","sourceRoot":"","sources":["../../../../../src/utils/fileSystem/node/nodeFileSystemService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,iBAAiB,MAAM,+CAA+C,CAAC;AAI9E,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACtC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,WAA0B;QACrE,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvC,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACxC,4CAA4C;YAC5C,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE;gBAClC,4CAA4C;gBAC5C,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;;gBAE/C,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,MAAc;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACtC,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,UAAkB;QAC7C,MAAM,KAAK,GAAG,IAAI,KAAK,EAAU,CAAC;QAClC,MAAM,qBAAqB,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACjE,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,IAAY,EAAE,WAA2B,MAAM,EAAE,QAAiC,SAAS;QACzH,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,UAAkB;QACpC,OAAO,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAgB,EAAE,WAA2B,MAAM,EAAE,QAAiC,SAAS;QAClH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,oBAA8B;QAC5D,IAAI,CAAC;YACD,sCAAsC;YACtC,MAAM,IAAI,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;YAChG,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,CAAC;YACH,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB;QACjC,IAAI,qBAAqB,CAAC,gBAAgB,CAAC,UAAU,CAAC;YAClD,wFAAwF;YACxF,OAAO;QAEX,IAAI,CAAC;YACD,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,GAAG,EAAE,CAAC;YACT,MAAM,MAAM,GAAG,GAAY,CAAC;YAE5B,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;gBAClC,8DAA8D;gBAC9D,OAAO;YAEX,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,MAAc;QAC3C,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,IAAI,aAAa,GAAG,MAAM,CAAC;QAE3B,OAAO,IAAI,EAAE,CAAC;YACV,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAEjC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAE3C,IAAI,MAAM,KAAK,aAAa;gBACxB,MAAM;YAEV,aAAa,GAAG,MAAM,CAAC;QAC3B,CAAC;QAED,YAAY,CAAC,OAAO,EAAE,CAAC;QAEvB,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC7B,IAAI,qBAAqB,CAAC,gBAAgB,CAAC,GAAG,CAAC;gBAC3C,SAAS,CAAC,wFAAwF;YACtG,IAAI,CAAC;gBACD,4CAA4C;gBAC5C,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;YACD,OAAO,GAAQ,EAAE,CAAC;gBACd,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ,EAAE,8DAA8D;oBACtF,MAAM,GAAG,CAAC;YAClB,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,iBAA0B;QACzD,uDAAuD;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAEhC,4BAA4B;QAC5B,2GAA2G;QAC3G,sGAAsG;QACtG,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAChD,IAAI,MAAM,GAAyB,IAAI,CAAC;QACxC,IAAI,CAAC;YACD,IAAI,CAAC;gBACD,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC/C,CAAC;YACD,OAAO,GAAG,EAAE,CAAC;gBACT,MAAM,OAAO,GAAG,GAAY,CAAC;gBAC7B,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;oBACpC,OAAO,KAAK,CAAC;gBAEjB,MAAM,GAAG,CAAC;YACd,CAAC;YAED,OAAO,IAAI,CAAC;QAChB,CAAC;gBACO,CAAC;YACL,IAAI,MAAM,KAAK,IAAI;gBACf,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB;QAC7B,IAAI,CAAC;YACD,MAAM,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;YACtB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,CAAC;YACH,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,UAAkB;QAClC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9C,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB;QACjC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB;QAC9B,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,IAAY;QAC7C,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,OAAe;QAC7C,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,WAAmB;QAC3C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,OAAO,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,GAAG,KAAoB;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,4BAA4B,CAAC,KAAY;QACrC,IAAI,qBAAqB,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,QAAQ;YAC3D,OAAO,iBAAiB,CAAC,QAAQ,CAAC;QAEtC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,KAAc;QACnC,IAAI,OAAO,GAAG,KAAuD,CAAC;QAEtE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;YAChD,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ;gBAChC,OAAO,OAAO,CAAC,IAAI,CAAC;YAExB,OAAO,GAAG,OAAO,CAAC,KAAuD,CAAC;QAC9E,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,aAAa,CAAC,QAAgB;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,cAAc,CAAC,UAAsB;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAED,qBAAqB,CAAC,QAAgB,EAAE,WAAmB;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,MAAM,CAAC;YACf,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,IAAI,EAAE,WAAW;SACpB,CAAC,CAAC;IACP,CAAC;CACJ","sourcesContent":["import fs from 'fs/promises';\nimport path from 'path';\nimport DownloadErrorCode from '../../../downloader/dtos/downloadErrorCode.js';\nimport type FileSystemService from \"../fileSystemService.js\";\nimport type ParsedPath from '../parsedPath.js';\n\nexport default class NodeFileSystemService implements FileSystemService {\n static async #readDirRecursive(folder: string, accumulator: Array<string>) {\n const paths = await fs.readdir(folder);\n for (const itemPath of paths) {\n const abs = path.join(folder, itemPath);\n // eslint-disable-next-line no-await-in-loop\n if ((await fs.stat(abs)).isDirectory())\n // eslint-disable-next-line no-await-in-loop\n await this.#readDirRecursive(abs, accumulator);\n else\n accumulator.push(abs);\n }\n }\n\n static #isFolderTheRoot(folder: string): boolean {\n const thisOne = path.normalize(folder);\n const oneUp = path.join(folder, `..`);\n return oneUp === thisOne || oneUp === path.sep;\n }\n\n async getAllFilePathsRecursive(folderPath: string): Promise<string[]> {\n const files = new Array<string>();\n await NodeFileSystemService.#readDirRecursive(folderPath, files);\n return files;\n }\n\n async writeFile(filePath: string, data: string, encoding: BufferEncoding = `utf8`, abort: AbortSignal | undefined = undefined): Promise<void> {\n await fs.writeFile(filePath, data, { encoding, flag: `w`, signal: abort });\n }\n\n async getAllFilePaths(folderPath: string): Promise<Array<string>> {\n return await fs.readdir(folderPath);\n }\n\n async readFileAsString(filePath: string, encoding: BufferEncoding = `utf8`, abort: AbortSignal | undefined = undefined): Promise<string> {\n return await fs.readFile(filePath, { encoding, flag: `r`, signal: abort });\n }\n\n async pathExists(thePath: string, checkReadWriteAccess?: boolean): Promise<boolean> {\n try {\n // eslint-disable-next-line no-bitwise\n const mode = checkReadWriteAccess ? (fs.constants.W_OK | fs.constants.R_OK) : fs.constants.F_OK;\n await fs.access(thePath, mode);\n return true;\n }\n catch {\n return false;\n }\n }\n\n async createFolder(folderPath: string): Promise<void> {\n if (NodeFileSystemService.#isFolderTheRoot(folderPath))\n // the requested directory is a root directory (e.g. F:\\ or /) - consider it as existing\n return;\n\n try {\n await fs.mkdir(folderPath, { recursive: true });\n }\n catch (err) {\n const dirErr = err as Error;\n\n if (dirErr && dirErr.code === `EEXIST`)\n // EEXIST error is OK - the requested directory already exists\n return;\n\n await this.mkdirRecursiveSafe(folderPath);\n }\n }\n\n private async mkdirRecursiveSafe(target: string): Promise<void> {\n const foldersChain: string[] = [];\n\n let currentFolder = target;\n\n while (true) {\n foldersChain.push(currentFolder);\n\n const parent = path.dirname(currentFolder);\n\n if (parent === currentFolder)\n break;\n\n currentFolder = parent;\n }\n\n foldersChain.reverse();\n\n for (const dir of foldersChain) {\n if (NodeFileSystemService.#isFolderTheRoot(dir))\n continue; // the requested directory is a root directory (e.g. F:\\ or /) - consider it as existing\n try {\n // eslint-disable-next-line no-await-in-loop\n await fs.mkdir(dir);\n }\n catch (err: any) {\n if (err?.code !== `EEXIST`) // EEXIST error is OK - the requested directory already exists\n throw err;\n }\n }\n }\n\n async createFile(filePath: string, overwriteExisting: boolean): Promise<boolean> {\n // Check if file folder exists and create if it doesn't\n const folder = path.dirname(filePath);\n await this.createFolder(folder);\n\n // Open the file for writing\n // overwriteExisting === true --> 'w' creates the file (if it doesn't exist) or truncates it (if it exists)\n // overwriteExisting === false --> 'wx' creates the file (if it doesn't exist) or fails (if it exists)\n const openMode = overwriteExisting ? `w` : `wx`;\n let handle: fs.FileHandle | null = null;\n try {\n try {\n handle = await fs.open(filePath, openMode);\n }\n catch (err) {\n const fileErr = err as Error;\n if (fileErr && fileErr.code === `EEXIST`)\n return false;\n\n throw err;\n }\n\n return true;\n }\n finally {\n if (handle !== null)\n await handle.close();\n }\n }\n\n async deleteFile(filePath: string): Promise<boolean> {\n try {\n await fs.rm(filePath);\n return true;\n }\n catch {\n return false;\n }\n }\n\n async folderIsEmpty(folderPath: string): Promise<boolean> {\n const contents = await fs.readdir(folderPath);\n return contents.length === 0;\n }\n\n async deleteFolder(folderPath: string): Promise<boolean> {\n return (await fs.rm(folderPath, { recursive: true, force: true })) === undefined;\n }\n\n async getFileSize(filePath: string): Promise<number> {\n const stat = await fs.stat(filePath);\n return stat.size;\n }\n\n async truncateFile(filePath: string, size: number): Promise<void> {\n await fs.truncate(filePath, size);\n }\n\n async renameFile(oldPath: string, newPath: string): Promise<void> {\n await fs.rename(oldPath, newPath);\n }\n\n async getAvailableDiskSpace(pathToCheck: string): Promise<bigint> {\n const stats = await fs.statfs(pathToCheck, { bigint: true });\n return stats.bavail * stats.bsize;\n }\n\n pathJoin(...paths: Array<string>): string {\n return path.join(...paths);\n }\n\n fileErrorToDownloadErrorCode(error: Error): DownloadErrorCode | undefined {\n if (NodeFileSystemService.#extractErrorCode(error) === `ENOSPC`)\n return DownloadErrorCode.DiskFull;\n\n return undefined;\n }\n\n static #extractErrorCode(error: unknown): string | undefined {\n let current = error as { code?: string, cause?: unknown } | undefined;\n\n for (let depth = 0; depth < 8 && current; depth++) {\n if (typeof current.code === `string`)\n return current.code;\n\n current = current.cause as { code?: string, cause?: unknown } | undefined;\n }\n\n return undefined;\n }\n\n parseFilePath(filePath: string): ParsedPath {\n return path.parse(filePath);\n }\n\n formatFilePath(parsedPath: ParsedPath): string {\n return path.format(parsedPath);\n }\n\n replaceFilenameInPath(filePath: string, newFileName: string): string {\n const parsed = path.parse(filePath);\n return path.format({\n dir: parsed.dir,\n base: newFileName,\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"nodeFileSystemService.js","sourceRoot":"","sources":["../../../../../src/utils/fileSystem/node/nodeFileSystemService.ts"],"names":[],"mappings":"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","sourcesContent":["import fs from 'fs/promises';\nimport path from 'path';\nimport DownloadErrorCode from '../../../downloader/dtos/downloadErrorCode.js';\nimport type FileSystemService from \"../fileSystemService.js\";\nimport type ParsedPath from '../parsedPath.js';\n\nexport default class NodeFileSystemService implements FileSystemService {\n static async #readDirRecursive(folder: string, accumulator: Array<string>) {\n const paths = await fs.readdir(folder);\n for (const itemPath of paths) {\n const abs = path.join(folder, itemPath);\n if ((await fs.stat(abs)).isDirectory())\n await this.#readDirRecursive(abs, accumulator);\n else\n accumulator.push(abs);\n }\n }\n\n static #isFolderTheRoot(folder: string): boolean {\n const thisOne = path.normalize(folder);\n const oneUp = path.join(folder, `..`);\n return oneUp === thisOne || oneUp === path.sep;\n }\n\n async getAllFilePathsRecursive(folderPath: string): Promise<string[]> {\n const files = new Array<string>();\n await NodeFileSystemService.#readDirRecursive(folderPath, files);\n return files;\n }\n\n async writeFile(filePath: string, data: string, encoding: BufferEncoding = `utf8`, abort: AbortSignal | undefined = undefined): Promise<void> {\n await fs.writeFile(filePath, data, { encoding, flag: `w`, signal: abort });\n }\n\n async getAllFilePaths(folderPath: string): Promise<Array<string>> {\n return await fs.readdir(folderPath);\n }\n\n async readFileAsString(filePath: string, encoding: BufferEncoding = `utf8`, abort: AbortSignal | undefined = undefined): Promise<string> {\n return await fs.readFile(filePath, { encoding, flag: `r`, signal: abort });\n }\n\n async pathExists(thePath: string, checkReadWriteAccess?: boolean): Promise<boolean> {\n try {\n // eslint-disable-next-line no-bitwise\n const mode = checkReadWriteAccess ? (fs.constants.W_OK | fs.constants.R_OK) : fs.constants.F_OK;\n await fs.access(thePath, mode);\n return true;\n }\n catch {\n return false;\n }\n }\n\n async createFolder(folderPath: string): Promise<void> {\n if (NodeFileSystemService.#isFolderTheRoot(folderPath))\n // the requested directory is a root directory (e.g. F:\\ or /) - consider it as existing\n return;\n\n try {\n await fs.mkdir(folderPath, { recursive: true });\n }\n catch (err) {\n const dirErr = err as Error;\n\n if (dirErr && dirErr.code === `EEXIST`)\n // EEXIST error is OK - the requested directory already exists\n return;\n\n await this.mkdirRecursiveSafe(folderPath);\n }\n }\n\n private async mkdirRecursiveSafe(target: string): Promise<void> {\n const foldersChain: string[] = [];\n\n let currentFolder = target;\n\n while (true) {\n foldersChain.push(currentFolder);\n\n const parent = path.dirname(currentFolder);\n\n if (parent === currentFolder)\n break;\n\n currentFolder = parent;\n }\n\n foldersChain.reverse();\n\n for (const dir of foldersChain) {\n if (NodeFileSystemService.#isFolderTheRoot(dir))\n continue; // the requested directory is a root directory (e.g. F:\\ or /) - consider it as existing\n try {\n await fs.mkdir(dir);\n }\n catch (err: any) {\n if (err?.code !== `EEXIST`) // EEXIST error is OK - the requested directory already exists\n throw err;\n }\n }\n }\n\n async createFile(filePath: string, overwriteExisting: boolean): Promise<boolean> {\n // Check if file folder exists and create if it doesn't\n const folder = path.dirname(filePath);\n await this.createFolder(folder);\n\n // Open the file for writing\n // overwriteExisting === true --> 'w' creates the file (if it doesn't exist) or truncates it (if it exists)\n // overwriteExisting === false --> 'wx' creates the file (if it doesn't exist) or fails (if it exists)\n const openMode = overwriteExisting ? `w` : `wx`;\n let handle: fs.FileHandle | null = null;\n try {\n try {\n handle = await fs.open(filePath, openMode);\n }\n catch (err) {\n const fileErr = err as Error;\n if (fileErr && fileErr.code === `EEXIST`)\n return false;\n\n throw err;\n }\n\n return true;\n }\n finally {\n if (handle !== null)\n await handle.close();\n }\n }\n\n async deleteFile(filePath: string): Promise<boolean> {\n try {\n await fs.rm(filePath);\n return true;\n }\n catch {\n return false;\n }\n }\n\n async folderIsEmpty(folderPath: string): Promise<boolean> {\n const contents = await fs.readdir(folderPath);\n return contents.length === 0;\n }\n\n async deleteFolder(folderPath: string): Promise<boolean> {\n return (await fs.rm(folderPath, { recursive: true, force: true })) === undefined;\n }\n\n async getFileSize(filePath: string): Promise<number> {\n const stat = await fs.stat(filePath);\n return stat.size;\n }\n\n async truncateFile(filePath: string, size: number): Promise<void> {\n await fs.truncate(filePath, size);\n }\n\n async renameFile(oldPath: string, newPath: string): Promise<void> {\n await fs.rename(oldPath, newPath);\n }\n\n async getAvailableDiskSpace(pathToCheck: string): Promise<bigint> {\n const stats = await fs.statfs(pathToCheck, { bigint: true });\n return stats.bavail * stats.bsize;\n }\n\n pathJoin(...paths: Array<string>): string {\n return path.join(...paths);\n }\n\n fileErrorToDownloadErrorCode(error: Error): DownloadErrorCode | undefined {\n if (NodeFileSystemService.#extractErrorCode(error) === `ENOSPC`)\n return DownloadErrorCode.DiskFull;\n\n return undefined;\n }\n\n static #extractErrorCode(error: unknown): string | undefined {\n let current = error as { code?: string, cause?: unknown } | undefined;\n\n for (let depth = 0; depth < 8 && current; depth++) {\n if (typeof current.code === `string`)\n return current.code;\n\n current = current.cause as { code?: string, cause?: unknown } | undefined;\n }\n\n return undefined;\n }\n\n parseFilePath(filePath: string): ParsedPath {\n return path.parse(filePath);\n }\n\n formatFilePath(parsedPath: ParsedPath): string {\n return path.format(parsedPath);\n }\n\n replaceFilenameInPath(filePath: string, newFileName: string): string {\n const parsed = path.parse(filePath);\n return path.format({\n dir: parsed.dir,\n base: newFileName,\n });\n }\n}\n"]}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
import type { PauseSignal } from "../uploader/pauseController.js";
|
|
2
|
-
export default function mergeAbortAndPauseSignals(pauseSignal: PauseSignal, abortSignal: AbortSignal):
|
|
2
|
+
export default function mergeAbortAndPauseSignals(pauseSignal: PauseSignal, abortSignal: AbortSignal): MergedAbortAndPauseController;
|
|
3
|
+
interface MergedAbortAndPauseController {
|
|
4
|
+
signal: AbortSignal;
|
|
5
|
+
dispose: () => void;
|
|
6
|
+
}
|
|
7
|
+
export type { MergedAbortAndPauseController };
|
|
3
8
|
//# sourceMappingURL=mergeAbortAndPauseSignals.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeAbortAndPauseSignals.d.ts","sourceRoot":"","sources":["../../../src/utils/mergeAbortAndPauseSignals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"mergeAbortAndPauseSignals.d.ts","sourceRoot":"","sources":["../../../src/utils/mergeAbortAndPauseSignals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,6BAA6B,CA6BnI;AAED,UAAU,6BAA6B;IACnC,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,YAAY,EAAE,6BAA6B,EAAE,CAAC"}
|
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
export default function mergeAbortAndPauseSignals(pauseSignal, abortSignal) {
|
|
2
|
-
if (pauseSignal.paused || abortSignal.aborted)
|
|
3
|
-
return AbortSignal.abort();
|
|
4
2
|
const mergedController = new AbortController();
|
|
3
|
+
if (pauseSignal.paused || abortSignal.aborted) {
|
|
4
|
+
mergedController.abort();
|
|
5
|
+
return { signal: mergedController.signal, dispose: () => { } };
|
|
6
|
+
}
|
|
5
7
|
const abortMergedController = () => {
|
|
6
8
|
mergedController.abort();
|
|
7
9
|
};
|
|
8
|
-
|
|
9
|
-
abortSignal.addEventListener(`abort`, abortMergedController);
|
|
10
|
-
mergedController.signal.addEventListener(`abort`, () => {
|
|
10
|
+
const removeSourceListeners = () => {
|
|
11
11
|
pauseSignal.removeEventListener(`pause`, abortMergedController);
|
|
12
12
|
abortSignal.removeEventListener(`abort`, abortMergedController);
|
|
13
|
-
}
|
|
14
|
-
|
|
13
|
+
};
|
|
14
|
+
pauseSignal.addEventListener(`pause`, abortMergedController);
|
|
15
|
+
abortSignal.addEventListener(`abort`, abortMergedController);
|
|
16
|
+
mergedController.signal.addEventListener(`abort`, removeSourceListeners);
|
|
17
|
+
const dispose = () => {
|
|
18
|
+
mergedController.abort();
|
|
19
|
+
removeSourceListeners();
|
|
20
|
+
};
|
|
21
|
+
return { signal: mergedController.signal, dispose };
|
|
15
22
|
}
|
|
16
23
|
//# sourceMappingURL=mergeAbortAndPauseSignals.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeAbortAndPauseSignals.js","sourceRoot":"","sources":["../../../src/utils/mergeAbortAndPauseSignals.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,WAAwB,EAAE,WAAwB;IAChG,IAAI,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO;
|
|
1
|
+
{"version":3,"file":"mergeAbortAndPauseSignals.js","sourceRoot":"","sources":["../../../src/utils/mergeAbortAndPauseSignals.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,WAAwB,EAAE,WAAwB;IAChG,MAAM,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAC;IAE/C,IAAI,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;QAC5C,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAEzB,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACnE,CAAC;IAED,MAAM,qBAAqB,GAAG,GAAG,EAAE;QAC/B,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,GAAG,EAAE;QAC/B,WAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QAChE,WAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;IACpE,CAAC,CAAC;IAEF,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;IAC7D,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;IAE7D,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;IAEzE,MAAM,OAAO,GAAG,GAAG,EAAE;QACjB,gBAAgB,CAAC,KAAK,EAAE,CAAC;QACzB,qBAAqB,EAAE,CAAC;IAC5B,CAAC,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;AACxD,CAAC","sourcesContent":["import type { PauseSignal } from \"../uploader/pauseController.js\";\n\nexport default function mergeAbortAndPauseSignals(pauseSignal: PauseSignal, abortSignal: AbortSignal): MergedAbortAndPauseController {\n const mergedController = new AbortController();\n\n if (pauseSignal.paused || abortSignal.aborted) {\n mergedController.abort();\n\n return { signal: mergedController.signal, dispose: () => { } };\n }\n\n const abortMergedController = () => {\n mergedController.abort();\n };\n\n const removeSourceListeners = () => {\n pauseSignal.removeEventListener(`pause`, abortMergedController);\n abortSignal.removeEventListener(`abort`, abortMergedController);\n };\n\n pauseSignal.addEventListener(`pause`, abortMergedController);\n abortSignal.addEventListener(`abort`, abortMergedController);\n\n mergedController.signal.addEventListener(`abort`, removeSourceListeners);\n\n const dispose = () => {\n mergedController.abort();\n removeSourceListeners();\n };\n\n return { signal: mergedController.signal, dispose };\n}\n\ninterface MergedAbortAndPauseController {\n signal: AbortSignal;\n dispose: () => void;\n}\n\nexport type { MergedAbortAndPauseController };"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promiseAll.d.ts","sourceRoot":"","sources":["../../../src/utils/promiseAll.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"promiseAll.d.ts","sourceRoot":"","sources":["../../../src/utils/promiseAll.ts"],"names":[],"mappings":"AAGA,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAKhF;AAED,wBAAsB,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAKzE;AAED,wBAAsB,oBAAoB,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAYlF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promiseAll.js","sourceRoot":"","sources":["../../../src/utils/promiseAll.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"promiseAll.js","sourceRoot":"","sources":["../../../src/utils/promiseAll.ts"],"names":[],"mappings":"AAAA,MAAM,kBAAkB,GAAG,SAAS,CAAC;AACrC,MAAM,uBAAuB,GAAG,kBAAkB,GAAG,CAAC,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAI,QAAsB;IAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,uBAAuB,EAAE,CAAC;QAChE,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,CAAC;QAChE,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAI,QAAsB;IACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,uBAAuB,EAAE,CAAC;QAChE,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,CAAC;QAChE,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAI,QAAsB;IAChE,MAAM,OAAO,GAAQ,EAAE,CAAC;IAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,uBAAuB,EAAE,CAAC;QAChE,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,CAAC;QAChE,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE;YAC3C,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC","sourcesContent":["const MAX_PROMISES_COUNT = 2_000_000;\nconst SAFE_MAX_PROMISES_COUNT = MAX_PROMISES_COUNT / 3;\n\nexport async function promiseAllSettled<T>(promises: Promise<T>[]): Promise<void> {\n for (let i = 0; i < promises.length; i += SAFE_MAX_PROMISES_COUNT) {\n const subArray = promises.slice(i, i + SAFE_MAX_PROMISES_COUNT);\n await Promise.allSettled(subArray);\n }\n}\n\nexport async function promiseAll<T>(promises: Promise<T>[]): Promise<void> {\n for (let i = 0; i < promises.length; i += SAFE_MAX_PROMISES_COUNT) {\n const subArray = promises.slice(i, i + SAFE_MAX_PROMISES_COUNT);\n await Promise.all(subArray);\n }\n}\n\nexport async function promiseAllDeprecated<T>(promises: Promise<T>[]): Promise<T[]> {\n const results: T[] = [];\n\n for (let i = 0; i < promises.length; i += SAFE_MAX_PROMISES_COUNT) {\n const subArray = promises.slice(i, i + SAFE_MAX_PROMISES_COUNT);\n const subArrayResults = await Promise.all(subArray);\n\n for (let j = 0; j < subArrayResults.length; j++)\n results.push(subArrayResults[j]);\n }\n\n return results;\n}"]}
|