@effect/platform 0.43.11 → 0.44.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 (235) hide show
  1. package/dist/cjs/Error.js +4 -0
  2. package/dist/cjs/Error.js.map +1 -1
  3. package/dist/cjs/Http/App.js.map +1 -1
  4. package/dist/cjs/Http/Body.js.map +1 -1
  5. package/dist/cjs/Http/Client.js.map +1 -1
  6. package/dist/cjs/Http/ClientError.js +4 -0
  7. package/dist/cjs/Http/ClientError.js.map +1 -1
  8. package/dist/cjs/Http/ClientResponse.js.map +1 -1
  9. package/dist/cjs/Http/IncomingMessage.js.map +1 -1
  10. package/dist/cjs/Http/Multipart.js.map +1 -1
  11. package/dist/cjs/Http/Server.js +26 -1
  12. package/dist/cjs/Http/Server.js.map +1 -1
  13. package/dist/cjs/Http/ServerError.js.map +1 -1
  14. package/dist/cjs/Http/ServerResponse.js.map +1 -1
  15. package/dist/cjs/HttpServer.js +7 -1
  16. package/dist/cjs/HttpServer.js.map +1 -1
  17. package/dist/cjs/KeyValueStore.js.map +1 -1
  18. package/dist/cjs/Path.js.map +1 -1
  19. package/dist/cjs/Transferable.js +51 -48
  20. package/dist/cjs/Transferable.js.map +1 -1
  21. package/dist/cjs/Worker.js +6 -1
  22. package/dist/cjs/Worker.js.map +1 -1
  23. package/dist/cjs/WorkerError.js +4 -0
  24. package/dist/cjs/WorkerError.js.map +1 -1
  25. package/dist/cjs/index.js +62 -0
  26. package/dist/cjs/index.js.map +1 -0
  27. package/dist/cjs/internal/commandExecutor.js +1 -1
  28. package/dist/cjs/internal/commandExecutor.js.map +1 -1
  29. package/dist/cjs/internal/effectify.js.map +1 -1
  30. package/dist/cjs/internal/fileSystem.js +1 -1
  31. package/dist/cjs/internal/fileSystem.js.map +1 -1
  32. package/dist/cjs/internal/http/body.js.map +1 -1
  33. package/dist/cjs/internal/http/client.js +2 -2
  34. package/dist/cjs/internal/http/client.js.map +1 -1
  35. package/dist/cjs/internal/http/etag.js +1 -1
  36. package/dist/cjs/internal/http/etag.js.map +1 -1
  37. package/dist/cjs/internal/http/multipart.js.map +1 -1
  38. package/dist/cjs/internal/http/platform.js +1 -1
  39. package/dist/cjs/internal/http/platform.js.map +1 -1
  40. package/dist/cjs/internal/http/router.js +1 -1
  41. package/dist/cjs/internal/http/router.js.map +1 -1
  42. package/dist/cjs/internal/http/server.js +23 -2
  43. package/dist/cjs/internal/http/server.js.map +1 -1
  44. package/dist/cjs/internal/http/serverRequest.js +1 -1
  45. package/dist/cjs/internal/http/serverRequest.js.map +1 -1
  46. package/dist/cjs/internal/http/serverResponse.js.map +1 -1
  47. package/dist/cjs/internal/keyValueStore.js +2 -2
  48. package/dist/cjs/internal/keyValueStore.js.map +1 -1
  49. package/dist/cjs/internal/path.js +9 -4
  50. package/dist/cjs/internal/path.js.map +1 -1
  51. package/dist/cjs/internal/terminal.js +1 -1
  52. package/dist/cjs/internal/terminal.js.map +1 -1
  53. package/dist/cjs/internal/worker.js +16 -12
  54. package/dist/cjs/internal/worker.js.map +1 -1
  55. package/dist/cjs/internal/workerError.js.map +1 -1
  56. package/dist/cjs/internal/workerRunner.js +15 -12
  57. package/dist/cjs/internal/workerRunner.js.map +1 -1
  58. package/dist/dts/Command.d.ts +9 -9
  59. package/dist/dts/Command.d.ts.map +1 -1
  60. package/dist/dts/CommandExecutor.d.ts +13 -13
  61. package/dist/dts/CommandExecutor.d.ts.map +1 -1
  62. package/dist/dts/Effectify.d.ts +55 -55
  63. package/dist/dts/Effectify.d.ts.map +1 -1
  64. package/dist/dts/Error.d.ts +2 -6
  65. package/dist/dts/Error.d.ts.map +1 -1
  66. package/dist/dts/FileSystem.d.ts +35 -35
  67. package/dist/dts/FileSystem.d.ts.map +1 -1
  68. package/dist/dts/Http/App.d.ts +5 -5
  69. package/dist/dts/Http/App.d.ts.map +1 -1
  70. package/dist/dts/Http/Body.d.ts +10 -11
  71. package/dist/dts/Http/Body.d.ts.map +1 -1
  72. package/dist/dts/Http/Client.d.ts +32 -32
  73. package/dist/dts/Http/Client.d.ts.map +1 -1
  74. package/dist/dts/Http/ClientError.d.ts +2 -6
  75. package/dist/dts/Http/ClientError.d.ts.map +1 -1
  76. package/dist/dts/Http/ClientRequest.d.ts +16 -16
  77. package/dist/dts/Http/ClientRequest.d.ts.map +1 -1
  78. package/dist/dts/Http/ClientResponse.d.ts +3 -3
  79. package/dist/dts/Http/ClientResponse.d.ts.map +1 -1
  80. package/dist/dts/Http/Etag.d.ts +2 -2
  81. package/dist/dts/Http/Etag.d.ts.map +1 -1
  82. package/dist/dts/Http/IncomingMessage.d.ts +10 -10
  83. package/dist/dts/Http/IncomingMessage.d.ts.map +1 -1
  84. package/dist/dts/Http/Middleware.d.ts +3 -3
  85. package/dist/dts/Http/Multipart.d.ts +18 -19
  86. package/dist/dts/Http/Multipart.d.ts.map +1 -1
  87. package/dist/dts/Http/Multiplex.d.ts +4 -4
  88. package/dist/dts/Http/Multiplex.d.ts.map +1 -1
  89. package/dist/dts/Http/Platform.d.ts +3 -3
  90. package/dist/dts/Http/Platform.d.ts.map +1 -1
  91. package/dist/dts/Http/Router.d.ts +10 -10
  92. package/dist/dts/Http/Router.d.ts.map +1 -1
  93. package/dist/dts/Http/Server.d.ts +39 -14
  94. package/dist/dts/Http/Server.d.ts.map +1 -1
  95. package/dist/dts/Http/ServerError.d.ts +2 -3
  96. package/dist/dts/Http/ServerError.d.ts.map +1 -1
  97. package/dist/dts/Http/ServerRequest.d.ts +9 -9
  98. package/dist/dts/Http/ServerRequest.d.ts.map +1 -1
  99. package/dist/dts/Http/ServerResponse.d.ts +7 -7
  100. package/dist/dts/Http/ServerResponse.d.ts.map +1 -1
  101. package/dist/dts/Http/UrlParams.d.ts +4 -4
  102. package/dist/dts/HttpServer.d.ts +24 -0
  103. package/dist/dts/HttpServer.d.ts.map +1 -1
  104. package/dist/dts/KeyValueStore.d.ts +21 -21
  105. package/dist/dts/KeyValueStore.d.ts.map +1 -1
  106. package/dist/dts/Path.d.ts +3 -3
  107. package/dist/dts/Path.d.ts.map +1 -1
  108. package/dist/dts/Runtime.d.ts +1 -1
  109. package/dist/dts/Runtime.d.ts.map +1 -1
  110. package/dist/dts/Terminal.d.ts +5 -5
  111. package/dist/dts/Terminal.d.ts.map +1 -1
  112. package/dist/dts/Transferable.d.ts +35 -13
  113. package/dist/dts/Transferable.d.ts.map +1 -1
  114. package/dist/dts/Worker.d.ts +58 -41
  115. package/dist/dts/Worker.d.ts.map +1 -1
  116. package/dist/dts/WorkerError.d.ts +3 -7
  117. package/dist/dts/WorkerError.d.ts.map +1 -1
  118. package/dist/dts/WorkerRunner.d.ts +13 -13
  119. package/dist/dts/WorkerRunner.d.ts.map +1 -1
  120. package/dist/dts/index.d.ts +61 -0
  121. package/dist/dts/index.d.ts.map +1 -0
  122. package/dist/esm/Error.js +3 -0
  123. package/dist/esm/Error.js.map +1 -1
  124. package/dist/esm/Http/App.js.map +1 -1
  125. package/dist/esm/Http/Body.js.map +1 -1
  126. package/dist/esm/Http/Client.js.map +1 -1
  127. package/dist/esm/Http/ClientError.js +3 -0
  128. package/dist/esm/Http/ClientError.js.map +1 -1
  129. package/dist/esm/Http/ClientResponse.js.map +1 -1
  130. package/dist/esm/Http/IncomingMessage.js.map +1 -1
  131. package/dist/esm/Http/Multipart.js.map +1 -1
  132. package/dist/esm/Http/Server.js +25 -0
  133. package/dist/esm/Http/Server.js.map +1 -1
  134. package/dist/esm/Http/ServerError.js.map +1 -1
  135. package/dist/esm/Http/ServerResponse.js.map +1 -1
  136. package/dist/esm/HttpServer.js +24 -0
  137. package/dist/esm/HttpServer.js.map +1 -1
  138. package/dist/esm/KeyValueStore.js.map +1 -1
  139. package/dist/esm/Path.js.map +1 -1
  140. package/dist/esm/Transferable.js +48 -45
  141. package/dist/esm/Transferable.js.map +1 -1
  142. package/dist/esm/Worker.js +5 -0
  143. package/dist/esm/Worker.js.map +1 -1
  144. package/dist/esm/WorkerError.js +3 -0
  145. package/dist/esm/WorkerError.js.map +1 -1
  146. package/dist/esm/index.js +61 -0
  147. package/dist/esm/index.js.map +1 -0
  148. package/dist/esm/internal/commandExecutor.js +2 -2
  149. package/dist/esm/internal/commandExecutor.js.map +1 -1
  150. package/dist/esm/internal/effectify.js.map +1 -1
  151. package/dist/esm/internal/fileSystem.js +2 -2
  152. package/dist/esm/internal/fileSystem.js.map +1 -1
  153. package/dist/esm/internal/http/body.js.map +1 -1
  154. package/dist/esm/internal/http/client.js +2 -2
  155. package/dist/esm/internal/http/client.js.map +1 -1
  156. package/dist/esm/internal/http/etag.js +1 -1
  157. package/dist/esm/internal/http/etag.js.map +1 -1
  158. package/dist/esm/internal/http/multipart.js.map +1 -1
  159. package/dist/esm/internal/http/platform.js +1 -1
  160. package/dist/esm/internal/http/platform.js.map +1 -1
  161. package/dist/esm/internal/http/router.js +1 -1
  162. package/dist/esm/internal/http/router.js.map +1 -1
  163. package/dist/esm/internal/http/server.js +18 -1
  164. package/dist/esm/internal/http/server.js.map +1 -1
  165. package/dist/esm/internal/http/serverRequest.js +1 -1
  166. package/dist/esm/internal/http/serverRequest.js.map +1 -1
  167. package/dist/esm/internal/http/serverResponse.js.map +1 -1
  168. package/dist/esm/internal/keyValueStore.js +2 -2
  169. package/dist/esm/internal/keyValueStore.js.map +1 -1
  170. package/dist/esm/internal/path.js +3 -3
  171. package/dist/esm/internal/path.js.map +1 -1
  172. package/dist/esm/internal/terminal.js +2 -2
  173. package/dist/esm/internal/terminal.js.map +1 -1
  174. package/dist/esm/internal/worker.js +14 -11
  175. package/dist/esm/internal/worker.js.map +1 -1
  176. package/dist/esm/internal/workerError.js.map +1 -1
  177. package/dist/esm/internal/workerRunner.js +15 -12
  178. package/dist/esm/internal/workerRunner.js.map +1 -1
  179. package/package.json +11 -3
  180. package/src/Command.ts +9 -9
  181. package/src/CommandExecutor.ts +13 -13
  182. package/src/Effectify.ts +55 -55
  183. package/src/Error.ts +2 -3
  184. package/src/FileSystem.ts +35 -35
  185. package/src/Http/App.ts +5 -5
  186. package/src/Http/Body.ts +12 -13
  187. package/src/Http/Client.ts +37 -37
  188. package/src/Http/ClientError.ts +2 -3
  189. package/src/Http/ClientRequest.ts +17 -17
  190. package/src/Http/ClientResponse.ts +8 -5
  191. package/src/Http/Etag.ts +2 -2
  192. package/src/Http/IncomingMessage.ts +27 -23
  193. package/src/Http/Middleware.ts +4 -4
  194. package/src/Http/Multipart.ts +22 -25
  195. package/src/Http/Multiplex.ts +4 -4
  196. package/src/Http/Platform.ts +3 -3
  197. package/src/Http/Router.ts +16 -16
  198. package/src/Http/Server.ts +53 -18
  199. package/src/Http/ServerError.ts +2 -3
  200. package/src/Http/ServerRequest.ts +22 -22
  201. package/src/Http/ServerResponse.ts +9 -10
  202. package/src/Http/UrlParams.ts +6 -6
  203. package/src/HttpServer.ts +24 -0
  204. package/src/KeyValueStore.ts +23 -23
  205. package/src/Path.ts +3 -3
  206. package/src/Runtime.ts +1 -1
  207. package/src/Terminal.ts +4 -4
  208. package/src/Transferable.ts +88 -70
  209. package/src/Worker.ts +73 -57
  210. package/src/WorkerError.ts +3 -4
  211. package/src/WorkerRunner.ts +21 -21
  212. package/src/index.ts +74 -0
  213. package/src/internal/command.ts +7 -7
  214. package/src/internal/commandExecutor.ts +3 -3
  215. package/src/internal/effectify.ts +1 -1
  216. package/src/internal/fileSystem.ts +3 -3
  217. package/src/internal/http/body.ts +12 -12
  218. package/src/internal/http/client.ts +42 -46
  219. package/src/internal/http/clientRequest.ts +15 -15
  220. package/src/internal/http/clientResponse.ts +18 -18
  221. package/src/internal/http/etag.ts +1 -1
  222. package/src/internal/http/middleware.ts +4 -4
  223. package/src/internal/http/multipart.ts +32 -39
  224. package/src/internal/http/multiplex.ts +5 -5
  225. package/src/internal/http/platform.ts +2 -2
  226. package/src/internal/http/router.ts +14 -14
  227. package/src/internal/http/server.ts +60 -23
  228. package/src/internal/http/serverRequest.ts +24 -24
  229. package/src/internal/http/serverResponse.ts +11 -11
  230. package/src/internal/keyValueStore.ts +7 -7
  231. package/src/internal/path.ts +4 -4
  232. package/src/internal/terminal.ts +2 -2
  233. package/src/internal/worker.ts +55 -39
  234. package/src/internal/workerError.ts +1 -1
  235. package/src/internal/workerRunner.ts +55 -30
