gpml2pvjson
Version:
convert GPML (XML) to pvjson (json)
150 lines • 6.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.State = exports.Shape = exports.Label = exports.Interaction = exports.GraphicalLine = exports.GPMLEdge = exports.Anchor = exports.Group = exports.DataNode = exports.Pathway = void 0;
var fp_1 = require("lodash/fp");
var FontAttributes = {
Align: "Center",
FontDecoration: "Normal",
FontName: "Arial",
FontSize: 12,
FontStrikethru: "Normal",
FontStyle: "Normal",
FontWeight: "Normal",
lineHeight: 1.1,
overflow: "hidden",
textOverflow: "clip",
Valign: "Top",
whiteSpace: "pre"
};
var ShapeStyleAttributes = {
Color: "Black",
LineStyle: "Solid",
LineThickness: 1,
// the following is/are not in the XSD
Padding: 8
};
/* TODO look at using something like this:
import * as GPML2013a from "../xmlns/pathvisio.org/GPML/2013a";
export class DataNode extends GPML2013a.DataNodeType {
constructor() {
super();
}
Type = "Unknown";
Graphics = defaultsDeepAll([
{
FillColor: "White",
ShapeType: "Rectangle"
},
FontAttributes,
ShapeStyleAttributes
]);
}
//*/
/* or this:
import * as GPML2013a from "../xmlns/pathvisio.org/GPML/2013a";
export class DataNode extends GPML2013a.document.Pathway.DataNode[0]
.constructor {
constructor() {
super();
}
Type = "Unknown";
Graphics = defaultsDeepAll([
{
FillColor: "White",
ShapeType: "Rectangle"
},
FontAttributes,
ShapeStyleAttributes
]);
}
//*/
exports.Pathway = {
// These not in the XSD
BoardHeight: 500,
Name: "Untitled Pathway"
};
exports.DataNode = {
Type: "Unknown",
Graphics: fp_1.defaultsDeepAll([
{
FillColor: "White",
ShapeType: "Rectangle"
},
FontAttributes,
ShapeStyleAttributes
])
};
exports.Group = {
// these aren't explicitly set in the XSD but maybe should be.
Graphics: {
Align: "Center",
Color: "808080",
Valign: "Middle",
FontSize: 1,
FontWeight: "Bold",
LineThickness: 1,
FillOpacity: 0.1
},
Style: "None"
};
exports.Anchor = {
Shape: "None",
Graphics: {
// this isn't explicitly set in the XSD but maybe should be.
LineThickness: 0
}
};
exports.GPMLEdge = {
Graphics: {
Color: "Black",
LineStyle: "Solid",
ConnectorType: "Straight",
// This is part of the XSD, but it's equivalent to no Arrowhead.
/*
Point: {
ArrowHead: "Line"
},
//*/
// these aren't explicitly set in the XSD but maybe should be.
FillColor: "None",
LineThickness: 1
}
};
exports.GraphicalLine = exports.GPMLEdge;
exports.Interaction = exports.GPMLEdge;
exports.Label = {
Graphics: fp_1.defaultsDeepAll([
{
FillColor: "Transparent",
ShapeType: "None"
},
FontAttributes,
ShapeStyleAttributes
])
};
exports.Shape = {
Graphics: fp_1.defaultsDeepAll([
{
FillColor: "Transparent",
FontSize: 10,
Rotation: "Top"
},
FontAttributes,
ShapeStyleAttributes
])
};
exports.State = {
StateType: "Unknown",
Graphics: fp_1.defaultsDeepAll([
{
Align: "Center",
Padding: 1,
FillColor: "White",
FontSize: 10,
ShapeType: "Rectangle",
Valign: "Middle"
},
ShapeStyleAttributes
])
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR1BNTERlZmF1bHRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0dQTUxEZWZhdWx0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnQ0FBNEM7QUFFNUMsSUFBTSxjQUFjLEdBQUc7SUFDckIsS0FBSyxFQUFFLFFBQVE7SUFDZixjQUFjLEVBQUUsUUFBUTtJQUN4QixRQUFRLEVBQUUsT0FBTztJQUNqQixRQUFRLEVBQUUsRUFBRTtJQUNaLGNBQWMsRUFBRSxRQUFRO0lBQ3hCLFNBQVMsRUFBRSxRQUFRO0lBQ25CLFVBQVUsRUFBRSxRQUFRO0lBQ3BCLFVBQVUsRUFBRSxHQUFHO0lBQ2YsUUFBUSxFQUFFLFFBQVE7SUFDbEIsWUFBWSxFQUFFLE1BQU07SUFDcEIsTUFBTSxFQUFFLEtBQUs7SUFDYixVQUFVLEVBQUUsS0FBSztDQUNsQixDQUFDO0FBRUYsSUFBTSxvQkFBb0IsR0FBRztJQUMzQixLQUFLLEVBQUUsT0FBTztJQUNkLFNBQVMsRUFBRSxPQUFPO0lBQ2xCLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLHNDQUFzQztJQUN0QyxPQUFPLEVBQUUsQ0FBQztDQUNYLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7OztJQWdCSTtBQUNKOzs7Ozs7Ozs7Ozs7Ozs7OztJQWlCSTtBQUVTLFFBQUEsT0FBTyxHQUFHO0lBQ3JCLHVCQUF1QjtJQUN2QixXQUFXLEVBQUUsR0FBRztJQUNoQixJQUFJLEVBQUUsa0JBQWtCO0NBQ3pCLENBQUM7QUFFVyxRQUFBLFFBQVEsR0FBRztJQUN0QixJQUFJLEVBQUUsU0FBUztJQUNmLFFBQVEsRUFBRSxvQkFBZSxDQUFDO1FBQ3hCO1lBQ0UsU0FBUyxFQUFFLE9BQU87WUFDbEIsU0FBUyxFQUFFLFdBQVc7U0FDdkI7UUFDRCxjQUFjO1FBQ2Qsb0JBQW9CO0tBQ3JCLENBQUM7Q0FDSCxDQUFDO0FBRVcsUUFBQSxLQUFLLEdBQUc7SUFDbkIsOERBQThEO0lBQzlELFFBQVEsRUFBRTtRQUNSLEtBQUssRUFBRSxRQUFRO1FBQ2YsS0FBSyxFQUFFLFFBQVE7UUFDZixNQUFNLEVBQUUsUUFBUTtRQUNoQixRQUFRLEVBQUUsQ0FBQztRQUNYLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLGFBQWEsRUFBRSxDQUFDO1FBQ2hCLFdBQVcsRUFBRSxHQUFHO0tBQ2pCO0lBQ0QsS0FBSyxFQUFFLE1BQU07Q0FDZCxDQUFDO0FBRVcsUUFBQSxNQUFNLEdBQUc7SUFDcEIsS0FBSyxFQUFFLE1BQU07SUFDYixRQUFRLEVBQUU7UUFDUiw0REFBNEQ7UUFDNUQsYUFBYSxFQUFFLENBQUM7S0FDakI7Q0FDRixDQUFDO0FBRVcsUUFBQSxRQUFRLEdBQUc7SUFDdEIsUUFBUSxFQUFFO1FBQ1IsS0FBSyxFQUFFLE9BQU87UUFDZCxTQUFTLEVBQUUsT0FBTztRQUNsQixhQUFhLEVBQUUsVUFBVTtRQUN6QixnRUFBZ0U7UUFDaEU7Ozs7Z0JBSUU7UUFDRiw4REFBOEQ7UUFDOUQsU0FBUyxFQUFFLE1BQU07UUFDakIsYUFBYSxFQUFFLENBQUM7S0FDakI7Q0FDRixDQUFDO0FBQ1csUUFBQSxhQUFhLEdBQUcsZ0JBQVEsQ0FBQztBQUN6QixRQUFBLFdBQVcsR0FBRyxnQkFBUSxDQUFDO0FBRXZCLFFBQUEsS0FBSyxHQUFHO0lBQ25CLFFBQVEsRUFBRSxvQkFBZSxDQUFDO1FBQ3hCO1lBQ0UsU0FBUyxFQUFFLGFBQWE7WUFDeEIsU0FBUyxFQUFFLE1BQU07U0FDbEI7UUFDRCxjQUFjO1FBQ2Qsb0JBQW9CO0tBQ3JCLENBQUM7Q0FDSCxDQUFDO0FBRVcsUUFBQSxLQUFLLEdBQUc7SUFDbkIsUUFBUSxFQUFFLG9CQUFlLENBQUM7UUFDeEI7WUFDRSxTQUFTLEVBQUUsYUFBYTtZQUN4QixRQUFRLEVBQUUsRUFBRTtZQUNaLFFBQVEsRUFBRSxLQUFLO1NBQ2hCO1FBQ0QsY0FBYztRQUNkLG9CQUFvQjtLQUNyQixDQUFDO0NBQ0gsQ0FBQztBQUVXLFFBQUEsS0FBSyxHQUFHO0lBQ25CLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFFBQVEsRUFBRSxvQkFBZSxDQUFDO1FBQ3hCO1lBQ0UsS0FBSyxFQUFFLFFBQVE7WUFDZixPQUFPLEVBQUUsQ0FBQztZQUNWLFNBQVMsRUFBRSxPQUFPO1lBQ2xCLFFBQVEsRUFBRSxFQUFFO1lBQ1osU0FBUyxFQUFFLFdBQVc7WUFDdEIsTUFBTSxFQUFFLFFBQVE7U0FDakI7UUFDRCxvQkFBb0I7S0FDckIsQ0FBQztDQUNILENBQUMifQ==