@typed/fx 1.2.0 → 1.3.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.
Files changed (153) hide show
  1. package/dist/Subject/HoldSubject.d.ts +3 -4
  2. package/dist/Subject/HoldSubject.d.ts.map +1 -1
  3. package/dist/Subject/HoldSubject.js +3 -3
  4. package/dist/Subject/HoldSubject.js.map +1 -1
  5. package/dist/Subject/RefSubject.d.ts +18 -2
  6. package/dist/Subject/RefSubject.d.ts.map +1 -1
  7. package/dist/Subject/RefSubject.js +98 -19
  8. package/dist/Subject/RefSubject.js.map +1 -1
  9. package/dist/Subject/Subject.js +1 -1
  10. package/dist/Subject/Subject.js.map +1 -1
  11. package/dist/Subject/SynchronizedSubject.d.ts.map +1 -1
  12. package/dist/Subject/SynchronizedSubject.js +7 -5
  13. package/dist/Subject/SynchronizedSubject.js.map +1 -1
  14. package/dist/_internal/RefCounter.js +1 -1
  15. package/dist/_internal/RefCounter.js.map +1 -1
  16. package/dist/cjs/Subject/HoldSubject.d.ts +3 -4
  17. package/dist/cjs/Subject/HoldSubject.d.ts.map +1 -1
  18. package/dist/cjs/Subject/HoldSubject.js +3 -3
  19. package/dist/cjs/Subject/HoldSubject.js.map +1 -1
  20. package/dist/cjs/Subject/RefSubject.d.ts +18 -2
  21. package/dist/cjs/Subject/RefSubject.d.ts.map +1 -1
  22. package/dist/cjs/Subject/RefSubject.js +98 -19
  23. package/dist/cjs/Subject/RefSubject.js.map +1 -1
  24. package/dist/cjs/Subject/SynchronizedSubject.d.ts.map +1 -1
  25. package/dist/cjs/Subject/SynchronizedSubject.js +6 -4
  26. package/dist/cjs/Subject/SynchronizedSubject.js.map +1 -1
  27. package/dist/cjs/_internal/RefCounter.js +1 -1
  28. package/dist/cjs/_internal/RefCounter.js.map +1 -1
  29. package/dist/cjs/constructor/index.d.ts +0 -4
  30. package/dist/cjs/constructor/index.d.ts.map +1 -1
  31. package/dist/cjs/constructor/index.js +0 -4
  32. package/dist/cjs/constructor/index.js.map +1 -1
  33. package/dist/cjs/constructor/promiseFx.d.ts +0 -2
  34. package/dist/cjs/constructor/promiseFx.d.ts.map +1 -1
  35. package/dist/cjs/constructor/promiseFx.js +1 -5
  36. package/dist/cjs/constructor/promiseFx.js.map +1 -1
  37. package/dist/cjs/operator/catchAllDefect.d.ts.map +1 -1
  38. package/dist/cjs/operator/catchAllDefect.js +2 -1
  39. package/dist/cjs/operator/catchAllDefect.js.map +1 -1
  40. package/dist/cjs/operator/continueWith.js +1 -1
  41. package/dist/cjs/operator/continueWith.js.map +1 -1
  42. package/dist/cjs/operator/debounce.js +1 -1
  43. package/dist/cjs/operator/debounce.js.map +1 -1
  44. package/dist/cjs/operator/during.js +1 -1
  45. package/dist/cjs/operator/during.js.map +1 -1
  46. package/dist/cjs/operator/hold.d.ts.map +1 -1
  47. package/dist/cjs/operator/hold.js +8 -8
  48. package/dist/cjs/operator/hold.js.map +1 -1
  49. package/dist/cjs/operator/loop.js +1 -1
  50. package/dist/cjs/operator/loop.js.map +1 -1
  51. package/dist/cjs/operator/multicast.js +3 -3
  52. package/dist/cjs/operator/multicast.js.map +1 -1
  53. package/dist/cjs/operator/skipRepeats.js +2 -2
  54. package/dist/cjs/operator/skipRepeats.js.map +1 -1
  55. package/dist/cjs/operator/switchMatch.js +1 -1
  56. package/dist/cjs/operator/switchMatch.js.map +1 -1
  57. package/dist/cjs/operator/tapDefect.d.ts.map +1 -1
  58. package/dist/cjs/operator/tapDefect.js +2 -1
  59. package/dist/cjs/operator/tapDefect.js.map +1 -1
  60. package/dist/cjs/run/collectAll.js +1 -1
  61. package/dist/cjs/run/collectAll.js.map +1 -1
  62. package/dist/cjs/run/collectN.js +1 -1
  63. package/dist/cjs/run/collectN.js.map +1 -1
  64. package/dist/cjs/run/reduce.js +1 -1
  65. package/dist/cjs/run/reduce.js.map +1 -1
  66. package/dist/constructor/done.js +1 -1
  67. package/dist/constructor/done.js.map +1 -1
  68. package/dist/constructor/empty.js +1 -1
  69. package/dist/constructor/empty.js.map +1 -1
  70. package/dist/constructor/fromArray.js +1 -1
  71. package/dist/constructor/fromArray.js.map +1 -1
  72. package/dist/constructor/fromEffect.js +1 -1
  73. package/dist/constructor/fromEffect.js.map +1 -1
  74. package/dist/constructor/fromIterable.js +1 -1
  75. package/dist/constructor/fromIterable.js.map +1 -1
  76. package/dist/constructor/index.d.ts +0 -4
  77. package/dist/constructor/index.d.ts.map +1 -1
  78. package/dist/constructor/index.js +0 -4
  79. package/dist/constructor/index.js.map +1 -1
  80. package/dist/constructor/never.js +1 -1
  81. package/dist/constructor/never.js.map +1 -1
  82. package/dist/constructor/promiseFx.d.ts +0 -2
  83. package/dist/constructor/promiseFx.d.ts.map +1 -1
  84. package/dist/constructor/promiseFx.js +0 -2
  85. package/dist/constructor/promiseFx.js.map +1 -1
  86. package/dist/operator/catchAllDefect.d.ts.map +1 -1
  87. package/dist/operator/catchAllDefect.js +2 -1
  88. package/dist/operator/catchAllDefect.js.map +1 -1
  89. package/dist/operator/continueWith.js +2 -2
  90. package/dist/operator/continueWith.js.map +1 -1
  91. package/dist/operator/debounce.js +1 -1
  92. package/dist/operator/debounce.js.map +1 -1
  93. package/dist/operator/during.js +1 -1
  94. package/dist/operator/during.js.map +1 -1
  95. package/dist/operator/hold.d.ts.map +1 -1
  96. package/dist/operator/hold.js +8 -8
  97. package/dist/operator/hold.js.map +1 -1
  98. package/dist/operator/loop.js +1 -1
  99. package/dist/operator/loop.js.map +1 -1
  100. package/dist/operator/multicast.js +3 -3
  101. package/dist/operator/multicast.js.map +1 -1
  102. package/dist/operator/scanEffect.js +1 -1
  103. package/dist/operator/scanEffect.js.map +1 -1
  104. package/dist/operator/skipRepeats.js +2 -2
  105. package/dist/operator/skipRepeats.js.map +1 -1
  106. package/dist/operator/switchMatch.js +1 -1
  107. package/dist/operator/switchMatch.js.map +1 -1
  108. package/dist/operator/tapDefect.d.ts.map +1 -1
  109. package/dist/operator/tapDefect.js +2 -1
  110. package/dist/operator/tapDefect.js.map +1 -1
  111. package/dist/run/collectAll.js +1 -1
  112. package/dist/run/collectAll.js.map +1 -1
  113. package/dist/run/collectN.js +1 -1
  114. package/dist/run/collectN.js.map +1 -1
  115. package/dist/run/reduce.js +1 -1
  116. package/dist/run/reduce.js.map +1 -1
  117. package/dist/run/run.js +1 -1
  118. package/dist/run/run.js.map +1 -1
  119. package/dist/tsconfig.cjs.build.tsbuildinfo +1 -1
  120. package/package.json +4 -4
  121. package/src/Subject/HoldSubject.ts +4 -4
  122. package/src/Subject/RefSubject.ts +9 -11
  123. package/src/Subject/SynchronizedSubject.ts +4 -4
  124. package/src/_internal/RefCounter.ts +1 -1
  125. package/src/constructor/index.ts +0 -4
  126. package/src/constructor/promiseFx.ts +0 -22
  127. package/src/operator/catchAllDefect.ts +2 -1
  128. package/src/operator/continueWith.ts +2 -2
  129. package/src/operator/debounce.ts +1 -1
  130. package/src/operator/during.ts +1 -1
  131. package/src/operator/hold.ts +9 -8
  132. package/src/operator/loop.ts +1 -1
  133. package/src/operator/multicast.ts +3 -3
  134. package/src/operator/skipRepeats.ts +2 -2
  135. package/src/operator/switchMatch.ts +1 -1
  136. package/src/operator/tapDefect.ts +2 -1
  137. package/src/run/collectAll.ts +1 -1
  138. package/src/run/collectN.ts +1 -1
  139. package/src/run/reduce.ts +1 -1
  140. package/tsconfig.build.tsbuildinfo +1 -1
  141. package/tsconfig.cjs.build.json +2 -2
  142. package/dist/Subject/Computed.d.ts +0 -12
  143. package/dist/Subject/Computed.d.ts.map +0 -1
  144. package/dist/Subject/Computed.js +0 -54
  145. package/dist/Subject/Computed.js.map +0 -1
  146. package/dist/cjs/Subject/Computed.d.ts +0 -12
  147. package/dist/cjs/Subject/Computed.d.ts.map +0 -1
  148. package/dist/cjs/Subject/Computed.js +0 -80
  149. package/dist/cjs/Subject/Computed.js.map +0 -1
  150. package/src/constructor/tryCatchPromise.ts +0 -11
  151. package/src/constructor/tryCatchPromiseAbort.ts +0 -11
  152. package/src/constructor/tryPromise.ts +0 -11
  153. package/src/constructor/tryPromiseAbort.ts +0 -10
