@xylabs/threads 4.0.1 → 4.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/common.d.ts +1 -1
  2. package/dist/esm/types/master.js +0 -1
  3. package/dist/master/implementation.browser.d.ts +1 -1
  4. package/dist/master/implementation.node.d.ts +1 -1
  5. package/dist/master/index.d.ts +1 -2
  6. package/dist/master/invocation-proxy.d.ts +1 -1
  7. package/dist/master/pool-types.d.ts +1 -1
  8. package/dist/master/pool.d.ts +2 -1
  9. package/dist/master/spawn.d.ts +2 -2
  10. package/dist/master/thread.d.ts +2 -2
  11. package/dist/observable-promise.d.ts +2 -1
  12. package/dist/observable.d.ts +2 -1
  13. package/dist/types/master.d.ts +4 -4
  14. package/dist/types/master.js +0 -1
  15. package/dist/worker/implementation.d.ts +1 -1
  16. package/dist/worker/index.d.ts +1 -1
  17. package/package.json +5 -5
  18. package/src/common.ts +2 -1
  19. package/src/master/implementation.browser.ts +1 -1
  20. package/src/master/implementation.node.ts +3 -2
  21. package/src/master/index.ts +1 -3
  22. package/src/master/invocation-proxy.ts +5 -4
  23. package/src/master/pool-types.ts +1 -1
  24. package/src/master/pool.ts +2 -1
  25. package/src/master/spawn.ts +6 -5
  26. package/src/master/thread.ts +2 -2
  27. package/src/observable-promise.ts +2 -1
  28. package/src/observable.ts +2 -1
  29. package/src/serializers.ts +1 -1
  30. package/src/types/master.ts +4 -4
  31. package/src/worker/implementation.browser.ts +1 -1
  32. package/src/worker/implementation.tiny-worker.ts +1 -1
  33. package/src/worker/implementation.ts +1 -1
  34. package/src/worker/implementation.worker_threads.ts +2 -2
  35. package/src/worker/index.ts +8 -6
  36. package/test/lib/serialization.ts +1 -1
  37. package/test/pool.test.ts +2 -1
  38. package/test/spawn.test.ts +2 -2
  39. package/test/transferables.test.ts +1 -1
  40. package/types/is-observable.d.ts +1 -1
package/dist/common.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { JsonSerializable, SerializerImplementation } from './serializers';
1
+ import type { JsonSerializable, SerializerImplementation } from './serializers';
2
2
  export declare function registerSerializer(serializer: SerializerImplementation<JsonSerializable>): void;
3
3
  export declare function deserialize(message: JsonSerializable): any;
4
4
  export declare function serialize(input: any): JsonSerializable;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WorkerEventType = void 0;
4
- const symbols_1 = require("../symbols");
5
4
  var WorkerEventType;
