trimble-connect-sdk
Version:
Trimble Connect SDK for JavaScript
37 lines • 5.66 kB
JavaScript
export class ServiceError extends Error {
constructor(response, errorMessage, errorCode) {
super(ServiceError.formatMessage(response, errorMessage));
this.response = response;
this.errorMessage = errorMessage;
this.errorCode = errorCode;
if (Error.captureStackTrace) {
Error.captureStackTrace(this, ServiceError);
}
}
static formatMessage(response, errorMessage) {
return `HTTP ${response.status} (${response.statusText}): ${errorMessage}`;
}
}
export const ErrorCodes = {
AlreadyExists: 'ALREADY_EXISTS',
BadRequest: 'BAD_REQUEST',
Deleted: 'DELETED',
DuplicateId: 'DUPLICATE_ID',
InvalidId: 'INVALID_ID',
DuplicateName: 'DUPLICATE_NAME',
ExpiredToken: 'EXPIRED_TOKEN',
Forbidden: 'FORBIDDEN',
InvalidToken: 'INVALID_TOKEN',
MethodNotAllowed: 'METHOD_NOT_ALLOWED',
NameRequired: 'NAME_REQUIRED',
NotFound: 'NOT_FOUND',
NotSupportedEtagFormat: 'ETAG_FORMAT_NOT_SUPPORTED',
ParentDeleted: 'PARENT_DELETED',
TypeRequired: 'TYPE_REQUIRED',
Unauthorized: 'Unauthorized',
VersionDoesNotMatch: 'VERSION_DOES_NOT_MATCH',
};
export const TCPSErrorCodes = {
ExpiredToken: 'API_ACCESS_TOKEN_EXPIRED',
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuanMiLCJzb3VyY2VSb290IjoiLi8iLCJzb3VyY2VzIjpbImVycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxZQUFhLFNBQVEsS0FBSztJQWtCckMsWUFDa0IsUUFBa0IsRUFDbEIsWUFBb0IsRUFDcEIsU0FBa0I7UUFFbEMsS0FBSyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFKMUMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixpQkFBWSxHQUFaLFlBQVksQ0FBUTtRQUNwQixjQUFTLEdBQVQsU0FBUyxDQUFTO1FBS2xDLElBQUksS0FBSyxDQUFDLGlCQUFpQixFQUFFO1lBQzNCLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FDN0M7SUFDSCxDQUFDO0lBeEJPLE1BQU0sQ0FBQyxhQUFhLENBQzFCLFFBQWtCLEVBQ2xCLFlBQW9CO1FBRXBCLE9BQU8sUUFBUSxRQUFRLENBQUMsTUFBTSxLQUFLLFFBQVEsQ0FBQyxVQUFVLE1BQU0sWUFBWSxFQUFFLENBQUM7SUFDN0UsQ0FBQztDQW9CRjtBQU1ELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixhQUFhLEVBQUUsZ0JBQWdCO0lBQy9CLFVBQVUsRUFBRSxhQUFhO0lBQ3pCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLFdBQVcsRUFBRSxjQUFjO0lBQzNCLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLGFBQWEsRUFBRSxnQkFBZ0I7SUFDL0IsWUFBWSxFQUFFLGVBQWU7SUFDN0IsU0FBUyxFQUFFLFdBQVc7SUFDdEIsWUFBWSxFQUFFLGVBQWU7SUFDN0IsZ0JBQWdCLEVBQUUsb0JBQW9CO0lBQ3RDLFlBQVksRUFBRSxlQUFlO0lBQzdCLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLHNCQUFzQixFQUFFLDJCQUEyQjtJQUNuRCxhQUFhLEVBQUUsZ0JBQWdCO0lBQy9CLFlBQVksRUFBRSxlQUFlO0lBQzdCLFlBQVksRUFBRSxjQUFjO0lBQzVCLG1CQUFtQixFQUFFLHdCQUF3QjtDQUM5QyxDQUFDO0FBTUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLFlBQVksRUFBRSwwQkFBMEI7Q0FDekMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQSBzdHJ1Y3R1cmUgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCBhIHNlcnZpY2Ugb3IgbmV0d29ya2luZyBlcnJvci5cbiAqL1xuZXhwb3J0IGNsYXNzIFNlcnZpY2VFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgZm9ybWF0TWVzc2FnZShcbiAgICByZXNwb25zZTogUmVzcG9uc2UsXG4gICAgZXJyb3JNZXNzYWdlOiBzdHJpbmdcbiAgKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYEhUVFAgJHtyZXNwb25zZS5zdGF0dXN9ICgke3Jlc3BvbnNlLnN0YXR1c1RleHR9KTogJHtlcnJvck1lc3NhZ2V9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAY29uc3RydWN0b3JcbiAgICogQHBhcmFtIHtSZXNwb25zZX0gcmVzcG9uc2UgVGhlIGh0dHAgcmVzcG9uc2UgcmVjZWl2ZWQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBlcnJvck1lc3NhZ2UgSW4gdGhlIGNhc2Ugb2YgYSByZXF1ZXN0IHRoYXQgcmVhY2hlZCB0aGUgc2VydmljZSwgdGhpcyB2YWx1ZSBjb250YWlucyBhIGxvbmdlciBodW1hbiByZWFkYWJsZSBlcnJvciBtZXNzYWdlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXJyb3JDb2RlIEluIHRoZSBjYXNlIG9mIGEgcmVxdWVzdCB0aGF0IHJlYWNoZWQgdGhlIHNlcnZpY2UsIHRoaXMgdmFsdWUgY29udGFpbnMgYSB1bmlxdWUgc2hvcnQgY29kZSByZXByZXNlbnRpbmcgdGhlIGVycm9yIHRoYXQgd2FzIGVtaXR0ZWQgKEBzZWUgRXJyb3JDb2RlcyBmb3IgdGhlIGV4cGVjdGVkIHZhbHVlcykuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVzcG9uc2U6IFJlc3BvbnNlLFxuICAgIHB1YmxpYyByZWFkb25seSBlcnJvck1lc3NhZ2U6IHN0cmluZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgZXJyb3JDb2RlPzogc3RyaW5nXG4gICkge1xuICAgIHN1cGVyKFNlcnZpY2VFcnJvci5mb3JtYXRNZXNzYWdlKHJlc3BvbnNlLCBlcnJvck1lc3NhZ2UpKTtcblxuICAgIC8vIE1haW50YWlucyBwcm9wZXIgc3RhY2sgdHJhY2UgZm9yIHdoZXJlIG91ciBlcnJvciB3YXMgdGhyb3duIChvbmx5IGF2YWlsYWJsZSBvbiBWOClcbiAgICBpZiAoRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UpIHtcbiAgICAgIEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHRoaXMsIFNlcnZpY2VFcnJvcik7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogVGhlIHBvc3NpYmxlIHVuaXF1ZSBzaG9ydCBjb2RlcyByZXByZXNlbnRpbmcgdGhlIGVycm9yIHJldHVybmVkIGJ5IHRoZSBzZXJ2aWNlIGluIHRoZSBlcnJvciByZXNwb25zZS5cbiAqIEBzZWUgU2VydmljZUVycm9yI2Vycm9yQ29kZS5cbiAqL1xuZXhwb3J0IGNvbnN0IEVycm9yQ29kZXMgPSB7XG4gIEFscmVhZHlFeGlzdHM6ICdBTFJFQURZX0VYSVNUUycsXG4gIEJhZFJlcXVlc3Q6ICdCQURfUkVRVUVTVCcsXG4gIERlbGV0ZWQ6ICdERUxFVEVEJyxcbiAgRHVwbGljYXRlSWQ6ICdEVVBMSUNBVEVfSUQnLFxuICBJbnZhbGlkSWQ6ICdJTlZBTElEX0lEJyxcbiAgRHVwbGljYXRlTmFtZTogJ0RVUExJQ0FURV9OQU1FJyxcbiAgRXhwaXJlZFRva2VuOiAnRVhQSVJFRF9UT0tFTicsXG4gIEZvcmJpZGRlbjogJ0ZPUkJJRERFTicsXG4gIEludmFsaWRUb2tlbjogJ0lOVkFMSURfVE9LRU4nLFxuICBNZXRob2ROb3RBbGxvd2VkOiAnTUVUSE9EX05PVF9BTExPV0VEJyxcbiAgTmFtZVJlcXVpcmVkOiAnTkFNRV9SRVFVSVJFRCcsXG4gIE5vdEZvdW5kOiAnTk9UX0ZPVU5EJyxcbiAgTm90U3VwcG9ydGVkRXRhZ0Zvcm1hdDogJ0VUQUdfRk9STUFUX05PVF9TVVBQT1JURUQnLFxuICBQYXJlbnREZWxldGVkOiAnUEFSRU5UX0RFTEVURUQnLFxuICBUeXBlUmVxdWlyZWQ6ICdUWVBFX1JFUVVJUkVEJyxcbiAgVW5hdXRob3JpemVkOiAnVW5hdXRob3JpemVkJyxcbiAgVmVyc2lvbkRvZXNOb3RNYXRjaDogJ1ZFUlNJT05fRE9FU19OT1RfTUFUQ0gnLFxufTtcblxuLyoqXG4gKiBUaGUgcG9zc2libGUgdW5pcXVlIHNob3J0IGNvZGVzIHJlcHJlc2VudGluZyB0aGUgZXJyb3IgcmV0dXJuZWQgYnkgdGhlIHNlcnZpY2UgaW4gdGhlIGVycm9yIHJlc3BvbnNlLlxuICogQHNlZSBTZXJ2aWNlRXJyb3IjZXJyb3JDb2RlLlxuICovXG5leHBvcnQgY29uc3QgVENQU0Vycm9yQ29kZXMgPSB7XG4gIEV4cGlyZWRUb2tlbjogJ0FQSV9BQ0NFU1NfVE9LRU5fRVhQSVJFRCcsXG59O1xuIl19