UNPKG

5.37 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3BtbC11dGlsaXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZ3BtbC11dGlsaXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLE9BQU8sRUFNUixNQUFNLFFBQVEsQ0FBQztBQUNoQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFheEQsY0FBYyxjQUFjLENBQUM7QUFFN0IscURBQXFEO0FBQ3JELGNBQWMseUJBQXlCLENBQUM7QUFDeEMsT0FBTyxFQUNMLFFBQVEsRUFDUixZQUFZLEVBQ1osYUFBYSxFQUNiLFFBQVEsRUFDVCxNQUFNLHlCQUF5QixDQUFDO0FBRWpDOzs7Ozs7R0FNRztBQUNILE1BQU0sb0NBQW9DLFVBQWtCO0lBQzFELE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxVQUFVLENBQUM7QUFDeEMsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxVQUFZLElBQU8sRUFBRSxJQUFTO0lBQ25FLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUMsQ0FBQztBQUVILE1BQU0sNEJBQ0osV0FBb0M7SUFFcEMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUN6RCxDQUFDO0FBRUQsTUFBTSx3QkFBd0IsQ0FBTTtJQUNsQyw0REFBNEQ7SUFDNUQsa0RBQWtEO0lBQ2xELE1BQU0sQ0FBQyxDQUNMLE9BQU8sQ0FBQyxLQUFLLFdBQVc7UUFDeEIsQ0FBQyxDQUFDLE9BQU8sS0FBSyxLQUFLO1FBQ25CLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQzFELENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSx1QkFBdUIsTUFBb0I7SUFDL0MsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRCxNQUFNLHdCQUF3QixNQUFvQjtJQUNoRCxNQUFNLENBQUMsQ0FDTCxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUN6RSxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0saUNBQ0osTUFBb0I7SUFFcEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEtBQUssZ0JBQWdCLENBQUM7QUFDaEQsQ0FBQztBQUVELE1BQU0sdUJBQXVCLE1BQW9CO0lBQy9DLE1BQU0sQ0FBQyxDQUFDLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNFOzs7Ozs7O1VBT0c7QUFDTCxDQUFDO0FBRUQsTUFBTSx1QkFBdUIsTUFBb0I7SUFDL0MsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUVELE1BQU0sNkJBQ0osTUFBb0I7SUFFcEIsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDdEQsQ0FBQztBQUVELE1BQU0sdUJBQXVCLE1BQW9CO0lBQy9DLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxLQUFLLFFBQVEsQ0FBQztBQUM3QyxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxVQUM3QixXQUFtQyxFQUNuQyxVQUFvQjtJQUVwQixNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVMsUUFBUTtRQUM3QixNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9CLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNqQixDQUFDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLGlDQUFpQztJQUNqQywrQkFBK0I7SUFDL0IsK0JBQStCO0lBQy9CLDhCQUE4QjtDQUMvQixDQUFDIn0=
\No newline at end of file