effect 4.0.0-beta.6 → 4.0.0-beta.8

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 (283) hide show
  1. package/dist/Cache.d.ts +2 -2
  2. package/dist/Cache.d.ts.map +1 -1
  3. package/dist/Cache.js +1 -1
  4. package/dist/Cache.js.map +1 -1
  5. package/dist/Combiner.d.ts +280 -13
  6. package/dist/Combiner.d.ts.map +1 -1
  7. package/dist/Combiner.js +198 -7
  8. package/dist/Combiner.js.map +1 -1
  9. package/dist/Config.d.ts +2 -2
  10. package/dist/Config.js +3 -3
  11. package/dist/Config.js.map +1 -1
  12. package/dist/DateTime.d.ts +23 -161
  13. package/dist/DateTime.d.ts.map +1 -1
  14. package/dist/DateTime.js +6 -51
  15. package/dist/DateTime.js.map +1 -1
  16. package/dist/Duration.d.ts +12 -12
  17. package/dist/Duration.d.ts.map +1 -1
  18. package/dist/Duration.js +12 -12
  19. package/dist/Duration.js.map +1 -1
  20. package/dist/Effect.d.ts +13 -13
  21. package/dist/Effect.d.ts.map +1 -1
  22. package/dist/Effect.js +1 -1
  23. package/dist/Effect.js.map +1 -1
  24. package/dist/Formatter.d.ts +131 -47
  25. package/dist/Formatter.d.ts.map +1 -1
  26. package/dist/Formatter.js +228 -50
  27. package/dist/Formatter.js.map +1 -1
  28. package/dist/JsonSchema.d.ts +299 -10
  29. package/dist/JsonSchema.d.ts.map +1 -1
  30. package/dist/JsonSchema.js +323 -4
  31. package/dist/JsonSchema.js.map +1 -1
  32. package/dist/LayerMap.d.ts +4 -4
  33. package/dist/LayerMap.d.ts.map +1 -1
  34. package/dist/LogLevel.d.ts +27 -0
  35. package/dist/LogLevel.d.ts.map +1 -1
  36. package/dist/LogLevel.js +28 -100
  37. package/dist/LogLevel.js.map +1 -1
  38. package/dist/Logger.d.ts +4 -4
  39. package/dist/Logger.d.ts.map +1 -1
  40. package/dist/Metric.d.ts +2 -2
  41. package/dist/Metric.d.ts.map +1 -1
  42. package/dist/Metric.js +1 -1
  43. package/dist/Metric.js.map +1 -1
  44. package/dist/Pool.d.ts +1 -1
  45. package/dist/Pool.d.ts.map +1 -1
  46. package/dist/Pool.js +1 -1
  47. package/dist/Pool.js.map +1 -1
  48. package/dist/Random.d.ts +1 -1
  49. package/dist/Random.d.ts.map +1 -1
  50. package/dist/Random.js +3 -12
  51. package/dist/Random.js.map +1 -1
  52. package/dist/RcMap.d.ts +2 -2
  53. package/dist/RcMap.d.ts.map +1 -1
  54. package/dist/RcMap.js +1 -1
  55. package/dist/RcMap.js.map +1 -1
  56. package/dist/RcRef.d.ts +1 -1
  57. package/dist/RcRef.d.ts.map +1 -1
  58. package/dist/Reducer.d.ts +166 -7
  59. package/dist/Reducer.d.ts.map +1 -1
  60. package/dist/Reducer.js +135 -1
  61. package/dist/Reducer.js.map +1 -1
  62. package/dist/RequestResolver.d.ts +6 -6
  63. package/dist/RequestResolver.d.ts.map +1 -1
  64. package/dist/RequestResolver.js.map +1 -1
  65. package/dist/Schedule.d.ts +20 -11
  66. package/dist/Schedule.d.ts.map +1 -1
  67. package/dist/Schedule.js +23 -9
  68. package/dist/Schedule.js.map +1 -1
  69. package/dist/Schema.d.ts +4 -4
  70. package/dist/Schema.d.ts.map +1 -1
  71. package/dist/ScopedCache.d.ts +2 -2
  72. package/dist/ScopedCache.d.ts.map +1 -1
  73. package/dist/ScopedCache.js +1 -1
  74. package/dist/ScopedCache.js.map +1 -1
  75. package/dist/Stream.d.ts +19 -19
  76. package/dist/Stream.d.ts.map +1 -1
  77. package/dist/Stream.js +3 -3
  78. package/dist/Stream.js.map +1 -1
  79. package/dist/index.d.ts +258 -0
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +258 -0
  82. package/dist/index.js.map +1 -1
  83. package/dist/internal/dateTime.js +3 -11
  84. package/dist/internal/dateTime.js.map +1 -1
  85. package/dist/internal/effect.js +2 -2
  86. package/dist/internal/effect.js.map +1 -1
  87. package/dist/internal/random.d.ts +2 -0
  88. package/dist/internal/random.d.ts.map +1 -0
  89. package/dist/internal/random.js +13 -0
  90. package/dist/internal/random.js.map +1 -0
  91. package/dist/internal/rcRef.js +1 -1
  92. package/dist/internal/rcRef.js.map +1 -1
  93. package/dist/testing/TestClock.d.ts +4 -4
  94. package/dist/testing/TestClock.d.ts.map +1 -1
  95. package/dist/testing/TestClock.js +1 -1
  96. package/dist/testing/TestClock.js.map +1 -1
  97. package/dist/testing/TestSchema.d.ts +6 -6
  98. package/dist/testing/TestSchema.d.ts.map +1 -1
  99. package/dist/unstable/ai/AiError.d.ts +10 -10
  100. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  101. package/dist/unstable/ai/Chat.d.ts +3 -3
  102. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  103. package/dist/unstable/ai/Chat.js +2 -2
  104. package/dist/unstable/ai/Chat.js.map +1 -1
  105. package/dist/unstable/ai/LanguageModel.d.ts +2 -2
  106. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  107. package/dist/unstable/ai/McpServer.d.ts +1 -1
  108. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  109. package/dist/unstable/ai/McpServer.js.map +1 -1
  110. package/dist/unstable/ai/Prompt.d.ts +17 -17
  111. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  112. package/dist/unstable/ai/Response.d.ts +23 -23
  113. package/dist/unstable/ai/Response.d.ts.map +1 -1
  114. package/dist/unstable/ai/Response.js +1 -1
  115. package/dist/unstable/ai/Response.js.map +1 -1
  116. package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
  117. package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
  118. package/dist/unstable/cluster/ClusterCron.js +1 -1
  119. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  120. package/dist/unstable/cluster/Entity.d.ts +3 -3
  121. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  122. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  123. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  124. package/dist/unstable/cluster/K8sHttpClient.js +1 -1
  125. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  126. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  127. package/dist/unstable/cluster/Sharding.d.ts +2 -2
  128. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  129. package/dist/unstable/cluster/Sharding.js +1 -1
  130. package/dist/unstable/cluster/Sharding.js.map +1 -1
  131. package/dist/unstable/cluster/ShardingConfig.d.ts +21 -21
  132. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  133. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  134. package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
  135. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  136. package/dist/unstable/cluster/internal/entityManager.js +1 -1
  137. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  138. package/dist/unstable/encoding/Sse.d.ts +2 -2
  139. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  140. package/dist/unstable/encoding/Sse.js.map +1 -1
  141. package/dist/unstable/http/Cookies.d.ts +1 -1
  142. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  143. package/dist/unstable/http/Cookies.js +2 -2
  144. package/dist/unstable/http/Cookies.js.map +1 -1
  145. package/dist/unstable/http/HttpClient.d.ts +4 -4
  146. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  147. package/dist/unstable/http/HttpClientRequest.d.ts +11 -11
  148. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  149. package/dist/unstable/http/HttpClientRequest.js +8 -1
  150. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  151. package/dist/unstable/http/HttpMethod.d.ts +4 -4
  152. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  153. package/dist/unstable/http/HttpMethod.js +3 -3
  154. package/dist/unstable/http/HttpMethod.js.map +1 -1
  155. package/dist/unstable/observability/Otlp.d.ts +12 -12
  156. package/dist/unstable/observability/Otlp.d.ts.map +1 -1
  157. package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
  158. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  159. package/dist/unstable/observability/OtlpExporter.js +1 -1
  160. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  161. package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
  162. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  163. package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
  164. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  165. package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
  166. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  167. package/dist/unstable/persistence/Persistable.d.ts +2 -2
  168. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  169. package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
  170. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  171. package/dist/unstable/persistence/PersistedQueue.js +6 -6
  172. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  173. package/dist/unstable/persistence/Persistence.d.ts +1 -1
  174. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  175. package/dist/unstable/persistence/Persistence.js +2 -2
  176. package/dist/unstable/persistence/Persistence.js.map +1 -1
  177. package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
  178. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  179. package/dist/unstable/persistence/RateLimiter.js +1 -1
  180. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  181. package/dist/unstable/process/ChildProcess.d.ts +2 -2
  182. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  183. package/dist/unstable/reactivity/Atom.d.ts +6 -6
  184. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  185. package/dist/unstable/reactivity/Atom.js +3 -3
  186. package/dist/unstable/reactivity/Atom.js.map +1 -1
  187. package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
  188. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  189. package/dist/unstable/reactivity/AtomHttpApi.js +1 -1
  190. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  191. package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
  192. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  193. package/dist/unstable/reactivity/AtomRpc.js +1 -1
  194. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  195. package/dist/unstable/rpc/Rpc.d.ts +2 -2
  196. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  197. package/dist/unstable/rpc/RpcClient.d.ts +5 -26
  198. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  199. package/dist/unstable/rpc/RpcClient.js +3 -11
  200. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  201. package/dist/unstable/socket/Socket.d.ts +4 -4
  202. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  203. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  204. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  205. package/dist/unstable/sql/SqlModel.js +3 -3
  206. package/dist/unstable/sql/SqlModel.js.map +1 -1
  207. package/dist/unstable/sql/SqlSchema.d.ts +16 -5
  208. package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
  209. package/dist/unstable/sql/SqlSchema.js +17 -7
  210. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  211. package/dist/unstable/workflow/DurableClock.d.ts +3 -3
  212. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  213. package/dist/unstable/workflow/DurableClock.js +3 -3
  214. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  215. package/package.json +1 -1
  216. package/src/Cache.ts +3 -3
  217. package/src/Combiner.ts +280 -13
  218. package/src/Config.ts +3 -3
  219. package/src/DateTime.ts +24 -164
  220. package/src/Duration.ts +15 -15
  221. package/src/Effect.ts +15 -15
  222. package/src/Formatter.ts +252 -50
  223. package/src/JsonSchema.ts +383 -10
  224. package/src/LayerMap.ts +5 -5
  225. package/src/LogLevel.ts +31 -0
  226. package/src/Logger.ts +5 -5
  227. package/src/Metric.ts +4 -4
  228. package/src/Pool.ts +4 -4
  229. package/src/Random.ts +5 -14
  230. package/src/RcMap.ts +5 -5
  231. package/src/RcRef.ts +1 -1
  232. package/src/Reducer.ts +166 -7
  233. package/src/RequestResolver.ts +9 -9
  234. package/src/Schedule.ts +44 -25
  235. package/src/Schema.ts +4 -4
  236. package/src/ScopedCache.ts +3 -3
  237. package/src/Stream.ts +34 -34
  238. package/src/index.ts +258 -0
  239. package/src/internal/dateTime.ts +9 -30
  240. package/src/internal/effect.ts +21 -21
  241. package/src/internal/random.ts +20 -0
  242. package/src/internal/rcRef.ts +2 -2
  243. package/src/testing/TestClock.ts +5 -5
  244. package/src/testing/TestSchema.ts +8 -8
  245. package/src/unstable/ai/AiError.ts +1 -1
  246. package/src/unstable/ai/Chat.ts +10 -10
  247. package/src/unstable/ai/LanguageModel.ts +3 -3
  248. package/src/unstable/ai/McpServer.ts +2 -2
  249. package/src/unstable/ai/Prompt.ts +17 -17
  250. package/src/unstable/ai/Response.ts +23 -23
  251. package/src/unstable/cluster/ClusterCron.ts +2 -2
  252. package/src/unstable/cluster/Entity.ts +5 -5
  253. package/src/unstable/cluster/EntityResource.ts +4 -4
  254. package/src/unstable/cluster/K8sHttpClient.ts +1 -1
  255. package/src/unstable/cluster/MessageStorage.ts +1 -4
  256. package/src/unstable/cluster/Sharding.ts +3 -3
  257. package/src/unstable/cluster/ShardingConfig.ts +10 -11
  258. package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
  259. package/src/unstable/cluster/internal/entityManager.ts +3 -3
  260. package/src/unstable/encoding/Sse.ts +2 -4
  261. package/src/unstable/http/Cookies.ts +3 -3
  262. package/src/unstable/http/HttpClient.ts +4 -4
  263. package/src/unstable/http/HttpClientRequest.ts +15 -11
  264. package/src/unstable/http/HttpMethod.ts +16 -4
  265. package/src/unstable/observability/Otlp.ts +12 -12
  266. package/src/unstable/observability/OtlpExporter.ts +3 -3
  267. package/src/unstable/observability/OtlpLogger.ts +4 -4
  268. package/src/unstable/observability/OtlpMetrics.ts +4 -4
  269. package/src/unstable/observability/OtlpTracer.ts +4 -4
  270. package/src/unstable/persistence/Persistable.ts +2 -2
  271. package/src/unstable/persistence/PersistedQueue.ts +18 -18
  272. package/src/unstable/persistence/Persistence.ts +3 -3
  273. package/src/unstable/persistence/RateLimiter.ts +4 -4
  274. package/src/unstable/process/ChildProcess.ts +2 -2
  275. package/src/unstable/reactivity/Atom.ts +13 -13
  276. package/src/unstable/reactivity/AtomHttpApi.ts +3 -3
  277. package/src/unstable/reactivity/AtomRpc.ts +3 -3
  278. package/src/unstable/rpc/Rpc.ts +3 -3
  279. package/src/unstable/rpc/RpcClient.ts +8 -51
  280. package/src/unstable/socket/Socket.ts +4 -4
  281. package/src/unstable/sql/SqlModel.ts +5 -5
  282. package/src/unstable/sql/SqlSchema.ts +41 -25
  283. package/src/unstable/workflow/DurableClock.ts +8 -8
