@retorquere/bibtex-parser 9.0.21 → 9.0.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/crossref.js +209 -0
  3. package/dist/cjs/crossref.js.map +7 -0
  4. package/dist/cjs/fields.js +6961 -0
  5. package/dist/cjs/fields.js.map +7 -0
  6. package/dist/cjs/index.js +1072 -0
  7. package/dist/cjs/index.js.map +7 -0
  8. package/dist/cjs/jabref.js +111 -0
  9. package/dist/cjs/jabref.js.map +7 -0
  10. package/dist/cjs/merge.js +37 -0
  11. package/dist/cjs/merge.js.map +7 -0
  12. package/dist/cjs/prepositions.js +111 -0
  13. package/dist/cjs/prepositions.js.map +7 -0
  14. package/dist/cjs/sentence-case.js +98 -0
  15. package/dist/cjs/sentence-case.js.map +7 -0
  16. package/dist/cjs/tokenizer.js +194 -0
  17. package/dist/cjs/tokenizer.js.map +7 -0
  18. package/dist/cjs/verbatim.js +403 -0
  19. package/dist/cjs/verbatim.js.map +7 -0
  20. package/dist/cjs/yield.js +26 -0
  21. package/dist/cjs/yield.js.map +7 -0
  22. package/{crossref.json → dist/data/crossref.json} +1 -1
  23. package/{fields.json → dist/data/fields.json} +1 -1
  24. package/dist/esm/crossref.js +190 -0
  25. package/dist/esm/crossref.js.map +7 -0
  26. package/dist/esm/fields.js +6942 -0
  27. package/dist/esm/fields.js.map +7 -0
  28. package/dist/esm/index.js +1044 -0
  29. package/dist/esm/index.js.map +7 -0
  30. package/dist/esm/jabref.js +92 -0
  31. package/dist/esm/jabref.js.map +7 -0
  32. package/dist/esm/merge.js +8 -0
  33. package/dist/esm/merge.js.map +7 -0
  34. package/dist/esm/prepositions.js +92 -0
  35. package/dist/esm/prepositions.js.map +7 -0
  36. package/dist/esm/sentence-case.js +79 -0
  37. package/dist/esm/sentence-case.js.map +7 -0
  38. package/dist/esm/tokenizer.js +170 -0
  39. package/dist/esm/tokenizer.js.map +7 -0
  40. package/dist/esm/verbatim.js +387 -0
  41. package/dist/esm/verbatim.js.map +7 -0
  42. package/dist/esm/yield.js +7 -0
  43. package/dist/esm/yield.js.map +7 -0
  44. package/dist/types/crossref.d.ts +188 -0
  45. package/dist/types/crossref.d.ts.map +1 -0
  46. package/dist/types/fields.d.ts +55 -0
  47. package/dist/types/fields.d.ts.map +1 -0
  48. package/{index.d.ts → dist/types/index.d.ts} +8 -7
  49. package/dist/types/index.d.ts.map +1 -0
  50. package/dist/types/jabref.d.ts.map +1 -0
  51. package/dist/types/merge.d.ts.map +1 -0
  52. package/dist/types/prepositions.d.ts +3 -0
  53. package/dist/types/prepositions.d.ts.map +1 -0
  54. package/dist/types/sentence-case.d.ts.map +1 -0
  55. package/dist/types/tokenizer.d.ts.map +1 -0
  56. package/dist/types/verbatim.d.ts.map +1 -0
  57. package/dist/types/yield.d.ts.map +1 -0
  58. package/package.json +38 -47
  59. package/index.js +0 -1191
  60. package/index.js.map +0 -1
  61. package/jabref.js +0 -110
  62. package/jabref.js.map +0 -1
  63. package/merge.js +0 -11
  64. package/merge.js.map +0 -1
  65. package/sentence-case.js +0 -110
  66. package/sentence-case.js.map +0 -1
  67. package/tokenizer.js +0 -167
  68. package/tokenizer.js.map +0 -1
  69. package/verbatim.js +0 -430
  70. package/verbatim.js.map +0 -1
  71. package/yield.js +0 -7
  72. package/yield.js.map +0 -1
  73. /package/{prepositions.json → dist/data/prepositions.json} +0 -0
  74. /package/{strings.bib → dist/data/strings.bib} +0 -0
  75. /package/{unabbrev.json → dist/data/unabbrev.json} +0 -0
  76. /package/{jabref.d.ts → dist/types/jabref.d.ts} +0 -0
  77. /package/{merge.d.ts → dist/types/merge.d.ts} +0 -0
  78. /package/{sentence-case.d.ts → dist/types/sentence-case.d.ts} +0 -0
  79. /package/{tokenizer.d.ts → dist/types/tokenizer.d.ts} +0 -0
  80. /package/{verbatim.d.ts → dist/types/verbatim.d.ts} +0 -0
  81. /package/{yield.d.ts → dist/types/yield.d.ts} +0 -0
