@tmagic/utils 1.0.0-beta.1 → 1.0.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5695,22 +5695,22 @@
5695
5695
  };
5696
5696
  const asyncLoadJs = (() => {
5697
5697
  const documentMap = /* @__PURE__ */ new Map();
5698
- return (url, crossOrigin, document2 = globalThis.document) => {
5699
- let loaded = documentMap.get(document2);
5698
+ return (url, crossOrigin, document = globalThis.document) => {
5699
+ let loaded = documentMap.get(document);
5700
5700
  if (!loaded) {
5701
5701
  loaded = /* @__PURE__ */ new Map();
5702
- documentMap.set(document2, loaded);
5702
+ documentMap.set(document, loaded);
5703
5703
  }
5704
5704
  if (loaded.get(url))
5705
5705
  return loaded.get(url);
5706
5706
  const load = new Promise((resolve, reject) => {
5707
- const script = document2.createElement("script");
5707
+ const script = document.createElement("script");
5708
5708
  script.type = "text/javascript";
5709
5709
  if (crossOrigin) {
5710
5710
  script.crossOrigin = crossOrigin;
5711
5711
  }
5712
5712
  script.src = url;
5713
- document2.body.appendChild(script);
5713
+ document.body.appendChild(script);
5714
5714
  script.onload = () => {
5715
5715
  resolve();
5716
5716
  };
@@ -5728,21 +5728,38 @@
5728
5728
  return loaded.get(url);
5729
5729
  };
5730
5730
  })();
5731
- const asyncLoadCss = function(url) {
5732
- return new Promise((resolve, reject) => {
5733
- const hasLoaded = globalThis.document.querySelector(`link[href="${url}"]`);
5734
- if (hasLoaded) {
5735
- resolve(void 0);
5736
- return;
5737
- }
5738
- const node = document.createElement("link");
5739
- node.rel = "stylesheet";
5740
- node.href = url;
5741
- document.getElementsByTagName("head")[0].appendChild(node);
5742
- node.onload = resolve;
5743
- node.onerror = reject;
5744
- });
5745
- };
5731
+ const asyncLoadCss = (() => {
5732
+ const documentMap = /* @__PURE__ */ new Map();
5733
+ return (url, document = globalThis.document) => {
5734
+ let loaded = documentMap.get(document);
5735
+ if (!loaded) {
5736
+ loaded = /* @__PURE__ */ new Map();
5737
+ documentMap.set(document, loaded);
5738
+ }
5739
+ if (loaded.get(url))
5740
+ return loaded.get(url);
5741
+ const load = new Promise((resolve, reject) => {
5742
+ const node = document.createElement("link");
5743
+ node.rel = "stylesheet";
5744
+ node.href = url;
5745
+ document.head.appendChild(node);
5746
+ node.onload = () => {
5747
+ resolve();
5748
+ };
5749
+ node.onerror = () => {
5750
+ reject(new Error("\u52A0\u8F7D\u5931\u8D25"));
5751
+ };
5752
+ setTimeout(() => {
5753
+ reject(new Error("timeout"));
5754
+ }, 60 * 1e3);
5755
+ }).catch((err) => {
5756
+ loaded.delete(url);
5757
+ throw err;
5758
+ });
5759
+ loaded.set(url, load);
5760
+ return loaded.get(url);
5761
+ };
5762
+ })();
5746
5763
  const toLine = (name = "") => name.replace(/\B([A-Z])/g, "-$1").toLowerCase();
5747
5764
  const toHump = (name = "") => name.replace(/-(\w)/g, (all, letter) => letter.toUpperCase());
5748
5765
  const emptyFn = () => void 0;
@@ -5786,7 +5803,7 @@
5786
5803
  }
5787
5804
  return "";
5788
5805
  };
5789
- const isPop = (node) => node.type.toLowerCase().endsWith("pop");
5806
+ const isPop = (node) => Boolean(node.type?.toLowerCase().endsWith("pop"));
5790
5807
 
5791
5808
  exports.asyncLoadCss = asyncLoadCss;
5792
5809
  exports.asyncLoadJs = asyncLoadJs;