Comparing version 4.0.3 to 4.0.4
@@ -148,3 +148,3 @@ const { | ||
const escape_str = s => s.replace(/'/g, '\\\'').replace(/\r\n\v\f/g, ''); | ||
const escape_str = s => s.replace(/\\(.)/g, '$1').replace(/'/g, '\\\'').replace(/\r\n\v\f/g, ''); | ||
@@ -248,2 +248,3 @@ const track_prefix = (si_var_iri, si_prefix, s_suffix) => ({ | ||
// tag selector | ||
let x_rank = 0; | ||
let fsj_tag = null; | ||
@@ -260,3 +261,6 @@ | ||
if(xm_tags in H_TEST_RANGE) { | ||
fsj_tag = H_TEST_RANGE[xm_tags]; | ||
({ | ||
rank: x_rank, | ||
gen: fsj_tag, | ||
} = H_TEST_RANGE[xm_tags]); | ||
} | ||
@@ -268,3 +272,3 @@ // composite tag | ||
// each test range in order | ||
for(let [sm_test, fsj_select] of Object.entries(H_TEST_RANGE)) { | ||
for(let [sm_test, g_select] of Object.entries(H_TEST_RANGE)) { | ||
let xm_test = +sm_test; | ||
@@ -278,3 +282,3 @@ | ||
// apply selector | ||
a_selectors.push(fsj_select); | ||
a_selectors.push(g_select); | ||
@@ -291,20 +295,38 @@ // done | ||
// assess rank | ||
x_rank = a_selectors.map(g => g.rank).reduce(F_REDUCE_DECAY, 0); | ||
// save tag selector | ||
fsj_tag = sj_target => a_selectors.map(fsj => fsj(sj_target)).join(' && '); | ||
fsj_tag = sj_target => a_selectors.map(g => g.gen(sj_target)).join(' && '); | ||
} | ||
} | ||
// tag and term | ||
if(fsj_tag && k_term) { | ||
// tag | ||
if(fsj_tag) { | ||
// term | ||
if(k_term) { | ||
return { | ||
rank: X_RANK_PROPERTY_ACCESS, | ||
gen(sj_target) { | ||
return /* syntax: js */ `${fsj_tag(sj_target)} && ${k_term.gen(sj_target)}`; | ||
}, | ||
}; | ||
} | ||
// tag only | ||
else { | ||
return { | ||
rank: x_rank, | ||
gen: fsj_tag, | ||
}; | ||
} | ||
} | ||
// no tag | ||
else { | ||
return { | ||
rank: X_RANK_PROPERTY_ACCESS, | ||
rank: 0, | ||
gen(sj_target) { | ||
return /* syntax: js */ `${fsj_tag(sj_target)} && ${k_term.gen(sj_target)}`; | ||
}, | ||
gen: () => 'true', | ||
}; | ||
} | ||
else { | ||
debugger; | ||
} | ||
}, | ||
@@ -456,4 +478,4 @@ | ||
// consie term | ||
if(g_regex.concise) { | ||
// concise/verbose term | ||
if(g_regex.concise || g_regex.verbose) { | ||
let m_plain = R_PLAIN_REGEX.exec(s_source); | ||
@@ -469,7 +491,7 @@ | ||
switch(s_text[0]) { | ||
// language tag | ||
// language tag or datatype | ||
case '@': | ||
case '^': { | ||
let b_datatype = '^' === s_text[0]; | ||
let b_prefixed_datatype = b_datatype && '>' !== s_text[1]; | ||
let b_prefixed_datatype = b_datatype && !g_regex.verbose && '>' !== s_text[1]; | ||
let sj_prefixes = b_prefixed_datatype? 'h_prefixes': ''; | ||
@@ -479,2 +501,5 @@ | ||
// string pattern | ||
let s_pattern = b_datatype? escape_str(s_text.slice(1)): escape_str(s_text); | ||
// exact | ||
@@ -490,10 +515,14 @@ if(s_anchor_end) { | ||
rank: X_RANK_CONCISE_PREFIXES_STRING_EQUALS, | ||
gen(sj_target) { | ||
return /* syntax: js */ `'${s_pattern}' === ${sj_target}.concise(${sj_prefixes})`; | ||
}, | ||
} | ||
: { | ||
rank: X_RANK_CONCISE_STRING_EQUALS, | ||
gen(sj_target) { | ||
return /* syntax: js */ `'${s_pattern}' === ${sj_target}.concise()`; | ||
}, | ||
}), | ||
gen(sj_target) { | ||
return /* syntax: js */ `'${escape_str(s_text)}' === ${sj_target}.concise(${sj_prefixes})`; | ||
}, | ||
}; | ||
@@ -515,7 +544,17 @@ } | ||
rank: b_prefixed_datatype? X_RANK_CONCISE_PREFIXES_STRING_INDEX_OF: X_RANK_CONCISE_STRING_INDEX_OF, | ||
...b_prefixed_datatype | ||
? { | ||
rank: X_RANK_CONCISE_PREFIXES_STRING_INDEX_OF, | ||
gen(sj_target) { | ||
return /* syntax: js */ `0 === ${sj_target}.concise(${sj_prefixes}).indexOf('${escape_str(s_text)}')`; | ||
}, | ||
gen(sj_target) { | ||
return /* syntax: js */ `0 === ${sj_target}.concise(${sj_prefixes}).indexOf('${s_pattern}')`; | ||
}, | ||
} | ||
: { | ||
rank: X_RANK_CONCISE_STRING_INDEX_OF, | ||
gen(sj_target) { | ||
return /* syntax: js */ `0 === ${sj_target}.concise().indexOf('${s_pattern}')`; | ||
}, | ||
}, | ||
}; | ||
@@ -530,7 +569,17 @@ } | ||
rank: b_prefixed_datatype? X_RANK_CONCISE_PREFIXES_STRING_EQUALS: X_RANK_CONCISE_STRING_EQUALS, | ||
...b_prefixed_datatype | ||
? { | ||
rank: X_RANK_CONCISE_PREFIXES_STRING_EQUALS, | ||
gen(sj_target) { | ||
return /* syntax: js */ `'${escape_str(s_text.slice(1))}' === ${sj_target}.datatype.concise(${sj_prefixes})`; | ||
}, | ||
gen(sj_target) { | ||
return /* syntax: js */ `'${s_pattern}' === ${sj_target}.datatype.concise(${sj_prefixes})`; | ||
}, | ||
} | ||
: { | ||
rank: X_RANK_CONCISE_STRING_EQUALS, | ||
gen(sj_target) { | ||
return /* syntax: js */ `'${s_pattern}' === ${sj_target}.datatype.concise()`; | ||
}, | ||
}, | ||
}; | ||
@@ -546,3 +595,3 @@ } | ||
gen(sj_target) { | ||
return /* syntax: js */ `'${escape_str(s_text.slice(1))}' === ${sj_target}.language`; | ||
return /* syntax: js */ `'${s_pattern}' === ${sj_target}.language`; | ||
}, | ||
@@ -559,7 +608,17 @@ }; | ||
rank: b_prefixed_datatype? X_RANK_CONCISE_PREFIXES_STRING_INDEX_OF: X_RANK_CONCISE_STRING_INDEX_OF, | ||
...b_prefixed_datatype | ||
? { | ||
rank: X_RANK_CONCISE_PREFIXES_STRING_INDEX_OF, | ||
gen(sj_target) { | ||
return /* syntax: js */ `0 === ${sj_target}.datatype.concise(${sj_prefixes}).indexOf('${escape_str(s_text)}')`; | ||
}, | ||
gen(sj_target) { | ||
return /* syntax: js */ `0 === ${sj_target}.datatype.concise(${sj_prefixes}).indexOf('${s_pattern}')`; | ||
}, | ||
} | ||
: { | ||
rank: X_RANK_CONCISE_STRING_INDEX_OF, | ||
gen(sj_target) { | ||
return /* syntax: js */ `0 === ${sj_target}.datatype.concise().indexOf('${s_pattern}')`; | ||
}, | ||
}, | ||
}; | ||
@@ -575,3 +634,3 @@ } | ||
gen(sj_target) { | ||
return /* syntax: js */ `0 === ${sj_target}.language.indexOf('${escape_str(s_text.slice(1))}')`; | ||
return /* syntax: js */ `0 === ${sj_target}.language.indexOf('${s_pattern}')`; | ||
}, | ||
@@ -578,0 +637,0 @@ }; |
{ | ||
"name": "graphy", | ||
"version": "4.0.3", | ||
"version": "4.0.4", | ||
"description": "A comprehensive RDF toolkit including triplestores, intuitive writers, and the fastest JavaScript parsers on the Web", | ||
@@ -29,20 +29,20 @@ "keywords": [ | ||
"dependencies": { | ||
"@graphy/content.nq.read": "4.0.3", | ||
"@graphy/content.nq.scribe": "4.0.3", | ||
"@graphy/content.nq.write": "4.0.3", | ||
"@graphy/content.nt.read": "4.0.3", | ||
"@graphy/content.nt.scribe": "4.0.3", | ||
"@graphy/content.nt.write": "4.0.3", | ||
"@graphy/content.trig.read": "4.0.3", | ||
"@graphy/content.trig.scribe": "4.0.3", | ||
"@graphy/content.trig.write": "4.0.3", | ||
"@graphy/content.ttl.read": "4.0.3", | ||
"@graphy/content.ttl.scribe": "4.0.3", | ||
"@graphy/content.ttl.write": "4.0.3", | ||
"@graphy/core.class.scribable": "4.0.3", | ||
"@graphy/core.class.writable": "4.0.3", | ||
"@graphy/core.data.factory": "4.0.3", | ||
"@graphy/core.iso.stream": "4.0.3", | ||
"@graphy/memory.dataset.fast": "4.0.3", | ||
"@graphy/util.dataset.tree": "4.0.3", | ||
"@graphy/content.nq.read": "4.0.4", | ||
"@graphy/content.nq.scribe": "4.0.4", | ||
"@graphy/content.nq.write": "4.0.4", | ||
"@graphy/content.nt.read": "4.0.4", | ||
"@graphy/content.nt.scribe": "4.0.4", | ||
"@graphy/content.nt.write": "4.0.4", | ||
"@graphy/content.trig.read": "4.0.4", | ||
"@graphy/content.trig.scribe": "4.0.4", | ||
"@graphy/content.trig.write": "4.0.4", | ||
"@graphy/content.ttl.read": "4.0.4", | ||
"@graphy/content.ttl.scribe": "4.0.4", | ||
"@graphy/content.ttl.write": "4.0.4", | ||
"@graphy/core.class.scribable": "4.0.4", | ||
"@graphy/core.class.writable": "4.0.4", | ||
"@graphy/core.data.factory": "4.0.4", | ||
"@graphy/core.iso.stream": "4.0.4", | ||
"@graphy/memory.dataset.fast": "4.0.4", | ||
"@graphy/util.dataset.tree": "4.0.4", | ||
"big-integer": "^1.6.48", | ||
@@ -49,0 +49,0 @@ "pegjs": "^0.10.0", |
Sorry, the diff of this file is too big to display
204972
7273
+ Added@graphy/content.nq.read@4.0.4(transitive)
+ Added@graphy/content.nq.scribe@4.0.4(transitive)
+ Added@graphy/content.nq.write@4.0.4(transitive)
+ Added@graphy/content.nt.read@4.0.4(transitive)
+ Added@graphy/content.nt.scribe@4.0.4(transitive)
+ Added@graphy/content.nt.write@4.0.4(transitive)
+ Added@graphy/content.trig.read@4.0.4(transitive)
+ Added@graphy/content.trig.scribe@4.0.4(transitive)
+ Added@graphy/content.trig.write@4.0.4(transitive)
+ Added@graphy/content.ttl.read@4.0.4(transitive)
+ Added@graphy/content.ttl.scribe@4.0.4(transitive)
+ Added@graphy/content.ttl.write@4.0.4(transitive)
+ Added@graphy/core.class.scribable@4.0.4(transitive)
+ Added@graphy/core.class.writable@4.0.4(transitive)
+ Added@graphy/core.data.factory@4.0.4(transitive)
+ Added@graphy/core.iso.stream@4.0.4(transitive)
+ Added@graphy/memory.dataset.fast@4.0.4(transitive)
+ Added@graphy/util.dataset.tree@4.0.4(transitive)
- Removed@graphy/content.nq.read@4.0.3(transitive)
- Removed@graphy/content.nq.scribe@4.0.3(transitive)
- Removed@graphy/content.nq.write@4.0.3(transitive)
- Removed@graphy/content.nt.read@4.0.3(transitive)
- Removed@graphy/content.nt.scribe@4.0.3(transitive)
- Removed@graphy/content.nt.write@4.0.3(transitive)
- Removed@graphy/content.trig.read@4.0.3(transitive)
- Removed@graphy/content.trig.scribe@4.0.3(transitive)
- Removed@graphy/content.trig.write@4.0.3(transitive)
- Removed@graphy/content.ttl.read@4.0.3(transitive)
- Removed@graphy/content.ttl.scribe@4.0.3(transitive)
- Removed@graphy/content.ttl.write@4.0.3(transitive)
- Removed@graphy/core.class.scribable@4.0.3(transitive)
- Removed@graphy/core.class.writable@4.0.3(transitive)
- Removed@graphy/core.data.factory@4.0.3(transitive)
- Removed@graphy/core.iso.stream@4.0.3(transitive)
- Removed@graphy/memory.dataset.fast@4.0.3(transitive)
- Removed@graphy/util.dataset.tree@4.0.3(transitive)