UNPKG

5.38 kBJavaScriptView Raw
1import { isArray } from "lodash";
2import { curry, sortBy } from "lodash/fp";
3import { intersectsLSV } from "./spinoffs/jsonld-utils";
4export * from "./geom-utils";
5// TODO this line conflicts with the section below it
6export * from "./spinoffs/jsonld-utils";
7export { arrayify, getValuesLSV, intersectsLSV, unionLSV } from "./spinoffs/jsonld-utils";
8/*
9 * This is needed because PublicationXref rdf:id values and
10 * GPML GraphId values are not necessarily mutually exclusive
11 * and unique within a given pathway.
12 * For example, WP306, version 80308, has rdf:id="d8a" and
13 * a DataNode with GraphId="d8a".
14 */
15export function generatePublicationXrefId(originalId) {
16 return "publicationXref" + originalId;
17}
18export const insertIfNotExists = curry(function (item, list) {
19 if (list.indexOf(item) === -1) {
20 list.push(item);
21 }
22 return list;
23});
24export function isAttachablePoint(pvjsonPoint) {
25 return pvjsonPoint.hasOwnProperty("attachmentDisplay");
26}
27export function isDefinedCXML(x) {
28 // NOTE: we need the array checks to handle cases like this:
29 // [ XmlType { _exists: false, _extended: true } ]
30 return (typeof x !== "undefined" &&
31 x._exists !== false &&
32 (!isArray(x) || (x.length > 0 && x[0]._exists !== false)));
33}
34export function isPvjsonBurr(entity) {
35 return intersectsLSV(entity.type, "Burr");
36}
37export function isPvjsonGroup(entity) {
38 return (entity.hasOwnProperty("contains") && intersectsLSV(entity.type, "Group"));
39}
40export function isPvjsonSingleFreeNode(entity) {
41 return entity.kaavioType === "SingleFreeNode";
42}
43export function isPvjsonNode(entity) {
44 return ["SingleFreeNode", "Burr", "Group"].indexOf(entity.kaavioType) > -1;
45 /*
46 return (
47 entity.hasOwnProperty("x") &&
48 entity.hasOwnProperty("y") &&
49 entity.hasOwnProperty("width") &&
50 entity.hasOwnProperty("height")
51 );
52 //*/
53}
54export function isPvjsonEdge(entity) {
55 return entity.hasOwnProperty("points");
56}
57export function isPvjsonEdgeOrBurr(entity) {
58 return isPvjsonEdge(entity) || isPvjsonBurr(entity);
59}
60export function isGPMLAnchor(entity) {
61 return entity.gpmlElementName === "Anchor";
62}
63export const sortByMap = curry(function (mapToSortBy, listToSort) {
64 return sortBy(function (listItem) {
65 return mapToSortBy[listItem];
66 }, listToSort);
67});
68export const supportedNamespaces = [
69 "http://pathvisio.org/GPML/2013a",
70 "http://genmapp.org/GPML/2010a",
71 "http://genmapp.org/GPML/2008a",
72 "http://genmapp.org/GPML/2007"
73];
74//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3BtbC11dGlsaXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZ3BtbC11dGlsaXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLE9BQU8sRUFNUixNQUFNLFFBQVEsQ0FBQztBQUNoQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFheEQsY0FBYyxjQUFjLENBQUM7QUFFN0IscURBQXFEO0FBQ3JELGNBQWMseUJBQXlCLENBQUM7QUFDeEMsT0FBTyxFQUNMLFFBQVEsRUFDUixZQUFZLEVBQ1osYUFBYSxFQUNiLFFBQVEsRUFDVCxNQUFNLHlCQUF5QixDQUFDO0FBRWpDOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxVQUFrQjtJQUMxRCxPQUFPLGlCQUFpQixHQUFHLFVBQVUsQ0FBQztBQUN4QyxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLFVBQVksSUFBTyxFQUFFLElBQVM7SUFDbkUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDakI7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixXQUFvQztJQUVwQyxPQUFPLFdBQVcsQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUN6RCxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxDQUFNO0lBQ2xDLDREQUE0RDtJQUM1RCxrREFBa0Q7SUFDbEQsT0FBTyxDQUNMLE9BQU8sQ0FBQyxLQUFLLFdBQVc7UUFDeEIsQ0FBQyxDQUFDLE9BQU8sS0FBSyxLQUFLO1FBQ25CLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQzFELENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxNQUFvQjtJQUMvQyxPQUFPLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLE1BQW9CO0lBQ2hELE9BQU8sQ0FDTCxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUN6RSxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsTUFBb0I7SUFFcEIsT0FBTyxNQUFNLENBQUMsVUFBVSxLQUFLLGdCQUFnQixDQUFDO0FBQ2hELENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLE1BQW9CO0lBQy9DLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMzRTs7Ozs7OztVQU9HO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsTUFBb0I7SUFDL0MsT0FBTyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLE1BQW9CO0lBRXBCLE9BQU8sWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN0RCxDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxNQUFvQjtJQUMvQyxPQUFPLE1BQU0sQ0FBQyxlQUFlLEtBQUssUUFBUSxDQUFDO0FBQzdDLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLFVBQzdCLFdBQW1DLEVBQ25DLFVBQW9CO0lBRXBCLE9BQU8sTUFBTSxDQUFDLFVBQVMsUUFBUTtRQUM3QixPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvQixDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDakIsQ0FBQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRztJQUNqQyxpQ0FBaUM7SUFDakMsK0JBQStCO0lBQy9CLCtCQUErQjtJQUMvQiw4QkFBOEI7Q0FDL0IsQ0FBQyJ9
\No newline at end of file