Skip to content

Commit

Permalink
Update implementation based on RFC emberjs/rfcs#1065
Browse files Browse the repository at this point in the history
  • Loading branch information
NullVoxPopuli committed Jan 18, 2025
1 parent 4d1da70 commit 47726be
Showing 1 changed file with 21 additions and 5 deletions.
26 changes: 21 additions & 5 deletions src/index.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,27 @@
import { waitForPromise } from '@ember/test-waiters';

export function fetch(...args) {
let promise = globalThis.fetch(...args);
export async function wrappedFetch(...args) {
let responsePromise = fetch(...args);

waitForPromise(promise);
waitForPromise(responsePromise);

return promise;
let response = await responsePromise;

return new Proxy(response, {
get(target, prop, receiver) {
let original = Reflect.get(target, prop, receiver);

if (['json', 'text', 'arrayBuffer', 'blob', 'formData'].includes(prop)) {
return (...args) => {
let parsePromise = original(...args);

return waitForPromise(parsePromise);
}
}

return original;
}
});
}

export default fetch;
export default wrappedFetch;

0 comments on commit 47726be

Please sign in to comment.