A symbolic alias for orDie.
Combines this service builder with the specified service builder, producing a new service builder that has the inputs and outputs of = both.
A symbolic alias for zipPar.
A symbolic alias for orElse.
Feeds the output services of this service builder into the input of the specified service builder, resulting in a new service builder with the inputs of this service builder, and the outputs of both service builders.
Feeds the output services of this service builder into the input of the specified service builder, resulting in a new service builder with the inputs of this service builder, and the outputs of the specified service builder.
A named alias for ++.
A named alias for >+>.
Builds a service builder into a managed value.
Recovers from all errors.
Constructs a service builder dynamically based on the output of this service builder.
This method can be used to "flatten" nested service builders.
Feeds the error or output services of this service builder into the input
of either the specified failure or success service builders,
resulting in a new service builder with the inputs of this service builder, and the error or outputs of the specified service builder.
Creates a fresh version of this service builder that will not be shared.
Returns the hash code of this service builder.
Returns the hash code of this service builder.
Builds this service builder and uses it until it is interrupted.
Builds this service builder and uses it until it is interrupted. This is useful when your entire application is a service builder, such as an HTTP server.
Returns a new service builder whose output is mapped by the specified function.
Returns a service builder with its error channel mapped using the specified function.
Returns a managed effect that, if evaluated, will return the lazily computed result of this service builder.
Translates effect failure into death of the fiber, making all failures unchecked and not a part of the type of the service builder.
Executes this service builder and returns its output, if it succeeds, but otherwise executes the specified service builder.
Retries constructing this service builder according to the specified schedule.
Performs the specified effect if this service builder succeeds.
Performs the specified effect if this service builder fails.
A named alias for >>>.
Converts a service builder that requires no services into a managed runtime, which can be used to execute effects.
Updates one of the services output by this service builder.
Combines this service builder the specified service builder, producing a new service builder that has the inputs of both, and the outputs of both combined into a tuple.
Combines this service builder the specified service builder, producing a new service builder that has the inputs of both, and the outputs of both combined using the specified function.
A
ZServiceBuilder[E, A, B]describes how to build one or more services in your application. Services can be injected into effects via ZIO#inject. Effects can require services via ZIO.service."ServiceBuilder can be thought of as recipes for producing bundles of services, given their dependencies (other services).
Construction of services can be effectful and utilize resources that must be acquired and safely released when the services are done being utilized.
By default service builders are shared, meaning that if the same servicebuilder is used twice the service builder will only be allocated a single time.
Because of their excellent composition properties, service builders are the idiomatic way in ZIO to create services that depend on other services.