react-intlayer
Version:
Easily internationalize i18n your React applications with type-safe multilingual content management.
32 lines • 661 B
JavaScript
const createSuspender = (promise) => {
let status = "pending";
let result;
const suspender = promise.then(
(r) => {
status = "success";
result = r;
},
(e) => {
status = "error";
result = e;
}
);
return {
read() {
if (status === "pending") throw suspender;
if (status === "error") throw result;
return result;
}
};
};
const cache = /* @__PURE__ */ new Map();
const useLoadDynamic = (key, promise) => {
if (!cache.has(key)) {
cache.set(key, createSuspender(promise));
}
return cache.get(key).read();
};
export {
useLoadDynamic
};
//# sourceMappingURL=useLoadDynamic.mjs.map