@semapps/semantic-data-provider 1.1.2 → 1.1.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
@@ -162,12 +162,15 @@ export function buildSparqlQuery({
162
162
  export const dataProvider: (originalConfig: Configuration) => SemanticDataProvider;
163
163
  export const getPrefixFromUri: (uri: string, ontologies: Record<string, string>) => string;
164
164
  export const configureUserStorage: () => Plugin;
165
+ type PluginConfiguration = {
166
+ includeSelectedResources: boolean;
167
+ };
165
168
  /**
166
169
  * Return a function that look if an app (clientId) is registered with an user (webId)
167
170
  * If not, it redirects to the endpoint provided by the user's authorization agent
168
171
  * See https://solid.github.io/data-interoperability-panel/specification/#authorization-agent
169
172
  */
170
- export const fetchAppRegistration: () => Plugin;
173
+ export const fetchAppRegistration: (pluginConfig?: PluginConfiguration) => Plugin;
171
174
  export const fetchDataRegistry: () => Plugin;
172
175
  export const fetchTypeIndexes: () => Plugin;
173
176
  export const fetchVoidEndpoints: () => Plugin;
@@ -1 +1 @@
1
- {"mappings":";;;AAIA,4BAA4B,MAAM,GAAG;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAA;CAAE,CAAC;AAC1E,2BAA2B,MAAM,GAAG;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC;AAExE,wBAAwB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB,CAAC;AAEF,wBAAwB;IACtB,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAEhB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,kCAAkC;IAClC,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd,UAAU,EAAE,SAAS,EAAE,CAAC;IAExB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,UAAU,CAAC,EAAE,GAAG,CAAC;IAEjB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB,CAAC;AAEF,gCAAgC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;AAExE,wBAAwB;IACtB,6EAA6E;IAC7E,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE;QACL,+DAA+D;QAC/D,OAAO,CAAC,EAAE,aAAa,EAAE,GAAG,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC;QAE/F,6FAA6F;QAC7F,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QAEtB,kIAAkI;QAClI,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QAEtB,0HAA0H;QAC1H,UAAU,CAAC,EAAE,EAAE,CAAC;QAEhB,2DAA2D;QAC3D,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QAEtB,2DAA2D;QAC3D,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEjC,iGAAiG;QACjG,cAAc,CAAC,EAAE,OAAO,CAAC;QAEzB,sGAAsG;QACtG,sBAAsB,CAAC,EAAE,OAAO,CAAC;KAClC,CAAC;IACF,MAAM,CAAC,EAAE;QACP,oEAAoE;QACpE,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,aAAa,CAAC;QAEvD,6GAA6G;QAC7G,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;IACF,aAAa,CAAC,EAAE;QACd,iCAAiC;QACjC,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AAEF,sBAAsB,OAAO,WAAW,SAAS,CAAC;AAElD,4BAA4B;IAC1B,WAAW,EAAE,iBAAiB,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC;IAEpB,sEAAsE;IACtE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAErC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,qBAAqB;IACnB,eAAe,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;CACpE,CAAC;AAEF,mCAAmC,YAAY,GAAG;IAChD,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACxD,cAAc,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACjD,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IACxC,aAAa,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5C,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACtD,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACrD,CAAC;AAEF,6BAA6B,UAAU,SAAS,QAAQ,GAAG,GAAG;IAC5D,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IACrB,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,IAAI,EAAE,CAAC;CAC1B;AAED,8BAA+B,SAAQ,KAAK;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,4BAA4B;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,0BAA0B;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,aAAa,EAAE,CAAC;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,0BAA0B;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,+BAA+B;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACpC,yBAAyB,EAAE,MAAM,CAAC;CACnC,CAAC;AiBnKF,OAAA,MAAM,yBAA0B,MAAM,cAAc,OAAO,MAAM,EAAE,MAAM,CAAC,WAmBzE,CAAC;AEsBF;;;;;;;;;EAwCC;AEjED;;;;;WAyIC;AcvID,sEAAsE;AACtE,4CAD4B,aAAa,KAAK,oBAAoB,CA0EhE;AC5FF,OAAA,MAAM,wBAAyB,MAAM,cAAc,OAAO,MAAM,EAAE,MAAM,CAAC,WAKxE,CAAC;ACDF,OAAA,MAAM,4BAA2B,MAqC/B,CAAC;AEnCH;;;;GAIG;AACH,OAAA,MAAM,4BAA2B,MAiD/B,CAAC;ACxDH,OAAA,MAAM,yBAAwB,MAiC5B,CAAC;AC/BH,OAAA,MAAM,wBAAuB,MAkE3B,CAAC;ACpEH,OAAA,MAAM,0BAAyB,MA8E7B,CAAC;AC9EH,OAAA,MAAM,6BAA4B,aAAa,GAAG,SAgBjD,CAAC;AEhBF,OAAA,MAAM,iCACO,MAAM,YACP,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,MAAM,EAAE,MAAM,CAAC,KACnD,MAAM,GAAG,SAaX,CAAC;AClBF,OAAA,MAAM,0DAGL,CAAC;ACHF,OAAA,MAAM,mDAGL,CAAC;ACGF,OAAA,MAAM,6BAA8B,MAAM,eAAe,MAAM,GAAG,MAAM,EAAE,gBAmBzE,CAAC;ACpBF,OAAA,MAAM,+BAAgC,MAAM,GAAG,MAAM,EAAE,gBAmBtD,CAAC;ACtBF,OAAA,MAAM,kCAAmC,MAAM,0BAiB9C,CAAC;AEdF,OAAA,MAAM,6CAKW,MAAM,kCA2BtB,CAAC;ACpCF,OAAA,MAAM,oCAAqC,MAAM,kCAMhD,CAAC;ACPF,OAAA,MAAM,2BAA4B,MAAM,0BAGvC,CAAC;ACEF,sFA2CC;AC9CD,OAAA,MAAM,iCAGqB,MAAM,WAChC,CAAC;ACNF;;;;;;;;;;;;;GAaG;AAEH;;;;;;gBAsCC;ACUD;;;;;;;gBA2BC;ACzED,+DAiBC;AChCD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAsBD,OAAA,MAAM,qDACgB,OAAO,eACd,MAAM,YACV,yBAAyB,iBAoDnC,CAAC;AAEF,OAAA,MAAM,sCACgB,OAAO,eACd,MAAM,WACV,yBAAyB,uBAMnC,CAAC;AAIF;;;;;GAKG;AACH,OAAA,MAAM,2CACgB,OAAO,eACd,MAAM,YACV,yBAAyB,uBA6BnC,CAAC","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/getUploadsContainerUri.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.ts","packages/semantic-data-provider/src/src/dataProvider/utils/findContainersWithTypes.ts","packages/semantic-data-provider/src/src/dataProvider/utils/findContainersWithURIs.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/getUriFromPrefix.ts","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/findContainersWithShapeTree.ts","packages/semantic-data-provider/src/src/dataProvider/methods/getList.ts","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/httpClient.js","packages/semantic-data-provider/src/src/dataProvider/utils/expandTypes.ts","packages/semantic-data-provider/src/src/dataProvider/utils/getTypesFromShapeTree.ts","packages/semantic-data-provider/src/src/dataProvider/utils/normalizeConfig.ts","packages/semantic-data-provider/src/src/dataProvider/utils/getOntologiesFromContext.ts","packages/semantic-data-provider/src/src/dataProvider/dataProvider.js","packages/semantic-data-provider/src/src/dataProvider/utils/getPrefixFromUri.ts","packages/semantic-data-provider/src/src/dataProvider/plugins/configureUserStorage.ts","packages/semantic-data-provider/src/src/dataProvider/utils/getContainerFromDataRegistration.ts","packages/semantic-data-provider/src/src/dataProvider/plugins/fetchAppRegistration.ts","packages/semantic-data-provider/src/src/dataProvider/plugins/fetchDataRegistry.ts","packages/semantic-data-provider/src/src/dataProvider/plugins/fetchTypeIndexes.ts","packages/semantic-data-provider/src/src/dataProvider/plugins/fetchVoidEndpoints.ts","packages/semantic-data-provider/src/src/hooks/useDataProviderConfig.ts","packages/semantic-data-provider/src/src/dataProvider/utils/compactPredicate.ts","packages/semantic-data-provider/src/src/hooks/useCompactPredicate.ts","packages/semantic-data-provider/src/src/hooks/useDataModels.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/hooks/useContainersByTypes.ts","packages/semantic-data-provider/src/src/hooks/useContainerByUri.ts","packages/semantic-data-provider/src/src/dataProvider/utils/findCreateContainerWithTypes.ts","packages/semantic-data-provider/src/src/hooks/useGetCreateContainerUri.ts","packages/semantic-data-provider/src/src/hooks/useCreateContainerUri.ts","packages/semantic-data-provider/src/src/hooks/useDataModel.ts","packages/semantic-data-provider/src/src/hooks/useGetExternalLink.js","packages/semantic-data-provider/src/src/hooks/useGetPrefixFromUri.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,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';\nexport { default as getUriFromPrefix } from './dataProvider/utils/getUriFromPrefix';\nexport { default as getPrefixFromUri } from './dataProvider/utils/getPrefixFromUri';\n\nexport { default as configureUserStorage } from './dataProvider/plugins/configureUserStorage';\nexport { default as fetchAppRegistration } from './dataProvider/plugins/fetchAppRegistration';\nexport { default as fetchDataRegistry } from './dataProvider/plugins/fetchDataRegistry';\nexport { default as fetchTypeIndexes } from './dataProvider/plugins/fetchTypeIndexes';\nexport { default as fetchVoidEndpoints } from './dataProvider/plugins/fetchVoidEndpoints';\n\nexport { default as useCompactPredicate } from './hooks/useCompactPredicate';\nexport { default as useContainers } from './hooks/useContainers';\nexport { default as useContainersByTypes } from './hooks/useContainersByTypes';\nexport { default as useContainerByUri } from './hooks/useContainerByUri';\nexport { default as useCreateContainerUri } from './hooks/useCreateContainerUri';\nexport { default as useDataModel } from './hooks/useDataModel';\nexport { default as useDataModels } from './hooks/useDataModels';\nexport { default as useDataProviderConfig } from './hooks/useDataProviderConfig';\nexport { default as useDataServers } from './hooks/useDataServers';\nexport { default as useGetCreateContainerUri } from './hooks/useGetCreateContainerUri';\nexport { default as useGetExternalLink } from './hooks/useGetExternalLink';\nexport { default as useGetPrefixFromUri } from './hooks/useGetPrefixFromUri';\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/getUploadsContainerUri.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.ts","packages/semantic-data-provider/src/src/dataProvider/utils/findContainersWithTypes.ts","packages/semantic-data-provider/src/src/dataProvider/utils/findContainersWithURIs.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/fetchSelectedResources.js","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/getUriFromPrefix.ts","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/findContainersWithShapeTree.ts","packages/semantic-data-provider/src/src/dataProvider/methods/getList.ts","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/httpClient.js","packages/semantic-data-provider/src/src/dataProvider/utils/expandTypes.ts","packages/semantic-data-provider/src/src/dataProvider/utils/getTypesFromShapeTree.ts","packages/semantic-data-provider/src/src/dataProvider/utils/normalizeConfig.ts","packages/semantic-data-provider/src/src/dataProvider/utils/getOntologiesFromContext.ts","packages/semantic-data-provider/src/src/dataProvider/dataProvider.js","packages/semantic-data-provider/src/src/dataProvider/utils/getPrefixFromUri.ts","packages/semantic-data-provider/src/src/dataProvider/plugins/configureUserStorage.ts","packages/semantic-data-provider/src/src/dataProvider/utils/getContainerFromDataRegistration.ts","packages/semantic-data-provider/src/src/dataProvider/plugins/fetchAppRegistration.ts","packages/semantic-data-provider/src/src/dataProvider/plugins/fetchDataRegistry.ts","packages/semantic-data-provider/src/src/dataProvider/plugins/fetchTypeIndexes.ts","packages/semantic-data-provider/src/src/dataProvider/plugins/fetchVoidEndpoints.ts","packages/semantic-data-provider/src/src/hooks/useDataProviderConfig.ts","packages/semantic-data-provider/src/src/dataProvider/utils/compactPredicate.ts","packages/semantic-data-provider/src/src/hooks/useCompactPredicate.ts","packages/semantic-data-provider/src/src/hooks/useDataModels.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/hooks/useContainersByTypes.ts","packages/semantic-data-provider/src/src/hooks/useContainerByUri.ts","packages/semantic-data-provider/src/src/dataProvider/utils/findCreateContainerWithTypes.ts","packages/semantic-data-provider/src/src/hooks/useGetCreateContainerUri.ts","packages/semantic-data-provider/src/src/hooks/useCreateContainerUri.ts","packages/semantic-data-provider/src/src/hooks/useDataModel.ts","packages/semantic-data-provider/src/src/hooks/useGetExternalLink.js","packages/semantic-data-provider/src/src/hooks/useGetPrefixFromUri.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,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';\nexport { default as getUriFromPrefix } from './dataProvider/utils/getUriFromPrefix';\nexport { default as getPrefixFromUri } from './dataProvider/utils/getPrefixFromUri';\n\nexport { default as configureUserStorage } from './dataProvider/plugins/configureUserStorage';\nexport { default as fetchAppRegistration } from './dataProvider/plugins/fetchAppRegistration';\nexport { default as fetchDataRegistry } from './dataProvider/plugins/fetchDataRegistry';\nexport { default as fetchTypeIndexes } from './dataProvider/plugins/fetchTypeIndexes';\nexport { default as fetchVoidEndpoints } from './dataProvider/plugins/fetchVoidEndpoints';\n\nexport { default as useCompactPredicate } from './hooks/useCompactPredicate';\nexport { default as useContainers } from './hooks/useContainers';\nexport { default as useContainersByTypes } from './hooks/useContainersByTypes';\nexport { default as useContainerByUri } from './hooks/useContainerByUri';\nexport { default as useCreateContainerUri } from './hooks/useCreateContainerUri';\nexport { default as useDataModel } from './hooks/useDataModel';\nexport { default as useDataModels } from './hooks/useDataModels';\nexport { default as useDataProviderConfig } from './hooks/useDataProviderConfig';\nexport { default as useDataServers } from './hooks/useDataServers';\nexport { default as useGetCreateContainerUri } from './hooks/useGetCreateContainerUri';\nexport { default as useGetExternalLink } from './hooks/useGetExternalLink';\nexport { default as useGetPrefixFromUri } from './hooks/useGetPrefixFromUri';\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
@@ -77,7 +77,6 @@ var $c35ffbda15247c32$export$2e2bcd8739ae039 = $c35ffbda15247c32$var$getUploadsC
77
77
 
78
78
 
79
79
  const $b17c43e3301545ca$var$isFile = (o)=>o?.rawFile && o.rawFile instanceof File;
80
- const $b17c43e3301545ca$var$isFileToDelete = (o)=>o?.fileToDelete !== undefined && o?.fileToDelete !== null;
81
80
  const $b17c43e3301545ca$export$a5575dbeeffdad98 = async (rawFile, config, serverKey)=>{
82
81
  const uploadsContainerUri = (0, $c35ffbda15247c32$export$2e2bcd8739ae039)(config, serverKey);
83
82
  if (!uploadsContainerUri) throw new Error("You must define an container with binaryResources in one of the server's configuration");
@@ -91,16 +90,10 @@ const $b17c43e3301545ca$export$a5575dbeeffdad98 = async (rawFile, config, server
91
90
  if (response.status === 201) return response.headers.get('Location');
92
91
  return null;
93
92
  };
94
- const $b17c43e3301545ca$var$deleteFiles = async (filesToDelete, config)=>{
95
- return Promise.all(filesToDelete.map((file)=>config.httpClient(file, {
96
- method: 'DELETE'
97
- })));
98
- };
99
93
  /*
100
94
  * Look for raw files in the record data.
101
95
  * If there are any, upload them and replace the file by its URL.
102
96
  */ const $b17c43e3301545ca$var$uploadAllFiles = async (record, config, serverKey)=>{
103
- const filesToDelete = [];
104
97
  const updatedRecord = {
105
98
  ...record
106
99
  };
@@ -108,30 +101,16 @@ const $b17c43e3301545ca$var$deleteFiles = async (filesToDelete, config)=>{
108
101
  const value = record[property];
109
102
  if (Array.isArray(value)) for(let i = 0; i < value.length; i++){
110
103
  const itemValue = value[i];
111
- if ($b17c43e3301545ca$var$isFile(itemValue)) {
112
- if ($b17c43e3301545ca$var$isFileToDelete(itemValue)) filesToDelete.push(itemValue.fileToDelete);
113
- updatedRecord[property][i] = await $b17c43e3301545ca$export$a5575dbeeffdad98(itemValue.rawFile, config, serverKey);
114
- } else if ($b17c43e3301545ca$var$isFileToDelete(itemValue)) {
115
- filesToDelete.push(itemValue.fileToDelete);
116
- updatedRecord[property][i] = null;
117
- }
118
- }
119
- else if ($b17c43e3301545ca$var$isFile(value)) {
120
- if ($b17c43e3301545ca$var$isFileToDelete(value)) filesToDelete.push(value.fileToDelete);
121
- updatedRecord[property] = await $b17c43e3301545ca$export$a5575dbeeffdad98(value.rawFile, config, serverKey);
122
- } else if ($b17c43e3301545ca$var$isFileToDelete(value)) {
123
- filesToDelete.push(value.fileToDelete);
124
- updatedRecord[property] = null;
104
+ if ($b17c43e3301545ca$var$isFile(itemValue)) updatedRecord[property][i] = await $b17c43e3301545ca$export$a5575dbeeffdad98(itemValue.rawFile, config, serverKey);
125
105
  }
106
+ else if ($b17c43e3301545ca$var$isFile(value)) updatedRecord[property] = await $b17c43e3301545ca$export$a5575dbeeffdad98(value.rawFile, config, serverKey);
126
107
  }
127
108
  return {
128
- updatedRecord: updatedRecord,
129
- filesToDelete: filesToDelete
109
+ updatedRecord: updatedRecord
130
110
  };
131
111
  };
132
112
  var $b17c43e3301545ca$export$2e2bcd8739ae039 = {
133
- upload: $b17c43e3301545ca$var$uploadAllFiles,
134
- delete: $b17c43e3301545ca$var$deleteFiles
113
+ upload: $b17c43e3301545ca$var$uploadAllFiles
135
114
  };
136
115
 
137
116
 
@@ -267,13 +246,11 @@ const $5a7a2f7583392866$var$createMethod = (config)=>async (resourceId, params)=
267
246
  var $5a7a2f7583392866$export$2e2bcd8739ae039 = $5a7a2f7583392866$var$createMethod;
268
247
 
269
248
 
270
-
271
249
  const $9510970b8e7eb9e2$var$deleteMethod = (config)=>async (resourceId, params)=>{
272
250
  const { httpClient: httpClient } = config;
273
251
  await httpClient(`${params.id}`, {
274
252
  method: 'DELETE'
275
253
  });
276
- if (params.meta?.filesToDelete) await (0, $b17c43e3301545ca$export$2e2bcd8739ae039).delete(params.meta.filesToDelete, config);
277
254
  return {
278
255
  data: {
279
256
  id: params.id
@@ -328,6 +305,19 @@ const $cc8adac4b83414eb$var$arrayOf = (value)=>{
328
305
  var $cc8adac4b83414eb$export$2e2bcd8739ae039 = $cc8adac4b83414eb$var$arrayOf;
329
306
 
330
307
 
308
+
309
+ // Fetch the selected resources of the provided containers
310
+ // Filter out resources that are provided (can avoid loading a resource twice)
311
+ const $c83d324c3b433284$var$fetchSelectedResources = async (containers, excludedResourcesUris, config)=>{
312
+ let selectedResourcesUris = containers.filter((c)=>c.selectedResources).map((c)=>c.selectedResources).flat();
313
+ // Filter out resources which are already included in the SPARQL query results
314
+ selectedResourcesUris = selectedResourcesUris.filter((uri)=>!excludedResourcesUris.includes(uri));
315
+ const selectedResources = await Promise.all(selectedResourcesUris.map((resourceUri)=>(0, $336b7edf722fe53e$export$2e2bcd8739ae039)(resourceUri, config)));
316
+ return selectedResources;
317
+ };
318
+ var $c83d324c3b433284$export$2e2bcd8739ae039 = $c83d324c3b433284$var$fetchSelectedResources;
319
+
320
+
331
321
  const $aba124ea15ea8bc6$var$isValidLDPContainer = (container)=>{
332
322
  const resourceType = container.type || container['@type'];
333
323
  return Array.isArray(resourceType) ? resourceType.includes('ldp:Container') : resourceType === 'ldp:Container';
@@ -335,23 +325,24 @@ const $aba124ea15ea8bc6$var$isValidLDPContainer = (container)=>{
335
325
  const $aba124ea15ea8bc6$var$isObject = (val)=>{
336
326
  return val != null && typeof val === 'object' && !Array.isArray(val);
337
327
  };
338
- const $aba124ea15ea8bc6$var$fetchContainers = async (containers, params, { httpClient: httpClient, jsonContext: jsonContext })=>{
339
- const fetchPromises = containers.map((container)=>httpClient(container.uri).then(async ({ json: json })=>{
340
- const jsonResponse = json;
341
- // If container's context is different, compact it to have an uniform result
342
- // TODO deep compare if the context is an object
343
- if (jsonResponse['@context'] !== jsonContext) return (0, $fj9kP$jsonld).compact(jsonResponse, jsonContext);
344
- return jsonResponse;
345
- }).then((json)=>{
346
- if (!$aba124ea15ea8bc6$var$isValidLDPContainer(json)) throw new Error(`${container.uri} is not a LDP container`);
347
- return (0, $cc8adac4b83414eb$export$2e2bcd8739ae039)(json['ldp:contains']).map((resource)=>({
348
- '@context': json['@context'],
349
- ...resource
350
- }));
351
- }));
328
+ const $aba124ea15ea8bc6$var$fetchContainers = async (containers, params, config)=>{
329
+ const { httpClient: httpClient, jsonContext: jsonContext } = config;
352
330
  // Fetch simultaneously all containers
353
- const results = await Promise.all(fetchPromises);
331
+ const results = await Promise.all(containers.filter((c)=>!c.selectedResources).map(async (container)=>{
332
+ let { json: json } = await httpClient(container.uri);
333
+ // If container's context is different, compact it to have an uniform result
334
+ // TODO deep compare if the context is an object
335
+ if (json['@context'] !== jsonContext) json = await (0, $fj9kP$jsonld).compact(json, jsonContext);
336
+ if (!$aba124ea15ea8bc6$var$isValidLDPContainer(json)) throw new Error(`${container.uri} is not a LDP container`);
337
+ return (0, $cc8adac4b83414eb$export$2e2bcd8739ae039)(json['ldp:contains']).map((resource)=>({
338
+ '@context': json['@context'],
339
+ ...resource
340
+ }));
341
+ }));
354
342
  let resources = results.flat();
343
+ // Append selected resources (if any)
344
+ const selectedResources = await (0, $c83d324c3b433284$export$2e2bcd8739ae039)(containers, resources.map((r)=>r.id), config);
345
+ resources = resources.concat(selectedResources);
355
346
  resources = resources.map((resource)=>{
356
347
  resource.id = resource.id || resource['@id'];
357
348
  return resource;
@@ -751,6 +742,7 @@ const $6cde9a8fbbde3ffb$var$buildSparqlQuery = ({ containersUris: containersUris
751
742
  var $6cde9a8fbbde3ffb$export$2e2bcd8739ae039 = $6cde9a8fbbde3ffb$var$buildSparqlQuery;
752
743
 
753
744
 
745
+
754
746
  const $05a1b4063d50f1b7$var$compare = (a, b)=>{
755
747
  switch(typeof a){
756
748
  case 'string':
@@ -762,16 +754,19 @@ const $05a1b4063d50f1b7$var$compare = (a, b)=>{
762
754
  }
763
755
  };
764
756
  const $05a1b4063d50f1b7$var$fetchSparqlEndpoints = async (containers, resourceId, params, config)=>{
765
- const { dataServers: dataServers, resources: resources, httpClient: httpClient, jsonContext: jsonContext, ontologies: ontologies } = config;
766
- const dataModel = resources[resourceId];
767
- const serversToQuery = containers.reduce((acc, cur)=>{
757
+ const { dataServers: dataServers, httpClient: httpClient, jsonContext: jsonContext, ontologies: ontologies } = config;
758
+ const dataModel = config.resources[resourceId];
759
+ // Find servers to query with SPARQL
760
+ // (Ignore containers with selected resources, they will be fetched below)
761
+ const serversToQuery = containers.filter((c)=>!c.selectedResources).reduce((acc, cur)=>{
768
762
  if (!acc.includes(cur.server)) acc.push(cur.server);
769
763
  return acc;
770
764
  }, []);
771
- const sparqlQueryPromises = serversToQuery.map((serverKey)=>new Promise((resolve, reject)=>{
765
+ // Run simultaneous SPARQL queries
766
+ const results = await Promise.all(serversToQuery.map((serverKey)=>new Promise((resolve, reject)=>{
772
767
  const blankNodes = params.filter?.blankNodes || dataModel.list?.blankNodes;
773
768
  const sparqlQuery = (0, $6cde9a8fbbde3ffb$export$2e2bcd8739ae039)({
774
- containersUris: containers.filter((c)=>c.server === serverKey).map((c)=>c.uri),
769
+ containersUris: containers.filter((c)=>c.server === serverKey && !c.selectedResources).map((c)=>c.uri),
775
770
  params: params,
776
771
  dataModel: dataModel,
777
772
  ontologies: ontologies
@@ -811,17 +806,18 @@ const $05a1b4063d50f1b7$var$fetchSparqlEndpoints = async (containers, resourceId
811
806
  ...resource
812
807
  })) || []);
813
808
  }).catch((e)=>reject(e));
814
- }));
815
- // Run simultaneous SPARQL queries
816
- let results = await Promise.all(sparqlQueryPromises);
817
- if (results.length === 0) return {
809
+ })));
810
+ // Merge results from all SPARQL servers
811
+ let resources = results.flat();
812
+ // Append selected resources to SPARQL query results
813
+ const selectedResources = await (0, $c83d324c3b433284$export$2e2bcd8739ae039)(containers, resources.map((r)=>r.id), config);
814
+ resources = resources.concat(selectedResources);
815
+ if (resources.length === 0) return {
818
816
  data: [],
819
817
  total: 0
820
818
  };
821
- // Merge all results in one array
822
- results = [].concat(...results);
823
819
  // Add id in addition to @id, as this is what React-Admin expects
824
- let returnData = results.map((item)=>{
820
+ let returnData = resources.map((item)=>{
825
821
  item.id = item.id || item['@id'];
826
822
  return item;
827
823
  });
@@ -970,7 +966,7 @@ const $c5031381f4dfc62d$var$updateMethod = (config)=>async (resourceId, params)=
970
966
  const { httpClient: httpClient, jsonContext: jsonContext, dataServers: dataServers } = config;
971
967
  const serverKey = (0, $47e21ee81eed09a6$export$2e2bcd8739ae039)(params.id, dataServers);
972
968
  // Upload files, if there are any
973
- const { updatedRecord: updatedRecord, filesToDelete: filesToDelete } = await (0, $b17c43e3301545ca$export$2e2bcd8739ae039).upload(params.data, config, serverKey);
969
+ const { updatedRecord: updatedRecord } = await (0, $b17c43e3301545ca$export$2e2bcd8739ae039).upload(params.data, config, serverKey);
974
970
  params.data = updatedRecord;
975
971
  await httpClient(`${params.id}`, {
976
972
  method: 'PUT',
@@ -979,8 +975,6 @@ const $c5031381f4dfc62d$var$updateMethod = (config)=>async (resourceId, params)=
979
975
  ...params.data
980
976
  })
981
977
  });
982
- // Delete files only if update is successful
983
- await (0, $b17c43e3301545ca$export$2e2bcd8739ae039).delete(filesToDelete, config);
984
978
  return {
985
979
  data: params.data
986
980
  };
@@ -1243,7 +1237,7 @@ const $cdd3c71a628eeefe$var$configureUserStorage = ()=>({
1243
1237
  const newConfig = {
1244
1238
  ...config
1245
1239
  };
1246
- newConfig.dataServers.user = {
1240
+ newConfig.dataServers[webId] = {
1247
1241
  pod: true,
1248
1242
  default: true,
1249
1243
  authServer: true,
@@ -1271,6 +1265,7 @@ var $cdd3c71a628eeefe$export$2e2bcd8739ae039 = $cdd3c71a628eeefe$var$configureUs
1271
1265
 
1272
1266
 
1273
1267
 
1268
+
1274
1269
  const $d7a7484a035f15cd$var$getContainerFromDataRegistration = async (dataRegistrationUri, config)=>{
1275
1270
  const { json: dataRegistration } = await config.httpClient(dataRegistrationUri, {
1276
1271
  headers: new Headers({
@@ -1304,7 +1299,8 @@ const $d7a7484a035f15cd$var$getContainerFromDataRegistration = async (dataRegist
1304
1299
  '@container': '@language'
1305
1300
  }
1306
1301
  });
1307
- const { baseUrl: baseUrl } = config.dataServers.user;
1302
+ const userStorage = (0, $8326b88c1a913ca9$export$2e2bcd8739ae039)('default', config.dataServers);
1303
+ const { baseUrl: baseUrl } = config.dataServers[userStorage];
1308
1304
  const containerPath = dataRegistration.id.replace(baseUrl, '');
1309
1305
  const container = {
1310
1306
  path: containerPath,
@@ -1330,7 +1326,9 @@ var $d7a7484a035f15cd$export$2e2bcd8739ae039 = $d7a7484a035f15cd$var$getContaine
1330
1326
  * Return a function that look if an app (clientId) is registered with an user (webId)
1331
1327
  * If not, it redirects to the endpoint provided by the user's authorization agent
1332
1328
  * See https://solid.github.io/data-interoperability-panel/specification/#authorization-agent
1333
- */ const $2c257b4237cb14ca$var$fetchAppRegistration = ()=>({
1329
+ */ const $2c257b4237cb14ca$var$fetchAppRegistration = (pluginConfig = {})=>{
1330
+ const { includeSelectedResources: includeSelectedResources = true } = pluginConfig;
1331
+ return {
1334
1332
  transformConfig: async (config)=>{
1335
1333
  const token = localStorage.getItem('token');
1336
1334
  // If the user is logged in
@@ -1352,15 +1350,27 @@ var $d7a7484a035f15cd$export$2e2bcd8739ae039 = $d7a7484a035f15cd$var$getContaine
1352
1350
  const newConfig = {
1353
1351
  ...config
1354
1352
  };
1355
- // Load data grants concurrently to improve performances
1353
+ // Load access grants concurrently to improve performances
1356
1354
  const results = await Promise.all((0, $cc8adac4b83414eb$export$2e2bcd8739ae039)(appRegistration['interop:hasAccessGrant']).map(async (accessGrantUri)=>{
1357
1355
  const { json: accessGrant } = await config.httpClient(accessGrantUri);
1358
- return Promise.all((0, $cc8adac4b83414eb$export$2e2bcd8739ae039)(accessGrant['interop:hasDataGrant']).map(async (dataGrantUri)=>{
1359
- const { json: dataGrant } = await config.httpClient(dataGrantUri);
1360
- return (0, $d7a7484a035f15cd$export$2e2bcd8739ae039)(dataGrant['interop:hasDataRegistration'], config);
1361
- }));
1356
+ const container = await (0, $d7a7484a035f15cd$export$2e2bcd8739ae039)(accessGrant['interop:hasDataRegistration'], config);
1357
+ container.server = accessGrant['interop:dataOwner'];
1358
+ if (accessGrant['interop:scopeOfGrant'] === 'interop:AllFromRegistry') return container;
1359
+ else if (accessGrant['interop:scopeOfGrant'] === 'interop:SelectedFromRegistry') {
1360
+ if (!includeSelectedResources) return undefined;
1361
+ container.selectedResources = (0, $cc8adac4b83414eb$export$2e2bcd8739ae039)(accessGrant['interop:hasDataInstance']);
1362
+ return container;
1363
+ }
1362
1364
  }));
1363
- newConfig.dataServers.user.containers = results.flat();
1365
+ // Put data shared by other users in other servers (storages)
1366
+ for (const container of results.flat().filter((i)=>i !== undefined))if (!newConfig.dataServers[container.server]) newConfig.dataServers[container.server] = {
1367
+ pod: true,
1368
+ baseUrl: `${container.server}/data`,
1369
+ containers: [
1370
+ container
1371
+ ]
1372
+ };
1373
+ else newConfig.dataServers[container.server].containers.push(container);
1364
1374
  return newConfig;
1365
1375
  }
1366
1376
  }
@@ -1368,7 +1378,8 @@ var $d7a7484a035f15cd$export$2e2bcd8739ae039 = $d7a7484a035f15cd$var$getContaine
1368
1378
  }
1369
1379
  return config;
1370
1380
  }
1371
- });
1381
+ };
1382
+ };
1372
1383
  var $2c257b4237cb14ca$export$2e2bcd8739ae039 = $2c257b4237cb14ca$var$fetchAppRegistration;
1373
1384
 
1374
1385
 
@@ -1379,9 +1390,9 @@ const $91255e144bb55afc$var$fetchDataRegistry = ()=>({
1379
1390
  const token = localStorage.getItem('token');
1380
1391
  // If the user is logged in
1381
1392
  if (token) {
1382
- if (!config.dataServers.user) throw new Error(`You must configure the user storage first with the configureUserStorage plugin`);
1383
1393
  const payload = (0, $fj9kP$jwtdecode)(token);
1384
1394
  const webId = payload.webId || payload.webid; // Currently we must deal with both formats
1395
+ if (!config.dataServers[webId]) throw new Error(`You must configure the user storage first with the configureUserStorage plugin`);
1385
1396
  const { json: user } = await config.httpClient(webId);
1386
1397
  const { json: registrySet } = await config.httpClient(user['interop:hasRegistrySet']);
1387
1398
  const { json: dataRegistry } = await config.httpClient(registrySet['interop:hasDataRegistry']);
@@ -1392,7 +1403,7 @@ const $91255e144bb55afc$var$fetchDataRegistry = ()=>({
1392
1403
  const newConfig = {
1393
1404
  ...config
1394
1405
  };
1395
- newConfig.dataServers.user.containers?.push(...results.flat());
1406
+ newConfig.dataServers[webId].containers?.push(...results.flat());
1396
1407
  return newConfig;
1397
1408
  }
1398
1409
  }
@@ -1412,9 +1423,9 @@ const $2d5f75df63129ebc$var$fetchTypeIndexes = ()=>({
1412
1423
  const token = localStorage.getItem('token');
1413
1424
  // If the user is logged in
1414
1425
  if (token) {
1415
- if (!config.dataServers.user) throw new Error(`You must configure the user storage first with the configureUserStorage plugin`);
1416
1426
  const payload = (0, $fj9kP$jwtdecode)(token);
1417
1427
  const webId = payload.webId || payload.webid; // Currently we must deal with both formats
1428
+ if (!config.dataServers[webId]) throw new Error(`You must configure the user storage first with the configureUserStorage plugin`);
1418
1429
  const { json: user } = await config.httpClient(webId);
1419
1430
  const typeRegistrations = {
1420
1431
  public: [],
@@ -1443,17 +1454,17 @@ const $2d5f75df63129ebc$var$fetchTypeIndexes = ()=>({
1443
1454
  separateNumbers: true
1444
1455
  })
1445
1456
  },
1446
- path: typeRegistration['solid:instanceContainer'].replace(newConfig.dataServers.user.baseUrl, ''),
1457
+ path: typeRegistration['solid:instanceContainer'].replace(newConfig.dataServers[webId].baseUrl, ''),
1447
1458
  types: await (0, $36aa010ec46eaf45$export$2e2bcd8739ae039)(types, user['@context']),
1448
1459
  private: mode === 'private'
1449
1460
  };
1450
- const containerIndex = newConfig.dataServers.user.containers.findIndex((c)=>c.path === container.path);
1461
+ const containerIndex = newConfig.dataServers[webId].containers.findIndex((c)=>c.path === container.path);
1451
1462
  if (containerIndex !== -1) // If a container with this URI already exist, add type registration information if they are not set
1452
- newConfig.dataServers.user.containers[containerIndex] = {
1463
+ newConfig.dataServers[webId].containers[containerIndex] = {
1453
1464
  ...container,
1454
- ...newConfig.dataServers.user.containers[containerIndex]
1465
+ ...newConfig.dataServers[webId].containers[containerIndex]
1455
1466
  };
1456
- else newConfig.dataServers.user.containers.push(container);
1467
+ else newConfig.dataServers[webId].containers.push(container);
1457
1468
  }
1458
1469
  return newConfig;
1459
1470
  }