// make a get request
yield* client.get("https://jsonplaceholder.typicode.com/todos/1")
}).pipe(
Effect.scoped,
// the fetch client has been moved to the FetchHttpClient module
Effect.provide(FetchHttpClient.layer)
)
HttpClient interface now uses methods
Instead of being a function that returns the response, the HttpClient
interface now uses methods to make requests.
Some shorthand methods have been added to the HttpClient interface to make
less complex requests easier.
import {
FetchHttpClient,
HttpClient,
HttpClientRequest
} from "@effect/platform"
import { Effect } from "effect"
// make a get request
yield* client.get("https://jsonplaceholder.typicode.com/todos/1")
}).pipe(
Effect.scoped,
// the fetch client has been moved to the FetchHttpClient module
Effect.provide(FetchHttpClient.layer)
)
HttpClient interface now uses methods
Instead of being a function that returns the response, the HttpClient
interface now uses methods to make requests.
Some shorthand methods have been added to the HttpClient interface to make
less complex requests easier.
import {
FetchHttpClient,
HttpClient,
HttpClientRequest
} from "@effect/platform"
import { Effect } from "effect"
// make a get request
yield* client.get("https://jsonplaceholder.typicode.com/todos/1")
}).pipe(
Effect.scoped,
// the fetch client has been moved to the FetchHttpClient module
Effect.provide(FetchHttpClient.layer)
)
HttpClient interface now uses methods
Instead of being a function that returns the response, the HttpClient
interface now uses methods to make requests.
Some shorthand methods have been added to the HttpClient interface to make
less complex requests easier.
import {
FetchHttpClient,
HttpClient,
HttpClientRequest
} from "@effect/platform"
import { Effect } from "effect"
// make a get request
yield* client.get("https://jsonplaceholder.typicode.com/todos/1")
}).pipe(
Effect.scoped,
// the fetch client has been moved to the FetchHttpClient module
Effect.provide(FetchHttpClient.layer)
)
HttpClient interface now uses methods
Instead of being a function that returns the response, the HttpClient
interface now uses methods to make requests.
Some shorthand methods have been added to the HttpClient interface to make
less complex requests easier.
import {
FetchHttpClient,
HttpClient,
HttpClientRequest
} from "@effect/platform"
import { Effect } from "effect"
#35897fdf9d9 Thanks @gcanti! - Updates the constraints for members within a union from the more restrictive Schema.Any to the more inclusive Schema.All, closes #3587.
Affected APIs include:
Schema.Union
Schema.UndefinedOr
Schema.NullOr
Schema.NullishOr
Schema.optional
AST.Union.make now retains duplicate members and no longer eliminates the neverKeyword.
#35897fdf9d9 Thanks @gcanti! - Updates the constraints for members within a union from the more restrictive Schema.Any to the more inclusive Schema.All, closes #3587.
Affected APIs include:
Schema.Union
Schema.UndefinedOr
Schema.NullOr
Schema.NullishOr
Schema.optional
AST.Union.make now retains duplicate members and no longer eliminates the neverKeyword.
In browsers and different platforms, console.error renders differently than console.info. This helps to distinguish between different levels of logging. Logger.withLeveledConsole takes any logger and calls the respective Console method based on the log level. For instance, Effect.logError will call Console.error and Effect.logInfo will call Console.info.
To use it, you can replace the default logger with a Logger.withLeveledConsole logger:
You can now use Semaphore.withPermitsIfAvailable to run an Effect only if the
Semaphore 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 were
available, or None if they were not.
#35415f0bfa1 Thanks @KhraksMamtsov! - The Deferred<A> is now a subtype of Effect<A>. This change simplifies handling of deferred values, removing the need for explicit call Deffer.await.
In browsers and different platforms, console.error renders differently than console.info. This helps to distinguish between different levels of logging. Logger.withLeveledConsole takes any logger and calls the respective Console method based on the log level. For instance, Effect.logError will call Console.error and Effect.logInfo will call Console.info.
To use it, you can replace the default logger with a Logger.withLeveledConsole logger:
You can now use Semaphore.withPermitsIfAvailable to run an Effect only if the
Semaphore 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 were
available, or None if they were not.
#35415f0bfa1 Thanks @KhraksMamtsov! - The Deferred<A> is now a subtype of Effect<A>. This change simplifies handling of deferred values, removing the need for explicit call Deffer.await.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and st...
_Description has been truncated_
Bumps the production-dependencies group with 7 updates in the / directory:
0.42.3
0.44.1
0.63.3
0.65.1
0.58.3
0.60.1
0.35.2
0.36.0
0.35.2
0.36.0
0.72.2
0.73.0
3.7.2
3.8.0
Updates
@effect/cli
from 0.42.3 to 0.44.1Release notes
Sourced from
@effect/cli
's releases.Changelog
Sourced from
@effect/cli
's changelog.... (truncated)
Commits
e3eae02
Version Packages (#3615)798a6d5
Version Packages (#3604)aa1fa53
Add number round (#3533)4a848b0
Version Packages (#3585)4d96d03
Update to TS 5.6 (#3579)b00e615
Version Packages (#3570)06989e9
EnsureQuitException
terminates command-line processing (#3569)1352d69
Version Packages (#3568)2df49c4
AddOptions.withFallbackPrompt
to CLI (#3561)dfc644c
Version Packages (#3564)Updates
@effect/platform
from 0.63.3 to 0.65.1Release notes
Sourced from
@effect/platform
's releases.... (truncated)
Changelog
Sourced from
@effect/platform
's changelog.... (truncated)
Commits
e3eae02
Version Packages (#3615)e44c5f2
accept Redacted in HttpClientRequest.basicAuth/bearerToken (#3614)798a6d5
Version Packages (#3604)6a128f6
ensure FetchHttpClient always attempts to send a request body (#3613)adf7d7a
add Mailbox module, a queue which can have done or failure signals (#3580)e0d21a5
add filter refinement overloads to http client (#3595)812a4e8
add Logger.prettyLoggerDefault, to prevent duplicate pretty loggers (#3552)7041393
refactor /platform HttpClient (#3537)4a848b0
Version Packages (#3585)8632f7d
focus the platform README on unstable modules (#3596)Updates
@effect/platform-node
from 0.58.3 to 0.60.1Release notes
Sourced from
@effect/platform-node
's releases.... (truncated)
Changelog
Sourced from
@effect/platform-node
's changelog.... (truncated)
Commits
e3eae02
Version Packages (#3615)798a6d5
Version Packages (#3604)7041393
refactor /platform HttpClient (#3537)4a848b0
Version Packages (#3585)192682c
update platform-* READMEs (#3581)dfc644c
Version Packages (#3564)90ac8f6
add HttpApiBuilder.toWebHandler api (#3565)Updates
@effect/printer
from 0.35.2 to 0.36.0Release notes
Sourced from
@effect/printer
's releases.Changelog
Sourced from
@effect/printer
's changelog.Commits
798a6d5
Version Packages (#3604)4a848b0
Version Packages (#3585)Updates
@effect/printer-ansi
from 0.35.2 to 0.36.0Release notes
Sourced from
@effect/printer-ansi
's releases.Changelog
Sourced from
@effect/printer-ansi
's changelog.Commits
798a6d5
Version Packages (#3604)4a848b0
Version Packages (#3585)Updates
@effect/schema
from 0.72.2 to 0.73.0Release notes
Sourced from
@effect/schema
's releases.Changelog
Sourced from
@effect/schema
's changelog.Commits
798a6d5
Version Packages (#3604)362604a
don't reconstruct either in ParseResult.go (#3608)7fdf9d9
relax constraints for members within a union fromSchema.Any
to `Sc… (#3589)4a848b0
Version Packages (#3585)95bf1ee
enable eslint no-console rule (#3586)dfc644c
Version Packages (#3564)f6acb71
Enhanced the generation of recursive Arbitraries to prevent infinite nesting,...Updates
effect
from 3.7.2 to 3.8.0Release notes
Sourced from effect's releases.
... (truncated)
Changelog
Sourced from effect's changelog.
... (truncated)
Commits
798a6d5
Version Packages (#3604)02f6b06
add additional duration conversion apis (#3605)eebfd29
addDuration.parts
api (#3603)569a801
Dequeue\<A>
andQueue\<A>
is subtype ofEffect\<A>
(#3591)a7098bf
ensure Mailbox.await waits for the mailbox to be empty (#3609)adf7d7a
add Mailbox module, a queue which can have done or failure signals (#3580)273565e
add Effect.makeLatch (#3571)fcfa6ee
add Logger.withLeveledConsole (#3540)5798f76
add Semaphore.withPermitsIfAvailable (#3593)12b893e
make Fiber subtype of Effect (#3590)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and st... _Description has been truncated_