@typed/fx 1.22.2 → 1.24.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 (157) hide show
  1. package/dist/cjs/AsyncData.js.map +1 -1
  2. package/dist/cjs/Form.js.map +1 -1
  3. package/dist/cjs/FormEntry.js.map +1 -1
  4. package/dist/cjs/Fx.js +1 -1
  5. package/dist/cjs/Fx.js.map +1 -1
  6. package/dist/cjs/Idle.js.map +1 -1
  7. package/dist/cjs/Match.js.map +1 -1
  8. package/dist/cjs/Pull.js +5 -3
  9. package/dist/cjs/Pull.js.map +1 -1
  10. package/dist/cjs/RefArray.js.map +1 -1
  11. package/dist/cjs/RefChunk.js.map +1 -1
  12. package/dist/cjs/RefHashSet.js.map +1 -1
  13. package/dist/cjs/RefSubject.js +3 -2
  14. package/dist/cjs/RefSubject.js.map +1 -1
  15. package/dist/cjs/Sink.js.map +1 -1
  16. package/dist/cjs/Subject.js.map +1 -1
  17. package/dist/cjs/Versioned.js.map +1 -1
  18. package/dist/cjs/internal/core.js.map +1 -1
  19. package/dist/cjs/internal/helpers.js.map +1 -1
  20. package/dist/cjs/internal/keyed.js +1 -1
  21. package/dist/cjs/internal/keyed.js.map +1 -1
  22. package/dist/cjs/internal/provide.js.map +1 -1
  23. package/dist/cjs/internal/share.js.map +1 -1
  24. package/dist/cjs/internal/sync-producer.js.map +1 -1
  25. package/dist/dts/AsyncData.d.ts +53 -53
  26. package/dist/dts/AsyncData.d.ts.map +1 -1
  27. package/dist/dts/Emitter.d.ts +7 -7
  28. package/dist/dts/Emitter.d.ts.map +1 -1
  29. package/dist/dts/Form.d.ts +14 -14
  30. package/dist/dts/Form.d.ts.map +1 -1
  31. package/dist/dts/FormEntry.d.ts +11 -11
  32. package/dist/dts/FormEntry.d.ts.map +1 -1
  33. package/dist/dts/Fx.d.ts +417 -417
  34. package/dist/dts/Fx.d.ts.map +1 -1
  35. package/dist/dts/Guard.d.ts +21 -21
  36. package/dist/dts/Guard.d.ts.map +1 -1
  37. package/dist/dts/Idle.d.ts +12 -12
  38. package/dist/dts/Idle.d.ts.map +1 -1
  39. package/dist/dts/Match.d.ts +16 -16
  40. package/dist/dts/Match.d.ts.map +1 -1
  41. package/dist/dts/Pull.d.ts +5 -5
  42. package/dist/dts/Pull.d.ts.map +1 -1
  43. package/dist/dts/Push.d.ts +40 -40
  44. package/dist/dts/Push.d.ts.map +1 -1
  45. package/dist/dts/RefArray.d.ts +59 -59
  46. package/dist/dts/RefArray.d.ts.map +1 -1
  47. package/dist/dts/RefChunk.d.ts +45 -45
  48. package/dist/dts/RefChunk.d.ts.map +1 -1
  49. package/dist/dts/RefHashMap.d.ts +35 -35
  50. package/dist/dts/RefHashMap.d.ts.map +1 -1
  51. package/dist/dts/RefHashSet.d.ts +17 -17
  52. package/dist/dts/RefHashSet.d.ts.map +1 -1
  53. package/dist/dts/RefSubject.d.ts +136 -136
  54. package/dist/dts/RefSubject.d.ts.map +1 -1
  55. package/dist/dts/Sink.d.ts +63 -63
  56. package/dist/dts/Sink.d.ts.map +1 -1
  57. package/dist/dts/Stream.d.ts +11 -11
  58. package/dist/dts/Stream.d.ts.map +1 -1
  59. package/dist/dts/Subject.d.ts +13 -13
  60. package/dist/dts/Subject.d.ts.map +1 -1
  61. package/dist/dts/Typeclass.d.ts +1 -1
  62. package/dist/dts/Typeclass.d.ts.map +1 -1
  63. package/dist/dts/Versioned.d.ts +33 -33
  64. package/dist/dts/Versioned.d.ts.map +1 -1
  65. package/dist/dts/index.d.ts +1 -1
  66. package/dist/dts/internal/DeferredRef.d.ts +8 -8
  67. package/dist/dts/internal/DeferredRef.d.ts.map +1 -1
  68. package/dist/dts/internal/core.d.ts +191 -191
  69. package/dist/dts/internal/core.d.ts.map +1 -1
  70. package/dist/dts/internal/effect-loop-operator.d.ts +6 -6
  71. package/dist/dts/internal/effect-loop-operator.d.ts.map +1 -1
  72. package/dist/dts/internal/effect-operator.d.ts +16 -16
  73. package/dist/dts/internal/effect-operator.d.ts.map +1 -1
  74. package/dist/dts/internal/effect-producer.d.ts +13 -13
  75. package/dist/dts/internal/effect-producer.d.ts.map +1 -1
  76. package/dist/dts/internal/helpers.d.ts +26 -26
  77. package/dist/dts/internal/helpers.d.ts.map +1 -1
  78. package/dist/dts/internal/keyed.d.ts +1 -1
  79. package/dist/dts/internal/keyed.d.ts.map +1 -1
  80. package/dist/dts/internal/loop-operator.d.ts +2 -2
  81. package/dist/dts/internal/loop-operator.d.ts.map +1 -1
  82. package/dist/dts/internal/operator.d.ts +2 -2
  83. package/dist/dts/internal/operator.d.ts.map +1 -1
  84. package/dist/dts/internal/protos.d.ts +12 -12
  85. package/dist/dts/internal/protos.d.ts.map +1 -1
  86. package/dist/dts/internal/provide.d.ts +15 -15
  87. package/dist/dts/internal/provide.d.ts.map +1 -1
  88. package/dist/dts/internal/share.d.ts +11 -11
  89. package/dist/dts/internal/share.d.ts.map +1 -1
  90. package/dist/dts/internal/sync-operator.d.ts +2 -2
  91. package/dist/dts/internal/sync-operator.d.ts.map +1 -1
  92. package/dist/dts/internal/sync-producer.d.ts +6 -6
  93. package/dist/dts/internal/sync-producer.d.ts.map +1 -1
  94. package/dist/dts/internal/withKey.d.ts +1 -1
  95. package/dist/dts/internal/withKey.d.ts.map +1 -1
  96. package/dist/esm/AsyncData.js.map +1 -1
  97. package/dist/esm/Form.js.map +1 -1
  98. package/dist/esm/FormEntry.js.map +1 -1
  99. package/dist/esm/Fx.js +1 -1
  100. package/dist/esm/Fx.js.map +1 -1
  101. package/dist/esm/Idle.js.map +1 -1
  102. package/dist/esm/Match.js.map +1 -1
  103. package/dist/esm/Pull.js +3 -3
  104. package/dist/esm/Pull.js.map +1 -1
  105. package/dist/esm/RefArray.js.map +1 -1
  106. package/dist/esm/RefChunk.js.map +1 -1
  107. package/dist/esm/RefHashSet.js.map +1 -1
  108. package/dist/esm/RefSubject.js +3 -1
  109. package/dist/esm/RefSubject.js.map +1 -1
  110. package/dist/esm/Sink.js.map +1 -1
  111. package/dist/esm/Subject.js.map +1 -1
  112. package/dist/esm/Versioned.js.map +1 -1
  113. package/dist/esm/index.js +1 -1
  114. package/dist/esm/internal/core.js.map +1 -1
  115. package/dist/esm/internal/helpers.js.map +1 -1
  116. package/dist/esm/internal/keyed.js +1 -1
  117. package/dist/esm/internal/keyed.js.map +1 -1
  118. package/dist/esm/internal/provide.js.map +1 -1
  119. package/dist/esm/internal/share.js.map +1 -1
  120. package/dist/esm/internal/sync-producer.js.map +1 -1
  121. package/package.json +6 -6
  122. package/src/AsyncData.ts +142 -144
  123. package/src/Emitter.ts +13 -13
  124. package/src/Form.ts +55 -55
  125. package/src/FormEntry.ts +39 -39
  126. package/src/Fx.ts +788 -789
  127. package/src/Guard.ts +43 -43
  128. package/src/Idle.ts +26 -26
  129. package/src/Match.ts +60 -61
  130. package/src/Pull.ts +42 -43
  131. package/src/Push.ts +195 -195
  132. package/src/RefArray.ts +121 -119
  133. package/src/RefChunk.ts +98 -97
  134. package/src/RefHashMap.ts +79 -79
  135. package/src/RefHashSet.ts +40 -39
  136. package/src/RefSubject.ts +574 -565
  137. package/src/Sink.ts +303 -303
  138. package/src/Stream.ts +27 -27
  139. package/src/Subject.ts +48 -46
  140. package/src/Typeclass.ts +2 -2
  141. package/src/Versioned.ts +97 -97
  142. package/src/index.ts +1 -1
  143. package/src/internal/DeferredRef.ts +7 -7
  144. package/src/internal/core.ts +768 -781
  145. package/src/internal/effect-loop-operator.ts +7 -7
  146. package/src/internal/effect-operator.ts +23 -23
  147. package/src/internal/effect-producer.ts +38 -38
  148. package/src/internal/helpers.ts +51 -51
  149. package/src/internal/keyed.ts +21 -21
  150. package/src/internal/loop-operator.ts +2 -2
  151. package/src/internal/operator.ts +2 -2
  152. package/src/internal/protos.ts +15 -15
  153. package/src/internal/provide.ts +27 -27
  154. package/src/internal/share.ts +25 -25
  155. package/src/internal/sync-operator.ts +4 -4
  156. package/src/internal/sync-producer.ts +15 -15
  157. package/src/internal/withKey.ts +13 -13
