{"version":3,"file":"breadcrumbs.js","sources":["../../src/breadcrumbs.ts"],"sourcesContent":["import { getClient, getIsolationScope } from './currentScopes';\nimport type { Breadcrumb, BreadcrumbHint } from './types/breadcrumb';\nimport { consoleSandbox } from './utils/debug-logger';\nimport { dateTimestampInSeconds } from './utils/time';\n\n/**\n * Default maximum number of breadcrumbs added to an event. Can be overwritten\n * with {@link Options.maxBreadcrumbs}.\n */\nconst DEFAULT_BREADCRUMBS = 100;\n\n/**\n * Records a new breadcrumb which will be attached to future events.\n *\n * Breadcrumbs will be added to subsequent events to provide more context on\n * user's actions prior to an error or crash.\n */\nexport function addBreadcrumb(breadcrumb: Breadcrumb, hint?: BreadcrumbHint): void {\n const client = getClient();\n const isolationScope = getIsolationScope();\n\n if (!client) return;\n\n const { beforeBreadcrumb = null, maxBreadcrumbs = DEFAULT_BREADCRUMBS } = client.getOptions();\n\n if (maxBreadcrumbs <= 0) return;\n\n const timestamp = dateTimestampInSeconds();\n const mergedBreadcrumb = { timestamp, ...breadcrumb };\n const finalBreadcrumb = beforeBreadcrumb\n ? consoleSandbox(() => beforeBreadcrumb(mergedBreadcrumb, hint))\n : mergedBreadcrumb;\n\n if (finalBreadcrumb === null) return;\n\n if (client.emit) {\n client.emit('beforeAddBreadcrumb', finalBreadcrumb, hint);\n }\n\n isolationScope.addBreadcrumb(finalBreadcrumb, maxBreadcrumbs);\n}\n"],"names":["getClient","getIsolationScope","dateTimestampInSeconds","consoleSandbox"],"mappings":";;;;;;AASA,MAAM,mBAAA,GAAsB,GAAA;AAQrB,SAAS,aAAA,CAAc,YAAwB,IAAA,EAA6B;AACjF,EAAA,MAAM,SAASA,uBAAA,EAAU;AACzB,EAAA,MAAM,iBAAiBC,+BAAA,EAAkB;AAEzC,EAAA,IAAI,CAAC,MAAA,EAAQ;AAEb,EAAA,MAAM,EAAE,gBAAA,GAAmB,IAAA,EAAM,iBAAiB,mBAAA,EAAoB,GAAI,OAAO,UAAA,EAAW;AAE5F,EAAA,IAAI,kBAAkB,CAAA,EAAG;AAEzB,EAAA,MAAM,YAAYC,2BAAA,EAAuB;AACzC,EAAA,MAAM,gBAAA,GAAmB,EAAE,SAAA,EAAW,GAAG,UAAA,EAAW;AACpD,EAAA,MAAM,eAAA,GAAkB,mBACpBC,0BAAA,CAAe,MAAM,iBAAiB,gBAAA,EAAkB,IAAI,CAAC,CAAA,GAC7D,gBAAA;AAEJ,EAAA,IAAI,oBAAoB,IAAA,EAAM;AAE9B,EAAA,IAAI,OAAO,IAAA,EAAM;AACf,IAAA,MAAA,CAAO,IAAA,CAAK,qBAAA,EAAuB,eAAA,EAAiB,IAAI,CAAA;AAAA,EAC1D;AAEA,EAAA,cAAA,CAAe,aAAA,CAAc,iBAAiB,cAAc,CAAA;AAC9D;;;;"}