import * as tsplus_module_1 from "@effect/core/io/Layer/operations/environment";
import * as tsplus_module_2 from "@effect/core/io/Layer/operations/and";
import * as tsplus_module_3 from "@effect/core/io/Effect/operations/provideLayer";
/**
 * Splits the environment into two parts, providing one part using the
 * specified layer and leaving the remainder `R0`.
 *
 * @tsplus fluent ets/Effect provideSomeLayer
 */

export function provideSomeLayer_(self, layer, __tsplusTrace) {
  // @ts-expect-error
  return tsplus_module_3.provideLayer_(self, tsplus_module_2.and_(tsplus_module_1.environment(), () => layer), __tsplusTrace);
}
/**
 * Splits the environment into two parts, providing one part using the
 * specified layer and leaving the remainder `R0`.
 *
 * @tsplus static ets/Effect/Aspects provideSomeLayer
 */

export const provideSomeLayer = (layer, __tsplusTrace) => self => provideSomeLayer_(self, layer, __tsplusTrace);
//# sourceMappingURL=provideSomeLayer.mjs.map