filemail-sdk 3.0.3
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/LICENSE +11 -0
- package/dist/src/client/downloaderCore.d.ts +23 -0
- package/dist/src/client/downloaderCore.js +199 -0
- package/dist/src/client/downloaderCore.js.map +1 -0
- package/dist/src/client/environmentVariables.d.ts +6 -0
- package/dist/src/client/environmentVariables.js +2 -0
- package/dist/src/client/environmentVariables.js.map +1 -0
- package/dist/src/client/loggers/dummyLogger.d.ts +8 -0
- package/dist/src/client/loggers/dummyLogger.js +10 -0
- package/dist/src/client/loggers/dummyLogger.js.map +1 -0
- package/dist/src/client/loggers/logger.d.ts +7 -0
- package/dist/src/client/loggers/logger.js +2 -0
- package/dist/src/client/loggers/logger.js.map +1 -0
- package/dist/src/client/node/nodeFileDetailsProvider.d.ts +16 -0
- package/dist/src/client/node/nodeFileDetailsProvider.js +74 -0
- package/dist/src/client/node/nodeFileDetailsProvider.js.map +1 -0
- package/dist/src/client/node/nodeTransferDownloader.d.ts +35 -0
- package/dist/src/client/node/nodeTransferDownloader.js +78 -0
- package/dist/src/client/node/nodeTransferDownloader.js.map +1 -0
- package/dist/src/client/node/nodeTransferUploader.d.ts +21 -0
- package/dist/src/client/node/nodeTransferUploader.js +160 -0
- package/dist/src/client/node/nodeTransferUploader.js.map +1 -0
- package/dist/src/client/transferDownloader.d.ts +21 -0
- package/dist/src/client/transferDownloader.js +2 -0
- package/dist/src/client/transferDownloader.js.map +1 -0
- package/dist/src/client/transferUploader.d.ts +9 -0
- package/dist/src/client/transferUploader.js +2 -0
- package/dist/src/client/transferUploader.js.map +1 -0
- package/dist/src/client/transferUploaderOptions.d.ts +18 -0
- package/dist/src/client/transferUploaderOptions.js +2 -0
- package/dist/src/client/transferUploaderOptions.js.map +1 -0
- package/dist/src/downloader/api/fileServerDownloadClient.d.ts +10 -0
- package/dist/src/downloader/api/fileServerDownloadClient.js +2 -0
- package/dist/src/downloader/api/fileServerDownloadClient.js.map +1 -0
- package/dist/src/downloader/api/node/nodeFileServerDownloadClient.d.ts +11 -0
- package/dist/src/downloader/api/node/nodeFileServerDownloadClient.js +120 -0
- package/dist/src/downloader/api/node/nodeFileServerDownloadClient.js.map +1 -0
- package/dist/src/downloader/chunkDownloader.d.ts +12 -0
- package/dist/src/downloader/chunkDownloader.js +172 -0
- package/dist/src/downloader/chunkDownloader.js.map +1 -0
- package/dist/src/downloader/downloadFolderResolver.d.ts +6 -0
- package/dist/src/downloader/downloadFolderResolver.js +72 -0
- package/dist/src/downloader/downloadFolderResolver.js.map +1 -0
- package/dist/src/downloader/downloadOptions.d.ts +147 -0
- package/dist/src/downloader/downloadOptions.js +150 -0
- package/dist/src/downloader/downloadOptions.js.map +1 -0
- package/dist/src/downloader/downloadStatus/downloadFileChunkProgress.d.ts +12 -0
- package/dist/src/downloader/downloadStatus/downloadFileChunkProgress.js +14 -0
- package/dist/src/downloader/downloadStatus/downloadFileChunkProgress.js.map +1 -0
- package/dist/src/downloader/downloadStatus/downloadFileProgress.d.ts +16 -0
- package/dist/src/downloader/downloadStatus/downloadFileProgress.js +19 -0
- package/dist/src/downloader/downloadStatus/downloadFileProgress.js.map +1 -0
- package/dist/src/downloader/downloadStatus/downloadState.d.ts +40 -0
- package/dist/src/downloader/downloadStatus/downloadState.js +352 -0
- package/dist/src/downloader/downloadStatus/downloadState.js.map +1 -0
- package/dist/src/downloader/downloadTracker.d.ts +16 -0
- package/dist/src/downloader/downloadTracker.js +236 -0
- package/dist/src/downloader/downloadTracker.js.map +1 -0
- package/dist/src/downloader/dtos/downloadCommand.d.ts +9 -0
- package/dist/src/downloader/dtos/downloadCommand.js +2 -0
- package/dist/src/downloader/dtos/downloadCommand.js.map +1 -0
- package/dist/src/downloader/dtos/downloadError.d.ts +5 -0
- package/dist/src/downloader/dtos/downloadError.js +8 -0
- package/dist/src/downloader/dtos/downloadError.js.map +1 -0
- package/dist/src/downloader/dtos/downloadErrorCode.d.ts +11 -0
- package/dist/src/downloader/dtos/downloadErrorCode.js +13 -0
- package/dist/src/downloader/dtos/downloadErrorCode.js.map +1 -0
- package/dist/src/downloader/dtos/downloadEvent.d.ts +27 -0
- package/dist/src/downloader/dtos/downloadEvent.js +29 -0
- package/dist/src/downloader/dtos/downloadEvent.js.map +1 -0
- package/dist/src/downloader/dtos/downloadFileChunkInfo.d.ts +19 -0
- package/dist/src/downloader/dtos/downloadFileChunkInfo.js +39 -0
- package/dist/src/downloader/dtos/downloadFileChunkInfo.js.map +1 -0
- package/dist/src/downloader/dtos/downloadFileInfo.d.ts +44 -0
- package/dist/src/downloader/dtos/downloadFileInfo.js +114 -0
- package/dist/src/downloader/dtos/downloadFileInfo.js.map +1 -0
- package/dist/src/downloader/dtos/downloadInfo.d.ts +7 -0
- package/dist/src/downloader/dtos/downloadInfo.js +2 -0
- package/dist/src/downloader/dtos/downloadInfo.js.map +1 -0
- package/dist/src/downloader/dtos/downloadTrackerFileInfo.d.ts +27 -0
- package/dist/src/downloader/dtos/downloadTrackerFileInfo.js +2 -0
- package/dist/src/downloader/dtos/downloadTrackerFileInfo.js.map +1 -0
- package/dist/src/downloader/dtos/downloadTrackerProgressInfo.d.ts +6 -0
- package/dist/src/downloader/dtos/downloadTrackerProgressInfo.js +2 -0
- package/dist/src/downloader/dtos/downloadTrackerProgressInfo.js.map +1 -0
- package/dist/src/downloader/dtos/downloaderRestoredState.d.ts +4 -0
- package/dist/src/downloader/dtos/downloaderRestoredState.js +2 -0
- package/dist/src/downloader/dtos/downloaderRestoredState.js.map +1 -0
- package/dist/src/downloader/eventArgs/chunkDownloadEventArgs.d.ts +9 -0
- package/dist/src/downloader/eventArgs/chunkDownloadEventArgs.js +2 -0
- package/dist/src/downloader/eventArgs/chunkDownloadEventArgs.js.map +1 -0
- package/dist/src/downloader/eventArgs/chunkDownloadFailedEventArgs.d.ts +6 -0
- package/dist/src/downloader/eventArgs/chunkDownloadFailedEventArgs.js +2 -0
- package/dist/src/downloader/eventArgs/chunkDownloadFailedEventArgs.js.map +1 -0
- package/dist/src/downloader/eventArgs/downloadCompletedEventArgs.d.ts +6 -0
- package/dist/src/downloader/eventArgs/downloadCompletedEventArgs.js +2 -0
- package/dist/src/downloader/eventArgs/downloadCompletedEventArgs.js.map +1 -0
- package/dist/src/downloader/eventArgs/downloadEventArgs.d.ts +18 -0
- package/dist/src/downloader/eventArgs/downloadEventArgs.js +2 -0
- package/dist/src/downloader/eventArgs/downloadEventArgs.js.map +1 -0
- package/dist/src/downloader/eventArgs/fileDownloadEventArgs.d.ts +7 -0
- package/dist/src/downloader/eventArgs/fileDownloadEventArgs.js +2 -0
- package/dist/src/downloader/eventArgs/fileDownloadEventArgs.js.map +1 -0
- package/dist/src/downloader/eventArgs/fileDownloadFailedEventArgs.d.ts +6 -0
- package/dist/src/downloader/eventArgs/fileDownloadFailedEventArgs.js +2 -0
- package/dist/src/downloader/eventArgs/fileDownloadFailedEventArgs.js.map +1 -0
- package/dist/src/downloader/filesDownloader.d.ts +20 -0
- package/dist/src/downloader/filesDownloader.js +199 -0
- package/dist/src/downloader/filesDownloader.js.map +1 -0
- package/dist/src/downloader/filesPreparer.d.ts +7 -0
- package/dist/src/downloader/filesPreparer.js +55 -0
- package/dist/src/downloader/filesPreparer.js.map +1 -0
- package/dist/src/index.d.ts +69 -0
- package/dist/src/index.js +70 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/uploader/api/fileServerUploadClient.d.ts +8 -0
- package/dist/src/uploader/api/fileServerUploadClient.js +2 -0
- package/dist/src/uploader/api/fileServerUploadClient.js.map +1 -0
- package/dist/src/uploader/api/node/nodeFileServerUploadClient.d.ts +16 -0
- package/dist/src/uploader/api/node/nodeFileServerUploadClient.js +145 -0
- package/dist/src/uploader/api/node/nodeFileServerUploadClient.js.map +1 -0
- package/dist/src/uploader/eventArgs/fileChunkEventArgs.d.ts +8 -0
- package/dist/src/uploader/eventArgs/fileChunkEventArgs.js +2 -0
- package/dist/src/uploader/eventArgs/fileChunkEventArgs.js.map +1 -0
- package/dist/src/uploader/eventArgs/fileChunkUploadFailedEventArgs.d.ts +5 -0
- package/dist/src/uploader/eventArgs/fileChunkUploadFailedEventArgs.js +2 -0
- package/dist/src/uploader/eventArgs/fileChunkUploadFailedEventArgs.js.map +1 -0
- package/dist/src/uploader/eventArgs/fileEventArgs.d.ts +5 -0
- package/dist/src/uploader/eventArgs/fileEventArgs.js +2 -0
- package/dist/src/uploader/eventArgs/fileEventArgs.js.map +1 -0
- package/dist/src/uploader/eventArgs/fileUploadFailedEventArgs.d.ts +5 -0
- package/dist/src/uploader/eventArgs/fileUploadFailedEventArgs.js +2 -0
- package/dist/src/uploader/eventArgs/fileUploadFailedEventArgs.js.map +1 -0
- package/dist/src/uploader/eventArgs/transferCompletedEventArgs.d.ts +4 -0
- package/dist/src/uploader/eventArgs/transferCompletedEventArgs.js +2 -0
- package/dist/src/uploader/eventArgs/transferCompletedEventArgs.js.map +1 -0
- package/dist/src/uploader/export/transferExportData.d.ts +9 -0
- package/dist/src/uploader/export/transferExportData.js +2 -0
- package/dist/src/uploader/export/transferExportData.js.map +1 -0
- package/dist/src/uploader/export/transferExportFileChunk.d.ts +4 -0
- package/dist/src/uploader/export/transferExportFileChunk.js +2 -0
- package/dist/src/uploader/export/transferExportFileChunk.js.map +1 -0
- package/dist/src/uploader/export/transferExportFileStatus.d.ts +7 -0
- package/dist/src/uploader/export/transferExportFileStatus.js +2 -0
- package/dist/src/uploader/export/transferExportFileStatus.js.map +1 -0
- package/dist/src/uploader/export/transferExportFileStatuses.d.ts +3 -0
- package/dist/src/uploader/export/transferExportFileStatuses.js +2 -0
- package/dist/src/uploader/export/transferExportFileStatuses.js.map +1 -0
- package/dist/src/uploader/export/transferMetadata.d.ts +6 -0
- package/dist/src/uploader/export/transferMetadata.js +2 -0
- package/dist/src/uploader/export/transferMetadata.js.map +1 -0
- package/dist/src/uploader/fileDetailsContainer.d.ts +10 -0
- package/dist/src/uploader/fileDetailsContainer.js +51 -0
- package/dist/src/uploader/fileDetailsContainer.js.map +1 -0
- package/dist/src/uploader/pauseController.d.ts +7 -0
- package/dist/src/uploader/pauseController.js +26 -0
- package/dist/src/uploader/pauseController.js.map +1 -0
- package/dist/src/uploader/transfer.d.ts +55 -0
- package/dist/src/uploader/transfer.js +352 -0
- package/dist/src/uploader/transfer.js.map +1 -0
- package/dist/src/uploader/transferError.d.ts +3 -0
- package/dist/src/uploader/transferError.js +7 -0
- package/dist/src/uploader/transferError.js.map +1 -0
- package/dist/src/uploader/transferEvent.d.ts +19 -0
- package/dist/src/uploader/transferEvent.js +21 -0
- package/dist/src/uploader/transferEvent.js.map +1 -0
- package/dist/src/uploader/transferOptions.d.ts +11 -0
- package/dist/src/uploader/transferOptions.js +2 -0
- package/dist/src/uploader/transferOptions.js.map +1 -0
- package/dist/src/uploader/transferState.d.ts +41 -0
- package/dist/src/uploader/transferState.js +256 -0
- package/dist/src/uploader/transferState.js.map +1 -0
- package/dist/src/uploader/transferStatus/readonlyTransferStatusFile.d.ts +6 -0
- package/dist/src/uploader/transferStatus/readonlyTransferStatusFile.js +2 -0
- package/dist/src/uploader/transferStatus/readonlyTransferStatusFile.js.map +1 -0
- package/dist/src/uploader/transferStatus/readonlyTransferStatusFiles.d.ts +5 -0
- package/dist/src/uploader/transferStatus/readonlyTransferStatusFiles.js +2 -0
- package/dist/src/uploader/transferStatus/readonlyTransferStatusFiles.js.map +1 -0
- package/dist/src/uploader/transferStatus/transferStatusFile.d.ts +16 -0
- package/dist/src/uploader/transferStatus/transferStatusFile.js +17 -0
- package/dist/src/uploader/transferStatus/transferStatusFile.js.map +1 -0
- package/dist/src/uploader/transferStatus/transferStatusFileChunk.d.ts +8 -0
- package/dist/src/uploader/transferStatus/transferStatusFileChunk.js +11 -0
- package/dist/src/uploader/transferStatus/transferStatusFileChunk.js.map +1 -0
- package/dist/src/uploader/transferStatus/transferStatusFiles.d.ts +4 -0
- package/dist/src/uploader/transferStatus/transferStatusFiles.js +3 -0
- package/dist/src/uploader/transferStatus/transferStatusFiles.js.map +1 -0
- package/dist/src/utils/api/apiClient.d.ts +21 -0
- package/dist/src/utils/api/apiClient.js +2 -0
- package/dist/src/utils/api/apiClient.js.map +1 -0
- package/dist/src/utils/api/apiError.d.ts +4 -0
- package/dist/src/utils/api/apiError.js +8 -0
- package/dist/src/utils/api/apiError.js.map +1 -0
- package/dist/src/utils/api/apiInternalErrorCode.d.ts +4 -0
- package/dist/src/utils/api/apiInternalErrorCode.js +6 -0
- package/dist/src/utils/api/apiInternalErrorCode.js.map +1 -0
- package/dist/src/utils/api/dtos/TransferCustomFieldDto.d.ts +8 -0
- package/dist/src/utils/api/dtos/TransferCustomFieldDto.js +2 -0
- package/dist/src/utils/api/dtos/TransferCustomFieldDto.js.map +1 -0
- package/dist/src/utils/api/dtos/TransferFileDto.d.ts +9 -0
- package/dist/src/utils/api/dtos/TransferFileDto.js +2 -0
- package/dist/src/utils/api/dtos/TransferFileDto.js.map +1 -0
- package/dist/src/utils/api/dtos/baseResponse.d.ts +11 -0
- package/dist/src/utils/api/dtos/baseResponse.js +4 -0
- package/dist/src/utils/api/dtos/baseResponse.js.map +1 -0
- package/dist/src/utils/api/dtos/cancelTransferRequest.d.ts +5 -0
- package/dist/src/utils/api/dtos/cancelTransferRequest.js +2 -0
- package/dist/src/utils/api/dtos/cancelTransferRequest.js.map +1 -0
- package/dist/src/utils/api/dtos/finalizeTransferRequest.d.ts +5 -0
- package/dist/src/utils/api/dtos/finalizeTransferRequest.js +2 -0
- package/dist/src/utils/api/dtos/finalizeTransferRequest.js.map +1 -0
- package/dist/src/utils/api/dtos/finalizeTransferResponse.d.ts +4 -0
- package/dist/src/utils/api/dtos/finalizeTransferResponse.js +2 -0
- package/dist/src/utils/api/dtos/finalizeTransferResponse.js.map +1 -0
- package/dist/src/utils/api/dtos/getCompanyResponse.d.ts +6 -0
- package/dist/src/utils/api/dtos/getCompanyResponse.js +2 -0
- package/dist/src/utils/api/dtos/getCompanyResponse.js.map +1 -0
- package/dist/src/utils/api/dtos/getRangehashResponse.d.ts +5 -0
- package/dist/src/utils/api/dtos/getRangehashResponse.js +2 -0
- package/dist/src/utils/api/dtos/getRangehashResponse.js.map +1 -0
- package/dist/src/utils/api/dtos/getTransferRequest.d.ts +7 -0
- package/dist/src/utils/api/dtos/getTransferRequest.js +2 -0
- package/dist/src/utils/api/dtos/getTransferRequest.js.map +1 -0
- package/dist/src/utils/api/dtos/getTransferResponse.d.ts +20 -0
- package/dist/src/utils/api/dtos/getTransferResponse.js +2 -0
- package/dist/src/utils/api/dtos/getTransferResponse.js.map +1 -0
- package/dist/src/utils/api/dtos/initializeTransferRequest.d.ts +12 -0
- package/dist/src/utils/api/dtos/initializeTransferRequest.js +2 -0
- package/dist/src/utils/api/dtos/initializeTransferRequest.js.map +1 -0
- package/dist/src/utils/api/dtos/initializeTransferResponse.d.ts +6 -0
- package/dist/src/utils/api/dtos/initializeTransferResponse.js +2 -0
- package/dist/src/utils/api/dtos/initializeTransferResponse.js.map +1 -0
- package/dist/src/utils/api/dtos/loginRequest.d.ts +5 -0
- package/dist/src/utils/api/dtos/loginRequest.js +2 -0
- package/dist/src/utils/api/dtos/loginRequest.js.map +1 -0
- package/dist/src/utils/api/dtos/loginResponse.d.ts +4 -0
- package/dist/src/utils/api/dtos/loginResponse.js +2 -0
- package/dist/src/utils/api/dtos/loginResponse.js.map +1 -0
- package/dist/src/utils/api/dtos/registerTransferDownloadRequest.d.ts +8 -0
- package/dist/src/utils/api/dtos/registerTransferDownloadRequest.js +2 -0
- package/dist/src/utils/api/dtos/registerTransferDownloadRequest.js.map +1 -0
- package/dist/src/utils/api/dtos/sendFileChunkRequest.d.ts +6 -0
- package/dist/src/utils/api/dtos/sendFileChunkRequest.js +2 -0
- package/dist/src/utils/api/dtos/sendFileChunkRequest.js.map +1 -0
- package/dist/src/utils/api/fileServerClientFactory.d.ts +8 -0
- package/dist/src/utils/api/fileServerClientFactory.js +2 -0
- package/dist/src/utils/api/fileServerClientFactory.js.map +1 -0
- package/dist/src/utils/api/node/nodeApiClient.d.ts +28 -0
- package/dist/src/utils/api/node/nodeApiClient.js +186 -0
- package/dist/src/utils/api/node/nodeApiClient.js.map +1 -0
- package/dist/src/utils/api/node/nodeClientBase.d.ts +17 -0
- package/dist/src/utils/api/node/nodeClientBase.js +83 -0
- package/dist/src/utils/api/node/nodeClientBase.js.map +1 -0
- package/dist/src/utils/api/node/nodeFileServerClientFactory.d.ts +10 -0
- package/dist/src/utils/api/node/nodeFileServerClientFactory.js +35 -0
- package/dist/src/utils/api/node/nodeFileServerClientFactory.js.map +1 -0
- package/dist/src/utils/api/node/nodeFileserverClientBase.d.ts +5 -0
- package/dist/src/utils/api/node/nodeFileserverClientBase.js +18 -0
- package/dist/src/utils/api/node/nodeFileserverClientBase.js.map +1 -0
- package/dist/src/utils/dateAndTime/simpleDateFormatter.d.ts +9 -0
- package/dist/src/utils/dateAndTime/simpleDateFormatter.js +31 -0
- package/dist/src/utils/dateAndTime/simpleDateFormatter.js.map +1 -0
- package/dist/src/utils/events/chunkProgressEvent.d.ts +5 -0
- package/dist/src/utils/events/chunkProgressEvent.js +2 -0
- package/dist/src/utils/events/chunkProgressEvent.js.map +1 -0
- package/dist/src/utils/events/eventsEngine.d.ts +6 -0
- package/dist/src/utils/events/eventsEngine.js +2 -0
- package/dist/src/utils/events/eventsEngine.js.map +1 -0
- package/dist/src/utils/events/node/nodeEventsEngine.d.ts +7 -0
- package/dist/src/utils/events/node/nodeEventsEngine.js +16 -0
- package/dist/src/utils/events/node/nodeEventsEngine.js.map +1 -0
- package/dist/src/utils/fileSystem/chunkStreamProvider.d.ts +12 -0
- package/dist/src/utils/fileSystem/chunkStreamProvider.js +2 -0
- package/dist/src/utils/fileSystem/chunkStreamProvider.js.map +1 -0
- package/dist/src/utils/fileSystem/chunkStreamProviderFactory.d.ts +5 -0
- package/dist/src/utils/fileSystem/chunkStreamProviderFactory.js +2 -0
- package/dist/src/utils/fileSystem/chunkStreamProviderFactory.js.map +1 -0
- package/dist/src/utils/fileSystem/fileDetails.d.ts +15 -0
- package/dist/src/utils/fileSystem/fileDetails.js +2 -0
- package/dist/src/utils/fileSystem/fileDetails.js.map +1 -0
- package/dist/src/utils/fileSystem/fileSystemService.d.ts +19 -0
- package/dist/src/utils/fileSystem/fileSystemService.js +2 -0
- package/dist/src/utils/fileSystem/fileSystemService.js.map +1 -0
- package/dist/src/utils/fileSystem/fsError.d.ts +3 -0
- package/dist/src/utils/fileSystem/fsError.js +7 -0
- package/dist/src/utils/fileSystem/fsError.js.map +1 -0
- package/dist/src/utils/fileSystem/node/nodeChunkStreamProvider.d.ts +15 -0
- package/dist/src/utils/fileSystem/node/nodeChunkStreamProvider.js +105 -0
- package/dist/src/utils/fileSystem/node/nodeChunkStreamProvider.js.map +1 -0
- package/dist/src/utils/fileSystem/node/nodeChunkStreamProviderFactory.d.ts +5 -0
- package/dist/src/utils/fileSystem/node/nodeChunkStreamProviderFactory.js +7 -0
- package/dist/src/utils/fileSystem/node/nodeChunkStreamProviderFactory.js.map +1 -0
- package/dist/src/utils/fileSystem/node/nodeFileDetails.d.ts +20 -0
- package/dist/src/utils/fileSystem/node/nodeFileDetails.js +50 -0
- package/dist/src/utils/fileSystem/node/nodeFileDetails.js.map +1 -0
- package/dist/src/utils/fileSystem/node/nodeFileSystemService.d.ts +20 -0
- package/dist/src/utils/fileSystem/node/nodeFileSystemService.js +106 -0
- package/dist/src/utils/fileSystem/node/nodeFileSystemService.js.map +1 -0
- package/dist/src/utils/networking/throttlingOptions.d.ts +4 -0
- package/dist/src/utils/networking/throttlingOptions.js +2 -0
- package/dist/src/utils/networking/throttlingOptions.js.map +1 -0
- package/dist/src/utils/pseudoRandom.d.ts +3 -0
- package/dist/src/utils/pseudoRandom.js +7 -0
- package/dist/src/utils/pseudoRandom.js.map +1 -0
- package/dist/src/utils/semaphore/semaphore.d.ts +5 -0
- package/dist/src/utils/semaphore/semaphore.js +2 -0
- package/dist/src/utils/semaphore/semaphore.js.map +1 -0
- package/dist/src/utils/semaphore/semaphoreReleaser.d.ts +2 -0
- package/dist/src/utils/semaphore/semaphoreReleaser.js +2 -0
- package/dist/src/utils/semaphore/semaphoreReleaser.js.map +1 -0
- package/dist/src/utils/semaphore/transferSemaphore.d.ts +8 -0
- package/dist/src/utils/semaphore/transferSemaphore.js +28 -0
- package/dist/src/utils/semaphore/transferSemaphore.js.map +1 -0
- package/dist/src/utils/sleep.d.ts +1 -0
- package/dist/src/utils/sleep.js +6 -0
- package/dist/src/utils/sleep.js.map +1 -0
- package/dist/src/utils/types/transferStatus.d.ts +13 -0
- package/dist/src/utils/types/transferStatus.js +15 -0
- package/dist/src/utils/types/transferStatus.js.map +1 -0
- package/package.json +50 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
© Copyright 2022 Filemail AS. All Rights Reserved.
|
|
2
|
+
|
|
3
|
+
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
4
|
+
|
|
5
|
+
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
6
|
+
|
|
7
|
+
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
|
8
|
+
|
|
9
|
+
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
|
10
|
+
|
|
11
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type DownloadOptions from "../downloader/downloadOptions";
|
|
2
|
+
import type ApiClient from "../utils/api/apiClient";
|
|
3
|
+
import type ThrottlingOptions from '../utils/networking/throttlingOptions';
|
|
4
|
+
import type TransferStatus from '../utils/types/transferStatus';
|
|
5
|
+
import type DownloadInfo from "../downloader/dtos/downloadInfo";
|
|
6
|
+
import type DownloadCommand from "../downloader/dtos/downloadCommand";
|
|
7
|
+
import type ChunkStreamProviderFactory from "../utils/fileSystem/chunkStreamProviderFactory.js";
|
|
8
|
+
import type FileServerClientFactory from "../utils/api/fileServerClientFactory.js";
|
|
9
|
+
import type EventsEngine from "../utils/events/eventsEngine.js";
|
|
10
|
+
import type Logger from "./loggers/logger";
|
|
11
|
+
import type FileSystemService from "../utils/fileSystem/fileSystemService";
|
|
12
|
+
export default class DownloaderCore {
|
|
13
|
+
#private;
|
|
14
|
+
constructor(options: DownloadOptions, logger: Logger, apiClient: ApiClient, chunkProviderFactory: ChunkStreamProviderFactory, fileserverClientFactory: FileServerClientFactory, fileSystem: FileSystemService, eventsEngine: EventsEngine);
|
|
15
|
+
get status(): TransferStatus | null;
|
|
16
|
+
pause(): boolean;
|
|
17
|
+
resume(): boolean;
|
|
18
|
+
abort(): boolean;
|
|
19
|
+
configureThrottling(options: ThrottlingOptions): void;
|
|
20
|
+
downloadAllFiles(command: DownloadCommand): Promise<DownloadInfo>;
|
|
21
|
+
recoverInterruptedDownload(downloadId: string): Promise<DownloadInfo>;
|
|
22
|
+
cleanupDownload(downloadId?: string | null): Promise<void>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
+
};
|
|
12
|
+
var _DownloaderCore_instances, _DownloaderCore_apiClient, _DownloaderCore_options, _DownloaderCore_chunkProviderFactory, _DownloaderCore_fileserverClientFactory, _DownloaderCore_fileSystem, _DownloaderCore_eventsEngine, _DownloaderCore_logger, _DownloaderCore_downloadId, _DownloaderCore_transferId, _DownloaderCore_trackId, _DownloaderCore_downloader, _DownloaderCore_downloadTracker, _DownloaderCore_run, _DownloaderCore_fetchTransfer, _DownloaderCore_apiErrorToDownloadErrorCode, _DownloaderCore_throwIfRunning, _DownloaderCore_throwIfNotRunning, _DownloaderCore_generateDownloadId, _DownloaderCore_mapAllTransferFiles;
|
|
13
|
+
import DownloadEvent from "../downloader/dtos/downloadEvent.js";
|
|
14
|
+
import FilesDownloader from "../downloader/filesDownloader.js";
|
|
15
|
+
import DownloadFileInfo from "../downloader/dtos/downloadFileInfo.js";
|
|
16
|
+
import TransferSemaphore from "../utils/semaphore/transferSemaphore.js";
|
|
17
|
+
import DownloadError from '../downloader/dtos/downloadError.js';
|
|
18
|
+
import PseudoRandom from "../utils/pseudoRandom.js";
|
|
19
|
+
import DownloadTracker from "../downloader/downloadTracker.js";
|
|
20
|
+
import FilesPreparer from "../downloader/filesPreparer.js";
|
|
21
|
+
import DownloadFolderResolver from "../downloader/downloadFolderResolver.js";
|
|
22
|
+
import ApiError from "../utils/api/apiError.js";
|
|
23
|
+
import DownloadErrorCode from "../downloader/dtos/downloadErrorCode.js";
|
|
24
|
+
class DownloaderCore {
|
|
25
|
+
constructor(options, logger, apiClient, chunkProviderFactory, fileserverClientFactory, fileSystem, eventsEngine) {
|
|
26
|
+
_DownloaderCore_instances.add(this);
|
|
27
|
+
_DownloaderCore_apiClient.set(this, void 0);
|
|
28
|
+
_DownloaderCore_options.set(this, void 0);
|
|
29
|
+
_DownloaderCore_chunkProviderFactory.set(this, void 0);
|
|
30
|
+
_DownloaderCore_fileserverClientFactory.set(this, void 0);
|
|
31
|
+
_DownloaderCore_fileSystem.set(this, void 0);
|
|
32
|
+
_DownloaderCore_eventsEngine.set(this, void 0);
|
|
33
|
+
_DownloaderCore_logger.set(this, void 0);
|
|
34
|
+
_DownloaderCore_downloadId.set(this, void 0);
|
|
35
|
+
_DownloaderCore_transferId.set(this, void 0);
|
|
36
|
+
_DownloaderCore_trackId.set(this, void 0);
|
|
37
|
+
_DownloaderCore_downloader.set(this, null);
|
|
38
|
+
_DownloaderCore_downloadTracker.set(this, null);
|
|
39
|
+
__classPrivateFieldSet(this, _DownloaderCore_logger, logger, "f");
|
|
40
|
+
__classPrivateFieldSet(this, _DownloaderCore_options, options, "f");
|
|
41
|
+
__classPrivateFieldSet(this, _DownloaderCore_apiClient, apiClient, "f");
|
|
42
|
+
__classPrivateFieldSet(this, _DownloaderCore_chunkProviderFactory, chunkProviderFactory, "f");
|
|
43
|
+
__classPrivateFieldSet(this, _DownloaderCore_fileserverClientFactory, fileserverClientFactory, "f");
|
|
44
|
+
__classPrivateFieldSet(this, _DownloaderCore_fileSystem, fileSystem, "f");
|
|
45
|
+
__classPrivateFieldSet(this, _DownloaderCore_eventsEngine, eventsEngine, "f");
|
|
46
|
+
}
|
|
47
|
+
get status() {
|
|
48
|
+
if (__classPrivateFieldGet(this, _DownloaderCore_downloader, "f") === null)
|
|
49
|
+
return null;
|
|
50
|
+
return __classPrivateFieldGet(this, _DownloaderCore_downloader, "f").status;
|
|
51
|
+
}
|
|
52
|
+
pause() {
|
|
53
|
+
__classPrivateFieldGet(this, _DownloaderCore_instances, "m", _DownloaderCore_throwIfNotRunning).call(this);
|
|
54
|
+
return __classPrivateFieldGet(this, _DownloaderCore_downloader, "f").requestPause();
|
|
55
|
+
}
|
|
56
|
+
resume() {
|
|
57
|
+
__classPrivateFieldGet(this, _DownloaderCore_instances, "m", _DownloaderCore_throwIfNotRunning).call(this);
|
|
58
|
+
return __classPrivateFieldGet(this, _DownloaderCore_downloader, "f").resume();
|
|
59
|
+
}
|
|
60
|
+
abort() {
|
|
61
|
+
__classPrivateFieldGet(this, _DownloaderCore_instances, "m", _DownloaderCore_throwIfNotRunning).call(this);
|
|
62
|
+
return __classPrivateFieldGet(this, _DownloaderCore_downloader, "f").requestAbort();
|
|
63
|
+
}
|
|
64
|
+
configureThrottling(options) {
|
|
65
|
+
__classPrivateFieldGet(this, _DownloaderCore_eventsEngine, "f").emit(DownloadEvent.ConfigureThrottling, options);
|
|
66
|
+
}
|
|
67
|
+
async downloadAllFiles(command) {
|
|
68
|
+
__classPrivateFieldGet(this, _DownloaderCore_instances, "m", _DownloaderCore_throwIfRunning).call(this);
|
|
69
|
+
if (!__classPrivateFieldGet(this, _DownloaderCore_options, "f").downloadFolder && !__classPrivateFieldGet(this, _DownloaderCore_options, "f").downloadFolderTemplate)
|
|
70
|
+
throw new DownloadError(`downloadFolder OR downloadFolderTemplate is required`);
|
|
71
|
+
if (__classPrivateFieldGet(this, _DownloaderCore_options, "f").maxChunkSize !== null && __classPrivateFieldGet(this, _DownloaderCore_options, "f").maxChunkSize <= 0)
|
|
72
|
+
throw new DownloadError(`maxChunkSize must be greater than 0. Provide "null" if you want to download without chunking.`);
|
|
73
|
+
__classPrivateFieldSet(this, _DownloaderCore_trackId, command.trackId, "f");
|
|
74
|
+
let effectiveTransfer = null;
|
|
75
|
+
if (typeof command.transfer === `object`)
|
|
76
|
+
effectiveTransfer = command.transfer;
|
|
77
|
+
else if (typeof command.transfer === `string`)
|
|
78
|
+
effectiveTransfer = await __classPrivateFieldGet(this, _DownloaderCore_instances, "m", _DownloaderCore_fetchTransfer).call(this, command.transfer, undefined, command.password);
|
|
79
|
+
if (!effectiveTransfer) {
|
|
80
|
+
// still don't know the transfer - must use track ID to fetch it
|
|
81
|
+
if (!__classPrivateFieldGet(this, _DownloaderCore_trackId, "f"))
|
|
82
|
+
throw new DownloadError(`Could not resolve transfer to be downloaded - missing transfer info and missing track id`);
|
|
83
|
+
effectiveTransfer = await __classPrivateFieldGet(this, _DownloaderCore_instances, "m", _DownloaderCore_fetchTransfer).call(this, undefined, __classPrivateFieldGet(this, _DownloaderCore_trackId, "f"), command.password);
|
|
84
|
+
}
|
|
85
|
+
if (!effectiveTransfer) {
|
|
86
|
+
const transferInfo = typeof command.transfer === `object` ? JSON.stringify(command.transfer) : command.transfer;
|
|
87
|
+
throw new DownloadError(`Could not resolve transfer to be downloaded - transfer=${transferInfo} track=${command.trackId}`);
|
|
88
|
+
}
|
|
89
|
+
if (effectiveTransfer.isexpired === true)
|
|
90
|
+
throw new DownloadError(`This transfer is expired`, undefined, DownloadErrorCode.TransferExpired);
|
|
91
|
+
if (effectiveTransfer.blockdownloads === true)
|
|
92
|
+
throw new DownloadError(`This transfer has downloads disabled.`, undefined, DownloadErrorCode.DownloadsDisabled);
|
|
93
|
+
if (!effectiveTransfer.files || effectiveTransfer.files.length === 0)
|
|
94
|
+
throw new DownloadError(`This transfer has no files to download.`, undefined, DownloadErrorCode.NoFilesToDownload);
|
|
95
|
+
__classPrivateFieldSet(this, _DownloaderCore_transferId, effectiveTransfer.id, "f");
|
|
96
|
+
__classPrivateFieldSet(this, _DownloaderCore_downloadId, __classPrivateFieldGet(this, _DownloaderCore_instances, "m", _DownloaderCore_generateDownloadId).call(this), "f");
|
|
97
|
+
// TODO: if we want to unused custom fields disappear from download folder template - fetch company from api!
|
|
98
|
+
// if (company === null && !this.#options.logintoken) {
|
|
99
|
+
// this.#apiClient.setLoginToken(this.#options.logintoken!);
|
|
100
|
+
// company = await this.#apiClient.getCompany();
|
|
101
|
+
// }
|
|
102
|
+
if (__classPrivateFieldGet(this, _DownloaderCore_options, "f").downloadFolderTemplate)
|
|
103
|
+
__classPrivateFieldGet(this, _DownloaderCore_options, "f").downloadFolder = DownloadFolderResolver.prepareDownloadFolder(__classPrivateFieldGet(this, _DownloaderCore_options, "f").downloadFolderTemplate, effectiveTransfer, command.company);
|
|
104
|
+
const downloadFiles = __classPrivateFieldGet(this, _DownloaderCore_instances, "m", _DownloaderCore_mapAllTransferFiles).call(this, effectiveTransfer.files);
|
|
105
|
+
const preparer = new FilesPreparer(__classPrivateFieldGet(this, _DownloaderCore_options, "f").downloadFolder, __classPrivateFieldGet(this, _DownloaderCore_options, "f").maxChunkSize, __classPrivateFieldGet(this, _DownloaderCore_fileSystem, "f"));
|
|
106
|
+
preparer.prepareFiles(downloadFiles);
|
|
107
|
+
return __classPrivateFieldGet(this, _DownloaderCore_instances, "m", _DownloaderCore_run).call(this, downloadFiles);
|
|
108
|
+
}
|
|
109
|
+
async recoverInterruptedDownload(downloadId) {
|
|
110
|
+
__classPrivateFieldGet(this, _DownloaderCore_logger, "f").logTrace(`node downloader -> recoverInterruptedDownload ${downloadId}`);
|
|
111
|
+
__classPrivateFieldGet(this, _DownloaderCore_instances, "m", _DownloaderCore_throwIfRunning).call(this);
|
|
112
|
+
if (!__classPrivateFieldGet(this, _DownloaderCore_options, "f").downloadTrackingBaseFolder)
|
|
113
|
+
throw new DownloadError(`The download tracking folder is not specified`);
|
|
114
|
+
__classPrivateFieldSet(this, _DownloaderCore_downloadId, downloadId, "f");
|
|
115
|
+
__classPrivateFieldSet(this, _DownloaderCore_transferId, downloadId.split(`_`)[0], "f");
|
|
116
|
+
__classPrivateFieldSet(this, _DownloaderCore_downloadTracker, new DownloadTracker(__classPrivateFieldGet(this, _DownloaderCore_downloadId, "f"), __classPrivateFieldGet(this, _DownloaderCore_options, "f"), __classPrivateFieldGet(this, _DownloaderCore_fileSystem, "f"), __classPrivateFieldGet(this, _DownloaderCore_eventsEngine, "f")), "f");
|
|
117
|
+
const restoredOptions = await __classPrivateFieldGet(this, _DownloaderCore_downloadTracker, "f").restoreDownloadOptions();
|
|
118
|
+
// just make sure we are running the same config as when the download was last dumped to disk - otherwise things could get out of sync
|
|
119
|
+
__classPrivateFieldGet(this, _DownloaderCore_options, "f").downloadFolder = restoredOptions.downloadFolder;
|
|
120
|
+
__classPrivateFieldGet(this, _DownloaderCore_options, "f").downloadTrackingBaseFolder = restoredOptions.downloadTrackingBaseFolder;
|
|
121
|
+
__classPrivateFieldGet(this, _DownloaderCore_options, "f").maxChunkSize = restoredOptions.maxChunkSize;
|
|
122
|
+
// find out from disk what files were in progress and how many chunks are complete already
|
|
123
|
+
const downloaderState = await __classPrivateFieldGet(this, _DownloaderCore_downloadTracker, "f").restoreDownloaderState();
|
|
124
|
+
// restart from where we left off
|
|
125
|
+
return __classPrivateFieldGet(this, _DownloaderCore_instances, "m", _DownloaderCore_run).call(this, downloaderState.files, downloaderState.state);
|
|
126
|
+
}
|
|
127
|
+
async cleanupDownload(downloadId = null) {
|
|
128
|
+
const cleanupDownloadId = downloadId ?? __classPrivateFieldGet(this, _DownloaderCore_downloadId, "f");
|
|
129
|
+
if (!cleanupDownloadId)
|
|
130
|
+
throw new DownloadError(`Cannot cleanup unknown download`);
|
|
131
|
+
if (!__classPrivateFieldGet(this, _DownloaderCore_options, "f").downloadTrackingBaseFolder)
|
|
132
|
+
throw new DownloadError(`The download tracking folder is not specified`);
|
|
133
|
+
const tracker = new DownloadTracker(cleanupDownloadId, __classPrivateFieldGet(this, _DownloaderCore_options, "f"), __classPrivateFieldGet(this, _DownloaderCore_fileSystem, "f"), __classPrivateFieldGet(this, _DownloaderCore_eventsEngine, "f"));
|
|
134
|
+
tracker.removeDownloadTrackingFolder();
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
_DownloaderCore_apiClient = new WeakMap(), _DownloaderCore_options = new WeakMap(), _DownloaderCore_chunkProviderFactory = new WeakMap(), _DownloaderCore_fileserverClientFactory = new WeakMap(), _DownloaderCore_fileSystem = new WeakMap(), _DownloaderCore_eventsEngine = new WeakMap(), _DownloaderCore_logger = new WeakMap(), _DownloaderCore_downloadId = new WeakMap(), _DownloaderCore_transferId = new WeakMap(), _DownloaderCore_trackId = new WeakMap(), _DownloaderCore_downloader = new WeakMap(), _DownloaderCore_downloadTracker = new WeakMap(), _DownloaderCore_instances = new WeakSet(), _DownloaderCore_run =
|
|
138
|
+
// async retryFailedFiles(downloadId: string | null = null) {
|
|
139
|
+
// this.#throwIfRunning();
|
|
140
|
+
// const retryDownloadId = downloadId ?? this.#downloadId;
|
|
141
|
+
// if (!retryDownloadId)
|
|
142
|
+
// throw new DownloadError(`Cannot retry unknown download`);
|
|
143
|
+
// if (!this.#options.downloadTrackingBaseFolder)
|
|
144
|
+
// throw new DownloadError(`The download tracking folder is not specified`);
|
|
145
|
+
// const tracker = new DownloadTracker(retryDownloadId, this.#options, this.#fileSystem, this.#eventsEngine);
|
|
146
|
+
// tracker.retryFailedFiles();
|
|
147
|
+
// }
|
|
148
|
+
async function _DownloaderCore_run(downloadFiles, restoredState) {
|
|
149
|
+
if (!__classPrivateFieldGet(this, _DownloaderCore_transferId, "f"))
|
|
150
|
+
throw new DownloadError(`This downloader has no transfer ID specified`);
|
|
151
|
+
if (!__classPrivateFieldGet(this, _DownloaderCore_downloadId, "f"))
|
|
152
|
+
throw new DownloadError(`This downloader has no download ID initialized`);
|
|
153
|
+
__classPrivateFieldSet(this, _DownloaderCore_downloader, new FilesDownloader(__classPrivateFieldGet(this, _DownloaderCore_transferId, "f"), __classPrivateFieldGet(this, _DownloaderCore_trackId, "f"), __classPrivateFieldGet(this, _DownloaderCore_downloadId, "f"), downloadFiles, restoredState, __classPrivateFieldGet(this, _DownloaderCore_fileSystem, "f"), new TransferSemaphore(__classPrivateFieldGet(this, _DownloaderCore_options, "f").parallelChunks), __classPrivateFieldGet(this, _DownloaderCore_eventsEngine, "f"), __classPrivateFieldGet(this, _DownloaderCore_options, "f"), __classPrivateFieldGet(this, _DownloaderCore_apiClient, "f"), __classPrivateFieldGet(this, _DownloaderCore_fileserverClientFactory, "f"), __classPrivateFieldGet(this, _DownloaderCore_chunkProviderFactory, "f")), "f");
|
|
154
|
+
if (__classPrivateFieldGet(this, _DownloaderCore_options, "f").downloadTrackingBaseFolder) {
|
|
155
|
+
if (!__classPrivateFieldGet(this, _DownloaderCore_downloadTracker, "f"))
|
|
156
|
+
__classPrivateFieldSet(this, _DownloaderCore_downloadTracker, new DownloadTracker(__classPrivateFieldGet(this, _DownloaderCore_downloadId, "f"), __classPrivateFieldGet(this, _DownloaderCore_options, "f"), __classPrivateFieldGet(this, _DownloaderCore_fileSystem, "f"), __classPrivateFieldGet(this, _DownloaderCore_eventsEngine, "f")), "f");
|
|
157
|
+
await __classPrivateFieldGet(this, _DownloaderCore_downloadTracker, "f").start(downloadFiles);
|
|
158
|
+
}
|
|
159
|
+
const completion = __classPrivateFieldGet(this, _DownloaderCore_downloader, "f").start();
|
|
160
|
+
return { downloadId: __classPrivateFieldGet(this, _DownloaderCore_downloadId, "f"), transferId: __classPrivateFieldGet(this, _DownloaderCore_transferId, "f"), completion };
|
|
161
|
+
}, _DownloaderCore_fetchTransfer = async function _DownloaderCore_fetchTransfer(transferid, trackid, password) {
|
|
162
|
+
const request = { fileslimit: -1 };
|
|
163
|
+
if (transferid)
|
|
164
|
+
request.transferid = transferid;
|
|
165
|
+
else if (trackid)
|
|
166
|
+
request.trackid = trackid;
|
|
167
|
+
if (password)
|
|
168
|
+
request.password = password;
|
|
169
|
+
try {
|
|
170
|
+
return await __classPrivateFieldGet(this, _DownloaderCore_apiClient, "f").getTransfer(request);
|
|
171
|
+
}
|
|
172
|
+
catch (error) {
|
|
173
|
+
const code = __classPrivateFieldGet(this, _DownloaderCore_instances, "m", _DownloaderCore_apiErrorToDownloadErrorCode).call(this, error);
|
|
174
|
+
const downloadError = new DownloadError(`Could not fetch transfer by id=${transferid ?? `---`} track=${trackid ?? `---`}`, { cause: error }, code);
|
|
175
|
+
throw downloadError;
|
|
176
|
+
}
|
|
177
|
+
}, _DownloaderCore_apiErrorToDownloadErrorCode = function _DownloaderCore_apiErrorToDownloadErrorCode(error) {
|
|
178
|
+
if (error instanceof ApiError) {
|
|
179
|
+
switch (error.httpStatus) {
|
|
180
|
+
case 401: return DownloadErrorCode.InvalidTransferPassword;
|
|
181
|
+
case 404: return DownloadErrorCode.TransferNotFound;
|
|
182
|
+
case 409: return DownloadErrorCode.TransferInvalidState;
|
|
183
|
+
default: break;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return undefined;
|
|
187
|
+
}, _DownloaderCore_throwIfRunning = function _DownloaderCore_throwIfRunning() {
|
|
188
|
+
if (__classPrivateFieldGet(this, _DownloaderCore_downloader, "f"))
|
|
189
|
+
throw new DownloadError(`This instance of downloader is already in use. Please create a new one.`);
|
|
190
|
+
}, _DownloaderCore_throwIfNotRunning = function _DownloaderCore_throwIfNotRunning() {
|
|
191
|
+
if (!__classPrivateFieldGet(this, _DownloaderCore_downloader, "f"))
|
|
192
|
+
throw new DownloadError(`This instance of downloader is not running yet. Please start the download first.`);
|
|
193
|
+
}, _DownloaderCore_generateDownloadId = function _DownloaderCore_generateDownloadId() {
|
|
194
|
+
return `${__classPrivateFieldGet(this, _DownloaderCore_transferId, "f")}_${PseudoRandom.generate(10)}`;
|
|
195
|
+
}, _DownloaderCore_mapAllTransferFiles = function _DownloaderCore_mapAllTransferFiles(files) {
|
|
196
|
+
return files.map(file => new DownloadFileInfo(file.fileid, file.downloadurl, file.filename, file.filesize));
|
|
197
|
+
};
|
|
198
|
+
export default DownloaderCore;
|
|
199
|
+
//# sourceMappingURL=downloaderCore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"downloaderCore.js","sourceRoot":"","sources":["../../../src/client/downloaderCore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environmentVariables.js","sourceRoot":"","sources":["../../../src/client/environmentVariables.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-empty-function */
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
3
|
+
class DummyLogger {
|
|
4
|
+
logTrace(_message) { }
|
|
5
|
+
logInfo(_message) { }
|
|
6
|
+
logWarning(_message) { }
|
|
7
|
+
logError(_error) { }
|
|
8
|
+
}
|
|
9
|
+
export default DummyLogger;
|
|
10
|
+
//# sourceMappingURL=dummyLogger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dummyLogger.js","sourceRoot":"","sources":["../../../../src/client/loggers/dummyLogger.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,sDAAsD;AAItD,MAAM,WAAW;IACb,QAAQ,CAAC,QAAgB,IAAU,CAAC;IACpC,OAAO,CAAC,QAAgB,IAAU,CAAC;IACnC,UAAU,CAAC,QAAgB,IAAU,CAAC;IACtC,QAAQ,CAAC,MAAa,IAAU,CAAC;CACpC;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../src/client/loggers/logger.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import NodeFileDetails from '../../utils/fileSystem/node/nodeFileDetails.js';
|
|
2
|
+
declare class NodeFileDetailsProvider {
|
|
3
|
+
#private;
|
|
4
|
+
constructor(paths: string[], maxChunkSizeInBytes: number);
|
|
5
|
+
create(): Promise<NodeFileDetails[]>;
|
|
6
|
+
private addPathToFileDetailsArray;
|
|
7
|
+
private isDirectory;
|
|
8
|
+
private addDirectory;
|
|
9
|
+
private addFile;
|
|
10
|
+
static recreate(files: {
|
|
11
|
+
externalId: string | number;
|
|
12
|
+
path: string;
|
|
13
|
+
destinationFilePath: string;
|
|
14
|
+
}[], maxChunkSizeInBytes: number): Promise<NodeFileDetails[]>;
|
|
15
|
+
}
|
|
16
|
+
export default NodeFileDetailsProvider;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
+
};
|
|
12
|
+
var _NodeFileDetailsProvider_paths, _NodeFileDetailsProvider_fileDetails, _NodeFileDetailsProvider_maxChunkSizeInBytes;
|
|
13
|
+
import fsPath from 'path';
|
|
14
|
+
import fs from 'fs/promises';
|
|
15
|
+
import { v4 as guid } from 'uuid';
|
|
16
|
+
import NodeFileDetails from '../../utils/fileSystem/node/nodeFileDetails.js';
|
|
17
|
+
class NodeFileDetailsProvider {
|
|
18
|
+
constructor(paths, maxChunkSizeInBytes) {
|
|
19
|
+
_NodeFileDetailsProvider_paths.set(this, void 0);
|
|
20
|
+
_NodeFileDetailsProvider_fileDetails.set(this, void 0);
|
|
21
|
+
_NodeFileDetailsProvider_maxChunkSizeInBytes.set(this, void 0);
|
|
22
|
+
__classPrivateFieldSet(this, _NodeFileDetailsProvider_fileDetails, [], "f");
|
|
23
|
+
__classPrivateFieldSet(this, _NodeFileDetailsProvider_paths, paths, "f");
|
|
24
|
+
__classPrivateFieldSet(this, _NodeFileDetailsProvider_maxChunkSizeInBytes, maxChunkSizeInBytes, "f");
|
|
25
|
+
}
|
|
26
|
+
async create() {
|
|
27
|
+
const tasks = [];
|
|
28
|
+
for (const path of __classPrivateFieldGet(this, _NodeFileDetailsProvider_paths, "f"))
|
|
29
|
+
tasks.push(this.addPathToFileDetailsArray(path, ``));
|
|
30
|
+
await Promise.all(tasks);
|
|
31
|
+
return __classPrivateFieldGet(this, _NodeFileDetailsProvider_fileDetails, "f");
|
|
32
|
+
}
|
|
33
|
+
async addPathToFileDetailsArray(path, destinationDirectoryPath) {
|
|
34
|
+
if (await this.isDirectory(path))
|
|
35
|
+
await this.addDirectory(path, destinationDirectoryPath);
|
|
36
|
+
else
|
|
37
|
+
await this.addFile(path, destinationDirectoryPath);
|
|
38
|
+
}
|
|
39
|
+
async isDirectory(path) {
|
|
40
|
+
try {
|
|
41
|
+
const stats = await fs.stat(path);
|
|
42
|
+
return stats.isDirectory();
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
throw new Error(`Given path doesn't exist or application can't read it: ${path}`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
async addDirectory(directory, destinationDirectoryPath) {
|
|
49
|
+
const directoryName = fsPath.basename(fsPath.resolve(directory));
|
|
50
|
+
const destinationDirectoryPathForSubitems = fsPath.posix.join(destinationDirectoryPath, directoryName);
|
|
51
|
+
const tasks = [];
|
|
52
|
+
const subItems = await fs.readdir(directory);
|
|
53
|
+
for (const subItem of subItems) {
|
|
54
|
+
const subItemPath = fsPath.join(directory, subItem);
|
|
55
|
+
tasks.push(this.addPathToFileDetailsArray(subItemPath, destinationDirectoryPathForSubitems));
|
|
56
|
+
}
|
|
57
|
+
await Promise.all(tasks);
|
|
58
|
+
}
|
|
59
|
+
async addFile(file, destinationFilePath) {
|
|
60
|
+
const nodeFileDetails = await NodeFileDetails.create(guid(), file, destinationFilePath, __classPrivateFieldGet(this, _NodeFileDetailsProvider_maxChunkSizeInBytes, "f"));
|
|
61
|
+
__classPrivateFieldGet(this, _NodeFileDetailsProvider_fileDetails, "f").push(nodeFileDetails);
|
|
62
|
+
}
|
|
63
|
+
static async recreate(files, maxChunkSizeInBytes) {
|
|
64
|
+
const promises = [];
|
|
65
|
+
files.forEach(file => {
|
|
66
|
+
const promise = NodeFileDetails.create(file.externalId, file.path, file.destinationFilePath, maxChunkSizeInBytes);
|
|
67
|
+
promises.push(promise);
|
|
68
|
+
});
|
|
69
|
+
return await Promise.all(promises);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
_NodeFileDetailsProvider_paths = new WeakMap(), _NodeFileDetailsProvider_fileDetails = new WeakMap(), _NodeFileDetailsProvider_maxChunkSizeInBytes = new WeakMap();
|
|
73
|
+
export default NodeFileDetailsProvider;
|
|
74
|
+
//# sourceMappingURL=nodeFileDetailsProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodeFileDetailsProvider.js","sourceRoot":"","sources":["../../../../src/client/node/nodeFileDetailsProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import DownloadOptions from "../../downloader/downloadOptions.js";
|
|
2
|
+
import DownloadEvent from "../../downloader/dtos/downloadEvent.js";
|
|
3
|
+
import type TransferDownloader from "../transferDownloader";
|
|
4
|
+
import type EnvironmentVariables from "../environmentVariables";
|
|
5
|
+
import type DownloadEventArgs from '../../downloader/eventArgs/downloadEventArgs';
|
|
6
|
+
import type FileDownloadEventArgs from '../../downloader/eventArgs/fileDownloadEventArgs';
|
|
7
|
+
import type FileDownloadFailedEventArgs from '../../downloader/eventArgs/fileDownloadFailedEventArgs';
|
|
8
|
+
import type ThrottlingOptions from '../../utils/networking/throttlingOptions';
|
|
9
|
+
import type TransferStatus from '../../utils/types/transferStatus';
|
|
10
|
+
import type ChunkDownloadEventArgs from '../../downloader/eventArgs/chunkDownloadEventArgs';
|
|
11
|
+
import type ChunkDownloadFailedEventArgs from '../../downloader/eventArgs/chunkDownloadFailedEventArgs';
|
|
12
|
+
import type DownloadCompletedEventArgs from '../../downloader/eventArgs/downloadCompletedEventArgs';
|
|
13
|
+
import type Logger from "../loggers/logger";
|
|
14
|
+
import type DownloadInfo from "../../downloader/dtos/downloadInfo";
|
|
15
|
+
import type DownloadCommand from "../../downloader/dtos/downloadCommand";
|
|
16
|
+
export default class NodeTransferDownloader implements TransferDownloader {
|
|
17
|
+
#private;
|
|
18
|
+
constructor(options: DownloadOptions, envValues: EnvironmentVariables, logger: Logger);
|
|
19
|
+
get status(): TransferStatus | null;
|
|
20
|
+
pause(): boolean;
|
|
21
|
+
resume(): boolean;
|
|
22
|
+
abort(): boolean;
|
|
23
|
+
configureThrottling(options: ThrottlingOptions): void;
|
|
24
|
+
addEventListener(eventName: DownloadEvent.NetworkFailure | DownloadEvent.NetworkOk, handler: () => void): void;
|
|
25
|
+
addEventListener(eventName: DownloadEvent.Pausing | DownloadEvent.Paused | DownloadEvent.Aborting | DownloadEvent.Aborted | DownloadEvent.Resumed, handler: (args: DownloadEventArgs) => void): void;
|
|
26
|
+
addEventListener(eventName: DownloadEvent.ChunkDownloadStarted | DownloadEvent.ChunkDownloadProgressed | DownloadEvent.ChunkDownloadCompleted, handler: (args: ChunkDownloadEventArgs) => void): void;
|
|
27
|
+
addEventListener(eventName: DownloadEvent.ChunkDownloadFailed, handler: (args: ChunkDownloadFailedEventArgs) => void): void;
|
|
28
|
+
addEventListener(eventName: DownloadEvent.FileDownloadStarted | DownloadEvent.FileDownloadCompleted | DownloadEvent.FileDownloadProgressed, handler: (args: FileDownloadEventArgs) => void): void;
|
|
29
|
+
addEventListener(eventName: DownloadEvent.FileDownloadFailed, handler: (args: FileDownloadFailedEventArgs) => void): void;
|
|
30
|
+
addEventListener(eventName: DownloadEvent.DownloadStarted | DownloadEvent.DownloadCompleted | DownloadEvent.DownloadProgressed, handler: (args: DownloadEventArgs) => void): void;
|
|
31
|
+
addEventListener(eventName: DownloadEvent.DownloadCompleted, handler: (args: DownloadCompletedEventArgs) => void): void;
|
|
32
|
+
downloadAllFiles(command: DownloadCommand): Promise<DownloadInfo>;
|
|
33
|
+
recoverInterruptedDownload(downloadId: string): Promise<DownloadInfo>;
|
|
34
|
+
cleanupDownload(downloadId?: string | null): Promise<void>;
|
|
35
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
+
};
|
|
12
|
+
var _NodeTransferDownloader_eventsEngine, _NodeTransferDownloader_downloader, _NodeTransferDownloader_logger;
|
|
13
|
+
import DownloadOptions from "../../downloader/downloadOptions.js";
|
|
14
|
+
import DownloadEvent from "../../downloader/dtos/downloadEvent.js";
|
|
15
|
+
import NodeFileServerClientFactory from "../../utils/api/node/nodeFileServerClientFactory.js";
|
|
16
|
+
import NodeChunkStreamProviderFactory from "../../utils/fileSystem/node/nodeChunkStreamProviderFactory.js";
|
|
17
|
+
import NodeFileSystemService from "../../utils/fileSystem/node/nodeFileSystemService.js";
|
|
18
|
+
import NodeApiClient from "../../utils/api/node/nodeApiClient.js";
|
|
19
|
+
import NodeEventsEngine from '../../utils/events/node/nodeEventsEngine.js';
|
|
20
|
+
import DownloaderCore from "../downloaderCore.js";
|
|
21
|
+
class NodeTransferDownloader {
|
|
22
|
+
constructor(options, envValues, logger) {
|
|
23
|
+
_NodeTransferDownloader_eventsEngine.set(this, void 0);
|
|
24
|
+
_NodeTransferDownloader_downloader.set(this, void 0);
|
|
25
|
+
_NodeTransferDownloader_logger.set(this, void 0);
|
|
26
|
+
const optionsResolved = { ...new DownloadOptions(), ...options };
|
|
27
|
+
const apiClient = new NodeApiClient(envValues.apiBaseUrl, envValues.source, envValues.sourceDetails, optionsResolved.apiRequestTotalTimeoutInMs, optionsResolved.apiRetryLimit);
|
|
28
|
+
const chunkProvider = new NodeChunkStreamProviderFactory();
|
|
29
|
+
const fileserverClientFactory = new NodeFileServerClientFactory(envValues.source, envValues.sourceDetails, optionsResolved.fileserverDownloadIdleTimeMs, optionsResolved.fileserverAttemptLimit);
|
|
30
|
+
const fileSystem = new NodeFileSystemService();
|
|
31
|
+
__classPrivateFieldSet(this, _NodeTransferDownloader_logger, logger, "f");
|
|
32
|
+
__classPrivateFieldSet(this, _NodeTransferDownloader_eventsEngine, new NodeEventsEngine(), "f");
|
|
33
|
+
__classPrivateFieldSet(this, _NodeTransferDownloader_downloader, new DownloaderCore(optionsResolved, logger, apiClient, chunkProvider, fileserverClientFactory, fileSystem, __classPrivateFieldGet(this, _NodeTransferDownloader_eventsEngine, "f")), "f");
|
|
34
|
+
this.addEventListener(DownloadEvent.DownloadStarted, args => __classPrivateFieldGet(this, _NodeTransferDownloader_logger, "f").logInfo(`Download started ${args.transferId} / ${args.downloadId}`));
|
|
35
|
+
this.addEventListener(DownloadEvent.Aborting, args => __classPrivateFieldGet(this, _NodeTransferDownloader_logger, "f").logInfo(`Download aborting ${args.transferId} / ${args.downloadId}`));
|
|
36
|
+
this.addEventListener(DownloadEvent.Aborted, args => __classPrivateFieldGet(this, _NodeTransferDownloader_logger, "f").logInfo(`Download aborted ${args.transferId} / ${args.downloadId}`));
|
|
37
|
+
this.addEventListener(DownloadEvent.Pausing, args => __classPrivateFieldGet(this, _NodeTransferDownloader_logger, "f").logInfo(`Download pausing ${args.transferId} / ${args.downloadId}`));
|
|
38
|
+
this.addEventListener(DownloadEvent.Paused, args => __classPrivateFieldGet(this, _NodeTransferDownloader_logger, "f").logInfo(`Download paused ${args.transferId} / ${args.downloadId}`));
|
|
39
|
+
this.addEventListener(DownloadEvent.DownloadCompleted, args => {
|
|
40
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
41
|
+
const { files, ...downloadInfoWithoutFiles } = args;
|
|
42
|
+
__classPrivateFieldGet(this, _NodeTransferDownloader_logger, "f").logInfo(`Download completed successfully: ${JSON.stringify(downloadInfoWithoutFiles)}`);
|
|
43
|
+
});
|
|
44
|
+
this.addEventListener(DownloadEvent.FileDownloadStarted, args => __classPrivateFieldGet(this, _NodeTransferDownloader_logger, "f").logInfo(`File download started: ${JSON.stringify(args)}`));
|
|
45
|
+
this.addEventListener(DownloadEvent.FileDownloadCompleted, args => __classPrivateFieldGet(this, _NodeTransferDownloader_logger, "f").logInfo(`File download completed: ${JSON.stringify(args)}`));
|
|
46
|
+
this.addEventListener(DownloadEvent.FileDownloadFailed, args => __classPrivateFieldGet(this, _NodeTransferDownloader_logger, "f").logInfo(`File download failed: ${JSON.stringify(args)}`));
|
|
47
|
+
}
|
|
48
|
+
get status() {
|
|
49
|
+
return __classPrivateFieldGet(this, _NodeTransferDownloader_downloader, "f").status;
|
|
50
|
+
}
|
|
51
|
+
pause() {
|
|
52
|
+
return __classPrivateFieldGet(this, _NodeTransferDownloader_downloader, "f").pause();
|
|
53
|
+
}
|
|
54
|
+
resume() {
|
|
55
|
+
return __classPrivateFieldGet(this, _NodeTransferDownloader_downloader, "f").resume();
|
|
56
|
+
}
|
|
57
|
+
abort() {
|
|
58
|
+
return __classPrivateFieldGet(this, _NodeTransferDownloader_downloader, "f").abort();
|
|
59
|
+
}
|
|
60
|
+
configureThrottling(options) {
|
|
61
|
+
__classPrivateFieldGet(this, _NodeTransferDownloader_eventsEngine, "f").emit(DownloadEvent.ConfigureThrottling, options);
|
|
62
|
+
}
|
|
63
|
+
addEventListener(eventName, handler) {
|
|
64
|
+
__classPrivateFieldGet(this, _NodeTransferDownloader_eventsEngine, "f").addEventListener(eventName, handler);
|
|
65
|
+
}
|
|
66
|
+
async downloadAllFiles(command) {
|
|
67
|
+
return __classPrivateFieldGet(this, _NodeTransferDownloader_downloader, "f").downloadAllFiles(command);
|
|
68
|
+
}
|
|
69
|
+
async recoverInterruptedDownload(downloadId) {
|
|
70
|
+
return __classPrivateFieldGet(this, _NodeTransferDownloader_downloader, "f").recoverInterruptedDownload(downloadId);
|
|
71
|
+
}
|
|
72
|
+
async cleanupDownload(downloadId = null) {
|
|
73
|
+
return __classPrivateFieldGet(this, _NodeTransferDownloader_downloader, "f").cleanupDownload(downloadId);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
_NodeTransferDownloader_eventsEngine = new WeakMap(), _NodeTransferDownloader_downloader = new WeakMap(), _NodeTransferDownloader_logger = new WeakMap();
|
|
77
|
+
export default NodeTransferDownloader;
|
|
78
|
+
//# sourceMappingURL=nodeTransferDownloader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodeTransferDownloader.js","sourceRoot":"","sources":["../../../../src/client/node/nodeTransferDownloader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import Transfer from "../../uploader/transfer.js";
|
|
2
|
+
import type FileDetails from "../../utils/fileSystem/fileDetails.js";
|
|
3
|
+
import type Logger from "../loggers/logger.js";
|
|
4
|
+
import type EnvironmentVariables from "../environmentVariables.js";
|
|
5
|
+
import type TransferUploader from "../transferUploader.js";
|
|
6
|
+
import type TransferUploaderOptions from "../transferUploaderOptions.js";
|
|
7
|
+
import type TransferExportData from "../../uploader/export/transferExportData.js";
|
|
8
|
+
export default class NodeTransferUploader implements TransferUploader {
|
|
9
|
+
#private;
|
|
10
|
+
constructor(fileDetails: FileDetails[], options: TransferUploaderOptions, envValues: EnvironmentVariables, logger: Logger);
|
|
11
|
+
constructor(fileDetails: FileDetails[], options: TransferUploaderOptions, envValues: EnvironmentVariables, logger: Logger, exportData: TransferExportData);
|
|
12
|
+
private buildTransferOptions;
|
|
13
|
+
get transfer(): Transfer;
|
|
14
|
+
get failedReason(): string | undefined;
|
|
15
|
+
pause(): void;
|
|
16
|
+
stop(): void;
|
|
17
|
+
cancel(): Promise<void>;
|
|
18
|
+
start(): Promise<void>;
|
|
19
|
+
private setFailedReasonFromError;
|
|
20
|
+
private addTransferEventListeners;
|
|
21
|
+
}
|