synapse-react-client
Version:
[](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client) [](https://badge.fury.io/js/synaps
34 lines • 1.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getLocationName = void 0;
var synapseTypes_1 = require("../synapseTypes");
var CloudProviderFileHandle_1 = require("../synapseTypes/CloudProviderFileHandle");
/**
* Gets the friendly name of a bucket/storage location using the file handle.
*
* @param fileHandle
* @returns
*/
function getLocationName(fileHandle) {
switch (fileHandle.concreteType) {
case synapseTypes_1.ExternalFileHandleConcreteTypeEnum.ProxyFileHandle:
return fileHandle.filePath;
case synapseTypes_1.ExternalFileHandleConcreteTypeEnum.ExternalObjectStoreFileHandle:
return fileHandle.bucket;
case synapseTypes_1.ExternalFileHandleConcreteTypeEnum.ExternalFileHandle:
return fileHandle.externalURL;
case CloudProviderFileHandle_1.CloudProviderFileHandleConcreteTypeEnum.S3FileHandle:
if (fileHandle.storageLocationId === 1) {
return 'Synapse Storage';
}
else {
return "s3://" + fileHandle.bucketName;
}
case CloudProviderFileHandle_1.CloudProviderFileHandleConcreteTypeEnum.GoogleCloudFileHandle:
return "gs://" + fileHandle.bucketName;
default:
throw new Error("Couldn't determine location name for file handle: " + JSON.stringify(fileHandle));
}
}
exports.getLocationName = getLocationName;
//# sourceMappingURL=FileHandleUtils.js.map