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

Method resolve

www/js/_hyperscript-max.js:6813–6849  ·  view source on GitHub ↗
(context, { on, time })

Source from the content-addressed store, hash-verified

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