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
|
@@ -28,13 +28,13 @@ export const layer = (options: {
|
|
|
28
28
|
readonly headers?: Headers.Input | undefined
|
|
29
29
|
readonly maxBatchSize?: number | undefined
|
|
30
30
|
readonly tracerContext?: (<X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X) | undefined
|
|
31
|
-
readonly loggerExportInterval?: Duration.
|
|
31
|
+
readonly loggerExportInterval?: Duration.Input | undefined
|
|
32
32
|
readonly loggerExcludeLogSpans?: boolean | undefined
|
|
33
33
|
readonly loggerMergeWithExisting?: boolean | undefined
|
|
34
|
-
readonly metricsExportInterval?: Duration.
|
|
34
|
+
readonly metricsExportInterval?: Duration.Input | undefined
|
|
35
35
|
readonly metricsTemporality?: AggregationTemporality | undefined
|
|
36
|
-
readonly tracerExportInterval?: Duration.
|
|
37
|
-
readonly shutdownTimeout?: Duration.
|
|
36
|
+
readonly tracerExportInterval?: Duration.Input | undefined
|
|
37
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
38
38
|
}): Layer.Layer<never, never, HttpClient.HttpClient | OtlpSerialization.OtlpSerialization> => {
|
|
39
39
|
const base = HttpClientRequest.get(options.baseUrl)
|
|
40
40
|
const url = (path: string) => HttpClientRequest.appendUrl(base, path).url
|
|
@@ -83,13 +83,13 @@ export const layerJson: (options: {
|
|
|
83
83
|
readonly headers?: Headers.Input | undefined
|
|
84
84
|
readonly maxBatchSize?: number | undefined
|
|
85
85
|
readonly tracerContext?: (<X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X) | undefined
|
|
86
|
-
readonly loggerExportInterval?: Duration.
|
|
86
|
+
readonly loggerExportInterval?: Duration.Input | undefined
|
|
87
87
|
readonly loggerExcludeLogSpans?: boolean | undefined
|
|
88
88
|
readonly loggerMergeWithExisting?: boolean | undefined
|
|
89
|
-
readonly metricsExportInterval?: Duration.
|
|
89
|
+
readonly metricsExportInterval?: Duration.Input | undefined
|
|
90
90
|
readonly metricsTemporality?: AggregationTemporality | undefined
|
|
91
|
-
readonly tracerExportInterval?: Duration.
|
|
92
|
-
readonly shutdownTimeout?: Duration.
|
|
91
|
+
readonly tracerExportInterval?: Duration.Input | undefined
|
|
92
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
93
93
|
}) => Layer.Layer<never, never, HttpClient.HttpClient> = flow(layer, Layer.provide(OtlpSerialization.layerJson))
|
|
94
94
|
|
|
95
95
|
/**
|
|
@@ -106,11 +106,11 @@ export const layerProtobuf: (options: {
|
|
|
106
106
|
readonly headers?: Headers.Input | undefined
|
|
107
107
|
readonly maxBatchSize?: number | undefined
|
|
108
108
|
readonly tracerContext?: (<X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X) | undefined
|
|
109
|
-
readonly loggerExportInterval?: Duration.
|
|
109
|
+
readonly loggerExportInterval?: Duration.Input | undefined
|
|
110
110
|
readonly loggerExcludeLogSpans?: boolean | undefined
|
|
111
111
|
readonly loggerMergeWithExisting?: boolean | undefined
|
|
112
|
-
readonly metricsExportInterval?: Duration.
|
|
112
|
+
readonly metricsExportInterval?: Duration.Input | undefined
|
|
113
113
|
readonly metricsTemporality?: AggregationTemporality | undefined
|
|
114
|
-
readonly tracerExportInterval?: Duration.
|
|
115
|
-
readonly shutdownTimeout?: Duration.
|
|
114
|
+
readonly tracerExportInterval?: Duration.Input | undefined
|
|
115
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
116
116
|
}) => Layer.Layer<never, never, HttpClient.HttpClient> = flow(layer, Layer.provide(OtlpSerialization.layerProtobuf))
|
|
@@ -40,10 +40,10 @@ export const make: (
|
|
|
40
40
|
readonly url: string
|
|
41
41
|
readonly headers: Headers.Input | undefined
|
|
42
42
|
readonly label: string
|
|
43
|
-
readonly exportInterval: Duration.
|
|
43
|
+
readonly exportInterval: Duration.Input
|
|
44
44
|
readonly maxBatchSize: number | "disabled"
|
|
45
45
|
readonly body: (data: Array<any>) => HttpBody
|
|
46
|
-
readonly shutdownTimeout: Duration.
|
|
46
|
+
readonly shutdownTimeout: Duration.Input
|
|
47
47
|
}
|
|
48
48
|
) => Effect.Effect<
|
|
49
49
|
{ readonly push: (data: unknown) => void },
|
|
@@ -54,7 +54,7 @@ export const make: (
|
|
|
54
54
|
const clock = ServiceMap.get(services, Clock)
|
|
55
55
|
const scope = ServiceMap.get(services, Scope.Scope)
|
|
56
56
|
const runFork = Effect.runForkWith(services)
|
|
57
|
-
const exportInterval = Duration.max(Duration.
|
|
57
|
+
const exportInterval = Duration.max(Duration.fromInputUnsafe(options.exportInterval), Duration.zero)
|
|
58
58
|
let disabledUntil: number | undefined = undefined
|
|
59
59
|
|
|
60
60
|
const client = HttpClient.filterStatusOk(ServiceMap.get(services, HttpClient.HttpClient)).pipe(
|
|
@@ -30,9 +30,9 @@ export const make: (
|
|
|
30
30
|
readonly attributes?: Record<string, unknown>
|
|
31
31
|
} | undefined
|
|
32
32
|
readonly headers?: Headers.Input | undefined
|
|
33
|
-
readonly exportInterval?: Duration.
|
|
33
|
+
readonly exportInterval?: Duration.Input | undefined
|
|
34
34
|
readonly maxBatchSize?: number | undefined
|
|
35
|
-
readonly shutdownTimeout?: Duration.
|
|
35
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
36
36
|
readonly excludeLogSpans?: boolean | undefined
|
|
37
37
|
}
|
|
38
38
|
) => Effect.Effect<
|
|
@@ -85,9 +85,9 @@ export const layer = (options: {
|
|
|
85
85
|
readonly attributes?: Record<string, unknown>
|
|
86
86
|
} | undefined
|
|
87
87
|
readonly headers?: Headers.Input | undefined
|
|
88
|
-
readonly exportInterval?: Duration.
|
|
88
|
+
readonly exportInterval?: Duration.Input | undefined
|
|
89
89
|
readonly maxBatchSize?: number | undefined
|
|
90
|
-
readonly shutdownTimeout?: Duration.
|
|
90
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
91
91
|
readonly excludeLogSpans?: boolean | undefined
|
|
92
92
|
readonly mergeWithExisting?: boolean | undefined
|
|
93
93
|
}): Layer.Layer<never, never, HttpClient.HttpClient | OtlpSerialization> =>
|
|
@@ -60,8 +60,8 @@ export const make: (options: {
|
|
|
60
60
|
readonly attributes?: Record<string, unknown>
|
|
61
61
|
} | undefined
|
|
62
62
|
readonly headers?: Headers.Input | undefined
|
|
63
|
-
readonly exportInterval?: Duration.
|
|
64
|
-
readonly shutdownTimeout?: Duration.
|
|
63
|
+
readonly exportInterval?: Duration.Input | undefined
|
|
64
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
65
65
|
readonly temporality?: AggregationTemporality | undefined
|
|
66
66
|
}) => Effect.Effect<
|
|
67
67
|
void,
|
|
@@ -440,8 +440,8 @@ export const layer = (options: {
|
|
|
440
440
|
readonly attributes?: Record<string, unknown>
|
|
441
441
|
} | undefined
|
|
442
442
|
readonly headers?: Headers.Input | undefined
|
|
443
|
-
readonly exportInterval?: Duration.
|
|
444
|
-
readonly shutdownTimeout?: Duration.
|
|
443
|
+
readonly exportInterval?: Duration.Input | undefined
|
|
444
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
445
445
|
readonly temporality?: AggregationTemporality | undefined
|
|
446
446
|
}): Layer.Layer<never, never, HttpClient.HttpClient | OtlpSerialization> => Layer.effectDiscard(make(options))
|
|
447
447
|
|
|
@@ -32,10 +32,10 @@ export const make: (
|
|
|
32
32
|
readonly attributes?: Record<string, unknown>
|
|
33
33
|
} | undefined
|
|
34
34
|
readonly headers?: Headers.Input | undefined
|
|
35
|
-
readonly exportInterval?: Duration.
|
|
35
|
+
readonly exportInterval?: Duration.Input | undefined
|
|
36
36
|
readonly maxBatchSize?: number | undefined
|
|
37
37
|
readonly context?: (<X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X) | undefined
|
|
38
|
-
readonly shutdownTimeout?: Duration.
|
|
38
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
39
39
|
}
|
|
40
40
|
) => Effect.Effect<
|
|
41
41
|
Tracer.Tracer,
|
|
@@ -109,10 +109,10 @@ export const layer: (options: {
|
|
|
109
109
|
readonly attributes?: Record<string, unknown>
|
|
110
110
|
} | undefined
|
|
111
111
|
readonly headers?: Headers.Input | undefined
|
|
112
|
-
readonly exportInterval?: Duration.
|
|
112
|
+
readonly exportInterval?: Duration.Input | undefined
|
|
113
113
|
readonly maxBatchSize?: number | undefined
|
|
114
114
|
readonly context?: (<X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X) | undefined
|
|
115
|
-
readonly shutdownTimeout?: Duration.
|
|
115
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
116
116
|
}) => Layer.Layer<never, never, OtlpSerialization | HttpClient.HttpClient> = flow(make, Layer.effect(Tracer.Tracer))
|
|
117
117
|
|
|
118
118
|
// internal
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
|
-
import type
|
|
4
|
+
import type * as Duration from "../../Duration.ts"
|
|
5
5
|
import type * as Effect from "../../Effect.ts"
|
|
6
6
|
import type * as Exit from "../../Exit.ts"
|
|
7
7
|
import * as PrimaryKey from "../../PrimaryKey.ts"
|
|
@@ -87,7 +87,7 @@ export type Services<A extends Any> =
|
|
|
87
87
|
* @since 4.0.0
|
|
88
88
|
* @category Models
|
|
89
89
|
*/
|
|
90
|
-
export type TimeToLiveFn<K extends Any> = (exit: Exit.Exit<Success<K>, Error<K>>, request: K) =>
|
|
90
|
+
export type TimeToLiveFn<K extends Any> = (exit: Exit.Exit<Success<K>, Error<K>>, request: K) => Duration.Input
|
|
91
91
|
|
|
92
92
|
/**
|
|
93
93
|
* @since 4.0.0
|
|
@@ -295,26 +295,26 @@ export const layerStoreMemory: Layer.Layer<
|
|
|
295
295
|
export const makeStoreRedis = Effect.fnUntraced(function*(
|
|
296
296
|
options?: {
|
|
297
297
|
readonly prefix?: string | undefined
|
|
298
|
-
readonly pollInterval?: Duration.
|
|
299
|
-
readonly lockRefreshInterval?: Duration.
|
|
300
|
-
readonly lockExpiration?: Duration.
|
|
298
|
+
readonly pollInterval?: Duration.Input | undefined
|
|
299
|
+
readonly lockRefreshInterval?: Duration.Input | undefined
|
|
300
|
+
readonly lockExpiration?: Duration.Input | undefined
|
|
301
301
|
}
|
|
302
302
|
) {
|
|
303
303
|
const redis = yield* Redis.Redis
|
|
304
304
|
|
|
305
305
|
const pollInterval = Duration.max(
|
|
306
|
-
options?.pollInterval ? Duration.
|
|
306
|
+
options?.pollInterval ? Duration.fromInputUnsafe(options.pollInterval) : Duration.seconds(1),
|
|
307
307
|
Duration.millis(1)
|
|
308
308
|
)
|
|
309
309
|
const lockRefreshMillis = Math.max(
|
|
310
310
|
options?.lockRefreshInterval
|
|
311
|
-
? Duration.toMillis(Duration.
|
|
311
|
+
? Duration.toMillis(Duration.fromInputUnsafe(options.lockRefreshInterval))
|
|
312
312
|
: 30_000,
|
|
313
313
|
1
|
|
314
314
|
)
|
|
315
315
|
const lockExpirationMillis = Math.max(
|
|
316
316
|
options?.lockExpiration
|
|
317
|
-
? Duration.toMillis(Duration.
|
|
317
|
+
? Duration.toMillis(Duration.fromInputUnsafe(options.lockExpiration))
|
|
318
318
|
: 90_000,
|
|
319
319
|
1
|
|
320
320
|
)
|
|
@@ -654,9 +654,9 @@ end
|
|
|
654
654
|
export const layerStoreRedis: (
|
|
655
655
|
options?: {
|
|
656
656
|
readonly prefix?: string | undefined
|
|
657
|
-
readonly pollInterval?: Duration.
|
|
658
|
-
readonly lockRefreshInterval?: Duration.
|
|
659
|
-
readonly lockExpiration?: Duration.
|
|
657
|
+
readonly pollInterval?: Duration.Input | undefined
|
|
658
|
+
readonly lockRefreshInterval?: Duration.Input | undefined
|
|
659
|
+
readonly lockExpiration?: Duration.Input | undefined
|
|
660
660
|
} | undefined
|
|
661
661
|
) => Layer.Layer<
|
|
662
662
|
PersistedQueueStore,
|
|
@@ -671,9 +671,9 @@ export const layerStoreRedis: (
|
|
|
671
671
|
export const makeStoreSql: (
|
|
672
672
|
options?: {
|
|
673
673
|
readonly tableName?: string | undefined
|
|
674
|
-
readonly pollInterval?: Duration.
|
|
675
|
-
readonly lockRefreshInterval?: Duration.
|
|
676
|
-
readonly lockExpiration?: Duration.
|
|
674
|
+
readonly pollInterval?: Duration.Input | undefined
|
|
675
|
+
readonly lockRefreshInterval?: Duration.Input | undefined
|
|
676
|
+
readonly lockExpiration?: Duration.Input | undefined
|
|
677
677
|
} | undefined
|
|
678
678
|
) => Effect.Effect<
|
|
679
679
|
PersistedQueueStore["Service"],
|
|
@@ -684,15 +684,15 @@ export const makeStoreSql: (
|
|
|
684
684
|
const tableName = options?.tableName ?? "effect_queue"
|
|
685
685
|
const tableNameSql = sql(tableName)
|
|
686
686
|
const pollInterval = Duration.max(
|
|
687
|
-
options?.pollInterval ? Duration.
|
|
687
|
+
options?.pollInterval ? Duration.fromInputUnsafe(options.pollInterval) : Duration.millis(1000),
|
|
688
688
|
Duration.millis(1)
|
|
689
689
|
)
|
|
690
690
|
const lockRefreshInterval = Duration.max(
|
|
691
|
-
options?.lockRefreshInterval ? Duration.
|
|
691
|
+
options?.lockRefreshInterval ? Duration.fromInputUnsafe(options.lockRefreshInterval) : Duration.seconds(30),
|
|
692
692
|
Duration.millis(1)
|
|
693
693
|
)
|
|
694
694
|
const lockExpiration = Duration.max(
|
|
695
|
-
options?.lockExpiration ? Duration.
|
|
695
|
+
options?.lockExpiration ? Duration.fromInputUnsafe(options.lockExpiration) : Duration.minutes(2),
|
|
696
696
|
Duration.millis(1)
|
|
697
697
|
)
|
|
698
698
|
const lockExpirationSql = sql.literal(Math.ceil(Duration.toSeconds(lockExpiration)).toString())
|
|
@@ -1099,9 +1099,9 @@ class QueueKey extends Data.Class<{
|
|
|
1099
1099
|
export const layerStoreSql: (
|
|
1100
1100
|
options?: {
|
|
1101
1101
|
readonly tableName?: string | undefined
|
|
1102
|
-
readonly pollInterval?: Duration.
|
|
1103
|
-
readonly lockRefreshInterval?: Duration.
|
|
1104
|
-
readonly lockExpiration?: Duration.
|
|
1102
|
+
readonly pollInterval?: Duration.Input | undefined
|
|
1103
|
+
readonly lockRefreshInterval?: Duration.Input | undefined
|
|
1104
|
+
readonly lockExpiration?: Duration.Input | undefined
|
|
1105
1105
|
} | undefined
|
|
1106
1106
|
) => Layer.Layer<
|
|
1107
1107
|
PersistedQueueStore,
|
|
@@ -42,7 +42,7 @@ export class PersistenceError extends Schema.ErrorClass(ErrorTypeId)({
|
|
|
42
42
|
export class Persistence extends ServiceMap.Service<Persistence, {
|
|
43
43
|
readonly make: (options: {
|
|
44
44
|
readonly storeId: string
|
|
45
|
-
readonly timeToLive?: (exit: Exit.Exit<unknown, unknown>, key: Persistable.Any) => Duration.
|
|
45
|
+
readonly timeToLive?: (exit: Exit.Exit<unknown, unknown>, key: Persistable.Any) => Duration.Input
|
|
46
46
|
}) => Effect.Effect<PersistenceStore, never, Scope.Scope>
|
|
47
47
|
}>()("effect/persistence/Persistence") {}
|
|
48
48
|
|
|
@@ -169,7 +169,7 @@ export const layer = Layer.effect(Persistence)(Effect.gen(function*() {
|
|
|
169
169
|
return out
|
|
170
170
|
}),
|
|
171
171
|
set(key, value) {
|
|
172
|
-
const ttl = Duration.
|
|
172
|
+
const ttl = Duration.fromInputUnsafe(timeToLive(value, key))
|
|
173
173
|
if (Duration.isZero(ttl) || Duration.isNegative(ttl)) return Effect.void
|
|
174
174
|
return Persistable.serializeExit(key, value).pipe(
|
|
175
175
|
Effect.flatMap((encoded) =>
|
|
@@ -180,7 +180,7 @@ export const layer = Layer.effect(Persistence)(Effect.gen(function*() {
|
|
|
180
180
|
setMany: Effect.fnUntraced(function*(entries) {
|
|
181
181
|
const encodedEntries = Arr.empty<readonly [string, object, Duration.Duration | undefined]>()
|
|
182
182
|
for (const [key, value] of entries) {
|
|
183
|
-
const ttl = Duration.
|
|
183
|
+
const ttl = Duration.fromInputUnsafe(timeToLive(value, key))
|
|
184
184
|
if (Duration.isZero(ttl) || Duration.isNegative(ttl)) continue
|
|
185
185
|
const encoded = Persistable.serializeExit(key, value)
|
|
186
186
|
const exit = Exit.isExit(encoded)
|
|
@@ -32,7 +32,7 @@ export interface RateLimiter {
|
|
|
32
32
|
readonly consume: (options: {
|
|
33
33
|
readonly algorithm?: "fixed-window" | "token-bucket" | undefined
|
|
34
34
|
readonly onExceeded?: "delay" | "fail" | undefined
|
|
35
|
-
readonly window: Duration.
|
|
35
|
+
readonly window: Duration.Input
|
|
36
36
|
readonly limit: number
|
|
37
37
|
readonly key: string
|
|
38
38
|
readonly tokens?: number | undefined
|
|
@@ -62,7 +62,7 @@ export const make: Effect.Effect<
|
|
|
62
62
|
const tokens = options.tokens ?? 1
|
|
63
63
|
const onExceeded = options.onExceeded ?? "fail"
|
|
64
64
|
const algorithm = options.algorithm ?? "fixed-window"
|
|
65
|
-
const window = Duration.max(Duration.
|
|
65
|
+
const window = Duration.max(Duration.fromInputUnsafe(options.window), Duration.millis(1))
|
|
66
66
|
const windowMillis = Duration.toMillis(window)
|
|
67
67
|
const refillRate = Duration.divideUnsafe(window, options.limit)
|
|
68
68
|
const refillRateMillis = Duration.toMillis(refillRate)
|
|
@@ -222,7 +222,7 @@ export const makeWithRateLimiter: Effect.Effect<
|
|
|
222
222
|
((options: {
|
|
223
223
|
readonly algorithm?: "fixed-window" | "token-bucket" | undefined
|
|
224
224
|
readonly onExceeded?: "delay" | "fail" | undefined
|
|
225
|
-
readonly window: Duration.
|
|
225
|
+
readonly window: Duration.Input
|
|
226
226
|
readonly limit: number
|
|
227
227
|
readonly key: string
|
|
228
228
|
readonly tokens?: number | undefined
|
|
@@ -266,7 +266,7 @@ export const makeWithRateLimiter: Effect.Effect<
|
|
|
266
266
|
export const makeSleep: Effect.Effect<
|
|
267
267
|
((options: {
|
|
268
268
|
readonly algorithm?: "fixed-window" | "token-bucket" | undefined
|
|
269
|
-
readonly window: Duration.
|
|
269
|
+
readonly window: Duration.Input
|
|
270
270
|
readonly limit: number
|
|
271
271
|
readonly key: string
|
|
272
272
|
readonly tokens?: number | undefined
|
|
@@ -283,7 +283,7 @@ export interface KillOptions {
|
|
|
283
283
|
* Defaults to `undefined`, which means that no timeout will be enforced by
|
|
284
284
|
* default.
|
|
285
285
|
*/
|
|
286
|
-
readonly forceKillAfter?: Duration.
|
|
286
|
+
readonly forceKillAfter?: Duration.Input | undefined
|
|
287
287
|
}
|
|
288
288
|
|
|
289
289
|
/**
|
|
@@ -414,7 +414,7 @@ export interface CommandOptions extends KillOptions {
|
|
|
414
414
|
* the value of `globalThis.process.env`, prioritizing the values in `env`
|
|
415
415
|
* when conflicts exist.
|
|
416
416
|
*/
|
|
417
|
-
readonly env?: Record<string, string> | undefined
|
|
417
|
+
readonly env?: Record<string, string | undefined> | undefined
|
|
418
418
|
/**
|
|
419
419
|
* If set to `true`, the child process uses both the values in `env` as well
|
|
420
420
|
* as the values in `globalThis.process.env`, prioritizing the values in `env`
|
|
@@ -169,25 +169,25 @@ export const setIdleTTL: {
|
|
|
169
169
|
* @since 4.0.0
|
|
170
170
|
* @category combinators
|
|
171
171
|
*/
|
|
172
|
-
(duration: Duration.
|
|
172
|
+
(duration: Duration.Input): <A extends Atom<any>>(self: A) => A
|
|
173
173
|
/**
|
|
174
174
|
* @since 4.0.0
|
|
175
175
|
* @category combinators
|
|
176
176
|
*/
|
|
177
|
-
<A extends Atom<any>>(self: A, duration: Duration.
|
|
177
|
+
<A extends Atom<any>>(self: A, duration: Duration.Input): A
|
|
178
178
|
} = dual<
|
|
179
179
|
/**
|
|
180
180
|
* @since 4.0.0
|
|
181
181
|
* @category combinators
|
|
182
182
|
*/
|
|
183
|
-
(duration: Duration.
|
|
183
|
+
(duration: Duration.Input) => <A extends Atom<any>>(self: A) => A,
|
|
184
184
|
/**
|
|
185
185
|
* @since 4.0.0
|
|
186
186
|
* @category combinators
|
|
187
187
|
*/
|
|
188
|
-
<A extends Atom<any>>(self: A, duration: Duration.
|
|
188
|
+
<A extends Atom<any>>(self: A, duration: Duration.Input) => A
|
|
189
189
|
>(2, (self, durationInput) => {
|
|
190
|
-
const duration = Duration.
|
|
190
|
+
const duration = Duration.fromInputUnsafe(durationInput)
|
|
191
191
|
const isFinite = Duration.isFinite(duration)
|
|
192
192
|
return Object.assign(Object.create(Object.getPrototypeOf(self)), {
|
|
193
193
|
...self,
|
|
@@ -1684,16 +1684,16 @@ export const debounce: {
|
|
|
1684
1684
|
* @since 4.0.0
|
|
1685
1685
|
* @category combinators
|
|
1686
1686
|
*/
|
|
1687
|
-
(duration: Duration.
|
|
1687
|
+
(duration: Duration.Input): <A extends Atom<any>>(self: A) => WithoutSerializable<A>
|
|
1688
1688
|
/**
|
|
1689
1689
|
* @since 4.0.0
|
|
1690
1690
|
* @category combinators
|
|
1691
1691
|
*/
|
|
1692
|
-
<A extends Atom<any>>(self: A, duration: Duration.
|
|
1692
|
+
<A extends Atom<any>>(self: A, duration: Duration.Input): WithoutSerializable<A>
|
|
1693
1693
|
} = dual(
|
|
1694
1694
|
2,
|
|
1695
|
-
<A>(self: Atom<A>, duration: Duration.
|
|
1696
|
-
const millis = Duration.toMillis(Duration.
|
|
1695
|
+
<A>(self: Atom<A>, duration: Duration.Input): Atom<A> => {
|
|
1696
|
+
const millis = Duration.toMillis(Duration.fromInputUnsafe(duration))
|
|
1697
1697
|
return transform(self, function(get) {
|
|
1698
1698
|
let timeout: number | undefined
|
|
1699
1699
|
let value = get.once(self)
|
|
@@ -1729,7 +1729,7 @@ export const withRefresh: {
|
|
|
1729
1729
|
* @since 4.0.0
|
|
1730
1730
|
* @category combinators
|
|
1731
1731
|
*/
|
|
1732
|
-
(duration: Duration.
|
|
1732
|
+
(duration: Duration.Input): <A extends Atom<any>>(self: A) => WithoutSerializable<A>
|
|
1733
1733
|
/**
|
|
1734
1734
|
* Ensures that the value of the atom is refreshed at most once per specified
|
|
1735
1735
|
* duration.
|
|
@@ -1737,11 +1737,11 @@ export const withRefresh: {
|
|
|
1737
1737
|
* @since 4.0.0
|
|
1738
1738
|
* @category combinators
|
|
1739
1739
|
*/
|
|
1740
|
-
<A extends Atom<any>>(self: A, duration: Duration.
|
|
1740
|
+
<A extends Atom<any>>(self: A, duration: Duration.Input): WithoutSerializable<A>
|
|
1741
1741
|
} = dual(
|
|
1742
1742
|
2,
|
|
1743
|
-
<A>(self: Atom<A>, duration: Duration.
|
|
1744
|
-
const millis = Duration.toMillis(Duration.
|
|
1743
|
+
<A>(self: Atom<A>, duration: Duration.Input): Atom<A> => {
|
|
1744
|
+
const millis = Duration.toMillis(Duration.fromInputUnsafe(duration))
|
|
1745
1745
|
return transform(self, function(get) {
|
|
1746
1746
|
const handle = setTimeout(() => get.refresh(self), millis) as any
|
|
1747
1747
|
get.addFinalizer(() => clearTimeout(handle))
|
|
@@ -103,7 +103,7 @@ export interface AtomHttpApiClient<Self, Id extends string, Groups extends HttpA
|
|
|
103
103
|
| ReadonlyArray<unknown>
|
|
104
104
|
| ReadonlyRecord<string, ReadonlyArray<unknown>>
|
|
105
105
|
| undefined
|
|
106
|
-
readonly timeToLive?: Duration.
|
|
106
|
+
readonly timeToLive?: Duration.Input | undefined
|
|
107
107
|
}
|
|
108
108
|
>
|
|
109
109
|
: never
|
|
@@ -223,7 +223,7 @@ export const Service = <Self>() =>
|
|
|
223
223
|
readonly headers?: any
|
|
224
224
|
readonly withResponse?: boolean
|
|
225
225
|
readonly reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined
|
|
226
|
-
readonly timeToLive?: Duration.
|
|
226
|
+
readonly timeToLive?: Duration.Input | undefined
|
|
227
227
|
}
|
|
228
228
|
) =>
|
|
229
229
|
queryFamily({
|
|
@@ -236,7 +236,7 @@ export const Service = <Self>() =>
|
|
|
236
236
|
withResponse: request.withResponse ?? false,
|
|
237
237
|
reactivityKeys: request.reactivityKeys,
|
|
238
238
|
timeToLive: request.timeToLive
|
|
239
|
-
? Duration.
|
|
239
|
+
? Duration.fromInputUnsafe(request.timeToLive)
|
|
240
240
|
: undefined
|
|
241
241
|
})) as any
|
|
242
242
|
|
|
@@ -71,7 +71,7 @@ export interface AtomRpcClient<Self, Id extends string, Rpcs extends Rpc.Any, E>
|
|
|
71
71
|
| ReadonlyArray<unknown>
|
|
72
72
|
| ReadonlyRecord<string, ReadonlyArray<unknown>>
|
|
73
73
|
| undefined
|
|
74
|
-
readonly timeToLive?: Duration.
|
|
74
|
+
readonly timeToLive?: Duration.Input | undefined
|
|
75
75
|
}
|
|
76
76
|
) => Rpc.ExtractTag<Rpcs, Tag> extends Rpc.Rpc<
|
|
77
77
|
infer _Tag,
|
|
@@ -208,7 +208,7 @@ export const Service = <Self>() =>
|
|
|
208
208
|
| ReadonlyArray<unknown>
|
|
209
209
|
| ReadonlyRecord<string, ReadonlyArray<unknown>>
|
|
210
210
|
| undefined
|
|
211
|
-
readonly timeToLive?: Duration.
|
|
211
|
+
readonly timeToLive?: Duration.Input | undefined
|
|
212
212
|
}
|
|
213
213
|
) =>
|
|
214
214
|
queryFamily({
|
|
@@ -219,7 +219,7 @@ export const Service = <Self>() =>
|
|
|
219
219
|
: undefined,
|
|
220
220
|
reactivityKeys: options?.reactivityKeys,
|
|
221
221
|
timeToLive: options?.timeToLive
|
|
222
|
-
? Duration.
|
|
222
|
+
? Duration.fromInputUnsafe(options.timeToLive)
|
|
223
223
|
: undefined
|
|
224
224
|
}) as any
|
|
225
225
|
|
package/src/unstable/rpc/Rpc.ts
CHANGED
|
@@ -61,7 +61,7 @@ export interface Rpc<
|
|
|
61
61
|
readonly payloadSchema: Payload
|
|
62
62
|
readonly successSchema: Success
|
|
63
63
|
readonly errorSchema: Error
|
|
64
|
-
readonly defectSchema:
|
|
64
|
+
readonly defectSchema: Schema.Top
|
|
65
65
|
readonly annotations: ServiceMap.ServiceMap<never>
|
|
66
66
|
readonly middlewares: ReadonlySet<Middleware>
|
|
67
67
|
readonly "~requires": Requires
|
|
@@ -183,7 +183,7 @@ export interface AnyWithProps extends Pipeable {
|
|
|
183
183
|
readonly payloadSchema: Schema.Top
|
|
184
184
|
readonly successSchema: Schema.Top
|
|
185
185
|
readonly errorSchema: Schema.Top
|
|
186
|
-
readonly defectSchema:
|
|
186
|
+
readonly defectSchema: Schema.Top
|
|
187
187
|
readonly annotations: ServiceMap.ServiceMap<never>
|
|
188
188
|
readonly middlewares: ReadonlySet<RpcMiddleware.AnyServiceWithProps>
|
|
189
189
|
readonly "~requires": any
|
|
@@ -696,7 +696,7 @@ const makeProto = <
|
|
|
696
696
|
readonly payloadSchema: Payload
|
|
697
697
|
readonly successSchema: Success
|
|
698
698
|
readonly errorSchema: Error
|
|
699
|
-
readonly defectSchema:
|
|
699
|
+
readonly defectSchema: Schema.Top
|
|
700
700
|
readonly annotations: ServiceMap.ServiceMap<never>
|
|
701
701
|
readonly middlewares: ReadonlySet<Middleware>
|
|
702
702
|
}): Rpc<Tag, Payload, Success, Error, Middleware, Requires> => {
|
|
@@ -21,7 +21,6 @@ import * as ServiceMap from "../../ServiceMap.ts"
|
|
|
21
21
|
import * as Stream from "../../Stream.ts"
|
|
22
22
|
import type * as Struct from "../../Struct.ts"
|
|
23
23
|
import type { Span } from "../../Tracer.ts"
|
|
24
|
-
import type { Mutable } from "../../Types.ts"
|
|
25
24
|
import * as Headers from "../http/Headers.ts"
|
|
26
25
|
import * as HttpBody from "../http/HttpBody.ts"
|
|
27
26
|
import * as HttpClient from "../http/HttpClient.ts"
|
|
@@ -46,16 +45,7 @@ import { withRun } from "./Utils.ts"
|
|
|
46
45
|
* @since 4.0.0
|
|
47
46
|
* @category client
|
|
48
47
|
*/
|
|
49
|
-
export type RpcClient<Rpcs extends Rpc.Any, E = never> = Struct.Simplify<
|
|
50
|
-
& RpcClient.From<RpcClient.NonPrefixed<Rpcs>, E, "">
|
|
51
|
-
& {
|
|
52
|
-
readonly [CurrentPrefix in RpcClient.Prefixes<Rpcs>]: RpcClient.From<
|
|
53
|
-
RpcClient.Prefixed<Rpcs, CurrentPrefix>,
|
|
54
|
-
E,
|
|
55
|
-
CurrentPrefix
|
|
56
|
-
>
|
|
57
|
-
}
|
|
58
|
-
>
|
|
48
|
+
export type RpcClient<Rpcs extends Rpc.Any, E = never> = Struct.Simplify<RpcClient.From<Rpcs, E>>
|
|
59
49
|
|
|
60
50
|
/**
|
|
61
51
|
* @since 4.0.0
|
|
@@ -66,34 +56,8 @@ export declare namespace RpcClient {
|
|
|
66
56
|
* @since 4.0.0
|
|
67
57
|
* @category client
|
|
68
58
|
*/
|
|
69
|
-
export type
|
|
70
|
-
|
|
71
|
-
: never
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* @since 4.0.0
|
|
75
|
-
* @category client
|
|
76
|
-
*/
|
|
77
|
-
export type NonPrefixed<Rpcs extends Rpc.Any> = Exclude<Rpcs, { readonly _tag: `${string}.${string}` }>
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* @since 4.0.0
|
|
81
|
-
* @category client
|
|
82
|
-
*/
|
|
83
|
-
export type Prefixed<Rpcs extends Rpc.Any, Prefix extends string> = Extract<
|
|
84
|
-
Rpcs,
|
|
85
|
-
{ readonly _tag: `${Prefix}.${string}` }
|
|
86
|
-
>
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* @since 4.0.0
|
|
90
|
-
* @category client
|
|
91
|
-
*/
|
|
92
|
-
export type From<Rpcs extends Rpc.Any, E = never, Prefix extends string = ""> = {
|
|
93
|
-
readonly [
|
|
94
|
-
Current in Rpcs as Current["_tag"] extends `${Prefix}.${infer Method}` ? Method
|
|
95
|
-
: Current["_tag"]
|
|
96
|
-
]: <
|
|
59
|
+
export type From<Rpcs extends Rpc.Any, E = never> = {
|
|
60
|
+
readonly [Current in Rpcs as Current["_tag"]]: <
|
|
97
61
|
const AsQueue extends boolean = false,
|
|
98
62
|
const Discard = false
|
|
99
63
|
>(
|
|
@@ -615,16 +579,9 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
|
|
|
615
579
|
}
|
|
616
580
|
} else {
|
|
617
581
|
client = {}
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
if (prefix !== undefined && !(prefix in client)) {
|
|
622
|
-
;(client as any)[prefix] = {} as Mutable<RpcClient.Prefixed<Rpcs, typeof prefix>>
|
|
623
|
-
}
|
|
624
|
-
const target = prefix !== undefined ? (client as any)[prefix] : client
|
|
625
|
-
const tag = prefix !== undefined ? rpc._tag.slice(dot + 1) : rpc._tag
|
|
626
|
-
target[tag] = onRequest(rpc as any)
|
|
627
|
-
}
|
|
582
|
+
group.requests.forEach((rpc) => {
|
|
583
|
+
client[rpc._tag] = onRequest(rpc as any)
|
|
584
|
+
})
|
|
628
585
|
}
|
|
629
586
|
|
|
630
587
|
return { client, write } as const
|
|
@@ -1119,7 +1076,7 @@ export const makeProtocolWorker = (
|
|
|
1119
1076
|
readonly maxSize: number
|
|
1120
1077
|
readonly concurrency?: number | undefined
|
|
1121
1078
|
readonly targetUtilization?: number | undefined
|
|
1122
|
-
readonly timeToLive: Duration.
|
|
1079
|
+
readonly timeToLive: Duration.Input
|
|
1123
1080
|
}
|
|
1124
1081
|
): Effect.Effect<
|
|
1125
1082
|
Protocol["Service"],
|
|
@@ -1267,7 +1224,7 @@ export const layerProtocolWorker: (
|
|
|
1267
1224
|
readonly maxSize: number
|
|
1268
1225
|
readonly concurrency?: number | undefined
|
|
1269
1226
|
readonly targetUtilization?: number | undefined
|
|
1270
|
-
readonly timeToLive: Duration.
|
|
1227
|
+
readonly timeToLive: Duration.Input
|
|
1271
1228
|
}
|
|
1272
1229
|
) => Layer.Layer<
|
|
1273
1230
|
Protocol,
|
|
@@ -5,7 +5,7 @@ import type { NonEmptyReadonlyArray } from "../../Array.ts"
|
|
|
5
5
|
import type * as Cause from "../../Cause.ts"
|
|
6
6
|
import * as Channel from "../../Channel.ts"
|
|
7
7
|
import * as Deferred from "../../Deferred.ts"
|
|
8
|
-
import type
|
|
8
|
+
import type * as Duration from "../../Duration.ts"
|
|
9
9
|
import * as Effect from "../../Effect.ts"
|
|
10
10
|
import * as Exit from "../../Exit.ts"
|
|
11
11
|
import * as FiberSet from "../../FiberSet.ts"
|
|
@@ -423,7 +423,7 @@ export const layerWebSocketConstructorGlobal: Layer.Layer<WebSocketConstructor>
|
|
|
423
423
|
*/
|
|
424
424
|
export const makeWebSocket = (url: string | Effect.Effect<string>, options?: {
|
|
425
425
|
readonly closeCodeIsError?: ((code: number) => boolean) | undefined
|
|
426
|
-
readonly openTimeout?:
|
|
426
|
+
readonly openTimeout?: Duration.Input | undefined
|
|
427
427
|
readonly protocols?: string | Array<string> | undefined
|
|
428
428
|
}): Effect.Effect<Socket, never, WebSocketConstructor> =>
|
|
429
429
|
fromWebSocket(
|
|
@@ -444,7 +444,7 @@ export const fromWebSocket = <RO>(
|
|
|
444
444
|
acquire: Effect.Effect<globalThis.WebSocket, SocketError, RO>,
|
|
445
445
|
options?: {
|
|
446
446
|
readonly closeCodeIsError?: ((code: number) => boolean) | undefined
|
|
447
|
-
readonly openTimeout?:
|
|
447
|
+
readonly openTimeout?: Duration.Input | undefined
|
|
448
448
|
} | undefined
|
|
449
449
|
): Effect.Effect<Socket, never, Exclude<RO, Scope.Scope>> =>
|
|
450
450
|
Effect.withFiber((fiber) => {
|
|
@@ -619,7 +619,7 @@ export const layerWebSocket: (
|
|
|
619
619
|
url: string | Effect.Effect<string>,
|
|
620
620
|
options?: {
|
|
621
621
|
readonly closeCodeIsError?: ((code: number) => boolean) | undefined
|
|
622
|
-
readonly openTimeout?:
|
|
622
|
+
readonly openTimeout?: Duration.Input | undefined
|
|
623
623
|
readonly protocols?: string | Array<string> | undefined
|
|
624
624
|
} | undefined
|
|
625
625
|
) => Layer.Layer<Socket, never, WebSocketConstructor> = flow(makeWebSocket, Layer.effect(Socket))
|