Fix data factory type (#41884)

This commit is contained in:
Chris Wilkinson
2020-01-27 10:38:34 -08:00
committed by Wesley Wigham
parent 7c439294f1
commit 2e7fff55c7
2 changed files with 17 additions and 8 deletions
+2 -2
View File
@@ -3,8 +3,8 @@
// Definitions by: Chris Wilkinson <https://github.com/thewilkybarkid>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
import { BaseQuad, DataFactory, DatasetCore, Quad } from 'rdf-js';
import { BaseQuad, DataFactory, DatasetCore, DatasetCoreFactory, Quad } from 'rdf-js';
declare function datasetFactory<Q extends BaseQuad = Quad>(quads?: Q[], dataFactory?: DataFactory<Q>): DatasetCore<Q>;
declare function datasetFactory<Q extends BaseQuad = Quad>(quads?: Q[], dataFactory?: DataFactory<Q> & DatasetCoreFactory<Q>): DatasetCore<Q>;
export = datasetFactory;
@@ -1,12 +1,21 @@
import datasetFactory = require('rdf-dataset-indexed');
import { BaseQuad, DataFactory, DatasetCore, Quad } from 'rdf-js';
import { BaseQuad, DataFactory, DatasetCore, DatasetCoreFactory, Quad, Term } from 'rdf-js';
const dataFactory: DataFactory = {} as any;
interface QuadBnode extends BaseQuad {
subject: Term;
predicate: Term;
object: Term;
graph: Term;
}
const dataFactory1: DataFactory & DatasetCoreFactory = {} as any;
const dataFactory2: DataFactory<QuadBnode> & DatasetCoreFactory<QuadBnode> = {} as any;
const quads1: Quad[] = [] as any;
const quads2: BaseQuad[] = [] as any;
const quads2: QuadBnode[] = [] as any;
const test1: DatasetCore = datasetFactory();
const test2: DatasetCore = datasetFactory(quads1);
const test3: DatasetCore = datasetFactory(quads1, dataFactory);
const test4: DatasetCore<BaseQuad> = datasetFactory(quads2);
const test5: DatasetCore<BaseQuad> = datasetFactory<BaseQuad>(quads2);
const test3: DatasetCore = datasetFactory(quads1, dataFactory1);
const test4: DatasetCore<QuadBnode> = datasetFactory(quads2);
const test5: DatasetCore<QuadBnode> = datasetFactory<QuadBnode>(quads2);
const test6: DatasetCore<QuadBnode> = datasetFactory<QuadBnode>(quads2, dataFactory2);