@splitsoftware/splitio-react
Version:
A React library to easily integrate and use Split JS SDK
28 lines (27 loc) • 1.39 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.useSplitManager = void 0;
var tslib_1 = require("tslib");
var useSplitClient_1 = require("./useSplitClient");
var SplitContext_1 = require("./SplitContext");
/**
* `useSplitManager` is a hook that returns an Split Context object with the manager instance from the Split factory.
*
* @returns A Split Context object merged with the manager and its status.
*
* @example
* ```js
* const { manager, isReady, isReadyFromCache, lastUpdate, ... } = useSplitManager();
* ```
*
* @see {@link https://developer.harness.io/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/javascript-sdk/#manager}
*/
function useSplitManager() {
// @TODO refactor next lines to `const context = useSplitClient();` when `SplitClient` is removed
// This is required to avoid retrieving the status of a non-default client if context was updated by a `SplitClient` component.
var factory = (0, SplitContext_1.useSplitContext)().factory;
var context = (0, useSplitClient_1.useSplitClient)({ splitKey: factory === null || factory === void 0 ? void 0 : factory.settings.core.key });
var manager = factory ? factory.manager() : undefined;
return (0, tslib_1.__assign)((0, tslib_1.__assign)({}, context), { manager: manager });
}
exports.useSplitManager = useSplitManager;
;