effect 4.0.2 → 4.0.3
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/Context.js +3 -3
- package/dist/Context.js.map +1 -1
- package/dist/Crypto.d.ts +33 -5
- package/dist/Crypto.d.ts.map +1 -1
- package/dist/Crypto.js +8 -2
- package/dist/Crypto.js.map +1 -1
- package/dist/DateTime.d.ts +9 -6
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +9 -6
- package/dist/DateTime.js.map +1 -1
- package/dist/Duration.d.ts +6 -6
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +27 -8
- package/dist/Duration.js.map +1 -1
- package/dist/FileSystem.d.ts +44 -2
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js.map +1 -1
- package/dist/Schema.d.ts +473 -1
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +355 -4
- package/dist/Schema.js.map +1 -1
- package/dist/Stdio.d.ts +7 -1
- package/dist/Stdio.d.ts.map +1 -1
- package/dist/Stdio.js +1 -0
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +11 -11
- package/dist/Stream.js +5 -5
- package/dist/ai/McpServer.d.ts +6 -0
- package/dist/ai/McpServer.d.ts.map +1 -1
- package/dist/ai/McpServer.js +65 -23
- package/dist/ai/McpServer.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2026_07_28.js +5 -0
- package/dist/ai/internal/mcpProtocol/v2026_07_28.js.map +1 -1
- package/dist/ai/internal/mcpProtocol.js.map +1 -1
- package/dist/ai/internal/mcpRuntime.js +1 -0
- package/dist/ai/internal/mcpRuntime.js.map +1 -1
- package/dist/cli/CliOutput.d.ts +27 -0
- package/dist/cli/CliOutput.d.ts.map +1 -1
- package/dist/cli/CliOutput.js +33 -10
- package/dist/cli/CliOutput.js.map +1 -1
- package/dist/cli/Command.d.ts.map +1 -1
- package/dist/cli/Command.js +6 -3
- package/dist/cli/Command.js.map +1 -1
- package/dist/cli/Completions.d.ts +3 -3
- package/dist/cli/Completions.d.ts.map +1 -1
- package/dist/cli/Completions.js +8 -5
- package/dist/cli/Completions.js.map +1 -1
- package/dist/cli/GlobalFlag.d.ts +5 -4
- package/dist/cli/GlobalFlag.d.ts.map +1 -1
- package/dist/cli/GlobalFlag.js +3 -3
- package/dist/cli/GlobalFlag.js.map +1 -1
- package/dist/cli/Prompt.d.ts +17 -1
- package/dist/cli/Prompt.d.ts.map +1 -1
- package/dist/cli/Prompt.js +119 -114
- package/dist/cli/Prompt.js.map +1 -1
- package/dist/cli/internal/ansi.d.ts +0 -1
- package/dist/cli/internal/ansi.d.ts.map +1 -1
- package/dist/cli/internal/ansi.js +20 -3
- package/dist/cli/internal/ansi.js.map +1 -1
- package/dist/cli/internal/completions/powershell.d.ts +2 -0
- package/dist/cli/internal/completions/powershell.d.ts.map +1 -0
- package/dist/cli/internal/completions/powershell.js +273 -0
- package/dist/cli/internal/completions/powershell.js.map +1 -0
- package/dist/cli/internal/completions/zsh.js +3 -2
- package/dist/cli/internal/completions/zsh.js.map +1 -1
- package/dist/cli/internal/wizard.d.ts +3 -3
- package/dist/cli/internal/wizard.d.ts.map +1 -1
- package/dist/cli/internal/wizard.js +21 -18
- package/dist/cli/internal/wizard.js.map +1 -1
- package/dist/cluster/ClusterSchema.d.ts +28 -0
- package/dist/cluster/ClusterSchema.d.ts.map +1 -1
- package/dist/cluster/ClusterSchema.js +30 -0
- package/dist/cluster/ClusterSchema.js.map +1 -1
- package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/cluster/ClusterWorkflowEngine.js +10 -18
- package/dist/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/cluster/MessageStorage.d.ts +18 -3
- package/dist/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/cluster/MessageStorage.js +31 -11
- package/dist/cluster/MessageStorage.js.map +1 -1
- package/dist/cluster/Runners.d.ts.map +1 -1
- package/dist/cluster/Runners.js +8 -2
- package/dist/cluster/Runners.js.map +1 -1
- package/dist/cluster/Sharding.d.ts.map +1 -1
- package/dist/cluster/Sharding.js +181 -62
- package/dist/cluster/Sharding.js.map +1 -1
- package/dist/cluster/SqlMessageStorage.d.ts +59 -19
- package/dist/cluster/SqlMessageStorage.d.ts.map +1 -1
- package/dist/cluster/SqlMessageStorage.js +84 -55
- package/dist/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/cluster/SqlRunnerStorage.d.ts +68 -19
- package/dist/cluster/SqlRunnerStorage.d.ts.map +1 -1
- package/dist/cluster/SqlRunnerStorage.js +191 -113
- package/dist/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/cluster/internal/entityManager.js +104 -37
- package/dist/cluster/internal/entityManager.js.map +1 -1
- package/dist/http/FindMyWay/internal/router.js +3 -6
- package/dist/http/FindMyWay/internal/router.js.map +1 -1
- package/dist/http/HttpClient.d.ts +6 -0
- package/dist/http/HttpClient.d.ts.map +1 -1
- package/dist/http/HttpClient.js +39 -2
- package/dist/http/HttpClient.js.map +1 -1
- package/dist/http/HttpTraceContext.d.ts.map +1 -1
- package/dist/http/HttpTraceContext.js +4 -2
- package/dist/http/HttpTraceContext.js.map +1 -1
- package/dist/internal/effect.js +12 -7
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/version.js +1 -1
- package/dist/net/AddressResolver.d.ts +145 -0
- package/dist/net/AddressResolver.d.ts.map +1 -0
- package/dist/net/AddressResolver.js +114 -0
- package/dist/net/AddressResolver.js.map +1 -0
- package/dist/net/Dns.d.ts +596 -0
- package/dist/net/Dns.d.ts.map +1 -0
- package/dist/net/Dns.js +549 -0
- package/dist/net/Dns.js.map +1 -0
- package/dist/net/Host.d.ts +320 -0
- package/dist/net/Host.d.ts.map +1 -0
- package/dist/net/Host.js +342 -0
- package/dist/net/Host.js.map +1 -0
- package/dist/net/IpInterface.d.ts +76 -3
- package/dist/net/IpInterface.d.ts.map +1 -1
- package/dist/net/IpInterface.js +53 -4
- package/dist/net/IpInterface.js.map +1 -1
- package/dist/net/IpNetwork.d.ts +82 -8
- package/dist/net/IpNetwork.d.ts.map +1 -1
- package/dist/net/IpNetwork.js +60 -4
- package/dist/net/IpNetwork.js.map +1 -1
- package/dist/net/NetAddress.d.ts +388 -35
- package/dist/net/NetAddress.d.ts.map +1 -1
- package/dist/net/NetAddress.js +350 -34
- package/dist/net/NetAddress.js.map +1 -1
- package/dist/net/index.d.ts +15 -0
- package/dist/net/index.d.ts.map +1 -1
- package/dist/net/index.js +15 -0
- package/dist/net/index.js.map +1 -1
- package/dist/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/observability/OtlpMetrics.js +15 -21
- package/dist/observability/OtlpMetrics.js.map +1 -1
- package/dist/observability/PrometheusMetrics.js +1 -0
- package/dist/observability/PrometheusMetrics.js.map +1 -1
- package/dist/persistence/PersistedQueue.d.ts +32 -3
- package/dist/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/persistence/PersistedQueue.js +75 -16
- package/dist/persistence/PersistedQueue.js.map +1 -1
- package/dist/rpc/RpcClient.d.ts +22 -6
- package/dist/rpc/RpcClient.d.ts.map +1 -1
- package/dist/rpc/RpcClient.js +12 -5
- package/dist/rpc/RpcClient.js.map +1 -1
- package/dist/rpc/RpcServer.d.ts +6 -0
- package/dist/rpc/RpcServer.d.ts.map +1 -1
- package/dist/rpc/RpcServer.js +42 -20
- package/dist/rpc/RpcServer.js.map +1 -1
- package/dist/socket/DatagramSocket.d.ts +456 -0
- package/dist/socket/DatagramSocket.d.ts.map +1 -0
- package/dist/socket/DatagramSocket.js +535 -0
- package/dist/socket/DatagramSocket.js.map +1 -0
- package/dist/socket/Socket.d.ts +14 -1
- package/dist/socket/Socket.d.ts.map +1 -1
- package/dist/socket/Socket.js +9 -1
- package/dist/socket/Socket.js.map +1 -1
- package/dist/socket/index.d.ts +5 -0
- package/dist/socket/index.d.ts.map +1 -1
- package/dist/socket/index.js +5 -0
- package/dist/socket/index.js.map +1 -1
- package/dist/sql/Migrator.d.ts.map +1 -1
- package/dist/sql/Migrator.js +7 -2
- package/dist/sql/Migrator.js.map +1 -1
- package/dist/sql/SqlClient.d.ts +7 -1
- package/dist/sql/SqlClient.d.ts.map +1 -1
- package/dist/sql/SqlClient.js +31 -6
- package/dist/sql/SqlClient.js.map +1 -1
- package/dist/testing/TestCrypto.d.ts +73 -0
- package/dist/testing/TestCrypto.d.ts.map +1 -0
- package/dist/testing/TestCrypto.js +87 -0
- package/dist/testing/TestCrypto.js.map +1 -0
- package/dist/testing/index.d.ts +5 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +5 -0
- package/dist/testing/index.js.map +1 -1
- package/dist/workflow/DurableDeferred.d.ts +54 -0
- package/dist/workflow/DurableDeferred.d.ts.map +1 -1
- package/dist/workflow/DurableDeferred.js +78 -49
- package/dist/workflow/DurableDeferred.js.map +1 -1
- package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/workflow/WorkflowEngine.js +2 -1
- package/dist/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +1 -1
- package/src/Context.ts +3 -3
- package/src/Crypto.ts +43 -9
- package/src/DateTime.ts +9 -6
- package/src/Duration.ts +36 -16
- package/src/FileSystem.ts +48 -2
- package/src/Schema.ts +669 -5
- package/src/Stdio.ts +9 -2
- package/src/Stream.ts +11 -11
- package/src/ai/McpServer.ts +63 -23
- package/src/ai/internal/mcpProtocol/v2026_07_28.ts +5 -0
- package/src/ai/internal/mcpProtocol.ts +3 -0
- package/src/ai/internal/mcpRuntime.ts +2 -0
- package/src/cli/CliOutput.ts +33 -16
- package/src/cli/Command.ts +4 -3
- package/src/cli/Completions.ts +9 -6
- package/src/cli/GlobalFlag.ts +19 -11
- package/src/cli/Prompt.ts +159 -149
- package/src/cli/internal/ansi.ts +26 -3
- package/src/cli/internal/completions/powershell.ts +322 -0
- package/src/cli/internal/completions/zsh.ts +4 -2
- package/src/cli/internal/wizard.ts +34 -26
- package/src/cluster/ClusterSchema.ts +32 -0
- package/src/cluster/ClusterWorkflowEngine.ts +13 -24
- package/src/cluster/MessageStorage.ts +45 -14
- package/src/cluster/Runners.ts +8 -2
- package/src/cluster/Sharding.ts +207 -49
- package/src/cluster/SqlMessageStorage.ts +118 -84
- package/src/cluster/SqlRunnerStorage.ts +224 -128
- package/src/cluster/internal/entityManager.ts +151 -55
- package/src/http/FindMyWay/internal/router.ts +4 -7
- package/src/http/HttpClient.ts +56 -2
- package/src/http/HttpTraceContext.ts +8 -2
- package/src/internal/effect.ts +15 -13
- package/src/internal/version.ts +1 -1
- package/src/net/AddressResolver.ts +222 -0
- package/src/net/Dns.ts +1035 -0
- package/src/net/Host.ts +472 -0
- package/src/net/IpInterface.ts +117 -7
- package/src/net/IpNetwork.ts +116 -17
- package/src/net/NetAddress.ts +611 -76
- package/src/net/index.ts +18 -0
- package/src/observability/OtlpMetrics.ts +12 -23
- package/src/observability/PrometheusMetrics.ts +1 -0
- package/src/persistence/PersistedQueue.ts +146 -53
- package/src/rpc/RpcClient.ts +41 -19
- package/src/rpc/RpcServer.ts +60 -25
- package/src/socket/DatagramSocket.ts +919 -0
- package/src/socket/Socket.ts +22 -2
- package/src/socket/index.ts +6 -0
- package/src/sql/Migrator.ts +21 -5
- package/src/sql/SqlClient.ts +39 -15
- package/src/testing/TestCrypto.ts +94 -0
- package/src/testing/index.ts +6 -0
- package/src/workflow/DurableDeferred.ts +123 -48
- package/src/workflow/WorkflowEngine.ts +2 -1
|
@@ -0,0 +1,535 @@
|
|
|
1
|
+
import * as Context from "../Context.js";
|
|
2
|
+
import * as Effect from "../Effect.js";
|
|
3
|
+
import * as Fiber from "../Fiber.js";
|
|
4
|
+
import { constVoid } from "../Function.js";
|
|
5
|
+
import { args, contA, contAll, exitSucceed, makePrimitive, withFiber } from "../internal/core.js";
|
|
6
|
+
import * as Latch from "../Latch.js";
|
|
7
|
+
import * as NetAddress from "../net/NetAddress.js";
|
|
8
|
+
import * as Predicate from "../Predicate.js";
|
|
9
|
+
import * as Schema from "../Schema.js";
|
|
10
|
+
import * as Scope from "../Scope.js";
|
|
11
|
+
/**
|
|
12
|
+
* Runtime type identifier attached to `DatagramSocket` services.
|
|
13
|
+
*
|
|
14
|
+
* @stability experimental
|
|
15
|
+
* @category type IDs
|
|
16
|
+
* @since 4.0.0
|
|
17
|
+
*/
|
|
18
|
+
export const TypeId = "~effect/socket/DatagramSocket";
|
|
19
|
+
/**
|
|
20
|
+
* Service tag for UDP socket transports.
|
|
21
|
+
*
|
|
22
|
+
* @stability experimental
|
|
23
|
+
* @category services
|
|
24
|
+
* @since 4.0.0
|
|
25
|
+
*/
|
|
26
|
+
export const DatagramSocket = /*#__PURE__*/Context.Service("effect/socket/DatagramSocket");
|
|
27
|
+
/**
|
|
28
|
+
* Creates a `DatagramSocket` from its `reader` and `writer` effects.
|
|
29
|
+
*
|
|
30
|
+
* @stability experimental
|
|
31
|
+
* @category constructors
|
|
32
|
+
* @since 4.0.0
|
|
33
|
+
*/
|
|
34
|
+
export const make = options => DatagramSocket.of({
|
|
35
|
+
[TypeId]: TypeId,
|
|
36
|
+
reader: options.reader,
|
|
37
|
+
writer: options.writer
|
|
38
|
+
});
|
|
39
|
+
/**
|
|
40
|
+
* Opening or binding the native socket, applying its options, or resolving
|
|
41
|
+
* a name failed.
|
|
42
|
+
*
|
|
43
|
+
* @stability experimental
|
|
44
|
+
* @category errors
|
|
45
|
+
* @since 4.0.0
|
|
46
|
+
*/
|
|
47
|
+
export class DatagramSocketOpenError extends /*#__PURE__*/Schema.Error("effect/socket/DatagramSocket/OpenError")({
|
|
48
|
+
_tag: /*#__PURE__*/Schema.tag("DatagramSocketOpenError"),
|
|
49
|
+
kind: /*#__PURE__*/Schema.Literals(["AddressInUse", "AddressNotAvailable", "PermissionDenied", "Unknown"]),
|
|
50
|
+
cause: /*#__PURE__*/Schema.Defect()
|
|
51
|
+
}) {}
|
|
52
|
+
/**
|
|
53
|
+
* A receive failed, or an ICMP report arrived with no write left to fail.
|
|
54
|
+
*
|
|
55
|
+
* @stability experimental
|
|
56
|
+
* @category errors
|
|
57
|
+
* @since 4.0.0
|
|
58
|
+
*/
|
|
59
|
+
export class DatagramSocketReadError extends /*#__PURE__*/Schema.Error("effect/socket/DatagramSocket/ReadError")({
|
|
60
|
+
_tag: /*#__PURE__*/Schema.tag("DatagramSocketReadError"),
|
|
61
|
+
kind: /*#__PURE__*/Schema.Literals(["MessageTooLarge", "Unreachable", "ConnectionRefused", "PermissionDenied", "Unknown"]),
|
|
62
|
+
cause: /*#__PURE__*/Schema.Defect()
|
|
63
|
+
}) {}
|
|
64
|
+
/**
|
|
65
|
+
* A send failed. `address` is the destination when it is known.
|
|
66
|
+
*
|
|
67
|
+
* @stability experimental
|
|
68
|
+
* @category errors
|
|
69
|
+
* @since 4.0.0
|
|
70
|
+
*/
|
|
71
|
+
export class DatagramSocketWriteError extends /*#__PURE__*/Schema.Error("effect/socket/DatagramSocket/WriteError")({
|
|
72
|
+
_tag: /*#__PURE__*/Schema.tag("DatagramSocketWriteError"),
|
|
73
|
+
kind: /*#__PURE__*/Schema.Literals(["MessageTooLarge", "Unreachable", "ConnectionRefused", "PermissionDenied", "Unknown"]),
|
|
74
|
+
address: /*#__PURE__*/Schema.optional(Schema.InetAddress),
|
|
75
|
+
cause: /*#__PURE__*/Schema.Defect()
|
|
76
|
+
}) {}
|
|
77
|
+
/**
|
|
78
|
+
* The native socket closed underneath the reader, or the reader's scope
|
|
79
|
+
* closed.
|
|
80
|
+
*
|
|
81
|
+
* @stability experimental
|
|
82
|
+
* @category errors
|
|
83
|
+
* @since 4.0.0
|
|
84
|
+
*/
|
|
85
|
+
export class DatagramSocketClosedError extends /*#__PURE__*/Schema.Error("effect/socket/DatagramSocket/ClosedError")({
|
|
86
|
+
_tag: /*#__PURE__*/Schema.tag("DatagramSocketClosedError")
|
|
87
|
+
}) {}
|
|
88
|
+
/**
|
|
89
|
+
* The runtime lacks a capability, such as source-specific multicast on Deno.
|
|
90
|
+
*
|
|
91
|
+
* @stability experimental
|
|
92
|
+
* @category errors
|
|
93
|
+
* @since 4.0.0
|
|
94
|
+
*/
|
|
95
|
+
export class DatagramSocketUnsupportedError extends /*#__PURE__*/Schema.Error("effect/socket/DatagramSocket/UnsupportedError")({
|
|
96
|
+
_tag: /*#__PURE__*/Schema.tag("DatagramSocketUnsupportedError"),
|
|
97
|
+
capability: Schema.String,
|
|
98
|
+
runtime: Schema.String
|
|
99
|
+
}) {
|
|
100
|
+
/**
|
|
101
|
+
* Names the runtime and the capability it lacks.
|
|
102
|
+
*
|
|
103
|
+
* @stability experimental
|
|
104
|
+
* @since 4.0.0
|
|
105
|
+
*/
|
|
106
|
+
get message() {
|
|
107
|
+
return `${this.runtime} does not support ${this.capability}`;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Schema for the union of `DatagramSocketError` reasons.
|
|
112
|
+
*
|
|
113
|
+
* @stability experimental
|
|
114
|
+
* @category errors
|
|
115
|
+
* @since 4.0.0
|
|
116
|
+
*/
|
|
117
|
+
export const DatagramSocketErrorReason = /*#__PURE__*/Schema.Union([DatagramSocketOpenError, DatagramSocketReadError, DatagramSocketWriteError, DatagramSocketClosedError, DatagramSocketUnsupportedError]);
|
|
118
|
+
/**
|
|
119
|
+
* Runtime type identifier attached to `DatagramSocketError` values.
|
|
120
|
+
*
|
|
121
|
+
* @stability experimental
|
|
122
|
+
* @category errors
|
|
123
|
+
* @since 4.0.0
|
|
124
|
+
*/
|
|
125
|
+
export const DatagramSocketErrorTypeId = "~effect/socket/DatagramSocket/DatagramSocketError";
|
|
126
|
+
/**
|
|
127
|
+
* Returns `true` when a value is a `DatagramSocketError`.
|
|
128
|
+
*
|
|
129
|
+
* @stability experimental
|
|
130
|
+
* @category guards
|
|
131
|
+
* @since 4.0.0
|
|
132
|
+
*/
|
|
133
|
+
export const isDatagramSocketError = u => Predicate.hasProperty(u, DatagramSocketErrorTypeId);
|
|
134
|
+
/**
|
|
135
|
+
* The error raised by `DatagramSocket` operations, wrapping a specific
|
|
136
|
+
* reason. Its `cause` and `message` come from the reason.
|
|
137
|
+
*
|
|
138
|
+
* @stability experimental
|
|
139
|
+
* @category errors
|
|
140
|
+
* @since 4.0.0
|
|
141
|
+
*/
|
|
142
|
+
export class DatagramSocketError extends /*#__PURE__*/Schema.TaggedError(DatagramSocketErrorTypeId)("DatagramSocketError", {
|
|
143
|
+
_tag: /*#__PURE__*/Schema.tag("DatagramSocketError"),
|
|
144
|
+
reason: DatagramSocketErrorReason
|
|
145
|
+
}) {
|
|
146
|
+
// @effect-diagnostics-next-line overriddenSchemaConstructor:off
|
|
147
|
+
constructor(props) {
|
|
148
|
+
if ("cause" in props.reason) {
|
|
149
|
+
super({
|
|
150
|
+
...props,
|
|
151
|
+
cause: props.reason.cause
|
|
152
|
+
});
|
|
153
|
+
} else {
|
|
154
|
+
super(props);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
[DatagramSocketErrorTypeId] = DatagramSocketErrorTypeId;
|
|
158
|
+
get message() {
|
|
159
|
+
return this.reason.message;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Builds a `DatagramSocket` over a backing socket, opening a new socket for
|
|
164
|
+
* each reader acquisition.
|
|
165
|
+
*
|
|
166
|
+
* **Details**
|
|
167
|
+
*
|
|
168
|
+
* `open` receives the event callbacks before the handle exists, so packets can
|
|
169
|
+
* be queued while it opens. Core owns the receive queue and its overflow
|
|
170
|
+
* strategy, reader exclusivity, sticky errors, lazy address parsing, the
|
|
171
|
+
* writer latch and destination formatting. The handle is closed when the
|
|
172
|
+
* reader's scope closes. If acquisition is interrupted while `open` is still
|
|
173
|
+
* running, the interruption returns at once, `open` is left to finish, and
|
|
174
|
+
* the handle it produces is closed. The next reader waits until that open has
|
|
175
|
+
* settled, so two native sockets never exist at once. An adopted `acquire`
|
|
176
|
+
* must therefore finish in bounded time.
|
|
177
|
+
*
|
|
178
|
+
* `open` runs in the reader's scope, with the services of the fiber that
|
|
179
|
+
* built the socket, so an adopted `acquire` can use them and register
|
|
180
|
+
* finalizers that run when the reader closes. Where the fiber acquiring the
|
|
181
|
+
* reader has a service with the same tag, its own takes precedence.
|
|
182
|
+
*
|
|
183
|
+
* Concurrent pulls are served in the order they started waiting.
|
|
184
|
+
*
|
|
185
|
+
* `onError` receives errors with no write left to fail. It runs
|
|
186
|
+
* synchronously, and anything it throws is ignored.
|
|
187
|
+
*
|
|
188
|
+
* Invalid `receiveBuffer.capacity` values cause a defect; use a positive
|
|
189
|
+
* safe integer.
|
|
190
|
+
*
|
|
191
|
+
* @stability experimental
|
|
192
|
+
* @category constructors
|
|
193
|
+
* @since 4.0.0
|
|
194
|
+
*/
|
|
195
|
+
export const makeFromBackingSocket = (open, options) => withFiber(fiber => {
|
|
196
|
+
const capacity = options?.receiveBuffer?.capacity ?? 1024;
|
|
197
|
+
if (!Number.isSafeInteger(capacity) || capacity < 1) {
|
|
198
|
+
throw new RangeError(`DatagramSocket receive buffer capacity must be a positive integer, received ${capacity}`);
|
|
199
|
+
}
|
|
200
|
+
return Effect.succeed(makeFromBackingSocketWithContext(open, fiber.context, capacity, options?.receiveBuffer?.strategy === "sliding", options?.onError));
|
|
201
|
+
});
|
|
202
|
+
const makeFromBackingSocketWithContext = (open, services, capacity, sliding, onError) => {
|
|
203
|
+
const free = Latch.makeUnsafe(true);
|
|
204
|
+
const latch = Latch.makeUnsafe(false);
|
|
205
|
+
let current;
|
|
206
|
+
const abandon = (state, opening) => {
|
|
207
|
+
state.close();
|
|
208
|
+
// Release reader ownership only after the interrupted open settles.
|
|
209
|
+
opening.addObserver(exit => {
|
|
210
|
+
if (exit._tag === "Success") exit.value.close();
|
|
211
|
+
free.openUnsafe();
|
|
212
|
+
});
|
|
213
|
+
};
|
|
214
|
+
const release = state => {
|
|
215
|
+
state.close();
|
|
216
|
+
current = undefined;
|
|
217
|
+
latch.closeUnsafe();
|
|
218
|
+
free.openUnsafe();
|
|
219
|
+
};
|
|
220
|
+
const reader = Effect.uninterruptibleMask(Effect.fnUntraced(function* (restore) {
|
|
221
|
+
while (!free.closeUnsafe()) yield* restore(free.await);
|
|
222
|
+
const scope = yield* Effect.scope;
|
|
223
|
+
const state = new ReaderState(capacity, sliding, onError);
|
|
224
|
+
// Native opens may be uncancellable. Interrupt only the wait; `abandon`
|
|
225
|
+
// closes any socket returned later.
|
|
226
|
+
const opened = open(state.events).pipe(Effect.updateContext(input => Context.add(Context.merge(services, input), Scope.Scope, scope)));
|
|
227
|
+
const opening = yield* Effect.forkDetach(opened, {
|
|
228
|
+
startImmediately: true
|
|
229
|
+
});
|
|
230
|
+
state.handle = yield* restore(Fiber.join(opening)).pipe(Effect.onError(() => Effect.sync(() => abandon(state, opening))));
|
|
231
|
+
current = state;
|
|
232
|
+
latch.openUnsafe();
|
|
233
|
+
yield* Effect.addFinalizer(() => Effect.sync(() => release(state)));
|
|
234
|
+
return makeReader(state);
|
|
235
|
+
}));
|
|
236
|
+
const write = datagram => withFiber(fiber => {
|
|
237
|
+
const state = current;
|
|
238
|
+
return state === undefined ? latch.whenOpen(write(datagram)) : state.write(datagram, fiber);
|
|
239
|
+
});
|
|
240
|
+
const writeAll = datagrams => withFiber(fiber => {
|
|
241
|
+
const state = current;
|
|
242
|
+
return state === undefined ? latch.whenOpen(writeAll(datagrams)) : state.writeAll(datagrams, fiber);
|
|
243
|
+
});
|
|
244
|
+
const writer = Effect.succeed({
|
|
245
|
+
write,
|
|
246
|
+
writeAll
|
|
247
|
+
});
|
|
248
|
+
return make({
|
|
249
|
+
reader,
|
|
250
|
+
writer
|
|
251
|
+
});
|
|
252
|
+
};
|
|
253
|
+
const encoder = /*#__PURE__*/new TextEncoder();
|
|
254
|
+
const encode = payload => typeof payload === "string" ? encoder.encode(payload) : payload;
|
|
255
|
+
const emptyScopeIds = /*#__PURE__*/new Map();
|
|
256
|
+
const closedError = () => new DatagramSocketError({
|
|
257
|
+
reason: new DatagramSocketClosedError()
|
|
258
|
+
});
|
|
259
|
+
// Rejected writes return this sentinel, avoiding per-packet error type checks.
|
|
260
|
+
const rejected = {
|
|
261
|
+
host: "",
|
|
262
|
+
port: 0
|
|
263
|
+
};
|
|
264
|
+
class DatagramImpl {
|
|
265
|
+
payload;
|
|
266
|
+
host;
|
|
267
|
+
port;
|
|
268
|
+
owner;
|
|
269
|
+
#address;
|
|
270
|
+
constructor(payload, host, port, owner) {
|
|
271
|
+
this.payload = payload;
|
|
272
|
+
this.host = host;
|
|
273
|
+
this.port = port;
|
|
274
|
+
this.owner = owner;
|
|
275
|
+
}
|
|
276
|
+
get address() {
|
|
277
|
+
return this.#address ??= NetAddress.inetAddressFromNativeUnsafe(this.host, this.port, this.owner.scopeIds);
|
|
278
|
+
}
|
|
279
|
+
// only for a queued record, which no pull has returned yet
|
|
280
|
+
reuse(payload, host, port) {
|
|
281
|
+
this.payload = payload;
|
|
282
|
+
this.host = host;
|
|
283
|
+
this.port = port;
|
|
284
|
+
this.#address = undefined;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
const targetOf = datagram => "host" in datagram ? datagram : datagram.address;
|
|
288
|
+
class ReaderState {
|
|
289
|
+
capacity;
|
|
290
|
+
sliding;
|
|
291
|
+
listener;
|
|
292
|
+
events = {
|
|
293
|
+
onPacket: (payload, host, port) => this.push(payload, host, port),
|
|
294
|
+
onReadError: error => this.fail(error),
|
|
295
|
+
onError: error => this.report(error),
|
|
296
|
+
onClose: () => this.fail(closedError())
|
|
297
|
+
};
|
|
298
|
+
// set when `open` completes; packets can arrive before that
|
|
299
|
+
handle = undefined;
|
|
300
|
+
failure = undefined;
|
|
301
|
+
// separate from `failure`: after a sticky read error the socket is still
|
|
302
|
+
// open, so ICMP reports still reach `onError`
|
|
303
|
+
closed = false;
|
|
304
|
+
// Sliding overflow turns the full buffer into a ring, oldest at `head`.
|
|
305
|
+
buffer = [];
|
|
306
|
+
head = 0;
|
|
307
|
+
dropped = 0;
|
|
308
|
+
// A single consumer uses the first waiter slot without touching the array.
|
|
309
|
+
waiter = undefined;
|
|
310
|
+
waiters = [];
|
|
311
|
+
unpark = /*#__PURE__*/unpark(this);
|
|
312
|
+
bound = undefined;
|
|
313
|
+
// one-entry cache for `write` to the same explicit address
|
|
314
|
+
lastTarget = undefined;
|
|
315
|
+
lastDestination = undefined;
|
|
316
|
+
rejection = undefined;
|
|
317
|
+
constructor(capacity, sliding, listener) {
|
|
318
|
+
this.capacity = capacity;
|
|
319
|
+
this.sliding = sliding;
|
|
320
|
+
this.listener = listener;
|
|
321
|
+
}
|
|
322
|
+
push(payload, host, port) {
|
|
323
|
+
if (this.failure !== undefined) return;
|
|
324
|
+
if (this.buffer.length >= this.capacity) return this.overflow(payload, host, port);
|
|
325
|
+
const datagram = new DatagramImpl(payload, host, port, this);
|
|
326
|
+
if (this.waiter !== undefined) return this.wake(datagram);
|
|
327
|
+
const buffer = this.buffer;
|
|
328
|
+
buffer[buffer.length] = datagram;
|
|
329
|
+
}
|
|
330
|
+
wake(datagram) {
|
|
331
|
+
const fiber = this.waiter;
|
|
332
|
+
this.promoteWaiter();
|
|
333
|
+
fiber.evaluate(exitSucceed([datagram]));
|
|
334
|
+
}
|
|
335
|
+
overflow(payload, host, port) {
|
|
336
|
+
this.dropped++;
|
|
337
|
+
if (!this.sliding) return;
|
|
338
|
+
const buffer = this.buffer;
|
|
339
|
+
const head = this.head;
|
|
340
|
+
buffer[head].reuse(payload, host, port);
|
|
341
|
+
this.head = head + 1 === buffer.length ? 0 : head + 1;
|
|
342
|
+
}
|
|
343
|
+
take() {
|
|
344
|
+
const buffer = this.buffer;
|
|
345
|
+
const head = this.head;
|
|
346
|
+
this.buffer = [];
|
|
347
|
+
if (head === 0) return buffer;
|
|
348
|
+
this.head = 0;
|
|
349
|
+
const length = buffer.length;
|
|
350
|
+
const batch = new Array(length);
|
|
351
|
+
let j = 0;
|
|
352
|
+
for (let i = head; i < length; i++) batch[j++] = buffer[i];
|
|
353
|
+
for (let i = 0; i < head; i++) batch[j++] = buffer[i];
|
|
354
|
+
return batch;
|
|
355
|
+
}
|
|
356
|
+
park(fiber) {
|
|
357
|
+
if (this.waiter === undefined) this.waiter = fiber;else this.waiters.push(fiber);
|
|
358
|
+
}
|
|
359
|
+
promoteWaiter() {
|
|
360
|
+
this.waiter = this.waiters.length === 0 ? undefined : this.waiters.shift();
|
|
361
|
+
}
|
|
362
|
+
removeWaiter(fiber) {
|
|
363
|
+
if (this.waiter === fiber) return this.promoteWaiter();
|
|
364
|
+
if (this.waiters.length === 0) return;
|
|
365
|
+
const index = this.waiters.indexOf(fiber);
|
|
366
|
+
if (index !== -1) this.waiters.splice(index, 1);
|
|
367
|
+
}
|
|
368
|
+
failWaiters() {
|
|
369
|
+
const waiter = this.waiter;
|
|
370
|
+
if (waiter === undefined) return;
|
|
371
|
+
const failure = this.failure;
|
|
372
|
+
const waiters = this.waiters;
|
|
373
|
+
this.waiter = undefined;
|
|
374
|
+
this.waiters = [];
|
|
375
|
+
waiter.evaluate(failure);
|
|
376
|
+
for (let i = 0; i < waiters.length; i++) waiters[i].evaluate(failure);
|
|
377
|
+
}
|
|
378
|
+
fail(error) {
|
|
379
|
+
if (this.failure !== undefined) return;
|
|
380
|
+
this.failure = Effect.fail(error);
|
|
381
|
+
this.failWaiters();
|
|
382
|
+
}
|
|
383
|
+
close() {
|
|
384
|
+
this.closed = true;
|
|
385
|
+
this.buffer = [];
|
|
386
|
+
this.head = 0;
|
|
387
|
+
this.failure = Effect.fail(closedError());
|
|
388
|
+
this.failWaiters();
|
|
389
|
+
this.handle?.close();
|
|
390
|
+
}
|
|
391
|
+
report(error) {
|
|
392
|
+
const listener = this.listener;
|
|
393
|
+
if (listener === undefined || this.closed) return;
|
|
394
|
+
try {
|
|
395
|
+
listener(error);
|
|
396
|
+
} catch {
|
|
397
|
+
// Listener errors cannot fail native callbacks.
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
// packets can arrive before the handle does, so they read this lazily
|
|
401
|
+
get scopeIds() {
|
|
402
|
+
return this.handle?.scopeIds ?? emptyScopeIds;
|
|
403
|
+
}
|
|
404
|
+
get address() {
|
|
405
|
+
return this.bound ??= NetAddress.inetAddressFromNativeUnsafe(this.handle.address.host, this.handle.address.port, this.scopeIds);
|
|
406
|
+
}
|
|
407
|
+
// Synchronous sends avoid parking; async completions resume inline.
|
|
408
|
+
// Ignore completions after interruption.
|
|
409
|
+
write(datagram, fiber) {
|
|
410
|
+
if (this.failure !== undefined) return this.failure;
|
|
411
|
+
const target = targetOf(datagram);
|
|
412
|
+
const destination = this.destination(target);
|
|
413
|
+
if (destination === rejected) return Effect.fail(this.rejection);
|
|
414
|
+
const handle = this.handle;
|
|
415
|
+
const payload = encode(datagram.payload);
|
|
416
|
+
let result;
|
|
417
|
+
let parked = false;
|
|
418
|
+
handle.send(payload, destination, error => {
|
|
419
|
+
if (result !== undefined) return;
|
|
420
|
+
result = error === undefined ? Effect.void : Effect.fail(this.withAddress(error, target));
|
|
421
|
+
if (parked) fiber.evaluate(result);
|
|
422
|
+
});
|
|
423
|
+
if (result !== undefined) return result;
|
|
424
|
+
parked = true;
|
|
425
|
+
return fiber.yieldWith(() => {
|
|
426
|
+
parked = false;
|
|
427
|
+
});
|
|
428
|
+
}
|
|
429
|
+
writeAll(datagrams, fiber) {
|
|
430
|
+
if (this.failure !== undefined) return this.failure;
|
|
431
|
+
const payloads = new Array(datagrams.length);
|
|
432
|
+
const destinations = new Array(datagrams.length);
|
|
433
|
+
for (let i = 0; i < datagrams.length; i++) {
|
|
434
|
+
const datagram = datagrams[i];
|
|
435
|
+
const destination = this.destination(targetOf(datagram));
|
|
436
|
+
if (destination === rejected) return Effect.fail(this.rejection);
|
|
437
|
+
payloads[i] = encode(datagram.payload);
|
|
438
|
+
destinations[i] = destination;
|
|
439
|
+
}
|
|
440
|
+
let result;
|
|
441
|
+
let parked = false;
|
|
442
|
+
this.handle.sendMany(payloads, destinations, (error, index) => {
|
|
443
|
+
if (result !== undefined) return;
|
|
444
|
+
result = error === undefined ? Effect.void : Effect.fail(index === undefined ? error : this.withAddress(error, targetOf(datagrams[index])));
|
|
445
|
+
if (parked) fiber.evaluate(result);
|
|
446
|
+
});
|
|
447
|
+
if (result !== undefined) return result;
|
|
448
|
+
parked = true;
|
|
449
|
+
return fiber.yieldWith(() => {
|
|
450
|
+
parked = false;
|
|
451
|
+
});
|
|
452
|
+
}
|
|
453
|
+
// Returns `rejected` on failure, with the error stored in `rejection`.
|
|
454
|
+
destination(target) {
|
|
455
|
+
const handle = this.handle;
|
|
456
|
+
if (target === undefined) {
|
|
457
|
+
if (handle.connected) return undefined;
|
|
458
|
+
return handle.peer ?? this.reject("DatagramSocket write has no destination and the socket has no peer");
|
|
459
|
+
}
|
|
460
|
+
if (!("_tag" in target)) return handle.connected ? undefined : target;
|
|
461
|
+
if (handle.connected) return this.reject("an explicit address cannot be used on a connected DatagramSocket", target);
|
|
462
|
+
if (target === this.lastTarget) return this.lastDestination;
|
|
463
|
+
const destination = {
|
|
464
|
+
host: NetAddress.formatNativeHost(target, this.scopeIds),
|
|
465
|
+
port: target.port
|
|
466
|
+
};
|
|
467
|
+
this.lastTarget = target;
|
|
468
|
+
this.lastDestination = destination;
|
|
469
|
+
return destination;
|
|
470
|
+
}
|
|
471
|
+
reject(message, address) {
|
|
472
|
+
this.rejection = new DatagramSocketError({
|
|
473
|
+
reason: new DatagramSocketWriteError({
|
|
474
|
+
kind: "Unknown",
|
|
475
|
+
address,
|
|
476
|
+
cause: new Error(message)
|
|
477
|
+
})
|
|
478
|
+
});
|
|
479
|
+
return rejected;
|
|
480
|
+
}
|
|
481
|
+
withAddress(error, target) {
|
|
482
|
+
const reason = error.reason;
|
|
483
|
+
if (reason._tag !== "DatagramSocketWriteError" || reason.address !== undefined) return error;
|
|
484
|
+
const address = this.addressOf(target);
|
|
485
|
+
if (address === undefined) return error;
|
|
486
|
+
return new DatagramSocketError({
|
|
487
|
+
reason: new DatagramSocketWriteError({
|
|
488
|
+
kind: reason.kind,
|
|
489
|
+
address,
|
|
490
|
+
cause: reason.cause
|
|
491
|
+
})
|
|
492
|
+
});
|
|
493
|
+
}
|
|
494
|
+
addressOf(target) {
|
|
495
|
+
try {
|
|
496
|
+
if (target !== undefined) return "_tag" in target ? target : target.address;
|
|
497
|
+
const peer = this.handle.peer;
|
|
498
|
+
return peer === undefined ? undefined : NetAddress.inetAddressFromNativeUnsafe(peer.host, peer.port, this.scopeIds);
|
|
499
|
+
} catch {
|
|
500
|
+
// an unknown IPv6 zone leaves the address out
|
|
501
|
+
return undefined;
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
// Park the fiber itself and resume it inline, avoiding `Effect.callback` allocations.
|
|
506
|
+
const makePull = state => withFiber(fiber => {
|
|
507
|
+
if (state.buffer.length !== 0) {
|
|
508
|
+
const batch = state.take();
|
|
509
|
+
const cont = fiber.getCont(contA);
|
|
510
|
+
return cont ? cont[contA](batch, fiber) : fiber.yieldWith(exitSucceed(batch));
|
|
511
|
+
}
|
|
512
|
+
if (state.failure !== undefined) return state.failure;
|
|
513
|
+
state.park(fiber);
|
|
514
|
+
fiber._stack.push(state.unpark);
|
|
515
|
+
return fiber.yieldWith(constVoid);
|
|
516
|
+
});
|
|
517
|
+
// `contAll` removes interrupted waiters too; after a wake, removal is a no-op.
|
|
518
|
+
const unpark = /*#__PURE__*/makePrimitive({
|
|
519
|
+
op: "DatagramSocketUnpark",
|
|
520
|
+
[contAll](fiber) {
|
|
521
|
+
this[args].removeWaiter(fiber);
|
|
522
|
+
}
|
|
523
|
+
});
|
|
524
|
+
const makeReader = state => ({
|
|
525
|
+
pull: makePull(state),
|
|
526
|
+
get address() {
|
|
527
|
+
return state.address;
|
|
528
|
+
},
|
|
529
|
+
dropped: () => state.dropped,
|
|
530
|
+
joinMulticast: options => Effect.suspend(() => {
|
|
531
|
+
if (state.failure !== undefined) return state.failure;
|
|
532
|
+
return Effect.acquireRelease(state.handle.joinMulticast(options), leave => state.closed ? Effect.void : Effect.ignoreCause(leave()));
|
|
533
|
+
})
|
|
534
|
+
});
|
|
535
|
+
//# sourceMappingURL=DatagramSocket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatagramSocket.js","names":[],"sources":["../../src/socket/DatagramSocket.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/socket/Socket.d.ts
CHANGED
|
@@ -527,13 +527,18 @@ export interface WebSocketLike {
|
|
|
527
527
|
send(data: string | Uint8Array<ArrayBuffer>): void;
|
|
528
528
|
}
|
|
529
529
|
/**
|
|
530
|
-
*
|
|
530
|
+
* Client options for Node and Bun WebSocket implementations, allowing
|
|
531
|
+
* handshake headers and subprotocols to be supplied together.
|
|
531
532
|
*
|
|
532
533
|
* @stability unstable
|
|
533
534
|
* @category models
|
|
534
535
|
* @since 4.0.0
|
|
535
536
|
*/
|
|
536
537
|
export interface WebSocketClientOptions {
|
|
538
|
+
/**
|
|
539
|
+
* Subprotocols to offer in the opening handshake.
|
|
540
|
+
*/
|
|
541
|
+
readonly protocols?: string | Array<string> | undefined;
|
|
537
542
|
/**
|
|
538
543
|
* Headers to include in the opening handshake.
|
|
539
544
|
*
|
|
@@ -580,6 +585,7 @@ export declare class WebSocketConstructor extends WebSocketConstructor_base {
|
|
|
580
585
|
}
|
|
581
586
|
/**
|
|
582
587
|
* Layer that provides `WebSocketConstructor` using `globalThis.WebSocket`.
|
|
588
|
+
* Rejects client options objects, including those with handshake headers.
|
|
583
589
|
*
|
|
584
590
|
* @stability unstable
|
|
585
591
|
* @category layers
|
|
@@ -589,6 +595,8 @@ export declare const layerWebSocketConstructorGlobal: Layer.Layer<WebSocketConst
|
|
|
589
595
|
/**
|
|
590
596
|
* Creates a `Socket` backed by a `WebSocketConstructor`, dialing the
|
|
591
597
|
* WebSocket for each reader acquisition.
|
|
598
|
+
* Optional handshake headers require a Node or Bun constructor; without
|
|
599
|
+
* headers, protocols are passed directly for browser compatibility.
|
|
592
600
|
*
|
|
593
601
|
* @stability unstable
|
|
594
602
|
* @category constructors
|
|
@@ -597,6 +605,7 @@ export declare const layerWebSocketConstructorGlobal: Layer.Layer<WebSocketConst
|
|
|
597
605
|
export declare const makeWebSocket: (url: string | Effect.Effect<string>, options?: {
|
|
598
606
|
readonly openTimeout?: Duration.Input | undefined;
|
|
599
607
|
readonly protocols?: string | Array<string> | undefined;
|
|
608
|
+
readonly headers?: Readonly<Record<string, string>> | undefined;
|
|
600
609
|
readonly highWaterMark?: number | undefined;
|
|
601
610
|
}) => Effect.Effect<Socket, never, WebSocketConstructor>;
|
|
602
611
|
/**
|
|
@@ -625,6 +634,7 @@ export declare const fromWebSocket: <RO, WS extends WebSocketLike>(acquire: Effe
|
|
|
625
634
|
/**
|
|
626
635
|
* Creates a binary `Channel` backed by a WebSocket URL, requiring a
|
|
627
636
|
* `WebSocketConstructor` service.
|
|
637
|
+
* Supports subprotocols and, with a Node or Bun constructor, handshake headers.
|
|
628
638
|
*
|
|
629
639
|
* @stability unstable
|
|
630
640
|
* @category constructors
|
|
@@ -633,11 +643,13 @@ export declare const fromWebSocket: <RO, WS extends WebSocketLike>(acquire: Effe
|
|
|
633
643
|
export declare const makeWebSocketChannel: <IE = never>(url: string, options?: {
|
|
634
644
|
readonly openTimeout?: Duration.Input | undefined;
|
|
635
645
|
readonly protocols?: string | Array<string> | undefined;
|
|
646
|
+
readonly headers?: Readonly<Record<string, string>> | undefined;
|
|
636
647
|
readonly highWaterMark?: number | undefined;
|
|
637
648
|
}) => Channel.Channel<NonEmptyReadonlyArray<Uint8Array>, SocketError | IE, void, NonEmptyReadonlyArray<Uint8Array | string | CloseEvent>, IE, unknown, WebSocketConstructor>;
|
|
638
649
|
/**
|
|
639
650
|
* Layer that provides a `Socket` service backed by a WebSocket URL or URL
|
|
640
651
|
* effect.
|
|
652
|
+
* Supports subprotocols and, with a Node or Bun constructor, handshake headers.
|
|
641
653
|
*
|
|
642
654
|
* @stability unstable
|
|
643
655
|
* @category layers
|
|
@@ -646,6 +658,7 @@ export declare const makeWebSocketChannel: <IE = never>(url: string, options?: {
|
|
|
646
658
|
export declare const layerWebSocket: (url: string | Effect.Effect<string>, options?: {
|
|
647
659
|
readonly openTimeout?: Duration.Input | undefined;
|
|
648
660
|
readonly protocols?: string | Array<string> | undefined;
|
|
661
|
+
readonly headers?: Readonly<Record<string, string>> | undefined;
|
|
649
662
|
readonly highWaterMark?: number | undefined;
|
|
650
663
|
} | undefined) => Layer.Layer<Socket, never, WebSocketConstructor>;
|
|
651
664
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Socket.d.ts","sourceRoot":"","sources":["../../src/socket/Socket.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Socket.d.ts","sourceRoot":"","sources":["../../src/socket/Socket.ts"],"names":[],"mappings":"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"}
|