UNPKG

@on2ts/ontologies-utils

Version:

Utility functions for generating ontology data in on2ts

42 lines (41 loc) 1.3 kB
"use strict"; 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;