UNPKG

synapse-react-client

Version:

[![npm version](https://badge.fury.io/js/synapse-react-client.svg)](https://badge.fury.io/js/synapse-react-client) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettie

95 lines (94 loc) 2.59 kB
import { EntityType as i } from "@sage-bionetworks/synapse-client"; import { UploadType as _, GOOGLE_CLOUD_FILE_HANDLE_CONCRETE_TYPE_VALUE as c, S3_FILE_HANDLE_CONCRETE_TYPE_VALUE as n, EXTERNAL_FILE_HANDLE_CONCRETE_TYPE_VALUE as a, PROXY_FILE_HANDLE_CONCRETE_TYPE_VALUE as s, EXTERNAL_OBJECT_STORE_FILE_HANDLE_CONCRETE_TYPE_VALUE as o } from "@sage-bionetworks/synapse-types"; const l = "Synapse Storage"; function g(e, r) { switch (e.concreteType) { case o: return { endpoint: e.endpointUrl, bucket: e.bucket, fileKey: e.fileKey }; case s: case a: return { url: E( e, r ) }; case n: case c: return { location: E( e, r ) }; default: throw new Error( `Couldn't determine location name for file handle: ${JSON.stringify( e )}` ); } } function E(e, r) { switch (e.concreteType) { case s: return e.filePath; case o: case n: case c: return r ? T(r) : e.concreteType === o ? e.bucket : e.bucketName; case a: return e.externalURL; default: throw new Error( `Couldn't determine location name for file handle: ${JSON.stringify( e )}` ); } } function L(e) { let r; return e.entityType === i.file && (r = e.fileHandles.filter( (t) => t.id === e.entity.dataFileHandleId )[0]), r; } function T(e) { let r = ""; if (e) switch (e.concreteType) { case "org.sagebionetworks.repo.model.file.S3UploadDestination": r = l; break; case "org.sagebionetworks.repo.model.file.ExternalUploadDestination": if (r = e.url, e.uploadType === _.SFTP) { const t = r.lastIndexOf("/"); t && (r = r.substring( 0, t )); } break; case "org.sagebionetworks.repo.model.file.ExternalS3UploadDestination": r = "s3://" + e.bucket + "/", e.baseKey != null && (r += e.baseKey); break; case "org.sagebionetworks.repo.model.file.ExternalGoogleCloudUploadDestination": r = "gs://" + e.bucket + "/", e.baseKey != null && (r += e.baseKey); break; case "org.sagebionetworks.repo.model.file.ExternalObjectStoreUploadDestination": r = e.endpointUrl + "/" + e.bucket; break; } return r; } export { L as getDataFileHandle, g as getFileHandleStorageInfo, E as getStorageLocationName, T as getUploadDestinationString }; //# sourceMappingURL=FileHandleUtils.js.map