RippleAPI: Add data property to error object

This commit is contained in:
Alan Cohen
2015-09-17 15:06:12 -07:00
parent 778f59b4fd
commit 0c9aea454e
2 changed files with 9 additions and 3 deletions

View File

@@ -52,7 +52,7 @@ type Wrapper = (data: any) => any
function composeAsync(wrapper: Wrapper, callback: Callback): Callback {
return function(error, data) {
if (error) {
callback(error);
callback(error, data);
return;
}
let result;
@@ -66,10 +66,15 @@ function composeAsync(wrapper: Wrapper, callback: Callback): Callback {
};
}
function convertErrors(callback: () => void): () => void {
function convertErrors(callback: Callback): () => void {
return function(error, data) {
if (error && !(error instanceof errors.RippleError)) {
callback(new errors.RippleError(error));
const error_ = new errors.RippleError(error);
error_.data = data;
callback(error_, data);
} else if (error) {
error.data = data;
callback(error, data);
} else {
callback(error, data);
}

View File

@@ -160,6 +160,7 @@ describe('RippleAPI', function() {
assert(false, 'Should throw RippleError');
}).catch(error => {
assert(error instanceof this.api.errors.RippleError);
assert(error.data);
});
});