effect 4.0.0-beta.33 → 4.0.0-beta.34

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 (99) hide show
  1. package/dist/Effect.d.ts +5 -3
  2. package/dist/Effect.d.ts.map +1 -1
  3. package/dist/Effect.js +4 -4
  4. package/dist/Effect.js.map +1 -1
  5. package/dist/FileSystem.d.ts.map +1 -1
  6. package/dist/FileSystem.js +2 -1
  7. package/dist/FileSystem.js.map +1 -1
  8. package/dist/Graph.d.ts.map +1 -1
  9. package/dist/Graph.js +2 -1
  10. package/dist/Graph.js.map +1 -1
  11. package/dist/MutableHashMap.d.ts +7 -0
  12. package/dist/MutableHashMap.d.ts.map +1 -1
  13. package/dist/MutableHashMap.js +8 -0
  14. package/dist/MutableHashMap.js.map +1 -1
  15. package/dist/MutableHashSet.d.ts +7 -0
  16. package/dist/MutableHashSet.d.ts.map +1 -1
  17. package/dist/MutableHashSet.js +8 -0
  18. package/dist/MutableHashSet.js.map +1 -1
  19. package/dist/Resource.d.ts.map +1 -1
  20. package/dist/Resource.js +2 -1
  21. package/dist/Resource.js.map +1 -1
  22. package/dist/SubscriptionRef.d.ts.map +1 -1
  23. package/dist/SubscriptionRef.js +2 -1
  24. package/dist/SubscriptionRef.js.map +1 -1
  25. package/dist/TxDeferred.d.ts.map +1 -1
  26. package/dist/TxDeferred.js +2 -1
  27. package/dist/TxDeferred.js.map +1 -1
  28. package/dist/TxHashMap.d.ts.map +1 -1
  29. package/dist/TxHashMap.js +2 -1
  30. package/dist/TxHashMap.js.map +1 -1
  31. package/dist/TxHashSet.d.ts +1 -1
  32. package/dist/TxHashSet.d.ts.map +1 -1
  33. package/dist/TxHashSet.js +2 -1
  34. package/dist/TxHashSet.js.map +1 -1
  35. package/dist/TxPriorityQueue.d.ts +1 -1
  36. package/dist/TxPriorityQueue.d.ts.map +1 -1
  37. package/dist/TxPriorityQueue.js +2 -1
  38. package/dist/TxPriorityQueue.js.map +1 -1
  39. package/dist/TxSemaphore.d.ts.map +1 -1
  40. package/dist/TxSemaphore.js +2 -1
  41. package/dist/TxSemaphore.js.map +1 -1
  42. package/dist/internal/effect.js +1 -1
  43. package/dist/internal/effect.js.map +1 -1
  44. package/dist/unstable/ai/AiError.d.ts +1 -3
  45. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  46. package/dist/unstable/ai/AiError.js +1 -3
  47. package/dist/unstable/ai/AiError.js.map +1 -1
  48. package/dist/unstable/ai/EmbeddingModel.d.ts +130 -0
  49. package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -0
  50. package/dist/unstable/ai/EmbeddingModel.js +127 -0
  51. package/dist/unstable/ai/EmbeddingModel.js.map +1 -0
  52. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  53. package/dist/unstable/ai/LanguageModel.js +18 -8
  54. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  55. package/dist/unstable/ai/ResponseIdTracker.js +3 -3
  56. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  57. package/dist/unstable/ai/Tool.d.ts +1 -1
  58. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  59. package/dist/unstable/ai/Tool.js +1 -1
  60. package/dist/unstable/ai/Tool.js.map +1 -1
  61. package/dist/unstable/ai/index.d.ts +17 -0
  62. package/dist/unstable/ai/index.d.ts.map +1 -1
  63. package/dist/unstable/ai/index.js +17 -0
  64. package/dist/unstable/ai/index.js.map +1 -1
  65. package/dist/unstable/http/Url.d.ts +604 -0
  66. package/dist/unstable/http/Url.d.ts.map +1 -0
  67. package/dist/unstable/http/Url.js +256 -0
  68. package/dist/unstable/http/Url.js.map +1 -0
  69. package/dist/unstable/http/index.d.ts +4 -0
  70. package/dist/unstable/http/index.d.ts.map +1 -1
  71. package/dist/unstable/http/index.js +4 -0
  72. package/dist/unstable/http/index.js.map +1 -1
  73. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +30 -1
  74. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  75. package/dist/unstable/httpapi/HttpApiMiddleware.js +27 -0
  76. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  77. package/package.json +1 -1
  78. package/src/Effect.ts +7 -6
  79. package/src/FileSystem.ts +2 -1
  80. package/src/Graph.ts +2 -1
  81. package/src/MutableHashMap.ts +9 -0
  82. package/src/MutableHashSet.ts +9 -0
  83. package/src/Resource.ts +2 -1
  84. package/src/SubscriptionRef.ts +2 -1
  85. package/src/TxDeferred.ts +2 -2
  86. package/src/TxHashMap.ts +2 -1
  87. package/src/TxHashSet.ts +2 -2
  88. package/src/TxPriorityQueue.ts +2 -3
  89. package/src/TxSemaphore.ts +2 -1
  90. package/src/internal/effect.ts +11 -4
  91. package/src/unstable/ai/AiError.ts +1 -3
  92. package/src/unstable/ai/EmbeddingModel.ts +209 -0
  93. package/src/unstable/ai/LanguageModel.ts +36 -4
  94. package/src/unstable/ai/ResponseIdTracker.ts +3 -3
  95. package/src/unstable/ai/Tool.ts +2 -2
  96. package/src/unstable/ai/index.ts +18 -0
  97. package/src/unstable/http/Url.ts +650 -0
  98. package/src/unstable/http/index.ts +5 -0
  99. package/src/unstable/httpapi/HttpApiMiddleware.ts +46 -1
