effect 4.0.0-beta.27 → 4.0.0-beta.29

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 (208) hide show
  1. package/dist/Brand.d.ts +1 -1
  2. package/dist/Brand.d.ts.map +1 -1
  3. package/dist/Brand.js +1 -1
  4. package/dist/Brand.js.map +1 -1
  5. package/dist/ConfigProvider.d.ts +1 -1
  6. package/dist/Cron.d.ts +1 -1
  7. package/dist/Data.d.ts +1 -1
  8. package/dist/Data.d.ts.map +1 -1
  9. package/dist/Data.js.map +1 -1
  10. package/dist/Effect.d.ts +300 -184
  11. package/dist/Effect.d.ts.map +1 -1
  12. package/dist/Effect.js +99 -61
  13. package/dist/Effect.js.map +1 -1
  14. package/dist/Encoding.d.ts +1 -1
  15. package/dist/Exit.d.ts +24 -12
  16. package/dist/Exit.d.ts.map +1 -1
  17. package/dist/Exit.js +8 -4
  18. package/dist/Exit.js.map +1 -1
  19. package/dist/Fiber.d.ts +1 -0
  20. package/dist/Fiber.d.ts.map +1 -1
  21. package/dist/Fiber.js.map +1 -1
  22. package/dist/Function.d.ts +1 -9
  23. package/dist/Function.d.ts.map +1 -1
  24. package/dist/Function.js +2 -10
  25. package/dist/Function.js.map +1 -1
  26. package/dist/Graph.d.ts +1 -1
  27. package/dist/Newtype.d.ts +291 -0
  28. package/dist/Newtype.d.ts.map +1 -0
  29. package/dist/Newtype.js +161 -0
  30. package/dist/Newtype.js.map +1 -0
  31. package/dist/PlatformError.d.ts +2 -2
  32. package/dist/References.d.ts +6 -1
  33. package/dist/References.d.ts.map +1 -1
  34. package/dist/References.js +6 -1
  35. package/dist/References.js.map +1 -1
  36. package/dist/RequestResolver.d.ts +19 -19
  37. package/dist/RequestResolver.js +10 -10
  38. package/dist/RequestResolver.js.map +1 -1
  39. package/dist/Schedule.d.ts +142 -80
  40. package/dist/Schedule.d.ts.map +1 -1
  41. package/dist/Schedule.js +58 -32
  42. package/dist/Schedule.js.map +1 -1
  43. package/dist/Scheduler.d.ts +9 -0
  44. package/dist/Scheduler.d.ts.map +1 -1
  45. package/dist/Scheduler.js +11 -0
  46. package/dist/Scheduler.js.map +1 -1
  47. package/dist/Schema.d.ts +1 -1
  48. package/dist/Schema.d.ts.map +1 -1
  49. package/dist/Schema.js +3 -1
  50. package/dist/Schema.js.map +1 -1
  51. package/dist/SchemaAST.d.ts.map +1 -1
  52. package/dist/SchemaAST.js +1 -1
  53. package/dist/SchemaAST.js.map +1 -1
  54. package/dist/Stdio.d.ts +6 -2
  55. package/dist/Stdio.d.ts.map +1 -1
  56. package/dist/Stdio.js +2 -2
  57. package/dist/Stdio.js.map +1 -1
  58. package/dist/Stream.d.ts +8 -4
  59. package/dist/Stream.d.ts.map +1 -1
  60. package/dist/Stream.js +8 -4
  61. package/dist/Stream.js.map +1 -1
  62. package/dist/Types.d.ts +1 -22
  63. package/dist/Types.d.ts.map +1 -1
  64. package/dist/index.d.ts +71 -3
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +71 -3
  67. package/dist/index.js.map +1 -1
  68. package/dist/internal/effect.js +3 -1
  69. package/dist/internal/effect.js.map +1 -1
  70. package/dist/unstable/ai/LanguageModel.d.ts +12 -28
  71. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  72. package/dist/unstable/ai/LanguageModel.js +4 -18
  73. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  74. package/dist/unstable/ai/McpSchema.d.ts +20 -1
  75. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  76. package/dist/unstable/ai/McpSchema.js +8 -0
  77. package/dist/unstable/ai/McpSchema.js.map +1 -1
  78. package/dist/unstable/ai/McpServer.d.ts +65 -12
  79. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  80. package/dist/unstable/ai/McpServer.js +159 -45
  81. package/dist/unstable/ai/McpServer.js.map +1 -1
  82. package/dist/unstable/ai/Toolkit.d.ts +1 -1
  83. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  84. package/dist/unstable/ai/Toolkit.js +4 -11
  85. package/dist/unstable/ai/Toolkit.js.map +1 -1
  86. package/dist/unstable/ai/internal/codec-transformer.js +0 -5
  87. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  88. package/dist/unstable/cli/Prompt.js +35 -8
  89. package/dist/unstable/cli/Prompt.js.map +1 -1
  90. package/dist/unstable/cluster/Message.d.ts +5 -5
  91. package/dist/unstable/cluster/Reply.d.ts +3 -3
  92. package/dist/unstable/encoding/Msgpack.d.ts +1 -1
  93. package/dist/unstable/encoding/Ndjson.d.ts +1 -1
  94. package/dist/unstable/encoding/Sse.d.ts +1 -1
  95. package/dist/unstable/eventlog/EventJournal.d.ts +1 -1
  96. package/dist/unstable/eventlog/EventLogRemote.d.ts +1 -1
  97. package/dist/unstable/http/Cookies.d.ts +45 -1
  98. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  99. package/dist/unstable/http/Cookies.js +22 -0
  100. package/dist/unstable/http/Cookies.js.map +1 -1
  101. package/dist/unstable/http/HttpBody.d.ts +1 -1
  102. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  103. package/dist/unstable/http/HttpClient.js +3 -7
  104. package/dist/unstable/http/HttpClient.js.map +1 -1
  105. package/dist/unstable/http/HttpClientError.d.ts +7 -7
  106. package/dist/unstable/http/HttpClientRequest.d.ts +5 -0
  107. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  108. package/dist/unstable/http/HttpClientRequest.js +21 -17
  109. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  110. package/dist/unstable/http/HttpEffect.d.ts +7 -0
  111. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  112. package/dist/unstable/http/HttpEffect.js +6 -0
  113. package/dist/unstable/http/HttpEffect.js.map +1 -1
  114. package/dist/unstable/http/HttpServerError.d.ts +6 -6
  115. package/dist/unstable/http/HttpServerRequest.d.ts +11 -0
  116. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  117. package/dist/unstable/http/HttpServerRequest.js +291 -1
  118. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  119. package/dist/unstable/http/HttpServerResponse.d.ts +47 -1
  120. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  121. package/dist/unstable/http/HttpServerResponse.js +227 -0
  122. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  123. package/dist/unstable/http/HttpStaticServer.d.ts +69 -0
  124. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -0
  125. package/dist/unstable/http/HttpStaticServer.js +353 -0
  126. package/dist/unstable/http/HttpStaticServer.js.map +1 -0
  127. package/dist/unstable/http/Multipart.d.ts +1 -1
  128. package/dist/unstable/http/UrlParams.d.ts +1 -1
  129. package/dist/unstable/http/index.d.ts +4 -0
  130. package/dist/unstable/http/index.d.ts.map +1 -1
  131. package/dist/unstable/http/index.js +4 -0
  132. package/dist/unstable/http/index.js.map +1 -1
  133. package/dist/unstable/httpapi/HttpApiGroup.d.ts +1 -0
  134. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  135. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  136. package/dist/unstable/persistence/KeyValueStore.d.ts +1 -1
  137. package/dist/unstable/reactivity/Atom.d.ts +7 -2
  138. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  139. package/dist/unstable/reactivity/Atom.js +33 -15
  140. package/dist/unstable/reactivity/Atom.js.map +1 -1
  141. package/dist/unstable/reactivity/AtomHttpApi.d.ts +4 -6
  142. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  143. package/dist/unstable/reactivity/AtomHttpApi.js +39 -9
  144. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  145. package/dist/unstable/reactivity/AtomRegistry.js +26 -2
  146. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  147. package/dist/unstable/reactivity/AtomRpc.d.ts +8 -8
  148. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  149. package/dist/unstable/reactivity/AtomRpc.js +46 -20
  150. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  151. package/dist/unstable/rpc/Rpc.d.ts +1 -1
  152. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  153. package/dist/unstable/rpc/Rpc.js.map +1 -1
  154. package/dist/unstable/rpc/RpcMiddleware.d.ts +5 -5
  155. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  156. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  157. package/dist/unstable/rpc/RpcServer.js +2 -2
  158. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  159. package/dist/unstable/rpc/Utils.js +1 -1
  160. package/dist/unstable/rpc/Utils.js.map +1 -1
  161. package/dist/unstable/socket/SocketServer.d.ts +3 -3
  162. package/dist/unstable/sql/Migrator.d.ts +1 -1
  163. package/dist/unstable/sql/SqlResolver.js +2 -2
  164. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  165. package/dist/unstable/workflow/Workflow.d.ts +1 -1
  166. package/package.json +1 -1
  167. package/src/Brand.ts +1 -1
  168. package/src/Data.ts +1 -2
  169. package/src/Effect.ts +300 -184
  170. package/src/Exit.ts +24 -12
  171. package/src/Fiber.ts +1 -0
  172. package/src/Function.ts +2 -10
  173. package/src/Newtype.ts +308 -0
  174. package/src/References.ts +6 -1
  175. package/src/RequestResolver.ts +20 -20
  176. package/src/Schedule.ts +142 -80
  177. package/src/Scheduler.ts +12 -0
  178. package/src/Schema.ts +4 -2
  179. package/src/SchemaAST.ts +1 -4
  180. package/src/Stdio.ts +8 -4
  181. package/src/Stream.ts +8 -4
  182. package/src/Types.ts +1 -23
  183. package/src/index.ts +72 -3
  184. package/src/internal/effect.ts +3 -0
  185. package/src/unstable/ai/LanguageModel.ts +16 -37
  186. package/src/unstable/ai/McpSchema.ts +14 -0
  187. package/src/unstable/ai/McpServer.ts +224 -53
  188. package/src/unstable/ai/Toolkit.ts +5 -14
  189. package/src/unstable/ai/internal/codec-transformer.ts +0 -7
  190. package/src/unstable/cli/Prompt.ts +31 -9
  191. package/src/unstable/http/Cookies.ts +84 -0
  192. package/src/unstable/http/HttpClient.ts +5 -6
  193. package/src/unstable/http/HttpClientRequest.ts +21 -17
  194. package/src/unstable/http/HttpEffect.ts +8 -0
  195. package/src/unstable/http/HttpServerRequest.ts +388 -1
  196. package/src/unstable/http/HttpServerResponse.ts +328 -1
  197. package/src/unstable/http/HttpStaticServer.ts +456 -0
  198. package/src/unstable/http/index.ts +5 -0
  199. package/src/unstable/httpapi/HttpApiGroup.ts +1 -0
  200. package/src/unstable/reactivity/Atom.ts +62 -35
  201. package/src/unstable/reactivity/AtomHttpApi.ts +45 -11
  202. package/src/unstable/reactivity/AtomRegistry.ts +30 -2
  203. package/src/unstable/reactivity/AtomRpc.ts +48 -17
  204. package/src/unstable/rpc/Rpc.ts +1 -3
  205. package/src/unstable/rpc/RpcMiddleware.ts +12 -6
  206. package/src/unstable/rpc/RpcServer.ts +2 -2
  207. package/src/unstable/rpc/Utils.ts +1 -1
  208. package/src/unstable/sql/SqlResolver.ts +2 -2
