getUserKnownData.tsx 999 B

123456789101112131415161718192021222324252627282930313233
  1. import {getMeta} from 'app/components/events/meta/metaProxy';
  2. import {AvatarUser as UserType, KeyValueListData} from 'app/types';
  3. import {defined} from 'app/utils';
  4. import getUserKnownDataDetails from './getUserKnownDataDetails';
  5. import {UserKnownDataType} from './types';
  6. function getUserKnownData(
  7. data: UserType,
  8. userKnownDataValues: Array<UserKnownDataType>
  9. ): KeyValueListData {
  10. const knownData: KeyValueListData = [];
  11. const dataKeys = userKnownDataValues.filter(userKnownDataValue =>
  12. defined(data[userKnownDataValue])
  13. );
  14. for (const key of dataKeys) {
  15. const knownDataDetails = getUserKnownDataDetails(data, key as UserKnownDataType);
  16. if ((knownDataDetails && !defined(knownDataDetails.value)) || !knownDataDetails) {
  17. continue;
  18. }
  19. knownData.push({
  20. key,
  21. ...knownDataDetails,
  22. meta: getMeta(data, key),
  23. subjectDataTestId: `user-context-${key.toLowerCase()}-value`,
  24. });
  25. }
  26. return knownData;
  27. }
  28. export default getUserKnownData;