@effect/platform 0.46.2 → 0.47.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.
Files changed (57) hide show
  1. package/PlatformLogger/package.json +6 -0
  2. package/Socket/package.json +6 -0
  3. package/dist/cjs/Http/Router.js.map +1 -1
  4. package/dist/cjs/Http/ServerRequest.js +11 -1
  5. package/dist/cjs/Http/ServerRequest.js.map +1 -1
  6. package/dist/cjs/PlatformLogger.js +57 -0
  7. package/dist/cjs/PlatformLogger.js.map +1 -0
  8. package/dist/cjs/Socket.js +212 -0
  9. package/dist/cjs/Socket.js.map +1 -0
  10. package/dist/cjs/index.js +5 -1
  11. package/dist/cjs/internal/http/router.js +5 -4
  12. package/dist/cjs/internal/http/router.js.map +1 -1
  13. package/dist/cjs/internal/http/serverRequest.js +15 -1
  14. package/dist/cjs/internal/http/serverRequest.js.map +1 -1
  15. package/dist/cjs/internal/platformLogger.js +46 -0
  16. package/dist/cjs/internal/platformLogger.js.map +1 -0
  17. package/dist/cjs/internal/worker.js.map +1 -1
  18. package/dist/dts/Http/Router.d.ts +39 -37
  19. package/dist/dts/Http/Router.d.ts.map +1 -1
  20. package/dist/dts/Http/ServerRequest.d.ts +14 -0
  21. package/dist/dts/Http/ServerRequest.d.ts.map +1 -1
  22. package/dist/dts/PlatformLogger.d.ts +41 -0
  23. package/dist/dts/PlatformLogger.d.ts.map +1 -0
  24. package/dist/dts/Socket.d.ts +111 -0
  25. package/dist/dts/Socket.d.ts.map +1 -0
  26. package/dist/dts/index.d.ts +8 -0
  27. package/dist/dts/index.d.ts.map +1 -1
  28. package/dist/dts/internal/http/router.d.ts +1 -2
  29. package/dist/dts/internal/http/router.d.ts.map +1 -1
  30. package/dist/dts/internal/platformLogger.d.ts +2 -0
  31. package/dist/dts/internal/platformLogger.d.ts.map +1 -0
  32. package/dist/esm/Http/Router.js.map +1 -1
  33. package/dist/esm/Http/ServerRequest.js +10 -0
  34. package/dist/esm/Http/ServerRequest.js.map +1 -1
  35. package/dist/esm/PlatformLogger.js +26 -0
  36. package/dist/esm/PlatformLogger.js.map +1 -0
  37. package/dist/esm/Socket.js +166 -0
  38. package/dist/esm/Socket.js.map +1 -0
  39. package/dist/esm/index.js +8 -0
  40. package/dist/esm/index.js.map +1 -1
  41. package/dist/esm/internal/http/router.js +5 -4
  42. package/dist/esm/internal/http/router.js.map +1 -1
  43. package/dist/esm/internal/http/serverRequest.js +13 -0
  44. package/dist/esm/internal/http/serverRequest.js.map +1 -1
  45. package/dist/esm/internal/platformLogger.js +15 -0
  46. package/dist/esm/internal/platformLogger.js.map +1 -0
  47. package/dist/esm/internal/worker.js.map +1 -1
  48. package/package.json +20 -3
  49. package/src/Http/Router.ts +40 -147
  50. package/src/Http/ServerRequest.ts +25 -0
  51. package/src/PlatformLogger.ts +59 -0
  52. package/src/Socket.ts +291 -0
  53. package/src/index.ts +10 -0
  54. package/src/internal/http/router.ts +86 -38
  55. package/src/internal/http/serverRequest.ts +16 -0
  56. package/src/internal/platformLogger.ts +42 -0
  57. package/src/internal/worker.ts +5 -1
