import * as Context from "effect/Context"; import * as Effect from "effect/Effect"; export class AdoptPolicy extends Context.Service()( "AdoptPolicy", ) {} export const adopt: { ( enabled?: boolean, ): ( effect: Effect.Effect, ) => Effect.Effect; ( enabled: Effect.Effect, ): ( effect: Effect.Effect, ) => Effect.Effect; } = ((enabled: boolean | Effect.Effect) => (eff: Effect.Effect) => eff.pipe( typeof enabled === "boolean" ? Effect.provideService(AdoptPolicy, enabled ?? true) : Effect.provideServiceEffect(AdoptPolicy, enabled), )) as any;