UNPKG

@mimstechcorp/sdk-react

Version:

React SDK for MIMS platform - Hooks, components, and React integrations

23 lines (22 loc) 916 B
import { jsx as _jsx } from "react/jsx-runtime"; import { ApiClient } from '@mimstechcorp/sdk-core'; import React, { createContext, useContext, useMemo } from 'react'; const SDKContext = createContext(null); export function MimsProvider({ children, baseUrl, tenantId, apiKey, }) { const client = useMemo(() => new ApiClient({ baseUrl, tenantId, apiKey }), [baseUrl, tenantId, apiKey]); return _jsx(SDKContext.Provider, { value: { client }, children: children }); } export function useApi() { const ctx = useContext(SDKContext); if (!ctx) throw new Error('MimsProvider is missing'); return ctx.client; } export function useDocument(id) { const client = useApi(); const [state, setState] = React.useState({}); React.useEffect(() => { client.getDocument(id).then((data) => setState({ data }), (err) => setState({ error: err })); }, [client, id]); return state; }