@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/RefChunk.ts CHANGED
@@ -18,26 +18,28 @@ import * as RefSubject from "./RefSubject.js"
18
18
  * @since 1.18.0
19
19
  * @category models
20
20
  */
21
- export interface RefChunk<out R, in out E, in out A> extends RefSubject.RefSubject<R, E, Chunk.Chunk<A>> {}
21
+ export interface RefChunk<in out A, in out E = never, out R = never>
22
+ extends RefSubject.RefSubject<Chunk.Chunk<A>, E, R>
23
+ {}
22
24
 
23
25
  /**
24
26
  * Construct a new RefChunk with the given initial value.
25
27
  * @since 1.18.0
26
28
  * @category constructors
27
29
  */
28
- export function make<R, E, A>(
29
- initial: Effect.Effect<R, E, Chunk.Chunk<A>>,
30
+ export function make<A, E, R>(
31
+ initial: Effect.Effect<Chunk.Chunk<A>, E, R>,
30
32
  eq?: Equivalence<A>
31
- ): Effect.Effect<R | Scope.Scope, never, RefChunk<never, E, A>>
32
- export function make<R, E, A>(
33
- initial: Fx.Fx<R, E, Chunk.Chunk<A>>,
33
+ ): Effect.Effect<RefChunk<A, E>, never, R | Scope.Scope>
34
+ export function make<A, E, R>(
35
+ initial: Fx.Fx<Chunk.Chunk<A>, E, R>,
34
36
  eq?: Equivalence<A>
35
- ): Effect.Effect<R | Scope.Scope, never, RefChunk<never, E, A>>
37
+ ): Effect.Effect<RefChunk<A, E>, never, R | Scope.Scope>
36
38
 
