mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-20 01:07:18 +03:00
resources: Resource.unit
, as an alias for Resource.successful(())
. (#4786)
* resources: `Resource.unit`, as an alias for `Resource.successful(())`. CHANGELOG_BEGIN CHANGELOG_END * resources: Add `ResourceOwner.unit`.
This commit is contained in:
parent
536e793a44
commit
a73b7459a7
@ -284,7 +284,7 @@ final class SandboxServer(
|
||||
ResourceOwner.forTry(() =>
|
||||
Try(source.runWith(Sink.foreachAsync(1)(indexAndWriteService.publishHeartbeat)))
|
||||
.map(_ => ()))))
|
||||
.getOrElse(ResourceOwner.successful(()))
|
||||
.getOrElse(ResourceOwner.unit)
|
||||
.acquire()
|
||||
apiServer <- new LedgerApiServer(
|
||||
(mat: Materializer, esf: ExecutionSequencerFactory) =>
|
||||
|
@ -154,7 +154,7 @@ object SandboxIndexAndWriteService {
|
||||
}
|
||||
).map(_ => ())
|
||||
case _ =>
|
||||
Resource.successful(())
|
||||
Resource.unit
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -151,6 +151,12 @@ object Resource {
|
||||
def fromFuture[T](future: Future[T])(implicit executionContext: ExecutionContext): Resource[T] =
|
||||
apply(future)(_ => Future.successful(()))
|
||||
|
||||
/**
|
||||
* Produces a [[Resource]] that has already succeeded with the [[Unit]] value.
|
||||
*/
|
||||
def unit(implicit executionContext: ExecutionContext): Resource[Unit] =
|
||||
Resource.fromFuture(Future.unit)
|
||||
|
||||
/**
|
||||
* Produces a [[Resource]] that has already succeeded with a given value.
|
||||
*/
|
||||
@ -198,7 +204,7 @@ object Resource {
|
||||
implicit executionContext: ExecutionContext,
|
||||
): Resource[Unit] =
|
||||
seq
|
||||
.foldLeft(Resource.successful(()))((builderResource, elementResource) =>
|
||||
.foldLeft(Resource.unit)((builderResource, elementResource) =>
|
||||
for {
|
||||
_ <- builderResource
|
||||
_ <- elementResource
|
||||
|
@ -72,6 +72,9 @@ trait ResourceOwner[+A] {
|
||||
* Convenient [[ResourceOwner]] factory and sequencing methods.
|
||||
*/
|
||||
object ResourceOwner {
|
||||
def unit: ResourceOwner[Unit] =
|
||||
new FutureResourceOwner(() => Future.unit)
|
||||
|
||||
def successful[T](value: T): ResourceOwner[T] =
|
||||
new FutureResourceOwner(() => Future.successful(value))
|
||||
|
||||
@ -124,7 +127,7 @@ object ResourceOwner {
|
||||
implicit executionContext: ExecutionContext,
|
||||
): ResourceOwner[Unit] =
|
||||
seq
|
||||
.foldLeft(ResourceOwner.successful(()))((builderResource, elementResource) =>
|
||||
.foldLeft(ResourceOwner.unit)((builderResource, elementResource) =>
|
||||
for {
|
||||
_ <- builderResource
|
||||
_ <- elementResource
|
||||
|
Loading…
Reference in New Issue
Block a user