UNPKG

@iotize/ionic

Version:

Iotize specific building blocks on top of @ionic/angular.

48 lines 6.44 kB
import { Pipe } from '@angular/core'; import { isCodeError } from '@iotize/common/error'; import { TapError, TapResponseStatusError } from '@iotize/tap'; import { ResultCode } from '@iotize/tap/client/api'; import { tapResponseStatusToString } from '@iotize/tap/client/impl'; import * as i0 from "@angular/core"; export class TapRequestErrorToStringPipe { transform(value, action = 'read') { if (!value) { return undefined; } return userFriendlyError(value, action).message; } } /** @nocollapse */ TapRequestErrorToStringPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TapRequestErrorToStringPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); /** @nocollapse */ TapRequestErrorToStringPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TapRequestErrorToStringPipe, name: "tapRequestErrorToString" }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TapRequestErrorToStringPipe, decorators: [{ type: Pipe, args: [{ name: 'tapRequestErrorToString', }] }] }); function userFriendlyError(error, action) { if (isCodeError(TapError.Code.ExecuteRequestError, error)) { error = error.cause || error; } if (isCodeError(TapResponseStatusError.Code.ResponseStatusError, error)) { const tapResponseStatusError = error; const statusCode = tapResponseStatusError.response.status; let message; switch (statusCode) { case ResultCode.UNAUTHORIZED: message = `You are not authorized to ${action} this value. Try to login first.`; break; case ResultCode.RESOURCE_LOCKED: message = `This value is ${action} protected`; break; case ResultCode.NOT_IMPLEMENTED: message = `This configuration is not available with your current firmware version or Tap model`; break; default: message = tapResponseStatusToString(statusCode); } error = new Error(message); } return error; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwLXJlcXVlc3QtZXJyb3ItdG8tc3RyaW5nLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pb3RpemUtaW9uaWMvY29uZmlnL3NyYy9saWIvdGFwLXJlcXVlc3QtZXJyb3ItdG8tc3RyaW5nLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUtwRSxNQUFNLE9BQU8sMkJBQTJCO0lBQ3RDLFNBQVMsQ0FDUCxLQUFZLEVBQ1osU0FBMkIsTUFBTTtRQUVqQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxPQUFPLGlCQUFpQixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDbEQsQ0FBQzs7NElBVFUsMkJBQTJCOzBJQUEzQiwyQkFBMkI7NEZBQTNCLDJCQUEyQjtrQkFIdkMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUseUJBQXlCO2lCQUNoQzs7QUFhRCxTQUFTLGlCQUFpQixDQUFDLEtBQVksRUFBRSxNQUF3QjtJQUMvRCxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxFQUFFO1FBQ3pELEtBQUssR0FBSSxLQUFrQixDQUFDLEtBQUssSUFBSSxLQUFLLENBQUM7S0FDNUM7SUFDRCxJQUFJLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLEVBQUU7UUFDdkUsTUFBTSxzQkFBc0IsR0FBRyxLQUErQixDQUFDO1FBQy9ELE1BQU0sVUFBVSxHQUFHLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDMUQsSUFBSSxPQUFlLENBQUM7UUFDcEIsUUFBUSxVQUFVLEVBQUU7WUFDbEIsS0FBSyxVQUFVLENBQUMsWUFBWTtnQkFDMUIsT0FBTyxHQUFHLDZCQUE2QixNQUFNLGtDQUFrQyxDQUFDO2dCQUNoRixNQUFNO1lBQ1IsS0FBSyxVQUFVLENBQUMsZUFBZTtnQkFDN0IsT0FBTyxHQUFHLGlCQUFpQixNQUFNLFlBQVksQ0FBQztnQkFDOUMsTUFBTTtZQUNSLEtBQUssVUFBVSxDQUFDLGVBQWU7Z0JBQzdCLE9BQU8sR0FBRyxxRkFBcUYsQ0FBQztnQkFDaEcsTUFBTTtZQUNSO2dCQUNFLE9BQU8sR0FBRyx5QkFBeUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNuRDtRQUNELEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUM1QjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzQ29kZUVycm9yIH0gZnJvbSAnQGlvdGl6ZS9jb21tb24vZXJyb3InO1xuaW1wb3J0IHsgVGFwRXJyb3IsIFRhcFJlc3BvbnNlU3RhdHVzRXJyb3IgfSBmcm9tICdAaW90aXplL3RhcCc7XG5pbXBvcnQgeyBSZXN1bHRDb2RlIH0gZnJvbSAnQGlvdGl6ZS90YXAvY2xpZW50L2FwaSc7XG5pbXBvcnQgeyB0YXBSZXNwb25zZVN0YXR1c1RvU3RyaW5nIH0gZnJvbSAnQGlvdGl6ZS90YXAvY2xpZW50L2ltcGwnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICd0YXBSZXF1ZXN0RXJyb3JUb1N0cmluZycsXG59KVxuZXhwb3J0IGNsYXNzIFRhcFJlcXVlc3RFcnJvclRvU3RyaW5nUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oXG4gICAgdmFsdWU6IEVycm9yLFxuICAgIGFjdGlvbjogJ3JlYWQnIHwgJ3dyaXRlJyA9ICdyZWFkJ1xuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiB1c2VyRnJpZW5kbHlFcnJvcih2YWx1ZSwgYWN0aW9uKS5tZXNzYWdlO1xuICB9XG59XG5cbmZ1bmN0aW9uIHVzZXJGcmllbmRseUVycm9yKGVycm9yOiBFcnJvciwgYWN0aW9uOiAncmVhZCcgfCAnd3JpdGUnKSB7XG4gIGlmIChpc0NvZGVFcnJvcihUYXBFcnJvci5Db2RlLkV4ZWN1dGVSZXF1ZXN0RXJyb3IsIGVycm9yKSkge1xuICAgIGVycm9yID0gKGVycm9yIGFzIFRhcEVycm9yKS5jYXVzZSB8fCBlcnJvcjtcbiAgfVxuICBpZiAoaXNDb2RlRXJyb3IoVGFwUmVzcG9uc2VTdGF0dXNFcnJvci5Db2RlLlJlc3BvbnNlU3RhdHVzRXJyb3IsIGVycm9yKSkge1xuICAgIGNvbnN0IHRhcFJlc3BvbnNlU3RhdHVzRXJyb3IgPSBlcnJvciBhcyBUYXBSZXNwb25zZVN0YXR1c0Vycm9yO1xuICAgIGNvbnN0IHN0YXR1c0NvZGUgPSB0YXBSZXNwb25zZVN0YXR1c0Vycm9yLnJlc3BvbnNlLnN0YXR1cztcbiAgICBsZXQgbWVzc2FnZTogc3RyaW5nO1xuICAgIHN3aXRjaCAoc3RhdHVzQ29kZSkge1xuICAgICAgY2FzZSBSZXN1bHRDb2RlLlVOQVVUSE9SSVpFRDpcbiAgICAgICAgbWVzc2FnZSA9IGBZb3UgYXJlIG5vdCBhdXRob3JpemVkIHRvICR7YWN0aW9ufSB0aGlzIHZhbHVlLiBUcnkgdG8gbG9naW4gZmlyc3QuYDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFJlc3VsdENvZGUuUkVTT1VSQ0VfTE9DS0VEOlxuICAgICAgICBtZXNzYWdlID0gYFRoaXMgdmFsdWUgaXMgJHthY3Rpb259IHByb3RlY3RlZGA7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBSZXN1bHRDb2RlLk5PVF9JTVBMRU1FTlRFRDpcbiAgICAgICAgbWVzc2FnZSA9IGBUaGlzIGNvbmZpZ3VyYXRpb24gaXMgbm90IGF2YWlsYWJsZSB3aXRoIHlvdXIgY3VycmVudCBmaXJtd2FyZSB2ZXJzaW9uIG9yIFRhcCBtb2RlbGA7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgbWVzc2FnZSA9IHRhcFJlc3BvbnNlU3RhdHVzVG9TdHJpbmcoc3RhdHVzQ29kZSk7XG4gICAgfVxuICAgIGVycm9yID0gbmV3IEVycm9yKG1lc3NhZ2UpO1xuICB9XG4gIHJldHVybiBlcnJvcjtcbn1cbiJdfQ==