fix: rdf-ext factory does not accept base terms (#41588)

This commit is contained in:
Tomasz Pluskiewicz
2020-01-14 16:27:25 -05:00
committed by Eli Barzilay
parent 7bb48f0e01
commit ff0f21449a
2 changed files with 48 additions and 6 deletions
+7 -5
View File
@@ -1,4 +1,4 @@
import { DataFactory, Sink, NamedNode, BaseQuad, Quad, Stream } from 'rdf-js';
import { DataFactory, Sink, NamedNode, BaseQuad, Quad, Stream, Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph } from 'rdf-js';
import BlankNodeExt = require("./BlankNode");
import LiteralExt = require("./Literal");
import NamedNodeExt = require("./NamedNode");
@@ -29,8 +29,8 @@ declare class DataFactoryExt implements DataFactory {
static literal(value: string, languageOrDatatype?: string | NamedNode): LiteralExt;
static variable(value: string): VariableExt;
static defaultGraph(): DefaultGraphExt;
static triple<Q extends BaseQuad = QuadExt>(subject: Q['subject'], predicate: Q['predicate'], object: Q['object']): Q;
static quad<Q extends BaseQuad = QuadExt>(subject: Q['subject'], predicate: Q['predicate'], object: Q['object'], graph?: Q['graph']): Q;
static triple(subject: Quad_Subject, predicate: Quad_Predicate, object: Quad_Object): QuadExt;
static quad(subject: Quad_Subject, predicate: Quad_Predicate, object: Quad_Object, graph?: Quad_Graph): QuadExt;
static graph(quads?: any): Dataset;
static prefixMap(prefixes: Prefixes): PrefixMap;
static dataset(quads?: Quad[], graph?: PropType<QuadExt, 'graph'>): Dataset;
@@ -39,8 +39,10 @@ declare class DataFactoryExt implements DataFactory {
defaultGraph(): DefaultGraphExt;
literal(value: string, languageOrDatatype?: string | NamedNode): LiteralExt;
namedNode(value: string): NamedNode;
quad<Q extends BaseQuad = QuadExt>(subject: Q['subject'], predicate: Q['predicate'], object: Q['object'], graph?: Q['graph']): Q;
triple<Q extends BaseQuad = QuadExt>(subject: Q['subject'], predicate: Q['predicate'], object: Q['object']): Q;
// tslint:disable:no-unnecessary-generics
quad<Q extends BaseQuad = QuadExt>(subject: Quad_Subject, predicate: Quad_Predicate, object: Quad_Object, graph?: Quad_Graph): Q;
triple<Q extends BaseQuad = QuadExt>(subject: Quad_Subject, predicate: Quad_Predicate, object: Quad_Object): Q;
// tslint:enable:no-unnecessary-generics
variable(value: string): VariableExt;
}
+41 -1
View File
@@ -1,5 +1,7 @@
import rdf = require('rdf-ext');
import { Literal, Quad, Dataset } from 'rdf-js';
import { Literal, Quad, Dataset, NamedNode } from 'rdf-js';
import QuadExt = require('rdf-ext/lib/Quad');
import DataFactoryExt = require('rdf-ext/lib/DataFactory');
function NamedNode_toCanonical(): string {
const iri = 'http://example.org';
@@ -148,6 +150,44 @@ function Quad_withBlankSubject(): Quad {
);
}
function static_Quad_fromBaseTerms(): Quad {
const subject: NamedNode = <any> {};
const predicate: NamedNode = <any> {};
const object: NamedNode = <any> {};
const graph: NamedNode = <any> {};
return rdf.quad(subject, predicate, object, graph);
}
function static_Triple_fromBaseTerms(): Quad {
const subject: NamedNode = <any> {};
const predicate: NamedNode = <any> {};
const object: NamedNode = <any> {};
return rdf.triple(subject, predicate, object);
}
// tslint:disable:use-default-type-parameter
function instance_Quad_fromBaseTerms(): Quad {
const factory: DataFactoryExt = <any> {};
const subject: NamedNode = <any> {};
const predicate: NamedNode = <any> {};
const object: NamedNode = <any> {};
const graph: NamedNode = <any> {};
return factory.quad<QuadExt>(subject, predicate, object, graph);
}
function instance_Triple_fromBaseTerms(): Quad {
const factory: DataFactoryExt = <any> {};
const subject: NamedNode = <any> {};
const predicate: NamedNode = <any> {};
const object: NamedNode = <any> {};
return factory.triple<QuadExt>(subject, predicate, object);
}
// tslint:enable:use-default-type-parameter
function Quad_toJSON(): boolean {
const quad = rdf.quad(
rdf.blankNode('foo'),