Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@filerobot/utils / types / index.d.ts
Size: Mime:
declare module '@filerobot/utils/lib/Translator' {
  namespace Translator {
    export interface Locale {
      strings?: {
        [key: string]: string | { [plural: number]: string }
      }
      pluralize?: (n: number) => number
    }
  }

  class Translator {
    constructor (opts: Translator.Locale | Translator.Locale[])
  }

  export = Translator
}

declare module '@filerobot/utils/lib/EventTracker' {
  namespace EventTracker {
    export type EventHandler = (...args: any[]) => void
    export interface Emitter {
      on: (event: string, handler: EventHandler) => void
      off: (event: string, handler: EventHandler) => void
    }
  }

  class EventTracker {
    constructor (emitter: EventTracker.Emitter)
    on (event: string, handler: EventTracker.EventHandler): void
    remove (): void
  }

  export = EventTracker
}

declare module '@filerobot/utils/lib/ProgressTimeout' {
  class ProgressTimeout {
    constructor (timeout: number, timeoutHandler: () => void)
    progress (): void
    done (): void
  }
  export = ProgressTimeout
}

declare module '@filerobot/utils/lib/RateLimitedQueue' {
  namespace RateLimitedQueue {
    export type AbortFunction = () => void
    export type PromiseFunction = (...args: any[]) => Promise<any>
    export type QueueEntry = {
      abort: () => void,
      done: () => void,
    }
    export type QueueOptions = {
      priority?: number
    }
  }

  class RateLimitedQueue {
    constructor(limit: number)
    run(
      fn: () => RateLimitedQueue.AbortFunction,
      queueOptions?: RateLimitedQueue.QueueOptions
    ): RateLimitedQueue.QueueEntry
    wrapPromiseFunction(
      fn: () => RateLimitedQueue.PromiseFunction,
      queueOptions?: RateLimitedQueue.QueueOptions
    ): RateLimitedQueue.PromiseFunction
  }

  export = RateLimitedQueue
}

declare module '@filerobot/utils/lib/canvasToBlob' {
  function canvasToBlob (
    canvas: HTMLCanvasElement,
    type: string,
    quality?: number
  ): Promise<Blob>
  export = canvasToBlob
}

declare module '@filerobot/utils/lib/dataURItoBlob' {
  function dataURItoBlob (
    dataURI: string,
    opts: { mimeType?: string; name?: string }
  ): Blob
  export = dataURItoBlob
}

declare module '@filerobot/utils/lib/dataURItoFile' {
  function dataURItoFile (
    dataURI: string,
    opts: { mimeType?: string; name?: string }
  ): File
  export = dataURItoFile
}

declare module '@filerobot/utils/lib/emitSocketProgress' {
  import FilerobotUtils = require('@filerobot/utils')

  interface ProgressData {
    progress: number
    bytesFinished: number
    bytesTotal: number
  }

  function emitSocketProgress (
    filerobot: object,
    progressData: ProgressData,
    file: FilerobotUtils.FilerobotFile
  ): void
  export = emitSocketProgress
}

declare module '@filerobot/utils/lib/findAllDOMElements' {
  function findAllDOMElements (element: string | HTMLElement): HTMLElement[]
  export = findAllDOMElements
}

declare module '@filerobot/utils/lib/findDOMElement' {
  function findDOMElement (element: string | HTMLElement): HTMLElement | null
  export = findDOMElement
}

declare module '@filerobot/utils/lib/generateFileId' {
  import FilerobotUtils = require('@filerobot/utils')

  function generateFileId (file: FilerobotUtils.FilerobotFile): string
  export = generateFileId
}

declare module '@filerobot/utils/lib/getBytesRemaining' {
  function getBytesRemaining (files): number
  export = getBytesRemaining
}

declare module '@filerobot/utils/lib/getETA' {
  function getETA (progress: object): number
  export = getETA
}

declare module '@filerobot/utils/lib/getFileNameAndExtension' {
  function getFileNameAndExtension(
    filename: string
  ): { name: string, extension: string | undefined }
  export = getFileNameAndExtension
}

declare module '@filerobot/utils/lib/getFileType' {
  import FilerobotUtils = require('@filerobot/utils')

  function getFileType (file: FilerobotUtils.FilerobotFile): string | null
  export = getFileType
}

declare module '@filerobot/utils/lib/getFileTypeExtension' {
  function getFileTypeExtension (mime: string): string
  export = getFileTypeExtension
}

declare module '@filerobot/utils/lib/getSocketHost' {
  function getSocketHost (url: string): string
  export = getSocketHost
}

declare module '@filerobot/utils/lib/getSpeed' {
  function getSpeed (progress: {
    bytesTotal: number
    bytesFinished: number
  }): number
  export = getSpeed
}

declare module '@filerobot/utils/lib/getTimeStamp' {
  function getTimeStamp (): string
  export = getTimeStamp
}

declare module '@filerobot/utils/lib/isDOMElement' {
  function isDOMElement (element: any): boolean
  export = isDOMElement
}

declare module '@filerobot/utils/lib/isObjectURL' {
  function isObjectURL (url: string): boolean
  export = isObjectURL
}

declare module '@filerobot/utils/lib/isDragDropSupported' {
  function isDragDropSupported (): boolean
  export = isDragDropSupported
}

declare module '@filerobot/utils/lib/isPreviewSupported' {
  function isPreviewSupported (mime: string): boolean
  export = isPreviewSupported
}

declare module '@filerobot/utils/lib/isTouchDevice' {
  function isTouchDevice (): boolean
  export = isTouchDevice
}

declare module '@filerobot/utils/lib/prettyETA' {
  function prettyETA (seconds: number): string
  export = prettyETA
}

declare module '@filerobot/utils/lib/secondsToTime' {
  function secondsToTime (seconds: number): string
  export = secondsToTime
}

declare module '@filerobot/utils/lib/settle' {
  function settle<T> (
    promises: Promise<T>[]
  ): Promise<{ successful: T[]; failed: any[] }>
  export = settle
}

declare module '@filerobot/utils/lib/toArray' {
  function toArray (list: any): any[]
  export = toArray
}

declare module '@filerobot/utils/lib/getDroppedFiles' {
  function getDroppedFiles (
    dataTransfer: DataTransfer,
    options?: object
  ): Promise<File[]>
  export = getDroppedFiles
}

declare module '@filerobot/utils' {
  interface IndexedObject<T> {
    [key: string]: T
    [key: number]: T
  }
  export type InternalMetadata = { name: string; type?: string }
  export interface FilerobotFile<
    TMeta = IndexedObject<any>,
    TBody = IndexedObject<any>
  > {
    data: Blob | File
    extension: string
    id: string
    isRemote: boolean
    meta: InternalMetadata & TMeta
    name: string
    preview?: string
    progress?: {
      activity: string
      startedAt: number | null
      percentage: number
      bytesFinished: number
      bytesTotal: number
      status: string
    }
    remote?: {
      host: string
      url: string
      body?: object
    }
    size: number
    source?: string
    type?: string
    response?: {
      body: TBody
      status: number
      uploadURL: string | undefined
    }
  }
  export interface Store {
    getState (): object
    setState (patch: object): void
    subscribe (listener: any): () => void
  }
}