Skip to content

Enums

Status

typescript
/** Before v2.1.1, file and chunk shared the same status enum */

enum Status {
  /** File initial state */
  Init = 'init',

  /** Calculating hash (reading the file) */
  Reading = 'reading',

  /**
   * 1. File hash calculation completed
   * 2. Initial state for chunk is Ready
   */
  Ready = 'ready',

  /** 1. Chunk request has been initiated, Promise is in Pending state */
  Pending = 'pending',

  /**
   * 1. File is uploading
   * 2. Chunk is uploading
   */
  Uploading = 'uploading',

  /** All chunks of the file have been uploaded, ready to merge */
  UploadSuccess = 'uploadSuccess',

  /** All chunks have been requested, but after retries some still failed */
  UploadFail = 'uploadFail',

  /**
   * 1. File merge successful
   * 2. Chunk upload successful
   */
  Success = 'success',

  /**
   * 1. File merge failed
   * 2. Chunk upload failed after all retries
   */
  Fail = 'fail',

  /** Paused state */
  Pause = 'pause',

  /** Resumed state */
  Resume = 'resume'
}

WARNING

After version 2.2.0, this enum is split into FileStatus and ChunkStatus

Events

typescript
export const Events = {
  Exceed: 'exceed',
  FilesAdded: 'filesAdded',
  FileChange: 'fileChange',
  FileRemove: 'fileRemove',
  FileProgress: 'fileProgress',
  FileFail: 'fileFail',
  FileUploadFail: 'fileUploadFail',
  FileUploadSuccess: 'fileUploadSuccess',
  FileSuccess: 'fileSuccess',
  // FileMergeFail: 'fileMergeFail', // Removed in 2.x
  AllFileSuccess: 'allFilesSuccess',
  Change: 'change'
}

WARNING

From version 2.2.0, Events has been abstracted as Callbacks

FileStatus

typescript
enum FileStatus {
  /** File initial state */
  Init = 'init',

  /** File failed to add. If beforeAdd allows failed files, they'll appear with AddFail status */
  AddFail = 'addFail',

  /** File is being read (calculating hash) */
  Reading = 'reading',

  /** File hash calculation completed; ready for upload */
  Ready = 'ready',

  /** `checkRequest` exists but failed */
  CheckFail = 'checkFail',

  /** File is uploading */
  Uploading = 'uploading',

  /** All chunks uploaded; ready to merge file */
  UploadSuccess = 'uploadSuccess',

  /** File upload failed; some chunks failed */
  UploadFail = 'uploadFail',

  /** File upload and merge both succeeded */
  Success = 'success',

  /** File merge failed */
  Fail = 'fail',

  /** File upload paused */
  Pause = 'pause',

  /** File upload resumed */
  Resume = 'resume'
}

ChunkStatus

typescript
enum ChunkStatus {
  /** Initial state of chunk is Ready */
  Ready = 'ready',

  /** Chunk request created successfully, Promise is pending */
  Pending = 'pending',

  /** Chunk is uploading */
  Uploading = 'uploading',

  /** Chunk uploaded successfully */
  Success = 'success',

  /** Chunk upload failed after all retries */
  Fail = 'fail'
}

Callbacks

typescript
// Callback function names
enum Callbacks {
  /** File count exceeds limit */
  Exceed = 'exceed',

  /** Single file added successfully */
  FileAdded = 'fileAdded',

  /** File failed to add */
  FileAddFail = 'fileAddFail',

  /** All files added successfully */
  FilesAdded = 'filesAdded',

  /** File status changed */
  FileChange = 'fileChange',

  /** File removed */
  FileRemove = 'fileRemove',

  /** File hash calculation started */
  FileReadStart = 'fileReadStart',

  /** File hash calculation progress */
  FileReadProgress = 'fileReadProgress',

  /** File hash calculation completed */
  FileReadEnd = 'fileReadEnd',

  /** File hash calculation failed */
  FileReadFail = 'fileReadFail',

  /** File upload progress */
  FileProgress = 'fileProgress',

  /** File uploaded successfully */
  FileUploadSuccess = 'fileUploadSuccess',

  /** File upload failed */
  FileUploadFail = 'fileUploadFail',

  /** File merged successfully */
  FileSuccess = 'fileSuccess',

  /** File merge failed */
  FileFail = 'fileFail',

  /** All files uploaded successfully */
  AllFileSuccess = 'allFileSuccess'
}

CheckStatus

typescript
// File upload check status
enum CheckStatus {
  /** File has not been uploaded */
  None = 'none',

  /**
   * 1. Partial chunks uploaded
   * 2. Returned with indices of uploaded chunks
   */
  Part = 'part',

  /** Ready to merge; can proceed with merge operation */
  WaitMerge = 'waitMerge',

  /** Upload successful, returns OBS URL */
  Success = 'success'
}

ProcessType

typescript
// File upload process type
enum ProcessType {
  /** From check API */
  Check = 'check',

  /** From upload API */
  Upload = 'upload',

  /** From merge API */
  Merge = 'merge'
}

UserAttributes

typescript
type UserAttributes = {
  accept: string | string[]
  multiple: boolean
  [key: string]: any
}

Released under the MIT License.