@semapps/semantic-data-provider 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -29,11 +29,6 @@ type DataServerConfig = {
29
29
  blankNodes: any;
30
30
  };
31
31
  export type DataServersConfig = Record<DataServerKey, DataServerConfig>;
32
- type HttpClientOptions = {
33
- headers?: Headers;
34
- method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
35
- body?: string | File;
36
- };
37
32
  export type DataModel = {
38
33
  /** Type(s) of resources to fetch or create (example: [pair:Organization]) */
39
34
  types: string | string[];
@@ -66,9 +61,10 @@ export type DataModel = {
66
61
  title: string;
67
62
  };
68
63
  };
64
+ export type FetchFn = typeof fetchUtils.fetchJson;
69
65
  export type Configuration = {
70
66
  dataServers: DataServersConfig;
71
- httpClient: (url: string, options?: HttpClientOptions) => ReturnType<typeof fetchUtils.fetchJson>;
67
+ httpClient: FetchFn;
72
68
  /** Context from ontologies { prefix: IRI } or IRI, or array of IRI */
73
69
  jsonContext: string | string[] | Record<string, string>;
74
70
  resources: Record<string, DataModel>;
@@ -76,7 +72,9 @@ export type Configuration = {
76
72
  export type SemanticDataProvider = DataProvider & {
77
73
  getDataModels: () => Promise<Record<string, DataModel>>;
78
74
  getDataServers: () => Promise<DataServersConfig>;
79
- fetch: (url: string, options?: HttpClientOptions) => ReturnType<typeof fetchUtils.fetchJson>;
75
+ fetch: FetchFn;
76
+ refreshConfig: () => Promise<Configuration>;
77
+ uploadFile: (rawFile: File) => Promise<string | null>;
80
78
  };
81
79
  export interface PatchParams<RecordType extends RaRecord = any> {
82
80
  id: RecordType['id'];
@@ -110,23 +108,8 @@ export function buildSparqlQuery({
110
108
  dataModel: any;
111
109
  ontologies: any;
112
110
  }): string;
113
- export function dataProvider(config: any): {
114
- getList: (...arg: any[]) => Promise<any>;
115
- getMany: (...arg: any[]) => Promise<any>;
116
- getManyReference: (...arg: any[]) => Promise<any>;
117
- getOne: (...arg: any[]) => Promise<any>;
118
- create: (...arg: any[]) => Promise<any>;
119
- update: (...arg: any[]) => Promise<any>;
120
- updateMany: () => never;
121
- delete: (...arg: any[]) => Promise<any>;
122
- deleteMany: (...arg: any[]) => Promise<any>;
123
- patch: (...arg: any[]) => Promise<any>;
124
- getDataModels: (...arg: any[]) => Promise<any>;
125
- getDataServers: (...arg: any[]) => Promise<any>;
126
- getLocalDataServers: () => any;
127
- fetch: (...arg: any[]) => Promise<any>;
128
- refreshConfig: () => Promise<any>;
129
- };
111
+ /** @type {(config: Configuration) => SemanticDataProvider} */
112
+ export const dataProvider: (config: Configuration) => SemanticDataProvider;
130
113
  export function useGetExternalLink(componentExternalLinks: any): (record: any) => any;
131
114
  export const useDataModel: (resourceId: string) => any;
132
115
  export const useDataServers: () => DataServersConfig | undefined;
@@ -178,7 +161,6 @@ export function GroupedReferenceHandler({
178
161
  filterProperty: any;
179
162
  }): import('react/jsx-runtime').JSX.Element;
180
163
  export function ReificationArrayInput(props: any): import('react/jsx-runtime').JSX.Element;
181
- type fetchFn = typeof fetchUtils.fetchJson;
182
164
  interface CreateSolidChannelOptions {
183
165
  type: string;
184
166
  closeAfter?: number;
@@ -188,12 +170,12 @@ interface CreateSolidChannelOptions {
188
170
  rate?: number;
189
171
  }
190
172
  export const createSolidNotificationChannel: (
191
- authenticatedFetch: fetchFn,
173
+ authenticatedFetch: FetchFn,
192
174
  resourceUri: string,
193
175
  options?: CreateSolidChannelOptions
194
176
  ) => Promise<any>;
195
177
  export const createWsChannel: (
196
- authenticatedFetch: fetchFn,
178
+ authenticatedFetch: FetchFn,
197
179
  resourceUri: string,
198
180
  options: CreateSolidChannelOptions
199
181
  ) => Promise<WebSocket>;
@@ -204,7 +186,7 @@ export const createWsChannel: (
204
186
  * @returns {WebSocket} A new or existing web socket that subscribed to the given resource.
205
187
  */
206
188
  export const getOrCreateWsChannel: (
207
- authenticatedFetch: fetchFn,
189
+ authenticatedFetch: FetchFn,
208
190
  resourceUri: string,
209
191
  options?: CreateSolidChannelOptions
210
192
  ) => Promise<WebSocket>;
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/semantic-data-provider/src/src/dataProvider/utils/fetchResource.js","packages/semantic-data-provider/src/src/dataProvider/methods/getOne.js","packages/semantic-data-provider/src/src/dataProvider/types.ts","packages/semantic-data-provider/src/src/dataProvider/utils/handleFiles.ts","packages/semantic-data-provider/src/src/dataProvider/utils/getServerKeyFromType.js","packages/semantic-data-provider/src/src/dataProvider/utils/parseServerKeys.js","packages/semantic-data-provider/src/src/dataProvider/utils/findContainersWithTypes.ts","packages/semantic-data-provider/src/src/dataProvider/methods/create.js","packages/semantic-data-provider/src/src/dataProvider/methods/delete.ts","packages/semantic-data-provider/src/src/dataProvider/methods/deleteMany.js","packages/semantic-data-provider/src/src/dataProvider/methods/getDataServers.js","packages/semantic-data-provider/src/src/dataProvider/methods/getDataModels.js","packages/semantic-data-provider/src/src/dataProvider/utils/arrayOf.ts","packages/semantic-data-provider/src/src/dataProvider/utils/fetchContainers.ts","packages/semantic-data-provider/src/src/dataProvider/utils/getEmbedFrame.js","packages/semantic-data-provider/src/src/dataProvider/utils/resolvePrefix.js","packages/semantic-data-provider/src/src/dataProvider/utils/buildBaseQuery.js","packages/semantic-data-provider/src/src/dataProvider/utils/buildBlankNodesQuery.js","packages/semantic-data-provider/src/src/dataProvider/utils/buildAutoDetectBlankNodesQuery.js","packages/semantic-data-provider/src/src/dataProvider/utils/buildSparqlQuery.js","packages/semantic-data-provider/src/src/dataProvider/utils/fetchSparqlEndpoints.js","packages/semantic-data-provider/src/src/dataProvider/utils/findContainersWithPath.js","packages/semantic-data-provider/src/src/dataProvider/methods/getList.js","packages/semantic-data-provider/src/src/dataProvider/methods/getMany.js","packages/semantic-data-provider/src/src/dataProvider/methods/getManyReference.js","packages/semantic-data-provider/src/src/dataProvider/methods/patch.ts","packages/semantic-data-provider/src/src/dataProvider/methods/update.ts","packages/semantic-data-provider/src/src/dataProvider/utils/fetchUserConfig.js","packages/semantic-data-provider/src/src/dataProvider/utils/fetchVoidEndpoints.js","packages/semantic-data-provider/src/src/dataProvider/utils/getServerKeyFromUri.js","packages/semantic-data-provider/src/src/dataProvider/httpClient.js","packages/semantic-data-provider/src/src/dataProvider/dataProvider.js","packages/semantic-data-provider/src/src/hooks/useGetExternalLink.js","packages/semantic-data-provider/src/src/hooks/useDataModel.ts","packages/semantic-data-provider/src/src/hooks/useDataServers.ts","packages/semantic-data-provider/src/src/hooks/useContainers.ts","packages/semantic-data-provider/src/src/dataProvider/utils/findCreateContainerWithTypes.ts","packages/semantic-data-provider/src/src/hooks/useCreateContainer.js","packages/semantic-data-provider/src/src/hooks/useDataModels.ts","packages/semantic-data-provider/src/src/hooks/useCreateContainerUri.ts","packages/semantic-data-provider/src/src/reification/FilterHandler.js","packages/semantic-data-provider/src/src/reification/GroupedReferenceHandler.js","packages/semantic-data-provider/src/src/reification/ReificationArrayInput.js","packages/semantic-data-provider/src/src/notificationChannels/subscribeToUpdates.ts","packages/semantic-data-provider/src/src/index.ts","packages/semantic-data-provider/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"export { default as dataProvider } from './dataProvider/dataProvider';\n\nexport { default as buildSparqlQuery } from './dataProvider/utils/buildSparqlQuery';\nexport { default as buildBlankNodesQuery } from './dataProvider/utils/buildBlankNodesQuery';\n\nexport { default as useGetExternalLink } from './hooks/useGetExternalLink';\nexport { default as useContainers } from './hooks/useContainers';\nexport { default as useCreateContainer } from './hooks/useCreateContainer';\nexport { default as useCreateContainerUri } from './hooks/useCreateContainerUri';\nexport { default as useDataModel } from './hooks/useDataModel';\nexport { default as useDataModels } from './hooks/useDataModels';\nexport { default as useDataServers } from './hooks/useDataServers';\n\nexport { default as FilterHandler } from './reification/FilterHandler';\nexport { default as GroupedReferenceHandler } from './reification/GroupedReferenceHandler';\nexport { default as ReificationArrayInput } from './reification/ReificationArrayInput';\n\nexport {\n createWsChannel,\n getOrCreateWsChannel,\n createSolidNotificationChannel\n} from './notificationChannels/subscribeToUpdates';\n\nexport * from './dataProvider/types';\n"],"names":[],"version":3,"file":"index.d.ts.map"}
1
+ {"mappings":"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","sources":["packages/semantic-data-provider/src/src/dataProvider/types.ts","packages/semantic-data-provider/src/src/dataProvider/utils/fetchResource.js","packages/semantic-data-provider/src/src/dataProvider/methods/getOne.js","packages/semantic-data-provider/src/src/dataProvider/utils/handleFiles.ts","packages/semantic-data-provider/src/src/dataProvider/utils/getServerKeyFromType.js","packages/semantic-data-provider/src/src/dataProvider/utils/parseServerKeys.js","packages/semantic-data-provider/src/src/dataProvider/utils/findContainersWithTypes.ts","packages/semantic-data-provider/src/src/dataProvider/methods/create.js","packages/semantic-data-provider/src/src/dataProvider/methods/delete.ts","packages/semantic-data-provider/src/src/dataProvider/methods/deleteMany.js","packages/semantic-data-provider/src/src/dataProvider/methods/getDataServers.js","packages/semantic-data-provider/src/src/dataProvider/methods/getDataModels.js","packages/semantic-data-provider/src/src/dataProvider/utils/arrayOf.ts","packages/semantic-data-provider/src/src/dataProvider/utils/fetchContainers.ts","packages/semantic-data-provider/src/src/dataProvider/utils/getEmbedFrame.js","packages/semantic-data-provider/src/src/dataProvider/utils/resolvePrefix.js","packages/semantic-data-provider/src/src/dataProvider/utils/buildBaseQuery.js","packages/semantic-data-provider/src/src/dataProvider/utils/buildBlankNodesQuery.js","packages/semantic-data-provider/src/src/dataProvider/utils/buildAutoDetectBlankNodesQuery.js","packages/semantic-data-provider/src/src/dataProvider/utils/buildSparqlQuery.js","packages/semantic-data-provider/src/src/dataProvider/utils/fetchSparqlEndpoints.js","packages/semantic-data-provider/src/src/dataProvider/utils/findContainersWithPath.js","packages/semantic-data-provider/src/src/dataProvider/methods/getList.js","packages/semantic-data-provider/src/src/dataProvider/methods/getMany.js","packages/semantic-data-provider/src/src/dataProvider/methods/getManyReference.js","packages/semantic-data-provider/src/src/dataProvider/methods/patch.ts","packages/semantic-data-provider/src/src/dataProvider/utils/getServerKeyFromUri.js","packages/semantic-data-provider/src/src/dataProvider/methods/update.ts","packages/semantic-data-provider/src/src/dataProvider/utils/fetchUserConfig.js","packages/semantic-data-provider/src/src/dataProvider/utils/fetchVoidEndpoints.js","packages/semantic-data-provider/src/src/dataProvider/httpClient.js","packages/semantic-data-provider/src/src/dataProvider/dataProvider.js","packages/semantic-data-provider/src/src/hooks/useGetExternalLink.js","packages/semantic-data-provider/src/src/hooks/useDataModel.ts","packages/semantic-data-provider/src/src/hooks/useDataServers.ts","packages/semantic-data-provider/src/src/hooks/useContainers.ts","packages/semantic-data-provider/src/src/dataProvider/utils/findCreateContainerWithTypes.ts","packages/semantic-data-provider/src/src/hooks/useCreateContainer.js","packages/semantic-data-provider/src/src/hooks/useDataModels.ts","packages/semantic-data-provider/src/src/hooks/useCreateContainerUri.ts","packages/semantic-data-provider/src/src/reification/FilterHandler.js","packages/semantic-data-provider/src/src/reification/GroupedReferenceHandler.js","packages/semantic-data-provider/src/src/reification/ReificationArrayInput.js","packages/semantic-data-provider/src/src/notificationChannels/subscribeToUpdates.ts","packages/semantic-data-provider/src/src/index.ts","packages/semantic-data-provider/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"export { default as dataProvider } from './dataProvider/dataProvider';\n\nexport { default as buildSparqlQuery } from './dataProvider/utils/buildSparqlQuery';\nexport { default as buildBlankNodesQuery } from './dataProvider/utils/buildBlankNodesQuery';\n\nexport { default as useGetExternalLink } from './hooks/useGetExternalLink';\nexport { default as useContainers } from './hooks/useContainers';\nexport { default as useCreateContainer } from './hooks/useCreateContainer';\nexport { default as useCreateContainerUri } from './hooks/useCreateContainerUri';\nexport { default as useDataModel } from './hooks/useDataModel';\nexport { default as useDataModels } from './hooks/useDataModels';\nexport { default as useDataServers } from './hooks/useDataServers';\n\nexport { default as FilterHandler } from './reification/FilterHandler';\nexport { default as GroupedReferenceHandler } from './reification/GroupedReferenceHandler';\nexport { default as ReificationArrayInput } from './reification/ReificationArrayInput';\n\nexport {\n createWsChannel,\n getOrCreateWsChannel,\n createSolidNotificationChannel\n} from './notificationChannels/subscribeToUpdates';\n\nexport * from './dataProvider/types';\n"],"names":[],"version":3,"file":"index.d.ts.map"}
package/dist/index.es.js CHANGED
@@ -9,6 +9,9 @@ import $fj9kP$react, {useContext as $fj9kP$useContext, useMemo as $fj9kP$useMemo
9
9
  import {jsx as $fj9kP$jsx, Fragment as $fj9kP$Fragment, jsxs as $fj9kP$jsxs} from "react/jsx-runtime";
10
10
  import $fj9kP$muistylesmakeStyles from "@mui/styles/makeStyles";
11
11
 
12
+ var $11242e90250f263e$exports = {};
13
+ /* eslint-disable @typescript-eslint/no-redundant-type-constituents */
14
+
12
15
 
13
16
 
14
17
  const $336b7edf722fe53e$var$fetchResource = async (resourceUri, config)=>{
@@ -63,13 +66,15 @@ var $ed447224dd38ce82$export$2e2bcd8739ae039 = $ed447224dd38ce82$var$getOneMetho
63
66
 
64
67
  const $b17c43e3301545ca$var$isFile = (o)=>o?.rawFile && o.rawFile instanceof File;
65
68
  const $b17c43e3301545ca$var$isFileToDelete = (o)=>o?.fileToDelete !== undefined && o?.fileToDelete !== null;
66
- const $b17c43e3301545ca$var$getUploadsContainerUri = (config)=>{
67
- const serverKey = Object.keys(config.dataServers).find((key)=>config.dataServers[key].uploadsContainer);
68
- if (serverKey && config.dataServers[serverKey].uploadsContainer) return (0, $fj9kP$urljoin)(config.dataServers[serverKey].baseUrl, config.dataServers[serverKey].uploadsContainer);
69
+ const $b17c43e3301545ca$var$getUploadsContainerUri = (config, serverKey)=>{
70
+ // If no server key is defined, or if the server has no uploads container, find any server with a uploads container
71
+ if (!serverKey || !config.dataServers[serverKey].uploadsContainer) serverKey = Object.keys(config.dataServers).find((key)=>config.dataServers[key].uploadsContainer);
72
+ if (serverKey) return (0, $fj9kP$urljoin)(config.dataServers[serverKey].baseUrl, config.dataServers[serverKey].uploadsContainer);
73
+ else // No server has an uploads container
69
74
  return null;
70
75
  };
71
- const $b17c43e3301545ca$var$uploadFile = async (rawFile, config)=>{
72
- const uploadsContainerUri = $b17c43e3301545ca$var$getUploadsContainerUri(config);
76
+ const $b17c43e3301545ca$export$a5575dbeeffdad98 = async (rawFile, config, serverKey)=>{
77
+ const uploadsContainerUri = $b17c43e3301545ca$var$getUploadsContainerUri(config, serverKey);
73
78
  if (!uploadsContainerUri) throw new Error("You must define an uploadsContainer in one of the server's configuration");
74
79
  const response = await config.httpClient(uploadsContainerUri, {
75
80
  method: "POST",
@@ -89,7 +94,7 @@ const $b17c43e3301545ca$var$deleteFiles = async (filesToDelete, config)=>{
89
94
  /*
90
95
  * Look for raw files in the record data.
91
96
  * If there are any, upload them and replace the file by its URL.
92
- */ const $b17c43e3301545ca$var$uploadAllFiles = async (record, config)=>{
97
+ */ const $b17c43e3301545ca$var$uploadAllFiles = async (record, config, serverKey)=>{
93
98
  const filesToDelete = [];
94
99
  const updatedRecord = {
95
100
  ...record
@@ -100,7 +105,7 @@ const $b17c43e3301545ca$var$deleteFiles = async (filesToDelete, config)=>{
100
105
  const itemValue = value[i];
101
106
  if ($b17c43e3301545ca$var$isFile(itemValue)) {
102
107
  if ($b17c43e3301545ca$var$isFileToDelete(itemValue)) filesToDelete.push(itemValue.fileToDelete);
103
- updatedRecord[property][i] = await $b17c43e3301545ca$var$uploadFile(itemValue.rawFile, config);
108
+ updatedRecord[property][i] = await $b17c43e3301545ca$export$a5575dbeeffdad98(itemValue.rawFile, config, serverKey);
104
109
  } else if ($b17c43e3301545ca$var$isFileToDelete(itemValue)) {
105
110
  filesToDelete.push(itemValue.fileToDelete);
106
111
  updatedRecord[property][i] = null;
@@ -108,7 +113,7 @@ const $b17c43e3301545ca$var$deleteFiles = async (filesToDelete, config)=>{
108
113
  }
109
114
  else if ($b17c43e3301545ca$var$isFile(value)) {
110
115
  if ($b17c43e3301545ca$var$isFileToDelete(value)) filesToDelete.push(value.fileToDelete);
111
- updatedRecord[property] = await $b17c43e3301545ca$var$uploadFile(value.rawFile, config);
116
+ updatedRecord[property] = await $b17c43e3301545ca$export$a5575dbeeffdad98(value.rawFile, config, serverKey);
112
117
  } else if ($b17c43e3301545ca$var$isFileToDelete(value)) {
113
118
  filesToDelete.push(value.fileToDelete);
114
119
  updatedRecord[property] = null;
@@ -221,7 +226,7 @@ const $5a7a2f7583392866$var$createMethod = (config)=>async (resourceId, params)=
221
226
  else headers.set("Slug", params.data[dataModel.fieldsMapping.title]);
222
227
  }
223
228
  // Upload files, if there are any
224
- const { updatedRecord: updatedRecord } = await (0, $b17c43e3301545ca$export$2e2bcd8739ae039).upload(params.data, config);
229
+ const { updatedRecord: updatedRecord } = await (0, $b17c43e3301545ca$export$2e2bcd8739ae039).upload(params.data, config, serverKey);
225
230
  params.data = updatedRecord;
226
231
  const { headers: responseHeaders } = await httpClient(containerUri, {
227
232
  method: "POST",
@@ -404,11 +409,8 @@ const $aba124ea15ea8bc6$var$fetchContainers = async (containers, params, { httpC
404
409
  });
405
410
  // Sorting
406
411
  if (params.sort) resources = resources.sort((a, b)=>{
407
- if (a[params.sort.field] && b[params.sort.field]) {
408
- if (params.sort.order === "ASC") return a[params.sort.field].localeCompare(b[params.sort.field]);
409
- return b[params.sort.field].localeCompare(a[params.sort.field]);
410
- }
411
- return true;
412
+ if (params.sort.order === "ASC") return (a[params.sort.field] ?? "").localeCompare(b[params.sort.field] ?? "");
413
+ return (b[params.sort.field] ?? "").localeCompare(a[params.sort.field] ?? "");
412
414
  });
413
415
  // Pagination
414
416
  const total = resources.length;
@@ -965,10 +967,23 @@ var $cdfdce6efa87baab$export$2e2bcd8739ae039 = $cdfdce6efa87baab$var$patchMethod
965
967
 
966
968
 
967
969
 
970
+ // Return the first server matching with the baseUrl
971
+ const $47e21ee81eed09a6$var$getServerKeyFromUri = (uri, dataServers)=>{
972
+ if (!uri) throw Error(`No URI provided to getServerKeyFromUri`);
973
+ return Object.keys(dataServers).find((key)=>{
974
+ if (dataServers[key].pod) // The baseUrl ends with /data so remove this part to match with the webId and webId-related URLs (/inbox, /outbox...)
975
+ return dataServers[key].baseUrl && uri.startsWith(dataServers[key].baseUrl.replace("/data", ""));
976
+ return uri.startsWith(dataServers[key].baseUrl);
977
+ });
978
+ };
979
+ var $47e21ee81eed09a6$export$2e2bcd8739ae039 = $47e21ee81eed09a6$var$getServerKeyFromUri;
980
+
981
+
968
982
  const $c5031381f4dfc62d$var$updateMethod = (config)=>async (resourceId, params)=>{
969
- const { httpClient: httpClient, jsonContext: jsonContext } = config;
983
+ const { httpClient: httpClient, jsonContext: jsonContext, dataServers: dataServers } = config;
984
+ const serverKey = (0, $47e21ee81eed09a6$export$2e2bcd8739ae039)(params.id, dataServers);
970
985
  // Upload files, if there are any
971
- const { updatedRecord: updatedRecord, filesToDelete: filesToDelete } = await (0, $b17c43e3301545ca$export$2e2bcd8739ae039).upload(params.data, config);
986
+ const { updatedRecord: updatedRecord, filesToDelete: filesToDelete } = await (0, $b17c43e3301545ca$export$2e2bcd8739ae039).upload(params.data, config, serverKey);
972
987
  params.data = updatedRecord;
973
988
  await httpClient(`${params.id}`, {
974
989
  method: "PUT",
@@ -1078,17 +1093,6 @@ var $31a4627920feab4a$export$2e2bcd8739ae039 = $31a4627920feab4a$var$fetchVoidEn
1078
1093
 
1079
1094
 
1080
1095
 
1081
- // Return the first server matching with the baseUrl
1082
- const $47e21ee81eed09a6$var$getServerKeyFromUri = (uri, dataServers)=>{
1083
- if (!uri) throw Error(`No URI provided to getServerKeyFromUri`);
1084
- return Object.keys(dataServers).find((key)=>{
1085
- if (dataServers[key].pod) // The baseUrl ends with /data so remove this part to match with the webId and webId-related URLs (/inbox, /outbox...)
1086
- return dataServers[key].baseUrl && uri.startsWith(dataServers[key].baseUrl.replace("/data", ""));
1087
- return uri.startsWith(dataServers[key].baseUrl);
1088
- });
1089
- };
1090
- var $47e21ee81eed09a6$export$2e2bcd8739ae039 = $47e21ee81eed09a6$var$getServerKeyFromUri;
1091
-
1092
1096
 
1093
1097
 
1094
1098
  /*
@@ -1141,7 +1145,8 @@ var $47e21ee81eed09a6$export$2e2bcd8739ae039 = $47e21ee81eed09a6$var$getServerKe
1141
1145
  var $22b4895a4ca7d626$export$2e2bcd8739ae039 = $22b4895a4ca7d626$var$httpClient;
1142
1146
 
1143
1147
 
1144
- const $243bf28fbb1b868f$var$dataProvider = (config)=>{
1148
+
1149
+ /** @type {(config: Configuration) => SemanticDataProvider} */ const $243bf28fbb1b868f$var$dataProvider = (config)=>{
1145
1150
  // TODO verify all data provider config + data models
1146
1151
  if (!(0, $8326b88c1a913ca9$export$2e2bcd8739ae039)("default", config.dataServers)) throw new Error("You must define a default server in your dataServers config");
1147
1152
  if (!config.jsonContext) config.jsonContext = Object.fromEntries(config.ontologies.map((o)=>[
@@ -1180,6 +1185,7 @@ const $243bf28fbb1b868f$var$dataProvider = (config)=>{
1180
1185
  getDataServers: waitForConfig((0, $7dd5bf9323d2d9c1$export$2e2bcd8739ae039)(config)),
1181
1186
  getLocalDataServers: (0, $7dd5bf9323d2d9c1$export$2e2bcd8739ae039)(config),
1182
1187
  fetch: waitForConfig(config.httpClient),
1188
+ uploadFile: waitForConfig((rawFile)=>(0, $b17c43e3301545ca$export$a5575dbeeffdad98)(rawFile, config)),
1183
1189
  refreshConfig: async ()=>{
1184
1190
  config = {
1185
1191
  ...originalConfig
@@ -1682,8 +1688,6 @@ const $03d52e691e8dc945$var$registeredWebSockets = new Map();
1682
1688
  };
1683
1689
 
1684
1690
 
1685
- var $11242e90250f263e$exports = {};
1686
- /* eslint-disable @typescript-eslint/no-redundant-type-constituents */
1687
1691
 
1688
1692
 
1689
1693