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/stream/Stream/operations/provideLayer";
/**
 * Splits the environment into two parts, providing one part using the
 * specified layer and leaving the remainder.
 *
 * @tsplus fluent ets/Stream provideSomeLayer
 */

export function provideSomeLayer_(self, layer, __tsplusTrace) {
  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.
 *
 * @tsplus static ets/Stream/Aspects provideSomeLayer
 */

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