Skip to content

Commit ed5714e

Browse files
Add missing spec methods to DataFactory interface
1 parent 928a315 commit ed5714e

File tree

3 files changed

+41
-0
lines changed

3 files changed

+41
-0
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# @rdfjs/types
22

3+
## 1.1.1
4+
5+
### Minor Changes
6+
7+
- Add missing methods to DataFactory interface
8+
39
## 1.1.0
410

511
### Minor Changes

data-model.d.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,4 +287,18 @@ export interface DataFactory<OutQuad extends BaseQuad = Quad, InQuad extends Bas
287287
* @see Quad
288288
*/
289289
quad(subject: InQuad['subject'], predicate: InQuad['predicate'], object: InQuad['object'], graph?: InQuad['graph']): OutQuad;
290+
291+
/**
292+
* @param original The original term.
293+
* @return A new instance of the term such that newTermInstance.equals(original) returns true.
294+
* @see Term
295+
*/
296+
fromTerm(original: Term): Term;
297+
298+
/**
299+
* @param original The original quad.
300+
* @return A new instance of the quad such that newQuadInstance.equals(original) returns true.
301+
* @see Quad
302+
*/
303+
fromQuad(original: InQuad): OutQuad;
290304
}

rdf-js-tests.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,21 @@ function test_datafactory() {
8484

8585
const variable: Variable = dataFactory.variable ? dataFactory.variable('v1') : <any> {};
8686

87+
const defaultGraph: DefaultGraph = dataFactory.defaultGraph();
88+
89+
const term1: Term = dataFactory.fromTerm(dataFactory.namedNode(""));
90+
const term2: Term = dataFactory.fromTerm(dataFactory.blankNode());
91+
const term3: Term = dataFactory.fromTerm(dataFactory.literal(""));
92+
const term4: Term = dataFactory.fromTerm(dataFactory.variable ? dataFactory.variable("v1") : <any> {});
93+
const term5: Term = dataFactory.fromTerm(dataFactory.defaultGraph());
94+
95+
const quadFromQuad: Term = dataFactory.fromQuad(dataFactory.quad(
96+
dataFactory.namedNode("x"),
97+
dataFactory.namedNode("y"),
98+
dataFactory.literal(""),
99+
dataFactory.defaultGraph()
100+
));
101+
87102
const term: NamedNode = <any> {};
88103
interface QuadBnode extends BaseQuad {
89104
subject: Term;
@@ -119,6 +134,8 @@ function test_datafactory_star() {
119134
const equalToSelf: boolean = quadBobAge2.equals(quadBobAge);
120135
const notEqualToOtherType: boolean = quadBobAge2.equals(dataFactory.namedNode('ex:something:else'));
121136
}
137+
138+
const quadTerm: Term = dataFactory.fromTerm(quadBobAge);
122139
}
123140

124141
function test_datafactory_star_basequad() {
@@ -143,6 +160,10 @@ function test_datafactory_star_basequad() {
143160
const equalToSelf: boolean = quadBobAge2.equals(quadBobAge);
144161
const notEqualToOtherType: boolean = quadBobAge2.equals(dataFactory.namedNode('ex:something:else'));
145162
}
163+
164+
const baseQuadTerm: Term = dataFactory.fromTerm(quadBobAge);
165+
166+
const baseQuad: BaseQuad = dataFactory.fromQuad(quadBobAge);
146167
}
147168

148169
function test_stream() {

0 commit comments

Comments
 (0)