UNPKG

synapse-react-client

Version:

[![Build Status](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client.svg?branch=main)](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client) [![npm version](https://badge.fury.io/js/synapse-react-client.svg)](https://badge.fury.io/js/synaps

39 lines 1.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useSynapseContext = exports.SynapseContextConsumer = exports.SynapseContextProvider = exports.SynapseContext = void 0; var tslib_1 = require("tslib"); var react_1 = (0, tslib_1.__importStar)(require("react")); var react_query_1 = require("react-query"); var defaultQueryClient = new react_query_1.QueryClient({ defaultOptions: { queries: { staleTime: 60 * 1000, retry: false, // SynapseClient knows which queries to retry }, }, }); /** * This must be exported to use the context in class components. */ exports.SynapseContext = react_1.default.createContext(undefined); /** * Provides context necessary for most components in SRC * @param param0 * @returns */ var SynapseContextProvider = function (_a) { var children = _a.children, synapseContext = _a.synapseContext, queryClient = _a.queryClient; return (react_1.default.createElement(exports.SynapseContext.Provider, { value: synapseContext }, react_1.default.createElement(react_query_1.QueryClientProvider, { client: queryClient !== null && queryClient !== void 0 ? queryClient : defaultQueryClient }, children))); }; exports.SynapseContextProvider = SynapseContextProvider; exports.SynapseContextConsumer = exports.SynapseContext.Consumer; function useSynapseContext() { var context = (0, react_1.useContext)(exports.SynapseContext); if (context === undefined) { throw new Error('useSynapseContext must be used within a SynapseContextProvider'); } return context; } exports.useSynapseContext = useSynapseContext; //# sourceMappingURL=SynapseContext.js.map