@effect/platform 0.53.14 → 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;AAkHlG;;;;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,GAEmE9B,QAAQ,CAAC8B,QAAQ;AAEzG;;;;AAIO,MAAMC,aAAa,GAAAP,OAAA,CAAAO,aAAA,GAG8B/B,QAAQ,CAAC+B,aAAa;AA2F9E;;;;AAIO,MAAMC,cAAc,GAAAR,OAAA,CAAAQ,cAAA,GAEmEhC,QAAQ,CAACgC,cAAc;AAErH;;;;AAIO,MAAMC,kBAAkB,GAAAT,OAAA,CAAAS,kBAAA,GAE6DjC,QAAQ,CAACiC,kBAAkB;AAEvH;;;;AAIO,MAAMC,uBAAuB,GAAAV,OAAA,CAAAU,uBAAA,GAGoBlC,QAAQ,CAACkC,uBAAuB;AAExF;;;;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":[]}
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.isWorkerError = exports.WorkerErrorTypeId = exports.WorkerError = void 0;
7
7
  var Schema = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/schema/Schema"));
8
- var Cause = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Cause"));
9
- var _Function = /*#__PURE__*/require("effect/Function");
10
8
  var Predicate = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Predicate"));
11
9
  var internal = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./internal/workerError.js"));
