@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 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
+ ```
@@ -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;AAiHlG;;;;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;AA0FpF;;;;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":[]}
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* outbound.take.pipe(Effect.flatMap(([id, request, span]) => (0, _Function.pipe)(Effect.suspend(() => {
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* "timeToLive" in options ? Pool.makeWithTTL({
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.unwrapScoped(Effect.map(backing.get, worker => worker.execute(message))),
195
- executeEffect: message => Effect.scoped(Effect.flatMap(backing.get, worker => worker.executeEffect(message)))
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* Effect.scoped(backing.get);
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.unwrapScoped(Effect.map(backing.get, worker => worker.execute(message))),
258
- executeEffect: message => Effect.scoped(Effect.flatMap(backing.get, worker => worker.executeEffect(message)))
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* Effect.scoped(backing.get);
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":[]}
@@ -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
- type Options<I> = Worker.Options<I> & ({
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 queue?: WorkerQueue<I>;
226
+ readonly permits?: number | undefined;
227
+ readonly queue?: WorkerQueue<I> | undefined;
231
228
  }
232
229
  }
233
230
  /**
@@ -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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"}
@@ -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;AAiHlG;;;;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;AA0FpF;;;;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":[]}
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* outbound.take.pipe(Effect.flatMap(([id, request, span]) => pipe(Effect.suspend(() => {
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* "timeToLive" in options ? Pool.makeWithTTL({
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.unwrapScoped(Effect.map(backing.get, worker => worker.execute(message))),
163
- executeEffect: message => Effect.scoped(Effect.flatMap(backing.get, worker => worker.executeEffect(message)))
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* Effect.scoped(backing.get);
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.unwrapScoped(Effect.map(backing.get, worker => worker.execute(message))),
223
- executeEffect: message => Effect.scoped(Effect.flatMap(backing.get, worker => worker.executeEffect(message)))
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* Effect.scoped(backing.get);
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.54.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.12",
19
- "effect": "^3.2.4"
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 type Options<I> =
160
- & Worker.Options<I>
161
- & ({
162
- readonly onCreate?: (worker: Worker<I, unknown, unknown>) => Effect.Effect<void, WorkerError>
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 queue?: WorkerQueue<I>
273
+ readonly permits?: number | undefined
274
+ readonly queue?: WorkerQueue<I> | undefined
280
275
  }
281
276
  }
282
277
 
@@ -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* outbound.take.pipe(
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* "timeToLive" in options ?
299
- Pool.makeWithTTL({
300
- acquire,
301
- min: options.minSize,
302
- max: options.maxSize,
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
- Stream.unwrapScoped(
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* Effect.scoped(backing.get)
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.unwrapScoped(
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.scoped(
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* Effect.scoped(backing.get)
415
+ yield* get
433
416
 
434
417
  return pool
435
418
  })