UNPKG

gpml2pvjson

Version:
95 lines 6.39 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.supportedNamespaces = exports.sortByMap = exports.isGPMLAnchor = exports.isPvjsonEdgeOrBurr = exports.isPvjsonEdge = exports.isPvjsonNode = exports.isPvjsonSingleFreeNode = exports.isPvjsonGroup = exports.isPvjsonBurr = exports.isDefinedCXML = exports.isAttachablePoint = exports.insertIfNotExists = exports.generatePublicationXrefId = void 0; var lodash_1 = require("lodash"); var fp_1 = require("lodash/fp"); var jsonld_utils_1 = require("./spinoffs/jsonld-utils"); __exportStar(require("./geom-utils"), exports); __exportStar(require("./spinoffs/jsonld-utils"), exports); /* * 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". */ function generatePublicationXrefId(originalId) { return "publicationXref" + originalId; } exports.generatePublicationXrefId = generatePublicationXrefId; exports.insertIfNotExists = fp_1.curry(function (item, list) { if (list.indexOf(item) === -1) { list.push(item); } return list; }); function isAttachablePoint(pvjsonPoint) { return pvjsonPoint.hasOwnProperty("attachmentDisplay"); } exports.isAttachablePoint = isAttachablePoint; 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 && (!lodash_1.isArray(x) || (x.length > 0 && x[0]._exists !== false))); } exports.isDefinedCXML = isDefinedCXML; function isPvjsonBurr(entity) { return jsonld_utils_1.intersectsLSV(entity.type, "Burr"); } exports.isPvjsonBurr = isPvjsonBurr; function isPvjsonGroup(entity) { return (entity.hasOwnProperty("contains") && jsonld_utils_1.intersectsLSV(entity.type, "Group")); } exports.isPvjsonGroup = isPvjsonGroup; function isPvjsonSingleFreeNode(entity) { return entity.kaavioType === "SingleFreeNode"; } exports.isPvjsonSingleFreeNode = isPvjsonSingleFreeNode; function isPvjsonNode(entity) { return ["SingleFreeNode", "Burr", "Group"].indexOf(entity.kaavioType) > -1; /* return ( entity.hasOwnProperty("x") && entity.hasOwnProperty("y") && entity.hasOwnProperty("width") && entity.hasOwnProperty("height") ); //*/ } exports.isPvjsonNode = isPvjsonNode; function isPvjsonEdge(entity) { return entity.hasOwnProperty("points"); } exports.isPvjsonEdge = isPvjsonEdge; function isPvjsonEdgeOrBurr(entity) { return isPvjsonEdge(entity) || isPvjsonBurr(entity); } exports.isPvjsonEdgeOrBurr = isPvjsonEdgeOrBurr; function isGPMLAnchor(entity) { return entity.gpmlElementName === "Anchor"; } exports.isGPMLAnchor = isGPMLAnchor; exports.sortByMap = fp_1.curry(function (mapToSortBy, listToSort) { return fp_1.sortBy(function (listItem) { return mapToSortBy[listItem]; }, listToSort); }); exports.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3BtbC11dGlsaXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZ3BtbC11dGlsaXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLGlDQVNnQjtBQUNoQixnQ0FBMEM7QUFDMUMsd0RBQXdEO0FBYXhELCtDQUE2QjtBQUU3QiwwREFBd0M7QUFFeEM7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IseUJBQXlCLENBQUMsVUFBa0I7SUFDMUQsT0FBTyxpQkFBaUIsR0FBRyxVQUFVLENBQUM7QUFDeEMsQ0FBQztBQUZELDhEQUVDO0FBRVksUUFBQSxpQkFBaUIsR0FBRyxVQUFLLENBQUMsVUFBYSxJQUFPLEVBQUUsSUFBUztJQUNwRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNqQjtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUM7QUFFSCxTQUFnQixpQkFBaUIsQ0FDL0IsV0FBb0M7SUFFcEMsT0FBTyxXQUFXLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDekQsQ0FBQztBQUpELDhDQUlDO0FBRUQsU0FBZ0IsYUFBYSxDQUFDLENBQU07SUFDbEMsNERBQTREO0lBQzVELGtEQUFrRDtJQUNsRCxPQUFPLENBQ0wsT0FBTyxDQUFDLEtBQUssV0FBVztRQUN4QixDQUFDLENBQUMsT0FBTyxLQUFLLEtBQUs7UUFDbkIsQ0FBQyxDQUFDLGdCQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQzFELENBQUM7QUFDSixDQUFDO0FBUkQsc0NBUUM7QUFFRCxTQUFnQixZQUFZLENBQUMsTUFBb0I7SUFDL0MsT0FBTyw0QkFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDNUMsQ0FBQztBQUZELG9DQUVDO0FBRUQsU0FBZ0IsYUFBYSxDQUFDLE1BQW9CO0lBQ2hELE9BQU8sQ0FDTCxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLDRCQUFhLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FDekUsQ0FBQztBQUNKLENBQUM7QUFKRCxzQ0FJQztBQUVELFNBQWdCLHNCQUFzQixDQUNwQyxNQUFvQjtJQUVwQixPQUFPLE1BQU0sQ0FBQyxVQUFVLEtBQUssZ0JBQWdCLENBQUM7QUFDaEQsQ0FBQztBQUpELHdEQUlDO0FBRUQsU0FBZ0IsWUFBWSxDQUFDLE1BQW9CO0lBQy9DLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMzRTs7Ozs7OztVQU9HO0FBQ0wsQ0FBQztBQVZELG9DQVVDO0FBRUQsU0FBZ0IsWUFBWSxDQUFDLE1BQW9CO0lBQy9DLE9BQU8sTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRkQsb0NBRUM7QUFFRCxTQUFnQixrQkFBa0IsQ0FDaEMsTUFBb0I7SUFFcEIsT0FBTyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3RELENBQUM7QUFKRCxnREFJQztBQUVELFNBQWdCLFlBQVksQ0FBQyxNQUFvQjtJQUMvQyxPQUFPLE1BQU0sQ0FBQyxlQUFlLEtBQUssUUFBUSxDQUFDO0FBQzdDLENBQUM7QUFGRCxvQ0FFQztBQUVZLFFBQUEsU0FBUyxHQUFHLFVBQUssQ0FBQyxVQUM3QixXQUFtQyxFQUNuQyxVQUFvQjtJQUVwQixPQUFPLFdBQU0sQ0FBQyxVQUFVLFFBQVE7UUFDOUIsT0FBTyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0IsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyxDQUFDO0FBRVUsUUFBQSxtQkFBbUIsR0FBRztJQUNqQyxpQ0FBaUM7SUFDakMsK0JBQStCO0lBQy9CLCtCQUErQjtJQUMvQiw4QkFBOEI7Q0FDL0IsQ0FBQyJ9