Removed circular dependencies between APIs and CMI objects

No longer directly setting error codes on the API when a read/write or data validation fails, throwing exceptions instead that can then be caught by the APi.
This commit is contained in:
Jonathan Putney
2019-11-12 11:17:41 -05:00
parent 73ff260097
commit 9e8896fa32
10 changed files with 1114 additions and 868 deletions

33
src/exceptions.js Normal file
View File

@@ -0,0 +1,33 @@
// @flow
/**
* Data Validation Exception
*/
export class ValidationError extends Error {
/**
* Constructor to take in an error message and code
* @param {number} errorCode
*/
constructor(errorCode: number) {
super(errorCode);
this.#errorCode = errorCode;
}
#errorCode;
/**
* Getter for #errorCode
* @return {number}
*/
get errorCode() {
return this.#errorCode;
}
/**
* Trying to override the default Error message
* @return {string}
*/
get message() {
return this.#errorCode + '';
}
}