@embrace-io/web-sdk
Version:
1 lines • 1.13 kB
Source Map (JSON)
{"version":3,"file":"getIncrementedCount.cjs","names":[],"sources":["../../src/utils/getIncrementedCount.ts"],"sourcesContent":["import type { DiagLogger } from '@opentelemetry/api';\nimport type { NamespacedStorage } from './NamespacedStorage/index.ts';\n\n// Increments and returns a global counter shared across all tabs\n// Race conditions are possible but acceptable for diagnostic use-cases\nexport const getIncrementedCount = (\n storage: NamespacedStorage,\n key: string,\n diag: DiagLogger,\n): number => {\n const value = storage.getItem(key);\n let number = value ? parseInt(value, 10) : 0;\n if (Number.isNaN(number)) {\n diag.warn(\n `Non-numeric value stored at ${key} (${String(value)}); resetting counter.`,\n );\n number = 0;\n }\n number++;\n storage.setItem(key, number.toString());\n return number;\n};\n"],"mappings":";;AAKA,MAAa,uBACX,SACA,KACA,SACW;CACX,MAAM,QAAQ,QAAQ,QAAQ,GAAG;CACjC,IAAI,SAAS,QAAQ,SAAS,OAAO,EAAE,IAAI;CAC3C,IAAI,OAAO,MAAM,MAAM,GAAG;EACxB,KAAK,KACH,+BAA+B,IAAI,IAAI,OAAO,KAAK,EAAE,sBACvD;EACA,SAAS;CACX;CACA;CACA,QAAQ,QAAQ,KAAK,OAAO,SAAS,CAAC;CACtC,OAAO;AACT"}