Skip to content

⬅️ Back to Table of Contents

📄 index.ts

📊 Analysis Summary

Metric Count
🔧 Functions 3
📦 Imports 7
📐 Interfaces 1
📑 Type Aliases 2

📚 Table of Contents

🛠️ File Location:

📂 packages/core/useWebWorker/index.ts

📦 Imports

Name Source
Ref vue
ShallowRef vue
ConfigurableWindow ../_configurable
tryOnScopeDispose @vueuse/shared
deepRef vue
shallowRef vue
defaultWindow ../_configurable

Functions

useWebWorker(url: string, workerOptions: WorkerOptions, options: ConfigurableWindow): UseWebWorkerReturn<T>

Code
export function useWebWorker<T = any>(
  url: string,
  workerOptions?: WorkerOptions,
  options?: ConfigurableWindow,
): UseWebWorkerReturn<T>
  • JSDoc:

    /**
     * Simple Web Workers registration and communication.
     *
     * @see https://vueuse.org/useWebWorker
     * @param url
     * @param workerOptions
     * @param options
     */
    

  • Parameters:

  • url: string
  • workerOptions: WorkerOptions
  • options: ConfigurableWindow
  • Return Type: UseWebWorkerReturn<T>

post(args: any[]): void

Code
(...args) => {
    if (!worker.value)
      return

    worker.value.postMessage(...args as Parameters<PostMessage>)
  }
  • Parameters:
  • args: any[]
  • Return Type: void
  • Calls:
  • worker.value.postMessage

terminate(): void

Code
function terminate() {
    if (!worker.value)
      return

    worker.value.terminate()
  }
  • Return Type: void
  • Calls:
  • worker.value.terminate

Interfaces

UseWebWorkerReturn<Data = any>

Interface Code
export interface UseWebWorkerReturn<Data = any> {
  data: Ref<Data>
  post: PostMessage
  terminate: () => void
  worker: ShallowRef<Worker | undefined>
}

Properties

Name Type Optional Description
data Ref<Data>
post PostMessage
terminate () => void
worker ShallowRef<Worker | undefined>

Type Aliases

PostMessage

type PostMessage = typeof Worker.prototype['postMessage'];

WorkerFn

type WorkerFn = (...args: unknown[]) => Worker;