UNPKG

@dash0/sdk-web

Version:

Dash0's Web SDK to collect telemetry from end-users' web browsers

30 lines (29 loc) 1.2 kB
import { vars } from "../vars"; import { addAttribute, removeAttribute } from "../utils/otel"; import { USER_EMAIL, USER_FULL_NAME, USER_HASH, USER_ID, USER_NAME, USER_ROLES } from "../semantic-conventions"; export function identify(id, opts) { removeAttribute(vars.signalAttributes, USER_ID); if (id != null) { addAttribute(vars.signalAttributes, USER_ID, id); } removeAttribute(vars.signalAttributes, USER_NAME); if (opts?.name != null) { addAttribute(vars.signalAttributes, USER_NAME, opts.name); } removeAttribute(vars.signalAttributes, USER_FULL_NAME); if (opts?.fullName != null) { addAttribute(vars.signalAttributes, USER_FULL_NAME, opts.fullName); } removeAttribute(vars.signalAttributes, USER_EMAIL); if (opts?.email != null) { addAttribute(vars.signalAttributes, USER_EMAIL, opts.email); } removeAttribute(vars.signalAttributes, USER_HASH); if (opts?.hash != null) { addAttribute(vars.signalAttributes, USER_HASH, opts.hash); } removeAttribute(vars.signalAttributes, USER_ROLES); if (opts?.roles != null) { addAttribute(vars.signalAttributes, USER_ROLES, opts.roles); } }