effect 4.0.0-beta.103 → 4.0.0-beta.104

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 (523) hide show
  1. package/dist/Cache.js +1 -1
  2. package/dist/Cache.js.map +1 -1
  3. package/dist/Channel.d.ts +1 -1
  4. package/dist/Channel.d.ts.map +1 -1
  5. package/dist/Channel.js.map +1 -1
  6. package/dist/Config.d.ts.map +1 -1
  7. package/dist/Config.js +28 -7
  8. package/dist/Config.js.map +1 -1
  9. package/dist/ConfigProvider.d.ts.map +1 -1
  10. package/dist/ConfigProvider.js +2 -1
  11. package/dist/ConfigProvider.js.map +1 -1
  12. package/dist/Context.d.ts +2 -2
  13. package/dist/Context.d.ts.map +1 -1
  14. package/dist/Context.js.map +1 -1
  15. package/dist/Crypto.d.ts.map +1 -1
  16. package/dist/Crypto.js +13 -5
  17. package/dist/Crypto.js.map +1 -1
  18. package/dist/Duration.d.ts.map +1 -1
  19. package/dist/Duration.js +12 -1
  20. package/dist/Duration.js.map +1 -1
  21. package/dist/Effect.d.ts +132 -14
  22. package/dist/Effect.d.ts.map +1 -1
  23. package/dist/Effect.js +38 -0
  24. package/dist/Effect.js.map +1 -1
  25. package/dist/Equal.d.ts.map +1 -1
  26. package/dist/Equal.js +10 -2
  27. package/dist/Equal.js.map +1 -1
  28. package/dist/ExecutionPlan.d.ts +73 -0
  29. package/dist/ExecutionPlan.d.ts.map +1 -1
  30. package/dist/ExecutionPlan.js +1 -1
  31. package/dist/ExecutionPlan.js.map +1 -1
  32. package/dist/FiberSet.js +1 -1
  33. package/dist/FileSystem.d.ts +2 -2
  34. package/dist/Function.d.ts +4 -3
  35. package/dist/Function.d.ts.map +1 -1
  36. package/dist/Function.js +5 -5
  37. package/dist/Function.js.map +1 -1
  38. package/dist/Iterable.d.ts.map +1 -1
  39. package/dist/Iterable.js +11 -10
  40. package/dist/Iterable.js.map +1 -1
  41. package/dist/Layer.d.ts.map +1 -1
  42. package/dist/Layer.js +7 -5
  43. package/dist/Layer.js.map +1 -1
  44. package/dist/Schedule.d.ts +8 -8
  45. package/dist/Schedule.d.ts.map +1 -1
  46. package/dist/Schedule.js +4 -4
  47. package/dist/Schedule.js.map +1 -1
  48. package/dist/Schema.d.ts +32 -32
  49. package/dist/Schema.d.ts.map +1 -1
  50. package/dist/Schema.js +23 -18
  51. package/dist/Schema.js.map +1 -1
  52. package/dist/SchemaAST.d.ts +3 -3
  53. package/dist/SchemaAST.d.ts.map +1 -1
  54. package/dist/SchemaAST.js +47 -31
  55. package/dist/SchemaAST.js.map +1 -1
  56. package/dist/SchemaParser.d.ts.map +1 -1
  57. package/dist/SchemaParser.js +35 -53
  58. package/dist/SchemaParser.js.map +1 -1
  59. package/dist/ScopedCache.js +1 -1
  60. package/dist/ScopedCache.js.map +1 -1
  61. package/dist/Sink.d.ts +1 -1
  62. package/dist/Sink.d.ts.map +1 -1
  63. package/dist/Stream.d.ts +27 -4
  64. package/dist/Stream.d.ts.map +1 -1
  65. package/dist/Stream.js +27 -2
  66. package/dist/Stream.js.map +1 -1
  67. package/dist/SynchronizedRef.js +1 -1
  68. package/dist/SynchronizedRef.js.map +1 -1
  69. package/dist/Terminal.js +1 -1
  70. package/dist/Terminal.js.map +1 -1
  71. package/dist/Tuple.d.ts +6 -4
  72. package/dist/Tuple.d.ts.map +1 -1
  73. package/dist/Tuple.js.map +1 -1
  74. package/dist/TxReentrantLock.d.ts +0 -56
  75. package/dist/TxReentrantLock.d.ts.map +1 -1
  76. package/dist/TxReentrantLock.js +8 -8
  77. package/dist/TxReentrantLock.js.map +1 -1
  78. package/dist/internal/dateTime.js +1 -1
  79. package/dist/internal/dateTime.js.map +1 -1
  80. package/dist/internal/executionPlan.js +51 -3
  81. package/dist/internal/executionPlan.js.map +1 -1
  82. package/dist/internal/hashMap.js +12 -8
  83. package/dist/internal/hashMap.js.map +1 -1
  84. package/dist/internal/matcher.js +1 -1
  85. package/dist/internal/matcher.js.map +1 -1
  86. package/dist/internal/schedule.js.map +1 -1
  87. package/dist/internal/schema/annotations.js +2 -0
  88. package/dist/internal/schema/annotations.js.map +1 -1
  89. package/dist/internal/schema/toArbitrary.js +1 -1
  90. package/dist/internal/schema/toArbitrary.js.map +1 -1
  91. package/dist/internal/trie.js +13 -3
  92. package/dist/internal/trie.js.map +1 -1
  93. package/dist/testing/TestClock.d.ts.map +1 -1
  94. package/dist/testing/TestClock.js +11 -1
  95. package/dist/testing/TestClock.js.map +1 -1
  96. package/dist/testing/TestSchema.d.ts +1 -1
  97. package/dist/testing/TestSchema.d.ts.map +1 -1
  98. package/dist/unstable/ai/AiError.js +19 -19
  99. package/dist/unstable/ai/AiError.js.map +1 -1
  100. package/dist/unstable/ai/Chat.js +1 -1
  101. package/dist/unstable/ai/Chat.js.map +1 -1
  102. package/dist/unstable/ai/LanguageModel.js +4 -2
  103. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  104. package/dist/unstable/ai/McpSchema.d.ts +132 -132
  105. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  106. package/dist/unstable/ai/McpSchema.js +8 -8
  107. package/dist/unstable/ai/McpSchema.js.map +1 -1
  108. package/dist/unstable/ai/McpServer.js +1 -1
  109. package/dist/unstable/ai/McpServer.js.map +1 -1
  110. package/dist/unstable/ai/Prompt.d.ts +15 -3
  111. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  112. package/dist/unstable/ai/Prompt.js +6 -3
  113. package/dist/unstable/ai/Prompt.js.map +1 -1
  114. package/dist/unstable/cli/CliError.d.ts +3 -3
  115. package/dist/unstable/cli/CliError.js +11 -11
  116. package/dist/unstable/cli/CliError.js.map +1 -1
  117. package/dist/unstable/cli/Command.d.ts +9 -9
  118. package/dist/unstable/cli/Command.d.ts.map +1 -1
  119. package/dist/unstable/cli/Command.js +8 -6
  120. package/dist/unstable/cli/Command.js.map +1 -1
  121. package/dist/unstable/cli/Param.d.ts +7 -5
  122. package/dist/unstable/cli/Param.d.ts.map +1 -1
  123. package/dist/unstable/cli/Param.js +15 -11
  124. package/dist/unstable/cli/Param.js.map +1 -1
  125. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  126. package/dist/unstable/cli/Primitive.js +31 -24
  127. package/dist/unstable/cli/Primitive.js.map +1 -1
  128. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  129. package/dist/unstable/cli/Prompt.js +31 -17
  130. package/dist/unstable/cli/Prompt.js.map +1 -1
  131. package/dist/unstable/cli/internal/ansi.js +2 -2
  132. package/dist/unstable/cli/internal/ansi.js.map +1 -1
  133. package/dist/unstable/cli/internal/command.d.ts +2 -2
  134. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  135. package/dist/unstable/cli/internal/command.js +10 -9
  136. package/dist/unstable/cli/internal/command.js.map +1 -1
  137. package/dist/unstable/cli/internal/completions/bash.js +69 -9
  138. package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
  139. package/dist/unstable/cli/internal/completions/descriptor.js +24 -18
  140. package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
  141. package/dist/unstable/cli/internal/completions/fish.js +5 -5
  142. package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
  143. package/dist/unstable/cli/internal/help.d.ts.map +1 -1
  144. package/dist/unstable/cli/internal/help.js +4 -2
  145. package/dist/unstable/cli/internal/help.js.map +1 -1
  146. package/dist/unstable/cli/internal/parser.js +3 -3
  147. package/dist/unstable/cli/internal/parser.js.map +1 -1
  148. package/dist/unstable/cli/internal/wizard.js +2 -2
  149. package/dist/unstable/cli/internal/wizard.js.map +1 -1
  150. package/dist/unstable/cluster/ClusterError.js +7 -7
  151. package/dist/unstable/cluster/ClusterError.js.map +1 -1
  152. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  153. package/dist/unstable/cluster/ClusterWorkflowEngine.js +1 -1
  154. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  155. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  156. package/dist/unstable/cluster/MessageStorage.js +8 -1
  157. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  158. package/dist/unstable/cluster/Reply.d.ts +8 -0
  159. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  160. package/dist/unstable/cluster/Reply.js +12 -0
  161. package/dist/unstable/cluster/Reply.js.map +1 -1
  162. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  163. package/dist/unstable/cluster/RunnerServer.js +4 -2
  164. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  165. package/dist/unstable/cluster/RunnerStorage.d.ts +1 -2
  166. package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
  167. package/dist/unstable/cluster/RunnerStorage.js +7 -6
  168. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  169. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  170. package/dist/unstable/cluster/Sharding.js +22 -4
  171. package/dist/unstable/cluster/Sharding.js.map +1 -1
  172. package/dist/unstable/cluster/internal/entityManager.js +1 -1
  173. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  174. package/dist/unstable/cluster/internal/resourceMap.js +2 -2
  175. package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
  176. package/dist/unstable/cluster/internal/resourceRef.js +17 -0
  177. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  178. package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
  179. package/dist/unstable/devtools/DevToolsClient.js +7 -2
  180. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  181. package/dist/unstable/encoding/Ini.d.ts +20 -0
  182. package/dist/unstable/encoding/Ini.d.ts.map +1 -0
  183. package/dist/unstable/encoding/Ini.js +153 -0
  184. package/dist/unstable/encoding/Ini.js.map +1 -0
  185. package/dist/unstable/encoding/Msgpack.d.ts +2 -1
  186. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  187. package/dist/unstable/encoding/Msgpack.js +21 -7
  188. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  189. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  190. package/dist/unstable/encoding/Ndjson.js +7 -1
  191. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  192. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  193. package/dist/unstable/encoding/Sse.js +14 -23
  194. package/dist/unstable/encoding/Sse.js.map +1 -1
  195. package/dist/unstable/encoding/Toml.d.ts +19 -0
  196. package/dist/unstable/encoding/Toml.d.ts.map +1 -0
  197. package/dist/unstable/encoding/Toml.js +434 -0
  198. package/dist/unstable/encoding/Toml.js.map +1 -0
  199. package/dist/unstable/encoding/Yaml.d.ts +19 -0
  200. package/dist/unstable/encoding/Yaml.d.ts.map +1 -0
  201. package/dist/unstable/encoding/Yaml.js +461 -0
  202. package/dist/unstable/encoding/Yaml.js.map +1 -0
  203. package/dist/unstable/encoding/index.d.ts +12 -0
  204. package/dist/unstable/encoding/index.d.ts.map +1 -1
  205. package/dist/unstable/encoding/index.js +12 -0
  206. package/dist/unstable/encoding/index.js.map +1 -1
  207. package/dist/unstable/eventlog/EventJournal.d.ts +1 -1
  208. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  209. package/dist/unstable/eventlog/EventJournal.js +13 -5
  210. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  211. package/dist/unstable/eventlog/EventLogMessage.js +1 -1
  212. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  213. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +1 -1
  214. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  215. package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
  216. package/dist/unstable/eventlog/SqlEventJournal.js +1 -4
  217. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  218. package/dist/unstable/http/FindMyWay/internal/queryString.d.ts +11 -0
  219. package/dist/unstable/http/FindMyWay/internal/queryString.d.ts.map +1 -0
  220. package/dist/unstable/http/FindMyWay/internal/queryString.js +259 -0
  221. package/dist/unstable/http/FindMyWay/internal/queryString.js.map +1 -0
  222. package/dist/unstable/http/FindMyWay/internal/router.d.ts +2 -0
  223. package/dist/unstable/http/FindMyWay/internal/router.d.ts.map +1 -0
  224. package/dist/unstable/http/FindMyWay/internal/router.js +665 -0
  225. package/dist/unstable/http/FindMyWay/internal/router.js.map +1 -0
  226. package/dist/unstable/http/FindMyWay.d.ts +33 -8
  227. package/dist/unstable/http/FindMyWay.d.ts.map +1 -1
  228. package/dist/unstable/http/FindMyWay.js +4 -7
  229. package/dist/unstable/http/FindMyWay.js.map +1 -1
  230. package/dist/unstable/http/HttpClientError.js +1 -1
  231. package/dist/unstable/http/HttpClientError.js.map +1 -1
  232. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  233. package/dist/unstable/http/HttpClientRequest.js +2 -14
  234. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  235. package/dist/unstable/http/HttpClientResponse.js +1 -16
  236. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  237. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  238. package/dist/unstable/http/HttpPlatform.js +21 -3
  239. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  240. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  241. package/dist/unstable/http/HttpServerRequest.js +7 -6
  242. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  243. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  244. package/dist/unstable/http/HttpServerResponse.js +8 -6
  245. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  246. package/dist/unstable/http/Multipart.d.ts +1 -1
  247. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  248. package/dist/unstable/http/Multipart.js +9 -2
  249. package/dist/unstable/http/Multipart.js.map +1 -1
  250. package/dist/unstable/http/MultipartParser/HeadersParser.d.ts +53 -0
  251. package/dist/unstable/http/MultipartParser/HeadersParser.d.ts.map +1 -0
  252. package/dist/unstable/http/MultipartParser/HeadersParser.js +14 -0
  253. package/dist/unstable/http/MultipartParser/HeadersParser.js.map +1 -0
  254. package/dist/unstable/http/MultipartParser/Search.d.ts +11 -0
  255. package/dist/unstable/http/MultipartParser/Search.d.ts.map +1 -0
  256. package/dist/unstable/http/MultipartParser/Search.js +14 -0
  257. package/dist/unstable/http/MultipartParser/Search.js.map +1 -0
  258. package/dist/unstable/http/MultipartParser/internal/contentType.d.ts +5 -0
  259. package/dist/unstable/http/MultipartParser/internal/contentType.d.ts.map +1 -0
  260. package/dist/unstable/http/MultipartParser/internal/contentType.js +82 -0
  261. package/dist/unstable/http/MultipartParser/internal/contentType.js.map +1 -0
  262. package/dist/unstable/http/MultipartParser/internal/headers.d.ts +3 -0
  263. package/dist/unstable/http/MultipartParser/internal/headers.d.ts.map +1 -0
  264. package/dist/unstable/http/MultipartParser/internal/headers.js +194 -0
  265. package/dist/unstable/http/MultipartParser/internal/headers.js.map +1 -0
  266. package/dist/unstable/http/MultipartParser/internal/multipart.d.ts +8 -0
  267. package/dist/unstable/http/MultipartParser/internal/multipart.d.ts.map +1 -0
  268. package/dist/unstable/http/MultipartParser/internal/multipart.js +226 -0
  269. package/dist/unstable/http/MultipartParser/internal/multipart.js.map +1 -0
  270. package/dist/unstable/http/MultipartParser/internal/search.d.ts +5 -0
  271. package/dist/unstable/http/MultipartParser/internal/search.d.ts.map +1 -0
  272. package/dist/unstable/http/MultipartParser/internal/search.js +120 -0
  273. package/dist/unstable/http/MultipartParser/internal/search.js.map +1 -0
  274. package/dist/unstable/http/MultipartParser.d.ts +98 -0
  275. package/dist/unstable/http/MultipartParser.d.ts.map +1 -0
  276. package/dist/unstable/http/MultipartParser.js +23 -0
  277. package/dist/unstable/http/MultipartParser.js.map +1 -0
  278. package/dist/unstable/http/Template.d.ts.map +1 -1
  279. package/dist/unstable/http/Template.js +2 -2
  280. package/dist/unstable/http/Template.js.map +1 -1
  281. package/dist/unstable/http/index.d.ts +1 -1
  282. package/dist/unstable/http/index.d.ts.map +1 -1
  283. package/dist/unstable/http/index.js +1 -1
  284. package/dist/unstable/http/index.js.map +1 -1
  285. package/dist/unstable/http/internal/httpBody.d.ts +2 -0
  286. package/dist/unstable/http/internal/httpBody.d.ts.map +1 -0
  287. package/dist/unstable/http/internal/httpBody.js +10 -0
  288. package/dist/unstable/http/internal/httpBody.js.map +1 -0
  289. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  290. package/dist/unstable/httpapi/HttpApi.js +5 -5
  291. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  292. package/dist/unstable/httpapi/HttpApiBuilder.js +68 -15
  293. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  294. package/dist/unstable/httpapi/HttpApiClient.d.ts +1 -1
  295. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  296. package/dist/unstable/httpapi/HttpApiClient.js +65 -25
  297. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  298. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +6 -4
  299. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  300. package/dist/unstable/httpapi/HttpApiEndpoint.js +73 -16
  301. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  302. package/dist/unstable/httpapi/HttpApiError.d.ts +5 -5
  303. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  304. package/dist/unstable/httpapi/HttpApiError.js +17 -17
  305. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  306. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +1 -1
  307. package/dist/unstable/httpapi/HttpApiMiddleware.js +1 -1
  308. package/dist/unstable/httpapi/HttpApiSchema.d.ts +219 -0
  309. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  310. package/dist/unstable/httpapi/HttpApiSchema.js +170 -0
  311. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  312. package/dist/unstable/httpapi/OpenApi.d.ts +8 -0
  313. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  314. package/dist/unstable/httpapi/OpenApi.js +45 -18
  315. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  316. package/dist/unstable/observability/OtlpExporter.d.ts +1 -1
  317. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  318. package/dist/unstable/observability/OtlpExporter.js +2 -1
  319. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  320. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  321. package/dist/unstable/observability/OtlpLogger.js +2 -2
  322. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  323. package/dist/unstable/observability/OtlpMetrics.d.ts +2 -2
  324. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  325. package/dist/unstable/observability/OtlpMetrics.js +28 -15
  326. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  327. package/dist/unstable/observability/OtlpTracer.js +1 -1
  328. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  329. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  330. package/dist/unstable/persistence/PersistedQueue.js +9 -9
  331. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  332. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  333. package/dist/unstable/persistence/Persistence.js +17 -7
  334. package/dist/unstable/persistence/Persistence.js.map +1 -1
  335. package/dist/unstable/persistence/RateLimiter.d.ts +22 -12
  336. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  337. package/dist/unstable/persistence/RateLimiter.js +15 -42
  338. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  339. package/dist/unstable/persistence/Redis.js +1 -1
  340. package/dist/unstable/persistence/Redis.js.map +1 -1
  341. package/dist/unstable/rpc/RpcClient.d.ts +14 -0
  342. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  343. package/dist/unstable/rpc/RpcClient.js +18 -9
  344. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  345. package/dist/unstable/rpc/RpcClientError.js +2 -2
  346. package/dist/unstable/rpc/RpcClientError.js.map +1 -1
  347. package/dist/unstable/rpc/RpcSerialization.js +3 -1
  348. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  349. package/dist/unstable/schema/Model.d.ts +1 -1
  350. package/dist/unstable/schema/Model.d.ts.map +1 -1
  351. package/dist/unstable/schema/VariantSchema.d.ts +5 -5
  352. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  353. package/dist/unstable/schema/VariantSchema.js +17 -9
  354. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  355. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  356. package/dist/unstable/socket/Socket.js +28 -12
  357. package/dist/unstable/socket/Socket.js.map +1 -1
  358. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  359. package/dist/unstable/sql/SqlClient.js +7 -3
  360. package/dist/unstable/sql/SqlClient.js.map +1 -1
  361. package/dist/unstable/sql/SqlError.js +13 -13
  362. package/dist/unstable/sql/SqlError.js.map +1 -1
  363. package/dist/unstable/sql/SqlResolver.js +8 -6
  364. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  365. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  366. package/dist/unstable/sql/Statement.js +8 -6
  367. package/dist/unstable/sql/Statement.js.map +1 -1
  368. package/dist/unstable/workers/WorkerError.js +5 -5
  369. package/dist/unstable/workers/WorkerError.js.map +1 -1
  370. package/dist/unstable/workflow/WorkflowEngine.d.ts +1 -1
  371. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  372. package/dist/unstable/workflow/WorkflowEngine.js +3 -3
  373. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  374. package/package.json +2 -8
  375. package/src/Cache.ts +1 -1
  376. package/src/Channel.ts +1 -1
  377. package/src/Config.ts +28 -7
  378. package/src/ConfigProvider.ts +4 -1
  379. package/src/Context.ts +5 -5
  380. package/src/Crypto.ts +17 -8
  381. package/src/Duration.ts +16 -2
  382. package/src/Effect.ts +141 -17
  383. package/src/Equal.ts +10 -2
  384. package/src/ExecutionPlan.ts +78 -1
  385. package/src/FiberSet.ts +1 -1
  386. package/src/FileSystem.ts +2 -2
  387. package/src/Function.ts +6 -6
  388. package/src/Iterable.ts +11 -10
  389. package/src/Layer.ts +7 -5
  390. package/src/Schedule.ts +13 -13
  391. package/src/Schema.ts +50 -41
  392. package/src/SchemaAST.ts +69 -37
  393. package/src/SchemaParser.ts +75 -69
  394. package/src/ScopedCache.ts +1 -1
  395. package/src/Sink.ts +1 -1
  396. package/src/Stream.ts +77 -10
  397. package/src/SynchronizedRef.ts +1 -1
  398. package/src/Terminal.ts +1 -1
  399. package/src/Tuple.ts +7 -4
  400. package/src/TxReentrantLock.ts +39 -35
  401. package/src/internal/dateTime.ts +1 -1
  402. package/src/internal/executionPlan.ts +105 -10
  403. package/src/internal/hashMap.ts +20 -14
  404. package/src/internal/matcher.ts +2 -2
  405. package/src/internal/schedule.ts +4 -4
  406. package/src/internal/schema/annotations.ts +3 -0
  407. package/src/internal/schema/toArbitrary.ts +3 -1
  408. package/src/internal/trie.ts +12 -2
  409. package/src/testing/TestClock.ts +13 -1
  410. package/src/testing/TestSchema.ts +1 -1
  411. package/src/unstable/ai/AiError.ts +19 -19
  412. package/src/unstable/ai/Chat.ts +1 -1
  413. package/src/unstable/ai/LanguageModel.ts +4 -2
  414. package/src/unstable/ai/McpSchema.ts +17 -16
  415. package/src/unstable/ai/McpServer.ts +1 -1
  416. package/src/unstable/ai/Prompt.ts +21 -6
  417. package/src/unstable/cli/CliError.ts +12 -12
  418. package/src/unstable/cli/Command.ts +12 -10
  419. package/src/unstable/cli/Param.ts +41 -19
  420. package/src/unstable/cli/Primitive.ts +11 -5
  421. package/src/unstable/cli/Prompt.ts +36 -20
  422. package/src/unstable/cli/internal/ansi.ts +2 -2
  423. package/src/unstable/cli/internal/command.ts +15 -10
  424. package/src/unstable/cli/internal/completions/bash.ts +59 -9
  425. package/src/unstable/cli/internal/completions/descriptor.ts +14 -20
  426. package/src/unstable/cli/internal/completions/fish.ts +5 -7
  427. package/src/unstable/cli/internal/help.ts +4 -2
  428. package/src/unstable/cli/internal/parser.ts +3 -3
  429. package/src/unstable/cli/internal/wizard.ts +2 -2
  430. package/src/unstable/cluster/ClusterError.ts +7 -7
  431. package/src/unstable/cluster/ClusterWorkflowEngine.ts +4 -1
  432. package/src/unstable/cluster/MessageStorage.ts +9 -5
  433. package/src/unstable/cluster/Reply.ts +21 -0
  434. package/src/unstable/cluster/RunnerServer.ts +4 -10
  435. package/src/unstable/cluster/RunnerStorage.ts +9 -7
  436. package/src/unstable/cluster/Sharding.ts +35 -7
  437. package/src/unstable/cluster/internal/entityManager.ts +1 -1
  438. package/src/unstable/cluster/internal/resourceMap.ts +5 -2
  439. package/src/unstable/cluster/internal/resourceRef.ts +27 -5
  440. package/src/unstable/devtools/DevToolsClient.ts +3 -2
  441. package/src/unstable/encoding/Ini.ts +174 -0
  442. package/src/unstable/encoding/Msgpack.ts +47 -28
  443. package/src/unstable/encoding/Ndjson.ts +9 -1
  444. package/src/unstable/encoding/Sse.ts +11 -21
  445. package/src/unstable/encoding/Toml.ts +504 -0
  446. package/src/unstable/encoding/Yaml.ts +541 -0
  447. package/src/unstable/encoding/index.ts +15 -0
  448. package/src/unstable/eventlog/EventJournal.ts +14 -6
  449. package/src/unstable/eventlog/EventLogMessage.ts +1 -1
  450. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +1 -1
  451. package/src/unstable/eventlog/SqlEventJournal.ts +6 -4
  452. package/src/unstable/http/FindMyWay/internal/queryString.ts +420 -0
  453. package/src/unstable/http/FindMyWay/internal/router.ts +950 -0
  454. package/src/unstable/http/FindMyWay.ts +65 -6
  455. package/src/unstable/http/HttpClientError.ts +1 -1
  456. package/src/unstable/http/HttpClientRequest.ts +2 -14
  457. package/src/unstable/http/HttpClientResponse.ts +1 -17
  458. package/src/unstable/http/HttpPlatform.ts +34 -6
  459. package/src/unstable/http/HttpServerRequest.ts +14 -6
  460. package/src/unstable/http/HttpServerResponse.ts +9 -7
  461. package/src/unstable/http/Multipart.ts +9 -2
  462. package/src/unstable/http/MultipartParser/HeadersParser.ts +68 -0
  463. package/src/unstable/http/MultipartParser/Search.ts +17 -0
  464. package/src/unstable/http/MultipartParser/internal/contentType.ts +103 -0
  465. package/src/unstable/http/MultipartParser/internal/headers.ts +615 -0
  466. package/src/unstable/http/MultipartParser/internal/multipart.ts +262 -0
  467. package/src/unstable/http/MultipartParser/internal/search.ts +167 -0
  468. package/src/unstable/http/MultipartParser.ts +115 -0
  469. package/src/unstable/http/Template.ts +6 -5
  470. package/src/unstable/http/index.ts +1 -1
  471. package/src/unstable/http/internal/httpBody.ts +15 -0
  472. package/src/unstable/httpapi/HttpApi.ts +6 -7
  473. package/src/unstable/httpapi/HttpApiBuilder.ts +119 -21
  474. package/src/unstable/httpapi/HttpApiClient.ts +104 -41
  475. package/src/unstable/httpapi/HttpApiEndpoint.ts +117 -29
  476. package/src/unstable/httpapi/HttpApiError.ts +33 -39
  477. package/src/unstable/httpapi/HttpApiMiddleware.ts +1 -1
  478. package/src/unstable/httpapi/HttpApiSchema.ts +353 -0
  479. package/src/unstable/httpapi/OpenApi.ts +70 -20
  480. package/src/unstable/observability/OtlpExporter.ts +4 -2
  481. package/src/unstable/observability/OtlpLogger.ts +3 -1
  482. package/src/unstable/observability/OtlpMetrics.ts +32 -18
  483. package/src/unstable/observability/OtlpTracer.ts +1 -1
  484. package/src/unstable/persistence/PersistedQueue.ts +12 -9
  485. package/src/unstable/persistence/Persistence.ts +27 -7
  486. package/src/unstable/persistence/RateLimiter.ts +54 -31
  487. package/src/unstable/persistence/Redis.ts +1 -1
  488. package/src/unstable/rpc/RpcClient.ts +38 -12
  489. package/src/unstable/rpc/RpcClientError.ts +2 -2
  490. package/src/unstable/rpc/RpcSerialization.ts +1 -1
  491. package/src/unstable/schema/VariantSchema.ts +36 -18
  492. package/src/unstable/socket/Socket.ts +24 -14
  493. package/src/unstable/sql/SqlClient.ts +65 -56
  494. package/src/unstable/sql/SqlError.ts +13 -13
  495. package/src/unstable/sql/SqlResolver.ts +8 -6
  496. package/src/unstable/sql/Statement.ts +13 -8
  497. package/src/unstable/workers/WorkerError.ts +5 -5
  498. package/src/unstable/workflow/WorkflowEngine.ts +8 -3
  499. package/dist/unstable/http/Multipasta/HeadersParser.d.ts +0 -14
  500. package/dist/unstable/http/Multipasta/HeadersParser.d.ts.map +0 -1
  501. package/dist/unstable/http/Multipasta/HeadersParser.js +0 -14
  502. package/dist/unstable/http/Multipasta/HeadersParser.js.map +0 -1
  503. package/dist/unstable/http/Multipasta/Node.d.ts +0 -14
  504. package/dist/unstable/http/Multipasta/Node.d.ts.map +0 -1
  505. package/dist/unstable/http/Multipasta/Node.js +0 -14
  506. package/dist/unstable/http/Multipasta/Node.js.map +0 -1
  507. package/dist/unstable/http/Multipasta/Search.d.ts +0 -14
  508. package/dist/unstable/http/Multipasta/Search.d.ts.map +0 -1
  509. package/dist/unstable/http/Multipasta/Search.js +0 -14
  510. package/dist/unstable/http/Multipasta/Search.js.map +0 -1
  511. package/dist/unstable/http/Multipasta/Web.d.ts +0 -14
  512. package/dist/unstable/http/Multipasta/Web.d.ts.map +0 -1
  513. package/dist/unstable/http/Multipasta/Web.js +0 -14
  514. package/dist/unstable/http/Multipasta/Web.js.map +0 -1
  515. package/dist/unstable/http/Multipasta.d.ts +0 -15
  516. package/dist/unstable/http/Multipasta.d.ts.map +0 -1
  517. package/dist/unstable/http/Multipasta.js +0 -15
  518. package/dist/unstable/http/Multipasta.js.map +0 -1
  519. package/src/unstable/http/Multipasta/HeadersParser.ts +0 -14
  520. package/src/unstable/http/Multipasta/Node.ts +0 -14
  521. package/src/unstable/http/Multipasta/Search.ts +0 -14
  522. package/src/unstable/http/Multipasta/Web.ts +0 -14
  523. package/src/unstable/http/Multipasta.ts +0 -15
