UNPKG

@splitsoftware/splitio-react

Version:

A React library to easily integrate and use Split JS SDK

26 lines (25 loc) 1.56 kB
import { __assign } from "tslib"; import * as React from 'react'; import { SplitFactoryProvider } from './SplitFactoryProvider'; import { SplitClient } from './SplitClient'; /** * High-Order Component for `SplitFactoryProvider`. * The wrapped component receives all the props of the container, * along with the passed props from the Split context (see `ISplitFactoryChildProps`). * * @param config - Config object used to instantiate a Split factory * @param factory - Split factory instance to use instead of creating a new one with the config object. * @param attributes - An object of type Attributes used to evaluate the feature flags. * * @deprecated `withSplitFactory` will be removed in a future major release. We recommend replacing it with the `SplitFactoryProvider` component. */ export function withSplitFactory(config, factory, attributes) { return function withSplitFactoryHoc(WrappedComponent, updateOnSdkUpdate, updateOnSdkTimedout, updateOnSdkReady, updateOnSdkReadyFromCache) { return function wrapper(props) { return (React.createElement(SplitFactoryProvider, { config: config, factory: factory }, React.createElement(SplitClient, { updateOnSdkUpdate: updateOnSdkUpdate, updateOnSdkTimedout: updateOnSdkTimedout, updateOnSdkReady: updateOnSdkReady, updateOnSdkReadyFromCache: updateOnSdkReadyFromCache, attributes: attributes }, function (splitProps) { return (React.createElement(WrappedComponent, __assign({}, props, splitProps))); }))); }; }; }