UNPKG

@citation-js/plugin-doi

Version:

Plugin for DOI input for Citation.js

29 lines (28 loc) 1.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.parse = parseDoiJson; var _type = _interopRequireDefault(require("./type.js")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function parseDoiJson(data) { const res = { type: (0, _type.default)(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); }