Skip to content

Commit bc38cd6

Browse files
author
Joshua Grosso
committed
Standardize error-handling logic
1 parent c4f3bd0 commit bc38cd6

File tree

12 files changed

+40
-48
lines changed

12 files changed

+40
-48
lines changed

src/commands/checkout.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,9 @@ const generateCheckoutStats = (raw) => {
5555
};
5656

5757
function checkout(repo) {
58-
const response = generateResponse();
59-
6058
return core.checkout('', { cwd: repo.workdir() })
6159
.then(({ stdout, stderr }) => {
60+
const response = generateResponse();
6261
response.raw = stdout;
6362

6463
if (stderr) {

src/commands/clone.js

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,13 +70,12 @@ function clone(url, cwd, options) {
7070
} = (options || {});
7171
const args = branch ? `-b ${branch}` : '';
7272

73-
const response = generateResponse();
7473
return core.clone(`${url} ${args}`, { cwd, env }, callback)
75-
.then(({ stdout }) => {
76-
response.raw = stdout;
77-
response.clone = generateCloneStats(stdout);
78-
return response;
79-
}, errorCatchHandler(response));
74+
.then(({ stdout }) => ({
75+
...generateResponse(),
76+
raw: stdout,
77+
clone: generateCloneStats(stdout)
78+
}), errorCatchHandler);
8079
}
8180

8281
export default clone;

src/commands/fetch.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,6 @@ const generateFetchStats = (raw) => {
6060
};
6161

6262
function fetch(repo, options) {
63-
const response = generateResponse();
64-
6563
const args = [];
6664
const {
6765
remoteName,
@@ -84,9 +82,9 @@ function fetch(repo, options) {
8482
response.fetch = generateFetchStats(stdout);
8583

8684
if (response.fetch.fetch_error) {
87-
response.success = false;
88-
response.stderr = response.fetch.fetch_error;
8985
response.errno = BAD_CORE_RESPONSE;
86+
response.stderr = response.fetch.fetch_error;
87+
response.success = false;
9088
}
9189

9290
return response;

src/commands/ls.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,17 +47,18 @@ const buildArgs = (options) => {
4747
};
4848

4949
const ls = (repo, options) => {
50-
const response = generateResponse();
5150
const args = buildArgs(options);
5251

5352
return core.ls(args, { cwd: repo.workdir() })
5453
.then(({ stdout, stderr }) => {
54+
const response = generateResponse();
5555
response.raw = stdout;
5656

57-
if (stderr.length > 0) {
57+
if (stderr) {
58+
response.errno = BAD_CORE_RESPONSE;
5859
response.stderr = stderr;
5960
response.success = false;
60-
response.errno = BAD_CORE_RESPONSE;
61+
return response;
6162
}
6263

6364
response.files = extractFileNames(stdout);

src/commands/pointer.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,16 @@ const pointer = (repo, filePath, pointerPath) => {
1313
args += `--file=${pointerPath} `;
1414
}
1515

16-
const response = generateResponse();
1716

1817
return core.pointer(args, { cwd: repo.workdir() })
1918
.then(({ stdout, stderr }) => {
19+
const response = generateResponse();
2020
response.raw = stdout;
2121

2222
if (stderr) {
23-
response.success = false;
2423
response.errno = BAD_CORE_RESPONSE;
2524
response.stderr = stderr;
25+
response.success = false;
2626
return response;
2727
}
2828

src/commands/prune.js

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,19 @@ import { core } from './lfsCommands';
22
import generateResponse from '../utils/generateResponse';
33
import { BAD_CORE_RESPONSE } from '../constants';
44

5-
const prune = (repo, args) => {
6-
const response = generateResponse();
7-
8-
return core.prune(args, { cwd: repo.workdir() })
5+
const prune = (repo, args) =>
6+
core.prune(args, { cwd: repo.workdir() })
97
.then(({ stdout, stderr }) => {
8+
const response = generateResponse();
109
response.raw = stdout;
1110

1211
if (stderr) {
1312
response.errno = BAD_CORE_RESPONSE;
1413
response.stderr = stderr;
1514
response.success = false;
16-
return response;
1715
}
1816

1917
return response;
2018
});
21-
};
2219

2320
export default prune;

src/commands/pull.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,6 @@ const generatePullStats = (raw) => {
6060
};
6161

6262
function pull(repo, options) {
63-
const response = generateResponse();
64-
6563
const args = [];
6664
const {
6765
remoteName,
@@ -83,9 +81,9 @@ function pull(repo, options) {
8381
response.pull = generatePullStats(stdout);
8482

8583
if (response.pull.pull_error) {
86-
response.success = false;
87-
response.stderr = response.pull.pull_error;
8884
response.errno = BAD_CORE_RESPONSE;
85+
response.stderr = response.pull.pull_error;
86+
response.success = false;
8987
}
9088

9189
return response;

src/commands/push.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,6 @@ const generatePushStats = (raw) => {
6262
};
6363

6464
function push(repo, options) {
65-
const response = generateResponse();
66-
6765
const {
6866
remoteName,
6967
branchName,
@@ -96,11 +94,11 @@ function push(repo, options) {
9694

9795
return getRemoteAndBranchPromise
9896
.then(() => core.push(`${remote} ${branch}`, { cwd: repo.path() }, callback))
99-
.then(({ stdout }) => {
100-
response.raw = stdout;
101-
response.push = generatePushStats(stdout);
102-
return response;
103-
}, errorCatchHandler(response));
97+
.then(({ stdout }) => ({
98+
...generateResponse(),
99+
push: generatePushStats(stdout),
100+
raw: stdout
101+
}), errorCatchHandler);
104102
}
105103

106104
export default push;

src/commands/track.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,16 @@ const track = (repo, globs) => {
2222
R.filter(isString),
2323
R.map(g => `${ticks}${g}${ticks}`)
2424
)(globs);
25-
const response = generateResponse();
2625

2726
return core.track(R.join(' ', filteredGlobs), { cwd: repo.workdir() })
2827
.then(({ stdout, stderr }) => {
28+
const response = generateResponse();
2929
response.raw = stdout;
3030

3131
if (stderr) {
32-
response.success = false;
3332
response.errno = BAD_CORE_RESPONSE;
3433
response.stderr = stderr;
34+
response.success = false;
3535
return response;
3636
}
3737

src/commands/untrack.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,16 @@ const untrack = (repo, globs) => {
2222
R.filter(isString),
2323
R.map(g => `${ticks}${g}${ticks}`)
2424
)(globs);
25-
const response = generateResponse();
2625

2726
return core.untrack(R.join(' ', filteredGlobs), { cwd: repo.workdir() })
2827
.then(({ stdout, stderr }) => {
28+
const response = generateResponse();
2929
response.raw = stdout;
3030

3131
if (stderr) {
32-
response.success = false;
3332
response.errno = BAD_CORE_RESPONSE;
3433
response.stderr = stderr;
34+
response.success = false;
3535
return response;
3636
}
3737

0 commit comments

Comments
 (0)