@effect/platform 0.72.2 → 0.73.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +637 -0
  2. package/Url/package.json +6 -0
  3. package/dist/cjs/HttpApi.js.map +1 -1
  4. package/dist/cjs/HttpApiEndpoint.js.map +1 -1
  5. package/dist/cjs/HttpApiGroup.js.map +1 -1
  6. package/dist/cjs/HttpClient.js +8 -1
  7. package/dist/cjs/HttpClient.js.map +1 -1
  8. package/dist/cjs/HttpMethod.js +24 -1
  9. package/dist/cjs/HttpMethod.js.map +1 -1
  10. package/dist/cjs/OpenApi.js +82 -42
  11. package/dist/cjs/OpenApi.js.map +1 -1
  12. package/dist/cjs/Runtime.js.map +1 -1
  13. package/dist/cjs/Url.js +259 -0
  14. package/dist/cjs/Url.js.map +1 -0
  15. package/dist/cjs/index.js +3 -1
  16. package/dist/cjs/internal/httpClient.js +3 -1
  17. package/dist/cjs/internal/httpClient.js.map +1 -1
  18. package/dist/dts/HttpApi.d.ts +1 -2
  19. package/dist/dts/HttpApi.d.ts.map +1 -1
  20. package/dist/dts/HttpApiBuilder.d.ts +1 -1
  21. package/dist/dts/HttpApiBuilder.d.ts.map +1 -1
  22. package/dist/dts/HttpApiEndpoint.d.ts +16 -8
  23. package/dist/dts/HttpApiEndpoint.d.ts.map +1 -1
  24. package/dist/dts/HttpApiGroup.d.ts +1 -2
  25. package/dist/dts/HttpApiGroup.d.ts.map +1 -1
  26. package/dist/dts/HttpClient.d.ts +22 -0
  27. package/dist/dts/HttpClient.d.ts.map +1 -1
  28. package/dist/dts/HttpMethod.d.ts +22 -0
  29. package/dist/dts/HttpMethod.d.ts.map +1 -1
  30. package/dist/dts/OpenApi.d.ts +100 -110
  31. package/dist/dts/OpenApi.d.ts.map +1 -1
  32. package/dist/dts/Runtime.d.ts +48 -0
  33. package/dist/dts/Runtime.d.ts.map +1 -1
  34. package/dist/dts/Url.d.ts +591 -0
  35. package/dist/dts/Url.d.ts.map +1 -0
  36. package/dist/dts/index.d.ts +4 -0
  37. package/dist/dts/index.d.ts.map +1 -1
  38. package/dist/esm/HttpApi.js.map +1 -1
  39. package/dist/esm/HttpApiEndpoint.js.map +1 -1
  40. package/dist/esm/HttpApiGroup.js.map +1 -1
  41. package/dist/esm/HttpClient.js +7 -0
  42. package/dist/esm/HttpClient.js.map +1 -1
  43. package/dist/esm/HttpMethod.js +22 -0
  44. package/dist/esm/HttpMethod.js.map +1 -1
  45. package/dist/esm/OpenApi.js +82 -41
  46. package/dist/esm/OpenApi.js.map +1 -1
  47. package/dist/esm/Runtime.js.map +1 -1
  48. package/dist/esm/Url.js +248 -0
  49. package/dist/esm/Url.js.map +1 -0
  50. package/dist/esm/index.js +4 -0
  51. package/dist/esm/index.js.map +1 -1
  52. package/dist/esm/internal/httpClient.js +2 -0
  53. package/dist/esm/internal/httpClient.js.map +1 -1
  54. package/package.json +10 -2
  55. package/src/HttpApi.ts +2 -3
  56. package/src/HttpApiBuilder.ts +1 -1
  57. package/src/HttpApiEndpoint.ts +22 -13
  58. package/src/HttpApiGroup.ts +2 -3
  59. package/src/HttpClient.ts +28 -0
  60. package/src/HttpMethod.ts +24 -0
  61. package/src/OpenApi.ts +174 -181
  62. package/src/Runtime.ts +48 -0
  63. package/src/Url.ts +632 -0
  64. package/src/index.ts +5 -0
  65. package/src/internal/httpClient.ts +11 -0