@@ -0,0 +1,353 @@
1
+ /**
2
+ * @since 4.0.0
3
+ */
4
+ import * as Effect from "../../Effect.js";
5
+ import * as FileSystem from "../../FileSystem.js";
6
+ import * as Layer from "../../Layer.js";
7
+ import * as Path from "../../Path.js";
8
+ import * as HttpPlatform from "./HttpPlatform.js";
9
+ import * as HttpRouter from "./HttpRouter.js";
10
+ import * as HttpServerError from "./HttpServerError.js";
11
+ import * as HttpServerRequest from "./HttpServerRequest.js";
12
+ import * as HttpServerRespondable from "./HttpServerRespondable.js";
13
+ import * as HttpServerResponse from "./HttpServerResponse.js";
14
+ /**
15
+ * Creates an `HttpApp` that serves files from a directory.
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * import { Effect } from "effect"
20
+ * import * as HttpStaticServer from "effect/unstable/http/HttpStaticServer"
21
+ *
22
+ * const program = Effect.gen(function*() {
23
+ * const app = yield* HttpStaticServer.make({ root: "./public" })
24
+ * return app
25
+ * })
26
+ * ```
27
+ *
28
+ * @since 4.0.0
29
+ * @category constructors
30
+ */
31
+ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
32
+ const fileSystem = yield* FileSystem.FileSystem;
33
+ const path = yield* Path.Path;
34
+ const platform = yield* HttpPlatform.HttpPlatform;
35
+ const resolvedRoot = path.resolve(options.root);
36
+ const index = "index" in options ? options.index : "index.html";
37
+ const spa = options.spa === true;
38
+ const cacheControl = options.cacheControl;
39
+ const mimeTypes = {
40
+ ...defaultMimeTypes,
41
+ ...options.mimeTypes
42
+ };
43
+ const setFileHeaders = (response, filePath) => {
44
+ let currentResponse = HttpServerResponse.setHeaders(response, {
45
+ "Content-Type": resolveMimeType(path, filePath, mimeTypes),
46
+ "Accept-Ranges": "bytes"
47
+ });
48
+ if (cacheControl !== undefined) {
49
+ currentResponse = HttpServerResponse.setHeader(currentResponse, "Cache-Control", cacheControl);
50
+ }
51
+ return currentResponse;
52
+ };
53
+ const serveFile = Effect.fnUntraced(function* (request, filePath, fileSize) {
54
+ const rangeHeader = request.headers["range"];
55
+ const shouldEvaluateConditionals = request.headers["if-none-match"] !== undefined || request.headers["if-modified-since"] !== undefined;
56
+ let fullResponse;
57
+ if (shouldEvaluateConditionals) {
58
+ fullResponse = setFileHeaders(yield* handlePlatformError(request, platform.fileResponse(filePath)), filePath);
59
+ const conditionalResponse = evaluateConditionalRequest(request, fullResponse);
60
+ if (conditionalResponse !== undefined) {
61
+ return conditionalResponse;
62
+ }
63
+ if (rangeHeader === undefined) {
64
+ return fullResponse;
65
+ }
66
+ }
67
+ const resolvedFileSize = rangeHeader === undefined ? undefined : fileSize ?? Number((yield* handlePlatformError(request, fileSystem.stat(filePath))).size);
68
+ const parsedRange = rangeHeader === undefined || resolvedFileSize === undefined ? undefined : parseRange(rangeHeader, resolvedFileSize);
69
+ if (parsedRange === undefined) {
70
+ return fullResponse ?? setFileHeaders(yield* handlePlatformError(request, platform.fileResponse(filePath)), filePath);
71
+ }
72
+ if (parsedRange === "unsatisfiable") {
73
+ return HttpServerResponse.empty({
74
+ status: 416,
75
+ headers: {
76
+ "Content-Range": `bytes */${resolvedFileSize}`
77
+ }
78
+ });
79
+ }
80
+ let response = setFileHeaders(yield* handlePlatformError(request, platform.fileResponse(filePath, {
81
+ status: 206,
82
+ offset: parsedRange.start,
83
+ bytesToRead: parsedRange.end - parsedRange.start + 1
84
+ })), filePath);
85
+ response = HttpServerResponse.setHeader(response, "Content-Range", `bytes ${parsedRange.start}-${parsedRange.end}/${resolvedFileSize}`);
86
+ return response;
87
+ });
88
+ // @effect-diagnostics-next-line returnEffectInGen:off
89
+ return HttpServerRequest.HttpServerRequest.use(request => {
90
+ const resolvedPath = resolveFilePath(path, resolvedRoot, request.url);
91
+ if (resolvedPath === undefined) {
92
+ return Effect.fail(toRouteNotFoundError(request));
93
+ }
94
+ return Effect.matchEffect(fileSystem.stat(resolvedPath), {
95
+ onFailure: error => error.reason._tag === "NotFound" && spa && index !== undefined && path.extname(resolvedPath) === "" && acceptsHtml(request.headers["accept"]) ? serveFile(request, path.join(resolvedRoot, index)) : error.reason._tag === "NotFound" ? Effect.fail(toRouteNotFoundError(request)) : Effect.fail(toInternalServerError(request, error)),
96
+ onSuccess(info) {
97
+ if (info.type === "File") {
98
+ return serveFile(request, resolvedPath, Number(info.size));
99
+ }
100
+ if (info.type === "Directory" && index !== undefined) {
101
+ return serveFile(request, path.join(resolvedPath, index));
102
+ }
103
+ return Effect.fail(toRouteNotFoundError(request));
104
+ }
105
+ });
106
+ });
107
+ });
108
+ /**
109
+ * Creates a layer that mounts static files on an `HttpRouter`.
110
+ *
111
+ * @example
112
+ * ```ts
113
+ * import { Layer } from "effect"
114
+ * import * as HttpRouter from "effect/unstable/http/HttpRouter"
115
+ * import * as HttpServerResponse from "effect/unstable/http/HttpServerResponse"
116
+ * import * as HttpStaticServer from "effect/unstable/http/HttpStaticServer"
117
+ *
118
+ * const ApiLayer = HttpRouter.add("GET", "/health", HttpServerResponse.text("ok"))
119
+ *
120
+ * const StaticFilesLayer = HttpStaticServer.layer({
121
+ * root: "./public",
122
+ * prefix: "/static"
123
+ * })
124
+ *
125
+ * const AppLayer = Layer.mergeAll(ApiLayer, StaticFilesLayer)
126
+ * ```
127
+ *
128
+ * @since 4.0.0
129
+ * @category layers
130
+ */
131
+ export const layer = options => Layer.effectDiscard(Effect.gen(function* () {
132
+ const router = yield* HttpRouter.HttpRouter;
133
+ const handler = (yield* make(options)).pipe(Effect.catch(HttpServerRespondable.toResponse));
134
+ if (options.prefix !== undefined) {
135
+ yield* router.prefixed(options.prefix).add("GET", "/*", handler);
136
+ return;
137
+ }
138
+ yield* router.add("GET", "/*", handler);
139
+ }));
140
+ const defaultMimeTypes = {
141
+ html: "text/html; charset=utf-8",
142
+ htm: "text/html; charset=utf-8",
143
+ css: "text/css; charset=utf-8",
144
+ js: "text/javascript; charset=utf-8",
145
+ mjs: "text/javascript; charset=utf-8",
146
+ json: "application/json; charset=utf-8",
147
+ xml: "application/xml; charset=utf-8",
148
+ txt: "text/plain; charset=utf-8",
149
+ csv: "text/csv; charset=utf-8",
150
+ md: "text/markdown; charset=utf-8",
151
+ yaml: "text/yaml; charset=utf-8",
152
+ yml: "text/yaml; charset=utf-8",
153
+ png: "image/png",
154
+ jpg: "image/jpeg",
155
+ jpeg: "image/jpeg",
156
+ gif: "image/gif",
157
+ svg: "image/svg+xml; charset=utf-8",
158
+ ico: "image/x-icon",
159
+ webp: "image/webp",
160
+ avif: "image/avif",
161
+ woff: "font/woff",
162
+ woff2: "font/woff2",
163
+ ttf: "font/ttf",
164
+ otf: "font/otf",
165
+ eot: "application/vnd.ms-fontobject",
166
+ mp3: "audio/mpeg",
167
+ mp4: "video/mp4",
168
+ webm: "video/webm",
169
+ ogg: "audio/ogg",
170
+ wav: "audio/wav",
171
+ flac: "audio/flac",
172
+ aac: "audio/aac",
173
+ pdf: "application/pdf",
174
+ zip: "application/zip",
175
+ gz: "application/gzip",
176
+ wasm: "application/wasm",
177
+ map: "application/json",
178
+ webmanifest: "application/manifest+json"
179
+ };
180
+ const stripQueryString = url => {
181
+ const queryIndex = url.indexOf("?");
182
+ return queryIndex === -1 ? url : url.slice(0, queryIndex);
183
+ };
184
+ const resolveMimeType = (path, filePath, mimeTypes) => {
185
+ const extension = path.extname(filePath).toLowerCase();
186
+ if (extension.length <= 1) {
187
+ return "application/octet-stream";
188
+ }
189
+ return mimeTypes[extension.slice(1)] ?? "application/octet-stream";
190
+ };
191
+ const parseInteger = value => {
192
+ if (!/^\d+$/.test(value)) {
193
+ return undefined;
194
+ }
195
+ const parsed = Number(value);
196
+ return Number.isSafeInteger(parsed) ? parsed : undefined;
197
+ };
198
+ const parseRange = (header, fileSize) => {
199
+ const value = header.trim();
200
+ if (!value.toLowerCase().startsWith("bytes=")) {
201
+ return undefined;
202
+ }
203
+ const rangeValue = value.slice(6).trim();
204
+ if (rangeValue.length === 0 || rangeValue.includes(",")) {
205
+ return undefined;
206
+ }
207
+ const separatorIndex = rangeValue.indexOf("-");
208
+ if (separatorIndex === -1) {
209
+ return undefined;
210
+ }
211
+ const startPart = rangeValue.slice(0, separatorIndex).trim();
212
+ const endPart = rangeValue.slice(separatorIndex + 1).trim();
213
+ if (startPart === "" && endPart === "") {
214
+ return undefined;
215
+ }
216
+ if (startPart === "") {
217
+ const suffixLength = parseInteger(endPart);
218
+ if (suffixLength === undefined) {
219
+ return undefined;
220
+ }
221
+ if (suffixLength === 0 || fileSize === 0) {
222
+ return "unsatisfiable";
223
+ }
224
+ return {
225
+ start: Math.max(fileSize - suffixLength, 0),
226
+ end: fileSize - 1
227
+ };
228
+ }
229
+ const start = parseInteger(startPart);
230
+ if (start === undefined) {
231
+ return undefined;
232
+ }
233
+ if (endPart === "") {
234
+ if (start >= fileSize) {
235
+ return "unsatisfiable";
236
+ }
237
+ return {
238
+ start,
239
+ end: fileSize - 1
240
+ };
241
+ }
242
+ const end = parseInteger(endPart);
243
+ if (end === undefined) {
244
+ return undefined;
245
+ }
246
+ if (start > end || start >= fileSize) {
247
+ return "unsatisfiable";
248
+ }
249
+ return {
250
+ start,
251
+ end: Math.min(end, fileSize - 1)
252
+ };
253
+ };
254
+ const resolveFilePath = (path, root, url) => {
255
+ const urlPath = stripQueryString(url);
256
+ let decodedPath;
257
+ try {
258
+ decodedPath = decodeURIComponent(urlPath);
259
+ } catch {
260
+ return undefined;
261
+ }
262
+ if (decodedPath.includes("\u0000")) {
263
+ return undefined;
264
+ }
265
+ const normalizedPath = path.normalize(decodedPath.startsWith("/") ? decodedPath.slice(1) : decodedPath);
266
+ if (normalizedPath === ".." || normalizedPath.startsWith(`..${path.sep}`)) {
267
+ return undefined;
268
+ }
269
+ const resolvedPath = path.join(root, normalizedPath);
270
+ const rootPrefix = root.endsWith(path.sep) ? root : `${root}${path.sep}`;
271
+ if (resolvedPath !== root && !resolvedPath.startsWith(rootPrefix)) {
272
+ return undefined;
273
+ }
274
+ return resolvedPath;
275
+ };
276
+ const toRouteNotFoundError = request => new HttpServerError.HttpServerError({
277
+ reason: new HttpServerError.RouteNotFound({
278
+ request
279
+ })
280
+ });
281
+ const toInternalServerError = (request, cause) => new HttpServerError.HttpServerError({
282
+ reason: new HttpServerError.InternalError({
283
+ request,
284
+ cause
285
+ })
286
+ });
287
+ const handlePlatformError = (request, self) => Effect.catchIf(self, error => error.reason._tag === "NotFound", () => Effect.fail(toRouteNotFoundError(request)), error => Effect.fail(toInternalServerError(request, error)));
288
+ const acceptsHtml = accept => accept !== undefined && accept.toLowerCase().includes("text/html");
289
+ const stripWeakEtagPrefix = value => {
290
+ const trimmed = value.trim();
291
+ return /^w\//i.test(trimmed) ? trimmed.slice(2) : trimmed;
292
+ };
293
+ const matchesIfNoneMatch = (ifNoneMatch, etag) => {
294
+ const normalizedEtag = etag === undefined ? undefined : stripWeakEtagPrefix(etag);
295
+ for (const candidate of ifNoneMatch.split(",")) {
296
+ const value = candidate.trim();
297
+ if (value === "") {
298
+ continue;
299
+ }
300
+ if (value === "*") {
301
+ return true;
302
+ }
303
+ if (normalizedEtag !== undefined && stripWeakEtagPrefix(value) === normalizedEtag) {
304
+ return true;
305
+ }
306
+ }
307
+ return false;
308
+ };
309
+ const isNotModifiedSince = (ifModifiedSince, lastModified) => {
310
+ if (lastModified === undefined) {
311
+ return false;
312
+ }
313
+ const ifModifiedSinceMs = Date.parse(ifModifiedSince);
314
+ if (Number.isNaN(ifModifiedSinceMs)) {
315
+ return false;
316
+ }
317
+ const lastModifiedMs = Date.parse(lastModified);
318
+ if (Number.isNaN(lastModifiedMs)) {
319
+ return false;
320
+ }
321
+ return lastModifiedMs <= ifModifiedSinceMs;
322
+ };
323
+ const notModifiedResponse = response => {
324
+ const headers = {};
325
+ const etag = response.headers["etag"];
326
+ if (etag !== undefined) {
327
+ headers["ETag"] = etag;
328
+ }
329
+ const cacheControl = response.headers["cache-control"];
330
+ if (cacheControl !== undefined) {
331
+ headers["Cache-Control"] = cacheControl;
332
+ }
333
+ const lastModified = response.headers["last-modified"];
334
+ if (lastModified !== undefined) {
335
+ headers["Last-Modified"] = lastModified;
336
+ }
337
+ return HttpServerResponse.empty({
338
+ status: 304,
339
+ headers
340
+ });
341
+ };
342
+ const evaluateConditionalRequest = (request, response) => {
343
+ const ifNoneMatch = request.headers["if-none-match"];
344
+ if (ifNoneMatch !== undefined) {
345
+ return matchesIfNoneMatch(ifNoneMatch, response.headers["etag"]) ? notModifiedResponse(response) : undefined;
346
+ }
347
+ const ifModifiedSince = request.headers["if-modified-since"];
348
+ if (ifModifiedSince !== undefined && isNotModifiedSince(ifModifiedSince, response.headers["last-modified"])) {
349
+ return notModifiedResponse(response);
350
+ }
351
+ return undefined;
352
+ };
353
+ //# sourceMappingURL=HttpStaticServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpStaticServer.js","names":["Effect","FileSystem","Layer","Path","HttpPlatform","HttpRouter","HttpServerError","HttpServerRequest","HttpServerRespondable","HttpServerResponse","make","fnUntraced","options","fileSystem","path","platform","resolvedRoot","resolve","root","index","spa","cacheControl","mimeTypes","defaultMimeTypes","setFileHeaders","response","filePath","currentResponse","setHeaders","resolveMimeType","undefined","setHeader","serveFile","request","fileSize","rangeHeader","headers","shouldEvaluateConditionals","fullResponse","handlePlatformError","fileResponse","conditionalResponse","evaluateConditionalRequest","resolvedFileSize","Number","stat","size","parsedRange","parseRange","empty","status","offset","start","bytesToRead","end","use","resolvedPath","resolveFilePath","url","fail","toRouteNotFoundError","matchEffect","onFailure","error","reason","_tag","extname","acceptsHtml","join","toInternalServerError","onSuccess","info","type","layer","effectDiscard","gen","router","handler","pipe","catch","toResponse","prefix","prefixed","add","html","htm","css","js","mjs","json","xml","txt","csv","md","yaml","yml","png","jpg","jpeg","gif","svg","ico","webp","avif","woff","woff2","ttf","otf","eot","mp3","mp4","webm","ogg","wav","flac","aac","pdf","zip","gz","wasm","map","webmanifest","stripQueryString","queryIndex","indexOf","slice","extension","toLowerCase","length","parseInteger","value","test","parsed","isSafeInteger","header","trim","startsWith","rangeValue","includes","separatorIndex","startPart","endPart","suffixLength","Math","max","min","urlPath","decodedPath","decodeURIComponent","normalizedPath","normalize","sep","rootPrefix","endsWith","RouteNotFound","cause","InternalError","self","catchIf","accept","stripWeakEtagPrefix","trimmed","matchesIfNoneMatch","ifNoneMatch","etag","normalizedEtag","candidate","split","isNotModifiedSince","ifModifiedSince","lastModified","ifModifiedSinceMs","Date","parse","isNaN","lastModifiedMs","notModifiedResponse"],"sources":["../../../src/unstable/http/HttpStaticServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -107,7 +107,7 @@ export declare class MultipartErrorReason extends Data.Error<{
107
107
  readonly cause?: unknown;