@@ -0,0 +1,15 @@
1
+ import * as Effect from "effect/Effect";
2
+ import { dual } from "effect/Function";
3
+ import * as Logger from "effect/Logger";
4
+ import * as FileSystem from "../FileSystem.js";
5
+ /** @internal */
6
+ export const toFile = /*#__PURE__*/dual(args => Logger.isLogger(args[0]), (self, path, options) => Effect.gen(function* (_) {
7
+ const fs = yield* _(FileSystem.FileSystem);
8
+ const logFile = yield* _(fs.open(path, {
9
+ flag: "a+",
10
+ ...options
11
+ }));
12
+ const encoder = new TextEncoder();
13
+ return yield* _(Logger.batched(self, options?.batchWindow ?? 1000, output => Effect.ignore(logFile.write(encoder.encode(output.join("\n") + "\n")))));
14
+ }));
15
+ //# sourceMappingURL=platformLogger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platformLogger.js","names":["Effect","dual","Logger","FileSystem","toFile","args","isLogger","self","path","options","gen","_","fs","logFile","open","flag","encoder","TextEncoder","batched","batchWindow","output","ignore","write","encode","join"],"sources":["../../../src/internal/platformLogger.ts"],"sourcesContent":[null],"mappings":"AAIA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,SAASC,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAGvC,OAAO,KAAKC,UAAU,MAAM,kBAAkB;AAE9C;AACA,OAAO,MAAMC,MAAM,gBAAGH,IAAI,CAiBvBI,IAAI,IAAKH,MAAM,CAACI,QAAQ,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAClC,CAACE,IAAI,EAAEC,IAAI,EAAEC,OAAO,KAClBT,MAAM,CAACU,GAAG,CAAC,WAAUC,CAAC;EACpB,MAAMC,EAAE,GAAG,OAAOD,CAAC,CAACR,UAAU,CAACA,UAAU,CAAC;EAC1C,MAAMU,OAAO,GAAG,OAAOF,CAAC,CAACC,EAAE,CAACE,IAAI,CAACN,IAAI,EAAE;IAAEO,IAAI,EAAE,IAAI;IAAE,GAAGN;EAAO,CAAE,CAAC,CAAC;EACnE,MAAMO,OAAO,GAAG,IAAIC,WAAW,EAAE;EACjC,OAAO,OAAON,CAAC,CAACT,MAAM,CAACgB,OAAO,CAC5BX,IAAI,EACJE,OAAO,EAAEU,WAAW,IAAI,IAAI,EAC3BC,MAAM,IAAKpB,MAAM,CAACqB,MAAM,CAACR,OAAO,CAACS,KAAK,CAACN,OAAO,CAACO,MAAM,CAACH,MAAM,CAACI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CACnF,CAAC;AACJ,CAAC,CAAC,CACL"}
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","names":["Schema","Serializable","Tracer","Cause","Channel","Chunk","Context","Deferred","Effect","Exit","Fiber","identity","pipe","Layer","Option","Pool","Queue","ReadonlyArray","Schedule","Stream","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","makeSemaphore","requestMap","Map","sendQueue","acquireRelease","collector","unsafeMakeCollector","wrappedEncode","message","zipRight","clear","provideService","Collector","succeed","outbound","addFinalizer","readyLatch","make","backing","send","flatMap","forever","msg","complete","unit","handleMessage","all","join","fiber","await","concurrency","scoped","onError","cause","forEach","values","failCause","retry","exponential","union","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","ensuring","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","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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"}
1
+ {"version":3,"file":"worker.js","names":["Schema","Serializable","Tracer","Cause","Channel","Chunk","Context","Deferred","Effect","Exit","Fiber","identity","pipe","Layer","Option","Pool","Queue","ReadonlyArray","Schedule","Stream","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","makeSemaphore","requestMap","Map","sendQueue","acquireRelease","collector","unsafeMakeCollector","wrappedEncode","message","zipRight","clear","provideService","Collector","succeed","outbound","addFinalizer","readyLatch","make","backing","send","flatMap","forever","msg","complete","unit","handleMessage","all","join","fiber","await","concurrency","scoped","onError","cause","forEach","values","failCause","retry","exponential","union","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","ensuring","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","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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform",
3
- "version": "0.46.2",
3
+ "version": "0.47.0",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -11,12 +11,13 @@
11
11
  "sideEffects": [],
12
12
  "dependencies": {
13
13
  "find-my-way-ts": "^0.1.1",
14
+ "isomorphic-ws": "^5.0.0",
14
15
  "multipasta": "^0.1.21",
15
16
  "path-browserify": "^1.0.1"
16
17
  },
17
18
  "peerDependencies": {
18
- "@effect/schema": "^0.63.1",
19
- "effect": "^2.4.0"
19
+ "@effect/schema": "^0.63.3",
20
+ "effect": "^2.4.2"
20
21
  },
21
22
  "main": "./dist/cjs/index.js",
22
23
  "module": "./dist/esm/index.js",
@@ -173,11 +174,21 @@
173
174
  "import": "./dist/esm/Path.js",
174
175
  "default": "./dist/cjs/Path.js"
175
176
  },
177
+ "./PlatformLogger": {
178
+ "types": "./dist/dts/PlatformLogger.d.ts",
179
+ "import": "./dist/esm/PlatformLogger.js",
180
+ "default": "./dist/cjs/PlatformLogger.js"
181
+ },
176
182
  "./Runtime": {
177
183
  "types": "./dist/dts/Runtime.d.ts",
178
184
  "import": "./dist/esm/Runtime.js",
179
185
  "default": "./dist/cjs/Runtime.js"
180
186
  },
187
+ "./Socket": {
188
+ "types": "./dist/dts/Socket.d.ts",
189
+ "import": "./dist/esm/Socket.js",
190
+ "default": "./dist/cjs/Socket.js"
191
+ },
181
192
  "./Template": {
182
193
  "types": "./dist/dts/Template.d.ts",
183
194
  "import": "./dist/esm/Template.js",
@@ -298,9 +309,15 @@
298
309
  "Path": [
299
310
  "./dist/dts/Path.d.ts"
300
311
  ],
312
+ "PlatformLogger": [
313
+ "./dist/dts/PlatformLogger.d.ts"
314
+ ],
301
315
  "Runtime": [
302
316
  "./dist/dts/Runtime.d.ts"
303
317
  ],
318
+ "Socket": [
319
+ "./dist/dts/Socket.d.ts"
320
+ ],
304
321
  "Template": [
305
322
  "./dist/dts/Template.d.ts"
306
323
  ],
@@ -35,7 +35,9 @@ export type TypeId = typeof TypeId
35
35
  export interface Router<R, E> extends App.Default<Exclude<R, RouteContext>, E | Error.RouteNotFound> {
36
36
  readonly [TypeId]: TypeId
37
37
  readonly routes: Chunk.Chunk<Route<R, E>>
38
- readonly mounts: Chunk.Chunk<readonly [string, App.Default<R, E>]>
38
+ readonly mounts: Chunk.Chunk<
39
+ readonly [prefix: string, httpApp: App.Default<R, E>, options?: { readonly includePrefix?: boolean } | undefined]
40
+ >
39
41
  }
40
42
 
41
43
  /**
@@ -230,7 +232,8 @@ export const mount: {
230
232
  export const mountApp: {
231
233
  <R1, E1>(
232
234
  path: `/${string}`,
233
- that: App.Default<R1, E1>
235
+ that: App.Default<R1, E1>,
236
+ options?: { readonly includePrefix?: boolean | undefined } | undefined
234
237
  ): <R, E>(
235
238
  self: Router<R, E>
236
239
  ) => Router<
@@ -241,7 +244,8 @@ export const mountApp: {
241
244
  <R, E, R1, E1>(
242
245
  self: Router<R, E>,
243
246
  path: `/${string}`,
244
- that: App.Default<R1, E1>
247
+ that: App.Default<R1, E1>,
248
+ options?: { readonly includePrefix?: boolean | undefined } | undefined
245
249
  ): Router<
246
250
  | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
247
251
  | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
@@ -261,20 +265,12 @@ export const route: (
261
265
  handler: Route.Handler<R1, E1>
262
266
  ): <R, E>(
263
267
  self: Router<R, E>
264
- ) => Router<
265
- | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
266
- | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
267
- E1 | E
268
- >
268
+ ) => Router<R | Exclude<R1, ServerRequest.ServerRequest | RouteContext | Scope.Scope>, E1 | E>
269
269
  <R, E, R1, E1>(
270
270
  self: Router<R, E>,
271
271
  path: PathInput,
272
272
  handler: Route.Handler<R1, E1>
273
- ): Router<
274
- | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
275
- | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
276
- E | E1
277
- >
273
+ ): Router<R | Exclude<R1, ServerRequest.ServerRequest | RouteContext | Scope.Scope>, E | E1>
278
274
  } = internal.route
279
275
 
280
276
  /**
@@ -287,20 +283,12 @@ export const all: {
287
283
  handler: Route.Handler<R1, E1>
288
284
  ): <R, E>(
289
285
  self: Router<R, E>
290
- ) => Router<
291
- | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
292
- | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
293
- E1 | E
294
- >
286
+ ) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, E1 | E>
295
287
  <R, E, R1, E1>(
296
288
  self: Router<R, E>,
297
289
  path: PathInput,
298
290
  handler: Route.Handler<R1, E1>
299
- ): Router<
300
- | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
301
- | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
302
- E | E1
303
- >
291
+ ): Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, E | E1>
304
292
  } = internal.all
305
293
 
306
294
  /**
@@ -313,20 +301,12 @@ export const get: {
313
301
  handler: Route.Handler<R1, E1>
314
302
  ): <R, E>(
315
303
  self: Router<R, E>
316
- ) => Router<
317
- | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
318
- | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
319
- E1 | E
320
- >
304
+ ) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, E1 | E>
321
305
  <R, E, R1, E1>(
322
306
  self: Router<R, E>,
323
307
  path: PathInput,
324
308
  handler: Route.Handler<R1, E1>
325
- ): Router<
326
- | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
327
- | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
328
- E | E1
329
- >
309
+ ): Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, E | E1>
330
310
  } = internal.get
331
311
 
332
312
  /**
@@ -339,20 +319,12 @@ export const post: {
339
319
  handler: Route.Handler<R1, E1>
340
320
  ): <R, E>(
341
321
  self: Router<R, E>
342
- ) => Router<
343
- | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
344
- | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
345
- E1 | E
346
- >
322
+ ) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, E1 | E>
347
323
  <R, E, R1, E1>(
348
324
  self: Router<R, E>,
349
325
  path: PathInput,
350
326
  handler: Route.Handler<R1, E1>
351
- ): Router<
352
- | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
353
- | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
354
- E | E1
355
- >
327
+ ): Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, E | E1>
356
328
  } = internal.post
357
329
 
358
330
  /**
@@ -365,20 +337,12 @@ export const patch: {
365
337
  handler: Route.Handler<R1, E1>
366
338
  ): <R, E>(
367
339
  self: Router<R, E>
368
- ) => Router<
369
- | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
370
- | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
371
- E1 | E
372
- >
340
+ ) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, E1 | E>
373
341
  <R, E, R1, E1>(
374
342
  self: Router<R, E>,
375
343
  path: PathInput,
376
344
  handler: Route.Handler<R1, E1>
377
- ): Router<
378
- | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
379
- | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
380
- E | E1
381
- >
345
+ ): Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, E | E1>
382
346
  } = internal.patch
383
347
 
384
348
  /**
@@ -391,20 +355,12 @@ export const put: {
391
355
  handler: Route.Handler<R1, E1>
392
356
  ): <R, E>(
393
357
  self: Router<R, E>
394
- ) => Router<
395
- | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
396
- | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
397
- E1 | E
398
- >
358
+ ) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, E1 | E>
399
359
  <R, E, R1, E1>(
400
360
  self: Router<R, E>,
401
361
  path: PathInput,
402
362
  handler: Route.Handler<R1, E1>
403
- ): Router<
404
- | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
405
- | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
406
- E | E1
407
- >
363
+ ): Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, E | E1>
408
364
  } = internal.put
409
365
 
410
366
  /**
@@ -417,20 +373,12 @@ export const del: {
417
373
  handler: Route.Handler<R1, E1>
418
374
  ): <R, E>(
419
375
  self: Router<R, E>
420
- ) => Router<
421
- | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
422
- | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
423
- E1 | E
424
- >
376
+ ) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, E1 | E>
425
377
  <R, E, R1, E1>(
426
378
  self: Router<R, E>,
427
379
  path: PathInput,
428
380
  handler: Route.Handler<R1, E1>
429
- ): Router<
430
- | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
431
- | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
432
- E | E1
433
- >
381
+ ): Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, E | E1>
434
382
  } = internal.del
435
383
 
436
384
  /**
@@ -443,20 +391,12 @@ export const head: {
443
391
  handler: Route.Handler<R1, E1>
444
392
  ): <R, E>(
445
393
  self: Router<R, E>
446
- ) => Router<
447
- | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
448
- | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
449
- E1 | E
450
- >
394
+ ) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, E1 | E>
451
395
  <R, E, R1, E1>(
452
396
  self: Router<R, E>,
453
397
  path: PathInput,
454
398
  handler: Route.Handler<R1, E1>
455
- ): Router<
456
- | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
457
- | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
458
- E | E1
459
- >
399
+ ): Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, E | E1>
460
400
  } = internal.head
461
401
 
462
402
  /**
@@ -469,20 +409,12 @@ export const options: {
469
409
  handler: Route.Handler<R1, E1>
470
410
  ): <R, E>(
471
411
  self: Router<R, E>
472
- ) => Router<
473
- | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
474
- | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
475
- E1 | E
476
- >
412
+ ) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, E1 | E>
477
413
  <R, E, R1, E1>(
478
414
  self: Router<R, E>,
479
415
  path: PathInput,
480
416
  handler: Route.Handler<R1, E1>
481
- ): Router<
482
- | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
483
- | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
484
- E | E1
485
- >
417
+ ): Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, E | E1>
486
418
  } = internal.options
487
419
 
488
420
  /**
@@ -506,21 +438,11 @@ export const use: {
506
438
  export const catchAll: {
507
439
  <E, R2, E2>(
508
440
  f: (e: E) => Route.Handler<R2, E2>
509
- ): <R>(
510
- self: Router<R, E>
511
- ) => Router<
512
- | Exclude<R2, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
513
- | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
514
- E2
515
- >
441
+ ): <R>(self: Router<R, E>) => Router<R | Exclude<R2, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, E2>
516
442
  <R, E, R2, E2>(
517
443
  self: Router<R, E>,
518
444
  f: (e: E) => Route.Handler<R2, E2>
519
- ): Router<
520
- | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
521
- | Exclude<R2, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
522
- E2
523
- >
445
+ ): Router<R | Exclude<R2, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, E2>
524
446
  } = internal.catchAll
525
447
 
526
448
  /**
@@ -530,21 +452,11 @@ export const catchAll: {
530
452
  export const catchAllCause: {
531
453
  <E, R2, E2>(
532
454
  f: (e: Cause.Cause<E>) => Route.Handler<R2, E2>
533
- ): <R>(
534
- self: Router<R, E>
535
- ) => Router<
536
- | Exclude<R2, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
537
- | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
538
- E2
539
- >
455
+ ): <R>(self: Router<R, E>) => Router<R | Exclude<R2, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, E2>
540
456
  <R, E, R2, E2>(
541
457
  self: Router<R, E>,
542
458
  f: (e: Cause.Cause<E>) => Route.Handler<R2, E2>
543
- ): Router<
544
- | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
545
- | Exclude<R2, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
546
- E2
547
- >
459
+ ): Router<R | Exclude<R2, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, E2>
548
460
  } = internal.catchAllCause
549
461
 
550
462
  /**
@@ -557,20 +469,12 @@ export const catchTag: {
557
469
  f: (e: Extract<E, { _tag: K }>) => Route.Handler<R1, E1>
558
470
  ): <R>(
559
471
  self: Router<R, E>
560
- ) => Router<
561
- | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
562
- | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
563
- E1 | Exclude<E, { _tag: K }>
564
- >
472
+ ) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, E1 | Exclude<E, { _tag: K }>>
565
473
  <R, E, K extends E extends { _tag: string } ? E["_tag"] : never, R1, E1>(
566
474
  self: Router<R, E>,
567
475
  k: K,
568
476
  f: (e: Extract<E, { _tag: K }>) => Route.Handler<R1, E1>
569
- ): Router<
570
- | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
571
- | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
572
- E1 | Exclude<E, { _tag: K }>
573
- >
477
+ ): Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, E1 | Exclude<E, { _tag: K }>>
574
478
  } = internal.catchTag
575
479
 
576
480
  /**
@@ -588,20 +492,14 @@ export const catchTags: {
588
492
  ): <R>(
589
493
  self: Router<R, E>
590
494
  ) => Router<
591
- | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
495
+ | R
592
496
  | Exclude<
593
497
  {
594
498
  [K in keyof Cases]: Cases[K] extends (...args: Array<any>) => Effect.Effect<any, any, infer R> ? R : never
595
499
  }[keyof Cases],
596
500
  RouteContext | ServerRequest.ServerRequest | Scope.Scope
597
501
  >,
598
- | Exclude<E, {
599
- /**
600
- * @since 1.0.0
601
- * @category combinators
602
- */
603
- _tag: keyof Cases
604
- }>
502
+ | Exclude<E, { _tag: keyof Cases }>
605
503
  | {
606
504
  [K in keyof Cases]: Cases[K] extends (...args: Array<any>) => Effect.Effect<any, infer E, any> ? E : never
607
505
  }[keyof Cases]
@@ -616,7 +514,7 @@ export const catchTags: {
616
514
  self: Router<R, E>,
617
515
  cases: Cases
618
516
  ): Router<
619
- | Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
517
+ | R
620
518
  | Exclude<
621
519
  {
622
520
  [K in keyof Cases]: Cases[K] extends (...args: Array<any>) => Effect.Effect<any, any, infer R> ? R : never
@@ -638,17 +536,12 @@ export const provideService: {
638
536
  <T extends Context.Tag<any, any>>(
639
537
  tag: T,
640
538
  service: Context.Tag.Service<T>
641
- ): <R, E>(
642
- self: Router<R, E>
643
- ) => Router<
644
- Exclude<Exclude<R, Context.Tag.Identifier<T>>, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
645
- E
646
- >
539
+ ): <R, E>(self: Router<R, E>) => Router<Exclude<R, Context.Tag.Identifier<T>>, E>
647
540
  <R, E, T extends Context.Tag<any, any>>(
648
541
  self: Router<R, E>,
649
542
  tag: T,
650
543
  service: Context.Tag.Service<T>
651
- ): Router<Exclude<Exclude<R, Context.Tag.Identifier<T>>, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, E>
544
+ ): Router<Exclude<R, Context.Tag.Identifier<T>>, E>
652
545
  } = internal.provideService
