synapse-react-client
Version:
[](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client) [](https://badge.fury.io/js/synaps
117 lines • 4.98 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isVersionableEntityType = exports.convertToEntityType = exports.entityTypeToFriendlyName = exports.isContainerType = exports.getEntityTypeFromHeader = void 0;
var synapseTypes_1 = require("../synapseTypes");
function getEntityTypeFromHeader(header) {
// Hit has the `node_type` field which is what we already want.
if (header.node_type) {
return header.node_type;
}
// ProjectHeader doesn't have the `type` field, so we can just check that to determine if it's a ProjectHeader
return header.type === undefined
? synapseTypes_1.EntityType.PROJECT
: convertToEntityType(header.type);
}
exports.getEntityTypeFromHeader = getEntityTypeFromHeader;
function isContainerType(type) {
switch (type) {
case synapseTypes_1.EntityType.PROJECT:
case synapseTypes_1.EntityType.FOLDER:
return true;
case synapseTypes_1.EntityType.LINK:
case synapseTypes_1.EntityType.DOCKER_REPO:
case synapseTypes_1.EntityType.FILE:
case synapseTypes_1.EntityType.TABLE:
case synapseTypes_1.EntityType.SUBMISSION_VIEW:
case synapseTypes_1.EntityType.ENTITY_VIEW:
case synapseTypes_1.EntityType.DATASET:
return false;
default:
throw new Error("Unknown entity type: " + type);
}
}
exports.isContainerType = isContainerType;
function entityTypeToFriendlyName(entityType) {
switch (entityType) {
case synapseTypes_1.EntityType.PROJECT:
return 'Project';
case synapseTypes_1.EntityType.FOLDER:
return 'Folder';
case synapseTypes_1.EntityType.FILE:
return 'File';
case synapseTypes_1.EntityType.TABLE:
return 'Table';
case synapseTypes_1.EntityType.LINK:
return 'Link';
case synapseTypes_1.EntityType.ENTITY_VIEW:
return 'Entity View';
case synapseTypes_1.EntityType.DOCKER_REPO:
return 'Docker Repository';
case synapseTypes_1.EntityType.SUBMISSION_VIEW:
return 'Submission View';
case synapseTypes_1.EntityType.DATASET:
return 'Dataset';
default:
console.warn('Entity type could not be mapped to name:', entityType);
return '';
}
}
exports.entityTypeToFriendlyName = entityTypeToFriendlyName;
function convertToEntityType(typeString) {
switch (typeString) {
case synapseTypes_1.EntityType.PROJECT:
case 'org.sagebionetworks.repo.model.Project':
return synapseTypes_1.EntityType.PROJECT;
case synapseTypes_1.EntityType.FOLDER:
case 'org.sagebionetworks.repo.model.Folder':
return synapseTypes_1.EntityType.FOLDER;
case synapseTypes_1.EntityType.FILE:
case 'org.sagebionetworks.repo.model.FileEntity':
return synapseTypes_1.EntityType.FILE;
case synapseTypes_1.EntityType.LINK:
case 'org.sagebionetworks.repo.model.Link':
return synapseTypes_1.EntityType.LINK;
case synapseTypes_1.EntityType.DOCKER_REPO:
case 'org.sagebionetworks.repo.model.docker.DockerRepository':
return synapseTypes_1.EntityType.DOCKER_REPO;
case synapseTypes_1.EntityType.TABLE:
case 'org.sagebionetworks.repo.model.table.TableEntity':
return synapseTypes_1.EntityType.TABLE;
case synapseTypes_1.EntityType.SUBMISSION_VIEW:
case 'org.sagebionetworks.repo.model.table.SubmissionView':
return synapseTypes_1.EntityType.SUBMISSION_VIEW;
case synapseTypes_1.EntityType.ENTITY_VIEW:
case 'org.sagebionetworks.repo.model.table.EntityView':
return synapseTypes_1.EntityType.ENTITY_VIEW;
case synapseTypes_1.EntityType.DATASET:
case 'org.sagebionetworks.repo.model.table.Dataset':
return synapseTypes_1.EntityType.DATASET;
default:
throw new Error("Unknown entity type: " + typeString);
}
}
exports.convertToEntityType = convertToEntityType;
/**
* https://docs.synapse.org/rest/org/sagebionetworks/repo/model/VersionableEntity.html
* @param type
* @returns
*/
function isVersionableEntityType(type) {
switch (type) {
case synapseTypes_1.EntityType.PROJECT:
case synapseTypes_1.EntityType.FOLDER:
case synapseTypes_1.EntityType.LINK:
case synapseTypes_1.EntityType.DOCKER_REPO:
return false;
case synapseTypes_1.EntityType.FILE:
case synapseTypes_1.EntityType.TABLE:
case synapseTypes_1.EntityType.SUBMISSION_VIEW:
case synapseTypes_1.EntityType.ENTITY_VIEW:
case synapseTypes_1.EntityType.DATASET:
return true;
default:
throw new Error("Unknown entity type: " + type);
}
}
exports.isVersionableEntityType = isVersionableEntityType;
//# sourceMappingURL=EntityTypeUtils.js.map