everything-dev
Version:
A consolidated product package for building Module Federation apps with oRPC APIs.
47 lines (45 loc) • 1.63 kB
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
let _orpc_tanstack_query = require("@orpc/tanstack-query");
let _tanstack_react_router = require("@tanstack/react-router");
let every_plugin_client = require("every-plugin/client");
//#region src/ui/api.ts
function createApiClient(config, headers) {
return (0, every_plugin_client.createRpcClient)({
hostUrl: config.hostUrl,
path: config.rpcBase,
connectionError: config.connectionError
}, headers);
}
function createPluginApiClient(pluginKey, config, headers) {
return (0, every_plugin_client.createRpcClient)({
hostUrl: config.hostUrl,
path: `${config.rpcBase}/${pluginKey}`,
connectionError: config.connectionError
}, headers);
}
function createServiceClients(config, keys, headers) {
const clients = {};
for (const key of keys) if (key === "api") clients[key] = createApiClient(config, headers);
else clients[key] = createPluginApiClient(key, config, headers);
return clients;
}
function useClientContext() {
return (0, _tanstack_react_router.useRouter)().options.context;
}
function useApiClient() {
return useClientContext().apiClient;
}
function useOrpc() {
return (0, _orpc_tanstack_query.createTanstackQueryUtils)(useApiClient());
}
function usePluginClients() {
return useClientContext().pluginClients ?? {};
}
//#endregion
exports.createApiClient = createApiClient;
exports.createPluginApiClient = createPluginApiClient;
exports.createServiceClients = createServiceClients;
exports.useApiClient = useApiClient;
exports.useOrpc = useOrpc;
exports.usePluginClients = usePluginClients;
//# sourceMappingURL=api.cjs.map