@@ -0,0 +1,248 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as Cause from "effect/Cause";
5
+ import * as Either from "effect/Either";
6
+ import { dual } from "effect/Function";
7
+ import * as UrlParams from "./UrlParams.js";
8
+ /**
9
+ * Parses a URL string into a `URL` object, returning an `Either` type for safe
10
+ * error handling.
11
+ *
12
+ * **Details**
13
+ *
14
+ * This function converts a string into a `URL` object, enabling safe URL
15
+ * parsing with built-in error handling. If the string is invalid or fails to
16
+ * parse, this function does not throw an error; instead, it wraps the error in
17
+ * a `IllegalArgumentException` and returns it as the `Left` value of an
18
+ * `Either`. The `Right` value contains the successfully parsed `URL`.
19
+ *
20
+ * An optional `base` parameter can be provided to resolve relative URLs. If
21
+ * specified, the function interprets the input `url` as relative to this
22
+ * `base`. This is especially useful when dealing with URLs that might not be
23
+ * fully qualified.
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * import { Url } from "@effect/platform"
28
+ * import { Either } from "effect"
29
+ *
30
+ * // Parse an absolute URL
31
+ * //
32
+ * // ┌─── Either<URL, IllegalArgumentException>
33
+ * // ▼
34
+ * const parsed = Url.fromString("https://example.com/path")
35
+ *
36
+ * if (Either.isRight(parsed)) {
37
+ * console.log("Parsed URL:", parsed.right.toString())
38
+ * } else {
39
+ * console.log("Error:", parsed.left.message)
40
+ * }
41
+ * // Output: Parsed URL: https://example.com/path
42
+ *
43
+ * // Parse a relative URL with a base
44
+ * const relativeParsed = Url.fromString("/relative-path", "https://example.com")
45
+ *
46
+ * if (Either.isRight(relativeParsed)) {
47
+ * console.log("Parsed relative URL:", relativeParsed.right.toString())
48
+ * } else {
49
+ * console.log("Error:", relativeParsed.left.message)
50
+ * }
51
+ * // Output: Parsed relative URL: https://example.com/relative-path
52
+ * ```
53
+ *
54
+ * @since 1.0.0
55
+ * @category Constructors
56
+ */
57
+ export const fromString = (url, base) => Either.try({
58
+ try: () => new URL(url, base),
59
+ catch: cause => new Cause.IllegalArgumentException(cause instanceof globalThis.Error ? cause.message : "Invalid input")
60
+ });
61
+ /**
62
+ * This function clones the original `URL` object and applies a callback to the
63
+ * clone, allowing multiple updates at once.
64
+ *
65
+ * @example
66
+ * ```ts
67
+ * import { Url } from "@effect/platform"
68
+ *
69
+ * const myUrl = new URL("https://example.com")
70
+ *
71
+ * const mutatedUrl = Url.mutate(myUrl, (url) => {
72
+ * url.username = "user"
73
+ * url.password = "pass"
74
+ * })
75
+ *
76
+ * console.log("Mutated:", mutatedUrl.toString())
77
+ * // Output: Mutated: https://user:pass@example.com/
78
+ * ```
79
+ *
80
+ * @since 1.0.0
81
+ * @category Modifiers
82
+ */
83
+ export const mutate = /*#__PURE__*/dual(2, (self, f) => {
84
+ const copy = new URL(self);
85
+ f(copy);
86
+ return copy;
87
+ });
88
+ /** @internal */
89
+ const immutableURLSetter = property => dual(2, (url, value) => mutate(url, url => {
90
+ url[property] = value;
91
+ }));
92
+ /**
93
+ * Updates the hash fragment of the URL.
94
+ *
95
+ * @since 1.0.0
96
+ * @category Setters
97
+ */
98
+ export const setHash = /*#__PURE__*/immutableURLSetter("hash");
99
+ /**
100
+ * Updates the host (domain and port) of the URL.
101
+ *
102
+ * @since 1.0.0
103
+ * @category Setters
104
+ */
105
+ export const setHost = /*#__PURE__*/immutableURLSetter("host");
106
+ /**
107
+ * Updates the domain of the URL without modifying the port.
108
+ *
109
+ * @since 1.0.0
110
+ * @category Setters
111
+ */
112
+ export const setHostname = /*#__PURE__*/immutableURLSetter("hostname");
113
+ /**
114
+ * Replaces the entire URL string.
115
+ *
116
+ * @since 1.0.0
117
+ * @category Setters
118
+ */
119
+ export const setHref = /*#__PURE__*/immutableURLSetter("href");
120
+ /**
121
+ * Updates the password used for authentication.
122
+ *
123
+ * @since 1.0.0
124
+ * @category Setters
125
+ */
126
+ export const setPassword = /*#__PURE__*/immutableURLSetter("password");
127
+ /**
128
+ * Updates the path of the URL.
129
+ *
130
+ * @since 1.0.0
131
+ * @category Setters
132
+ */
133
+ export const setPathname = /*#__PURE__*/immutableURLSetter("pathname");
134
+ /**
135
+ * Updates the port of the URL.
136
+ *
137
+ * @since 1.0.0
138
+ * @category Setters
139
+ */
140
+ export const setPort = /*#__PURE__*/immutableURLSetter("port");
141
+ /**
142
+ * Updates the protocol (e.g., `http`, `https`).
143
+ *
144
+ * @since 1.0.0
145
+ * @category Setters
146
+ */
147
+ export const setProtocol = /*#__PURE__*/immutableURLSetter("protocol");
148
+ /**
149
+ * Updates the query string of the URL.
150
+ *
151
+ * @since 1.0.0
152
+ * @category Setters
153
+ */
154
+ export const setSearch = /*#__PURE__*/immutableURLSetter("search");
155
+ /**
156
+ * Updates the username used for authentication.
157
+ *
158
+ * @since 1.0.0
159
+ * @category Setters
160
+ */
161
+ export const setUsername = /*#__PURE__*/immutableURLSetter("username");
162
+ /**
163
+ * Updates the query parameters of a URL.
164
+ *
165
+ * **Details**
166
+ *
167
+ * This function allows you to set or replace the query parameters of a `URL`
168
+ * object using the provided `UrlParams`. It creates a new `URL` object with the
169
+ * updated parameters, leaving the original object unchanged.
170
+ *
171
+ * @example
172
+ * ```ts
173
+ * import { Url, UrlParams } from "@effect/platform"
174
+ *
175
+ * const myUrl = new URL("https://example.com?foo=bar")
176
+ *
177
+ * // Write parameters
178
+ * const updatedUrl = Url.setUrlParams(
179
+ * myUrl,
180
+ * UrlParams.fromInput([["key", "value"]])
181
+ * )
182
+ *
183
+ * console.log(updatedUrl.toString())
184
+ * // Output: https://example.com/?key=value
185
+ * ```
186
+ *
187
+ * @since 1.0.0
188
+ * @category Setters
189
+ */
190
+ export const setUrlParams = /*#__PURE__*/dual(2, (url, searchParams) => mutate(url, url => {
191
+ url.search = UrlParams.toString(searchParams);
192
+ }));
193
+ /**
194
+ * Retrieves the query parameters from a URL.
195
+ *
196
+ * **Details**
197
+ *
198
+ * This function extracts the query parameters from a `URL` object and returns
199
+ * them as `UrlParams`. The resulting structure can be easily manipulated or
200
+ * inspected.
201
+ *
202
+ * @example
203
+ * ```ts
204
+ * import { Url } from "@effect/platform"
205
+ *
206
+ * const myUrl = new URL("https://example.com?foo=bar")
207
+ *
208
+ * // Read parameters
209
+ * const params = Url.urlParams(myUrl)
210
+ *
211
+ * console.log(params)
212
+ * // Output: [ [ 'foo', 'bar' ] ]
213
+ * ```
214
+ *
215
+ * @since 1.0.0
216
+ * @category Getters
217
+ */
218
+ export const urlParams = url => UrlParams.fromInput(url.searchParams);
219
+ /**
220
+ * Reads, modifies, and updates the query parameters of a URL.
221
+ *
222
+ * **Details**
223
+ *
224
+ * This function provides a functional way to interact with query parameters by
225
+ * reading the current parameters, applying a transformation function, and then
226
+ * writing the updated parameters back to the URL. It returns a new `URL` object
227
+ * with the modified parameters, ensuring immutability.
228
+ *
229
+ * @example
230
+ * ```ts
231
+ * import { Url, UrlParams } from "@effect/platform"
232
+ *
233
+ * const myUrl = new URL("https://example.com?foo=bar")
234
+ *
235
+ * const changedUrl = Url.modifyUrlParams(myUrl, UrlParams.append("key", "value"))
236
+ *
237
+ * console.log(changedUrl.toString())
238
+ * // Output: https://example.com/?foo=bar&key=value
239
+ * ```
240
+ *
241
+ * @since 1.0.0
242
+ * @category Modifiers
243
+ */
244
+ export const modifyUrlParams = /*#__PURE__*/dual(2, (url, f) => mutate(url, url => {
245
+ const params = f(UrlParams.fromInput(url.searchParams));
246
+ url.search = UrlParams.toString(params);
247
+ }));
248
+ //# sourceMappingURL=Url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Url.js","names":["Cause","Either","dual","UrlParams","fromString","url","base","try","URL","catch","cause","IllegalArgumentException","globalThis","Error","message","mutate","self","f","copy","immutableURLSetter","property","value","setHash","setHost","setHostname","setHref","setPassword","setPathname","setPort","setProtocol","setSearch","setUsername","setUrlParams","searchParams","search","toString","urlParams","fromInput","modifyUrlParams","params"],"sources":["../../src/Url.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/esm/index.js CHANGED
@@ -199,6 +199,10 @@ export * as Terminal from "./Terminal.js";
199
199
  * @since 1.0.0
