@effect/platform 0.52.3 → 0.53.0
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 +11 -10
- package/dist/cjs/Socket.js.map +1 -1
- package/dist/dts/Socket.d.ts +17 -5
- package/dist/dts/Socket.d.ts.map +1 -1
- package/dist/esm/Socket.js +10 -9
- package/dist/esm/Socket.js.map +1 -1
- package/package.json +1 -2
- package/src/Socket.ts +36 -15
package/dist/cjs/Socket.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.toChannelWith = exports.toChannel = exports.makeWebSocketChannel = exports.makeWebSocket = exports.makeChannel = exports.layerWebSocket = exports.isSocketError = exports.isCloseEvent = exports.fromWebSocket = exports.defaultCloseCodeIsError = exports.WebSocket = exports.TypeId = exports.SocketGenericError = exports.SocketErrorTypeId = exports.SocketCloseError = exports.Socket = exports.CloseEventTypeId = exports.CloseEvent = void 0;
|
|
6
|
+
exports.toChannelWith = exports.toChannel = exports.makeWebSocketChannel = exports.makeWebSocket = exports.makeChannel = exports.layerWebSocket = exports.isSocketError = exports.isCloseEvent = exports.fromWebSocket = exports.defaultCloseCodeIsError = exports.WebSocketConstructor = exports.WebSocket = exports.TypeId = exports.SocketGenericError = exports.SocketErrorTypeId = exports.SocketCloseError = exports.Socket = exports.CloseEventTypeId = exports.CloseEvent = void 0;
|
|
7
7
|
var Cause = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Cause"));
|
|
8
8
|
var Channel = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Channel"));
|
|
9
9
|
var Chunk = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Chunk"));
|
|
@@ -16,7 +16,6 @@ var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/L
|
|
|
16
16
|
var Predicate = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Predicate"));
|
|
17
17
|
var Queue = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Queue"));
|
|
18
18
|
var Scope = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Scope"));
|
|
19
|
-
var _isows = /*#__PURE__*/require("isows");
|
|
20
19
|
var _Error = /*#__PURE__*/require("./Error.js");
|
|
21
20
|
function _getRequireWildcardCache(e) {
|
|
22
21
|
if ("function" != typeof WeakMap) return null;
|
|
@@ -192,16 +191,16 @@ const defaultCloseCodeIsError = code => code !== 1000 && code !== 1006;
|
|
|
192
191
|
*/
|
|
193
192
|
exports.defaultCloseCodeIsError = defaultCloseCodeIsError;
|
|
194
193
|
const WebSocket = exports.WebSocket = /*#__PURE__*/Context.GenericTag("@effect/platform/Socket/WebSocket");
|
|
194
|
+
/**
|
|
195
|
+
* @since 1.0.0
|
|
196
|
+
* @category tags
|
|
197
|
+
*/
|
|
198
|
+
const WebSocketConstructor = exports.WebSocketConstructor = /*#__PURE__*/Context.GenericTag("@effect/platform/Socket/WebSocketConstructor");
|
|
195
199
|
/**
|
|
196
200
|
* @since 1.0.0
|
|
197
201
|
* @category constructors
|
|
198
202
|
*/
|
|
199
|
-
const makeWebSocket = (url, options) => fromWebSocket(Effect.acquireRelease(
|
|
200
|
-
if ("WebSocket" in globalThis) {
|
|
201
|
-
return new globalThis.WebSocket(url);
|
|
202
|
-
}
|
|
203
|
-
return new _isows.WebSocket(url);
|
|
204
|
-
}), ws => Effect.sync(() => ws.close())), options);
|
|
203
|
+
const makeWebSocket = (url, options) => fromWebSocket(Effect.acquireRelease((typeof url === "string" ? Effect.succeed(url) : url).pipe(Effect.flatMap(url => Effect.map(WebSocketConstructor, f => f(url)))), ws => Effect.sync(() => ws.close())), options);
|
|
205
204
|
/**
|
|
206
205
|
* @since 1.0.0
|
|
207
206
|
* @category constructors
|
|
@@ -209,9 +208,11 @@ const makeWebSocket = (url, options) => fromWebSocket(Effect.acquireRelease(Effe
|
|
|
209
208
|
exports.makeWebSocket = makeWebSocket;
|
|
210
209
|
const fromWebSocket = (acquire, options) => Effect.gen(function* (_) {
|
|
211
210
|
const closeCodeIsError = options?.closeCodeIsError ?? defaultCloseCodeIsError;
|
|
212
|
-
const sendQueue = yield*
|
|
211
|
+
const sendQueue = yield* Queue.unbounded();
|
|
212
|
+
const acquireContext = yield* Effect.context();
|
|
213
|
+
const acquireWithContext = Effect.provide(acquire, acquireContext);
|
|
213
214
|
const runRaw = handler => Effect.gen(function* (_) {
|
|
214
|
-
const ws = yield*
|
|
215
|
+
const ws = yield* acquireWithContext;
|
|
215
216
|
const fiberSet = yield* _(FiberSet.make());
|
|
216
217
|
const run = yield* _(FiberSet.runtime(fiberSet)(), Effect.provideService(WebSocket, ws));
|
|
217
218
|
let open = false;
|
package/dist/cjs/Socket.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Socket.js","names":["Cause","_interopRequireWildcard","require","Channel","Chunk","Context","Deferred","Effect","Exit","FiberSet","Layer","Predicate","Queue","Scope","_isows","_Error","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","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","void","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","globalThis","ws","sync","acquire","closeCodeIsError","sendQueue","runRaw","handler","fiberSet","runtime","provideService","open","onmessage","event","Uint8Array","onclose","unsafeDone","deferred","fail","onerror","readyState","async","resume","onopen","timeoutFail","duration","openTimeout","onTimeout","raceFirst","join","failSync","try","send","catch","forever","catchIf","pipe","scoped","encoder","TextEncoder","encode","makeWebSocketChannel","unwrapScoped","layerWebSocket"],"sources":["../../src/Socket.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Socket.js","names":["Cause","_interopRequireWildcard","require","Channel","Chunk","Context","Deferred","Effect","Exit","FiberSet","Layer","Predicate","Queue","Scope","_Error","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","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","void","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","WebSocketConstructor","makeWebSocket","url","options","fromWebSocket","acquireRelease","pipe","f","ws","sync","acquire","closeCodeIsError","sendQueue","acquireContext","context","acquireWithContext","provide","runRaw","handler","fiberSet","runtime","provideService","open","onmessage","event","Uint8Array","onclose","unsafeDone","deferred","fail","onerror","readyState","async","resume","onopen","timeoutFail","duration","openTimeout","onTimeout","raceFirst","join","failSync","try","send","catch","forever","catchIf","scoped","encoder","TextEncoder","encode","makeWebSocketChannel","unwrapScoped","layerWebSocket"],"sources":["../../src/Socket.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/dts/Socket.d.ts
CHANGED
|
@@ -154,6 +154,18 @@ export interface WebSocket {
|
|
|
154
154
|
* @category tags
|
|
155
155
|
*/
|
|
156
156
|
export declare const WebSocket: Context.Tag<WebSocket, globalThis.WebSocket>;
|
|
157
|
+
/**
|
|
158
|
+
* @since 1.0.0
|
|
159
|
+
* @category tags
|
|
160
|
+
*/
|
|
161
|
+
export interface WebSocketConstructor {
|
|
162
|
+
readonly _: unique symbol;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* @since 1.0.0
|
|
166
|
+
* @category tags
|
|
167
|
+
*/
|
|
168
|
+
export declare const WebSocketConstructor: Context.Tag<WebSocketConstructor, (url: string) => globalThis.WebSocket>;
|
|
157
169
|
/**
|
|
158
170
|
* @since 1.0.0
|
|
159
171
|
* @category constructors
|
|
@@ -161,28 +173,28 @@ export declare const WebSocket: Context.Tag<WebSocket, globalThis.WebSocket>;
|
|
|
161
173
|
export declare const makeWebSocket: (url: string | Effect.Effect<string>, options?: {
|
|
162
174
|
readonly closeCodeIsError?: (code: number) => boolean;
|
|
163
175
|
readonly openTimeout?: DurationInput;
|
|
164
|
-
}) => Effect.Effect<Socket>;
|
|
176
|
+
}) => Effect.Effect<Socket, never, WebSocketConstructor>;
|
|
165
177
|
/**
|
|
166
178
|
* @since 1.0.0
|
|
167
179
|
* @category constructors
|
|
168
180
|
*/
|
|
169
|
-
export declare const fromWebSocket: (acquire: Effect.Effect<globalThis.WebSocket, SocketError,
|
|
181
|
+
export declare const fromWebSocket: <R>(acquire: Effect.Effect<globalThis.WebSocket, SocketError, R>, options?: {
|
|
170
182
|
readonly closeCodeIsError?: (code: number) => boolean;
|
|
171
183
|
readonly openTimeout?: DurationInput;
|
|
172
|
-
}) => Effect.Effect<Socket
|
|
184
|
+
}) => Effect.Effect<Socket, never, Exclude<R, Scope.Scope>>;
|
|
173
185
|
/**
|
|
174
186
|
* @since 1.0.0
|
|
175
187
|
* @category constructors
|
|
176
188
|
*/
|
|
177
189
|
export declare const makeWebSocketChannel: <IE = never>(url: string, options?: {
|
|
178
190
|
readonly closeCodeIsError?: (code: number) => boolean;
|
|
179
|
-
}) => Channel.Channel<Chunk.Chunk<Uint8Array>, Chunk.Chunk<Uint8Array | string | CloseEvent>, SocketError | IE, IE, void, unknown>;
|
|
191
|
+
}) => Channel.Channel<Chunk.Chunk<Uint8Array>, Chunk.Chunk<Uint8Array | string | CloseEvent>, SocketError | IE, IE, void, unknown, WebSocketConstructor>;
|
|
180
192
|
/**
|
|
181
193
|
* @since 1.0.0
|
|
182
194
|
* @category layers
|
|
183
195
|
*/
|
|
184
196
|
export declare const layerWebSocket: (url: string, options?: {
|
|
185
197
|
readonly closeCodeIsError?: (code: number) => boolean;
|
|
186
|
-
}) => Layer.Layer<Socket>;
|
|
198
|
+
}) => Layer.Layer<Socket, never, WebSocketConstructor>;
|
|
187
199
|
export {};
|
|
188
200
|
//# sourceMappingURL=Socket.d.ts.map
|
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;AAEzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,KAAK,MAAM,cAAc,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
|
@@ -13,7 +13,6 @@ import * as Layer from "effect/Layer";
|
|
|
13
13
|
import * as Predicate from "effect/Predicate";
|
|
14
14
|
import * as Queue from "effect/Queue";
|
|
15
15
|
import * as Scope from "effect/Scope";
|
|
16
|
-
import { WebSocket as IsoWS } from "isows";
|
|
17
16
|
import { RefailError, TypeIdError } from "./Error.js";
|
|
18
17
|
/**
|
|
19
18
|
* @since 1.0.0
|
|
@@ -151,25 +150,27 @@ export const defaultCloseCodeIsError = code => code !== 1000 && code !== 1006;
|
|
|
151
150
|
* @category tags
|
|
152
151
|
*/
|
|
153
152
|
export const WebSocket = /*#__PURE__*/Context.GenericTag("@effect/platform/Socket/WebSocket");
|
|
153
|
+
/**
|
|
154
|
+
* @since 1.0.0
|
|
155
|
+
* @category tags
|
|
156
|
+
*/
|
|
157
|
+
export const WebSocketConstructor = /*#__PURE__*/Context.GenericTag("@effect/platform/Socket/WebSocketConstructor");
|
|
154
158
|
/**
|
|
155
159
|
* @since 1.0.0
|
|
156
160
|
* @category constructors
|
|
157
161
|
*/
|
|
158
|
-
export const makeWebSocket = (url, options) => fromWebSocket(Effect.acquireRelease(
|
|
159
|
-
if ("WebSocket" in globalThis) {
|
|
160
|
-
return new globalThis.WebSocket(url);
|
|
161
|
-
}
|
|
162
|
-
return new IsoWS(url);
|
|
163
|
-
}), ws => Effect.sync(() => ws.close())), options);
|
|
162
|
+
export const makeWebSocket = (url, options) => fromWebSocket(Effect.acquireRelease((typeof url === "string" ? Effect.succeed(url) : url).pipe(Effect.flatMap(url => Effect.map(WebSocketConstructor, f => f(url)))), ws => Effect.sync(() => ws.close())), options);
|
|
164
163
|
/**
|
|
165
164
|
* @since 1.0.0
|
|
166
165
|
* @category constructors
|
|
167
166
|
*/
|
|
168
167
|
export const fromWebSocket = (acquire, options) => Effect.gen(function* (_) {
|
|
169
168
|
const closeCodeIsError = options?.closeCodeIsError ?? defaultCloseCodeIsError;
|
|
170
|
-
const sendQueue = yield*
|
|
169
|
+
const sendQueue = yield* Queue.unbounded();
|
|
170
|
+
const acquireContext = yield* Effect.context();
|
|
171
|
+
const acquireWithContext = Effect.provide(acquire, acquireContext);
|
|
171
172
|
const runRaw = handler => Effect.gen(function* (_) {
|
|
172
|
-
const ws = yield*
|
|
173
|
+
const ws = yield* acquireWithContext;
|
|
173
174
|
const fiberSet = yield* _(FiberSet.make());
|
|
174
175
|
const run = yield* _(FiberSet.runtime(fiberSet)(), Effect.provideService(WebSocket, ws));
|
|
175
176
|
let open = false;
|
package/dist/esm/Socket.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Socket.js","names":["Cause","Channel","Chunk","Context","Deferred","Effect","Exit","FiberSet","Layer","Predicate","Queue","Scope","
|
|
1
|
+
{"version":3,"file":"Socket.js","names":["Cause","Channel","Chunk","Context","Deferred","Effect","Exit","FiberSet","Layer","Predicate","Queue","Scope","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","void","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","WebSocketConstructor","makeWebSocket","url","options","fromWebSocket","acquireRelease","pipe","f","ws","sync","acquire","closeCodeIsError","sendQueue","acquireContext","context","acquireWithContext","provide","runRaw","handler","fiberSet","runtime","provideService","open","onmessage","event","Uint8Array","onclose","unsafeDone","deferred","fail","onerror","readyState","async","resume","onopen","timeoutFail","duration","openTimeout","onTimeout","raceFirst","join","failSync","try","send","catch","forever","catchIf","scoped","encoder","TextEncoder","encode","makeWebSocketChannel","unwrapScoped","layerWebSocket"],"sources":["../../src/Socket.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/platform",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.53.0",
|
|
4
4
|
"description": "Unified interfaces for common platform-specific services",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
"sideEffects": [],
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"find-my-way-ts": "^0.1.2",
|
|
14
|
-
"isows": "^1.0.4",
|
|
15
14
|
"multipasta": "^0.2.1",
|
|
16
15
|
"path-browserify": "^1.0.1"
|
|
17
16
|
},
|
package/src/Socket.ts
CHANGED
|
@@ -15,7 +15,6 @@ import * as Predicate from "effect/Predicate"
|
|
|
15
15
|
import * as Queue from "effect/Queue"
|
|
16
16
|
import * as Scope from "effect/Scope"
|
|
17
17
|
import type * as AsyncProducer from "effect/SingleProducerAsyncInput"
|
|
18
|
-
import { WebSocket as IsoWS } from "isows"
|
|
19
18
|
import { RefailError, TypeIdError } from "./Error.js"
|
|
20
19
|
|
|
21
20
|
/**
|
|
@@ -272,6 +271,21 @@ export const WebSocket: Context.Tag<WebSocket, globalThis.WebSocket> = Context.G
|
|
|
272
271
|
"@effect/platform/Socket/WebSocket"
|
|
273
272
|
)
|
|
274
273
|
|
|
274
|
+
/**
|
|
275
|
+
* @since 1.0.0
|
|
276
|
+
* @category tags
|
|
277
|
+
*/
|
|
278
|
+
export interface WebSocketConstructor {
|
|
279
|
+
readonly _: unique symbol
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
/**
|
|
283
|
+
* @since 1.0.0
|
|
284
|
+
* @category tags
|
|
285
|
+
*/
|
|
286
|
+
export const WebSocketConstructor: Context.Tag<WebSocketConstructor, (url: string) => globalThis.WebSocket> = Context
|
|
287
|
+
.GenericTag("@effect/platform/Socket/WebSocketConstructor")
|
|
288
|
+
|
|
275
289
|
/**
|
|
276
290
|
* @since 1.0.0
|
|
277
291
|
* @category constructors
|
|
@@ -279,15 +293,12 @@ export const WebSocket: Context.Tag<WebSocket, globalThis.WebSocket> = Context.G
|
|
|
279
293
|
export const makeWebSocket = (url: string | Effect.Effect<string>, options?: {
|
|
280
294
|
readonly closeCodeIsError?: (code: number) => boolean
|
|
281
295
|
readonly openTimeout?: DurationInput
|
|
282
|
-
}): Effect.Effect<Socket> =>
|
|
296
|
+
}): Effect.Effect<Socket, never, WebSocketConstructor> =>
|
|
283
297
|
fromWebSocket(
|
|
284
298
|
Effect.acquireRelease(
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
}
|
|
289
|
-
return new IsoWS(url)
|
|
290
|
-
}),
|
|
299
|
+
(typeof url === "string" ? Effect.succeed(url) : url).pipe(
|
|
300
|
+
Effect.flatMap((url) => Effect.map(WebSocketConstructor, (f) => f(url)))
|
|
301
|
+
),
|
|
291
302
|
(ws) => Effect.sync(() => ws.close())
|
|
292
303
|
),
|
|
293
304
|
options
|
|
@@ -297,20 +308,25 @@ export const makeWebSocket = (url: string | Effect.Effect<string>, options?: {
|
|
|
297
308
|
* @since 1.0.0
|
|
298
309
|
* @category constructors
|
|
299
310
|
*/
|
|
300
|
-
export const fromWebSocket = (
|
|
301
|
-
acquire: Effect.Effect<globalThis.WebSocket, SocketError,
|
|
311
|
+
export const fromWebSocket = <R>(
|
|
312
|
+
acquire: Effect.Effect<globalThis.WebSocket, SocketError, R>,
|
|
302
313
|
options?: {
|
|
303
314
|
readonly closeCodeIsError?: (code: number) => boolean
|
|
304
315
|
readonly openTimeout?: DurationInput
|
|
305
316
|
}
|
|
306
|
-
): Effect.Effect<Socket
|
|
317
|
+
): Effect.Effect<Socket, never, Exclude<R, Scope.Scope>> =>
|
|
307
318
|
Effect.gen(function*(_) {
|
|
308
319
|
const closeCodeIsError = options?.closeCodeIsError ?? defaultCloseCodeIsError
|
|
309
|
-
const sendQueue = yield*
|
|
320
|
+
const sendQueue = yield* Queue.unbounded<Uint8Array | string | CloseEvent>()
|
|
321
|
+
const acquireContext = yield* Effect.context<Exclude<R, Scope.Scope>>()
|
|
322
|
+
const acquireWithContext = Effect.provide(acquire, acquireContext) as Effect.Effect<
|
|
323
|
+
globalThis.WebSocket,
|
|
324
|
+
SocketError
|
|
325
|
+
>
|
|
310
326
|
|
|
311
327
|
const runRaw = <R, E, _>(handler: (_: string | Uint8Array) => Effect.Effect<_, E, R>) =>
|
|
312
328
|
Effect.gen(function*(_) {
|
|
313
|
-
const ws = yield*
|
|
329
|
+
const ws = yield* acquireWithContext
|
|
314
330
|
const fiberSet = yield* _(FiberSet.make<any, E | SocketError>())
|
|
315
331
|
const run = yield* _(
|
|
316
332
|
FiberSet.runtime(fiberSet)<R>(),
|
|
@@ -430,7 +446,8 @@ export const makeWebSocketChannel = <IE = never>(
|
|
|
430
446
|
SocketError | IE,
|
|
431
447
|
IE,
|
|
432
448
|
void,
|
|
433
|
-
unknown
|
|
449
|
+
unknown,
|
|
450
|
+
WebSocketConstructor
|
|
434
451
|
> =>
|
|
435
452
|
Channel.unwrapScoped(
|
|
436
453
|
Effect.map(makeWebSocket(url, options), toChannelWith<IE>())
|
|
@@ -442,4 +459,8 @@ export const makeWebSocketChannel = <IE = never>(
|
|
|
442
459
|
*/
|
|
443
460
|
export const layerWebSocket = (url: string, options?: {
|
|
444
461
|
readonly closeCodeIsError?: (code: number) => boolean
|
|
445
|
-
}): Layer.Layer<Socket
|
|
462
|
+
}): Layer.Layer<Socket, never, WebSocketConstructor> =>
|
|
463
|
+
Layer.scoped(
|
|
464
|
+
Socket,
|
|
465
|
+
makeWebSocket(url, options)
|
|
466
|
+
)
|