@equinor/fusion-react-power-bi
Version:
React component for displaying an person information
20 lines • 1.15 kB
JavaScript
import { merge } from 'rxjs';
import { filter, map } from 'rxjs/operators';
import { isActionOf } from 'typesafe-actions';
import { actions } from '../store';
import { TelemetryActions } from '@equinor/fusion';
const requests = (action$) => action$.pipe(filter(isActionOf([actions.fetchAccessToken.request, actions.fetchEmbedInfo.request, actions.checkContextAccess.request])), map(({ type, payload }) => TelemetryActions.event({
name: 'action.request',
properties: { action: type, payload },
})));
const failures = (action$) => action$.pipe(filter((action) => !!action.type.match(/FAILURE/)), map(({ type, payload }) => {
const { statusCode, url } = payload.error;
return TelemetryActions.error({
name: 'action.error',
properties: { error: { action: type, statusCode, url } },
});
}));
const tokenRefresh = (action$) => action$.pipe(filter(isActionOf(actions.refreshAccessToken)), map(() => TelemetryActions.event({ name: 'token.refresh' })));
export const trackers = (action$) => merge(requests(action$), failures(action$), tokenRefresh(action$));
export default trackers;
//# sourceMappingURL=track-actions.js.map