@effect/platform 0.48.4 → 0.48.6

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.
@@ -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
- const writeFiber = yield* _(Queue.take(sendQueue), Effect.tap(chunk => isCloseEvent(chunk) ? Effect.failSync(() => {
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.fork, Effect.withUnhandledErrorLogLevel(Option.none()));
258
- yield* _(Effect.async(resume => {
259
- ws.onclose = event => {
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({
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Socket.d.ts","sourceRoot":"","sources":["../../src/Socket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Socket.d.ts","sourceRoot":"","sources":["../../src/Socket.ts"],"names":[],"mappings":"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"}
@@ -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
- const writeFiber = yield* _(Queue.take(sendQueue), Effect.tap(chunk => isCloseEvent(chunk) ? Effect.failSync(() => {
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.fork, Effect.withUnhandledErrorLogLevel(Option.none()));
211
- yield* _(Effect.async(resume => {
212
- ws.onclose = event => {
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({
@@ -1 +1 @@
1
- {"version":3,"file":"Socket.js","names":["Cause","Channel","Chunk","Context","Effect","Exit","Fiber","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","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","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.4",
3
+ "version": "0.48.6",
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/schema": "^0.64.3",
20
- "effect": "^2.4.6"
19
+ "@effect/schema": "^0.64.4",
20
+ "effect": "^2.4.7"
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
- const writeFiber = yield* _(
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.fork,
367
- Effect.withUnhandledErrorLogLevel(Option.none())
381
+ Effect.withUnhandledErrorLogLevel(Option.none()),
382
+ FiberSet.run(fiberSet)
368
383
  )
369
384
 
370
385
  yield* _(
371
- Effect.async<void, SocketError, never>((resume) => {
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(Effect.scoped)
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)