package/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
package/jabref.js DELETED
@@ -1,110 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parse = parse;
4
- function decode(s, sep = ';') {
5
- s = s.replace(/\r?\n/g, '');
6
- let pos = 0;
7
- const records = [''];
8
- while (pos < s.length) {
9
- switch (s[pos]) {
10
- case '\\':
11
- pos++;
12
- records[0] += s[pos];
13
- break;
14
- case sep:
15
- records.unshift('');
16
- break;
17
- default:
18
- records[0] += s[pos];
19
- }
20
- pos++;
21
- }
22
- return records.reverse().filter(record => record);
23
- }
24
- /**
25
- * Import the JabRef groups from the `@string` comments in which they were stored. You would typically pass the comments parsed by [[bibtex.parse]] in here.
26
- *
27
- * JabRef knows several group types, and this parser parses most, but not all of them:
28
- *
29
- * * independent group: the keys listed in the group are the entries that are considered to belong to it
30
- * * intersection: the keys listed in the group are considered to belong to the group if they're also in the parent group
31
- * * union: the keys listed in the group are considered to belong to the group, and also the keys that are in the parent group
32
- * * query: not supported by this parser
33
- */
34
- function parse(comments) {
35
- const result = {
36
- root: [],
37
- groups: {},
38
- };
39
- const levels = [];
40
- const decoded = {
41
- fileDirectory: null,
42
- groupsversion: null,
43
- groupstree: null,
44
- grouping: null,
45
- databaseType: null,
46
- };
47
- comments = comments.filter(comment => {
48
- const m = comment.match(/^jabref-meta:\s*([^:]+):([\s\S]*)/); // use \s\S because mozilla doesn't understand /s
49
- if (m) {
50
- decoded[m[1]] = decode(m[2]);
51
- return false;
52
- }
53
- return true;
54
- });
55
- if (decoded.groupsversion)
56
- result.groupsversion = parseInt(decoded.groupsversion[0].trim()) || decoded.groupsversion[0]; // eslint-disable-line @typescript-eslint/no-unsafe-argument
57
- if (decoded.fileDirectory)
58
- result.fileDirectory = decoded.fileDirectory[0];
59
- if (decoded.databaseType)
60
- result.databaseType = decoded.databaseType[0];
61
- for (const tree of ['groupstree', 'grouping']) {
62
- if (!decoded[tree])
63
- continue;
64
- for (const encoded of decoded[tree]) {
65
- const fields = decode(encoded);
66
- const level_type_name = decode(fields.shift(), ':');
67
- const m = /^([0-9]+) (.+)/.exec(level_type_name[0]);
68
- if (!m)
69
- break;
70
- const level = parseInt(m[1]);
71
- const type = m[2]; // test for StaticGroup?
72
- if (type === 'AllEntriesGroup')
73
- continue; // root
74
- const name = level_type_name[1];
75
- const intersection = decode(fields.shift())[0];
76
- const keys = tree === 'grouping' ? [] : fields.map(field => decode(field)[0]);
77
- const group = {
78
- name,
79
- entries: keys,
80
- groups: [],
81
- };
82
- result.groups[name] = result.groups[name] || group;
83
- if (levels.length < level) {
84
- levels.push(group);
85
- }
86
- else {
87
- levels[level - 1] = group;
88
- }
89
- if (level === 1) {
90
- result.root.push(group);
91
- }
92
- else {
93
- const parent = levels[level - 2];
94
- switch (intersection) {
95
- case '0': // independent
96
- break;
97
- case '1': // intersect
98
- group.entries = group.entries.filter(key => parent.entries.includes(key));
99
- break;
100
- case '2': // union
101
- group.entries = group.entries.concat(parent.entries.filter(key => !group.entries.includes(key)));
102
- break;
103
- }
104
- levels[level - 2].groups.push(group);
105
- }
106
- }
107
- }
108
- return { comments, jabref: result };
109
- }
110
- //# sourceMappingURL=jabref.js.map
package/jabref.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"jabref.js","sourceRoot":"","sources":["jabref.ts"],"names":[],"mappings":"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"}
package/merge.js DELETED
@@ -1,11 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.merge = merge;
7
- const lodash_merge_1 = __importDefault(require("lodash.merge"));
8
- function merge(options, defaults) {
9
- return (0, lodash_merge_1.default)(defaults, options);
10
- }
11
- //# sourceMappingURL=merge.js.map
package/merge.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"merge.js","sourceRoot":"","sources":["merge.ts"],"names":[],"mappings":";;;;;AAEA,sBAEC;AAJD,gEAAiC;AAEjC,SAAgB,KAAK,CAAI,OAAU,EAAE,QAAW;IAC9C,OAAO,IAAA,sBAAM,EAAC,QAAQ,EAAE,OAAO,CAAM,CAAA;AACvC,CAAC"}
package/sentence-case.js DELETED
@@ -1,110 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toSentenceCase = toSentenceCase;
4
- const merge_1 = require("./merge");
5
- const tokenizer_1 = require("./tokenizer");
6
- const connectedInnerWord = /-\p{Lu}\p{Ll}*(?=-|$)/ug;
7
- // const show = (obj: any): string => JSON.stringify(obj, null, 2).replace(/[\u007F-\uFFFF]/g, chr => `\\u${(`0000${chr.charCodeAt(0).toString(16)}`).substr(-4)}`)
8
- function titleCase(s) {
9
- return s.replace(/^(.)(.+)/, (match, car, cdr) => `${car}${cdr.toLowerCase()}`);
10
- }
11
- function wordSC(token, allCaps, subSentence, hyphenated) {
12
- // domains are case-insensitive
13
- if (token.type === 'domain')
14
- return token.text.toLowerCase();
15
- // punctuation needs no handling, and websites can have case-sensitive stuff in the URL
16
- if (token.type !== 'word')
17
- return token.text;
18
- // I'll, I'm
19
- if (token.text.match(/^I'/))
20
- return titleCase(token.text);
21
- // starting 'a'
22
- if (subSentence && token.subSentenceStart && token.text.match(/^a$/i))
23
- return 'a';
24
- // (sub)sentence start
25
- if ((subSentence && token.subSentenceStart) || token.sentenceStart) {
26
- return allCaps ? titleCase(token.text) : token.text.replace(connectedInnerWord, match => match.toLowerCase());
27
- }
28
- // prepositions should already have been lowercased, but OK
29
- if (token.subtype === 'preposition')
30
- return token.text.toLowerCase();
31
- // keep acronyms
32
- if (token.subtype === 'acronym')
33
- return token.text;
34
- // if (!allCaps && token.shape.match(/^[Xxd]+(-[Xxd]+)+/)) return XRegExp.replace(token.text, connectedWord, match => match.toLowerCase())
35
- // single-letter capitals are usually some kind of noun, but not when they're part of an hyphenated word
36
- if (token.text.match(/^[B-Z]$/))
37
- return hyphenated ? token.text.toLowerCase() : token.text;
38
- // ?? if (!allCaps && token.shape.match(/^[-X]+$/)) return token.text
39
- const shape = token.shape.replace(/[^-Xxd]/g, '');
40
- // ?? if (!allCaps && shape.match(/^[Xd-]+$/)) return token.text
41
- // hyphenated ?? if (shape.match(/^X[xd]*(-[Xxd]*)*$/)) return token.text.toLowerCase()
42
- // all-caps and numbers
43
- if (shape.match(/^[Xd]+$/))
44
- return allCaps ? token.text.toLowerCase() : token.text;
45
- // domain ?? if (token.text.includes('.')) return token.text
46
- if (shape.match(/x.*X/))
47
- return token.text;
48
- return token.text.toLowerCase();
49
- }
50
- function toSentenceCase(title, options = {}) {
51
- options = (0, merge_1.merge)(options, {
52
- preserveQuoted: true,
53
- subSentenceCapitalization: true,
54
- guess: false,
55
- });
56
- const allCaps = title === title.toUpperCase();
57
- const allLower = title === title.toLowerCase();
58
- if (options.guess && !allCaps && !allLower) {
59
- let $title = title;
60
- if (options.nocase)
61
- $title = $title.replace(options.nocase, match => match.match(/\s/) ? ' ' : '');
62
- if (options.markup)
63
- $title = $title.replace(options.markup, '');
64
- const guess = {
65
- words: (0, tokenizer_1.tokenize)($title),
66
- sc: 0,
67
- other: 0,
68
- };
69
- guess.words.forEach((token, i) => {
70
- if (token.type === 'word' && token.text.length > 1 && !token.subtype.match(/preposition|acronym|ordinal/) && (i === 0 || guess.words[i - 1].type === 'whitespace')) {
71
- guess[token.shape.match(/^[^X]*x[^X]*$/) ? 'sc' : 'other'] += 1;
72
- }
73
- });
74
- if (guess.sc && guess.sc >= guess.other)
75
- return title;
76
- }
77
- if (allCaps && !title.match(/\s/))
78
- return title;
79
- const tokens = (0, tokenizer_1.tokenize)(title, options.markup);
80
- let sentenceCased = '';
81
- for (const token of tokens) {
82
- if (token.hyphenated && token.shape[0] === 'x') {
83
- sentenceCased += token.text;
84
- }
85
- else if (token.hyphenated) {
86
- for (const t of token.hyphenated) {
87
- sentenceCased += wordSC(t, allCaps, options.subSentenceCapitalization, true);
88
- }
89
- }
90
- else {
91
- sentenceCased += wordSC(token, allCaps, options.subSentenceCapitalization, false);
92
- }
93
- }
94
- if (options.markup) {
95
- for (const match of title.matchAll(options.markup)) {
96
- sentenceCased = sentenceCased.substring(0, match.index) + match[0] + sentenceCased.substring(match.index + match[0].length);
97
- }
98
- }
99
- if (options.nocase) {
100
- sentenceCased = sentenceCased
101
- .replace(options.nocase, (match, tag, offset) => title.substring(offset, offset + match.length));
102
- }
103
- if (options.preserveQuoted) {
104
- for (const q of [/“.*?”/g, /‘.*?’/g, /".*?"/g]) {
105
- sentenceCased = sentenceCased.replace(q, (match, offset) => title.substring(offset, offset + match.length));
106
- }
107
- }
108
- return sentenceCased;
109
- }
110
- //# sourceMappingURL=sentence-case.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sentence-case.js","sourceRoot":"","sources":["sentence-case.ts"],"names":[],"mappings":"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"}
package/tokenizer.js DELETED
@@ -1,167 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.tokenize = tokenize;
7
- const moo_1 = __importDefault(require("moo"));
8
- // const show = (obj: any): string => JSON.stringify(obj, null, 2).replace(/[\u007F-\uFFFF]/g, chr => `\\u${(`0000${chr.charCodeAt(0).toString(16)}`).substr(-4)}`)
9
- const RE = new class {
10
- constructor() {
11
- this.Whitespace = /[ \t\n\r\u00A0]+/u;
12
- this.ComplexPreposition = /^([^ \t\n\r\u00A0]+)([ \t\n\r\u00A0]+)([^ \t\n\r\u00A0]+)(?:([ \t\n\r\u00A0]+)([^ \t\n\r\u00A0]+))?$/u;
13
- this.P = /\p{P}/u;
14
- const B = '(?=(?:[^\\p{L}\\p{N}\\p{M}\\u00AD\\u2060]|$))';
15
- const LNM = '[\\p{L}\\p{N}\\p{M}\u00AD\u2060]';
16
- const W = `${LNM}*?\\p{L}${LNM}*`;
17
- this.Acronym = new RegExp(`(?:(?:(?:[\\p{Lu}\\p{Lt}][.]){2,}${B})|(?:(?:vs?[.])(?=[ \t\n\r\u00A0])))`, 'u');
18
- this.Word = new RegExp(`${W}${B}`, 'u');
19
- this.Contraction = new RegExp(`${W}['’]${W}${B}`, 'u');
20
- this.Ordinal = new RegExp(`\\d+(?:st|nd|rd|th)${B}`, 'u');
21
- this.Email = new RegExp(`[A-Za-z0-9._%+-]+@[A-Za-z0-9-]+(?:[.][A-Za-z0-9-]+)+${B}`, 'u');
22
- this.Handle = new RegExp(`@[A-Za-z0-9-]{2,}${B}`, 'u');
23
- this.IntOrVersion = new RegExp(`v?\\d+(?:\\.\\d+)*${B}`, 'u');
24
- this.Domain = new RegExp(`${W}(?:[.]${W})+${B}`, 'u');
25
- this.Website = new RegExp(`https?://${W}(?:[.]${W})+(?:[^.!? \t\n\r\u00A0]+|[.!?]${LNM})+`, 'u');
26
- const ci = (s) => s
27
- .replace(/[a-z]/ig, match => `[${match.toUpperCase()}${match.toLowerCase()}]`)
28
- .replace(' ', this.Whitespace.source);
29
- const prepositions = require('./prepositions.json').sort().reverse().map(ci).join('|');
30
- this.Preposition = new RegExp(`(?:${prepositions})${B}`, 'u');
31
- }
32
- }();
33
- const lexer = moo_1.default.compile({
34
- 'word-preposition': RE.Preposition,
35
- 'word-acronym': RE.Acronym,
36
- 'word-contraction': RE.Contraction,
37
- 'word-ordinal': RE.Ordinal,
38
- email: RE.Email,
39
- handle: RE.Handle,
40
- website: RE.Website,
41
- domain: RE.Domain,
42
- word: RE.Word,
43
- number: RE.IntOrVersion, // eslint-disable-line id-blacklist
44
- 'punctuation-end': /[?.!](?=[ \t\n\r\u00A0]|$)/u,
45
- 'punctuation-colon': /:(?=[ \t\n\r\u00A0])/u,
46
- 'punctuation-ellipsis': /[.][.][.]/u,
47
- punctuation: RE.P,
48
- whitespace: { match: /[ \t\n\r\u00A0]/u, lineBreaks: true },
49
- other: { match: /[\s\S]/u, lineBreaks: true },
50
- });
51
- const Shape = new class {
52
- constructor() {
53
- this.shapes = {};
54
- this.re = {
55
- X: /[\p{Lu}\p{Lt}]/u,
56
- x: /[\p{Ll}\p{Lm}\p{Lo}]/u,
57
- d: /\p{N}/u,
58
- };
59
- }
60
- match(c) {
61
- if (c.match(this.re.d))
62
- return 'd';
63
- if (c.toLowerCase() === c.toUpperCase())
64
- return c;
65
- if (c.match(this.re.X))
66
- return 'X';
67
- if (c.match(this.re.x))
68
- return 'x';
69
- if (c === '’')
70
- return "'";
71
- if (c === '–')
72
- return '-';
73
- if (c === '\u2060' || c === '\u00AD')
74
- return '';
75
- return c;
76
- }
77
- fetch(c) {
78
- if (typeof this.shapes[c] === 'undefined')
79
- this.shapes[c] = this.match(c);
80
- return this.shapes[c];
81
- }
82
- shape(t) {
83
- if (!this.shapes[t])
84
- this.shapes[t] = Array.from(t).map(c => this.fetch(c)).join('');
85
- return this.shapes[t];
86
- }
87
- }();
88
- function combine(tokens) {
89
- const combined = Object.assign({}, tokens[0]);
90
- for (const t of tokens.slice(1)) {
91
- combined.text += t.text;
92
- combined.end = t.end;
93
- combined.shape += t.shape;
94
- }
95
- return combined;
96
- }
97
- function hyphenate(t) {
98
- if (t.type === 'word')
99
- return 'w';
100
- if (t.text === '-' || t.text === '–')
101
- return '-';
102
- return ' ';
103
- }
104
- function tokenize(title, markup) {
105
- if (markup)
106
- title = title.replace(markup, match => '\u2060'.repeat(match.length));
107
- lexer.reset(title);
108
- const tokens = [];
109
- let sentenceStart = true;
110
- let subSentenceStart = false;
111
- for (const token of lexer) {
112
- const [type, subtype] = (token.type.includes('-') ? token.type : `${token.type}-`).split('-');
113
- tokens.push({
114
- type,
115
- subtype,
116
- text: token.text,
117
- start: token.offset,
118
- end: token.offset + token.text.length - 1,
119
- shape: Shape.shape(token.text),
120
- sentenceStart: type === 'word' && sentenceStart,
121
- subSentenceStart: type === 'word' && subSentenceStart,
122
- });
123
- switch (token.type) {
124
- case 'punctuation-end':
125
- sentenceStart = true;
126
- break;
127
- case 'punctuation-colon':
128
- subSentenceStart = true;
129
- break;
130
- default:
131
- if (type.match(/word|number|handle|domain|website/)) {
132
- sentenceStart = false;
133
- subSentenceStart = false;
134
- }
135
- break;
136
- }
137
- }
138
- const stack = tokens.splice(0);
139
- let cpt;
140
- let cps;
141
- while (stack.length) {
142
- if (stack[0].subtype === 'preposition' && (cpt = stack[0].text.match(RE.ComplexPreposition)) && (cps = stack[0].shape.match(RE.ComplexPreposition))) {
143
- const complex = stack.shift();
144
- let start = complex.start;
145
- let end;
146
- for (const i of Array.from({ length: 5 }, (_, n) => n + 1)) {
147
- if (!cpt[i])
148
- break;
149
- end = start + cps[i].length - 1;
150
- tokens.push(Object.assign(Object.assign({}, complex), { text: cpt[i], shape: cps[i], start,
151
- end, type: i % 2 ? complex.type : 'whitespace', subtype: i % 2 ? complex.type : '' }));
152
- start = end + 1;
153
- }
154
- continue;
155
- }
156
- // hyphenated words
157
- const pat = stack.map(t => hyphenate(t)).join('');
158
- if (cpt = pat.match(/^w(-w)+(?= |$)/)) {
159
- const hyphenated = stack.splice(0, cpt[0].length);
160
- tokens.push(Object.assign(Object.assign({}, combine(hyphenated)), { hyphenated }));
161
- continue;
162
- }
163
- tokens.push(stack.shift());
164
- }
165
- return markup ? tokens.map(token => (Object.assign(Object.assign({}, token), { text: title.substring(token.start, token.end + 1) }))) : tokens;
166
- }
167
- //# sourceMappingURL=tokenizer.js.map
package/tokenizer.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["tokenizer.ts"],"names":[],"mappings":"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"}