1/**
2 * Bun-backed layers for Effect's {@link Path} service.
3 *
4 * This module provides the `Path` service for Bun programs by reusing the
5 * shared Node-compatible path implementation. Provide one of these layers when
6 * Bun code should receive path operations from the Effect environment instead
7 * of importing runtime path helpers directly.
8 *
9 * @since 4.0.0
10 */
11import * as NodePath from "@effect/platform-node-shared/NodePath"
12import type * as Layer from "effect/Layer"
13import type { Path } from "effect/Path"
14
15/**
16 * Layer that provides the default `Path` service for Bun using the shared Node path implementation.
17 *
18 * @category layers
19 * @since 4.0.0
20 */
21export const layer: Layer.Layer<Path> = NodePath.layer
22
23/**
24 * Layer that provides the POSIX `Path` service for Bun using the shared Node path implementation.
25 *
26 * @category layers
27 * @since 4.0.0
28 */
29export const layerPosix: Layer.Layer<Path> = NodePath.layerPosix
30
31/**
32 * Layer that provides the Win32 `Path` service for Bun using the shared Node path implementation.
33 *
34 * @category layers
35 * @since 4.0.0
36 */
37export const layerWin32: Layer.Layer<Path> = NodePath.layerWin32