1 | import { isArray } from "lodash";
|
2 | import { curry, sortBy } from "lodash/fp";
|
3 | import { intersectsLSV } from "./spinoffs/jsonld-utils";
|
4 | export * from "./geom-utils";
|
5 | // TODO this line conflicts with the section below it
|
6 | export * from "./spinoffs/jsonld-utils";
|
7 | export { 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 | */
|
15 | export function generatePublicationXrefId(originalId) {
|
16 | return "publicationXref" + originalId;
|
17 | }
|
18 | export const insertIfNotExists = curry(function (item, list) {
|
19 | if (list.indexOf(item) === -1) {
|
20 | list.push(item);
|
21 | }
|
22 | return list;
|
23 | });
|
24 | export function isAttachablePoint(pvjsonPoint) {
|
25 | return pvjsonPoint.hasOwnProperty("attachmentDisplay");
|
26 | }
|
27 | export 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 | }
|
34 | export function isPvjsonBurr(entity) {
|
35 | return intersectsLSV(entity.type, "Burr");
|
36 | }
|
37 | export function isPvjsonGroup(entity) {
|
38 | return (entity.hasOwnProperty("contains") && intersectsLSV(entity.type, "Group"));
|
39 | }
|
40 | export function isPvjsonSingleFreeNode(entity) {
|
41 | return entity.kaavioType === "SingleFreeNode";
|
42 | }
|
43 | export 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 | }
|
54 | export function isPvjsonEdge(entity) {
|
55 | return entity.hasOwnProperty("points");
|
56 | }
|
57 | export function isPvjsonEdgeOrBurr(entity) {
|
58 | return isPvjsonEdge(entity) || isPvjsonBurr(entity);
|
59 | }
|
60 | export function isGPMLAnchor(entity) {
|
61 | return entity.gpmlElementName === "Anchor";
|
62 | }
|
63 | export const sortByMap = curry(function (mapToSortBy, listToSort) {
|
64 | return sortBy(function (listItem) {
|
65 | return mapToSortBy[listItem];
|
66 | }, listToSort);
|
67 | });
|
68 | export 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 |