diff --git a/packages/connected-solid/src/getStorageFromWebId.ts b/packages/connected-solid/src/getStorageFromWebId.ts index 6cebbeb..01c0843 100644 --- a/packages/connected-solid/src/getStorageFromWebId.ts +++ b/packages/connected-solid/src/getStorageFromWebId.ts @@ -38,13 +38,18 @@ export async function getStorageFromWebId( const webIdResource = dataset.getResource(webId) as SolidLeaf; const readResult = await webIdResource.readIfUnfetched(); if (readResult.isError) return readResult; - const profile = this.usingType(ProfileWithStorageShapeType).fromSubject( - webId, - ); + const profile = dataset + .usingType(ProfileWithStorageShapeType) + .fromSubject(webId); if (profile.storage && profile.storage.size > 0) { - const containers = profile.storage.map((storageNode) => - this.getResource(storageNode["@id"] as SolidContainerUri), - ); + const containers = profile.storage + .map((storageNode) => + dataset.getResource(storageNode["@id"] as SolidContainerUri), + ) + .filter( + (container): container is SolidContainer => + container.type === "SolidContainer", + ); return { type: "getStorageContainerFromWebIdSuccess", isError: false, diff --git a/packages/connected-solid/src/resources/SolidLeaf.ts b/packages/connected-solid/src/resources/SolidLeaf.ts index 1f105d9..34ec815 100644 --- a/packages/connected-solid/src/resources/SolidLeaf.ts +++ b/packages/connected-solid/src/resources/SolidLeaf.ts @@ -61,11 +61,11 @@ export class SolidLeaf extends SolidResource { * The status of the last request made for this leaf */ status: - | SharedStatuses + | SharedStatuses | ReadLeafResult | LeafCreateAndOverwriteResult | LeafCreateIfAbsentResult - | UpdateResult; + | UpdateResult; /** * @internal