{"version":3,"file":"apiAsync-1a5f7181.js","sources":["../../node_modules/@newrelic/browser-agent/dist/esm/loaders/api/apiAsync.js"],"sourcesContent":["/**\n * Copyright 2020-2025 New Relic, Inc. All rights reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { FEATURE_NAMES } from '../features/features';\nimport { getRuntime } from '../../common/config/runtime';\nimport { ee } from '../../common/event-emitter/contextual-ee';\nimport { handle } from '../../common/event-emitter/handle';\nimport { registerHandler } from '../../common/event-emitter/register-handler';\nimport { single } from '../../common/util/invoke';\nimport { CUSTOM_METRIC_CHANNEL } from '../../features/metrics/constants';\nimport { originTime } from '../../common/constants/runtime';\nexport function setAPI(agentIdentifier) {\n var instanceEE = ee.get(agentIdentifier);\n var api = {\n finished: single(finished),\n setErrorHandler,\n addToTrace,\n addRelease\n };\n\n // Hook all of the api functions up to the queues/stubs created in loader/api.js\n Object.entries(api).forEach(([fnName, fnCall]) => registerHandler('api-' + fnName, fnCall, 'api', instanceEE));\n\n // All API functions get passed the time they were called as their\n // first parameter. These functions can be called asynchronously.\n\n function finished(t, providedTime) {\n var time = providedTime ? providedTime - originTime : t;\n handle(CUSTOM_METRIC_CHANNEL, ['finished', {\n time\n }], undefined, FEATURE_NAMES.metrics, instanceEE);\n addToTrace(t, {\n name: 'finished',\n start: time + originTime,\n origin: 'nr'\n });\n handle('api-addPageAction', [time, 'finished'], undefined, FEATURE_NAMES.genericEvents, instanceEE);\n }\n function addToTrace(t, evt) {\n if (!(evt && typeof evt === 'object' && evt.name && evt.start)) return;\n var report = {\n n: evt.name,\n s: evt.start - originTime,\n e: (evt.end || evt.start) - originTime,\n o: evt.origin || '',\n t: 'api'\n };\n handle('bstApi', [report], undefined, FEATURE_NAMES.sessionTrace, instanceEE);\n }\n function setErrorHandler(t, handler) {\n getRuntime(agentIdentifier).onerror = handler;\n }\n var releaseCount = 0;\n function addRelease(t, name, id) {\n if (++releaseCount > 10) return;\n getRuntime(agentIdentifier).releaseIds[name.slice(-200)] = ('' + id).slice(-200);\n }\n}"],"names":["setAPI","agentIdentifier","instanceEE","ee","api","single","finished","setErrorHandler","addToTrace","addRelease","fnName","fnCall","registerHandler","t","providedTime","time","originTime","handle","CUSTOM_METRIC_CHANNEL","FEATURE_NAMES","evt","report","handler","getRuntime","releaseCount","name","id"],"mappings":"yZAYO,SAASA,EAAOC,EAAiB,CACtC,IAAIC,EAAaC,EAAG,IAAIF,CAAe,EACnCG,EAAM,CACR,SAAUC,EAAOC,CAAQ,EACzB,gBAAAC,EACA,WAAAC,EACA,WAAAC,CACJ,EAGE,OAAO,QAAQL,CAAG,EAAE,QAAQ,CAAC,CAACM,EAAQC,CAAM,IAAMC,EAAgB,OAASF,EAAQC,EAAQ,MAAOT,CAAU,CAAC,EAK7G,SAASI,EAASO,EAAGC,EAAc,CACjC,IAAIC,EAAOD,EAAeA,EAAeE,EAAaH,EACtDI,EAAOC,EAAuB,CAAC,WAAY,CACzC,KAAAH,CACD,CAAA,EAAG,OAAWI,EAAc,QAASjB,CAAU,EAChDM,EAAWK,EAAG,CACZ,KAAM,WACN,MAAOE,EAAOC,EACd,OAAQ,IACd,CAAK,EACDC,EAAO,oBAAqB,CAACF,EAAM,UAAU,EAAG,OAAWI,EAAc,cAAejB,CAAU,CACnG,CACD,SAASM,EAAWK,EAAGO,EAAK,CAC1B,GAAMA,GAAO,OAAOA,GAAQ,UAAYA,EAAI,MAAQA,EAAI,MACxD,KAAIC,EAAS,CACX,EAAGD,EAAI,KACP,EAAGA,EAAI,MAAQJ,EACf,GAAII,EAAI,KAAOA,EAAI,OAASJ,EAC5B,EAAGI,EAAI,QAAU,GACjB,EAAG,KACT,EACIH,EAAO,SAAU,CAACI,CAAM,EAAG,OAAWF,EAAc,aAAcjB,CAAU,EAC7E,CACD,SAASK,EAAgBM,EAAGS,EAAS,CACnCC,EAAWtB,CAAe,EAAE,QAAUqB,CACvC,CACD,IAAIE,EAAe,EACnB,SAASf,EAAWI,EAAGY,EAAMC,EAAI,CAC3B,EAAEF,EAAe,KACrBD,EAAWtB,CAAe,EAAE,WAAWwB,EAAK,MAAM,IAAI,CAAC,GAAK,GAAKC,GAAI,MAAM,IAAI,EAChF,CACH","x_google_ignoreList":[0]}