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
| module.exports = getType
|
| function getType (st) {
| var types =
| [ "Directory"
| , "File"
| , "SymbolicLink"
| , "Link" // special for hardlinks from tarballs
| , "BlockDevice"
| , "CharacterDevice"
| , "FIFO"
| , "Socket" ]
| , type
|
| if (st.type && -1 !== types.indexOf(st.type)) {
| st[st.type] = true
| return st.type
| }
|
| for (var i = 0, l = types.length; i < l; i ++) {
| type = types[i]
| var is = st[type] || st["is" + type]
| if (typeof is === "function") is = is.call(st)
| if (is) {
| st[type] = true
| st.type = type
| return type
| }
| }
|
| return null
| }
|
|