mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-06-28 14:20:12 +00:00
Add rdf-data-model typings (#20539)
This commit is contained in:
committed by
Wesley Wigham
parent
c7fcca390e
commit
7f298ec31e
66
types/rdf-data-model/index.d.ts
vendored
Normal file
66
types/rdf-data-model/index.d.ts
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
// Type definitions for rdf-data-model 1.0
|
||||
// Project: https://github.com/rdf-ext/rdf-data-model
|
||||
// Definitions by: Ruben Taelman <https://github.com/rubensworks>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
import * as RDF from "rdf-js";
|
||||
|
||||
export class NamedNode implements RDF.NamedNode {
|
||||
termType: "NamedNode";
|
||||
value: string;
|
||||
constructor(iri: string);
|
||||
equals(other: RDF.Term): boolean;
|
||||
}
|
||||
|
||||
export class BlankNode implements RDF.BlankNode {
|
||||
static nextId: number;
|
||||
termType: "BlankNode";
|
||||
value: string;
|
||||
constructor(id?: string);
|
||||
equals(other: RDF.Term): boolean;
|
||||
}
|
||||
|
||||
export class Literal implements RDF.Literal {
|
||||
static readonly langStringDatatype: NamedNode;
|
||||
termType: "Literal";
|
||||
value: string;
|
||||
language: string;
|
||||
datatype: RDF.NamedNode;
|
||||
constructor(value: string, language?: string, datatype?: RDF.NamedNode);
|
||||
equals(other: RDF.Term): boolean;
|
||||
}
|
||||
|
||||
export class Variable implements RDF.Variable {
|
||||
termType: "Variable";
|
||||
value: string;
|
||||
constructor(name: string);
|
||||
equals(other: RDF.Term): boolean;
|
||||
}
|
||||
|
||||
export class DefaultGraph implements RDF.DefaultGraph {
|
||||
termType: "DefaultGraph";
|
||||
value: "";
|
||||
constructor();
|
||||
equals(other: RDF.Term): boolean;
|
||||
}
|
||||
|
||||
export class Quad implements RDF.Quad {
|
||||
subject: RDF.Term;
|
||||
predicate: RDF.Term;
|
||||
object: RDF.Term;
|
||||
graph: RDF.Term;
|
||||
constructor(subject: RDF.Term, predicate: RDF.Term, object: RDF.Term, graph?: RDF.Term);
|
||||
equals(other: RDF.Quad): boolean;
|
||||
}
|
||||
|
||||
export class DataFactory implements RDF.DataFactory {
|
||||
static defaultGraphInstance: RDF.DefaultGraph;
|
||||
constructor();
|
||||
namedNode(value: string): NamedNode;
|
||||
blankNode(value?: string): BlankNode;
|
||||
literal(value: string, languageOrDatatype?: string | RDF.NamedNode): Literal;
|
||||
variable(value: string): Variable;
|
||||
defaultGraph(): DefaultGraph;
|
||||
triple(subject: RDF.Term, predicate: RDF.Term, object: RDF.Term): Quad;
|
||||
quad(subject: RDF.Term, predicate: RDF.Term, object: RDF.Term, graph?: RDF.Term): Quad;
|
||||
}
|
||||
65
types/rdf-data-model/rdf-data-model-tests.ts
Normal file
65
types/rdf-data-model/rdf-data-model-tests.ts
Normal file
@@ -0,0 +1,65 @@
|
||||
import * as RDF from "rdf-js";
|
||||
import { BlankNode, DataFactory, DefaultGraph, Literal, NamedNode, Quad, Variable } from "rdf-data-model";
|
||||
import { EventEmitter } from "events";
|
||||
|
||||
function test_terms() {
|
||||
// Only types are checked in this tests,
|
||||
// so this does not have to be functional.
|
||||
const someTerm: RDF.Term = <any> {};
|
||||
|
||||
const namedNode: RDF.NamedNode = new NamedNode('http://example.org');
|
||||
const tt1: string = namedNode.termType;
|
||||
const v1: string = namedNode.value;
|
||||
const b1: boolean = namedNode.equals(someTerm);
|
||||
|
||||
const blankNode1: RDF.BlankNode = new BlankNode();
|
||||
const blankNode2: RDF.BlankNode = new BlankNode('b100');
|
||||
const tt2: string = blankNode1.termType;
|
||||
const v2: string = blankNode1.value;
|
||||
const b2: boolean = blankNode1.equals(someTerm);
|
||||
|
||||
const literal1: RDF.Literal = new Literal('abc', 'en-us');
|
||||
const literal2: RDF.Literal = new Literal('abc', 'en-us', namedNode);
|
||||
const literal3: RDF.Literal = new Literal('abc', undefined, namedNode);
|
||||
const tt3: string = literal1.termType;
|
||||
const v3: string = literal1.value;
|
||||
const lang: string = literal1.language;
|
||||
const datatype: RDF.NamedNode = literal1.datatype;
|
||||
const b3: boolean = literal1.equals(someTerm);
|
||||
|
||||
const variable: RDF.Variable = new Variable('myvar');
|
||||
const tt4: string = variable.termType;
|
||||
const v4: string = variable.value;
|
||||
const b4: boolean = variable.equals(someTerm);
|
||||
|
||||
const defaultGraph: RDF.DefaultGraph = new DefaultGraph();
|
||||
const tt5: string = defaultGraph.termType;
|
||||
const v5: string = defaultGraph.value;
|
||||
const b5: boolean = defaultGraph.equals(someTerm);
|
||||
|
||||
const quad: RDF.Quad = new Quad(namedNode, namedNode, namedNode, namedNode);
|
||||
const s: RDF.Term = quad.subject;
|
||||
const p: RDF.Term = quad.predicate;
|
||||
const o: RDF.Term = quad.object;
|
||||
const g: RDF.Term = quad.graph;
|
||||
const b: boolean = quad.equals(new Quad(namedNode, namedNode, namedNode));
|
||||
}
|
||||
|
||||
function test_datafactory() {
|
||||
const dataFactory: RDF.DataFactory = new DataFactory();
|
||||
|
||||
const namedNode: RDF.NamedNode = dataFactory.namedNode('http://example.org');
|
||||
|
||||
const blankNode1: RDF.BlankNode = dataFactory.blankNode('b1');
|
||||
const blankNode2: RDF.BlankNode = dataFactory.blankNode();
|
||||
|
||||
const literal1: RDF.Literal = dataFactory.literal('abc');
|
||||
const literal2: RDF.Literal = dataFactory.literal('abc', 'en-us');
|
||||
const literal3: RDF.Literal = dataFactory.literal('abc', namedNode);
|
||||
|
||||
const variable: RDF.Variable = dataFactory.variable ? dataFactory.variable('v1') : new Variable('myvar');
|
||||
|
||||
const term: RDF.Term = <any> {};
|
||||
const triple: RDF.Quad = dataFactory.triple(term, term, term);
|
||||
const quad: RDF.Quad = dataFactory.quad(term, term, term, term);
|
||||
}
|
||||
23
types/rdf-data-model/tsconfig.json
Normal file
23
types/rdf-data-model/tsconfig.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"lib": [
|
||||
"es6"
|
||||
],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": true,
|
||||
"strictFunctionTypes": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"rdf-data-model-tests.ts"
|
||||
]
|
||||
}
|
||||
1
types/rdf-data-model/tslint.json
Normal file
1
types/rdf-data-model/tslint.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "extends": "dtslint/dt.json" }
|
||||
Reference in New Issue
Block a user