12
10
  function _getRequireWildcardCache(e) {
@@ -48,23 +46,14 @@ const WorkerErrorTypeId = exports.WorkerErrorTypeId = internal.WorkerErrorTypeId
48
46
  * @category predicates
49
47
  */
50
48
  const isWorkerError = u => Predicate.hasProperty(u, WorkerErrorTypeId);
51
- exports.isWorkerError = isWorkerError;
52
- const causeDefectPretty = /*#__PURE__*/Schema.transform(Schema.Unknown, Schema.Unknown, {
53
- decode: _Function.identity,
54
- encode: defect => {
55
- if (Predicate.isObject(defect)) {
56
- return Cause.pretty(Cause.die(defect));
57
- }
58
- return String(defect);
59
- }
60
- });
61
49
  /**
62
50
  * @since 1.0.0
63
51
  * @category errors
64
52
  */
53
+ exports.isWorkerError = isWorkerError;
65
54
  class WorkerError extends Schema.TaggedError()("WorkerError", {
66
55
  reason: Schema.Literal("spawn", "decode", "send", "unknown", "encode"),
67
- error: causeDefectPretty
56
+ error: Schema.CauseDefectUnknown
68
57
  }) {
69
58
  /**
70
59
  * @since 1.0.0
@@ -74,7 +63,6 @@ class WorkerError extends Schema.TaggedError()("WorkerError", {
74
63
  * @since 1.0.0
75
64
  */
76
65
  static Cause = Schema.Cause({
77
- defect: causeDefectPretty,
78
66
  error: this
79
67
  });
80
68
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"WorkerError.js","names":["Schema","_interopRequireWildcard","require","Cause","_Function","Predicate","internal","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","WorkerErrorTypeId","exports","isWorkerError","hasProperty","causeDefectPretty","transform","Unknown","decode","identity","encode","defect","isObject","pretty","die","String","WorkerError","TaggedError","reason","Literal","error","encodeCause","encodeSync","decodeCause","decodeSync","message","Error"],"sources":["../../src/WorkerError.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"WorkerError.js","names":["Schema","_interopRequireWildcard","require","Predicate","internal","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","WorkerErrorTypeId","exports","isWorkerError","hasProperty","WorkerError","TaggedError","reason","Literal","error","CauseDefectUnknown","Cause","encodeCause","encodeSync","decodeCause","decodeSync","message","Error","String"],"sources":["../../src/WorkerError.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,MAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAEA,IAAAC,SAAA,gBAAAF,uBAAA,eAAAC,OAAA;AACA,IAAAE,QAAA,gBAAAH,uBAAA,eAAAC,OAAA;AAAqD,SAAAG,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,SAAAL,wBAAAK,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;AANrD;;;;AAQA;;;;AAIO,MAAMW,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAkBrB,QAAQ,CAACqB,iBAAiB;AAQ1E;;;;AAIO,MAAME,aAAa,GAAIP,CAAU,IAAuBjB,SAAS,CAACyB,WAAW,CAACR,CAAC,EAAEK,iBAAiB,CAAC;AAE1G;;;;AAAAC,OAAA,CAAAC,aAAA,GAAAA,aAAA;AAIM,MAAOE,WAAY,SAAQ7B,MAAM,CAAC8B,WAAW,EAAe,CAAC,aAAa,EAAE;EAChFC,MAAM,EAAE/B,MAAM,CAACgC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;EACtEC,KAAK,EAAEjC,MAAM,CAACkC;CACf,CAAC;EACA;;;EAGS,CAACT,iBAAiB,IAAuBA,iBAAiB;EAEnE;;;EAGA,OAAgBU,KAAK,GAGjBnC,MAAM,CAACmC,KAAK,CAAC;IAAEF,KAAK,EAAE;EAAI,CAAE,CAAC;EAEjC;;;EAGA,OAAgBG,WAAW,GAA0EpC,MAAM,CACxGqC,UAAU,CACT,IAAI,CAACF,KAAK,CACX;EAEH;;;EAGA,OAAgBG,WAAW,GAA0EtC,MAAM,CACxGuC,UAAU,CACT,IAAI,CAACJ,KAAK,CACX;EAEH;;;EAGA,IAAIK,OAAOA,CAAA;IACT,MAAMA,OAAO,GAAG,IAAI,CAACP,KAAK,YAAYQ,KAAK,GAAG,IAAI,CAACR,KAAK,CAACO,OAAO,GAAGE,MAAM,CAAC,IAAI,CAACT,KAAK,CAAC;IACrF,OAAO,GAAG,IAAI,CAACF,MAAM,KAAKS,OAAO,EAAE;EACrC","ignoreList":[]}
@@ -84,7 +84,7 @@ const makeManager = exports.makeManager = /*#__PURE__*/Effect.gen(function* () {
84
84
  const spawn = yield* _(Spawner);
85
85
  const id = idCounter++;
86
86
  let requestIdCounter = 0;
87
- const semaphore = yield* Effect.makeSemaphore(permits);
87
+ const semaphore = Effect.unsafeMakeSemaphore(permits);
88
88
  const requestMap = new Map();
89
89
  const sendQueue = yield* Effect.acquireRelease(Queue.unbounded(), Queue.shutdown);
90
90
  const collector = Transferable.unsafeMakeCollector();
@@ -149,7 +149,7 @@ const makeManager = exports.makeManager = /*#__PURE__*/Effect.gen(function* () {
149
149
  return Stream.fromChannel(loop);
150
150
  });
151
151
  const executeEffect = request => Effect.acquireUseRelease(executeAcquire(request), ([, queue]) => Effect.flatMap(Queue.take(queue), Exit.map(Arr.unsafeGet(0))), executeRelease);
152
- yield* semaphore.take(1).pipe(Effect.zipRight(outbound.take), 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(() => {
153
153
  const result = requestMap.get(id);
154
154
  if (!result) return Effect.void;
155
155
  const transferables = transfers(request);
@@ -178,24 +178,22 @@ const makePool = options => Effect.gen(function* () {
178
178
  const manager = yield* WorkerManager;
179
179
  const workers = new Set();
180
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);
181
- const backing = yield* "timeToLive" in options ? Pool.makeWithTTL({
182
- acquire,
183
- min: options.minSize,
184
- max: options.maxSize,
185
- timeToLive: options.timeToLive
186
- }) : Pool.make({
181
+ const backing = yield* Pool.make({
187
182
  acquire,
188
183
  size: options.size
189
184
  });
185
+ const get = Effect.scoped(backing.get);
190
186
  const pool = {
191
187
  backing,
192
188
  broadcast: message => Effect.forEach(workers, worker => worker.executeEffect(message), {
193
189
  concurrency: "unbounded",
194
190
  discard: true
195
191
  }),
196
- execute: message => Stream.unwrap(Effect.map(Effect.scoped(backing.get), worker => worker.execute(message))),
197
- executeEffect: message => Effect.flatMap(Effect.scoped(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))
198
194
  };
195
+ // report any spawn errors
196
+ yield* get;
199
197
  return pool;
200
198
  });
201
199
  /** @internal */
@@ -248,15 +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.unwrap(Effect.map(Effect.scoped(backing.get), worker => worker.execute(message))),
258
- executeEffect: message => Effect.flatMap(Effect.scoped(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
  };
259
+ // report any spawn errors
260
+ yield* get;
260
261
  return pool;
261
262
  });
262
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","permits","transfers","_","requestIdCounter","semaphore","makeSemaphore","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","ensuring","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","unwrap","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":[]}
@@ -116,9 +116,9 @@ export declare const catchTag: {
116
116
  }>) => Effect.Effect<A1, E1, R1>): <A, R>(self: Client<A, E, R>) => Client<A1 | A, E1 | Exclude<E, {
117
117
  _tag: K;
118
118
  }>, R1 | R>;
119
- <R, E extends {
119
+ <A, E extends {
120
120
  _tag: string;
121
- }, A, K extends E["_tag"] & string, A1, E1, R1>(self: Client<A, E, R>, tag: K, f: (e: Extract<E, {
121
+ }, R, K extends E["_tag"] & string, A1, E1, R1>(self: Client<A, E, R>, tag: K, f: (e: Extract<E, {
122
122
  _tag: K;
123
123
  }>) => Effect.Effect<A1, E1, R1>): Client<A | A1, E1 | Exclude<E, {
124
124
  _tag: K;