@on2ts/ontologies-utils
Version:
Utility functions for generating ontology data in on2ts
42 lines (41 loc) • 1.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.exportsGenerator = exports.arrayFactory = exports.streamFactory = void 0;
const jsonld_streaming_parser_1 = require("jsonld-streaming-parser");
function streamFactory(ontology) {
return function stream() {
const parserJsonld = new jsonld_streaming_parser_1.JsonLdParser();
parserJsonld.pause();
parserJsonld.write(JSON.stringify(ontology));
parserJsonld.end();
return parserJsonld;
};
}
exports.streamFactory = streamFactory;
function arrayFactory(stream) {
return function array() {
return new Promise((resolve, reject) => {
const arr = [];
const quadStream = stream();
quadStream.on('data', (data) => {
arr.push(data);
});
quadStream.on('end', () => {
resolve(arr);
});
quadStream.on('err', (e) => {
reject(e);
});
quadStream.resume();
});
};
}
exports.arrayFactory = arrayFactory;
function exportsGenerator(ontology) {
const stream = streamFactory(ontology);
return {
stream,
array: arrayFactory(stream),
};
}
exports.exportsGenerator = exportsGenerator;