Fix documentation generation
authorJérôme Benoit <jerome.benoit@sap.com>
Fri, 21 Oct 2022 12:47:45 +0000 (14:47 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Fri, 21 Oct 2022 12:47:45 +0000 (14:47 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
14 files changed:
CHANGELOG.md
src/index.ts
src/pools/abstract-pool.ts
src/pools/cluster/dynamic.ts
src/pools/cluster/fixed.ts
src/pools/pool-internal.ts
src/pools/pool-worker.ts
src/pools/pool.ts
src/pools/thread/dynamic.ts
src/pools/thread/fixed.ts
src/worker/cluster-worker.ts
src/worker/thread-worker.ts
tsconfig.json
typedoc.json

index 8bc2947aab564a95ed25e3eebd65cd7a37e87b67..109deef4e012cb5f33b2661e30bbd1d9cec155b4 100644 (file)
@@ -12,6 +12,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 - Improve benchmarks: add IO intensive task workload, add task size option, integrate code into linter.
 - Optimize tasks usage lookup implementation.
 
+### Fixed
+
+- Fix missed pool event emitter type export.
+- Fix typedoc documentation generation.
+
 ## [2.3.4] - 2022-10-17
 
 ### Added
index 6c139a27950240a97fc69357f6094d5d765001b4..92ed93a11cf52c2fe27a8ca034a58c46d0755ca0 100644 (file)
@@ -1,11 +1,10 @@
 export { DynamicClusterPool } from './pools/cluster/dynamic'
 export { FixedClusterPool } from './pools/cluster/fixed'
 export type { ClusterPoolOptions } from './pools/cluster/fixed'
-export type { IPool, PoolOptions } from './pools/pool'
+export type { IPool, PoolEmitter, PoolOptions } from './pools/pool'
 export type {
   ErrorHandler,
   ExitHandler,
-  IPoolWorker,
   MessageHandler,
   OnlineHandler
 } from './pools/pool-worker'
@@ -14,7 +13,6 @@ export type { WorkerChoiceStrategy } from './pools/selection-strategies/selectio
 export { DynamicThreadPool } from './pools/thread/dynamic'
 export { FixedThreadPool } from './pools/thread/fixed'
 export type { ThreadWorkerWithMessageChannel } from './pools/thread/fixed'
-export { AbstractWorker } from './worker/abstract-worker'
 export { ClusterWorker } from './worker/cluster-worker'
 export { ThreadWorker } from './worker/thread-worker'
 export { KillBehaviors } from './worker/worker-options'
index 6393fe2eb599daa0971f5d66072a5c2f890737eb..1b10e03c01ed8d0ce2a82b94cdd327ebca8c25df 100644 (file)
@@ -5,8 +5,9 @@ import type {
 import { EMPTY_FUNCTION } from '../utils'
 import { isKillBehavior, KillBehaviors } from '../worker/worker-options'
 import type { PoolOptions } from './pool'
+import { PoolEmitter } from './pool'
 import type { IPoolInternal, TasksUsage } from './pool-internal'
-import { PoolEmitter, PoolType } from './pool-internal'
+import { PoolType } from './pool-internal'
 import type { IPoolWorker } from './pool-worker'
 import {
   WorkerChoiceStrategies,
index f18f375c34ebdf5ffa9d6d3a04b2116c34e6dcd8..3c077876f8ac49cf44477f840b864e89e63b980a 100644 (file)
@@ -8,8 +8,8 @@ import { FixedClusterPool } from './fixed'
  * This cluster pool creates new workers when the others are busy, up to the maximum number of workers.
  * When the maximum number of workers is reached, an event is emitted. If you want to listen to this event, use the pool's `emitter`.
  *
- * @template DataType of data sent to the worker. This can only be serializable data.
- * @template ResponseType of response of execution. This can only be serializable data.
+ * @template Data Type of data sent to the worker. This can only be serializable data.
+ * @template Response Type of response of execution. This can only be serializable data.
  * @author [Christopher Quadflieg](https://github.com/Shinigami92)
  * @since 2.0.0
  */
index 33d7f1c91fa5f057bfcb1ad70e7725a6a6910102..ce5a50a6251f291d2099fc54b7ead9ab602c0dad 100644 (file)
@@ -31,8 +31,8 @@ export interface ClusterPoolOptions extends PoolOptions<Worker> {
  *
  * This pool selects the workers in a round robin fashion.
  *
- * @template DataType of data sent to the worker. This can only be serializable data.
- * @template ResponseType of response of execution. This can only be serializable data.
+ * @template Data Type of data sent to the worker. This can only be serializable data.
+ * @template Response Type of response of execution. This can only be serializable data.
  * @author [Christopher Quadflieg](https://github.com/Shinigami92)
  * @since 2.0.0
  */
index 3f35ec13e25b79e67c3cb2c9084843adcbf63f99..470ccdd5938e04ac8585ddc1fb6afc906919d02e 100644 (file)
@@ -1,9 +1,8 @@
-import EventEmitter from 'events'
 import type { IPool } from './pool'
 import type { IPoolWorker } from './pool-worker'
 
 /**
- * Pool types.
+ * Internal pool types.
  */
 export enum PoolType {
   FIXED = 'fixed',
@@ -11,7 +10,7 @@ export enum PoolType {
 }
 
 /**
- * Tasks usage statistics.
+ * Internal tasks usage statistics.
  */
 export interface TasksUsage {
   run: number
@@ -20,11 +19,6 @@ export interface TasksUsage {
   avgRunTime: number
 }
 
-/**
- * Internal poolifier pool emitter.
- */
-export class PoolEmitter extends EventEmitter {}
-
 /**
  * Internal contract definition for a poolifier pool.
  *
@@ -50,15 +44,6 @@ export interface IPoolInternal<
    */
   readonly workersTasksUsage: Map<Worker, TasksUsage>
 
-  /**
-   * Emitter on which events can be listened to.
-   *
-   * Events that can currently be listened to:
-   *
-   * - `'busy'`
-   */
-  readonly emitter?: PoolEmitter
-
   /**
    * Pool type.
    *
index c89205ac93582b3dff2c1123285f09790edfb509..fdca80c8f1cdb49d9ac6eaea2dabfbbab1da675a 100644 (file)
@@ -1,12 +1,3 @@
-import type { Worker as ClusterWorker } from 'cluster'
-import type { Worker as WorkerThread } from 'worker_threads'
-import type { Draft } from '../utility-types'
-
-/**
- * Poolifier supported worker type.
- */
-export type WorkerType = WorkerThread & ClusterWorker & Draft<MessageChannel>
-
 /**
  * Callback invoked if the worker has received a message.
  */
index c6fbce43aba1d6a31d825a1eff80db8aae49ee12..78e7c981b6d9e25efb0c3af38d5cab2c4a3f6014 100644 (file)
@@ -1,3 +1,4 @@
+import EventEmitter from 'events'
 import type {
   ErrorHandler,
   ExitHandler,
@@ -6,6 +7,11 @@ import type {
 } from './pool-worker'
 import type { WorkerChoiceStrategy } from './selection-strategies/selection-strategies-types'
 
+/**
+ * Pool events emitter.
+ */
+export class PoolEmitter extends EventEmitter {}
+
 /**
  * Options for a poolifier pool.
  */
@@ -45,6 +51,14 @@ export interface PoolOptions<Worker> {
  * @template Response Type of response of execution. This can only be serializable data.
  */
 export interface IPool<Data = unknown, Response = unknown> {
+  /**
+   * Emitter on which events can be listened to.
+   *
+   * Events that can currently be listened to:
+   *
+   * - `'busy'`
+   */
+  readonly emitter?: PoolEmitter
   /**
    * Performs the task specified in the constructor with the data parameter.
    *
index 7069f7f374907976702e944328f4e97663fd99c2..9ba218997195f09087145fed8ae7a0ce0edd0519 100644 (file)
@@ -9,8 +9,8 @@ import { FixedThreadPool } from './fixed'
  * This thread pool creates new threads when the others are busy, up to the maximum number of threads.
  * When the maximum number of threads is reached, an event is emitted. If you want to listen to this event, use the pool's `emitter`.
  *
- * @template DataType of data sent to the worker. This can only be serializable data.
- * @template ResponseType of response of execution. This can only be serializable data.
+ * @template Data Type of data sent to the worker. This can only be serializable data.
+ * @template Response Type of response of execution. This can only be serializable data.
  * @author [Alessandro Pio Ardizio](https://github.com/pioardi)
  * @since 0.0.1
  */
index cd414502cfd8a706e8d30836b23a90ce64c35a91..e8be44f2e3b5b02671f44ce6739df7a87b61273c 100644 (file)
@@ -16,8 +16,8 @@ export type ThreadWorkerWithMessageChannel = Worker & Draft<MessageChannel>
  *
  * This pool selects the threads in a round robin fashion.
  *
- * @template DataType of data sent to the worker. This can only be serializable data.
- * @template ResponseType of response of execution. This can only be serializable data.
+ * @template Data Type of data sent to the worker. This can only be serializable data.
+ * @template Response Type of response of execution. This can only be serializable data.
  * @author [Alessandro Pio Ardizio](https://github.com/pioardi)
  * @since 0.0.1
  */
index 4e57e963ca20cb5da6bcc814e82d261b6cce80b2..19bfa4e56fda61d46e3d22b47953b567af7cd947 100644 (file)
@@ -13,8 +13,8 @@ import type { WorkerOptions } from './worker-options'
  * If you use a `DynamicClusterPool` the extra workers that were created will be terminated,
  * but the minimum number of workers will be guaranteed.
  *
- * @template DataType of data this worker receives from pool's execution. This can only be serializable data.
- * @template ResponseType of response the worker sends back to the main worker. This can only be serializable data.
+ * @template Data Type of data this worker receives from pool's execution. This can only be serializable data.
+ * @template Response Type of response the worker sends back to the main worker. This can only be serializable data.
  * @author [Christopher Quadflieg](https://github.com/Shinigami92)
  * @since 2.0.0
  */
index de1c36bf7b51fedf5b07b19ca9f09d4778daa933..20141e441c93e71adb901f5d13fb8fa0f0288957 100644 (file)
@@ -13,8 +13,8 @@ import type { WorkerOptions } from './worker-options'
  * If you use a `DynamicThreadPool` the extra workers that were created will be terminated,
  * but the minimum number of workers will be guaranteed.
  *
- * @template DataType of data this worker receives from pool's execution. This can only be serializable data.
- * @template ResponseType of response the worker sends back to the main thread. This can only be serializable data.
+ * @template Data Type of data this worker receives from pool's execution. This can only be serializable data.
+ * @template Response Type of response the worker sends back to the main thread. This can only be serializable data.
  * @author [Alessandro Pio Ardizio](https://github.com/pioardi)
  * @since 0.0.1
  */
index 442a4745b053de18dd6689c1c7dd0e17d4e5e020..e3e37916b68444220eceb67cd7d97851aeefb1ca 100644 (file)
@@ -9,5 +9,5 @@
     "importsNotUsedAsValues": "error"
   },
   "include": ["**/*.ts"],
-  "exclude": ["node_modules"]
+  "exclude": ["node_modules", "examples/typescript"]
 }
index 7b867079ad9e488717acd179cd1f2199bbb28d7a..2fdc1c5f69a05bb06b494e55ceaa654f756fee48 100644 (file)
@@ -1,5 +1,5 @@
 {
-  "entryPoints": ["src/index.ts"],
+  "entryPoints": ["src"],
   "out": "docs",
   "readme": "none"
 }