@typed/fx 1.27.3 → 1.27.4

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.
@@ -36,7 +36,6 @@ const DISCARD = {
36
36
  */
37
37
  class SubjectImpl extends _protos.FxBase {
38
38
  sinks = new Set();
39
- scopes = new Set();
40
39
  constructor() {
41
40
  super();
42
41
  this.onFailure = this.onFailure.bind(this);
@@ -53,38 +52,46 @@ class SubjectImpl extends _protos.FxBase {
53
52
  onSuccess(a) {
54
53
  return this.onEvent(a);
55
54
  }
56
- interrupt = Effect.fiberIdWith(id => Effect.tap(Effect.forEach(this.scopes, scope => Scope.close(scope, Exit.interrupt(id)), DISCARD), () => {
55
+ interruptScopes = Effect.fiberIdWith(id => Effect.tap(Effect.forEach(this.sinks, ([,, scope]) => Scope.close(scope, Exit.interrupt(id)), DISCARD), () => {
57
56
  this.sinks.clear();
58
- this.scopes.clear();
59
57
  }));
58
+ interrupt = this.interruptScopes;
60
59
  addSink(sink, f) {
61
60
  return (0, _helpers.withScope)(innerScope => Effect.contextWithEffect(ctx => {
62
- const entry = [sink, ctx];
63
- const add = Effect.sync(() => {
64
- this.sinks.add(entry);
65
- this.scopes.add(innerScope);
66
- });
67
- const remove = Effect.sync(() => {
68
- this.sinks.delete(entry);
69
- this.scopes.delete(innerScope);
70
- });
71
- return Effect.zipRight(Scope.addFinalizer(innerScope, remove), Effect.zipRight(add, f(innerScope)));
61
+ const entry = [sink, ctx, innerScope];
62
+ this.sinks.add(entry);
63
+ const remove = Effect.sync(() => this.sinks.delete(entry));
64
+ return Effect.zipRight(Scope.addFinalizer(innerScope, remove), f(innerScope));
72
65
  }), ExecutionStrategy.sequential);
73
66
  }
74
67
  subscriberCount = Effect.sync(() => this.sinks.size);
75
68
  onEvent(a) {
76
- if (this.sinks.size === 0) return Effect.unit;else {
77
- return Effect.forEach(this.sinks, ([sink, ctx]) => Effect.provide(sink.onSuccess(a), ctx), DISCARD);
69
+ if (this.sinks.size === 0) return Effect.unit;else if (this.sinks.size === 1) {
70
+ const [sink, ctx] = this.sinks.values().next().value;
71
+ return runSinkEvent(sink, ctx, a);
72
+ } else {
73
+ return Effect.forEach(this.sinks, ([sink, ctx]) => runSinkEvent(sink, ctx, a), DISCARD);
78
74
  }
79
75
  }
80
76
  onCause(cause) {
81
- return Effect.forEach(this.sinks, ([sink, ctx]) => Effect.provide(sink.onFailure(cause), ctx), DISCARD);
77
+ if (this.sinks.size === 0) return Effect.unit;else if (this.sinks.size === 1) {
78
+ const [sink, ctx] = this.sinks.values().next().value;
79
+ return runSinkCause(sink, ctx, cause);
80
+ } else {
81
+ return Effect.forEach(this.sinks, ([sink, ctx]) => runSinkCause(sink, ctx, cause), DISCARD);
82
+ }
82
83
  }
83
84
  }
85
+ exports.SubjectImpl = SubjectImpl;
86
+ function runSinkEvent(sink, ctx, a) {
87
+ return Effect.provide(Effect.catchAllCause(sink.onSuccess(a), sink.onFailure), ctx);
88
+ }
89
+ function runSinkCause(sink, ctx, cause) {
90
+ return Effect.provide(Effect.catchAllCause(sink.onFailure(cause), () => Effect.unit), ctx);
91
+ }
84
92
  /**
85
93
  * @internal
86
94
  */
87
- exports.SubjectImpl = SubjectImpl;
88
95
  class HoldSubjectImpl extends SubjectImpl {
89
96
  lastValue = MutableRef.make(Option.none());
90
97
  // Emit an event to all sinks
@@ -104,7 +111,7 @@ class HoldSubjectImpl extends SubjectImpl {
104
111
  onSome: exit => Effect.zipRight(Exit.match(exit, sink), (0, _helpers.awaitScopeClose)(scope))
105
112
  }));
106
113
  }
107
- interrupt = Effect.fiberIdWith(id => Effect.tap(Effect.forEach(this.scopes, scope => Scope.close(scope, Exit.interrupt(id)), DISCARD), () => MutableRef.set(this.lastValue, Option.none())));
114
+ interrupt = Effect.tap(this.interruptScopes, () => MutableRef.set(this.lastValue, Option.none()));
108
115
  }
109
116
  /**
110
117
  * @internal
@@ -124,7 +131,7 @@ class ReplaySubjectImpl extends SubjectImpl {
124
131
  run(sink) {
125
132
  return this.addSink(sink, scope => Effect.zipRight(this.buffer.forEach(a => sink.onSuccess(a)), (0, _helpers.awaitScopeClose)(scope)));
126
133
  }
127
- interrupt = Effect.fiberIdWith(id => Effect.tap(Effect.forEach(this.scopes, scope => Scope.close(scope, Exit.interrupt(id)), DISCARD), () => this.buffer.clear()));
134
+ interrupt = Effect.tap(this.interruptScopes, () => this.buffer.clear());
128
135
  }
129
136
  /**
130
137
  * @since 1.20.0
@@ -1 +1 @@
1
- {"version":3,"file":"Subject.js","names":["C","_interopRequireWildcard","require","Effect","ExecutionStrategy","Exit","_Function","MutableRef","Option","_Predicate","Scope","_core","_helpers","_protos","_TypeId","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","DISCARD","discard","SubjectImpl","FxBase","sinks","Set","scopes","constructor","onFailure","bind","onSuccess","run","sink","addSink","awaitScopeClose","cause","onCause","onEvent","interrupt","fiberIdWith","id","tap","forEach","scope","close","clear","f","withScope","innerScope","contextWithEffect","ctx","entry","add","sync","remove","delete","zipRight","addFinalizer","sequential","subscriberCount","size","unit","provide","exports","HoldSubjectImpl","lastValue","make","none","suspend","some","succeed","failCause","match","onNone","onSome","exit","ReplaySubjectImpl","buffer","push","unsafeMake","replay","Math","max","RingBuffer","acquireRelease","subject","fromTag","tag","FromTag","map","flatMap","value","tagged","identifier","TaggedImpl","Tagged","isDataFirst","args","length","isEffect","hasProperty","TypeId","identity","dual","fxOrEffect","scoped"],"sources":["../../src/Subject.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Subject.js","names":["C","_interopRequireWildcard","require","Effect","ExecutionStrategy","Exit","_Function","MutableRef","Option","_Predicate","Scope","_core","_helpers","_protos","_TypeId","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","DISCARD","discard","SubjectImpl","FxBase","sinks","Set","constructor","onFailure","bind","onSuccess","run","sink","addSink","awaitScopeClose","cause","onCause","onEvent","interruptScopes","fiberIdWith","id","tap","forEach","scope","close","interrupt","clear","f","withScope","innerScope","contextWithEffect","ctx","entry","add","remove","sync","delete","zipRight","addFinalizer","sequential","subscriberCount","size","unit","values","next","value","runSinkEvent","runSinkCause","exports","provide","catchAllCause","HoldSubjectImpl","lastValue","make","none","suspend","some","succeed","failCause","match","onNone","onSome","exit","ReplaySubjectImpl","buffer","push","unsafeMake","replay","Math","max","RingBuffer","acquireRelease","subject","fromTag","tag","FromTag","map","flatMap","tagged","identifier","TaggedImpl","Tagged","isDataFirst","args","length","isEffect","hasProperty","TypeId","identity","dual","fxOrEffect","scoped"],"sources":["../../src/Subject.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;AAKA,IAAAA,CAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAGA,IAAAC,MAAA,gBAAAF,uBAAA,eAAAC,OAAA;AACA,IAAAE,iBAAA,gBAAAH,uBAAA,eAAAC,OAAA;AACA,IAAAG,IAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AACA,IAAAI,SAAA,gBAAAJ,OAAA;AACA,IAAAK,UAAA,gBAAAN,uBAAA,eAAAC,OAAA;AACA,IAAAM,MAAA,gBAAAP,uBAAA,eAAAC,OAAA;AACA,IAAAO,UAAA,gBAAAP,OAAA;AACA,IAAAQ,KAAA,gBAAAT,uBAAA,eAAAC,OAAA;AAEA,IAAAS,KAAA,gBAAAT,OAAA;AACA,IAAAU,QAAA,gBAAAV,OAAA;AACA,IAAAW,OAAA,gBAAAX,OAAA;AAGA,IAAAY,OAAA,gBAAAZ,OAAA;AAAoC,SAAAa,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAf,wBAAAe,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAtBpC;;;;;AA0EA,MAAMY,OAAO,GAAG;EAAEC,OAAO,EAAE;AAAI,CAAW;AAE1C;;;AAGM,MAAOC,WAAkB,SAAQC,cAAyB;EACpDC,KAAK,GAAgF,IAAIC,GAAG,EAAE;EAExGC,YAAA;IACE,KAAK,EAAE;IACP,IAAI,CAACC,SAAS,GAAG,IAAI,CAACA,SAAS,CAACC,IAAI,CAAC,IAAI,CAAC;IAC1C,IAAI,CAACC,SAAS,GAAG,IAAI,CAACA,SAAS,CAACD,IAAI,CAAC,IAAI,CAAC;EAC5C;EAEAE,GAAGA,CAAKC,IAAoB;IAC1B,OAAO,IAAI,CAACC,OAAO,CAACD,IAAI,EAAEE,wBAAe,CAAC;EAC5C;EAEA;EACAN,SAASA,CAACO,KAAqB;IAC7B,OAAO,IAAI,CAACC,OAAO,CAACD,KAAK,CAAC;EAC5B;EAEA;EACAL,SAASA,CAACnB,CAAI;IACZ,OAAO,IAAI,CAAC0B,OAAO,CAAC1B,CAAC,CAAC;EACxB;EAEU2B,eAAe,GAAGlD,MAAM,CAACmD,WAAW,CAAEC,EAAE,IAChDpD,MAAM,CAACqD,GAAG,CACRrD,MAAM,CAACsD,OAAO,CAAC,IAAI,CAACjB,KAAK,EAAE,CAAC,IAAKkB,KAAK,CAAC,KAAKhD,KAAK,CAACiD,KAAK,CAACD,KAAK,EAAErD,IAAI,CAACuD,SAAS,CAACL,EAAE,CAAC,CAAC,EAAEnB,OAAO,CAAC,EAC5F,MAAK;IACH,IAAI,CAACI,KAAK,CAACqB,KAAK,EAAE;EACpB,CAAC,CACF,CACF;EAEQD,SAAS,GAAG,IAAI,CAACP,eAAe;EAE/BL,OAAOA,CACfD,IAAmB,EACnBe,CAAsD;IAEtD,OAAO,IAAAC,kBAAS,EACbC,UAAU,IACT7D,MAAM,CAAC8D,iBAAiB,CAAEC,GAAG,IAAI;MAC/B,MAAMC,KAAK,GAAG,CAACpB,IAAI,EAAEmB,GAAG,EAAEF,UAAU,CAAU;MAC9C,IAAI,CAACxB,KAAK,CAAC4B,GAAG,CAACD,KAAK,CAAC;MACrB,MAAME,MAAM,GAAGlE,MAAM,CAACmE,IAAI,CAAC,MAAM,IAAI,CAAC9B,KAAK,CAAC+B,MAAM,CAACJ,KAAK,CAAC,CAAC;MAE1D,OAAOhE,MAAM,CAACqE,QAAQ,CACpB9D,KAAK,CAAC+D,YAAY,CAACT,UAAU,EAAEK,MAAM,CAAC,EACtCP,CAAC,CAACE,UAAU,CAAC,CACd;IACH,CAAC,CAAC,EACJ5D,iBAAiB,CAACsE,UAAU,CAC7B;EACH;EAESC,eAAe,GAA0BxE,MAAM,CAACmE,IAAI,CAAC,MAAM,IAAI,CAAC9B,KAAK,CAACoC,IAAI,CAAC;EAE1ExB,OAAOA,CAAC1B,CAAI;IACpB,IAAI,IAAI,CAACc,KAAK,CAACoC,IAAI,KAAK,CAAC,EAAE,OAAOzE,MAAM,CAAC0E,IAAI,MACxC,IAAI,IAAI,CAACrC,KAAK,CAACoC,IAAI,KAAK,CAAC,EAAE;MAC9B,MAAM,CAAC7B,IAAI,EAAEmB,GAAG,CAAC,GAAG,IAAI,CAAC1B,KAAK,CAACsC,MAAM,EAAE,CAACC,IAAI,EAAE,CAACC,KAAK;MACpD,OAAOC,YAAY,CAAClC,IAAI,EAAEmB,GAAG,EAAExC,CAAC,CAAC;IACnC,CAAC,MAAM;MACL,OAAOvB,MAAM,CAACsD,OAAO,CACnB,IAAI,CAACjB,KAAK,EACV,CAAC,CAACO,IAAI,EAAEmB,GAAG,CAAC,KAAKe,YAAY,CAAClC,IAAI,EAAEmB,GAAG,EAAExC,CAAC,CAAC,EAC3CU,OAAO,CACR;IACH;EACF;EAEUe,OAAOA,CAACD,KAAqB;IACrC,IAAI,IAAI,CAACV,KAAK,CAACoC,IAAI,KAAK,CAAC,EAAE,OAAOzE,MAAM,CAAC0E,IAAI,MACxC,IAAI,IAAI,CAACrC,KAAK,CAACoC,IAAI,KAAK,CAAC,EAAE;MAC9B,MAAM,CAAC7B,IAAI,EAAEmB,GAAG,CAAC,GAAG,IAAI,CAAC1B,KAAK,CAACsC,MAAM,EAAE,CAACC,IAAI,EAAE,CAACC,KAAK;MACpD,OAAOE,YAAY,CAACnC,IAAI,EAAEmB,GAAG,EAAEhB,KAAK,CAAC;IACvC,CAAC,MAAM;MACL,OAAO/C,MAAM,CAACsD,OAAO,CACnB,IAAI,CAACjB,KAAK,EACV,CAAC,CAACO,IAAI,EAAEmB,GAAG,CAAC,KAAKgB,YAAY,CAACnC,IAAI,EAAEmB,GAAG,EAAEhB,KAAK,CAAC,EAC/Cd,OAAO,CACR;IACH;EACF;;AACD+C,OAAA,CAAA7C,WAAA,GAAAA,WAAA;AAED,SAAS2C,YAAYA,CAAOlC,IAAqB,EAAEmB,GAAyB,EAAExC,CAAI;EAChF,OAAOvB,MAAM,CAACiF,OAAO,CAACjF,MAAM,CAACkF,aAAa,CAACtC,IAAI,CAACF,SAAS,CAACnB,CAAC,CAAC,EAAEqB,IAAI,CAACJ,SAAS,CAAC,EAAEuB,GAAG,CAAC;AACrF;AAEA,SAASgB,YAAYA,CAAOnC,IAAqB,EAAEmB,GAAyB,EAAEhB,KAAqB;EACjG,OAAO/C,MAAM,CAACiF,OAAO,CAACjF,MAAM,CAACkF,aAAa,CAACtC,IAAI,CAACJ,SAAS,CAACO,KAAK,CAAC,EAAE,MAAM/C,MAAM,CAAC0E,IAAI,CAAC,EAAEX,GAAG,CAAC;AAC5F;AAEA;;;AAGM,MAAOoB,eAAsB,SAAQhD,WAAiB;EACjDiD,SAAS,GAA0DhF,UAAU,CAACiF,IAAI,CAAChF,MAAM,CAACiF,IAAI,EAAE,CAAC;EAE1G;EACA5C,SAAS,GAAInB,CAAI,IACfvB,MAAM,CAACuF,OAAO,CAAC,MAAK;IAClBnF,UAAU,CAAC4B,GAAG,CAAC,IAAI,CAACoD,SAAS,EAAE/E,MAAM,CAACmF,IAAI,CAACtF,IAAI,CAACuF,OAAO,CAAClE,CAAC,CAAC,CAAC,CAAC;IAE5D,OAAO,IAAI,CAAC0B,OAAO,CAAC1B,CAAC,CAAC;EACxB,CAAC,CAAC;EAEJiB,SAAS,GAAIO,KAAqB,IAAuC;IACvE,OAAO/C,MAAM,CAACuF,OAAO,CAAC,MAAK;MACzBnF,UAAU,CAAC4B,GAAG,CAAC,IAAI,CAACoD,SAAS,EAAE/E,MAAM,CAACmF,IAAI,CAACtF,IAAI,CAACwF,SAAS,CAAC3C,KAAK,CAAC,CAAC,CAAC;MAElE,OAAO,IAAI,CAACC,OAAO,CAACD,KAAK,CAAC;IAC5B,CAAC,CAAC;EACJ,CAAC;EAEDJ,GAAGA,CAAKC,IAAoB;IAC1B,OAAO,IAAI,CAACC,OAAO,CAACD,IAAI,EAAGW,KAAK,IAC9BlD,MAAM,CAACsF,KAAK,CAACvF,UAAU,CAACgB,GAAG,CAAC,IAAI,CAACgE,SAAS,CAAC,EAAE;MAC3CQ,MAAM,EAAEA,CAAA,KAAM,IAAA9C,wBAAe,EAACS,KAAK,CAAC;MACpCsC,MAAM,EAAGC,IAAI,IAAK9F,MAAM,CAACqE,QAAQ,CAACnE,IAAI,CAACyF,KAAK,CAACG,IAAI,EAAElD,IAAI,CAAC,EAAE,IAAAE,wBAAe,EAACS,KAAK,CAAC;KACjF,CAAC,CAAC;EACP;EAESE,SAAS,GAAGzD,MAAM,CAACqD,GAAG,CAC7B,IAAI,CAACH,eAAe,EACpB,MAAM9C,UAAU,CAAC4B,GAAG,CAAC,IAAI,CAACoD,SAAS,EAAE/E,MAAM,CAACiF,IAAI,EAAE,CAAC,CACpD;;AAGH;;;AAAAN,OAAA,CAAAG,eAAA,GAAAA,eAAA;AAGM,MAAOY,iBAAwB,SAAQ5D,WAAiB;EACvC6D,MAAA;EAArBzD,YAAqByD,MAAqB;IACxC,KAAK,EAAE;IADY,KAAAA,MAAM,GAANA,MAAM;EAE3B;EAEA;EACAtD,SAAS,GAAInB,CAAI,IACfvB,MAAM,CAACuF,OAAO,CAAC,MAAK;IAClB,IAAI,CAACS,MAAM,CAACC,IAAI,CAAC1E,CAAC,CAAC;IAEnB,OAAO,IAAI,CAAC0B,OAAO,CAAC1B,CAAC,CAAC;EACxB,CAAC,CAAC;EAEJoB,GAAGA,CAAKC,IAAoB;IAC1B,OAAO,IAAI,CAACC,OAAO,CACjBD,IAAI,EACHW,KAAK,IAAKvD,MAAM,CAACqE,QAAQ,CAAC,IAAI,CAAC2B,MAAM,CAAC1C,OAAO,CAAE/B,CAAC,IAAKqB,IAAI,CAACF,SAAS,CAACnB,CAAC,CAAC,CAAC,EAAE,IAAAuB,wBAAe,EAACS,KAAK,CAAC,CAAC,CAClG;EACH;EAESE,SAAS,GAAGzD,MAAM,CAACqD,GAAG,CAC7B,IAAI,CAACH,eAAe,EACpB,MAAM,IAAI,CAAC8C,MAAM,CAACtC,KAAK,EAAE,CAC1B;;AAGH;;;AAAAsB,OAAA,CAAAe,iBAAA,GAAAA,iBAAA;AAGM,SAAUG,UAAUA,CAAeC,MAAA,GAAiB,CAAC;EACzDA,MAAM,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEF,MAAM,CAAC;EAE5B,IAAIA,MAAM,KAAK,CAAC,EAAE;IAChB,OAAO,IAAIhE,WAAW,EAAQ;EAChC,CAAC,MAAM,IAAIgE,MAAM,KAAK,CAAC,EAAE;IACvB,OAAO,IAAIhB,eAAe,EAAQ;EACpC,CAAC,MAAM;IACL,OAAO,IAAIY,iBAAiB,CAAO,IAAIO,mBAAU,CAACH,MAAM,CAAC,CAAC;EAC5D;AACF;AAEA;;;AAGM,SAAUd,IAAIA,CAAOc,MAAe;EACxC,OAAOnG,MAAM,CAACuG,cAAc,CAACvG,MAAM,CAACmE,IAAI,CAAC,MAAM+B,UAAU,CAACC,MAAM,CAAC,CAAC,EAAGK,OAAO,IAAKA,OAAO,CAAC/C,SAAS,CAAC;AACrG;AAEA;;;AAGM,SAAUgD,OAAOA,CAAgBC,GAAgB,EAAE/C,CAA6B;EACpF,OAAO,IAAIgD,OAAO,CAACD,GAAG,EAAE/C,CAAC,CAAC;AAC5B;AAEA,MAAMgD,OAAuB,SAAQvE,cAAiC;EAM/CsE,GAAA;EAA2B/C,CAAA;EALxCvC,GAAG;EAEFoD,eAAe;EACff,SAAS;EAElBlB,YAAqBmE,GAAgB,EAAW/C,CAA6B;IAC3E,KAAK,EAAE;IADY,KAAA+C,GAAG,GAAHA,GAAG;IAAwB,KAAA/C,CAAC,GAADA,CAAC;IAG/C,IAAI,CAACvC,GAAG,GAAGpB,MAAM,CAAC4G,GAAG,CAACF,GAAG,EAAE/C,CAAC,CAAC;IAC7B,IAAI,CAACa,eAAe,GAAGxE,MAAM,CAAC6G,OAAO,CAAC,IAAI,CAACzF,GAAG,EAAGoF,OAAO,IAAKA,OAAO,CAAChC,eAAe,CAAC;IACrF,IAAI,CAACf,SAAS,GAAGzD,MAAM,CAAC6G,OAAO,CAAC,IAAI,CAACzF,GAAG,EAAGoF,OAAO,IAAKA,OAAO,CAAC/C,SAAS,CAAC;EAC3E;EAEAd,GAAGA,CAAKC,IAAoB;IAC1B,OAAO5C,MAAM,CAAC6G,OAAO,CAAC,IAAI,CAACzF,GAAG,EAAGoF,OAAO,IAAKA,OAAO,CAAC7D,GAAG,CAACC,IAAI,CAAC,CAAC;EACjE;EAEAJ,SAASA,CAACO,KAAqB;IAC7B,OAAO/C,MAAM,CAAC6G,OAAO,CAAC,IAAI,CAACzF,GAAG,EAAGoF,OAAO,IAAKA,OAAO,CAAChE,SAAS,CAACO,KAAK,CAAC,CAAC;EACxE;EAEAL,SAASA,CAACmC,KAAQ;IAChB,OAAO7E,MAAM,CAAC6G,OAAO,CAAC,IAAI,CAACzF,GAAG,EAAGoF,OAAO,IAAKA,OAAO,CAAC9D,SAAS,CAACmC,KAAK,CAAC,CAAC;EACxE;;AAGF;;;AAGM,SAAUiC,MAAMA,CAAA;EAIpB,OAAiBC,UAAa,IAAK,IAAIC,UAAU,CAACnH,CAAC,CAACoH,MAAM,CAAmBF,UAAU,CAAC,CAAC;AAC3F;AAEA,MAAMG,WAAW,GAAIC,IAAgB,IACnCA,IAAI,CAACC,MAAM,KAAK,CAAC,IAAIpH,MAAM,CAACqH,QAAQ,CAACF,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAAG,sBAAW,EAACH,IAAI,CAAC,CAAC,CAAC,EAAEI,cAAM,CAAC;AAE/E,MAAMP,UAAoB,SAAQL,OAAsC;EAGjDD,GAAA;EAFZzB,OAAO;EAEhB1C,YAAqBmE,GAA+B;IAClD,KAAK,CAACA,GAAG,EAAEc,kBAAQ,CAAC;IADD,KAAAd,GAAG,GAAHA,GAAG;IAGtB,IAAI,CAACzB,OAAO,GAAG,IAAAwC,cAAI,EACjBP,WAAW,EACX,CAAYQ,UAAoD,EAAEvB,MAAe,KAAI;MACnF,IAAIoB,cAAM,IAAIG,UAAU,EAAE,OAAO,IAAAzC,aAAO,EAACyC,UAAuC,EAAE,IAAI,CAACrC,IAAI,CAACc,MAAM,CAAC,CAAC,MAC/F,OAAOnG,MAAM,CAACiF,OAAO,CAACyC,UAAsC,EAAE,IAAI,CAACrC,IAAI,CAACc,MAAM,CAAC,CAAC;IACvF,CAAC,CACF;EACH;EAEAd,IAAIA,CAACc,MAAe;IAClB,OAAO,IAAI,CAACO,GAAG,CAACiB,MAAM,CAACtC,IAAI,CAACc,MAAM,CAAC,CAAC;EACtC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Subject.d.ts","sourceRoot":"","sources":["../../src/Subject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Subject.d.ts","sourceRoot":"","sources":["../../src/Subject.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAA;AACnC,OAAO,KAAK,EAAS,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAOvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,SAAS,CAAA;AAIjC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAIrC;;;GAGG;AACH,MAAM,WAAW,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAChE,SAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,QAAQ;IAE/D,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IACzD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;CAClD;AAED;;GAEG;AACH,yBAAiB,OAAO,CAAC;IACvB;;OAEG;IACH,UAAiB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACvD,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAExC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAClD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;KAC7B;IAED;;OAEG;IACH,KAAY,OAAO,CAAC,CAAC,IAAI,CACvB,KAAK,CAAC,IAAI,SACN,SAAS;QACP,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACjB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;QAC9B,MAAM,CAAC;KACR,GACC,SAAS;QACT,MAAM;KACP,EAEH,GAAG,IAAI,EAAE,IAAI,KACV,IAAI,SAAS,SAAS,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC7G,UAAU,EAAE,CAAC,KACV,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAC1E,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAC/F,KAAK,GACP,IAAI,SAAS,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GACnF,IAAI,SAAS,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GACzG,KAAK,CAAA;CACV;AAqKD;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,MAAM,GAAE,MAAU,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAU1E;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAE5F;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAE5G;AA6BD;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,KAAK;IACtC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;IAClG,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;CAClE,CAEA"}
@@ -21,7 +21,6 @@ const DISCARD = { discard: true };
21
21
  */
22
22
  export class SubjectImpl extends FxBase {
23
23
  sinks = new Set();
24
- scopes = new Set();
25
24
  constructor() {
26
25
  super();
27
26
  this.onFailure = this.onFailure.bind(this);
@@ -38,36 +37,48 @@ export class SubjectImpl extends FxBase {
38
37
  onSuccess(a) {
39
38
  return this.onEvent(a);
40
39
  }
41
- interrupt = Effect.fiberIdWith((id) => Effect.tap(Effect.forEach(this.scopes, (scope) => Scope.close(scope, Exit.interrupt(id)), DISCARD), () => {
40
+ interruptScopes = Effect.fiberIdWith((id) => Effect.tap(Effect.forEach(this.sinks, ([, , scope]) => Scope.close(scope, Exit.interrupt(id)), DISCARD), () => {
42
41
  this.sinks.clear();
43
- this.scopes.clear();
44
42
  }));
43
+ interrupt = this.interruptScopes;
45
44
  addSink(sink, f) {
46
45
  return withScope((innerScope) => Effect.contextWithEffect((ctx) => {
47
- const entry = [sink, ctx];
48
- const add = Effect.sync(() => {
49
- this.sinks.add(entry);
50
- this.scopes.add(innerScope);
51
- });
52
- const remove = Effect.sync(() => {
53
- this.sinks.delete(entry);
54
- this.scopes.delete(innerScope);
55
- });
56
- return Effect.zipRight(Scope.addFinalizer(innerScope, remove), Effect.zipRight(add, f(innerScope)));
46
+ const entry = [sink, ctx, innerScope];
47
+ this.sinks.add(entry);
48
+ const remove = Effect.sync(() => this.sinks.delete(entry));
49
+ return Effect.zipRight(Scope.addFinalizer(innerScope, remove), f(innerScope));
57
50
  }), ExecutionStrategy.sequential);
58
51
  }
59
52
  subscriberCount = Effect.sync(() => this.sinks.size);
60
53
  onEvent(a) {
61
54
  if (this.sinks.size === 0)
62
55
  return Effect.unit;
56
+ else if (this.sinks.size === 1) {
57
+ const [sink, ctx] = this.sinks.values().next().value;
58
+ return runSinkEvent(sink, ctx, a);
59
+ }
63
60
  else {
64
- return Effect.forEach(this.sinks, ([sink, ctx]) => Effect.provide(sink.onSuccess(a), ctx), DISCARD);
61
+ return Effect.forEach(this.sinks, ([sink, ctx]) => runSinkEvent(sink, ctx, a), DISCARD);
65
62
  }
66
63
  }
67
64
  onCause(cause) {
68
- return Effect.forEach(this.sinks, ([sink, ctx]) => Effect.provide(sink.onFailure(cause), ctx), DISCARD);
65
+ if (this.sinks.size === 0)
66
+ return Effect.unit;
67
+ else if (this.sinks.size === 1) {
68
+ const [sink, ctx] = this.sinks.values().next().value;
69
+ return runSinkCause(sink, ctx, cause);
70
+ }
71
+ else {
72
+ return Effect.forEach(this.sinks, ([sink, ctx]) => runSinkCause(sink, ctx, cause), DISCARD);
73
+ }
69
74
  }
70
75
  }
76
+ function runSinkEvent(sink, ctx, a) {
77
+ return Effect.provide(Effect.catchAllCause(sink.onSuccess(a), sink.onFailure), ctx);
78
+ }
79
+ function runSinkCause(sink, ctx, cause) {
80
+ return Effect.provide(Effect.catchAllCause(sink.onFailure(cause), () => Effect.unit), ctx);
81
+ }
71
82
  /**
72
83
  * @internal
73
84
  */
@@ -90,7 +101,7 @@ export class HoldSubjectImpl extends SubjectImpl {
90
101
  onSome: (exit) => Effect.zipRight(Exit.match(exit, sink), awaitScopeClose(scope))
91
102
  }));
92
103
  }
93
- interrupt = Effect.fiberIdWith((id) => Effect.tap(Effect.forEach(this.scopes, (scope) => Scope.close(scope, Exit.interrupt(id)), DISCARD), () => MutableRef.set(this.lastValue, Option.none())));
104
+ interrupt = Effect.tap(this.interruptScopes, () => MutableRef.set(this.lastValue, Option.none()));
94
105
  }
95
106
  /**
96
107
  * @internal
@@ -109,7 +120,7 @@ export class ReplaySubjectImpl extends SubjectImpl {
109
120
  run(sink) {
110
121
  return this.addSink(sink, (scope) => Effect.zipRight(this.buffer.forEach((a) => sink.onSuccess(a)), awaitScopeClose(scope)));
111
122
  }
112
- interrupt = Effect.fiberIdWith((id) => Effect.tap(Effect.forEach(this.scopes, (scope) => Scope.close(scope, Exit.interrupt(id)), DISCARD), () => this.buffer.clear()));
123
+ interrupt = Effect.tap(this.interruptScopes, () => this.buffer.clear());
113
124
  }
114
125
  /**
115
126
  * @since 1.20.0
@@ -1 +1 @@
1
- {"version":3,"file":"Subject.js","sourceRoot":"","sources":["../../src/Subject.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAA;AAGnC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAA;AAC7D,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAG7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAoDpC,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,EAAW,CAAA;AAE1C;;GAEG;AACH,MAAM,OAAO,WAAkB,SAAQ,MAAyB;IACpD,KAAK,GAA0D,IAAI,GAAG,EAAE,CAAA;IACxE,MAAM,GAA8B,IAAI,GAAG,EAAE,CAAA;IAEvD;QACE,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC;IAED,GAAG,CAAK,IAAoB;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;IAC5C,CAAC;IAED,8BAA8B;IAC9B,SAAS,CAAC,KAAqB;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;IAED,6BAA6B;IAC7B,SAAS,CAAC,CAAI;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACxB,CAAC;IAEQ,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAC7C,MAAM,CAAC,GAAG,CACR,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EACvF,GAAG,EAAE;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QAClB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;IACrB,CAAC,CACF,CACF,CAAA;IAES,OAAO,CACf,IAAmB,EACnB,CAAsD;QAEtD,OAAO,SAAS,CACd,CAAC,UAAU,EAAE,EAAE,CACb,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/B,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,GAAG,CAAU,CAAA;YAClC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YAC7B,CAAC,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC9B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACxB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YAChC,CAAC,CAAC,CAAA;YAEF,OAAO,MAAM,CAAC,QAAQ,CACpB,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,EACtC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CACpC,CAAA;QACH,CAAC,CAAC,EACJ,iBAAiB,CAAC,UAAU,CAC7B,CAAA;IACH,CAAC;IAEQ,eAAe,GAA0B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAE1E,OAAO,CAAC,CAAI;QACpB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC,IAAI,CAAA;aACxC,CAAC;YACJ,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;QACrG,CAAC;IACH,CAAC;IAES,OAAO,CAAC,KAAqB;QACrC,OAAO,MAAM,CAAC,OAAO,CACnB,IAAI,CAAC,KAAK,EACV,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAC3D,OAAO,CACR,CAAA;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAsB,SAAQ,WAAiB;IACjD,SAAS,GAA0D,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;IAE1G,6BAA6B;IAC7B,SAAS,GAAG,CAAC,CAAI,EAAE,EAAE,CACnB,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;QAClB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAE5D,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACxB,CAAC,CAAC,CAAA;IAEJ,SAAS,GAAG,CAAC,KAAqB,EAAqC,EAAE;QACvE,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;YACzB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAElE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,GAAG,CAAK,IAAoB;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAClC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAC3C,MAAM,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;YACpC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;SAClF,CAAC,CAAC,CAAA;IACP,CAAC;IAEQ,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAC7C,MAAM,CAAC,GAAG,CACR,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EACvF,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CACpD,CACF,CAAA;CACF;AAED;;GAEG;AACH,MAAM,OAAO,iBAAwB,SAAQ,WAAiB;IACvC;IAArB,YAAqB,MAAqB;QACxC,KAAK,EAAE,CAAA;QADY,WAAM,GAAN,MAAM,CAAe;IAE1C,CAAC;IAED,6BAA6B;IAC7B,SAAS,GAAG,CAAC,CAAI,EAAE,EAAE,CACnB,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;QAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAEnB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACxB,CAAC,CAAC,CAAA;IAEJ,GAAG,CAAK,IAAoB;QAC1B,OAAO,IAAI,CAAC,OAAO,CACjB,IAAI,EACJ,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAClG,CAAA;IACH,CAAC;IAEQ,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAC7C,MAAM,CAAC,GAAG,CACR,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EACvF,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAC1B,CACF,CAAA;CACF;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAe,SAAiB,CAAC;IACzD,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IAE5B,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,OAAO,IAAI,WAAW,EAAQ,CAAA;IAChC,CAAC;SAAM,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,eAAe,EAAQ,CAAA;IACpC,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,iBAAiB,CAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;IAC5D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,IAAI,CAAO,MAAe;IACxC,OAAO,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;AACrG,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAgB,GAAgB,EAAE,CAA6B;IACpF,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;AAC5B,CAAC;AAED,MAAM,OAAuB,SAAQ,MAAiC;IAM/C;IAA2B;IALxC,GAAG,CAA2C;IAE7C,eAAe,CAAqC;IACpD,SAAS,CAAmC;IAErD,YAAqB,GAAgB,EAAW,CAA6B;QAC3E,KAAK,EAAE,CAAA;QADY,QAAG,GAAH,GAAG,CAAa;QAAW,MAAC,GAAD,CAAC,CAA4B;QAG3E,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;QACrF,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC3E,CAAC;IAED,GAAG,CAAK,IAAoB;QAC1B,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;IACjE,CAAC;IAED,SAAS,CAAC,KAAqB;QAC7B,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;IACxE,CAAC;IAED,SAAS,CAAC,KAAQ;QAChB,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;IACxE,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,MAAM;IAIpB,OAAO,CAAU,UAAa,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,CAAmB,UAAU,CAAC,CAAC,CAAA;AAC3F,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,IAAgB,EAAW,EAAE,CAChD,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;AAE/E,MAAM,UAAoB,SAAQ,OAAsC;IAGjD;IAFZ,OAAO,CAAoC;IAEpD,YAAqB,GAA+B;QAClD,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;QADD,QAAG,GAAH,GAAG,CAA4B;QAGlD,IAAI,CAAC,OAAO,GAAG,IAAI,CACjB,WAAW,EACX,CAAY,UAAoD,EAAE,MAAe,EAAE,EAAE;YACnF,IAAI,MAAM,IAAI,UAAU;gBAAE,OAAO,OAAO,CAAC,UAAuC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;;gBAC/F,OAAO,MAAM,CAAC,OAAO,CAAC,UAAsC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QACvF,CAAC,CACF,CAAA;IACH,CAAC;IAED,IAAI,CAAC,MAAe;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IACtC,CAAC;CACF"}
1
+ {"version":3,"file":"Subject.js","sourceRoot":"","sources":["../../src/Subject.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typed/fx",
3
- "version": "1.27.3",
3
+ "version": "1.27.4",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "repository": {
package/src/Subject.ts CHANGED
@@ -78,8 +78,7 @@ const DISCARD = { discard: true } as const
78
78
  * @internal
79
79
  */
80
80
  export class SubjectImpl<A, E> extends FxBase<A, E, Scope.Scope> implements Subject<A, E> {
81
- protected sinks: Set<readonly [Sink<A, E, any>, Context.Context<any>]> = new Set()
82
- protected scopes: Set<Scope.CloseableScope> = new Set()
81
+ protected sinks: Set<readonly [Sink<A, E, any>, Context.Context<any>, Scope.CloseableScope]> = new Set()
83
82
 
84
83
  constructor() {
85
84
  super()
@@ -101,16 +100,17 @@ export class SubjectImpl<A, E> extends FxBase<A, E, Scope.Scope> implements Subj
101
100
  return this.onEvent(a)
102
101
  }
103
102
 
104
- readonly interrupt = Effect.fiberIdWith((id) =>
103
+ protected interruptScopes = Effect.fiberIdWith((id) =>
105
104
  Effect.tap(
106
- Effect.forEach(this.scopes, (scope) => Scope.close(scope, Exit.interrupt(id)), DISCARD),
105
+ Effect.forEach(this.sinks, ([, , scope]) => Scope.close(scope, Exit.interrupt(id)), DISCARD),
107
106
  () => {
108
107
  this.sinks.clear()
109
- this.scopes.clear()
110
108
  }
111
109
  )
112
110
  )
113
111
 
112
+ readonly interrupt = this.interruptScopes
113
+
114
114
  protected addSink<R, B, R2>(
115
115
  sink: Sink<A, E, R>,
116
116
  f: (scope: Scope.Scope) => Effect.Effect<B, never, R2>
@@ -118,19 +118,13 @@ export class SubjectImpl<A, E> extends FxBase<A, E, Scope.Scope> implements Subj
118
118
  return withScope(
119
119
  (innerScope) =>
120
120
  Effect.contextWithEffect((ctx) => {
121
- const entry = [sink, ctx] as const
122
- const add = Effect.sync(() => {
123
- this.sinks.add(entry)
124
- this.scopes.add(innerScope)
125
- })
126
- const remove = Effect.sync(() => {
127
- this.sinks.delete(entry)
128
- this.scopes.delete(innerScope)
129
- })
121
+ const entry = [sink, ctx, innerScope] as const
122
+ this.sinks.add(entry)
123
+ const remove = Effect.sync(() => this.sinks.delete(entry))
130
124
 
131
125
  return Effect.zipRight(
132
126
  Scope.addFinalizer(innerScope, remove),
133
- Effect.zipRight(add, f(innerScope))
127
+ f(innerScope)
134
128
  )
135
129
  }),
136
130
  ExecutionStrategy.sequential
@@ -141,20 +135,41 @@ export class SubjectImpl<A, E> extends FxBase<A, E, Scope.Scope> implements Subj
141
135
 
142
136
  protected onEvent(a: A) {
143
137
  if (this.sinks.size === 0) return Effect.unit
144
- else {
145
- return Effect.forEach(this.sinks, ([sink, ctx]) => Effect.provide(sink.onSuccess(a), ctx), DISCARD)
138
+ else if (this.sinks.size === 1) {
139
+ const [sink, ctx] = this.sinks.values().next().value
140
+ return runSinkEvent(sink, ctx, a)
141
+ } else {
142
+ return Effect.forEach(
143
+ this.sinks,
144
+ ([sink, ctx]) => runSinkEvent(sink, ctx, a),
145
+ DISCARD
146
+ )
146
147
  }
147
148
  }
148
149
 
149
150
  protected onCause(cause: Cause.Cause<E>) {
150
- return Effect.forEach(
151
- this.sinks,
152
- ([sink, ctx]) => Effect.provide(sink.onFailure(cause), ctx),
153
- DISCARD
154
- )
151
+ if (this.sinks.size === 0) return Effect.unit
152
+ else if (this.sinks.size === 1) {
153
+ const [sink, ctx] = this.sinks.values().next().value
154
+ return runSinkCause(sink, ctx, cause)
155
+ } else {
156
+ return Effect.forEach(
157
+ this.sinks,
158
+ ([sink, ctx]) => runSinkCause(sink, ctx, cause),
159
+ DISCARD
160
+ )
161
+ }
155
162
  }
156
163
  }
157
164
 
165
+ function runSinkEvent<A, E>(sink: Sink<A, E, any>, ctx: Context.Context<any>, a: A) {
166
+ return Effect.provide(Effect.catchAllCause(sink.onSuccess(a), sink.onFailure), ctx)
167
+ }
168
+
169
+ function runSinkCause<A, E>(sink: Sink<A, E, any>, ctx: Context.Context<any>, cause: Cause.Cause<E>) {
170
+ return Effect.provide(Effect.catchAllCause(sink.onFailure(cause), () => Effect.unit), ctx)
171
+ }
172
+
158
173
  /**
159
174
  * @internal
160
175
  */
@@ -185,11 +200,9 @@ export class HoldSubjectImpl<A, E> extends SubjectImpl<A, E> implements Subject<
185
200
  }))
186
201
  }
187
202
 
188
- readonly interrupt = Effect.fiberIdWith((id) =>
189
- Effect.tap(
190
- Effect.forEach(this.scopes, (scope) => Scope.close(scope, Exit.interrupt(id)), DISCARD),
191
- () => MutableRef.set(this.lastValue, Option.none())
192
- )
203
+ readonly interrupt = Effect.tap(
204
+ this.interruptScopes,
205
+ () => MutableRef.set(this.lastValue, Option.none())
193
206
  )
194
207
  }
195
208
 
@@ -216,11 +229,9 @@ export class ReplaySubjectImpl<A, E> extends SubjectImpl<A, E> {
216
229
  )
217
230
  }
218
231
 
219
- readonly interrupt = Effect.fiberIdWith((id) =>
220
- Effect.tap(
221
- Effect.forEach(this.scopes, (scope) => Scope.close(scope, Exit.interrupt(id)), DISCARD),
222
- () => this.buffer.clear()
223
- )
232
+ readonly interrupt = Effect.tap(
233
+ this.interruptScopes,
234
+ () => this.buffer.clear()
224
235
  )
225
236
  }
226
237