@@ -0,0 +1,120 @@
1
+ function makeState(needle_) {
2
+ const needle = new TextEncoder().encode(needle_);
3
+ const needleLength = needle.length;
4
+ const indexes = {};
5
+ for (let i = 0; i < needleLength; i++) {
6
+ const b = needle[i];
7
+ if (indexes[b] === undefined) indexes[b] = [];
8
+ indexes[b].push(i);
9
+ }
10
+ return {
11
+ needle,
12
+ needleLength,
13
+ indexes,
14
+ firstByte: needle[0],
15
+ previousChunk: undefined,
16
+ previousChunkLength: 0,
17
+ matchIndex: 0
18
+ };
19
+ }
20
+ export function make(needle, callback, seed, minimumChunkLength) {
21
+ const state = makeState(needle);
22
+ const minChunkLength = minimumChunkLength ?? state.needleLength;
23
+ if (seed !== undefined) {
24
+ state.previousChunk = seed;
25
+ state.previousChunkLength = seed.length;
26
+ }
27
+ function makeIndexOf() {
28
+ // on node.js use the Buffer api
29
+ if ("Buffer" in globalThis && !("Bun" in globalThis || "Deno" in globalThis)) {
30
+ return function (chunk, needle, fromIndex) {
31
+ return Buffer.prototype.indexOf.call(chunk, needle, fromIndex);
32
+ };
33
+ }
34
+ const skipTable = new Uint8Array(256).fill(state.needle.length);
35
+ for (let i = 0, lastIndex = state.needle.length - 1; i < lastIndex; ++i) {
36
+ skipTable[state.needle[i]] = lastIndex - i;
37
+ }
38
+ return function (chunk, needle, fromIndex) {
39
+ const lengthTotal = chunk.length;
40
+ let i = fromIndex + state.needleLength - 1;
41
+ while (i < lengthTotal) {
42
+ for (let j = state.needleLength - 1, k = i; j >= 0 && chunk[k] === needle[j]; j--, k--) {
43
+ if (j === 0) return k;
44
+ }
45
+ i += skipTable[chunk[i]];
46
+ }
47
+ return -1;
48
+ };
49
+ }
50
+ const indexOf = makeIndexOf();
51
+ function write(chunk) {
52
+ let chunkLength = chunk.length;
53
+ if (state.previousChunk !== undefined) {
54
+ const newChunk = new Uint8Array(state.previousChunkLength + chunkLength);
55
+ newChunk.set(state.previousChunk);
56
+ newChunk.set(chunk, state.previousChunkLength);
57
+ chunk = newChunk;
58
+ chunkLength = state.previousChunkLength + chunkLength;
59
+ state.previousChunk = undefined;
60
+ }
61
+ let pos = 0;
62
+ while (pos < chunkLength) {
63
+ const remaining = chunkLength - pos;
64
+ if (remaining < minChunkLength) {
65
+ state.previousChunk = chunk.subarray(pos);
66
+ state.previousChunkLength = remaining;
67
+ return;
68
+ }
69
+ const match = indexOf(chunk, state.needle, pos);
70
+ if (match > -1) {
71
+ if (match > pos) {
72
+ callback(state.matchIndex, chunk.subarray(pos, match));
73
+ }
74
+ state.matchIndex += 1;
75
+ pos = match + state.needleLength;
76
+ continue;
77
+ } else if (chunk[chunkLength - 1] in state.indexes) {
78
+ const indexes = state.indexes[chunk[chunkLength - 1]];
79
+ let earliestIndex = -1;
80
+ for (let i = 0, len = indexes.length; i < len; i++) {
81
+ const index = indexes[i];
82
+ if (chunk[chunkLength - 1 - index] === state.firstByte && i > earliestIndex) {
83
+ earliestIndex = index;
84
+ }
85
+ }
86
+ if (earliestIndex === -1) {
87
+ if (pos === 0) {
88
+ callback(state.matchIndex, chunk);
89
+ } else {
90
+ callback(state.matchIndex, chunk.subarray(pos));
91
+ }
92
+ } else {
93
+ if (chunkLength - 1 - earliestIndex > pos) {
94
+ callback(state.matchIndex, chunk.subarray(pos, chunkLength - 1 - earliestIndex));
95
+ }
96
+ state.previousChunk = chunk.subarray(chunkLength - 1 - earliestIndex);
97
+ state.previousChunkLength = earliestIndex + 1;
98
+ }
99
+ } else if (pos === 0) {
100
+ callback(state.matchIndex, chunk);
101
+ } else {
102
+ callback(state.matchIndex, chunk.subarray(pos));
103
+ }
104
+ break;
105
+ }
106
+ }
107
+ function end() {
108
+ if (state.previousChunk !== undefined && state.previousChunk !== seed) {
109
+ callback(state.matchIndex, state.previousChunk);
110
+ }
111
+ state.previousChunk = seed;
112
+ state.previousChunkLength = seed?.length ?? 0;
113
+ state.matchIndex = 0;
114
+ }
115
+ return {
116
+ write,
117
+ end
118
+ };
119
+ }
120
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","names":[],"sources":["../../../../../src/unstable/http/MultipartParser/internal/search.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Low-level parser for HTTP `multipart/form-data` bodies.
3
+ *
4
+ * @since 4.0.0
5
+ */
6
+ import type * as HeadersParser from "./MultipartParser/HeadersParser.ts";
7
+ /**
8
+ * Metadata describing a multipart form part.
9
+ *
10
+ * @category models
11
+ * @since 4.0.0
12
+ */
13
+ export interface PartInfo {
14
+ readonly name: string;
15
+ readonly filename?: string | undefined;
16
+ readonly contentType: string;
17
+ readonly contentTypeParameters: Record<string, string>;
18
+ readonly contentDisposition: string;
19
+ readonly contentDispositionParameters: Record<string, string>;
20
+ readonly headers: Record<string, string | Array<string>>;
21
+ }
22
+ /**
23
+ * An error produced while parsing a multipart body.
24
+ *
25
+ * @category errors
26
+ * @since 4.0.0
27
+ */
28
+ export type MultipartError = {
29
+ readonly _tag: "InvalidBoundary";
30
+ } | {
31
+ readonly _tag: "BadHeaders";
32
+ readonly error: HeadersParser.Failure;
33
+ } | {
34
+ readonly _tag: "InvalidDisposition";
35
+ } | {
36
+ readonly _tag: "ReachedLimit";
37
+ readonly limit: "MaxParts" | "MaxTotalSize" | "MaxPartSize" | "MaxFieldSize";
38
+ } | {
39
+ readonly _tag: "EndNotReached";
40
+ };
41
+ /**
42
+ * Shared multipart parser configuration.
43
+ *
44
+ * @category models
45
+ * @since 4.0.0
46
+ */
47
+ export type BaseConfig = {
48
+ readonly headers: Record<string, string>;
49
+ readonly isFile?: ((info: PartInfo) => boolean) | undefined;
50
+ readonly maxParts?: number | undefined;
51
+ readonly maxTotalSize?: number | undefined;
52
+ readonly maxPartSize?: number | undefined;
53
+ readonly maxFieldSize?: number | undefined;
54
+ };
55
+ /**
56
+ * Multipart parser configuration with event callbacks.
57
+ *
58
+ * @category models
59
+ * @since 4.0.0
60
+ */
61
+ export type Config = BaseConfig & {
62
+ readonly onField: (info: PartInfo, value: Uint8Array) => void;
63
+ readonly onFile: (info: PartInfo) => (chunk: Uint8Array | null) => void;
64
+ readonly onError: (error: MultipartError) => void;
65
+ readonly onDone: () => void;
66
+ };
67
+ /**
68
+ * A streaming multipart parser.
69
+ *
70
+ * @category models
71
+ * @since 4.0.0
72
+ */
73
+ export interface Parser {
74
+ readonly write: (chunk: Uint8Array) => void;
75
+ readonly end: () => void;
76
+ }
77
+ /**
78
+ * Creates a streaming multipart parser.
79
+ *
80
+ * @category constructors
81
+ * @since 4.0.0
82
+ */
83
+ export declare const make: (options: Config) => Parser;
84
+ /**
85
+ * Determines whether a multipart part should be treated as a file.
86
+ *
87
+ * @category utilities
88
+ * @since 4.0.0
89
+ */
90
+ export declare const defaultIsFile: (info: PartInfo) => boolean;
91
+ /**
92
+ * Decodes a multipart field using its declared character set.
93
+ *
94
+ * @category utilities
95
+ * @since 4.0.0
96
+ */
97
+ export declare const decodeField: (info: PartInfo, value: Uint8Array) => string;
98
+ //# sourceMappingURL=MultipartParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultipartParser.d.ts","sourceRoot":"","sources":["../../../src/unstable/http/MultipartParser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,KAAK,aAAa,MAAM,oCAAoC,CAAA;AAGxE;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;CACzD;AAED;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GACtB;IACA,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAA;CACjC,GACC;IACA,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAA;CACtC,GACC;IACA,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAA;CACpC,GACC;IACA,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;IAC7B,QAAQ,CAAC,KAAK,EACV,UAAU,GACV,cAAc,GACd,aAAa,GACb,cAAc,CAAA;CACnB,GACC;IACA,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;CAC/B,CAAA;AAEH;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,GAAG,SAAS,CAAA;IAC3D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC3C,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG;IAChC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IAC7D,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,KAAK,IAAI,CAAA;IACvE,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAA;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAA;CAC5B,CAAA;AAED;;;;;GAKG;AACH,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IAC3C,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,CAAA;CACzB;AAED;;;;;GAKG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAsB,CAAA;AAE9D;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAgC,CAAA;AAEhF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,KAAK,MAA6B,CAAA"}
@@ -0,0 +1,23 @@
1
+ import * as internal from "./MultipartParser/internal/multipart.js";
2
+ /**
3
+ * Creates a streaming multipart parser.
4
+ *
5
+ * @category constructors
6
+ * @since 4.0.0
7
+ */
8
+ export const make = internal.make;
9
+ /**
10
+ * Determines whether a multipart part should be treated as a file.
11
+ *
12
+ * @category utilities
13
+ * @since 4.0.0
14
+ */
15
+ export const defaultIsFile = internal.defaultIsFile;
16
+ /**
17
+ * Decodes a multipart field using its declared character set.
18
+ *
19
+ * @category utilities
20
+ * @since 4.0.0
21
+ */
22
+ export const decodeField = internal.decodeField;
23
+ //# sourceMappingURL=MultipartParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultipartParser.js","names":[],"sources":["../../../src/unstable/http/MultipartParser.ts"],"sourcesContent":[null],"mappings":"AAMA,OAAO,KAAK,QAAQ,MAAM,yCAAyC;AAsFnE;;;;;;AAMA,OAAO,MAAM,IAAI,GAAgC,QAAQ,CAAC,IAAI;AAE9D;;;;;;AAMA,OAAO,MAAM,aAAa,GAAgC,QAAQ,CAAC,aAAa;AAEhF;;;;;;AAMA,OAAO,MAAM,WAAW,GAAkD,QAAQ,CAAC,WAAW","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Template.d.ts","sourceRoot":"","sources":["../../../src/unstable/http/Template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAEzC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAEzC;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;AAElF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,aAAa,CAAC,cAAc,CAAC,CAAA;AAEtE;;;;;;;;;;GAUG;AACH,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,GACxB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAEtC;;;;;;;;;;GAUG;AACH,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAEtF;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAW,YAAY,CAAC;IACpC;;;;;;;;;OASG;IACH,KAAY,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,GACjF,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GACxD,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GACxD,KAAK,GACL,KAAK,CAAA;IAET;;;;;;;;;OASG;IACH,KAAY,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,GAC/E,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GACxD,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GACxD,KAAK,GACL,KAAK,CAAA;CACV;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,aAAa,CAAC,YAAY,CAAC,EACxD,OAAO,EAAE,oBAAoB,EAC7B,GAAG,IAAI,EAAE,CAAC,GACT,MAAM,CAAC,MAAM,CACd,MAAM,EACN,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAC7B,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAChC,CAwCA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,aAAa,CAAC,sBAAsB,CAAC,EACpE,OAAO,EAAE,oBAAoB,EAC7B,GAAG,IAAI,EAAE,CAAC,GACT,MAAM,CAAC,MAAM,CACd,MAAM,EACN,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAC7B,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAChC,CAwCA"}
1
+ {"version":3,"file":"Template.d.ts","sourceRoot":"","sources":["../../../src/unstable/http/Template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAEzC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAEzC;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;AAElF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,aAAa,CAAC,cAAc,CAAC,CAAA;AAEtE;;;;;;;;;;GAUG;AACH,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,GACxB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAEtC;;;;;;;;;;GAUG;AACH,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAEtF;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAW,YAAY,CAAC;IACpC;;;;;;;;;OASG;IACH,KAAY,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,GACjF,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GACxD,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GACxD,KAAK,GACL,KAAK,CAAA;IAET;;;;;;;;;OASG;IACH,KAAY,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,GAC/E,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GACxD,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GACxD,KAAK,GACL,KAAK,CAAA;CACV;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,aAAa,CAAC,YAAY,CAAC,EACxD,OAAO,EAAE,oBAAoB,EAC7B,GAAG,IAAI,EAAE,CAAC,GACT,MAAM,CAAC,MAAM,CACd,MAAM,EACN,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAC7B,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAChC,CAwCA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,aAAa,CAAC,sBAAsB,CAAC,EACpE,OAAO,EAAE,oBAAoB,EAC7B,GAAG,IAAI,EAAE,CAAC,GACT,MAAM,CAAC,MAAM,CACd,MAAM,EACN,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAC7B,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAChC,CAyCA"}
@@ -92,9 +92,9 @@ export function stream(strings, ...args) {
92
92
  chunks.push(buffer);
93
93
  buffer = "";
94
94
  }
95
- return Stream.flatMap(Stream.fromIterable(chunks), chunk => typeof chunk === "string" ? Stream.succeed(chunk) : Effect.isEffect(chunk) ? Stream.fromEffect(chunk) : chunk, {
95
+ return Stream.fromIterable(chunks).pipe(Stream.mapEffect(chunk => Effect.isEffect(chunk) ? chunk : Effect.succeed(chunk), {
96
96
  concurrency: "unbounded"
97
- });
97
+ }), Stream.flatMap(chunk => typeof chunk === "string" ? Stream.succeed(chunk) : chunk));
98
98
  }