200
200
  */
201
201
  export * as Transferable from "./Transferable.js";
202
+ /**
203
+ * @since 1.0.0
204
+ */
205
+ export * as Url from "./Url.js";
202
206
  /**
203
207
  * @since 1.0.0
204
208
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Command","CommandExecutor","Cookies","Effectify","Error","Etag","FetchHttpClient","FileSystem","Headers","HttpApi","HttpApiBuilder","HttpApiClient","HttpApiEndpoint","HttpApiError","HttpApiGroup","HttpApiMiddleware","HttpApiScalar","HttpApiSchema","HttpApiSecurity","HttpApiSwagger","HttpApp","HttpBody","HttpClient","HttpClientError","HttpClientRequest","HttpClientResponse","HttpIncomingMessage","HttpMethod","HttpMiddleware","HttpMultiplex","HttpPlatform","HttpRouter","HttpServer","HttpServerError","HttpServerRequest","HttpServerRespondable","HttpServerResponse","HttpTraceContext","KeyValueStore","Multipart","OpenApi","OpenApiJsonSchema","Path","PlatformConfigProvider","PlatformLogger","Runtime","Socket","Template","Terminal","Transferable","UrlParams","Worker","WorkerError","WorkerRunner"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,KAAK,MAAM,YAAY;AAEnC;;;AAGA,OAAO,KAAKC,IAAI,MAAM,WAAW;AAEjC;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,iBAAiB,MAAM,wBAAwB;AAE3D;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;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,mBAAmB,MAAM,0BAA0B;AAE/D;;;;AAIA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;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,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,iBAAiB,MAAM,wBAAwB;AAE3D;;;AAGA,OAAO,KAAKC,IAAI,MAAM,WAAW;AAEjC;;;AAGA,OAAO,KAAKC,sBAAsB,MAAM,6BAA6B;AAErE;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,MAAM,MAAM,aAAa;AAErC;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,MAAM,MAAM,aAAa;AAErC;;;AAGA,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAE/C;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Command","CommandExecutor","Cookies","Effectify","Error","Etag","FetchHttpClient","FileSystem","Headers","HttpApi","HttpApiBuilder","HttpApiClient","HttpApiEndpoint","HttpApiError","HttpApiGroup","HttpApiMiddleware","HttpApiScalar","HttpApiSchema","HttpApiSecurity","HttpApiSwagger","HttpApp","HttpBody","HttpClient","HttpClientError","HttpClientRequest","HttpClientResponse","HttpIncomingMessage","HttpMethod","HttpMiddleware","HttpMultiplex","HttpPlatform","HttpRouter","HttpServer","HttpServerError","HttpServerRequest","HttpServerRespondable","HttpServerResponse","HttpTraceContext","KeyValueStore","Multipart","OpenApi","OpenApiJsonSchema","Path","PlatformConfigProvider","PlatformLogger","Runtime","Socket","Template","Terminal","Transferable","Url","UrlParams","Worker","WorkerError","WorkerRunner"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,KAAK,MAAM,YAAY;AAEnC;;;AAGA,OAAO,KAAKC,IAAI,MAAM,WAAW;AAEjC;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,iBAAiB,MAAM,wBAAwB;AAE3D;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;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,mBAAmB,MAAM,0BAA0B;AAE/D;;;;AAIA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;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,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,iBAAiB,MAAM,wBAAwB;AAE3D;;;AAGA,OAAO,KAAKC,IAAI,MAAM,WAAW;AAEjC;;;AAGA,OAAO,KAAKC,sBAAsB,MAAM,6BAA6B;AAErE;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,MAAM,MAAM,aAAa;AAErC;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,GAAG,MAAM,UAAU;AAE/B;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,MAAM,MAAM,aAAa;AAErC;;;AAGA,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAE/C;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB","ignoreList":[]}
@@ -198,6 +198,8 @@ const isTransientHttpError = error => Error.isHttpClientError(error) && (error._
198
198
  /** @internal */
