@splitsoftware/splitio-react
Version:
A React library to easily integrate and use Split JS SDK
26 lines (25 loc) • 1.56 kB
JavaScript
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)));
})));
};
};
}