2021-02-18 13:10:41 -05:00
|
|
|
import * as Sentry from '@sentry/browser';
|
2020-09-23 02:09:45 -04:00
|
|
|
import { sanitize } from '~/lib/dompurify';
|
2019-04-04 20:15:56 -04:00
|
|
|
|
2020-09-14 08:09:34 -04:00
|
|
|
// We currently load + parse the data from the issue app and related merge request
|
|
|
|
let cachedParsedData;
|
|
|
|
|
2020-12-23 19:10:25 -05:00
|
|
|
export const parseIssuableData = (el) => {
|
2019-04-04 20:15:56 -04:00
|
|
|
try {
|
2020-09-14 08:09:34 -04:00
|
|
|
if (cachedParsedData) return cachedParsedData;
|
|
|
|
|
2020-12-08 16:10:06 -05:00
|
|
|
const parsedData = JSON.parse(el.dataset.initial);
|
2020-09-02 14:10:40 -04:00
|
|
|
parsedData.initialTitleHtml = sanitize(parsedData.initialTitleHtml);
|
|
|
|
parsedData.initialDescriptionHtml = sanitize(parsedData.initialDescriptionHtml);
|
|
|
|
|
2020-09-14 08:09:34 -04:00
|
|
|
cachedParsedData = parsedData;
|
|
|
|
|
2020-09-02 14:10:40 -04:00
|
|
|
return parsedData;
|
2019-04-04 20:15:56 -04:00
|
|
|
} catch (e) {
|
2020-09-25 02:09:42 -04:00
|
|
|
Sentry.captureException(e);
|
2019-04-04 20:15:56 -04:00
|
|
|
|
|
|
|
return {};
|
|
|
|
}
|
|
|
|
};
|