bitpay-sdk
Version:
Complete version of the NodeJS library for the new cryptographically secure BitPay API
81 lines • 3.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.BitPayExceptionProvider = void 0;
const LoggerProvider_1 = require("../Logger/LoggerProvider");
const BitPayGenericException_1 = require("./BitPayGenericException");
const BitPayApiException_1 = require("./BitPayApiException");
const BitPayValidationException_1 = require("./BitPayValidationException");
class BitPayExceptionProvider {
static throwGenericExceptionWithMessage(errorMessage) {
if (errorMessage == null) {
errorMessage = 'Unexpected generic error';
}
this.logErrorMessage(errorMessage);
throw new BitPayGenericException_1.default(errorMessage);
}
static throwApiExceptionWithMessage(errorMessage, code) {
if (errorMessage == null) {
errorMessage = 'Unexpected api error';
}
this.logErrorMessage(errorMessage);
code = code ? code : this.GENERIC_API_UNMAPPED_ERROR_CODE;
throw new BitPayApiException_1.default(errorMessage, code);
}
static throwDeserializeResourceException(resource, errorMessage) {
let message;
if (resource === null) {
message = 'Failed to deserialize BitPay server response (' + errorMessage + '): ' + resource;
}
else {
message = 'Failed to deserialize BitPay server response ( %s )';
}
this.logErrorMessage(message);
this.throwGenericExceptionWithMessage(message);
}
static throwDeserializeException(errorMessage) {
const message = 'Failed to deserialize BitPay server response : ' + errorMessage;
this.logErrorMessage(message);
}
static throwEncodeException(errorMessage) {
if (errorMessage == null) {
errorMessage = 'Unexpected encode error';
}
this.logErrorMessage(errorMessage);
const message = 'Failed to encode params : ' + errorMessage;
this.throwGenericExceptionWithMessage(message);
}
static throwSerializeResourceException(resource, errorMessage) {
const message = 'Failed to serialize ( ' + resource + ' ) : ' + errorMessage;
this.logErrorMessage(message);
this.throwGenericExceptionWithMessage(message);
}
static throwSerializeParamsException(errorMessage) {
const message = 'Failed to serialize params : ' + errorMessage;
this.logErrorMessage(message);
}
static throwValidationException(errorMessage) {
if (errorMessage == null) {
errorMessage = 'Unexpected validation error';
}
this.logErrorMessage(errorMessage);
throw new BitPayValidationException_1.default(errorMessage);
}
static throwMissingParameterException() {
const message = 'Missing required parameter';
this.logErrorMessage(message);
throw new BitPayValidationException_1.default(message);
}
static throwInvalidCurrencyException(currencyCode) {
const message = 'Currency code ' + currencyCode + ' must be a type of Model.Currency.Currency';
this.throwValidationException(message);
}
static logErrorMessage(message) {
if (message === null) {
return;
}
LoggerProvider_1.LoggerProvider.getLogger().logError(message);
}
}
exports.BitPayExceptionProvider = BitPayExceptionProvider;
BitPayExceptionProvider.GENERIC_API_UNMAPPED_ERROR_CODE = '000000';
//# sourceMappingURL=BitPayExceptionProvider.js.map