flagged
Version:
Feature flags for React made easy with hooks, HOC and Render Props
22 lines (21 loc) • 923 B
TypeScript
import * as React from "react";
type FeatureGroup = {
[featureName: string]: boolean | FeatureGroup;
};
export type FeatureFlags = string[] | FeatureGroup;
export declare function FlagsProvider({ features, children, }: {
features?: FeatureFlags;
children: React.ReactNode;
}): React.JSX.Element;
export declare function useFeatures(): FeatureGroup;
export declare function useFeature(name: string): boolean | FeatureGroup;
export declare function Feature({ name, children, render, }: {
name: string;
children?: React.ReactNode | ((hasFeature: boolean | FeatureGroup) => JSX.Element);
render?: React.ReactNode | ((hasFeature: boolean | FeatureGroup) => JSX.Element);
}): React.JSX.Element | null;
export declare function withFeature<Props extends object>(featureName: string): (Component: React.ComponentType<Props>) => {
(props: Props): React.JSX.Element;
displayName: string;
};
export {};