UNPKG

1.32 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _extends2 = require('babel-runtime/helpers/extends');
8
9var _extends3 = _interopRequireDefault(_extends2);
10
11var _stream = require('stream');
12
13var _utils = require('./utils');
14
15function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
17/**
18 * Parse a `.corpus` file content, and returns an object containing queries and
19 * ids.
20 *
21 * @returns {Object}
22 */
23function ISTEXParseDotCorpus(data, feed) {
24 if (this.isLast()) {
25 return feed.close();
26 }
27 var metadata = this.ezs.metaString(data);
28 var statement = this.ezs.fromString(data);
29 var input = new _stream.PassThrough({ objectMode: true });
30 var output = input.pipe(statement).on('data', function (chunk) {
31 feed.write((0, _extends3.default)({}, metadata, chunk));
32 }).on('error', function (e) {
33 feed.write(e);
34 });
35 var handle = new Promise(function (resolve, reject) {
36 return output.on('error', reject).on('end', resolve);
37 });
38 (0, _utils.writeTo)(input, metadata, function () {
39 input.end(function () {
40 handle.then(function () {
41 feed.end();
42 });
43 });
44 });
45}
46
47exports.default = {
48 ISTEXParseDotCorpus: ISTEXParseDotCorpus
49};
\No newline at end of file