Split 0x.js into contract-wrappers, order-watcher but keep 0x.js as a unifying library with the same interface
This commit is contained in:
@@ -1,4 +1,12 @@
|
||||
[
|
||||
{
|
||||
"version": "0.4.2",
|
||||
"changes": [
|
||||
{
|
||||
"note": "Move callbackErrorReporter over from 0x.js"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"timestamp": 1525477860,
|
||||
"version": "0.4.1",
|
||||
|
66
packages/dev-utils/src/callback_error_reporter.ts
Normal file
66
packages/dev-utils/src/callback_error_reporter.ts
Normal file
@@ -0,0 +1,66 @@
|
||||
import * as chai from 'chai';
|
||||
import * as _ from 'lodash';
|
||||
|
||||
import { DoneCallback } from '@0xproject/types';
|
||||
|
||||
const expect = chai.expect;
|
||||
|
||||
export const callbackErrorReporter = {
|
||||
reportNoErrorCallbackErrors(done: DoneCallback, expectToBeCalledOnce = true) {
|
||||
return <T>(f?: (value: T) => void) => {
|
||||
const wrapped = (value: T) => {
|
||||
if (_.isUndefined(f)) {
|
||||
done();
|
||||
return;
|
||||
}
|
||||
try {
|
||||
f(value);
|
||||
if (expectToBeCalledOnce) {
|
||||
done();
|
||||
}
|
||||
} catch (err) {
|
||||
done(err);
|
||||
}
|
||||
};
|
||||
return wrapped;
|
||||
};
|
||||
},
|
||||
reportNodeCallbackErrors(done: DoneCallback, expectToBeCalledOnce = true) {
|
||||
return <T>(f?: (value: T) => void) => {
|
||||
const wrapped = (error: Error | null, value: T | undefined) => {
|
||||
if (!_.isNull(error)) {
|
||||
done(error);
|
||||
} else {
|
||||
if (_.isUndefined(f)) {
|
||||
done();
|
||||
return;
|
||||
}
|
||||
try {
|
||||
f(value as T);
|
||||
if (expectToBeCalledOnce) {
|
||||
done();
|
||||
}
|
||||
} catch (err) {
|
||||
done(err);
|
||||
}
|
||||
}
|
||||
};
|
||||
return wrapped;
|
||||
};
|
||||
},
|
||||
assertNodeCallbackError(done: DoneCallback, errMsg: string) {
|
||||
const wrapped = <T>(error: Error | null, value: T | undefined) => {
|
||||
if (_.isNull(error)) {
|
||||
done(new Error('Expected callback to receive an error'));
|
||||
} else {
|
||||
try {
|
||||
expect(error.message).to.be.equal(errMsg);
|
||||
done();
|
||||
} catch (err) {
|
||||
done(err);
|
||||
}
|
||||
}
|
||||
};
|
||||
return wrapped;
|
||||
},
|
||||
};
|
@@ -3,3 +3,4 @@ export { web3Factory } from './web3_factory';
|
||||
export { constants as devConstants } from './constants';
|
||||
export { coverage } from './coverage';
|
||||
export { env, EnvVars } from './env';
|
||||
export { callbackErrorReporter } from './callback_error_reporter';
|
||||
|
Reference in New Issue
Block a user