ResourceUnion

Describes acquisition of a value together with registration of its release in the current Flow scope.

Specification

Kind
Union
Members
2
Examples
0
createSignature
Resource.create acquire release
finalizerSignature
Resource.finalizer release

Summary

NameSignatureSynopsis
Operations
createResource.create acquire releaseDescribes acquisition together with a release flow registered in the current Flow scope.
finalizerResource.finalizer releaseDescribes a release flow, registered in the current Flow scope, as a unit-valued resource.

Operations

kind:member

create

Resource.create acquire release
Member
Describes acquisition together with a release flow registered in the current Flow scope.

Parameters

NameTypeDescription
acquireFlow<'env, 'error, 'value>
release'value -> Flow<'env, Never, unit>

Returns

Resource<'env, 'error, 'value>

Verification Examples

Resource.create openConnection (fun connection -> Flow.delay (fun () -> connection.Close(); Flow.succeed ()))
kind:member

finalizer

Resource.finalizer release
Member
Describes a release flow, registered in the current Flow scope, as a unit-valued resource.

Parameters

NameTypeDescription
releaseFlow<'env, Never, unit>

Returns

Resource<'env, 'error, unit>