// ets_tracing: off import type { Effect } from "./effect.js" import { provideSome_ } from "./provideSome.js" /** * Provides some of the environment required to run this effect, * leaving the remainder `R0` and combining it automatically using spread. * * @ets_data_first provide_ */ export function provide(r: R, __trace?: string) { return (next: Effect): Effect => provide_(next, r, __trace) } /** * Provides some of the environment required to run this effect, * leaving the remainder `R0` and combining it automatically using spread. */ export function provide_( next: Effect, r: R, __trace?: string ): Effect { return provideSome_(next, (r0: R0) => ({ ...r0, ...r }), __trace) }