@mimstechcorp/sdk-react
Version:
React SDK for MIMS platform - Hooks, components, and React integrations
23 lines (22 loc) • 916 B
JavaScript
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;
}