@effect/platform 0.54.0 → 0.55.1
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.
- package/README.md +387 -38
- package/dist/cjs/Worker.js.map +1 -1
- package/dist/cjs/internal/worker.js +13 -14
- package/dist/cjs/internal/worker.js.map +1 -1
- package/dist/dts/Worker.d.ts +9 -12
- package/dist/dts/Worker.d.ts.map +1 -1
- package/dist/esm/Worker.js.map +1 -1
- package/dist/esm/internal/worker.js +13 -14
- package/dist/esm/internal/worker.js.map +1 -1
- package/package.json +3 -3
- package/src/Worker.ts +11 -16
- package/src/internal/worker.ts +17 -34
package/README.md
CHANGED
|
@@ -310,6 +310,95 @@ const readFileString = Effect.gen(function* (_) {
|
|
|
310
310
|
NodeRuntime.runMain(readFileString.pipe(Effect.provide(NodeFileSystem.layer)))
|
|
311
311
|
```
|
|
312
312
|
|
|
313
|
+
# KeyValueStore
|
|
314
|
+
|
|
315
|
+
## Overview
|
|
316
|
+
|
|
317
|
+
The `KeyValueStore` module provides a robust and effectful interface for managing key-value pairs. It supports asynchronous operations, ensuring data integrity and consistency, and includes built-in implementations for in-memory, file system-based, and schema-validated stores.
|
|
318
|
+
|
|
319
|
+
## Basic Usage
|
|
320
|
+
|
|
321
|
+
The `KeyValueStore` interface includes the following operations:
|
|
322
|
+
|
|
323
|
+
- **get**: Retrieve a value by key.
|
|
324
|
+
- **set**: Store a key-value pair.
|
|
325
|
+
- **remove**: Delete a key-value pair.
|
|
326
|
+
- **clear**: Remove all key-value pairs.
|
|
327
|
+
- **size**: Get the number of stored pairs.
|
|
328
|
+
- **modify**: Atomically modify a value.
|
|
329
|
+
- **has**: Check if a key exists.
|
|
330
|
+
- **isEmpty**: Check if the store is empty.
|
|
331
|
+
|
|
332
|
+
**Example**
|
|
333
|
+
|
|
334
|
+
```ts
|
|
335
|
+
import { KeyValueStore, layerMemory } from "@effect/platform/KeyValueStore"
|
|
336
|
+
import { Effect } from "effect"
|
|
337
|
+
|
|
338
|
+
const program = Effect.gen(function* () {
|
|
339
|
+
const store = yield* KeyValueStore
|
|
340
|
+
console.log(yield* store.size) // Outputs: 0
|
|
341
|
+
|
|
342
|
+
yield* store.set("key", "value")
|
|
343
|
+
console.log(yield* store.size) // Outputs: 1
|
|
344
|
+
|
|
345
|
+
const value = yield* store.get("key")
|
|
346
|
+
console.log(value) // Outputs: { _id: 'Option', _tag: 'Some', value: 'value' }
|
|
347
|
+
|
|
348
|
+
yield* store.remove("key")
|
|
349
|
+
console.log(yield* store.size) // Outputs: 0
|
|
350
|
+
})
|
|
351
|
+
|
|
352
|
+
Effect.runPromise(program.pipe(Effect.provide(layerMemory)))
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
## Built-in Implementations
|
|
356
|
+
|
|
357
|
+
The module provides several built-in implementations to suit different needs:
|
|
358
|
+
|
|
359
|
+
- **In-Memory Store**: `layerMemory` provides a simple, in-memory key-value store, ideal for lightweight or testing scenarios.
|
|
360
|
+
- **File System Store**: `layerFileSystem` offers a file-based store for persistent storage needs.
|
|
361
|
+
- **Schema Store**: `layerSchema` enables schema-based validation for stored values, ensuring data integrity and type safety.
|
|
362
|
+
|
|
363
|
+
## Schema Store
|
|
364
|
+
|
|
365
|
+
The `SchemaStore` implementation allows you to validate and parse values according to a defined schema. This ensures that all data stored in the key-value store adheres to the specified structure, enhancing data integrity and type safety.
|
|
366
|
+
|
|
367
|
+
**Example**
|
|
368
|
+
|
|
369
|
+
```ts
|
|
370
|
+
import { KeyValueStore, layerMemory } from "@effect/platform/KeyValueStore"
|
|
371
|
+
import { Schema } from "@effect/schema"
|
|
372
|
+
import { Effect } from "effect"
|
|
373
|
+
|
|
374
|
+
// Define a schema for the values
|
|
375
|
+
const Person = Schema.Struct({
|
|
376
|
+
name: Schema.String,
|
|
377
|
+
age: Schema.Number
|
|
378
|
+
})
|
|
379
|
+
|
|
380
|
+
const program = Effect.gen(function* () {
|
|
381
|
+
const store = (yield* KeyValueStore).forSchema(Person)
|
|
382
|
+
|
|
383
|
+
// Create a value that adheres to the schema
|
|
384
|
+
const value = { name: "Alice", age: 30 }
|
|
385
|
+
yield* store.set("user1", value)
|
|
386
|
+
console.log(yield* store.size) // Outputs: 1
|
|
387
|
+
|
|
388
|
+
// Retrieve and validate the value
|
|
389
|
+
const retrievedValue = yield* store.get("user1")
|
|
390
|
+
console.log(retrievedValue) // Outputs: { _id: 'Option', _tag: 'Some', value: { name: 'Alice', age: 30 } }
|
|
391
|
+
})
|
|
392
|
+
|
|
393
|
+
Effect.runPromise(program.pipe(Effect.provide(layerMemory)))
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
In this example:
|
|
397
|
+
|
|
398
|
+
- **Person**: Defines the structure for the values stored in the key-value store.
|
|
399
|
+
- **store.set**: Stores a value adhering to `Person`.
|
|
400
|
+
- **store.get**: Retrieves and validates the stored value against `Person`.
|
|
401
|
+
|
|
313
402
|
# HTTP Client
|
|
314
403
|
|
|
315
404
|
## Retrieving Data (GET)
|
|
@@ -679,6 +768,9 @@ timestamp=... level=INFO fiber=#0 message="Listening on http://localhost:3000"
|
|
|
679
768
|
*/
|
|
680
769
|
```
|
|
681
770
|
|
|
771
|
+
> [!NOTE]
|
|
772
|
+
> The `HttpServer.server.withLogAddress` middleware logs the address and port where the server is listening, helping to confirm that the server is running correctly and accessible on the expected endpoint.
|
|
773
|
+
|
|
682
774
|
Bun Example
|
|
683
775
|
|
|
684
776
|
```ts
|
|
@@ -805,10 +897,7 @@ const router = HttpServer.router.empty.pipe(
|
|
|
805
897
|
HttpServer.router.get("/", HttpServer.response.file("index.html"))
|
|
806
898
|
)
|
|
807
899
|
|
|
808
|
-
const app = router.pipe(
|
|
809
|
-
HttpServer.server.serve(),
|
|
810
|
-
HttpServer.server.withLogAddress
|
|
811
|
-
)
|
|
900
|
+
const app = router.pipe(HttpServer.server.serve())
|
|
812
901
|
|
|
813
902
|
listen(app, 3000)
|
|
814
903
|
```
|
|
@@ -952,10 +1041,7 @@ const router = HttpServer.router.empty.pipe(
|
|
|
952
1041
|
)
|
|
953
1042
|
)
|
|
954
1043
|
|
|
955
|
-
const app = router.pipe(
|
|
956
|
-
HttpServer.server.serve(),
|
|
957
|
-
HttpServer.server.withLogAddress
|
|
958
|
-
)
|
|
1044
|
+
const app = router.pipe(HttpServer.server.serve())
|
|
959
1045
|
|
|
960
1046
|
listen(app, 3000)
|
|
961
1047
|
```
|
|
@@ -1003,10 +1089,7 @@ const router = HttpServer.router.empty.pipe(
|
|
|
1003
1089
|
HttpServer.router.mount("/birds", birds)
|
|
1004
1090
|
)
|
|
1005
1091
|
|
|
1006
|
-
const app = router.pipe(
|
|
1007
|
-
HttpServer.server.serve(),
|
|
1008
|
-
HttpServer.server.withLogAddress
|
|
1009
|
-
)
|
|
1092
|
+
const app = router.pipe(HttpServer.server.serve())
|
|
1010
1093
|
|
|
1011
1094
|
listen(app, 3000)
|
|
1012
1095
|
```
|
|
@@ -1054,8 +1137,7 @@ const router = HttpServer.router.empty.pipe(
|
|
|
1054
1137
|
|
|
1055
1138
|
const app = router.pipe(
|
|
1056
1139
|
HttpServer.router.use(myLogger),
|
|
1057
|
-
HttpServer.server.serve()
|
|
1058
|
-
HttpServer.server.withLogAddress
|
|
1140
|
+
HttpServer.server.serve()
|
|
1059
1141
|
)
|
|
1060
1142
|
|
|
1061
1143
|
listen(app, 3000)
|
|
@@ -1105,8 +1187,7 @@ const router = HttpServer.router.empty.pipe(
|
|
|
1105
1187
|
|
|
1106
1188
|
const app = router.pipe(
|
|
1107
1189
|
HttpServer.router.use(requestTime),
|
|
1108
|
-
HttpServer.server.serve()
|
|
1109
|
-
HttpServer.server.withLogAddress
|
|
1190
|
+
HttpServer.server.serve()
|
|
1110
1191
|
)
|
|
1111
1192
|
|
|
1112
1193
|
listen(app, 3000)
|
|
@@ -1177,8 +1258,7 @@ const router = HttpServer.router.empty.pipe(
|
|
|
1177
1258
|
|
|
1178
1259
|
const app = router.pipe(
|
|
1179
1260
|
HttpServer.router.use(cookieValidator),
|
|
1180
|
-
HttpServer.server.serve()
|
|
1181
|
-
HttpServer.server.withLogAddress
|
|
1261
|
+
HttpServer.server.serve()
|
|
1182
1262
|
)
|
|
1183
1263
|
|
|
1184
1264
|
listen(app, 3000)
|
|
@@ -1194,6 +1274,260 @@ curl -i http://localhost:3000 --cookie "testCookie="
|
|
|
1194
1274
|
|
|
1195
1275
|
This setup validates the `testCookie` and returns "Invalid cookie" if the validation fails, or "Hello World" if it passes.
|
|
1196
1276
|
|
|
1277
|
+
## Applying Middleware in Your Application
|
|
1278
|
+
|
|
1279
|
+
Middleware functions are powerful tools that allow you to modify the request-response cycle. Middlewares can be applied at various levels to achieve different scopes of influence:
|
|
1280
|
+
|
|
1281
|
+
- **Route Level**: Apply middleware to individual routes.
|
|
1282
|
+
- **Router Level**: Apply middleware to a group of routes within a single router.
|
|
1283
|
+
- **Server Level**: Apply middleware across all routes managed by a server.
|
|
1284
|
+
|
|
1285
|
+
### Applying Middleware at the Route Level
|
|
1286
|
+
|
|
1287
|
+
At the route level, middlewares are applied to specific endpoints, allowing for targeted modifications or enhancements such as logging, authentication, or parameter validation for a particular route.
|
|
1288
|
+
|
|
1289
|
+
**Example**
|
|
1290
|
+
|
|
1291
|
+
Here’s a practical example showing how to apply middleware at the route level:
|
|
1292
|
+
|
|
1293
|
+
```ts
|
|
1294
|
+
import { HttpServer } from "@effect/platform"
|
|
1295
|
+
import { Effect } from "effect"
|
|
1296
|
+
import { listen } from "./listen.js"
|
|
1297
|
+
|
|
1298
|
+
// Middleware constructor that logs the name of the middleware
|
|
1299
|
+
const withMiddleware = (name: string) =>
|
|
1300
|
+
HttpServer.middleware.make((app) =>
|
|
1301
|
+
Effect.gen(function* () {
|
|
1302
|
+
console.log(name) // Log the middleware name when the route is accessed
|
|
1303
|
+
return yield* app // Continue with the original application flow
|
|
1304
|
+
})
|
|
1305
|
+
)
|
|
1306
|
+
|
|
1307
|
+
const router = HttpServer.router.empty.pipe(
|
|
1308
|
+
// Applying middleware to route "/a"
|
|
1309
|
+
HttpServer.router.get(
|
|
1310
|
+
"/a",
|
|
1311
|
+
HttpServer.response.text("a").pipe(withMiddleware("M1"))
|
|
1312
|
+
),
|
|
1313
|
+
// Applying middleware to route "/b"
|
|
1314
|
+
HttpServer.router.get(
|
|
1315
|
+
"/b",
|
|
1316
|
+
HttpServer.response.text("b").pipe(withMiddleware("M2"))
|
|
1317
|
+
)
|
|
1318
|
+
)
|
|
1319
|
+
|
|
1320
|
+
const app = router.pipe(HttpServer.server.serve())
|
|
1321
|
+
|
|
1322
|
+
listen(app, 3000)
|
|
1323
|
+
```
|
|
1324
|
+
|
|
1325
|
+
**Testing the Middleware**
|
|
1326
|
+
|
|
1327
|
+
You can test the middleware by making requests to the respective routes and observing the console output:
|
|
1328
|
+
|
|
1329
|
+
```sh
|
|
1330
|
+
# Test route /a
|
|
1331
|
+
curl -i http://localhost:3000/a
|
|
1332
|
+
# Expected console output: M1
|
|
1333
|
+
|
|
1334
|
+
# Test route /b
|
|
1335
|
+
curl -i http://localhost:3000/b
|
|
1336
|
+
# Expected console output: M2
|
|
1337
|
+
```
|
|
1338
|
+
|
|
1339
|
+
### Applying Middleware at the Router Level
|
|
1340
|
+
|
|
1341
|
+
Applying middleware at the router level is an efficient way to manage common functionalities across multiple routes within your application. Middleware can handle tasks such as logging, authentication, and response modifications before reaching the actual route handlers.
|
|
1342
|
+
|
|
1343
|
+
**Example**
|
|
1344
|
+
|
|
1345
|
+
Here’s how you can structure and apply middleware across different routers using the `@effect/platform` library:
|
|
1346
|
+
|
|
1347
|
+
```ts
|
|
1348
|
+
import { HttpServer } from "@effect/platform"
|
|
1349
|
+
import { Effect } from "effect"
|
|
1350
|
+
import { listen } from "./listen.js"
|
|
1351
|
+
|
|
1352
|
+
// Middleware constructor that logs the name of the middleware
|
|
1353
|
+
const withMiddleware = (name: string) =>
|
|
1354
|
+
HttpServer.middleware.make((app) =>
|
|
1355
|
+
Effect.gen(function* () {
|
|
1356
|
+
console.log(name) // Log the middleware name when a route is accessed
|
|
1357
|
+
return yield* app // Continue with the original application flow
|
|
1358
|
+
})
|
|
1359
|
+
)
|
|
1360
|
+
|
|
1361
|
+
// Define Router1 with specific routes
|
|
1362
|
+
const router1 = HttpServer.router.empty.pipe(
|
|
1363
|
+
HttpServer.router.get("/a", HttpServer.response.text("a")), // Middleware M4, M3, M1 will apply
|
|
1364
|
+
HttpServer.router.get("/b", HttpServer.response.text("b")), // Middleware M4, M3, M1 will apply
|
|
1365
|
+
// Apply Middleware at the router level
|
|
1366
|
+
HttpServer.router.use(withMiddleware("M1")),
|
|
1367
|
+
HttpServer.router.get("/c", HttpServer.response.text("c")) // Middleware M4, M3 will apply
|
|
1368
|
+
)
|
|
1369
|
+
|
|
1370
|
+
// Define Router2 with specific routes
|
|
1371
|
+
const router2 = HttpServer.router.empty.pipe(
|
|
1372
|
+
HttpServer.router.get("/d", HttpServer.response.text("d")), // Middleware M4, M2 will apply
|
|
1373
|
+
HttpServer.router.get("/e", HttpServer.response.text("e")), // Middleware M4, M2 will apply
|
|
1374
|
+
HttpServer.router.get("/f", HttpServer.response.text("f")), // Middleware M4, M2 will apply
|
|
1375
|
+
// Apply Middleware at the router level
|
|
1376
|
+
HttpServer.router.use(withMiddleware("M2"))
|
|
1377
|
+
)
|
|
1378
|
+
|
|
1379
|
+
// Main router combining Router1 and Router2
|
|
1380
|
+
const router = HttpServer.router.empty.pipe(
|
|
1381
|
+
HttpServer.router.mount("/r1", router1),
|
|
1382
|
+
// Apply Middleware affecting all routes under /r1
|
|
1383
|
+
HttpServer.router.use(withMiddleware("M3")),
|
|
1384
|
+
HttpServer.router.get("/g", HttpServer.response.text("g")), // Only Middleware M4 will apply
|
|
1385
|
+
HttpServer.router.mount("/r2", router2),
|
|
1386
|
+
// Apply Middleware affecting all routes
|
|
1387
|
+
HttpServer.router.use(withMiddleware("M4"))
|
|
1388
|
+
)
|
|
1389
|
+
|
|
1390
|
+
// Configure the application with the server middleware
|
|
1391
|
+
const app = router.pipe(HttpServer.server.serve())
|
|
1392
|
+
|
|
1393
|
+
listen(app, 3000)
|
|
1394
|
+
```
|
|
1395
|
+
|
|
1396
|
+
**Testing the Middleware**
|
|
1397
|
+
|
|
1398
|
+
To ensure that the middleware is working as expected, you can test it by making HTTP requests to the defined routes and checking the console output for middleware logs:
|
|
1399
|
+
|
|
1400
|
+
```sh
|
|
1401
|
+
# Test route /a under router1
|
|
1402
|
+
curl -i http://localhost:3000/r1/a
|
|
1403
|
+
# Expected console output: M4 M3 M1
|
|
1404
|
+
|
|
1405
|
+
# Test route /c under router1
|
|
1406
|
+
curl -i http://localhost:3000/r1/c
|
|
1407
|
+
# Expected console output: M4 M3
|
|
1408
|
+
|
|
1409
|
+
# Test route /d under router2
|
|
1410
|
+
curl -i http://localhost:3000/r2/d
|
|
1411
|
+
# Expected console output: M4 M2
|
|
1412
|
+
|
|
1413
|
+
# Test route /g under the main router
|
|
1414
|
+
curl -i http://localhost:3000/g
|
|
1415
|
+
# Expected console output: M4
|
|
1416
|
+
```
|
|
1417
|
+
|
|
1418
|
+
### Applying Middleware at the Server Level
|
|
1419
|
+
|
|
1420
|
+
Applying middleware at the server level allows you to introduce certain functionalities, such as logging, authentication, or general request processing, that affect every request handled by the server. This ensures that all incoming requests, regardless of the route, pass through the applied middleware, making it an essential feature for global error handling, logging, or authentication.
|
|
1421
|
+
|
|
1422
|
+
**Example**
|
|
1423
|
+
|
|
1424
|
+
```ts
|
|
1425
|
+
import { HttpServer } from "@effect/platform"
|
|
1426
|
+
import { Effect } from "effect"
|
|
1427
|
+
import { listen } from "./listen.js"
|
|
1428
|
+
|
|
1429
|
+
// Middleware constructor that logs the name of the middleware
|
|
1430
|
+
const withMiddleware = (name: string) =>
|
|
1431
|
+
HttpServer.middleware.make((app) =>
|
|
1432
|
+
Effect.gen(function* () {
|
|
1433
|
+
console.log(name) // Log the middleware name when the route is accessed
|
|
1434
|
+
return yield* app // Continue with the original application flow
|
|
1435
|
+
})
|
|
1436
|
+
)
|
|
1437
|
+
|
|
1438
|
+
const router = HttpServer.router.empty.pipe(
|
|
1439
|
+
HttpServer.router.get(
|
|
1440
|
+
"/a",
|
|
1441
|
+
HttpServer.response.text("a").pipe(withMiddleware("M1"))
|
|
1442
|
+
),
|
|
1443
|
+
HttpServer.router.get("/b", HttpServer.response.text("b")),
|
|
1444
|
+
HttpServer.router.use(withMiddleware("M2")),
|
|
1445
|
+
HttpServer.router.get("/", HttpServer.response.text("root"))
|
|
1446
|
+
)
|
|
1447
|
+
|
|
1448
|
+
const app = router.pipe(HttpServer.server.serve(withMiddleware("M3")))
|
|
1449
|
+
|
|
1450
|
+
listen(app, 3000)
|
|
1451
|
+
```
|
|
1452
|
+
|
|
1453
|
+
**Testing the Middleware**
|
|
1454
|
+
|
|
1455
|
+
To confirm the middleware is functioning as intended, you can send HTTP requests to the defined routes and check the console for middleware logs:
|
|
1456
|
+
|
|
1457
|
+
```sh
|
|
1458
|
+
# Test route /a and observe the middleware logs
|
|
1459
|
+
curl -i http://localhost:3000/a
|
|
1460
|
+
# Expected console output: M3 M2 M1 - Middleware M3 (server-level), M2 (router-level), and M1 (route-level) apply.
|
|
1461
|
+
|
|
1462
|
+
# Test route /b and observe the middleware logs
|
|
1463
|
+
curl -i http://localhost:3000/b
|
|
1464
|
+
# Expected console output: M3 M2 - Middleware M3 (server-level) and M2 (router-level) apply.
|
|
1465
|
+
|
|
1466
|
+
# Test route / and observe the middleware logs
|
|
1467
|
+
curl -i http://localhost:3000/
|
|
1468
|
+
# Expected console output: M3 M2 - Middleware M3 (server-level) and M2 (router-level) apply.
|
|
1469
|
+
```
|
|
1470
|
+
|
|
1471
|
+
### Applying Multiple Middlewares
|
|
1472
|
+
|
|
1473
|
+
Middleware functions are simply functions that transform a `Default` app into another `Default` app. This flexibility allows for stacking multiple middleware functions, much like composing functions in functional programming. The `flow` function from the `Effect` library facilitates this by enabling function composition.
|
|
1474
|
+
|
|
1475
|
+
**Example**
|
|
1476
|
+
|
|
1477
|
+
```ts
|
|
1478
|
+
import { HttpServer } from "@effect/platform"
|
|
1479
|
+
import { Effect, flow } from "effect"
|
|
1480
|
+
import { listen } from "./listen.js"
|
|
1481
|
+
|
|
1482
|
+
// Middleware constructor that logs the middleware's name when a route is accessed
|
|
1483
|
+
const withMiddleware = (name: string) =>
|
|
1484
|
+
HttpServer.middleware.make((app) =>
|
|
1485
|
+
Effect.gen(function* () {
|
|
1486
|
+
console.log(name) // Log the middleware name
|
|
1487
|
+
return yield* app // Continue with the original application flow
|
|
1488
|
+
})
|
|
1489
|
+
)
|
|
1490
|
+
|
|
1491
|
+
// Setup routes and apply multiple middlewares using flow for function composition
|
|
1492
|
+
const router = HttpServer.router.empty.pipe(
|
|
1493
|
+
HttpServer.router.get(
|
|
1494
|
+
"/a",
|
|
1495
|
+
HttpServer.response
|
|
1496
|
+
.text("a")
|
|
1497
|
+
.pipe(flow(withMiddleware("M1"), withMiddleware("M2")))
|
|
1498
|
+
),
|
|
1499
|
+
HttpServer.router.get("/b", HttpServer.response.text("b")),
|
|
1500
|
+
// Apply combined middlewares to the entire router
|
|
1501
|
+
HttpServer.router.use(flow(withMiddleware("M3"), withMiddleware("M4"))),
|
|
1502
|
+
HttpServer.router.get("/", HttpServer.response.text("root"))
|
|
1503
|
+
)
|
|
1504
|
+
|
|
1505
|
+
// Apply combined middlewares at the server level
|
|
1506
|
+
const app = router.pipe(
|
|
1507
|
+
HttpServer.server.serve(flow(withMiddleware("M5"), withMiddleware("M6")))
|
|
1508
|
+
)
|
|
1509
|
+
|
|
1510
|
+
listen(app, 3000)
|
|
1511
|
+
```
|
|
1512
|
+
|
|
1513
|
+
**Testing the Middleware Composition**
|
|
1514
|
+
|
|
1515
|
+
To verify that the middleware is functioning as expected, you can send HTTP requests to the routes and check the console for the expected middleware log output:
|
|
1516
|
+
|
|
1517
|
+
```sh
|
|
1518
|
+
# Test route /a to see the output from multiple middleware layers
|
|
1519
|
+
curl -i http://localhost:3000/a
|
|
1520
|
+
# Expected console output: M6 M5 M4 M3 M2 M1
|
|
1521
|
+
|
|
1522
|
+
# Test route /b where fewer middleware are applied
|
|
1523
|
+
curl -i http://localhost:3000/b
|
|
1524
|
+
# Expected console output: M6 M5 M4 M3
|
|
1525
|
+
|
|
1526
|
+
# Test the root route to confirm top-level middleware application
|
|
1527
|
+
curl -i http://localhost:3000/
|
|
1528
|
+
# Expected console output: M6 M5
|
|
1529
|
+
```
|
|
1530
|
+
|
|
1197
1531
|
## Built-in middleware
|
|
1198
1532
|
|
|
1199
1533
|
### Middleware Summary
|
|
@@ -1216,10 +1550,7 @@ const router = HttpServer.router.empty.pipe(
|
|
|
1216
1550
|
)
|
|
1217
1551
|
|
|
1218
1552
|
// Apply the logger middleware globally
|
|
1219
|
-
const app = router.pipe(
|
|
1220
|
-
HttpServer.server.serve(HttpServer.middleware.logger),
|
|
1221
|
-
HttpServer.server.withLogAddress
|
|
1222
|
-
)
|
|
1553
|
+
const app = router.pipe(HttpServer.server.serve(HttpServer.middleware.logger))
|
|
1223
1554
|
|
|
1224
1555
|
listen(app, 3000)
|
|
1225
1556
|
/*
|
|
@@ -1250,10 +1581,7 @@ const router = HttpServer.router.empty.pipe(
|
|
|
1250
1581
|
)
|
|
1251
1582
|
|
|
1252
1583
|
// Apply the logger middleware globally
|
|
1253
|
-
const app = router.pipe(
|
|
1254
|
-
HttpServer.server.serve(HttpServer.middleware.logger),
|
|
1255
|
-
HttpServer.server.withLogAddress
|
|
1256
|
-
)
|
|
1584
|
+
const app = router.pipe(HttpServer.server.serve(HttpServer.middleware.logger))
|
|
1257
1585
|
|
|
1258
1586
|
listen(app, 3000)
|
|
1259
1587
|
/*
|
|
@@ -1286,8 +1614,7 @@ const router = HttpServer.router.empty.pipe(
|
|
|
1286
1614
|
|
|
1287
1615
|
// Set up the server with xForwardedHeaders middleware
|
|
1288
1616
|
const app = router.pipe(
|
|
1289
|
-
HttpServer.server.serve(HttpServer.middleware.xForwardedHeaders)
|
|
1290
|
-
HttpServer.server.withLogAddress
|
|
1617
|
+
HttpServer.server.serve(HttpServer.middleware.xForwardedHeaders)
|
|
1291
1618
|
)
|
|
1292
1619
|
|
|
1293
1620
|
listen(app, 3000)
|
|
@@ -1336,8 +1663,7 @@ const app = router.pipe(
|
|
|
1336
1663
|
Effect.catchAllCause((cause) =>
|
|
1337
1664
|
HttpServer.response.text(cause.toString(), { status: 500 })
|
|
1338
1665
|
),
|
|
1339
|
-
HttpServer.server.serve()
|
|
1340
|
-
HttpServer.server.withLogAddress
|
|
1666
|
+
HttpServer.server.serve()
|
|
1341
1667
|
)
|
|
1342
1668
|
|
|
1343
1669
|
listen(app, 3000)
|
|
@@ -1388,10 +1714,7 @@ const router = HttpServer.router.empty.pipe(
|
|
|
1388
1714
|
)
|
|
1389
1715
|
)
|
|
1390
1716
|
|
|
1391
|
-
const app = router.pipe(
|
|
1392
|
-
HttpServer.server.serve(),
|
|
1393
|
-
HttpServer.server.withLogAddress
|
|
1394
|
-
)
|
|
1717
|
+
const app = router.pipe(HttpServer.server.serve())
|
|
1395
1718
|
|
|
1396
1719
|
listen(app, 3000)
|
|
1397
1720
|
```
|
|
@@ -1434,10 +1757,7 @@ const router = HttpServer.router.empty.pipe(
|
|
|
1434
1757
|
)
|
|
1435
1758
|
)
|
|
1436
1759
|
|
|
1437
|
-
const app = router.pipe(
|
|
1438
|
-
HttpServer.server.serve(),
|
|
1439
|
-
HttpServer.server.withLogAddress
|
|
1440
|
-
)
|
|
1760
|
+
const app = router.pipe(HttpServer.server.serve())
|
|
1441
1761
|
|
|
1442
1762
|
listen(app, 3000)
|
|
1443
1763
|
```
|
|
@@ -1451,3 +1771,32 @@ curl -i http://localhost:3000
|
|
|
1451
1771
|
# Request with the valid cookie
|
|
1452
1772
|
curl -i http://localhost:3000 --cookie "test=myvalue"
|
|
1453
1773
|
```
|
|
1774
|
+
|
|
1775
|
+
## ServerRequest
|
|
1776
|
+
|
|
1777
|
+
### How do I get the raw request?
|
|
1778
|
+
|
|
1779
|
+
The native request object depends on the platform you are using, and it is not directly modeled in `@effect/platform`. Instead, you need to refer to the specific platform package you are working with, such as `@effect/platform-node` or `@effect/platform-bun`.
|
|
1780
|
+
|
|
1781
|
+
Here is an example using Node.js:
|
|
1782
|
+
|
|
1783
|
+
```ts
|
|
1784
|
+
import { HttpServer } from "@effect/platform"
|
|
1785
|
+
import { NodeHttpServer } from "@effect/platform-node"
|
|
1786
|
+
import { Effect } from "effect"
|
|
1787
|
+
import { listen } from "./listen.js"
|
|
1788
|
+
|
|
1789
|
+
const router = HttpServer.router.empty.pipe(
|
|
1790
|
+
HttpServer.router.get(
|
|
1791
|
+
"/",
|
|
1792
|
+
Effect.gen(function* () {
|
|
1793
|
+
const req = yield* HttpServer.request.ServerRequest
|
|
1794
|
+
const raw = NodeHttpServer.request.toIncomingMessage(req)
|
|
1795
|
+
console.log(raw)
|
|
1796
|
+
return HttpServer.response.empty()
|
|
1797
|
+
})
|
|
1798
|
+
)
|
|
1799
|
+
)
|
|
1800
|
+
|
|
1801
|
+
listen(HttpServer.server.serve(router), 3000)
|
|
1802
|
+
```
|
package/dist/cjs/Worker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Worker.js","names":["internal","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PlatformWorkerTypeId","exports","PlatformWorker","WorkerManagerTypeId","WorkerManager","makeManager","layerManager","makePool","makePoolLayer","makeSerialized","makePoolSerialized","makePoolSerializedLayer","layerSpawner"],"sources":["../../src/Worker.ts"],"sourcesContent":[null],"mappings":";;;;;;AAkBA,IAAAA,QAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAAgD,SAAAC,yBAAAC,CAAA;EAAA,yBAAAC,OAAA;EAAA,IAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAF,wBAAA,YAAAA,CAAAC,CAAA;IAAA,OAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA;EAAA,GAAAF,CAAA;AAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA;EAAA,KAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA;EAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA;IAAAK,OAAA,EAAAL;EAAA;EAAA,IAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA;EAAA,IAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA;EAAA,IAAAQ,CAAA;MAAAC,SAAA;IAAA;IAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA;EAAA,SAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA;IAAA,IAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA;IAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA;EAAA;EAAA,OAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA;AAyBhD;;;;AAIO,MAAMW,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAkBvB,QAAQ,CAACuB,oBAAoB;AAiBhF;;;;AAIO,MAAME,cAAc,GAAAD,OAAA,CAAAC,cAAA,GAAgDzB,QAAQ,CAACyB,cAAc;
|
|
1
|
+
{"version":3,"file":"Worker.js","names":["internal","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PlatformWorkerTypeId","exports","PlatformWorker","WorkerManagerTypeId","WorkerManager","makeManager","layerManager","makePool","makePoolLayer","makeSerialized","makePoolSerialized","makePoolSerializedLayer","layerSpawner"],"sources":["../../src/Worker.ts"],"sourcesContent":[null],"mappings":";;;;;;AAkBA,IAAAA,QAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAAgD,SAAAC,yBAAAC,CAAA;EAAA,yBAAAC,OAAA;EAAA,IAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAF,wBAAA,YAAAA,CAAAC,CAAA;IAAA,OAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA;EAAA,GAAAF,CAAA;AAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA;EAAA,KAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA;EAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA;IAAAK,OAAA,EAAAL;EAAA;EAAA,IAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA;EAAA,IAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA;EAAA,IAAAQ,CAAA;MAAAC,SAAA;IAAA;IAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA;EAAA,SAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA;IAAA,IAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA;IAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA;EAAA;EAAA,OAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA;AAyBhD;;;;AAIO,MAAMW,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAkBvB,QAAQ,CAACuB,oBAAoB;AAiBhF;;;;AAIO,MAAME,cAAc,GAAAD,OAAA,CAAAC,cAAA,GAAgDzB,QAAQ,CAACyB,cAAc;AA2GlG;;;;AAIO,MAAMC,mBAAmB,GAAAF,OAAA,CAAAE,mBAAA,GAAkB1B,QAAQ,CAAC0B,mBAAmB;AAmB9E;;;;AAIO,MAAMC,aAAa,GAAAH,OAAA,CAAAG,aAAA,GAA8C3B,QAAQ,CAAC2B,aAAa;AAE9F;;;;AAIO,MAAMC,WAAW,GAAAJ,OAAA,CAAAI,WAAA,GAAwD5B,QAAQ,CAAC4B,WAAW;AAEpG;;;;AAIO,MAAMC,YAAY,GAAAL,OAAA,CAAAK,YAAA,GAAsD7B,QAAQ,CAAC6B,YAAY;AAEpG;;;;AAIO,MAAMC,QAAQ,GAAAN,OAAA,CAAAM,QAAA,GAEyE9B,QAAQ,CAAC8B,QAAQ;AAE/G;;;;AAIO,MAAMC,aAAa,GAAAP,OAAA,CAAAO,aAAA,GAGoC/B,QAAQ,CAAC+B,aAAa;AA2FpF;;;;AAIO,MAAMC,cAAc,GAAAR,OAAA,CAAAQ,cAAA,GAEmEhC,QAAQ,CAACgC,cAAc;AAErH;;;;AAIO,MAAMC,kBAAkB,GAAAT,OAAA,CAAAS,kBAAA,GAG7BjC,QAAQ,CAACiC,kBAAkB;AAE7B;;;;AAIO,MAAMC,uBAAuB,GAAAV,OAAA,CAAAU,uBAAA,GAG0BlC,QAAQ,CAACkC,uBAAuB;AAE9F;;;;AAIO,MAAMC,YAAY,GAAAX,OAAA,CAAAW,YAAA,GACvBnC,QAAQ,CAACmC,YAAY","ignoreList":[]}
|
|
@@ -76,6 +76,7 @@ const makeManager = exports.makeManager = /*#__PURE__*/Effect.gen(function* () {
|
|
|
76
76
|
spawn({
|
|
77
77
|
encode,
|
|
78
78
|
initialMessage,
|
|
79
|
+
permits = 1,
|
|
79
80
|
queue,
|
|
80
81
|
transfers = _ => []
|
|
81
82
|
}) {
|
|
@@ -83,6 +84,7 @@ const makeManager = exports.makeManager = /*#__PURE__*/Effect.gen(function* () {
|
|
|
83
84
|
const spawn = yield* _(Spawner);
|
|
84
85
|
const id = idCounter++;
|
|
85
86
|
let requestIdCounter = 0;
|
|
87
|
+
const semaphore = Effect.unsafeMakeSemaphore(permits);
|
|
86
88
|
const requestMap = new Map();
|
|
87
89
|
const sendQueue = yield* Effect.acquireRelease(Queue.unbounded(), Queue.shutdown);
|
|
88
90
|
const collector = Transferable.unsafeMakeCollector();
|
|
@@ -147,13 +149,13 @@ const makeManager = exports.makeManager = /*#__PURE__*/Effect.gen(function* () {
|
|
|
147
149
|
return Stream.fromChannel(loop);
|
|
148
150
|
});
|
|
149
151
|
const executeEffect = request => Effect.acquireUseRelease(executeAcquire(request), ([, queue]) => Effect.flatMap(Queue.take(queue), Exit.map(Arr.unsafeGet(0))), executeRelease);
|
|
150
|
-
yield*
|
|
152
|
+
yield* semaphore.take(1).pipe(Effect.andThen(outbound.take), Effect.flatMap(([id, request, span]) => (0, _Function.pipe)(Effect.suspend(() => {
|
|
151
153
|
const result = requestMap.get(id);
|
|
152
154
|
if (!result) return Effect.void;
|
|
153
155
|
const transferables = transfers(request);
|
|
154
156
|
const spanTuple = Option.getOrUndefined(Option.map(span, span => [span.traceId, span.spanId, span.sampled]));
|
|
155
157
|
return (0, _Function.pipe)(Effect.flatMap(wrappedEncode(request), payload => sendQueue.offer([[id, 0, payload, spanTuple], [...transferables, ...collector.unsafeRead()]])), Effect.catchAllCause(cause => Queue.offer(result[0], Exit.failCause(cause))), Effect.zipRight(Deferred.await(result[1])));
|
|
156
|
-
}), Effect.fork)), Effect.forever, Effect.interruptible, Effect.forkScoped);
|
|
158
|
+
}), Effect.ensuring(semaphore.release(1)), Effect.fork)), Effect.forever, Effect.interruptible, Effect.forkScoped);
|
|
157
159
|
if (initialMessage) {
|
|
158
160
|
yield* Effect.sync(initialMessage).pipe(Effect.flatMap(executeEffect), Effect.mapError(error => new _WorkerError.WorkerError({
|
|
159
161
|
reason: "spawn",
|
|
@@ -176,26 +178,22 @@ const makePool = options => Effect.gen(function* () {
|
|
|
176
178
|
const manager = yield* WorkerManager;
|
|
177
179
|
const workers = new Set();
|
|
178
180
|
const acquire = (0, _Function.pipe)(manager.spawn(options), Effect.tap(worker => Effect.sync(() => workers.add(worker))), Effect.tap(worker => Effect.addFinalizer(() => Effect.sync(() => workers.delete(worker)))), options.onCreate ? Effect.tap(options.onCreate) : _Function.identity);
|
|
179
|
-
const backing = yield*
|
|
180
|
-
acquire,
|
|
181
|
-
min: options.minSize,
|
|
182
|
-
max: options.maxSize,
|
|
183
|
-
timeToLive: options.timeToLive
|
|
184
|
-
}) : Pool.make({
|
|
181
|
+
const backing = yield* Pool.make({
|
|
185
182
|
acquire,
|
|
186
183
|
size: options.size
|
|
187
184
|
});
|
|
185
|
+
const get = Effect.scoped(backing.get);
|
|
188
186
|
const pool = {
|
|
189
187
|
backing,
|
|
190
188
|
broadcast: message => Effect.forEach(workers, worker => worker.executeEffect(message), {
|
|
191
189
|
concurrency: "unbounded",
|
|
192
190
|
discard: true
|
|
193
191
|
}),
|
|
194
|
-
execute: message => Stream.
|
|
195
|
-
executeEffect: message => Effect.
|
|
192
|
+
execute: message => Stream.unwrap(Effect.map(get, worker => worker.execute(message))),
|
|
193
|
+
executeEffect: message => Effect.flatMap(get, worker => worker.executeEffect(message))
|
|
196
194
|
};
|
|
197
195
|
// report any spawn errors
|
|
198
|
-
yield*
|
|
196
|
+
yield* get;
|
|
199
197
|
return pool;
|
|
200
198
|
});
|
|
201
199
|
/** @internal */
|
|
@@ -248,17 +246,18 @@ const makePoolSerialized = options => Effect.gen(function* () {
|
|
|
248
246
|
acquire,
|
|
249
247
|
size: options.size
|
|
250
248
|
});
|
|
249
|
+
const get = Effect.scoped(backing.get);
|
|
251
250
|
const pool = {
|
|
252
251
|
backing,
|
|
253
252
|
broadcast: message => Effect.forEach(workers, worker => worker.executeEffect(message), {
|
|
254
253
|
concurrency: "unbounded",
|
|
255
254
|
discard: true
|
|
256
255
|
}),
|
|
257
|
-
execute: message => Stream.
|
|
258
|
-
executeEffect: message => Effect.
|
|
256
|
+
execute: message => Stream.unwrap(Effect.map(get, worker => worker.execute(message))),
|
|
257
|
+
executeEffect: message => Effect.flatMap(get, worker => worker.executeEffect(message))
|
|
259
258
|
};
|
|
260
259
|
// report any spawn errors
|
|
261
|
-
yield*
|
|
260
|
+
yield* get;
|
|
262
261
|
return pool;
|
|
263
262
|
});
|
|
264
263
|
/** @internal */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","names":["Schema","_interopRequireWildcard","require","Serializable","Arr","Cause","Channel","Chunk","Context","Deferred","Effect","Exit","Fiber","_Function","Layer","Option","Pool","Queue","Schedule","Stream","Tracer","Transferable","_WorkerError","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","defaultQueue","map","unbounded","queue","offer","id","item","span","take","shutdown","exports","PlatformWorkerTypeId","Symbol","for","PlatformWorker","GenericTag","WorkerManagerTypeId","WorkerManager","Spawner","makeManager","gen","platform","idCounter","of","spawn","encode","initialMessage","transfers","_","requestIdCounter","requestMap","Map","sendQueue","acquireRelease","collector","unsafeMakeCollector","wrappedEncode","message","zipRight","clear","provideService","Collector","succeed","outbound","addFinalizer","readyLatch","make","backing","send","pipe","flatMap","forever","msg","complete","void","handleMessage","all","join","fiber","await","concurrency","scoped","onError","cause","forEach","values","failCause","retry","spaced","annotateLogs","package","module","interruptible","forkScoped","empty","discard","sync","response","suspend","length","fail","WorkerError","decodeCause","executeAcquire","request","tap","serviceOption","ParentSpan","filter","_tag","deferred","executeRelease","exit","release","delete","isFailure","execute","loop","match","onFailure","isEmpty","onSuccess","value","write","unsafeFromArray","fromChannel","executeEffect","acquireUseRelease","unsafeGet","result","transferables","spanTuple","getOrUndefined","traceId","spanId","sampled","payload","unsafeRead","catchAllCause","fork","mapError","error","reason","parallelFinalizers","layerManager","effect","makePool","options","manager","workers","Set","acquire","worker","add","onCreate","identity","makeWithTTL","min","minSize","max","maxSize","timeToLive","size","pool","broadcast","unwrapScoped","makePoolLayer","tag","makeSerialized","serialize","parseSuccess","decode","successSchema","parseFailure","failureSchema","catchAll","mapEffect","matchEffect","makePoolSerialized","makePoolSerializedLayer","layerSpawner","spawner"],"sources":["../../../src/internal/worker.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"worker.js","names":["Schema","_interopRequireWildcard","require","Serializable","Arr","Cause","Channel","Chunk","Context","Deferred","Effect","Exit","Fiber","_Function","Layer","Option","Pool","Queue","Schedule","Stream","Tracer","Transferable","_WorkerError","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","defaultQueue","map","unbounded","queue","offer","id","item","span","take","shutdown","exports","PlatformWorkerTypeId","Symbol","for","PlatformWorker","GenericTag","WorkerManagerTypeId","WorkerManager","Spawner","makeManager","gen","platform","idCounter","of","spawn","encode","initialMessage","permits","transfers","_","requestIdCounter","semaphore","unsafeMakeSemaphore","requestMap","Map","sendQueue","acquireRelease","collector","unsafeMakeCollector","wrappedEncode","message","zipRight","clear","provideService","Collector","succeed","outbound","addFinalizer","readyLatch","make","backing","send","pipe","flatMap","forever","msg","complete","void","handleMessage","all","join","fiber","await","concurrency","scoped","onError","cause","forEach","values","failCause","retry","spaced","annotateLogs","package","module","interruptible","forkScoped","empty","discard","sync","response","suspend","length","fail","WorkerError","decodeCause","executeAcquire","request","tap","serviceOption","ParentSpan","filter","_tag","deferred","executeRelease","exit","release","delete","isFailure","execute","loop","match","onFailure","isEmpty","onSuccess","value","write","unsafeFromArray","fromChannel","executeEffect","acquireUseRelease","unsafeGet","andThen","result","transferables","spanTuple","getOrUndefined","traceId","spanId","sampled","payload","unsafeRead","catchAllCause","ensuring","fork","mapError","error","reason","parallelFinalizers","layerManager","effect","makePool","options","manager","workers","Set","acquire","worker","add","onCreate","identity","size","pool","broadcast","unwrap","makePoolLayer","tag","makeSerialized","serialize","parseSuccess","decode","successSchema","parseFailure","failureSchema","catchAll","mapEffect","matchEffect","makePoolSerialized","makeWithTTL","min","minSize","max","maxSize","timeToLive","makePoolSerializedLayer","layerSpawner","spawner"],"sources":["../../../src/internal/worker.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/dts/Worker.d.ts
CHANGED
|
@@ -93,10 +93,11 @@ export declare namespace Worker {
|
|
|
93
93
|
* @category models
|
|
94
94
|
*/
|
|
95
95
|
interface Options<I> {
|
|
96
|
-
readonly encode?: (message: I) => Effect.Effect<unknown, WorkerError
|
|
97
|
-
readonly transfers?: (message: I) => ReadonlyArray<unknown
|
|
98
|
-
readonly queue?: WorkerQueue<I
|
|
99
|
-
readonly initialMessage?: LazyArg<I
|
|
96
|
+
readonly encode?: ((message: I) => Effect.Effect<unknown, WorkerError>) | undefined;
|
|
97
|
+
readonly transfers?: ((message: I) => ReadonlyArray<unknown>) | undefined;
|
|
98
|
+
readonly queue?: WorkerQueue<I> | undefined;
|
|
99
|
+
readonly initialMessage?: LazyArg<I> | undefined;
|
|
100
|
+
readonly permits?: number | undefined;
|
|
100
101
|
}
|
|
101
102
|
/**
|
|
102
103
|
* @since 1.0.0
|
|
@@ -133,15 +134,10 @@ export declare namespace WorkerPool {
|
|
|
133
134
|
* @since 1.0.0
|
|
134
135
|
* @category models
|
|
135
136
|
*/
|
|
136
|
-
|
|
137
|
+
interface Options<I> extends Worker.Options<I> {
|
|
137
138
|
readonly onCreate?: (worker: Worker<I, unknown, unknown>) => Effect.Effect<void, WorkerError>;
|
|
138
139
|
readonly size: number;
|
|
139
|
-
}
|
|
140
|
-
readonly onCreate?: (worker: Worker<I, unknown, unknown>) => Effect.Effect<void, WorkerError>;
|
|
141
|
-
readonly minSize: number;
|
|
142
|
-
readonly maxSize: number;
|
|
143
|
-
readonly timeToLive: Duration.DurationInput;
|
|
144
|
-
});
|
|
140
|
+
}
|
|
145
141
|
}
|
|
146
142
|
/**
|
|
147
143
|
* @category models
|
|
@@ -227,7 +223,8 @@ export declare namespace SerializedWorker {
|
|
|
227
223
|
* @category models
|
|
228
224
|
*/
|
|
229
225
|
interface BaseOptions<I> {
|
|
230
|
-
readonly
|
|
226
|
+
readonly permits?: number | undefined;
|
|
227
|
+
readonly queue?: WorkerQueue<I> | undefined;
|
|
231
228
|
}
|
|
232
229
|
}
|
|
233
230
|
/**
|
package/dist/dts/Worker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Worker.d.ts","sourceRoot":"","sources":["../../src/Worker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Worker.d.ts","sourceRoot":"","sources":["../../src/Worker.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/Worker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Worker.js","names":["internal","PlatformWorkerTypeId","PlatformWorker","WorkerManagerTypeId","WorkerManager","makeManager","layerManager","makePool","makePoolLayer","makeSerialized","makePoolSerialized","makePoolSerializedLayer","layerSpawner"],"sources":["../../src/Worker.ts"],"sourcesContent":[null],"mappings":"AAkBA,OAAO,KAAKA,QAAQ,MAAM,sBAAsB;AAyBhD;;;;AAIA,OAAO,MAAMC,oBAAoB,GAAkBD,QAAQ,CAACC,oBAAoB;AAiBhF;;;;AAIA,OAAO,MAAMC,cAAc,GAAgDF,QAAQ,CAACE,cAAc;
|
|
1
|
+
{"version":3,"file":"Worker.js","names":["internal","PlatformWorkerTypeId","PlatformWorker","WorkerManagerTypeId","WorkerManager","makeManager","layerManager","makePool","makePoolLayer","makeSerialized","makePoolSerialized","makePoolSerializedLayer","layerSpawner"],"sources":["../../src/Worker.ts"],"sourcesContent":[null],"mappings":"AAkBA,OAAO,KAAKA,QAAQ,MAAM,sBAAsB;AAyBhD;;;;AAIA,OAAO,MAAMC,oBAAoB,GAAkBD,QAAQ,CAACC,oBAAoB;AAiBhF;;;;AAIA,OAAO,MAAMC,cAAc,GAAgDF,QAAQ,CAACE,cAAc;AA2GlG;;;;AAIA,OAAO,MAAMC,mBAAmB,GAAkBH,QAAQ,CAACG,mBAAmB;AAmB9E;;;;AAIA,OAAO,MAAMC,aAAa,GAA8CJ,QAAQ,CAACI,aAAa;AAE9F;;;;AAIA,OAAO,MAAMC,WAAW,GAAwDL,QAAQ,CAACK,WAAW;AAEpG;;;;AAIA,OAAO,MAAMC,YAAY,GAAsDN,QAAQ,CAACM,YAAY;AAEpG;;;;AAIA,OAAO,MAAMC,QAAQ,GAEyEP,QAAQ,CAACO,QAAQ;AAE/G;;;;AAIA,OAAO,MAAMC,aAAa,GAGoCR,QAAQ,CAACQ,aAAa;AA2FpF;;;;AAIA,OAAO,MAAMC,cAAc,GAEmET,QAAQ,CAACS,cAAc;AAErH;;;;AAIA,OAAO,MAAMC,kBAAkB,GAG7BV,QAAQ,CAACU,kBAAkB;AAE7B;;;;AAIA,OAAO,MAAMC,uBAAuB,GAG0BX,QAAQ,CAACW,uBAAuB;AAE9F;;;;AAIA,OAAO,MAAMC,YAAY,GACvBZ,QAAQ,CAACY,YAAY","ignoreList":[]}
|
|
@@ -44,6 +44,7 @@ export const makeManager = /*#__PURE__*/Effect.gen(function* () {
|
|
|
44
44
|
spawn({
|
|
45
45
|
encode,
|
|
46
46
|
initialMessage,
|
|
47
|
+
permits = 1,
|
|
47
48
|
queue,
|
|
48
49
|
transfers = _ => []
|
|
49
50
|
}) {
|
|
@@ -51,6 +52,7 @@ export const makeManager = /*#__PURE__*/Effect.gen(function* () {
|
|
|
51
52
|
const spawn = yield* _(Spawner);
|
|
52
53
|
const id = idCounter++;
|
|
53
54
|
let requestIdCounter = 0;
|
|
55
|
+
const semaphore = Effect.unsafeMakeSemaphore(permits);
|
|
54
56
|
const requestMap = new Map();
|
|
55
57
|
const sendQueue = yield* Effect.acquireRelease(Queue.unbounded(), Queue.shutdown);
|
|
56
58
|
const collector = Transferable.unsafeMakeCollector();
|
|
@@ -115,13 +117,13 @@ export const makeManager = /*#__PURE__*/Effect.gen(function* () {
|
|
|
115
117
|
return Stream.fromChannel(loop);
|
|
116
118
|
});
|
|
117
119
|
const executeEffect = request => Effect.acquireUseRelease(executeAcquire(request), ([, queue]) => Effect.flatMap(Queue.take(queue), Exit.map(Arr.unsafeGet(0))), executeRelease);
|
|
118
|
-
yield*
|
|
120
|
+
yield* semaphore.take(1).pipe(Effect.andThen(outbound.take), Effect.flatMap(([id, request, span]) => pipe(Effect.suspend(() => {
|
|
119
121
|
const result = requestMap.get(id);
|
|
120
122
|
if (!result) return Effect.void;
|
|
121
123
|
const transferables = transfers(request);
|
|
122
124
|
const spanTuple = Option.getOrUndefined(Option.map(span, span => [span.traceId, span.spanId, span.sampled]));
|
|
123
125
|
return pipe(Effect.flatMap(wrappedEncode(request), payload => sendQueue.offer([[id, 0, payload, spanTuple], [...transferables, ...collector.unsafeRead()]])), Effect.catchAllCause(cause => Queue.offer(result[0], Exit.failCause(cause))), Effect.zipRight(Deferred.await(result[1])));
|
|
124
|
-
}), Effect.fork)), Effect.forever, Effect.interruptible, Effect.forkScoped);
|
|
126
|
+
}), Effect.ensuring(semaphore.release(1)), Effect.fork)), Effect.forever, Effect.interruptible, Effect.forkScoped);
|
|
125
127
|
if (initialMessage) {
|
|
126
128
|
yield* Effect.sync(initialMessage).pipe(Effect.flatMap(executeEffect), Effect.mapError(error => new WorkerError({
|
|
127
129
|
reason: "spawn",
|
|
@@ -144,26 +146,22 @@ export const makePool = options => Effect.gen(function* () {
|
|
|
144
146
|
const manager = yield* WorkerManager;
|
|
145
147
|
const workers = new Set();
|
|
146
148
|
const acquire = pipe(manager.spawn(options), Effect.tap(worker => Effect.sync(() => workers.add(worker))), Effect.tap(worker => Effect.addFinalizer(() => Effect.sync(() => workers.delete(worker)))), options.onCreate ? Effect.tap(options.onCreate) : identity);
|
|
147
|
-
const backing = yield*
|
|
148
|
-
acquire,
|
|
149
|
-
min: options.minSize,
|
|
150
|
-
max: options.maxSize,
|
|
151
|
-
timeToLive: options.timeToLive
|
|
152
|
-
}) : Pool.make({
|
|
149
|
+
const backing = yield* Pool.make({
|
|
153
150
|
acquire,
|
|
154
151
|
size: options.size
|
|
155
152
|
});
|
|
153
|
+
const get = Effect.scoped(backing.get);
|
|
156
154
|
const pool = {
|
|
157
155
|
backing,
|
|
158
156
|
broadcast: message => Effect.forEach(workers, worker => worker.executeEffect(message), {
|
|
159
157
|
concurrency: "unbounded",
|
|
160
158
|
discard: true
|
|
161
159
|
}),
|
|
162
|
-
execute: message => Stream.
|
|
163
|
-
executeEffect: message => Effect.
|
|
160
|
+
execute: message => Stream.unwrap(Effect.map(get, worker => worker.execute(message))),
|
|
161
|
+
executeEffect: message => Effect.flatMap(get, worker => worker.executeEffect(message))
|
|
164
162
|
};
|
|
165
163
|
// report any spawn errors
|
|
166
|
-
yield*
|
|
164
|
+
yield* get;
|
|
167
165
|
return pool;
|
|
168
166
|
});
|
|
169
167
|
/** @internal */
|
|
@@ -213,17 +211,18 @@ export const makePoolSerialized = options => Effect.gen(function* () {
|
|
|
213
211
|
acquire,
|
|
214
212
|
size: options.size
|
|
215
213
|
});
|
|
214
|
+
const get = Effect.scoped(backing.get);
|
|
216
215
|
const pool = {
|
|
217
216
|
backing,
|
|
218
217
|
broadcast: message => Effect.forEach(workers, worker => worker.executeEffect(message), {
|
|
219
218
|
concurrency: "unbounded",
|
|
220
219
|
discard: true
|
|
221
220
|
}),
|
|
222
|
-
execute: message => Stream.
|
|
223
|
-
executeEffect: message => Effect.
|
|
221
|
+
execute: message => Stream.unwrap(Effect.map(get, worker => worker.execute(message))),
|
|
222
|
+
executeEffect: message => Effect.flatMap(get, worker => worker.executeEffect(message))
|
|
224
223
|
};
|
|
225
224
|
// report any spawn errors
|
|
226
|
-
yield*
|
|
225
|
+
yield* get;
|
|
227
226
|
return pool;
|
|
228
227
|
});
|
|
229
228
|
/** @internal */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","names":["Schema","Serializable","Arr","Cause","Channel","Chunk","Context","Deferred","Effect","Exit","Fiber","identity","pipe","Layer","Option","Pool","Queue","Schedule","Stream","Tracer","Transferable","WorkerError","defaultQueue","map","unbounded","queue","offer","id","item","span","take","shutdown","PlatformWorkerTypeId","Symbol","for","PlatformWorker","GenericTag","WorkerManagerTypeId","WorkerManager","Spawner","makeManager","gen","platform","idCounter","of","spawn","encode","initialMessage","transfers","_","requestIdCounter","requestMap","Map","sendQueue","acquireRelease","collector","unsafeMakeCollector","wrappedEncode","message","zipRight","clear","provideService","Collector","succeed","outbound","addFinalizer","readyLatch","make","backing","send","flatMap","forever","msg","complete","void","handleMessage","all","join","fiber","await","concurrency","scoped","onError","cause","forEach","values","failCause","retry","spaced","annotateLogs","package","module","interruptible","forkScoped","empty","discard","sync","response","suspend","get","length","fail","decodeCause","executeAcquire","request","tap","serviceOption","ParentSpan","filter","_tag","deferred","set","executeRelease","exit","release","delete","isFailure","execute","loop","match","onFailure","isEmpty","onSuccess","value","write","unsafeFromArray","fromChannel","executeEffect","acquireUseRelease","unsafeGet","result","transferables","spanTuple","getOrUndefined","traceId","spanId","sampled","payload","unsafeRead","catchAllCause","fork","mapError","error","reason","parallelFinalizers","layerManager","effect","makePool","options","manager","workers","Set","acquire","worker","add","onCreate","makeWithTTL","min","minSize","max","maxSize","timeToLive","size","pool","broadcast","unwrapScoped","makePoolLayer","tag","makeSerialized","serialize","parseSuccess","decode","successSchema","parseFailure","failureSchema","catchAll","mapEffect","matchEffect","makePoolSerialized","makePoolSerializedLayer","layerSpawner","spawner"],"sources":["../../../src/internal/worker.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"worker.js","names":["Schema","Serializable","Arr","Cause","Channel","Chunk","Context","Deferred","Effect","Exit","Fiber","identity","pipe","Layer","Option","Pool","Queue","Schedule","Stream","Tracer","Transferable","WorkerError","defaultQueue","map","unbounded","queue","offer","id","item","span","take","shutdown","PlatformWorkerTypeId","Symbol","for","PlatformWorker","GenericTag","WorkerManagerTypeId","WorkerManager","Spawner","makeManager","gen","platform","idCounter","of","spawn","encode","initialMessage","permits","transfers","_","requestIdCounter","semaphore","unsafeMakeSemaphore","requestMap","Map","sendQueue","acquireRelease","collector","unsafeMakeCollector","wrappedEncode","message","zipRight","clear","provideService","Collector","succeed","outbound","addFinalizer","readyLatch","make","backing","send","flatMap","forever","msg","complete","void","handleMessage","all","join","fiber","await","concurrency","scoped","onError","cause","forEach","values","failCause","retry","spaced","annotateLogs","package","module","interruptible","forkScoped","empty","discard","sync","response","suspend","get","length","fail","decodeCause","executeAcquire","request","tap","serviceOption","ParentSpan","filter","_tag","deferred","set","executeRelease","exit","release","delete","isFailure","execute","loop","match","onFailure","isEmpty","onSuccess","value","write","unsafeFromArray","fromChannel","executeEffect","acquireUseRelease","unsafeGet","andThen","result","transferables","spanTuple","getOrUndefined","traceId","spanId","sampled","payload","unsafeRead","catchAllCause","ensuring","fork","mapError","error","reason","parallelFinalizers","layerManager","effect","makePool","options","manager","workers","Set","acquire","worker","add","onCreate","size","pool","broadcast","unwrap","makePoolLayer","tag","makeSerialized","serialize","parseSuccess","decode","successSchema","parseFailure","failureSchema","catchAll","mapEffect","matchEffect","makePoolSerialized","makeWithTTL","min","minSize","max","maxSize","timeToLive","makePoolSerializedLayer","layerSpawner","spawner"],"sources":["../../../src/internal/worker.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/platform",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.55.1",
|
|
4
4
|
"description": "Unified interfaces for common platform-specific services",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
"path-browserify": "^1.0.1"
|
|
16
16
|
},
|
|
17
17
|
"peerDependencies": {
|
|
18
|
-
"@effect/schema": "^0.67.
|
|
19
|
-
"effect": "^3.2.
|
|
18
|
+
"@effect/schema": "^0.67.14",
|
|
19
|
+
"effect": "^3.2.5"
|
|
20
20
|
},
|
|
21
21
|
"publishConfig": {
|
|
22
22
|
"provenance": true
|
package/src/Worker.ts
CHANGED
|
@@ -104,10 +104,11 @@ export declare namespace Worker {
|
|
|
104
104
|
* @category models
|
|
105
105
|
*/
|
|
106
106
|
export interface Options<I> {
|
|
107
|
-
readonly encode?: (message: I) => Effect.Effect<unknown, WorkerError>
|
|
108
|
-
readonly transfers?: (message: I) => ReadonlyArray<unknown>
|
|
109
|
-
readonly queue?: WorkerQueue<I>
|
|
110
|
-
readonly initialMessage?: LazyArg<I>
|
|
107
|
+
readonly encode?: ((message: I) => Effect.Effect<unknown, WorkerError>) | undefined
|
|
108
|
+
readonly transfers?: ((message: I) => ReadonlyArray<unknown>) | undefined
|
|
109
|
+
readonly queue?: WorkerQueue<I> | undefined
|
|
110
|
+
readonly initialMessage?: LazyArg<I> | undefined
|
|
111
|
+
readonly permits?: number | undefined
|
|
111
112
|
}
|
|
112
113
|
|
|
113
114
|
/**
|
|
@@ -156,17 +157,10 @@ export declare namespace WorkerPool {
|
|
|
156
157
|
* @since 1.0.0
|
|
157
158
|
* @category models
|
|
158
159
|
*/
|
|
159
|
-
export
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
readonly size: number
|
|
164
|
-
} | {
|
|
165
|
-
readonly onCreate?: (worker: Worker<I, unknown, unknown>) => Effect.Effect<void, WorkerError>
|
|
166
|
-
readonly minSize: number
|
|
167
|
-
readonly maxSize: number
|
|
168
|
-
readonly timeToLive: Duration.DurationInput
|
|
169
|
-
})
|
|
160
|
+
export interface Options<I> extends Worker.Options<I> {
|
|
161
|
+
readonly onCreate?: (worker: Worker<I, unknown, unknown>) => Effect.Effect<void, WorkerError>
|
|
162
|
+
readonly size: number
|
|
163
|
+
}
|
|
170
164
|
}
|
|
171
165
|
|
|
172
166
|
/**
|
|
@@ -276,7 +270,8 @@ export declare namespace SerializedWorker {
|
|
|
276
270
|
* @category models
|
|
277
271
|
*/
|
|
278
272
|
export interface BaseOptions<I> {
|
|
279
|
-
readonly
|
|
273
|
+
readonly permits?: number | undefined
|
|
274
|
+
readonly queue?: WorkerQueue<I> | undefined
|
|
280
275
|
}
|
|
281
276
|
}
|
|
282
277
|
|
package/src/internal/worker.ts
CHANGED
|
@@ -67,6 +67,7 @@ export const makeManager = Effect.gen(function*() {
|
|
|
67
67
|
spawn<I, O, E>({
|
|
68
68
|
encode,
|
|
69
69
|
initialMessage,
|
|
70
|
+
permits = 1,
|
|
70
71
|
queue,
|
|
71
72
|
transfers = (_) => []
|
|
72
73
|
}: Worker.Worker.Options<I>) {
|
|
@@ -74,6 +75,7 @@ export const makeManager = Effect.gen(function*() {
|
|
|
74
75
|
const spawn = yield* _(Spawner)
|
|
75
76
|
const id = idCounter++
|
|
76
77
|
let requestIdCounter = 0
|
|
78
|
+
const semaphore = Effect.unsafeMakeSemaphore(permits)
|
|
77
79
|
const requestMap = new Map<
|
|
78
80
|
number,
|
|
79
81
|
readonly [Queue.Queue<Exit.Exit<ReadonlyArray<O>, E | WorkerError>>, Deferred.Deferred<void>]
|
|
@@ -235,7 +237,8 @@ export const makeManager = Effect.gen(function*() {
|
|
|
235
237
|
executeRelease
|
|
236
238
|
)
|
|
237
239
|
|
|
238
|
-
yield*
|
|
240
|
+
yield* semaphore.take(1).pipe(
|
|
241
|
+
Effect.andThen(outbound.take),
|
|
239
242
|
Effect.flatMap(([id, request, span]) =>
|
|
240
243
|
pipe(
|
|
241
244
|
Effect.suspend(() => {
|
|
@@ -258,6 +261,7 @@ export const makeManager = Effect.gen(function*() {
|
|
|
258
261
|
Effect.zipRight(Deferred.await(result[1]))
|
|
259
262
|
)
|
|
260
263
|
}),
|
|
264
|
+
Effect.ensuring(semaphore.release(1)),
|
|
261
265
|
Effect.fork
|
|
262
266
|
)
|
|
263
267
|
),
|
|
@@ -295,17 +299,11 @@ export const makePool = <I, O, E>(
|
|
|
295
299
|
Effect.tap((worker) => Effect.addFinalizer(() => Effect.sync(() => workers.delete(worker)))),
|
|
296
300
|
options.onCreate ? Effect.tap(options.onCreate) : identity
|
|
297
301
|
)
|
|
298
|
-
const backing = yield*
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
timeToLive: options.timeToLive
|
|
304
|
-
}) :
|
|
305
|
-
Pool.make({
|
|
306
|
-
acquire,
|
|
307
|
-
size: options.size
|
|
308
|
-
})
|
|
302
|
+
const backing = yield* Pool.make({
|
|
303
|
+
acquire,
|
|
304
|
+
size: options.size
|
|
305
|
+
})
|
|
306
|
+
const get = Effect.scoped(backing.get)
|
|
309
307
|
const pool: Worker.WorkerPool<I, O, E> = {
|
|
310
308
|
backing,
|
|
311
309
|
broadcast: (message: I) =>
|
|
@@ -313,21 +311,12 @@ export const makePool = <I, O, E>(
|
|
|
313
311
|
concurrency: "unbounded",
|
|
314
312
|
discard: true
|
|
315
313
|
}),
|
|
316
|
-
execute: (message: I) =>
|
|
317
|
-
|
|
318
|
-
Effect.map(
|
|
319
|
-
backing.get,
|
|
320
|
-
(worker) => worker.execute(message)
|
|
321
|
-
)
|
|
322
|
-
),
|
|
323
|
-
executeEffect: (message: I) =>
|
|
324
|
-
Effect.scoped(
|
|
325
|
-
Effect.flatMap(backing.get, (worker) => worker.executeEffect(message))
|
|
326
|
-
)
|
|
314
|
+
execute: (message: I) => Stream.unwrap(Effect.map(get, (worker) => worker.execute(message))),
|
|
315
|
+
executeEffect: (message: I) => Effect.flatMap(get, (worker) => worker.executeEffect(message))
|
|
327
316
|
}
|
|
328
317
|
|
|
329
318
|
// report any spawn errors
|
|
330
|
-
yield*
|
|
319
|
+
yield* get
|
|
331
320
|
|
|
332
321
|
return pool
|
|
333
322
|
})
|
|
@@ -408,6 +397,7 @@ export const makePoolSerialized = <I extends Schema.TaggedRequest.Any>(
|
|
|
408
397
|
acquire,
|
|
409
398
|
size: options.size
|
|
410
399
|
})
|
|
400
|
+
const get = Effect.scoped(backing.get)
|
|
411
401
|
const pool: Worker.SerializedWorkerPool<I> = {
|
|
412
402
|
backing,
|
|
413
403
|
broadcast: <Req extends I>(message: Req) =>
|
|
@@ -416,20 +406,13 @@ export const makePoolSerialized = <I extends Schema.TaggedRequest.Any>(
|
|
|
416
406
|
discard: true
|
|
417
407
|
}) as any,
|
|
418
408
|
execute: <Req extends I>(message: Req) =>
|
|
419
|
-
Stream.
|
|
420
|
-
Effect.map(
|
|
421
|
-
backing.get,
|
|
422
|
-
(worker) => worker.execute(message)
|
|
423
|
-
)
|
|
424
|
-
) as any,
|
|
409
|
+
Stream.unwrap(Effect.map(get, (worker) => worker.execute(message))) as any,
|
|
425
410
|
executeEffect: <Req extends I>(message: Req) =>
|
|
426
|
-
Effect.
|
|
427
|
-
Effect.flatMap(backing.get, (worker) => worker.executeEffect(message))
|
|
428
|
-
) as any
|
|
411
|
+
Effect.flatMap(get, (worker) => worker.executeEffect(message)) as any
|
|
429
412
|
}
|
|
430
413
|
|
|
431
414
|
// report any spawn errors
|
|
432
|
-
yield*
|
|
415
|
+
yield* get
|
|
433
416
|
|
|
434
417
|
return pool
|
|
435
418
|
})
|