UNPKG

create-expo-cljs-app

Version:

Create a react native application with Expo and Shadow-CLJS!

36 lines (33 loc) 861 B
/** * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @flow strict */ import * as React from 'react'; export default function mergeRefs( ...args: $ReadOnlyArray<React.ElementRef<any>> ): (node: HTMLElement | null) => void { return function forwardRef(node: HTMLElement | null) { args.forEach((ref: React.ElementRef<any>) => { if (ref == null) { return; } if (typeof ref === 'function') { ref(node); return; } if (typeof ref === 'object') { ref.current = node; return; } console.error( `mergeRefs cannot handle Refs of type boolean, number or string, received ref ${String( ref )}` ); }); }; }