From 5b236be238ab7e4cbbdf0fb0893788dabed1918a Mon Sep 17 00:00:00 2001 From: Drew Perttula Date: Fri, 17 Jan 2020 08:57:12 -0800 Subject: [PATCH] Fix types on N3Store.forSubjects (etc). Now they callback with the same type N3Store.getSubjects/etc returned. (#41670) --- types/n3/index.d.ts | 8 ++++---- types/n3/n3-tests.ts | 16 ++++++++++++++++ 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/types/n3/index.d.ts b/types/n3/index.d.ts index eba19244fb..63e89ab7e3 100644 --- a/types/n3/index.d.ts +++ b/types/n3/index.d.ts @@ -215,13 +215,13 @@ export interface N3Store, subject: OTerm, predicate: OTerm, object: OTerm, graph: OTerm): boolean; some(callback: QuadPredicate, subject: OTerm, predicate: OTerm, object: OTerm, graph: OTerm): boolean; getSubjects(predicate: OTerm, object: OTerm, graph: OTerm): Array; - forSubjects(callback: QuadCallback, predicate: OTerm, object: OTerm, graph: OTerm): void; + forSubjects(callback: (result: Q_N3['subject']) => void, predicate: OTerm, object: OTerm, graph: OTerm): void; getPredicates(subject: OTerm, object: OTerm, graph: OTerm): Array; - forPredicates(callback: QuadCallback, subject: OTerm, object: OTerm, graph: OTerm): void; + forPredicates(callback: (result: Q_N3['predicate']) => void, subject: OTerm, object: OTerm, graph: OTerm): void; getObjects(subject: OTerm, predicate: OTerm, graph: OTerm): Array; - forObjects(callback: QuadCallback, subject: OTerm, predicate: OTerm, graph: OTerm): void; + forObjects(callback: (result: Q_N3['object']) => void, subject: OTerm, predicate: OTerm, graph: OTerm): void; getGraphs(subject: OTerm, predicate: OTerm, object: OTerm): Array; - forGraphs(callback: QuadCallback, subject: OTerm, predicate: OTerm, object: OTerm): void; + forGraphs(callback: (result: Q_N3['graph']) => void, subject: OTerm, predicate: OTerm, object: OTerm): void; createBlankNode(suggestedName?: string): BlankNode; } export interface StoreConstructor { diff --git a/types/n3/n3-tests.ts b/types/n3/n3-tests.ts index 944c036c2b..60294852ba 100644 --- a/types/n3/n3-tests.ts +++ b/types/n3/n3-tests.ts @@ -217,6 +217,22 @@ function test_doc_storing() { storeGeneralized.addQuad(N3.DataFactory.namedNode('http://ex.org/Pluto'), N3.DataFactory.blankNode(), N3.DataFactory.namedNode('http://ex.org/Dog')); } +function test_store_queries() { + const store: N3.N3Store = new N3.Store(); + + const subjs: N3.Quad_Subject[] = store.getSubjects(null, null, null); + store.forSubjects((subj: N3.Quad_Subject) => {}, null, null, null); + + const preds: N3.Quad_Predicate[] = store.getPredicates(null, null, null); + store.forPredicates((subj: N3.Quad_Predicate) => {}, null, null, null); + + const objs: N3.Quad_Object[] = store.getObjects(null, null, null); + store.forObjects((subj: N3.Quad_Object) => {}, null, null, null); + + const graphs: N3.Quad_Graph[] = store.getGraphs(null, null, null); + store.forGraphs((subj: N3.Quad_Graph) => {}, null, null, null); +} + function test_doc_utility() { const N3Util = N3.Util; N3Util.isNamedNode(N3.DataFactory.namedNode('http://example.org/cartoons#Mickey')); // true