@effect/platform 0.54.0 → 0.55.0

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
@@ -679,6 +679,9 @@ timestamp=... level=INFO fiber=#0 message="Listening on http://localhost:3000"
679
679
  */
680
680
  ```
681
681
 
682
+ > [!NOTE]
683
+ > 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.
684
+
682
685
  Bun Example
683
686
 
684
687
  ```ts
@@ -805,10 +808,7 @@ const router = HttpServer.router.empty.pipe(
805
808
  HttpServer.router.get("/", HttpServer.response.file("index.html"))
806
809
  )
807
810
 
808
- const app = router.pipe(
809
- HttpServer.server.serve(),
810
- HttpServer.server.withLogAddress
811
- )
811
+ const app = router.pipe(HttpServer.server.serve())
812
812
 
813
813
  listen(app, 3000)
814
814
  ```
@@ -952,10 +952,7 @@ const router = HttpServer.router.empty.pipe(
952
952
  )
953
953
  )
954
954
 
955
- const app = router.pipe(
956
- HttpServer.server.serve(),
957
- HttpServer.server.withLogAddress
958
- )
955
+ const app = router.pipe(HttpServer.server.serve())
959
956
 
960
957
  listen(app, 3000)
961
958
  ```
@@ -1003,10 +1000,7 @@ const router = HttpServer.router.empty.pipe(
1003
1000
  HttpServer.router.mount("/birds", birds)
1004
1001
  )
1005
1002
 
1006
- const app = router.pipe(
1007
- HttpServer.server.serve(),
1008
- HttpServer.server.withLogAddress
1009
- )
1003
+ const app = router.pipe(HttpServer.server.serve())
1010
1004
 
1011
1005
  listen(app, 3000)