@@ -31,7 +31,7 @@ export type TypeId = typeof TypeId
31
31
  * @category models
32
32
  */
33
33
  export interface Client<R, E, A> extends Pipeable {
34
- (request: ClientRequest.ClientRequest): Effect.Effect<R, E, A>
34
+ (request: ClientRequest.ClientRequest): Effect.Effect<A, E, R>
35
35
  readonly [TypeId]: TypeId
36
36
  readonly preprocess: Client.Preprocess<R, E>
37
37
  readonly execute: Client.Execute<R, E, A>
@@ -47,15 +47,15 @@ export declare namespace Client {
47
47
  */
48
48
  export type Preprocess<R, E> = (
49
49
  request: ClientRequest.ClientRequest
50
- ) => Effect.Effect<R, E, ClientRequest.ClientRequest>
50
+ ) => Effect.Effect<ClientRequest.ClientRequest, E, R>
51
51
 
52
52
  /**
53
53
  * @since 1.0.0
54
54
  * @category models
55
55
  */
56
56
  export type Execute<R, E, A> = (
57
- request: Effect.Effect<R, E, ClientRequest.ClientRequest>
58
- ) => Effect.Effect<R, E, A>
57
+ request: Effect.Effect<ClientRequest.ClientRequest, E, R>
58
+ ) => Effect.Effect<A, E, R>
59
59
 