@@ -1,54 +0,0 @@
1
- import * as MutableRef from '@effect/data/MutableRef';
2
- import { dual, flow } from '@effect/data/function';
3
- import * as Effect from '@effect/io/Effect';
4
- import { Fx, Sink } from '../Fx.js';
5
- import { flatMapEffect } from '../operator/flatMapEffect.js';
6
- import { MulticastFx } from '../operator/multicast.js';
7
- import { observeSync } from '../run/observe.js';
8
- export const makeComputed = dual(2, makeComputed_);
9
- function makeComputed_(input, compute) {
10
- return Effect.gen(function* ($) {
11
- const current = MutableRef.make(yield* $(Effect.exit(compute(yield* $(input.get)))));
12
- const dirty = MutableRef.make(false);
13
- const computed = new ComputedImpl(input, flow(compute, Effect.provideContext(yield* $(Effect.context()))), current, dirty);
14
- // When the underlying subject changes, mark the computed value as dirty
15
- yield* $(Effect.forkScoped(observeSync(() => {
16
- // Only mark the value as dirty if there are no observers which will
17
- // automatically trigger a recomputation
18
- if (computed.fx.observers.length === 0) {
19
- dirty.set(true);
20
- }
21
- })(input)));
22
- return computed;
23
- });
24
- }
25
- class ComputedImpl extends Fx.Variance {
26
- constructor(input, compute, current, dirty) {
27
- super();
28
- this.input = input;
29
- this.compute = compute;
30
- this.current = current;
31
- this.dirty = dirty;
32
- this.get = Effect.suspendSucceed(() => {
33
- const { current, dirty } = this;
34
- if (dirty.get()) {
35
- return Effect.flatMap(this.input.get, (a) => this.update(a));
36
- }
37
- return Effect.done(current.get());
38
- });
39
- this.fx = new MulticastFx(flatMapEffect((a) => this.update(a))(this.input));
40
- }
41
- run(sink) {
42
- return this.fx.run(sink);
43
- }
44
- update(a) {
45
- const { compute, current, dirty } = this;
46
- return Effect.gen(function* ($) {
47
- const computed = yield* $(Effect.exit(compute(a)));
48
- current.set(computed);
49
- dirty.set(false);
50
- return yield* $(Effect.done(computed));
51
- });
52
- }
53
- }
54
- //# sourceMappingURL=Computed.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Computed.js","sourceRoot":"","sources":["../../src/Subject/Computed.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import * as Effect from '@effect/io/Effect';
2
- import type * as Scope from '@effect/io/Scope';
3
- import { Fx } from '../Fx.js';
4
- import type { RefSubject } from './RefSubject.js';
5
- export interface Computed<E, A> extends Fx<never, E, A> {
6
- readonly get: Effect.Effect<never, E, A>;
7
- }
8
- export declare const makeComputed: {
9
- <A, R, E, B>(input: RefSubject<A>, compute: (a: A) => Effect.Effect<R, E, B>): Effect.Effect<R | Scope.Scope, never, Computed<E, B>>;
10
- <A, R, E, B>(compute: (a: A) => Effect.Effect<R, E, B>): (input: RefSubject<A>) => Effect.Effect<R | Scope.Scope, never, Computed<E, B>>;
11
- };
12
- //# sourceMappingURL=Computed.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Computed.d.ts","sourceRoot":"","sources":["../../../src/Subject/Computed.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,OAAO,KAAK,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAE9C,OAAO,EAAE,EAAE,EAAQ,MAAM,UAAU,CAAA;AAKnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,MAAM,WAAW,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACrD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;CACzC;AAED,eAAO,MAAM,YAAY,EAAE;IACzB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAC1F,CAAC,GAAG,KAAK,CAAC,KAAK,EACf,KAAK,EACL,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CACf,CAAA;IAED,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CACvD,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KACjB,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;CAClC,CAAA"}
@@ -1,80 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.makeComputed = void 0;
27
- const MutableRef = __importStar(require("@effect/data/MutableRef"));
28
- const function_1 = require("@effect/data/function");
29
- const Effect = __importStar(require("@effect/io/Effect"));
30
- const Fx_js_1 = require("../Fx.js");
31
- const flatMapEffect_js_1 = require("../operator/flatMapEffect.js");
32
- const multicast_js_1 = require("../operator/multicast.js");
33
- const observe_js_1 = require("../run/observe.js");
34
- exports.makeComputed = (0, function_1.dual)(2, makeComputed_);
35
- function makeComputed_(input, compute) {
36
- return Effect.gen(function* ($) {
37
- const current = MutableRef.make(yield* $(Effect.exit(compute(yield* $(input.get)))));
38
- const dirty = MutableRef.make(false);
39
- const computed = new ComputedImpl(input, (0, function_1.flow)(compute, Effect.provideContext(yield* $(Effect.context()))), current, dirty);
40
- // When the underlying subject changes, mark the computed value as dirty
41
- yield* $(Effect.forkScoped((0, observe_js_1.observeSync)(() => {
42
- // Only mark the value as dirty if there are no observers which will
43
- // automatically trigger a recomputation
44
- if (computed.fx.observers.length === 0) {
45
- dirty.set(true);
46
- }
47
- })(input)));
48
- return computed;
49
- });
50
- }
51
- class ComputedImpl extends Fx_js_1.Fx.Variance {
52
- constructor(input, compute, current, dirty) {
53
- super();
54
- this.input = input;
55
- this.compute = compute;
56
- this.current = current;
57
- this.dirty = dirty;
58
- this.get = Effect.suspendSucceed(() => {
59
- const { current, dirty } = this;
60
- if (dirty.get()) {
61
- return Effect.flatMap(this.input.get, (a) => this.update(a));
62
- }
63
- return Effect.done(current.get());
64
- });
65
- this.fx = new multicast_js_1.MulticastFx((0, flatMapEffect_js_1.flatMapEffect)((a) => this.update(a))(this.input));
66
- }
67
- run(sink) {
68
- return this.fx.run(sink);
69
- }
70
- update(a) {
71
- const { compute, current, dirty } = this;
72
- return Effect.gen(function* ($) {
73
- const computed = yield* $(Effect.exit(compute(a)));
74
- current.set(computed);
75
- dirty.set(false);
76
- return yield* $(Effect.done(computed));
77
- });
78
- }
79
- }
80
- //# sourceMappingURL=Computed.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Computed.js","sourceRoot":"","sources":["../../../src/Subject/Computed.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { flow } from '@effect/data/Function'
2
- import * as Effect from '@effect/io/Effect'
3
-
4
- import type { Fx } from '../Fx.js'
5
-
6
- import { fromEffect } from './fromEffect.js'
7
-
8
- export const tryCatchPromise: <E, A>(
9
- evaluate: () => Promise<A>,
10
- onReject: (reason: unknown) => E,
11
- ) => Fx<never, E, A> = flow(Effect.tryCatchPromise, fromEffect)
@@ -1,11 +0,0 @@
1
- import { flow } from '@effect/data/Function'
2
- import * as Effect from '@effect/io/Effect'
3
-
4
- import type { Fx } from '../Fx.js'
5
-
6
- import { fromEffect } from './fromEffect.js'
7
-
8
- export const tryCatchPromiseInterrupt: <E, A>(
9
- evaluate: (signal: AbortSignal) => Promise<A>,
10
- onReject: (reason: unknown) => E,
11
- ) => Fx<never, E, A> = flow(Effect.tryCatchPromiseInterrupt, fromEffect)
@@ -1,11 +0,0 @@
1
- import { flow } from '@effect/data/Function'
2
- import * as Effect from '@effect/io/Effect'
3
-
4
- import type { Fx } from '../Fx.js'
5
-
6
- import { fromEffect } from './fromEffect.js'
7
-
8
- export const tryPromise: <A>(evaluate: () => Promise<A>) => Fx<never, unknown, A> = flow(
9
- Effect.tryPromise,
10
- fromEffect,
11
- )
@@ -1,10 +0,0 @@
1
- import { flow } from '@effect/data/Function'
2
- import * as Effect from '@effect/io/Effect'
3
-
4
- import type { Fx } from '../Fx.js'
5
-
6
- import { fromEffect } from './fromEffect.js'
7
-
8
- export const tryPromiseInterrupt: <A>(
9
- evaluate: (signal: AbortSignal) => Promise<A>,
10
- ) => Fx<never, unknown, A> = flow(Effect.tryPromiseInterrupt, fromEffect)