(left, right, target, feature, runtime2)
| 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) { |
no test coverage detected