UNPKG

synapse-react-client

Version:

[![Build Status](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client.svg?branch=main)](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client) [![npm version](https://badge.fury.io/js/synapse-react-client.svg)](https://badge.fury.io/js/synaps

117 lines 4.98 kB
"use strict"; 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