@shoelace-style/shoelace
Version:
A forward-thinking library of web components.
24 lines (22 loc) • 571 B
JavaScript
// src/components/include/request.ts
var includeFiles = /* @__PURE__ */ new Map();
function requestInclude(src, mode = "cors") {
const prev = includeFiles.get(src);
if (prev !== void 0) {
return Promise.resolve(prev);
}
const fileDataPromise = fetch(src, { mode }).then(async (response) => {
const res = {
ok: response.ok,
status: response.status,
html: await response.text()
};
includeFiles.set(src, res);
return res;
});
includeFiles.set(src, fileDataPromise);
return fileDataPromise;
}
export {
requestInclude
};