@atlaskit/profilecard
Version:
A React component to display a card with user information.
34 lines • 1.5 kB
JavaScript
import { handleAGGErrors } from '../client/errorUtils';
import TeamProfileCardClient from '../client/TeamProfileCardClient';
export default function getMockTeamClient(data) {
return class MockTeamClient extends TeamProfileCardClient {
makeRequest(teamId) {
var _data$error, _data$error2, _data$error3, _data$error4, _data$error5;
const errorResponse = {
reason: (_data$error = data.error) === null || _data$error === void 0 ? void 0 : _data$error.reason,
code: (_data$error2 = data.error) === null || _data$error2 === void 0 ? void 0 : _data$error2.code,
source: (_data$error3 = data.error) === null || _data$error3 === void 0 ? void 0 : _data$error3.source,
message: (_data$error4 = data.error) === null || _data$error4 === void 0 ? void 0 : _data$error4.message,
traceId: (_data$error5 = data.error) === null || _data$error5 === void 0 ? void 0 : _data$error5.traceId
};
if (!data.timeout) {
if (data.error && Math.random() < data.errorRate) {
try {
handleAGGErrors(data.error, data.traceId);
} catch (e) {
return Promise.reject(e);
}
}
return Promise.resolve(data.team);
}
return new Promise((resolve, reject) => {
setTimeout(() => {
if (data.error && Math.random() < data.errorRate) {
reject(errorResponse);
}
return resolve(data.team);
}, data.timeout);
});
}
};
}