• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

CBIIT / crdc-datahub-ui / 11074479132

27 Sep 2024 04:44PM UTC coverage: 44.982% (+26.5%) from 18.435%
11074479132

Pull #479

github

web-flow
Merge a0867d25a into 3d8b55818
Pull Request #479: 3.0.0 Release

1727 of 4418 branches covered (39.09%)

Branch coverage included in aggregate %.

2612 of 5228 relevant lines covered (49.96%)

128.96 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/components/Questionnaire/hooks/useConditionalWrapper.tsx
1
import { useState, useEffect, ReactNode, ComponentType, ComponentProps } from "react";
2

3
// eslint-disable-next-line @typescript-eslint/no-explicit-any
4
type WrapperProps<T extends ComponentType<any>> = ComponentProps<T> & {
5
  children: ReactNode;
6
};
7

8
// eslint-disable-next-line @typescript-eslint/no-explicit-any
9
type Props = <T extends ComponentType<any>>(
10
  condition: () => boolean,
11
  wrapper: T
12
) => ComponentType<WrapperProps<T>>;
13

14
export const useConditionalWrapper: Props = (condition, wrapper) => {
×
15
  const [renderWrapper, setRenderWrapper] = useState(false);
×
16

17
  useEffect(() => {
×
18
    setRenderWrapper(condition());
×
19
  }, []);
20

21
  return renderWrapper ? wrapper : ({ children }: WrapperProps<typeof wrapper>) => children;
×
22
};
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc