MCPcopy Create free account
hub / github.com/bigskysoftware/_hyperscript / resolve

Method resolve

www/js/_hyperscript.esm.js:6812–6848  ·  view source on GitHub ↗
(context, { on, time })

Source from the content-addressed store, hash-verified

6810 }
6811 }
6812 resolve(context, { on, time }) {
6813 if (this.variant === "event") {
6814 var target = on ? on : context.me;
6815 if (!(target instanceof EventTarget))
6816 throw new Error("Not a valid event target: " + this.on.sourceFor());
6817 const events = this.event;
6818 return new Promise((resolve) => {
6819 var resolved = false;
6820 for (const eventInfo of events) {
6821 var listener = (evt) => {
6822 context.result = evt;
6823 if (eventInfo.name && eventInfo.args) {
6824 for (const arg of eventInfo.args) {
6825 context.locals[arg.value] = evt[arg.value] || (evt.detail ? evt.detail[arg.value] : null);
6826 }
6827 }
6828 if (!resolved) {
6829 resolved = true;
6830 resolve(this.findNext(context));
6831 }
6832 };
6833 if (eventInfo.name) {
6834 target.addEventListener(eventInfo.name, listener, { once: true });
6835 } else {
6836 const timeValue = eventInfo.evaluate(context);
6837 setTimeout(listener, timeValue, timeValue);
6838 }
6839 }
6840 });
6841 } else {
6842 return new Promise((resolve) => {
6843 setTimeout(() => {
6844 resolve(this.findNext(context));
6845 }, time);
6846 });
6847 }
6848 }
6849};
6850var SendCommand = class _SendCommand extends Command {
6851 static keyword = ["send", "trigger"];

Callers

nothing calls this directly

Calls 4

setTimeoutFunction · 0.50
sourceForMethod · 0.45
evaluateMethod · 0.45
findNextMethod · 0.45

Tested by

no test coverage detected