UNPKG

@jbrowse/core

Version:

JBrowse 2 core libraries used by plugins

33 lines (32 loc) 1.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isEmpty = isEmpty; exports.generateTitle = generateTitle; exports.generateMaxWidth = generateMaxWidth; exports.accessNested = accessNested; const util_1 = require("../../util"); const util_2 = require("../util"); function isEmpty(obj) { return Object.keys(obj).length === 0; } function generateTitle(name, id, type) { return [(0, util_2.ellipses)(`${name || id || ''}`), `${type}`] .filter(f => !!f) .join(' - '); } function generateMaxWidth(array, prefix) { return (Math.ceil((0, util_1.max)(array.map(key => (0, util_1.measureText)([...prefix, key[0]].join('.'), 12)))) + 10); } function accessNested(arr, obj = {}) { let obj2 = obj; for (const elt of arr) { if ((0, util_1.isObject)(obj2)) { obj2 = obj2[elt]; } } return typeof obj2 === 'string' ? obj2 : (0, util_1.isObject)(obj2) && typeof obj2.Description === 'string' ? obj2.Description : undefined; }