astrocite-ris
Advanced tools
Comparing version 0.10.0 to 0.11.0
"use strict"; | ||
var __assign = (this && this.__assign) || Object.assign || function(t) { | ||
for (var s, i = 1, n = arguments.length; i < n; i++) { | ||
s = arguments[i]; | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) | ||
t[p] = s[p]; | ||
} | ||
return t; | ||
var __assign = (this && this.__assign) || function () { | ||
__assign = Object.assign || function(t) { | ||
for (var s, i = 1, n = arguments.length; i < n; i++) { | ||
s = arguments[i]; | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) | ||
t[p] = s[p]; | ||
} | ||
return t; | ||
}; | ||
return __assign.apply(this, arguments); | ||
}; | ||
@@ -55,3 +58,5 @@ var __values = (this && this.__values) || function (o) { | ||
return first.key === 'SP' | ||
? { page: "" + first.value + (second.value === '' ? '' : '-' + second.value) } | ||
? { | ||
page: "" + first.value + (second.value === '' ? '' : '-' + second.value), | ||
} | ||
: { page: "" + (second.value ? second.value + '-' : '') + first.value }; | ||
@@ -73,3 +78,8 @@ }; | ||
var value = _a.value, type = _a.type; | ||
return ['book', 'chapter', 'entry-dictionary', 'entry-encyclopedia'].indexOf(type) === -1 | ||
return [ | ||
'book', | ||
'chapter', | ||
'entry-dictionary', | ||
'entry-encyclopedia', | ||
].indexOf(type) === -1 | ||
? { ISSN: value } | ||
@@ -88,2 +98,3 @@ : { ISBN: value }; | ||
var parseEntry = function (entry) { | ||
var e_1, _a, _b, e_2, _c, _d; | ||
var entryType = constants_1.TYPE_MAP.get(entry.type) || 'article'; | ||
@@ -102,11 +113,15 @@ var csl = { | ||
try { | ||
for (var _a = __values(entry.properties), _b = _a.next(); !_b.done; _b = _a.next()) { | ||
var prop = _b.value; | ||
for (var _e = __values(entry.properties), _f = _e.next(); !_f.done; _f = _e.next()) { | ||
var prop = _f.value; | ||
var handler = DYNAMIC_FIELDS.get(prop.key); | ||
var key = constants_1.FIELD_MAP.get(prop.key); | ||
if (handler) { | ||
csl = __assign({}, csl, handler({ key: prop.key, value: prop.value, type: entryType })); | ||
csl = __assign({}, csl, handler({ | ||
key: prop.key, | ||
value: prop.value, | ||
type: entryType, | ||
})); | ||
} | ||
if (key) { | ||
csl = __assign({}, csl, (_c = {}, _c[key] = prop.value, _c)); | ||
csl = __assign({}, csl, (_b = {}, _b[key] = prop.value, _b)); | ||
} | ||
@@ -139,3 +154,3 @@ switch (prop.key) { | ||
try { | ||
if (_b && !_b.done && (_d = _a.return)) _d.call(_a); | ||
if (_f && !_f.done && (_a = _e.return)) _a.call(_e); | ||
} | ||
@@ -145,7 +160,7 @@ finally { if (e_1) throw e_1.error; } | ||
try { | ||
for (var _e = __values(Object.keys(multiFields)), _f = _e.next(); !_f.done; _f = _e.next()) { | ||
var key = _f.value; | ||
for (var _g = __values(Object.keys(multiFields)), _h = _g.next(); !_h.done; _h = _g.next()) { | ||
var key = _h.value; | ||
var value = multiFields[key]; | ||
if (multiFields[key].size > 0) { | ||
csl = __assign({}, csl, (_g = {}, _g[key] = __spread(value), _g)); | ||
csl = __assign({}, csl, (_d = {}, _d[key] = __spread(value), _d)); | ||
} | ||
@@ -157,3 +172,3 @@ } | ||
try { | ||
if (_f && !_f.done && (_h = _e.return)) _h.call(_e); | ||
if (_h && !_h.done && (_c = _g.return)) _c.call(_g); | ||
} | ||
@@ -165,11 +180,11 @@ finally { if (e_2) throw e_2.error; } | ||
} | ||
return __assign({}, csl, page ? page : {}); | ||
var e_1, _d, _c, e_2, _h, _g; | ||
return __assign({}, csl, (page ? page : {})); | ||
}; | ||
function parseCSL(source) { | ||
var e_3, _a; | ||
var ast = parser.parse(source); | ||
var csl = []; | ||
try { | ||
for (var _a = __values(ast.children), _b = _a.next(); !_b.done; _b = _a.next()) { | ||
var entry = _b.value; | ||
for (var _b = __values(ast.children), _c = _b.next(); !_c.done; _c = _b.next()) { | ||
var entry = _c.value; | ||
csl = __spread(csl, [parseEntry(entry)]); | ||
@@ -181,3 +196,3 @@ } | ||
try { | ||
if (_b && !_b.done && (_c = _a.return)) _c.call(_a); | ||
if (_c && !_c.done && (_a = _b.return)) _a.call(_b); | ||
} | ||
@@ -187,4 +202,3 @@ finally { if (e_3) throw e_3.error; } | ||
return csl; | ||
var e_3, _c; | ||
} | ||
exports.default = parseCSL; |
{ | ||
"name": "astrocite-ris", | ||
"version": "0.10.0", | ||
"version": "0.11.0", | ||
"description": "Parser and AST for converting RIS to CSL JSON", | ||
@@ -24,8 +24,6 @@ "license": "MIT", | ||
"dependencies": { | ||
"astrocite-core": "^0.8.5" | ||
"astrocite-core": "^0.11.0", | ||
"csl-json": "^0.1.0" | ||
}, | ||
"devDependencies": { | ||
"pegjs": "^0.10.0", | ||
"typescript": "^2.5.2" | ||
} | ||
"gitHead": "7d11668c9b5fa9e54a234c1232aae7f9a2c35c09" | ||
} |
50115
0
8
1215
2
+ Addedcsl-json@^0.1.0
+ Addedastrocite-core@0.11.0(transitive)
+ Addedcsl-json@0.1.0(transitive)
- Removedastrocite-core@0.8.5(transitive)
Updatedastrocite-core@^0.11.0