@citation-js/plugin-doi
Version:
Plugin for DOI input for Citation.js
23 lines • 901 B
JavaScript
import fetchDoiType from './type.js';
function parseDoiJson(data) {
const res = {
type: fetchDoiType(data.type, data)
};
const dateFields = ['submitted', 'issued', 'event-date', 'original-date', 'container', 'accessed'];
dateFields.forEach(field => {
const value = data[field];
if (value && value['date-parts'] && typeof value['date-parts'][0] === 'number') {
value['date-parts'] = [value['date-parts']];
}
});
if (data.type === 'dissertation' && !data.genre) {
res.genre = 'Doctoral dissertation';
}
if (data.type === 'posted-content' && (data.subtype === 'preprint' || data.member === '31795')) {
if (Array.isArray(data.institution) && data.institution[0] && data.institution[0].name) {
res['container-title'] = data.institution[0].name;
}
}
return Object.assign({}, data, res);
}
export { parseDoiJson as parse, parseDoiJson as default };