37
- export function make<R, E, A>(
38
- initial: Fx.Fx<R, E, Chunk.Chunk<A>> | Effect.Effect<R, E, Chunk.Chunk<A>>,
39
+ export function make<A, E, R>(
40
+ initial: Fx.Fx<Chunk.Chunk<A>, E, R> | Effect.Effect<Chunk.Chunk<A>, E, R>,
39
41
  eq: Equivalence<A> = equals
40
- ): Effect.Effect<R | Scope.Scope, never, RefChunk<never, E, A>> {
42
+ ): Effect.Effect<RefChunk<A, E>, never, R | Scope.Scope> {
41
43
  return RefSubject.make(
42
44
  initial,
43
45
  {
@@ -65,9 +67,9 @@ export const tagged: <A>() => {
65
67
  * @category combinators
66
68
  */
67
69
  export const prepend: {
68
- <A>(value: A): <R, E>(ref: RefChunk<R, E, A>) => Effect.Effect<R, E, Chunk.Chunk<A>>
69
- <R, E, A>(ref: RefChunk<R, E, A>, value: A): Effect.Effect<R, E, Chunk.Chunk<A>>
70
- } = dual(2, function prepend<R, E, A>(ref: RefChunk<R, E, A>, value: A) {
70
+ <A>(value: A): <E, R>(ref: RefChunk<A, E, R>) => Effect.Effect<Chunk.Chunk<A>, E, R>
71
+ <A, E, R>(ref: RefChunk<A, E, R>, value: A): Effect.Effect<Chunk.Chunk<A>, E, R>
72
+ } = dual(2, function prepend<A, E, R>(ref: RefChunk<A, E, R>, value: A) {
71
73
  return RefSubject.update(ref, Chunk.prepend(value))
72
74
  })
73
75
 
@@ -77,11 +79,11 @@ export const prepend: {
77
79
  * @category combinators
78
80
  */
79
81
  export const prependAll: {
80
- <A>(value: Iterable<A>): <R, E>(ref: RefChunk<R, E, A>) => Effect.Effect<R, E, Chunk.Chunk<A>>
81
- <R, E, A>(ref: RefChunk<R, E, A>, value: Iterable<A>): Effect.Effect<R, E, Chunk.Chunk<A>>
82
+ <A>(value: Iterable<A>): <E, R>(ref: RefChunk<A, E, R>) => Effect.Effect<Chunk.Chunk<A>, E, R>
83
+ <A, E, R>(ref: RefChunk<A, E, R>, value: Iterable<A>): Effect.Effect<Chunk.Chunk<A>, E, R>
82
84
  } = dual(
83
85
  2,
84
- function prependAll<R, E, A>(ref: RefChunk<R, E, A>, value: Iterable<A>) {
86
+ function prependAll<A, E, R>(ref: RefChunk<A, E, R>, value: Iterable<A>) {
85
87
  return RefSubject.update(ref, Chunk.prependAll(Chunk.fromIterable(value)))
86
88
  }
87
89
  )
@@ -92,9 +94,9 @@ export const prependAll: {
92
94
  * @category combinators
93
95
  */
94
96
  export const append: {
95
- <A>(value: A): <R, E>(ref: RefChunk<R, E, A>) => Effect.Effect<R, E, Chunk.Chunk<A>>
96
- <R, E, A>(ref: RefChunk<R, E, A>, value: A): Effect.Effect<R, E, Chunk.Chunk<A>>
97
- } = dual(2, function append<R, E, A>(ref: RefChunk<R, E, A>, value: A) {
97
+ <A>(value: A): <E, R>(ref: RefChunk<A, E, R>) => Effect.Effect<Chunk.Chunk<A>, E, R>
98
+ <A, E, R>(ref: RefChunk<A, E, R>, value: A): Effect.Effect<Chunk.Chunk<A>, E, R>
99
+ } = dual(2, function append<A, E, R>(ref: RefChunk<A, E, R>, value: A) {
98
100
  return RefSubject.update(ref, Chunk.append(value))
99
101
  })
100
102
 
@@ -106,9 +108,9 @@ export const append: {
106
108
  export const appendAll: {
107
109
  <A>(
108
110
  value: Iterable<A>
109
- ): <R, E>(ref: RefChunk<R, E, A>) => Effect.Effect<R, E, Chunk.Chunk<A>>
110
- <R, E, A>(ref: RefChunk<R, E, A>, value: Iterable<A>): Effect.Effect<R, E, Chunk.Chunk<A>>
111
- } = dual(2, function appendAll<R, E, A>(ref: RefChunk<R, E, A>, value: Iterable<A>) {
111
+ ): <E, R>(ref: RefChunk<A, E, R>) => Effect.Effect<Chunk.Chunk<A>, E, R>
112
+ <A, E, R>(ref: RefChunk<A, E, R>, value: Iterable<A>): Effect.Effect<Chunk.Chunk<A>, E, R>
113
+ } = dual(2, function appendAll<A, E, R>(ref: RefChunk<A, E, R>, value: Iterable<A>) {
112
114
  return RefSubject.update(ref, Chunk.appendAll(Chunk.fromIterable(value)))
113
115
  })
114
116
 
@@ -118,9 +120,9 @@ export const appendAll: {
118
120
  * @category combinators
119
121
  */
120
122
  export const drop: {
121
- (n: number): <R, E, A>(ref: RefChunk<R, E, A>) => Effect.Effect<R, E, Chunk.Chunk<A>>
122
- <R, E, A>(ref: RefChunk<R, E, A>, n: number): Effect.Effect<R, E, Chunk.Chunk<A>>
123
- } = dual(2, function drop<R, E, A>(ref: RefChunk<R, E, A>, n: number) {
123
+ (n: number): <A, E, R>(ref: RefChunk<A, E, R>) => Effect.Effect<Chunk.Chunk<A>, E, R>
124
+ <A, E, R>(ref: RefChunk<A, E, R>, n: number): Effect.Effect<Chunk.Chunk<A>, E, R>
125
+ } = dual(2, function drop<A, E, R>(ref: RefChunk<A, E, R>, n: number) {
124
126
  return RefSubject.update(ref, Chunk.drop(n))
125
127
  })
126
128
 
@@ -130,9 +132,9 @@ export const drop: {
130
132
  * @category combinators
131
133
  */
132
134
  export const dropRight: {
133
- (n: number): <R, E, A>(ref: RefChunk<R, E, A>) => Effect.Effect<R, E, Chunk.Chunk<A>>
134
- <R, E, A>(ref: RefChunk<R, E, A>, n: number): Effect.Effect<R, E, Chunk.Chunk<A>>
135
- } = dual(2, function dropRight<R, E, A>(ref: RefChunk<R, E, A>, n: number) {
135
+ (n: number): <A, E, R>(ref: RefChunk<A, E, R>) => Effect.Effect<Chunk.Chunk<A>, E, R>
136
+ <A, E, R>(ref: RefChunk<A, E, R>, n: number): Effect.Effect<Chunk.Chunk<A>, E, R>
137
+ } = dual(2, function dropRight<A, E, R>(ref: RefChunk<A, E, R>, n: number) {
136
138
  return RefSubject.update(ref, Chunk.dropRight(n))
137
139
  })
138
140
 
@@ -144,14 +146,14 @@ export const dropRight: {
144
146
  export const dropWhile: {
145
147
  <A>(
146
148
  predicate: (a: A) => boolean
147
- ): <R, E>(ref: RefChunk<R, E, A>) => Effect.Effect<R, E, Chunk.Chunk<A>>
148
- <R, E, A>(
149
- ref: RefChunk<R, E, A>,
149
+ ): <E, R>(ref: RefChunk<A, E, R>) => Effect.Effect<Chunk.Chunk<A>, E, R>
150
+ <A, E, R>(
151
+ ref: RefChunk<A, E, R>,
150
152
  predicate: (a: A) => boolean
151
- ): Effect.Effect<R, E, Chunk.Chunk<A>>
153
+ ): Effect.Effect<Chunk.Chunk<A>, E, R>
152
154
  } = dual(
153
155
  2,
154
- function dropWhile<R, E, A>(ref: RefChunk<R, E, A>, predicate: (a: A) => boolean) {
156
+ function dropWhile<A, E, R>(ref: RefChunk<A, E, R>, predicate: (a: A) => boolean) {
155
157
  return RefSubject.update(ref, Chunk.dropWhile(predicate))
156
158
  }
157
159
  )
@@ -164,12 +166,12 @@ export const dropWhile: {
164
166
  export const filterValues: {
165
167
  <A>(
166
168
  predicate: (a: A) => boolean
167
- ): <R, E>(ref: RefChunk<R, E, A>) => RefSubject.Computed<R, E, Chunk.Chunk<A>>
168
- <R, E, A>(
169
- ref: RefChunk<R, E, A>,
169
+ ): <E, R>(ref: RefChunk<A, E, R>) => RefSubject.Computed<Chunk.Chunk<A>, E, R>
170
+ <A, E, R>(
171
+ ref: RefChunk<A, E, R>,
170
172
  predicate: (a: A) => boolean
171
- ): RefSubject.Computed<R, E, Chunk.Chunk<A>>
172
- } = dual(2, function filterValues<R, E, A>(ref: RefChunk<R, E, A>, predicate: (a: A) => boolean) {
173
+ ): RefSubject.Computed<Chunk.Chunk<A>, E, R>
174
+ } = dual(2, function filterValues<A, E, R>(ref: RefChunk<A, E, R>, predicate: (a: A) => boolean) {
173
175
  return RefSubject.map(ref, Chunk.filter(predicate))
174
176
  })
175
177
 
@@ -179,9 +181,9 @@ export const filterValues: {
179
181
  * @category filtered
180
182
  */
181
183
  export const getIndex: {
182
- (index: number): <R, E, A>(ref: RefChunk<R, E, A>) => RefSubject.Filtered<R, E, A>
183
- <R, E, A>(ref: RefChunk<R, E, A>, index: number): RefSubject.Filtered<R, E, A>
184
- } = dual(2, function getIndex<R, E, A>(ref: RefChunk<R, E, A>, index: number) {
184
+ (index: number): <A, E, R>(ref: RefChunk<A, E, R>) => RefSubject.Filtered<A, E, R>
185
+ <A, E, R>(ref: RefChunk<A, E, R>, index: number): RefSubject.Filtered<A, E, R>
186
+ } = dual(2, function getIndex<A, E, R>(ref: RefChunk<A, E, R>, index: number) {
185
187
  return RefSubject.filterMap(ref, Chunk.get(index))
186
188
  })
187
189
 
@@ -190,7 +192,7 @@ export const getIndex: {
190
192
  * @since 1.18.0
191
193
  * @category computed
192
194
  */
193
- export const isEmpty = <R, E, A>(ref: RefChunk<R, E, A>): RefSubject.Computed<R, E, boolean> =>
195
+ export const isEmpty = <A, E, R>(ref: RefChunk<A, E, R>): RefSubject.Computed<boolean, E, R> =>
194
196
  RefSubject.map(ref, Chunk.isEmpty)
195
197
 
196
198
  /**
@@ -198,16 +200,16 @@ export const isEmpty = <R, E, A>(ref: RefChunk<R, E, A>): RefSubject.Computed<R,
198
200
  * @since 1.18.0
199
201
  * @category computed
200
202
  */
201
- export const isNonEmpty = <R, E, A>(
202
- ref: RefChunk<R, E, A>
203
- ): RefSubject.Computed<R, E, boolean> => RefSubject.map(ref, Chunk.isNonEmpty)
203
+ export const isNonEmpty = <A, E, R>(
204
+ ref: RefChunk<A, E, R>
205
+ ): RefSubject.Computed<boolean, E, R> => RefSubject.map(ref, Chunk.isNonEmpty)
204
206
 
205
207
  /**
206
208
  * Get the current length of a RefChunk.
207
209
  * @since 1.18.0
208
210
  * @category computed
209
211
  */
210
- export const size = <R, E, A>(ref: RefChunk<R, E, A>): RefSubject.Computed<R, E, number> =>
212
+ export const size = <A, E, R>(ref: RefChunk<A, E, R>): RefSubject.Computed<number, E, R> =>
211
213
  RefSubject.map(ref, Chunk.size)
212
214
 
213
215
  /**
@@ -218,12 +220,12 @@ export const size = <R, E, A>(ref: RefChunk<R, E, A>): RefSubject.Computed<R, E,
218
220
  export const map: {
219
221
  <A>(
220
222
  f: (a: A, index: number) => A
221
- ): <R, E>(ref: RefChunk<R, E, A>) => RefSubject.Computed<R, E, Chunk.Chunk<A>>
222
- <R, E, A>(
223
- ref: RefChunk<R, E, A>,
223
+ ): <E, R>(ref: RefChunk<A, E, R>) => RefSubject.Computed<Chunk.Chunk<A>, E, R>
224
+ <A, E, R>(
225
+ ref: RefChunk<A, E, R>,
224
226
  f: (a: A, index: number) => A
225
- ): RefSubject.Computed<R, E, Chunk.Chunk<A>>
226
- } = dual(2, function mapValues<R, E, A>(ref: RefChunk<R, E, A>, f: (a: A, index: number) => A) {
227
+ ): RefSubject.Computed<Chunk.Chunk<A>, E, R>
228
+ } = dual(2, function mapValues<A, E, R>(ref: RefChunk<A, E, R>, f: (a: A, index: number) => A) {
227
229
  return RefSubject.update(ref, Chunk.map(f))
228
230
  })
229
231
 
@@ -235,14 +237,14 @@ export const map: {
235
237
  export const mapValues: {
236
238
  <A, B>(
237
239
  f: (a: A, index: number) => B
238
- ): <R, E>(ref: RefChunk<R, E, A>) => RefSubject.Computed<R, E, ReadonlyArray<B>>
239
- <R, E, A, B>(
240
- ref: RefChunk<R, E, A>,
240
+ ): <E, R>(ref: RefChunk<A, E, R>) => RefSubject.Computed<ReadonlyArray<B>, E, R>
241
+ <A, E, R, B>(
242
+ ref: RefChunk<A, E, R>,
241
243
  f: (a: A, index: number) => B
242
- ): RefSubject.Computed<R, E, ReadonlyArray<B>>
244
+ ): RefSubject.Computed<ReadonlyArray<B>, E, R>
243
245
  } = dual(
244
246
  2,
245
- function mapValues<R, E, A, B>(ref: RefChunk<R, E, A>, f: (a: A, index: number) => B) {
247
+ function mapValues<A, E, R, B>(ref: RefChunk<A, E, R>, f: (a: A, index: number) => B) {
246
248
  return RefSubject.map(ref, Chunk.map(f))
247
249
  }
248
250
  )
@@ -256,13 +258,13 @@ export const modifyAt: {
256
258
  <A>(
257
259
  index: number,
258
260
  f: (a: A) => A
259
- ): <R, E>(ref: RefChunk<R, E, A>) => Effect.Effect<R, E, Chunk.Chunk<A>>
260
- <R, E, A>(
261
- ref: RefChunk<R, E, A>,
261
+ ): <E, R>(ref: RefChunk<A, E, R>) => Effect.Effect<Chunk.Chunk<A>, E, R>
262
+ <A, E, R>(
263
+ ref: RefChunk<A, E, R>,
262
264
  index: number,
263
265
  f: (a: A) => A
264
- ): Effect.Effect<R, E, Chunk.Chunk<A>>
265
- } = dual(3, function modifyAt<R, E, A>(ref: RefChunk<R, E, A>, index: number, f: (a: A) => A) {
266
+ ): Effect.Effect<Chunk.Chunk<A>, E, R>
267
+ } = dual(3, function modifyAt<A, E, R>(ref: RefChunk<A, E, R>, index: number, f: (a: A) => A) {
266
268
  return RefSubject.update(ref, Chunk.modify(index, f))
267
269
  })
268
270
 
@@ -274,15 +276,14 @@ export const modifyAt: {
274
276
  export const partition: {
275
277
  <A, B extends A>(
276
278
  predicate: (a: A) => a is B
277
- ): <R, E>(
278
- ref: RefChunk<R, E, A>
279
- ) => RefSubject.Computed<R, E, readonly [ReadonlyArray<B>, Chunk.Chunk<A>]>
280
- <R, E, A>(ref: RefChunk<R, E, A>, predicate: (a: A) => boolean): RefSubject.Computed<
281
- never,
282
- E,
283
- readonly [Chunk.Chunk<A>, Chunk.Chunk<A>]
279
+ ): <E, R>(
280
+ ref: RefChunk<A, E, R>
281
+ ) => RefSubject.Computed<readonly [ReadonlyArray<B>, Chunk.Chunk<A>], E, R>
282
+ <A, E, R>(ref: RefChunk<A, E, R>, predicate: (a: A) => boolean): RefSubject.Computed<
283
+ readonly [ReadonlyArray<A>, Chunk.Chunk<A>],
284
+ E
284
285
  >
285
- } = dual(2, function partition<R, E, A>(ref: RefChunk<R, E, A>, predicate: (a: A) => boolean) {
286
+ } = dual(2, function partition<A, E, R>(ref: RefChunk<A, E, R>, predicate: (a: A) => boolean) {
286
287
  return RefSubject.map(ref, Chunk.partition(predicate))
287
288
  })
288
289
 
@@ -295,15 +296,15 @@ export const reduce: {
295
296
  <A, B>(
296
297
  b: B,
297
298
  f: (b: B, a: A, index: number) => B
298
- ): <R, E>(ref: RefChunk<R, E, A>) => RefSubject.Computed<R, E, B>
299
- <R, E, A, B>(
300
- ref: RefChunk<R, E, A>,
299
+ ): <E, R>(ref: RefChunk<A, E, R>) => RefSubject.Computed<B, E, R>
300
+ <A, E, R, B>(
301
+ ref: RefChunk<A, E, R>,
301
302
  b: B,
302
303
  f: (b: B, a: A, index: number) => B
303
- ): RefSubject.Computed<R, E, B>
304
+ ): RefSubject.Computed<B, E, R>
304
305
  } = dual(
305
306
  3,
306
- function reduce<R, E, A, B>(ref: RefChunk<R, E, A>, b: B, f: (b: B, a: A, index: number) => B) {
307
+ function reduce<A, E, R, B>(ref: RefChunk<A, E, R>, b: B, f: (b: B, a: A, index: number) => B) {
307
308
  return RefSubject.map(ref, Chunk.reduce(b, f))
308
309
  }
309
310
  )
@@ -317,16 +318,16 @@ export const reduceRight: {
317
318
  <A, B>(
318
319
  b: B,
319
320
  f: (b: B, a: A, index: number) => B
320
- ): <R, E>(ref: RefChunk<R, E, A>) => RefSubject.Computed<R, E, B>
321
- <R, E, A, B>(
322
- ref: RefChunk<R, E, A>,
321
+ ): <E, R>(ref: RefChunk<A, E, R>) => RefSubject.Computed<B, E, R>
322
+ <A, E, R, B>(
323
+ ref: RefChunk<A, E, R>,
323
324
  b: B,
324
325
  f: (b: B, a: A, index: number) => B
325
- ): RefSubject.Computed<R, E, B>
326
+ ): RefSubject.Computed<B, E, R>
326
327
  } = dual(
327
328
  3,
328
- function reduceRight<R, E, A, B>(
329
- ref: RefChunk<R, E, A>,
329
+ function reduceRight<A, E, R, B>(
330
+ ref: RefChunk<A, E, R>,
330
331
  b: B,
331
332
  f: (b: B, a: A, index: number) => B
332
333
  ) {
@@ -343,13 +344,13 @@ export const replaceAt: {
343
344
  <A>(
344
345
  index: number,
345
346
  a: A
346
- ): <R, E>(ref: RefChunk<R, E, A>) => Effect.Effect<R, E, Chunk.Chunk<A>>
347
- <R, E, A>(
348
- ref: RefChunk<R, E, A>,
347
+ ): <E, R>(ref: RefChunk<A, E, R>) => Effect.Effect<Chunk.Chunk<A>, E, R>
348
+ <A, E, R>(
349
+ ref: RefChunk<A, E, R>,
349
350
  index: number,
350
351
  a: A
351
- ): Effect.Effect<R, E, Chunk.Chunk<A>>
352
- } = dual(3, function replaceAt<R, E, A>(ref: RefChunk<R, E, A>, index: number, a: A) {
352
+ ): Effect.Effect<Chunk.Chunk<A>, E, R>
353
+ } = dual(3, function replaceAt<A, E, R>(ref: RefChunk<A, E, R>, index: number, a: A) {
353
354
  return RefSubject.update(ref, Chunk.replace(index, a))
354
355
  })
355
356
 
@@ -359,9 +360,9 @@ export const replaceAt: {
359
360
  * @category combinators
360
361
  */
361
362
  export const take: {
362
- (n: number): <R, E, A>(ref: RefChunk<R, E, A>) => Effect.Effect<R, E, Chunk.Chunk<A>>
363
- <R, E, A>(ref: RefChunk<R, E, A>, n: number): Effect.Effect<R, E, Chunk.Chunk<A>>
364
- } = dual(2, function take<R, E, A>(ref: RefChunk<R, E, A>, n: number) {
363
+ (n: number): <A, E, R>(ref: RefChunk<A, E, R>) => Effect.Effect<Chunk.Chunk<A>, E, R>
364
+ <A, E, R>(ref: RefChunk<A, E, R>, n: number): Effect.Effect<Chunk.Chunk<A>, E, R>
365
+ } = dual(2, function take<A, E, R>(ref: RefChunk<A, E, R>, n: number) {
365
366
  return RefSubject.update(ref, Chunk.take(n))
366
367
  })
367
368
 
@@ -371,9 +372,9 @@ export const take: {
371
372
  * @category combinators
372
373
  */
373
374
  export const takeRight: {
374
- (n: number): <R, E, A>(ref: RefChunk<R, E, A>) => Effect.Effect<R, E, Chunk.Chunk<A>>
375
- <R, E, A>(ref: RefChunk<R, E, A>, n: number): Effect.Effect<R, E, Chunk.Chunk<A>>
376
- } = dual(2, function takeRight<R, E, A>(ref: RefChunk<R, E, A>, n: number) {
375
+ (n: number): <A, E, R>(ref: RefChunk<A, E, R>) => Effect.Effect<Chunk.Chunk<A>, E, R>
376
+ <A, E, R>(ref: RefChunk<A, E, R>, n: number): Effect.Effect<Chunk.Chunk<A>, E, R>
377
+ } = dual(2, function takeRight<A, E, R>(ref: RefChunk<A, E, R>, n: number) {
377
378
  return RefSubject.update(ref, Chunk.takeRight(n))
378
379
  })
379
380
 
@@ -385,14 +386,14 @@ export const takeRight: {
385
386
  export const takeWhile: {
386
387
  <A>(
387
388
  predicate: (a: A) => boolean
388
- ): <R, E>(ref: RefChunk<R, E, A>) => Effect.Effect<R, E, Chunk.Chunk<A>>
389
- <R, E, A>(
390
- ref: RefChunk<R, E, A>,
389
+ ): <E, R>(ref: RefChunk<A, E, R>) => Effect.Effect<Chunk.Chunk<A>, E, R>
390
+ <A, E, R>(
391
+ ref: RefChunk<A, E, R>,
391
392
  predicate: (a: A) => boolean
392
- ): Effect.Effect<R, E, Chunk.Chunk<A>>
393
+ ): Effect.Effect<Chunk.Chunk<A>, E, R>
393
394
  } = dual(
394
395
  2,
395
- function takeWhile<R, E, A>(ref: RefChunk<R, E, A>, predicate: (a: A) => boolean) {
396
+ function takeWhile<A, E, R>(ref: RefChunk<A, E, R>, predicate: (a: A) => boolean) {
396
397
  return RefSubject.update(ref, Chunk.takeWhile(predicate))
397
398
  }
398
399
  )
@@ -402,5 +403,5 @@ export const takeWhile: {
402
403
  * @since 1.18.0
403
404
  * @category combinators
404
405
  */
405
- export const dedupe = <R, E, A>(ref: RefChunk<R, E, A>): Effect.Effect<R, E, Chunk.Chunk<A>> =>
406
+ export const dedupe = <A, E, R>(ref: RefChunk<A, E, R>): Effect.Effect<Chunk.Chunk<A>, E, R> =>
406
407
  RefSubject.update(ref, Chunk.dedupe)