@@ -0,0 +1,256 @@
1
+ /**
2
+ * @since 4.0.0
3
+ */
4
+ import * as Cause from "../../Cause.js";
5
+ import { dual } from "../../Function.js";
6
+ import * as Redacted from "../../Redacted.js";
7
+ import * as Result from "../../Result.js";
8
+ import * as UrlParams from "./UrlParams.js";
9
+ /**
10
+ * Parses a URL string into a `URL` object, returning an `Result` type for safe
11
+ * error handling.
12
+ *
13
+ * **Details**
14
+ *
15
+ * This function converts a string into a `URL` object, enabling safe URL
16
+ * parsing with built-in error handling. If the string is invalid or fails to
17
+ * parse, this function does not throw an error; instead, it wraps the error in
18
+ * a `IllegalArgumentError` and returns it as the `Failure` value of an
19
+ * `Result`. The `Success` value contains the successfully parsed `URL`.
20
+ *
21
+ * An optional `base` parameter can be provided to resolve relative URLs. If
22
+ * specified, the function interprets the input `url` as relative to this
23
+ * `base`. This is especially useful when dealing with URLs that might not be
24
+ * fully qualified.
25
+ *
26
+ * **Example**
27
+ *
28
+ * ```ts
29
+ * import { Url } from "effect/unstable/http"
30
+ * import { Result } from "effect"
31
+ *
32
+ * // Parse an absolute URL
33
+ * //
34
+ * // ┌─── Result<URL, IllegalArgumentError>
35
+ * // ▼
36
+ * const parsed = Url.fromString("https://example.com/path")
37
+ *
38
+ * if (Result.isSuccess(parsed)) {
39
+ * console.log("Parsed URL:", parsed.success.toString())
40
+ * } else {
41
+ * console.log("Error:", parsed.failure.message)
42
+ * }
43
+ * // Output: Parsed URL: https://example.com/path
44
+ *
45
+ * // Parse a relative URL with a base
46
+ * const relativeParsed = Url.fromString("/relative-path", "https://example.com")
47
+ *
48
+ * if (Result.isSuccess(relativeParsed)) {
49
+ * console.log("Parsed relative URL:", relativeParsed.success.toString())
50
+ * } else {
51
+ * console.log("Error:", relativeParsed.failure.message)
52
+ * }
53
+ * // Output: Parsed relative URL: https://example.com/relative-path
54
+ * ```
55
+ *
56
+ * @since 4.0.0
57
+ * @category Constructors
58
+ */
59
+ export const fromString = (url, base) => Result.try({
60
+ try: () => new URL(url, base),
61
+ catch: () => new Cause.IllegalArgumentError(`Invalid URL: "${url}"${base !== undefined ? ` with base "${base}"` : ""}`)
62
+ });
63
+ /**
64
+ * This function clones the original `URL` object and applies a callback to the
65
+ * clone, allowing multiple updates at once.
66
+ *
67
+ * **Example**
68
+ *
69
+ * ```ts
70
+ * import { Url } from "effect/unstable/http"
71
+ *
72
+ * const myUrl = new URL("https://example.com")
73
+ *
74
+ * const mutatedUrl = Url.mutate(myUrl, (url) => {
75
+ * url.username = "user"
76
+ * url.password = "pass"
77
+ * })
78
+ *
79
+ * console.log("Mutated:", mutatedUrl.toString())
80
+ * // Output: Mutated: https://user:pass@example.com/
81
+ * ```
82
+ *
83
+ * @since 4.0.0
84
+ * @category Modifiers
85
+ */
86
+ export const mutate = /*#__PURE__*/dual(2, (self, f) => {
87
+ const copy = new URL(self);
88
+ f(copy);
89
+ return copy;
90
+ });
91
+ /** @internal */
92
+ const immutableURLSetter = property => dual(2, (url, value) => mutate(url, url => {
93
+ url[property] = value;
94
+ }));
95
+ /**
96
+ * Updates the hash fragment of the URL.
97
+ *
98
+ * @since 4.0.0
99
+ * @category Setters
100
+ */
101
+ export const setHash = /*#__PURE__*/immutableURLSetter("hash");
102
+ /**
103
+ * Updates the host (domain and port) of the URL.
104
+ *
105
+ * @since 4.0.0
106
+ * @category Setters
107
+ */
108
+ export const setHost = /*#__PURE__*/immutableURLSetter("host");
109
+ /**
110
+ * Updates the domain of the URL without modifying the port.
111
+ *
112
+ * @since 4.0.0
113
+ * @category Setters
114
+ */
115
+ export const setHostname = /*#__PURE__*/immutableURLSetter("hostname");
116
+ /**
117
+ * Replaces the entire URL string.
118
+ *
119
+ * @since 4.0.0
120
+ * @category Setters
121
+ */
122
+ export const setHref = /*#__PURE__*/immutableURLSetter("href");
123
+ /**
124
+ * Updates the password used for authentication.
125
+ *
126
+ * @since 4.0.0
127
+ * @category Setters
128
+ */
129
+ export const setPassword = /*#__PURE__*/dual(2, (url, password) => mutate(url, url => {
130
+ url.password = typeof password === "string" ? password : Redacted.value(password);
131
+ }));
132
+ /**
133
+ * Updates the path of the URL.
134
+ *
135
+ * @since 4.0.0
136
+ * @category Setters
137
+ */
138
+ export const setPathname = /*#__PURE__*/immutableURLSetter("pathname");
139
+ /**
140
+ * Updates the port of the URL.
141
+ *
142
+ * @since 4.0.0
143
+ * @category Setters
144
+ */
145
+ export const setPort = /*#__PURE__*/immutableURLSetter("port");
146
+ /**
147
+ * Updates the protocol (e.g., `http`, `https`).
148
+ *
149
+ * @since 4.0.0
150
+ * @category Setters
151
+ */
152
+ export const setProtocol = /*#__PURE__*/immutableURLSetter("protocol");
153
+ /**
154
+ * Updates the query string of the URL.
155
+ *
156
+ * @since 4.0.0
157
+ * @category Setters
158
+ */
159
+ export const setSearch = /*#__PURE__*/immutableURLSetter("search");
160
+ /**
161
+ * Updates the username used for authentication.
162
+ *
163
+ * @since 4.0.0
164
+ * @category Setters
165
+ */
166
+ export const setUsername = /*#__PURE__*/immutableURLSetter("username");
167
+ /**
168
+ * Updates the query parameters of a URL.
169
+ *
170
+ * **Details**
171
+ *
172
+ * This function allows you to set or replace the query parameters of a `URL`
173
+ * object using the provided `UrlParams`. It creates a new `URL` object with the
174
+ * updated parameters, leaving the original object unchanged.
175
+ *
176
+ * **Example**
177
+ *
178
+ * ```ts
179
+ * import { Url, UrlParams } from "effect/unstable/http"
180
+ *
181
+ * const myUrl = new URL("https://example.com?foo=bar")
182
+ *
183
+ * // Write parameters
184
+ * const updatedUrl = Url.setUrlParams(
185
+ * myUrl,
186
+ * UrlParams.fromInput([["key", "value"]])
187
+ * )
188
+ *
189
+ * console.log(updatedUrl.toString())
190
+ * // Output: https://example.com/?key=value
191
+ * ```
192
+ *
193
+ * @since 4.0.0
194
+ * @category Setters
195
+ */
196
+ export const setUrlParams = /*#__PURE__*/dual(2, (url, searchParams) => mutate(url, url => {
197
+ url.search = UrlParams.toString(searchParams);
198
+ }));
199
+ /**
200
+ * Retrieves the query parameters from a URL.
201
+ *
202
+ * **Details**
203
+ *
204
+ * This function extracts the query parameters from a `URL` object and returns
205
+ * them as `UrlParams`. The resulting structure can be easily manipulated or
206
+ * inspected.
207
+ *
208
+ * **Example**
209
+ *
210
+ * ```ts
211
+ * import { Url } from "effect/unstable/http"
212
+ *
213
+ * const myUrl = new URL("https://example.com?foo=bar")
214
+ *
215
+ * // Read parameters
216
+ * const params = Url.urlParams(myUrl)
217
+ *
218
+ * console.log(params)
219
+ * // Output: [ [ 'foo', 'bar' ] ]
220
+ * ```
221
+ *
222
+ * @since 4.0.0
223
+ * @category Getters
224
+ */
225
+ export const urlParams = url => UrlParams.fromInput(url.searchParams);
226
+ /**
227
+ * Reads, modifies, and updates the query parameters of a URL.
228
+ *
229
+ * **Details**
230
+ *
231
+ * This function provides a functional way to interact with query parameters by
232
+ * reading the current parameters, applying a transformation function, and then
233
+ * writing the updated parameters back to the URL. It returns a new `URL` object
234
+ * with the modified parameters, ensuring immutability.
235
+ *
236
+ * **Example**
237
+ *
238
+ * ```ts
239
+ * import { Url, UrlParams } from "effect/unstable/http"
240
+ *
241
+ * const myUrl = new URL("https://example.com?foo=bar")
242
+ *
243
+ * const changedUrl = Url.modifyUrlParams(myUrl, UrlParams.append("key", "value"))
244
+ *
245
+ * console.log(changedUrl.toString())
246
+ * // Output: https://example.com/?foo=bar&key=value
247
+ * ```
248
+ *
249
+ * @since 4.0.0
250
+ * @category Modifiers
251
+ */
252
+ export const modifyUrlParams = /*#__PURE__*/dual(2, (url, f) => mutate(url, url => {
253
+ const params = f(UrlParams.fromInput(url.searchParams));
254
+ url.search = UrlParams.toString(params);
255
+ }));
256
+ //# sourceMappingURL=Url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Url.js","names":["Cause","dual","Redacted","Result","UrlParams","fromString","url","base","try","URL","catch","IllegalArgumentError","undefined","mutate","self","f","copy","immutableURLSetter","property","value","setHash","setHost","setHostname","setHref","setPassword","password","setPathname","setPort","setProtocol","setSearch","setUsername","setUrlParams","searchParams","search","toString","urlParams","fromInput","modifyUrlParams","params"],"sources":["../../../src/unstable/http/Url.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -109,4 +109,8 @@ export * as Template from "./Template.ts";
109
109
  * @since 4.0.0
