import { format as mapBiblatex, formatBibtex as mapBibtex } from '../mapping/index.js'; import { format as formatValue, formatAnnotation } from './value.js'; function formatEntryValues({ type, label, properties }) { const output = { type, label, properties: {} }; for (const property in properties) { const value = properties[property]; const [field, annotation] = property.split('+an:'); if (annotation) { if (!output.annotations) { output.annotations = {}; } if (!output.annotations[field]) { output.annotations[field] = {}; } output.annotations[field][annotation] = formatAnnotation(value); } else { output.properties[property] = formatValue(property, value); } } return output; } export function format(entries) { return mapBiblatex(entries).map(formatEntryValues); } export function formatBibtex(entries) { return mapBibtex(entries).map(formatEntryValues); }