New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@graphy/content.nq.write

Package Overview
Dependencies
Maintainers
2
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@graphy/content.nq.write - npm Package Compare versions

Comparing version 3.2.2 to 4.0.0

243

main.js

@@ -5,7 +5,65 @@

const factory = require('@graphy/core.data.factory');
const writable = require('@graphy/core.class.writable');
const Writable = require('@graphy/core.class.writable');
const {
c1_to_nt,
clean_iri,
} = factory;
const N_MAX_STRING_BUFFER = 1 << 12;
class NQuads_Writer extends writable {
function verbose_s(yt_subject) {
if('NamedNode' === yt_subject.termType) {
return '<'+clean_iri(yt_subject.value)+'>';
}
else {
return '_:'+yt_subject.value;
}
}
function verbose_g(yt_subject) {
switch(yt_subject.termType) {
// default graph
case 'DefaultGraph': return '';
// named node
case 'NamedNode': return '<'+clean_iri(yt_subject.value)+'>';
// blank node
default: return '_:'+yt_subject.value;
}
}
const verbose_p = yt_predicate => '<'+clean_iri(yt_predicate.value)+'>';
const P_IRI_XSD_STRING = 'http://www.w3.org/2001/XMLSchema#';
function verbose_o(yt_object) {
switch(yt_object.termType) {
// named node
case 'NamedNode': return '<'+clean_iri(yt_object.value)+'>';
// literal
case 'Literal': {
let s_contents = JSON.stringify(yt_object.value);
if(yt_object.language) {
return s_contents+'@'+yt_object.language;
}
else if(P_IRI_XSD_STRING === yt_object.datatype.value) {
return s_contents;
}
else {
return s_contents+'^^<'+clean_iri(yt_object.datatype.value)+'>';
}
}
// blank node
default: return '_:'+yt_object.value;
}
}
class NQuads_Writer extends Writable {
constructor(gc_writer={}) {

@@ -15,10 +73,7 @@ super(gc_writer);

let {
prefixes: h_prefixes={},
indent: s_indent='\t',
tokens: gc_tokens=null,
style: gc_style=null,
} = gc_writer;
Object.assign(this, {
indent: s_indent,
state: 2,
_xc_state: 2,
});

@@ -29,21 +84,27 @@ }

// serialize c3 hash
serialize_c3(hc3_triples) {
// serialize c3 hash
_serialize_c3(hc3_triples) {
let {
prefixes: h_prefixes,
_h_prefixes: h_prefixes,
} = this;
let s_write = '';
// post component
// post component
let st_post = ' .\n';
// each subject
// subject exit listener
let f_exit_subject = null;
// each subject
for(let sc1_subject in hc3_triples) {
// directive; serialize it
// directive; serialize it
if('`' === sc1_subject[0]) {
s_write += this.directive(sc1_subject, hc3_triples[sc1_subject]);
let g_apply = this._apply_directive(sc1_subject, hc3_triples[sc1_subject]);
// write data
if(g_apply.write) s_write += g_apply.write;
// save exit listener
if(g_apply.exit) f_exit_subject = g_apply.exit;
continue;
}
// subject-pre component
let st_pre = factory.c1(sc1_subject, h_prefixes).verbose()+' ';
let st_pre = c1_to_nt(sc1_subject, h_prefixes, true)+' ';
// pair indent & terminator

@@ -54,16 +115,22 @@ let s_indent_pairs = '';

let hc2_pairs = hc3_triples[sc1_subject];
// predicate exit listener
let f_exit_predicate = null;
// each predicate
for(let sc1_predicate in hc2_pairs) {
// directive; serialize it
// directive; serialize it
if('`' === sc1_predicate[0]) {
s_write += this.directive(sc1_predicate, hc2_pairs[sc1_predicate]);
let g_apply = this._apply_directive(sc1_predicate, hc2_pairs[sc1_predicate]);
// write data
if(g_apply.write) s_write += g_apply.write;
// save exit listener
if(g_apply.exit) f_exit_predicate = g_apply.exit;
continue;
}
// predicate component
let st_predicate = factory.c1(sc1_predicate, h_prefixes).verbose();
let st_predicate = c1_to_nt(sc1_predicate, h_prefixes, true);
// ref objects
let z_objects = hc2_pairs[sc1_predicate];
// serialize objects
s_write += this.objects(st_pre+st_predicate+' ', z_objects, st_post);
// // string buffer became too large
s_write += this._encode_objects(st_pre+st_predicate+' ', z_objects, st_post);
// // string buffer became too large
// if(s_write.length >= N_MAX_STRING_BUFFER) {

@@ -73,3 +140,7 @@ // debugger;

}
// call exit predicate listener
if(f_exit_predicate) f_exit_predicate();
}
// call exit subject listener
if(f_exit_subject) f_exit_subject();

@@ -80,25 +151,36 @@ return s_write;

// serialize c4 hash
serialize_c4(hc4_quads) {
// serialize c4 hash
_serialize_c4(hc4_quads) {
let {
prefixes: h_prefixes,
_h_prefixes: h_prefixes,
} = this;
let s_write = '';
// each graph
// graph exit listener
let f_exit_graph = null;
// each graph
for(let sc1_graph in hc4_quads) {
// directive
// directive
if('`' === sc1_graph[0]) {
s_write += this.directive(sc1_graph, hc4_quads[sc1_graph]);
let g_apply = this._apply_directive(sc1_graph, hc4_quads[sc1_graph]);
// write data
if(g_apply.write) s_write += g_apply.write;
// save exit listener
if(g_apply.exit) f_exit_graph = g_apply.exit;
continue;
}
// graph component
// graph component
let kt_graph = factory.c1(sc1_graph, h_prefixes);
// post component
// post component
let st_post = (kt_graph.isDefaultGraph? '': ' '+kt_graph.verbose())+' .\n';
// ref triples
// ref triples
let hc3_triples = hc4_quads[sc1_graph];
// subject exit listener
let f_exit_subject = null;
// each subject

@@ -108,26 +190,36 @@ for(let sc1_subject in hc3_triples) {

if('`' === sc1_subject[0]) {
s_write += this.directive(sc1_subject, hc3_triples[sc1_subject]);
let g_apply = this._apply_directive(sc1_subject, hc3_triples[sc1_subject]);
// write data
if(g_apply.write) s_write += g_apply.write;
// save exit listener
if(g_apply.exit) f_exit_subject = g_apply.exit;
continue;
}
// subject-pre component
let st_pre = factory.c1(sc1_subject, h_prefixes).verbose()+' ';
// pair indent & terminator
// subject-pre component
let st_pre = c1_to_nt(sc1_subject, h_prefixes, true)+' ';
// pair indent & terminator
let s_indent_pairs = '';
let s_term_pairs = '';
// ref pairs
// ref pairs
let hc2_pairs = hc3_triples[sc1_subject];
// each predicate
// predicate exit listener
let f_exit_predicate = null;
// each predicate
for(let sc1_predicate in hc2_pairs) {
// directive; serialize it
if('`' === sc1_predicate[0]) {
s_write += this.directive(sc1_predicate, hc2_pairs[sc1_predicate]);
let g_apply = this._apply_directive(sc1_predicate, hc2_pairs[sc1_predicate]);
// write data
if(g_apply.write) s_write += g_apply.write;
// save exit listener
if(g_apply.exit) f_exit_predicate = g_apply.exit;
continue;
}
// predicate component
let st_predicate = factory.c1(sc1_predicate, h_prefixes).verbose();
// ref objects
// predicate component
let st_predicate = c1_to_nt(sc1_predicate, h_prefixes, true);
// ref objects
let z_objects = hc2_pairs[sc1_predicate];
// serialize objects
s_write += this.objects(st_pre+st_predicate+' ', z_objects, st_post);
// // string buffer became too large
// serialize objects
s_write += this._encode_objects(st_pre+st_predicate+' ', z_objects, st_post);
// // string buffer became too large
// if(s_write.length >= N_MAX_STRING_BUFFER) {

@@ -137,5 +229,12 @@ // debugger;

}
// call exit predicate listener
if(f_exit_predicate) f_exit_predicate();
}
// call exit subject listener
if(f_exit_subject) f_exit_subject();
}
// call exit graph listener
if(f_exit_graph) f_exit_graph();
return s_write;

@@ -146,6 +245,6 @@ }

// write objects
objects(s_pre, z_objects, s_post, n_nest_level=1) {
_encode_objects(s_pre, z_objects, s_post, n_nest_level=1) {
let {
prefixes: h_prefixes,
coercions: hm_coercions,
_h_prefixes: h_prefixes,
_hm_coercions: hm_coercions,
} = this;

@@ -175,13 +274,13 @@

for(let z_item of z_objects) {
// item is an array; write RDF collection
// item is an array; write list
if(Array.isArray(z_item)) {
// transcode collection
let hc2_collection = this.transcode_collection(z_item);
// transcode list
let hc2_list = this._transcode_list(z_item);
// serialize transcoded collection
s_write += this.objects(s_pre, hc2_collection, s_post, n_nest_level);
// serialize transcoded list
s_write += this._encode_objects(s_pre, hc2_list, s_post, n_nest_level);
}
// non-array; recurse on item
else {
s_write += this.objects(s_pre, z_item, s_post, n_nest_level);
s_write += this._encode_objects(s_pre, z_item, s_post, n_nest_level);
}

@@ -200,2 +299,5 @@ }

// object exit listener
let f_exit_object = null;
// each pair

@@ -205,3 +307,9 @@ for(let sc1_predicate in z_objects) {

if('`' === sc1_predicate[0]) {
s_write += this.directive(sc1_predicate, z_objects[sc1_predicate]);
let g_apply = this._apply_directive(sc1_predicate, z_objects[sc1_predicate]);
// write data
if(g_apply.write) s_write += g_apply.write;
// save exit listener
if(g_apply.exit) f_exit_object = g_apply.exit;
continue;

@@ -211,8 +319,11 @@ }

// pre-string for nested triples
let s_pre_nest = st_blank+' '+factory.c1(sc1_predicate, h_prefixes).verbose()+' ';
let s_pre_nest = st_blank+' '+c1_to_nt(sc1_predicate, h_prefixes, true)+' ';
// recurse
s_write += this.objects(s_pre_nest, z_objects[sc1_predicate], s_post, n_nest_level+1);
s_write += this._encode_objects(s_pre_nest, z_objects[sc1_predicate], s_post, n_nest_level+1);
}
// call exit object listener
if(f_exit_object) f_exit_object();
return s_write;

@@ -246,22 +357,24 @@ }

// rdfjs quad
serialize_quad(g_quad) {
let kq_quad = factory.from.quad(g_quad);
_serialize_quad(g_quad) {
// serialize quad
let s_write = (2 !== this.state? '\n': '')
+kq_quad.subject.verbose()
+' '+kq_quad.predicate.verbose()
+' '+kq_quad.object.verbose()
+(kq_quad.graph.isDefaultGraph? '': ' '+kq_quad.graph.verbose())
this._s_push += (2 !== this._xc_state? '\n': '')
+verbose_s(g_quad.subject)
+' '+verbose_p(g_quad.predicate)
+' '+verbose_o(g_quad.object)
+('DefaultGraph' === g_quad.graph.termType? '': ' '+verbose_g(g_quad.graph))
+' .\n';
// update state
this.state = 2;
return s_write;
this._xc_state = 2;
}
}
Object.assign(NQuads_Writer.prototype, {
_serialize_c3r: NQuads_Writer.prototype._serialize_c3,
_serialize_c4r: NQuads_Writer.prototype._serialize_c4,
_serialize_comment: Writable.prototype._serialize_hash_comment,
});
module.exports = function(gc_writer) {
return new NQuads_Writer(gc_writer);
};
{
"name": "@graphy/content.nq.write",
"version": "3.2.2",
"description": "RDF N-Quads content writer",
"version": "4.0.0",
"description": "RDF N-Quads content writer for dynamic and stylized output",
"keywords": [

@@ -26,5 +26,4 @@ "linked-data",

"dependencies": {
"@graphy/core.class.writable": "^3.2.2",
"@graphy/core.data.factory": "^3.2.2",
"big-integer": "^1.6.41"
"@graphy/core.class.writable": "^4.0.0",
"@graphy/core.data.factory": "^4.0.0"
},

@@ -34,2 +33,2 @@ "engines": {

}
}
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc