{"version":3,"file":"segment.cjs","sourceRoot":"","sources":["../../../src/backup-and-sync/analytics/segment.ts"],"names":[],"mappings":";;;AAEa,QAAA,2BAA2B,GAAG;IACzC,aAAa,EAAE,gBAAgB;IAC/B,UAAU,EAAE,aAAa;IACzB,YAAY,EAAE,eAAe;IAC7B,wBAAwB,EAAE,6BAA6B;IACvD,wBAAwB,EAAE,6BAA6B;IACvD,iBAAiB,EAAE,qBAAqB;IACxC,2BAA2B,EAAE,iCAAiC;IAC9D,kBAAkB,EAAE,sBAAsB;CAClC,CAAC;AAEX,MAAM,kCAAkC,GAAG,4BAA4B,CAAC;AAkBxE;;;;;;;;;GASG;AACI,MAAM,oBAAoB,GAAG,CAAC,EACnC,MAAM,EACN,SAAS,EACT,qBAAqB,GACiB,EAAsC,EAAE;IAC9E,OAAO;QACL,YAAY,EAAE,kCAAkC;QAChD,MAAM;QACN,UAAU,EAAE,SAAS;QACrB,GAAG,CAAC,qBAAqB,KAAK,SAAS;YACrC,CAAC,CAAC;gBACE,sBAAsB,EAAE,qBAAqB;aAC9C;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,oBAAoB,wBAe/B","sourcesContent":["import type { ProfileId } from '../authentication';\n\nexport const BackupAndSyncAnalyticsEvent = {\n  WalletRenamed: 'wallet_renamed',\n  GroupAdded: 'group_added',\n  GroupRenamed: 'group_renamed',\n  GroupHiddenStatusChanged: 'group_hidden_status_changed',\n  GroupPinnedStatusChanged: 'group_pinned_status_changed',\n  LegacySyncingDone: 'legacy_syncing_done',\n  LegacyGroupAddedFromAccount: 'legacy_group_added_from_account',\n  LegacyGroupRenamed: 'legacy_group_renamed',\n} as const;\n\nconst BACKUP_AND_SYNC_EVENT_FEATURE_NAME = 'Multichain Account Syncing';\n\nexport type BackupAndSyncAnalyticsAction =\n  (typeof BackupAndSyncAnalyticsEvent)[keyof typeof BackupAndSyncAnalyticsEvent];\n\nexport type BackupAndSyncEmitAnalyticsEventParams = {\n  action: BackupAndSyncAnalyticsAction;\n  profileId: ProfileId;\n  additionalDescription?: string;\n};\n\nexport type BackupAndSyncAnalyticsEventPayload = {\n  feature_name: typeof BACKUP_AND_SYNC_EVENT_FEATURE_NAME;\n  action: BackupAndSyncAnalyticsAction;\n  profile_id: ProfileId;\n  additional_description?: string;\n};\n\n/**\n * Formats the analytics event payload to match the segment schema.\n *\n * @param params - The parameters for the analytics event.\n * @param params.action - The action being performed.\n * @param params.profileId - The profile ID associated with the event.\n * @param params.additionalDescription - Optional additional description for the event.\n *\n * @returns The formatted event payload.\n */\nexport const formatAnalyticsEvent = ({\n  action,\n  profileId,\n  additionalDescription,\n}: BackupAndSyncEmitAnalyticsEventParams): BackupAndSyncAnalyticsEventPayload => {\n  return {\n    feature_name: BACKUP_AND_SYNC_EVENT_FEATURE_NAME,\n    action,\n    profile_id: profileId,\n    ...(additionalDescription !== undefined\n      ? {\n          additional_description: additionalDescription,\n        }\n      : {}),\n  };\n};\n"]}