110
110
  */
111
111
  export * as UrlParams from "./UrlParams.ts";
112
+ /**
113
+ * @since 4.0.0
114
+ */
115
+ export * as Url from "./Url.ts";
112
116
  //# sourceMappingURL=index.d.ts.map
@@ -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,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;AAE3C;;GAEG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA"}
@@ -110,4 +110,8 @@ export * as Template from "./Template.js";
110
110
  * @since 4.0.0
111
111
  */
112
112
  export * as UrlParams from "./UrlParams.js";
113
+ /**
114
+ * @since 4.0.0
115
+ */
116
+ export * as Url from "./Url.js";
113
117
  //# sourceMappingURL=index.js.map
@@ -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","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":[]}
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","Url"],"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;AAE3C;;;AAGA,OAAO,KAAKC,GAAG,MAAM,UAAU","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import * as Effect from "../../Effect.ts";
5
5
  import * as Layer from "../../Layer.ts";
6
- import type * as Schema from "../../Schema.ts";
6
+ import * as Schema from "../../Schema.ts";
7
7
  import { Scope } from "../../Scope.ts";
8
8
  import * as ServiceMap from "../../ServiceMap.ts";
9
9
  import type { unhandled } from "../../Types.ts";
@@ -212,6 +212,35 @@ export declare const Service: <Self, Config extends {
212
212
  requiredForClient: RequiredForClient;
213
213
  security: Security;
214
214
  }>;
