repositories
/
poolifier.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #945 from poolifier/combine-prs-branch
[poolifier.git]
/
src
/
utility-types.ts
diff --git
a/src/utility-types.ts
b/src/utility-types.ts
index 28bf19e256abaef2f619051773ad55456643b842..12067c077e06599339a0b01e0ebc51df42178713 100644
(file)
--- a/
src/utility-types.ts
+++ b/
src/utility-types.ts
@@
-1,6
+1,6
@@
import type { EventLoopUtilization } from 'node:perf_hooks'
import type { EventLoopUtilization } from 'node:perf_hooks'
+import type { MessagePort, TransferListItem } from 'node:worker_threads'
import type { KillBehavior } from './worker/worker-options'
import type { KillBehavior } from './worker/worker-options'
-import type { IWorker } from './pools/worker'
/**
* Task error.
/**
* Task error.
@@
-75,14
+75,18
@@
export interface Task<Data = unknown> {
* Task input data that will be passed to the worker.
*/
readonly data?: Data
* Task input data that will be passed to the worker.
*/
readonly data?: Data
+ /**
+ * Array of transferable objects.
+ */
+ readonly transferList?: TransferListItem[]
/**
* Timestamp.
*/
readonly timestamp?: number
/**
/**
* Timestamp.
*/
readonly timestamp?: number
/**
- *
Message
UUID.
+ *
Task
UUID.
*/
*/
- readonly
i
d?: string
+ readonly
taskI
d?: string
}
/**
}
/**
@@
-97,7
+101,7
@@
export interface MessageValue<Data = unknown, ErrorData = unknown>
/**
* Kill code.
*/
/**
* Kill code.
*/
- readonly kill?: KillBehavior | true
+ readonly kill?: KillBehavior | true
| 'success' | 'failure'
/**
* Task error.
*/
/**
* Task error.
*/
@@
-106,6
+110,10
@@
export interface MessageValue<Data = unknown, ErrorData = unknown>
* Task performance.
*/
readonly taskPerformance?: TaskPerformance
* Task performance.
*/
readonly taskPerformance?: TaskPerformance
+ /**
+ * Task function names.
+ */
+ readonly taskFunctions?: string[]
/**
* Whether the worker computes the given statistics or not.
*/
/**
* Whether the worker computes the given statistics or not.
*/
@@
-115,32
+123,34
@@
export interface MessageValue<Data = unknown, ErrorData = unknown>
*/
readonly ready?: boolean
/**
*/
readonly ready?: boolean
/**
- * Whether the worker starts or stops its a
liveness
check.
+ * Whether the worker starts or stops its a
ctivity
check.
*/
*/
- readonly checkAlive?: boolean
+ readonly checkActive?: boolean
+ /**
+ * Message port.
+ */
+ readonly port?: MessagePort
}
/**
}
/**
- * An object holding the execution response promise resolve/reject callbacks.
+ * An object holding the
task
execution response promise resolve/reject callbacks.
*
*
- * @typeParam Worker - Type of worker.
* @typeParam Response - Type of execution response. This can only be structured-cloneable data.
* @internal
*/
* @typeParam Response - Type of execution response. This can only be structured-cloneable data.
* @internal
*/
-export interface PromiseResponseWrapper<
- Worker extends IWorker,
- Response = unknown
-> {
+export interface PromiseResponseWrapper<Response = unknown> {
/**
* Resolve callback to fulfill the promise.
*/
/**
* Resolve callback to fulfill the promise.
*/
- readonly resolve: (value: Response) => void
+ readonly resolve: (value: Response
| PromiseLike<Response>
) => void
/**
* Reject callback to reject the promise.
*/
/**
* Reject callback to reject the promise.
*/
- readonly reject: (reason?:
string
) => void
+ readonly reject: (reason?:
unknown
) => void
/**
/**
- * The worker
handling the execution
.
+ * The worker
node key executing the task
.
*/
*/
- readonly worker
: Work
er
+ readonly worker
NodeKey: numb
er
}
}
+
+export type Writable<T> = { -readonly [P in keyof T]: T[P] }