effect 3.0.0 → 3.0.2
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.
- package/dist/cjs/Array.js.map +1 -1
- package/dist/cjs/Brand.js +2 -2
- package/dist/cjs/Brand.js.map +1 -1
- package/dist/cjs/Cron.js +13 -13
- package/dist/cjs/Cron.js.map +1 -1
- package/dist/cjs/FiberHandle.js +19 -1
- package/dist/cjs/FiberHandle.js.map +1 -1
- package/dist/cjs/FiberMap.js +19 -1
- package/dist/cjs/FiberMap.js.map +1 -1
- package/dist/cjs/List.js +3 -3
- package/dist/cjs/List.js.map +1 -1
- package/dist/cjs/internal/cause.js +2 -2
- package/dist/cjs/internal/cause.js.map +1 -1
- package/dist/cjs/internal/configProvider.js +44 -44
- package/dist/cjs/internal/configProvider.js.map +1 -1
- package/dist/cjs/internal/core-effect.js +9 -9
- package/dist/cjs/internal/core-effect.js.map +1 -1
- package/dist/cjs/internal/core.js +9 -9
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/differ/readonlyArrayPatch.js +6 -6
- package/dist/cjs/internal/differ/readonlyArrayPatch.js.map +1 -1
- package/dist/cjs/internal/metric/boundaries.js +4 -4
- package/dist/cjs/internal/metric/boundaries.js.map +1 -1
- package/dist/cjs/internal/metric/hook.js +16 -16
- package/dist/cjs/internal/metric/hook.js.map +1 -1
- package/dist/cjs/internal/metric/key.js +3 -3
- package/dist/cjs/internal/metric/key.js.map +1 -1
- package/dist/cjs/internal/metric/state.js +4 -4
- package/dist/cjs/internal/metric/state.js.map +1 -1
- package/dist/cjs/internal/metric.js +3 -3
- package/dist/cjs/internal/metric.js.map +1 -1
- package/dist/cjs/internal/queue.js +5 -5
- package/dist/cjs/internal/queue.js.map +1 -1
- package/dist/cjs/internal/redBlackTree/iterator.js +2 -2
- package/dist/cjs/internal/redBlackTree/iterator.js.map +1 -1
- package/dist/cjs/internal/secret.js +2 -2
- package/dist/cjs/internal/secret.js.map +1 -1
- package/dist/cjs/internal/sink.js +2 -2
- package/dist/cjs/internal/sink.js.map +1 -1
- package/dist/cjs/internal/stm/tPriorityQueue.js +11 -11
- package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Array.d.ts +4 -1
- package/dist/dts/Array.d.ts.map +1 -1
- package/dist/dts/Brand.d.ts.map +1 -1
- package/dist/dts/FiberHandle.d.ts.map +1 -1
- package/dist/dts/FiberMap.d.ts.map +1 -1
- package/dist/dts/List.d.ts.map +1 -1
- package/dist/esm/Array.js.map +1 -1
- package/dist/esm/Brand.js +2 -2
- package/dist/esm/Brand.js.map +1 -1
- package/dist/esm/Cron.js +13 -13
- package/dist/esm/Cron.js.map +1 -1
- package/dist/esm/FiberHandle.js +18 -0
- package/dist/esm/FiberHandle.js.map +1 -1
- package/dist/esm/FiberMap.js +18 -0
- package/dist/esm/FiberMap.js.map +1 -1
- package/dist/esm/List.js +3 -3
- package/dist/esm/List.js.map +1 -1
- package/dist/esm/internal/cause.js +2 -2
- package/dist/esm/internal/cause.js.map +1 -1
- package/dist/esm/internal/configProvider.js +44 -44
- package/dist/esm/internal/configProvider.js.map +1 -1
- package/dist/esm/internal/core-effect.js +9 -9
- package/dist/esm/internal/core-effect.js.map +1 -1
- package/dist/esm/internal/core.js +9 -9
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/differ/readonlyArrayPatch.js +6 -6
- package/dist/esm/internal/differ/readonlyArrayPatch.js.map +1 -1
- package/dist/esm/internal/metric/boundaries.js +4 -4
- package/dist/esm/internal/metric/boundaries.js.map +1 -1
- package/dist/esm/internal/metric/hook.js +16 -16
- package/dist/esm/internal/metric/hook.js.map +1 -1
- package/dist/esm/internal/metric/key.js +3 -3
- package/dist/esm/internal/metric/key.js.map +1 -1
- package/dist/esm/internal/metric/state.js +4 -4
- package/dist/esm/internal/metric/state.js.map +1 -1
- package/dist/esm/internal/metric.js +3 -3
- package/dist/esm/internal/metric.js.map +1 -1
- package/dist/esm/internal/queue.js +5 -5
- package/dist/esm/internal/queue.js.map +1 -1
- package/dist/esm/internal/redBlackTree/iterator.js +2 -2
- package/dist/esm/internal/redBlackTree/iterator.js.map +1 -1
- package/dist/esm/internal/secret.js +2 -2
- package/dist/esm/internal/secret.js.map +1 -1
- package/dist/esm/internal/sink.js +2 -2
- package/dist/esm/internal/sink.js.map +1 -1
- package/dist/esm/internal/stm/tPriorityQueue.js +11 -11
- package/dist/esm/internal/stm/tPriorityQueue.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +5 -2
- package/src/Array.ts +4 -1
- package/src/Brand.ts +2 -2
- package/src/Cron.ts +17 -17
- package/src/FiberHandle.ts +19 -0
- package/src/FiberMap.ts +19 -0
- package/src/List.ts +3 -3
- package/src/internal/cause.ts +2 -2
- package/src/internal/configProvider.ts +46 -46
- package/src/internal/core-effect.ts +9 -9
- package/src/internal/core.ts +10 -10
- package/src/internal/differ/readonlyArrayPatch.ts +6 -6
- package/src/internal/metric/boundaries.ts +5 -5
- package/src/internal/metric/hook.ts +17 -17
- package/src/internal/metric/key.ts +3 -3
- package/src/internal/metric/state.ts +5 -5
- package/src/internal/metric.ts +4 -4
- package/src/internal/queue.ts +6 -6
- package/src/internal/redBlackTree/iterator.ts +2 -2
- package/src/internal/secret.ts +2 -2
- package/src/internal/sink.ts +2 -2
- package/src/internal/stm/tPriorityQueue.ts +11 -11
- package/src/internal/version.ts +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as Arr from "../../Array.js"
|
|
2
2
|
import * as Equal from "../../Equal.js"
|
|
3
3
|
import { pipe } from "../../Function.js"
|
|
4
4
|
import * as Hash from "../../Hash.js"
|
|
@@ -80,7 +80,7 @@ class CounterState<A extends (number | bigint)> implements MetricState.MetricSta
|
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
const arrayEquals =
|
|
83
|
+
const arrayEquals = Arr.getEquivalence(Equal.equals)
|
|
84
84
|
|
|
85
85
|
/** @internal */
|
|
86
86
|
class FrequencyState implements MetricState.MetricState.Frequency {
|
|
@@ -91,14 +91,14 @@ class FrequencyState implements MetricState.MetricState.Frequency {
|
|
|
91
91
|
[Hash.symbol](): number {
|
|
92
92
|
return pipe(
|
|
93
93
|
Hash.string(FrequencyStateSymbolKey),
|
|
94
|
-
Hash.combine(Hash.array(
|
|
94
|
+
Hash.combine(Hash.array(Arr.fromIterable(this.occurrences.entries()))),
|
|
95
95
|
Hash.cached(this)
|
|
96
96
|
)
|
|
97
97
|
}
|
|
98
98
|
[Equal.symbol](that: unknown): boolean {
|
|
99
99
|
return isFrequencyState(that) && arrayEquals(
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
Arr.fromIterable(this.occurrences.entries()),
|
|
101
|
+
Arr.fromIterable(that.occurrences.entries())
|
|
102
102
|
)
|
|
103
103
|
}
|
|
104
104
|
pipe() {
|
package/src/internal/metric.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as Arr from "../Array.js"
|
|
2
2
|
import * as Clock from "../Clock.js"
|
|
3
3
|
import * as Duration from "../Duration.js"
|
|
4
4
|
import type * as Effect from "../Effect.js"
|
|
@@ -275,7 +275,7 @@ export const taggedWithLabelsInput = dual<
|
|
|
275
275
|
(input, extraTags) =>
|
|
276
276
|
self.unsafeUpdate(
|
|
277
277
|
input,
|
|
278
|
-
|
|
278
|
+
Arr.union(f(input), extraTags)
|
|
279
279
|
),
|
|
280
280
|
self.unsafeValue
|
|
281
281
|
),
|
|
@@ -294,8 +294,8 @@ export const taggedWithLabels = dual<
|
|
|
294
294
|
>(2, (self, extraTags) => {
|
|
295
295
|
return make(
|
|
296
296
|
self.keyType,
|
|
297
|
-
(input, extraTags1) => self.unsafeUpdate(input,
|
|
298
|
-
(extraTags1) => self.unsafeValue(
|
|
297
|
+
(input, extraTags1) => self.unsafeUpdate(input, Arr.union(extraTags, extraTags1)),
|
|
298
|
+
(extraTags1) => self.unsafeValue(Arr.union(extraTags, extraTags1))
|
|
299
299
|
)
|
|
300
300
|
})
|
|
301
301
|
|
package/src/internal/queue.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as Arr from "../Array.js"
|
|
2
2
|
import * as Chunk from "../Chunk.js"
|
|
3
3
|
import type * as Deferred from "../Deferred.js"
|
|
4
4
|
import type * as Effect from "../Effect.js"
|
|
@@ -208,11 +208,11 @@ class QueueImpl<in out A> implements Queue.Queue<A> {
|
|
|
208
208
|
if (MutableRef.get(this.shutdownFlag)) {
|
|
209
209
|
return core.interrupt
|
|
210
210
|
}
|
|
211
|
-
const values =
|
|
211
|
+
const values = Arr.fromIterable(iterable)
|
|
212
212
|
const pTakers = this.queue.length() === 0
|
|
213
|
-
?
|
|
214
|
-
:
|
|
215
|
-
const [forTakers, remaining] = pipe(values,
|
|
213
|
+
? Arr.fromIterable(unsafePollN(this.takers, values.length))
|
|
214
|
+
: Arr.empty
|
|
215
|
+
const [forTakers, remaining] = pipe(values, Arr.splitAt(pTakers.length))
|
|
216
216
|
for (let i = 0; i < pTakers.length; i++) {
|
|
217
217
|
const taker = (pTakers as any)[i]
|
|
218
218
|
const item = forTakers[i]
|
|
@@ -602,7 +602,7 @@ class BackPressureStrategy<in out A> implements Queue.Strategy<A> {
|
|
|
602
602
|
}
|
|
603
603
|
|
|
604
604
|
unsafeOffer(iterable: Iterable<A>, deferred: Deferred.Deferred<boolean>): void {
|
|
605
|
-
const stuff =
|
|
605
|
+
const stuff = Arr.fromIterable(iterable)
|
|
606
606
|
for (let i = 0; i < stuff.length; i++) {
|
|
607
607
|
const value = stuff[i]
|
|
608
608
|
if (i === stuff.length - 1) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as Arr from "../../Array.js"
|
|
2
2
|
import * as Option from "../../Option.js"
|
|
3
3
|
import type * as RBT from "../../RedBlackTree.js"
|
|
4
4
|
import type { RedBlackTreeImpl } from "../redBlackTree.js"
|
|
@@ -83,7 +83,7 @@ export class RedBlackTreeIterator<in out K, out V> implements Iterator<[K, V]> {
|
|
|
83
83
|
* Returns the key
|
|
84
84
|
*/
|
|
85
85
|
get entry(): Option.Option<[K, V]> {
|
|
86
|
-
return Option.map(
|
|
86
|
+
return Option.map(Arr.last(this.stack), (node) => [node.key, node.value])
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
/**
|
package/src/internal/secret.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as Arr from "../Array.js"
|
|
2
2
|
import * as Equal from "../Equal.js"
|
|
3
3
|
import { pipe } from "../Function.js"
|
|
4
4
|
import * as Hash from "../Hash.js"
|
|
@@ -56,7 +56,7 @@ export const make = (bytes: Array<number>): Secret.Secret => {
|
|
|
56
56
|
|
|
57
57
|
/** @internal */
|
|
58
58
|
export const fromIterable = (iterable: Iterable<string>): Secret.Secret =>
|
|
59
|
-
make(
|
|
59
|
+
make(Arr.fromIterable(iterable).map((char) => char.charCodeAt(0)))
|
|
60
60
|
|
|
61
61
|
/** @internal */
|
|
62
62
|
export const fromString = (text: string): Secret.Secret => {
|
package/src/internal/sink.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as Arr from "../Array.js"
|
|
2
2
|
import * as Cause from "../Cause.js"
|
|
3
3
|
import type * as Channel from "../Channel.js"
|
|
4
4
|
import * as Chunk from "../Chunk.js"
|
|
@@ -213,7 +213,7 @@ const collectAllWhileReader = <In>(
|
|
|
213
213
|
): Channel.Channel<Chunk.Chunk<In>, Chunk.Chunk<In>, never, never, Chunk.Chunk<In>, unknown> =>
|
|
214
214
|
core.readWith({
|
|
215
215
|
onInput: (input: Chunk.Chunk<In>) => {
|
|
216
|
-
const [collected, leftovers] = pipe(Chunk.toReadonlyArray(input),
|
|
216
|
+
const [collected, leftovers] = pipe(Chunk.toReadonlyArray(input), Arr.span(predicate))
|
|
217
217
|
if (leftovers.length === 0) {
|
|
218
218
|
return collectAllWhileReader(
|
|
219
219
|
predicate,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as Arr from "../../Array.js"
|
|
2
2
|
import * as Chunk from "../../Chunk.js"
|
|
3
3
|
import { dual, pipe } from "../../Function.js"
|
|
4
4
|
import * as Option from "../../Option.js"
|
|
@@ -42,7 +42,7 @@ export const fromIterable =
|
|
|
42
42
|
<A>(order: Order.Order<A>) => (iterable: Iterable<A>): STM.STM<TPriorityQueue.TPriorityQueue<A>> =>
|
|
43
43
|
pipe(
|
|
44
44
|
tRef.make(
|
|
45
|
-
|
|
45
|
+
Arr.fromIterable(iterable).reduce(
|
|
46
46
|
(map, value) =>
|
|
47
47
|
pipe(
|
|
48
48
|
map,
|
|
@@ -52,8 +52,8 @@ export const fromIterable =
|
|
|
52
52
|
map,
|
|
53
53
|
SortedMap.get(value),
|
|
54
54
|
Option.match({
|
|
55
|
-
onNone: () =>
|
|
56
|
-
onSome:
|
|
55
|
+
onNone: () => Arr.of(value),
|
|
56
|
+
onSome: Arr.prepend(value)
|
|
57
57
|
})
|
|
58
58
|
)
|
|
59
59
|
)
|
|
@@ -86,8 +86,8 @@ export const offer = dual<
|
|
|
86
86
|
map,
|
|
87
87
|
value,
|
|
88
88
|
Option.match(SortedMap.get(map, value), {
|
|
89
|
-
onNone: () =>
|
|
90
|
-
onSome:
|
|
89
|
+
onNone: () => Arr.of(value),
|
|
90
|
+
onSome: Arr.prepend(value)
|
|
91
91
|
})
|
|
92
92
|
)))
|
|
93
93
|
|
|
@@ -97,14 +97,14 @@ export const offerAll = dual<
|
|
|
97
97
|
<A>(self: TPriorityQueue.TPriorityQueue<A>, values: Iterable<A>) => STM.STM<void>
|
|
98
98
|
>(2, (self, values) =>
|
|
99
99
|
tRef.update(self.ref, (map) =>
|
|
100
|
-
|
|
100
|
+
Arr.fromIterable(values).reduce(
|
|
101
101
|
(map, value) =>
|
|
102
102
|
SortedMap.set(
|
|
103
103
|
map,
|
|
104
104
|
value,
|
|
105
105
|
Option.match(SortedMap.get(map, value), {
|
|
106
|
-
onNone: () =>
|
|
107
|
-
onSome:
|
|
106
|
+
onNone: () => Arr.of(value),
|
|
107
|
+
onSome: Arr.prepend(value)
|
|
108
108
|
})
|
|
109
109
|
),
|
|
110
110
|
map
|
|
@@ -147,7 +147,7 @@ export const retainIf = dual<
|
|
|
147
147
|
self.ref,
|
|
148
148
|
(map) =>
|
|
149
149
|
SortedMap.reduce(map, SortedMap.empty(SortedMap.getOrder(map)), (map, value, key) => {
|
|
150
|
-
const filtered: ReadonlyArray<A> =
|
|
150
|
+
const filtered: ReadonlyArray<A> = Arr.filter(value, predicate)
|
|
151
151
|
return filtered.length > 0 ?
|
|
152
152
|
SortedMap.set(map, key, filtered as [A, ...Array<A>]) :
|
|
153
153
|
SortedMap.remove(map, key)
|
|
@@ -228,7 +228,7 @@ export const takeUpTo = dual<
|
|
|
228
228
|
let next: IteratorResult<readonly [A, [A, ...Array<A>]], any>
|
|
229
229
|
while ((next = iterator.next()) && !next.done && index < n) {
|
|
230
230
|
const [key, value] = next.value
|
|
231
|
-
const [left, right] = pipe(value,
|
|
231
|
+
const [left, right] = pipe(value, Arr.splitAt(n - index))
|
|
232
232
|
for (const value of left) {
|
|
233
233
|
builder.push(value)
|
|
234
234
|
}
|
package/src/internal/version.ts
CHANGED