215
+ /**
216
+ * Implement a middleware Layer that transforms `SchemaError`'s.
217
+ *
218
+ * ```ts
219
+ * import { Effect, Schema } from "effect"
220
+ * import { HttpApiMiddleware } from "effect/unstable/httpapi"
221
+ *
222
+ * export class CustomError extends Schema.TaggedErrorClass<CustomError>()("CustomError", {}) {}
223
+ *
224
+ * export class ErrorHandler extends HttpApiMiddleware.Service<ErrorHandler>()("api/ErrorHandler", {
225
+ * error: CustomError
226
+ * }) {}
227
+ *
228
+ * export const ErrorHandlerLayer = HttpApiMiddleware.layerSchemaErrorTransform(
229
+ * ErrorHandler,
230
+ * (schemaError) =>
231
+ * Effect.log("Got SchemaError", schemaError).pipe(
232
+ * Effect.andThen(Effect.fail(new CustomError()))
233
+ * )
234
+ * )
235
+ * ```
236
+ *
237
+ * @since 4.0.0
238
+ * @category SchemaError transform
239
+ */
240
+ export declare const layerSchemaErrorTransform: <Id, E extends Schema.Top, Requires>(service: ServiceMap.Service<Id, HttpApiMiddleware<never, E, Requires>>, transform: (error: Schema.SchemaError, context: {
241
+ readonly endpoint: HttpApiEndpoint.AnyWithProps;
242
+ readonly group: HttpApiGroup.AnyWithProps;
243
+ }) => Effect.Effect<HttpServerResponse, E["Type"] | Schema.SchemaError, Requires | HttpRouter.Provided>) => Layer.Layer<Id>;
215
244
  /**
216
245
  * @since 4.0.0
217
246
  * @category client
@@ -1 +1 @@
1
- {"version":3,"file":"HttpApiMiddleware.d.ts","sourceRoot":"","sources":["../../../src/unstable/httpapi/HttpApiMiddleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpApiMiddleware.d.ts","sourceRoot":"","sources":["../../../src/unstable/httpapi/HttpApiMiddleware.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  import * as Effect from "../../Effect.js";
5
5
  import * as Layer from "../../Layer.js";
6
6
  import { hasProperty } from "../../Predicate.js";
7
+ import * as Schema from "../../Schema.js";
7
8
  import { Scope } from "../../Scope.js";
8
9
  import * as ServiceMap from "../../ServiceMap.js";
9
10
  const TypeId = "~effect/httpapi/HttpApiMiddleware";
@@ -44,6 +45,32 @@ export const Service = () => (id, options) => {
44
45
  }
45
46
  return self;
46
47
  };
48
+ /**
49
+ * Implement a middleware Layer that transforms `SchemaError`'s.
50
+ *
51
+ * ```ts
52
+ * import { Effect, Schema } from "effect"
53
+ * import { HttpApiMiddleware } from "effect/unstable/httpapi"
54
+ *
55
+ * export class CustomError extends Schema.TaggedErrorClass<CustomError>()("CustomError", {}) {}
56
+ *
57
+ * export class ErrorHandler extends HttpApiMiddleware.Service<ErrorHandler>()("api/ErrorHandler", {
58
+ * error: CustomError
59
+ * }) {}
60
+ *
61
+ * export const ErrorHandlerLayer = HttpApiMiddleware.layerSchemaErrorTransform(
62
+ * ErrorHandler,
63
+ * (schemaError) =>
64
+ * Effect.log("Got SchemaError", schemaError).pipe(
65
+ * Effect.andThen(Effect.fail(new CustomError()))
66
+ * )
67
+ * )
68
+ * ```
69
+ *
70
+ * @since 4.0.0
71
+ * @category SchemaError transform
72
+ */
73
+ export const layerSchemaErrorTransform = (service, transform) => Layer.succeed(service, (httpEffect, options) => Effect.catch(httpEffect, e => Schema.isSchemaError(e) ? transform(e, options) : Effect.fail(e)));
47
74
  /**
48
75
  * @since 4.0.0
49
76
  * @category client
@@ -1 +1 @@
1
- {"version":3,"file":"HttpApiMiddleware.js","names":["Effect","Layer","hasProperty","Scope","ServiceMap","TypeId","SecurityTypeId","isSecurity","u","Service","id","options","Err","globalThis","Error","limit","stackTraceLimit","creationError","self","Object","defineProperty","get","stack","requiredForClient","error","undefined","security","keys","length","layerClient","tag","service","effectServices","gen","services","pipe","omit","middleware","isEffect","makeUnsafe","Map","key","updateServices","requestContext","merge"],"sources":["../../../src/unstable/httpapi/HttpApiMiddleware.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,iBAAiB;AACzC,OAAO,KAAKC,KAAK,MAAM,gBAAgB;AACvC,SAASC,WAAW,QAAQ,oBAAoB;AAEhD,SAASC,KAAK,QAAQ,gBAAgB;AACtC,OAAO,KAAKC,UAAU,MAAM,qBAAqB;AAWjD,MAAMC,MAAM,GAAG,mCAAmC;AAElD,MAAMC,cAAc,GAAG,4CAA4C;AAEnE;;;;AAIA,OAAO,MAAMC,UAAU,GAAIC,CAAa,IAA8BN,WAAW,CAACM,CAAC,EAAEF,cAAc,CAAC;AAwMpG;;;;AAIA,OAAO,MAAMG,OAAO,GAAGA,CAAA,KA2BvB,CACEC,EAAU,EACVC,OAIa,KACX;EACF,MAAMC,GAAG,GAAGC,UAAU,CAACC,KAAY;EACnC,MAAMC,KAAK,GAAGH,GAAG,CAACI,eAAe;EACjCJ,GAAG,CAACI,eAAe,GAAG,CAAC;EACvB,MAAMC,aAAa,GAAG,IAAIL,GAAG,EAAE;EAC/BA,GAAG,CAACI,eAAe,GAAGD,KAAK;EAE3B,MAAMN,OAAQ,SAAQL,UAAU,CAACK,OAAO,EAAa,CAACC,EAAE,CAAC;EACzD,MAAMQ,IAAI,GAAGT,OAAc;EAC3BU,MAAM,CAACC,cAAc,CAACX,OAAO,EAAE,OAAO,EAAE;IACtCY,GAAGA,CAAA;MACD,OAAOJ,aAAa,CAACK,KAAK;IAC5B;GACD,CAAC;EACFJ,IAAI,CAACb,MAAM,CAAC,GAAGA,MAAM;EACrBa,IAAI,CAACK,iBAAiB,GAAGZ,OAAO,EAAEY,iBAAiB,IAAI,KAAK;EAC5D,IAAIZ,OAAO,EAAEa,KAAK,KAAKC,SAAS,EAAE;IAChCP,IAAI,CAACM,KAAK,GAAGb,OAAO,CAACa,KAAK;EAC5B;EACA,IAAIb,OAAO,EAAEe,QAAQ,KAAKD,SAAS,EAAE;IACnC,IAAIN,MAAM,CAACQ,IAAI,CAAChB,OAAO,CAACe,QAAQ,CAAC,CAACE,MAAM,KAAK,CAAC,EAAE;MAC9C,MAAM,IAAId,KAAK,CAAC,8DAA8D,CAAC;IACjF;IACAI,IAAI,CAACZ,cAAc,CAAC,GAAGA,cAAc;IACrCY,IAAI,CAACQ,QAAQ,GAAGf,OAAO,CAACe,QAAQ;EAClC;EACA,OAAOR,IAAI;AACb,CAAC;AAED;;;;AAIA,OAAO,MAAMW,WAAW,GAAGA,CACzBC,GAA0B,EAC1BC,OAMG,KAEH9B,KAAK,CAAC+B,cAAc,CAAChC,MAAM,CAACiC,GAAG,CAAC,aAAS;EACvC,MAAMC,QAAQ,GAAG,CAAC,OAAOlC,MAAM,CAACkC,QAAQ,EAAa,EAAEC,IAAI,CACzD/B,UAAU,CAACgC,IAAI,CAACjC,KAAK,CAAC,CACK;EAC7B,MAAMkC,UAAU,GAAGrC,MAAM,CAACsC,QAAQ,CAACP,OAAO,CAAC,GAAG,OAAOA,OAAO,GAAGA,OAAO;EACtE,OAAO3B,UAAU,CAACmC,UAAU,CAC1B,IAAIC,GAAG,CAAC,CAAC,CACP,GAAGV,GAAG,CAACW,GAAG,SAAS,EAClB9B,OAAY,IACXX,MAAM,CAAC0C,cAAc,CACnBL,UAAU,CAAC1B,OAAO,CAAC,EAClBgC,cAAc,IAAKvC,UAAU,CAACwC,KAAK,CAACV,QAAQ,EAAES,cAAc,CAAC,CAC/D,CACJ,CAAC,CAAC,CACJ;AACH,CAAC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"HttpApiMiddleware.js","names":["Effect","Layer","hasProperty","Schema","Scope","ServiceMap","TypeId","SecurityTypeId","isSecurity","u","Service","id","options","Err","globalThis","Error","limit","stackTraceLimit","creationError","self","Object","defineProperty","get","stack","requiredForClient","error","undefined","security","keys","length","layerSchemaErrorTransform","service","transform","succeed","httpEffect","catch","e","isSchemaError","fail","layerClient","tag","effectServices","gen","services","pipe","omit","middleware","isEffect","makeUnsafe","Map","key","updateServices","requestContext","merge"],"sources":["../../../src/unstable/httpapi/HttpApiMiddleware.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "effect",
3
3
  "type": "module",
4
- "version": "4.0.0-beta.33",
4
+ "version": "4.0.0-beta.34",
5
5
  "license": "MIT",
6
6
  "description": "The missing standard library for TypeScript, for writing production-grade software.",
7
7
  "homepage": "https://effect.website",
package/src/Effect.ts CHANGED
@@ -372,7 +372,7 @@ export declare namespace Yieldable {
372
372
  * @since 2.0.0
373
373
  * @category Guards
374
374
  */
