UNPKG

@kontent-ai/model-generator

Version:

This utility generates strongly-typed models for Delivery JS SDK, Migration toolkit or just general scripting to improve the experience when referencing Kontent.ai related objects.

55 lines 1.88 kB
import { SharedModels } from "@kontent-ai/management-sdk"; import chalk from "chalk"; import { P, match } from "ts-pattern"; export function logError(error) { const errorData = extractErrorData(error); if (errorData.isUnknownError) { console.error(error); } if (errorData.requestData) { console.log(`${chalk.red("Request data")}: ${errorData.requestData}`); } if (errorData.requestUrl) { console.log(`${chalk.red("Request url")}: ${errorData.requestUrl}`); } console.error(`${chalk.red("Error:")} ${errorData.message}`); } export function extractErrorData(error) { return match(error) .returnType() .with(P.instanceOf(SharedModels.ContentManagementBaseKontentError), (error) => { const originalError = error.originalError; const validationErrorMessage = error.validationErrors.length ? `: ${error.validationErrors.map((m) => m.message).join(", ")}` : ""; return { message: `${error.message}${validationErrorMessage}`, requestData: originalError?.response?.config?.data, requestUrl: originalError?.response?.config?.url, error: error, isUnknownError: false, isMapiError: true, }; }) .with(P.instanceOf(Error), (error) => { return { message: error.message, requestData: undefined, requestUrl: undefined, error: error, isUnknownError: true, isMapiError: false, }; }) .otherwise(() => { return { message: "Unknown error", requestData: undefined, requestUrl: undefined, error: error, isUnknownError: true, isMapiError: false, }; }); } //# sourceMappingURL=error.utils.js.map