aboutsummaryrefslogtreecommitdiff
path: root/challenge-112/abigail/node/ch-1.js
blob: ce79942bfe7931c614dba433026d6f99ec389d2a (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
#!/usr/local/bin/node

//
// See ../README.md
//

//
// Run as: node ch-1.js < input-file
//

  require ('readline')
. createInterface ({input: process . stdin})   
. on ('line', _ => {
    let parts = _ . split (/\/+/)              // Split on slash.
    let parts2 = []
    parts . every (_ => {
        if (_ == "." || _ == "") {             // Skip current directory,
            return true                        // and empty parts.
        }
        if (_ == "..") {                       // Pop parent directory.
            parts2 . pop ()
            return true
        }
        parts2 . push (_)                      // Copy part.
        return true
    })
    console . log ("/" + parts2 . join ("/"))  // Print result.
})