fix: only sync worker choice strategies if needed
[poolifier.git] / src / index.ts
1 export type { CircularArray } from './circular-array.js'
2 export type { AbstractPool } from './pools/abstract-pool.js'
3 export { DynamicClusterPool } from './pools/cluster/dynamic.js'
4 export type { ClusterPoolOptions } from './pools/cluster/fixed.js'
5 export { FixedClusterPool } from './pools/cluster/fixed.js'
6 export type {
7 IPool,
8 PoolEvent,
9 PoolInfo,
10 PoolOptions,
11 PoolType,
12 TasksQueueOptions
13 } from './pools/pool.js'
14 export { PoolEvents, PoolTypes } from './pools/pool.js'
15 export type {
16 IWorkerChoiceStrategy,
17 Measurement,
18 MeasurementOptions,
19 MeasurementStatisticsRequirements,
20 StrategyPolicy,
21 TaskStatisticsRequirements,
22 WorkerChoiceStrategy,
23 WorkerChoiceStrategyOptions
24 } from './pools/selection-strategies/selection-strategies-types.js'
25 export {
26 Measurements,
27 WorkerChoiceStrategies
28 } from './pools/selection-strategies/selection-strategies-types.js'
29 export type { WorkerChoiceStrategiesContext } from './pools/selection-strategies/worker-choice-strategies-context.js'
30 export { DynamicThreadPool } from './pools/thread/dynamic.js'
31 export type { ThreadPoolOptions } from './pools/thread/fixed.js'
32 export { FixedThreadPool } from './pools/thread/fixed.js'
33 export type {
34 ErrorHandler,
35 EventHandler,
36 EventLoopUtilizationMeasurementStatistics,
37 ExitHandler,
38 IWorker,
39 IWorkerNode,
40 MeasurementStatistics,
41 MessageHandler,
42 OnlineHandler,
43 StrategyData,
44 TaskStatistics,
45 WorkerInfo,
46 WorkerNodeEventDetail,
47 WorkerNodeOptions,
48 WorkerType,
49 WorkerUsage
50 } from './pools/worker.js'
51 export { WorkerTypes } from './pools/worker.js'
52 export type { PriorityQueue, PriorityQueueNode } from './priority-queue.js'
53 export type {
54 MessageValue,
55 PromiseResponseWrapper,
56 Task,
57 TaskPerformance,
58 WorkerError,
59 WorkerStatistics,
60 Writable
61 } from './utility-types.js'
62 export { availableParallelism } from './utils.js'
63 export type { AbstractWorker } from './worker/abstract-worker.js'
64 export { ClusterWorker } from './worker/cluster-worker.js'
65 export type {
66 TaskAsyncFunction,
67 TaskFunction,
68 TaskFunctionOperationResult,
69 TaskFunctions,
70 TaskSyncFunction
71 } from './worker/task-functions.js'
72 export { ThreadWorker } from './worker/thread-worker.js'
73 export type {
74 KillBehavior,
75 KillHandler,
76 WorkerOptions
77 } from './worker/worker-options.js'
78 export { KillBehaviors } from './worker/worker-options.js'