@typed/fx 1.11.4 → 1.11.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.
@@ -1 +1 @@
1
- {"version":3,"file":"multicast.d.ts","sourceRoot":"","sources":["../../src/multicast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAG/C,OAAO,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAU,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAE9C,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAE/D;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;CACrC;AAED,qBAAa,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,YAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAU7D,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IATpC,QAAQ,CAAC,CAAC,QAAQ,CAAC;;;;MAIlB;IAED,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAK;IAC7D,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,SAAS,CAAA;gBAEvC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAMpC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAsB5B,QAAQ,CAAC,QAAQ,UAAW,KAAK,KAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAE9C;IAED,KAAK,CAAC,CAAC,EAAE,CAAC;IAMV,KAAK,UAAW,WAAW,CAAC,CAAC,CAAC,uCAG3B;IAEH,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAOhE,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAOjF,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;CAgB3C"}
1
+ {"version":3,"file":"multicast.d.ts","sourceRoot":"","sources":["../../src/multicast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAG/C,OAAO,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAU,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAE9C,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAE/D;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;CACrC;AAED,qBAAa,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,YAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAU7D,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IATpC,QAAQ,CAAC,CAAC,QAAQ,CAAC;;;;MAIlB;IAED,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAK;IAC7D,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,SAAS,CAAA;gBAEvC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAMpC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAuB5B,QAAQ,CAAC,QAAQ,UAAW,KAAK,KAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAE9C;IAED,KAAK,CAAC,CAAC,EAAE,CAAC;IAMV,KAAK,UAAW,WAAW,CAAC,CAAC,CAAC,uCAG3B;IAEH,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAOhE,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAOjF,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;CAwB3C"}
@@ -30,15 +30,16 @@ class MulticastFx {
30
30
  const { observers } = this;
31
31
  // eslint-disable-next-line @typescript-eslint/no-this-alias
32
32
  const that = this;
33
- return externals_js_1.Effect.onExit(externals_js_1.Effect.gen(function* ($) {
33
+ return externals_js_1.Effect.uninterruptibleMask((restore) => externals_js_1.Effect.gen(function* ($) {
34
34
  const context = yield* $(externals_js_1.Effect.context());
35
35
  const observer = { sink, context };
36
36
  if (observers.push(observer) === 1) {
37
- that.fiber = yield* $(externals_js_1.Effect.forkDaemon(that.fx.run(that)));
37
+ that.fiber = yield* $(externals_js_1.Effect.forkDaemon(restore(that.fx.run(that))));
38
38
  }
39
39
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
40
- yield* $(externals_js_1.Fiber.join(that.fiber));
41
- }), () => this.removeSink(sink));
40
+ yield* $(restore(externals_js_1.Fiber.await(that.fiber)));
41
+ yield* $(that.removeSink(sink));
42
+ }));
42
43
  }
43
44
  event(a) {
44
45
  return externals_js_1.Effect.suspend(() => externals_js_1.Effect.forEachDiscard(this.observers.slice(0), (observer) => this.runEvent(observer, a)));
@@ -51,13 +52,18 @@ class MulticastFx {
51
52
  }
52
53
  removeSink(sink) {
53
54
  return externals_js_1.Effect.suspend(() => {
54
- const index = this.observers.findIndex((o) => o.sink === sink);
55
+ const { observers } = this;
56
+ if (observers.length === 0)
57
+ return externals_js_1.Effect.unit();
58
+ const index = observers.findIndex((o) => o.sink === sink);
55
59
  if (index > -1) {
56
- this.observers.splice(index, 1);
57
- }
58
- if (this.observers.length === 0) {
59
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
60
- return externals_js_1.Fiber.interrupt(this.fiber);
60
+ observers.splice(index, 1);
61
+ if (observers.length === 0) {
62
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
63
+ const interrupt = externals_js_1.Fiber.interrupt(this.fiber);
64
+ this.fiber = undefined;
65
+ return interrupt;
66
+ }
61
67
  }
62
68
  return externals_js_1.Effect.unit();
63
69
  });
@@ -1 +1 @@
1
- {"version":3,"file":"multicast.js","sourceRoot":"","sources":["../../src/multicast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multicast.js","sourceRoot":"","sources":["../../src/multicast.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"observe.d.ts","sourceRoot":"","sources":["../../src/observe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAGjC,OAAO,EAAY,MAAM,EAAS,MAAM,gBAAgB,CAAA;AAExD,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EACrC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GACvC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAkB7C;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAEjF"}
1
+ {"version":3,"file":"observe.d.ts","sourceRoot":"","sources":["../../src/observe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAGjC,OAAO,EAAY,MAAM,EAAS,MAAM,gBAAgB,CAAA;AAExD,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EACrC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GACvC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAe7C;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAEjF"}
@@ -9,9 +9,8 @@ function observe(fx, f) {
9
9
  const error = (cause) => externals_js_1.Deferred.failCause(deferred, cause);
10
10
  const end = () => externals_js_1.Deferred.succeed(deferred, undefined);
11
11
  const fiber = yield* $(externals_js_1.Effect.forkScoped(externals_js_1.Effect.flatMap(fx.run((0, Fx_js_1.Sink)((a) => externals_js_1.Effect.catchAllCause(f(a), error), error)), end)));
12
- const a = yield* $(externals_js_1.Deferred.await(deferred));
12
+ yield* $(externals_js_1.Deferred.await(deferred));
13
13
  yield* $(externals_js_1.Fiber.interruptFork(fiber));
14
- return a;
15
14
  });
16
15
  }
17
16
  exports.observe = observe;
@@ -1 +1 @@
1
- {"version":3,"file":"observe.js","sourceRoot":"","sources":["../../src/observe.ts"],"names":[],"mappings":";;;AAGA,mCAA8B;AAE9B,iDAAwD;AAExD,SAAgB,OAAO,CACrB,EAAe,EACf,CAAwC;IAExC,OAAO,qBAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,uBAAQ,CAAC,IAAI,EAAgB,CAAC,CAAA;QACxD,MAAM,KAAK,GAAG,CAAC,KAA0B,EAAE,EAAE,CAAC,uBAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACjF,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,uBAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAEvD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CACpB,qBAAM,CAAC,UAAU,CACf,qBAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,IAAA,YAAI,EAAC,CAAC,CAAI,EAAE,EAAE,CAAC,qBAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CACtF,CACF,CAAA;QAED,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,uBAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;QAE5C,KAAK,CAAC,CAAC,CAAC,CAAC,oBAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;QAEpC,OAAO,CAAC,CAAA;IACV,CAAC,CAAC,CAAA;AACJ,CAAC;AArBD,0BAqBC;AAED,SAAgB,KAAK,CAAU,EAAe;IAC5C,OAAO,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,qBAAM,CAAC,IAAI,EAAE,CAAC,CAAA;AACzC,CAAC;AAFD,sBAEC"}
1
+ {"version":3,"file":"observe.js","sourceRoot":"","sources":["../../src/observe.ts"],"names":[],"mappings":";;;AAGA,mCAA8B;AAE9B,iDAAwD;AAExD,SAAgB,OAAO,CACrB,EAAe,EACf,CAAwC;IAExC,OAAO,qBAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,uBAAQ,CAAC,IAAI,EAAgB,CAAC,CAAA;QACxD,MAAM,KAAK,GAAG,CAAC,KAA0B,EAAE,EAAE,CAAC,uBAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACjF,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,uBAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAEvD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CACpB,qBAAM,CAAC,UAAU,CACf,qBAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,IAAA,YAAI,EAAC,CAAC,CAAI,EAAE,EAAE,CAAC,qBAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CACtF,CACF,CAAA;QAED,KAAK,CAAC,CAAC,CAAC,CAAC,uBAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;QAClC,KAAK,CAAC,CAAC,CAAC,CAAC,oBAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;AACJ,CAAC;AAlBD,0BAkBC;AAED,SAAgB,KAAK,CAAU,EAAe;IAC5C,OAAO,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,qBAAM,CAAC,IAAI,EAAE,CAAC,CAAA;AACzC,CAAC;AAFD,sBAEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"multicast.d.ts","sourceRoot":"","sources":["../src/multicast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAG/C,OAAO,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAU,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAE9C,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAE/D;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;CACrC;AAED,qBAAa,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,YAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAU7D,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IATpC,QAAQ,CAAC,CAAC,QAAQ,CAAC;;;;MAIlB;IAED,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAK;IAC7D,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,SAAS,CAAA;gBAEvC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAMpC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAsB5B,QAAQ,CAAC,QAAQ,UAAW,KAAK,KAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAE9C;IAED,KAAK,CAAC,CAAC,EAAE,CAAC;IAMV,KAAK,UAAW,WAAW,CAAC,CAAC,CAAC,uCAG3B;IAEH,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAOhE,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAOjF,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;CAgB3C"}
1
+ {"version":3,"file":"multicast.d.ts","sourceRoot":"","sources":["../src/multicast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAG/C,OAAO,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAU,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAE9C,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAE/D;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;CACrC;AAED,qBAAa,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,YAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAU7D,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IATpC,QAAQ,CAAC,CAAC,QAAQ,CAAC;;;;MAIlB;IAED,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAK;IAC7D,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,SAAS,CAAA;gBAEvC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAMpC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAuB5B,QAAQ,CAAC,QAAQ,UAAW,KAAK,KAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAE9C;IAED,KAAK,CAAC,CAAC,EAAE,CAAC;IAMV,KAAK,UAAW,WAAW,CAAC,CAAC,CAAC,uCAG3B;IAEH,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAOhE,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAOjF,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;CAwB3C"}
package/dist/multicast.js CHANGED
@@ -26,15 +26,16 @@ export class MulticastFx {
26
26
  const { observers } = this;
27
27
  // eslint-disable-next-line @typescript-eslint/no-this-alias
28
28
  const that = this;
29
- return Effect.onExit(Effect.gen(function* ($) {
29
+ return Effect.uninterruptibleMask((restore) => Effect.gen(function* ($) {
30
30
  const context = yield* $(Effect.context());
31
31
  const observer = { sink, context };
32
32
  if (observers.push(observer) === 1) {
33
- that.fiber = yield* $(Effect.forkDaemon(that.fx.run(that)));
33
+ that.fiber = yield* $(Effect.forkDaemon(restore(that.fx.run(that))));
34
34
  }
35
35
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
36
- yield* $(Fiber.join(that.fiber));
37
- }), () => this.removeSink(sink));
36
+ yield* $(restore(Fiber.await(that.fiber)));
37
+ yield* $(that.removeSink(sink));
38
+ }));
38
39
  }
39
40
  event(a) {
40
41
  return Effect.suspend(() => Effect.forEachDiscard(this.observers.slice(0), (observer) => this.runEvent(observer, a)));
@@ -47,13 +48,18 @@ export class MulticastFx {
47
48
  }
48
49
  removeSink(sink) {
49
50
  return Effect.suspend(() => {
50
- const index = this.observers.findIndex((o) => o.sink === sink);
51
+ const { observers } = this;
52
+ if (observers.length === 0)
53
+ return Effect.unit();
54
+ const index = observers.findIndex((o) => o.sink === sink);
51
55
  if (index > -1) {
52
- this.observers.splice(index, 1);
53
- }
54
- if (this.observers.length === 0) {
55
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
56
- return Fiber.interrupt(this.fiber);
56
+ observers.splice(index, 1);
57
+ if (observers.length === 0) {
58
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
59
+ const interrupt = Fiber.interrupt(this.fiber);
60
+ this.fiber = undefined;
61
+ return interrupt;
62
+ }
57
63
  }
58
64
  return Effect.unit();
59
65
  });
@@ -1 +1 @@
1
- {"version":3,"file":"multicast.js","sourceRoot":"","sources":["../src/multicast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multicast.js","sourceRoot":"","sources":["../src/multicast.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"observe.d.ts","sourceRoot":"","sources":["../src/observe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAGjC,OAAO,EAAY,MAAM,EAAS,MAAM,gBAAgB,CAAA;AAExD,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EACrC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GACvC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAkB7C;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAEjF"}
1
+ {"version":3,"file":"observe.d.ts","sourceRoot":"","sources":["../src/observe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAGjC,OAAO,EAAY,MAAM,EAAS,MAAM,gBAAgB,CAAA;AAExD,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EACrC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GACvC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAe7C;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAEjF"}
package/dist/observe.js CHANGED
@@ -6,9 +6,8 @@ export function observe(fx, f) {
6
6
  const error = (cause) => Deferred.failCause(deferred, cause);
7
7
  const end = () => Deferred.succeed(deferred, undefined);
8
8
  const fiber = yield* $(Effect.forkScoped(Effect.flatMap(fx.run(Sink((a) => Effect.catchAllCause(f(a), error), error)), end)));
9
- const a = yield* $(Deferred.await(deferred));
9
+ yield* $(Deferred.await(deferred));
10
10
  yield* $(Fiber.interruptFork(fiber));
11
- return a;
12
11
  });
13
12
  }
14
13
  export function drain(fx) {
@@ -1 +1 @@
1
- {"version":3,"file":"observe.js","sourceRoot":"","sources":["../src/observe.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAExD,MAAM,UAAU,OAAO,CACrB,EAAe,EACf,CAAwC;IAExC,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAgB,CAAC,CAAA;QACxD,MAAM,KAAK,GAAG,CAAC,KAA0B,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACjF,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAEvD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CACpB,MAAM,CAAC,UAAU,CACf,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CACtF,CACF,CAAA;QAED,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;QAE5C,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;QAEpC,OAAO,CAAC,CAAA;IACV,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CAAU,EAAe;IAC5C,OAAO,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;AACzC,CAAC"}
1
+ {"version":3,"file":"observe.js","sourceRoot":"","sources":["../src/observe.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAExD,MAAM,UAAU,OAAO,CACrB,EAAe,EACf,CAAwC;IAExC,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAgB,CAAC,CAAA;QACxD,MAAM,KAAK,GAAG,CAAC,KAA0B,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACjF,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAEvD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CACpB,MAAM,CAAC,UAAU,CACf,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CACtF,CACF,CAAA;QAED,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;QAClC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CAAU,EAAe;IAC5C,OAAO,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;AACzC,CAAC"}