From 9cb72e2e42437d10b1c3bbec1fd6329ca3f9e5c6 Mon Sep 17 00:00:00 2001 From: Tomasz Pluskiewicz Date: Tue, 22 Sep 2020 20:48:14 +0200 Subject: [PATCH] fix(clownface): add missing overloads (#46950) --- types/clownface/clownface-tests.ts | 16 +++++++++++++++- types/clownface/index.d.ts | 15 ++++++++------- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/types/clownface/clownface-tests.ts b/types/clownface/clownface-tests.ts index 4e72dc5976..0a3a9d9e83 100644 --- a/types/clownface/clownface-tests.ts +++ b/types/clownface/clownface-tests.ts @@ -116,6 +116,9 @@ function testBlankNode() { let singleBlank: clownface.AnyPointer = cf.blankNode(); singleBlank = cf.blankNode('label'); const multiBlankContext: clownface.AnyPointer = cf.blankNode([ 'b1', 'b2' ]); + + const fromOther: clownface.AnyPointer = cf.blankNode(singleBlank); + const fromMultipleOther: clownface.MultiPointer = cf.blankNode(multiBlankContext); } function testDeleteIn() { @@ -244,9 +247,12 @@ function testList() { function testLiteral() { const cf: clownface.AnyPointer = {}; let cfOneLit: clownface.AnyPointer = cf.literal('foo'); - const cfLiterasl: clownface.AnyPointer = cf.literal(['foo', 'bar']); + const cfLiterals: clownface.AnyPointer = cf.literal(['foo', 'bar']); cfOneLit = cf.literal('foo', node); cfOneLit = cf.literal('foo', 'en'); + + const fromOther: clownface.AnyPointer = cf.literal(cfOneLit); + const fromMultipleOther: clownface.MultiPointer = cf.literal(cfLiterals); } function testMap() { @@ -264,6 +270,9 @@ function testNamedNode() { let cfSingleNamed: clownface.AnyPointer = cf.namedNode(node); cfSingleNamed = cf.namedNode('http://example.com/'); const cfNamedMany: clownface.AnyPointer = cf.namedNode(['http://example.com/', 'http://example.org/']); + + const fromOther: clownface.AnyPointer = cf.namedNode(cfSingleNamed); + const fromMultipleOther: clownface.MultiPointer = cf.namedNode(cfNamedMany); } function testNode() { @@ -276,6 +285,11 @@ function testNode() { const cfBlank: clownface.AnyPointer = cf.node(null, { type: 'BlankNode' }); cfLit = cf.node('example', { datatype: node.value }); cfLit = cf.node('example', { datatype: node }); + + const fromOtherNode: clownface.MultiPointer = cf.node(singleTerm); + const literalFromOther: clownface.MultiPointer = cf.node(cfLit); + + const literalFromMultipleOther: clownface.MultiPointer = cf.node(cfLitMany); } function testOut() { diff --git a/types/clownface/index.d.ts b/types/clownface/index.d.ts index c708d5293c..2fdc3de20f 100644 --- a/types/clownface/index.d.ts +++ b/types/clownface/index.d.ts @@ -57,7 +57,8 @@ declare namespace clownface { node(value: SingleOrOneElementArray, options?: NodeOptions): AnyPointer; node(values: Array, options?: NodeOptions): AnyPointer; - node(value: SingleOrOneElementArray, options?: NodeOptions): AnyPointer; + node(value: SingleOrOneElementArray | AnyPointer, options?: NodeOptions): AnyPointer; + node(value: MultiPointer, options?: NodeOptions): AnyPointer; node(values: X, options?: NodeOptions): AnyPointer; node(value: null, options?: NodeOptions): AnyPointer; @@ -65,14 +66,14 @@ declare namespace clownface { node(values: Array, options?: NodeOptions): AnyPointer; - blankNode(value?: SingleOrOneElementArray): AnyPointer; - blankNode(values: string[]): AnyPointer; + blankNode(value?: SingleOrOneElementArray | AnyPointer): AnyPointer; + blankNode(values: string[] | MultiPointer): AnyPointer; - literal(value: SingleOrOneElementArray, languageOrDatatype?: string | NamedNode): AnyPointer; - literal(values: Array, languageOrDatatype?: string | NamedNode): AnyPointer; + literal(value: SingleOrOneElementArray | AnyPointer, languageOrDatatype?: string | NamedNode): AnyPointer; + literal(values: Array | MultiPointer, languageOrDatatype?: string | NamedNode): AnyPointer; - namedNode(value: SingleOrOneElementArray): AnyPointer; - namedNode(values: Array): AnyPointer; + namedNode(value: SingleOrOneElementArray | AnyPointer): AnyPointer; + namedNode(values: Array | MultiPointer): AnyPointer; in(predicates?: SingleOrArrayOfTerms): MultiPointer; out(predicates?: SingleOrArrayOfTerms): MultiPointer;