ts-logs
Version:
This package provide a skd for audit and manager logs in nodejs and express
50 lines • 2.01 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.StepPropsFromAxiosError = void 0;
const body_to_json_util_1 = require("./body-to-json.util");
const delete_object_key_util_1 = require("./delete-object-key.util");
const extract_body_util_1 = require("./extract-body.util");
const get_tags_from_body_util_1 = require("./get-tags-from-body.util");
/**
* @description Create an instance of Step with axios error data.
* @param error instance of Error.
* @param rmKeys array of string as key to remove from data.
* @returns instance of Step.
*/
const StepPropsFromAxiosError = (error, rmKeys = []) => {
const hasResponse = !!error?.response?.data;
const resData = hasResponse ? error?.response?.data : {};
const name = error.name;
const headId = error?.config?.headers?.['uid'] ?? error?.config?.headers?.['id'];
const uid = error?.config?.data?.['id'] ?? headId;
const body = (0, body_to_json_util_1.default)(error) ?? (0, extract_body_util_1.default)(error?.config?.data);
const reqData = (0, delete_object_key_util_1.default)(body, rmKeys);
const stack = error.stack ?? 'none';
const message = error.message;
const statusCode = error?.response?.status ? error.response.status : 500;
const method = (error?.config?.method ?? 'NONE').toUpperCase();
const url = error?.config?.url ?? 'none';
const tags = (0, get_tags_from_body_util_1.default)(reqData);
const data = { "requestData": reqData, "responseData": resData };
const type = 'fatal';
const createdAt = new Date();
const props = {
data,
stack,
message,
statusCode,
method,
name,
uid,
tags,
type,
url,
createdAt,
additionalInfo: null,
category: 'catch'
};
return props;
};
exports.StepPropsFromAxiosError = StepPropsFromAxiosError;
exports.default = exports.StepPropsFromAxiosError;
//# sourceMappingURL=step-from-axios-error.util.js.map