UNPKG

@splitsoftware/splitio-react

Version:

A React library to easily integrate and use Split JS SDK

28 lines (27 loc) 1.39 kB
"use strict"; 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;