653
546
 
654
547
  /**
@@ -662,8 +555,8 @@ export const provideServiceEffect: {
662
555
  ): <R, E>(
663
556
  self: Router<R, E>
664
557
  ) => Router<
665
- | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
666
- | Exclude<Exclude<R, Context.Tag.Identifier<T>>, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
558
+ | Exclude<R, Context.Tag.Identifier<T>>
559
+ | Exclude<Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, Context.Tag.Identifier<T>>,
667
560
  E1 | E
668
561
  >
669
562
  <R, E, T extends Context.Tag<any, any>, R1, E1>(
@@ -671,8 +564,8 @@ export const provideServiceEffect: {
671
564
  tag: T,
672
565
  effect: Effect.Effect<Context.Tag.Service<T>, E1, R1>
673
566
  ): Router<
674
- | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
675
- | Exclude<Exclude<R, Context.Tag.Identifier<T>>, RouteContext | ServerRequest.ServerRequest | Scope.Scope>,
567
+ | Exclude<R, Context.Tag.Identifier<T>>
568
+ | Exclude<Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, Context.Tag.Identifier<T>>,
676
569
  E | E1
677
570
  >
678
571
  } = internal.provideServiceEffect
@@ -3,6 +3,8 @@
3
3
  */
4
4
  import type * as ParseResult from "@effect/schema/ParseResult"