60
60
  /**
61
61
  * @since 1.0.0
@@ -94,7 +94,7 @@ export const Fetch: Context.Tag<Fetch, typeof globalThis.fetch> = internal.Fetch
94
94
  * @since 1.0.0
95
95
  * @category layers
96
96
  */
97
- export const layer: Layer.Layer<never, never, Client.Default> = internal.layer
97
+ export const layer: Layer.Layer<Client.Default> = internal.layer
98
98
 
99
99
  /**
100
100
  * @since 1.0.0
@@ -113,8 +113,8 @@ export const fetchOk: (options?: RequestInit) => Client.Default = internal.fetch
113
113
  * @category error handling
114
114
  */
115
115
  export const catchAll: {
116
- <E, R2, E2, A2>(f: (e: E) => Effect.Effect<R2, E2, A2>): <R, A>(self: Client<R, E, A>) => Client<R2 | R, E2, A2 | A>
117
- <R, E, A, R2, E2, A2>(self: Client<R, E, A>, f: (e: E) => Effect.Effect<R2, E2, A2>): Client<R | R2, E2, A | A2>
116
+ <E, R2, E2, A2>(f: (e: E) => Effect.Effect<A2, E2, R2>): <R, A>(self: Client<R, E, A>) => Client<R2 | R, E2, A2 | A>
117
+ <R, E, A, R2, E2, A2>(self: Client<R, E, A>, f: (e: E) => Effect.Effect<A2, E2, R2>): Client<R | R2, E2, A | A2>
118
118
  } = internal.catchAll
