node_modules/preact/compat/src/forwardRef.js in isomorfeus-preact-10.6.2 vs node_modules/preact/compat/src/forwardRef.js in isomorfeus-preact-10.6.3
- old
+ new
@@ -1,51 +1,51 @@
-import { options } from 'preact';
-import { assign } from './util';
-
-let oldDiffHook = options._diff;
-options._diff = vnode => {
- if (vnode.type && vnode.type._forwarded && vnode.ref) {
- vnode.props.ref = vnode.ref;
- vnode.ref = null;
- }
- if (oldDiffHook) oldDiffHook(vnode);
-};
-
-export const REACT_FORWARD_SYMBOL =
- (typeof Symbol != 'undefined' &&
- Symbol.for &&
- Symbol.for('react.forward_ref')) ||
- 0xf47;
-
-/**
- * Pass ref down to a child. This is mainly used in libraries with HOCs that
- * wrap components. Using `forwardRef` there is an easy way to get a reference
- * of the wrapped component instead of one of the wrapper itself.
- * @param {import('./index').ForwardFn} fn
- * @returns {import('./internal').FunctionComponent}
- */
-export function forwardRef(fn) {
- // We always have ref in props.ref, except for
- // mobx-react. It will call this function directly
- // and always pass ref as the second argument.
- function Forwarded(props, ref) {
- let clone = assign({}, props);
- delete clone.ref;
- ref = props.ref || ref;
- return fn(
- clone,
- !ref || (typeof ref === 'object' && !('current' in ref)) ? null : ref
- );
- }
-
- // mobx-react checks for this being present
- Forwarded.$$typeof = REACT_FORWARD_SYMBOL;
- // mobx-react heavily relies on implementation details.
- // It expects an object here with a `render` property,
- // and prototype.render will fail. Without this
- // mobx-react throws.
- Forwarded.render = Forwarded;
-
- Forwarded.prototype.isReactComponent = Forwarded._forwarded = true;
- Forwarded.displayName = 'ForwardRef(' + (fn.displayName || fn.name) + ')';
- return Forwarded;
-}
+import { options } from 'preact';
+import { assign } from './util';
+
+let oldDiffHook = options._diff;
+options._diff = vnode => {
+ if (vnode.type && vnode.type._forwarded && vnode.ref) {
+ vnode.props.ref = vnode.ref;
+ vnode.ref = null;
+ }
+ if (oldDiffHook) oldDiffHook(vnode);
+};
+
+export const REACT_FORWARD_SYMBOL =
+ (typeof Symbol != 'undefined' &&
+ Symbol.for &&
+ Symbol.for('react.forward_ref')) ||
+ 0xf47;
+
+/**
+ * Pass ref down to a child. This is mainly used in libraries with HOCs that
+ * wrap components. Using `forwardRef` there is an easy way to get a reference
+ * of the wrapped component instead of one of the wrapper itself.
+ * @param {import('./index').ForwardFn} fn
+ * @returns {import('./internal').FunctionComponent}
+ */
+export function forwardRef(fn) {
+ // We always have ref in props.ref, except for
+ // mobx-react. It will call this function directly
+ // and always pass ref as the second argument.
+ function Forwarded(props, ref) {
+ let clone = assign({}, props);
+ delete clone.ref;
+ ref = props.ref || ref;
+ return fn(
+ clone,
+ !ref || (typeof ref === 'object' && !('current' in ref)) ? null : ref
+ );
+ }
+
+ // mobx-react checks for this being present
+ Forwarded.$$typeof = REACT_FORWARD_SYMBOL;
+ // mobx-react heavily relies on implementation details.
+ // It expects an object here with a `render` property,
+ // and prototype.render will fail. Without this
+ // mobx-react throws.
+ Forwarded.render = Forwarded;
+
+ Forwarded.prototype.isReactComponent = Forwarded._forwarded = true;
+ Forwarded.displayName = 'ForwardRef(' + (fn.displayName || fn.name) + ')';
+ return Forwarded;
+}