1012
1006
  ```
@@ -1054,8 +1048,7 @@ const router = HttpServer.router.empty.pipe(
1054
1048
 
1055
1049
  const app = router.pipe(
1056
1050
  HttpServer.router.use(myLogger),
1057
- HttpServer.server.serve(),
1058
- HttpServer.server.withLogAddress
1051
+ HttpServer.server.serve()
1059
1052
  )
1060
1053
 
1061
1054
  listen(app, 3000)
@@ -1105,8 +1098,7 @@ const router = HttpServer.router.empty.pipe(
1105
1098
 
1106
1099
  const app = router.pipe(
1107
1100
  HttpServer.router.use(requestTime),
1108
- HttpServer.server.serve(),
1109
- HttpServer.server.withLogAddress
1101
+ HttpServer.server.serve()
1110
1102
  )
1111
1103
 
1112
1104
  listen(app, 3000)
@@ -1177,8 +1169,7 @@ const router = HttpServer.router.empty.pipe(
1177
1169
 
1178
1170
  const app = router.pipe(
1179
1171
  HttpServer.router.use(cookieValidator),
1180
- HttpServer.server.serve(),
1181
- HttpServer.server.withLogAddress
1172
+ HttpServer.server.serve()
1182
1173
  )
1183
1174
 
1184
1175
  listen(app, 3000)
@@ -1194,6 +1185,260 @@ curl -i http://localhost:3000 --cookie "testCookie="
1194
1185
 
1195
1186
  This setup validates the `testCookie` and returns "Invalid cookie" if the validation fails, or "Hello World" if it passes.
1196
1187
 
1188
+ ## Applying Middleware in Your Application
1189
+
1190
+ 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:
1191
+
1192
+ - **Route Level**: Apply middleware to individual routes.
1193
+ - **Router Level**: Apply middleware to a group of routes within a single router.
1194
+ - **Server Level**: Apply middleware across all routes managed by a server.
1195
+
1196
+ ### Applying Middleware at the Route Level
1197
+
1198
+ 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.
1199
+
1200
+ **Example**
1201
+
1202
+ Here’s a practical example showing how to apply middleware at the route level:
1203
+
1204
+ ```ts
1205
+ import { HttpServer } from "@effect/platform"
1206
+ import { Effect } from "effect"
1207
+ import { listen } from "./listen.js"
1208
+
1209
+ // Middleware constructor that logs the name of the middleware
1210
+ const withMiddleware = (name: string) =>
1211
+ HttpServer.middleware.make((app) =>
1212
+ Effect.gen(function* () {
1213
+ console.log(name) // Log the middleware name when the route is accessed
1214
+ return yield* app // Continue with the original application flow
1215
+ })
1216
+ )
1217
+
1218
+ const router = HttpServer.router.empty.pipe(
1219
+ // Applying middleware to route "/a"
1220
+ HttpServer.router.get(
1221
+ "/a",
1222
+ HttpServer.response.text("a").pipe(withMiddleware("M1"))
1223
+ ),
1224
+ // Applying middleware to route "/b"
1225
+ HttpServer.router.get(
1226
+ "/b",
1227
+ HttpServer.response.text("b").pipe(withMiddleware("M2"))
1228
+ )
1229
+ )
1230
+
1231
+ const app = router.pipe(HttpServer.server.serve())
1232
+
1233
+ listen(app, 3000)
1234
+ ```
1235
+
1236
+ **Testing the Middleware**
1237
+
1238
+ You can test the middleware by making requests to the respective routes and observing the console output:
1239
+
1240
+ ```sh
1241
+ # Test route /a
1242
+ curl -i http://localhost:3000/a
1243
+ # Expected console output: M1
1244
+
1245
+ # Test route /b
1246
+ curl -i http://localhost:3000/b
1247
+ # Expected console output: M2
1248
+ ```
1249
+
1250
+ ### Applying Middleware at the Router Level
1251
+
1252
+ 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.
1253
+
1254
+ **Example**
1255
+
1256
+ Here’s how you can structure and apply middleware across different routers using the `@effect/platform` library:
1257
+
1258
+ ```ts
1259
+ import { HttpServer } from "@effect/platform"
1260
+ import { Effect } from "effect"
1261
+ import { listen } from "./listen.js"
1262
+
1263
+ // Middleware constructor that logs the name of the middleware
1264
+ const withMiddleware = (name: string) =>
1265
+ HttpServer.middleware.make((app) =>
1266
+ Effect.gen(function* () {
1267
+ console.log(name) // Log the middleware name when a route is accessed
1268
+ return yield* app // Continue with the original application flow
1269
+ })
1270
+ )
1271
+
1272
+ // Define Router1 with specific routes
1273
+ const router1 = HttpServer.router.empty.pipe(
1274
+ HttpServer.router.get("/a", HttpServer.response.text("a")), // Middleware M4, M3, M1 will apply
1275
+ HttpServer.router.get("/b", HttpServer.response.text("b")), // Middleware M4, M3, M1 will apply
1276
+ // Apply Middleware at the router level
1277
+ HttpServer.router.use(withMiddleware("M1")),
1278
+ HttpServer.router.get("/c", HttpServer.response.text("c")) // Middleware M4, M3 will apply
1279
+ )
1280
+
1281
+ // Define Router2 with specific routes
1282
+ const router2 = HttpServer.router.empty.pipe(
1283
+ HttpServer.router.get("/d", HttpServer.response.text("d")), // Middleware M4, M2 will apply
1284
+ HttpServer.router.get("/e", HttpServer.response.text("e")), // Middleware M4, M2 will apply
1285
+ HttpServer.router.get("/f", HttpServer.response.text("f")), // Middleware M4, M2 will apply
1286
+ // Apply Middleware at the router level
1287
+ HttpServer.router.use(withMiddleware("M2"))
1288
+ )
1289
+
1290
+ // Main router combining Router1 and Router2
1291
+ const router = HttpServer.router.empty.pipe(
1292
+ HttpServer.router.mount("/r1", router1),
1293
+ // Apply Middleware affecting all routes under /r1
1294
+ HttpServer.router.use(withMiddleware("M3")),
1295
+ HttpServer.router.get("/g", HttpServer.response.text("g")), // Only Middleware M4 will apply
1296
+ HttpServer.router.mount("/r2", router2),
1297
+ // Apply Middleware affecting all routes
1298
+ HttpServer.router.use(withMiddleware("M4"))
1299
+ )
1300
+
1301
+ // Configure the application with the server middleware
1302
+ const app = router.pipe(HttpServer.server.serve())
1303
+
1304
+ listen(app, 3000)
1305
+ ```
1306
+
1307
+ **Testing the Middleware**
1308
+
1309
+ 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:
1310
+
1311
+ ```sh
1312
+ # Test route /a under router1
1313
+ curl -i http://localhost:3000/r1/a
1314
+ # Expected console output: M4 M3 M1
1315
+
1316
+ # Test route /c under router1
1317
+ curl -i http://localhost:3000/r1/c
1318
+ # Expected console output: M4 M3
1319
+
1320
+ # Test route /d under router2
1321
+ curl -i http://localhost:3000/r2/d
1322
+ # Expected console output: M4 M2
1323
+
1324
+ # Test route /g under the main router
1325
+ curl -i http://localhost:3000/g
1326
+ # Expected console output: M4
1327
+ ```
1328
+
1329
+ ### Applying Middleware at the Server Level
1330
+
1331
+ 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.
1332
+
1333
+ **Example**
1334
+
1335
+ ```ts
1336
+ import { HttpServer } from "@effect/platform"
1337
+ import { Effect } from "effect"
1338
+ import { listen } from "./listen.js"
1339
+
1340
+ // Middleware constructor that logs the name of the middleware
1341
+ const withMiddleware = (name: string) =>
1342
+ HttpServer.middleware.make((app) =>
1343
+ Effect.gen(function* () {
1344
+ console.log(name) // Log the middleware name when the route is accessed
1345
+ return yield* app // Continue with the original application flow
1346
+ })
1347
+ )
1348
+
1349
+ const router = HttpServer.router.empty.pipe(
1350
+ HttpServer.router.get(
1351
+ "/a",
1352
+ HttpServer.response.text("a").pipe(withMiddleware("M1"))
1353
+ ),
1354
+ HttpServer.router.get("/b", HttpServer.response.text("b")),
1355
+ HttpServer.router.use(withMiddleware("M2")),
1356
+ HttpServer.router.get("/", HttpServer.response.text("root"))
1357
+ )
1358
+
1359
+ const app = router.pipe(HttpServer.server.serve(withMiddleware("M3")))
1360
+
1361
+ listen(app, 3000)
1362
+ ```
1363
+
1364
+ **Testing the Middleware**
1365
+
1366
+ To confirm the middleware is functioning as intended, you can send HTTP requests to the defined routes and check the console for middleware logs:
1367
+
1368
+ ```sh
1369
+ # Test route /a and observe the middleware logs
1370
+ curl -i http://localhost:3000/a
1371
+ # Expected console output: M3 M2 M1 - Middleware M3 (server-level), M2 (router-level), and M1 (route-level) apply.
1372
+
1373
+ # Test route /b and observe the middleware logs
1374
+ curl -i http://localhost:3000/b
1375
+ # Expected console output: M3 M2 - Middleware M3 (server-level) and M2 (router-level) apply.
1376
+
1377
+ # Test route / and observe the middleware logs
1378
+ curl -i http://localhost:3000/
1379
+ # Expected console output: M3 M2 - Middleware M3 (server-level) and M2 (router-level) apply.
1380
+ ```
1381
+
1382
+ ### Applying Multiple Middlewares
1383
+
1384
+ 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.
1385
+
1386
+ **Example**
1387
+
1388
+ ```ts
1389
+ import { HttpServer } from "@effect/platform"
1390
+ import { Effect, flow } from "effect"
1391
+ import { listen } from "./listen.js"
1392
+
1393
+ // Middleware constructor that logs the middleware's name when a route is accessed
1394
+ const withMiddleware = (name: string) =>
1395
+ HttpServer.middleware.make((app) =>
1396
+ Effect.gen(function* () {
1397
+ console.log(name) // Log the middleware name
1398
+ return yield* app // Continue with the original application flow
1399
+ })
1400
+ )
1401
+
1402
+ // Setup routes and apply multiple middlewares using flow for function composition
1403
+ const router = HttpServer.router.empty.pipe(
1404
+ HttpServer.router.get(
1405
+ "/a",
1406
+ HttpServer.response
1407
+ .text("a")
1408
+ .pipe(flow(withMiddleware("M1"), withMiddleware("M2")))
1409
+ ),
1410
+ HttpServer.router.get("/b", HttpServer.response.text("b")),
1411
+ // Apply combined middlewares to the entire router
1412
+ HttpServer.router.use(flow(withMiddleware("M3"), withMiddleware("M4"))),
1413
+ HttpServer.router.get("/", HttpServer.response.text("root"))
1414
+ )
1415
+
1416
+ // Apply combined middlewares at the server level
1417
+ const app = router.pipe(
1418
+ HttpServer.server.serve(flow(withMiddleware("M5"), withMiddleware("M6")))
1419
+ )
1420
+
1421
+ listen(app, 3000)
1422
+ ```
1423
+
1424
+ **Testing the Middleware Composition**
1425
+
1426
+ 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:
1427
+
1428
+ ```sh
1429
+ # Test route /a to see the output from multiple middleware layers
1430
+ curl -i http://localhost:3000/a
1431
+ # Expected console output: M6 M5 M4 M3 M2 M1
1432
+
1433
+ # Test route /b where fewer middleware are applied
1434
+ curl -i http://localhost:3000/b
1435
+ # Expected console output: M6 M5 M4 M3
1436
+
1437
+ # Test the root route to confirm top-level middleware application
1438
+ curl -i http://localhost:3000/
1439
+ # Expected console output: M6 M5
1440
+ ```
1441
+
1197
1442
  ## Built-in middleware
1198
1443
 
1199
1444
  ### Middleware Summary
@@ -1216,10 +1461,7 @@ const router = HttpServer.router.empty.pipe(
1216
1461
  )
1217
1462
 
1218
1463
  // Apply the logger middleware globally
1219
- const app = router.pipe(
1220
- HttpServer.server.serve(HttpServer.middleware.logger),
1221
- HttpServer.server.withLogAddress
1222
- )
1464
+ const app = router.pipe(HttpServer.server.serve(HttpServer.middleware.logger))
1223
1465
 
1224
1466
  listen(app, 3000)
1225
1467
  /*
@@ -1250,10 +1492,7 @@ const router = HttpServer.router.empty.pipe(
1250
1492
  )
1251
1493
 
1252
1494
  // Apply the logger middleware globally
1253
- const app = router.pipe(
1254
- HttpServer.server.serve(HttpServer.middleware.logger),
1255
- HttpServer.server.withLogAddress
1256
- )
1495
+ const app = router.pipe(HttpServer.server.serve(HttpServer.middleware.logger))
1257
1496
 
1258
1497
  listen(app, 3000)
1259
1498
  /*
@@ -1286,8 +1525,7 @@ const router = HttpServer.router.empty.pipe(
1286
1525
 
1287
1526
  // Set up the server with xForwardedHeaders middleware
1288
1527
  const app = router.pipe(
1289
- HttpServer.server.serve(HttpServer.middleware.xForwardedHeaders),
1290
- HttpServer.server.withLogAddress
1528
+ HttpServer.server.serve(HttpServer.middleware.xForwardedHeaders)
1291
1529
  )
1292
1530
 
1293
1531
  listen(app, 3000)
@@ -1336,8 +1574,7 @@ const app = router.pipe(
1336
1574
  Effect.catchAllCause((cause) =>
1337
1575
  HttpServer.response.text(cause.toString(), { status: 500 })
1338
1576
  ),
1339
- HttpServer.server.serve(),
1340
- HttpServer.server.withLogAddress
1577
+ HttpServer.server.serve()
1341
1578
  )
1342
1579
 
1343
1580
  listen(app, 3000)
@@ -1388,10 +1625,7 @@ const router = HttpServer.router.empty.pipe(
1388
1625
  )
1389
1626
  )
1390
1627
 
1391
- const app = router.pipe(
1392
- HttpServer.server.serve(),
1393
- HttpServer.server.withLogAddress
1394
- )
1628
+ const app = router.pipe(HttpServer.server.serve())
1395
1629
 
1396
1630
  listen(app, 3000)
1397
1631
  ```