119
119
 
120
120
  /**
@@ -124,12 +124,12 @@ export const catchAll: {
124
124
  export const catchTag: {
125
125
  <E extends { _tag: string }, K extends E["_tag"] & string, R1, E1, A1>(
126
126
  tag: K,
127
- f: (e: Extract<E, { _tag: K }>) => Effect.Effect<R1, E1, A1>
127
+ f: (e: Extract<E, { _tag: K }>) => Effect.Effect<A1, E1, R1>
128
128
  ): <R, A>(self: Client<R, E, A>) => Client<R1 | R, E1 | Exclude<E, { _tag: K }>, A1 | A>
129
129
  <R, E extends { _tag: string }, A, K extends E["_tag"] & string, E1, R1, A1>(
130
130
  self: Client<R, E, A>,
131
131
  tag: K,
132
- f: (e: Extract<E, { _tag: K }>) => Effect.Effect<R1, E1, A1>
132
+ f: (e: Extract<E, { _tag: K }>) => Effect.Effect<A1, E1, R1>
133
133
  ): Client<R | R1, E1 | Exclude<E, { _tag: K }>, A | A1>
134
134
  } = internal.catchTag
135
135
 
@@ -148,7 +148,7 @@ export const catchTags: {
148
148
  ) => Client<
149
149
  | R
150
150
  | {
151
- [K in keyof Cases]: Cases[K] extends (...args: Array<any>) => Effect.Effect<infer R, any, any> ? R : never
151
+ [K in keyof Cases]: Cases[K] extends (...args: Array<any>) => Effect.Effect<any, any, infer R> ? R : never
152
152
  }[keyof Cases],
153
153
  | Exclude<E, { _tag: keyof Cases }>
154
154
  | {
@@ -156,7 +156,7 @@ export const catchTags: {
156
156
  }[keyof Cases],
157
157
  | A
158
158
  | {
159
- [K in keyof Cases]: Cases[K] extends (...args: Array<any>) => Effect.Effect<any, any, infer A> ? A : never
159
+ [K in keyof Cases]: Cases[K] extends (...args: Array<any>) => Effect.Effect<infer A, any, any> ? A : never
160
160
  }[keyof Cases]
161
161
  >
162
162
  <
@@ -170,7 +170,7 @@ export const catchTags: {
170
170
  ): Client<
171
171
  | R
172
172
  | {
173
- [K in keyof Cases]: Cases[K] extends (...args: Array<any>) => Effect.Effect<infer R, any, any> ? R : never
173
+ [K in keyof Cases]: Cases[K] extends (...args: Array<any>) => Effect.Effect<any, any, infer R> ? R : never
174
174
  }[keyof Cases],
175
175
  | Exclude<E, { _tag: keyof Cases }>
176
176
  | {
@@ -178,7 +178,7 @@ export const catchTags: {
178
178
  }[keyof Cases],
179
179
  | A
180
180
  | {
181
- [K in keyof Cases]: Cases[K] extends (...args: Array<any>) => Effect.Effect<any, any, infer A> ? A : never
181
+ [K in keyof Cases]: Cases[K] extends (...args: Array<any>) => Effect.Effect<infer A, any, any> ? A : never
182
182
  }[keyof Cases]
183
183
  >
184
184
  } = internal.catchTags
@@ -190,12 +190,12 @@ export const catchTags: {
190
190
  export const filterOrElse: {
191
191
  <A, R2, E2, B>(
192
192
  f: Predicate.Predicate<A>,
193
- orElse: (a: A) => Effect.Effect<R2, E2, B>
193
+ orElse: (a: A) => Effect.Effect<B, E2, R2>
194
194
  ): <R, E>(self: Client<R, E, A>) => Client<R2 | R, E2 | E, A | B>
195
195
  <R, E, A, R2, E2, B>(
196
196
  self: Client<R, E, A>,
197
197
  f: Predicate.Predicate<A>,
198
- orElse: (a: A) => Effect.Effect<R2, E2, B>
198
+ orElse: (a: A) => Effect.Effect<B, E2, R2>
199
199
  ): Client<R | R2, E | E2, A | B>
200
200
  } = internal.filterOrElse
201
201
 
@@ -235,7 +235,7 @@ export const filterStatusOk: <R, E>(
235
235
  * @category constructors
236
236
  */
237
237
  export const make: <R, E, A, R2, E2>(
238
- execute: (request: Effect.Effect<R2, E2, ClientRequest.ClientRequest>) => Effect.Effect<R, E, A>,
238
+ execute: (request: Effect.Effect<ClientRequest.ClientRequest, E2, R2>) => Effect.Effect<A, E, R>,
239
239
  preprocess: Client.Preprocess<R2, E2>
240
240
  ) => Client<R, E, A> = internal.make
241
241
 
@@ -246,7 +246,7 @@ export const make: <R, E, A, R2, E2>(
246
246
  export const makeDefault: (
247
247
  f: (
248
248
  request: ClientRequest.ClientRequest
249
- ) => Effect.Effect<never, Error.HttpClientError, ClientResponse.ClientResponse>
249
+ ) => Effect.Effect<ClientResponse.ClientResponse, Error.HttpClientError>
250
250
  ) => Client.Default = internal.makeDefault
251
251
 
252
252
  /**
@@ -255,11 +255,11 @@ export const makeDefault: (
255
255
  */
