diff --git a/types/rdfjs__parser-jsonld/index.d.ts b/types/rdfjs__parser-jsonld/index.d.ts index 8a39af5261..a562e37d00 100644 --- a/types/rdfjs__parser-jsonld/index.d.ts +++ b/types/rdfjs__parser-jsonld/index.d.ts @@ -3,9 +3,8 @@ // Definitions by: Chris Wilkinson // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { EventEmitter } from 'events'; import { Context } from 'jsonld/jsonld-spec'; -import { DataFactory, Sink, Stream } from 'rdf-js'; +import { DataFactory, Sink, Stream, BaseQuad, Quad } from 'rdf-js'; declare namespace Parser { interface ParserOptions { @@ -15,10 +14,10 @@ declare namespace Parser { } } -declare class Parser implements Sink { +declare class Parser implements Sink { constructor(options?: Parser.ParserOptions); - import(stream: Stream, options?: Parser.ParserOptions): EventEmitter; + import(stream: Stream, options?: Parser.ParserOptions): Stream; } export = Parser; diff --git a/types/rdfjs__parser-jsonld/rdfjs__parser-jsonld-tests.ts b/types/rdfjs__parser-jsonld/rdfjs__parser-jsonld-tests.ts index ae9a0c1c44..250718b2d2 100644 --- a/types/rdfjs__parser-jsonld/rdfjs__parser-jsonld-tests.ts +++ b/types/rdfjs__parser-jsonld/rdfjs__parser-jsonld-tests.ts @@ -1,7 +1,6 @@ import Parser = require('@rdfjs/parser-jsonld'); -import { EventEmitter } from 'events'; import { Context } from 'jsonld/jsonld-spec'; -import { DataFactory, Sink, Stream } from 'rdf-js'; +import { DataFactory, Sink, Stream, BaseQuad } from 'rdf-js'; const baseIRI = ''; const context: Context = {} as any; @@ -14,6 +13,15 @@ const parser3 = new Parser({ baseIRI, context, factory }); const sink: Sink = parser1; -const eventEmitter1: EventEmitter = parser1.import(stream); -const eventEmitter2: EventEmitter = parser1.import(stream, {}); -const eventEmitter3: EventEmitter = parser1.import(stream, { baseIRI, context, factory }); +const eventEmitter1: Stream = parser1.import(stream); +const eventEmitter2: Stream = parser1.import(stream, {}); +const eventEmitter3: Stream = parser1.import(stream, { baseIRI, context, factory }); + +interface SpecializedQuad extends BaseQuad { + foo: string; +} +const typedStream: Stream = {}; +const typedParser: Parser = {}; +const typedImported: Stream = typedParser.import(typedStream); +const typedImported1: Stream = typedParser.import(typedStream, {}); +const typedImported2: Stream = typedParser.import(typedStream, { baseIRI, context, factory }); diff --git a/types/rdfjs__parser-n3/index.d.ts b/types/rdfjs__parser-n3/index.d.ts index 3519409f6c..7efd1916a6 100644 --- a/types/rdfjs__parser-n3/index.d.ts +++ b/types/rdfjs__parser-n3/index.d.ts @@ -3,18 +3,17 @@ // Definitions by: tpluscode // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { EventEmitter } from 'events'; -import { Sink, Stream, DataFactory } from 'rdf-js'; +import { Sink, Stream, DataFactory, BaseQuad, Quad } from 'rdf-js'; interface ParserOptions { baseIRI?: string; factory?: DataFactory; } -declare class Parser implements Sink { +declare class Parser implements Sink { constructor(options?: ParserOptions); - import(stream: Stream, options?: ParserOptions): EventEmitter; + import(stream: Stream, options?: ParserOptions): Stream; } export = Parser; diff --git a/types/rdfjs__parser-n3/rdfjs__parser-n3-tests.ts b/types/rdfjs__parser-n3/rdfjs__parser-n3-tests.ts index c599393b30..94bbab1002 100644 --- a/types/rdfjs__parser-n3/rdfjs__parser-n3-tests.ts +++ b/types/rdfjs__parser-n3/rdfjs__parser-n3-tests.ts @@ -1,6 +1,5 @@ import ParserN3 = require('@rdfjs/parser-n3'); -import { Stream, DataFactory, Sink } from 'rdf-js'; -import { EventEmitter } from 'events'; +import { Stream, DataFactory, Sink, BaseQuad } from 'rdf-js'; const factory: DataFactory = {}; const baseIRI = ''; @@ -13,7 +12,16 @@ const parser3 = new ParserN3({ baseIRI }); const sink: Sink = parser; const input: Stream = {}; -const output: EventEmitter = parser.import(input); -const output1: EventEmitter = parser.import(input, {}); -const output2: EventEmitter = parser.import(input, { factory }); -const output3: EventEmitter = parser.import(input, { baseIRI }); +const output: Stream = parser.import(input); +const output1: Stream = parser.import(input, {}); +const output2: Stream = parser.import(input, { factory }); +const output3: Stream = parser.import(input, { baseIRI }); + +interface SpecializedQuad extends BaseQuad { + foo: string; +} +const typedStream: Stream = {}; +const typedParser: ParserN3 = {}; +const typedImported: Stream = typedParser.import(typedStream); +const typedImported1: Stream = typedParser.import(typedStream, {}); +const typedImported2: Stream = typedParser.import(typedStream, { baseIRI, factory }); diff --git a/types/rdfjs__serializer-jsonld-ext/index.d.ts b/types/rdfjs__serializer-jsonld-ext/index.d.ts index eb6595a87c..bf46386750 100644 --- a/types/rdfjs__serializer-jsonld-ext/index.d.ts +++ b/types/rdfjs__serializer-jsonld-ext/index.d.ts @@ -5,7 +5,7 @@ import { EventEmitter } from 'events'; import { Context } from 'jsonld/jsonld-spec'; -import { Sink, Stream } from 'rdf-js'; +import { Sink, Stream, BaseQuad, Quad } from 'rdf-js'; declare namespace Serializer { interface SerializerOptions { @@ -19,10 +19,10 @@ declare namespace Serializer { } } -declare class Serializer implements Sink { +declare class Serializer implements Sink { constructor(options?: Serializer.SerializerOptions); - import(stream: Stream, options?: Serializer.SerializerOptions): EventEmitter; + import(stream: Stream, options?: Serializer.SerializerOptions): EventEmitter; } export = Serializer; diff --git a/types/rdfjs__serializer-jsonld/index.d.ts b/types/rdfjs__serializer-jsonld/index.d.ts index 9c63cacebc..9b8667f2ef 100644 --- a/types/rdfjs__serializer-jsonld/index.d.ts +++ b/types/rdfjs__serializer-jsonld/index.d.ts @@ -4,7 +4,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped import { EventEmitter } from 'events'; -import { Sink, Stream } from 'rdf-js'; +import { Sink, Stream, BaseQuad, Quad } from 'rdf-js'; declare namespace Serializer { interface SerializerOptions { @@ -12,10 +12,10 @@ declare namespace Serializer { } } -declare class Serializer implements Sink { +declare class Serializer implements Sink { constructor(options?: Serializer.SerializerOptions); - import(stream: Stream, options?: Serializer.SerializerOptions): EventEmitter; + import(stream: Stream, options?: Serializer.SerializerOptions): EventEmitter; } export = Serializer;