UNPKG

gpml2pvjson

Version:
72 lines 5.12 kB
import { isArray, } from "lodash"; import { curry, sortBy } from "lodash/fp"; import { intersectsLSV } from "./spinoffs/jsonld-utils"; export * from "./geom-utils"; export * from "./spinoffs/jsonld-utils"; /* * This is needed because PublicationXref rdf:id values and * GPML GraphId values are not necessarily mutually exclusive * and unique within a given pathway. * For example, WP306, version 80308, has rdf:id="d8a" and * a DataNode with GraphId="d8a". */ export function generatePublicationXrefId(originalId) { return "publicationXref" + originalId; } export const insertIfNotExists = curry(function (item, list) { if (list.indexOf(item) === -1) { list.push(item); } return list; }); export function isAttachablePoint(pvjsonPoint) { return pvjsonPoint.hasOwnProperty("attachmentDisplay"); } export function isDefinedCXML(x) { // NOTE: we need the array checks to handle cases like this: // [ XmlType { _exists: false, _extended: true } ] return (typeof x !== "undefined" && x._exists !== false && (!isArray(x) || (x.length > 0 && x[0]._exists !== false))); } export function isPvjsonBurr(entity) { return intersectsLSV(entity.type, "Burr"); } export function isPvjsonGroup(entity) { return (entity.hasOwnProperty("contains") && intersectsLSV(entity.type, "Group")); } export function isPvjsonSingleFreeNode(entity) { return entity.kaavioType === "SingleFreeNode"; } export function isPvjsonNode(entity) { return ["SingleFreeNode", "Burr", "Group"].indexOf(entity.kaavioType) > -1; /* return ( entity.hasOwnProperty("x") && entity.hasOwnProperty("y") && entity.hasOwnProperty("width") && entity.hasOwnProperty("height") ); //*/ } export function isPvjsonEdge(entity) { return entity.hasOwnProperty("points"); } export function isPvjsonEdgeOrBurr(entity) { return isPvjsonEdge(entity) || isPvjsonBurr(entity); } export function isGPMLAnchor(entity) { return entity.gpmlElementName === "Anchor"; } export const sortByMap = curry(function (mapToSortBy, listToSort) { return sortBy(function (listItem) { return mapToSortBy[listItem]; }, listToSort); }); export const supportedNamespaces = [ "http://pathvisio.org/GPML/2013a", "http://genmapp.org/GPML/2010a", "http://genmapp.org/GPML/2008a", "http://genmapp.org/GPML/2007", ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3BtbC11dGlsaXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZ3BtbC11dGlsaXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLE9BQU8sR0FNUixNQUFNLFFBQVEsQ0FBQztBQUNoQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFheEQsY0FBYyxjQUFjLENBQUM7QUFFN0IsY0FBYyx5QkFBeUIsQ0FBQztBQUV4Qzs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUseUJBQXlCLENBQUMsVUFBa0I7SUFDMUQsT0FBTyxpQkFBaUIsR0FBRyxVQUFVLENBQUM7QUFDeEMsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxVQUFhLElBQU8sRUFBRSxJQUFTO0lBQ3BFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ2pCO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUMsQ0FBQztBQUVILE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsV0FBb0M7SUFFcEMsT0FBTyxXQUFXLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDekQsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsQ0FBTTtJQUNsQyw0REFBNEQ7SUFDNUQsa0RBQWtEO0lBQ2xELE9BQU8sQ0FDTCxPQUFPLENBQUMsS0FBSyxXQUFXO1FBQ3hCLENBQUMsQ0FBQyxPQUFPLEtBQUssS0FBSztRQUNuQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUMxRCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsTUFBb0I7SUFDL0MsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztBQUM1QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxNQUFvQjtJQUNoRCxPQUFPLENBQ0wsTUFBTSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FDekUsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLE1BQW9CO0lBRXBCLE9BQU8sTUFBTSxDQUFDLFVBQVUsS0FBSyxnQkFBZ0IsQ0FBQztBQUNoRCxDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxNQUFvQjtJQUMvQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDM0U7Ozs7Ozs7VUFPRztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLE1BQW9CO0lBQy9DLE9BQU8sTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxNQUFvQjtJQUVwQixPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDdEQsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsTUFBb0I7SUFDL0MsT0FBTyxNQUFNLENBQUMsZUFBZSxLQUFLLFFBQVEsQ0FBQztBQUM3QyxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxVQUM3QixXQUFtQyxFQUNuQyxVQUFvQjtJQUVwQixPQUFPLE1BQU0sQ0FBQyxVQUFVLFFBQVE7UUFDOUIsT0FBTyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0IsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDakMsaUNBQWlDO0lBQ2pDLCtCQUErQjtJQUMvQiwrQkFBK0I7SUFDL0IsOEJBQThCO0NBQy9CLENBQUMifQ==