256
256
  export const transform: {
257
257
  <R, E, A, R1, E1, A1>(
258
- f: (effect: Effect.Effect<R, E, A>, request: ClientRequest.ClientRequest) => Effect.Effect<R1, E1, A1>
258
+ f: (effect: Effect.Effect<A, E, R>, request: ClientRequest.ClientRequest) => Effect.Effect<A1, E1, R1>
259
259
  ): (self: Client<R, E, A>) => Client<R | R1, E | E1, A1>
260
260
  <R, E, A, R1, E1, A1>(
261
261
  self: Client<R, E, A>,
262
- f: (effect: Effect.Effect<R, E, A>, request: ClientRequest.ClientRequest) => Effect.Effect<R1, E1, A1>
262
+ f: (effect: Effect.Effect<A, E, R>, request: ClientRequest.ClientRequest) => Effect.Effect<A1, E1, R1>
263
263
  ): Client<R | R1, E | E1, A1>
264
264
  } = internal.transform
265
265
 
@@ -269,11 +269,11 @@ export const transform: {
269
269
  */
270
270
  export const transformResponse: {
271
271
  <R, E, A, R1, E1, A1>(
272
- f: (effect: Effect.Effect<R, E, A>) => Effect.Effect<R1, E1, A1>
272
+ f: (effect: Effect.Effect<A, E, R>) => Effect.Effect<A1, E1, R1>
273
273
  ): (self: Client<R, E, A>) => Client<R1, E1, A1>
274
274
  <R, E, A, R1, E1, A1>(
275
275
  self: Client<R, E, A>,
276
- f: (effect: Effect.Effect<R, E, A>) => Effect.Effect<R1, E1, A1>
276
+ f: (effect: Effect.Effect<A, E, R>) => Effect.Effect<A1, E1, R1>
277
277
  ): Client<R1, E1, A1>
278
278
  } = internal.transformResponse
279
279
 
@@ -291,8 +291,8 @@ export const map: {
291
291
  * @category mapping & sequencing
292
292
  */
293
293
  export const mapEffect: {
294
- <A, R2, E2, B>(f: (a: A) => Effect.Effect<R2, E2, B>): <R, E>(self: Client<R, E, A>) => Client<R2 | R, E2 | E, B>
295
- <R, E, A, R2, E2, B>(self: Client<R, E, A>, f: (a: A) => Effect.Effect<R2, E2, B>): Client<R | R2, E | E2, B>
294
+ <A, R2, E2, B>(f: (a: A) => Effect.Effect<B, E2, R2>): <R, E>(self: Client<R, E, A>) => Client<R2 | R, E2 | E, B>
295
+ <R, E, A, R2, E2, B>(self: Client<R, E, A>, f: (a: A) => Effect.Effect<B, E2, R2>): Client<R | R2, E | E2, B>
296
296
  } = internal.mapEffect
297
297
 
298
298
  /**
@@ -312,11 +312,11 @@ export const mapRequest: {
312
312
  */
313
313
  export const mapRequestEffect: {
314
314
  <R2, E2>(
315
- f: (a: ClientRequest.ClientRequest) => Effect.Effect<R2, E2, ClientRequest.ClientRequest>
315
+ f: (a: ClientRequest.ClientRequest) => Effect.Effect<ClientRequest.ClientRequest, E2, R2>
316
316
  ): <R, E, A>(self: Client<R, E, A>) => Client<R2 | R, E2 | E, A>
317
317
  <R, E, A, R2, E2>(
318
318
  self: Client<R, E, A>,
319
- f: (a: ClientRequest.ClientRequest) => Effect.Effect<R2, E2, ClientRequest.ClientRequest>
319
+ f: (a: ClientRequest.ClientRequest) => Effect.Effect<ClientRequest.ClientRequest, E2, R2>
320
320
  ): Client<R | R2, E | E2, A>
321
321
  } = internal.mapRequestEffect
322
322
 
@@ -337,11 +337,11 @@ export const mapInputRequest: {
337
337
  */
338
338
  export const mapInputRequestEffect: {
339
339
  <R2, E2>(
340
- f: (a: ClientRequest.ClientRequest) => Effect.Effect<R2, E2, ClientRequest.ClientRequest>
340
+ f: (a: ClientRequest.ClientRequest) => Effect.Effect<ClientRequest.ClientRequest, E2, R2>
341
341
  ): <R, E, A>(self: Client<R, E, A>) => Client<R2 | R, E2 | E, A>
342
342
  <R, E, A, R2, E2>(
343
343
  self: Client<R, E, A>,
344
- f: (a: ClientRequest.ClientRequest) => Effect.Effect<R2, E2, ClientRequest.ClientRequest>
344
+ f: (a: ClientRequest.ClientRequest) => Effect.Effect<ClientRequest.ClientRequest, E2, R2>
345
345
  ): Client<R | R2, E | E2, A>
346
346
  } = internal.mapInputRequestEffect
347
347
 
@@ -359,19 +359,19 @@ export const retry: {
359
359
  * @category schema
360
360
  */
361
361
  export const schemaFunction: {
362
- <SR, SI, SA>(
363
- schema: Schema.Schema<SR, SI, SA>
362
+ <SA, SI, SR>(
363
+ schema: Schema.Schema<SA, SI, SR>
364
364
  ): <R, E, A>(
365
365
  self: Client<R, E, A>
366
366
  ) => (
367
367
  request: ClientRequest.ClientRequest
368
- ) => (a: SA) => Effect.Effect<SR | R, E | ParseResult.ParseError | Error.RequestError, A>
369
- <R, E, A, SR, SI, SA>(
368
+ ) => (a: SA) => Effect.Effect<A, E | ParseResult.ParseError | Error.RequestError, SR | R>
369
+ <R, E, A, SA, SI, SR>(
370
370
  self: Client<R, E, A>,
371
- schema: Schema.Schema<SR, SI, SA>
371
+ schema: Schema.Schema<SA, SI, SR>
372
372
  ): (
373
373
  request: ClientRequest.ClientRequest
374
- ) => (a: SA) => Effect.Effect<R | SR, ParseResult.ParseError | Error.RequestError | E, A>
374
+ ) => (a: SA) => Effect.Effect<A, E | ParseResult.ParseError | Error.RequestError, SR | R>
375
375
  } = internal.schemaFunction
376
376
 
377
377
  /**
@@ -379,8 +379,8 @@ export const schemaFunction: {
379
379
  * @category mapping & sequencing
380
380
  */
381
381
  export const tap: {
382
- <A, R2, E2, _>(f: (a: A) => Effect.Effect<R2, E2, _>): <R, E>(self: Client<R, E, A>) => Client<R2 | R, E2 | E, A>
383
- <R, E, A, R2, E2, _>(self: Client<R, E, A>, f: (a: A) => Effect.Effect<R2, E2, _>): Client<R | R2, E | E2, A>
382
+ <A, R2, E2, _>(f: (a: A) => Effect.Effect<_, E2, R2>): <R, E>(self: Client<R, E, A>) => Client<R2 | R, E2 | E, A>
383
+ <R, E, A, R2, E2, _>(self: Client<R, E, A>, f: (a: A) => Effect.Effect<_, E2, R2>): Client<R | R2, E | E2, A>
384
384
  } = internal.tap
385
385
 
386
386
  /**
@@ -389,10 +389,10 @@ export const tap: {
389
389
  */
390
390
  export const tapRequest: {
391
391
  <R2, E2, _>(
392
- f: (a: ClientRequest.ClientRequest) => Effect.Effect<R2, E2, _>
392
+ f: (a: ClientRequest.ClientRequest) => Effect.Effect<_, E2, R2>
393
393
  ): <R, E, A>(self: Client<R, E, A>) => Client<R2 | R, E2 | E, A>
394
394
  <R, E, A, R2, E2, _>(
395
395
  self: Client<R, E, A>,
396
- f: (a: ClientRequest.ClientRequest) => Effect.Effect<R2, E2, _>
396
+ f: (a: ClientRequest.ClientRequest) => Effect.Effect<_, E2, R2>
397
397
  ): Client<R | R2, E | E2, A>
398
398
  } = internal.tapRequest
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- import type * as Data from "effect/Data"
5
4
  import * as internal from "../internal/http/clientError.js"
6
5
  import type * as ClientRequest from "./ClientRequest.js"
7
6
  import type * as ClientResponse from "./ClientResponse.js"
@@ -32,7 +31,7 @@ export declare namespace HttpError {
32
31
  * @since 1.0.0
33
32
  * @category models
34
33
  */
35
- export interface Proto extends Data.Case {
34
+ export interface Proto {
36
35
  readonly [TypeId]: TypeId
37
36
  readonly _tag: string
38
37
  }
@@ -40,7 +39,7 @@ export declare namespace HttpError {
40
39
  /**
41
40
  * @since 1.0.0
42
41
  */
43
- export type ProvidedFields = TypeId | "_tag" | keyof Data.Case
42
+ export type ProvidedFields = TypeId | "_tag"
44
43
  }
45
44
 
46
45
  /**
@@ -43,13 +43,13 @@ export interface ClientRequest extends Pipeable {
43
43
  * @category models
44
44
  */
45
45
  export interface Options {
46
- readonly method?: Method
47
- readonly url?: string
48
- readonly urlParams?: UrlParams.Input
49
- readonly headers?: Headers.Input
50
- readonly body?: Body.Body
51
- readonly accept?: string
52
- readonly acceptJson?: boolean
46
+ readonly method?: Method | undefined
47
+ readonly url?: string | undefined
48
+ readonly urlParams?: UrlParams.Input | undefined
49
+ readonly headers?: Headers.Input | undefined
50
+ readonly body?: Body.Body | undefined
51
+ readonly accept?: string | undefined
52
+ readonly acceptJson?: boolean | undefined
53
53
  }
54
54
 
55
55
  /**
@@ -283,8 +283,8 @@ export const textBody: {
283
283
  * @category combinators
284
284
  */
285
285
  export const jsonBody: {
286
- (body: unknown): (self: ClientRequest) => Effect.Effect<never, Body.BodyError, ClientRequest>
287
- (self: ClientRequest, body: unknown): Effect.Effect<never, Body.BodyError, ClientRequest>
286
+ (body: unknown): (self: ClientRequest) => Effect.Effect<ClientRequest, Body.BodyError>
287
+ (self: ClientRequest, body: unknown): Effect.Effect<ClientRequest, Body.BodyError>
288
288
  } = internal.jsonBody
289
289
 
290
290
  /**
@@ -300,11 +300,11 @@ export const unsafeJsonBody: {
300
300
  * @since 1.0.0
301
301
  * @category combinators
302
302
  */
303
- export const schemaBody: <R, I, A>(
304
- schema: Schema.Schema<R, I, A>
303
+ export const schemaBody: <A, I, R>(
304
+ schema: Schema.Schema<A, I, R>
305
305
  ) => {
306
- (body: A): (self: ClientRequest) => Effect.Effect<R, Body.BodyError, ClientRequest>
307
- (self: ClientRequest, body: A): Effect.Effect<R, Body.BodyError, ClientRequest>
306
+ (body: A): (self: ClientRequest) => Effect.Effect<ClientRequest, Body.BodyError, R>
307
+ (self: ClientRequest, body: A): Effect.Effect<ClientRequest, Body.BodyError, R>
308
308
  } = internal.schemaBody
309
309
 
310
310
  /**
@@ -331,12 +331,12 @@ export const formDataBody: {
331
331
  */
332
332
  export const streamBody: {
333
333
  (
334
- body: Stream.Stream<never, unknown, Uint8Array>,
334
+ body: Stream.Stream<Uint8Array, unknown>,
335
335
  options?: { readonly contentType?: string | undefined; readonly contentLength?: number | undefined } | undefined
336
336
  ): (self: ClientRequest) => ClientRequest
337
337
  (
338
338
  self: ClientRequest,
339
- body: Stream.Stream<never, unknown, Uint8Array>,
339
+ body: Stream.Stream<Uint8Array, unknown>,
340
340
  options?: { readonly contentType?: string | undefined; readonly contentLength?: number | undefined } | undefined
341
341
  ): ClientRequest
342
342
  } = internal.streamBody
@@ -349,12 +349,12 @@ export const fileBody: {
349
349
  (
350
350
  path: string,
351
351
  options?: FileSystem.StreamOptions & { readonly contentType?: string }
352
- ): (self: ClientRequest) => Effect.Effect<FileSystem.FileSystem, PlatformError.PlatformError, ClientRequest>
352
+ ): (self: ClientRequest) => Effect.Effect<ClientRequest, PlatformError.PlatformError, FileSystem.FileSystem>
353
353
  (
354
354
  self: ClientRequest,
355
355
  path: string,
356
356
  options?: FileSystem.StreamOptions & { readonly contentType?: string }
357
- ): Effect.Effect<FileSystem.FileSystem, PlatformError.PlatformError, ClientRequest>
357
+ ): Effect.Effect<ClientRequest, PlatformError.PlatformError, FileSystem.FileSystem>
358
358
  } = internal.fileBody
359
359
 
360
360
  /**
@@ -46,7 +46,7 @@ export type TypeId = typeof TypeId
46
46
  export interface ClientResponse extends IncomingMessage.IncomingMessage<Error.ResponseError> {
47
47
  readonly [TypeId]: TypeId
48
48
  readonly status: number
49
- readonly formData: Effect.Effect<never, Error.ResponseError, FormData>
49
+ readonly formData: Effect.Effect<FormData, Error.ResponseError>
50
50
  }
51
51
 
52
52
  /**
@@ -68,8 +68,8 @@ export const schemaJson: <
68
68
  },
69
69
  A
70
70
  >(
71
- schema: Schema.Schema<R, I, A>
72
- ) => (self: ClientResponse) => Effect.Effect<R, Error.ResponseError | ParseResult.ParseError, A> = internal.schemaJson
71
+ schema: Schema.Schema<A, I, R>
72
+ ) => (self: ClientResponse) => Effect.Effect<A, Error.ResponseError | ParseResult.ParseError, R> = internal.schemaJson
73
73
 
74
74
  /**
75
75
  * @since 1.0.0
@@ -77,7 +77,10 @@ export const schemaJson: <
77
77
  */
78
78
  export const schemaNoBody: <
79
79
  R,
80
- I extends { readonly status?: number | undefined; readonly headers?: Readonly<Record<string, string>> | undefined },
80
+ I extends {
81
+ readonly status?: number | undefined
82
+ readonly headers?: Readonly<Record<string, string>> | undefined
83
+ },
81
84
  A
82
- >(schema: Schema.Schema<R, I, A>) => (self: ClientResponse) => Effect.Effect<R, ParseResult.ParseError, A> =
85
+ >(schema: Schema.Schema<A, I, R>) => (self: ClientResponse) => Effect.Effect<A, ParseResult.ParseError, R> =
83
86
  internal.schemaNoBody
package/src/Http/Etag.ts CHANGED
@@ -55,8 +55,8 @@ export type GeneratorTypeId = typeof GeneratorTypeId
55
55
  */
56
56
  export interface Generator {
57
57
  readonly [GeneratorTypeId]: GeneratorTypeId
58
- readonly fromFileInfo: (info: FileSystem.File.Info) => Effect.Effect<never, never, Etag>
59
- readonly fromFileWeb: (file: Body.Body.FileLike) => Effect.Effect<never, never, Etag>
58
+ readonly fromFileInfo: (info: FileSystem.File.Info) => Effect.Effect<Etag>
59
+ readonly fromFileWeb: (file: Body.Body.FileLike) => Effect.Effect<Etag>
60
60
  }
61
61
 
62
62
  /**
@@ -35,20 +35,20 @@ export interface IncomingMessage<E> {
35
35
  readonly [TypeId]: TypeId
36
36
  readonly headers: Headers.Headers
37
37
  readonly remoteAddress: Option.Option<string>
38
- readonly json: Effect.Effect<never, E, unknown>
39
- readonly text: Effect.Effect<never, E, string>
40
- readonly urlParamsBody: Effect.Effect<never, E, UrlParams.UrlParams>
41
- readonly arrayBuffer: Effect.Effect<never, E, ArrayBuffer>
42
- readonly stream: Stream.Stream<never, E, Uint8Array>
38
+ readonly json: Effect.Effect<unknown, E>
39
+ readonly text: Effect.Effect<string, E>
40
+ readonly urlParamsBody: Effect.Effect<UrlParams.UrlParams, E>
41
+ readonly arrayBuffer: Effect.Effect<ArrayBuffer, E>
42
+ readonly stream: Stream.Stream<Uint8Array, E>
43
43
  }
44
44
 
45
45
  /**
46
46
  * @since 1.0.0
47
47
  * @category schema
48
48
  */
49
- export const schemaBodyJson = <R, I, A>(schema: Schema.Schema<R, I, A>) => {
49
+ export const schemaBodyJson = <A, I, R>(schema: Schema.Schema<A, I, R>) => {
50
50
  const parse = Schema.decodeUnknown(schema)
51
- return <E>(self: IncomingMessage<E>): Effect.Effect<R, E | ParseResult.ParseError, A> =>
51
+ return <E>(self: IncomingMessage<E>): Effect.Effect<A, E | ParseResult.ParseError, R> =>
52
52
  Effect.flatMap(self.json, parse)
53
53
  }
54
54
 
@@ -57,10 +57,10 @@ export const schemaBodyJson = <R, I, A>(schema: Schema.Schema<R, I, A>) => {
57
57
  * @category schema
58
58
  */
59
59
  export const schemaBodyUrlParams = <R, I extends Readonly<Record<string, string>>, A>(
60
- schema: Schema.Schema<R, I, A>
60
+ schema: Schema.Schema<A, I, R>
61
61
  ) => {
62
62
  const parse = Schema.decodeUnknown(schema)
63
- return <E>(self: IncomingMessage<E>): Effect.Effect<R, E | ParseResult.ParseError, A> =>
63
+ return <E>(self: IncomingMessage<E>): Effect.Effect<A, E | ParseResult.ParseError, R> =>
64
64
  Effect.flatMap(self.urlParamsBody, (_) => parse(Object.fromEntries(_)))
65
65
  }
66
66
 
@@ -68,9 +68,9 @@ export const schemaBodyUrlParams = <R, I extends Readonly<Record<string, string>
68
68
  * @since 1.0.0
69
69
  * @category schema
70
70
  */
71
- export const schemaHeaders = <R, I extends Readonly<Record<string, string>>, A>(schema: Schema.Schema<R, I, A>) => {
71
+ export const schemaHeaders = <R, I extends Readonly<Record<string, string>>, A>(schema: Schema.Schema<A, I, R>) => {
72
72
  const parse = Schema.decodeUnknown(schema)
73
- return <E>(self: IncomingMessage<E>): Effect.Effect<R, ParseResult.ParseError, A> => parse(self.headers)
73
+ return <E>(self: IncomingMessage<E>): Effect.Effect<A, ParseResult.ParseError, R> => parse(self.headers)
74
74
  }
75
75
 
76
76
  const SpanSchema = Schema.struct({
@@ -84,7 +84,9 @@ const SpanSchema = Schema.struct({
84
84
  * @since 1.0.0
85
85
  * @category schema
86
86
  */
87
- export const schemaExternalSpan = flow(
87
+ export const schemaExternalSpan: <E>(
88
+ self: IncomingMessage<E>
89
+ ) => Effect.Effect<Tracer.ExternalSpan, ParseResult.ParseError> = flow(
88
90
  schemaHeaders(Schema.union(
89
91
  Schema.transformOrFail(
90
92
  Schema.struct({
@@ -94,16 +96,18 @@ export const schemaExternalSpan = flow(
94
96
  (input, _, ast) => {
95
97
  const parts = input.b3.split("-")
96
98
  if (parts.length >= 2) {
97
- return ParseResult.succeed({
98
- traceId: parts[0],
99
- spanId: parts[1],
100
- sampled: parts[2] ? parts[2] === "1" : true,
101
- parentSpanId: parts[3]
102
- })
99
+ return ParseResult.succeed(
100
+ {
101
+ traceId: parts[0],
102
+ spanId: parts[1],
103
+ sampled: parts[2] ? parts[2] === "1" : true,
104
+ parentSpanId: parts[3]
105
+ } as const
106
+ )
103
107
  }
104
108
  return ParseResult.fail(ParseResult.type(ast, input))
105
109
  },
106
- (_) => ParseResult.succeed({ b3: "" })
110
+ (_) => ParseResult.succeed({ b3: "" } as const)
107
111
  ),
108
112
  Schema.transform(
109
113
  Schema.struct({
@@ -118,13 +122,13 @@ export const schemaExternalSpan = flow(
118
122
  spanId: _["x-b3-spanid"],
119
123
  parentSpanId: _["x-b3-parentspanid"],
120
124
  sampled: _["x-b3-sampled"] === "1"
121
- }),
125
+ } as const),
122
126
  (_) => ({
123
127
  "x-b3-traceid": _.traceId,
124
128
  "x-b3-spanid": _.spanId,
125
129
  "x-b3-parentspanid": _.parentSpanId,
126
130
  "x-b3-sampled": _.sampled ? "1" : "0"
127
- })
131
+ } as const)
128
132
  )
129
133
  )),
130
134
  Effect.map((_): ExternalSpan =>
@@ -150,6 +154,6 @@ export const maxBodySize: FiberRef.FiberRef<Option.Option<FileSystem.Size>> = Gl
150
154
  * @category fiber refs
151
155
  */
152
156
  export const withMaxBodySize = dual<
153
- (size: Option.Option<FileSystem.SizeInput>) => <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>,
154
- <R, E, A>(effect: Effect.Effect<R, E, A>, size: Option.Option<FileSystem.SizeInput>) => Effect.Effect<R, E, A>
157
+ (size: Option.Option<FileSystem.SizeInput>) => <R, E, A>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>,
158
+ <R, E, A>(effect: Effect.Effect<A, E, R>, size: Option.Option<FileSystem.SizeInput>) => Effect.Effect<A, E, R>
155
159
  >(2, (effect, size) => Effect.locally(effect, maxBodySize, Option.map(size, FileSystem.Size)))
@@ -50,7 +50,7 @@ export const loggerDisabled: FiberRef.FiberRef<boolean> = internal.loggerDisable
50
50
  * @since 1.0.0
51
51
  * @category fiber refs
52
52
  */
53
- export const withLoggerDisabled: <R, E, A>(self: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A> =
53
+ export const withLoggerDisabled: <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R> =
54
54
  internal.withLoggerDisabled
55
55
 
56
56
  /**
@@ -67,11 +67,11 @@ export const currentTracerDisabledWhen: FiberRef.FiberRef<Predicate.Predicate<Se
67
67
  export const withTracerDisabledWhen: {
68
68
  (
69
69
  predicate: Predicate.Predicate<ServerRequest.ServerRequest>
70
- ): <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
70
+ ): <R, E, A>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
71
71
  <R, E, A>(
72
- effect: Effect.Effect<R, E, A>,
72
+ effect: Effect.Effect<A, E, R>,
73
73
  predicate: Predicate.Predicate<ServerRequest.ServerRequest>
74
- ): Effect.Effect<R, E, A>
74
+ ): Effect.Effect<A, E, R>
75
75
  } = internal.withTracerDisabledWhen
76
76
 
77
77
  /**