diff --git a/types/n3/index.d.ts b/types/n3/index.d.ts index 31a2975bb0..75a8c4efef 100644 --- a/types/n3/index.d.ts +++ b/types/n3/index.d.ts @@ -3,7 +3,7 @@ // Definitions by: Fred Eisele // Ruben Taelman // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 2.1 +// TypeScript Version: 2.3 /// @@ -12,10 +12,12 @@ import * as stream from "stream"; import * as RDF from "rdf-js"; import { EventEmitter } from "events"; -export interface Prefixes { - [key: string]: RDF.NamedNode; +export interface Prefixes { + [key: string]: I; } +export type PrefixedToIri = (suffix: string) => RDF.NamedNode; + export class Term implements RDF.Term { termType: "NamedNode" | "BlankNode" | "Literal" | "Variable" | "DefaultGraph"; id: string; @@ -139,7 +141,7 @@ export interface N3StreamParser extends RDF.Stream, NodeJS.WritableStream, RDF.S export interface WriterOptions { format?: string; - prefixes?: Prefixes; + prefixes?: Prefixes; end?: boolean; } @@ -157,8 +159,8 @@ export interface N3Writer { addQuad(subject: RDF.Term, predicate: RDF.Term, object: RDF.Term | RDF.Term[], graph?: RDF.Term, done?: () => void): void; addQuad(quad: RDF.Quad): void; addQuads(quads: RDF.Quad[]): void; - addPrefix(prefix: string, iri: string, done?: () => void): void; - addPrefixes(prefixes: Prefixes, done?: () => void): void; + addPrefix(prefix: string, iri: RDF.NamedNode | string , done?: () => void): void; + addPrefixes(prefixes: Prefixes, done?: () => void): void; end(err?: ErrorCallback, result?: string): void; blank(predicate: RDF.Term, object: RDF.Term): RDF.Term; blank(triple: BlankTriple | RDF.Quad | BlankTriple[] | RDF.Quad[]): RDF.Term; @@ -218,6 +220,9 @@ export namespace Util { function isVariable(value: RDF.Term | null): boolean; function isDefaultGraph(value: RDF.Term | null): boolean; function inDefaultGraph(value: RDF.Quad): boolean; - function prefix(iri: string, factory?: RDF.DataFactory): (suffix: string) => RDF.NamedNode; - function prefixes(defaultPrefixes: Prefixes, factory?: RDF.DataFactory): (iri: string) => (suffix: string) => RDF.NamedNode; + function prefix(iri: RDF.NamedNode|string, factory?: RDF.DataFactory): PrefixedToIri; + function prefixes( + defaultPrefixes: Prefixes, + factory?: RDF.DataFactory + ): (prefix: string) => PrefixedToIri; } diff --git a/types/n3/n3-tests.ts b/types/n3/n3-tests.ts index a061777ad7..f7b2db2409 100644 --- a/types/n3/n3-tests.ts +++ b/types/n3/n3-tests.ts @@ -17,7 +17,8 @@ function test_add_prefixes() { writer.addPrefixes({ freebase: N3.DataFactory.namedNode("http://rdf.freebase.com/ns/"), - xsd: N3.DataFactory.namedNode("http://www.w3.org/2001/XMLSchema#") + xsd: N3.DataFactory.namedNode("http://www.w3.org/2001/XMLSchema#"), + rdf: 'http://test' }); writer.end((error, result) => { @@ -31,7 +32,7 @@ function test_serialize() { format: "ttl", prefixes: { foaf: "http://xmlns.com/foaf/0.1", - freebase: "http://rdf.freebase.com/ns/", + freebase: N3.DataFactory.namedNode("http://rdf.freebase.com/ns/"), g: "http://base.google.com/ns/1.0" } });