This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { useCallback, useEffect, useRef } from 'react' | |
import dedent from 'ts-dedent' | |
export interface IOptions extends Omit<WorkerOptions, 'type'> { | |
mimeType?: BlobPropertyBag['type'] | |
workerType?: WorkerOptions['type'] | |
} | |
export type IFunc<R, P = any> = (...args: P[]) => R | Promise<R> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Workaround for NX's lack of ESM support | |
* | |
* See the following issues: | |
* - {@link https://github.com/nrwl/nx/issues/16776 require() of ES Module executor.js ... not supported with custom plugin using es2015 module #16776 } | |
* - {@link https://github.com/nrwl/nx/issues/15682 ESM Support for Nx Plugins #15682} | |
* | |
* @type {<T, P = PromiseLike<T>>(module: string) => P} | |
*/ | |
const requireEsm = async module => { |