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