JSTQL-JS-Transform/output_testing/327fileFetcher.js

38 lines
No EOL
1 KiB
JavaScript

/* global chrome */
function fetchResource(url) {
const reject = value => {
({
source: 'react-devtools-fetch-resource-content-script',
payload: {
type: 'fetch-file-with-cache-error',
url,
value
}
}) |> chrome.runtime.sendMessage(%);
};
const resolve = value => {
({
source: 'react-devtools-fetch-resource-content-script',
payload: {
type: 'fetch-file-with-cache-complete',
url,
value
}
}) |> chrome.runtime.sendMessage(%);
};
(response => {
if (response.ok) {
(error => null |> reject(%)) |> ((text => text |> resolve(%)) |> response.text().then(%)).catch(%);
} else {
null |> reject(%);
}
}) |> (url |> fetch(%, {
cache: 'force-cache'
})).then(%, error => null |> reject(%));
}
(message => {
if (message?.source === 'devtools-page' && message?.payload?.type === 'fetch-file-with-cache') {
message.payload.url |> fetchResource(%);
}
}) |> chrome.runtime.onMessage.addListener(%);