108
108
  }> {
109
109
  }
110
- declare const MultipartError_base: new <A extends Record<string, any> = {}>(args: import("../../Types.ts").MatchRecord<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }, void, { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Cause.YieldableError & {
110
+ declare const MultipartError_base: new <A extends Record<string, any> = {}>(args: import("../../Types.ts").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Cause.YieldableError & {
111
111
  readonly _tag: "MultipartError";
112
112
  } & Readonly<A>;
113
113
  /**
@@ -222,7 +222,7 @@ export declare const remove: {
222
222
  */
223
223
  (self: UrlParams, key: string): UrlParams;
224
224
  };
225
- declare const UrlParamsError_base: new <A extends Record<string, any> = {}>(args: import("../../Types.ts").MatchRecord<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }, void, { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("../../Cause.ts").YieldableError & {
225
+ declare const UrlParamsError_base: new <A extends Record<string, any> = {}>(args: import("../../Types.ts").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("../../Cause.ts").YieldableError & {
226
226
  readonly _tag: "UrlParamsError";
227
227
  } & Readonly<A>;
228
228
  /**
@@ -85,6 +85,10 @@ export * as HttpServerRespondable from "./HttpServerRespondable.ts";
85
85
  * @since 4.0.0
86
86
  */
87
87
  export * as HttpServerResponse from "./HttpServerResponse.ts";
88
+ /**
89
+ * @since 4.0.0
90
+ */
91
+ export * as HttpStaticServer from "./HttpStaticServer.ts";
88
92
  /**
89
93
  * @since 4.0.0
90
94
  */
@@ -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,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,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,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA"}
@@ -86,6 +86,10 @@ export * as HttpServerRespondable from "./HttpServerRespondable.js";
86
86
  * @since 4.0.0
87
87
  */
88
88
  export * as HttpServerResponse from "./HttpServerResponse.js";
89
+ /**
90
+ * @since 4.0.0
91
+ */
92
+ export * as HttpStaticServer from "./HttpStaticServer.js";
89
93
  /**
90
94
  * @since 4.0.0
91
95
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Cookies","Etag","FetchHttpClient","FindMyWay","Headers","HttpBody","HttpClient","HttpClientError","HttpClientRequest","HttpClientResponse","HttpEffect","HttpIncomingMessage","HttpMethod","HttpMiddleware","HttpPlatform","HttpRouter","HttpServer","HttpServerError","HttpServerRequest","HttpServerRespondable","HttpServerResponse","HttpTraceContext","Multipart","Multipasta","Template","UrlParams"],"sources":["../../../src/unstable/http/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;AAEA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,IAAI,MAAM,WAAW;AAEjC;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,iBAAiB,MAAM,wBAAwB;AAE3D;;;AAGA,OAAO,KAAKC,kBAAkB,MAAM,yBAAyB;AAE7D;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,mBAAmB,MAAM,0BAA0B;AAE/D;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,iBAAiB,MAAM,wBAAwB;AAE3D;;;AAGA,OAAO,KAAKC,qBAAqB,MAAM,4BAA4B;AAEnE;;;AAGA,OAAO,KAAKC,kBAAkB,MAAM,yBAAyB;AAE7D;;;AAGA,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Cookies","Etag","FetchHttpClient","FindMyWay","Headers","HttpBody","HttpClient","HttpClientError","HttpClientRequest","HttpClientResponse","HttpEffect","HttpIncomingMessage","HttpMethod","HttpMiddleware","HttpPlatform","HttpRouter","HttpServer","HttpServerError","HttpServerRequest","HttpServerRespondable","HttpServerResponse","HttpStaticServer","HttpTraceContext","Multipart","Multipasta","Template","UrlParams"],"sources":["../../../src/unstable/http/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;AAEA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,IAAI,MAAM,WAAW;AAEjC;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,iBAAiB,MAAM,wBAAwB;AAE3D;;;AAGA,OAAO,KAAKC,kBAAkB,MAAM,yBAAyB;AAE7D;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,mBAAmB,MAAM,0BAA0B;AAE/D;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,iBAAiB,MAAM,wBAAwB;AAE3D;;;AAGA,OAAO,KAAKC,qBAAqB,MAAM,4BAA4B;AAEnE;;;AAGA,OAAO,KAAKC,kBAAkB,MAAM,yBAAyB;AAE7D;;;AAGA,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB","ignoreList":[]}
@@ -87,6 +87,7 @@ export interface Any {
87
87
  readonly [TypeId]: typeof TypeId;
88
88
  readonly identifier: string;
89
89
  readonly key: string;
90
+ readonly endpoints: Record.ReadonlyRecord<string, HttpApiEndpoint.Any>;
90
91
  }
91
92
  /**
92
93
  * @since 4.0.0
@@ -1 +1 @@
1
- {"version":3,"file":"HttpApiGroup.d.ts","sourceRoot":"","sources":["../../../src/unstable/httpapi/HttpApiGroup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpApiGroup.d.ts","sourceRoot":"","sources":["../../../src/unstable/httpapi/HttpApiGroup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"HttpApiGroup.js","names":["pipeArguments","Predicate","Record","ServiceMap","TypeId","isHttpApiGroup","u","hasProperty","Proto","add","toAdd","endpoints","endpoint","name","makeProto","identifier","topLevel","annotations","prefix","map","middleware","annotateMerge","merge","annotate","annotation","value","annotateEndpointsMerge","annotateEndpoints","pipe","arguments","options","HttpApiGroup","Object","setPrototypeOf","key","assign","make","empty"],"sources":["../../../src/unstable/httpapi/HttpApiGroup.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"HttpApiGroup.js","names":["pipeArguments","Predicate","Record","ServiceMap","TypeId","isHttpApiGroup","u","hasProperty","Proto","add","toAdd","endpoints","endpoint","name","makeProto","identifier","topLevel","annotations","prefix","map","middleware","annotateMerge","merge","annotate","annotation","value","annotateEndpointsMerge","annotateEndpoints","pipe","arguments","options","HttpApiGroup","Object","setPrototypeOf","key","assign","make","empty"],"sources":["../../../src/unstable/httpapi/HttpApiGroup.ts"],"sourcesContent":[null],"mappings":"AAIA,SAAwBA,aAAa,QAAQ,mBAAmB;AAChE,OAAO,KAAKC,SAAS,MAAM,oBAAoB;AAC/C,OAAO,KAAKC,MAAM,MAAM,iBAAiB;AACzC,OAAO,KAAKC,UAAU,MAAM,qBAAqB;AAKjD,MAAMC,MAAM,GAAG,8BAA8B;AAE7C;;;;AAIA,OAAO,MAAMC,cAAc,GAAIC,CAAU,IAAeL,SAAS,CAACM,WAAW,CAACD,CAAC,EAAEF,MAAM,CAAC;AAyMxF,MAAMI,KAAK,GAAG;EACZ,CAACJ,MAAM,GAAGA,MAAM;EAChBK,GAAGA,CAAqB,GAAGC,KAA0D;IACnF,MAAMC,SAAS,GAAG;MAAE,GAAG,IAAI,CAACA;IAAS,CAAE;IACvC,KAAK,MAAMC,QAAQ,IAAIF,KAAK,EAAE;MAC5BC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAAC,GAAGD,QAAQ;IACrC;IACA,OAAOE,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBL,SAAS;MACTM,WAAW,EAAE,IAAI,CAACA;KACnB,CAAC;EACJ,CAAC;EACDC,MAAMA,CAAqBA,MAAiB;IAC1C,OAAOJ,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBL,SAAS,EAAET,MAAM,CAACiB,GAAG,CAAC,IAAI,CAACR,SAAS,EAAGC,QAAQ,IAAKA,QAAQ,CAACM,MAAM,CAACA,MAAM,CAAC,CAAC;MAC5ED,WAAW,EAAE,IAAI,CAACA;KACnB,CAAC;EACJ,CAAC;EACDG,UAAUA,CAAqBA,UAAwC;IACrE,OAAON,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBL,SAAS,EAAET,MAAM,CAACiB,GAAG,CAAC,IAAI,CAACR,SAAS,EAAGC,QAAQ,IAAKA,QAAQ,CAACQ,UAAU,CAACA,UAAiB,CAAC,CAAC;MAC3FH,WAAW,EAAE,IAAI,CAACA;KACnB,CAAC;EACJ,CAAC;EACDI,aAAaA,CAAwBJ,WAAqC;IACxE,OAAOH,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBL,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBM,WAAW,EAAEd,UAAU,CAACmB,KAAK,CAAC,IAAI,CAACL,WAAW,EAAEA,WAAW;KAC5D,CAAC;EACJ,CAAC;EACDM,QAAQA,CAA2BC,UAAgC,EAAEC,KAAQ;IAC3E,OAAOX,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBL,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBM,WAAW,EAAEd,UAAU,CAACM,GAAG,CAAC,IAAI,CAACQ,WAAW,EAAEO,UAAU,EAAEC,KAAK;KAChE,CAAC;EACJ,CAAC;EACDC,sBAAsBA,CAAwBT,WAAqC;IACjF,OAAOH,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBL,SAAS,EAAET,MAAM,CAACiB,GAAG,CAAC,IAAI,CAACR,SAAS,EAAGC,QAAQ,IAAKA,QAAQ,CAACS,aAAa,CAACJ,WAAW,CAAC,CAAC;MACxFA,WAAW,EAAE,IAAI,CAACA;KACnB,CAAC;EACJ,CAAC;EACDU,iBAAiBA,CAA2BH,UAAgC,EAAEC,KAAQ;IACpF,OAAOX,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBL,SAAS,EAAET,MAAM,CAACiB,GAAG,CAAC,IAAI,CAACR,SAAS,EAAGC,QAAQ,IAAKA,QAAQ,CAACW,QAAQ,CAACC,UAAU,EAAEC,KAAK,CAAC,CAAC;MACzFR,WAAW,EAAE,IAAI,CAACA;KACnB,CAAC;EACJ,CAAC;EACDW,IAAIA,CAAA;IACF,OAAO5B,aAAa,CAAC,IAAI,EAAE6B,SAAS,CAAC;EACvC;CACD;AAED,MAAMf,SAAS,GAIbgB,OAKD,IAA2C;EAC1C,SAASC,YAAYA,CAAA,GAAI;EACzBC,MAAM,CAACC,cAAc,CAACF,YAAY,EAAEvB,KAAK,CAAC;EAC1CuB,YAAY,CAACG,GAAG,GAAG,+BAA+BJ,OAAO,CAACf,UAAU,EAAE;EACtE,OAAOiB,MAAM,CAACG,MAAM,CAACJ,YAAY,EAAED,OAAO,CAAQ;AACpD,CAAC;AAED;;;;;;;;;AASA,OAAO,MAAMM,IAAI,GAAGA,CAAkErB,UAAc,EAAEe,OAErG,KACChB,SAAS,CAAC;EACRC,UAAU;EACVC,QAAQ,EAAEc,OAAO,EAAEd,QAAQ,IAAI,KAAY;EAC3CL,SAAS,EAAET,MAAM,CAACmC,KAAK,EAAE;EACzBpB,WAAW,EAAEd,UAAU,CAACkC,KAAK;CAC9B,CAAQ","ignoreList":[]}
@@ -112,7 +112,7 @@ export type MakeStringOptions = Partial<Omit<KeyValueStore, "set">> & {
112
112
  readonly size: Effect.Effect<number, KeyValueStoreError>;
113
113
  };
114
114
  declare const ErrorTypeId: "~effect/persistence/KeyValueStore/KeyValueStoreError";
115
- declare const KeyValueStoreError_base: new <A extends Record<string, any> = {}>(args: import("../../Types.ts").MatchRecord<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }, void, { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("../../Cause.ts").YieldableError & {
115
+ declare const KeyValueStoreError_base: new <A extends Record<string, any> = {}>(args: import("../../Types.ts").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("../../Cause.ts").YieldableError & {
116
116
  readonly _tag: "KeyValueStoreError";
117
117
  } & Readonly<A>;
118
118
  /**
@@ -44,6 +44,7 @@ export interface Atom<A> extends Pipeable, Inspectable.Inspectable {
44
44
  readonly refresh?: (f: <A>(atom: Atom<A>) => void) => void;
45
45
  readonly label?: readonly [name: string, stack: string];
46
46
  readonly idleTTL?: number;
47
+ readonly initialValueTarget?: Atom<A>;
47
48
  }
48
49
  /**
49
50
  * @since 4.0.0
@@ -558,12 +559,16 @@ export declare const transform: {
558
559
  * @since 4.0.0
559
560
  * @category combinators
560
561
  */
561
- <R extends Atom<any>, B>(f: (get: Context, atom: R) => B): (self: R) => [R] extends [Writable<infer _, infer RW>] ? Writable<B, RW> : Atom<B>;
562
+ <R extends Atom<any>, B>(f: (get: Context, atom: R) => B, options?: {
563
+ readonly initialValueTarget?: Atom<B> | undefined;
564
+ }): (self: R) => [R] extends [Writable<infer _, infer RW>] ? Writable<B, RW> : Atom<B>;
562
565
  /**
563
566
  * @since 4.0.0
564
567
  * @category combinators
565
568
  */
566
- <R extends Atom<any>, B>(self: R, f: (get: Context, atom: R) => B): [R] extends [Writable<infer _, infer RW>] ? Writable<B, RW> : Atom<B>;
569
+ <R extends Atom<any>, B>(self: R, f: (get: Context, atom: R) => B, options?: {
570
+ readonly initialValueTarget?: Atom<B> | undefined;
571
+ }): [R] extends [Writable<infer _, infer RW>] ? Writable<B, RW> : Atom<B>;
567
572
  };
568
573
  /**
569
574
  * @since 4.0.0