@effect/platform 0.48.3 → 0.48.5
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/cjs/Socket.js +21 -27
- package/dist/cjs/Socket.js.map +1 -1
- package/dist/dts/Socket.d.ts.map +1 -1
- package/dist/esm/Socket.js +21 -27
- package/dist/esm/Socket.js.map +1 -1
- package/package.json +3 -3
- package/src/Socket.ts +29 -28
package/dist/cjs/Socket.js
CHANGED
|
@@ -10,7 +10,6 @@ var Chunk = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/C
|
|
|
10
10
|
var Context = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Context"));
|
|
11
11
|
var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
|
|
12
12
|
var Exit = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Exit"));
|
|
13
|
-
var Fiber = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Fiber"));
|
|
14
13
|
var FiberSet = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/FiberSet"));
|
|
15
14
|
var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
|
|
16
15
|
var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Option"));
|
|
@@ -168,7 +167,7 @@ const toChannel = self => Channel.unwrap(Effect.gen(function* (_) {
|
|
|
168
167
|
return Scope.close(writeScope, Exit.unit);
|
|
169
168
|
}
|
|
170
169
|
};
|
|
171
|
-
yield* _(self.run(data => Queue.offer(exitQueue, Exit.succeed(Chunk.of(data)))), Effect.zipRight(Effect.failCause(Cause.empty)), Effect.exit, Effect.tap(exit => Queue.offer(exitQueue, exit)), Effect.fork);
|
|
170
|
+
yield* _(self.run(data => Queue.offer(exitQueue, Exit.succeed(Chunk.of(data)))), Effect.zipRight(Effect.failCause(Cause.empty)), Effect.exit, Effect.tap(exit => Queue.offer(exitQueue, exit)), Effect.fork, Effect.interruptible);
|
|
172
171
|
const loop = Channel.flatMap(Queue.take(exitQueue), Exit.match({
|
|
173
172
|
onFailure: cause => Cause.isEmptyType(cause) ? Channel.unit : Channel.failCause(cause),
|
|
174
173
|
onSuccess: chunk => Channel.zipRight(Channel.write(chunk), loop)
|
|
@@ -219,29 +218,38 @@ const fromWebSocket = (acquire, options) => Effect.gen(function* (_) {
|
|
|
219
218
|
const encoder = new TextEncoder();
|
|
220
219
|
const fiberSet = yield* _(FiberSet.make());
|
|
221
220
|
const run = yield* _(FiberSet.runtime(fiberSet)(), Effect.provideService(WebSocket, ws));
|
|
221
|
+
let open = false;
|
|
222
222
|
ws.onmessage = event => {
|
|
223
223
|
run(handler(event.data instanceof Uint8Array ? event.data : typeof event.data === "string" ? encoder.encode(event.data) : new Uint8Array(event.data)));
|
|
224
224
|
};
|
|
225
|
+
ws.onclose = event => {
|
|
226
|
+
run(Effect.fail(new SocketCloseError({
|
|
227
|
+
reason: "Close",
|
|
228
|
+
code: event.code,
|
|
229
|
+
closeReason: event.reason
|
|
230
|
+
})));
|
|
231
|
+
};
|
|
232
|
+
ws.onerror = error => {
|
|
233
|
+
run(Effect.fail(new SocketGenericError({
|
|
234
|
+
reason: open ? "Read" : "Open",
|
|
235
|
+
error: error.message
|
|
236
|
+
})));
|
|
237
|
+
};
|
|
225
238
|
if (ws.readyState !== _isomorphicWs.default.OPEN) {
|
|
226
239
|
yield* _(Effect.async(resume => {
|
|
227
240
|
ws.onopen = () => {
|
|
228
241
|
resume(Effect.unit);
|
|
229
242
|
};
|
|
230
|
-
ws.onerror = error_ => {
|
|
231
|
-
resume(Effect.fail(new SocketGenericError({
|
|
232
|
-
reason: "Open",
|
|
233
|
-
error: error_.message
|
|
234
|
-
})));
|
|
235
|
-
};
|
|
236
243
|
}), Effect.timeoutFail({
|
|
237
244
|
duration: options?.openTimeout ?? 10000,
|
|
238
245
|
onTimeout: () => new SocketGenericError({
|
|
239
246
|
reason: "OpenTimeout",
|
|
240
247
|
error: "timeout waiting for \"open\""
|
|
241
248
|
})
|
|
242
|
-
}));
|
|
249
|
+
}), Effect.raceFirst(FiberSet.join(fiberSet)));
|
|
243
250
|
}
|
|
244
|
-
|
|
251
|
+
open = true;
|
|
252
|
+
yield* _(Queue.take(sendQueue), Effect.tap(chunk => isCloseEvent(chunk) ? Effect.failSync(() => {
|
|
245
253
|
ws.close(chunk.code, chunk.reason);
|
|
246
254
|
return new SocketCloseError({
|
|
247
255
|
reason: "Close",
|
|
@@ -254,23 +262,9 @@ const fromWebSocket = (acquire, options) => Effect.gen(function* (_) {
|
|
|
254
262
|
reason: "Write",
|
|
255
263
|
error: error.message
|
|
256
264
|
})
|
|
257
|
-
})), Effect.forever, Effect.
|
|
258
|
-
yield* _(Effect.
|
|
259
|
-
|
|
260
|
-
resume(Effect.fail(new SocketCloseError({
|
|
261
|
-
reason: "Close",
|
|
262
|
-
code: event.code,
|
|
263
|
-
closeReason: event.reason
|
|
264
|
-
})));
|
|
265
|
-
};
|
|
266
|
-
ws.onerror = error => {
|
|
267
|
-
resume(Effect.fail(new SocketGenericError({
|
|
268
|
-
reason: "Read",
|
|
269
|
-
error: error.message
|
|
270
|
-
})));
|
|
271
|
-
};
|
|
272
|
-
}), Effect.raceFirst(FiberSet.join(fiberSet)), Effect.raceFirst(Fiber.join(writeFiber)), Effect.catchIf(SocketCloseError.isClean(_ => !closeCodeIsError(_)), _ => Effect.unit));
|
|
273
|
-
}).pipe(Effect.scoped);
|
|
265
|
+
})), Effect.forever, Effect.withUnhandledErrorLogLevel(Option.none()), FiberSet.run(fiberSet));
|
|
266
|
+
yield* _(FiberSet.join(fiberSet), Effect.catchIf(SocketCloseError.isClean(_ => !closeCodeIsError(_)), _ => Effect.unit));
|
|
267
|
+
}).pipe(Effect.scoped, Effect.interruptible);
|
|
274
268
|
const write = chunk => Queue.offer(sendQueue, chunk);
|
|
275
269
|
const writer = Effect.succeed(write);
|
|
276
270
|
return Socket.of({
|
package/dist/cjs/Socket.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Socket.js","names":["Cause","_interopRequireWildcard","require","Channel","Chunk","Context","Effect","Exit","Fiber","FiberSet","Layer","Option","Predicate","Queue","Scope","_isomorphicWs","_interopRequireDefault","_Error","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","TypeId","exports","Symbol","for","Socket","GenericTag","CloseEventTypeId","CloseEvent","code","reason","constructor","toString","isCloseEvent","hasProperty","SocketErrorTypeId","isSocketError","SocketGenericError","RefailError","message","SocketCloseError","TypeIdError","is","isClean","closeReason","toChannel","self","unwrap","gen","_","writeScope","make","write","extend","writer","exitQueue","unbounded","input","awaitRead","unit","emit","chunk","catchAllCause","forEach","discard","cause","offer","failCause","error","zipRight","close","done","run","data","succeed","of","empty","exit","tap","fork","loop","flatMap","take","match","onFailure","isEmptyType","onSuccess","embedInput","toChannelWith","makeChannel","map","defaultCloseCodeIsError","WebSocket","makeWebSocket","url","options","fromWebSocket","acquireRelease","WS","globalThis","ws","sync","acquire","closeCodeIsError","sendQueue","handler","encoder","TextEncoder","fiberSet","runtime","provideService","onmessage","event","Uint8Array","encode","readyState","OPEN","async","resume","onopen","onerror","error_","fail","timeoutFail","duration","openTimeout","onTimeout","writeFiber","failSync","try","send","catch","forever","withUnhandledErrorLogLevel","none","onclose","raceFirst","join","catchIf","pipe","scoped","makeWebSocketChannel","unwrapScoped","layerWebSocket"],"sources":["../../src/Socket.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Socket.js","names":["Cause","_interopRequireWildcard","require","Channel","Chunk","Context","Effect","Exit","FiberSet","Layer","Option","Predicate","Queue","Scope","_isomorphicWs","_interopRequireDefault","_Error","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","TypeId","exports","Symbol","for","Socket","GenericTag","CloseEventTypeId","CloseEvent","code","reason","constructor","toString","isCloseEvent","hasProperty","SocketErrorTypeId","isSocketError","SocketGenericError","RefailError","message","SocketCloseError","TypeIdError","is","isClean","closeReason","toChannel","self","unwrap","gen","_","writeScope","make","write","extend","writer","exitQueue","unbounded","input","awaitRead","unit","emit","chunk","catchAllCause","forEach","discard","cause","offer","failCause","error","zipRight","close","done","run","data","succeed","of","empty","exit","tap","fork","interruptible","loop","flatMap","take","match","onFailure","isEmptyType","onSuccess","embedInput","toChannelWith","makeChannel","map","defaultCloseCodeIsError","WebSocket","makeWebSocket","url","options","fromWebSocket","acquireRelease","WS","globalThis","ws","sync","acquire","closeCodeIsError","sendQueue","handler","encoder","TextEncoder","fiberSet","runtime","provideService","open","onmessage","event","Uint8Array","encode","onclose","fail","onerror","readyState","OPEN","async","resume","onopen","timeoutFail","duration","openTimeout","onTimeout","raceFirst","join","failSync","try","send","catch","forever","withUnhandledErrorLogLevel","none","catchIf","pipe","scoped","makeWebSocketChannel","unwrapScoped","layerWebSocket"],"sources":["../../src/Socket.ts"],"sourcesContent":[null],"mappings":"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"}
|
package/dist/dts/Socket.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Socket.d.ts","sourceRoot":"","sources":["../../src/Socket.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"Socket.d.ts","sourceRoot":"","sources":["../../src/Socket.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/Socket.js
CHANGED
|
@@ -7,7 +7,6 @@ import * as Chunk from "effect/Chunk";
|
|
|
7
7
|
import * as Context from "effect/Context";
|
|
8
8
|
import * as Effect from "effect/Effect";
|
|
9
9
|
import * as Exit from "effect/Exit";
|
|
10
|
-
import * as Fiber from "effect/Fiber";
|
|
11
10
|
import * as FiberSet from "effect/FiberSet";
|
|
12
11
|
import * as Layer from "effect/Layer";
|
|
13
12
|
import * as Option from "effect/Option";
|
|
@@ -126,7 +125,7 @@ export const toChannel = self => Channel.unwrap(Effect.gen(function* (_) {
|
|
|
126
125
|
return Scope.close(writeScope, Exit.unit);
|
|
127
126
|
}
|
|
128
127
|
};
|
|
129
|
-
yield* _(self.run(data => Queue.offer(exitQueue, Exit.succeed(Chunk.of(data)))), Effect.zipRight(Effect.failCause(Cause.empty)), Effect.exit, Effect.tap(exit => Queue.offer(exitQueue, exit)), Effect.fork);
|
|
128
|
+
yield* _(self.run(data => Queue.offer(exitQueue, Exit.succeed(Chunk.of(data)))), Effect.zipRight(Effect.failCause(Cause.empty)), Effect.exit, Effect.tap(exit => Queue.offer(exitQueue, exit)), Effect.fork, Effect.interruptible);
|
|
130
129
|
const loop = Channel.flatMap(Queue.take(exitQueue), Exit.match({
|
|
131
130
|
onFailure: cause => Cause.isEmptyType(cause) ? Channel.unit : Channel.failCause(cause),
|
|
132
131
|
onSuccess: chunk => Channel.zipRight(Channel.write(chunk), loop)
|
|
@@ -172,29 +171,38 @@ export const fromWebSocket = (acquire, options) => Effect.gen(function* (_) {
|
|
|
172
171
|
const encoder = new TextEncoder();
|
|
173
172
|
const fiberSet = yield* _(FiberSet.make());
|
|
174
173
|
const run = yield* _(FiberSet.runtime(fiberSet)(), Effect.provideService(WebSocket, ws));
|
|
174
|
+
let open = false;
|
|
175
175
|
ws.onmessage = event => {
|
|
176
176
|
run(handler(event.data instanceof Uint8Array ? event.data : typeof event.data === "string" ? encoder.encode(event.data) : new Uint8Array(event.data)));
|
|
177
177
|
};
|
|
178
|
+
ws.onclose = event => {
|
|
179
|
+
run(Effect.fail(new SocketCloseError({
|
|
180
|
+
reason: "Close",
|
|
181
|
+
code: event.code,
|
|
182
|
+
closeReason: event.reason
|
|
183
|
+
})));
|
|
184
|
+
};
|
|
185
|
+
ws.onerror = error => {
|
|
186
|
+
run(Effect.fail(new SocketGenericError({
|
|
187
|
+
reason: open ? "Read" : "Open",
|
|
188
|
+
error: error.message
|
|
189
|
+
})));
|
|
190
|
+
};
|
|
178
191
|
if (ws.readyState !== IsoWebSocket.OPEN) {
|
|
179
192
|
yield* _(Effect.async(resume => {
|
|
180
193
|
ws.onopen = () => {
|
|
181
194
|
resume(Effect.unit);
|
|
182
195
|
};
|
|
183
|
-
ws.onerror = error_ => {
|
|
184
|
-
resume(Effect.fail(new SocketGenericError({
|
|
185
|
-
reason: "Open",
|
|
186
|
-
error: error_.message
|
|
187
|
-
})));
|
|
188
|
-
};
|
|
189
196
|
}), Effect.timeoutFail({
|
|
190
197
|
duration: options?.openTimeout ?? 10000,
|
|
191
198
|
onTimeout: () => new SocketGenericError({
|
|
192
199
|
reason: "OpenTimeout",
|
|
193
200
|
error: "timeout waiting for \"open\""
|
|
194
201
|
})
|
|
195
|
-
}));
|
|
202
|
+
}), Effect.raceFirst(FiberSet.join(fiberSet)));
|
|
196
203
|
}
|
|
197
|
-
|
|
204
|
+
open = true;
|
|
205
|
+
yield* _(Queue.take(sendQueue), Effect.tap(chunk => isCloseEvent(chunk) ? Effect.failSync(() => {
|
|
198
206
|
ws.close(chunk.code, chunk.reason);
|
|
199
207
|
return new SocketCloseError({
|
|
200
208
|
reason: "Close",
|
|
@@ -207,23 +215,9 @@ export const fromWebSocket = (acquire, options) => Effect.gen(function* (_) {
|
|
|
207
215
|
reason: "Write",
|
|
208
216
|
error: error.message
|
|
209
217
|
})
|
|
210
|
-
})), Effect.forever, Effect.
|
|
211
|
-
yield* _(Effect.
|
|
212
|
-
|
|
213
|
-
resume(Effect.fail(new SocketCloseError({
|
|
214
|
-
reason: "Close",
|
|
215
|
-
code: event.code,
|
|
216
|
-
closeReason: event.reason
|
|
217
|
-
})));
|
|
218
|
-
};
|
|
219
|
-
ws.onerror = error => {
|
|
220
|
-
resume(Effect.fail(new SocketGenericError({
|
|
221
|
-
reason: "Read",
|
|
222
|
-
error: error.message
|
|
223
|
-
})));
|
|
224
|
-
};
|
|
225
|
-
}), Effect.raceFirst(FiberSet.join(fiberSet)), Effect.raceFirst(Fiber.join(writeFiber)), Effect.catchIf(SocketCloseError.isClean(_ => !closeCodeIsError(_)), _ => Effect.unit));
|
|
226
|
-
}).pipe(Effect.scoped);
|
|
218
|
+
})), Effect.forever, Effect.withUnhandledErrorLogLevel(Option.none()), FiberSet.run(fiberSet));
|
|
219
|
+
yield* _(FiberSet.join(fiberSet), Effect.catchIf(SocketCloseError.isClean(_ => !closeCodeIsError(_)), _ => Effect.unit));
|
|
220
|
+
}).pipe(Effect.scoped, Effect.interruptible);
|
|
227
221
|
const write = chunk => Queue.offer(sendQueue, chunk);
|
|
228
222
|
const writer = Effect.succeed(write);
|
|
229
223
|
return Socket.of({
|
package/dist/esm/Socket.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Socket.js","names":["Cause","Channel","Chunk","Context","Effect","Exit","
|
|
1
|
+
{"version":3,"file":"Socket.js","names":["Cause","Channel","Chunk","Context","Effect","Exit","FiberSet","Layer","Option","Predicate","Queue","Scope","IsoWebSocket","RefailError","TypeIdError","TypeId","Symbol","for","Socket","GenericTag","CloseEventTypeId","CloseEvent","code","reason","constructor","toString","isCloseEvent","u","hasProperty","SocketErrorTypeId","isSocketError","SocketGenericError","message","SocketCloseError","is","isClean","closeReason","toChannel","self","unwrap","gen","_","writeScope","make","write","extend","writer","exitQueue","unbounded","input","awaitRead","unit","emit","chunk","catchAllCause","forEach","discard","cause","offer","failCause","error","zipRight","close","done","run","data","succeed","of","empty","exit","tap","fork","interruptible","loop","flatMap","take","match","onFailure","isEmptyType","onSuccess","embedInput","toChannelWith","makeChannel","map","defaultCloseCodeIsError","WebSocket","makeWebSocket","url","options","fromWebSocket","acquireRelease","WS","globalThis","ws","sync","acquire","closeCodeIsError","sendQueue","handler","encoder","TextEncoder","fiberSet","runtime","provideService","open","onmessage","event","Uint8Array","encode","onclose","fail","onerror","readyState","OPEN","async","resume","onopen","timeoutFail","duration","openTimeout","onTimeout","raceFirst","join","failSync","try","send","catch","forever","withUnhandledErrorLogLevel","none","catchIf","pipe","scoped","makeWebSocketChannel","unwrapScoped","layerWebSocket"],"sources":["../../src/Socket.ts"],"sourcesContent":[null],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/platform",
|
|
3
|
-
"version": "0.48.
|
|
3
|
+
"version": "0.48.5",
|
|
4
4
|
"description": "Unified interfaces for common platform-specific services",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
"path-browserify": "^1.0.1"
|
|
17
17
|
},
|
|
18
18
|
"peerDependencies": {
|
|
19
|
-
"effect": "^
|
|
20
|
-
"
|
|
19
|
+
"@effect/schema": "^0.64.3",
|
|
20
|
+
"effect": "^2.4.6"
|
|
21
21
|
},
|
|
22
22
|
"main": "./dist/cjs/index.js",
|
|
23
23
|
"module": "./dist/esm/index.js",
|
package/src/Socket.ts
CHANGED
|
@@ -8,7 +8,6 @@ import * as Context from "effect/Context"
|
|
|
8
8
|
import type { DurationInput } from "effect/Duration"
|
|
9
9
|
import * as Effect from "effect/Effect"
|
|
10
10
|
import * as Exit from "effect/Exit"
|
|
11
|
-
import * as Fiber from "effect/Fiber"
|
|
12
11
|
import * as FiberSet from "effect/FiberSet"
|
|
13
12
|
import * as Layer from "effect/Layer"
|
|
14
13
|
import * as Option from "effect/Option"
|
|
@@ -202,7 +201,8 @@ export const toChannel = <IE>(
|
|
|
202
201
|
Effect.zipRight(Effect.failCause(Cause.empty)),
|
|
203
202
|
Effect.exit,
|
|
204
203
|
Effect.tap((exit) => Queue.offer(exitQueue, exit)),
|
|
205
|
-
Effect.fork
|
|
204
|
+
Effect.fork,
|
|
205
|
+
Effect.interruptible
|
|
206
206
|
)
|
|
207
207
|
|
|
208
208
|
const loop: Channel.Channel<Chunk.Chunk<Uint8Array>, unknown, SocketError | IE, unknown, void, unknown> = Channel
|
|
@@ -315,6 +315,7 @@ export const fromWebSocket = (
|
|
|
315
315
|
FiberSet.runtime(fiberSet)<R>(),
|
|
316
316
|
Effect.provideService(WebSocket, ws)
|
|
317
317
|
)
|
|
318
|
+
let open = false
|
|
318
319
|
|
|
319
320
|
ws.onmessage = (event) => {
|
|
320
321
|
run(
|
|
@@ -327,6 +328,20 @@ export const fromWebSocket = (
|
|
|
327
328
|
)
|
|
328
329
|
)
|
|
329
330
|
}
|
|
331
|
+
ws.onclose = (event) => {
|
|
332
|
+
run(
|
|
333
|
+
Effect.fail(
|
|
334
|
+
new SocketCloseError({
|
|
335
|
+
reason: "Close",
|
|
336
|
+
code: event.code,
|
|
337
|
+
closeReason: event.reason
|
|
338
|
+
})
|
|
339
|
+
)
|
|
340
|
+
)
|
|
341
|
+
}
|
|
342
|
+
ws.onerror = (error) => {
|
|
343
|
+
run(Effect.fail(new SocketGenericError({ reason: open ? "Read" : "Open", error: (error as any).message })))
|
|
344
|
+
}
|
|
330
345
|
|
|
331
346
|
if (ws.readyState !== IsoWebSocket.OPEN) {
|
|
332
347
|
yield* _(
|
|
@@ -334,18 +349,18 @@ export const fromWebSocket = (
|
|
|
334
349
|
ws.onopen = () => {
|
|
335
350
|
resume(Effect.unit)
|
|
336
351
|
}
|
|
337
|
-
ws.onerror = (error_) => {
|
|
338
|
-
resume(Effect.fail(new SocketGenericError({ reason: "Open", error: (error_ as any).message })))
|
|
339
|
-
}
|
|
340
352
|
}),
|
|
341
353
|
Effect.timeoutFail({
|
|
342
354
|
duration: options?.openTimeout ?? 10000,
|
|
343
355
|
onTimeout: () => new SocketGenericError({ reason: "OpenTimeout", error: "timeout waiting for \"open\"" })
|
|
344
|
-
})
|
|
356
|
+
}),
|
|
357
|
+
Effect.raceFirst(FiberSet.join(fiberSet))
|
|
345
358
|
)
|
|
346
359
|
}
|
|
347
360
|
|
|
348
|
-
|
|
361
|
+
open = true
|
|
362
|
+
|
|
363
|
+
yield* _(
|
|
349
364
|
Queue.take(sendQueue),
|
|
350
365
|
Effect.tap((chunk) =>
|
|
351
366
|
isCloseEvent(chunk) ?
|
|
@@ -363,35 +378,21 @@ export const fromWebSocket = (
|
|
|
363
378
|
})
|
|
364
379
|
),
|
|
365
380
|
Effect.forever,
|
|
366
|
-
Effect.
|
|
367
|
-
|
|
381
|
+
Effect.withUnhandledErrorLogLevel(Option.none()),
|
|
382
|
+
FiberSet.run(fiberSet)
|
|
368
383
|
)
|
|
369
384
|
|
|
370
385
|
yield* _(
|
|
371
|
-
|
|
372
|
-
ws.onclose = (event) => {
|
|
373
|
-
resume(
|
|
374
|
-
Effect.fail(
|
|
375
|
-
new SocketCloseError({
|
|
376
|
-
reason: "Close",
|
|
377
|
-
code: event.code,
|
|
378
|
-
closeReason: event.reason
|
|
379
|
-
})
|
|
380
|
-
)
|
|
381
|
-
)
|
|
382
|
-
}
|
|
383
|
-
ws.onerror = (error) => {
|
|
384
|
-
resume(Effect.fail(new SocketGenericError({ reason: "Read", error: (error as any).message })))
|
|
385
|
-
}
|
|
386
|
-
}),
|
|
387
|
-
Effect.raceFirst(FiberSet.join(fiberSet)),
|
|
388
|
-
Effect.raceFirst(Fiber.join(writeFiber)),
|
|
386
|
+
FiberSet.join(fiberSet),
|
|
389
387
|
Effect.catchIf(
|
|
390
388
|
SocketCloseError.isClean((_) => !closeCodeIsError(_)),
|
|
391
389
|
(_) => Effect.unit
|
|
392
390
|
)
|
|
393
391
|
)
|
|
394
|
-
}).pipe(
|
|
392
|
+
}).pipe(
|
|
393
|
+
Effect.scoped,
|
|
394
|
+
Effect.interruptible
|
|
395
|
+
)
|
|
395
396
|
|
|
396
397
|
const write = (chunk: Uint8Array | CloseEvent) => Queue.offer(sendQueue, chunk)
|
|
397
398
|
const writer = Effect.succeed(write)
|