create-async-saga
Version:
Like readux-toolkit's createAsyncThunk, but for saga
23 lines (22 loc) • 819 B
JavaScript
const serializedErrorFields = ['name', 'code', 'stack', 'message'];
const setField = (field, serializedError, error) => {
const value = error[field];
if (value !== undefined && typeof value === "string") {
serializedError[field] = value;
}
};
export const toSerializedError = (error, typePrefix) => {
const serializedError = {};
serializedError.message = `Unexpected error while execution a payload genetator for ${typePrefix}`;
if (error !== null && error !== undefined) {
if (typeof error === 'object') {
serializedErrorFields.forEach(field => setField(field, serializedError, error));
}
else {
serializedError.message = String(error);
}
}
return serializedError;
};
export class ConditionError {
}