1
0
mirror of https://github.com/JuanCanham/HackMyResume.git synced 2025-05-02 20:37:08 +01:00

Improve VALIDATE error handling.

This commit is contained in:
hacksalot
2016-02-13 00:11:52 -05:00
parent c889664c31
commit dbef9f0a35
10 changed files with 62 additions and 38 deletions

4
dist/cli/error.js vendored
View File

@ -230,6 +230,10 @@ Error-handling routines for HackMyResume.
case HMSTATUS.createError:
msg = printf(M2C(this.msgs.createError.msg), ex.inner.path);
etype = 'error';
break;
case HMSTATUS.validateError:
msg = printf(M2C(this.msgs.validateError.msg), ex.inner.toString());
etype = 'error';
}
return {
msg: msg,

4
dist/cli/msg.yml vendored
View File

@ -44,7 +44,7 @@ events:
- "INVALID"
- "BROKEN"
- "MISSING"
- "UNKNOWN"
- "ERROR"
beforePeek:
msg:
- Peeking at **%s** in **%s**
@ -107,3 +107,5 @@ errors:
msg: Failed to create **'%s'**.
exiting:
msg: Exiting with status code **%s**.
validateError:
msg: "An error occurred during validation:\n%s"

6
dist/cli/out.js vendored
View File

@ -151,8 +151,12 @@ Output routines for HackMyResume.
case 'missing':
style = 'red';
adj = msgs[4];
break;
case 'unknown':
style = 'red';
adj = msgs[5];
}
evt.schema = evt.schema.toUpperCase();
evt.schema = evt.schema.replace('jars', 'JSON Resume').toUpperCase();
L(M2C(msgs[0], 'white') + chalk[style].bold(adj), evt.file, evt.schema);
if (evt.violations) {
_.each(evt.violations, function(err, idx) {

View File

@ -32,7 +32,8 @@ Status codes for HackMyResume.
themeLoad: 22,
invalidParamCount: 23,
missingParam: 24,
createError: 25
createError: 25,
validateError: 26
};
}).call(this);

View File

@ -94,20 +94,7 @@ Implementation of the 'validate' verb for HackMyResume.
};
try {
obj = safeLoadJSON(t);
if (obj.ex) {
if (obj.ex.operation === 'parse') {
errCode = HMSTATUS.parseError;
ret.status = 'broken';
} else {
errCode = HMSTATUS.readError;
ret.status = 'missing';
}
ret.error = {
fluenterror: errCode,
inner: obj.ex.inner,
quiet: errCode === HMSTATUS.readError
};
} else {
if (!obj.ex) {
if (obj.json.basics) {
ret.schema = 'jars';
} else {
@ -123,11 +110,26 @@ Implementation of the 'validate' verb for HackMyResume.
if (!ret.isValid) {
ret.violations = validate.errors;
}
} else {
if (obj.ex.operation === 'parse') {
errCode = HMSTATUS.parseError;
ret.status = 'broken';
} else {
errCode = HMSTATUS.readError;
ret.status = 'missing';
}
ret.error = {
fluenterror: errCode,
inner: obj.ex.inner,
quiet: errCode === HMSTATUS.readError
};
}
} catch (_error) {
ret.error = _error;
ret.error = {
fluenterror: HMSTATUS.validateError,
inner: _error
};
}
ret.schema = ret.schema.replace('jars', 'JSON Resume');
this.stat(HMEVENT.afterValidate, ret);
return ret;
};