UNPKG

@citation-js/plugin-doi

Version:

Plugin for DOI input for Citation.js

30 lines (29 loc) 937 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parse = parseDoiApi; exports.parseAsync = parseDoiApiAsync; var _core = require("@citation-js/core"); var _json = _interopRequireDefault(require("./json.js")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const apiOptions = { checkContentType: true, headers: { Accept: 'application/vnd.citationstyles.csl+json' } }; function processApiResponse(response) { if (response === '[]') { return {}; } return (0, _json.default)(JSON.parse(response)); } function parseDoiApiAsync(data) { const response = [].concat(data).map(url => _core.util.fetchFileAsync(url, apiOptions).then(processApiResponse)); return Promise.all(response); } function parseDoiApi(data) { const response = [].concat(data).map(url => _core.util.fetchFile(url, apiOptions)).map(processApiResponse); return response; }