@iotize/tap
Version:
IoTize Device client for Javascript
67 lines • 6.97 kB
JavaScript
import { CodeError } from '@iotize/common/error';
import { TapRequestFrame } from '@iotize/tap/client/api';
import { TapRequestHelper, tapResponseStatusToString, } from '@iotize/tap/client/impl';
import { serviceCallToString } from './service-call-runner';
export class TapError extends CodeError {
constructor(code, message, cause) {
super(message, code);
this.cause = cause;
}
static cannotStartScram(err) {
return new TapError(TapError.Code.CannotStartScram, `Cannot start encrypted session, initialization failed. Cause: ${err.message}`, err);
}
static notImplementedYet(msg) {
throw new TapError(TapError.Code.NotImplemented, msg);
}
static initializationVectorNotSupported(err) {
return new TapError(TapError.Code.InitializationVectorNotSupported, `Initialization vector for SCRAM is not implemented with your current firmware version. You cannot use this feature.`, err);
}
static executeRequestError(request, err) {
return new TapError(TapError.Code.ExecuteRequestError, `Tap request ${TapRequestFrame.MethodType[request.method]} ${request.pathAlias || request.path} failed. ${err.message}`, err);
}
static reponseStatusError(response, call) {
return new TapResponseStatusError(response, call);
}
static invalidServiceCallConfiguration(msg) {
return new TapError(TapError.Code.InvalidServiceCallConfiguration, msg);
}
static appendChunkError(cause, chunk, progress) {
return new AppendChunkError(cause, chunk, progress);
}
static nfcPairingError(msg, cause) {
return new TapError(TapError.Code.NfcPairingError, `NFC pairing failed. ${msg}`, cause);
}
}
(function (TapError) {
let Code;
(function (Code) {
Code["CannotStartScram"] = "TapErrorCannotStartScram";
Code["NotImplemented"] = "TapErrorNotImplemented";
Code["InitializationVectorNotSupported"] = "TapErrorInitializationVectorNotSupported";
Code["AppendChunkError"] = "AppendChunkError";
Code["ResponseStatusError"] = "TapErrorTapResponseStatusError";
Code["InvalidServiceCallConfiguration"] = "TapErrorInvalidServiceCallConfiguration";
Code["ExecuteRequestError"] = "TapErrorTapExecuteRequestError";
Code["NfcPairingError"] = "TapErrorNfcPairingError";
Code["ScramNotStartedYet"] = "TapErrorScramNotStartedYet";
Code["InvalidScramKey"] = "TapErrorInvalidScramKey";
})(Code = TapError.Code || (TapError.Code = {}));
})(TapError || (TapError = {}));
export class TapResponseStatusError extends TapError {
constructor(response, call) {
super(TapError.Code.ResponseStatusError, `Tap request ${call
? `${serviceCallToString(call)} `
: response.request
? TapRequestHelper.toString(response.request) + ' '
: ''}failed. ${tapResponseStatusToString(response.status)} (status code 0x${response.status.toString(16)})`);
this.response = response;
}
}
export class AppendChunkError extends TapError {
constructor(cause, chunk, progress) {
super(TapError.Code.AppendChunkError, `Appending data chunk n°${progress.loaded}/${progress.total} failed with error: ${cause.message}`, cause);
this.chunk = chunk;
this.progress = progress;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwLWVycm9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvdGFwLWVycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIseUJBQXlCLEdBQzFCLE1BQU0seUJBQXlCLENBQUM7QUFJakMsT0FBTyxFQUFxQixtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRS9FLE1BQU0sT0FBTyxRQUFTLFNBQVEsU0FBd0I7SUFDcEQsWUFDRSxJQUFtQixFQUNuQixPQUFlLEVBQ1IsS0FBYTtRQUVwQixLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRmQsVUFBSyxHQUFMLEtBQUssQ0FBUTtJQUd0QixDQUFDO0lBRU0sTUFBTSxDQUFDLGdCQUFnQixDQUFDLEdBQVU7UUFDdkMsT0FBTyxJQUFJLFFBQVEsQ0FDakIsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFDOUIsaUVBQWlFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsRUFDOUUsR0FBRyxDQUNKLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQVc7UUFDbEMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLEdBQVU7UUFDaEQsT0FBTyxJQUFJLFFBQVEsQ0FDakIsUUFBUSxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsRUFDOUMscUhBQXFILEVBQ3JILEdBQUcsQ0FDSixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxtQkFBbUIsQ0FDeEIsT0FBOEMsRUFDOUMsR0FB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