UNPKG

4.48 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var helper_1 = require("../helper");
4var types_1 = require("../types");
5var types_2 = require("./types");
6function errorActionWrapperWithId(type, action, message) {
7 var castPayload = action.payload;
8 return helper_1.actionWrapper({
9 type: type,
10 group: types_1.Group.Error,
11 payload: {
12 action: action,
13 message: message,
14 type: type,
15 id: castPayload && castPayload.id ? castPayload.id : undefined,
16 },
17 });
18}
19var Message;
20(function (Message) {
21 Message["MISSING_PAYLOAD"] = "Missing payload";
22 Message["INVALID_PAYLOAD_ID"] = "Id in payload is missing or invalid";
23})(Message = exports.Message || (exports.Message = {}));
24function invalidPayload(action, message) {
25 return errorActionWrapperWithId(types_2.ActionType.INVALID_PAYLOAD, action, message || "The action's payload is missing required properties or has invalid properties");
26}
27exports.invalidPayload = invalidPayload;
28function invalidActionType(action, message) {
29 return helper_1.actionWrapper({
30 group: types_1.Group.Error,
31 payload: {
32 action: action,
33 message: message || 'The action type is invalid or unsupported',
34 type: types_2.ActionType.INVALID_ACTION_TYPE,
35 },
36 type: types_2.ActionType.INVALID_ACTION_TYPE,
37 });
38}
39exports.invalidActionType = invalidActionType;
40function invalidAction(action, message) {
41 return helper_1.actionWrapper({
42 group: types_1.Group.Error,
43 payload: {
44 action: action,
45 message: message || "The action's has missing/invalid values for `group`, `type` or `version`",
46 type: types_2.ActionType.INVALID_ACTION,
47 },
48 type: types_2.ActionType.INVALID_ACTION,
49 });
50}
51exports.invalidAction = invalidAction;
52function unexpectedAction(action, message) {
53 return helper_1.actionWrapper({
54 group: types_1.Group.Error,
55 payload: {
56 action: action,
57 message: message || 'Action cannot be called at this time',
58 type: types_2.ActionType.UNEXPECTED_ACTION,
59 },
60 type: types_2.ActionType.UNEXPECTED_ACTION,
61 });
62}
63exports.unexpectedAction = unexpectedAction;
64function unsupportedOperationAction(action, message) {
65 return errorActionWrapperWithId(types_2.ActionType.UNSUPPORTED_OPERATION, action, message || 'The action type is unsupported');
66}
67exports.unsupportedOperationAction = unsupportedOperationAction;
68function persistenceAction(action, message) {
69 return errorActionWrapperWithId(types_2.ActionType.PERSISTENCE, action, message || 'Action cannot be persisted on server');
70}
71exports.persistenceAction = persistenceAction;
72function networkAction(action, message) {
73 return errorActionWrapperWithId(types_2.ActionType.NETWORK, action, message || 'Network error');
74}
75exports.networkAction = networkAction;
76function permissionAction(action, message) {
77 return errorActionWrapperWithId(types_2.ActionType.PERMISSION, action, message || 'Action is not permitted');
78}
79exports.permissionAction = permissionAction;
80function isErrorEventName(eventName) {
81 var match = helper_1.findMatchInEnum(types_2.Action, eventName);
82 return typeof match === 'string';
83}
84exports.isErrorEventName = isErrorEventName;
85var AppBridgeError = /** @class */ (function () {
86 function AppBridgeError(message) {
87 this.name = 'AppBridgeError';
88 this.message = message;
89 if (typeof Error.captureStackTrace === 'function') {
90 Error.captureStackTrace(this, this.constructor);
91 }
92 else {
93 this.stack = new Error(this.message).stack;
94 }
95 }
96 return AppBridgeError;
97}());
98exports.AppBridgeError = AppBridgeError;
99AppBridgeError.prototype = Object.create(Error.prototype);
100function fromAction(message, type, action) {
101 var errorMessage = message ? type + ": " + message : type;
102 var error = new AppBridgeError(errorMessage);
103 error.action = action;
104 error.type = type;
105 return error;
106}
107exports.fromAction = fromAction;
108function throwError() {
109 var type = arguments[0];
110 var message;
111 var action;
112 if (typeof arguments[1] === 'string') {
113 message = arguments[1];
114 }
115 else {
116 action = arguments[1];
117 message = arguments[2] || '';
118 }
119 throw fromAction(message, type, action);
120}
121exports.throwError = throwError;