99
99
  function primitiveToString(value) {
100
100
  if (Array.isArray(value)) {
@@ -1 +1 @@
1
- {"version":3,"file":"Template.js","names":[],"sources":["../../../src/unstable/http/Template.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Template.js","names":[],"sources":["../../../src/unstable/http/Template.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -100,7 +100,7 @@ export * as Multipart from "./Multipart.ts";
100
100
  /**
101
101
  * @since 4.0.0
102
102
  */
103
- export * as Multipasta from "./Multipasta.ts";
103
+ export * as MultipartParser from "./MultipartParser.ts";
104
104
  /**
105
105
  * @since 4.0.0
106
106
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/unstable/http/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;GAEG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;GAEG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAE3D;;GAEG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAE7D;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAA;AAE/D;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;GAEG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;GAEG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAE3D;;GAEG;AACH,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAA;AAEnE;;GAEG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAE7D;;GAEG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;GAEG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;GAEG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/unstable/http/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;GAEG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;GAEG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAE3D;;GAEG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAE7D;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAA;AAE/D;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;GAEG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;GAEG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAE3D;;GAEG;AACH,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAA;AAEnE;;GAEG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAE7D;;GAEG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;GAEG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;GAEG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA"}
@@ -101,7 +101,7 @@ export * as Multipart from "./Multipart.js";
101
101
  /**
102
102
  * @since 4.0.0
103
103
  */
104
- export * as Multipasta from "./Multipasta.js";
104
+ export * as MultipartParser from "./MultipartParser.js";
105
105
  /**
106
106
  * @since 4.0.0
107
107
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/unstable/http/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;AAEA;;;AAGA,OAAO,KAAK,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAK,IAAI,MAAM,WAAW;AAEjC;;;AAGA,OAAO,KAAK,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAK,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAK,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAK,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAK,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAK,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAK,iBAAiB,MAAM,wBAAwB;AAE3D;;;AAGA,OAAO,KAAK,kBAAkB,MAAM,yBAAyB;AAE7D;;;AAGA,OAAO,KAAK,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAK,mBAAmB,MAAM,0BAA0B;AAE/D;;;AAGA,OAAO,KAAK,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAK,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAK,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAK,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAK,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAK,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAK,iBAAiB,MAAM,wBAAwB;AAE3D;;;AAGA,OAAO,KAAK,qBAAqB,MAAM,4BAA4B;AAEnE;;;AAGA,OAAO,KAAK,kBAAkB,MAAM,yBAAyB;AAE7D;;;AAGA,OAAO,KAAK,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAK,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAK,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAK,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAK,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAK,GAAG,MAAM,UAAU;AAE/B;;;AAGA,OAAO,KAAK,SAAS,MAAM,gBAAgB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/unstable/http/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;AAEA;;;AAGA,OAAO,KAAK,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAK,IAAI,MAAM,WAAW;AAEjC;;;AAGA,OAAO,KAAK,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAK,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAK,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAK,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAK,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAK,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAK,iBAAiB,MAAM,wBAAwB;AAE3D;;;AAGA,OAAO,KAAK,kBAAkB,MAAM,yBAAyB;AAE7D;;;AAGA,OAAO,KAAK,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAK,mBAAmB,MAAM,0BAA0B;AAE/D;;;AAGA,OAAO,KAAK,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAK,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAK,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAK,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAK,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAK,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAK,iBAAiB,MAAM,wBAAwB;AAE3D;;;AAGA,OAAO,KAAK,qBAAqB,MAAM,4BAA4B;AAEnE;;;AAGA,OAAO,KAAK,kBAAkB,MAAM,yBAAyB;AAE7D;;;AAGA,OAAO,KAAK,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAK,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAK,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAK,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAK,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAK,GAAG,MAAM,UAAU;AAE/B;;;AAGA,OAAO,KAAK,SAAS,MAAM,gBAAgB","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=httpBody.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"httpBody.d.ts","sourceRoot":"","sources":["../../../../src/unstable/http/internal/httpBody.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import * as Headers from "../Headers.js";
2
+ /** @internal */
3
+ export const updateHeaders = (headers, body) => {
4
+ if (body._tag === "Empty" || body._tag === "FormData") {
5
+ return Headers.remove(Headers.remove(headers, "content-type"), "content-length");
6
+ }
7
+ headers = body.contentType === undefined ? Headers.remove(headers, "content-type") : Headers.set(headers, "content-type", body.contentType);
8
+ return body.contentLength === undefined ? Headers.remove(headers, "content-length") : Headers.set(headers, "content-length", body.contentLength.toString());
9
+ };
10
+ //# sourceMappingURL=httpBody.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"httpBody.js","names":[],"sources":["../../../../src/unstable/http/internal/httpBody.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,eAAe;AAGxC;AACA,OAAO,MAAM,aAAa,GAAG,CAAC,OAAwB,EAAE,IAAuB,KAAqB;EAClG,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;IACrD,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,gBAAgB,CAAC;EAClF;EACA,OAAO,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,GACpC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,GACvC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC;EAC1D,OAAO,IAAI,CAAC,aAAa,KAAK,SAAS,GACnC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAAC,GACzC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;AAC3E,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"HttpApi.d.ts","sourceRoot":"","sources":["../../../src/unstable/httpapi/HttpApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpApi.d.ts","sourceRoot":"","sources":["../../../src/unstable/httpapi/HttpApi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAC3D,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAE3C,OAAO,EAAE,KAAK,QAAQ,EAAiB,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAA;AAE/C,OAAO,KAAK,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAGhE,QAAA,MAAM,MAAM,4BAA4B,CAAA;AAExC;;;;;GAKG;AACH,eAAO,MAAM,SAAS,MAAO,OAAO,KAAG,CAAC,IAAI,GAAuC,CAAA;AAEnF;;GAEG;AACH,KAAK,QAAQ,CAAC,MAAM,IAAI;IACtB,QAAQ,EAAE,KAAK,IAAI,MAAM,IAAI,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,KAAK;CACpE,CAAA;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,OAAO,CACtB,GAAG,CAAC,EAAE,SAAS,MAAM,EACrB,EAAE,CAAC,GAAG,CAAC,MAAM,SAAS,YAAY,CAAC,UAAU,GAAG,KAAK,CACrD,SAAQ,QAAQ;IAChB,KAAI,CAAC,EAAE,KAAK,GAAG,EAAE,CAAA;IACjB,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,MAAM,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IACjC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAE5C;;OAEG;IACH,GAAG,CAAC,KAAK,CAAC,CAAC,SAAS,qBAAqB,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IAElH;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CAAC,GAAG,SAAS,MAAM,EAAE,OAAO,SAAS,YAAY,CAAC,UAAU,EACpE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GACzB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAA;IAEhC;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,SAAS,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,YAAY,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAE3G;;;;;;OAMG;IACH,UAAU,CAAC,CAAC,SAAS,iBAAiB,CAAC,KAAK,EAAE,CAAC,EAC7C,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAC5B,OAAO,CAAC,EAAE,EAAE,YAAY,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;IAErD;;OAEG;IACH,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IAErE;;OAEG;IACH,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;CACnE;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,MAAM,CAAA;CACjC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,GAAI,SAAQ,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC;CAAG;AAkFjE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,IAAI,GAAI,KAAK,CAAC,EAAE,SAAS,MAAM,cAAc,EAAE,KAAG,OAAO,CAAC,EAAE,EAAE,KAAK,CAK5E,CAAA;AAEJ;;;;;;;;;;GAUG;AACH,eAAO,MAAM,OAAO,GAAI,EAAE,SAAS,MAAM,EAAE,MAAM,SAAS,YAAY,CAAC,UAAU,QACzE,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,WAChB;IACP,QAAQ,CAAC,SAAS,CAAC,EACf,SAAS,CAAC,SAAS,CAAC;QACpB,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAA;QACtC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,CAAA;KACjC,CAAC,GACA,SAAS,CAAA;IACb,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE;QAC1B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,CAAA;QAChC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;KACnD,KAAK,IAAI,CAAA;IACV,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE;QAC7B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,CAAA;QAChC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAA;QACtC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAClD,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;QAC9D,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACpF,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;KAClF,KAAK,IAAI,CAAA;CACX,SAkCF,CAAA;;AA2BD;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,sBAGQ;CAAG"}
@@ -125,8 +125,8 @@ export const reflect = (self, options) => {
125
125
  endpoint,
126
126
  middleware: endpoint.middlewares,
127
127
  mergedAnnotations: Context.merge(groupAnnotations, endpoint.annotations),
128
- successes: extractResponseContent(HttpApiEndpoint.getSuccessSchemas(endpoint), HttpApiSchema.getStatusSuccess),
129
- errors: extractResponseContent(HttpApiEndpoint.getErrorSchemas(endpoint), HttpApiSchema.getStatusError)
128
+ successes: extractResponseContent(HttpApiEndpoint.getSuccessSchemas(endpoint), HttpApiSchema.getStatusSuccessSchema),
129
+ errors: extractResponseContent(HttpApiEndpoint.getErrorSchemas(endpoint), HttpApiSchema.getStatusErrorSchema)
130
130
  });
131
131
  }
132
132
  }
@@ -137,9 +137,9 @@ const extractResponseContent = (schemas, getStatus) => {
137
137
  schemas.forEach(add);
138
138
  return map;
139
139
  function add(schema) {
140
- if (HttpApiSchema.isStreamSchema(schema)) return;
141
- const ast = schema.ast;
142
- const status = getStatus(ast);
140
+ const body = HttpApiSchema.isWithHeaders(schema) ? schema.schema : schema;
141
+ if (HttpApiSchema.isStreamSchema(body)) return;
142
+ const status = getStatus(schema);
143
143
  const schemas = map.get(status);
144
144
  if (schemas === undefined) {
145
145
  map.set(status, [schema]);
@@ -1 +1 @@
1
- {"version":3,"file":"HttpApi.js","names":[],"sources":["../../../src/unstable/httpapi/HttpApi.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"HttpApi.js","names":[],"sources":["../../../src/unstable/httpapi/HttpApi.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -294,6 +294,7 @@ function handlerToHttpEffect(group, endpoint, context, handler, isRaw) {
294
294
  const decodeHeaders = UndefinedOr.map(endpoint.headers, Schema.decodeUnknownEffect);
295
295
  const decodeQuery = UndefinedOr.map(endpoint.query, Schema.decodeUnknownEffect);
296
296
  const encodeStream = makeStreamEncoder(endpoint);
297
+ const encodeWithHeaders = makeWithHeadersEncoder(endpoint);
297
298
  const shouldParsePayload = endpoint.payload.size > 0 && !isRaw;
298
299
  const payloadBy = shouldParsePayload ? buildPayloadDecoders(endpoint.payload) : undefined;
299
300
  return applyMiddleware(group, endpoint, context, Effect.gen(function* () {
@@ -325,15 +326,19 @@ function handlerToHttpEffect(group, endpoint, context, handler, isRaw) {
325
326
  request.payload = yield* HttpApiSchemaError.wrap("Payload", result);
326
327
  }
327
328
  }
328
- const response = yield* handler(request);
329
+ let response = yield* handler(request);
329
330
  if (Response.isHttpServerResponse(response)) {
330
331
  return response;
331
332
  }
332
- const streamResponse = encodeStream?.(response, context);
333
- if (streamResponse !== undefined) {
334
- return yield* HttpApiSchemaError.wrap("Body", streamResponse);
333
+ let responseHeaders;
334
+ if (encodeWithHeaders !== undefined && HttpApiSchema.isWithHeadersValue(response)) {
335
+ responseHeaders = response.headers;
336
+ response = response.body;
335
337
  }
336
- return yield* HttpApiSchemaError.wrap("Body", encodeSuccess(response));
338
+ const encoded = yield* HttpApiSchemaError.wrap("Body", encodeStream?.(response, context) ?? (responseHeaders !== undefined ? encodeWithHeaders.encodeBody(response) : encodeSuccess(response)));
339
+ if (encodeWithHeaders === undefined || responseHeaders === undefined) return encoded;
340
+ const encodedHeaders = yield* HttpApiSchemaError.wrap("ResponseHeaders", encodeWithHeaders.encodeHeaders.get(encoded.status)(responseHeaders));
341
+ return Response.setHeaders(encoded, encodedHeaders);
337
342
  })).pipe(Effect.withErrorReporting, Effect.catch(error => {
338
343
  if (HttpApiSchemaError.is(error)) return Effect.die(error);
339
344
  return Effect.orDie(encodeError(error));
@@ -409,6 +414,25 @@ class HandlerError {
409
414
  }
410
415
  const isHandlerError = value => hasProperty(value, HandlerErrorTypeId);
411
416
  const $HttpServerResponse = /*#__PURE__*/Schema.declare(Response.isHttpServerResponse);
417
+ function makeWithHeadersEncoder(endpoint) {
418
+ const encodeHeaders = new Map();
419
+ const bodySchemas = [];
420
+ for (const schema of endpoint.success) {
421
+ if (!HttpApiSchema.isWithHeaders(schema)) continue;
422
+ encodeHeaders.set(HttpApiSchema.getStatusSuccessSchema(schema), Schema.encodeUnknownEffect(schema.headers));
423
+ if (!HttpApiSchema.isStreamSchema(schema.schema)) {
424
+ bodySchemas.push(toResponseSuccessSchema(schema));
425
+ }
426
+ }
427
+ if (encodeHeaders.size === 0) return undefined;
428
+ // Branded response bodies encode against the header-carrying members only, so
429
+ // the encoded status always has a matching header schema.
430
+ const bodySchema = bodySchemas.length === 0 ? Schema.Never : bodySchemas.length === 1 ? bodySchemas[0] : Schema.Union(bodySchemas);
431
+ return {
432
+ encodeBody: Schema.encodeUnknownEffect(bodySchema),
433
+ encodeHeaders
434
+ };
435
+ }
412
436
  function makeStreamEncoder(endpoint) {
413
437
  const streamSchema = getStreamSuccessSchema(endpoint);
414
438
  if (streamSchema === undefined) {
@@ -445,14 +469,16 @@ function makeStreamEncoder(endpoint) {
445
469
  }
446
470
  function getStreamSuccessSchema(endpoint) {
447
471
  for (const schema of endpoint.success) {
448
- if (HttpApiSchema.isStreamSchema(schema)) {
449
- return schema;
472
+ const body = HttpApiSchema.isWithHeaders(schema) ? schema.schema : schema;
473
+ if (HttpApiSchema.isStreamSchema(body)) {
474
+ return body;
450
475
  }
451
476
  }
452
477
  }
453
478
  function hasBufferedSuccess(endpoint) {
454
479
  for (const schema of endpoint.success) {
455
- if (Schema.isSchema(schema) && !HttpApiSchema.isStreamSchema(schema)) return true;
480
+ const body = HttpApiSchema.isWithHeaders(schema) ? schema.schema : schema;
481
+ if (Schema.isSchema(body) && !HttpApiSchema.isStreamSchema(body)) return true;
456
482
  }
457
483
  return endpoint.success.size === 0;
458
484
  }
@@ -487,8 +513,16 @@ function renderSseEvent(event) {
487
513
  data: event.data
488
514
  });
489
515
  }
490
- const toResponseSuccessSchema = /*#__PURE__*/toResponseSchema(HttpApiSchema.getStatusSuccess);
491
- const toResponseErrorSchema = /*#__PURE__*/toResponseSchema(HttpApiSchema.getStatusError);
516
+ const toResponseSuccessSchema = /*#__PURE__*/toResponseSchema(HttpApiSchema.getStatusSuccessSchema);
517
+ const toResponseErrorSchemaPlain = /*#__PURE__*/toResponseSchema(HttpApiSchema.getStatusErrorSchema);
518
+ function toResponseErrorSchema(schema) {
519
+ if (!HttpApiSchema.isWithHeaders(schema)) return toResponseErrorSchemaPlain(schema);
520
+ const encodeBody = Schema.encodeUnknownEffect(schema.schema);
521
+ const encodeHeaders = Schema.encodeUnknownEffect(schema.headers);
522
+ const encodeResponse = getResponseEncode(HttpApiSchema.getStatusErrorSchema(schema), HttpApiSchema.getResponseEncodingSchema(schema), HttpApiSchema.isNoContent(schema.schema.ast));
523
+ const transformation = withHeadersTransformation(body => encodeBody(body).pipe(Effect.mapError(error => error.issue), Effect.flatMap(encodeResponse)), encodeHeaders);
524
+ return $HttpServerResponse.pipe(Schema.decodeTo(schema, transformation));
525
+ }
492
526
  function makeSuccessSchema(endpoint) {
493
527
  const schemas = HttpApiEndpoint.getSuccessSchemas(endpoint).map(toResponseSuccessSchema);
494
528
  return schemas.length === 1 ? schemas[0] : Schema.Union(schemas);
@@ -499,20 +533,28 @@ function makeErrorSchema(endpoint) {
499
533
  return schemas.length === 1 ? schemas[0] : Schema.Union(schemas);
500
534
  }
501
535
  function toResponseSchema(getStatus) {
536
+ // WithHeaders wrappers share a single declaration AST, so they are cached by instance
502
537
  const cache = new WeakMap();
503
538
  return schema => {
504
- const cached = cache.get(schema.ast);
539
+ const key = HttpApiSchema.isWithHeaders(schema) ? schema : schema.ast;
540
+ const cached = cache.get(key);
505
541
  if (cached !== undefined) {
506
542
  return cached;
507
543
  }
508
- const responseSchema = $HttpServerResponse.pipe(Schema.decodeTo(schema, getResponseTransformation(getStatus, schema)));
509
- cache.set(schema.ast, responseSchema);
544
+ const bodySchema = HttpApiSchema.isWithHeaders(schema) ? schema.schema : schema;
545
+ const responseSchema = $HttpServerResponse.pipe(Schema.decodeTo(bodySchema, getResponseTransformation(getStatus, schema)));
546
+ cache.set(key, responseSchema);
510
547
  return responseSchema;
511
548
  };
512
549
  }
513
550
  function getResponseTransformation(getStatus, schema) {
514
- const ast = schema.ast;
515
- const encode = getResponseEncode(getStatus(ast), HttpApiSchema.getResponseEncoding(ast), HttpApiSchema.isNoContent(ast));
551
+ const withHeaders = HttpApiSchema.getWithHeadersAnnotation(schema.ast);
552
+ if (withHeaders !== undefined) {
553
+ const encodeBody = getResponseEncode(getStatus(withHeaders.body), HttpApiSchema.getResponseEncoding(withHeaders.body.ast), HttpApiSchema.isNoContent(withHeaders.body.ast));
554
+ return withHeadersTransformation(encodeBody, Schema.encodeUnknownEffect(withHeaders.headersCodec));
555
+ }
556
+ const bodySchema = HttpApiSchema.isWithHeaders(schema) ? schema.schema : schema;
557
+ const encode = getResponseEncode(getStatus(schema), HttpApiSchema.getResponseEncodingSchema(schema), HttpApiSchema.isNoContent(bodySchema.ast));
516
558
  return SchemaTransformation.transformOrFail({
517
559
  decode: () => Effect.fail(new SchemaIssue.Forbidden({
518
560
  message: "Encode only schema"
@@ -520,6 +562,17 @@ function getResponseTransformation(getStatus, schema) {
520
562
  encode
521
563
  });
522
564
  }
565
+ function withHeadersTransformation(encodeBody, encodeHeaders) {
566
+ return SchemaTransformation.transformOrFail({
567
+ decode: () => Effect.fail(new SchemaIssue.Forbidden({
568
+ message: "Encode only schema"
569
+ })),
570
+ encode: value => {
571
+ const pair = value;
572
+ return Effect.flatMap(encodeBody(pair.body), response => Effect.map(encodeHeaders(pair.headers).pipe(Effect.mapError(error => error.issue)), headers => Response.setHeaders(response, headers)));
573
+ }
574
+ });
575
+ }
523
576
  function getResponseEncode(status, encoding, isNoContent) {
524
577
  switch (encoding._tag) {
525
578
  case "Json":