@citation-js/plugin-zotero-translation-server
Version:
Citation.js Plugin for Zotero Translation Server instances
61 lines (51 loc) • 1.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ref = exports.formats = void 0;
var _core = require("@citation-js/core");
var _translationServer = _interopRequireDefault(require("./translationServer"));
var _zotero = require("./zotero");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function makeParsers(type, format) {
return {
parse(body) {
return _core.util.fetchFile(...(0, _translationServer.default)(type, body, format));
},
parseAsync(body) {
return _core.util.fetchFileAsync(...(0, _translationServer.default)(type, body, format));
}
};
}
const ref = '@zotero';
exports.ref = ref;
const formats = {
'@zotero/record': {
parse: _zotero.parse,
parseType: {
dataType: 'SimpleObject',
propertyConstraint: {
props: ['key', 'itemType']
}
}
},
'@zotero/records': {
parse(records) {
return records.map(_zotero.parse);
},
parseType: {
dataType: 'Array',
elementConstraint: '@zotero/record'
}
},
'@zotero/session': { ...makeParsers('web'),
parseType: {
dataType: 'SimpleObject',
propertyConstraint: {
props: ['url', 'session', 'items']
}
}
},
'@else/url': makeParsers('web')
};
exports.formats = formats;