MCPcopy Create free account
hub / github.com/IQEngine/IQEngine / IQDataClientFactory

Function IQDataClientFactory

client/src/api/iqdata/IQDataClientFactory.ts:9–30  ·  view source on GitHub ↗
(
  type: string,
  files: FileWithDirectoryAndFileHandle[],
  dataSources: Record<string, DataSource>,
  instance: IPublicClientApplication,
)

Source from the content-addressed store, hash-verified

7import { IPublicClientApplication } from '@azure/msal-browser';
8
9export const IQDataClientFactory = (
10 type: string,
11 files: FileWithDirectoryAndFileHandle[],
12 dataSources: Record<string, DataSource>,
13 instance: IPublicClientApplication,
14): IQDataClient => {
15 switch (type) {
16 case CLIENT_TYPE_API:{
17 if (!instance || !instance.getAllAccounts || instance.getAllAccounts().length === 0) {
18 return new ApiClient(null, null);
19 }
20 const accounts = instance.getAllAccounts();
21 return new ApiClient(instance, accounts[0]);
22 }
23 case CLIENT_TYPE_LOCAL:
24 return new LocalClient(files);
25 case CLIENT_TYPE_BLOB:
26 return new BlobClient(dataSources);
27 default:
28 throw new Error(`Unknown data source type: ${type}`);
29 }
30};

Callers 2

useGetIQDataFunction · 0.90
useGetMinimapIQFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected