@effect/platform 0.46.3 → 0.47.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/PlatformLogger/package.json +6 -0
  2. package/Socket/package.json +6 -0
  3. package/dist/cjs/Error.js +40 -4
  4. package/dist/cjs/Error.js.map +1 -1
  5. package/dist/cjs/Http/Body.js +8 -1
  6. package/dist/cjs/Http/Body.js.map +1 -1
  7. package/dist/cjs/Http/ClientError.js +21 -2
  8. package/dist/cjs/Http/ClientError.js.map +1 -1
  9. package/dist/cjs/Http/Headers.js +22 -1
  10. package/dist/cjs/Http/Headers.js.map +1 -1
  11. package/dist/cjs/Http/ServerError.js +30 -7
  12. package/dist/cjs/Http/ServerError.js.map +1 -1
  13. package/dist/cjs/Http/ServerRequest.js +11 -1
  14. package/dist/cjs/Http/ServerRequest.js.map +1 -1
  15. package/dist/cjs/Http/UrlParams.js +7 -2
  16. package/dist/cjs/Http/UrlParams.js.map +1 -1
  17. package/dist/cjs/PlatformLogger.js +57 -0
  18. package/dist/cjs/PlatformLogger.js.map +1 -0
  19. package/dist/cjs/Socket.js +212 -0
  20. package/dist/cjs/Socket.js.map +1 -0
  21. package/dist/cjs/index.js +5 -1
  22. package/dist/cjs/internal/http/body.js +1 -1
  23. package/dist/cjs/internal/http/body.js.map +1 -1
  24. package/dist/cjs/internal/http/client.js +5 -5
  25. package/dist/cjs/internal/http/client.js.map +1 -1
  26. package/dist/cjs/internal/http/clientError.js +1 -36
  27. package/dist/cjs/internal/http/clientError.js.map +1 -1
  28. package/dist/cjs/internal/http/clientResponse.js +8 -8
  29. package/dist/cjs/internal/http/clientResponse.js.map +1 -1
  30. package/dist/cjs/internal/http/multiplex.js +1 -1
  31. package/dist/cjs/internal/http/multiplex.js.map +1 -1
  32. package/dist/cjs/internal/http/router.js +1 -1
  33. package/dist/cjs/internal/http/router.js.map +1 -1
  34. package/dist/cjs/internal/http/serverError.js +1 -15
  35. package/dist/cjs/internal/http/serverError.js.map +1 -1
  36. package/dist/cjs/internal/http/serverRequest.js +22 -8
  37. package/dist/cjs/internal/http/serverRequest.js.map +1 -1
  38. package/dist/cjs/internal/platformLogger.js +46 -0
  39. package/dist/cjs/internal/platformLogger.js.map +1 -0
  40. package/dist/cjs/internal/worker.js.map +1 -1
  41. package/dist/dts/Error.d.ts +22 -0
  42. package/dist/dts/Error.d.ts.map +1 -1
  43. package/dist/dts/Http/Body.d.ts +9 -1
  44. package/dist/dts/Http/Body.d.ts.map +1 -1
  45. package/dist/dts/Http/ClientError.d.ts +21 -33
  46. package/dist/dts/Http/ClientError.d.ts.map +1 -1
  47. package/dist/dts/Http/Headers.d.ts +19 -0
  48. package/dist/dts/Http/Headers.d.ts.map +1 -1
  49. package/dist/dts/Http/ServerError.d.ts +33 -47
  50. package/dist/dts/Http/ServerError.d.ts.map +1 -1
  51. package/dist/dts/Http/ServerRequest.d.ts +14 -0
  52. package/dist/dts/Http/ServerRequest.d.ts.map +1 -1
  53. package/dist/dts/Http/UrlParams.d.ts +5 -0
  54. package/dist/dts/Http/UrlParams.d.ts.map +1 -1
  55. package/dist/dts/PlatformLogger.d.ts +41 -0
  56. package/dist/dts/PlatformLogger.d.ts.map +1 -0
  57. package/dist/dts/Socket.d.ts +111 -0
  58. package/dist/dts/Socket.d.ts.map +1 -0
  59. package/dist/dts/index.d.ts +8 -0
  60. package/dist/dts/index.d.ts.map +1 -1
  61. package/dist/dts/internal/platformLogger.d.ts +2 -0
  62. package/dist/dts/internal/platformLogger.d.ts.map +1 -0
  63. package/dist/esm/Error.js +38 -3
  64. package/dist/esm/Error.js.map +1 -1
  65. package/dist/esm/Http/Body.js +6 -0
  66. package/dist/esm/Http/Body.js.map +1 -1
  67. package/dist/esm/Http/ClientError.js +19 -2
  68. package/dist/esm/Http/ClientError.js.map +1 -1
  69. package/dist/esm/Http/Headers.js +21 -1
  70. package/dist/esm/Http/Headers.js.map +1 -1
  71. package/dist/esm/Http/ServerError.js +26 -7
  72. package/dist/esm/Http/ServerError.js.map +1 -1
  73. package/dist/esm/Http/ServerRequest.js +10 -0
  74. package/dist/esm/Http/ServerRequest.js.map +1 -1
  75. package/dist/esm/Http/UrlParams.js +5 -0
  76. package/dist/esm/Http/UrlParams.js.map +1 -1
  77. package/dist/esm/PlatformLogger.js +26 -0
  78. package/dist/esm/PlatformLogger.js.map +1 -0
  79. package/dist/esm/Socket.js +166 -0
  80. package/dist/esm/Socket.js.map +1 -0
  81. package/dist/esm/index.js +8 -0
  82. package/dist/esm/index.js.map +1 -1
  83. package/dist/esm/internal/http/body.js +1 -1
  84. package/dist/esm/internal/http/body.js.map +1 -1
  85. package/dist/esm/internal/http/client.js +5 -5
  86. package/dist/esm/internal/http/client.js.map +1 -1
  87. package/dist/esm/internal/http/clientError.js +0 -10
  88. package/dist/esm/internal/http/clientError.js.map +1 -1
  89. package/dist/esm/internal/http/clientResponse.js +8 -8
  90. package/dist/esm/internal/http/clientResponse.js.map +1 -1
  91. package/dist/esm/internal/http/multiplex.js +1 -1
  92. package/dist/esm/internal/http/multiplex.js.map +1 -1
  93. package/dist/esm/internal/http/router.js +1 -1
  94. package/dist/esm/internal/http/router.js.map +1 -1
  95. package/dist/esm/internal/http/serverError.js +0 -14
  96. package/dist/esm/internal/http/serverError.js.map +1 -1
  97. package/dist/esm/internal/http/serverRequest.js +20 -7
  98. package/dist/esm/internal/http/serverRequest.js.map +1 -1
  99. package/dist/esm/internal/platformLogger.js +15 -0
  100. package/dist/esm/internal/platformLogger.js.map +1 -0
  101. package/dist/esm/internal/worker.js.map +1 -1
  102. package/package.json +20 -3
  103. package/src/Error.ts +61 -0
  104. package/src/Http/Body.ts +14 -1
  105. package/src/Http/ClientError.ts +21 -38
  106. package/src/Http/Headers.ts +29 -1
  107. package/src/Http/ServerError.ts +25 -56
  108. package/src/Http/ServerRequest.ts +25 -0
  109. package/src/Http/UrlParams.ts +10 -0
  110. package/src/PlatformLogger.ts +59 -0
  111. package/src/Socket.ts +291 -0
  112. package/src/index.ts +10 -0
  113. package/src/internal/http/body.ts +4 -2
  114. package/src/internal/http/client.ts +5 -6
  115. package/src/internal/http/clientError.ts +0 -14
  116. package/src/internal/http/clientResponse.ts +15 -14
  117. package/src/internal/http/multiplex.ts +1 -1
  118. package/src/internal/http/router.ts +1 -1
  119. package/src/internal/http/serverError.ts +0 -20
  120. package/src/internal/http/serverRequest.ts +31 -11
  121. package/src/internal/platformLogger.ts +42 -0
  122. package/src/internal/worker.ts +5 -1
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type { DurationInput } from "effect/Duration"
5
+ import * as Effect from "effect/Effect"
6
+ import { dual } from "effect/Function"
7
+ import * as Logger from "effect/Logger"
8
+ import type * as Scope from "effect/Scope"
9
+ import type { PlatformError } from "../Error.js"
10
+ import * as FileSystem from "../FileSystem.js"
11
+
12
+ /** @internal */
13
+ export const toFile = dual<
14
+ (
15
+ path: string,
16
+ options?: FileSystem.OpenFileOptions & {
17
+ readonly batchWindow?: DurationInput
18
+ }
19
+ ) => <Message>(
20
+ self: Logger.Logger<Message, string>
21
+ ) => Effect.Effect<Logger.Logger<Message, void>, PlatformError, Scope.Scope | FileSystem.FileSystem>,
22
+ <Message>(
23
+ self: Logger.Logger<Message, string>,
24
+ path: string,
25
+ options?: FileSystem.OpenFileOptions & {
26
+ readonly batchWindow?: DurationInput
27
+ }
28
+ ) => Effect.Effect<Logger.Logger<Message, void>, PlatformError, Scope.Scope | FileSystem.FileSystem>
29
+ >(
30
+ (args) => Logger.isLogger(args[0]),
31
+ (self, path, options) =>
32
+ Effect.gen(function*(_) {
33
+ const fs = yield* _(FileSystem.FileSystem)
34
+ const logFile = yield* _(fs.open(path, { flag: "a+", ...options }))
35
+ const encoder = new TextEncoder()
36
+ return yield* _(Logger.batched(
37
+ self,
38
+ options?.batchWindow ?? 1000,
39
+ (output) => Effect.ignore(logFile.write(encoder.encode(output.join("\n") + "\n")))
40
+ ))
41
+ })
42
+ )
@@ -405,7 +405,11 @@ export const makePoolSerialized = <I extends Schema.TaggedRequest.Any>(
405
405
  makeSerialized<I>(options),
406
406
  Effect.tap((worker) => Effect.sync(() => workers.add(worker))),
407
407
  Effect.tap((worker) => Effect.addFinalizer(() => Effect.sync(() => workers.delete(worker)))),
408
- options.onCreate ? Effect.tap(options.onCreate) : identity,
408
+ options.onCreate
409
+ ? Effect.tap(
410
+ options.onCreate as (worker: Worker.SerializedWorker<I>) => Effect.Effect<void, WorkerError>
411
+ )
412
+ : identity,
409
413
  Effect.provideService(WorkerManager, manager)
410
414
  )
411
415
  const backing = yield* _(