Resource
Constructors
Signature
declare const auto: <A, E, R, Out, R2>(
acquire: Effect.Effect<A, E, R>,
policy: Schedule.Schedule<Out, unknown, R2>,
) => Effect.Effect<Resource<A, E>, never, R | R2 | Scope.Scope>;Creates a new Resource value that must be manually refreshed by calling the refresh method. Note that error retrying is not performed automatically, so if you want to retry on errors, you should first apply retry policies to the acquisition effect before passing it to this constructor.
Signature
declare const manual: <A, E, R>(
acquire: Effect.Effect<A, E, R>,
) => Effect.Effect<Resource<A, E>, never, Scope.Scope | R>;Getters
Models
A Resource is a possibly resourceful value that is loaded into memory, and which can be refreshed either manually or automatically.
Signature
interface Resource<in out A, in out E = never> extends Effect<A, E>, Variance<A, E> {
readonly [ignoreSymbol]?: ResourceUnifyIgnore;
readonly [typeSymbol]?: unknown;
readonly [unifySymbol]?: ResourceUnify<Resource<A, E>>;
}ResourceUnify interface
Added in v3.9.0
Source
Signature
interface ResourceUnify<
A extends {
[typeSymbol]?: any;
},
> extends EffectUnify<A> {
Resource?: () => Extract<A[typeof typeSymbol], Resource<any, any>>;
}ResourceUnifyIgnore interface
Added in v3.9.0
Source
Signature
interface ResourceUnifyIgnore extends EffectUnifyIgnore {
Effect?: true;
}Other
Symbols
ResourceTypeId
Added in v2.0.0
Source
Signature
declare const ResourceTypeId: unique symbol;ResourceTypeId type
Added in v2.0.0
Source
Signature
type ResourceTypeId = typeof ResourceTypeId;
Creates a new
Resourcevalue that is automatically refreshed according to the specified policy. Note that error retrying is not performed automatically, so if you want to retry on errors, you should first apply retry policies to the acquisition effect before passing it to this constructor.