6
5
  (function (WorkerEventType) {
7
6
  WorkerEventType["internalError"] = "internalError";
@@ -1,4 +1,4 @@
1
- import { ImplementationExport } from '../types/master';
1
+ import type { ImplementationExport } from '../types/master';
2
2
  export declare const defaultPoolSize: number;
3
3
  export declare function getWorkerImplementation(): ImplementationExport;
4
4
  export declare function isWorkerRuntime(): boolean;
@@ -1,4 +1,4 @@
1
- import { ImplementationExport } from '../types/master';
1
+ import type { ImplementationExport } from '../types/master';
2
2
  export declare const defaultPoolSize: number;
3
3
  export declare function getWorkerImplementation(): ImplementationExport;
4
4
  export declare function isWorkerRuntime(): boolean;
@@ -1,5 +1,4 @@
1
- import type { BlobWorker as BlobWorkerClass } from '../types/master';
2
- import { Worker as WorkerType } from '../types/master';
1
+ import type { BlobWorker as BlobWorkerClass, Worker as WorkerType } from '../types/master';
3
2
  export { FunctionThread, ModuleThread } from '../types/master';
4
3
  export { Pool } from './pool';
5
4
  export { spawn } from './spawn';
@@ -1,3 +1,3 @@
1
- import { ModuleMethods, ModuleProxy, ProxyableFunction, Worker as WorkerType } from '../types/master';
1
+ import type { ModuleMethods, ModuleProxy, ProxyableFunction, Worker as WorkerType } from '../types/master';
2
2
  export declare function createProxyFunction<Args extends any[], ReturnType>(worker: WorkerType, method?: string): ProxyableFunction<Args, ReturnType>;
3
3
  export declare function createProxyModule<Methods extends ModuleMethods>(worker: WorkerType, methodNames: string[]): ModuleProxy<Methods>;
@@ -1,4 +1,4 @@
1
- import { Thread } from './thread';
1
+ import type { Thread } from './thread';
2
2
  export declare enum PoolEventType {
3
3
  initialized = "initialized",
4
4
  taskCanceled = "taskCanceled",
@@ -1,5 +1,6 @@
1
1
  import { Observable } from 'observable-fns';
2
- import { PoolEvent, PoolEventType, QueuedTask, TaskRunFunction } from './pool-types';
2
+ import type { PoolEvent, QueuedTask, TaskRunFunction } from './pool-types';
3
+ import { PoolEventType } from './pool-types';
3
4
  import { Thread } from './thread';
4
5
  export declare namespace Pool {
5
6
  type Event<ThreadType extends Thread = any> = PoolEvent<ThreadType>;
@@ -1,5 +1,5 @@
1
- import { FunctionThread, ModuleThread, StripAsync, Worker as WorkerType } from '../types/master';
2
- import { WorkerFunction, WorkerModule } from '../types/worker';
1
+ import type { FunctionThread, ModuleThread, StripAsync, Worker as WorkerType } from '../types/master';
2
+ import type { WorkerFunction, WorkerModule } from '../types/worker';
3
3
  type ArbitraryWorkerInterface = WorkerFunction & WorkerModule<string> & {
4
4
  somekeythatisneverusedinproductioncode123: 'magicmarker123';
5
5
  };
@@ -1,5 +1,5 @@
1
- import { Observable } from 'observable-fns';
2
- import { Thread as ThreadType, WorkerEvent } from '../types/master';
1
+ import type { Observable } from 'observable-fns';
2
+ import type { Thread as ThreadType, WorkerEvent } from '../types/master';
3
3
  export type Thread = ThreadType;
4
4
  export declare const Thread: {
5
5
  errors<ThreadT extends ThreadType>(thread: ThreadT): Observable<Error>;
@@ -1,4 +1,5 @@
1
- import { Observable, ObservableLike, SubscriptionObserver } from 'observable-fns';
1
+ import type { ObservableLike, SubscriptionObserver } from 'observable-fns';
2
+ import { Observable } from 'observable-fns';
2
3
  type Initializer<T> = (observer: SubscriptionObserver<T>) => UnsubscribeFn | void;
3
4
  type Thenable<T> = {
4
5
  then: (onFulfilled?: (value: T) => any, onRejected?: (error: any) => any) => any;
@@ -1,4 +1,5 @@
1
- import { Observable, ObservableLike } from 'observable-fns';
1
+ import type { ObservableLike } from 'observable-fns';
2
+ import { Observable } from 'observable-fns';
2
3
  declare const $observers: unique symbol;
3
4
  export declare class Subject<T> extends Observable<T> implements ObservableLike<T> {
4
5
  private [$observers];
@@ -1,7 +1,7 @@
1
- import { Observable } from 'observable-fns';
2
- import { ObservablePromise } from '../observable-promise';
3
- import { $errors, $events, $terminate, $worker } from '../symbols';
4
- import { TransferDescriptor } from '../transferable';
1
+ import type { Observable } from 'observable-fns';
2
+ import type { ObservablePromise } from '../observable-promise';
3
+ import type { $errors, $events, $terminate, $worker } from '../symbols';
4
+ import type { TransferDescriptor } from '../transferable';
5
5
  interface ObservableLikeSubscription {
6
6
  unsubscribe(): any;
7
7
  }
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WorkerEventType = void 0;
4
- const symbols_1 = require("../symbols");
5
4
  var WorkerEventType;
6
5
  (function (WorkerEventType) {
7
6
  WorkerEventType["internalError"] = "internalError";
@@ -1,3 +1,3 @@
1
- import { AbstractedWorkerAPI } from '../types/worker';
1
+ import type { AbstractedWorkerAPI } from '../types/worker';
2
2
  declare const _default: AbstractedWorkerAPI;
3
3
  export default _default;
@@ -1,4 +1,4 @@
1
- import { WorkerFunction, WorkerModule } from '../types/worker';
1
+ import type { WorkerFunction, WorkerModule } from '../types/worker';
2
2
  export { registerSerializer } from '../common';
3
3
  export { Transfer } from '../transferable';
4
4
  export declare const isWorkerRuntime: () => boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xylabs/threads",
3
- "version": "4.0.1",
3
+ "version": "4.0.2",
4
4
  "description": "Web workers & worker threads as simple as a function call",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -69,7 +69,7 @@
69
69
  },
70
70
  "author": "Andy Wermke (https://github.com/andywer)",
71
71
  "bugs": {
72
- "url": "https://github.com/andywer/threads.js/issues"
72
+ "url": "git+https://github.com/andywer/threads.js/issues"
73
73
  },
74
74
  "funding": "https://github.com/andywer/threads.js?sponsor=1",
75
75
  "homepage": "https://threads.js.org",
@@ -96,17 +96,17 @@
96
96
  "@types/chai": "^4.3.17",
97
97
  "@types/debug": "^4.1.12",
98
98
  "@types/execa": "^2.0.0",
99
- "@types/node": "^22.2.0",
99
+ "@types/node": "^22.4.0",
100
100
  "@types/webpack": "^5.28.5",
101
101
  "ava": "^6.1.3",
102
102
  "chai": "^5.1.1",
103
103
  "cross-env": "^7.0.3",
104
- "execa": "^9.3.0",
104
+ "execa": "^9.3.1",
105
105
  "mocha": "^10.7.3",
106
106
  "puppet-run": "^0.11.4",
107
107
  "puppet-run-plugin-mocha": "^0.1.1",
108
108
  "raw-loader": "^4.0.2",
109
- "rimraf": "^5.0.10",
109
+ "rimraf": "^6.0.1",
110
110
  "rollup": "^4.20.0",
111
111
  "threads-plugin": "^1.4.0",
112
112
  "tiny-worker": "^2.3.0",
package/src/common.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { DefaultSerializer, extendSerializer, JsonSerializable, Serializer, SerializerImplementation } from './serializers'
2
+ import type { JsonSerializable, Serializer, SerializerImplementation } from './serializers'
3
+ import { DefaultSerializer, extendSerializer } from './serializers'
3
4
 
4
5
  let registeredSerializer: Serializer<JsonSerializable> = DefaultSerializer
5
6
 
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable import-x/no-internal-modules */
2
2
  // tslint:disable max-classes-per-file
3
3
 
4
- import { ImplementationExport, ThreadsWorkerOptions } from '../types/master'
4
+ import type { ImplementationExport, ThreadsWorkerOptions } from '../types/master'
5
5
  import { getBundleURL } from './get-bundle-url.browser'
6
6
 
7
7
  export const defaultPoolSize = typeof navigator !== 'undefined' && navigator.hardwareConcurrency ? navigator.hardwareConcurrency : 4
@@ -15,9 +15,10 @@ import { cpus } from 'node:os'
15
15
  import path from 'node:path'
16
16
  import { fileURLToPath } from 'node:url'
17
17
 
18
- import getCallsites, { CallSite } from 'callsites-3-1-0'
18
+ import type { CallSite } from 'callsites-3-1-0'
19
+ import getCallsites from 'callsites-3-1-0'
19
20
 
20
- import { ImplementationExport, ThreadsWorkerOptions, WorkerImplementation } from '../types/master'
21
+ import type { ImplementationExport, ThreadsWorkerOptions, WorkerImplementation } from '../types/master'
21
22
 
22
23
  interface WorkerGlobalScope {
23
24
  addEventListener(eventName: string, listener: (event: Event) => void): void
@@ -1,7 +1,5 @@
1
1
  /* eslint-disable import-x/no-internal-modules */
2
- // tslint:disable no-duplicate-imports
3
- import type { BlobWorker as BlobWorkerClass } from '../types/master'
4
- import { Worker as WorkerType } from '../types/master'
2
+ import type { BlobWorker as BlobWorkerClass, Worker as WorkerType } from '../types/master'
5
3
  import { getWorkerImplementation } from './implementation'
6
4
 
7
5
  export { FunctionThread, ModuleThread } from '../types/master'
@@ -13,14 +13,15 @@ import { multicast, Observable } from 'observable-fns'
13
13
  import { deserialize, serialize } from '../common'
14
14
  import { ObservablePromise } from '../observable-promise'
15
15
  import { isTransferDescriptor } from '../transferable'
16
- import { ModuleMethods, ModuleProxy, ProxyableFunction, Worker as WorkerType } from '../types/master'
17
- import {
16
+ import type { ModuleMethods, ModuleProxy, ProxyableFunction, Worker as WorkerType } from '../types/master'
17
+ import type {
18
18
  MasterJobCancelMessage,
19
19
  MasterJobRunMessage,
20
- MasterMessageType,
21
20
  WorkerJobErrorMessage,
22
21
  WorkerJobResultMessage,
23
- WorkerJobStartMessage,
22
+ WorkerJobStartMessage } from '../types/messages'
23
+ import {
24
+ MasterMessageType,
24
25
  WorkerMessageType,
25
26
  } from '../types/messages'
26
27
 
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  /* eslint-disable @typescript-eslint/member-ordering */
3
- import { Thread } from './thread'
3
+ import type { Thread } from './thread'
4
4
 
5
5
  /** Pool event type. Specifies the type of each `PoolEvent`. */
6
6
  export enum PoolEventType {
@@ -12,7 +12,8 @@ import { multicast, Observable, Subject } from 'observable-fns'
12
12
 
13
13
  import { allSettled } from '../ponyfills'
14
14
  import { defaultPoolSize } from './implementation'
15
- import { PoolEvent, PoolEventType, QueuedTask, TaskRunFunction, WorkerDescriptor } from './pool-types'
15
+ import type { PoolEvent, QueuedTask, TaskRunFunction, WorkerDescriptor } from './pool-types'
16
+ import { PoolEventType } from './pool-types'
16
17
  import { Thread } from './thread'
17
18
 
18
19
  export declare namespace Pool {
@@ -7,20 +7,21 @@ import { Observable } from 'observable-fns'
7
7
  import { deserialize } from '../common'
8
8
  import { createPromiseWithResolver } from '../promise'
9
9
  import { $errors, $events, $terminate, $worker } from '../symbols'
10
- import {
10
+ import type {
11
11
  FunctionThread,
12
12
  ModuleThread,
13
13
  PrivateThreadProps,
14
14
  StripAsync,
15
15
  Worker as WorkerType,
16
16
  WorkerEvent,
17
- WorkerEventType,
18
17
  WorkerInternalErrorEvent,
19
18
  WorkerMessageEvent,
20
- WorkerTerminationEvent,
19
+ WorkerTerminationEvent } from '../types/master'
20
+ import {
21
+ WorkerEventType,
21
22
  } from '../types/master'
22
- import { WorkerInitMessage, WorkerUncaughtErrorMessage } from '../types/messages'
23
- import { WorkerFunction, WorkerModule } from '../types/worker'
23
+ import type { WorkerInitMessage, WorkerUncaughtErrorMessage } from '../types/messages'
24
+ import type { WorkerFunction, WorkerModule } from '../types/worker'
24
25
  import { createProxyFunction, createProxyModule } from './invocation-proxy'
25
26
 
26
27
  type ArbitraryWorkerInterface = WorkerFunction & WorkerModule<string> & { somekeythatisneverusedinproductioncode123: 'magicmarker123' }
@@ -1,8 +1,8 @@
1
1
  /* eslint-disable import-x/no-internal-modules */
2
- import { Observable } from 'observable-fns'
2
+ import type { Observable } from 'observable-fns'
3
3
 
4
4
  import { $errors, $events, $terminate } from '../symbols'
5
- import { Thread as ThreadType, WorkerEvent } from '../types/master'
5
+ import type { Thread as ThreadType, WorkerEvent } from '../types/master'
6
6
 
7
7
  function fail(message: string): never {
8
8
  throw new Error(message)
@@ -5,7 +5,8 @@
5
5
  /* eslint-disable @typescript-eslint/no-explicit-any */
6
6
  /* eslint-disable @typescript-eslint/no-this-alias */
7
7
  /* eslint-disable unicorn/no-this-assignment */
8
- import { Observable, ObservableLike, SubscriptionObserver } from 'observable-fns'
8
+ import type { ObservableLike, SubscriptionObserver } from 'observable-fns'
9
+ import { Observable } from 'observable-fns'
9
10
 
10
11
  type OnFulfilled<T, Result = void> = (value: T) => Result
11
12
  type OnRejected<Result = void> = (error: Error) => Result
package/src/observable.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { Observable, ObservableLike, SubscriptionObserver } from 'observable-fns'
2
+ import type { ObservableLike, SubscriptionObserver } from 'observable-fns'
3
+ import { Observable } from 'observable-fns'
3
4
 
4
5
  const $observers = Symbol('observers')
5
6
 
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable import-x/no-internal-modules */
2
2
  /* eslint-disable @typescript-eslint/no-explicit-any */
3
- import { SerializedError } from './types/messages'
3
+ import type { SerializedError } from './types/messages'
4
4
 
5
5
  export interface Serializer<Msg = JsonSerializable, Input = any> {
6
6
  deserialize(message: Msg): Input
@@ -4,11 +4,11 @@
4
4
 
5
5
  // Cannot use `compilerOptions.esModuleInterop` and default import syntax
6
6
  // See <https://github.com/microsoft/TypeScript/issues/28009>
7
- import { Observable } from 'observable-fns'
7
+ import type { Observable } from 'observable-fns'
8
8
 
9
- import { ObservablePromise } from '../observable-promise'
10
- import { $errors, $events, $terminate, $worker } from '../symbols'
11
- import { TransferDescriptor } from '../transferable'
9
+ import type { ObservablePromise } from '../observable-promise'
10
+ import type { $errors, $events, $terminate, $worker } from '../symbols'
11
+ import type { TransferDescriptor } from '../transferable'
12
12
 
13
13
  interface ObservableLikeSubscription {
14
14
  unsubscribe(): any
@@ -3,7 +3,7 @@
3
3
  /// <reference lib="dom" />
4
4
  // tslint:disable no-shadowed-variable
5
5
 
6
- import { AbstractedWorkerAPI } from '../types/worker'
6
+ import type { AbstractedWorkerAPI } from '../types/worker'
7
7
 
8
8
  interface WorkerGlobalScope {
9
9
  addEventListener(eventName: string, listener: (event: Event) => void): void
@@ -3,7 +3,7 @@
3
3
  /// <reference lib="dom" />
4
4
  // tslint:disable no-shadowed-variable
5
5
 
6
- import { AbstractedWorkerAPI } from '../types/worker'
6
+ import type { AbstractedWorkerAPI } from '../types/worker'
7
7
 
8
8
  interface WorkerGlobalScope {
9
9
  addEventListener(eventName: string, listener: (event: Event) => void): void
@@ -4,7 +4,7 @@
4
4
  * This file is only a stub to make './implementation' resolve to the right module.
5
5
  */
6
6
 
7
- import { AbstractedWorkerAPI } from '../types/worker'
7
+ import type { AbstractedWorkerAPI } from '../types/worker'
8
8
  import WebWorkerImplementation from './implementation.browser'
9
9
  import TinyWorkerImplementation from './implementation.tiny-worker'
10
10
  import WorkerThreadsImplementation from './implementation.worker_threads'
@@ -1,9 +1,9 @@
1
1
  /* eslint-disable import-x/no-internal-modules */
2
2
  /* eslint-disable @typescript-eslint/no-explicit-any */
3
3
  // tslint:disable no-shadowed-variable
4
- import { MessagePort } from 'node:worker_threads'
4
+ import type { MessagePort } from 'node:worker_threads'
5
5
 
6
- import { AbstractedWorkerAPI } from '../types/worker'
6
+ import type { AbstractedWorkerAPI } from '../types/worker'
7
7
  import WorkerThreads from '../worker_threads'
8
8
 
9
9
  function assertMessagePort(port: MessagePort | null | undefined): MessagePort {
@@ -2,23 +2,25 @@
2
2
  /* eslint-disable @typescript-eslint/no-explicit-any */
3
3
  /* eslint-disable @typescript-eslint/no-floating-promises */
4
4
  import isSomeObservable from 'is-observable-2-1-0'
5
- import { Observable, Subscription } from 'observable-fns'
5
+ import type { Observable, Subscription } from 'observable-fns'
6
6
 
7
7
  import { deserialize, serialize } from '../common'
8
- import { isTransferDescriptor, TransferDescriptor } from '../transferable'
9
- import {
8
+ import type { TransferDescriptor } from '../transferable'
9
+ import { isTransferDescriptor } from '../transferable'
10
+ import type {
10
11
  MasterJobCancelMessage,
11
12
  MasterJobRunMessage,
12
- MasterMessageType,
13
13
  SerializedError,
14
14
  WorkerInitMessage,
15
15
  WorkerJobErrorMessage,
16
16
  WorkerJobResultMessage,
17
17
  WorkerJobStartMessage,
18
+ WorkerUncaughtErrorMessage } from '../types/messages'
19
+ import {
20
+ MasterMessageType,
18
21
  WorkerMessageType,
19
- WorkerUncaughtErrorMessage,
20
22
  } from '../types/messages'
21
- import { WorkerFunction, WorkerModule } from '../types/worker'
23
+ import type { WorkerFunction, WorkerModule } from '../types/worker'
22
24
  import Implementation from './implementation'
23
25
 
24
26
  export { registerSerializer } from '../common'
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
 
3
- import { JsonSerializable, SerializerImplementation } from '../../src/index'
3
+ import type { JsonSerializable, SerializerImplementation } from '../../src/index'
4
4
 
5
5
  export class Foo<T> {
6
6
  private readonly value: T
package/test/pool.test.ts CHANGED
@@ -7,7 +7,8 @@
7
7
  import test from 'ava'
8
8
 
9
9
  import { Pool, spawn, Worker } from '../src/index'
10
- import { PoolEventType, QueuedTask } from '../src/master/pool'
10
+ import type { QueuedTask } from '../src/master/pool'
11
+ import { PoolEventType } from '../src/master/pool'
11
12
 
12
13
  const workerPath = './workers/hello-world'
13
14
  const HELLO_WORLD = 'Hello World'
@@ -2,10 +2,10 @@
2
2
 
3
3
  /* eslint-disable @typescript-eslint/no-explicit-any */
4
4
  import test from 'ava'
5
- import { Observable } from 'observable-fns'
5
+ import type { Observable } from 'observable-fns'
6
6
 
7
7
  import { spawn, Thread, Worker } from '../src/index'
8
- import { Counter } from './workers/counter'
8
+ import type { Counter } from './workers/counter'
9
9
 
10
10
  test('can spawn and terminate a thread', async (t) => {
11
11
  // We also test here that running spawn() without type parameters works
@@ -5,7 +5,7 @@
5
5
  import test from 'ava'
6
6
 
7
7
  import { spawn, Thread, Transfer, Worker } from '../src/index'
8
- import { XorBuffer } from './workers/arraybuffer-xor'
8
+ import type { XorBuffer } from './workers/arraybuffer-xor'
9
9
 
10
10
  type SpyInit<Args extends any[], OriginalReturn, NewReturn> = (originalFn: (...args: Args) => OriginalReturn) => (...args: Args) => NewReturn
11
11
 
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  declare module 'is-observable-2-1-0' {
3
- import { Observable } from 'observable-fns'
3
+ import type { Observable } from 'observable-fns'
4
4
 
5
5
  function isObservable(thing: any): thing is Observable<any>
6
6
  export = isObservable