repositories
/
poolifier.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
build(deps-dev): apply updates
[poolifier.git]
/
examples
/
typescript
/
http-server-pool
/
fastify-hybrid
/
src
/
request-handler-worker.ts
diff --git
a/examples/typescript/http-server-pool/fastify-hybrid/src/request-handler-worker.ts
b/examples/typescript/http-server-pool/fastify-hybrid/src/request-handler-worker.ts
index d3b6c876048afed0392a707f4bae618e7f4e6048..5297de12846601c580c09773eee7e8bee34163c3 100644
(file)
--- a/
examples/typescript/http-server-pool/fastify-hybrid/src/request-handler-worker.ts
+++ b/
examples/typescript/http-server-pool/fastify-hybrid/src/request-handler-worker.ts
@@
-1,21
+1,28
@@
import { ThreadWorker } from 'poolifier'
import { ThreadWorker } from 'poolifier'
-import {
- type BodyPayload,
- type ThreadWorkerData,
- type ThreadWorkerResponse
-} from './types.js'
-const factorial: (n: number) => number = (n) => {
- if (n === 0) {
- return 1
- }
- return factorial(n - 1) * n
-}
+import type {
+ DataPayload,
+ ThreadWorkerData,
+ ThreadWorkerResponse,
+} from './types.js'
class RequestHandlerWorker<
class RequestHandlerWorker<
- Data extends ThreadWorkerData<
Body
Payload>,
- Response extends ThreadWorkerResponse<
Body
Payload>
+ Data extends ThreadWorkerData<
Data
Payload>,
+ Response extends ThreadWorkerResponse<
Data
Payload>
> extends ThreadWorker<Data, Response> {
> extends ThreadWorker<Data, Response> {
+ private static readonly factorial = (n: number | bigint): bigint => {
+ if (n === 0 || n === 1) {
+ return 1n
+ } else {
+ n = BigInt(n)
+ let factorial = 1n
+ for (let i = 1n; i <= n; i++) {
+ factorial *= i
+ }
+ return factorial
+ }
+ }
+
public constructor () {
super({
echo: (workerData?: Data) => {
public constructor () {
super({
echo: (workerData?: Data) => {
@@
-23,14
+30,19
@@
class RequestHandlerWorker<
},
factorial: (workerData?: Data) => {
return {
},
factorial: (workerData?: Data) => {
return {
- body: { number: factorial(workerData?.body?.number as number) }
+ data: {
+ number: RequestHandlerWorker.factorial(
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ workerData!.data.number!
+ ).toString(),
+ },
} as unknown as Response
} as unknown as Response
- }
+ }
,
})
}
}
export const requestHandlerWorker = new RequestHandlerWorker<
})
}
}
export const requestHandlerWorker = new RequestHandlerWorker<
-
ThreadWorkerData<Body
Payload>,
-
ThreadWorkerResponse<Body
Payload>
+
ThreadWorkerData<Data
Payload>,
+
ThreadWorkerResponse<Data
Payload>
>()
>()