diff --git a/types/rdf-ext/lib/DataFactory.d.ts b/types/rdf-ext/lib/DataFactory.d.ts index f8d1c2565e..14e5befd1c 100644 --- a/types/rdf-ext/lib/DataFactory.d.ts +++ b/types/rdf-ext/lib/DataFactory.d.ts @@ -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(subject: Q['subject'], predicate: Q['predicate'], object: Q['object']): Q; - static quad(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): Dataset; @@ -39,8 +39,10 @@ declare class DataFactoryExt implements DataFactory { defaultGraph(): DefaultGraphExt; literal(value: string, languageOrDatatype?: string | NamedNode): LiteralExt; namedNode(value: string): NamedNode; - quad(subject: Q['subject'], predicate: Q['predicate'], object: Q['object'], graph?: Q['graph']): Q; - triple(subject: Q['subject'], predicate: Q['predicate'], object: Q['object']): Q; + // tslint:disable:no-unnecessary-generics + quad(subject: Quad_Subject, predicate: Quad_Predicate, object: Quad_Object, graph?: Quad_Graph): Q; + triple(subject: Quad_Subject, predicate: Quad_Predicate, object: Quad_Object): Q; + // tslint:enable:no-unnecessary-generics variable(value: string): VariableExt; } diff --git a/types/rdf-ext/rdf-ext-tests.ts b/types/rdf-ext/rdf-ext-tests.ts index e3f897bab9..fa0b0a43b8 100644 --- a/types/rdf-ext/rdf-ext-tests.ts +++ b/types/rdf-ext/rdf-ext-tests.ts @@ -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 = {}; + const predicate: NamedNode = {}; + const object: NamedNode = {}; + const graph: NamedNode = {}; + + return rdf.quad(subject, predicate, object, graph); +} + +function static_Triple_fromBaseTerms(): Quad { + const subject: NamedNode = {}; + const predicate: NamedNode = {}; + const object: NamedNode = {}; + + return rdf.triple(subject, predicate, object); +} + +// tslint:disable:use-default-type-parameter +function instance_Quad_fromBaseTerms(): Quad { + const factory: DataFactoryExt = {}; + const subject: NamedNode = {}; + const predicate: NamedNode = {}; + const object: NamedNode = {}; + const graph: NamedNode = {}; + + return factory.quad(subject, predicate, object, graph); +} + +function instance_Triple_fromBaseTerms(): Quad { + const factory: DataFactoryExt = {}; + const subject: NamedNode = {}; + const predicate: NamedNode = {}; + const object: NamedNode = {}; + + return factory.triple(subject, predicate, object); +} +// tslint:enable:use-default-type-parameter + function Quad_toJSON(): boolean { const quad = rdf.quad( rdf.blankNode('foo'),