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

293 lines (292 loc) 7.64 kB
import { isTypeViaConcreteTypeFactory as t } from "../types/IsType.js"; import { EntityType as e } from "@sage-bionetworks/synapse-client"; import { TABLE_CONCRETE_TYPE_VALUES as _, VIEW_CONCRETE_TYPE_VALUES as f, TABLE_ENTITY_CONCRETE_TYPE_VALUE as n, SUBMISSION_VIEW_CONCRETE_TYPE_VALUE as w, MATERIALIZED_VIEW_CONCRETE_TYPE_VALUE as c, DATASET_CONCRETE_TYPE_VALUE as l, DATASET_COLLECTION_CONCRETE_TYPE_VALUE as u, ENTITY_VIEW_CONCRETE_TYPE_VALUE as E, VIRTUAL_TABLE_CONCRETE_TYPE_VALUE as T, FILE_ENTITY_CONCRETE_TYPE_VALUE as b, PROJECT_CONCRETE_TYPE_VALUE as k, FOLDER_CONCRETE_TYPE_VALUE as g, DOCKER_REPOSITORY_CONCRETE_TYPE_VALUE as C, LINK_CONCRETE_TYPE_VALUE as v, ENTITY_VIEW_TYPE_MASK_FILE as p } from "@sage-bionetworks/synapse-types"; function P(r) { return r.node_type ? r.node_type : r.type === void 0 ? e.project : m(r.type); } function S(r) { switch (r) { case e.project: case e.folder: return !0; case e.link: case e.dockerrepo: case e.file: case e.recordset: case e.table: case e.submissionview: case e.entityview: case e.dataset: case e.datasetcollection: case e.materializedview: case e.virtualtable: return !1; default: throw new Error(`Unknown entity type: ${r}`); } } function U(r) { switch (r) { case e.project: case e.folder: case e.link: case e.dockerrepo: case e.file: case e.recordset: return !1; case e.table: case e.submissionview: case e.entityview: case e.dataset: case e.datasetcollection: case e.materializedview: case e.virtualtable: return !0; default: throw new Error(`Unknown entity type: ${r}`); } } function Y(r) { switch (r) { case e.project: return "Project"; case e.folder: return "Folder"; case e.file: return "File"; case e.table: return "Table"; case e.link: return "Link"; case e.entityview: return "View"; case e.dockerrepo: return "Docker Repository"; case e.submissionview: return "Submission View"; case e.dataset: return "Dataset"; case e.datasetcollection: return "Dataset Collection"; case e.materializedview: return "Materialized View"; case e.virtualtable: return "Virtual Table"; case e.recordset: return "Record Set"; default: return console.warn("Entity type could not be mapped to name:", r), ""; } } function m(r) { if (Object.values(e).includes(r)) return r; switch (r) { case "org.sagebionetworks.repo.model.Project": return e.project; case "org.sagebionetworks.repo.model.Folder": return e.folder; case b: return e.file; case "org.sagebionetworks.repo.model.Link": return e.link; case "org.sagebionetworks.repo.model.docker.DockerRepository": return e.dockerrepo; case n: return e.table; case "org.sagebionetworks.repo.model.table.SubmissionView": return e.submissionview; case E: return e.entityview; case l: return e.dataset; case u: return e.datasetcollection; case c: return e.materializedview; case T: return e.virtualtable; case "org.sagebionetworks.repo.model.RecordSet": return e.recordset; default: throw new Error(`Unknown entity type: ${r}`); } } function D(r) { switch (r) { case e.project: return "org.sagebionetworks.repo.model.Project"; case e.folder: return "org.sagebionetworks.repo.model.Folder"; case e.file: return "org.sagebionetworks.repo.model.FileEntity"; case e.link: return "org.sagebionetworks.repo.model.Link"; case e.dockerrepo: return "org.sagebionetworks.repo.model.docker.DockerRepository"; case e.table: return "org.sagebionetworks.repo.model.table.TableEntity"; case e.submissionview: return "org.sagebionetworks.repo.model.table.SubmissionView"; case e.entityview: return "org.sagebionetworks.repo.model.table.EntityView"; case e.dataset: return "org.sagebionetworks.repo.model.table.Dataset"; case e.datasetcollection: return "org.sagebionetworks.repo.model.table.DatasetCollection"; case e.materializedview: return "org.sagebionetworks.repo.model.table.MaterializedView"; case e.virtualtable: return "org.sagebionetworks.repo.model.table.VirtualTable"; case e.recordset: return "org.sagebionetworks.repo.model.RecordSet"; default: throw new Error(`Unknown entity type: ${r}`); } } function V(r) { switch (r) { case e.project: case e.folder: case e.link: case e.dockerrepo: case e.submissionview: // SubmissionView implements VersionableEntity, but versions aren't supported case e.materializedview: // MaterializedView implements VersionableEntity, but versions aren't supported. case e.virtualtable: return !1; case e.file: case e.recordset: case e.table: case e.entityview: case e.dataset: case e.datasetcollection: return !0; default: throw new Error(`Unknown entity type: ${r}`); } } const L = t( ..._ ), F = t( ...f ), h = t( n ), j = t(w), z = t(c), y = t( l ), R = t(u), K = (r) => y(r) || R(r), M = t( E ); function B(r) { return (r.viewTypeMask & p) != 0; } function $(r) { return r.viewTypeMask === p; } function N(r) { return V(m(r.concreteType)); } function W(r) { return N(r) ? r.isLatestVersion ? L(r) ? y(r) ? "Draft" : "Current" : `${r.versionNumber.toString()} (Current)` : r.versionNumber.toString() : (console.warn("Entity isn't versionable:", r), ""); } function x(r) { return r.toLowerCase().startsWith("syn") ? r.toLowerCase() : `syn${r}`; } const o = [ "name", "description", "id", "etag", "createdOn", "modifiedOn", "createdBy", "modifiedBy", "parentId", "concreteType" ], i = [ ...o, "versionNumber", "versionLabel", "versionComment", "isLatestVersion" ], s = [...i, "columnIds", "isSearchEnabled"], a = [...s], d = [...a, "items"], H = { [v]: [...o, "linksTo", "linksToClassName"], [C]: [ ...o, "repositoryName", "isManaged" ], [b]: [ ...i, "dataFileHandleId", "fileNameOverride" ], [w]: [...a, "scopeIds"], [l]: [ ...d, "size", "checksum", "count" ], [u]: [...d], [E]: [ ...a, "scopeIds", "viewTypeMask", "type" ], [n]: s, [c]: [...s, "definingSQL"], [T]: [...s, "definingSQL"], [g]: o, [k]: [...o, "alias"], "org.sagebionetworks.repo.model.RecordSet": [ ...i, "upsertKey", "csvDescriptor" ], "org.sagebionetworks.repo.model.Preview": [ /* unused */ ], "org.sagebionetworks.repo.model.ExampleEntity": [ /* unused */ ] }, J = { ALL_TABLES: [ e.table, e.entityview, e.submissionview, e.dataset, e.datasetcollection, e.materializedview, e.virtualtable ], CONTAINER: [e.project, e.folder] }; export { J as EntityTypeGroup, D as convertToConcreteEntityType, m as convertToEntityType, H as entityJsonKeys, Y as entityTypeToFriendlyName, P as getEntityTypeFromHeader, W as getVersionDisplay, B as hasFilesInView, S as isContainerType, y as isDataset, R as isDatasetCollection, K as isEntityRefCollectionView, M as isEntityView, $ as isFileView, z as isMaterializedView, j as isSubmissionView, L as isTable, h as isTableEntity, U as isTableType, N as isVersionableEntity, V as isVersionableEntityType, F as isView, x as normalizeSynPrefix }; //# sourceMappingURL=EntityTypeUtils.js.map