199
199
  export const tap = /*#__PURE__*/dual(2, (self, f) => transformResponse(self, Effect.tap(f)));
200
200
  /** @internal */
201
+ export const tapError = /*#__PURE__*/dual(2, (self, f) => transformResponse(self, Effect.tapError(f)));
202
+ /** @internal */
201
203
  export const tapRequest = /*#__PURE__*/dual(2, (self, f) => {
202
204
  const client = self;
203
205
  return makeWith(client.postprocess, request => Effect.tap(client.preprocess(request), f));
@@ -1 +1 @@
1
- {"version":3,"file":"httpClient.js","names":["Cause","Context","Effect","FiberRef","constFalse","dual","globalValue","Inspectable","Layer","pipeArguments","Predicate","Ref","Schedule","Scope","Cookies","Headers","Error","TraceContext","UrlParams","internalRequest","internalResponse","TypeId","Symbol","for","tag","GenericTag","currentTracerDisabledWhen","unsafeMake","withTracerDisabledWhen","self","pred","locally","currentTracerPropagation","withTracerPropagation","enabled","ClientProto","pipe","arguments","BaseProto","toJSON","_id","get","url","options","execute","head","post","put","patch","del","isClient","u","hasProperty","makeWith","postprocess","preprocess","Object","create","request","make","f","effect","flatMap","withFiberRuntime","fiber","scope","unsafeGet","getFiberRef","currentContext","controller","AbortController","addAbort","addFinalizer","sync","abort","urlResult","makeUrl","urlParams","hash","_tag","fail","RequestError","reason","cause","left","right","tracerDisabled","currentTracerEnabled","zipRight","signal","useSpan","method","kind","captureStackTrace","span","attribute","origin","port","toString","pathname","protocol","slice","query","search","redactedHeaderNames","currentRedactedNames","redactedHeaders","redact","headers","name","String","setHeaders","toHeaders","tap","withParentSpan","response","status","succeed","serviceFunctions","transform","client","filterStatus","transformResponse","filterStatusOk","catchTag","catchTags","cases","catchAll","filterOrElse","orElse","filterOrFail","orFailWith","mapRequest","map","mapRequestEffect","mapRequestInput","mapRequestInputEffect","retry","policy","retryTransient","while","ScheduleTypeId","undefined","isTransientError","or","schedule","times","error","TimeoutExceptionTypeId","isTransientHttpError","isHttpClientError","tapRequest","withCookiesRef","ref","update","cookies","merge","isEmpty","setHeader","toCookieHeader","followRedirects","args","maxRedirects","loop","redirects","location","setUrl","layerMergedContext","context","mapInputContext","input"],"sources":["../../../src/internal/httpClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"httpClient.js","names":["Cause","Context","Effect","FiberRef","constFalse","dual","globalValue","Inspectable","Layer","pipeArguments","Predicate","Ref","Schedule","Scope","Cookies","Headers","Error","TraceContext","UrlParams","internalRequest","internalResponse","TypeId","Symbol","for","tag","GenericTag","currentTracerDisabledWhen","unsafeMake","withTracerDisabledWhen","self","pred","locally","currentTracerPropagation","withTracerPropagation","enabled","ClientProto","pipe","arguments","BaseProto","toJSON","_id","get","url","options","execute","head","post","put","patch","del","isClient","u","hasProperty","makeWith","postprocess","preprocess","Object","create","request","make","f","effect","flatMap","withFiberRuntime","fiber","scope","unsafeGet","getFiberRef","currentContext","controller","AbortController","addAbort","addFinalizer","sync","abort","urlResult","makeUrl","urlParams","hash","_tag","fail","RequestError","reason","cause","left","right","tracerDisabled","currentTracerEnabled","zipRight","signal","useSpan","method","kind","captureStackTrace","span","attribute","origin","port","toString","pathname","protocol","slice","query","search","redactedHeaderNames","currentRedactedNames","redactedHeaders","redact","headers","name","String","setHeaders","toHeaders","tap","withParentSpan","response","status","succeed","serviceFunctions","transform","client","filterStatus","transformResponse","filterStatusOk","catchTag","catchTags","cases","catchAll","filterOrElse","orElse","filterOrFail","orFailWith","mapRequest","map","mapRequestEffect","mapRequestInput","mapRequestInputEffect","retry","policy","retryTransient","while","ScheduleTypeId","undefined","isTransientError","or","schedule","times","error","TimeoutExceptionTypeId","isTransientHttpError","isHttpClientError","tapError","tapRequest","withCookiesRef","ref","update","cookies","merge","isEmpty","setHeader","toCookieHeader","followRedirects","args","maxRedirects","loop","redirects","location","setUrl","layerMergedContext","context","mapInputContext","input"],"sources":["../../../src/internal/httpClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform",
3
- "version": "0.72.2",
3
+ "version": "0.73.1",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -14,7 +14,7 @@
14
14
  "multipasta": "^0.2.5"
15
15
  },
16
16
  "peerDependencies": {
17
- "effect": "^3.12.2"
17
+ "effect": "^3.12.4"
18
18
  },
19
19
  "publishConfig": {
20
20
  "provenance": true
@@ -279,6 +279,11 @@
279
279
  "import": "./dist/esm/Transferable.js",
280
280
  "default": "./dist/cjs/Transferable.js"
281
281
  },
282
+ "./Url": {
283
+ "types": "./dist/dts/Url.d.ts",
284
+ "import": "./dist/esm/Url.js",
285
+ "default": "./dist/cjs/Url.js"
286
+ },
282
287
  "./UrlParams": {
283
288
  "types": "./dist/dts/UrlParams.d.ts",
284
289
  "import": "./dist/esm/UrlParams.js",
@@ -452,6 +457,9 @@
452
457
  "Transferable": [
453
458
  "./dist/dts/Transferable.d.ts"
454
459
  ],
460
+ "Url": [
461
+ "./dist/dts/Url.d.ts"
462
+ ],
455
463
  "UrlParams": [
456
464
  "./dist/dts/UrlParams.d.ts"
457
465
  ],
package/src/HttpApi.ts CHANGED
@@ -15,7 +15,6 @@ import type * as HttpApiGroup from "./HttpApiGroup.js"
15
15
  import type * as HttpApiMiddleware from "./HttpApiMiddleware.js"
16
16
  import * as HttpApiSchema from "./HttpApiSchema.js"
17
17
  import type { HttpMethod } from "./HttpMethod.js"
18
- import type { PathInput } from "./HttpRouter.js"
19
18
 
20
19
  /**
21
20
  * @since 1.0.0
@@ -85,7 +84,7 @@ export interface HttpApi<
85
84
  /**
86
85
  * Prefix all endpoints in the `HttpApi`.
87
86
  */
88
- prefix(prefix: PathInput): HttpApi<Id, Groups, E, R>
87
+ prefix(prefix: HttpApiEndpoint.PathSegment): HttpApi<Id, Groups, E, R>
89
88
  /**
90
89
  * Add a middleware to a `HttpApi`. It will be applied to all endpoints in the
91
90
  * `HttpApi`.
@@ -194,7 +193,7 @@ const Proto = {
194
193
  middlewares: this.middlewares
195
194
  })
196
195
  },
197
- prefix(this: HttpApi.AnyWithProps, prefix: PathInput) {
196
+ prefix(this: HttpApi.AnyWithProps, prefix: HttpApiEndpoint.PathSegment) {
198
197
  return makeProto({
199
198
  identifier: this.identifier,
200
199
  groups: Record.map(this.groups, (group) => group.prefix(prefix)),
@@ -997,7 +997,7 @@ export const middlewareCors = (
997
997
  */
998
998
  export const middlewareOpenApi = (
999
999
  options?: {
1000
- readonly path?: HttpRouter.PathInput | undefined
1000
+ readonly path?: HttpApiEndpoint.PathSegment | undefined
1001
1001
  } | undefined
1002
1002
  ): Layer.Layer<never, never, HttpApi.Api> =>
1003
1003
  Router.use((router) =>
@@ -33,6 +33,15 @@ export type TypeId = typeof TypeId
33
33
  */
34
34
  export const isHttpApiEndpoint = (u: unknown): u is HttpApiEndpoint<any, any, any> => Predicate.hasProperty(u, TypeId)
35
35
 
36
+ /**
37
+ * Represents a path segment. A path segment is a string that represents a
38
+ * segment of a URL path.
39
+ *
40
+ * @since 1.0.0
41
+ * @category models
42
+ */
43
+ export type PathSegment = `/${string}`
44
+
36
45
  /**
37
46
  * Represents an API endpoint. An API endpoint is mapped to a single route on
38
47
  * the underlying `HttpRouter`.
@@ -54,7 +63,7 @@ export interface HttpApiEndpoint<
54
63
  > extends Pipeable {
55
64
  readonly [TypeId]: TypeId
56
65
  readonly name: Name
57
- readonly path: HttpRouter.PathInput
66
+ readonly path: PathSegment
58
67
  readonly method: Method
59
68
  readonly pathSchema: Option.Option<Schema.Schema<Path, unknown, R>>
60
69
  readonly urlParamsSchema: Option.Option<Schema.Schema<UrlParams, unknown, R>>
@@ -194,7 +203,7 @@ export interface HttpApiEndpoint<
194
203
  * Add a prefix to the path of the endpoint.
195
204
  */
196
205
  prefix(
197
- prefix: HttpRouter.PathInput
206
+ prefix: PathSegment
198
207
  ): HttpApiEndpoint<Name, Method, Path, UrlParams, Payload, Headers, Success, Error, R, RE>
199
208
 
200
209
  /**
@@ -743,10 +752,10 @@ const Proto = {
743
752
  headersSchema: Option.some(schema)
744
753
  })
745
754
  },
746
- prefix(this: HttpApiEndpoint.AnyWithProps, prefix: HttpRouter.PathInput) {
755
+ prefix(this: HttpApiEndpoint.AnyWithProps, prefix: PathSegment) {
747
756
  return makeProto({
748
757
  ...this,
749
- path: HttpRouter.prefixPath(this.path, prefix) as HttpRouter.PathInput
758
+ path: HttpRouter.prefixPath(this.path, prefix) as PathSegment
750
759
  })
751
760
  },
752
761
  middleware(this: HttpApiEndpoint.AnyWithProps, middleware: HttpApiMiddleware.TagClassAny) {
@@ -783,7 +792,7 @@ const makeProto = <
783
792
  RE
784
793
  >(options: {
785
794
  readonly name: Name
786
- readonly path: HttpRouter.PathInput
795
+ readonly path: PathSegment
787
796
  readonly method: Method
788
797
  readonly pathSchema: Option.Option<Schema.Schema<Path, unknown, R>>
789
798
  readonly urlParamsSchema: Option.Option<Schema.Schema<UrlParams, unknown, R>>
@@ -802,9 +811,9 @@ const makeProto = <
802
811
  */
803
812
  export const make = <Method extends HttpMethod>(method: Method): {
804
813
  <const Name extends string>(name: Name): HttpApiEndpoint.Constructor<Name, Method>
805
- <const Name extends string>(name: Name, path: HttpRouter.PathInput): HttpApiEndpoint<Name, Method>
814
+ <const Name extends string>(name: Name, path: PathSegment): HttpApiEndpoint<Name, Method>
806
815
  } =>
807
- ((name: string, ...args: [HttpRouter.PathInput]) => {
816
+ ((name: string, ...args: [PathSegment]) => {
808
817
  if (args.length === 1) {
809
818
  return makeProto({
810
819
  name,
@@ -821,7 +830,7 @@ export const make = <Method extends HttpMethod>(method: Method): {
821
830
  })
822
831
  }
823
832
  return (segments: TemplateStringsArray, ...schemas: ReadonlyArray<HttpApiSchema.AnyString>) => {
824
- let path = segments[0] as HttpRouter.PathInput
833
+ let path = segments[0] as PathSegment
825
834
  let pathSchema = Option.none<Schema.Schema.Any>()
826
835
  if (schemas.length > 0) {
827
836
  const obj: Record<string, Schema.Schema.Any> = {}
@@ -863,7 +872,7 @@ export const get: {
863
872
  * @since 1.0.0
864
873
  * @category constructors
865
874
  */
866
- <const Name extends string>(name: Name, path: HttpRouter.PathInput): HttpApiEndpoint<Name, "GET">
875
+ <const Name extends string>(name: Name, path: PathSegment): HttpApiEndpoint<Name, "GET">
867
876
  } = make("GET")
868
877
 
869
878
  /**
@@ -880,7 +889,7 @@ export const post: {
880
889
  * @since 1.0.0
881
890
  * @category constructors
882
891
  */
883
- <const Name extends string>(name: Name, path: HttpRouter.PathInput): HttpApiEndpoint<Name, "POST">
892
+ <const Name extends string>(name: Name, path: PathSegment): HttpApiEndpoint<Name, "POST">
884
893
  } = make("POST")
885
894
 
886
895
  /**
@@ -897,7 +906,7 @@ export const put: {
897
906
  * @since 1.0.0
898
907
  * @category constructors
899
908
  */
900
- <const Name extends string>(name: Name, path: HttpRouter.PathInput): HttpApiEndpoint<Name, "PUT">
909
+ <const Name extends string>(name: Name, path: PathSegment): HttpApiEndpoint<Name, "PUT">
901
910
  } = make("PUT")
902
911
 
903
912
  /**
@@ -914,7 +923,7 @@ export const patch: {
914
923
  * @since 1.0.0
915
924
  * @category constructors
916
925
  */
917
- <const Name extends string>(name: Name, path: HttpRouter.PathInput): HttpApiEndpoint<Name, "PATCH">
926
+ <const Name extends string>(name: Name, path: PathSegment): HttpApiEndpoint<Name, "PATCH">
918
927
  } = make(
919
928
  "PATCH"
920
929
  )
@@ -933,7 +942,7 @@ export const del: {
933
942
  * @since 1.0.0
934
943
  * @category constructors
935
944
  */
936
- <const Name extends string>(name: Name, path: HttpRouter.PathInput): HttpApiEndpoint<Name, "DELETE">
945
+ <const Name extends string>(name: Name, path: PathSegment): HttpApiEndpoint<Name, "DELETE">
937
946
  } = make(
938
947
  "DELETE"
939
948
  )
@@ -10,7 +10,6 @@ import type * as HttpApiEndpoint from "./HttpApiEndpoint.js"
10
10
  import type { HttpApiDecodeError } from "./HttpApiError.js"
11
11
  import type * as HttpApiMiddleware from "./HttpApiMiddleware.js"
12
12
  import * as HttpApiSchema from "./HttpApiSchema.js"
13
- import type { PathInput } from "./HttpRouter.js"
14
13
 
15
14
  /**
16
15
  * @since 1.0.0
@@ -77,7 +76,7 @@ export interface HttpApiGroup<
77
76
  * Add a path prefix to all endpoints in an `HttpApiGroup`. Note that this will only
78
77
  * add the prefix to the endpoints before this api is called.
79
78
  */
80
- prefix(prefix: PathInput): HttpApiGroup<Id, Endpoints, Error, R, TopLevel>
79
+ prefix(prefix: HttpApiEndpoint.PathSegment): HttpApiGroup<Id, Endpoints, Error, R, TopLevel>
81
80
 
82
81
  /**
83
82
  * Add an `HttpApiMiddleware` to the `HttpApiGroup`.
@@ -315,7 +314,7 @@ const Proto = {
315
314
  middlewares: this.middlewares
316
315
  })
317
316
  },
318
- prefix(this: HttpApiGroup.AnyWithProps, prefix: PathInput) {
317
+ prefix(this: HttpApiGroup.AnyWithProps, prefix: HttpApiEndpoint.PathSegment) {
319
318
  return makeProto({
320
319
  identifier: this.identifier,
321
320
  topLevel: this.topLevel,
package/src/HttpClient.ts CHANGED
@@ -719,6 +719,34 @@ export const tap: {
719
719
  ): HttpClient.With<E | E2, R | R2>
720
720
  } = internal.tap
721
721
 
722
+ /**
723
+ * Performs an additional effect after an unsuccessful request.
724
+ *
725
+ * @since 1.0.0
726
+ * @category mapping & sequencing
727
+ */
728
+ export const tapError: {
729
+ /**
730
+ * Performs an additional effect after an unsuccessful request.
731
+ *
732
+ * @since 1.0.0
733
+ * @category mapping & sequencing
734
+ */
735
+ <_, E, E2, R2>(
736
+ f: (e: NoInfer<E>) => Effect.Effect<_, E2, R2>
737
+ ): <R>(self: HttpClient.With<E, R>) => HttpClient.With<E | E2, R | R2>
738
+ /**
739
+ * Performs an additional effect after an unsuccessful request.
740
+ *
741
+ * @since 1.0.0
742
+ * @category mapping & sequencing
743
+ */
744
+ <E, R, _, E2, R2>(
745
+ self: HttpClient.With<E, R>,
746
+ f: (e: NoInfer<E>) => Effect.Effect<_, E2, R2>
747
+ ): HttpClient.With<E | E2, R | R2>
748
+ } = internal.tapError
749
+
722
750
  /**
723
751
  * Performs an additional effect on the request before sending it.
724
752
  *
package/src/HttpMethod.ts CHANGED
@@ -33,3 +33,27 @@ export declare namespace HttpMethod {
33
33
  * @since 1.0.0
34
34
  */
35
35
  export const hasBody = (method: HttpMethod): boolean => method !== "GET" && method !== "HEAD" && method !== "OPTIONS"
36
+
37
+ /**
38
+ * @since 1.0.0
39
+ */
40
+ export const all: ReadonlySet<HttpMethod> = new Set(["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS"])
41
+
42
+ /**
43
+ * Tests if a value is a `HttpMethod`.
44
+ *
45
+ * @param input - The value to test.
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * import { HttpMethod } from "@effect/platform"
50
+ *
51
+ * assert.deepStrictEqual(HttpMethod.isHttpMethod("GET"), true)
52
+ * assert.deepStrictEqual(HttpMethod.isHttpMethod("get"), false)
53
+ * assert.deepStrictEqual(HttpMethod.isHttpMethod(1), false)
54
+ * ```
55
+ *
56
+ * @since 1.0.0
57
+ * @category refinements
58
+ */
59
+ export const isHttpMethod = (u: unknown): u is HttpMethod => all.has(u as HttpMethod)