UNPKG

@iotize/tap

Version:

IoTize Device client for Javascript

67 lines 6.97 kB
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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