effect 3.6.3 → 3.6.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.
- package/dist/cjs/Cache.js +6 -1
- package/dist/cjs/Cache.js.map +1 -1
- package/dist/cjs/DateTime.js +1 -1
- package/dist/cjs/DateTime.js.map +1 -1
- package/dist/cjs/Scheduler.js +7 -12
- package/dist/cjs/Scheduler.js.map +1 -1
- package/dist/cjs/internal/cache.js +14 -1
- package/dist/cjs/internal/cache.js.map +1 -1
- package/dist/cjs/internal/core-effect.js +15 -7
- package/dist/cjs/internal/core-effect.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Cache.d.ts +24 -3
- package/dist/dts/Cache.d.ts.map +1 -1
- package/dist/dts/Scheduler.d.ts.map +1 -1
- package/dist/dts/internal/core-effect.d.ts.map +1 -1
- package/dist/esm/Cache.js +5 -0
- package/dist/esm/Cache.js.map +1 -1
- package/dist/esm/DateTime.js +1 -1
- package/dist/esm/DateTime.js.map +1 -1
- package/dist/esm/Scheduler.js +7 -12
- package/dist/esm/Scheduler.js.map +1 -1
- package/dist/esm/internal/cache.js +13 -0
- package/dist/esm/internal/cache.js.map +1 -1
- package/dist/esm/internal/core-effect.js +15 -7
- package/dist/esm/internal/core-effect.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +1 -1
- package/src/Cache.ts +30 -3
- package/src/DateTime.ts +1 -1
- package/src/Scheduler.ts +7 -12
- package/src/internal/cache.ts +18 -0
- package/src/internal/core-effect.ts +22 -18
- package/src/internal/version.ts +1 -1
package/src/Scheduler.ts
CHANGED
|
@@ -37,27 +37,22 @@ export class PriorityBuckets<in out T = Task> {
|
|
|
37
37
|
* @since 2.0.0
|
|
38
38
|
*/
|
|
39
39
|
scheduleTask(task: T, priority: number) {
|
|
40
|
+
const length = this.buckets.length
|
|
40
41
|
let bucket: [number, Array<T>] | undefined = undefined
|
|
41
|
-
let index
|
|
42
|
-
for (
|
|
42
|
+
let index = 0
|
|
43
|
+
for (; index < length; index++) {
|
|
43
44
|
if (this.buckets[index][0] <= priority) {
|
|
44
45
|
bucket = this.buckets[index]
|
|
45
46
|
} else {
|
|
46
47
|
break
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
|
-
if (bucket) {
|
|
50
|
+
if (bucket && bucket[0] === priority) {
|
|
50
51
|
bucket[1].push(task)
|
|
52
|
+
} else if (index === length) {
|
|
53
|
+
this.buckets.push([priority, [task]])
|
|
51
54
|
} else {
|
|
52
|
-
|
|
53
|
-
for (let i = 0; i < index; i++) {
|
|
54
|
-
newBuckets.push(this.buckets[i])
|
|
55
|
-
}
|
|
56
|
-
newBuckets.push([priority, [task]])
|
|
57
|
-
for (let i = index; i < this.buckets.length; i++) {
|
|
58
|
-
newBuckets.push(this.buckets[i])
|
|
59
|
-
}
|
|
60
|
-
this.buckets = newBuckets
|
|
55
|
+
this.buckets.splice(index, 0, [priority, [task]])
|
|
61
56
|
}
|
|
62
57
|
}
|
|
63
58
|
}
|
package/src/internal/cache.ts
CHANGED
|
@@ -270,6 +270,23 @@ export const CacheTypeId: Cache.CacheTypeId = Symbol.for(
|
|
|
270
270
|
) as Cache.CacheTypeId
|
|
271
271
|
|
|
272
272
|
const cacheVariance = {
|
|
273
|
+
/* c8 ignore next */
|
|
274
|
+
_Key: (_: any) => _,
|
|
275
|
+
/* c8 ignore next */
|
|
276
|
+
_Error: (_: never) => _,
|
|
277
|
+
/* c8 ignore next */
|
|
278
|
+
_Value: (_: any) => _
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
/** @internal */
|
|
282
|
+
const ConsumerCacheSymbolKey = "effect/ConsumerCache"
|
|
283
|
+
|
|
284
|
+
/** @internal */
|
|
285
|
+
export const ConsumerCacheTypeId: Cache.ConsumerCacheTypeId = Symbol.for(
|
|
286
|
+
ConsumerCacheSymbolKey
|
|
287
|
+
) as Cache.ConsumerCacheTypeId
|
|
288
|
+
|
|
289
|
+
const consumerCacheVariance = {
|
|
273
290
|
/* c8 ignore next */
|
|
274
291
|
_Key: (_: any) => _,
|
|
275
292
|
/* c8 ignore next */
|
|
@@ -294,6 +311,7 @@ export const makeEntryStats = (loadedMillis: number): Cache.EntryStats => ({
|
|
|
294
311
|
|
|
295
312
|
class CacheImpl<in out Key, in out Value, in out Error> implements Cache.Cache<Key, Value, Error> {
|
|
296
313
|
readonly [CacheTypeId] = cacheVariance
|
|
314
|
+
readonly [ConsumerCacheTypeId] = consumerCacheVariance
|
|
297
315
|
readonly cacheState: CacheState<Key, Value, Error>
|
|
298
316
|
constructor(
|
|
299
317
|
readonly capacity: number,
|
|
@@ -1200,12 +1200,20 @@ export const patchFiberRefs = (patch: FiberRefsPatch.FiberRefsPatch): Effect.Eff
|
|
|
1200
1200
|
export const promise = <A>(evaluate: (signal: AbortSignal) => PromiseLike<A>): Effect.Effect<A> =>
|
|
1201
1201
|
evaluate.length >= 1
|
|
1202
1202
|
? core.async((resolve, signal) => {
|
|
1203
|
-
|
|
1204
|
-
|
|
1203
|
+
try {
|
|
1204
|
+
evaluate(signal)
|
|
1205
|
+
.then((a) => resolve(core.exitSucceed(a)), (e) => resolve(core.exitDie(e)))
|
|
1206
|
+
} catch (e) {
|
|
1207
|
+
resolve(core.exitDie(e))
|
|
1208
|
+
}
|
|
1205
1209
|
})
|
|
1206
1210
|
: core.async((resolve) => {
|
|
1207
|
-
|
|
1208
|
-
|
|
1211
|
+
try {
|
|
1212
|
+
;(evaluate as LazyArg<PromiseLike<A>>)()
|
|
1213
|
+
.then((a) => resolve(core.exitSucceed(a)), (e) => resolve(core.exitDie(e)))
|
|
1214
|
+
} catch (e) {
|
|
1215
|
+
resolve(core.exitDie(e))
|
|
1216
|
+
}
|
|
1209
1217
|
})
|
|
1210
1218
|
|
|
1211
1219
|
/* @internal */
|
|
@@ -1668,14 +1676,12 @@ export const tryPromise: {
|
|
|
1668
1676
|
return core.async((resolve, signal) => {
|
|
1669
1677
|
try {
|
|
1670
1678
|
evaluate(signal)
|
|
1671
|
-
.then(
|
|
1672
|
-
resolve(core.
|
|
1673
|
-
|
|
1674
|
-
|
|
1679
|
+
.then(
|
|
1680
|
+
(a) => resolve(core.exitSucceed(a)),
|
|
1681
|
+
(e) => resolve(catcher ? core.failSync(() => catcher(e)) : core.fail(new core.UnknownException(e)))
|
|
1682
|
+
)
|
|
1675
1683
|
} catch (e) {
|
|
1676
|
-
resolve(core.fail(
|
|
1677
|
-
catcher ? catcher(e) : new core.UnknownException(e)
|
|
1678
|
-
))
|
|
1684
|
+
resolve(catcher ? core.failSync(() => catcher(e)) : core.fail(new core.UnknownException(e)))
|
|
1679
1685
|
}
|
|
1680
1686
|
})
|
|
1681
1687
|
}
|
|
@@ -1683,14 +1689,12 @@ export const tryPromise: {
|
|
|
1683
1689
|
return core.async((resolve) => {
|
|
1684
1690
|
try {
|
|
1685
1691
|
evaluate()
|
|
1686
|
-
.then(
|
|
1687
|
-
resolve(core.
|
|
1688
|
-
|
|
1689
|
-
|
|
1692
|
+
.then(
|
|
1693
|
+
(a) => resolve(core.exitSucceed(a)),
|
|
1694
|
+
(e) => resolve(catcher ? core.failSync(() => catcher(e)) : core.fail(new core.UnknownException(e)))
|
|
1695
|
+
)
|
|
1690
1696
|
} catch (e) {
|
|
1691
|
-
resolve(core.fail(
|
|
1692
|
-
catcher ? catcher(e) : new core.UnknownException(e)
|
|
1693
|
-
))
|
|
1697
|
+
resolve(catcher ? core.failSync(() => catcher(e)) : core.fail(new core.UnknownException(e)))
|
|
1694
1698
|
}
|
|
1695
1699
|
})
|
|
1696
1700
|
}
|
package/src/internal/version.ts
CHANGED