1/**
2 * Node.js layers for Effect's `Path` service.
3 *
4 * This module provides the default, POSIX, and Windows variants of the
5 * platform-independent `Path` service by reusing the shared Node path
6 * implementation. The provided path services include Node file URL conversion
7 * behavior.
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 * Provides the default Node `Path` service using the platform's `node:path`
17 * implementation.
18 *
19 * @category layers
20 * @since 4.0.0
21 */
22export const layer: Layer.Layer<Path> = NodePath.layer
23
24/**
25 * Provides the `Path` service using Node's POSIX path implementation,
26 * regardless of the host platform.
27 *
28 * @category layers
29 * @since 4.0.0
30 */
31export const layerPosix: Layer.Layer<Path> = NodePath.layerPosix
32
33/**
34 * Provides the `Path` service using Node's Windows path implementation,
35 * regardless of the host platform.
36 *
37 * @category layers
38 * @since 4.0.0
39 */
40export const layerWin32: Layer.Layer<Path> = NodePath.layerWin32