(left, right, target, feature, runtime2)
| 9905 | return typeof expr.set === "function"; |
| 9906 | } |
| 9907 | function _bind(left, right, target, feature, runtime2) { |
| 9908 | var ctx = runtime2.makeContext(target, feature, target, null); |
| 9909 | var leftSide = _resolveSide(left, target, feature, runtime2, ctx); |
| 9910 | var rightSide = _resolveSide(right, target, feature, runtime2, ctx); |
| 9911 | var leftWritable = leftSide.element || _isAssignable(left); |
| 9912 | var rightWritable = rightSide.element || _isAssignable(right); |
| 9913 | if (!leftWritable && !rightWritable) { |
| 9914 | throw new Error("bind requires at least one writable side"); |
| 9915 | } |
| 9916 | if (leftWritable) { |
| 9917 | runtime2.reactivity.createEffect( |
| 9918 | function() { |
| 9919 | return rightSide.read(); |
| 9920 | }, |
| 9921 | function(newValue) { |
| 9922 | leftSide.write(newValue); |
| 9923 | }, |
| 9924 | { element: target } |
| 9925 | ); |
| 9926 | } |
| 9927 | if (rightWritable) { |
| 9928 | runtime2.reactivity.createEffect( |
| 9929 | function() { |
| 9930 | return leftSide.read(); |
| 9931 | }, |
| 9932 | function(newValue) { |
| 9933 | rightSide.write(newValue); |
| 9934 | }, |
| 9935 | { element: target } |
| 9936 | ); |
| 9937 | } |
| 9938 | _setupFormReset(leftSide, rightSide, target, runtime2); |
| 9939 | } |
| 9940 | function _resolveSide(expr, target, feature, runtime2, ctx) { |
| 9941 | var value = expr.evaluate(ctx); |
| 9942 | if (value instanceof Element) { |
no test coverage detected