Next.js website for Rocky Mountain Vending company featuring: - Product catalog with Stripe integration - Service areas and parts pages - Admin dashboard with Clerk authentication - SEO optimized pages with JSON-LD structured data Co-authored-by: Cursor <cursoragent@cursor.com>
45 lines
1.4 KiB
Text
45 lines
1.4 KiB
Text
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
|
const currentScopes = require('./currentScopes.js');
|
|
const debugLogger = require('./utils/debug-logger.js');
|
|
const time = require('./utils/time.js');
|
|
|
|
/**
|
|
* Default maximum number of breadcrumbs added to an event. Can be overwritten
|
|
* with {@link Options.maxBreadcrumbs}.
|
|
*/
|
|
const DEFAULT_BREADCRUMBS = 100;
|
|
|
|
/**
|
|
* Records a new breadcrumb which will be attached to future events.
|
|
*
|
|
* Breadcrumbs will be added to subsequent events to provide more context on
|
|
* user's actions prior to an error or crash.
|
|
*/
|
|
function addBreadcrumb(breadcrumb, hint) {
|
|
const client = currentScopes.getClient();
|
|
const isolationScope = currentScopes.getIsolationScope();
|
|
|
|
if (!client) return;
|
|
|
|
const { beforeBreadcrumb = null, maxBreadcrumbs = DEFAULT_BREADCRUMBS } = client.getOptions();
|
|
|
|
if (maxBreadcrumbs <= 0) return;
|
|
|
|
const timestamp = time.dateTimestampInSeconds();
|
|
const mergedBreadcrumb = { timestamp, ...breadcrumb };
|
|
const finalBreadcrumb = beforeBreadcrumb
|
|
? (debugLogger.consoleSandbox(() => beforeBreadcrumb(mergedBreadcrumb, hint)) )
|
|
: mergedBreadcrumb;
|
|
|
|
if (finalBreadcrumb === null) return;
|
|
|
|
if (client.emit) {
|
|
client.emit('beforeAddBreadcrumb', finalBreadcrumb, hint);
|
|
}
|
|
|
|
isolationScope.addBreadcrumb(finalBreadcrumb, maxBreadcrumbs);
|
|
}
|
|
|
|
exports.addBreadcrumb = addBreadcrumb;
|
|
//# sourceMappingURL=breadcrumbs.js.map
|