MCPcopy Index your code
hub / github.com/bigskysoftware/_hyperscript / resolve

Method resolve

www/js/_hyperscript.esm.js:8864–8944  ·  view source on GitHub ↗
(context, { from, to, using, over })

Source from the content-addressed store, hash-verified

8862 return new _TransitionCommand(propExprs, from, to, usingExpr, over);
8863 }
8864 resolve(context, { from, to, using, over }) {
8865 var cmd = this;
8866 var runtime2 = context.meta.runtime;
8867 var target;
8868 if (this.propExprs[0].root) {
8869 target = this.propExprs[0].root.evaluate(context);
8870 runtime2.nullCheck(target, this.propExprs[0].root);
8871 } else {
8872 target = context.me;
8873 }
8874 var promises = [];
8875 runtime2.implicitLoop(target, function(target2) {
8876 promises.push(new Promise(function(resolve) {
8877 var initialTransition = target2.style.transition;
8878 if (over) {
8879 target2.style.transition = "all " + over + "ms ease-in";
8880 } else if (using) {
8881 target2.style.transition = using;
8882 } else {
8883 target2.style.transition = config.defaultTransition;
8884 }
8885 var internalData = runtime2.getInternalData(target2);
8886 if (!internalData.transitionInitials) internalData.transitionInitials = {};
8887 var initialValues = internalData.transitionInitials;
8888 for (var j = 0; j < cmd.propExprs.length; j++) {
8889 if (!(j in initialValues)) {
8890 initialValues[j] = cmd.propExprs[j].evaluate(context);
8891 }
8892 }
8893 for (var j = 0; j < cmd.propExprs.length; j++) {
8894 if (from[j] != null) {
8895 var lhs = {};
8896 for (var key in cmd.propExprs[j].lhs) {
8897 var e = cmd.propExprs[j].lhs[key];
8898 lhs[key] = e && e.evaluate ? e.evaluate(context) : e;
8899 }
8900 cmd.propExprs[j].set(context, lhs, from[j]);
8901 }
8902 }
8903 var transitionStarted = false;
8904 var resolved = false;
8905 target2.addEventListener("transitionend", function() {
8906 if (!resolved) {
8907 target2.style.transition = initialTransition;
8908 resolved = true;
8909 resolve();
8910 }
8911 }, { once: true });
8912 target2.addEventListener("transitionstart", function() {
8913 transitionStarted = true;
8914 }, { once: true });
8915 setTimeout(function() {
8916 if (!resolved && !transitionStarted) {
8917 target2.style.transition = initialTransition;
8918 resolved = true;
8919 resolve();
8920 }
8921 }, 100);

Callers

nothing calls this directly

Calls 7

setTimeoutFunction · 0.50
evaluateMethod · 0.45
nullCheckMethod · 0.45
implicitLoopMethod · 0.45
getInternalDataMethod · 0.45
setMethod · 0.45
findNextMethod · 0.45

Tested by

no test coverage detected