/** * @since 0.3.0 * @internal */ import * as Effect from "effect/Effect" /** * @since 0.3.0 * @internal */ export type MaybeEffect = Effect.Effect | A /** * @since 0.3.0 * @internal */ export function MaybeEffect(self: null | undefined): null export function MaybeEffect(self: MaybeEffect): Effect.Effect export function MaybeEffect(self: MaybeEffect | null | undefined) { if (self == null) { return null } if (Effect.isEffect(self)) { return self } return Effect.succeed(self) }