package/src/Pull.ts CHANGED
@@ -19,28 +19,27 @@ import type { Sink } from "./Sink.js"
19
19
  * An Effect which can be used to pull values of a Stream.
20
20
  * @since 1.18.0
21
21
  */
22
- export interface Pull<out R, out E, out A> extends Effect.Effect<R, Option.Option<E>, Chunk.Chunk<A>> {}
22
+ export interface Pull<out A, out E = never, out R = never> extends Effect.Effect<Chunk.Chunk<A>, Option.Option<E>, R> {}
23
23
 
24
- function schedulePull<R, E, A, R2, R3>(
25
- pull: Pull<R, E, A>,
26
- f: (effect: Effect.Effect<R | R3, never, unknown>) => Effect.Effect<R2, never, unknown>,
27
- sink: Sink<R3, E, A>
28
- ): Effect.Effect<R2, never, void> {
29
- return Effect.asyncEffect((resume) =>
30
- pull.pipe(
31
- Effect.matchCauseEffect({
32
- onFailure: (cause: Cause.Cause<Option.Option<E>>) =>
33
- Cause.failureOrCause(cause).pipe(
34
- Either.match({
35
- onLeft: Option.match({
36
- onNone: () => Effect.sync(() => resume(Effect.unit)),
37
- onSome: (e: E) => sink.onFailure(Cause.fail(e))
38
- }),
39
- onRight: sink.onFailure
40
- })
41
- ),
42
- onSuccess: (chunk) => Effect.forEach(chunk, sink.onSuccess)
43
- }),
24
+ function schedulePull<A, E, R, R2, R3>(
25
+ pull: Pull<A, E, R>,
26
+ f: (effect: Effect.Effect<unknown, never, R | R3>) => Effect.Effect<unknown, never, R2>,
27
+ sink: Sink<A, E, R3>
28
+ ): Effect.Effect<void, never, R2> {
29
+ return Effect.asyncEffect<void, never, never, void, never, R2>((resume) =>
30
+ Effect.matchCauseEffect(pull, {
31
+ onFailure: (cause: Cause.Cause<Option.Option<E>>) =>
32
+ Cause.failureOrCause(cause).pipe(
33
+ Either.match({
34
+ onLeft: Option.match({
35
+ onNone: () => Effect.sync(() => resume(Effect.unit)),
36
+ onSome: (e: E) => sink.onFailure(Cause.fail(e))
37
+ }),
38
+ onRight: sink.onFailure
39
+ })
40
+ ),
41
+ onSuccess: (chunk: Chunk.Chunk<A>) => Effect.forEach(chunk, sink.onSuccess, { discard: true })
42
+ }).pipe(
44
43
  f,
45
44
  Effect.flatMap(() => Effect.sync(() => resume(Effect.unit)))
46
45
  )
@@ -53,21 +52,21 @@ function schedulePull<R, E, A, R2, R3>(
53
52
  * @since 1.18.0
54
53
  */
55
54
  export const schedule: {
56
- <R2, R3, E, A>(
55
+ <R2, A, E, R3>(
57
56
  schedule: Schedule.Schedule<R2, unknown, unknown>,
58
- sink: Sink<R3, E, A>
59
- ): <R>(pull: Pull<R, E, A>) => Effect.Effect<R | R2 | R3, never, unknown>
57
+ sink: Sink<A, E, R3>
58
+ ): <R>(pull: Pull<A, E, R>) => Effect.Effect<unknown, never, R | R2 | R3>
60
59
 
61
- <R, E, A, R2, R3>(
62
- pull: Pull<R, E, A>,
60
+ <A, E, R, R2, R3>(
61
+ pull: Pull<A, E, R>,
63
62
  schedule: Schedule.Schedule<R2, unknown, unknown>,
64
- sink: Sink<R3, E, A>
65
- ): Effect.Effect<R | R2 | R3, never, unknown>
66
- } = dual(3, function schedule<R, E, A, R2, R3>(
67
- pull: Pull<R, E, A>,
63
+ sink: Sink<A, E, R3>
64
+ ): Effect.Effect<unknown, never, R | R2 | R3>
65
+ } = dual(3, function schedule<A, E, R, R2, R3>(
66
+ pull: Pull<A, E, R>,
68
67
  schedule: Schedule.Schedule<R2, unknown, unknown>,
69
- sink: Sink<R3, E, A>
70
- ): Effect.Effect<R | R2 | R3, never, void> {
68
+ sink: Sink<A, E, R3>
69
+ ): Effect.Effect<void, never, R | R2 | R3> {
71
70
  return schedulePull(pull, Effect.schedule(schedule), sink)
72
71
  })
73
72
 
@@ -77,20 +76,20 @@ export const schedule: {
77
76
  * @since 1.18.0
78
77
  */
79
78
  export const repeat: {
80
- <R2, R3, E, A>(
79
+ <R2, A, E, R3>(
81
80
  schedule: Schedule.Schedule<R2, unknown, unknown>,
82
- sink: Sink<R3, E, A>
83
- ): <R>(pull: Pull<R, E, A>) => Effect.Effect<R | R2 | R3, never, unknown>
81
+ sink: Sink<A, E, R3>
82
+ ): <R>(pull: Pull<A, E, R>) => Effect.Effect<unknown, never, R | R2 | R3>
84
83
 
85
- <R, E, A, R2, R3>(
86
- pull: Pull<R, E, A>,
84
+ <A, E, R, R2, R3>(
85
+ pull: Pull<A, E, R>,
87
86
  schedule: Schedule.Schedule<R2, unknown, unknown>,
88
- sink: Sink<R3, E, A>
89
- ): Effect.Effect<R | R2 | R3, never, unknown>
90
- } = dual(3, function repeat<R, E, A, R2, R3>(
91
- pull: Pull<R, E, A>,
87
+ sink: Sink<A, E, R3>
88
+ ): Effect.Effect<unknown, never, R | R2 | R3>
89
+ } = dual(3, function repeat<A, E, R, R2, R3>(
90
+ pull: Pull<A, E, R>,
92
91
  schedule: Schedule.Schedule<R2, unknown, unknown>,
93
- sink: Sink<R3, E, A>
94
- ): Effect.Effect<R | R2 | R3, never, void> {
92
+ sink: Sink<A, E, R3>
93
+ ): Effect.Effect<void, never, R | R2 | R3> {
95
94
  return schedulePull(pull, Effect.repeat(schedule), sink)
96
95
  })