@@ -3,7 +3,7 @@
3
3
  * @category models
4
4
  */
5
5
  import type * as Cause from "../../Cause.ts"
6
- import type { DurationInput } from "../../Duration.ts"
6
+ import type { Input } from "../../Duration.ts"
7
7
  import * as Effect from "../../Effect.ts"
8
8
  import { identity } from "../../Function.ts"
9
9
  import * as RequestResolver from "../../RequestResolver.ts"
@@ -69,7 +69,7 @@ export const makeRepository = <
69
69
  const idSchema = Model.fields[options.idColumn] as Schema.Top
70
70
  const idColumn = options.idColumn as string
71
71
 
72
- const insertSchema = SqlSchema.single({
72
+ const insertSchema = SqlSchema.findOne({
73
73
  Request: Model.insert,
74
74
  Result: Model,
75
75
  execute: (request) =>
@@ -107,7 +107,7 @@ select * from ${sql(options.tableName)} where ${sql(idColumn)} = LAST_INSERT_ID(
107
107
  })
108
108
  ) as any
109
109
 
110
- const updateSchema = SqlSchema.single({
110
+ const updateSchema = SqlSchema.findOne({
111
111
  Request: Model.update,
112
112
  Result: Model,
113
113
  execute: (request: any) =>
@@ -159,7 +159,7 @@ select * from ${sql(options.tableName)} where ${sql(idColumn)} = ${request[idCol
159
159
  })
160
160
  ) as any
161
161
 
162
- const findByIdSchema = SqlSchema.single({
162
+ const findByIdSchema = SqlSchema.findOne({
163
163
  Request: idSchema,
164
164
  Result: Model,
165
165
  execute: (id: any) => sql`select * from ${sql(options.tableName)} where ${sql(idColumn)} = ${id}`
@@ -210,7 +210,7 @@ export const makeDataLoaders = <
210
210
  readonly tableName: string
211
211
  readonly spanPrefix: string
212
212
  readonly idColumn: Id
213
- readonly window: DurationInput
213
+ readonly window: Input
214
214
  readonly maxBatchSize?: number | undefined
215
215
  }
216
216
  ): Effect.Effect<
@@ -13,7 +13,7 @@ import * as Schema from "../../Schema.ts"
13
13
  * @since 4.0.0
14
14
  * @category constructor
15
15
  */
16
- export const findMany = <Req extends Schema.Top, Res extends Schema.Top, E, R>(
16
+ export const findAll = <Req extends Schema.Top, Res extends Schema.Top, E, R>(
17
17
  options: {
18
18
  readonly Request: Req
19
19
  readonly Result: Res
@@ -21,7 +21,30 @@ export const findMany = <Req extends Schema.Top, Res extends Schema.Top, E, R>(
21
21
  }
22
22
  ) => {
23
23
  const encodeRequest = Schema.encodeEffect(options.Request)
24
- const decode = Schema.decodeUnknownEffect(Schema.Array(options.Result))
24
+ const decode = Schema.decodeUnknownEffect(Schema.mutable(Schema.Array(options.Result)))
25
+ return (
26
+ request: Req["Encoded"]
27
+ ): Effect.Effect<
28
+ Array<Res["Type"]>,
29
+ E | Schema.SchemaError,
30
+ Req["EncodingServices"] | Res["DecodingServices"] | R
31
+ > => Effect.flatMap(Effect.flatMap(encodeRequest(request), options.execute), decode)
32
+ }
33
+
34
+ /**
35
+ * Run a sql query with a request schema and a result schema.
36
+ *
37
+ * @since 4.0.0
38
+ * @category constructor
39
+ */
40
+ export const findNonEmpty = <Req extends Schema.Top, Res extends Schema.Top, E, R>(
41
+ options: {
42
+ readonly Request: Req
43
+ readonly Result: Res
44
+ readonly execute: (request: Req["Encoded"]) => Effect.Effect<ReadonlyArray<unknown>, E, R>
45
+ }
46
+ ) => {
47
+ const find = findAll(options)
25
48
  return (
26
49
  request: Req["Encoded"]
27
50
  ): Effect.Effect<
@@ -29,17 +52,10 @@ export const findMany = <Req extends Schema.Top, Res extends Schema.Top, E, R>(
29
52
  E | Schema.SchemaError | Cause.NoSuchElementError,
30
53
  Req["EncodingServices"] | Res["DecodingServices"] | R
31
54
  > =>
32
- Effect.flatMap(
33
- Effect.flatMap(encodeRequest(request), options.execute),
34
- (results): Effect.Effect<
35
- Arr.NonEmptyArray<Res["Type"]>,
36
- Schema.SchemaError | Cause.NoSuchElementError,
37
- Req["EncodingServices"] | Res["DecodingServices"]
38
- > =>
39
- Arr.isReadonlyArrayNonEmpty(results)
40
- ? decode(results) as Effect.Effect<Arr.NonEmptyArray<Res["Type"]>, Schema.SchemaError>
41
- : Effect.fail(new Cause.NoSuchElementError())
42
- )
55
+ Effect.flatMap(find(request), (results) =>
56
+ Arr.isArrayNonEmpty(results)
57
+ ? Effect.succeed(results)
58
+ : Effect.fail(new Cause.NoSuchElementError()))
43
59
  }
44
60
 
45
61
  const void_ = <Req extends Schema.Top, E, R>(
@@ -65,7 +81,7 @@ export {
65
81
  }
66
82
 
67
83
  /**
68
- * Run a sql query with a request schema and a result schema and return the first result, if any.
84
+ * Run a sql query with a request schema and a result schema and return the first result.
69
85
  *
70
86
  * @since 4.0.0
71
87
  * @category constructor
@@ -82,17 +98,17 @@ export const findOne = <Req extends Schema.Top, Res extends Schema.Top, E, R>(
82
98
  return (
83
99
  request: Req["Type"]
84
100
  ): Effect.Effect<
85
- Option.Option<Res["Type"]>,
86
- E | Schema.SchemaError,
101
+ Res["Type"],
102
+ E | Schema.SchemaError | Cause.NoSuchElementError,
87
103
  R | Req["EncodingServices"] | Res["DecodingServices"]
88
104
  > =>
89
105
  Effect.flatMap(
90
106
  Effect.flatMap(encodeRequest(request), options.execute),
91
107
  (arr): Effect.Effect<
92
- Option.Option<Res["Type"]>,
93
- Schema.SchemaError,
108
+ Res["Type"],
109
+ Schema.SchemaError | Cause.NoSuchElementError,
94
110
  Req["EncodingServices"] | Res["DecodingServices"]
95
- > => Arr.isReadonlyArrayNonEmpty(arr) ? Effect.asSome(decode(arr[0])) : Effect.succeedNone
111
+ > => Arr.isReadonlyArrayNonEmpty(arr) ? decode(arr[0]) : Effect.fail(new Cause.NoSuchElementError())
96
112
  )
97
113
  }
98
114
 
@@ -102,7 +118,7 @@ export const findOne = <Req extends Schema.Top, Res extends Schema.Top, E, R>(
102
118
  * @since 4.0.0
103
119
  * @category constructor
104
120
  */
105
- export const single = <Req extends Schema.Top, Res extends Schema.Top, E, R>(
121
+ export const findOneOption = <Req extends Schema.Top, Res extends Schema.Top, E, R>(
106
122
  options: {
107
123
  readonly Request: Req
108
124
  readonly Result: Res
@@ -114,16 +130,16 @@ export const single = <Req extends Schema.Top, Res extends Schema.Top, E, R>(
114
130
  return (
115
131
  request: Req["Type"]
116
132
  ): Effect.Effect<
117
- Res["Type"],
118
- E | Schema.SchemaError | Cause.NoSuchElementError,
133
+ Option.Option<Res["Type"]>,
134
+ E | Schema.SchemaError,
119
135
  R | Req["EncodingServices"] | Res["DecodingServices"]
120
136
  > =>
121
137
  Effect.flatMap(
122
138
  Effect.flatMap(encodeRequest(request), options.execute),
123
139
  (arr): Effect.Effect<
124
- Res["Type"],
125
- Schema.SchemaError | Cause.NoSuchElementError,
140
+ Option.Option<Res["Type"]>,
141
+ Schema.SchemaError,
126
142
  Req["EncodingServices"] | Res["DecodingServices"]
127
- > => Arr.isReadonlyArrayNonEmpty(arr) ? decode(arr[0]) : Effect.fail(new Cause.NoSuchElementError())
143
+ > => Arr.isReadonlyArrayNonEmpty(arr) ? Effect.asSome(decode(arr[0])) : Effect.succeedNone
128
144
  )
129
145
  }
@@ -28,11 +28,11 @@ export interface DurableClock {
28
28
  */
29
29
  export const make = (options: {
30
30
  readonly name: string
31
- readonly duration: Duration.DurationInput
31
+ readonly duration: Duration.Input
32
32
  }): DurableClock => ({
33
33
  [TypeId]: TypeId,
34
34
  name: options.name,
35
- duration: Duration.fromDurationInputUnsafe(options.duration),
35
+ duration: Duration.fromInputUnsafe(options.duration),
36
36
  deferred: DurableDeferred.make(`DurableClock/${options.name}`)
37
37
  })
38
38
 
@@ -54,14 +54,14 @@ const InstanceTag = ServiceMap.Service<
54
54
  export const sleep: (
55
55
  options: {
56
56
  readonly name: string
57
- readonly duration: Duration.DurationInput
57
+ readonly duration: Duration.Input
58
58
  /**
59
59
  * If the duration is less than or equal to this threshold, the clock will
60
60
  * be executed in memory.
61
61
  *
62
62
  * Defaults to 60 seconds.
63
63
  */
64
- readonly inMemoryThreshold?: Duration.DurationInput | undefined
64
+ readonly inMemoryThreshold?: Duration.Input | undefined
65
65
  }
66
66
  ) => Effect.Effect<
67
67
  void,
@@ -69,16 +69,16 @@ export const sleep: (
69
69
  WorkflowEngine | WorkflowInstance
70
70
  > = Effect.fnUntraced(function*(options: {
71
71
  readonly name: string
72
- readonly duration: Duration.DurationInput
73
- readonly inMemoryThreshold?: Duration.DurationInput | undefined
72
+ readonly duration: Duration.Input
73
+ readonly inMemoryThreshold?: Duration.Input | undefined
74
74
  }) {
75
- const duration = Duration.fromDurationInputUnsafe(options.duration)
75
+ const duration = Duration.fromInputUnsafe(options.duration)
76
76
  if (Duration.isZero(duration)) {
77
77
  return
78
78
  }
79
79
 
80
80
  const inMemoryThreshold = options.inMemoryThreshold
81
- ? Duration.fromDurationInputUnsafe(options.inMemoryThreshold)
81
+ ? Duration.fromInputUnsafe(options.inMemoryThreshold)
82
82
  : defaultInMemoryThreshold
83
83
 
84
84
  if (Duration.isLessThanOrEqualTo(duration, inMemoryThreshold)) {