375
- export const isEffect = (u: unknown): u is Effect<any, any, any> => typeof u === "object" && u !== null && TypeId in u
375
+ export const isEffect: (u: unknown) => u is Effect<any, any, any> = core.isEffect
376
376
 
377
377
  /**
378
378
  * Iterator interface for Effect generators, enabling Effect values to work with generator functions.
@@ -4256,12 +4256,12 @@ export {
4256
4256
  *
4257
4257
  * **Details**
4258
4258
  *
4259
- * The `catchAll` function catches any errors that may occur during the
4259
+ * The `catch` function catches any errors that may occur during the
4260
4260
  * execution of an effect and allows you to handle them by specifying a fallback
4261
4261
  * effect. This ensures that the program continues without failing by recovering
4262
4262
  * from errors using the provided fallback logic.
4263
4263
  *
4264
- * **Note**: `catchAll` only handles recoverable errors. It will not recover
4264
+ * **Note**: `catch` only handles recoverable errors. It will not recover
4265
4265
  * from unrecoverable defects.
4266
4266
  *
4267
4267
  * @see {@link catchCause} for a version that can recover from both recoverable and unrecoverable errors.
@@ -12001,8 +12001,9 @@ export const scopedWith: <A, E, R>(
12001
12001
  */
12002
12002
  export const acquireRelease: <A, E, R>(
12003
12003
  acquire: Effect<A, E, R>,
12004
- release: (a: A, exit: Exit.Exit<unknown, unknown>) => Effect<unknown>
12005
- ) => Effect<A, E, R | Scope> = internal.acquireRelease
12004
+ release: (a: A, exit: Exit.Exit<unknown, unknown>) => Effect<unknown>,
12005
+ options?: { readonly interruptible?: boolean }
12006
+ ) => Effect<A, E, Scope | R> = internal.acquireRelease
12006
12007
 
