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

Function _bind

tools/common/_hyperscript.iife.js:9455–9487  ·  view source on GitHub ↗
(left, right, target, feature, runtime2)

Source from the content-addressed store, hash-verified

9453 return typeof expr.set === "function";
9454 }
9455 function _bind(left, right, target, feature, runtime2) {
9456 var ctx = runtime2.makeContext(target, feature, target, null);
9457 var leftSide = _resolveSide(left, target, feature, runtime2, ctx);
9458 var rightSide = _resolveSide(right, target, feature, runtime2, ctx);
9459 var leftWritable = leftSide.element || _isAssignable(left);
9460 var rightWritable = rightSide.element || _isAssignable(right);
9461 if (!leftWritable && !rightWritable) {
9462 throw new Error("bind requires at least one writable side");
9463 }
9464 if (leftWritable) {
9465 runtime2.reactivity.createEffect(
9466 function() {
9467 return rightSide.read();
9468 },
9469 function(newValue) {
9470 leftSide.write(newValue);
9471 },
9472 { element: target }
9473 );
9474 }
9475 if (rightWritable) {
9476 runtime2.reactivity.createEffect(
9477 function() {
9478 return leftSide.read();
9479 },
9480 function(newValue) {
9481 rightSide.write(newValue);
9482 },
9483 { element: target }
9484 );
9485 }
9486 _setupFormReset(leftSide, rightSide, target, runtime2);
9487 }
9488 function _resolveSide(expr, target, feature, runtime2, ctx) {
9489 var value = expr.evaluate(ctx);
9490 if (value instanceof Element) {

Callers 1

installMethod · 0.70

Calls 5

_resolveSideFunction · 0.70
_isAssignableFunction · 0.70
_setupFormResetFunction · 0.70
makeContextMethod · 0.45
createEffectMethod · 0.45

Tested by

no test coverage detected