5
5
  import type * as Schema from "@effect/schema/Schema"
6
+ import type { Channel } from "effect/Channel"
7
+ import type { Chunk } from "effect/Chunk"
6
8
  import type * as Context from "effect/Context"
7
9
  import type * as Effect from "effect/Effect"
8
10
  import type * as Scope from "effect/Scope"
@@ -10,6 +12,7 @@ import type * as Stream from "effect/Stream"
10
12
  import type * as FileSystem from "../FileSystem.js"
11
13
  import * as internal from "../internal/http/serverRequest.js"
12
14
  import type * as Path from "../Path.js"
15
+ import type * as Socket from "../Socket.js"
13
16
  import type * as Headers from "./Headers.js"
14
17
  import type * as IncomingMessage from "./IncomingMessage.js"
15
18
  import type { Method } from "./Method.js"
@@ -54,6 +57,8 @@ export interface ServerRequest extends IncomingMessage.IncomingMessage<Error.Req
54
57
  >
55
58
  readonly multipartStream: Stream.Stream<Multipart.Part, Multipart.MultipartError>
56
59
 
60
+ readonly upgrade: Effect.Effect<Socket.Socket, Error.RequestError>
61
+
57
62
  readonly modify: (
58
63
  options: {
59
64
  readonly url?: string
@@ -79,6 +84,26 @@ export const persistedMultipart: Effect.Effect<
79
84
  Scope.Scope | FileSystem.FileSystem | Path.Path | ServerRequest
80
85
  > = internal.multipartPersisted
81
86
 
87
+ /**
88
+ * @since 1.0.0
89
+ * @category accessors
90
+ */
91
+ export const upgrade: Effect.Effect<Socket.Socket, Error.RequestError, ServerRequest> = internal.upgrade
92
+
93
+ /**
94
+ * @since 1.0.0
95
+ * @category accessors
96
+ */
97
+ export const upgradeChannel: <IE = never>() => Channel<
98
+ Chunk<Uint8Array>,
99
+ Chunk<Uint8Array>,
100
+ Error.RequestError | IE | Socket.SocketError,
101
+ IE,
102
+ void,
103
+ unknown,
104
+ ServerRequest
105
+ > = internal.upgradeChannel
106
+
82
107
  /**
83
108
  * @since 1.0.0
84
109
  * @category schema
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type { DurationInput } from "effect/Duration"
5
+ import type { Effect } from "effect/Effect"
6
+ import type * as Logger from "effect/Logger"
7
+ import type { Scope } from "effect/Scope"
8
+ import type { PlatformError } from "./Error.js"
9
+ import type { FileSystem, OpenFileOptions } from "./FileSystem.js"
10
+ import * as internal from "./internal/platformLogger.js"
11
+
12
+ /**
13
+ * Create a Logger from another string Logger that writes to the specified file.
14
+ *
15
+ * @since 1.0.0
16
+ * @example
17
+ * import { PlatformLogger } from "@effect/platform"
18
+ * import { NodeFileSystem, NodeRuntime } from "@effect/platform-node"
19
+ * import { Effect, Layer, Logger } from "effect"
20
+ *
21
+ * const fileLogger = Logger.logfmtLogger.pipe(
22
+ * PlatformLogger.toFile("log.txt")
23
+ * )
24
+ * const LoggerLive = Logger.replaceScoped(Logger.defaultLogger, fileLogger).pipe(
25
+ * Layer.provide(NodeFileSystem.layer)
26
+ * )
27
+ *
28
+ * Effect.log("a").pipe(
29
+ * Effect.zipRight(Effect.log("b")),
30
+ * Effect.zipRight(Effect.log("c")),
31
+ * Effect.provide(LoggerLive),
32
+ * NodeRuntime.runMain
33
+ * )
34
+ */
35
+ export const toFile: {
36
+ (
37
+ path: string,
38
+ options?:
39
+ | (OpenFileOptions & {
40
+ readonly batchWindow?:
41
+ | DurationInput
42
+ | undefined
43
+ })
44
+ | undefined
45
+ ): <Message>(
46
+ self: Logger.Logger<Message, string>
47
+ ) => Effect<Logger.Logger<Message, void>, PlatformError, Scope | FileSystem>
48
+ <Message>(
49
+ self: Logger.Logger<Message, string>,
50
+ path: string,
51
+ options?:
52
+ | (OpenFileOptions & {
53
+ readonly batchWindow?:
54
+ | DurationInput
55
+ | undefined
56
+ })
57
+ | undefined
58
+ ): Effect<Logger.Logger<Message, void>, PlatformError, Scope | FileSystem>
59
+ } = internal.toFile