12007
12008
  /**
12008
12009
  * This function is used to ensure that an `Effect` value that represents the
@@ -21079,7 +21080,7 @@ export const annotateLogs = dual<
21079
21080
  ): Effect<A, E, R>;
21080
21081
  }
21081
21082
  >(
21082
- (args) => core.isEffect(args[0]),
21083
+ (args) => isEffect(args[0]),
21083
21084
  <A, E, R>(
21084
21085
  effect: Effect<A, E, R>,
21085
21086
  ...args: [Record<string, unknown>] | [key: string, value: unknown]
package/src/FileSystem.ts CHANGED
@@ -43,6 +43,7 @@ import { pipe } from "./Function.ts"
43
43
  import * as Layer from "./Layer.ts"
44
44
  import * as Option from "./Option.ts"
45
45
  import { badArgument, type PlatformError, systemError } from "./PlatformError.ts"
46
+ import { hasProperty } from "./Predicate.ts"
46
47
  import type * as Pull from "./Pull.ts"
47
48
  import type { Scope } from "./Scope.ts"
48
49
  import * as ServiceMap from "./ServiceMap.ts"
@@ -999,7 +1000,7 @@ export const FileTypeId = "~effect/platform/FileSystem/File"
999
1000
  * @since 4.0.0
1000
1001
  * @category File
1001
1002
  */
