@iebh/polyglot 4.5.0 → 4.5.1
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.
- package/LICENSE +1 -1
- package/lib/data/fieldCodesObject.js +0 -2
- package/lib/data/fieldCodesParse.js +0 -2
- package/lib/data/meshObject.js +1 -3
- package/lib/data/meshTranslationsObject.js +0 -2
- package/lib/data/meshTranslationsParse.js +0 -2
- package/lib/index.js +9 -26
- package/lib/modules/engines/generic.js +16 -83
- package/lib/modules/engines.js +4 -5
- package/lib/modules/global.js +0 -1
- package/lib/modules/parse.js +253 -303
- package/lib/modules/tools.js +28 -76
- package/package.json +6 -2
package/lib/index.js
CHANGED
|
@@ -3,12 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function get() {
|
|
9
|
-
return _parse.parse;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
6
|
+
exports["default"] = void 0;
|
|
12
7
|
Object.defineProperty(exports, "fieldCodesObject", {
|
|
13
8
|
enumerable: true,
|
|
14
9
|
get: function get() {
|
|
@@ -21,24 +16,20 @@ Object.defineProperty(exports, "global", {
|
|
|
21
16
|
return _global["default"];
|
|
22
17
|
}
|
|
23
18
|
});
|
|
24
|
-
exports
|
|
25
|
-
|
|
19
|
+
Object.defineProperty(exports, "parse", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function get() {
|
|
22
|
+
return _parse.parse;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
26
25
|
var _parse = require("./modules/parse.js");
|
|
27
|
-
|
|
28
26
|
var _engines = _interopRequireDefault(require("./modules/engines.js"));
|
|
29
|
-
|
|
30
27
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
31
|
-
|
|
32
28
|
var _generic = _interopRequireDefault(require("./modules/engines/generic.js"));
|
|
33
|
-
|
|
34
29
|
var _fieldCodesObject = _interopRequireDefault(require("./data/fieldCodesObject.js"));
|
|
35
|
-
|
|
36
30
|
var _global = _interopRequireDefault(require("./modules/global.js"));
|
|
37
|
-
|
|
38
31
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
39
|
-
|
|
40
32
|
var polyglot;
|
|
41
|
-
|
|
42
33
|
var _default = polyglot = {
|
|
43
34
|
/**
|
|
44
35
|
* Translate the given query using the given engine ID
|
|
@@ -53,7 +44,6 @@ var _default = polyglot = {
|
|
|
53
44
|
var tree = (0, _parse.parse)(query, options);
|
|
54
45
|
return polyglot.postProcess(_generic["default"].compile(_lodash["default"].cloneDeep(tree), options, engine), options);
|
|
55
46
|
},
|
|
56
|
-
|
|
57
47
|
/**
|
|
58
48
|
* Translate the given query using all the supported engines
|
|
59
49
|
* Calling this function instead of individual 'translate()' calls is much more efficient as the tree needs to be compiled only once
|
|
@@ -72,7 +62,6 @@ var _default = polyglot = {
|
|
|
72
62
|
output['lexicalTreeJSON'] = _engines["default"].lexicalTreeJSON.compile(tree, options), options;
|
|
73
63
|
return output;
|
|
74
64
|
},
|
|
75
|
-
|
|
76
65
|
/**
|
|
77
66
|
* Pre-proess the compile tree before it gets handed to each engines compile function
|
|
78
67
|
* @param {Object} tree The tree to compile
|
|
@@ -81,12 +70,12 @@ var _default = polyglot = {
|
|
|
81
70
|
* @see parse()
|
|
82
71
|
*/
|
|
83
72
|
preProcess: function preProcess(tree, options) {
|
|
84
|
-
var settings = _lodash["default"].defaults(options, {});
|
|
73
|
+
var settings = _lodash["default"].defaults(options, {});
|
|
85
74
|
|
|
75
|
+
// NOTE: THIS FUNCTION IS CURRENTLY ONLY A STUB
|
|
86
76
|
|
|
87
77
|
return tree;
|
|
88
78
|
},
|
|
89
|
-
|
|
90
79
|
/**
|
|
91
80
|
* Post process the data from an engine
|
|
92
81
|
* This function applies the following behaviours:
|
|
@@ -108,16 +97,13 @@ var _default = polyglot = {
|
|
|
108
97
|
trim: false,
|
|
109
98
|
transposeLines: true
|
|
110
99
|
});
|
|
111
|
-
|
|
112
100
|
if (settings.forceString && !_lodash["default"].isString(text)) text = JSON.stringify(text, null, '\t');
|
|
113
|
-
|
|
114
101
|
if (settings.highlighting) {
|
|
115
102
|
// Highlight logical operators purple
|
|
116
103
|
text = text.replace(/(\sOR\s|\sAND\s|\sNOT\s)/g, function (a, b) {
|
|
117
104
|
return "<font color=\"purple\">".concat(b, "</font>");
|
|
118
105
|
});
|
|
119
106
|
}
|
|
120
|
-
|
|
121
107
|
if (settings.html) {
|
|
122
108
|
text = text.replace(/\n/g, '<br/>').replace(/\t/g, '<span class="tab"></span>');
|
|
123
109
|
} else if (_lodash["default"].isString(text)) {
|
|
@@ -126,13 +112,10 @@ var _default = polyglot = {
|
|
|
126
112
|
text = text.replace(/<(.+)(\s.*)>(.*)<\/\1>/g, '$3');
|
|
127
113
|
}
|
|
128
114
|
}
|
|
129
|
-
|
|
130
115
|
if (settings.trim) {
|
|
131
116
|
text = text.replace(/^\s+/gm, '').replace(/\s+$/gm, '');
|
|
132
117
|
}
|
|
133
|
-
|
|
134
118
|
return text;
|
|
135
119
|
}
|
|
136
120
|
};
|
|
137
|
-
|
|
138
121
|
exports["default"] = _default;
|
|
@@ -4,39 +4,26 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _tools = _interopRequireDefault(require("../tools.js"));
|
|
9
|
-
|
|
10
8
|
var _global = _interopRequireDefault(require("../global.js"));
|
|
11
|
-
|
|
12
9
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
13
|
-
|
|
14
10
|
var _fieldCodesObject = _interopRequireDefault(require("../../data/fieldCodesObject.js"));
|
|
15
|
-
|
|
16
11
|
var _meshObject = _interopRequireDefault(require("../../data/meshObject.js"));
|
|
17
|
-
|
|
18
12
|
var _meshTranslationsObject = _interopRequireDefault(require("../../data/meshTranslationsObject.js"));
|
|
19
|
-
|
|
20
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
21
|
-
|
|
22
|
-
function
|
|
23
|
-
|
|
24
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
25
|
-
|
|
14
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
15
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
26
16
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
27
|
-
|
|
28
17
|
// Function to fix cinahl exploded mesh (move + sign back before ")
|
|
29
18
|
function fixCinahl(content) {
|
|
30
19
|
content = content.replace(/"\+/, '+"');
|
|
31
20
|
content = content.replace(/"<\/font><font color="blue">\+/, '+"</font><font color="blue">');
|
|
32
21
|
return content;
|
|
33
22
|
}
|
|
34
|
-
|
|
35
23
|
var _default = {
|
|
36
24
|
id: 'generic',
|
|
37
25
|
title: 'generic',
|
|
38
26
|
aliases: ['generic', 'g'],
|
|
39
|
-
|
|
40
27
|
/**
|
|
41
28
|
* Compile a tree structure to PubMed output
|
|
42
29
|
* @param {array} tree The parsed tree to process
|
|
@@ -49,16 +36,13 @@ var _default = {
|
|
|
49
36
|
replaceWildcards: true,
|
|
50
37
|
testing: false
|
|
51
38
|
});
|
|
52
|
-
|
|
53
39
|
var compileWalker = function compileWalker(tree) {
|
|
54
40
|
return tree.map(function (branch, branchIndex) {
|
|
55
41
|
var buffer = '';
|
|
56
|
-
|
|
57
42
|
switch (branch.type) {
|
|
58
43
|
case 'line':
|
|
59
44
|
buffer += compileWalker(branch.nodes);
|
|
60
45
|
break;
|
|
61
|
-
|
|
62
46
|
case 'group':
|
|
63
47
|
if (branch.field) {
|
|
64
48
|
if (engine === "Ovid MEDLINE" || engine === "Scopus (advanced search)" || engine === "Embase (Elsevier)" || engine === "WoS Advanced") {
|
|
@@ -76,20 +60,17 @@ var _default = {
|
|
|
76
60
|
// Empty string
|
|
77
61
|
return el;
|
|
78
62
|
}
|
|
79
|
-
}).join("");
|
|
80
|
-
|
|
63
|
+
}).join("");
|
|
64
|
+
// Fix to move '+' back one space when quoting
|
|
81
65
|
if (engine === "CINAHL (Ebsco)") {
|
|
82
66
|
content = fixCinahl(content);
|
|
83
67
|
}
|
|
84
|
-
|
|
85
68
|
buffer += comment && settings.highlighting ? _tools["default"].createTooltip(content, comment) : content;
|
|
86
69
|
} else {
|
|
87
70
|
var translateObject = _fieldCodesObject["default"][engine] ? _fieldCodesObject["default"][engine][branch.field] : null;
|
|
88
|
-
|
|
89
71
|
if (translateObject) {
|
|
90
72
|
var _termArray = translateObject.terms;
|
|
91
73
|
var _comment = translateObject.comment;
|
|
92
|
-
|
|
93
74
|
var _content = _termArray.map(function (el) {
|
|
94
75
|
if (el && el.toLowerCase() !== "test") {
|
|
95
76
|
return settings.highlighting ? "<font color=\"LightSeaGreen\">".concat(el, "</font>") : el;
|
|
@@ -100,7 +81,6 @@ var _default = {
|
|
|
100
81
|
return el;
|
|
101
82
|
}
|
|
102
83
|
}).join("");
|
|
103
|
-
|
|
104
84
|
buffer += _comment && settings.highlighting ? _tools["default"].createTooltip(_content, _comment) : _content;
|
|
105
85
|
}
|
|
106
86
|
}
|
|
@@ -113,7 +93,6 @@ var _default = {
|
|
|
113
93
|
if (isMesh) {
|
|
114
94
|
b.type = 'mesh';
|
|
115
95
|
}
|
|
116
|
-
|
|
117
96
|
b.field = branch.field;
|
|
118
97
|
});
|
|
119
98
|
branch.nodes = _tools["default"].visit(branch.nodes, ['group'], function (b) {
|
|
@@ -124,14 +103,11 @@ var _default = {
|
|
|
124
103
|
} else {
|
|
125
104
|
buffer += '(' + compileWalker(branch.nodes) + ')';
|
|
126
105
|
}
|
|
127
|
-
|
|
128
106
|
break;
|
|
129
|
-
|
|
130
107
|
case 'ref':
|
|
131
108
|
if (settings.transposeLines) {
|
|
132
109
|
// Expand each line to show full query
|
|
133
110
|
var node;
|
|
134
|
-
|
|
135
111
|
for (node in branch.nodes) {
|
|
136
112
|
if (node == 0) {
|
|
137
113
|
// First line is printed as is wrapped in brackets
|
|
@@ -156,17 +132,13 @@ var _default = {
|
|
|
156
132
|
buffer += _tools["default"].printNumber(engine, branch.ref);
|
|
157
133
|
}
|
|
158
134
|
}
|
|
159
|
-
|
|
160
135
|
break;
|
|
161
|
-
|
|
162
136
|
case 'phrase':
|
|
163
137
|
if (branch.field) {
|
|
164
138
|
var translateObject = _fieldCodesObject["default"][engine] ? _fieldCodesObject["default"][engine][branch.field] : null;
|
|
165
|
-
|
|
166
139
|
if (translateObject) {
|
|
167
140
|
var _termArray2 = translateObject.terms;
|
|
168
141
|
var _comment2 = translateObject.comment;
|
|
169
|
-
|
|
170
142
|
var _content2 = _termArray2.map(function (el) {
|
|
171
143
|
if (el && el.toLowerCase() !== "test") {
|
|
172
144
|
return settings.highlighting ? "<font color=\"LightSeaGreen\">".concat(el, "</font>") : el;
|
|
@@ -177,7 +149,6 @@ var _default = {
|
|
|
177
149
|
return el;
|
|
178
150
|
}
|
|
179
151
|
}).join("");
|
|
180
|
-
|
|
181
152
|
buffer += _comment2 && settings.highlighting ? _tools["default"].createTooltip(_content2, _comment2) : _content2;
|
|
182
153
|
} else {
|
|
183
154
|
buffer += _tools["default"].createTooltip('<font color="#ff6161">' + _tools["default"].quotePhrase(branch, engine, _objectSpread(_objectSpread({}, settings), {}, {
|
|
@@ -189,70 +160,56 @@ var _default = {
|
|
|
189
160
|
if (_global["default"].variables.no_field_tag.indexOf(branch.offset + branch.content.length) === -1) {
|
|
190
161
|
_global["default"].variables.no_field_tag.push(branch.offset + branch.content.length);
|
|
191
162
|
}
|
|
192
|
-
|
|
193
163
|
if (settings.highlighting) {
|
|
194
164
|
buffer += _tools["default"].createPopover(_tools["default"].quotePhrase(branch, engine, settings), branch.offset + branch.content.length);
|
|
195
165
|
} else {
|
|
196
166
|
buffer += _tools["default"].quotePhrase(branch, engine, settings);
|
|
197
167
|
}
|
|
198
168
|
}
|
|
199
|
-
|
|
200
169
|
break;
|
|
201
|
-
|
|
202
170
|
case 'mesh':
|
|
203
171
|
var translateObject = _meshObject["default"][engine] ? _meshObject["default"][engine][branch.field] : null;
|
|
204
|
-
|
|
205
172
|
if (translateObject) {
|
|
206
173
|
var _termArray3 = translateObject.terms;
|
|
207
174
|
var _comment3 = translateObject.comment;
|
|
208
175
|
var containsHeading = false;
|
|
209
|
-
|
|
210
176
|
var content = _termArray3.map(function (el) {
|
|
211
177
|
if (el && el.toLowerCase() !== "test") {
|
|
212
178
|
// If heading already exists dont add second / at end (for ovid)
|
|
213
179
|
if (containsHeading && el == "/") {
|
|
214
180
|
return "";
|
|
215
181
|
}
|
|
216
|
-
|
|
217
182
|
return settings.highlighting ? "<font color=\"blue\">".concat(el, "</font>") : el;
|
|
218
183
|
} else if (el && el.toLowerCase() === "test") {
|
|
219
184
|
// Perform logic for the phrase in the mesh
|
|
220
|
-
var phrase = _tools["default"].quotePhrase(branch, engine, settings);
|
|
221
|
-
|
|
222
|
-
|
|
185
|
+
var phrase = _tools["default"].quotePhrase(branch, engine, settings);
|
|
186
|
+
// If a subheading exists (e.g. psoriasis/dt)
|
|
223
187
|
if (branch.heading) {
|
|
224
188
|
containsHeading = true;
|
|
225
189
|
phrase += settings.highlighting ? _tools["default"].createTooltip("/" + branch.heading, "Subheading may need to be manually translated", "red-underline") : "/" + branch.heading;
|
|
226
190
|
}
|
|
227
|
-
|
|
228
191
|
return phrase;
|
|
229
192
|
} else {
|
|
230
193
|
// Empty string
|
|
231
194
|
return el;
|
|
232
195
|
}
|
|
233
|
-
}).join("");
|
|
234
|
-
|
|
235
|
-
|
|
196
|
+
}).join("");
|
|
197
|
+
// Fix to move '+' back one space when quoting
|
|
236
198
|
if (engine == "CINAHL (Ebsco)") {
|
|
237
199
|
content = fixCinahl(content);
|
|
238
200
|
}
|
|
239
|
-
|
|
240
201
|
buffer += _comment3 && settings.highlighting ? _tools["default"].createTooltip(content, _comment3) : content;
|
|
241
202
|
} else {
|
|
242
203
|
buffer += _tools["default"].createTooltip('<font color="#ff6161">' + _tools["default"].quotePhrase(branch, engine, _objectSpread(_objectSpread({}, settings), {}, {
|
|
243
204
|
highlighting: false
|
|
244
205
|
})) + '</font>', "No mesh tag found for engine");
|
|
245
206
|
}
|
|
246
|
-
|
|
247
207
|
break;
|
|
248
|
-
|
|
249
208
|
case 'meshTranslation':
|
|
250
209
|
var translateObject = _meshTranslationsObject["default"][engine] ? _meshTranslationsObject["default"][engine][branch.field] : null;
|
|
251
|
-
|
|
252
210
|
if (translateObject) {
|
|
253
211
|
var _termArray4 = translateObject.terms;
|
|
254
212
|
var _comment4 = translateObject.comment;
|
|
255
|
-
|
|
256
213
|
var _content3 = _termArray4.map(function (el) {
|
|
257
214
|
if (el && el.toLowerCase() !== "test") {
|
|
258
215
|
return settings.highlighting ? "<font color=\"purple\">".concat(el, "</font>") : el;
|
|
@@ -261,28 +218,23 @@ var _default = {
|
|
|
261
218
|
return el;
|
|
262
219
|
}
|
|
263
220
|
}).join("");
|
|
264
|
-
|
|
265
221
|
buffer += _comment4 && settings.highlighting ? _tools["default"].createTooltip(_content3, _comment4) : _content3;
|
|
266
222
|
} else {
|
|
267
223
|
buffer += _tools["default"].createTooltip('<font color="#ff6161">' + _tools["default"].quotePhrase(branch, engine, _objectSpread(_objectSpread({}, settings), {}, {
|
|
268
224
|
highlighting: false
|
|
269
225
|
})) + '</font>', "No mesh tag found for engine");
|
|
270
226
|
}
|
|
271
|
-
|
|
272
227
|
break;
|
|
273
|
-
|
|
274
228
|
case 'joinNear':
|
|
275
229
|
switch (engine) {
|
|
276
230
|
case 'PubMed full':
|
|
277
231
|
case 'PubMed abbreviation':
|
|
278
232
|
buffer += 'AND';
|
|
279
233
|
break;
|
|
280
|
-
|
|
281
234
|
case 'Ovid MEDLINE':
|
|
282
235
|
case 'PsycInfo (Ovid)':
|
|
283
236
|
buffer += "ADJ".concat(branch.proximity);
|
|
284
237
|
break;
|
|
285
|
-
|
|
286
238
|
case 'Cochrane Library':
|
|
287
239
|
case 'Embase (Elsevier)':
|
|
288
240
|
case 'Web of Science':
|
|
@@ -290,103 +242,84 @@ var _default = {
|
|
|
290
242
|
case 'ProQuest Health and Medical':
|
|
291
243
|
buffer += "NEAR/".concat(branch.proximity);
|
|
292
244
|
break;
|
|
293
|
-
|
|
294
245
|
case 'CINAHL (Ebsco)':
|
|
295
246
|
buffer += "N".concat(branch.proximity);
|
|
296
247
|
break;
|
|
297
|
-
|
|
298
248
|
case 'Scopus (basic search)':
|
|
299
249
|
case 'Scopus (advanced search)':
|
|
300
250
|
buffer += "W/".concat(branch.proximity);
|
|
301
251
|
break;
|
|
302
|
-
|
|
303
252
|
case 'SPORTDiscus':
|
|
304
253
|
buffer += "N".concat(branch.proximity);
|
|
305
254
|
break;
|
|
306
255
|
}
|
|
307
|
-
|
|
308
256
|
break;
|
|
309
|
-
|
|
310
257
|
case 'joinNext':
|
|
311
258
|
switch (engine) {
|
|
312
259
|
case 'PubMed full':
|
|
313
260
|
case 'PubMed abbreviation':
|
|
314
261
|
buffer += 'AND';
|
|
315
262
|
break;
|
|
316
|
-
|
|
317
263
|
case 'Ovid MEDLINE':
|
|
318
264
|
case 'PsycInfo (Ovid)':
|
|
319
265
|
buffer += 'ADJ';
|
|
320
266
|
break;
|
|
321
|
-
|
|
322
267
|
case 'Cochrane Library':
|
|
323
268
|
buffer += 'NEXT';
|
|
324
269
|
break;
|
|
325
|
-
|
|
326
270
|
case 'Embase (Elsevier)':
|
|
327
271
|
buffer += 'NEXT/1';
|
|
328
272
|
break;
|
|
329
|
-
|
|
330
273
|
case 'Web of Science':
|
|
331
274
|
case 'WoS Advanced':
|
|
332
275
|
buffer += 'NEAR/0';
|
|
333
276
|
break;
|
|
334
|
-
|
|
335
277
|
case 'CINAHL (Ebsco)':
|
|
336
278
|
buffer += 'W1';
|
|
337
279
|
break;
|
|
338
|
-
|
|
339
280
|
case 'Scopus (basic search)':
|
|
340
281
|
case 'Scopus (advanced search)':
|
|
341
282
|
buffer += 'W/1';
|
|
342
283
|
break;
|
|
343
|
-
|
|
344
284
|
case 'SPORTDiscus':
|
|
345
285
|
buffer += 'W1';
|
|
346
286
|
break;
|
|
347
|
-
|
|
348
287
|
case 'ProQuest Health and Medical':
|
|
349
288
|
buffer += 'PRE/0';
|
|
350
289
|
}
|
|
351
|
-
|
|
352
290
|
break;
|
|
353
|
-
|
|
354
291
|
case 'joinAnd':
|
|
355
292
|
buffer += 'AND';
|
|
356
293
|
break;
|
|
357
|
-
|
|
358
294
|
case 'joinOr':
|
|
359
295
|
buffer += 'OR';
|
|
360
296
|
break;
|
|
361
|
-
|
|
362
297
|
case 'joinNot':
|
|
363
298
|
buffer += 'NOT';
|
|
364
299
|
break;
|
|
365
|
-
|
|
366
300
|
case 'raw':
|
|
367
301
|
buffer += branch.content;
|
|
368
302
|
break;
|
|
369
|
-
|
|
370
303
|
case 'template':
|
|
371
304
|
buffer += _tools["default"].resolveTemplate(branch.content, engine);
|
|
372
305
|
break;
|
|
373
|
-
|
|
374
306
|
case 'comment':
|
|
375
307
|
// Do nothing
|
|
376
308
|
break;
|
|
377
|
-
|
|
378
309
|
default:
|
|
379
310
|
throw new Error('Unsupported object tree type: ' + branch.type);
|
|
380
311
|
}
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
+ (branch.type == 'raw' ||
|
|
384
|
-
|
|
385
|
-
|
|
312
|
+
return buffer
|
|
313
|
+
// Add spacing provided... its not a raw buffer or the last entity within the structure
|
|
314
|
+
+ (branch.type == 'raw' ||
|
|
315
|
+
// Its not a raw node
|
|
316
|
+
branch.type == 'line' ||
|
|
317
|
+
// Its not a line node
|
|
318
|
+
branchIndex == tree.length - 1 ||
|
|
319
|
+
// Its not the last item in the sequence
|
|
386
320
|
branchIndex < tree.length - 1 && tree[branchIndex + 1] && tree[branchIndex + 1].type && tree[branchIndex + 1].type == 'raw' ? '' : ' ');
|
|
387
321
|
}).join('');
|
|
388
322
|
};
|
|
389
|
-
|
|
390
323
|
return compileWalker(tree);
|
|
391
324
|
},
|
|
392
325
|
open: function open(query) {
|
package/lib/modules/engines.js
CHANGED
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
/**
|
|
9
8
|
* Collection of supported engines
|
|
10
9
|
* Each engine should specify:
|
|
@@ -15,8 +14,7 @@ exports["default"] = void 0;
|
|
|
15
14
|
* debugging - optional boolean specifying that the engine is for debugging purposes only
|
|
16
15
|
*
|
|
17
16
|
* @var {array}
|
|
18
|
-
*/
|
|
19
|
-
var _default = {
|
|
17
|
+
*/var _default = {
|
|
20
18
|
// Lexical tree (JSON) {{{
|
|
21
19
|
lexicalTreeJSON: {
|
|
22
20
|
id: 'lexicalTreeJSON',
|
|
@@ -34,10 +32,11 @@ var _default = {
|
|
|
34
32
|
compile: function compile(tree, options) {
|
|
35
33
|
return tree;
|
|
36
34
|
}
|
|
37
|
-
}
|
|
35
|
+
}
|
|
36
|
+
// }}}
|
|
37
|
+
|
|
38
38
|
// MongoDB {{{
|
|
39
39
|
// mongodb: mongodbImport,
|
|
40
40
|
// }}}
|
|
41
|
-
|
|
42
41
|
};
|
|
43
42
|
exports["default"] = _default;
|