@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.
@@ -5689,22 +5689,22 @@ const datetimeFormatter = (v, defaultValue = "-", f = "YYYY-MM-DD HH:mm:ss") =>
5689
5689
  };
5690
5690
  const asyncLoadJs = (() => {
5691
5691
  const documentMap = /* @__PURE__ */ new Map();
5692
- return (url, crossOrigin, document2 = globalThis.document) => {
5693
- let loaded = documentMap.get(document2);
5692
+ return (url, crossOrigin, document = globalThis.document) => {
5693
+ let loaded = documentMap.get(document);
5694
5694
  if (!loaded) {
5695
5695
  loaded = /* @__PURE__ */ new Map();
5696
- documentMap.set(document2, loaded);
5696
+ documentMap.set(document, loaded);
5697
5697
  }
5698
5698
  if (loaded.get(url))
5699
5699
  return loaded.get(url);
5700
5700
  const load = new Promise((resolve, reject) => {
5701
- const script = document2.createElement("script");
5701
+ const script = document.createElement("script");
5702
5702
  script.type = "text/javascript";
5703
5703
  if (crossOrigin) {
5704
5704
  script.crossOrigin = crossOrigin;
5705
5705
  }
5706
5706
  script.src = url;
5707
- document2.body.appendChild(script);
5707
+ document.body.appendChild(script);
5708
5708
  script.onload = () => {
5709
5709
  resolve();
5710
5710
  };
@@ -5722,21 +5722,38 @@ const asyncLoadJs = (() => {
5722
5722
  return loaded.get(url);
5723
5723
  };
5724
5724
  })();
5725
- const asyncLoadCss = function(url) {
5726
- return new Promise((resolve, reject) => {
5727
- const hasLoaded = globalThis.document.querySelector(`link[href="${url}"]`);
5728
- if (hasLoaded) {
5729
- resolve(void 0);
5730
- return;
5731
- }
5732
- const node = document.createElement("link");
5733
- node.rel = "stylesheet";
5734
- node.href = url;
5735
- document.getElementsByTagName("head")[0].appendChild(node);
5736
- node.onload = resolve;
5737
- node.onerror = reject;
5738
- });
5739
- };
5725
+ const asyncLoadCss = (() => {
5726
+ const documentMap = /* @__PURE__ */ new Map();
5727
+ return (url, document = globalThis.document) => {
5728
+ let loaded = documentMap.get(document);
5729
+ if (!loaded) {
5730
+ loaded = /* @__PURE__ */ new Map();
5731
+ documentMap.set(document, loaded);
5732
+ }
5733
+ if (loaded.get(url))
5734
+ return loaded.get(url);
5735
+ const load = new Promise((resolve, reject) => {
5736
+ const node = document.createElement("link");
5737
+ node.rel = "stylesheet";
5738
+ node.href = url;
5739
+ document.head.appendChild(node);
5740
+ node.onload = () => {
5741
+ resolve();
5742
+ };
5743
+ node.onerror = () => {
5744
+ reject(new Error("\u52A0\u8F7D\u5931\u8D25"));
5745
+ };
5746
+ setTimeout(() => {
5747
+ reject(new Error("timeout"));
5748
+ }, 60 * 1e3);
5749
+ }).catch((err) => {
5750
+ loaded.delete(url);
5751
+ throw err;
5752
+ });
5753
+ loaded.set(url, load);
5754
+ return loaded.get(url);
5755
+ };
5756
+ })();
5740
5757
  const toLine = (name = "") => name.replace(/\B([A-Z])/g, "-$1").toLowerCase();
5741
5758
  const toHump = (name = "") => name.replace(/-(\w)/g, (all, letter) => letter.toUpperCase());
5742
5759
  const emptyFn = () => void 0;
@@ -5780,7 +5797,7 @@ const getUrlParam = (param, url) => {
5780
5797
  }
5781
5798
  return "";
5782
5799
  };
5783
- const isPop = (node) => node.type.toLowerCase().endsWith("pop");
5800
+ const isPop = (node) => Boolean(node.type?.toLowerCase().endsWith("pop"));
5784
5801
 
5785
5802
  export { asyncLoadCss, asyncLoadJs, datetimeFormatter, emptyFn, filterXSS, getNodePath, getUrlParam, isPop, sleep, toHump, toLine };
5786
5803
  //# sourceMappingURL=tmagic-utils.es.js.map