import { sortDefinitions } from '../utils/definitions'; import { getMissingUrisInAttributesMap } from '../utils/attributesMapLoader'; import { getAttributes, getMeasures, getMeasureFilters, getDefinition, isAttributeMeasureFilter, getAttributesDisplayForms } from '../utils/visualizationObjectHelper'; import { IMeasure } from '../interfaces'; import { XhrModule } from '../xhr'; const notEmpty = negate<Array<string | null>>(isEmpty); function findHeaderForMappingFn(mapping: any, header: any) { return ((mapping.element === header.id || mapping.element === header.uri) && header.measureIndex === undefined); } function wrapMeasureIndexesFromMappings(metricMappings: any[], headers: any[]) { if (metricMappings) { metricMappings.forEach((mapping) => { const header = find(headers, partial(findHeaderForMappingFn, mapping)); if (header) { header.measureIndex = mapping.measureIndex; header.isPoP = mapping.isPoP; } });
export function removeEmptyStacks(stacks: ItemStack<Item>[]): ItemStack<Item>[] { return _.filter(stacks, _.negate(stackIsEmpty)); }
export function safeQueryStringStringify(o: any) { const noUndefinedFields = _.pickBy(o, _.negate(_.isUndefined)); return querystring.stringify(noUndefinedFields); }
export function getLinterText(message: Linter.Message) { if (!hasLinterText(message)) { return message.html; } return message.text; } export function hasCompletionText(message: any): message is Autocomplete.ITextSuggestion { return !!message.text; } export function getCompletionText(message: Autocomplete.Suggestion) { if (message.displayText) { return message.displayText; } if (!hasCompletionText(message)) { return message.snippet; } return message.text; } export function getCompletionReplacementText(message: Autocomplete.Suggestion) { if (!hasCompletionText(message)) { return message.snippet; } return message.text; } export const isDefined = _.negate(_.isUndefined);