Files
klz-cables.com/.pnpm-store/v10/files/a6/b80e0541b5eea2883c5d4ae4be24bfcb813ffbd608feeaab0dbbf6b7dc2a57acbb93a084b0e85d1a320a56c0859426d87cdf16d3f40271a5ca24fb4e558ea6
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

1 line
7.3 KiB
Plaintext

{"version":3,"file":"aggregate-errors.js","sources":["../../../src/utils/aggregate-errors.ts"],"sourcesContent":["import type { ExtendedError } from '../types-hoist/error';\nimport type { Event, EventHint } from '../types-hoist/event';\nimport type { Exception } from '../types-hoist/exception';\nimport type { StackParser } from '../types-hoist/stacktrace';\nimport { isInstanceOf } from './is';\n\n/**\n * Creates exceptions inside `event.exception.values` for errors that are nested on properties based on the `key` parameter.\n */\nexport function applyAggregateErrorsToEvent(\n exceptionFromErrorImplementation: (stackParser: StackParser, ex: Error) => Exception,\n parser: StackParser,\n key: string,\n limit: number,\n event: Event,\n hint?: EventHint,\n): void {\n if (!event.exception?.values || !hint || !isInstanceOf(hint.originalException, Error)) {\n return;\n }\n\n // Generally speaking the last item in `event.exception.values` is the exception originating from the original Error\n const originalException: Exception | undefined =\n event.exception.values.length > 0 ? event.exception.values[event.exception.values.length - 1] : undefined;\n\n // We only create exception grouping if there is an exception in the event.\n if (originalException) {\n event.exception.values = aggregateExceptionsFromError(\n exceptionFromErrorImplementation,\n parser,\n limit,\n hint.originalException as ExtendedError,\n key,\n event.exception.values,\n originalException,\n 0,\n );\n }\n}\n\nfunction aggregateExceptionsFromError(\n exceptionFromErrorImplementation: (stackParser: StackParser, ex: Error) => Exception,\n parser: StackParser,\n limit: number,\n error: ExtendedError,\n key: string,\n prevExceptions: Exception[],\n exception: Exception,\n exceptionId: number,\n): Exception[] {\n if (prevExceptions.length >= limit + 1) {\n return prevExceptions;\n }\n\n let newExceptions = [...prevExceptions];\n\n // Recursively call this function in order to walk down a chain of errors\n if (isInstanceOf(error[key], Error)) {\n applyExceptionGroupFieldsForParentException(exception, exceptionId, error);\n const newException = exceptionFromErrorImplementation(parser, error[key] as Error);\n const newExceptionId = newExceptions.length;\n applyExceptionGroupFieldsForChildException(newException, key, newExceptionId, exceptionId);\n newExceptions = aggregateExceptionsFromError(\n exceptionFromErrorImplementation,\n parser,\n limit,\n error[key] as ExtendedError,\n key,\n [newException, ...newExceptions],\n newException,\n newExceptionId,\n );\n }\n\n // This will create exception grouping for AggregateErrors\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AggregateError\n if (isExceptionGroup(error)) {\n error.errors.forEach((childError, i) => {\n if (isInstanceOf(childError, Error)) {\n applyExceptionGroupFieldsForParentException(exception, exceptionId, error);\n const newException = exceptionFromErrorImplementation(parser, childError as Error);\n const newExceptionId = newExceptions.length;\n applyExceptionGroupFieldsForChildException(newException, `errors[${i}]`, newExceptionId, exceptionId);\n newExceptions = aggregateExceptionsFromError(\n exceptionFromErrorImplementation,\n parser,\n limit,\n childError as ExtendedError,\n key,\n [newException, ...newExceptions],\n newException,\n newExceptionId,\n );\n }\n });\n }\n\n return newExceptions;\n}\n\nfunction isExceptionGroup(error: ExtendedError): error is ExtendedError & { errors: unknown[] } {\n return Array.isArray(error.errors);\n}\n\nfunction applyExceptionGroupFieldsForParentException(\n exception: Exception,\n exceptionId: number,\n error: ExtendedError,\n): void {\n exception.mechanism = {\n handled: true,\n type: 'auto.core.linked_errors',\n ...(isExceptionGroup(error) && { is_exception_group: true }),\n ...exception.mechanism,\n exception_id: exceptionId,\n };\n}\n\nfunction applyExceptionGroupFieldsForChildException(\n exception: Exception,\n source: string,\n exceptionId: number,\n parentId: number | undefined,\n): void {\n exception.mechanism = {\n handled: true,\n ...exception.mechanism,\n type: 'chained',\n source,\n exception_id: exceptionId,\n parent_id: parentId,\n };\n}\n"],"names":["isInstanceOf"],"mappings":"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"}