@data-client/core
Version:
Async State Management without the Management. REST, GraphQL, SSE, Websockets, Fetch
19 lines • 2.32 kB
JavaScript
export async function collapseFixture(fixture, args, interceptorData) {
let error = 'error' in fixture ? fixture.error : false;
let response = fixture.response;
if (typeof fixture.response === 'function') {
try {
response = await fixture.response.apply(interceptorData, args);
// dispatch goes through user-code that can sometimes fail.
// let's ensure we always handle errors
} catch (e) {
response = e;
error = true;
}
}
return {
response,
error
};
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb2xsYXBzZUZpeHR1cmUiLCJmaXh0dXJlIiwiYXJncyIsImludGVyY2VwdG9yRGF0YSIsImVycm9yIiwicmVzcG9uc2UiLCJhcHBseSIsImUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9jay9jb2xsYXBzZUZpeHR1cmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGaXh0dXJlLCBSZXNwb25zZUludGVyY2VwdG9yIH0gZnJvbSAnLi9maXh0dXJlVHlwZXMuanMnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29sbGFwc2VGaXh0dXJlKFxuICBmaXh0dXJlOiBGaXh0dXJlIHwgUmVzcG9uc2VJbnRlcmNlcHRvcixcbiAgYXJnczogYW55W10sXG4gIGludGVyY2VwdG9yRGF0YTogYW55LFxuKSB7XG4gIGxldCBlcnJvciA9ICdlcnJvcicgaW4gZml4dHVyZSA/IGZpeHR1cmUuZXJyb3IgOiBmYWxzZTtcbiAgbGV0IHJlc3BvbnNlID0gZml4dHVyZS5yZXNwb25zZTtcbiAgaWYgKHR5cGVvZiBmaXh0dXJlLnJlc3BvbnNlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJlc3BvbnNlID0gYXdhaXQgZml4dHVyZS5yZXNwb25zZS5hcHBseShpbnRlcmNlcHRvckRhdGEsIGFyZ3MpO1xuICAgICAgLy8gZGlzcGF0Y2ggZ29lcyB0aHJvdWdoIHVzZXItY29kZSB0aGF0IGNhbiBzb21ldGltZXMgZmFpbC5cbiAgICAgIC8vIGxldCdzIGVuc3VyZSB3ZSBhbHdheXMgaGFuZGxlIGVycm9yc1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgcmVzcG9uc2UgPSBlO1xuICAgICAgZXJyb3IgPSB0cnVlO1xuICAgIH1cbiAgfVxuICByZXR1cm4geyByZXNwb25zZSwgZXJyb3IgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxlQUFlQSxlQUFlQSxDQUNuQ0MsT0FBc0MsRUFDdENDLElBQVcsRUFDWEMsZUFBb0IsRUFDcEI7RUFDQSxJQUFJQyxLQUFLLEdBQUcsT0FBTyxJQUFJSCxPQUFPLEdBQUdBLE9BQU8sQ0FBQ0csS0FBSyxHQUFHLEtBQUs7RUFDdEQsSUFBSUMsUUFBUSxHQUFHSixPQUFPLENBQUNJLFFBQVE7RUFDL0IsSUFBSSxPQUFPSixPQUFPLENBQUNJLFFBQVEsS0FBSyxVQUFVLEVBQUU7SUFDMUMsSUFBSTtNQUNGQSxRQUFRLEdBQUcsTUFBTUosT0FBTyxDQUFDSSxRQUFRLENBQUNDLEtBQUssQ0FBQ0gsZUFBZSxFQUFFRCxJQUFJLENBQUM7TUFDOUQ7TUFDQTtJQUNGLENBQUMsQ0FBQyxPQUFPSyxDQUFNLEVBQUU7TUFDZkYsUUFBUSxHQUFHRSxDQUFDO01BQ1pILEtBQUssR0FBRyxJQUFJO0lBQ2Q7RUFDRjtFQUNBLE9BQU87SUFBRUMsUUFBUTtJQUFFRDtFQUFNLENBQUM7QUFDNUIiLCJpZ25vcmVMaXN0IjpbXX0=