unhead 1.10.2 → 1.10.4
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.
- package/dist/index.cjs +13 -8
- package/dist/index.mjs +13 -8
- package/package.json +4 -4
package/dist/index.cjs
CHANGED
|
@@ -537,7 +537,7 @@ function useScript(_input, _options) {
|
|
|
537
537
|
const id = resolveScriptKey(input);
|
|
538
538
|
const prevScript = head._scripts?.[id];
|
|
539
539
|
if (prevScript) {
|
|
540
|
-
prevScript.
|
|
540
|
+
prevScript.setupTriggerHandler(options.trigger);
|
|
541
541
|
return prevScript;
|
|
542
542
|
}
|
|
543
543
|
options.beforeInit?.();
|
|
@@ -600,6 +600,8 @@ function useScript(_input, _options) {
|
|
|
600
600
|
return false;
|
|
601
601
|
},
|
|
602
602
|
load(cb) {
|
|
603
|
+
script._triggerAbortController?.abort();
|
|
604
|
+
script._triggerPromises = [];
|
|
603
605
|
if (!script.entry) {
|
|
604
606
|
syncStatus("loading");
|
|
605
607
|
const defaults = {
|
|
@@ -624,20 +626,23 @@ function useScript(_input, _options) {
|
|
|
624
626
|
onError(cb) {
|
|
625
627
|
return _registerCb("error", cb);
|
|
626
628
|
},
|
|
627
|
-
|
|
628
|
-
script.
|
|
629
|
+
setupTriggerHandler(trigger) {
|
|
630
|
+
if (script.status !== "awaitingLoad") {
|
|
631
|
+
return;
|
|
632
|
+
}
|
|
629
633
|
if ((typeof trigger === "undefined" || trigger === "client") && !head.ssr || trigger === "server") {
|
|
630
634
|
script.load();
|
|
631
635
|
} else if (trigger instanceof Promise) {
|
|
632
|
-
script._triggerAbortController = new AbortController();
|
|
633
|
-
|
|
636
|
+
script._triggerAbortController = script._triggerAbortController || new AbortController();
|
|
637
|
+
script._triggerPromises = script._triggerPromises || [];
|
|
638
|
+
script._triggerPromises.push(Promise.race([
|
|
634
639
|
trigger.then(() => script.load),
|
|
635
640
|
new Promise((resolve) => {
|
|
636
641
|
script._triggerAbortController.signal.addEventListener("abort", () => resolve());
|
|
637
642
|
})
|
|
638
643
|
]).then((res2) => {
|
|
639
644
|
res2?.();
|
|
640
|
-
});
|
|
645
|
+
}));
|
|
641
646
|
} else if (typeof trigger === "function") {
|
|
642
647
|
trigger(script.load);
|
|
643
648
|
}
|
|
@@ -655,7 +660,7 @@ function useScript(_input, _options) {
|
|
|
655
660
|
_cbs.error = null;
|
|
656
661
|
});
|
|
657
662
|
const hookCtx = { script };
|
|
658
|
-
script.
|
|
663
|
+
script.setupTriggerHandler(options.trigger);
|
|
659
664
|
script.$script = script;
|
|
660
665
|
const proxyChain = (instance, accessor, accessors) => {
|
|
661
666
|
return new Proxy((!accessor ? instance : instance?.[accessor]) || scriptProxy, {
|
|
@@ -694,7 +699,7 @@ function useScript(_input, _options) {
|
|
|
694
699
|
script.proxy = proxyChain(script.instance);
|
|
695
700
|
const res = new Proxy(script, {
|
|
696
701
|
get(_, k) {
|
|
697
|
-
const target = k in script ? script : script.proxy;
|
|
702
|
+
const target = k in script || String(k)[0] === "_" ? script : script.proxy;
|
|
698
703
|
if (k === "then" || k === "catch") {
|
|
699
704
|
return script[k].bind(script);
|
|
700
705
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -536,7 +536,7 @@ function useScript(_input, _options) {
|
|
|
536
536
|
const id = resolveScriptKey(input);
|
|
537
537
|
const prevScript = head._scripts?.[id];
|
|
538
538
|
if (prevScript) {
|
|
539
|
-
prevScript.
|
|
539
|
+
prevScript.setupTriggerHandler(options.trigger);
|
|
540
540
|
return prevScript;
|
|
541
541
|
}
|
|
542
542
|
options.beforeInit?.();
|
|
@@ -599,6 +599,8 @@ function useScript(_input, _options) {
|
|
|
599
599
|
return false;
|
|
600
600
|
},
|
|
601
601
|
load(cb) {
|
|
602
|
+
script._triggerAbortController?.abort();
|
|
603
|
+
script._triggerPromises = [];
|
|
602
604
|
if (!script.entry) {
|
|
603
605
|
syncStatus("loading");
|
|
604
606
|
const defaults = {
|
|
@@ -623,20 +625,23 @@ function useScript(_input, _options) {
|
|
|
623
625
|
onError(cb) {
|
|
624
626
|
return _registerCb("error", cb);
|
|
625
627
|
},
|
|
626
|
-
|
|
627
|
-
script.
|
|
628
|
+
setupTriggerHandler(trigger) {
|
|
629
|
+
if (script.status !== "awaitingLoad") {
|
|
630
|
+
return;
|
|
631
|
+
}
|
|
628
632
|
if ((typeof trigger === "undefined" || trigger === "client") && !head.ssr || trigger === "server") {
|
|
629
633
|
script.load();
|
|
630
634
|
} else if (trigger instanceof Promise) {
|
|
631
|
-
script._triggerAbortController = new AbortController();
|
|
632
|
-
|
|
635
|
+
script._triggerAbortController = script._triggerAbortController || new AbortController();
|
|
636
|
+
script._triggerPromises = script._triggerPromises || [];
|
|
637
|
+
script._triggerPromises.push(Promise.race([
|
|
633
638
|
trigger.then(() => script.load),
|
|
634
639
|
new Promise((resolve) => {
|
|
635
640
|
script._triggerAbortController.signal.addEventListener("abort", () => resolve());
|
|
636
641
|
})
|
|
637
642
|
]).then((res2) => {
|
|
638
643
|
res2?.();
|
|
639
|
-
});
|
|
644
|
+
}));
|
|
640
645
|
} else if (typeof trigger === "function") {
|
|
641
646
|
trigger(script.load);
|
|
642
647
|
}
|
|
@@ -654,7 +659,7 @@ function useScript(_input, _options) {
|
|
|
654
659
|
_cbs.error = null;
|
|
655
660
|
});
|
|
656
661
|
const hookCtx = { script };
|
|
657
|
-
script.
|
|
662
|
+
script.setupTriggerHandler(options.trigger);
|
|
658
663
|
script.$script = script;
|
|
659
664
|
const proxyChain = (instance, accessor, accessors) => {
|
|
660
665
|
return new Proxy((!accessor ? instance : instance?.[accessor]) || scriptProxy, {
|
|
@@ -693,7 +698,7 @@ function useScript(_input, _options) {
|
|
|
693
698
|
script.proxy = proxyChain(script.instance);
|
|
694
699
|
const res = new Proxy(script, {
|
|
695
700
|
get(_, k) {
|
|
696
|
-
const target = k in script ? script : script.proxy;
|
|
701
|
+
const target = k in script || String(k)[0] === "_" ? script : script.proxy;
|
|
697
702
|
if (k === "then" || k === "catch") {
|
|
698
703
|
return script[k].bind(script);
|
|
699
704
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "unhead",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.10.
|
|
4
|
+
"version": "1.10.4",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Harlan Wilton",
|
|
7
7
|
"email": "harlan@harlanzw.com",
|
|
@@ -34,9 +34,9 @@
|
|
|
34
34
|
],
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"hookable": "^5.5.3",
|
|
37
|
-
"@unhead/dom": "1.10.
|
|
38
|
-
"@unhead/shared": "1.10.
|
|
39
|
-
"@unhead/schema": "1.10.
|
|
37
|
+
"@unhead/dom": "1.10.4",
|
|
38
|
+
"@unhead/shared": "1.10.4",
|
|
39
|
+
"@unhead/schema": "1.10.4"
|
|
40
40
|
},
|
|
41
41
|
"scripts": {
|
|
42
42
|
"build": "unbuild .",
|