gpml2pvjson
Version:
convert GPML (XML) to pvjson (json)
45 lines • 3.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.unionLSV = exports.intersectsLSV = exports.getValuesLSV = exports.isJsonldListSetPrimitive = exports.arrayify = void 0;
// TODO use lodash/fp instead
var lodash_1 = require("lodash");
/* LSV means JSON-LD @list or @set values
*/
function arrayify(input) {
if (typeof input === "undefined") {
return [];
}
return lodash_1.isArray(input) ? input : [input];
}
exports.arrayify = arrayify;
function isJsonldListSetPrimitive(x) {
var TYPE = typeof x;
return (["string", "number", "boolean"].indexOf(TYPE) > -1 ||
x === null ||
(TYPE !== "undefined" && x.hasOwnProperty("@value")));
}
exports.isJsonldListSetPrimitive = isJsonldListSetPrimitive;
function getValuesLSV(input) {
if (typeof input === "undefined") {
return [];
}
return arrayify(input)
.map(function (x) {
return x && x.hasOwnProperty("@value") ? x["@value"] : x;
})
.filter(isJsonldListSetPrimitive);
}
exports.getValuesLSV = getValuesLSV;
function intersectsLSV(x, y) {
return !lodash_1.isEmpty(lodash_1.intersection(getValuesLSV(x), getValuesLSV(y)));
}
exports.intersectsLSV = intersectsLSV;
function unionLSV() {
var inputs = [];
for (var _i = 0; _i < arguments.length; _i++) {
inputs[_i] = arguments[_i];
}
return lodash_1.union(lodash_1.flatten(inputs.map(getValuesLSV)));
}
exports.unionLSV = unionLSV;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbmxkLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NwaW5vZmZzL2pzb25sZC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBNkI7QUFDN0IsaUNBQXdFO0FBMkN4RTtHQUNHO0FBQ0gsU0FBZ0IsUUFBUSxDQUN0QixLQUFzRTtJQUV0RSxJQUFJLE9BQU8sS0FBSyxLQUFLLFdBQVcsRUFBRTtRQUNoQyxPQUFPLEVBQUUsQ0FBQztLQUNYO0lBQ0QsT0FBTyxnQkFBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDMUMsQ0FBQztBQVBELDRCQU9DO0FBRUQsU0FBZ0Isd0JBQXdCLENBQUMsQ0FBQztJQUN4QyxJQUFNLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQztJQUN0QixPQUFPLENBQ0wsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEQsQ0FBQyxLQUFLLElBQUk7UUFDVixDQUFDLElBQUksS0FBSyxXQUFXLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUNyRCxDQUFDO0FBQ0osQ0FBQztBQVBELDREQU9DO0FBRUQsU0FBZ0IsWUFBWSxDQUMxQixLQUF5QjtJQUV6QixJQUFJLE9BQU8sS0FBSyxLQUFLLFdBQVcsRUFBRTtRQUNoQyxPQUFPLEVBQUUsQ0FBQztLQUNYO0lBQ0QsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDO1NBQ25CLEdBQUcsQ0FBQyxVQUFTLENBQUM7UUFDYixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDLENBQUM7U0FDRCxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBWEQsb0NBV0M7QUFFRCxTQUFnQixhQUFhLENBQzNCLENBQXFCLEVBQ3JCLENBQXFCO0lBRXJCLE9BQU8sQ0FBQyxnQkFBTyxDQUFDLHFCQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEUsQ0FBQztBQUxELHNDQUtDO0FBRUQsU0FBZ0IsUUFBUTtJQUN0QixnQkFBK0I7U0FBL0IsVUFBK0IsRUFBL0IscUJBQStCLEVBQS9CLElBQStCO1FBQS9CLDJCQUErQjs7SUFFL0IsT0FBTyxjQUFLLENBQUMsZ0JBQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRCxDQUFDO0FBSkQsNEJBSUMifQ==