Skip to content

Commit 3fbae25

Browse files
committed
Add support for 404 folders (returns empty array)
1 parent e70408b commit 3fbae25

File tree

2 files changed

+41
-20
lines changed

2 files changed

+41
-20
lines changed

index.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ async function viaContentsApi({
1919
const files = [];
2020
const requests = [];
2121
const contents = await api(`${user}/${repository}/contents/${directory}?ref=${ref}`, token);
22+
23+
if (contents.message === 'Not Found') {
24+
return [];
25+
}
26+
2227
for (const item of contents) {
2328
if (item.type === 'file') {
2429
files.push(getFullData ? item : item.path);

tests.js

Lines changed: 36 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,36 +2,52 @@
22

33
const listContent = require('.');
44

5-
listContent
6-
.viaTreesApi({
5+
async function init() {
6+
let data;
7+
8+
data = await listContent.viaTreesApi({
79
user: 'sindresorhus',
810
repository: 'refined-github',
9-
directory: 'source/libs'
10-
})
11-
.then(data => console.log('\nviaTreesApi\n', data));
11+
directory: 'source/helpers'
12+
});
13+
console.log('\nviaTreesApi\n', data);
1214

13-
listContent
14-
.viaTreesApi({
15+
data = await listContent.viaTreesApi({
1516
user: 'sindresorhus',
1617
repository: 'refined-github',
17-
directory: 'source/libs',
18+
directory: 'source/helpers',
1819
getFullData: true
19-
})
20-
.then(data => console.log('\nviaTreesApi (detailed)\n', data));
20+
});
21+
console.log('\nviaTreesApi (detailed)\n', data);
22+
23+
data = await listContent.viaTreesApi({
24+
user: 'sindresorhus',
25+
repository: 'refined-github',
26+
directory: 'missing/dir'
27+
});
28+
console.log('\nviaTreesApi (404)\n', data);
2129

22-
listContent
23-
.viaContentsApi({
30+
data = await listContent.viaContentsApi({
2431
user: 'sindresorhus',
2532
repository: 'refined-github',
26-
directory: 'source/libs'
27-
})
28-
.then(data => console.log('\nviaContentsApi\n', data));
33+
directory: 'source/helpers'
34+
});
35+
console.log('\nviaContentsApi\n', data);
2936

30-
listContent
31-
.viaContentsApi({
37+
data = await listContent.viaContentsApi({
3238
user: 'sindresorhus',
3339
repository: 'refined-github',
34-
directory: 'source/libs',
40+
directory: 'source/helpers',
3541
getFullData: true
36-
})
37-
.then(data => console.log('\nviaContentsApi (detailed)\n', data));
42+
});
43+
console.log('\nviaContentsApi (detailed)\n', data);
44+
45+
data = await listContent.viaContentsApi({
46+
user: 'sindresorhus',
47+
repository: 'refined-github',
48+
directory: 'missing/dir'
49+
});
50+
console.log('\nviaContentsApi (404)\n', data);
51+
}
52+
53+
init().catch(console.error);

0 commit comments

Comments
 (0)