summaryrefslogtreecommitdiff
path: root/ext/node/polyfills/path/mod.ts
blob: 56d21d2e0b6981b7372b4b79f4b9eee0e70d2ff8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// Copyright the Browserify authors. MIT License.
// Ported mostly from https://github.com/browserify/path-browserify/
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.

import { isWindows } from "ext:deno_node/_util/os.ts";
import _win32 from "ext:deno_node/path/_win32.ts";
import _posix from "ext:deno_node/path/_posix.ts";

export const win32 = {
  ..._win32,
  win32: null as unknown as typeof _win32,
  posix: null as unknown as typeof _posix,
};

export const posix = {
  ..._posix,
  win32: null as unknown as typeof _win32,
  posix: null as unknown as typeof _posix,
};

posix.win32 = win32.win32 = win32;
posix.posix = win32.posix = posix;

const path = isWindows ? win32 : posix;
export const {
  basename,
  delimiter,
  dirname,
  extname,
  format,
  isAbsolute,
  join,
  normalize,
  parse,
  relative,
  resolve,
  sep,
  toNamespacedPath,
} = path;
export default path;
export * from "ext:deno_node/path/common.ts";
export * from "ext:deno_node/path/_interface.ts";