1002
- export const isFile = (u: unknown): u is File => typeof u === "object" && u !== null && FileTypeId in u
1003
+ export const isFile = (u: unknown): u is File => hasProperty(u, FileTypeId)
1003
1004
 
1004
1005
  /**
1005
1006
  * Interface representing an open file handle.
package/src/Graph.ts CHANGED
@@ -11,6 +11,7 @@ import { NodeInspectSymbol } from "./Inspectable.ts"
11
11
  import * as Option from "./Option.ts"
12
12
  import type { Pipeable } from "./Pipeable.ts"
13
13
  import { pipeArguments } from "./Pipeable.ts"
14
+ import { hasProperty } from "./Predicate.ts"
14
15
  import type { Mutable } from "./Types.ts"
15
16
 
16
17
  const TypeId = "~effect/collections/Graph"
@@ -222,7 +223,7 @@ const missingNode = (node: number) => new GraphError({ message: `Node ${node} do
222
223
  * @since 4.0.0
223
224
  * @category Guards
224
225
  */
225
- export const isGraph = (u: unknown): u is Graph<unknown, unknown> => typeof u === "object" && u !== null && TypeId in u
226
+ export const isGraph = (u: unknown): u is Graph<unknown, unknown> => hasProperty(u, TypeId)
226
227
 