@@ -1434,10 +1668,7 @@ const router = HttpServer.router.empty.pipe(
1434
1668
  )
1435
1669
  )
1436
1670
 
1437
- const app = router.pipe(
1438
- HttpServer.server.serve(),
1439
- HttpServer.server.withLogAddress
1440
- )
1671
+ const app = router.pipe(HttpServer.server.serve())
1441
1672
 
1442
1673
  listen(app, 3000)
1443
1674
  ```
@@ -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":"AAAA,OAAO,KAAKA,MAAM,MAAM,uBAAuB;AAC/C,OAAO,KAAKC,YAAY,MAAM,6BAA6B;AAC3D,OAAO,KAAKC,GAAG,MAAM,cAAc;AACnC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,SAASC,QAAQ,EAAEC,IAAI,QAAQ,iBAAiB;AAChD,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAE3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,YAAY,MAAM,oBAAoB;AAElD,SAASC,WAAW,QAAQ,mBAAmB;AAE/C;AACA,OAAO,MAAMC,YAAY,GAAGA,CAAA,KAC1Bd,MAAM,CAACe,GAAG,CACRP,KAAK,CAACQ,SAAS,EAAoE,EAClFC,KAAK,KAA6B;EACjCC,KAAK,EAAEA,CAACC,EAAE,EAAEC,IAAI,EAAEC,IAAI,KAAKb,KAAK,CAACU,KAAK,CAACD,KAAK,EAAE,CAACE,EAAE,EAAEC,IAAI,EAAEC,IAAI,CAAC,CAAC;EAC/DC,IAAI,EAAEd,KAAK,CAACc,IAAI,CAACL,KAAK,CAAC;EACvBM,QAAQ,EAAEf,KAAK,CAACe,QAAQ,CAACN,KAAK;CAC/B,CAAC,CACH;AAEH;AACA,OAAO,MAAMO,oBAAoB,gBAAgCC,MAAM,CAACC,GAAG,CACzE,wCAAwC,CACV;AAEhC;AACA,OAAO,MAAMC,cAAc,gBAAG7B,OAAO,CAAC8B,UAAU,CAC9C,wCAAwC,CACzC;AAED;AACA,OAAO,MAAMC,mBAAmB,gBAA+BJ,MAAM,CAACC,GAAG,CACvE,uCAAuC,CACV;AAE/B;AACA,OAAO,MAAMI,aAAa,gBAAGhC,OAAO,CAAC8B,UAAU,CAC7C,uCAAuC,CACxC;AAED;AACA,OAAO,MAAMG,OAAO,gBAAGjC,OAAO,CAAC8B,UAAU,CACvC,iCAAiC,CAClC;AAED;AACA,OAAO,MAAMI,WAAW,gBAAGhC,MAAM,CAACiC,GAAG,CAAC,aAAS;EAC7C,MAAMC,QAAQ,GAAG,OAAOP,cAAc;EACtC,IAAIQ,SAAS,GAAG,CAAC;EACjB,OAAOL,aAAa,CAACM,EAAE,CAAC;IACtB,CAACP,mBAAmB,GAAGA,mBAAmB;IAC1CQ,KAAKA,CAAU;MACbC,MAAM;MACNC,cAAc;MACdtB,KAAK;MACLuB,SAAS,GAAIC,CAAC,IAAK;IAAE,CACI;MACzB,OAAOzC,MAAM,CAACiC,GAAG,CAAC,WAAUQ,CAAC;QAC3B,MAAMJ,KAAK,GAAG,OAAOI,CAAC,CAACV,OAAO,CAAC;QAC/B,MAAMZ,EAAE,GAAGgB,SAAS,EAAE;QACtB,IAAIO,gBAAgB,GAAG,CAAC;QACxB,MAAMC,UAAU,GAAG,IAAIC,GAAG,EAGvB;QACH,MAAMC,SAAS,GAAG,OAAO7C,MAAM,CAAC8C,cAAc,CAC5CtC,KAAK,CAACQ,SAAS,EAAiF,EAChGR,KAAK,CAACe,QAAQ,CACf;QAED,MAAMwB,SAAS,GAAGnC,YAAY,CAACoC,mBAAmB,EAAE;QACpD,MAAMC,aAAa,GAAGX,MAAM,GACxBY,OAAU,IACVlD,MAAM,CAACmD,QAAQ,CACbJ,SAAS,CAACK,KAAK,EACfpD,MAAM,CAACqD,cAAc,CAACf,MAAM,CAACY,OAAO,CAAC,EAAEtC,YAAY,CAAC0C,SAAS,EAAEP,SAAS,CAAC,CAC1E,GACH/C,MAAM,CAACuD,OAAO;QAEhB,MAAMC,QAAQ,GAAGvC,KAAK,KAAK,OAAOH,YAAY,EAAK,CAAC;QACpD,OAAOd,MAAM,CAACyD,YAAY,CAAC,MAAMD,QAAQ,CAACjC,QAAQ,CAAC;QAEnD,OAAOvB,MAAM,CAACiC,GAAG,CAAC,aAAS;UACzB,MAAMyB,UAAU,GAAG,OAAO3D,QAAQ,CAAC4D,IAAI,EAAQ;UAC/C,MAAMC,OAAO,GAAG,OAAO1B,QAAQ,CAACG,KAAK,CAAsDA,KAAK,CAAClB,EAAE,CAAC,CAAC;UACrG,MAAM0C,IAAI,GAAGzD,IAAI,CACfyC,SAAS,CAACvB,IAAI,EACdtB,MAAM,CAAC8D,OAAO,CAAC,CAAC,CAACZ,OAAO,EAAEV,SAAS,CAAC,KAAKoB,OAAO,CAACC,IAAI,CAACX,OAAO,EAAEV,SAAS,CAAC,CAAC,EAC1ExC,MAAM,CAAC+D,OAAO,CACf;UACD,MAAMzC,IAAI,GAAGlB,IAAI,CACfI,KAAK,CAACc,IAAI,CAACsC,OAAO,CAAC3C,KAAK,CAAC,EACzBjB,MAAM,CAAC8D,OAAO,CAAEE,GAAG,IAAI;YACrB,IAAIA,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;cAChB,OAAOjE,QAAQ,CAACkE,QAAQ,CAACP,UAAU,EAAE1D,MAAM,CAACkE,IAAI,CAAC;YACnD;YACA,OAAOC,aAAa,CAACH,GAAG,CAAC,CAAC,CAAC,CAAC;UAC9B,CAAC,CAAC,EACFhE,MAAM,CAAC+D,OAAO,CACf;UACD,OAAO,OAAO/D,MAAM,CAACoE,GAAG,CAAC,CACvBlE,KAAK,CAACmE,IAAI,CAACT,OAAO,CAACU,KAAK,CAAC,EACzBtE,MAAM,CAACmD,QAAQ,CAACpD,QAAQ,CAACwE,KAAK,CAACb,UAAU,CAAC,EAAEG,IAAI,CAAC,EACjDvC,IAAI,CACL,EAAE;YAAEkD,WAAW,EAAE;UAAW,CAAE,CAAC;QAClC,CAAC,CAAC,CAACpE,IAAI,CACLJ,MAAM,CAACyE,MAAM,EACbzE,MAAM,CAAC0E,OAAO,CAAEC,KAAK,IACnB3E,MAAM,CAAC4E,OAAO,CAACjC,UAAU,CAACkC,MAAM,EAAE,EAAE,CAAC,CAAC5D,KAAK,CAAC,KAAKT,KAAK,CAACU,KAAK,CAACD,KAAK,EAAEhB,IAAI,CAAC6E,SAAS,CAACH,KAAK,CAAC,CAAC,CAAC,CAC5F,EACD3E,MAAM,CAAC+E,KAAK,CAACtE,QAAQ,CAACuE,MAAM,CAAC,IAAI,CAAC,CAAC,EACnChF,MAAM,CAACiF,YAAY,CAAC;UAClBC,OAAO,EAAE,kBAAkB;UAC3BC,MAAM,EAAE;SACT,CAAC,EACFnF,MAAM,CAACoF,aAAa,EACpBpF,MAAM,CAACqF,UAAU,CAClB;QAED,OAAOrF,MAAM,CAACyD,YAAY,CAAC,MACzBzD,MAAM,CAACmD,QAAQ,CACbnD,MAAM,CAAC4E,OAAO,CAACjC,UAAU,CAACkC,MAAM,EAAE,EAAE,CAAC,CAAC5D,KAAK,CAAC,KAAKT,KAAK,CAACU,KAAK,CAACD,KAAK,EAAEhB,IAAI,CAAC6E,SAAS,CAACnF,KAAK,CAAC2F,KAAK,CAAC,CAAC,EAAE;UAChGC,OAAO,EAAE;SACV,CAAC,EACFvF,MAAM,CAACwF,IAAI,CAAC,MAAM7C,UAAU,CAACS,KAAK,EAAE,CAAC,CACtC,CACF;QAED,MAAMe,aAAa,GAAIsB,QAAsC,IAC3DzF,MAAM,CAAC0F,OAAO,CAAC,MAAK;UAClB,MAAMzE,KAAK,GAAG0B,UAAU,CAACgD,GAAG,CAACF,QAAQ,CAAC,CAAC,CAAC,CAAC;UACzC,IAAI,CAACxE,KAAK,EAAE,OAAOjB,MAAM,CAACkE,IAAI;UAE9B,QAAQuB,QAAQ,CAAC,CAAC,CAAC;YACjB;YACA,KAAK,CAAC;cAAE;gBACN,OAAOjF,KAAK,CAACU,KAAK,CAACD,KAAK,CAAC,CAAC,CAAC,EAAEhB,IAAI,CAACsD,OAAO,CAACkC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;cACzD;YACA;YACA,KAAK,CAAC;cAAE;gBACN,OAAOA,QAAQ,CAACG,MAAM,KAAK,CAAC,GAC1BpF,KAAK,CAACU,KAAK,CAACD,KAAK,CAAC,CAAC,CAAC,EAAEhB,IAAI,CAAC6E,SAAS,CAACnF,KAAK,CAAC2F,KAAK,CAAC,CAAC,GAClDtF,MAAM,CAACmD,QAAQ,CACb3C,KAAK,CAACU,KAAK,CAACD,KAAK,CAAC,CAAC,CAAC,EAAEhB,IAAI,CAACsD,OAAO,CAACkC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAChDjF,KAAK,CAACU,KAAK,CAACD,KAAK,CAAC,CAAC,CAAC,EAAEhB,IAAI,CAAC6E,SAAS,CAACnF,KAAK,CAAC2F,KAAK,CAAC,CAAC,CACnD;cACL;YACA;YACA,KAAK,CAAC;YACN,KAAK,CAAC;cAAE;gBACN,OAAO9E,KAAK,CAACU,KAAK,CAChBD,KAAK,CAAC,CAAC,CAAC,EACRwE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GACbxF,IAAI,CAAC4F,IAAI,CAACJ,QAAQ,CAAC,CAAC,CAAC,CAAC,GACtBxF,IAAI,CAAC6E,SAAS,CAACjE,WAAW,CAACiF,WAAW,CAACL,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CACzD;cACH;UACF;QACF,CAAC,CAAC;QAEJ,MAAMM,cAAc,GAAIC,OAAU,IAChChG,MAAM,CAACiG,GAAG,CACRjG,MAAM,CAACoE,GAAG,CAAC,CACTpE,MAAM,CAACwF,IAAI,CAAC,MAAM9C,gBAAgB,EAAE,CAAC,EACrClC,KAAK,CAACQ,SAAS,EAAgD,EAC/DjB,QAAQ,CAAC4D,IAAI,EAAQ,EACrB3D,MAAM,CAACe,GAAG,CACRf,MAAM,CAACkG,aAAa,CAACvF,MAAM,CAACwF,UAAU,CAAC,EACvC7F,MAAM,CAAC8F,MAAM,CAAE/E,IAAI,IAA0BA,IAAI,CAACgF,IAAI,KAAK,MAAM,CAAC,CACnE,CACF,CAAC,EACF,CAAC,CAAClF,EAAE,EAAEF,KAAK,EAAEqF,QAAQ,EAAEjF,IAAI,CAAC,KAC1BrB,MAAM,CAAC0F,OAAO,CAAC,MAAK;UAClB/C,UAAU,CAAC4D,GAAG,CAACpF,EAAE,EAAE,CAACF,KAAK,EAAEqF,QAAQ,CAAC,CAAC;UACrC,OAAO9C,QAAQ,CAACtC,KAAK,CAACC,EAAE,EAAE6E,OAAO,EAAE3E,IAAI,CAAC;QAC1C,CAAC,CAAC,CACL;QAEH,MAAMmF,cAAc,GAAGA,CACrB,CAACrF,EAAE,GAAImF,QAAQ,CAKd,EACDG,IAAiC,KAC/B;UACF,MAAMC,OAAO,GAAG1G,MAAM,CAACmD,QAAQ,CAC7BpD,QAAQ,CAACkE,QAAQ,CAACqC,QAAQ,EAAEtG,MAAM,CAACkE,IAAI,CAAC,EACxClE,MAAM,CAACwF,IAAI,CAAC,MAAM7C,UAAU,CAACgE,MAAM,CAACxF,EAAE,CAAC,CAAC,CACzC;UACD,OAAOlB,IAAI,CAAC2G,SAAS,CAACH,IAAI,CAAC,GACzBzG,MAAM,CAACmD,QAAQ,CAACN,SAAS,CAAC3B,KAAK,CAAC,CAAC,CAACC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAEuF,OAAO,CAAC,GACpDA,OAAO;QACX,CAAC;QAED,MAAMG,OAAO,GAAIb,OAAU,IACzBtF,MAAM,CAACoD,OAAO,CACZpD,MAAM,CAACoC,cAAc,CACnBiD,cAAc,CAACC,OAAO,CAAC,EACvBQ,cAAc,CACf,EACD,CAAC,GAAGvF,KAAK,CAAC,KAAI;UACZ,MAAM6F,IAAI,GAAsFlH,OAAO,CACpGkE,OAAO,CACNtD,KAAK,CAACc,IAAI,CAACL,KAAK,CAAC,EACjBhB,IAAI,CAAC8G,KAAK,CAAC;YACTC,SAAS,EAAGrC,KAAK,IAAKhF,KAAK,CAACsH,OAAO,CAACtC,KAAK,CAAC,GAAG/E,OAAO,CAACsE,IAAI,GAAGtE,OAAO,CAACkF,SAAS,CAACH,KAAK,CAAC;YACpFuC,SAAS,EAAGC,KAAK,IAAKvH,OAAO,CAACkE,OAAO,CAAClE,OAAO,CAACwH,KAAK,CAACvH,KAAK,CAACwH,eAAe,CAACF,KAAK,CAAC,CAAC,EAAE,MAAML,IAAI;WAC9F,CAAC,CACH;UACH,OAAOpG,MAAM,CAAC4G,WAAW,CAACR,IAAI,CAAC;QACjC,CAAC,CACF;QAEH,MAAMS,aAAa,GAAIvB,OAAU,IAC/BhG,MAAM,CAACwH,iBAAiB,CACtBzB,cAAc,CAACC,OAAO,CAAC,EACvB,CAAC,GAAG/E,KAAK,CAAC,KAAKjB,MAAM,CAAC8D,OAAO,CAACtD,KAAK,CAACc,IAAI,CAACL,KAAK,CAAC,EAAEhB,IAAI,CAACc,GAAG,CAACrB,GAAG,CAAC+H,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAC5EjB,cAAc,CACf;QAEH,OAAOhD,QAAQ,CAAClC,IAAI,CAAClB,IAAI,CACvBJ,MAAM,CAAC8D,OAAO,CAAC,CAAC,CAAC3C,EAAE,EAAE6E,OAAO,EAAE3E,IAAI,CAAC,KACjCjB,IAAI,CACFJ,MAAM,CAAC0F,OAAO,CAAC,MAAK;UAClB,MAAMgC,MAAM,GAAG/E,UAAU,CAACgD,GAAG,CAACxE,EAAE,CAAC;UACjC,IAAI,CAACuG,MAAM,EAAE,OAAO1H,MAAM,CAACkE,IAAI;UAC/B,MAAMyD,aAAa,GAAGnF,SAAS,CAACwD,OAAO,CAAC;UACxC,MAAM4B,SAAS,GAAGtH,MAAM,CAACuH,cAAc,CACrCvH,MAAM,CAACS,GAAG,CAACM,IAAI,EAAGA,IAAI,IAAK,CAACA,IAAI,CAACyG,OAAO,EAAEzG,IAAI,CAAC0G,MAAM,EAAE1G,IAAI,CAAC2G,OAAO,CAAU,CAAC,CAC/E;UACD,OAAO5H,IAAI,CACTJ,MAAM,CAAC8D,OAAO,CACZb,aAAa,CAAC+C,OAAO,CAAC,EACrBiC,OAAO,IACNpF,SAAS,CAAC3B,KAAK,CAAC,CAAC,CAACC,EAAE,EAAE,CAAC,EAAE8G,OAAO,EAAEL,SAAS,CAAC,EAAE,CAC5C,GAAGD,aAAa,EAChB,GAAG5E,SAAS,CAACmF,UAAU,EAAE,CAC1B,CAAC,CAAC,CACN,EACDlI,MAAM,CAACmI,aAAa,CAAExD,KAAK,IAAKnE,KAAK,CAACU,KAAK,CAACwG,MAAM,CAAC,CAAC,CAAC,EAAEzH,IAAI,CAAC6E,SAAS,CAACH,KAAK,CAAC,CAAC,CAAC,EAC9E3E,MAAM,CAACmD,QAAQ,CAACpD,QAAQ,CAACwE,KAAK,CAACmD,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAC3C;QACH,CAAC,CAAC,EACF1H,MAAM,CAACoI,IAAI,CACZ,CACF,EACDpI,MAAM,CAAC+D,OAAO,EACd/D,MAAM,CAACoF,aAAa,EACpBpF,MAAM,CAACqF,UAAU,CAClB;QAED,IAAI9C,cAAc,EAAE;UAClB,OAAOvC,MAAM,CAACwF,IAAI,CAACjD,cAAc,CAAC,CAACnC,IAAI,CACrCJ,MAAM,CAAC8D,OAAO,CAACyD,aAAa,CAAC,EAC7BvH,MAAM,CAACqI,QAAQ,CAAEC,KAAK,IAAK,IAAIzH,WAAW,CAAC;YAAE0H,MAAM,EAAE,OAAO;YAAED;UAAK,CAAE,CAAC,CAAC,CACxE;QACH;QAEA,OAAO;UAAEnH,EAAE;UAAE0F,OAAO;UAAEU;QAAa,CAAE;MACvC,CAAC,CAAC,CAACnH,IAAI,CAACJ,MAAM,CAACwI,kBAAkB,CAAC;IACpC;GACD,CAAC;AACJ,CAAC,CAAC;AAEF;AACA,OAAO,MAAMC,YAAY,gBAAGpI,KAAK,CAACqI,MAAM,CAAC5G,aAAa,EAAEE,WAAW,CAAC;AAEpE;AACA,OAAO,MAAM2G,QAAQ,GACnBC,OAAqC,IAErC5I,MAAM,CAACiC,GAAG,CAAC,aAAS;EAClB,MAAM4G,OAAO,GAAG,OAAO/G,aAAa;EACpC,MAAMgH,OAAO,GAAG,IAAIC,GAAG,EAA0B;EACjD,MAAMC,OAAO,GAAG5I,IAAI,CAClByI,OAAO,CAACxG,KAAK,CAAUuG,OAAO,CAAC,EAC/B5I,MAAM,CAACiG,GAAG,CAAEgD,MAAM,IAAKjJ,MAAM,CAACwF,IAAI,CAAC,MAAMsD,OAAO,CAACI,GAAG,CAACD,MAAM,CAAC,CAAC,CAAC,EAC9DjJ,MAAM,CAACiG,GAAG,CAAEgD,MAAM,IAAKjJ,MAAM,CAACyD,YAAY,CAAC,MAAMzD,MAAM,CAACwF,IAAI,CAAC,MAAMsD,OAAO,CAACnC,MAAM,CAACsC,MAAM,CAAC,CAAC,CAAC,CAAC,EAC5FL,OAAO,CAACO,QAAQ,GAAGnJ,MAAM,CAACiG,GAAG,CAAC2C,OAAO,CAACO,QAAQ,CAAC,GAAGhJ,QAAQ,CAC3D;EACD,MAAMyD,OAAO,GAAG,OAAO,YAAY,IAAIgF,OAAO,GAC5CrI,IAAI,CAAC6I,WAAW,CAAC;IACfJ,OAAO;IACPK,GAAG,EAAET,OAAO,CAACU,OAAO;IACpBC,GAAG,EAAEX,OAAO,CAACY,OAAO;IACpBC,UAAU,EAAEb,OAAO,CAACa;GACrB,CAAC,GACFlJ,IAAI,CAACoD,IAAI,CAAC;IACRqF,OAAO;IACPU,IAAI,EAAEd,OAAO,CAACc;GACf,CAAC;EACJ,MAAMC,IAAI,GAA+B;IACvC/F,OAAO;IACPgG,SAAS,EAAG1G,OAAU,IACpBlD,MAAM,CAAC4E,OAAO,CAACkE,OAAO,EAAGG,MAAM,IAAKA,MAAM,CAAC1B,aAAa,CAACrE,OAAO,CAAC,EAAE;MACjEsB,WAAW,EAAE,WAAW;MACxBe,OAAO,EAAE;KACV,CAAC;IACJsB,OAAO,EAAG3D,OAAU,IAClBxC,MAAM,CAACmJ,YAAY,CACjB7J,MAAM,CAACe,GAAG,CACR6C,OAAO,CAAC+B,GAAG,EACVsD,MAAM,IAAKA,MAAM,CAACpC,OAAO,CAAC3D,OAAO,CAAC,CACpC,CACF;IACHqE,aAAa,EAAGrE,OAAU,IACxBlD,MAAM,CAACyE,MAAM,CACXzE,MAAM,CAAC8D,OAAO,CAACF,OAAO,CAAC+B,GAAG,EAAGsD,MAAM,IAAKA,MAAM,CAAC1B,aAAa,CAACrE,OAAO,CAAC,CAAC;GAE3E;EAED;EACA,OAAOlD,MAAM,CAACyE,MAAM,CAACb,OAAO,CAAC+B,GAAG,CAAC;EAEjC,OAAOgE,IAAI;AACb,CAAC,CAAC;AAEJ;AACA,OAAO,MAAMG,aAAa,GAAGA,CAC3BC,GAAiD,EACjDnB,OAAqC,KAClCvI,KAAK,CAACoE,MAAM,CAACsF,GAAG,EAAEpB,QAAQ,CAACC,OAAO,CAAC,CAAC;AAEzC;AACA,OAAO,MAAMoB,cAAc,GAGzBpB,OAA2C,IAE3C5I,MAAM,CAACiC,GAAG,CAAC,aAAS;EAClB,MAAM4G,OAAO,GAAG,OAAO/G,aAAa;EACpC,MAAM8B,OAAO,GAAG,OAAOiF,OAAO,CAACxG,KAAK,CAAC;IACnC,GAAGuG,OAAc;IACjBtG,MAAMA,CAACY,OAAO;MACZ,OAAOlD,MAAM,CAACqI,QAAQ,CACpB5I,YAAY,CAACwK,SAAS,CAAC/G,OAAc,CAAC,EACrCoF,KAAK,IAAK,IAAIzH,WAAW,CAAC;QAAE0H,MAAM,EAAE,QAAQ;QAAED;MAAK,CAAE,CAAC,CACxD;IACH;GACD,CAAC;EACF,MAAMzB,OAAO,GAAmB3D,OAAY,IAAI;IAC9C,MAAMgH,YAAY,GAAG1K,MAAM,CAAC2K,MAAM,CAAC1K,YAAY,CAAC2K,aAAa,CAAClH,OAAc,CAAC,CAAC;IAC9E,MAAMmH,YAAY,GAAG7K,MAAM,CAAC2K,MAAM,CAAC1K,YAAY,CAAC6K,aAAa,CAACpH,OAAc,CAAC,CAAC;IAC9E,OAAO9C,IAAI,CACTwD,OAAO,CAACiD,OAAO,CAAC3D,OAAO,CAAC,EACxBxC,MAAM,CAAC6J,QAAQ,CAAEjC,KAAK,IAAKtI,MAAM,CAAC8D,OAAO,CAACuG,YAAY,CAAC/B,KAAK,CAAC,EAAEtI,MAAM,CAAC6F,IAAI,CAAC,CAAC,EAC5EnF,MAAM,CAAC8J,SAAS,CAACN,YAAY,CAAC,CAC/B;EACH,CAAC;EACD,MAAM3C,aAAa,GAAmBrE,OAAY,IAAI;IACpD,MAAMgH,YAAY,GAAG1K,MAAM,CAAC2K,MAAM,CAAC1K,YAAY,CAAC2K,aAAa,CAAClH,OAAc,CAAC,CAAC;IAC9E,MAAMmH,YAAY,GAAG7K,MAAM,CAAC2K,MAAM,CAAC1K,YAAY,CAAC6K,aAAa,CAACpH,OAAc,CAAC,CAAC;IAC9E,OAAOlD,MAAM,CAACyK,WAAW,CAAC7G,OAAO,CAAC2D,aAAa,CAACrE,OAAO,CAAC,EAAE;MACxD8D,SAAS,EAAGsB,KAAK,IAAKtI,MAAM,CAAC8D,OAAO,CAACuG,YAAY,CAAC/B,KAAK,CAAC,EAAEtI,MAAM,CAAC6F,IAAI,CAAC;MACtEqB,SAAS,EAAEgD;KACZ,CAAC;EACJ,CAAC;EACD,OAAO/J,QAAQ,CAA6B;IAC1CgB,EAAE,EAAEyC,OAAO,CAACzC,EAAE;IACd0F,OAAO,EAAEA,OAAc;IACvBU,aAAa,EAAEA;GAChB,CAAC;AACJ,CAAC,CAAC;AAEJ;AACA,OAAO,MAAMmD,kBAAkB,GAC7B9B,OAA+C,IAE/C5I,MAAM,CAACiC,GAAG,CAAC,aAAS;EAClB,MAAM4G,OAAO,GAAG,OAAO/G,aAAa;EACpC,MAAMgH,OAAO,GAAG,IAAIC,GAAG,EAA8B;EACrD,MAAMC,OAAO,GAAG5I,IAAI,CAClB4J,cAAc,CAAIpB,OAAO,CAAC,EAC1B5I,MAAM,CAACiG,GAAG,CAAEgD,MAAM,IAAKjJ,MAAM,CAACwF,IAAI,CAAC,MAAMsD,OAAO,CAACI,GAAG,CAACD,MAAM,CAAC,CAAC,CAAC,EAC9DjJ,MAAM,CAACiG,GAAG,CAAEgD,MAAM,IAAKjJ,MAAM,CAACyD,YAAY,CAAC,MAAMzD,MAAM,CAACwF,IAAI,CAAC,MAAMsD,OAAO,CAACnC,MAAM,CAACsC,MAAM,CAAC,CAAC,CAAC,CAAC,EAC5FL,OAAO,CAACO,QAAQ,GACZnJ,MAAM,CAACiG,GAAG,CACV2C,OAAO,CAACO,QAAoF,CAC7F,GACChJ,QAAQ,EACZH,MAAM,CAACqD,cAAc,CAACvB,aAAa,EAAE+G,OAAO,CAAC,CAC9C;EACD,MAAMjF,OAAO,GAAG,OAAO,YAAY,IAAIgF,OAAO,GAC5CrI,IAAI,CAAC6I,WAAW,CAAC;IACfJ,OAAO;IACPK,GAAG,EAAET,OAAO,CAACU,OAAO;IACpBC,GAAG,EAAEX,OAAO,CAACY,OAAO;IACpBC,UAAU,EAAEb,OAAO,CAACa;GACrB,CAAC,GACFlJ,IAAI,CAACoD,IAAI,CAAC;IACRqF,OAAO;IACPU,IAAI,EAAEd,OAAO,CAACc;GACf,CAAC;EACJ,MAAMC,IAAI,GAAmC;IAC3C/F,OAAO;IACPgG,SAAS,EAAkB1G,OAAY,IACrClD,MAAM,CAAC4E,OAAO,CAACkE,OAAO,EAAGG,MAAM,IAAKA,MAAM,CAAC1B,aAAa,CAACrE,OAAO,CAAC,EAAE;MACjEsB,WAAW,EAAE,WAAW;MACxBe,OAAO,EAAE;KACV,CAAQ;IACXsB,OAAO,EAAkB3D,OAAY,IACnCxC,MAAM,CAACmJ,YAAY,CACjB7J,MAAM,CAACe,GAAG,CACR6C,OAAO,CAAC+B,GAAG,EACVsD,MAAM,IAAKA,MAAM,CAACpC,OAAO,CAAC3D,OAAO,CAAC,CACpC,CACK;IACVqE,aAAa,EAAkBrE,OAAY,IACzClD,MAAM,CAACyE,MAAM,CACXzE,MAAM,CAAC8D,OAAO,CAACF,OAAO,CAAC+B,GAAG,EAAGsD,MAAM,IAAKA,MAAM,CAAC1B,aAAa,CAACrE,OAAO,CAAC,CAAC;GAE3E;EAED;EACA,OAAOlD,MAAM,CAACyE,MAAM,CAACb,OAAO,CAAC+B,GAAG,CAAC;EAEjC,OAAOgE,IAAI;AACb,CAAC,CAAC;AAEJ;AACA,OAAO,MAAMgB,uBAAuB,GAAGA,CACrCZ,GAAqD,EACrDnB,OAA+C,KAC5CvI,KAAK,CAACoE,MAAM,CAACsF,GAAG,EAAEW,kBAAkB,CAAC9B,OAAO,CAAC,CAAC;AAEnD;AACA,OAAO,MAAMgC,YAAY,GAAiBC,OAA4B,IACpExK,KAAK,CAACkD,OAAO,CACXxB,OAAO,EACP8I,OAAO,CACR","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.0",
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.13",
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
  })