Turbo SDKEvents
Folder Upload Events
These events are available for the uploadFolder method:
onFileStart- emitted when a file in the folder starts uploading. Includes the file name, file size, file index, and total number of filesonFileProgress- emitted when a file's upload or signing progress changes. Includes the file name, file index, total files, processed bytes for the file, total bytes for the file, and the current step (signing or upload)onFileComplete- emitted when a file successfully completes uploading. Includes the file name, file index, total files, and the data item IDonFileError- emitted when a file upload fails. Includes the file name, file index, total files, and the erroronFolderProgress- emitted when the overall folder upload progress changes. Includes the number of processed files, total files, processed bytes across all files, total bytes across all files, and the current phase (files or manifest)onFolderError- emitted when the overall folder upload failsonFolderSuccess- emitted when the folder upload successfully completes (including manifest generation) - this is the last event emitted for the folder upload process
const uploadResult = await turbo.upload({
data: 'The contents of my file!',
signal: AbortSignal.timeout(10_000), // cancel the upload after 10 seconds
dataItemOpts: {
// optional
},
events: {
// overall events (includes signing and upload events)
onProgress: ({ totalBytes, processedBytes, step }) => {
const percentComplete = (processedBytes / totalBytes) * 100;
console.log('Overall progress:', {
totalBytes,
processedBytes,
step,
percentComplete: percentComplete.toFixed(2) + '%', // eg 50.68%
});
},
onError: (error) => {
console.log('Overall error:', { error });
},
onSuccess: () => {
console.log('Signed and upload data item!');
},
// upload events
onUploadProgress: ({ totalBytes, processedBytes }) => {
console.log('Upload progress:', { totalBytes, processedBytes });
},
onUploadError: (error) => {
console.log('Upload error:', { error });
},
onUploadSuccess: () => {
console.log('Upload success!');
},
// signing events
onSigningProgress: ({ totalBytes, processedBytes }) => {
console.log('Signing progress:', { totalBytes, processedBytes });
},
onSigningError: (error) => {
console.log('Signing error:', { error });
},
onSigningSuccess: () => {
console.log('Signing success!');
},
},
});How is this guide?