227
228
  /**
228
229
  * Creates a directed graph, optionally with initial mutations.
@@ -33,6 +33,7 @@ import { type Inspectable, NodeInspectSymbol, toJson } from "./Inspectable.ts"
33
33
  import * as Option from "./Option.ts"
34
34
  import type { Pipeable } from "./Pipeable.ts"
35
35
  import { pipeArguments } from "./Pipeable.ts"
36
+ import { hasProperty } from "./Predicate.ts"
36
37
 
37
38
  const TypeId = "~effect/collections/MutableHashMap"
38
39
 
@@ -71,6 +72,14 @@ export interface MutableHashMap<out K, out V> extends Iterable<[K, V]>, Pipeable
71
72
  readonly buckets: Map<number, NonEmptyArray<K>>
72
73
  }
73
74
 
75
+ /**
76
+ * Checks if the specified value is a `MutableHashMap`, `false` otherwise.
77
+ *
78
+ * @category refinements
79
+ * @since 4.0.0
80
+ */
81
+ export const isMutableHashMap = <K, V>(value: unknown): value is MutableHashMap<K, V> => hasProperty(value, TypeId)
82
+
74
83
  const MutableHashMapProto: Omit<MutableHashMap<unknown, unknown>, "backing" | "buckets" | "bucketsSize"> = {
75
84
  [TypeId]: TypeId,
76
85
  [Symbol.iterator](this: MutableHashMap<unknown, unknown>): Iterator<[unknown, unknown]> {
@@ -30,6 +30,7 @@ import { type Inspectable, NodeInspectSymbol, toJson } from "./Inspectable.ts"
30
30
  import * as MutableHashMap from "./MutableHashMap.ts"
31
31
  import type { Pipeable } from "./Pipeable.ts"
32
32
  import { pipeArguments } from "./Pipeable.ts"
33
+ import { hasProperty } from "./Predicate.ts"
33
34
 
34
35
  const TypeId = "~effect/collections/MutableHashSet"
35
36
 
@@ -68,6 +69,14 @@ export interface MutableHashSet<out V> extends Iterable<V>, Pipeable, Inspectabl
68
69
  readonly keyMap: MutableHashMap.MutableHashMap<V, boolean>
69
70
  }
70
71
 
72
+ /**
73
+ * Checks if the specified value is a `MutableHashSet`, `false` otherwise.
74
+ *
75
+ * @category refinements
76
+ * @since 4.0.0
77
+ */
78
+ export const isMutableHashSet = <V>(value: unknown): value is MutableHashSet<V> => hasProperty(value, TypeId)
79
+
71
80
  const MutableHashSetProto: Omit<MutableHashSet<unknown>, "keyMap"> = {
72
81
  [TypeId]: TypeId,
73
82
  [Symbol.iterator](this: MutableHashSet<unknown>): Iterator<unknown> {
package/src/Resource.ts CHANGED
@@ -6,6 +6,7 @@ import * as Exit from "./Exit.ts"
6
6
  import { identity } from "./Function.ts"
7
7
  import { PipeInspectableProto } from "./internal/core.ts"
8
8
  import type { Pipeable } from "./Pipeable.ts"
9
+ import { hasProperty } from "./Predicate.ts"
9
10
  import type * as Schedule from "./Schedule.ts"
10
11
  import type * as Scope from "./Scope.ts"
11
12
  import * as ScopedRef from "./ScopedRef.ts"
@@ -32,7 +33,7 @@ export interface Resource<in out A, in out E = never> extends Pipeable {
32
33
  */
33
34
  export const isResource: (u: unknown) => u is Resource<unknown, unknown> = (
34
35
  u: unknown
35
- ): u is Resource<unknown, unknown> => typeof u === "object" && u !== null && TypeId in u
36
+ ): u is Resource<unknown, unknown> => hasProperty(u, TypeId)
36
37
 
37
38
  const Proto = {
38
39
  ...PipeInspectableProto,
@@ -6,6 +6,7 @@ import { dual, identity } from "./Function.ts"
6
6
  import { PipeInspectableProto } from "./internal/core.ts"
7
7
  import * as Option from "./Option.ts"
8
8
  import type { Pipeable } from "./Pipeable.ts"
9
+ import { hasProperty } from "./Predicate.ts"
9
10
  import * as PubSub from "./PubSub.ts"
10
11
  import * as Semaphore from "./Semaphore.ts"
11
12
  import * as Stream from "./Stream.ts"
@@ -29,7 +30,7 @@ export interface SubscriptionRef<in out A> extends SubscriptionRef.Variance<A>,
29
30
  */
30
31
  export const isSubscriptionRef: (u: unknown) => u is SubscriptionRef<unknown> = (
31
32
  u: unknown
32
- ): u is SubscriptionRef<unknown> => typeof u === "object" && u != null && TypeId in u
33
+ ): u is SubscriptionRef<unknown> => hasProperty(u, TypeId)
33
34
 
34
35
  /**
35
36
  * The `SynchronizedRef` namespace containing type definitions and utilities.
package/src/TxDeferred.ts CHANGED
@@ -13,6 +13,7 @@ import type { Option } from "./Option.ts"
13
13
  import * as O from "./Option.ts"
14
14
  import type { Pipeable } from "./Pipeable.ts"
15
15
  import { pipeArguments } from "./Pipeable.ts"
16
+ import { hasProperty } from "./Predicate.ts"
16
17
  import type { Result } from "./Result.ts"
17
18
  import * as Res from "./Result.ts"
18
19
  import * as TxRef from "./TxRef.ts"
@@ -390,5 +391,4 @@ export const fail: {
390
391
  * @since 4.0.0
391
392
  * @category guards
392
393
  */
393
- export const isTxDeferred = (u: unknown): u is TxDeferred<unknown, unknown> =>
394
- typeof u === "object" && u !== null && TypeId in u
394
+ export const isTxDeferred = (u: unknown): u is TxDeferred<unknown, unknown> => hasProperty(u, TypeId)
package/src/TxHashMap.ts CHANGED
@@ -11,6 +11,7 @@ import { NodeInspectSymbol, toJson } from "./Inspectable.ts"
11
11
  import * as Option from "./Option.ts"
12
12
  import type { Pipeable } from "./Pipeable.ts"
13
13
  import { pipeArguments } from "./Pipeable.ts"
14
+ import { hasProperty } from "./Predicate.ts"
14
15
  import type { Result } from "./Result.ts"
15
16
  import * as TxRef from "./TxRef.ts"
16
17
 
@@ -1882,7 +1883,7 @@ export const setMany: {
1882
1883
  * @category guards
1883
1884
  */
1884
1885
  export const isTxHashMap = <K, V>(value: unknown): value is TxHashMap<K, V> => {
1885
- return typeof value === "object" && value !== null && TypeId in value
1886
+ return hasProperty(value, TypeId)
1886
1887
  }
1887
1888
 
1888
1889
  /**