Skip to content

Commit 20b1aa1

Browse files
committed
Add Path.parse
1 parent bf99222 commit 20b1aa1

File tree

4 files changed

+14
-1
lines changed

4 files changed

+14
-1
lines changed

bower.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
"package.json"
2121
],
2222
"devDependencies": {
23-
"purescript-assert": "^0.1.0"
23+
"purescript-assert": "^0.1.0",
24+
"purescript-console": "~0.1.1"
2425
}
2526
}

src/Node/Path.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,3 +39,5 @@ exports.extname = path.extname;
3939
exports.sep = path.sep;
4040

4141
exports.delimiter = path.delimiter;
42+
43+
exports.parse = path.parse;

src/Node/Path.purs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,6 @@ foreign import sep :: String
3737

3838
-- | The platform-specific path delimiter, `;` or `:`.
3939
foreign import delimiter :: String
40+
41+
-- | Parse a path into components.
42+
foreign import parse :: String -> { root :: String, dir :: String, base :: String, ext :: String, name :: String }

test/Test/Main.purs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,10 @@ main = do
1818
assert $ extname "index" == ""
1919
assert $ sep == normalize "/"
2020
assert $ delimiter == ";" || delimiter == ":"
21+
22+
let path = parse "/home/user/file.js"
23+
assert $ path.root == "/"
24+
assert $ path.dir == "/home/user"
25+
assert $ path.base == "file.js"
26+
assert $ path.ext == ".js"
27+
assert $ path.name == "file"

0 commit comments

Comments
 (0)