Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.2.5
->3.10.13
Release Notes
Effect-TS/effect (effect)
v3.10.13
Compare Source
Patch Changes
995bbdf
Thanks @arijoon! - Schema.BigDecimal Arbitrary's scale limited to the range 0-18v3.10.12
Compare Source
Patch Changes
dd14efe
Thanks @tim-smart! - allow pool items te be used while being acquiredv3.10.11
Compare Source
Patch Changes
5eef499
Thanks @tim-smart! - cache Schema.Class AST once generatedv3.10.10
Compare Source
Patch Changes
#3893
cd720ae
Thanks @tim-smart! - support "dropping" & "sliding" strategies in Mailbox#3893
cd720ae
Thanks @tim-smart! - add Mailbox.fromStream api#3886
b631f40
Thanks @fubhy! - OptimizedBase64.decode
by not capturing the padding characters in the underlying array buffer.Previously, the implementation first captured the padding characters in the underlying array buffer and
then returned a new subarray view of the buffer with the padding characters removed.
By not capturing the padding characters, we avoid the creation of another typed array instance for the
subarray view.
v3.10.9
Compare Source
Patch Changes
#3883
a123e80
Thanks @tim-smart! - add FromIterator primitive to improve Effect.gen performance#3880
bd5fcd3
Thanks @tim-smart! - refactor Effect.gen to improve performance#3881
0289d3b
Thanks @tim-smart! - implement Effect.suspend using OP_COMMIT#3862
7386b71
Thanks @furrycatherder! - fix the type signature ofuse
in Effect.Service#3879
4211a23
Thanks @IMax153! - Return a sequential cause when both theuse
andrelease
fail inEffect.acquireUseRelease
v3.10.8
Compare Source
Patch Changes
#3868
68b5c9e
Thanks @tim-smart! - move _op check out of the fiber hot path#3849
9c9928d
Thanks @patroza! - improve: use literalkey
on Service#3872
6306e66
Thanks @KhraksMamtsov! - FixConfig.integer
&Config.number
#3869
361c7f3
Thanks @KhraksMamtsov! - jsdoc-examples for class-based APIs have been added, e.g.Schema.TaggedError
,Effect.Service
and othersv3.10.7
Compare Source
Patch Changes
#3867
33f5b9f
Thanks @tim-smart! - ensure Channel.mergeWith fibers can be interrupted#3865
50f0281
Thanks @tim-smart! - fix memory leak in Stream.retryv3.10.6
Compare Source
Patch Changes
ce1c21f
Thanks @KhraksMamtsov! - fixTag.Proxy
typev3.10.5
Compare Source
Patch Changes
#3841
3a6d757
Thanks @KhraksMamtsov! - Support union of parameters in functions inEffect.Tag.Proxy
type#3845
59d813a
Thanks @tim-smart! - ensure fiber refs are not inherited by ManagedRuntimev3.10.4
Compare Source
Patch Changes
#3842
2367708
Thanks @gcanti! - add support forSchema.OptionFromUndefinedOr
in JSON Schema generation, closes #3839Before
After
v3.10.3
Compare Source
Patch Changes
b9423d8
Thanks @IMax153! - Ensure undefined JSON values are not coerced to empty stringv3.10.2
Compare Source
Patch Changes
#3820
714e119
Thanks @tim-smart! - simplify Match fail keys types#3825
c1afd55
Thanks @KhraksMamtsov! - - MakeMergeRight
,MergeLeft
andMergeRecord
inTypes
module homomorphic (preserve originalreadonly
and optionality modifiers)MergeRecord
now is alias forMergeLeft
v3.10.1
Compare Source
Patch Changes
9604d6b
Thanks @tim-smart! - fix Channel.embedInput halting in uninterruptible regionv3.10.0
Compare Source
Minor Changes
#3764
4a01828
Thanks @evelant! - add TSubscriptionRef#3764
4a01828
Thanks @evelant! - add Stream.fromTQueue & Stream.fromTPubSub#3764
c79c4c1
Thanks @gcanti! - Merge Schema into Effect.Modules
Before
After
Formatters
ArrayFormatter
/TreeFormatter
merged intoParseResult
module.Before
After
Serializable
Merged into
Schema
module.Equivalence
Merged into
Schema
module.Before
After
#3764
38d30f0
Thanks @tim-smart! - add option to .releaseLock a ReadableStream on finalization#3764
5821ce3
Thanks @patroza! - feat: implement Redactable. Used by Headers to not log sensitive informationv3.9.2
Compare Source
Patch Changes
61a99b2
Thanks @tim-smart! - allow tacit usage with do notation apis (.bind / .let)v3.9.1
Compare Source
Patch Changes
3b2ad1d
Thanks @tim-smart! - revert deno Inspectable changesv3.9.0
Compare Source
Minor Changes
#3620
ff3d1aa
Thanks @vinassefranche! - Adds HashMap.HashMap.Entry type helper#3620
0ba66f2
Thanks @tim-smart! - add deno support to Inspectable#3620
bf77f51
Thanks @KhraksMamtsov! -Latch
implementsEffect<void>
with.await
semantic#3620
0779681
Thanks @KhraksMamtsov! - Effect.mapAccum & Array.mapAccum preserve non-emptiness#3620
534129f
Thanks @KhraksMamtsov! -Pool
is now a subtype ofEffect
, equivalent toPool.get
#3620
d75140c
Thanks @mikearnaldi! - Support providing an array of layers via Effect.provide and Layer.provide#3620
be0451c
Thanks @leonitousconforti! - support ManagedRuntime in Effect.provide#3620
be0451c
Thanks @leonitousconforti! -ManagedRuntime<R, E>
is subtype ofEffect<Runtime<R>, E, never>
#3620
5b36494
Thanks @KhraksMamtsov! -Tuple.map
transforms each element of tuple using the given function, treating tuple homomorphically#3620
c716adb
Thanks @AlexGeb! - Add Array.pad function#3620
4986391
Thanks @ianbollinger! - Add anisRegExp
type guard#3620
d75140c
Thanks @mikearnaldi! - Implement Effect.Service as a Tag and Layer with Opaque Type.Namely the following is now possible:
#3620
d1387ae
Thanks @KhraksMamtsov! -Resource<A, E>
is subtype ofEffect<A, E>
.ScopedRed<A>
is subtype ofEffect<A>
.Patch Changes
#3620
016f9ad
Thanks @tim-smart! - fix Unify for Deferred#3620
9237ac6
Thanks @leonitousconforti! - move ManagedRuntime.TypeId to fix circular importsv3.8.5
Compare Source
Patch Changes
#3734
88e85db
Thanks @mikearnaldi! - Ensure random numbers are correctly distributed#3717
83887ca
Thanks @mikearnaldi! - Consider async operation in runSync as a defect, add span based stack#3731
5266b6c
Thanks @patroza! - Improve DX of type errors from insidepipe
andflow
#3699
cdead5c
Thanks @jessekelly881! - added Stream.mergeWithTagCombines a struct of streams into a single stream of tagged values where the tag is the key of the struct.
#3706
766a8af
Thanks @fubhy! - MadeBigDecimal.scale
dual.v3.8.4
Compare Source
Patch Changes
4509656
Thanks @KhraksMamtsov! -Micro.EnvRef
andMicro.Handle
is subtype ofMicro
v3.8.3
Compare Source
Patch Changes
bb5ec6b
Thanks @tim-smart! - fix encoding of logs to tracer span eventsv3.8.2
Compare Source
Patch Changes
f0d8ef1
Thanks @fubhy! - Revert cron schedule regressionv3.8.1
Compare Source
Patch Changes
#3624
10bf621
Thanks @fubhy! - Fixed double firing of cron schedules in cases where the current time matched the initial interval.#3623
ae36fa6
Thanks @fubhy! - Allow CRLF characters in base64 encoded strings.v3.8.0
Compare Source
Minor Changes
#3541
fcfa6ee
Thanks @Schniz! - addLogger.withLeveledConsole
In browsers and different platforms,
console.error
renders differently thanconsole.info
. This helps to distinguish between different levels of logging.Logger.withLeveledConsole
takes any logger and calls the respectiveConsole
method based on the log level. For instance,Effect.logError
will callConsole.error
andEffect.logInfo
will callConsole.info
.To use it, you can replace the default logger with a
Logger.withLeveledConsole
logger:#3541
bb9931b
Thanks @KhraksMamtsov! - MadeRef
,SynchronizedRed
andSubscriptionRef
a subtype ofEffect
#3541
5798f76
Thanks @tim-smart! - add Semaphore.withPermitsIfAvailableYou can now use
Semaphore.withPermitsIfAvailable
to run an Effect only if theSemaphore has enough permits available. This is useful when you want to run an
Effect only if you can acquire a permit without blocking.
It will return an
Option.Some
with the result of the Effect if the permits wereavailable, or
None
if they were not.#3541
5f0bfa1
Thanks @KhraksMamtsov! - TheDeferred<A>
is now a subtype ofEffect<A>
. This change simplifies handling of deferred values, removing the need for explicit callDeffer.await
.#3541
812a4e8
Thanks @tim-smart! - add Logger.prettyLoggerDefault, to prevent duplicate pretty loggers#3541
273565e
Thanks @tim-smart! - add Effect.makeLatch, for creating a simple async latch#3541
569a801
Thanks @KhraksMamtsov! -Dequeue<A>
andQueue<A>
is subtype ofEffect<A>
. This means that now it can be used as anEffect
, and when called, it will automatically extract and return an item from the queue, without having to explicitly use theQueue.take
function.#3541
aa1fa53
Thanks @vinassefranche! - Add Number.round#3541
02f6b06
Thanks @fubhy! - Add additionalDuration
conversion apisDuration.toMinutes
Duration.toHours
Duration.toDays
Duration.toWeeks
#3541
12b893e
Thanks @KhraksMamtsov! - TheFiber<A, E>
is now a subtype ofEffect<A, E>
. This change removes the need for explicit callFiber.join
.#3541
bbad27e
Thanks @dilame! - addStream.share
apiThe
Stream.share
api is a ref counted variant of the broadcast apis.It allows you to share a stream between multiple consumers, and will close the
upstream when the last consumer ends.
#3541
adf7d7a
Thanks @tim-smart! - add Mailbox module, a queue which can have done or failure signals#3541
007289a
Thanks @mikearnaldi! - Cache some fiber references in the runtime to optimize reading in hot-paths#3541
42a8f99
Thanks @fubhy! - AddedRcMap.keys
andMutableHashMap.keys
.These functions allow you to get a list of keys currently stored in the underlying hash map.
#3541
eebfd29
Thanks @fubhy! - AddDuration.parts
api#3541
040703d
Thanks @KhraksMamtsov! - TheFiberRef<A>
is now a subtype ofEffect<A>
. This change simplifies handling of deferred values, removing the need for explicit callFiberRef.get
.v3.7.3
Compare Source
Patch Changes
35a0f81
Thanks @mikearnaldi! - TestClock yield with setTimeout(0)v3.7.2
Compare Source
Patch Changes
#3548
8a601d7
Thanks @tim-smart! - remove console.log statements from Micro#3546
353ba19
Thanks @tim-smart! - fix exported Stream types forbroadcast*
andtoPubSub
v3.7.1
Compare Source
Patch Changes
#3536
79859e7
Thanks @mikearnaldi! - Optimize Array.sortWith to avoid calling the map function excesively#3516
f6a469c
Thanks @KhraksMamtsov! - support tacit usage forEffect.tapErrorTag
andEffect.catchTag
#3543
dcb9ec0
Thanks @datner! - Align behavior ofStream.empty
to act likeStream.make()
to fix behavior withNodeStream.toReadable
#3545
79aa6b1
Thanks @tim-smart! - fix Micro.forEach for empty iterablesv3.7.0
Compare Source
Minor Changes
#3410
2f456cc
Thanks @vinassefranche! - preserveArray.modify
Array.modifyOption
non emptiness#3410
8745e41
Thanks @patroza! - improve: type Fiber.awaitAll as Exit<A, E>[].#3410
e557838
Thanks @titouancreach! - New constructor Config.nonEmptyString#3410
d6e7e40
Thanks @KhraksMamtsov! - preserveArray.replace
Array.replaceOption
non emptiness#3410
8356321
Thanks @KhraksMamtsov! - addEffect.bindAll
apiThis api allows you to combine
Effect.all
withEffect.bind
. It is usefulwhen you want to concurrently run multiple effects and then combine their
results in a Do notation pipeline.
#3410
192f2eb
Thanks @tim-smart! - addpropagateInterruption
option to Fiber{Handle,Set,Map}This option will send any external interrupts to the .join result.
#3410
718cb70
Thanks @dilame! - feat(Stream): implementrace
operator, which accepts two upstreams and returns a stream that mirrors the first upstream to emit an item and interrupts the other upstream.#3410
e9d0310
Thanks @mikearnaldi! - Avoid automatic propagation of finalizer concurrency, closes #3440#3410
6bf28f7
Thanks @tim-smart! - add Context.getOrElse api, for gettings a Tag's value with a fallbackPatch Changes
db89601
Thanks @juliusmarminge! - addMicro.isMicroCause
guardv3.6.8
Compare Source
Patch Changes
e809286
Thanks @fubhy! - Detect environment in Logger.pretty using process.stdoutv3.6.7
Compare Source
Patch Changes
50ec889
Thanks @datner! - improve the performance of Effect.partitionMapv3.6.6
Compare Source
Patch Changes
#3306
f960bf4
Thanks @dilame! - Introduce left / right naming for Stream apis#3499
46a575f
Thanks @tim-smart! - fix nested Config.array, by ensuring path patches aren't applied twice in sequencesv3.6.5
Compare Source
Patch Changes
#3474
14a47a8
Thanks @IMax153! - Add support for incrementing and decrementing a gauge based on its prior value#3490
0c09841
Thanks @tim-smart! - fix type error when .pipe() has no argumentsv3.6.4
Compare Source
Patch Changes
#3404
8295281
Thanks @KhraksMamtsov! - FixCache<_, Value, _>
type parameter variance (covariant -> invariant)#3452
c940df6
Thanks @tim-smart! - ensure Scheduler tasks are added to a matching priority bucket#3459
00b6c6d
Thanks @tim-smart! - ensure defects are caught in Effect.tryPromise#3458
f8d95a6
Thanks @thomasvargiu! - fixDateTime.makeZonedFromString
for 0 offsetv3.6.3
Compare Source
Patch Changes
04adcac
Thanks @tim-smart! - ensure Stream.toReadableStream pulls always result in a enqueuev3.6.2
Compare Source
Patch Changes
fd4b2f6
Thanks @Andarist! - ensure fiber is properly cleared in FiberHandle.unsafeSetv3.6.1
Compare Source
Patch Changes
#3405
510a34d
Thanks @KhraksMamtsov! - FixEffect.repeat
with times option returns wrong value#3398
45dbb9f
Thanks @sukovanej! - FixStream.asyncPush
type signature - allow theregister
effect to fail.v3.6.0
Compare Source
Minor Changes
#3380
1e0fe80
Thanks @tim-smart! - make List.Cons extend NonEmptyIterable#3380
8135294
Thanks @tim-smart! - add DateTime moduleThe
DateTime
module provides functionality for working with time, includingsupport for time zones and daylight saving time.
It has two main data types:
DateTime.Utc
andDateTime.Zoned
.A
DateTime.Utc
represents a time in Coordinated Universal Time (UTC), anda
DateTime.Zoned
contains both a UTC timestamp and a time zone.There is also a
CurrentTimeZone
service, for setting a time zone contextually.#3380
cd255a4
Thanks @tim-smart! - add Stream.asyncPush apiThis api creates a stream from an external push-based resource.
You can use the
emit
helper to emit values to the stream. You can also usethe
emit
helper to signal the end of the stream by using apis such asemit.end
oremit.fail
.By default it uses an "unbounded" buffer size.
You can customize the buffer size and strategy by passing an object as the
second argument with the
bufferSize
andstrategy
fields.#3380
3845646
Thanks @mikearnaldi! - Implement Struct.keys as a typed alternative to Object.keys#3380
2d09078
Thanks @sukovanej! - AddRandom.choice
.#3380
4bce5a0
Thanks @vinassefranche! - Add onlyEffect option to Effect.tap#3380
4ddbff0
Thanks @KhraksMamtsov! - SupportRefinement
inPredicate.tuple
andPredicate.struct
#3380
e74cc38
Thanks @dilame! - ImplementStream.onEnd
that adds an effect to be executed at the end of the stream.#3380
bb069b4
Thanks @dilame! - ImplementStream.onStart
that adds an effect to be executed at the start of the stream.#3380
cd255a4
Thanks @tim-smart! - addbufferSize
option to Stream.fromEventListener#3380
7d02174
Thanks @fubhy! - Changed various function signatures to returnArray
instead ofReadonlyArray
v3.5.9
Compare Source
Patch Changes
6359644
Thanks [@&⬆️ Update dependency @types/node to v20.11.22 #82Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.