@citation-js/plugin-doi
Version:
Plugin for DOI input for Citation.js
30 lines (29 loc) • 937 B
JavaScript
;
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;
}