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.
- package/dist/Cache.d.ts +2 -2
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +1 -1
- package/dist/Cache.js.map +1 -1
- package/dist/Combiner.d.ts +280 -13
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +198 -7
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +2 -2
- package/dist/Config.js +3 -3
- package/dist/Config.js.map +1 -1
- package/dist/DateTime.d.ts +23 -161
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +6 -51
- package/dist/DateTime.js.map +1 -1
- package/dist/Duration.d.ts +12 -12
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +12 -12
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +13 -13
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +1 -1
- package/dist/Effect.js.map +1 -1
- package/dist/Formatter.d.ts +131 -47
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +228 -50
- package/dist/Formatter.js.map +1 -1
- package/dist/JsonSchema.d.ts +299 -10
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +323 -4
- package/dist/JsonSchema.js.map +1 -1
- package/dist/LayerMap.d.ts +4 -4
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LogLevel.d.ts +27 -0
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +28 -100
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +4 -4
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Metric.d.ts +2 -2
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +1 -1
- package/dist/Metric.js.map +1 -1
- package/dist/Pool.d.ts +1 -1
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +1 -1
- package/dist/Pool.js.map +1 -1
- package/dist/Random.d.ts +1 -1
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +3 -12
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +2 -2
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +1 -1
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +1 -1
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/Reducer.d.ts +166 -7
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +135 -1
- package/dist/Reducer.js.map +1 -1
- package/dist/RequestResolver.d.ts +6 -6
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Schedule.d.ts +20 -11
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +23 -9
- package/dist/Schedule.js.map +1 -1
- package/dist/Schema.d.ts +4 -4
- package/dist/Schema.d.ts.map +1 -1
- package/dist/ScopedCache.d.ts +2 -2
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +1 -1
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Stream.d.ts +19 -19
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +3 -3
- package/dist/Stream.js.map +1 -1
- package/dist/index.d.ts +258 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +258 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/dateTime.js +3 -11
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +2 -2
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/random.d.ts +2 -0
- package/dist/internal/random.d.ts.map +1 -0
- package/dist/internal/random.js +13 -0
- package/dist/internal/random.js.map +1 -0
- package/dist/internal/rcRef.js +1 -1
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/testing/TestClock.d.ts +4 -4
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +1 -1
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +6 -6
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +10 -10
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +3 -3
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +2 -2
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +2 -2
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +1 -1
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +17 -17
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Response.d.ts +23 -23
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +1 -1
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +3 -3
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +2 -2
- package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +2 -2
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +1 -1
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +21 -21
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +1 -1
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/encoding/Sse.d.ts +2 -2
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/http/Cookies.d.ts +1 -1
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +2 -2
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +4 -4
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts +11 -11
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +8 -1
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts +4 -4
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.js +3 -3
- package/dist/unstable/http/HttpMethod.js.map +1 -1
- package/dist/unstable/observability/Otlp.d.ts +12 -12
- package/dist/unstable/observability/Otlp.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +1 -1
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
- package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +2 -2
- package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +6 -6
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +1 -1
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +2 -2
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +1 -1
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +2 -2
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +6 -6
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +3 -3
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +1 -1
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +2 -2
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +5 -26
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +3 -11
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +4 -4
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/SqlModel.js +3 -3
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts +16 -5
- package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.js +17 -7
- package/dist/unstable/sql/SqlSchema.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +3 -3
- package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableClock.js +3 -3
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/package.json +1 -1
- package/src/Cache.ts +3 -3
- package/src/Combiner.ts +280 -13
- package/src/Config.ts +3 -3
- package/src/DateTime.ts +24 -164
- package/src/Duration.ts +15 -15
- package/src/Effect.ts +15 -15
- package/src/Formatter.ts +252 -50
- package/src/JsonSchema.ts +383 -10
- package/src/LayerMap.ts +5 -5
- package/src/LogLevel.ts +31 -0
- package/src/Logger.ts +5 -5
- package/src/Metric.ts +4 -4
- package/src/Pool.ts +4 -4
- package/src/Random.ts +5 -14
- package/src/RcMap.ts +5 -5
- package/src/RcRef.ts +1 -1
- package/src/Reducer.ts +166 -7
- package/src/RequestResolver.ts +9 -9
- package/src/Schedule.ts +44 -25
- package/src/Schema.ts +4 -4
- package/src/ScopedCache.ts +3 -3
- package/src/Stream.ts +34 -34
- package/src/index.ts +258 -0
- package/src/internal/dateTime.ts +9 -30
- package/src/internal/effect.ts +21 -21
- package/src/internal/random.ts +20 -0
- package/src/internal/rcRef.ts +2 -2
- package/src/testing/TestClock.ts +5 -5
- package/src/testing/TestSchema.ts +8 -8
- package/src/unstable/ai/AiError.ts +1 -1
- package/src/unstable/ai/Chat.ts +10 -10
- package/src/unstable/ai/LanguageModel.ts +3 -3
- package/src/unstable/ai/McpServer.ts +2 -2
- package/src/unstable/ai/Prompt.ts +17 -17
- package/src/unstable/ai/Response.ts +23 -23
- package/src/unstable/cluster/ClusterCron.ts +2 -2
- package/src/unstable/cluster/Entity.ts +5 -5
- package/src/unstable/cluster/EntityResource.ts +4 -4
- package/src/unstable/cluster/K8sHttpClient.ts +1 -1
- package/src/unstable/cluster/MessageStorage.ts +1 -4
- package/src/unstable/cluster/Sharding.ts +3 -3
- package/src/unstable/cluster/ShardingConfig.ts +10 -11
- package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
- package/src/unstable/cluster/internal/entityManager.ts +3 -3
- package/src/unstable/encoding/Sse.ts +2 -4
- package/src/unstable/http/Cookies.ts +3 -3
- package/src/unstable/http/HttpClient.ts +4 -4
- package/src/unstable/http/HttpClientRequest.ts +15 -11
- package/src/unstable/http/HttpMethod.ts +16 -4
- package/src/unstable/observability/Otlp.ts +12 -12
- package/src/unstable/observability/OtlpExporter.ts +3 -3
- package/src/unstable/observability/OtlpLogger.ts +4 -4
- package/src/unstable/observability/OtlpMetrics.ts +4 -4
- package/src/unstable/observability/OtlpTracer.ts +4 -4
- package/src/unstable/persistence/Persistable.ts +2 -2
- package/src/unstable/persistence/PersistedQueue.ts +18 -18
- package/src/unstable/persistence/Persistence.ts +3 -3
- package/src/unstable/persistence/RateLimiter.ts +4 -4
- package/src/unstable/process/ChildProcess.ts +2 -2
- package/src/unstable/reactivity/Atom.ts +13 -13
- package/src/unstable/reactivity/AtomHttpApi.ts +3 -3
- package/src/unstable/reactivity/AtomRpc.ts +3 -3
- package/src/unstable/rpc/Rpc.ts +3 -3
- package/src/unstable/rpc/RpcClient.ts +8 -51
- package/src/unstable/socket/Socket.ts +4 -4
- package/src/unstable/sql/SqlModel.ts +5 -5
- package/src/unstable/sql/SqlSchema.ts +41 -25
- 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 {
|
|
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.
|
|
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.
|
|
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.
|
|
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:
|
|
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
|
|
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
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
93
|
-
Schema.SchemaError,
|
|
108
|
+
Res["Type"],
|
|
109
|
+
Schema.SchemaError | Cause.NoSuchElementError,
|
|
94
110
|
Req["EncodingServices"] | Res["DecodingServices"]
|
|
95
|
-
> => Arr.isReadonlyArrayNonEmpty(arr) ?
|
|
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
|
|
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
|
|
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
|
|
140
|
+
Option.Option<Res["Type"]>,
|
|
141
|
+
Schema.SchemaError,
|
|
126
142
|
Req["EncodingServices"] | Res["DecodingServices"]
|
|
127
|
-
> => Arr.isReadonlyArrayNonEmpty(arr) ? decode(arr[0]) : Effect.
|
|
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.
|
|
31
|
+
readonly duration: Duration.Input
|
|
32
32
|
}): DurableClock => ({
|
|
33
33
|
[TypeId]: TypeId,
|
|
34
34
|
name: options.name,
|
|
35
|
-
duration: 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.
|
|
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.
|
|
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.
|
|
73
|
-
readonly inMemoryThreshold?: Duration.
|
|
72
|
+
readonly duration: Duration.Input
|
|
73
|
+
readonly inMemoryThreshold?: Duration.Input | undefined
|
|
74
74
|
}) {
|
|
75
|
-
const duration = 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.
|
|
81
|
+
? Duration.fromInputUnsafe(options.inMemoryThreshold)
|
|
82
82
|
: defaultInMemoryThreshold
|
|
83
83
|
|
|
84
84
|
if (Duration.isLessThanOrEqualTo(duration, inMemoryThreshold)) {
|