UNPKG

@jbrowse/core

Version:

JBrowse 2 core libraries used by plugins

15 lines (14 loc) 724 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.lazyifyComponent = lazyifyComponent; exports.lazyMap = lazyMap; const jsx_runtime_1 = require("react/jsx-runtime"); const react_1 = require("react"); function lazyifyComponent(key, ReactComponent) { const Component = (0, react_1.forwardRef)((props, ref) => ((0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: null, children: (0, jsx_runtime_1.jsx)(ReactComponent, { ...props, ref: ref }) }))); Component.displayName = key; return [key, Component]; } function lazyMap(obj, prefix = '') { return Object.fromEntries(Object.entries(obj).map(([key, ReactComponent]) => lazyifyComponent(`${prefix}${key}`, ReactComponent))); }